@renaissancerentals/renaissance-component 12.4.24 → 13.0.3

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.
Files changed (292) hide show
  1. package/lib/announcement/Banner.d.ts +1 -1
  2. package/lib/announcement/assets/Banner.css +65 -0
  3. package/lib/application/ApplicationCompletion.d.ts +1 -1
  4. package/lib/application/ApplicationModal.d.ts +1 -1
  5. package/lib/application/ApplicationSection.d.ts +1 -1
  6. package/lib/application/assets/ApplicationCompletion.css +44 -0
  7. package/lib/application/assets/{ApplicationModal.scss → ApplicationModal.css} +3 -5
  8. package/lib/application/assets/{ApplicationSection.scss → ApplicationSection.css} +12 -11
  9. package/lib/asset/AssetModal.d.ts +1 -1
  10. package/lib/asset/VideoModal.d.ts +1 -1
  11. package/lib/asset/assets/{AssetModal.scss → AssetModal.css} +1 -3
  12. package/lib/asset/assets/{VideoModal.scss → VideoModal.css} +1 -3
  13. package/lib/assets/App.css +3 -0
  14. package/lib/assets/form.css +89 -0
  15. package/lib/assets/variables.css +49 -0
  16. package/lib/banner/SubmissionRequestBanner.d.ts +1 -1
  17. package/lib/banner/assets/{SubmissionRequestBanner.scss → SubmissionRequestBanner.css} +0 -2
  18. package/lib/card/Card.d.ts +1 -1
  19. package/lib/card/assets/Card.css +45 -0
  20. package/lib/contact/ContactModal.d.ts +1 -1
  21. package/lib/contact/ContactSection.d.ts +1 -1
  22. package/lib/contact/ContactSectionSkeleton.d.ts +1 -1
  23. package/lib/contact/assets/{ContactModal.scss → ContactModal.css} +2 -4
  24. package/lib/contact/assets/{ContactSection.scss → ContactSection.css} +14 -12
  25. package/lib/contact/assets/{ContactSkeleton.scss → ContactSkeleton.css} +1 -1
  26. package/lib/faq/FaqsCard.d.ts +1 -1
  27. package/lib/faq/FaqsSection.d.ts +1 -1
  28. package/lib/faq/PropertyFaqSection.d.ts +1 -1
  29. package/lib/faq/ResidentFaqSection.d.ts +1 -1
  30. package/lib/faq/assets/{FaqsCard.scss → FaqsCard.css} +0 -2
  31. package/lib/faq/assets/{FaqsSection.scss → FaqsSection.css} +1 -3
  32. package/lib/faq/assets/{PropertyFaqSection.scss → PropertyFaqSection.css} +0 -2
  33. package/lib/faq/assets/{ResidentFaqSection.scss → ResidentFaqSection.css} +1 -3
  34. package/lib/feature/FeatureSection.d.ts +1 -1
  35. package/lib/feature/assets/{FeatureSection.scss → FeatureSection.css} +7 -6
  36. package/lib/floorplan/card/FloorplanCard.d.ts +1 -1
  37. package/lib/floorplan/card/FloorplanCardSkeleton.d.ts +1 -1
  38. package/lib/floorplan/card/FloorplanCardSlider.d.ts +1 -1
  39. package/lib/floorplan/card/FloorplanPrice.d.ts +1 -1
  40. package/lib/floorplan/card/SimilarFloorplanCard.d.ts +1 -1
  41. package/lib/floorplan/card/TestimonialsCard.d.ts +1 -1
  42. package/lib/floorplan/card/assets/{FloorplanCard.scss → FloorplanCard.css} +36 -35
  43. package/lib/floorplan/card/assets/{FloorplanCardSlider.scss → FloorplanCardSlider.css} +4 -6
  44. package/lib/floorplan/card/assets/{FloorplanFaqsCard.scss → FloorplanFaqsCard.css} +1 -3
  45. package/lib/floorplan/card/assets/FloorplanPrice.css +35 -0
  46. package/lib/floorplan/card/assets/{SimilarFloorplanCard.scss → SimilarFloorplanCard.css} +2 -4
  47. package/lib/floorplan/card/assets/{TestimonialsCard.scss → TestimonialsCard.css} +2 -4
  48. package/lib/floorplan/filter/FloorplanDropDown.d.ts +1 -1
  49. package/lib/floorplan/filter/assets/{FloorplanDropDown.scss → FloorplanDropDown.css} +0 -2
  50. package/lib/floorplan/section/FloorplanHero.d.ts +1 -1
  51. package/lib/floorplan/section/FloorplanSection.d.ts +1 -1
  52. package/lib/floorplan/section/FloorplanSectionSkeleton.d.ts +1 -1
  53. package/lib/floorplan/section/FloorplansHeader.d.ts +2 -2
  54. package/lib/floorplan/section/FloorplansHeaderSekeleton.d.ts +2 -2
  55. package/lib/floorplan/section/FloorplansSection.d.ts +1 -1
  56. package/lib/floorplan/section/HeroBadgeStats.d.ts +1 -1
  57. package/lib/floorplan/section/assets/BadgeStats.css +3 -0
  58. package/lib/floorplan/section/assets/{FloorplanHero.scss → FloorplanHero.css} +21 -20
  59. package/lib/floorplan/section/assets/{FloorplanSection.scss → FloorplanSection.css} +12 -12
  60. package/lib/{unit/section/assets/UnitsHeader.scss → floorplan/section/assets/FloorplansHeader.css} +8 -7
  61. package/lib/floorplan/section/assets/{FloorplansSection.scss → FloorplansSection.css} +0 -2
  62. package/lib/floorplan/section/assets/{HeroBadgeStats.scss → HeroBadgeStats.css} +5 -7
  63. package/lib/footer/Footer.d.ts +1 -1
  64. package/lib/footer/assets/{Footer.scss → Footer.css} +13 -12
  65. package/lib/gallery/DriveGallery.d.ts +1 -1
  66. package/lib/gallery/Gallery.d.ts +1 -1
  67. package/lib/gallery/GalleryModal.d.ts +1 -1
  68. package/lib/gallery/GridGallery.d.ts +1 -1
  69. package/lib/gallery/GridGalleryCover.d.ts +1 -1
  70. package/lib/gallery/GridGalleryMobile.d.ts +1 -1
  71. package/lib/gallery/GridGallerySkeleton.d.ts +1 -1
  72. package/lib/gallery/HeroImageCard.d.ts +1 -1
  73. package/lib/gallery/ImageCard.d.ts +1 -1
  74. package/lib/gallery/ImageCardSkeleton.d.ts +1 -1
  75. package/lib/gallery/assets/{DriveGallery.scss → DriveGallery.css} +0 -2
  76. package/lib/gallery/assets/{Gallery.scss → Gallery.css} +12 -14
  77. package/lib/gallery/assets/{GalleryModal.scss → GalleryModal.css} +3 -5
  78. package/lib/gallery/assets/{GridGallery.scss → GridGallery.css} +3 -5
  79. package/lib/gallery/assets/{GridGalleryMobile.scss → GridGalleryMobile.css} +3 -5
  80. package/lib/gallery/assets/{HeroImageCard.scss → HeroImageCard.css} +1 -3
  81. package/lib/gallery/assets/{ImageCard.scss → ImageCard.css} +1 -3
  82. package/lib/header/InfoHeader.d.ts +1 -1
  83. package/lib/header/assets/InfoHeader.css +29 -0
  84. package/lib/home-page-special/HomePageSpecialCard.d.ts +1 -1
  85. package/lib/home-page-special/HomePageSpecialModal.d.ts +1 -1
  86. package/lib/home-page-special/HomePageSpecialSection.d.ts +1 -1
  87. package/lib/home-page-special/assets/{HomePageSpecialCard.scss → HomePageSpecialCard.css} +0 -2
  88. package/lib/home-page-special/assets/{HomePageSpecialModal.scss → HomePageSpecialModal.css} +3 -5
  89. package/lib/home-page-special/assets/{HomePageSpecialSection.scss → HomePageSpecialSection.css} +0 -2
  90. package/lib/index.cjs.js +112 -0
  91. package/lib/index.css +10 -0
  92. package/lib/index.d.ts +1 -0
  93. package/lib/index.es.js +21817 -0
  94. package/lib/index.umd.js +112 -0
  95. package/lib/map/MapSection.d.ts +1 -1
  96. package/lib/map/assets/{Map.scss → Map.css} +0 -2
  97. package/lib/property/LeaseOfficeSkeleton.d.ts +1 -1
  98. package/lib/property/PropertyLocation.d.ts +1 -1
  99. package/lib/property/PropertyLocationSkeleton.d.ts +1 -1
  100. package/lib/property/assets/{PropertyLocation.scss → PropertyLocation.css} +3 -5
  101. package/lib/property/assets/{PropertyLocationSkeleton.scss → PropertyLocationSkeleton.css} +2 -4
  102. package/lib/review/ReviewSection.d.ts +1 -1
  103. package/lib/review/assets/{ReviewSection.scss → ReviewSection.css} +7 -9
  104. package/lib/short-term/Hostaway.d.ts +1 -1
  105. package/lib/short-term/ShortTermFloorplanCard.d.ts +1 -1
  106. package/lib/short-term/ShortTermFloorplanHero.d.ts +1 -1
  107. package/lib/short-term/ShortTermFloorplanSection.d.ts +1 -1
  108. package/lib/short-term/ShortTermFloorplansHeader.d.ts +2 -2
  109. package/lib/short-term/ShortTermFloorplansSection.d.ts +1 -1
  110. package/lib/short-term/ShortTermPricingCard.d.ts +1 -1
  111. package/lib/short-term/assets/{Hostaway.scss → Hostaway.css} +16 -15
  112. package/lib/short-term/assets/{ShortTermFloorplanCard.scss → ShortTermFloorplanCard.css} +20 -19
  113. package/lib/short-term/assets/{ShortTermFloorplanHero.scss → ShortTermFloorplanHero.css} +21 -20
  114. package/lib/short-term/assets/{ShortTermFloorplanSection.scss → ShortTermFloorplanSection.css} +17 -17
  115. package/lib/short-term/assets/{ShortTermFloorplansHeader.scss → ShortTermFloorplansHeader.css} +8 -7
  116. package/lib/short-term/assets/{ShortTermFloorplansSection.scss → ShortTermFloorplansSection.css} +0 -2
  117. package/lib/short-term/assets/{ShortTermPricingCard.scss → ShortTermPricingCard.css} +5 -7
  118. package/lib/special-offer/SpecialOfferBadge.d.ts +1 -1
  119. package/lib/special-offer/SpecialOfferButton.d.ts +1 -1
  120. package/lib/special-offer/assets/{SpecialOfferBadge.scss → SpecialOfferBadge.css} +3 -5
  121. package/lib/special-offer/assets/{SpecialOfferButton.scss → SpecialOfferButton.css} +2 -4
  122. package/lib/sublet/SubletCard.d.ts +1 -1
  123. package/lib/sublet/SubletImage.d.ts +1 -1
  124. package/lib/sublet/SubletMessageModal.d.ts +1 -1
  125. package/lib/sublet/SubletNotFound.d.ts +1 -1
  126. package/lib/sublet/SubletSection.d.ts +1 -1
  127. package/lib/sublet/SubletsSection.d.ts +1 -1
  128. package/lib/sublet/assets/{SubletCard.scss → SubletCard.css} +2 -4
  129. package/lib/sublet/assets/{SubletImage.scss → SubletImage.css} +2 -4
  130. package/lib/sublet/assets/{SubletMessageModal.scss → SubletMessageModal.css} +6 -8
  131. package/lib/sublet/assets/{SubletNotFound.scss → SubletNotFound.css} +0 -2
  132. package/lib/sublet/assets/{SubletSection.scss → SubletSection.css} +4 -6
  133. package/lib/sublet/assets/{SubletsSection.scss → SubletsSection.css} +1 -3
  134. package/lib/sublet/services/SubletService.d.ts +6 -2
  135. package/lib/summer-house/SummerHouseFeatures.d.ts +1 -1
  136. package/lib/summer-house/assets/{SummerHouseFeatures.scss → SummerHouseFeatures.css} +2 -4
  137. package/lib/summer-house/assets/{SummerHousePricing.scss → SummerHousePricing.css} +2 -4
  138. package/lib/team/TeamSection.d.ts +1 -1
  139. package/lib/team/assets/{Team.scss → Team.css} +0 -2
  140. package/lib/team/card/TeamCard.d.ts +1 -1
  141. package/lib/team/card/TeamCardSkeleton.d.ts +1 -1
  142. package/lib/team/card/assets/{TeamCard.scss → TeamCard.css} +6 -5
  143. package/lib/unit/card/UnitCard.d.ts +1 -1
  144. package/lib/unit/card/assets/{UnitCard.scss → UnitCard.css} +33 -32
  145. package/lib/unit/section/UnitHero.d.ts +1 -1
  146. package/lib/unit/section/UnitPrice.d.ts +1 -1
  147. package/lib/unit/section/UnitSection.d.ts +1 -1
  148. package/lib/unit/section/UnitsHeader.d.ts +1 -1
  149. package/lib/unit/section/UnitsSection.d.ts +1 -1
  150. package/lib/unit/section/assets/{UnitSection.scss → UnitSection.css} +12 -12
  151. package/lib/{floorplan/section/assets/FloorplansHeader.scss → unit/section/assets/UnitsHeader.css} +8 -7
  152. package/lib/unit/section/assets/{UnitsSection.scss → UnitsSection.css} +0 -2
  153. package/lib/video/Video.d.ts +1 -1
  154. package/lib/video/assets/{Video.scss → Video.css} +0 -2
  155. package/package.json +67 -71
  156. package/lib/announcement/Banner.js +0 -31
  157. package/lib/announcement/assets/Banner.scss +0 -65
  158. package/lib/application/ApplicationCompletion.js +0 -53
  159. package/lib/application/ApplicationModal.js +0 -38
  160. package/lib/application/ApplicationSection.js +0 -253
  161. package/lib/application/assets/ApplicationCompletion.scss +0 -44
  162. package/lib/application/data/RentalApplication.js +0 -15
  163. package/lib/application/service/ApplicationService.js +0 -13
  164. package/lib/asset/AssetModal.js +0 -42
  165. package/lib/asset/VideoModal.js +0 -48
  166. package/lib/asset/data/Asset.js +0 -6
  167. package/lib/asset/service/AssetService.js +0 -42
  168. package/lib/assets/App.scss +0 -96
  169. package/lib/assets/_variables.scss +0 -47
  170. package/lib/assets/form.scss +0 -90
  171. package/lib/banner/SubmissionRequestBanner.js +0 -16
  172. package/lib/captcha/data/CaptchaEnabledRequest.js +0 -6
  173. package/lib/card/Card.js +0 -26
  174. package/lib/card/assets/Card.scss +0 -44
  175. package/lib/contact/ContactModal.js +0 -42
  176. package/lib/contact/ContactSection.js +0 -345
  177. package/lib/contact/ContactSectionSkeleton.js +0 -33
  178. package/lib/contact/data/CommunityContact.js +0 -6
  179. package/lib/contact/data/Contact.js +0 -12
  180. package/lib/contact/data/ContactMessage.js +0 -24
  181. package/lib/contact/service/ContactService.js +0 -49
  182. package/lib/data/Calendar.js +0 -21
  183. package/lib/data/RenaissanceData.js +0 -16
  184. package/lib/data/SortField.js +0 -62
  185. package/lib/faq/FaqsCard.js +0 -26
  186. package/lib/faq/FaqsSection.js +0 -35
  187. package/lib/faq/PropertyFaqSection.js +0 -30
  188. package/lib/faq/ResidentFaqSection.js +0 -37
  189. package/lib/faq/data/Faq.js +0 -6
  190. package/lib/feature/FeatureSection.js +0 -19
  191. package/lib/floorplan/card/FloorplanCard.js +0 -148
  192. package/lib/floorplan/card/FloorplanCardSkeleton.js +0 -23
  193. package/lib/floorplan/card/FloorplanCardSlider.js +0 -45
  194. package/lib/floorplan/card/FloorplanPrice.js +0 -49
  195. package/lib/floorplan/card/SimilarFloorplanCard.js +0 -62
  196. package/lib/floorplan/card/TestimonialsCard.js +0 -25
  197. package/lib/floorplan/card/assets/FloorplanPrice.scss +0 -34
  198. package/lib/floorplan/data/Floorplan.js +0 -34
  199. package/lib/floorplan/data/FloorplanFilters.js +0 -6
  200. package/lib/floorplan/filter/FloorplanDropDown.js +0 -33
  201. package/lib/floorplan/section/FloorplanHero.js +0 -229
  202. package/lib/floorplan/section/FloorplanSection.js +0 -212
  203. package/lib/floorplan/section/FloorplanSectionSkeleton.js +0 -36
  204. package/lib/floorplan/section/FloorplansHeader.js +0 -214
  205. package/lib/floorplan/section/FloorplansHeaderSekeleton.js +0 -31
  206. package/lib/floorplan/section/FloorplansSection.js +0 -86
  207. package/lib/floorplan/section/HeroBadgeStats.js +0 -75
  208. package/lib/floorplan/section/assets/BadgeStats.scss +0 -5
  209. package/lib/floorplan/section/filter/Availability.js +0 -33
  210. package/lib/floorplan/section/filter/Bedroom.js +0 -32
  211. package/lib/floorplan/section/filter/Price.js +0 -36
  212. package/lib/floorplan/section/filter/Sort.js +0 -41
  213. package/lib/floorplan/section/filter/Style.js +0 -31
  214. package/lib/floorplan/service/FloorplanService.js +0 -290
  215. package/lib/footer/Footer.js +0 -98
  216. package/lib/gallery/DriveGallery.js +0 -67
  217. package/lib/gallery/Gallery.js +0 -116
  218. package/lib/gallery/GalleryModal.js +0 -74
  219. package/lib/gallery/GridGallery.js +0 -32
  220. package/lib/gallery/GridGalleryCover.js +0 -90
  221. package/lib/gallery/GridGalleryMobile.js +0 -88
  222. package/lib/gallery/GridGallerySkeleton.js +0 -19
  223. package/lib/gallery/HeroImageCard.js +0 -31
  224. package/lib/gallery/ImageCard.js +0 -28
  225. package/lib/gallery/ImageCardSkeleton.js +0 -22
  226. package/lib/gallery/VideoTours.js +0 -53
  227. package/lib/gallery/VirtualTour.js +0 -26
  228. package/lib/gallery/data/GalleryImage.js +0 -6
  229. package/lib/header/InfoHeader.js +0 -21
  230. package/lib/header/assets/InfoHeader.scss +0 -28
  231. package/lib/home-page-special/HomePageSpecialCard.js +0 -40
  232. package/lib/home-page-special/HomePageSpecialModal.js +0 -65
  233. package/lib/home-page-special/HomePageSpecialSection.js +0 -33
  234. package/lib/home-page-special/data/HomePageSpecial.js +0 -6
  235. package/lib/home-page-special/service/HomePageSpecialService.js +0 -24
  236. package/lib/index.js +0 -822
  237. package/lib/map/MapSection.js +0 -25
  238. package/lib/property/LeaseOfficeSkeleton.js +0 -17
  239. package/lib/property/PropertyLocation.js +0 -89
  240. package/lib/property/PropertyLocationSkeleton.js +0 -19
  241. package/lib/property/PropertyVideo.js +0 -21
  242. package/lib/property/data/Property.js +0 -36
  243. package/lib/property/service/PropertyService.js +0 -41
  244. package/lib/resident/data/Resident.js +0 -6
  245. package/lib/resident/service/ResidentService.js +0 -19
  246. package/lib/review/ReviewSection.js +0 -81
  247. package/lib/service/Api.js +0 -25
  248. package/lib/short-term/Hostaway.js +0 -63
  249. package/lib/short-term/ShortTermFloorplanCard.js +0 -112
  250. package/lib/short-term/ShortTermFloorplanHero.js +0 -231
  251. package/lib/short-term/ShortTermFloorplanSection.js +0 -135
  252. package/lib/short-term/ShortTermFloorplansHeader.js +0 -145
  253. package/lib/short-term/ShortTermFloorplansSection.js +0 -80
  254. package/lib/short-term/ShortTermPricingCard.js +0 -70
  255. package/lib/short-term/ShortTermSort.js +0 -41
  256. package/lib/short-term/ShortTermStyleFilter.js +0 -31
  257. package/lib/short-term/data/ShortTerm.js +0 -15
  258. package/lib/short-term/data/ShortTermFilters.js +0 -41
  259. package/lib/short-term/service/ShortTermService.js +0 -54
  260. package/lib/special-offer/SpecialOfferBadge.js +0 -24
  261. package/lib/special-offer/SpecialOfferButton.js +0 -30
  262. package/lib/sublet/SubletCard.js +0 -65
  263. package/lib/sublet/SubletImage.js +0 -59
  264. package/lib/sublet/SubletMessageModal.js +0 -120
  265. package/lib/sublet/SubletNotFound.js +0 -16
  266. package/lib/sublet/SubletSection.js +0 -447
  267. package/lib/sublet/SubletsSection.js +0 -41
  268. package/lib/sublet/data/Sublet.js +0 -28
  269. package/lib/sublet/data/SubletMessage.js +0 -6
  270. package/lib/sublet/services/SubletService.js +0 -52
  271. package/lib/summer-house/SummerHouseFeatures.js +0 -25
  272. package/lib/summer-house/data/SummerHouseAmenities.js +0 -8
  273. package/lib/team/TeamSection.js +0 -35
  274. package/lib/team/card/TeamCard.js +0 -38
  275. package/lib/team/card/TeamCardSkeleton.js +0 -25
  276. package/lib/team/data/TeamMember.js +0 -6
  277. package/lib/team/service/TeamService.js +0 -13
  278. package/lib/types/ga-gtag.d.js +0 -2
  279. package/lib/unit/card/UnitCard.js +0 -140
  280. package/lib/unit/data/Unit.js +0 -26
  281. package/lib/unit/data/UnitFilters.js +0 -6
  282. package/lib/unit/section/UnitHero.js +0 -234
  283. package/lib/unit/section/UnitPrice.js +0 -41
  284. package/lib/unit/section/UnitSection.js +0 -211
  285. package/lib/unit/section/UnitsHeader.js +0 -214
  286. package/lib/unit/section/UnitsSection.js +0 -87
  287. package/lib/unit/service/UnitService.js +0 -177
  288. package/lib/utils/PrettyPrintJson.js +0 -16
  289. package/lib/utils/Utils.js +0 -155
  290. package/lib/video/Video.js +0 -76
  291. package/lib/video/data/VideoAsset.js +0 -6
  292. /package/lib/heading/assets/{HeadingStory.scss → HeadingStory.css} +0 -0
@@ -1,212 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.FloorplanSection = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _Floorplan = require("../data/Floorplan");
9
- var _FloorplanService = require("../service/FloorplanService");
10
- require("./assets/FloorplanSection.scss");
11
- var _GridGallerySkeleton = require("../../gallery/GridGallerySkeleton");
12
- var _FloorplanHero = require("./FloorplanHero");
13
- var _Utils = require("../../utils/Utils");
14
- var _Card = require("../../card/Card");
15
- var _TestimonialsCard = require("../card/TestimonialsCard");
16
- var _MapSection = require("../../map/MapSection");
17
- var _SimilarFloorplanCard = require("../card/SimilarFloorplanCard");
18
- var _muncherUi = require("@contentmunch/muncher-ui");
19
- var _moment = _interopRequireDefault(require("moment"));
20
- var _Property = require("../../property/data/Property");
21
- var _ShortTermFloorplanSection = require("../../short-term/ShortTermFloorplanSection");
22
- var _FaqsCard = require("../../faq/FaqsCard");
23
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
- 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); }
25
- 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; }
26
- const FloorplanSection = _ref => {
27
- var _floorplan$property, _floorplan$property2;
28
- let {
29
- contactClickHandler,
30
- applyClickHandler,
31
- floorplanId,
32
- locationRef,
33
- handleRefToLocation,
34
- handleHtmlTitleUpdate
35
- } = _ref;
36
- const [floorplan, setFloorplan] = (0, _react.useState)({});
37
- const [similarFloorplans, setSimilarFloorplans] = (0, _react.useState)([]);
38
- const [floorplanVariations, setFloorplanVariations] = (0, _react.useState)([]);
39
- const [testimonials, setTestimonials] = (0, _react.useState)([]);
40
- const [webSpecials, setWebSpecials] = (0, _react.useState)([]);
41
- const [floorplanFaqs, setFloorplanFaqs] = (0, _react.useState)([]);
42
- const [isLoading, setIsLoading] = (0, _react.useState)(true);
43
- const [errorLoading, setErrorLoading] = (0, _react.useState)(false);
44
- const mapRef = (0, _react.useRef)(null);
45
- const handleRefToMap = () => {
46
- if (handleRefToLocation) handleRefToLocation();else {
47
- var _mapRef$current;
48
- (_mapRef$current = mapRef.current) === null || _mapRef$current === void 0 || _mapRef$current.scrollIntoView({
49
- behavior: "smooth",
50
- block: "start"
51
- });
52
- }
53
- };
54
- (0, _react.useEffect)(() => {
55
- (0, _FloorplanService.getFloorplan)(floorplanId).then(floorplanData => {
56
- setFloorplan(floorplanData);
57
- if (handleHtmlTitleUpdate) {
58
- handleHtmlTitleUpdate(floorplanData.htmlTitle);
59
- }
60
- if (_Property.LeaseType.SHORT_TERM === floorplanData.property.leaseType) {
61
- setIsLoading(false);
62
- } else {
63
- Promise.all([(0, _FloorplanService.getFloorplanVariations)(floorplanId), (0, _FloorplanService.getSimilarFloorplans)(floorplanId), (0, _FloorplanService.getTestimonials)(floorplanId), (0, _FloorplanService.getWebSpecials)(floorplanId), (0, _FloorplanService.getFloorplanFaqs)(floorplanId)]).then(data => {
64
- const today = (0, _moment.default)();
65
- setFloorplanVariations(data[0]);
66
- setSimilarFloorplans(data[1]);
67
- setTestimonials(data[2]);
68
- const validWebSpecials = [];
69
- data[3].forEach(webSpecial => {
70
- if ((0, _Utils.dateToMoment)(webSpecial.startDate).isBefore(today) && (0, _Utils.dateToMoment)(webSpecial.endDate).isAfter(today)) {
71
- validWebSpecials.push(webSpecial);
72
- }
73
- });
74
- setWebSpecials(validWebSpecials);
75
- setFloorplanFaqs(data[4].sort((a, b) => a.sortOrder - b.sortOrder));
76
- }).catch(() => {
77
- setErrorLoading(true);
78
- }).finally(() => {
79
- setIsLoading(false);
80
- });
81
- }
82
- }).catch(() => {
83
- setErrorLoading(true);
84
- setIsLoading(false);
85
- });
86
- }, [floorplanId]);
87
- const availableDates = () => {
88
- const sortAvailableDates = (a, b) => (0, _moment.default)(a, _FloorplanService.MONTH_YEAR_FORMAT).diff((0, _moment.default)(b, _FloorplanService.MONTH_YEAR_FORMAT));
89
- const dates = new Set();
90
- const today = (0, _moment.default)();
91
- const tomorrow = today.add(1, "day");
92
- const isAvailableNow = moveInDate => moveInDate.isBefore(tomorrow);
93
- floorplan.units.forEach(unit => {
94
- const moveInDate = (0, _Utils.dateToMoment)(unit.moveInDate);
95
- if (isAvailableNow(moveInDate)) {
96
- dates.add(today.format(_FloorplanService.MONTH_YEAR_FORMAT));
97
- if (unit.availabilityExtensionMonths && unit.availabilityExtensionMonths > 0) {
98
- for (let i = 1; i <= unit.availabilityExtensionMonths; i++) {
99
- let extensionDate = (0, _moment.default)().add(i, 'month');
100
- dates.add(extensionDate.format(_FloorplanService.MONTH_YEAR_FORMAT));
101
- }
102
- }
103
- } else {
104
- dates.add(moveInDate.format(_FloorplanService.MONTH_YEAR_FORMAT));
105
- if (unit.availabilityExtensionMonths && unit.availabilityExtensionMonths > 0) {
106
- for (let i = 1; i <= unit.availabilityExtensionMonths; i++) {
107
- let extensionDate = (0, _Utils.dateToMoment)(unit.moveInDate).add(i, 'month');
108
- dates.add(extensionDate.format(_FloorplanService.MONTH_YEAR_FORMAT));
109
- }
110
- }
111
- }
112
- });
113
- return Array.from(dates).sort(sortAvailableDates);
114
- };
115
- const residentUtilityDetails = utility => utility.averageMonthlyBill ? (0, _Utils.capitalizeFirstLetter)(utility.name) + " - Avg/Mo " + (0, _Utils.toUSD)(utility.averageMonthlyBill) : (0, _Utils.capitalizeFirstLetter)(utility.name);
116
- const isAverageMonthlyBillPresent = () => floorplan.utilities.filter(utility => utility.type === _Floorplan.UtilityType.RESIDENT_UTILITY).some(utility => utility.averageMonthlyBill != null);
117
- const isWithinTwelveMonths = date => {
118
- const current = (0, _moment.default)(date, "MMM YYYY");
119
- const twelveMonthsFromNow = (0, _moment.default)().add(1, "year");
120
- return current.isBefore(twelveMonthsFromNow);
121
- };
122
- return _Property.LeaseType.SHORT_TERM === ((_floorplan$property = floorplan.property) === null || _floorplan$property === void 0 ? void 0 : _floorplan$property.leaseType) ? /*#__PURE__*/_react.default.createElement(_ShortTermFloorplanSection.ShortTermFloorplanSection, {
123
- contactClickHandler: contactClickHandler,
124
- applyClickHandler: applyClickHandler,
125
- floorplanId: floorplanId
126
- }) : /*#__PURE__*/_react.default.createElement("section", {
127
- className: "section-floorplan"
128
- }, isLoading ? /*#__PURE__*/_react.default.createElement("section", {
129
- className: "section-floorplan--hero"
130
- }, /*#__PURE__*/_react.default.createElement(_GridGallerySkeleton.GridGallerySkeleton, null)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, errorLoading ? /*#__PURE__*/_react.default.createElement("section", {
131
- className: "div-full--center"
132
- }, /*#__PURE__*/_react.default.createElement("h2", null, "Uh-oh, this is a 404")) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_FloorplanHero.FloorplanHero, {
133
- floorplan: floorplan,
134
- contactClickHandler: contactClickHandler,
135
- webSpecials: webSpecials,
136
- applyClickHandler: applyClickHandler,
137
- handleRefToMap: handleRefToMap
138
- }), /*#__PURE__*/_react.default.createElement("div", {
139
- className: "container"
140
- }, /*#__PURE__*/_react.default.createElement("div", {
141
- className: "floorplan--cards"
142
- }, /*#__PURE__*/_react.default.createElement(_Card.Card, {
143
- title: "Details"
144
- }, /*#__PURE__*/_react.default.createElement("p", {
145
- className: "floorplan-card--featured"
146
- }, floorplan.bedroom, " Bedroom | ", floorplan.bathroom, " Bathroom ", (0, _Utils.enumToString)(floorplan.style)), floorplan.units.length > 0 ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", {
147
- className: "floorplan-card--featured"
148
- }, (0, _Utils.rangeFrom)(floorplan.units, "squareFoot"), " Square Feet"), /*#__PURE__*/_react.default.createElement("p", {
149
- className: "floorplan-card--featured"
150
- }, "$", (0, _Utils.rangeFrom)(floorplan.units, "rent"), "/mo"), /*#__PURE__*/_react.default.createElement("p", {
151
- className: "floorplan-card--featured"
152
- }, "$", (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, {
153
- title: "Amenities"
154
- }, /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, floorplan.amenities.filter(amenity => amenity.featured).map(amenity => /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
155
- key: "floorplan-amenity-" + amenity.id,
156
- bulletIcon: "star",
157
- isFeatured: true
158
- }, amenity.name)), floorplan.amenities.filter(amenity => !amenity.featured).map(amenity => /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
159
- key: "floorplan-amenity-" + amenity.id,
160
- bulletIcon: "dot"
161
- }, 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, {
162
- key: "floorplan-variation-" + i
163
- }, variation.variation)))) : "") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), testimonials.length > 0 ? /*#__PURE__*/_react.default.createElement(_TestimonialsCard.TestimonialsCard, {
164
- testimonials: testimonials
165
- }) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_Card.Card, {
166
- title: "Pets"
167
- }, /*#__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, {
168
- key: "floorplan-permitted-pet-" + i,
169
- bulletIcon: "check",
170
- bulletColor: "green"
171
- }, 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, {
172
- key: "floorplan-not-permitted-pet-" + i,
173
- bulletColor: "brown",
174
- bulletIcon: "close"
175
- }, 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, {
176
- title: "Availability"
177
- }, /*#__PURE__*/_react.default.createElement(_muncherUi.Ul, null, availableDates().filter(availableDate => isWithinTwelveMonths(availableDate)).map(availableDate => /*#__PURE__*/_react.default.createElement(_muncherUi.Li, {
178
- key: "floorplan-unit-availability-" + availableDate,
179
- bulletIcon: "calendar"
180
- }, "Available in ", /*#__PURE__*/_react.default.createElement("strong", null, (0, _Utils.capitalizeFirstLetter)(availableDate)))))), /*#__PURE__*/_react.default.createElement(_Card.Card, {
181
- title: "Utilities"
182
- }, /*#__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, {
183
- key: "floorplan-included-utility-" + utility.id,
184
- bulletIcon: "home"
185
- }, (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, {
186
- key: "floorplan-resident-utility-" + utility.id,
187
- bulletIcon: "dollar"
188
- }, 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, {
189
- similarFloorplans: similarFloorplans
190
- }) : "", floorplanFaqs.length > 0 ? /*#__PURE__*/_react.default.createElement(_FaqsCard.FaqsCard, {
191
- faqs: floorplanFaqs,
192
- title: "Frequently Asked Questions"
193
- }) : "", /*#__PURE__*/_react.default.createElement("div", {
194
- className: "contact-card"
195
- }, /*#__PURE__*/_react.default.createElement(_Card.Card, {
196
- featured: true
197
- }, /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("i", null, "Questions?")), /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("i", null, "Call or text us anytime:")), (_floorplan$property2 = floorplan.property) !== null && _floorplan$property2 !== void 0 && _floorplan$property2.phone ? /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("a", {
198
- href: "tel:" + floorplan.property.phone
199
- }, (0, _Utils.formatPhoneNumber)(floorplan.property.phone))) : "", /*#__PURE__*/_react.default.createElement(_muncherUi.Button, {
200
- variant: "tertiary",
201
- onClick: contactClickHandler,
202
- size: "large"
203
- }, "Contact Us \xBB")))), /*#__PURE__*/_react.default.createElement(_Card.Card, null, /*#__PURE__*/_react.default.createElement("div", {
204
- ref: locationRef ? locationRef : mapRef,
205
- id: "location",
206
- className: "reference"
207
- }), /*#__PURE__*/_react.default.createElement(_MapSection.MapSection, {
208
- src: (0, _Utils.floorplanAddressToGoogleMap)((0, _FloorplanService.addressFromFloorplan)(floorplan))
209
- }))))));
210
- };
211
- exports.FloorplanSection = FloorplanSection;
212
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRmxvb3JwbGFuIiwiX0Zsb29ycGxhblNlcnZpY2UiLCJfR3JpZEdhbGxlcnlTa2VsZXRvbiIsIl9GbG9vcnBsYW5IZXJvIiwiX1V0aWxzIiwiX0NhcmQiLCJfVGVzdGltb25pYWxzQ2FyZCIsIl9NYXBTZWN0aW9uIiwiX1NpbWlsYXJGbG9vcnBsYW5DYXJkIiwiX211bmNoZXJVaSIsIl9tb21lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Byb3BlcnR5IiwiX1Nob3J0VGVybUZsb29ycGxhblNlY3Rpb24iLCJfRmFxc0NhcmQiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJGbG9vcnBsYW5TZWN0aW9uIiwiX3JlZiIsIl9mbG9vcnBsYW4kcHJvcGVydHkiLCJfZmxvb3JwbGFuJHByb3BlcnR5MiIsImNvbnRhY3RDbGlja0hhbmRsZXIiLCJhcHBseUNsaWNrSGFuZGxlciIsImZsb29ycGxhbklkIiwibG9jYXRpb25SZWYiLCJoYW5kbGVSZWZUb0xvY2F0aW9uIiwiaGFuZGxlSHRtbFRpdGxlVXBkYXRlIiwiZmxvb3JwbGFuIiwic2V0Rmxvb3JwbGFuIiwidXNlU3RhdGUiLCJzaW1pbGFyRmxvb3JwbGFucyIsInNldFNpbWlsYXJGbG9vcnBsYW5zIiwiZmxvb3JwbGFuVmFyaWF0aW9ucyIsInNldEZsb29ycGxhblZhcmlhdGlvbnMiLCJ0ZXN0aW1vbmlhbHMiLCJzZXRUZXN0aW1vbmlhbHMiLCJ3ZWJTcGVjaWFscyIsInNldFdlYlNwZWNpYWxzIiwiZmxvb3JwbGFuRmFxcyIsInNldEZsb29ycGxhbkZhcXMiLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJlcnJvckxvYWRpbmciLCJzZXRFcnJvckxvYWRpbmciLCJtYXBSZWYiLCJ1c2VSZWYiLCJoYW5kbGVSZWZUb01hcCIsIl9tYXBSZWYkY3VycmVudCIsImN1cnJlbnQiLCJzY3JvbGxJbnRvVmlldyIsImJlaGF2aW9yIiwiYmxvY2siLCJ1c2VFZmZlY3QiLCJnZXRGbG9vcnBsYW4iLCJ0aGVuIiwiZmxvb3JwbGFuRGF0YSIsImh0bWxUaXRsZSIsIkxlYXNlVHlwZSIsIlNIT1JUX1RFUk0iLCJwcm9wZXJ0eSIsImxlYXNlVHlwZSIsIlByb21pc2UiLCJhbGwiLCJnZXRGbG9vcnBsYW5WYXJpYXRpb25zIiwiZ2V0U2ltaWxhckZsb29ycGxhbnMiLCJnZXRUZXN0aW1vbmlhbHMiLCJnZXRXZWJTcGVjaWFscyIsImdldEZsb29ycGxhbkZhcXMiLCJkYXRhIiwidG9kYXkiLCJtb21lbnQiLCJ2YWxpZFdlYlNwZWNpYWxzIiwiZm9yRWFjaCIsIndlYlNwZWNpYWwiLCJkYXRlVG9Nb21lbnQiLCJzdGFydERhdGUiLCJpc0JlZm9yZSIsImVuZERhdGUiLCJpc0FmdGVyIiwicHVzaCIsInNvcnQiLCJiIiwic29ydE9yZGVyIiwiY2F0Y2giLCJmaW5hbGx5IiwiYXZhaWxhYmxlRGF0ZXMiLCJzb3J0QXZhaWxhYmxlRGF0ZXMiLCJNT05USF9ZRUFSX0ZPUk1BVCIsImRpZmYiLCJkYXRlcyIsIlNldCIsInRvbW9ycm93IiwiYWRkIiwiaXNBdmFpbGFibGVOb3ciLCJtb3ZlSW5EYXRlIiwidW5pdHMiLCJ1bml0IiwiZm9ybWF0IiwiYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzIiwiZXh0ZW5zaW9uRGF0ZSIsIkFycmF5IiwiZnJvbSIsInJlc2lkZW50VXRpbGl0eURldGFpbHMiLCJ1dGlsaXR5IiwiYXZlcmFnZU1vbnRobHlCaWxsIiwiY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwibmFtZSIsInRvVVNEIiwiaXNBdmVyYWdlTW9udGhseUJpbGxQcmVzZW50IiwidXRpbGl0aWVzIiwiZmlsdGVyIiwidHlwZSIsIlV0aWxpdHlUeXBlIiwiUkVTSURFTlRfVVRJTElUWSIsInNvbWUiLCJpc1dpdGhpblR3ZWx2ZU1vbnRocyIsImRhdGUiLCJ0d2VsdmVNb250aHNGcm9tTm93IiwiY3JlYXRlRWxlbWVudCIsIlNob3J0VGVybUZsb29ycGxhblNlY3Rpb24iLCJjbGFzc05hbWUiLCJHcmlkR2FsbGVyeVNrZWxldG9uIiwiRnJhZ21lbnQiLCJGbG9vcnBsYW5IZXJvIiwiQ2FyZCIsInRpdGxlIiwiYmVkcm9vbSIsImJhdGhyb29tIiwiZW51bVRvU3RyaW5nIiwic3R5bGUiLCJsZW5ndGgiLCJyYW5nZUZyb20iLCJkZXNjcmlwdGlvbiIsImFtZW5pdGllcyIsIlVsIiwiYW1lbml0eSIsImZlYXR1cmVkIiwibWFwIiwiTGkiLCJrZXkiLCJpZCIsImJ1bGxldEljb24iLCJpc0ZlYXR1cmVkIiwidmFyaWF0aW9uIiwiVGVzdGltb25pYWxzQ2FyZCIsInBlcm1pdHRlZFBldHMiLCJwZXQiLCJidWxsZXRDb2xvciIsIm5vdFBlcm1pdHRlZFBldHMiLCJwZXRQb2xpY3kiLCJhdmFpbGFibGVEYXRlIiwiSU5DTFVERURfVVRJTElUWSIsIlNpbWlsYXJGbG9vcnBsYW5DYXJkIiwiRmFxc0NhcmQiLCJmYXFzIiwicGhvbmUiLCJocmVmIiwiZm9ybWF0UGhvbmVOdW1iZXIiLCJCdXR0b24iLCJ2YXJpYW50Iiwib25DbGljayIsInNpemUiLCJyZWYiLCJNYXBTZWN0aW9uIiwic3JjIiwiZmxvb3JwbGFuQWRkcmVzc1RvR29vZ2xlTWFwIiwiYWRkcmVzc0Zyb21GbG9vcnBsYW4iLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zsb29ycGxhbi9zZWN0aW9uL0Zsb29ycGxhblNlY3Rpb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZX0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICAgIEZsb29ycGxhbixcbiAgICBGbG9vcnBsYW5GYXEsXG4gICAgRmxvb3JwbGFuVmFyaWF0aW9uLFxuICAgIFNpbWlsYXJGbG9vcnBsYW4sXG4gICAgVGVzdGltb25pYWwsXG4gICAgVXRpbGl0eU5hbWUsXG4gICAgVXRpbGl0eVR5cGUsXG4gICAgV2ViU3BlY2lhbFxufSBmcm9tIFwiLi4vZGF0YS9GbG9vcnBsYW5cIjtcbmltcG9ydCB7XG4gICAgYWRkcmVzc0Zyb21GbG9vcnBsYW4sXG4gICAgZ2V0Rmxvb3JwbGFuLFxuICAgIGdldEZsb29ycGxhbkZhcXMsXG4gICAgZ2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyxcbiAgICBnZXRTaW1pbGFyRmxvb3JwbGFucyxcbiAgICBnZXRUZXN0aW1vbmlhbHMsXG4gICAgZ2V0V2ViU3BlY2lhbHMsXG4gICAgTU9OVEhfWUVBUl9GT1JNQVQsXG4gICAgbm90UGVybWl0dGVkUGV0cyxcbiAgICBwZXJtaXR0ZWRQZXRzLFxuICAgIHBldFBvbGljeVxufSBmcm9tIFwiLi4vc2VydmljZS9GbG9vcnBsYW5TZXJ2aWNlXCI7XG5pbXBvcnQgXCIuL2Fzc2V0cy9GbG9vcnBsYW5TZWN0aW9uLnNjc3NcIjtcbmltcG9ydCB7R3JpZEdhbGxlcnlTa2VsZXRvbn0gZnJvbSBcIi4uLy4uL2dhbGxlcnkvR3JpZEdhbGxlcnlTa2VsZXRvblwiO1xuaW1wb3J0IHtGbG9vcnBsYW5IZXJvfSBmcm9tIFwiLi9GbG9vcnBsYW5IZXJvXCI7XG5pbXBvcnQge1xuICAgIGNhcGl0YWxpemVGaXJzdExldHRlcixcbiAgICBkYXRlVG9Nb21lbnQsXG4gICAgZW51bVRvU3RyaW5nLFxuICAgIGZsb29ycGxhbkFkZHJlc3NUb0dvb2dsZU1hcCxcbiAgICBmb3JtYXRQaG9uZU51bWJlcixcbiAgICByYW5nZUZyb20sXG4gICAgdG9VU0Rcbn0gZnJvbSBcIi4uLy4uL3V0aWxzL1V0aWxzXCI7XG5pbXBvcnQge0NhcmR9IGZyb20gXCIuLi8uLi9jYXJkL0NhcmRcIjtcbmltcG9ydCB7VGVzdGltb25pYWxzQ2FyZH0gZnJvbSBcIi4uL2NhcmQvVGVzdGltb25pYWxzQ2FyZFwiO1xuaW1wb3J0IHtNYXBTZWN0aW9ufSBmcm9tIFwiLi4vLi4vbWFwL01hcFNlY3Rpb25cIjtcbmltcG9ydCB7U2ltaWxhckZsb29ycGxhbkNhcmR9IGZyb20gXCIuLi9jYXJkL1NpbWlsYXJGbG9vcnBsYW5DYXJkXCI7XG5pbXBvcnQge0J1dHRvbiwgTGksIFVsfSBmcm9tIFwiQGNvbnRlbnRtdW5jaC9tdW5jaGVyLXVpXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7TGVhc2VUeXBlfSBmcm9tIFwiLi4vLi4vcHJvcGVydHkvZGF0YS9Qcm9wZXJ0eVwiO1xuaW1wb3J0IHtTaG9ydFRlcm1GbG9vcnBsYW5TZWN0aW9ufSBmcm9tIFwiLi4vLi4vc2hvcnQtdGVybS9TaG9ydFRlcm1GbG9vcnBsYW5TZWN0aW9uXCI7XG5pbXBvcnQge0ZhcXNDYXJkfSBmcm9tIFwiLi4vLi4vZmFxL0ZhcXNDYXJkXCI7XG5cbmV4cG9ydCBjb25zdCBGbG9vcnBsYW5TZWN0aW9uOiBSZWFjdC5GQzxGbG9vcnBsYW5TZWN0aW9uUHJvcHM+ID0gKFxuICAgIHtcbiAgICAgICAgY29udGFjdENsaWNrSGFuZGxlcixcbiAgICAgICAgYXBwbHlDbGlja0hhbmRsZXIsXG4gICAgICAgIGZsb29ycGxhbklkLFxuICAgICAgICBsb2NhdGlvblJlZixcbiAgICAgICAgaGFuZGxlUmVmVG9Mb2NhdGlvbixcbiAgICAgICAgaGFuZGxlSHRtbFRpdGxlVXBkYXRlXG4gICAgfSkgPT4ge1xuICAgIGNvbnN0IFtmbG9vcnBsYW4sIHNldEZsb29ycGxhbl0gPSB1c2VTdGF0ZTxGbG9vcnBsYW4+KHt9IGFzIEZsb29ycGxhbik7XG4gICAgY29uc3QgW3NpbWlsYXJGbG9vcnBsYW5zLCBzZXRTaW1pbGFyRmxvb3JwbGFuc10gPSB1c2VTdGF0ZTxTaW1pbGFyRmxvb3JwbGFuW10+KFtdKTtcbiAgICBjb25zdCBbZmxvb3JwbGFuVmFyaWF0aW9ucywgc2V0Rmxvb3JwbGFuVmFyaWF0aW9uc10gPSB1c2VTdGF0ZTxGbG9vcnBsYW5WYXJpYXRpb25bXT4oW10pO1xuICAgIGNvbnN0IFt0ZXN0aW1vbmlhbHMsIHNldFRlc3RpbW9uaWFsc10gPSB1c2VTdGF0ZTxUZXN0aW1vbmlhbFtdPihbXSk7XG4gICAgY29uc3QgW3dlYlNwZWNpYWxzLCBzZXRXZWJTcGVjaWFsc10gPSB1c2VTdGF0ZTxXZWJTcGVjaWFsW10+KFtdKTtcbiAgICBjb25zdCBbZmxvb3JwbGFuRmFxcywgc2V0Rmxvb3JwbGFuRmFxc10gPSB1c2VTdGF0ZTxGbG9vcnBsYW5GYXFbXT4oW10pO1xuXG4gICAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFtlcnJvckxvYWRpbmcsIHNldEVycm9yTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICBjb25zdCBtYXBSZWY6IFJlYWN0LlJlZjxIVE1MRGl2RWxlbWVudD4gPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IGhhbmRsZVJlZlRvTWFwID0gKCkgPT4ge1xuICAgICAgICBpZiAoaGFuZGxlUmVmVG9Mb2NhdGlvbilcbiAgICAgICAgICAgIGhhbmRsZVJlZlRvTG9jYXRpb24oKTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBtYXBSZWYuY3VycmVudD8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgICAgICAgIGJlaGF2aW9yOiBcInNtb290aFwiLFxuICAgICAgICAgICAgICAgIGJsb2NrOiBcInN0YXJ0XCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBnZXRGbG9vcnBsYW4oZmxvb3JwbGFuSWQpLnRoZW4oZmxvb3JwbGFuRGF0YSA9PiB7XG4gICAgICAgICAgICBzZXRGbG9vcnBsYW4oZmxvb3JwbGFuRGF0YSk7XG5cbiAgICAgICAgICAgIGlmIChoYW5kbGVIdG1sVGl0bGVVcGRhdGUpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVIdG1sVGl0bGVVcGRhdGUoZmxvb3JwbGFuRGF0YS5odG1sVGl0bGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoTGVhc2VUeXBlLlNIT1JUX1RFUk0gPT09IGZsb29ycGxhbkRhdGEucHJvcGVydHkubGVhc2VUeXBlKSB7XG4gICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICAgICAgICBnZXRGbG9vcnBsYW5WYXJpYXRpb25zKGZsb29ycGxhbklkKSxcbiAgICAgICAgICAgICAgICAgICAgZ2V0U2ltaWxhckZsb29ycGxhbnMoZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgICAgICAgICBnZXRUZXN0aW1vbmlhbHMoZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgICAgICAgICBnZXRXZWJTcGVjaWFscyhmbG9vcnBsYW5JZCksXG4gICAgICAgICAgICAgICAgICAgIGdldEZsb29ycGxhbkZhcXMoZmxvb3JwbGFuSWQpLFxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b2RheSA9IG1vbWVudCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0Rmxvb3JwbGFuVmFyaWF0aW9ucyhkYXRhWzBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFNpbWlsYXJGbG9vcnBsYW5zKGRhdGFbMV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGVzdGltb25pYWxzKGRhdGFbMl0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRXZWJTcGVjaWFsczogV2ViU3BlY2lhbFtdID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhWzNdLmZvckVhY2god2ViU3BlY2lhbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGVUb01vbWVudCh3ZWJTcGVjaWFsLnN0YXJ0RGF0ZSkuaXNCZWZvcmUodG9kYXkpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVUb01vbWVudCh3ZWJTcGVjaWFsLmVuZERhdGUpLmlzQWZ0ZXIodG9kYXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkV2ViU3BlY2lhbHMucHVzaCh3ZWJTcGVjaWFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFdlYlNwZWNpYWxzKHZhbGlkV2ViU3BlY2lhbHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0Rmxvb3JwbGFuRmFxcyhkYXRhWzRdLnNvcnQoKGEsIGIpID0+IGEuc29ydE9yZGVyIC0gYi5zb3J0T3JkZXIpKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEVycm9yTG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgIHNldEVycm9yTG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH0pO1xuXG4gICAgfSwgW2Zsb29ycGxhbklkXSk7XG5cbiAgICBjb25zdCBhdmFpbGFibGVEYXRlcyA9ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgIGNvbnN0IHNvcnRBdmFpbGFibGVEYXRlcyA9IChhOiBzdHJpbmcsIGI6IHN0cmluZykgPT4gbW9tZW50KGEsIE1PTlRIX1lFQVJfRk9STUFUKS5kaWZmKG1vbWVudChiLCBNT05USF9ZRUFSX0ZPUk1BVCkpO1xuICAgICAgICBjb25zdCBkYXRlcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgICAgICBjb25zdCB0b2RheSA9IG1vbWVudCgpO1xuXG4gICAgICAgIGNvbnN0IHRvbW9ycm93ID0gdG9kYXkuYWRkKDEsIFwiZGF5XCIpO1xuICAgICAgICBjb25zdCBpc0F2YWlsYWJsZU5vdyA9IChtb3ZlSW5EYXRlOiBtb21lbnQuTW9tZW50KSA9PiBtb3ZlSW5EYXRlLmlzQmVmb3JlKHRvbW9ycm93KTtcblxuICAgICAgICBmbG9vcnBsYW4udW5pdHMuZm9yRWFjaCh1bml0ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vdmVJbkRhdGUgPSBkYXRlVG9Nb21lbnQodW5pdC5tb3ZlSW5EYXRlKTtcbiAgICAgICAgICAgIGlmIChpc0F2YWlsYWJsZU5vdyhtb3ZlSW5EYXRlKSkge1xuICAgICAgICAgICAgICAgIGRhdGVzLmFkZCh0b2RheS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpKTtcbiAgICAgICAgICAgICAgICBpZiAodW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMgJiYgdW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHMgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IHVuaXQuYXZhaWxhYmlsaXR5RXh0ZW5zaW9uTW9udGhzOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBleHRlbnNpb25EYXRlID0gbW9tZW50KCkuYWRkKGksICdtb250aCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXMuYWRkKGV4dGVuc2lvbkRhdGUuZm9ybWF0KE1PTlRIX1lFQVJfRk9STUFUKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRhdGVzLmFkZChtb3ZlSW5EYXRlLmZvcm1hdChNT05USF9ZRUFSX0ZPUk1BVCkpO1xuICAgICAgICAgICAgICAgIGlmICh1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyAmJiB1bml0LmF2YWlsYWJpbGl0eUV4dGVuc2lvbk1vbnRocyA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdW5pdC5hdmFpbGFiaWxpdHlFeHRlbnNpb25Nb250aHM7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGV4dGVuc2lvbkRhdGUgPSBkYXRlVG9Nb21lbnQodW5pdC5tb3ZlSW5EYXRlKS5hZGQoaSwgJ21vbnRoJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRlcy5hZGQoZXh0ZW5zaW9uRGF0ZS5mb3JtYXQoTU9OVEhfWUVBUl9GT1JNQVQpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShkYXRlcykuc29ydChzb3J0QXZhaWxhYmxlRGF0ZXMpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc2lkZW50VXRpbGl0eURldGFpbHMgPSAodXRpbGl0eTogVXRpbGl0eU5hbWUpID0+XG4gICAgICAgIHV0aWxpdHkuYXZlcmFnZU1vbnRobHlCaWxsID9cbiAgICAgICAgICAgIGNhcGl0YWxpemVGaXJzdExldHRlcih1dGlsaXR5Lm5hbWUpICsgXCIgLSBBdmcvTW8gXCIgKyB0b1VTRCh1dGlsaXR5LmF2ZXJhZ2VNb250aGx5QmlsbClcbiAgICAgICAgICAgIDogY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHV0aWxpdHkubmFtZSk7XG5cbiAgICBjb25zdCBpc0F2ZXJhZ2VNb250aGx5QmlsbFByZXNlbnQgPSAoKSA9PiBmbG9vcnBsYW4udXRpbGl0aWVzLmZpbHRlcih1dGlsaXR5ID0+IHV0aWxpdHkudHlwZSA9PT0gVXRpbGl0eVR5cGUuUkVTSURFTlRfVVRJTElUWSkuc29tZSh1dGlsaXR5ID0+IHV0aWxpdHkuYXZlcmFnZU1vbnRobHlCaWxsICE9IG51bGwpO1xuXG5cbiAgICBjb25zdCBpc1dpdGhpblR3ZWx2ZU1vbnRocyA9IChkYXRlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IG1vbWVudChkYXRlLCBcIk1NTSBZWVlZXCIpO1xuICAgICAgICBjb25zdCB0d2VsdmVNb250aHNGcm9tTm93ID0gbW9tZW50KCkuYWRkKDEsIFwieWVhclwiKTtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnQuaXNCZWZvcmUodHdlbHZlTW9udGhzRnJvbU5vdyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgTGVhc2VUeXBlLlNIT1JUX1RFUk0gPT09IGZsb29ycGxhbi5wcm9wZXJ0eT8ubGVhc2VUeXBlID9cbiAgICAgICAgICAgIDxTaG9ydFRlcm1GbG9vcnBsYW5TZWN0aW9uIGNvbnRhY3RDbGlja0hhbmRsZXI9e2NvbnRhY3RDbGlja0hhbmRsZXJ9IGFwcGx5Q2xpY2tIYW5kbGVyPXthcHBseUNsaWNrSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbklkPXtmbG9vcnBsYW5JZH0vPiA6XG4gICAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJzZWN0aW9uLWZsb29ycGxhblwiPlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaXNMb2FkaW5nID8gPHNlY3Rpb24gY2xhc3NOYW1lPVwic2VjdGlvbi1mbG9vcnBsYW4tLWhlcm9cIj48R3JpZEdhbGxlcnlTa2VsZXRvbi8+PC9zZWN0aW9uPiA6IDw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZXJyb3JMb2FkaW5nID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJkaXYtZnVsbC0tY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5VaC1vaCwgdGhpcyBpcyBhIDQwNDwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZsb29ycGxhbkhlcm8gZmxvb3JwbGFuPXtmbG9vcnBsYW59IGNvbnRhY3RDbGlja0hhbmRsZXI9e2NvbnRhY3RDbGlja0hhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYlNwZWNpYWxzPXt3ZWJTcGVjaWFsc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbHlDbGlja0hhbmRsZXI9e2FwcGx5Q2xpY2tIYW5kbGVyfSBoYW5kbGVSZWZUb01hcD17aGFuZGxlUmVmVG9NYXB9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFuLS1jYXJkc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDYXJkIHRpdGxlPVwiRGV0YWlsc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY2FyZC0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW4uYmVkcm9vbX0gQmVkcm9vbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB7Zmxvb3JwbGFuLmJhdGhyb29tfSBCYXRocm9vbSB7ZW51bVRvU3RyaW5nKGZsb29ycGxhbi5zdHlsZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi51bml0cy5sZW5ndGggPiAwID8gPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi1jYXJkLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyYW5nZUZyb20oZmxvb3JwbGFuLnVuaXRzLCBcInNxdWFyZUZvb3RcIil9IFNxdWFyZSBGZWV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJmbG9vcnBsYW4tY2FyZC0tZmVhdHVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3JhbmdlRnJvbShmbG9vcnBsYW4udW5pdHMsIFwicmVudFwiKX0vbW9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImZsb29ycGxhbi1jYXJkLS1mZWF0dXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cmFuZ2VGcm9tKGZsb29ycGxhbi51bml0cywgXCJkZXBvc2l0XCIpfSBTZWN1cml0eSBEZXBvc2l0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi5hbWVuaXRpZXMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIkFtZW5pdGllc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuLmFtZW5pdGllcy5maWx0ZXIoYW1lbml0eSA9PiBhbWVuaXR5LmZlYXR1cmVkKS5tYXAoYW1lbml0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLWFtZW5pdHktXCIgKyBhbWVuaXR5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRJY29uPVwic3RhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRmVhdHVyZWQ9e3RydWV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7YW1lbml0eS5uYW1lfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi5hbWVuaXRpZXMuZmlsdGVyKGFtZW5pdHkgPT4gIWFtZW5pdHkuZmVhdHVyZWQpLm1hcChhbWVuaXR5ID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tYW1lbml0eS1cIiArIGFtZW5pdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldEljb249XCJkb3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2FtZW5pdHkubmFtZX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuVmFyaWF0aW9ucy5sZW5ndGggPiAwID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1PlZhcmlhdGlvbnM8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3JwbGFuVmFyaWF0aW9ucy5tYXAoKHZhcmlhdGlvbiwgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi12YXJpYXRpb24tXCIgKyBpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhcmlhdGlvbi52YXJpYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPiA6IFwiXCJ9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD4gOiA8PjwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdGltb25pYWxzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRlc3RpbW9uaWFsc0NhcmQgdGVzdGltb25pYWxzPXt0ZXN0aW1vbmlhbHN9Lz4gOiA8PjwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJQZXRzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QZXJtaXR0ZWQ8L2g1PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVybWl0dGVkUGV0cyhmbG9vcnBsYW4pLm1hcCgocGV0LCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGkga2V5PXtcImZsb29ycGxhbi1wZXJtaXR0ZWQtcGV0LVwiICsgaX0gYnVsbGV0SWNvbj1cImNoZWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1bGxldENvbG9yPVwiZ3JlZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvTGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bm90UGVybWl0dGVkUGV0cyhmbG9vcnBsYW4pLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD48aDU+Tm90IFBlcm1pdHRlZDwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RQZXJtaXR0ZWRQZXRzKGZsb29ycGxhbikubWFwKChwZXQsIGkpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tbm90LXBlcm1pdHRlZC1wZXQtXCIgKyBpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRDb2xvcj1cImJyb3duXCIgYnVsbGV0SWNvbj1cImNsb3NlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwZXR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBldFBvbGljeShmbG9vcnBsYW4pID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDU+QWRkaXRpb25hbCBJbmZvcm1hdGlvbjwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPntwZXRQb2xpY3koZmxvb3JwbGFuKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zmxvb3JwbGFuLnVuaXRzLmxlbmd0aCA+IDAgPyA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZCB0aXRsZT1cIkF2YWlsYWJpbGl0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlRGF0ZXMoKS5maWx0ZXIoYXZhaWxhYmxlRGF0ZSA9PiBpc1dpdGhpblR3ZWx2ZU1vbnRocyhhdmFpbGFibGVEYXRlKSkubWFwKGF2YWlsYWJsZURhdGUgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaSBrZXk9e1wiZmxvb3JwbGFuLXVuaXQtYXZhaWxhYmlsaXR5LVwiICsgYXZhaWxhYmxlRGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWxsZXRJY29uPVwiY2FsZW5kYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdmFpbGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiA8c3Ryb25nPntjYXBpdGFsaXplRmlyc3RMZXR0ZXIoYXZhaWxhYmxlRGF0ZSl9PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgdGl0bGU9XCJVdGlsaXRpZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QYWlkIEJ5IExhbmRsb3JkPC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi51dGlsaXRpZXMuZmlsdGVyKHV0aWxpdHkgPT4gdXRpbGl0eS50eXBlID09PSBVdGlsaXR5VHlwZS5JTkNMVURFRF9VVElMSVRZKS5tYXAodXRpbGl0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4taW5jbHVkZWQtdXRpbGl0eS1cIiArIHV0aWxpdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0SWNvbj1cImhvbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHV0aWxpdHkubmFtZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9VbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNT5QYWlkIEJ5IFJlc2lkZW50PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxVbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29ycGxhbi51dGlsaXRpZXMuZmlsdGVyKHV0aWxpdHkgPT4gdXRpbGl0eS50eXBlID09PSBVdGlsaXR5VHlwZS5SRVNJREVOVF9VVElMSVRZKS5tYXAodXRpbGl0eSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPExpIGtleT17XCJmbG9vcnBsYW4tcmVzaWRlbnQtdXRpbGl0eS1cIiArIHV0aWxpdHkuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVsbGV0SWNvbj1cImRvbGxhclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtyZXNpZGVudFV0aWxpdHlEZXRhaWxzKHV0aWxpdHkpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNBdmVyYWdlTW9udGhseUJpbGxQcmVzZW50KCkgPyA8cD48aT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKkF2ZXJhZ2UgdXRpbGl0aWVzIHNob3duIGFib3ZlIGFyZSBhbiBlc3RpbWF0ZS4gQWN0dWFsIG1vbnRobHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29zdHMgY2FuIHZhcnkgc2lnbmlmaWNhbnRseSBiYXNlZCBvbiBpbmRpdmlkdWFsIHVzYWdlLCB0aW1lIG9mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVhcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgd2VhdGhlciwgYW5kIG90aGVyIGZhY3RvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT48L3A+IDogXCJcIn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+IDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2ltaWxhckZsb29ycGxhbnMubGVuZ3RoID4gMCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTaW1pbGFyRmxvb3JwbGFuQ2FyZCBzaW1pbGFyRmxvb3JwbGFucz17c2ltaWxhckZsb29ycGxhbnN9Lz4gOiBcIlwifVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmbG9vcnBsYW5GYXFzLmxlbmd0aCA+IDAgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmFxc0NhcmQgZmFxcz17Zmxvb3JwbGFuRmFxc30gdGl0bGU9XCJGcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9uc1wiLz4gOiBcIlwifVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWN0LWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENhcmQgZmVhdHVyZWQ9e3RydWV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGk+UXVlc3Rpb25zPzwvaT48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48aT5DYWxsIG9yIHRleHQgdXMgYW55dGltZTo8L2k+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zsb29ycGxhbi5wcm9wZXJ0eT8ucGhvbmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e1widGVsOlwiICsgZmxvb3JwbGFuLnByb3BlcnR5LnBob25lfT57Zm9ybWF0UGhvbmVOdW1iZXIoZmxvb3JwbGFuLnByb3BlcnR5LnBob25lKX08L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cInRlcnRpYXJ5XCIgb25DbGljaz17Y29udGFjdENsaWNrSGFuZGxlcn0gc2l6ZT1cImxhcmdlXCI+Q29udGFjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgwrs8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DYXJkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2FyZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHJlZj17bG9jYXRpb25SZWYgPyBsb2NhdGlvblJlZiA6IG1hcFJlZn0gaWQ9XCJsb2NhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyZWZlcmVuY2VcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXBTZWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17Zmxvb3JwbGFuQWRkcmVzc1RvR29vZ2xlTWFwKGFkZHJlc3NGcm9tRmxvb3JwbGFuKGZsb29ycGxhbikpfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NhcmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBGbG9vcnBsYW5TZWN0aW9uUHJvcHMge1xuICAgIGNvbnRhY3RDbGlja0hhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgYXBwbHlDbGlja0hhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgZmxvb3JwbGFuSWQ6IHN0cmluZztcbiAgICBsb2NhdGlvblJlZj86IFJlYWN0LlJlZjxIVE1MRGl2RWxlbWVudD47XG4gICAgaGFuZGxlUmVmVG9Mb2NhdGlvbj86ICgpID0+IHZvaWQ7XG4gICAgaGFuZGxlSHRtbFRpdGxlVXBkYXRlPzogKHRpdGxlOiBzdHJpbmcpID0+IHZvaWQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQVVBLElBQUFFLGlCQUFBLEdBQUFGLE9BQUE7QUFhQUEsT0FBQTtBQUNBLElBQUFHLG9CQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFTQSxJQUFBTSxLQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsV0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMscUJBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFVBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQVosT0FBQTtBQUNBLElBQUFhLFNBQUEsR0FBQWIsT0FBQTtBQUNBLElBQUFjLDBCQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxTQUFBLEdBQUFmLE9BQUE7QUFBNEMsU0FBQVksdUJBQUFJLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFD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
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.FloorplanSectionSkeleton = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- require("./assets/FloorplansSection.scss");
9
- var _FloorplansHeaderSekeleton = require("./FloorplansHeaderSekeleton");
10
- var _FloorplanCardSkeleton = require("../card/FloorplanCardSkeleton");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- const FloorplanSectionSkeleton = _ref => {
13
- let {
14
- isCondensed,
15
- skeletonCount
16
- } = _ref;
17
- return /*#__PURE__*/_react.default.createElement("section", {
18
- className: "section-floorplans"
19
- }, /*#__PURE__*/_react.default.createElement("div", {
20
- className: isCondensed ? "container" : ""
21
- }, /*#__PURE__*/_react.default.createElement(_FloorplansHeaderSekeleton.FloorplansHeaderSkeleton, {
22
- isCondensed: isCondensed
23
- }), /*#__PURE__*/_react.default.createElement("div", {
24
- className: isCondensed ? "" : "container"
25
- }, /*#__PURE__*/_react.default.createElement("div", {
26
- className: "floorplans-body"
27
- }, [...Array(skeletonCount)].map((_, i) => /*#__PURE__*/_react.default.createElement(_FloorplanCardSkeleton.FloorplanCardSkeleton, {
28
- key: i
29
- }))))));
30
- };
31
- exports.FloorplanSectionSkeleton = FloorplanSectionSkeleton;
32
- FloorplanSectionSkeleton.defaultProps = {
33
- isCondensed: true,
34
- skeletonCount: 8
35
- };
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9GbG9vcnBsYW5zSGVhZGVyU2VrZWxldG9uIiwiX0Zsb29ycGxhbkNhcmRTa2VsZXRvbiIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiRmxvb3JwbGFuU2VjdGlvblNrZWxldG9uIiwiX3JlZiIsImlzQ29uZGVuc2VkIiwic2tlbGV0b25Db3VudCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJGbG9vcnBsYW5zSGVhZGVyU2tlbGV0b24iLCJBcnJheSIsIm1hcCIsIl8iLCJpIiwiRmxvb3JwbGFuQ2FyZFNrZWxldG9uIiwia2V5IiwiZXhwb3J0cyIsImRlZmF1bHRQcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mbG9vcnBsYW4vc2VjdGlvbi9GbG9vcnBsYW5TZWN0aW9uU2tlbGV0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBcIi4vYXNzZXRzL0Zsb29ycGxhbnNTZWN0aW9uLnNjc3NcIjtcbmltcG9ydCB7Rmxvb3JwbGFuc0hlYWRlclNrZWxldG9ufSBmcm9tIFwiLi9GbG9vcnBsYW5zSGVhZGVyU2VrZWxldG9uXCI7XG5pbXBvcnQge0Zsb29ycGxhbkNhcmRTa2VsZXRvbn0gZnJvbSBcIi4uL2NhcmQvRmxvb3JwbGFuQ2FyZFNrZWxldG9uXCI7XG5cbmV4cG9ydCBjb25zdCBGbG9vcnBsYW5TZWN0aW9uU2tlbGV0b246IFJlYWN0LkZDPEZsb29ycGxhblNlY3Rpb25Ta2VsZXRvblByb3BzPiA9IChcbiAgICB7XG4gICAgICAgIGlzQ29uZGVuc2VkLCBza2VsZXRvbkNvdW50XG4gICAgfSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNlY3Rpb24tZmxvb3JwbGFuc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2lzQ29uZGVuc2VkID8gXCJjb250YWluZXJcIiA6IFwiXCJ9PlxuICAgICAgICAgICAgICAgIDxGbG9vcnBsYW5zSGVhZGVyU2tlbGV0b24gaXNDb25kZW5zZWQ9e2lzQ29uZGVuc2VkfS8+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17aXNDb25kZW5zZWQgPyBcIlwiIDogXCJjb250YWluZXJcIn0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxvb3JwbGFucy1ib2R5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWy4uLkFycmF5KHNrZWxldG9uQ291bnQpXS5tYXAoKF8sIGkpID0+ICg8Rmxvb3JwbGFuQ2FyZFNrZWxldG9uIGtleT17aX0vPikpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBGbG9vcnBsYW5TZWN0aW9uU2tlbGV0b25Qcm9wcyB7XG4gICAgaXNDb25kZW5zZWQ/OiBib29sZWFuO1xuICAgIHNrZWxldG9uQ291bnQ/OiBudW1iZXI7XG59XG5cbkZsb29ycGxhblNlY3Rpb25Ta2VsZXRvbi5kZWZhdWx0UHJvcHMgPSB7XG4gICAgaXNDb25kZW5zZWQ6IHRydWUsXG4gICAgc2tlbGV0b25Db3VudDogOFxufSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQywwQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsc0JBQUEsR0FBQUYsT0FBQTtBQUFvRSxTQUFBRCx1QkFBQUksR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUU3RCxNQUFNRyx3QkFBaUUsR0FBR0MsSUFBQSxJQUd2RTtFQUFBLElBRk47SUFDSUMsV0FBVztJQUFFQztFQUNqQixDQUFDLEdBQUFGLElBQUE7RUFDRCxvQkFDSVQsTUFBQSxDQUFBTyxPQUFBLENBQUFLLGFBQUE7SUFBU0MsU0FBUyxFQUFDO0VBQW9CLGdCQUNuQ2IsTUFBQSxDQUFBTyxPQUFBLENBQUFLLGFBQUE7SUFBS0MsU0FBUyxFQUFFSCxXQUFXLEdBQUcsV0FBVyxHQUFHO0VBQUcsZ0JBQzNDVixNQUFBLENBQUFPLE9BQUEsQ0FBQUssYUFBQSxDQUFDVCwwQkFBQSxDQUFBVyx3QkFBd0I7SUFBQ0osV0FBVyxFQUFFQTtFQUFZLENBQUMsQ0FBQyxlQUVyRFYsTUFBQSxDQUFBTyxPQUFBLENBQUFLLGFBQUE7SUFBS0MsU0FBUyxFQUFFSCxXQUFXLEdBQUcsRUFBRSxHQUFHO0VBQVksZ0JBQzNDVixNQUFBLENBQUFPLE9BQUEsQ0FBQUssYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBaUIsR0FFeEIsQ0FBQyxHQUFHRSxLQUFLLENBQUNKLGFBQWEsQ0FBQyxDQUFDLENBQUNLLEdBQUcsQ0FBQyxDQUFDQyxDQUFDLEVBQUVDLENBQUMsa0JBQU1sQixNQUFBLENBQUFPLE9BQUEsQ0FBQUssYUFBQSxDQUFDUixzQkFBQSxDQUFBZSxxQkFBcUI7SUFBQ0MsR0FBRyxFQUFFRjtFQUFFLENBQUMsQ0FBRSxDQUU3RSxDQUNKLENBQ0osQ0FDQSxDQUFDO0FBRWxCLENBQUM7QUFBQ0csT0FBQSxDQUFBYix3QkFBQSxHQUFBQSx3QkFBQTtBQU9GQSx3QkFBd0IsQ0FBQ2MsWUFBWSxHQUFHO0VBQ3BDWixXQUFXLEVBQUUsSUFBSTtFQUNqQkMsYUFBYSxFQUFFO0FBQ25CLENBQUMifQ==