@renaissancerentals/renaissance-component 12.0.23 → 12.0.25
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/lib/announcement/Banner.js +13 -23
- package/lib/application/ApplicationModal.js +9 -7
- package/lib/application/ApplicationSection.js +46 -58
- package/lib/application/service/ApplicationService.js +3 -5
- package/lib/asset/AssetModal.js +15 -29
- package/lib/asset/VideoModal.js +9 -11
- package/lib/asset/service/AssetService.js +9 -17
- package/lib/card/Card.js +7 -5
- package/lib/contact/ContactModal.js +12 -10
- package/lib/contact/ContactSection.js +42 -82
- package/lib/contact/ContactSectionSkeleton.js +2 -2
- package/lib/contact/data/Contact.js +2 -3
- package/lib/contact/service/ContactService.js +6 -9
- package/lib/data/RenaissanceData.js +2 -3
- package/lib/feature/FeatureSection.js +5 -3
- package/lib/floorplan/card/FloorplanCard.js +31 -49
- package/lib/floorplan/card/FloorplanCardSkeleton.js +2 -2
- package/lib/floorplan/card/FloorplanCardSlider.js +18 -31
- package/lib/floorplan/card/FloorplanSliderCard.js +16 -18
- package/lib/floorplan/card/SimilarFloorplanCard.js +31 -43
- package/lib/floorplan/card/TestimonialsCard.js +6 -6
- package/lib/floorplan/data/Calendar.js +2 -3
- package/lib/floorplan/data/Floorplan.js +6 -11
- package/lib/floorplan/data/FloorplanFilters.js +4 -6
- package/lib/floorplan/data/Unit.js +4 -7
- package/lib/floorplan/filter/FloorplanDropDown.js +10 -18
- package/lib/floorplan/section/FloorplanHero.js +66 -118
- package/lib/floorplan/section/FloorplanSection.js +74 -133
- package/lib/floorplan/section/FloorplanSectionSkeleton.js +9 -15
- package/lib/floorplan/section/FloorplansHeader.js +97 -132
- package/lib/floorplan/section/FloorplansHeaderSekeleton.js +5 -3
- package/lib/floorplan/section/FloorplansSection.js +35 -51
- package/lib/floorplan/section/HeroBadgeStats.js +13 -13
- package/lib/floorplan/section/filter/Availability.js +17 -21
- package/lib/floorplan/section/filter/Bedroom.js +17 -21
- package/lib/floorplan/section/filter/Price.js +8 -6
- package/lib/floorplan/section/filter/Sort.js +17 -27
- package/lib/floorplan/section/filter/Style.js +16 -18
- package/lib/floorplan/service/FloorplanService.d.ts +8 -0
- package/lib/floorplan/service/FloorplanService.js +88 -127
- package/lib/footer/Footer.js +10 -6
- package/lib/gallery/DriveGallery.js +20 -37
- package/lib/gallery/Gallery.js +46 -79
- package/lib/gallery/GalleryHeroMain.js +41 -57
- package/lib/gallery/GalleryHeroMobile.js +31 -41
- package/lib/gallery/GalleryHeroSkeleton.js +2 -2
- package/lib/gallery/GalleryModal.js +20 -28
- package/lib/gallery/HeroImageCard.js +9 -7
- package/lib/gallery/ImageCard.js +7 -5
- package/lib/gallery/ImageCardSkeleton.js +6 -4
- package/lib/gallery/VideoTours.js +6 -4
- package/lib/gallery/VirtualTour.js +5 -3
- package/lib/header/InfoHeader.js +5 -3
- package/lib/index.js +91 -91
- package/lib/input/Captcha.js +10 -18
- package/lib/map/MapSection.js +5 -3
- package/lib/property/LeaseOfficeSkeleton.js +2 -2
- package/lib/property/PropertyLocation.js +18 -15
- package/lib/property/PropertyLocationSkeleton.js +2 -2
- package/lib/property/data/Property.js +4 -7
- package/lib/property/service/PropertyService.js +4 -6
- package/lib/review/ReviewSection.js +33 -51
- package/lib/service/AdminApi.js +3 -5
- package/lib/service/Api.js +3 -5
- package/lib/service/AssetApi.js +4 -7
- package/lib/service/GraphqlQuery.js +5 -8
- package/lib/service/RoundRobin.js +5 -8
- package/lib/sublet/SubletCard.js +10 -20
- package/lib/sublet/SubletImage.js +19 -35
- package/lib/sublet/SubletMessageModal.js +21 -44
- package/lib/sublet/SubletNotFound.js +2 -2
- package/lib/sublet/SubletSection.js +116 -165
- package/lib/sublet/SubletsSection.js +16 -29
- package/lib/sublet/data/Sublet.js +2 -3
- package/lib/sublet/services/SubletService.js +18 -28
- package/lib/summer-house/SummerHouseFeatures.js +2 -2
- package/lib/summer-house/SummerHousePricing.js +2 -2
- package/lib/summer-house/data/SummerHouseAmenities.js +2 -3
- package/lib/team/TeamSection.js +14 -22
- package/lib/team/card/TeamCard.js +8 -7
- package/lib/team/card/TeamCardSkeleton.js +2 -2
- package/lib/team/service/TeamService.js +3 -5
- package/lib/utils/PrettyPrintJson.js +5 -3
- package/lib/utils/Utils.d.ts +2 -0
- package/lib/utils/Utils.js +35 -55
- package/lib/video/Video.js +16 -30
- package/package.json +12 -11
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -19,52 +18,25 @@ var _SimilarFloorplanCard = require("../card/SimilarFloorplanCard");
|
|
|
19
18
|
var _muncherUi = require("@contentmunch/muncher-ui");
|
|
20
19
|
var _moment = _interopRequireDefault(require("moment"));
|
|
21
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
|
-
function _getRequireWildcardCache(
|
|
23
|
-
function _interopRequireWildcard(
|
|
24
|
-
|
|
25
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
27
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
28
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
29
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
30
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
31
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
32
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
33
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
34
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
35
|
-
var FloorplanSection = function FloorplanSection(_ref) {
|
|
21
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
|
+
const FloorplanSection = _ref => {
|
|
36
24
|
var _floorplan$property;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
floorplanVariations = _useState6[0],
|
|
53
|
-
setFloorplanVariations = _useState6[1];
|
|
54
|
-
var _useState7 = (0, _react.useState)([]),
|
|
55
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
56
|
-
testimonials = _useState8[0],
|
|
57
|
-
setTestimonials = _useState8[1];
|
|
58
|
-
var _useState9 = (0, _react.useState)(true),
|
|
59
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
|
60
|
-
isLoading = _useState10[0],
|
|
61
|
-
setIsLoading = _useState10[1];
|
|
62
|
-
var _useState11 = (0, _react.useState)(false),
|
|
63
|
-
_useState12 = _slicedToArray(_useState11, 2),
|
|
64
|
-
errorLoading = _useState12[0],
|
|
65
|
-
setErrorLoading = _useState12[1];
|
|
66
|
-
var mapRef = (0, _react.useRef)(null);
|
|
67
|
-
var handleRefToMap = function handleRefToMap() {
|
|
25
|
+
let {
|
|
26
|
+
contactClickHandler,
|
|
27
|
+
applyClickHandler,
|
|
28
|
+
floorplanId,
|
|
29
|
+
locationRef,
|
|
30
|
+
handleRefToLocation
|
|
31
|
+
} = _ref;
|
|
32
|
+
const [floorplan, setFloorplan] = (0, _react.useState)({});
|
|
33
|
+
const [similarFloorplans, setSimilarFloorplans] = (0, _react.useState)([]);
|
|
34
|
+
const [floorplanVariations, setFloorplanVariations] = (0, _react.useState)([]);
|
|
35
|
+
const [testimonials, setTestimonials] = (0, _react.useState)([]);
|
|
36
|
+
const [isLoading, setIsLoading] = (0, _react.useState)(true);
|
|
37
|
+
const [errorLoading, setErrorLoading] = (0, _react.useState)(false);
|
|
38
|
+
const mapRef = (0, _react.useRef)(null);
|
|
39
|
+
const handleRefToMap = () => {
|
|
68
40
|
if (handleRefToLocation) handleRefToLocation();else {
|
|
69
41
|
var _mapRef$current;
|
|
70
42
|
(_mapRef$current = mapRef.current) === null || _mapRef$current === void 0 || _mapRef$current.scrollIntoView({
|
|
@@ -73,46 +45,41 @@ var FloorplanSection = function FloorplanSection(_ref) {
|
|
|
73
45
|
});
|
|
74
46
|
}
|
|
75
47
|
};
|
|
76
|
-
(0, _react.useEffect)(
|
|
77
|
-
Promise.all([(0, _FloorplanService.getFloorplan)(floorplanId), (0, _FloorplanService.getFloorplanVariations)(floorplanId), (0, _FloorplanService.getSimilarFloorplans)(floorplanId), (0, _FloorplanService.getTestimonials)(floorplanId)]).then(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
48
|
+
(0, _react.useEffect)(() => {
|
|
49
|
+
Promise.all([(0, _FloorplanService.getFloorplan)(floorplanId), (0, _FloorplanService.getFloorplanVariations)(floorplanId), (0, _FloorplanService.getSimilarFloorplans)(floorplanId), (0, _FloorplanService.getTestimonials)(floorplanId)]).then(data => {
|
|
50
|
+
const floorplanData = {
|
|
51
|
+
...data[0]
|
|
52
|
+
};
|
|
53
|
+
const activeUnits = floorplanData.units.filter(unit => unit.active);
|
|
82
54
|
floorplanData.units = activeUnits;
|
|
83
55
|
setFloorplan(floorplanData);
|
|
84
56
|
setFloorplanVariations(data[1]);
|
|
85
57
|
setSimilarFloorplans(data[2]);
|
|
86
58
|
setTestimonials(data[3]);
|
|
87
|
-
}).catch(
|
|
59
|
+
}).catch(() => {
|
|
88
60
|
setErrorLoading(true);
|
|
89
|
-
}).finally(
|
|
61
|
+
}).finally(() => {
|
|
90
62
|
setIsLoading(false);
|
|
91
63
|
});
|
|
92
64
|
}, [floorplanId]);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
var residentUtilityDetails = function residentUtilityDetails(utility) {
|
|
104
|
-
return utility.averageMonthlyBill ? (0, _Utils.capitalizeFirstLetter)(utility.name) + " - Avg/Mo " + (0, _Utils.toUSD)(utility.averageMonthlyBill) : (0, _Utils.capitalizeFirstLetter)(utility.name);
|
|
105
|
-
};
|
|
106
|
-
var isAverageMonthlyBillPresent = function isAverageMonthlyBillPresent() {
|
|
107
|
-
return floorplan.utilities.filter(function (utility) {
|
|
108
|
-
return utility.type === _Floorplan.UtilityType.RESIDENT_UTILITY;
|
|
109
|
-
}).some(function (utility) {
|
|
110
|
-
return utility.averageMonthlyBill != null;
|
|
65
|
+
const availableDates = () => {
|
|
66
|
+
const monthYearFormat = "MMMM YYYY";
|
|
67
|
+
const sortAvailableDates = (a, b) => (0, _moment.default)(a, monthYearFormat).diff((0, _moment.default)(b, monthYearFormat));
|
|
68
|
+
const dates = new Set();
|
|
69
|
+
const today = (0, _moment.default)();
|
|
70
|
+
const tomorrow = today.add(1, "day");
|
|
71
|
+
const isAvailableNow = moveInDate => moveInDate.isBefore(tomorrow);
|
|
72
|
+
floorplan.units.forEach(unit => {
|
|
73
|
+
const moveInDate = (0, _Utils.dateToMoment)(unit.moveInDate);
|
|
74
|
+
if (isAvailableNow(moveInDate)) dates.add(today.format(monthYearFormat));else dates.add(moveInDate.format(monthYearFormat));
|
|
111
75
|
});
|
|
76
|
+
return Array.from(dates).sort(sortAvailableDates);
|
|
112
77
|
};
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
78
|
+
const residentUtilityDetails = utility => utility.averageMonthlyBill ? (0, _Utils.capitalizeFirstLetter)(utility.name) + " - Avg/Mo " + (0, _Utils.toUSD)(utility.averageMonthlyBill) : (0, _Utils.capitalizeFirstLetter)(utility.name);
|
|
79
|
+
const isAverageMonthlyBillPresent = () => floorplan.utilities.filter(utility => utility.type === _Floorplan.UtilityType.RESIDENT_UTILITY).some(utility => utility.averageMonthlyBill != null);
|
|
80
|
+
const isWithinTwelveMonths = date => {
|
|
81
|
+
const current = (0, _moment.default)(date, "MMM YYYY");
|
|
82
|
+
const twelveMonthsFromNow = (0, _moment.default)().add(1, "year");
|
|
116
83
|
return current.isBefore(twelveMonthsFromNow);
|
|
117
84
|
};
|
|
118
85
|
return /*#__PURE__*/_react.default.createElement("section", {
|
|
@@ -142,73 +109,47 @@ var FloorplanSection = function FloorplanSection(_ref) {
|
|
|
142
109
|
className: "floorplan-card--featured"
|
|
143
110
|
}, "$", (0, _Utils.rangeFrom)(floorplan.units, "deposit"), " Security Deposit")) : "", /*#__PURE__*/_react.default.createElement("p", null, floorplan.description)), floorplan.amenities.length > 0 ? /*#__PURE__*/_react.default.createElement(_Card.Card, {
|
|
144
111
|
title: "Amenities"
|
|
145
|
-
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplan.amenities.filter(
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}).map(function (amenity) {
|
|
156
|
-
return /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
157
|
-
key: "floorplan-amenity-" + amenity.id,
|
|
158
|
-
bulletIcon: "dot"
|
|
159
|
-
}, amenity.name);
|
|
160
|
-
})), floorplanVariations.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h5", null, "Variations"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplanVariations.map(function (variation, i) {
|
|
161
|
-
return /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
162
|
-
key: "floorplan-variation-" + i
|
|
163
|
-
}, variation.variation);
|
|
164
|
-
}))) : "") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), testimonials.length > 0 ? /*#__PURE__*/_react.default.createElement(_TestimonialsCard.TestimonialsCard, {
|
|
112
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplan.amenities.filter(amenity => amenity.featured).map(amenity => /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
113
|
+
key: "floorplan-amenity-" + amenity.id,
|
|
114
|
+
bulletIcon: "star",
|
|
115
|
+
isFeatured: true
|
|
116
|
+
}, amenity.name)), floorplan.amenities.filter(amenity => !amenity.featured).map(amenity => /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
117
|
+
key: "floorplan-amenity-" + amenity.id,
|
|
118
|
+
bulletIcon: "dot"
|
|
119
|
+
}, amenity.name))), floorplanVariations.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h5", null, "Variations"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplanVariations.map((variation, i) => /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
120
|
+
key: "floorplan-variation-" + i
|
|
121
|
+
}, variation.variation)))) : "") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), testimonials.length > 0 ? /*#__PURE__*/_react.default.createElement(_TestimonialsCard.TestimonialsCard, {
|
|
165
122
|
testimonials: testimonials
|
|
166
123
|
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_Card.Card, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
167
124
|
ref: locationRef ? locationRef : mapRef,
|
|
168
125
|
id: "location",
|
|
169
126
|
className: "reference"
|
|
170
127
|
}), /*#__PURE__*/_react.default.createElement(_MapSection.MapSection, {
|
|
171
|
-
src:
|
|
128
|
+
src: (0, _Utils.floorplanAddressToGoogleMap)((0, _FloorplanService.floorplanAddress)(floorplan))
|
|
172
129
|
})), /*#__PURE__*/_react.default.createElement(_Card.Card, {
|
|
173
130
|
title: "Pets"
|
|
174
|
-
}, /*#__PURE__*/_react.default.createElement("h5", null, "Permitted"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, (0, _FloorplanService.permittedPets)(floorplan).map(
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
bulletColor: "brown",
|
|
184
|
-
bulletIcon: "close"
|
|
185
|
-
}, pet);
|
|
186
|
-
}))) : "", (0, _FloorplanService.petPolicy)(floorplan) ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h5", null, "Additional Information"), /*#__PURE__*/_react.default.createElement("p", null, (0, _FloorplanService.petPolicy)(floorplan))) : ""), floorplan.units.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Card.Card, {
|
|
131
|
+
}, /*#__PURE__*/_react.default.createElement("h5", null, "Permitted"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, (0, _FloorplanService.permittedPets)(floorplan).map((pet, i) => /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
132
|
+
key: "floorplan-permitted-pet-" + i,
|
|
133
|
+
bulletIcon: "check",
|
|
134
|
+
bulletColor: "green"
|
|
135
|
+
}, pet))), (0, _FloorplanService.notPermittedPets)(floorplan).length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h5", null, "Not Permitted"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, (0, _FloorplanService.notPermittedPets)(floorplan).map((pet, i) => /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
136
|
+
key: "floorplan-not-permitted-pet-" + i,
|
|
137
|
+
bulletColor: "brown",
|
|
138
|
+
bulletIcon: "close"
|
|
139
|
+
}, pet)))) : "", (0, _FloorplanService.petPolicy)(floorplan) ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h5", null, "Additional Information"), /*#__PURE__*/_react.default.createElement("p", null, (0, _FloorplanService.petPolicy)(floorplan))) : ""), floorplan.units.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Card.Card, {
|
|
187
140
|
title: "Availability"
|
|
188
|
-
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, availableDates().filter(
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
key: "floorplan-unit-availability-" + availableDate,
|
|
193
|
-
bulletIcon: "calendar"
|
|
194
|
-
}, "Available in ", /*#__PURE__*/_react.default.createElement("strong", null, (0, _Utils.capitalizeFirstLetter)(availableDate)));
|
|
195
|
-
}))), /*#__PURE__*/_react.default.createElement(_Card.Card, {
|
|
141
|
+
}, /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, availableDates().filter(availableDate => isWithinTwelveMonths(availableDate)).map(availableDate => /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
142
|
+
key: "floorplan-unit-availability-" + availableDate,
|
|
143
|
+
bulletIcon: "calendar"
|
|
144
|
+
}, "Available in ", /*#__PURE__*/_react.default.createElement("strong", null, (0, _Utils.capitalizeFirstLetter)(availableDate)))))), /*#__PURE__*/_react.default.createElement(_Card.Card, {
|
|
196
145
|
title: "Utilities"
|
|
197
|
-
}, /*#__PURE__*/_react.default.createElement("h5", null, "Paid By Landlord"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplan.utilities.filter(
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
})), /*#__PURE__*/_react.default.createElement("h5", null, "Paid By Resident"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplan.utilities.filter(function (utility) {
|
|
205
|
-
return utility.type === _Floorplan.UtilityType.RESIDENT_UTILITY;
|
|
206
|
-
}).map(function (utility) {
|
|
207
|
-
return /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
208
|
-
key: "floorplan-resident-utility-" + utility.id,
|
|
209
|
-
bulletIcon: "dollar"
|
|
210
|
-
}, residentUtilityDetails(utility));
|
|
211
|
-
})), isAverageMonthlyBillPresent() ? /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("i", null, "**Average utilities shown above are an estimate. Actual monthly utility costs can vary significantly based on individual usage, time of year, the weather, and other factors")) : "")) : "", similarFloorplans.length > 0 ? /*#__PURE__*/_react.default.createElement(_SimilarFloorplanCard.SimilarFloorplanCard, {
|
|
146
|
+
}, /*#__PURE__*/_react.default.createElement("h5", null, "Paid By Landlord"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplan.utilities.filter(utility => utility.type === _Floorplan.UtilityType.INCLUDED_UTILITY).map(utility => /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
147
|
+
key: "floorplan-included-utility-" + utility.id,
|
|
148
|
+
bulletIcon: "home"
|
|
149
|
+
}, (0, _Utils.capitalizeFirstLetter)(utility.name)))), /*#__PURE__*/_react.default.createElement("h5", null, "Paid By Resident"), /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplan.utilities.filter(utility => utility.type === _Floorplan.UtilityType.RESIDENT_UTILITY).map(utility => /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
|
|
150
|
+
key: "floorplan-resident-utility-" + utility.id,
|
|
151
|
+
bulletIcon: "dollar"
|
|
152
|
+
}, residentUtilityDetails(utility)))), isAverageMonthlyBillPresent() ? /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("i", null, "**Average utilities shown above are an estimate. Actual monthly utility costs can vary significantly based on individual usage, time of year, the weather, and other factors")) : "")) : "", similarFloorplans.length > 0 ? /*#__PURE__*/_react.default.createElement(_SimilarFloorplanCard.SimilarFloorplanCard, {
|
|
212
153
|
similarFloorplans: similarFloorplans
|
|
213
154
|
}) : "", /*#__PURE__*/_react.default.createElement("div", {
|
|
214
155
|
className: "contact-card"
|
|
@@ -223,4 +164,4 @@ var FloorplanSection = function FloorplanSection(_ref) {
|
|
|
223
164
|
}, "Contact Us \xBB"))))))));
|
|
224
165
|
};
|
|
225
166
|
exports.FloorplanSection = FloorplanSection;
|
|
226
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRmxvb3JwbGFuIiwiX0Zsb29ycGxhblNlcnZpY2UiLCJfR2FsbGVyeUhlcm9Ta2VsZXRvbiIsIl9GbG9vcnBsYW5IZXJvIiwiX1V0aWxzIiwiX0NhcmQiLCJfVGVzdGltb25pYWxzQ2FyZCIsIl9NYXBTZWN0aW9uIiwiX1NpbWlsYXJGbG9vcnBsYW5DYXJkIiwiX211bmNoZXJVaSIsIl9tb21lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0Iiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJfdHlwZW9mIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJvd25LZXlzIiwiZSIsInIiLCJ0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsInVuZGVmaW5lZCIsInJlcyIsIlR5cGVFcnJvciIsIk51bWJlciIsIl9zbGljZWRUb0FycmF5IiwiYXJyIiwiaSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJtaW5MZW4iLCJfYXJyYXlMaWtlVG9BcnJheSIsIm4iLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsImxlbiIsImFycjIiLCJsIiwiaXRlcmF0b3IiLCJ1IiwiYSIsImYiLCJuZXh0IiwiZG9uZSIsInJldHVybiIsImlzQXJyYXkiLCJGbG9vcnBsYW5TZWN0aW9uIiwiX3JlZiIsIl9mbG9vcnBsYW4kcHJvcGVydHkiLCJjb250YWN0Q2xpY2tIYW5kbGVyIiwiYXBwbHlDbGlja0hhbmRsZXIiLCJmbG9vcnBsYW5JZCIsImxvY2F0aW9uUmVmIiwiaGFuZGxlUmVmVG9Mb2NhdGlvbiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImZsb29ycGxhbiIsInNldEZsb29ycGxhbiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2ltaWxhckZsb29ycGxhbnMiLCJzZXRTaW1pbGFyRmxvb3JwbGFucyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZmxvb3JwbGFuVmFyaWF0aW9ucyIsInNldEZsb29ycGxhblZhcmlhdGlvbnMiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInRlc3RpbW9uaWFscyIsInNldFRlc3RpbW9uaWFscyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJlcnJvckxvYWRpbmciLCJzZXRFcnJvckxvYWRpbmciLCJtYXBSZWYiLCJ1c2VSZWYiLCJoYW5kbGVSZWZUb01hcCIsIl9tYXBSZWYkY3VycmVudCIsImN1cnJlbnQiLCJzY3JvbGxJbnRvVmlldyIsImJlaGF2aW9yIiwiYmxvY2siLCJ1c2VFZmZlY3QiLCJQcm9taXNlIiwiYWxsIiwiZ2V0Rmxvb3JwbGFuIiwiZ2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyIsImdldFNpbWlsYXJGbG9vcnBsYW5zIiwiZ2V0VGVzdGltb25pYWxzIiwidGhlbiIsImRhdGEiLCJmbG9vcnBsYW5EYXRhIiwiYWN0aXZlVW5pdHMiLCJ1bml0cyIsInVuaXQiLCJhY3RpdmUiLCJjYXRjaCIsImZpbmFsbHkiLCJhdmFpbGFibGVEYXRlcyIsInNvcnRBdmFpbGFiaWxlRGF0ZXMiLCJiIiwibW9tZW50IiwiZGlmZiIsImRhdGVzIiwiU2V0IiwiYWRkIiwiZGF0ZVRvTW9tZW50IiwibW92ZUluRGF0ZSIsImZvcm1hdCIsInNvcnQiLCJyZXNpZGVudFV0aWxpdHlEZXRhaWxzIiwidXRpbGl0eSIsImF2ZXJhZ2VNb250aGx5QmlsbCIsImNhcGl0YWxpemVGaXJzdExldHRlciIsInRvVVNEIiwiaXNBdmVyYWdlTW9udGhseUJpbGxQcmVzZW50IiwidXRpbGl0aWVzIiwidHlwZSIsIlV0aWxpdHlUeXBlIiwiUkVTSURFTlRfVVRJTElUWSIsInNvbWUiLCJpc1dpdGhpblR3ZWx2ZU1vbnRocyIsImRhdGUiLCJ0d2VsdmVNb250aHNGcm9tTm93IiwiaXNCZWZvcmUiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiR2FsbGVyeUhlcm9Ta2VsZXRvbiIsIkZyYWdtZW50IiwiRmxvb3JwbGFuSGVybyIsIkNhcmQiLCJ0aXRsZSIsImJlZHJvb20iLCJiYXRocm9vbSIsImVudW1Ub1N0cmluZyIsInN0eWxlIiwicmFuZ2VGcm9tIiwiZGVzY3JpcHRpb24iLCJhbWVuaXRpZXMiLCJVbCIsImFtZW5pdHkiLCJmZWF0dXJlZCIsIm1hcCIsIkxpIiwiaWQiLCJidWxsZXRJY29uIiwiaXNGZWF0dXJlZCIsInZhcmlhdGlvbiIsIlRlc3RpbW9uaWFsc0NhcmQiLCJyZWYiLCJNYXBTZWN0aW9uIiwic3JjIiwiYWRkcmVzcyIsImFkZHJlc3NUb0dvb2dsZU1hcCIsInppcGNvZGUiLCJwcm9wZXJ0eSIsInBlcm1pdHRlZFBldHMiLCJwZXQiLCJidWxsZXRDb2xvciIsIm5vdFBlcm1pdHRlZFBldHMiLCJwZXRQb2xpY3kiLCJhdmFpbGFibGVEYXRlIiwiSU5DTFVERURfVVRJTElUWSIsIlNpbWlsYXJGbG9vcnBsYW5DYXJkIiwicGhvbmUiLCJocmVmIiwiZm9ybWF0UGhvbmVOdW1iZXIiLCJCdXR0b24iLCJ2YXJpYW50Iiwib25DbGljayIsInNpemUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zsb29ycGxhbi9zZWN0aW9uL0Zsb29ycGxhblNlY3Rpb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZX0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICAgIEZsb29ycGxhbixcbiAgICBGbG9vcnBsYW5WYXJpYXRpb24sXG4gICAgU2ltaWxhckZsb29ycGxhbixcbiAgICBUZXN0aW1vbmlhbCxcbiAgICBVdGlsaXR5TmFtZSxcbiAgICBVdGlsaXR5VHlwZVxufSBmcm9tIFwiLi4vZGF0YS9GbG9vcnBsYW5cIjtcbmltcG9ydCB7XG4gICAgZ2V0Rmxvb3JwbGFuLFxuICAgIGdldEZsb29ycGxhblZhcmlhdGlvbnMsXG4gICAgZ2V0U2ltaWxhckZsb29ycGxhbnMsXG4gICAgZ2V0VGVzdGltb25pYWxzLFxuICAgIG5vdFBlcm1pdHRlZFBldHMsXG4gICAgcGVybWl0dGVkUGV0cyxcbiAgICBwZXRQb2xpY3lcbn0gZnJvbSBcIi4uL3NlcnZpY2UvRmxvb3JwbGFuU2VydmljZVwiO1xuaW1wb3J0IFwiLi9hc3NldHMvRmxvb3JwbGFuU2VjdGlvbi5zY3NzXCI7XG5pbXBvcnQge0dhbGxlcnlIZXJvU2tlbGV0b259IGZyb20gXCIuLi8uLi9nYWxsZXJ5L0dhbGxlcnlIZXJvU2tlbGV0b25cIjtcbmltcG9ydCB7Rmxvb3JwbGFuSGVyb30gZnJvbSBcIi4vRmxvb3JwbGFuSGVyb1wiO1xuaW1wb3J0IHtcbiAgICBhZGRyZXNzVG9Hb29nbGVNYXAsXG4gICAgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyLFxuICAgIGRhdGVUb01vbWVudCxcbiAgICBlbnVtVG9TdHJpbmcsXG4gICAgZm9ybWF0UGhvbmVOdW1iZXIsXG4gICAgcmFuZ2VGcm9tLFxuICAgIHRvVVNEXG59IGZyb20gXCIuLi8uLi91dGlscy9VdGlsc1wiO1xuaW1wb3J0IHtDYXJkfSBmcm9tIFwiLi4vLi4vY2FyZC9DYXJkXCI7XG5pbXBvcnQge1Rlc3RpbW9uaWFsc0NhcmR9IGZyb20gXCIuLi9jYXJkL1Rlc3RpbW9uaWFsc0NhcmRcIjtcbmltcG9ydCB7TWFwU2VjdGlvbn0gZnJvbSBcIi4uLy4uL21hcC9NYXBTZWN0aW9uXCI7XG5pbXBvcnQge1NpbWlsYXJGbG9vcnBsYW5DYXJkfSBmcm9tIFwiLi4vY2FyZC9TaW1pbGFyRmxvb3JwbGFuQ2FyZFwiO1xuaW1wb3J0IHtCdXR0b24sIExpLCBVbH0gZnJvbSBcIkBjb250ZW50bXVuY2gvbXVuY2hlci11aVwiO1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5cbmV4cG9ydCBjb25zdCBGbG9vcnBsYW5TZWN0aW9uOiBSZWFjdC5GQzxGbG9vcnBsYW5TZWN0aW9uUHJvcHM+ID0gKFxuICAgIHtcbiAgICAgICAgY29udGFjdENsaWNrSGFuZGxlcixcbiAgICAgICAgYXBwbHlDbGlja0hhbmRsZXIsXG4gICAgICAgIGZsb29ycGxhbklkLFxuICAgICAgICBsb2NhdGlvblJlZixcbiAgICAgICAgaGFuZGxlUmVmVG9Mb2NhdGlvblxuICAgIH0pID0+IHtcbiAgICBjb25zdCBbZmxvb3JwbGFuLCBzZXRGbG9vcnBsYW5dID0gdXNlU3RhdGU8Rmxvb3JwbGFuPih7fSBhcyBGbG9vcnBsYW4pO1xuICAgIGNvbnN0IFtzaW1pbGFyRmxvb3JwbGFucywgc2V0U2ltaWxhckZsb29ycGxhbnNdID0gdXNlU3RhdGU8U2ltaWxhckZsb29ycGxhbltdPihbXSk7XG4gICAgY29uc3QgW2Zsb29ycGxhblZhcmlhdGlvbnMsIHNldEZsb29ycGxhblZhcmlhdGlvbnNdID0gdXNlU3RhdGU8Rmxvb3JwbGFuVmFyaWF0aW9uW10+KFtdKTtcbiAgICBjb25zdCBbdGVzdGltb25pYWxzLCBzZXRUZXN0aW1vbmlhbHNdID0gdXNlU3RhdGU8VGVzdGltb25pYWxbXT4oW10pO1xuICAgIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgICBjb25zdCBbZXJyb3JMb2FkaW5nLCBzZXRFcnJvckxvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgY29uc3QgbWFwUmVmOiBSZWFjdC5SZWY8SFRNTERpdkVsZW1lbnQ+ID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBoYW5kbGVSZWZUb01hcCA9ICgpID0+IHtcbiAgICAgICAgaWYgKGhhbmRsZVJlZlRvTG9jYXRpb24pXG4gICAgICAgICAgICBoYW5kbGVSZWZUb0xvY2F0aW9uKCk7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbWFwUmVmLmN1cnJlbnQ/LnNjcm9sbEludG9WaWV3KHtcbiAgICAgICAgICAgICAgICBiZWhhdmlvcjogXCJzbW9vdGhcIixcbiAgICAgICAgICAgICAgICBibG9jazogXCJzdGFydFwiXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgfTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICBnZXRGbG9vcnBsYW4oZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgZ2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyhmbG9vcnBsYW5JZCksXG4gICAgICAgICAgICBnZXRTaW1pbGFyRmxvb3JwbGFucyhmbG9vcnBsYW5JZCksXG4gICAgICAgICAgICBnZXRUZXN0aW1vbmlhbHMoZmxvb3JwbGFuSWQpXG4gICAgICAgIF0pXG4gICAgICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZsb29ycGxhbkRhdGEgPSB7Li4uZGF0YVswXX07XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlVW5pdHMgPSBmbG9vcnBsYW5EYXRhLnVuaXRzLmZpbHRlcih1bml0ID0+IHVuaXQuYWN0aXZlKTtcbiAgICAgICAgICAgICAgICBmbG9vcnBsYW5EYXRhLnVuaXRzID0gYWN0aXZlVW5pdHM7XG4gICAgICAgICAgICAgICAgc2V0Rmxvb3JwbGFuKGZsb29ycGxhbkRhdGEpO1xuICAgICAgICAgICAgICAgIHNldEZsb29ycGxhblZhcmlhdGlvbnMoZGF0YVsxXSk7XG4gICAgICAgICAgICAgICAgc2V0U2ltaWxhckZsb29ycGxhbnMoZGF0YVsyXSk7XG4gICAgICAgICAgICAgICAgc2V0VGVzdGltb25pYWxzKGRhdGFbM10pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RXJyb3JMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICB9LCBbZmxvb3JwbGFuSWRdKTtcblxuICAgIGNvbnN0IGF2YWlsYWJsZURhdGVzID0gKCk6IHN0cmluZ1tdID0+IHtcbiAgICAgICAgY29uc3Qgc29ydEF2YWlsYWJpbGVEYXRlcyA9IChhOiBzdHJpbmcsIGI6IHN0cmluZykgPT4gbW9tZW50KGEsIFwiTU1NTSBZWVlZXCIpLmRpZmYobW9tZW50KGIsIFwiTU1NTSBZWVlZXCIpKTtcbiAgICAgICAgY29uc3QgZGF0ZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICAgICAgZmxvb3JwbGFuLnVuaXRzLmZvckVhY2godW5pdCA9PiB7XG4gICAgICAgICAgICBkYXRlcy5hZGQoZGF0ZVRvTW9tZW50KHVuaXQubW92ZUluRGF0ZSkuZm9ybWF0KFwiTU1NTSBZWVlZXCIpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oZGF0ZXMpLnNvcnQoc29ydEF2YWlsYWJpbGVEYXRlcyk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzaWRlbnRVdGlsaXR5RGV0YWlscyA9ICh1dGlsaXR5OiBVdGlsaXR5TmFtZSkgPT5cblxuICAgICAgICB1dGlsaXR5LmF2ZXJhZ2VNb250aGx5QmlsbCA/IGNhcGl0YWxpemVGaXJzdExldHRlcih1dGlsaXR5Lm5hbWUpICsgXCIgLSBBdmcvTW8gXCIgKyB0b1VTRCh1dGlsaXR5LmF2ZXJhZ2VNb250aGx5QmlsbCkgOiBjYXBpdGFsaXplRmlyc3RMZXR0ZXIodXRpbGl0eS5uYW1lKTtcblxuICAgIGNvbnN0IGlzQXZlcmFnZU1vbnRobHlCaWxsUHJlc2VudCA9ICgpID0+IGZsb29ycGxhbi51dGlsaXRpZXMuZmlsdGVyKHV0aWxpdHkgPT4gdXRpbGl0eS50eXBlID09PSBVdGlsaXR5VHlwZS5SRVNJREVOVF9VVElMSVRZKS5zb21lKHV0aWxpdHkgPT4gdXRpbGl0eS5hdmVyYWdlTW9udGhseUJpbGwgIT0gbnVsbCk7XG5cblxuICAgIGNvbnN0IGlzV2l0aGluVHdlbHZlTW9udGhzID0gKGRhdGU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gbW9tZW50KGRhdGUsIFwiTU1NIFlZWVlcIik7XG4gICAgICAgIGNvbnN0IHR3ZWx2ZU1vbnRoc0Zyb21Ob3cgPSBtb21lbnQoKS5hZGQoMSwgXCJ5ZWFyXCIpO1xuICAgICAgICByZXR1cm4gY3VycmVudC5pc0JlZm9yZSh0d2VsdmVNb250aHNGcm9tTm93KTtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwic2VjdGlvbi1mbG9vcnBsYW5cIj5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpc0xvYWRpbmcgPyA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLWZsb29ycGxhbi0taGVyb1wiPjxHYWxsZXJ5SGVyb1NrZWxldG9uLz48L3NlY3Rpb24+IDogPD5cbiAgICAgICAgICAgICAgICAgICAge2Vycm9yTG9hZGluZyA/XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJkaXYtZnVsbC0tY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPlVoLW9oLCB0aGlzIGlzIGEgNDA0PC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj4gOlxuICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rmxvb3JwbGFuSGVybyBmbG9vcnBsYW49e2Zsb29ycGxhbn0gY29udGFjdENsaWNrSGFuZGxlcj17Y29udGFjdENsaWNrSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBseUNsaWNrSGFuZGxlcj17YXBwbHlDbGlja0hhbmRsZXJ9IGhhbmRsZVJlZlRvTWFwPXtoYW5kbGVSZWZUb01hcH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS1jYXJkc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJEZXRhaWxzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4uYmVkcm9vbX0gQmVkcm9vbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHtmbG9vcnBsYW4uYmF0aHJvb219IEJhdGhyb29tIHtlbnVtVG9TdHJpbmcoZmxvb3JwbGFuLnN0eWxlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi51bml0cy5sZW5ndGggPiAwID8gPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmFuZ2VGcm9tKGZsb29ycGxhbi51bml0cywgXCJzcXVhcmVGb290XCIpfSBTcXVhcmUgRmVldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi1jYXJkLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtyYW5nZUZyb20oZmxvb3JwbGFuLnVuaXRzLCBcInJlbnRcIil9L21vXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3JhbmdlRnJvbShmbG9vcnBsYW4udW5pdHMsIFwiZGVwb3NpdFwiKX0gU2VjdXJpdHkgRGVwb3NpdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLmFtZW5pdGllcy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJBbWVuaXRpZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi5hbWVuaXRpZXMuZmlsdGVyKGFtZW5pdHkgPT4gYW1lbml0eS5mZWF0dXJlZCkubWFwKGFtZW5pdHkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLWFtZW5pdHktXCIgKyBhbWVuaXR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJzdGFyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0ZlYXR1cmVkPXt0cnVlfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YW1lbml0eS5uYW1lfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLmFtZW5pdGllcy5maWx0ZXIoYW1lbml0eSA9PiAhYW1lbml0eS5mZWF0dXJlZCkubWFwKGFtZW5pdHkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLWFtZW5pdHktXCIgKyBhbWVuaXR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJkb3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YW1lbml0eS5uYW1lfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW5WYXJpYXRpb25zLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlZhcmlhdGlvbnM8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuVmFyaWF0aW9ucy5tYXAoKHZhcmlhdGlvbiwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLXZhcmlhdGlvbi1cIiArIGl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt2YXJpYXRpb24udmFyaWF0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+IDogPD48Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RpbW9uaWFscy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRlc3RpbW9uaWFsc0NhcmQgdGVzdGltb25pYWxzPXt0ZXN0aW1vbmlhbHN9Lz4gOiA8PjwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiByZWY9e2xvY2F0aW9uUmVmID8gbG9jYXRpb25SZWYgOiBtYXBSZWZ9IGlkPVwibG9jYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicmVmZXJlbmNlXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TWFwU2VjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLmFkZHJlc3MgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3NUb0dvb2dsZU1hcChmbG9vcnBsYW4uYWRkcmVzcywgZmxvb3JwbGFuLnppcGNvZGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3NUb0dvb2dsZU1hcChmbG9vcnBsYW4ucHJvcGVydHkuYWRkcmVzcywgZmxvb3JwbGFuLnByb3BlcnR5LnppcGNvZGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIlBldHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+UGVybWl0dGVkPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1pdHRlZFBldHMoZmxvb3JwbGFuKS5tYXAoKHBldCwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi1wZXJtaXR0ZWQtcGV0LVwiICsgaX0gYnVsbGV0SWNvbj1cImNoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0Q29sb3I9XCJncmVlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGV0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtub3RQZXJtaXR0ZWRQZXRzKGZsb29ycGxhbikubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+PGg1Pk5vdCBQZXJtaXR0ZWQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90UGVybWl0dGVkUGV0cyhmbG9vcnBsYW4pLm1hcCgocGV0LCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tbm90LXBlcm1pdHRlZC1wZXQtXCIgKyBpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldENvbG9yPVwiYnJvd25cIiBidWxsZXRJY29uPVwiY2xvc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGV0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJ9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBldFBvbGljeShmbG9vcnBsYW4pID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PkFkZGl0aW9uYWwgSW5mb3JtYXRpb248L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPntwZXRQb2xpY3koZmxvb3JwbGFuKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwiXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4udW5pdHMubGVuZ3RoID4gMCA/IDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJBdmFpbGFiaWxpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZURhdGVzKCkuZmlsdGVyKGF2YWlsYWJsZURhdGUgPT4gaXNXaXRoaW5Ud2VsdmVNb250aHMoYXZhaWxhYmxlRGF0ZSkpLm1hcChhdmFpbGFibGVEYXRlID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLXVuaXQtYXZhaWxhYmlsaXR5LVwiICsgYXZhaWxhYmxlRGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJjYWxlbmRhclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXZhaWxhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiA8c3Ryb25nPntjYXBpdGFsaXplRmlyc3RMZXR0ZXIoYXZhaWxhYmxlRGF0ZSl9PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJVdGlsaXRpZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlBhaWQgQnkgTGFuZGxvcmQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLnV0aWxpdGllcy5maWx0ZXIodXRpbGl0eSA9PiB1dGlsaXR5LnR5cGUgPT09IFV0aWxpdHlUeXBlLklOQ0xVREVEX1VUSUxJVFkpLm1hcCh1dGlsaXR5ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLWluY2x1ZGVkLXV0aWxpdHktXCIgKyB1dGlsaXR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0SWNvbj1cImhvbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYXBpdGFsaXplRmlyc3RMZXR0ZXIodXRpbGl0eS5uYW1lKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QYWlkIEJ5IFJlc2lkZW50PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi51dGlsaXRpZXMuZmlsdGVyKHV0aWxpdHkgPT4gdXRpbGl0eS50eXBlID09PSBVdGlsaXR5VHlwZS5SRVNJREVOVF9VVElMSVRZKS5tYXAodXRpbGl0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi1yZXNpZGVudC11dGlsaXR5LVwiICsgdXRpbGl0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJkb2xsYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXNpZGVudFV0aWxpdHlEZXRhaWxzKHV0aWxpdHkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2lzQXZlcmFnZU1vbnRobHlCaWxsUHJlc2VudCgpID8gPHA+PGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKkF2ZXJhZ2UgdXRpbGl0aWVzIHNob3duIGFib3ZlIGFyZSBhbiBlc3RpbWF0ZS4gQWN0dWFsIG1vbnRobHkgdXRpbGl0eVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zdHMgY2FuIHZhcnkgc2lnbmlmaWNhbnRseSBiYXNlZCBvbiBpbmRpdmlkdWFsIHVzYWdlLCB0aW1lIG9mIHllYXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgd2VhdGhlciwgYW5kIG90aGVyIGZhY3RvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPjwvcD4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzaW1pbGFyRmxvb3JwbGFucy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2ltaWxhckZsb29ycGxhbkNhcmQgc2ltaWxhckZsb29ycGxhbnM9e3NpbWlsYXJGbG9vcnBsYW5zfS8+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWN0LWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCBmZWF0dXJlZD17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxpPlF1ZXN0aW9ucz88L2k+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aT5DYWxsIG9yIHRleHQgdXMgYW55dGltZTo8L2k+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnByb3BlcnR5Py5waG9uZSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e1widGVsOlwiICsgZmxvb3JwbGFuLnByb3BlcnR5LnBob25lfT57Zm9ybWF0UGhvbmVOdW1iZXIoZmxvb3JwbGFuLnByb3BlcnR5LnBob25lKX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInRlcnRpYXJ5XCIgb25DbGljaz17Y29udGFjdENsaWNrSGFuZGxlcn0gc2l6ZT1cImxhcmdlXCI+Q29udGFjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMK7PC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBGbG9vcnBsYW5TZWN0aW9uUHJvcHMge1xuICAgIGNvbnRhY3RDbGlja0hhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgYXBwbHlDbGlja0hhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgZmxvb3JwbGFuSWQ6IHN0cmluZztcbiAgICBsb2NhdGlvblJlZj86IFJlYWN0LlJlZjxIVE1MRGl2RWxlbWVudD47XG4gICAgaGFuZGxlUmVmVG9Mb2NhdGlvbj86ICgpID0+IHZvaWQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFRQSxJQUFBRSxpQkFBQSxHQUFBRixPQUFBO0FBU0FBLE9BQUE7QUFDQSxJQUFBRyxvQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBU0EsSUFBQU0sS0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8saUJBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLHFCQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxVQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxPQUFBLEdB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
|
|
167
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRmxvb3JwbGFuIiwiX0Zsb29ycGxhblNlcnZpY2UiLCJfR2FsbGVyeUhlcm9Ta2VsZXRvbiIsIl9GbG9vcnBsYW5IZXJvIiwiX1V0aWxzIiwiX0NhcmQiLCJfVGVzdGltb25pYWxzQ2FyZCIsIl9NYXBTZWN0aW9uIiwiX1NpbWlsYXJGbG9vcnBsYW5DYXJkIiwiX211bmNoZXJVaSIsIl9tb21lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0Iiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiRmxvb3JwbGFuU2VjdGlvbiIsIl9yZWYiLCJfZmxvb3JwbGFuJHByb3BlcnR5IiwiY29udGFjdENsaWNrSGFuZGxlciIsImFwcGx5Q2xpY2tIYW5kbGVyIiwiZmxvb3JwbGFuSWQiLCJsb2NhdGlvblJlZiIsImhhbmRsZVJlZlRvTG9jYXRpb24iLCJmbG9vcnBsYW4iLCJzZXRGbG9vcnBsYW4iLCJ1c2VTdGF0ZSIsInNpbWlsYXJGbG9vcnBsYW5zIiwic2V0U2ltaWxhckZsb29ycGxhbnMiLCJmbG9vcnBsYW5WYXJpYXRpb25zIiwic2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyIsInRlc3RpbW9uaWFscyIsInNldFRlc3RpbW9uaWFscyIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsImVycm9yTG9hZGluZyIsInNldEVycm9yTG9hZGluZyIsIm1hcFJlZiIsInVzZVJlZiIsImhhbmRsZVJlZlRvTWFwIiwiX21hcFJlZiRjdXJyZW50IiwiY3VycmVudCIsInNjcm9sbEludG9WaWV3IiwiYmVoYXZpb3IiLCJibG9jayIsInVzZUVmZmVjdCIsIlByb21pc2UiLCJhbGwiLCJnZXRGbG9vcnBsYW4iLCJnZXRGbG9vcnBsYW5WYXJpYXRpb25zIiwiZ2V0U2ltaWxhckZsb29ycGxhbnMiLCJnZXRUZXN0aW1vbmlhbHMiLCJ0aGVuIiwiZGF0YSIsImZsb29ycGxhbkRhdGEiLCJhY3RpdmVVbml0cyIsInVuaXRzIiwiZmlsdGVyIiwidW5pdCIsImFjdGl2ZSIsImNhdGNoIiwiZmluYWxseSIsImF2YWlsYWJsZURhdGVzIiwibW9udGhZZWFyRm9ybWF0Iiwic29ydEF2YWlsYWJsZURhdGVzIiwiYiIsIm1vbWVudCIsImRpZmYiLCJkYXRlcyIsIlNldCIsInRvZGF5IiwidG9tb3Jyb3ciLCJhZGQiLCJpc0F2YWlsYWJsZU5vdyIsIm1vdmVJbkRhdGUiLCJpc0JlZm9yZSIsImZvckVhY2giLCJkYXRlVG9Nb21lbnQiLCJmb3JtYXQiLCJBcnJheSIsImZyb20iLCJzb3J0IiwicmVzaWRlbnRVdGlsaXR5RGV0YWlscyIsInV0aWxpdHkiLCJhdmVyYWdlTW9udGhseUJpbGwiLCJjYXBpdGFsaXplRmlyc3RMZXR0ZXIiLCJuYW1lIiwidG9VU0QiLCJpc0F2ZXJhZ2VNb250aGx5QmlsbFByZXNlbnQiLCJ1dGlsaXRpZXMiLCJ0eXBlIiwiVXRpbGl0eVR5cGUiLCJSRVNJREVOVF9VVElMSVRZIiwic29tZSIsImlzV2l0aGluVHdlbHZlTW9udGhzIiwiZGF0ZSIsInR3ZWx2ZU1vbnRoc0Zyb21Ob3ciLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiR2FsbGVyeUhlcm9Ta2VsZXRvbiIsIkZyYWdtZW50IiwiRmxvb3JwbGFuSGVybyIsIkNhcmQiLCJ0aXRsZSIsImJlZHJvb20iLCJiYXRocm9vbSIsImVudW1Ub1N0cmluZyIsInN0eWxlIiwibGVuZ3RoIiwicmFuZ2VGcm9tIiwiZGVzY3JpcHRpb24iLCJhbWVuaXRpZXMiLCJVbCIsImFtZW5pdHkiLCJmZWF0dXJlZCIsIm1hcCIsIkxpIiwia2V5IiwiaWQiLCJidWxsZXRJY29uIiwiaXNGZWF0dXJlZCIsInZhcmlhdGlvbiIsIlRlc3RpbW9uaWFsc0NhcmQiLCJyZWYiLCJNYXBTZWN0aW9uIiwic3JjIiwiZmxvb3JwbGFuQWRkcmVzc1RvR29vZ2xlTWFwIiwiZmxvb3JwbGFuQWRkcmVzcyIsInBlcm1pdHRlZFBldHMiLCJwZXQiLCJidWxsZXRDb2xvciIsIm5vdFBlcm1pdHRlZFBldHMiLCJwZXRQb2xpY3kiLCJhdmFpbGFibGVEYXRlIiwiSU5DTFVERURfVVRJTElUWSIsIlNpbWlsYXJGbG9vcnBsYW5DYXJkIiwicHJvcGVydHkiLCJwaG9uZSIsImhyZWYiLCJmb3JtYXRQaG9uZU51bWJlciIsIkJ1dHRvbiIsInZhcmlhbnQiLCJvbkNsaWNrIiwic2l6ZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmxvb3JwbGFuL3NlY3Rpb24vRmxvb3JwbGFuU2VjdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gICAgRmxvb3JwbGFuLFxuICAgIEZsb29ycGxhblZhcmlhdGlvbixcbiAgICBTaW1pbGFyRmxvb3JwbGFuLFxuICAgIFRlc3RpbW9uaWFsLFxuICAgIFV0aWxpdHlOYW1lLFxuICAgIFV0aWxpdHlUeXBlXG59IGZyb20gXCIuLi9kYXRhL0Zsb29ycGxhblwiO1xuaW1wb3J0IHtcbiAgICBmbG9vcnBsYW5BZGRyZXNzLFxuICAgIGdldEZsb29ycGxhbixcbiAgICBnZXRGbG9vcnBsYW5WYXJpYXRpb25zLFxuICAgIGdldFNpbWlsYXJGbG9vcnBsYW5zLFxuICAgIGdldFRlc3RpbW9uaWFscyxcbiAgICBub3RQZXJtaXR0ZWRQZXRzLFxuICAgIHBlcm1pdHRlZFBldHMsXG4gICAgcGV0UG9saWN5XG59IGZyb20gXCIuLi9zZXJ2aWNlL0Zsb29ycGxhblNlcnZpY2VcIjtcbmltcG9ydCBcIi4vYXNzZXRzL0Zsb29ycGxhblNlY3Rpb24uc2Nzc1wiO1xuaW1wb3J0IHtHYWxsZXJ5SGVyb1NrZWxldG9ufSBmcm9tIFwiLi4vLi4vZ2FsbGVyeS9HYWxsZXJ5SGVyb1NrZWxldG9uXCI7XG5pbXBvcnQge0Zsb29ycGxhbkhlcm99IGZyb20gXCIuL0Zsb29ycGxhbkhlcm9cIjtcbmltcG9ydCB7XG4gICAgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyLFxuICAgIGRhdGVUb01vbWVudCxcbiAgICBlbnVtVG9TdHJpbmcsXG4gICAgZmxvb3JwbGFuQWRkcmVzc1RvR29vZ2xlTWFwLFxuICAgIGZvcm1hdFBob25lTnVtYmVyLFxuICAgIHJhbmdlRnJvbSxcbiAgICB0b1VTRFxufSBmcm9tIFwiLi4vLi4vdXRpbHMvVXRpbHNcIjtcbmltcG9ydCB7Q2FyZH0gZnJvbSBcIi4uLy4uL2NhcmQvQ2FyZFwiO1xuaW1wb3J0IHtUZXN0aW1vbmlhbHNDYXJkfSBmcm9tIFwiLi4vY2FyZC9UZXN0aW1vbmlhbHNDYXJkXCI7XG5pbXBvcnQge01hcFNlY3Rpb259IGZyb20gXCIuLi8uLi9tYXAvTWFwU2VjdGlvblwiO1xuaW1wb3J0IHtTaW1pbGFyRmxvb3JwbGFuQ2FyZH0gZnJvbSBcIi4uL2NhcmQvU2ltaWxhckZsb29ycGxhbkNhcmRcIjtcbmltcG9ydCB7QnV0dG9uLCBMaSwgVWx9IGZyb20gXCJAY29udGVudG11bmNoL211bmNoZXItdWlcIjtcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuXG5leHBvcnQgY29uc3QgRmxvb3JwbGFuU2VjdGlvbjogUmVhY3QuRkM8Rmxvb3JwbGFuU2VjdGlvblByb3BzPiA9IChcbiAgICB7XG4gICAgICAgIGNvbnRhY3RDbGlja0hhbmRsZXIsXG4gICAgICAgIGFwcGx5Q2xpY2tIYW5kbGVyLFxuICAgICAgICBmbG9vcnBsYW5JZCxcbiAgICAgICAgbG9jYXRpb25SZWYsXG4gICAgICAgIGhhbmRsZVJlZlRvTG9jYXRpb25cbiAgICB9KSA9PiB7XG4gICAgY29uc3QgW2Zsb29ycGxhbiwgc2V0Rmxvb3JwbGFuXSA9IHVzZVN0YXRlPEZsb29ycGxhbj4oe30gYXMgRmxvb3JwbGFuKTtcbiAgICBjb25zdCBbc2ltaWxhckZsb29ycGxhbnMsIHNldFNpbWlsYXJGbG9vcnBsYW5zXSA9IHVzZVN0YXRlPFNpbWlsYXJGbG9vcnBsYW5bXT4oW10pO1xuICAgIGNvbnN0IFtmbG9vcnBsYW5WYXJpYXRpb25zLCBzZXRGbG9vcnBsYW5WYXJpYXRpb25zXSA9IHVzZVN0YXRlPEZsb29ycGxhblZhcmlhdGlvbltdPihbXSk7XG4gICAgY29uc3QgW3Rlc3RpbW9uaWFscywgc2V0VGVzdGltb25pYWxzXSA9IHVzZVN0YXRlPFRlc3RpbW9uaWFsW10+KFtdKTtcbiAgICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW2Vycm9yTG9hZGluZywgc2V0RXJyb3JMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IG1hcFJlZjogUmVhY3QuUmVmPEhUTUxEaXZFbGVtZW50PiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgY29uc3QgaGFuZGxlUmVmVG9NYXAgPSAoKSA9PiB7XG4gICAgICAgIGlmIChoYW5kbGVSZWZUb0xvY2F0aW9uKVxuICAgICAgICAgICAgaGFuZGxlUmVmVG9Mb2NhdGlvbigpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG1hcFJlZi5jdXJyZW50Py5zY3JvbGxJbnRvVmlldyh7XG4gICAgICAgICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCIsXG4gICAgICAgICAgICAgICAgYmxvY2s6IFwic3RhcnRcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgIH07XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgZ2V0Rmxvb3JwbGFuKGZsb29ycGxhbklkKSxcbiAgICAgICAgICAgIGdldEZsb29ycGxhblZhcmlhdGlvbnMoZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgZ2V0U2ltaWxhckZsb29ycGxhbnMoZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgZ2V0VGVzdGltb25pYWxzKGZsb29ycGxhbklkKVxuICAgICAgICBdKVxuICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmbG9vcnBsYW5EYXRhID0gey4uLmRhdGFbMF19O1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVVuaXRzID0gZmxvb3JwbGFuRGF0YS51bml0cy5maWx0ZXIodW5pdCA9PiB1bml0LmFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgZmxvb3JwbGFuRGF0YS51bml0cyA9IGFjdGl2ZVVuaXRzO1xuICAgICAgICAgICAgICAgIHNldEZsb29ycGxhbihmbG9vcnBsYW5EYXRhKTtcbiAgICAgICAgICAgICAgICBzZXRGbG9vcnBsYW5WYXJpYXRpb25zKGRhdGFbMV0pO1xuICAgICAgICAgICAgICAgIHNldFNpbWlsYXJGbG9vcnBsYW5zKGRhdGFbMl0pO1xuICAgICAgICAgICAgICAgIHNldFRlc3RpbW9uaWFscyhkYXRhWzNdKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEVycm9yTG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgfSwgW2Zsb29ycGxhbklkXSk7XG5cbiAgICBjb25zdCBhdmFpbGFibGVEYXRlcyA9ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgIGNvbnN0IG1vbnRoWWVhckZvcm1hdCA9IFwiTU1NTSBZWVlZXCI7XG4gICAgICAgIGNvbnN0IHNvcnRBdmFpbGFibGVEYXRlcyA9IChhOiBzdHJpbmcsIGI6IHN0cmluZykgPT4gbW9tZW50KGEsIG1vbnRoWWVhckZvcm1hdCkuZGlmZihtb21lbnQoYiwgbW9udGhZZWFyRm9ybWF0KSk7XG4gICAgICAgIGNvbnN0IGRhdGVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgICAgIGNvbnN0IHRvZGF5ID0gbW9tZW50KCk7XG5cbiAgICAgICAgY29uc3QgdG9tb3Jyb3cgPSB0b2RheS5hZGQoMSwgXCJkYXlcIik7XG4gICAgICAgIGNvbnN0IGlzQXZhaWxhYmxlTm93ID0gKG1vdmVJbkRhdGU6IG1vbWVudC5Nb21lbnQpID0+IG1vdmVJbkRhdGUuaXNCZWZvcmUodG9tb3Jyb3cpO1xuXG4gICAgICAgIGZsb29ycGxhbi51bml0cy5mb3JFYWNoKHVuaXQgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW92ZUluRGF0ZSA9IGRhdGVUb01vbWVudCh1bml0Lm1vdmVJbkRhdGUpO1xuICAgICAgICAgICAgaWYgKGlzQXZhaWxhYmxlTm93KG1vdmVJbkRhdGUpKVxuICAgICAgICAgICAgICAgIGRhdGVzLmFkZCh0b2RheS5mb3JtYXQobW9udGhZZWFyRm9ybWF0KSk7XG5cbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBkYXRlcy5hZGQobW92ZUluRGF0ZS5mb3JtYXQobW9udGhZZWFyRm9ybWF0KSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKGRhdGVzKS5zb3J0KHNvcnRBdmFpbGFibGVEYXRlcyk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzaWRlbnRVdGlsaXR5RGV0YWlscyA9ICh1dGlsaXR5OiBVdGlsaXR5TmFtZSkgPT5cbiAgICAgICAgdXRpbGl0eS5hdmVyYWdlTW9udGhseUJpbGwgP1xuICAgICAgICAgICAgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHV0aWxpdHkubmFtZSkgKyBcIiAtIEF2Zy9NbyBcIiArIHRvVVNEKHV0aWxpdHkuYXZlcmFnZU1vbnRobHlCaWxsKVxuICAgICAgICAgICAgOiBjYXBpdGFsaXplRmlyc3RMZXR0ZXIodXRpbGl0eS5uYW1lKTtcblxuICAgIGNvbnN0IGlzQXZlcmFnZU1vbnRobHlCaWxsUHJlc2VudCA9ICgpID0+IGZsb29ycGxhbi51dGlsaXRpZXMuZmlsdGVyKHV0aWxpdHkgPT4gdXRpbGl0eS50eXBlID09PSBVdGlsaXR5VHlwZS5SRVNJREVOVF9VVElMSVRZKS5zb21lKHV0aWxpdHkgPT4gdXRpbGl0eS5hdmVyYWdlTW9udGhseUJpbGwgIT0gbnVsbCk7XG5cblxuICAgIGNvbnN0IGlzV2l0aGluVHdlbHZlTW9udGhzID0gKGRhdGU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gbW9tZW50KGRhdGUsIFwiTU1NIFlZWVlcIik7XG4gICAgICAgIGNvbnN0IHR3ZWx2ZU1vbnRoc0Zyb21Ob3cgPSBtb21lbnQoKS5hZGQoMSwgXCJ5ZWFyXCIpO1xuICAgICAgICByZXR1cm4gY3VycmVudC5pc0JlZm9yZSh0d2VsdmVNb250aHNGcm9tTm93KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLWZsb29ycGxhblwiPlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlzTG9hZGluZyA/IDxzZWN0aW9uIGNsYXNzTmFtZT1cInNlY3Rpb24tZmxvb3JwbGFuLS1oZXJvXCI+PEdhbGxlcnlIZXJvU2tlbGV0b24vPjwvc2VjdGlvbj4gOiA8PlxuICAgICAgICAgICAgICAgICAgICB7ZXJyb3JMb2FkaW5nID9cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cImRpdi1mdWxsLS1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+VWgtb2gsIHRoaXMgaXMgYSA0MDQ8L2gyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPiA6XG4gICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGbG9vcnBsYW5IZXJvIGZsb29ycGxhbj17Zmxvb3JwbGFufSBjb250YWN0Q2xpY2tIYW5kbGVyPXtjb250YWN0Q2xpY2tIYW5kbGVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGx5Q2xpY2tIYW5kbGVyPXthcHBseUNsaWNrSGFuZGxlcn0gaGFuZGxlUmVmVG9NYXA9e2hhbmRsZVJlZlRvTWFwfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbG9vcnBsYW4tLWNhcmRzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIkRldGFpbHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY2FyZC0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5iZWRyb29tfSBCZWRyb29tXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwge2Zsb29ycGxhbi5iYXRocm9vbX0gQmF0aHJvb20ge2VudW1Ub1N0cmluZyhmbG9vcnBsYW4uc3R5bGUpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnVuaXRzLmxlbmd0aCA+IDAgPyA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY2FyZC0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyYW5nZUZyb20oZmxvb3JwbGFuLnVuaXRzLCBcInNxdWFyZUZvb3RcIil9IFNxdWFyZSBGZWV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLWNhcmQtLWZlYXR1cmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3JhbmdlRnJvbShmbG9vcnBsYW4udW5pdHMsIFwicmVudFwiKX0vbW9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY2FyZC0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cmFuZ2VGcm9tKGZsb29ycGxhbi51bml0cywgXCJkZXBvc2l0XCIpfSBTZWN1cml0eSBEZXBvc2l0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4uYW1lbml0aWVzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIkFtZW5pdGllc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLmFtZW5pdGllcy5maWx0ZXIoYW1lbml0eSA9PiBhbWVuaXR5LmZlYXR1cmVkKS5tYXAoYW1lbml0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tYW1lbml0eS1cIiArIGFtZW5pdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0SWNvbj1cInN0YXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRmVhdHVyZWQ9e3RydWV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthbWVuaXR5Lm5hbWV9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4uYW1lbml0aWVzLmZpbHRlcihhbWVuaXR5ID0+ICFhbWVuaXR5LmZlYXR1cmVkKS5tYXAoYW1lbml0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tYW1lbml0eS1cIiArIGFtZW5pdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0SWNvbj1cImRvdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHthbWVuaXR5Lm5hbWV9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhblZhcmlhdGlvbnMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+VmFyaWF0aW9uczwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW5WYXJpYXRpb25zLm1hcCgodmFyaWF0aW9uLCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tdmFyaWF0aW9uLVwiICsgaX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhcmlhdGlvbi52YXJpYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD4gOiA8PjwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGltb25pYWxzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGVzdGltb25pYWxzQ2FyZCB0ZXN0aW1vbmlhbHM9e3Rlc3RpbW9uaWFsc30vPiA6IDw+PC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHJlZj17bG9jYXRpb25SZWYgPyBsb2NhdGlvblJlZiA6IG1hcFJlZn0gaWQ9XCJsb2NhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyZWZlcmVuY2VcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17Zmxvb3JwbGFuQWRkcmVzc1RvR29vZ2xlTWFwKGZsb29ycGxhbkFkZHJlc3MoZmxvb3JwbGFuKSl9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJQZXRzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlBlcm1pdHRlZDwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJtaXR0ZWRQZXRzKGZsb29ycGxhbikubWFwKChwZXQsIGkpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tcGVybWl0dGVkLXBldC1cIiArIGl9IGJ1bGxldEljb249XCJjaGVja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldENvbG9yPVwiZ3JlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3BldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bm90UGVybWl0dGVkUGV0cyhmbG9vcnBsYW4pLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PjxoNT5Ob3QgUGVybWl0dGVkPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdFBlcm1pdHRlZFBldHMoZmxvb3JwbGFuKS5tYXAoKHBldCwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLW5vdC1wZXJtaXR0ZWQtcGV0LVwiICsgaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRDb2xvcj1cImJyb3duXCIgYnVsbGV0SWNvbj1cImNsb3NlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3BldH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXRQb2xpY3koZmxvb3JwbGFuKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5BZGRpdGlvbmFsIEluZm9ybWF0aW9uPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57cGV0UG9saWN5KGZsb29ycGxhbil9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnVuaXRzLmxlbmd0aCA+IDAgPyA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIHRpdGxlPVwiQXZhaWxhYmlsaXR5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGVEYXRlcygpLmZpbHRlcihhdmFpbGFibGVEYXRlID0+IGlzV2l0aGluVHdlbHZlTW9udGhzKGF2YWlsYWJsZURhdGUpKS5tYXAoYXZhaWxhYmxlRGF0ZSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi11bml0LWF2YWlsYWJpbGl0eS1cIiArIGF2YWlsYWJsZURhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRJY29uPVwiY2FsZW5kYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF2YWlsYWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gPHN0cm9uZz57Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGF2YWlsYWJsZURhdGUpfTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIHRpdGxlPVwiVXRpbGl0aWVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QYWlkIEJ5IExhbmRsb3JkPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi51dGlsaXRpZXMuZmlsdGVyKHV0aWxpdHkgPT4gdXRpbGl0eS50eXBlID09PSBVdGlsaXR5VHlwZS5JTkNMVURFRF9VVElMSVRZKS5tYXAodXRpbGl0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi1pbmNsdWRlZC11dGlsaXR5LVwiICsgdXRpbGl0eS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJob21lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHV0aWxpdHkubmFtZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+UGFpZCBCeSBSZXNpZGVudDwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcnBsYW4udXRpbGl0aWVzLmZpbHRlcih1dGlsaXR5ID0+IHV0aWxpdHkudHlwZSA9PT0gVXRpbGl0eVR5cGUuUkVTSURFTlRfVVRJTElUWSkubWFwKHV0aWxpdHkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tcmVzaWRlbnQtdXRpbGl0eS1cIiArIHV0aWxpdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRJY29uPVwiZG9sbGFyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVzaWRlbnRVdGlsaXR5RGV0YWlscyh1dGlsaXR5KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc0F2ZXJhZ2VNb250aGx5QmlsbFByZXNlbnQoKSA/IDxwPjxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipBdmVyYWdlIHV0aWxpdGllcyBzaG93biBhYm92ZSBhcmUgYW4gZXN0aW1hdGUuIEFjdHVhbCBtb250aGx5IHV0aWxpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvc3RzIGNhbiB2YXJ5IHNpZ25pZmljYW50bHkgYmFzZWQgb24gaW5kaXZpZHVhbCB1c2FnZSwgdGltZSBvZiB5ZWFyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHdlYXRoZXIsIGFuZCBvdGhlciBmYWN0b3JzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT48L3A+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2ltaWxhckZsb29ycGxhbnMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNpbWlsYXJGbG9vcnBsYW5DYXJkIHNpbWlsYXJGbG9vcnBsYW5zPXtzaW1pbGFyRmxvb3JwbGFuc30vPiA6IFwiXCJ9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGFjdC1jYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgZmVhdHVyZWQ9e3RydWV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aT5RdWVzdGlvbnM/PC9pPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGk+Q2FsbCBvciB0ZXh0IHVzIGFueXRpbWU6PC9pPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5wcm9wZXJ0eT8ucGhvbmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPXtcInRlbDpcIiArIGZsb29ycGxhbi5wcm9wZXJ0eS5waG9uZX0+e2Zvcm1hdFBob25lTnVtYmVyKGZsb29ycGxhbi5wcm9wZXJ0eS5waG9uZSl9PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiIG9uQ2xpY2s9e2NvbnRhY3RDbGlja0hhbmRsZXJ9IHNpemU9XCJsYXJnZVwiPkNvbnRhY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDCuzwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvb3JwbGFuU2VjdGlvblByb3BzIHtcbiAgICBjb250YWN0Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGFwcGx5Q2xpY2tIYW5kbGVyOiAoKSA9PiB2b2lkO1xuICAgIGZsb29ycGxhbklkOiBzdHJpbmc7XG4gICAgbG9jYXRpb25SZWY/OiBSZWFjdC5SZWY8SFRNTERpdkVsZW1lbnQ+O1xuICAgIGhhbmRsZVJlZlRvTG9jYXRpb24/OiAoKSA9PiB2b2lkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFRQSxJQUFBRSxpQkFBQSxHQUFBRixPQUFBO0FBVUFBLE9BQUE7QUFD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
|
|
@@ -9,15 +9,11 @@ require("./assets/FloorplansSection.scss");
|
|
|
9
9
|
var _FloorplansHeaderSekeleton = require("./FloorplansHeaderSekeleton");
|
|
10
10
|
var _FloorplanCardSkeleton = require("../card/FloorplanCardSkeleton");
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
18
|
-
var FloorplanSectionSkeleton = function FloorplanSectionSkeleton(_ref) {
|
|
19
|
-
var isCondensed = _ref.isCondensed,
|
|
20
|
-
skeletonCount = _ref.skeletonCount;
|
|
12
|
+
const FloorplanSectionSkeleton = _ref => {
|
|
13
|
+
let {
|
|
14
|
+
isCondensed,
|
|
15
|
+
skeletonCount
|
|
16
|
+
} = _ref;
|
|
21
17
|
return /*#__PURE__*/_react.default.createElement("section", {
|
|
22
18
|
className: "section-floorplans"
|
|
23
19
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -28,15 +24,13 @@ var FloorplanSectionSkeleton = function FloorplanSectionSkeleton(_ref) {
|
|
|
28
24
|
className: isCondensed ? "" : "container"
|
|
29
25
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
30
26
|
className: "floorplans-body"
|
|
31
|
-
},
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
35
|
-
})))));
|
|
27
|
+
}, [...Array(skeletonCount)].map((_, i) => /*#__PURE__*/_react.default.createElement(_FloorplanCardSkeleton.FloorplanCardSkeleton, {
|
|
28
|
+
key: i
|
|
29
|
+
}))))));
|
|
36
30
|
};
|
|
37
31
|
exports.FloorplanSectionSkeleton = FloorplanSectionSkeleton;
|
|
38
32
|
FloorplanSectionSkeleton.defaultProps = {
|
|
39
33
|
isCondensed: true,
|
|
40
34
|
skeletonCount: 8
|
|
41
35
|
};
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9GbG9vcnBsYW5zSGVhZGVyU2VrZWxldG9uIiwiX0Zsb29ycGxhbkNhcmRTa2VsZXRvbiIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiRmxvb3JwbGFuU2VjdGlvblNrZWxldG9uIiwiX3JlZiIsImlzQ29uZGVuc2VkIiwic2tlbGV0b25Db3VudCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJGbG9vcnBsYW5zSGVhZGVyU2tlbGV0b24iLCJBcnJheSIsIm1hcCIsIl8iLCJpIiwiRmxvb3JwbGFuQ2FyZFNrZWxldG9uIiwia2V5IiwiZXhwb3J0cyIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mbG9vcnBsYW4vc2VjdGlvbi9GbG9vcnBsYW5TZWN0aW9uU2tlbGV0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBcIi4vYXNzZXRzL0Zsb29ycGxhbnNTZWN0aW9uLnNjc3NcIjtcbmltcG9ydCB7Rmxvb3JwbGFuc0hlYWRlclNrZWxldG9ufSBmcm9tIFwiLi9GbG9vcnBsYW5zSGVhZGVyU2VrZWxldG9uXCI7XG5pbXBvcnQge0Zsb29ycGxhbkNhcmRTa2VsZXRvbn0gZnJvbSBcIi4uL2NhcmQvRmxvb3JwbGFuQ2FyZFNrZWxldG9uXCI7XG5cbmV4cG9ydCBjb25zdCBGbG9vcnBsYW5TZWN0aW9uU2tlbGV0b246IFJlYWN0LkZDPEZsb29ycGxhblNlY3Rpb25Ta2VsZXRvblByb3BzPiA9IChcbiAgICB7XG4gICAgICAgIGlzQ29uZGVuc2VkLCBza2VsZXRvbkNvdW50XG4gICAgfSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNlY3Rpb24tZmxvb3JwbGFuc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2lzQ29uZGVuc2VkID8gXCJjb250YWluZXJcIiA6IFwiXCJ9PlxuICAgICAgICAgICAgICAgIDxGbG9vcnBsYW5zSGVhZGVyU2tlbGV0b24gaXNDb25kZW5zZWQ9e2lzQ29uZGVuc2VkfS8+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17aXNDb25kZW5zZWQgPyBcIlwiIDogXCJjb250YWluZXJcIn0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFucy1ib2R5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWy4uLkFycmF5KHNrZWxldG9uQ291bnQpXS5tYXAoKF8sIGkpID0+ICg8Rmxvb3JwbGFuQ2FyZFNrZWxldG9uIGtleT17aX0vPikpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBGbG9vcnBsYW5TZWN0aW9uU2tlbGV0b25Qcm9wcyB7XG4gICAgaXNDb25kZW5zZWQ/OiBib29sZWFuO1xuICAgIHNrZWxldG9uQ291bnQ/OiBudW1iZXI7XG59XG5cbkZsb29ycGxhblNlY3Rpb25Ta2VsZXRvbi5kZWZhdWx0UHJvcHMgPSB7XG4gICAgaXNDb25kZW5zZWQ6IHRydWUsXG4gICAgc2tlbGV0b25Db3VudDogOFxufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQywwQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsc0JBQUEsR0FBQUYsT0FBQTtBQUFvRSxTQUFBRCx1QkFBQUksR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUU3RCxNQUFNRyx3QkFBaUUsR0FBR0MsSUFBQSxJQUd2RTtFQUFBLElBRk47SUFDSUMsV0FBVztJQUFFQztFQUNqQixDQUFDLEdBQUFGLElBQUE7RUFDRCxvQkFDSVQsTUFBQSxDQUFBTyxPQUFBLENBQUFLLGFBQUE7SUFBU0MsU0FBUyxFQUFDO0VBQW9CLGdCQUNuQ2IsTUFBQSxDQUFBTyxPQUFBLENBQUFLLGFBQUE7SUFBS0MsU0FBUyxFQUFFSCxXQUFXLEdBQUcsV0FBVyxHQUFHO0VBQUcsZ0JBQzNDVixNQUFBLENBQUFPLE9BQUEsQ0FBQUssYUFBQSxDQUFDVCwwQkFBQSxDQUFBVyx3QkFBd0I7SUFBQ0osV0FBVyxFQUFFQTtFQUFZLENBQUMsQ0FBQyxlQUVyRFYsTUFBQSxDQUFBTyxPQUFBLENBQUFLLGFBQUE7SUFBS0MsU0FBUyxFQUFFSCxXQUFXLEdBQUcsRUFBRSxHQUFHO0VBQVksZ0JBQzNDVixNQUFBLENBQUFPLE9BQUEsQ0FBQUssYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBaUIsR0FFeEIsQ0FBQyxHQUFHRSxLQUFLLENBQUNKLGFBQWEsQ0FBQyxDQUFDLENBQUNLLEdBQUcsQ0FBQyxDQUFDQyxDQUFDLEVBQUVDLENBQUMsa0JBQU1sQixNQUFBLENBQUFPLE9BQUEsQ0FBQUssYUFBQSxDQUFDUixzQkFBQSxDQUFBZSxxQkFBcUI7SUFBQ0MsR0FBRyxFQUFFRjtFQUFFLENBQUMsQ0FBRSxDQUU3RSxDQUNKLENBQ0osQ0FDQSxDQUFDO0FBRWxCLENBQUM7QUFBQ0csT0FBQSxDQUFBYix3QkFBQSxHQUFBQSx3QkFBQTtBQU9GQSx3QkFBd0IsQ0FBQ2MsWUFBWSxHQUFHO0VBQ3BDWixXQUFXLEVBQUUsSUFBSTtFQUNqQkMsYUFBYSxFQUFFO0FBQ25CLENBQUMifQ==
|