buildingproduct-library 0.2.76 → 0.2.78
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/assets/images/pdf-icon.svg +45 -0
- package/{buildingproduct-library-0.2.76.tgz → buildingproduct-library-0.2.78.tgz} +0 -0
- package/bundles/buildingproduct-library.umd.js +3471 -2489
- package/bundles/buildingproduct-library.umd.js.map +1 -1
- package/esm2015/lib/account-dropdown/account-dropdown.component.js +38 -4
- package/esm2015/lib/account-dropdown/account-dropdown.service.js +3 -3
- package/esm2015/lib/checkout/add-new-address/add-new-address.component.js +22 -13
- package/esm2015/lib/checkout/checkout.module.js +10 -2
- package/esm2015/lib/checkout/custom-checkout/custom-checkout.component.js +7 -28
- package/esm2015/lib/checkout/order-confirmation/order-confirmation.component.js +2 -3
- package/esm2015/lib/checkout/order-review/delivery-information/delivery-information.component.js +1 -1
- package/esm2015/lib/checkout/order-review/order-review-grid/order-review-grid.component.js +86 -16
- package/esm2015/lib/checkout/order-review/order-review-list/order-review-list.component.js +72 -15
- package/esm2015/lib/checkout/order-review/order-review.component.js +3 -27
- package/esm2015/lib/contact-us/contact-us.component.js +1 -1
- package/esm2015/lib/custom-cart/addto-saved-carts/addto-saved-carts.component.js +2 -2
- package/esm2015/lib/custom-cart/custom-cart.component.js +3 -27
- package/esm2015/lib/custom-cart/custom-cart.module.js +3 -3
- package/esm2015/lib/custom-mini-cart/custom-mini-cart.component.js +110 -52
- package/esm2015/lib/custom-mini-cart/custom-mini-cart.module.js +2 -2
- package/esm2015/lib/custom-navigation/custom-navigation.component.js +122 -0
- package/esm2015/lib/custom-navigation/custom-navigation.module.js +3 -3
- package/esm2015/lib/custom-order-details/custom-order-details.component.js +26 -21
- package/esm2015/lib/custom-order-details/custom-order-details.module.js +15 -7
- package/esm2015/lib/custom-order-details/download-popup/download-popup.component.js +1 -1
- package/esm2015/lib/custom-order-details/order-detail-grid/order-detail-grid.component.js +105 -22
- package/esm2015/lib/custom-order-details/order-detail-list/order-detail-list.component.js +89 -23
- package/esm2015/lib/custom-order-history/custom-order-history.component.js +49 -22
- package/esm2015/lib/custom-order-history/custom-order-history.module.js +10 -2
- package/esm2015/lib/custom-order-history/slider-progress/slider-progress.component.js +1 -1
- package/esm2015/lib/custom-saved-cart/custom-saved-cart-details/custom-save-cart-dtl/custom-save-cart-dtl.component.js +2 -2
- package/esm2015/lib/custom-saved-cart/custom-saved-cart-details/custom-saved-cart-details.module.js +2 -2
- package/esm2015/lib/custom-saved-cart/custom-saved-cart-details/saved-cart-details-action/saved-cart-details-action.component.js +4 -28
- package/esm2015/lib/custom-saved-cart/custom-saved-cart-details/saved-cart-details-overview/saved-cart-details-overview.component.js +1 -1
- package/esm2015/lib/custom-saved-cart/custom-saved-cart.component.js +6 -4
- package/esm2015/lib/custom-saved-cart/custom-saved-cart.module.js +2 -2
- package/esm2015/lib/custom-saved-cart/saved-cart.service.js +11 -2
- package/esm2015/lib/custom-search/custom-search.component.js +3 -3
- package/esm2015/lib/custom-user-account/custom-user-account.component.js +2 -2
- package/esm2015/lib/directives/custom-directives.module.js +1 -1
- package/esm2015/lib/directives/custom-paginatior.directive.js +101 -31
- package/esm2015/lib/find-store/find-store.component.js +2 -2
- package/esm2015/lib/help-support/help-support.component.js +1 -1
- package/esm2015/lib/my-account/account-dashboard/account-dashboard.component.js +2 -2
- package/esm2015/lib/my-account/account-statements/account-statements.component.js +2 -2
- package/esm2015/lib/my-account/invoice-credit/invoice-credit.component.js +51 -17
- package/esm2015/lib/my-account/my-account.component.js +2 -2
- package/esm2015/lib/my-account/my-account.module.js +11 -3
- package/esm2015/lib/my-team/my-team.component.js +25 -17
- package/esm2015/lib/my-team/my-team.module.js +11 -7
- package/esm2015/lib/services/endPointURL.js +6 -1
- package/esm2015/lib/services/user-account-detail-service.service.js +172 -4
- package/esm2015/lib/shared/CustomProduct.js +5 -4
- package/esm2015/lib/shared/active-saved-cart/active-saved-cart.component.js +20 -11
- package/esm2015/lib/shared/custom-breadcrum/custom-breadcrum.component.js +17 -7
- package/esm2015/lib/shared/custom-cart-detail/custom-cart-detail.component.js +1 -1
- package/esm2015/lib/shared/custom-cart-detail/custom-cart-grid/custom-cart-grid.component.js +198 -102
- package/esm2015/lib/shared/custom-cart-detail/custom-cart-list/custom-cart-list.component.js +64 -22
- package/esm2015/lib/shared/custom-cart-detail/custom-product-quantity-form/custom-product-quantity-form.component.js +129 -80
- package/esm2015/lib/shared/date-range-picker/date-range-picker.component.js +59 -9
- package/esm2015/lib/shared/regEx.validator.js +3 -1
- package/esm2015/lib/shared/saved-cart-popup/saved-cart-popup.component.js +1 -1
- package/esm2015/lib/shared/shared-components.module.js +21 -10
- package/esm2015/lib/shared/shared-download-order/shared-download-order.component.js +116 -31
- package/esm2015/lib/spa-custom-header.module.js +14 -13
- package/esm2015/public-api.js +2 -2
- package/fesm2015/buildingproduct-library.js +1996 -1081
- package/fesm2015/buildingproduct-library.js.map +1 -1
- package/lib/checkout/add-new-address/add-new-address.component.d.ts +1 -0
- package/lib/checkout/checkout.module.d.ts +12 -10
- package/lib/checkout/custom-checkout/custom-checkout.component.d.ts +2 -5
- package/lib/checkout/order-review/order-review-grid/order-review-grid.component.d.ts +8 -2
- package/lib/checkout/order-review/order-review-list/order-review-list.component.d.ts +5 -2
- package/lib/checkout/order-review/order-review.component.d.ts +1 -4
- package/lib/custom-cart/custom-cart.component.d.ts +1 -4
- package/lib/custom-mini-cart/custom-mini-cart.component.d.ts +11 -3
- package/lib/custom-navigation/{custom-navigation/custom-navigation.component.d.ts → custom-navigation.component.d.ts} +1 -1
- package/lib/custom-navigation/custom-navigation.module.d.ts +1 -1
- package/lib/custom-order-details/custom-order-details.component.d.ts +5 -2
- package/lib/custom-order-details/custom-order-details.module.d.ts +6 -4
- package/lib/custom-order-details/order-detail-grid/order-detail-grid.component.d.ts +14 -4
- package/lib/custom-order-details/order-detail-list/order-detail-list.component.d.ts +10 -3
- package/lib/custom-order-history/custom-order-history.component.d.ts +3 -0
- package/lib/custom-order-history/custom-order-history.module.d.ts +8 -6
- package/lib/custom-saved-cart/custom-saved-cart-details/saved-cart-details-action/saved-cart-details-action.component.d.ts +1 -4
- package/lib/custom-saved-cart/custom-saved-cart.component.d.ts +1 -0
- package/lib/custom-saved-cart/saved-cart.service.d.ts +1 -0
- package/lib/custom-search/custom-search.component.d.ts +1 -1
- package/lib/directives/custom-paginatior.directive.d.ts +6 -1
- package/lib/find-store/find-store.component.d.ts +1 -1
- package/lib/my-account/account-statements/account-statements.component.d.ts +1 -1
- package/lib/my-account/invoice-credit/invoice-credit.component.d.ts +8 -2
- package/lib/my-account/my-account.component.d.ts +1 -1
- package/lib/my-account/my-account.module.d.ts +7 -5
- package/lib/my-team/my-team.component.d.ts +2 -0
- package/lib/my-team/my-team.module.d.ts +7 -6
- package/lib/services/endPointURL.d.ts +3 -0
- package/lib/services/user-account-detail-service.service.d.ts +27 -1
- package/lib/shared/CustomProduct.d.ts +1 -0
- package/lib/shared/active-saved-cart/active-saved-cart.component.d.ts +3 -1
- package/lib/shared/custom-breadcrum/custom-breadcrum.component.d.ts +3 -1
- package/lib/shared/custom-cart-detail/custom-cart-grid/custom-cart-grid.component.d.ts +17 -9
- package/lib/shared/custom-cart-detail/custom-cart-list/custom-cart-list.component.d.ts +8 -6
- package/lib/shared/custom-cart-detail/custom-product-quantity-form/custom-product-quantity-form.component.d.ts +11 -3
- package/lib/shared/date-range-picker/date-range-picker.component.d.ts +11 -3
- package/lib/shared/regEx.validator.d.ts +2 -0
- package/lib/shared/shared-components.module.d.ts +10 -8
- package/lib/shared/shared-download-order/shared-download-order.component.d.ts +6 -4
- package/lib/spa-custom-header.module.d.ts +7 -6
- package/package.json +3 -1
- package/public-api.d.ts +1 -1
- package/esm2015/lib/custom-navigation/custom-navigation/custom-navigation.component.js +0 -121
- package/esm2015/lib/preference/preference.component.js +0 -19
- package/esm2015/lib/preference/preference.module.js +0 -45
- package/lib/preference/preference.component.d.ts +0 -8
- package/lib/preference/preference.module.d.ts +0 -10
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, EventEmitter, Input, Output, ViewChild
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
3
3
|
import { loadModules } from 'esri-loader';
|
|
4
4
|
import { BehaviorSubject } from 'rxjs';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -19,6 +19,7 @@ export class AddNewAddressComponent {
|
|
|
19
19
|
this.client_secret = this.environment.coreLogicClientSecret;
|
|
20
20
|
this.token_url = `https://${this.apigee_url}/access/oauth/token?client_id=${this.client_id}&client_secret=${this.client_secret}&grant_type=client_credentials`;
|
|
21
21
|
this.updateNewAddress = new EventEmitter();
|
|
22
|
+
this.errorInd$ = new BehaviorSubject(false);
|
|
22
23
|
}
|
|
23
24
|
ngOnInit() {
|
|
24
25
|
navigator.geolocation.getCurrentPosition(position => {
|
|
@@ -41,7 +42,7 @@ export class AddNewAddressComponent {
|
|
|
41
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
43
|
const container = this.mapViewEl.nativeElement;
|
|
43
44
|
const streetmapURL = this.environment.coreLogicStreetMapUrl;
|
|
44
|
-
//
|
|
45
|
+
// Using NZTM spatial reference - the option to switch to WGS84 (lat/long) is available as an alternate
|
|
45
46
|
const [MapView, Point, WebMap, Search, SearchSource, esriRequest, Graphic, geometryEngine, SpatialReference, TileLayer, Basemap, esriConfig,] = yield loadModules([
|
|
46
47
|
'esri/views/MapView',
|
|
47
48
|
'esri/geometry/Point',
|
|
@@ -58,8 +59,8 @@ export class AddNewAddressComponent {
|
|
|
58
59
|
]);
|
|
59
60
|
// Create the Map
|
|
60
61
|
const centerPoint = new Point({
|
|
61
|
-
x:
|
|
62
|
-
y:
|
|
62
|
+
x: 1719071.99,
|
|
63
|
+
y: 5428579.07,
|
|
63
64
|
spatialReference: {
|
|
64
65
|
wkid: 2193,
|
|
65
66
|
},
|
|
@@ -95,7 +96,7 @@ export class AddNewAddressComponent {
|
|
|
95
96
|
container: container,
|
|
96
97
|
map: myMap,
|
|
97
98
|
center: centerPoint,
|
|
98
|
-
zoom:
|
|
99
|
+
zoom: 2,
|
|
99
100
|
constraints: {
|
|
100
101
|
snapToZoom: false,
|
|
101
102
|
},
|
|
@@ -191,6 +192,7 @@ export class AddNewAddressComponent {
|
|
|
191
192
|
if (params.suggestResult.text == '') {
|
|
192
193
|
var lat = params.location.y;
|
|
193
194
|
var lon = params.location.x;
|
|
195
|
+
view.zoom = 15;
|
|
194
196
|
view.goTo({
|
|
195
197
|
center: new Point({
|
|
196
198
|
x: lon,
|
|
@@ -209,7 +211,6 @@ export class AddNewAddressComponent {
|
|
|
209
211
|
var _a, _b, _c, _d;
|
|
210
212
|
if (response && response != undefined && response.data && response.data.length > 0) {
|
|
211
213
|
this.location.selectedAddress = (_a = response === null || response === void 0 ? void 0 : response.data[0].attributes) === null || _a === void 0 ? void 0 : _a.label;
|
|
212
|
-
//const afterSearchCompleteUrl = 'https://uat.addressright.co.nz/address.json?api_key=292633_xvse2ZwXyJ6gqhMV&id=' + response?.data[0].relationships?.address?.data?.id
|
|
213
214
|
const afterSearchCompleteUrl = this.environment.coreLogicAddressApiUrl + 'address.json?api_key=' + this.environment.coreLogicAddressApikey + '&id=' + ((_d = (_c = (_b = response === null || response === void 0 ? void 0 : response.data[0].relationships) === null || _b === void 0 ? void 0 : _b.address) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.id);
|
|
214
215
|
let query = {};
|
|
215
216
|
query.lat = lat;
|
|
@@ -306,12 +307,13 @@ export class AddNewAddressComponent {
|
|
|
306
307
|
});
|
|
307
308
|
this.view = view;
|
|
308
309
|
searchWidget.on('search-complete', (event) => {
|
|
310
|
+
console.log('Results of the search: ', event); // Provides the results on search Complete
|
|
309
311
|
});
|
|
310
312
|
searchWidget.on('select-result', (event) => {
|
|
313
|
+
console.log('The selected search result: ', event); // Provides the selected results on search Complete and any result is selected from dropdown
|
|
311
314
|
});
|
|
312
315
|
view.on('click', (event) => {
|
|
313
316
|
event.stopPropagation();
|
|
314
|
-
this.isConfirmDisabled.next(false);
|
|
315
317
|
var lat = event.mapPoint.y;
|
|
316
318
|
var lon = event.mapPoint.x;
|
|
317
319
|
view.goTo({
|
|
@@ -341,15 +343,14 @@ export class AddNewAddressComponent {
|
|
|
341
343
|
longitude: lon,
|
|
342
344
|
latitude: lat
|
|
343
345
|
};
|
|
344
|
-
//const url = 'https://uat.addressright.co.nz/reversegeocode.json?api_key=292633_xvse2ZwXyJ6gqhMV&limit=1&formatted=1&srid=2193';
|
|
345
346
|
const url = this.environment.coreLogicAddressApiUrl + 'reversegeocode.json?api_key=' + this.environment.coreLogicAddressApikey + '&limit=1&formatted=1&srid=2193';
|
|
346
347
|
self.checkoutService
|
|
347
348
|
.getClickGeoLocationAddress(url, location)
|
|
348
349
|
.subscribe((response) => {
|
|
349
350
|
var _a, _b, _c, _d;
|
|
350
351
|
if (response && response != undefined && response.data.length > 0) {
|
|
352
|
+
this.isConfirmDisabled.next(false);
|
|
351
353
|
this.location.selectedAddress = (_a = response === null || response === void 0 ? void 0 : response.data[0].attributes) === null || _a === void 0 ? void 0 : _a.label;
|
|
352
|
-
//const afterSearchCompleteUrl = 'https://uat.addressright.co.nz/address.json?api_key=292633_xvse2ZwXyJ6gqhMV&id=' + response?.data[0].relationships?.address?.data?.id;
|
|
353
354
|
const afterSearchCompleteUrl = this.environment.coreLogicAddressApiUrl + 'address.json?api_key=' + this.environment.coreLogicAddressApikey + '&id=' + ((_d = (_c = (_b = response === null || response === void 0 ? void 0 : response.data[0].relationships) === null || _b === void 0 ? void 0 : _b.address) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.id);
|
|
354
355
|
let query = {};
|
|
355
356
|
query.lat = lat;
|
|
@@ -360,6 +361,7 @@ export class AddNewAddressComponent {
|
|
|
360
361
|
}).then((results) => {
|
|
361
362
|
var _a, _b, _c, _d, _e;
|
|
362
363
|
if (results) {
|
|
364
|
+
this.isConfirmDisabled.next(false);
|
|
363
365
|
const feature = mapKeys(results.data);
|
|
364
366
|
const location = {
|
|
365
367
|
lon: (_a = feature === null || feature === void 0 ? void 0 : feature.geometry) === null || _a === void 0 ? void 0 : _a.coordinates[0],
|
|
@@ -385,6 +387,13 @@ export class AddNewAddressComponent {
|
|
|
385
387
|
}
|
|
386
388
|
});
|
|
387
389
|
}
|
|
390
|
+
else {
|
|
391
|
+
this.errorInd$.next(true);
|
|
392
|
+
this.isConfirmDisabled.next(true);
|
|
393
|
+
setTimeout(() => {
|
|
394
|
+
this.errorInd$.next(false);
|
|
395
|
+
}, 5000);
|
|
396
|
+
}
|
|
388
397
|
}, (error) => {
|
|
389
398
|
console.log(error);
|
|
390
399
|
});
|
|
@@ -404,7 +413,7 @@ export class AddNewAddressComponent {
|
|
|
404
413
|
line1: (_a = data.formatted_address) === null || _a === void 0 ? void 0 : _a.line1,
|
|
405
414
|
line2: (_b = data.formatted_address) === null || _b === void 0 ? void 0 : _b.line2,
|
|
406
415
|
town: (_c = data.structured_address) === null || _c === void 0 ? void 0 : _c.town,
|
|
407
|
-
|
|
416
|
+
suburb: (_d = data.structured_address) === null || _d === void 0 ? void 0 : _d.suburb,
|
|
408
417
|
postalCode: (_e = data.structured_address) === null || _e === void 0 ? void 0 : _e.postcode,
|
|
409
418
|
longitude: location.lon,
|
|
410
419
|
latitude: location.lat,
|
|
@@ -414,13 +423,13 @@ export class AddNewAddressComponent {
|
|
|
414
423
|
}
|
|
415
424
|
}
|
|
416
425
|
AddNewAddressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AddNewAddressComponent, deps: [{ token: i1.CustomCheckoutService }], target: i0.ɵɵFactoryTarget.Component });
|
|
417
|
-
AddNewAddressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AddNewAddressComponent, selector: "app-add-new-address", inputs: { confirmedAddress: "confirmedAddress" }, outputs: { updateNewAddress: "updateNewAddress" }, viewQueries: [{ propertyName: "mapViewEl", first: true, predicate: ["mapViewNode"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"corelogic-map\" #mapViewNode></div>\r\n<div class=\"confirm-cls\">\r\n <button type=\"button\" [disabled]=\"isConfirmDisabled | async\" (click)=\"onConfirmedClick()\" class=\"btn primary-button mt-4\">Confirm</button>\r\n <label *ngIf=\"showAddress | async\" class=\"form-label\">Confirmed Delivery Address </label>\r\n <div class=\"map-selected-address\" *ngIf=\"showAddress | async\" id=\"address\">\r\n {{confirmedAddress}}</div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";@import\"https://js.arcgis.com/4.25/@arcgis/core/assets/esri/themes/light/main.css\";@media screen and (min-width: 1366px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: 1.063rem;--fontsize17-5: 1.1rem;--fontsize18: 1.125rem;--fontsize18-4: 1.5rem;--fontsize20: 1.25rem;--fontsize21: 1.313rem;--fontsize22: 1.375rem;--fontsize23: 1.438rem;--fontsize24: 1.5rem;--fontsize26: 1.625rem;--fontsize28: 1.75rem;--fontsize30: 1.625rem;--fontsize32: 2rem;--fontsize34: 2.125rem;--fontsize36: 2rem;--fontsize40: 2.25rem;--fontsize46: 2.875rem;--fontsize80: 5rem}}@media screen and (max-width: 1365px) and (min-width: 768px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2.875rem;--fontsize80: 3.5rem}}@media screen and (max-width: 767px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize16-5: .77rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize19: .938rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize26: 1.25rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2rem;--fontsize80: 2.5rem}}@font-face{font-family:icomoon;font-weight:400;src:url(../assets/fonts/icomoon.ttf) format(\"ttf\"),url(../assets/fonts/icomoon.woff) format(\"woff\");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:\"Arial Regular\";src:url(../assets/fonts/arial-webfont.woff) format(\"woff\"),url(../assets/fonts/arial-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Bold\";src:url(../assets/fonts/arialbold-webfont.woff) format(\"woff\"),url(../assets/fonts/arialbold-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Black\";src:url(../assets/fonts/arialblack-webfont.woff) format(\"woff\"),url(../assets/fonts/arialblack-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Reqular\";src:url(../assets/fonts/helveticaneue.woff) format(\"woff\"),url(../assets/fonts/helveticaneue.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Thin\";src:url(../assets/fonts/helveticaneuethin-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuethin-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Medium\";src:url(../assets/fonts/helveticaneuemedium-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuemedium-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;font-feature-settings:normal;font-variant:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;line-height:1;text-transform:none;font-display:swap}.icon-right:before{content:\"\\e902\"}.icon-materials:before{content:\"\\e900\"}.icon-natural-lighting:before{content:\"\\e90a\"}.icon-rainwater:before{content:\"\\e901\"}.icon-roofing:before{content:\"\\e90b\"}.icon-flashing{position:relative;display:inline-block;height:32px;text-align:center;width:32px}.icon-flashing:before,.mainnav-link-level-2.show .navTagChild .icon-flashing:before{content:url(../assets/images/icon-flashing-white.svg);height:20px;width:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);line-height:15px}li.megamenuSubChild:hover .icon-flashing:before{content:url(../assets/images/icon-flashing-black.svg)}.icon-structural:before{content:\"\\e90c\"}.icon-accessories-old .path1:before{content:\"\\e903\"}.icon-accessories-old .path2:before{margin-left:-1em;content:\"\\e904\"}.icon-accessories-old .path3:before{margin-left:-1em;content:\"\\e905\"}.icon-cladding-old .path1:before{content:\"\\e90d\"}.icon-cladding-old .path2:before{margin-left:-1em;content:\"\\e90e\"}.icon-close:before{content:\"\\e90f\"}.icon-message:before{content:\"\\e910\"}.icon-search .path1:before{content:\"\\e906\"}.icon-search .path2:before{content:\"\\e907\"}.icon-search .path3:before{margin-left:-1.0156em;content:\"\\e908\"}.icon-summary:before{content:\"\\e911\"}.icon-branch:before{content:\"\\e912\"}.icon-delivery:before{content:\"\\e913\"}.icon-downloads:before{content:\"\\e909\"}.icon-drawings:before{content:\"\\e914\"}.icon-full:before{content:\"\\e915\"}.icon-manual:before{content:\"\\e916\"}.icon-payment:before{content:\"\\e917\"}.icon-empty .path1:before{content:\"\\e918\"}.icon-empty .path2:before{margin-left:-1em;content:\"\\e919\"}.icon-empty .path3:before{margin-left:-1em;content:\"\\e91a\"}.icon-product-overview:before{content:\"\\e91b\"}.icon-arrows:before{content:\"\\e91c\"}.icon-selected:before{content:\"\\e91d\"}.icon-accessories:before{content:\"\\e91b\"}.icon-cladding:before{content:\"\\e91e\"}.icon-Triangle:before{content:\"\\e91f\"}.icon-home:before{content:\"\\e920\"}.icon-faq:before{content:\"\\e921\"}.icon-temperature:before{content:\"\\e922\"}body header{font-family:\"Arial Regular\",sans-serif}header{background-color:#1d1d1b;position:sticky;top:0;background-size:100% 25%!important;background-repeat:no-repeat;z-index:10}header .header{max-width:100%;padding:0}header cx-banner cx-media img{margin-top:.7rem;margin-bottom:0}header label{display:inline-flex}header .SiteLinks{height:52px;display:flex;align-items:center;justify-content:space-between;padding-top:5px;padding-bottom:5px}header .SiteLinks cx-paragraph p{color:#fff;font-size:var(--fontsize16);line-height:var(--fontsize16);margin-bottom:0}header .SiteLinks cx-paragraph{font-size:var(--fontsize16)}header .SiteLinks app-account-dropdown,header .SiteLinks app-find-store{width:calc(25% - 25px);max-width:328px;margin-right:25px}header .SiteLinks app-contact-us{width:calc(20% - 25px);max-width:100px;margin-left:auto}header .SiteLinks app-custom-mini-cart{width:10%}header .SiteLinks .preferenceLink{margin-left:auto}header .SiteLinks .preferenceLink cx-generic-link{margin:0}header .SiteLinks .preferenceLink cx-generic-link cx-media img{height:22px;margin:0}header .SiteLogo .storeLogo{position:absolute;z-index:99;left:40px;bottom:10px}header .SiteLogo .homeLogo{max-width:28px;height:28px;position:absolute;z-index:99;bottom:47px}header .NavigationBar{flex:70%;background-color:#b61828;min-height:40px;display:flex;align-items:center;position:relative;z-index:10}header .logoutMenu{margin-top:0!important}header .logoutMenu li{cursor:pointer;background-color:#4c4c4c;color:#fff}header .logoutMenu li:hover{text-decoration:underline;background-color:#4c4c4c}header .MarketingContext{width:100%;margin:auto}.customer-service-icon{cursor:pointer}.helpSupport{width:20rem;border:0;margin-top:.5rem!important;transform:translate(-42%,36px)!important;padding:1rem 1rem 0;background-color:#393939;color:#fff;top:0}.helpSupport .arrow-up{position:absolute;top:-8px;right:44%;width:0;height:0;border-left:15px solid rgba(0,0,0,0);border-right:15px solid rgba(0,0,0,0);border-bottom:15px solid #393939}.helpSupport .contact-us-info .heading{font-family:\"Arial Bold\",sans-serif}.helpSupport .contact-us-info .detail{font-size:var(--fontsize14);line-height:2rem}.helpSupport .contact-us-info .detail .service-icon{height:20px;width:20px;margin-right:10px}.helpSupport .contact-us-info .contactLink a{font-size:var(--fontsize14);text-decoration:underline;text-transform:uppercase}.helpSupport .contact-us-info a{color:#fff;text-decoration:none}.helpSupport .contact-us-info a:hover{text-decoration:underline}.pageTitle{font-family:\"Helvetica Neue Regular\",sans-serif;font-size:var(--fontsize54)}#visualization-container{text-align:center;margin:0 auto}#cds-viewer-container-3d{width:320px;height:200px}#cds-viewer-container-2d{width:320px;height:200px}[aria-label=Close]{cursor:pointer}cx-media.is-missing{background:url(./assets/images/search-noimage.svg);background-size:cover;background-position:center;background-repeat:no-repeat}cx-global-message{position:fixed;top:9rem;width:100%;z-index:13}@media screen and (max-width: 991px){cx-global-message{top:3.75rem}cx-storefront header{background-color:#b61828}cx-storefront header cx-banner cx-media img{margin:auto}cx-storefront header .SiteLogo{width:100%;max-width:211px;margin:auto;padding-left:30px;box-sizing:border-box}cx-storefront header .SiteLogo .storeLogo{position:unset}cx-storefront header .SearchBox{margin:14px 0 10px;width:30px}cx-storefront header .SiteLinks{background-color:transparent;width:110px;margin:auto 25px auto 0}cx-storefront header .SiteLinks app-account-dropdown,cx-storefront header .SiteLinks app-find-store,cx-storefront header .SiteLinks app-contact-us,cx-storefront header .SiteLinks cx-paragraph,cx-storefront header .SiteLinks .preferenceLink{display:none}cx-storefront header .SiteLinks app-custom-mini-cart,cx-storefront header .SiteLinks app-custom-user-account{width:35px}cx-storefront header.is-expanded{overflow-y:auto;position:fixed;bottom:0;top:0;width:calc(100% - 99px)}cx-storefront header.is-expanded .header{background-color:#b61828;margin-left:0}cx-storefront header.is-expanded .PreHeader{position:absolute;right:15px;top:15px}cx-storefront header.is-expanded .SearchBox{display:none}cx-storefront header.is-expanded .SiteLogo{position:absolute;top:25px;z-index:9}cx-storefront header.is-expanded .SiteLinks{background-color:#1d1d1b;width:100%;margin:15px auto 15px 0;height:unset;padding:15px;max-width:100%;position:relative;z-index:9;top:60px}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-account-dropdown{width:100%;max-width:100%}cx-storefront header.is-expanded .SiteLinks app-find-store{width:50%;max-width:328px;min-width:328px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-right:15px;margin-left:auto;width:115px;max-width:unset}cx-storefront header.is-expanded .navigation{position:relative;top:45px}cx-storefront header.is-expanded:before{background-color:#0000004d;right:0;content:\"\";position:fixed;z-index:2;top:0;bottom:0;height:100vh;width:99px}cx-storefront header.is-expanded:after{background-color:transparent}}@media screen and (max-width: 576px){cx-storefront header .SiteLogo{max-width:80px}cx-storefront header .SiteLogo .storeLogo{display:none}cx-storefront header .searchBox{height:45px}cx-storefront header.is-expanded{width:100%}cx-storefront header.is-expanded .header,cx-storefront header.is-expanded .navigation{width:100%}cx-storefront header.is-expanded .SiteLogo{max-width:211px!important}cx-storefront header.is-expanded .SiteLogo .storeLogo{display:block}cx-storefront header.is-expanded .SiteLinks{max-width:100%;width:100%}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-find-store{width:100%;max-width:100%;margin-bottom:10px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-left:0}cx-storefront header.is-expanded .SiteLinks cx-paragraph{margin-left:auto}cx-storefront header.is-expanded:before{display:none}.pageTitle{font-size:28px}}::ng-deep .OrderCheckoutTemplate .esri-search-result-renderer .esri-search-result-renderer__more-results-item{margin-bottom:0;margin-top:20px}::ng-deep .OrderCheckoutTemplate .confirm-cls{align-items:flex-end;display:flex;flex-direction:column}::ng-deep .OrderCheckoutTemplate .corelogic-map{height:450px;margin-top:1rem}::ng-deep .OrderCheckoutTemplate .form-label{align-self:flex-start;font-size:var(--fontsize16);font-family:\"Arial Bold\",sans-serif}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
|
|
426
|
+
AddNewAddressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AddNewAddressComponent, selector: "app-add-new-address", inputs: { confirmedAddress: "confirmedAddress" }, outputs: { updateNewAddress: "updateNewAddress" }, viewQueries: [{ propertyName: "mapViewEl", first: true, predicate: ["mapViewNode"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"corelogic-map\" #mapViewNode></div>\r\n<div class=\"confirm-cls\">\r\n <button type=\"button\" [disabled]=\"isConfirmDisabled | async\" (click)=\"onConfirmedClick()\" class=\"btn primary-button mt-4\">Confirm</button>\r\n <label *ngIf=\"showAddress | async\" class=\"form-label\">Confirmed Delivery Address </label>\r\n <div class=\"map-selected-address\" *ngIf=\"showAddress | async\" id=\"address\">\r\n {{confirmedAddress}}</div>\r\n</div>\r\n<div class=\" col-sm-12 alert alert-danger justify-content-start mt-3\" role=\"alert\" *ngIf=\"errorInd$ | async\">\r\n <img class=\"mr-3\" src=\"../../../../assets/images/erroricon.svg\" alt=\"alert\"> Please select valid Address\r\n</div>\r\n", styles: ["@charset \"UTF-8\";@import\"https://js.arcgis.com/4.25/@arcgis/core/assets/esri/themes/light/main.css\";@media screen and (min-width: 1366px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: 1.063rem;--fontsize17-5: 1.1rem;--fontsize18: 1.125rem;--fontsize18-4: 1.5rem;--fontsize20: 1.25rem;--fontsize21: 1.313rem;--fontsize22: 1.375rem;--fontsize23: 1.438rem;--fontsize24: 1.5rem;--fontsize26: 1.625rem;--fontsize28: 1.75rem;--fontsize30: 1.625rem;--fontsize32: 2rem;--fontsize34: 2.125rem;--fontsize36: 2rem;--fontsize40: 2.25rem;--fontsize46: 2.875rem;--fontsize80: 5rem}}@media screen and (max-width: 1365px) and (min-width: 768px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2.875rem;--fontsize80: 3.5rem}}@media screen and (max-width: 767px){:root{--fontsize12: .75rem;--fontsize14: .875rem;--fontsize16: 1rem;--fontsize16-5: .77rem;--fontsize17: .9rem;--fontsize17-5: 1rem;--fontsize18: .875rem;--fontsize19: .938rem;--fontsize20: 1rem;--fontsize21: 1.063rem;--fontsize22: 1.125rem;--fontsize23: 1.188rem;--fontsize24: 1rem;--fontsize26: 1.25rem;--fontsize28: 1.5rem;--fontsize30: 1.25rem;--fontsize32: 1.75rem;--fontsize34: 1.875rem;--fontsize36: 1.625rem;--fontsize40: 2.5rem;--fontsize46: 2rem;--fontsize80: 2.5rem}}@font-face{font-family:icomoon;font-weight:400;src:url(../assets/fonts/icomoon.ttf) format(\"ttf\"),url(../assets/fonts/icomoon.woff) format(\"woff\");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:\"Arial Regular\";src:url(../assets/fonts/arial-webfont.woff) format(\"woff\"),url(../assets/fonts/arial-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Bold\";src:url(../assets/fonts/arialbold-webfont.woff) format(\"woff\"),url(../assets/fonts/arialbold-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Arial Black\";src:url(../assets/fonts/arialblack-webfont.woff) format(\"woff\"),url(../assets/fonts/arialblack-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Reqular\";src:url(../assets/fonts/helveticaneue.woff) format(\"woff\"),url(../assets/fonts/helveticaneue.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Thin\";src:url(../assets/fonts/helveticaneuethin-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuethin-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}@font-face{font-family:\"Helvetica Neue Medium\";src:url(../assets/fonts/helveticaneuemedium-webfont.woff) format(\"woff\"),url(../assets/fonts/helveticaneuemedium-webfont.woff2) format(\"woff2\");font-weight:normal;font-style:normal}[class*=\" icon-\"],[class^=icon-]{font-family:icomoon!important;font-feature-settings:normal;font-variant:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;line-height:1;text-transform:none;font-display:swap}.icon-right:before{content:\"\\e902\"}.icon-materials:before{content:\"\\e900\"}.icon-natural-lighting:before{content:\"\\e90a\"}.icon-rainwater:before{content:\"\\e901\"}.icon-roofing:before{content:\"\\e90b\"}.icon-flashing{position:relative;display:inline-block;height:32px;text-align:center;width:32px}.icon-flashing:before,.mainnav-link-level-2.show .navTagChild .icon-flashing:before{content:url(../assets/images/icon-flashing-white.svg);height:20px;width:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);line-height:15px}li.megamenuSubChild:hover .icon-flashing:before{content:url(../assets/images/icon-flashing-black.svg)}.icon-structural:before{content:\"\\e90c\"}.icon-accessories-old .path1:before{content:\"\\e903\"}.icon-accessories-old .path2:before{margin-left:-1em;content:\"\\e904\"}.icon-accessories-old .path3:before{margin-left:-1em;content:\"\\e905\"}.icon-cladding-old .path1:before{content:\"\\e90d\"}.icon-cladding-old .path2:before{margin-left:-1em;content:\"\\e90e\"}.icon-close:before{content:\"\\e90f\"}.icon-message:before{content:\"\\e910\"}.icon-search .path1:before{content:\"\\e906\"}.icon-search .path2:before{content:\"\\e907\"}.icon-search .path3:before{margin-left:-1.0156em;content:\"\\e908\"}.icon-summary:before{content:\"\\e911\"}.icon-branch:before{content:\"\\e912\"}.icon-delivery:before{content:\"\\e913\"}.icon-downloads:before{content:\"\\e909\"}.icon-drawings:before{content:\"\\e914\"}.icon-full:before{content:\"\\e915\"}.icon-manual:before{content:\"\\e916\"}.icon-payment:before{content:\"\\e917\"}.icon-empty .path1:before{content:\"\\e918\"}.icon-empty .path2:before{margin-left:-1em;content:\"\\e919\"}.icon-empty .path3:before{margin-left:-1em;content:\"\\e91a\"}.icon-product-overview:before{content:\"\\e91b\"}.icon-arrows:before{content:\"\\e91c\"}.icon-selected:before{content:\"\\e91d\"}.icon-accessories:before{content:\"\\e91b\"}.icon-cladding:before{content:\"\\e91e\"}.icon-Triangle:before{content:\"\\e91f\"}.icon-home:before{content:\"\\e920\"}.icon-faq:before{content:\"\\e921\"}.icon-temperature:before{content:\"\\e922\"}body header{font-family:\"Arial Regular\",sans-serif}header{background-color:#1d1d1b;position:sticky;top:0;background-size:100% 25%!important;background-repeat:no-repeat;z-index:10}header .header{max-width:100%;padding:0}header cx-banner cx-media img{margin-top:.7rem;margin-bottom:0}header label{display:inline-flex}header .SiteLinks{height:52px;display:flex;align-items:center;justify-content:space-between;padding-top:5px;padding-bottom:5px}header .SiteLinks cx-paragraph p{color:#fff;font-size:var(--fontsize16);line-height:var(--fontsize16);margin-bottom:0}header .SiteLinks cx-paragraph{font-size:var(--fontsize16)}header .SiteLinks app-account-dropdown,header .SiteLinks app-find-store{width:calc(25% - 25px);max-width:328px;margin-right:25px}header .SiteLinks app-contact-us{width:calc(20% - 25px);max-width:100px;margin-left:auto}header .SiteLinks app-custom-mini-cart{width:10%}header .SiteLinks .preferenceLink{margin-left:auto}header .SiteLinks .preferenceLink cx-generic-link{margin:0}header .SiteLinks .preferenceLink cx-generic-link cx-media img{height:22px;margin:0}header .SiteLogo .storeLogo{position:absolute;z-index:99;left:40px;bottom:10px}header .SiteLogo .homeLogo{max-width:28px;height:28px;position:absolute;z-index:99;bottom:47px}header .NavigationBar{flex:70%;background-color:#b61828;min-height:40px;display:flex;align-items:center;position:relative}header .logoutMenu{margin-top:0!important}header .logoutMenu li{cursor:pointer;background-color:#4c4c4c;color:#fff}header .logoutMenu li:hover{text-decoration:underline;background-color:#4c4c4c}header .MarketingContext{width:100%;margin:auto}.customer-service-icon{cursor:pointer}.helpSupport{width:20rem;border:0;margin-top:.5rem!important;transform:translate(-42%,36px)!important;padding:1rem 1rem 0;background-color:#393939;color:#fff;top:0}.helpSupport .arrow-up{position:absolute;top:-8px;right:44%;width:0;height:0;border-left:15px solid rgba(0,0,0,0);border-right:15px solid rgba(0,0,0,0);border-bottom:15px solid #393939}.helpSupport .contact-us-info .heading{font-family:\"Arial Bold\",sans-serif}.helpSupport .contact-us-info .detail{font-size:var(--fontsize14);line-height:2rem}.helpSupport .contact-us-info .detail .service-icon{height:20px;width:20px;margin-right:10px}.helpSupport .contact-us-info .contactLink a{font-size:var(--fontsize14);text-decoration:underline;text-transform:uppercase}.helpSupport .contact-us-info a{color:#fff;text-decoration:none}.helpSupport .contact-us-info a:hover{text-decoration:underline}.pageTitle{font-family:\"Helvetica Neue Regular\",sans-serif;font-size:var(--fontsize54)}#visualization-container{text-align:center;margin:0 auto}#cds-viewer-container-3d{width:320px;height:200px}#cds-viewer-container-2d{width:320px;height:200px}[aria-label=Close]{cursor:pointer}cx-media.is-missing{background:url(./assets/images/search-noimage.svg);background-size:cover;background-position:center;background-repeat:no-repeat}cx-global-message{position:fixed;top:9rem;width:100%;z-index:13}@media screen and (max-width: 991px){cx-global-message{top:3.75rem}cx-storefront header{background-color:#b61828}cx-storefront header cx-banner cx-media img{margin:auto}cx-storefront header .SiteLogo{width:100%;max-width:211px;margin:auto;padding-left:30px;box-sizing:border-box}cx-storefront header .SiteLogo .storeLogo{position:unset}cx-storefront header .SearchBox{margin:14px 0 10px;width:30px}cx-storefront header .SiteLinks{background-color:transparent;width:110px;margin:auto 25px auto 0}cx-storefront header .SiteLinks app-account-dropdown,cx-storefront header .SiteLinks app-find-store,cx-storefront header .SiteLinks app-contact-us,cx-storefront header .SiteLinks cx-paragraph,cx-storefront header .SiteLinks .preferenceLink{display:none}cx-storefront header .SiteLinks app-custom-mini-cart,cx-storefront header .SiteLinks app-custom-user-account{width:35px}cx-storefront header.is-expanded{overflow-y:auto;position:fixed;bottom:0;top:0;width:calc(100% - 99px)}cx-storefront header.is-expanded .header{background-color:#b61828;margin-left:0}cx-storefront header.is-expanded .PreHeader{position:absolute;right:15px;top:15px}cx-storefront header.is-expanded .SearchBox{display:none}cx-storefront header.is-expanded .SiteLogo{position:absolute;top:25px;z-index:9}cx-storefront header.is-expanded .SiteLinks{background-color:#1d1d1b;width:100%;margin:15px auto 15px 0;height:unset;padding:15px;max-width:100%;position:relative;z-index:9;top:60px}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-account-dropdown{width:100%;max-width:100%}cx-storefront header.is-expanded .SiteLinks app-find-store{width:50%;max-width:328px;min-width:328px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-right:15px;margin-left:auto;width:115px;max-width:unset}cx-storefront header.is-expanded .navigation{position:relative;top:45px}cx-storefront header.is-expanded:before{background-color:#0000004d;right:0;content:\"\";position:fixed;z-index:2;top:0;bottom:0;height:100vh;width:99px}cx-storefront header.is-expanded:after{background-color:transparent}}@media screen and (max-width: 576px){cx-storefront header .SiteLogo{max-width:80px}cx-storefront header .SiteLogo .storeLogo{display:none}cx-storefront header .searchBox{height:45px}cx-storefront header.is-expanded{width:100%}cx-storefront header.is-expanded .header,cx-storefront header.is-expanded .navigation{width:100%}cx-storefront header.is-expanded .SiteLogo{max-width:211px!important}cx-storefront header.is-expanded .SiteLogo .storeLogo{display:block}cx-storefront header.is-expanded .SiteLinks{max-width:100%;width:100%}cx-storefront header.is-expanded .SiteLinks app-account-dropdown,cx-storefront header.is-expanded .SiteLinks app-find-store,cx-storefront header.is-expanded .SiteLinks app-contact-us,cx-storefront header.is-expanded .SiteLinks cx-paragraph,cx-storefront header.is-expanded .SiteLinks .preferenceLink{display:block}cx-storefront header.is-expanded .SiteLinks app-custom-mini-cart,cx-storefront header.is-expanded .SiteLinks app-custom-user-account{display:none}cx-storefront header.is-expanded .SiteLinks app-find-store{width:100%;max-width:100%;margin-bottom:10px}cx-storefront header.is-expanded .SiteLinks app-contact-us{margin-left:0}cx-storefront header.is-expanded .SiteLinks cx-paragraph{margin-left:auto}cx-storefront header.is-expanded:before{display:none}.pageTitle{font-size:28px}}::ng-deep .OrderCheckoutTemplate .esri-search-result-renderer .esri-search-result-renderer__more-results-item{margin-bottom:0;margin-top:20px}::ng-deep .OrderCheckoutTemplate .confirm-cls{align-items:flex-end;display:flex;flex-direction:column}::ng-deep .OrderCheckoutTemplate .corelogic-map{height:450px;margin-top:1rem}::ng-deep .OrderCheckoutTemplate .form-label{align-self:flex-start;font-size:var(--fontsize16);font-family:\"Arial Bold\",sans-serif}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
|
|
418
427
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AddNewAddressComponent, decorators: [{
|
|
419
428
|
type: Component,
|
|
420
429
|
args: [{
|
|
421
430
|
selector: 'app-add-new-address',
|
|
422
431
|
templateUrl: './add-new-address.component.html',
|
|
423
|
-
styleUrls: ['./add-new-address.component.scss']
|
|
432
|
+
styleUrls: ['./add-new-address.component.scss']
|
|
424
433
|
}]
|
|
425
434
|
}], ctorParameters: function () { return [{ type: i1.CustomCheckoutService }]; }, propDecorators: { mapViewEl: [{
|
|
426
435
|
type: ViewChild,
|
|
@@ -430,4 +439,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
430
439
|
}], updateNewAddress: [{
|
|
431
440
|
type: Output
|
|
432
441
|
}] } });
|
|
433
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW5ldy1hZGRyZXNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J1aWxkaW5ncHJvZHVjdF9saWJyYXJ5L3NyYy9saWIvY2hlY2tvdXQvYWRkLW5ldy1hZGRyZXNzL2FkZC1uZXctYWRkcmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idWlsZGluZ3Byb2R1Y3RfbGlicmFyeS9zcmMvbGliL2NoZWNrb3V0L2FkZC1uZXctYWRkcmVzcy9hZGQtbmV3LWFkZHJlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQU92QyxNQUFNLE9BQU8sc0JBQXNCO0lBZ0JqQyxZQUNTLGVBQXNDO1FBQXRDLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtRQWZ4QyxjQUFTLEdBQVEsMEJBQTBCLENBQUM7UUFHbkQsYUFBUSxHQUFRLEVBQUUsQ0FBQztRQUNuQixzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUN2RCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xELFFBQUcsR0FBUSxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLGdCQUFXLEdBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsZUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUMsNkJBQTZCO1FBQzVFLGNBQVMs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QTVELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHakMsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVdJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgbG9hZE1vZHVsZXMgfSBmcm9tICdlc3JpLWxvYWRlcic7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDdXN0b21DaGVja291dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGVja291dC5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYWRkLW5ldy1hZGRyZXNzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLW5ldy1hZGRyZXNzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtbmV3LWFkZHJlc3MuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZE5ld0FkZHJlc3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ21hcFZpZXdOb2RlJywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBtYXBWaWV3RWwhOiBFbGVtZW50UmVmO1xyXG4gIHB1YmxpYyBtYXJrZXJVcmw6IGFueSA9ICdhc3NldHMvaW1hZ2VzL21hcmtlci5zdmcnO1xyXG4gIHZpZXc6IGFueTtcclxuICBASW5wdXQoKSBjb25maXJtZWRBZGRyZXNzOiBhbnk7XHJcbiAgbG9jYXRpb246IGFueSA9IHt9O1xyXG4gIGlzQ29uZmlybURpc2FibGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcclxuICBzaG93QWRkcmVzcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGVudjogYW55ID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnZW52Jyk7XHJcbiAgZW52aXJvbm1lbnQgOiBhbnkgPSBKU09OLnBhcnNlKHRoaXMuZW52KTtcclxuICBhcGlnZWVfdXJsID0gdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBcGlVcmw7IC8vIFBST0Q6ICdhcGkuY29yZWxvZ2ljLmFzaWEnXHJcbiAgY2xpZW50X2lkID0gdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNDbGllbnRJZDtcclxuICBjbGllbnRfc2VjcmV0ID0gdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNDbGllbnRTZWNyZXQ7XHJcbiAgY3VycmVudFBvc2l0aW9uOiBhbnk7XHJcbiAgdG9rZW5fdXJsID0gYGh0dHBzOi8vJHt0aGlzLmFwaWdlZV91cmx9L2FjY2Vzcy9vYXV0aC90b2tlbj9jbGllbnRfaWQ9JHt0aGlzLmNsaWVudF9pZH0mY2xpZW50X3NlY3JldD0ke3RoaXMuY2xpZW50X3NlY3JldH0mZ3JhbnRfdHlwZT1jbGllbnRfY3JlZGVudGlhbHNgO1xyXG4gIEBPdXRwdXQoKSB1cGRhdGVOZXdBZGRyZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY2hlY2tvdXRTZXJ2aWNlOiBDdXN0b21DaGVja291dFNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHBvc2l0aW9uID0+IHtcclxuICAgICAgaWYgKHBvc2l0aW9uICYmIHBvc2l0aW9uLmNvb3Jkcykge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBvc2l0aW9uID0gcG9zaXRpb24uY29vcmRzO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLmNvbmZpcm1lZEFkZHJlc3MgIT0gJycpIHtcclxuICAgICAgdGhpcy5jb25maXJtZWRBZGRyZXNzID0gdGhpcy5jb25maXJtZWRBZGRyZXNzLnJlcGxhY2UoL251bGwvZywgJycpO1xyXG4gICAgICB0aGlzLnNob3dBZGRyZXNzLm5leHQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoZWNrb3V0U2VydmljZS5nZXRUb2tlbih0aGlzLnRva2VuX3VybCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICAgIHRoaXMubG9hZE1hcChyZXNwb25zZS5hY2Nlc3NfdG9rZW4pLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGxvYWRNYXAodG9rZW46IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLm1hcFZpZXdFbC5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgIGNvbnN0IHN0cmVldG1hcFVSTCA9IHRoaXMuZW52aXJvbm1lbnQuY29yZUxvZ2ljU3RyZWV0TWFwVXJsO1xyXG4gICAgLy8gICAvLyBVc2luZyBOWlRNIHNwYXRpYWwgcmVmZXJlbmNlIC0gdGhlIG9wdGlvbiB0byBzd2l0Y2ggdG8gV0dTODQgKGxhdC9sb25nKSBpcyBhdmFpbGFibGUgYXMgYW4gYWx0ZXJuYXRlXHJcblxyXG4gICAgY29uc3QgW1xyXG4gICAgICBNYXBWaWV3LFxyXG4gICAgICBQb2ludCxcclxuICAgICAgV2ViTWFwLFxyXG4gICAgICBTZWFyY2gsXHJcbiAgICAgIFNlYXJjaFNvdXJjZSxcclxuICAgICAgZXNyaVJlcXVlc3QsXHJcbiAgICAgIEdyYXBoaWMsXHJcbiAgICAgIGdlb21ldHJ5RW5naW5lLFxyXG4gICAgICBTcGF0aWFsUmVmZXJlbmNlLFxyXG4gICAgICBUaWxlTGF5ZXIsXHJcbiAgICAgIEJhc2VtYXAsXHJcbiAgICAgIGVzcmlDb25maWcsXHJcbiAgICBdID0gYXdhaXQgbG9hZE1vZHVsZXMoW1xyXG4gICAgICAnZXNyaS92aWV3cy9NYXBWaWV3JyxcclxuICAgICAgJ2VzcmkvZ2VvbWV0cnkvUG9pbnQnLFxyXG4gICAgICAnZXNyaS9XZWJNYXAnLFxyXG4gICAgICAnZXNyaS93aWRnZXRzL1NlYXJjaCcsXHJcbiAgICAgICdlc3JpL3dpZGdldHMvU2VhcmNoL1NlYXJjaFNvdXJjZScsXHJcbiAgICAgICdlc3JpL3JlcXVlc3QnLFxyXG4gICAgICAnZXNyaS9HcmFwaGljJyxcclxuICAgICAgJ2VzcmkvZ2VvbWV0cnkvZ2VvbWV0cnlFbmdpbmUnLFxyXG4gICAgICAnZXNyaS9nZW9tZXRyeS9TcGF0aWFsUmVmZXJlbmNlJyxcclxuICAgICAgXCJlc3JpL2xheWVycy9UaWxlTGF5ZXJcIixcclxuICAgICAgXCJlc3JpL0Jhc2VtYXBcIixcclxuICAgICAgJ2VzcmkvY29uZmlnJyxcclxuICAgIF0pO1xyXG5cclxuICAgIC8vIENyZWF0ZSB0aGUgTWFwIFxyXG4gICAgY29uc3QgY2VudGVyUG9pbnQgPSBuZXcgUG9pbnQoe1xyXG4gICAgICB4OiAxNzYyMDc0LjgzMTk1Njc2MjYsXHJcbiAgICAgIHk6IDU5MTM0MTEuMDQ2NDYyMTgyLFxyXG4gICAgICBzcGF0aWFsUmVmZXJlbmNlOiB7XHJcbiAgICAgICAgd2tpZDogMjE5MyxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gICAgZXNyaUNvbmZpZy5yZXF1ZXN0LmludGVyY2VwdG9ycy5wdXNoKHtcclxuICAgICAgdXJsczogW3N0cmVldG1hcFVSTF0sIC8vIHNldCB0aGUgYHVybHNgIHByb3BlcnR5IHRvIHRoZSBBcGlnZWUgVVJMc1xyXG4gICAgICBiZWZvcmU6IChwYXJhbXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChwYXJhbXMudXJsLmluY2x1ZGVzKHRoaXMuYXBpZ2VlX3VybCkpIHtcclxuICAgICAgICAgIHBhcmFtcy5yZXF1ZXN0T3B0aW9ucy5oZWFkZXJzID0gcGFyYW1zLnJlcXVlc3RPcHRpb25zLmhlYWRlcnMgfHwge307XHJcbiAgICAgICAgICBwYXJhbXMucmVxdWVzdE9wdGlvbnMuaGVhZGVyc1snYXV0aG9yaXphdGlvbiddID0gYEJlYXJlciAke3Rva2VufWA7XHJcbiAgICAgICAgICBwYXJhbXMucmVxdWVzdE9wdGlvbnMuaGVhZGVyc1snQWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1IZWFkZXJzJ10gPSAnYXV0aG9yaXphdGlvbic7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBEZWZhdWx0IGJhc2UgbGF5ZXIgLSBzdHJlZXRtYXBcclxuICAgIGxldCBzdHJlZXRtYXAgPSBuZXcgVGlsZUxheWVyKHtcclxuICAgICAgdXJsOiBzdHJlZXRtYXBVUkxcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIENyZWF0ZSBiYXNlbWFwIGxheWVyc1xyXG4gICAgY29uc3Qgc3RyZWV0bWFwX2Jhc2UgPSBuZXcgQmFzZW1hcCh7XHJcbiAgICAgIGJhc2VMYXllcnM6IFtzdHJlZXRtYXBdLFxyXG4gICAgICB0aXRsZTogXCJTdHJlZXRtYXBcIlxyXG4gICAgfSk7XHJcbiAgICAvLyBlc3JpIG1hcCBcclxuICAgIGNvbnN0IHdlYm1hcCA9IG5ldyBXZWJNYXAoe1xyXG4gICAgICBiYXNlbWFwOiAnc2F0ZWxsaXRlJywgLy9oeWJyaWQsIHNhdGVsbGl0ZSAvLyB3aGljaCBtYXAgdmlldyB3ZSBoYXZlIHRvIHVzZSA/XHJcbiAgICB9KTtcclxuICAgIC8vIENyZWF0ZSB0aGUgbWFwIC0gc3RyZWV0bWFwIGFzIGRlZmF1bHQgYmFzZW1hcFxyXG4gICAgY29uc3QgbXlNYXAgPSBuZXcgV2ViTWFwKHtcclxuICAgICAgYmFzZW1hcDogc3RyZWV0bWFwX2Jhc2VcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHZpZXcgPSBuZXcgTWFwVmlldyh7XHJcbiAgICAgIGNvbnRhaW5lcjogY29udGFpbmVyLFxyXG4gICAgICBtYXA6IG15TWFwLFxyXG4gICAgICBjZW50ZXI6IGNlbnRlclBvaW50LFxyXG4gICAgICB6b29tOiA4LFxyXG4gICAgICBjb25zdHJhaW50czoge1xyXG4gICAgICAgIHNuYXBUb1pvb206IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3Qgc2ltcGxlTWFya2VyU3ltYm9sID0ge1xyXG4gICAgICB0eXBlOiAncGljdHVyZS1tYXJrZXInLFxyXG4gICAgICB1cmw6IHRoaXMubWFya2VyVXJsLFxyXG4gICAgICB3aWR0aDogMjEsXHJcbiAgICAgIGhlaWdodDogMzAsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG1hcEtleXMgPSAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICB0eXBlOiAnRmVhdHVyZScsXHJcbiAgICAgICAgZ2VvbWV0cnk6IHtcclxuICAgICAgICAgIHR5cGU6ICdQb2ludCcsXHJcbiAgICAgICAgICBjb29yZGluYXRlczogW2RhdGE/LmxvY2F0aW9uPy53Z3M4NF9sb24sIGRhdGE/LmxvY2F0aW9uPy53Z3M4NF9sYXRdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcHJvcGVydGllczoge1xyXG4gICAgICAgICAgbGFiZWw6XHJcbiAgICAgICAgICAgIGRhdGE/LmZvcm1hdHRlZF9hZGRyZXNzPy5saW5lMSArXHJcbiAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgIGRhdGE/LmZvcm1hdHRlZF9hZGRyZXNzPy5saW5lMiArXHJcbiAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgIGRhdGE/LmZvcm1hdHRlZF9hZGRyZXNzPy5saW5lMyArXHJcbiAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgIGRhdGE/LmZvcm1hdHRlZF9hZGRyZXNzPy5saW5lNCxcclxuICAgICAgICAgIHNjcm9yZTogMCxcclxuICAgICAgICAgIGlkOiBkYXRhPy5yZWZlcmVuY2VzPy5pZCxcclxuICAgICAgICAgIG5hbWU6IGRhdGE/LmZvcm1hdHRlZF9hZGRyZXNzPy5saW5lMSxcclxuICAgICAgICAgIHBvc3Rjb2RlOiBkYXRhPy5zdHJ1Y3R1cmVkX2FkZHJlc3M/LnBvc3Rjb2RlLFxyXG4gICAgICAgICAgY2l0eWNvZGU6ICcnLFxyXG4gICAgICAgICAgeDogZGF0YT8ubG9jYXRpb24/Lndnczg0X2xvbixcclxuICAgICAgICAgIHk6IGRhdGE/LmxvY2F0aW9uPy53Z3M4NF9sYXQsXHJcbiAgICAgICAgICBjaXR5OiBkYXRhPy5zdHJ1Y3R1cmVkX2FkZHJlc3M/LnJlZ2lvbixcclxuICAgICAgICAgIGNvbnRleHQ6ICcnLFxyXG4gICAgICAgICAgdHlwZTogJ3N0cmVldCcsXHJcbiAgICAgICAgICBpbXBvcnRhbmNlOiAnJyxcclxuICAgICAgICAgIHN0cmVldDogZGF0YT8uc3RydWN0dXJlZF9hZGRyZXNzPy5zdHJlZXRfbmFtZSxcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4gb2JqO1xyXG4gICAgfTtcclxuXHJcblxyXG4gICAgY29uc3QgYXV0b1N1Z2dlc3RVcmwgPSB0aGlzLmVudmlyb25tZW50LmNvcmVMb2dpY0FkZHJlc3NBcGlVcmwgKyAnYXV0b2NvbXBsZXRlLmpzb24/YXBpX2tleT0nICsgdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBZGRyZXNzQXBpa2V5O1xyXG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XHJcblxyXG4gICAgY29uc3QgY3VzdG9tU2VhcmNoU291cmNlID0gbmV3IFNlYXJjaFNvdXJjZSh7XHJcbiAgICAgIHBsYWNlaG9sZGVyOiAnVHlwZSBBZGRyZXNzIGhlcmUgLi4uJyxcclxuICAgICAgLy8gUHJvdmlkZSBhIGdldFN1Z2dlc3Rpb25zIG1ldGhvZFxyXG4gICAgICAvLyB0byBwcm92aWRlIHN1Z2dlc3Rpb25zIHRvIHRoZSBTZWFyY2ggd2lkZ2V0XHJcbiAgICAgIGdldFN1Z2dlc3Rpb25zOiAocGFyYW1zOiBhbnkpID0+IHtcclxuICAgICAgICAvLyBZb3UgY2FuIHJlcXVlc3QgZGF0YSBmcm9tIGFcclxuICAgICAgICAvLyB0aGlyZC1wYXJ0eSBzb3VyY2UgdG8gZmluZCBzb21lXHJcbiAgICAgICAgLy8gc3VnZ2VzdGlvbnMgd2l0aCBwcm92aWRlZCBzdWdnZXN0VGVybVxyXG4gICAgICAgIC8vIHRoZSB1c2VyIHR5cGVzIGluIHRoZSBTZWFyY2ggd2lkZ2V0XHJcbiAgICAgICAgcmV0dXJuIGVzcmlSZXF1ZXN0KGF1dG9TdWdnZXN0VXJsLCB7XHJcbiAgICAgICAgICBxdWVyeToge1xyXG4gICAgICAgICAgICB0ZXJtOiBwYXJhbXMuc3VnZ2VzdFRlcm0ucmVwbGFjZSgvIC9nLCAnKycpLFxyXG4gICAgICAgICAgICBtYXg6IDEwLFxyXG4gICAgICAgICAgICBsYXQ6IHZpZXcuY2VudGVyLmxhdGl0dWRlLFxyXG4gICAgICAgICAgICBsb246IHZpZXcuY2VudGVyLmxvbmdpdHVkZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICB9KS50aGVuKChyZXN1bHRzOiBhbnkpID0+IHtcclxuICAgICAgICAgIC8vIFJldHVybiBTdWdnZXN0aW9uIHJlc3VsdHMgdG8gZGlzcGxheVxyXG4gICAgICAgICAgLy8gaW4gdGhlIFNlYXJjaCB3aWRnZXRcclxuICAgICAgICAgIHJldHVybiByZXN1bHRzPy5kYXRhPy5tYXAoKGZlYXR1cmU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIGtleTogJ25hbWUnLFxyXG4gICAgICAgICAgICAgIHRleHQ6IGZlYXR1cmU/LmxhYmVsLFxyXG4gICAgICAgICAgICAgIGlkOiBmZWF0dXJlPy5pZCxcclxuICAgICAgICAgICAgICBzb3VyY2VJbmRleDogcGFyYW1zLnNvdXJjZUluZGV4LFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIFByb3ZpZGUgYSBnZXRSZXN1bHRzIG1ldGhvZCB0byBmaW5kXHJcbiAgICAgIC8vIHJlc3VsdHMgZnJvbSB0aGUgc3VnZ2VzdGlvbnNcclxuICAgICAgZ2V0UmVzdWx0czogKHBhcmFtczogYW55KSA9PiB7XHJcbiAgICAgICAgLy8gSWYgdGhlIFNlYXJjaCB3aWRnZXQgcGFzc2VzIHRoZSBjdXJyZW50IGxvY2F0aW9uLFxyXG4gICAgICAgIC8vIHlvdSBjYW4gdXNlIHRoaXMgaW4geW91ciBvd24gY3VzdG9tIHNvdXJjZVxyXG4gICAgICAgIGxldCBxdWVyeTogYW55ID0ge307XHJcbiAgICAgICAgLy8gWW91IGNhbiBwZXJmb3JtIGEgZGlmZmVyZW50IHF1ZXJ5IGlmIGEgbG9jYXRpb25cclxuICAgICAgICAvLyBpcyBwcm92aWRlZFxyXG4gICAgICAgIGlmIChwYXJhbXMubG9jYXRpb24pIHtcclxuICAgICAgICAgIHF1ZXJ5LmxhdCA9IHBhcmFtcy5sb2NhdGlvbi5sYXRpdHVkZTtcclxuICAgICAgICAgIHF1ZXJ5LmxvbiA9IHBhcmFtcy5sb2NhdGlvbi5sb25naXR1ZGU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHF1ZXJ5LnEgPSBwYXJhbXMuc3VnZ2VzdFJlc3VsdC50ZXh0LnJlcGxhY2UoLyAvZywgJysnKTtcclxuICAgICAgICAgIHF1ZXJ5LmxpbWl0ID0gNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHBhcmFtcy5zdWdnZXN0UmVzdWx0LnRleHQgPT0gJycpIHtcclxuICAgICAgICAgIHZhciBsYXQgPSBwYXJhbXMubG9jYXRpb24ueTtcclxuICAgICAgICAgIHZhciBsb24gPSBwYXJhbXMubG9jYXRpb24ueDtcclxuXHJcbiAgICAgICAgICB2aWV3LmdvVG8oe1xyXG4gICAgICAgICAgICBjZW50ZXI6IG5ldyBQb2ludCh7XHJcbiAgICAgICAgICAgICAgeDogbG9uLFxyXG4gICAgICAgICAgICAgIHk6IGxhdCxcclxuICAgICAgICAgICAgICBzcGF0aWFsUmVmZXJlbmNlOiB7XHJcbiAgICAgICAgICAgICAgICB3a2lkOiAyMTkzXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgICAgY29uc3QgbG9jYXRpb24gPSB7XHJcbiAgICAgICAgICAgIGxvbmdpdHVkZTogbG9uLFxyXG4gICAgICAgICAgICBsYXRpdHVkZTogbGF0XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBZGRyZXNzQXBpVXJsICsgJ3JldmVyc2VnZW9jb2RlLmpzb24/YXBpX2tleT0nKyB0aGlzLmVudmlyb25tZW50LmNvcmVMb2dpY0FkZHJlc3NBcGlrZXkgKyAnJmxpbWl0PTEmZm9ybWF0dGVkPTEmc3JpZD0yMTkzJzsgICAgICAgICBcclxuICAgICAgICAgICBzZWxmLmNoZWNrb3V0U2VydmljZS5nZXRDbGlja0dlb0xvY2F0aW9uQWRkcmVzcyh1cmwsIGxvY2F0aW9uKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlICE9IHVuZGVmaW5lZCAmJiByZXNwb25zZS5kYXRhICYmIHJlc3BvbnNlLmRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMubG9jYXRpb24uc2VsZWN0ZWRBZGRyZXNzID0gcmVzcG9uc2U/LmRhdGFbMF0uYXR0cmlidXRlcz8ubGFiZWw7XHJcbiAgICAgICAgICAgICAgLy9jb25zdCBhZnRlclNlYXJjaENvbXBsZXRlVXJsID0gJ2h0dHBzOi8vdWF0LmFkZHJlc3NyaWdodC5jby5uei9hZGRyZXNzLmpzb24/YXBpX2tleT0yOTI2MzNfeHZzZTJad1h5SjZncWhNViZpZD0nICsgcmVzcG9uc2U/LmRhdGFbMF0ucmVsYXRpb25zaGlwcz8uYWRkcmVzcz8uZGF0YT8uaWRcclxuICAgICAgICAgICAgICBjb25zdCBhZnRlclNlYXJjaENvbXBsZXRlVXJsID0gdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBZGRyZXNzQXBpVXJsICsgJ2FkZHJlc3MuanNvbj9hcGlfa2V5PScrIHRoaXMuZW52aXJvbm1lbnQuY29yZUxvZ2ljQWRkcmVzc0FwaWtleSArJyZpZD0nICsgcmVzcG9uc2U/LmRhdGFbMF0ucmVsYXRpb25zaGlwcz8uYWRkcmVzcz8uZGF0YT8uaWRcclxuICAgICAgICAgICAgICBsZXQgcXVlcnk6IGFueSA9IHt9O1xyXG4gICAgICAgICAgICAgIHF1ZXJ5LmxhdCA9IGxhdDtcclxuICAgICAgICAgICAgICBxdWVyeS5sb24gPSBsb247XHJcbiAgICAgICAgICAgICAgZXNyaVJlcXVlc3QoYWZ0ZXJTZWFyY2hDb21wbGV0ZVVybCwgeyBxdWVyeTogcXVlcnksIHJlc3BvbnNlVHlwZTogJ2pzb24nIH0pLnRoZW4oKHJlc3VsdHM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdHMpIHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgZmVhdHVyZSA9IG1hcEtleXMocmVzdWx0cy5kYXRhKTtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgbG9jYXRpb24gPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbG9uOiBmZWF0dXJlPy5nZW9tZXRyeT8uY29vcmRpbmF0ZXNbMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgbGF0OiBmZWF0dXJlPy5nZW9tZXRyeT8uY29vcmRpbmF0ZXNbMV1cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uID0gbG9jYXRpb247XHJcbiAgICAgICAgICAgICAgICAgIC8vIFBhcnNlIHRoZSByZXN1bHRzIG9mIHlvdXIgY3VzdG9tIHNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICB0aGlzLnBvcHVsYXRlRGF0YShyZXN1bHRzLCBsb2NhdGlvbik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAvLyBDcmVhdGUgYSBHcmFwaGljIHRoZSBTZWFyY2ggd2lkZ2V0IGNhbiBkaXNwbGF5XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb24uc2VsZWN0ZWRBZGRyZXNzID0gZmVhdHVyZT8ucHJvcGVydGllcz8ubGFiZWw7XHJcbiAgICAgICAgICAgICAgICAgIHZpZXcuZ3JhcGhpY3MgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBjb29yZGluYXRlcyBvZiB0aGUgY2xpY2sgb24gdGhlIHZpZXdcclxuICAgICAgICAgICAgICAgICAgY29uc3QgcG9pbnQgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3BvaW50JyxcclxuICAgICAgICAgICAgICAgICAgICB4OiBmZWF0dXJlPy5nZW9tZXRyeT8uY29vcmRpbmF0ZXNbMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgeTogZmVhdHVyZT8uZ2VvbWV0cnk/LmNvb3JkaW5hdGVzWzFdLFxyXG4gICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgY29uc3QgcG9pbnRHcmFwaGljID0gbmV3IEdyYXBoaWMoe1xyXG4gICAgICAgICAgICAgICAgICAgIGdlb21ldHJ5OiBwb2ludCxcclxuICAgICAgICAgICAgICAgICAgICBzeW1ib2w6IHNpbXBsZU1hcmtlclN5bWJvbCxcclxuICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIHZpZXcuZ3JhcGhpY3MuYWRkKHBvaW50R3JhcGhpYyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmlzQ29uZmlybURpc2FibGVkLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNob3dBZGRyZXNzLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMub25Db25maXJtZWRDbGljaygpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuXHJcbiAgICAgICAgICBjb25zdCBhZnRlclNlYXJjaENvbXBsZXRlVXJsID0gdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBZGRyZXNzQXBpVXJsICsgJ2FkZHJlc3MuanNvbj9hcGlfa2V5PScrIHRoaXMuZW52aXJvbm1lbnQuY29yZUxvZ2ljQWRkcmVzc0FwaWtleSArJyZpZD0nICsgcGFyYW1zPy5zdWdnZXN0UmVzdWx0Py5pZDtcclxuXHJcbiAgICAgICAgICByZXR1cm4gZXNyaVJlcXVlc3QoYWZ0ZXJTZWFyY2hDb21wbGV0ZVVybCwge1xyXG4gICAgICAgICAgICBxdWVyeTogcXVlcnksXHJcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgfSkudGhlbigocmVzdWx0czogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIC8vIFBhcnNlIHRoZSByZXN1bHRzIG9mIHlvdXIgY3VzdG9tIHNlYXJjaFxyXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gW3Jlc3VsdHMuZGF0YV07XHJcbiAgICAgICAgICAgIHRoaXMuaXNDb25maXJtRGlzYWJsZWQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICAgIGxldCBsb2NhdGlvbiA9IHtcclxuICAgICAgICAgICAgICBsb246IGRhdGFbMF0ubG9jYXRpb24ud2dzODRfbG9uLFxyXG4gICAgICAgICAgICAgIGxhdDogZGF0YVswXS5sb2NhdGlvbi53Z3M4NF9sYXRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnBvcHVsYXRlRGF0YShyZXN1bHRzLCBsb2NhdGlvbilcclxuICAgICAgICAgICAgY29uc3Qgc2VhcmNoUmVzdWx0cyA9IGRhdGE/Lm1hcCgoZmVhdHVyZSkgPT4ge1xyXG4gICAgICAgICAgICAgIC8vIENyZWF0ZSBhIEdyYXBoaWMgdGhlIFNlYXJjaCB3aWRnZXQgY2FuIGRpc3BsYXlcclxuICAgICAgICAgICAgICBmZWF0dXJlID0gbWFwS2V5cyhmZWF0dXJlKTtcclxuICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uLnNlbGVjdGVkQWRkcmVzcyA9IGZlYXR1cmU/LnByb3BlcnRpZXM/LmxhYmVsO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGdyYXBoaWMgPSBuZXcgR3JhcGhpYyh7XHJcbiAgICAgICAgICAgICAgICBnZW9tZXRyeTogbmV3IFBvaW50KHtcclxuICAgICAgICAgICAgICAgICAgeDogZmVhdHVyZT8uZ2VvbWV0cnk/LmNvb3JkaW5hdGVzWzBdLFxyXG4gICAgICAgICAgICAgICAgICB5OiBmZWF0dXJlPy5nZW9tZXRyeT8uY29vcmRpbmF0ZXNbMV0sXHJcbiAgICAgICAgICAgICAgICAgIC8vc3BhdGlhbFJlZmVyZW5jZTogc2VsZj8udmlldy5zcGF0aWFsUmVmZXJlbmNlLFxyXG4gICAgICAgICAgICAgICAgICBzcGF0aWFsUmVmZXJlbmNlOiBTcGF0aWFsUmVmZXJlbmNlLldHUzg0LFxyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBmZWF0dXJlPy5wcm9wZXJ0aWVzLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIC8vIE9wdGlvbmFsbHksIHlvdSBjYW4gcHJvdmlkZSBhbiBleHRlbnQgZm9yXHJcbiAgICAgICAgICAgICAgLy8gYSBwb2ludCByZXN1bHQsIHNvIHRoZSB2aWV3IGNhbiB6b29tIHRvIGl0XHJcbiAgICAgICAgICAgICAgY29uc3QgYnVmZmVyID0gZ2VvbWV0cnlFbmdpbmUuZ2VvZGVzaWNCdWZmZXIoXHJcbiAgICAgICAgICAgICAgICBncmFwaGljLmdlb21ldHJ5LFxyXG4gICAgICAgICAgICAgICAgMTAwLFxyXG4gICAgICAgICAgICAgICAgJ21ldGVycydcclxuICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAvLyBSZXR1cm4gYSBTZWFyY2ggUmVzdWx0XHJcbiAgICAgICAgICAgICAgY29uc3Qgc2VhcmNoUmVzdWx0ID0ge1xyXG4gICAgICAgICAgICAgICAgZXh0ZW50OiBidWZmZXI/LmV4dGVudCxcclxuICAgICAgICAgICAgICAgIGZlYXR1cmU6IGdyYXBoaWMsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBmZWF0dXJlPy5wcm9wZXJ0aWVzPy5sYWJlbC5yZXBsYWNlKC9udWxsL2csICcnKSxcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIHJldHVybiBzZWFyY2hSZXN1bHQ7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgLy8gUmV0dXJuIGFuIGFycmF5IG9mIFNlYXJjaCBSZXN1bHRzXHJcbiAgICAgICAgICAgIHJldHVybiBzZWFyY2hSZXN1bHRzO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3Qgc2VhcmNoV2lkZ2V0ID0gbmV3IFNlYXJjaCh7XHJcbiAgICAgIHZpZXc6IHZpZXcsXHJcbiAgICAgIHNvdXJjZXM6IFtjdXN0b21TZWFyY2hTb3VyY2VdLFxyXG4gICAgICBpbmNsdWRlRGVmYXVsdFNvdXJjZXM6IGZhbHNlLFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gQWRkIHRoZSB3aWRnZXQgdG8gdGhlIHRvcC1yaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdcclxuICAgIHZpZXcudWkuYWRkKHNlYXJjaFdpZGdldCwge1xyXG4gICAgICBwb3NpdGlvbjogJ3RvcC1yaWdodCcsXHJcbiAgICAgIGluZGV4OiAyLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy52aWV3ID0gdmlldztcclxuXHJcbiAgICBzZWFyY2hXaWRnZXQub24oJ3NlYXJjaC1jb21wbGV0ZScsIChldmVudDogYW55KSA9PiB7XHJcbiAgICB9KTtcclxuXHJcbiAgICBzZWFyY2hXaWRnZXQub24oJ3NlbGVjdC1yZXN1bHQnLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgfSk7XHJcblxyXG4gICAgdmlldy5vbignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgIHRoaXMuaXNDb25maXJtRGlzYWJsZWQubmV4dChmYWxzZSk7XHJcblxyXG4gICAgICB2YXIgbGF0ID0gZXZlbnQubWFwUG9pbnQueTtcclxuICAgICAgdmFyIGxvbiA9IGV2ZW50Lm1hcFBvaW50Lng7XHJcbiAgICAgIHZpZXcuZ29Ubyh7XHJcbiAgICAgICAgY2VudGVyOiBuZXcgUG9pbnQoe1xyXG4gICAgICAgICAgeDogbG9uLFxyXG4gICAgICAgICAgeTogbGF0LFxyXG4gICAgICAgICAgc3BhdGlhbFJlZmVyZW5jZToge1xyXG4gICAgICAgICAgICB3a2lkOiAyMTkzXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBwb2ludCA9IHtcclxuICAgICAgICB0eXBlOiAncG9pbnQnLFxyXG4gICAgICAgIHg6IGxvbixcclxuICAgICAgICB5OiBsYXQsXHJcbiAgICAgICAgc3BhdGlhbFJlZmVyZW5jZToge1xyXG4gICAgICAgICAgd2tpZDogMjE5M1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgY29uc3QgcG9pbnRHcmFwaGljID0gbmV3IEdyYXBoaWMoe1xyXG4gICAgICAgIGdlb21ldHJ5OiBwb2ludCxcclxuICAgICAgICBzeW1ib2w6IHNpbXBsZU1hcmtlclN5bWJvbCxcclxuICAgICAgfSk7XHJcbiAgICAgIHZpZXcuZ3JhcGhpY3MgPSBbXTtcclxuICAgICAgdmlldy5ncmFwaGljcy5hZGQocG9pbnRHcmFwaGljKTtcclxuICAgICAgY29uc3QgbG9jYXRpb24gPSB7XHJcbiAgICAgICAgbG9uZ2l0dWRlOiBsb24sXHJcbiAgICAgICAgbGF0aXR1ZGU6IGxhdFxyXG4gICAgICB9XHJcbiAgICAgLy9jb25zdCB1cmwgPSAnaHR0cHM6Ly91YXQuYWRkcmVzc3JpZ2h0LmNvLm56L3JldmVyc2VnZW9jb2RlLmpzb24/YXBpX2tleT0yOTI2MzNfeHZzZTJad1h5SjZncWhNViZsaW1pdD0xJmZvcm1hdHRlZD0xJnNyaWQ9MjE5Myc7XHJcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMuZW52aXJvbm1lbnQuY29yZUxvZ2ljQWRkcmVzc0FwaVVybCArICdyZXZlcnNlZ2VvY29kZS5qc29uP2FwaV9rZXk9JysgdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBZGRyZXNzQXBpa2V5ICsgJyZsaW1pdD0xJmZvcm1hdHRlZD0xJnNyaWQ9MjE5Myc7XHJcbiAgICAgIHNlbGYuY2hlY2tvdXRTZXJ2aWNlXHJcbiAgICAgICAgLmdldENsaWNrR2VvTG9jYXRpb25BZGRyZXNzKHVybCwgbG9jYXRpb24pXHJcbiAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgIChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZSAhPSB1bmRlZmluZWQgJiYgcmVzcG9uc2UuZGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5zZWxlY3RlZEFkZHJlc3MgPSByZXNwb25zZT8uZGF0YVswXS5hdHRyaWJ1dGVzPy5sYWJlbDtcclxuICAgICAgICAgICAgICAvL2NvbnN0IGFmdGVyU2VhcmNoQ29tcGxldGVVcmwgPSAnaHR0cHM6Ly91YXQuYWRkcmVzc3JpZ2h0LmNvLm56L2FkZHJlc3MuanNvbj9hcGlfa2V5PTI5MjYzM194dnNlMlp3WHlKNmdxaE1WJmlkPScgKyByZXNwb25zZT8uZGF0YVswXS5yZWxhdGlvbnNoaXBzPy5hZGRyZXNzPy5kYXRhPy5pZDtcclxuICAgICAgICAgICAgICBjb25zdCBhZnRlclNlYXJjaENvbXBsZXRlVXJsID0gdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBZGRyZXNzQXBpVXJsICsgJ2FkZHJlc3MuanNvbj9hcGlfa2V5PScrIHRoaXMuZW52aXJvbm1lbnQuY29yZUxvZ2ljQWRkcmVzc0FwaWtleSArJyZpZD0nICsgcmVzcG9uc2U/LmRhdGFbMF0ucmVsYXRpb25zaGlwcz8uYWRkcmVzcz8uZGF0YT8uaWQ7XHJcblxyXG4gICAgICAgICAgICAgIGxldCBxdWVyeTogYW55ID0ge307XHJcbiAgICAgICAgICAgICAgcXVlcnkubGF0ID0gbGF0O1xyXG4gICAgICAgICAgICAgIHF1ZXJ5LmxvbiA9IGxvbjtcclxuICAgICAgICAgICAgICBlc3JpUmVxdWVzdChhZnRlclNlYXJjaENvbXBsZXRlVXJsLCB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeTogcXVlcnksXHJcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcclxuICAgICAgICAgICAgICB9KS50aGVuKChyZXN1bHRzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHRzKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjb25zdCBmZWF0dXJlID0gbWFwS2V5cyhyZXN1bHRzLmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBsb2NhdGlvbiA9IHtcclxuICAgICAgICAgICAgICAgICAgICBsb246IGZlYXR1cmU/Lmdlb21ldHJ5Py5jb29yZGluYXRlc1swXSxcclxuICAgICAgICAgICAgICAgICAgICBsYXQ6IGZlYXR1cmU/Lmdlb21ldHJ5Py5jb29yZGluYXRlc1sxXVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb24gPSBsb2NhdGlvbjtcclxuICAgICAgICAgICAgICAgICAgLy8gUGFyc2UgdGhlIHJlc3VsdHMgb2YgeW91ciBjdXN0b20gc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVEYXRhKHJlc3VsdHMsIGxvY2F0aW9uKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhIEdyYXBoaWMgdGhlIFNlYXJjaCB3aWRnZXQgY2FuIGRpc3BsYXlcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5zZWxlY3RlZEFkZHJlc3MgPSBmZWF0dXJlPy5wcm9wZXJ0aWVzPy5sYWJlbDtcclxuICAgICAgICAgICAgICAgICAgLy8gdmlldy5ncmFwaGljcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAvLyBHZXQgdGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBjbGljayBvbiB0aGUgdmlld1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBwb2ludCA9IHtcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAncG9pbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgIHg6IGZlYXR1cmU/Lmdlb21ldHJ5Py5jb29yZGluYXRlc1swXSxcclxuICAgICAgICAgICAgICAgICAgICB5OiBmZWF0dXJlPy5nZW9tZXRyeT8uY29vcmRpbmF0ZXNbMV0sXHJcbiAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICBjb25zdCBwb2ludEdyYXBoaWMgPSBuZXcgR3JhcGhpYyh7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2VvbWV0cnk6IHBvaW50LFxyXG4gICAgICAgICAgICAgICAgICAgIHN5bWJvbDogc2ltcGxlTWFya2VyU3ltYm9sLFxyXG4gICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgLy8gdmlldy5ncmFwaGljcy5hZGQocG9pbnRHcmFwaGljKTtcclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMudmlldy53aGVuKCk7XHJcbiAgfVxyXG4gIG9uQ29uZmlybWVkQ2xpY2soKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1lZEFkZHJlc3MgPSB0aGlzLmxvY2F0aW9uLnNlbGVjdGVkQWRkcmVzcy5yZXBsYWNlKC9udWxsL2csICcnKTtcclxuICAgIHRoaXMudXBkYXRlTmV3QWRkcmVzcy5lbWl0KHRoaXMubG9jYXRpb24pO1xyXG4gICAgdGhpcy5zaG93QWRkcmVzcy5uZXh0KHRydWUpO1xyXG4gIH1cclxuICBwb3B1bGF0ZURhdGEocmVzdWx0czogYW55LCBsb2NhdGlvbjogYW55KSB7XHJcblxyXG4gICAgY29uc3QgZGF0YSA9IHJlc3VsdHMuZGF0YTtcclxuICAgIGNvbnN0IG5ld0FkZHJlc3M6IGFueSA9IHtcclxuICAgICAgbGluZTE6IGRhdGEuZm9ybWF0dGVkX2FkZHJlc3M/LmxpbmUxLFxyXG4gICAgICBsaW5lMjogZGF0YS5mb3JtYXR0ZWRfYWRkcmVzcz8ubGluZTIsXHJcbiAgICAgIHRvd246IGRhdGEuc3RydWN0dXJlZF9hZGRyZXNzPy50b3duLFxyXG4gICAgICBkaXN0cmljdDogZGF0YS5zdHJ1Y3R1cmVkX2FkZHJlc3M/LnN1YnVyYixcclxuICAgICAgcG9zdGFsQ29kZTogZGF0YS5zdHJ1Y3R1cmVkX2FkZHJlc3M/LnBvc3Rjb2RlLFxyXG4gICAgICBsb25naXR1ZGU6IGxvY2F0aW9uLmxvbixcclxuICAgICAgbGF0aXR1ZGU6IGxvY2F0aW9uLmxhdCxcclxuICAgIH1cclxuICAgIG5ld0FkZHJlc3Muc2VsZWN0ZWRBZGRyZXNzID0gdGhpcy5sb2NhdGlvbi5zZWxlY3RlZEFkZHJlc3M7XHJcbiAgICB0aGlzLmxvY2F0aW9uID0gbmV3QWRkcmVzcztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvcmVsb2dpYy1tYXBcIiAjbWFwVmlld05vZGU+PC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJjb25maXJtLWNsc1wiPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cImlzQ29uZmlybURpc2FibGVkIHwgYXN5bmNcIiAoY2xpY2spPVwib25Db25maXJtZWRDbGljaygpXCIgY2xhc3M9XCJidG4gcHJpbWFyeS1idXR0b24gbXQtNFwiPkNvbmZpcm08L2J1dHRvbj5cclxuICAgIDxsYWJlbCAqbmdJZj1cInNob3dBZGRyZXNzIHwgYXN5bmNcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5Db25maXJtZWQgRGVsaXZlcnkgQWRkcmVzcyA8L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1hcC1zZWxlY3RlZC1hZGRyZXNzXCIgKm5nSWY9XCJzaG93QWRkcmVzcyB8IGFzeW5jXCIgaWQ9XCJhZGRyZXNzXCI+XHJcbiAgICAgICAge3tjb25maXJtZWRBZGRyZXNzfX08L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
442
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW5ldy1hZGRyZXNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J1aWxkaW5ncHJvZHVjdF9saWJyYXJ5L3NyYy9saWIvY2hlY2tvdXQvYWRkLW5ldy1hZGRyZXNzL2FkZC1uZXctYWRkcmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9idWlsZGluZ3Byb2R1Y3RfbGlicmFyeS9zcmMvbGliL2NoZWNrb3V0L2FkZC1uZXctYWRkcmVzcy9hZGQtbmV3LWFkZHJlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQU92QyxNQUFNLE9BQU8sc0JBQXNCO0lBaUJqQyxZQUNTLGVBQXNDO1FBQXRDLG9CQUFlLEdBQWYsZUFBZSxDQUF1QjtRQWhCeEMsY0FBUyxHQUFRLDBCQUEwQixDQUFDO1FBR25ELGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsc0JBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDdkQsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsRCxRQUFHLEdBQVEsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxnQkFBVyxHQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLGVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDLDZCQUE2QjtRQUM1RSxjQUFT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Q25DLE1BQU0sRUFBRSxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTTtZQUN2QyxVQUFVLEVBQUUsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLFFBQVE7WUFDN0MsU0FBUyxFQUFFLFFBQVEsQ0FBQyxHQUFHO1lBQ3ZCLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRztTQUN2QixDQUFBO1FBQ0QsVUFBVSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDOztvSEFuZFUsc0JBQXNCO3dHQUF0QixzQkFBc0Isd1JDVm5DLG90QkFVQTs0RkRBYSxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsV0FBVyxFQUFFLGtDQUFrQztvQkFDL0MsU0FBUyxFQUFFLENBQUMsa0NBQWtDLENBQUM7aUJBQ2hEOzRHQUVxRCxTQUFTO3NCQUE1RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR2pDLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFXSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IGxvYWRNb2R1bGVzIH0gZnJvbSAnZXNyaS1sb2FkZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ3VzdG9tQ2hlY2tvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hlY2tvdXQuc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFkZC1uZXctYWRkcmVzcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1uZXctYWRkcmVzcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLW5ldy1hZGRyZXNzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZE5ld0FkZHJlc3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ21hcFZpZXdOb2RlJywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBtYXBWaWV3RWwhOiBFbGVtZW50UmVmO1xyXG4gIHB1YmxpYyBtYXJrZXJVcmw6IGFueSA9ICdhc3NldHMvaW1hZ2VzL21hcmtlci5zdmcnO1xyXG4gIHZpZXc6IGFueTtcclxuICBASW5wdXQoKSBjb25maXJtZWRBZGRyZXNzOiBhbnk7XHJcbiAgbG9jYXRpb246IGFueSA9IHt9O1xyXG4gIGlzQ29uZmlybURpc2FibGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcclxuICBzaG93QWRkcmVzcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIGVudjogYW55ID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnZW52Jyk7XHJcbiAgZW52aXJvbm1lbnQgOiBhbnkgPSBKU09OLnBhcnNlKHRoaXMuZW52KTtcclxuICBhcGlnZWVfdXJsID0gdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBcGlVcmw7IC8vIFBST0Q6ICdhcGkuY29yZWxvZ2ljLmFzaWEnXHJcbiAgY2xpZW50X2lkID0gdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNDbGllbnRJZDtcclxuICBjbGllbnRfc2VjcmV0ID0gdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNDbGllbnRTZWNyZXQ7XHJcbiAgY3VycmVudFBvc2l0aW9uOiBhbnk7XHJcbiAgdG9rZW5fdXJsID0gYGh0dHBzOi8vJHt0aGlzLmFwaWdlZV91cmx9L2FjY2Vzcy9vYXV0aC90b2tlbj9jbGllbnRfaWQ9JHt0aGlzLmNsaWVudF9pZH0mY2xpZW50X3NlY3JldD0ke3RoaXMuY2xpZW50X3NlY3JldH0mZ3JhbnRfdHlwZT1jbGllbnRfY3JlZGVudGlhbHNgO1xyXG4gIEBPdXRwdXQoKSB1cGRhdGVOZXdBZGRyZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgZXJyb3JJbmQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY2hlY2tvdXRTZXJ2aWNlOiBDdXN0b21DaGVja291dFNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHBvc2l0aW9uID0+IHtcclxuICAgICAgaWYgKHBvc2l0aW9uICYmIHBvc2l0aW9uLmNvb3Jkcykge1xyXG4gICAgICAgIHRoaXMuY3VycmVudFBvc2l0aW9uID0gcG9zaXRpb24uY29vcmRzO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmICh0aGlzLmNvbmZpcm1lZEFkZHJlc3MgIT0gJycpIHtcclxuICAgICAgdGhpcy5jb25maXJtZWRBZGRyZXNzID0gdGhpcy5jb25maXJtZWRBZGRyZXNzLnJlcGxhY2UoL251bGwvZywgJycpO1xyXG4gICAgICB0aGlzLnNob3dBZGRyZXNzLm5leHQodHJ1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoZWNrb3V0U2VydmljZS5nZXRUb2tlbih0aGlzLnRva2VuX3VybCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICAgIHRoaXMubG9hZE1hcChyZXNwb25zZS5hY2Nlc3NfdG9rZW4pLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGxvYWRNYXAodG9rZW46IGFueSk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLm1hcFZpZXdFbC5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgIGNvbnN0IHN0cmVldG1hcFVSTCA9IHRoaXMuZW52aXJvbm1lbnQuY29yZUxvZ2ljU3RyZWV0TWFwVXJsO1xyXG4gICAgLy8gVXNpbmcgTlpUTSBzcGF0aWFsIHJlZmVyZW5jZSAtIHRoZSBvcHRpb24gdG8gc3dpdGNoIHRvIFdHUzg0IChsYXQvbG9uZykgaXMgYXZhaWxhYmxlIGFzIGFuIGFsdGVybmF0ZVxyXG5cclxuICAgIGNvbnN0IFtcclxuICAgICAgTWFwVmlldyxcclxuICAgICAgUG9pbnQsXHJcbiAgICAgIFdlYk1hcCxcclxuICAgICAgU2VhcmNoLFxyXG4gICAgICBTZWFyY2hTb3VyY2UsXHJcbiAgICAgIGVzcmlSZXF1ZXN0LFxyXG4gICAgICBHcmFwaGljLFxyXG4gICAgICBnZW9tZXRyeUVuZ2luZSxcclxuICAgICAgU3BhdGlhbFJlZmVyZW5jZSxcclxuICAgICAgVGlsZUxheWVyLFxyXG4gICAgICBCYXNlbWFwLFxyXG4gICAgICBlc3JpQ29uZmlnLFxyXG4gICAgXSA9IGF3YWl0IGxvYWRNb2R1bGVzKFtcclxuICAgICAgJ2Vzcmkvdmlld3MvTWFwVmlldycsXHJcbiAgICAgICdlc3JpL2dlb21ldHJ5L1BvaW50JyxcclxuICAgICAgJ2VzcmkvV2ViTWFwJyxcclxuICAgICAgJ2Vzcmkvd2lkZ2V0cy9TZWFyY2gnLFxyXG4gICAgICAnZXNyaS93aWRnZXRzL1NlYXJjaC9TZWFyY2hTb3VyY2UnLFxyXG4gICAgICAnZXNyaS9yZXF1ZXN0JyxcclxuICAgICAgJ2VzcmkvR3JhcGhpYycsXHJcbiAgICAgICdlc3JpL2dlb21ldHJ5L2dlb21ldHJ5RW5naW5lJyxcclxuICAgICAgJ2VzcmkvZ2VvbWV0cnkvU3BhdGlhbFJlZmVyZW5jZScsXHJcbiAgICAgIFwiZXNyaS9sYXllcnMvVGlsZUxheWVyXCIsXHJcbiAgICAgIFwiZXNyaS9CYXNlbWFwXCIsXHJcbiAgICAgICdlc3JpL2NvbmZpZycsXHJcbiAgICBdKTtcclxuXHJcbiAgICAvLyBDcmVhdGUgdGhlIE1hcCBcclxuICAgIGNvbnN0IGNlbnRlclBvaW50ID0gbmV3IFBvaW50KHtcclxuICAgICAgeDogMTcxOTA3MS45OSxcclxuICAgICAgeTogNTQyODU3OS4wNyxcclxuICAgICAgc3BhdGlhbFJlZmVyZW5jZToge1xyXG4gICAgICAgIHdraWQ6IDIxOTMsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIGVzcmlDb25maWcucmVxdWVzdC5pbnRlcmNlcHRvcnMucHVzaCh7XHJcbiAgICAgIHVybHM6IFtzdHJlZXRtYXBVUkxdLCAvLyBzZXQgdGhlIGB1cmxzYCBwcm9wZXJ0eSB0byB0aGUgQXBpZ2VlIFVSTHNcclxuICAgICAgYmVmb3JlOiAocGFyYW1zOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocGFyYW1zLnVybC5pbmNsdWRlcyh0aGlzLmFwaWdlZV91cmwpKSB7XHJcbiAgICAgICAgICBwYXJhbXMucmVxdWVzdE9wdGlvbnMuaGVhZGVycyA9IHBhcmFtcy5yZXF1ZXN0T3B0aW9ucy5oZWFkZXJzIHx8IHt9O1xyXG4gICAgICAgICAgcGFyYW1zLnJlcXVlc3RPcHRpb25zLmhlYWRlcnNbJ2F1dGhvcml6YXRpb24nXSA9IGBCZWFyZXIgJHt0b2tlbn1gO1xyXG4gICAgICAgICAgcGFyYW1zLnJlcXVlc3RPcHRpb25zLmhlYWRlcnNbJ0FjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVycyddID0gJ2F1dGhvcml6YXRpb24nO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gRGVmYXVsdCBiYXNlIGxheWVyIC0gc3RyZWV0bWFwXHJcbiAgICBsZXQgc3RyZWV0bWFwID0gbmV3IFRpbGVMYXllcih7XHJcbiAgICAgIHVybDogc3RyZWV0bWFwVVJMXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBDcmVhdGUgYmFzZW1hcCBsYXllcnNcclxuICAgIGNvbnN0IHN0cmVldG1hcF9iYXNlID0gbmV3IEJhc2VtYXAoe1xyXG4gICAgICBiYXNlTGF5ZXJzOiBbc3RyZWV0bWFwXSxcclxuICAgICAgdGl0bGU6IFwiU3RyZWV0bWFwXCJcclxuICAgIH0pO1xyXG4gICAgLy8gZXNyaSBtYXAgXHJcbiAgICBjb25zdCB3ZWJtYXAgPSBuZXcgV2ViTWFwKHtcclxuICAgICAgYmFzZW1hcDogJ3NhdGVsbGl0ZScsIC8vaHlicmlkLCBzYXRlbGxpdGUgLy8gd2hpY2ggbWFwIHZpZXcgd2UgaGF2ZSB0byB1c2UgP1xyXG4gICAgfSk7XHJcbiAgICAvLyBDcmVhdGUgdGhlIG1hcCAtIHN0cmVldG1hcCBhcyBkZWZhdWx0IGJhc2VtYXBcclxuICAgIGNvbnN0IG15TWFwID0gbmV3IFdlYk1hcCh7XHJcbiAgICAgIGJhc2VtYXA6IHN0cmVldG1hcF9iYXNlXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCB2aWV3ID0gbmV3IE1hcFZpZXcoe1xyXG4gICAgICBjb250YWluZXI6IGNvbnRhaW5lcixcclxuICAgICAgbWFwOiBteU1hcCxcclxuICAgICAgY2VudGVyOiBjZW50ZXJQb2ludCxcclxuICAgICAgem9vbTogMixcclxuICAgICAgY29uc3RyYWludHM6IHtcclxuICAgICAgICBzbmFwVG9ab29tOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IHNpbXBsZU1hcmtlclN5bWJvbCA9IHtcclxuICAgICAgdHlwZTogJ3BpY3R1cmUtbWFya2VyJyxcclxuICAgICAgdXJsOiB0aGlzLm1hcmtlclVybCxcclxuICAgICAgd2lkdGg6IDIxLFxyXG4gICAgICBoZWlnaHQ6IDMwLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBtYXBLZXlzID0gKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgICAgdHlwZTogJ0ZlYXR1cmUnLFxyXG4gICAgICAgIGdlb21ldHJ5OiB7XHJcbiAgICAgICAgICB0eXBlOiAnUG9pbnQnLFxyXG4gICAgICAgICAgY29vcmRpbmF0ZXM6IFtkYXRhPy5sb2NhdGlvbj8ud2dzODRfbG9uLCBkYXRhPy5sb2NhdGlvbj8ud2dzODRfbGF0XSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgICAgIGxhYmVsOlxyXG4gICAgICAgICAgICBkYXRhPy5mb3JtYXR0ZWRfYWRkcmVzcz8ubGluZTEgK1xyXG4gICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICBkYXRhPy5mb3JtYXR0ZWRfYWRkcmVzcz8ubGluZTIgK1xyXG4gICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICBkYXRhPy5mb3JtYXR0ZWRfYWRkcmVzcz8ubGluZTMgK1xyXG4gICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICBkYXRhPy5mb3JtYXR0ZWRfYWRkcmVzcz8ubGluZTQsXHJcbiAgICAgICAgICBzY3JvcmU6IDAsXHJcbiAgICAgICAgICBpZDogZGF0YT8ucmVmZXJlbmNlcz8uaWQsXHJcbiAgICAgICAgICBuYW1lOiBkYXRhPy5mb3JtYXR0ZWRfYWRkcmVzcz8ubGluZTEsXHJcbiAgICAgICAgICBwb3N0Y29kZTogZGF0YT8uc3RydWN0dXJlZF9hZGRyZXNzPy5wb3N0Y29kZSxcclxuICAgICAgICAgIGNpdHljb2RlOiAnJyxcclxuICAgICAgICAgIHg6IGRhdGE/LmxvY2F0aW9uPy53Z3M4NF9sb24sXHJcbiAgICAgICAgICB5OiBkYXRhPy5sb2NhdGlvbj8ud2dzODRfbGF0LFxyXG4gICAgICAgICAgY2l0eTogZGF0YT8uc3RydWN0dXJlZF9hZGRyZXNzPy5yZWdpb24sXHJcbiAgICAgICAgICBjb250ZXh0OiAnJyxcclxuICAgICAgICAgIHR5cGU6ICdzdHJlZXQnLFxyXG4gICAgICAgICAgaW1wb3J0YW5jZTogJycsXHJcbiAgICAgICAgICBzdHJlZXQ6IGRhdGE/LnN0cnVjdHVyZWRfYWRkcmVzcz8uc3RyZWV0X25hbWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIG9iajtcclxuICAgIH07XHJcblxyXG5cclxuICAgIGNvbnN0IGF1dG9TdWdnZXN0VXJsID0gdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBZGRyZXNzQXBpVXJsICsgJ2F1dG9jb21wbGV0ZS5qc29uP2FwaV9rZXk9JyArIHRoaXMuZW52aXJvbm1lbnQuY29yZUxvZ2ljQWRkcmVzc0FwaWtleTtcclxuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG5cclxuICAgIGNvbnN0IGN1c3RvbVNlYXJjaFNvdXJjZSA9IG5ldyBTZWFyY2hTb3VyY2Uoe1xyXG4gICAgICBwbGFjZWhvbGRlcjogJ1R5cGUgQWRkcmVzcyBoZXJlIC4uLicsXHJcbiAgICAgIC8vIFByb3ZpZGUgYSBnZXRTdWdnZXN0aW9ucyBtZXRob2RcclxuICAgICAgLy8gdG8gcHJvdmlkZSBzdWdnZXN0aW9ucyB0byB0aGUgU2VhcmNoIHdpZGdldFxyXG4gICAgICBnZXRTdWdnZXN0aW9uczogKHBhcmFtczogYW55KSA9PiB7XHJcbiAgICAgICAgLy8gWW91IGNhbiByZXF1ZXN0IGRhdGEgZnJvbSBhXHJcbiAgICAgICAgLy8gdGhpcmQtcGFydHkgc291cmNlIHRvIGZpbmQgc29tZVxyXG4gICAgICAgIC8vIHN1Z2dlc3Rpb25zIHdpdGggcHJvdmlkZWQgc3VnZ2VzdFRlcm1cclxuICAgICAgICAvLyB0aGUgdXNlciB0eXBlcyBpbiB0aGUgU2VhcmNoIHdpZGdldFxyXG4gICAgICAgIHJldHVybiBlc3JpUmVxdWVzdChhdXRvU3VnZ2VzdFVybCwge1xyXG4gICAgICAgICAgcXVlcnk6IHtcclxuICAgICAgICAgICAgdGVybTogcGFyYW1zLnN1Z2dlc3RUZXJtLnJlcGxhY2UoLyAvZywgJysnKSxcclxuICAgICAgICAgICAgbWF4OiAxMCxcclxuICAgICAgICAgICAgbGF0OiB2aWV3LmNlbnRlci5sYXRpdHVkZSxcclxuICAgICAgICAgICAgbG9uOiB2aWV3LmNlbnRlci5sb25naXR1ZGUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgfSkudGhlbigocmVzdWx0czogYW55KSA9PiB7XHJcbiAgICAgICAgICAvLyBSZXR1cm4gU3VnZ2VzdGlvbiByZXN1bHRzIHRvIGRpc3BsYXlcclxuICAgICAgICAgIC8vIGluIHRoZSBTZWFyY2ggd2lkZ2V0XHJcbiAgICAgICAgICByZXR1cm4gcmVzdWx0cz8uZGF0YT8ubWFwKChmZWF0dXJlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBrZXk6ICduYW1lJyxcclxuICAgICAgICAgICAgICB0ZXh0OiBmZWF0dXJlPy5sYWJlbCxcclxuICAgICAgICAgICAgICBpZDogZmVhdHVyZT8uaWQsXHJcbiAgICAgICAgICAgICAgc291cmNlSW5kZXg6IHBhcmFtcy5zb3VyY2VJbmRleCxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICAvLyBQcm92aWRlIGEgZ2V0UmVzdWx0cyBtZXRob2QgdG8gZmluZFxyXG4gICAgICAvLyByZXN1bHRzIGZyb20gdGhlIHN1Z2dlc3Rpb25zXHJcbiAgICAgIGdldFJlc3VsdHM6IChwYXJhbXM6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vIElmIHRoZSBTZWFyY2ggd2lkZ2V0IHBhc3NlcyB0aGUgY3VycmVudCBsb2NhdGlvbixcclxuICAgICAgICAvLyB5b3UgY2FuIHVzZSB0aGlzIGluIHlvdXIgb3duIGN1c3RvbSBzb3VyY2VcclxuICAgICAgICBsZXQgcXVlcnk6IGFueSA9IHt9O1xyXG4gICAgICAgIC8vIFlvdSBjYW4gcGVyZm9ybSBhIGRpZmZlcmVudCBxdWVyeSBpZiBhIGxvY2F0aW9uXHJcbiAgICAgICAgLy8gaXMgcHJvdmlkZWRcclxuICAgICAgICBpZiAocGFyYW1zLmxvY2F0aW9uKSB7XHJcbiAgICAgICAgICBxdWVyeS5sYXQgPSBwYXJhbXMubG9jYXRpb24ubGF0aXR1ZGU7XHJcbiAgICAgICAgICBxdWVyeS5sb24gPSBwYXJhbXMubG9jYXRpb24ubG9uZ2l0dWRlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBxdWVyeS5xID0gcGFyYW1zLnN1Z2dlc3RSZXN1bHQudGV4dC5yZXBsYWNlKC8gL2csICcrJyk7XHJcbiAgICAgICAgICBxdWVyeS5saW1pdCA9IDY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwYXJhbXMuc3VnZ2VzdFJlc3VsdC50ZXh0ID09ICcnKSB7XHJcbiAgICAgICAgICB2YXIgbGF0ID0gcGFyYW1zLmxvY2F0aW9uLnk7XHJcbiAgICAgICAgICB2YXIgbG9uID0gcGFyYW1zLmxvY2F0aW9uLng7XHJcblxyXG4gICAgICAgICAgdmlldy56b29tID0gMTU7XHJcbiAgICAgICAgICB2aWV3LmdvVG8oe1xyXG4gICAgICAgICAgICBjZW50ZXI6IG5ldyBQb2ludCh7XHJcbiAgICAgICAgICAgICAgeDogbG9uLFxyXG4gICAgICAgICAgICAgIHk6IGxhdCxcclxuICAgICAgICAgICAgICBzcGF0aWFsUmVmZXJlbmNlOiB7XHJcbiAgICAgICAgICAgICAgICB3a2lkOiAyMTkzXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH0pIFxyXG4gICAgICAgICAgY29uc3QgbG9jYXRpb24gPSB7XHJcbiAgICAgICAgICAgIGxvbmdpdHVkZTogbG9uLFxyXG4gICAgICAgICAgICBsYXRpdHVkZTogbGF0XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBZGRyZXNzQXBpVXJsICsgJ3JldmVyc2VnZW9jb2RlLmpzb24/YXBpX2tleT0nKyB0aGlzLmVudmlyb25tZW50LmNvcmVMb2dpY0FkZHJlc3NBcGlrZXkgKyAnJmxpbWl0PTEmZm9ybWF0dGVkPTEmc3JpZD0yMTkzJztcclxuICAgICAgICAgICBzZWxmLmNoZWNrb3V0U2VydmljZS5nZXRDbGlja0dlb0xvY2F0aW9uQWRkcmVzcyh1cmwsIGxvY2F0aW9uKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlICE9IHVuZGVmaW5lZCAmJiByZXNwb25zZS5kYXRhICYmIHJlc3BvbnNlLmRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMubG9jYXRpb24uc2VsZWN0ZWRBZGRyZXNzID0gcmVzcG9uc2U/LmRhdGFbMF0uYXR0cmlidXRlcz8ubGFiZWw7XHJcblxyXG4gICAgICAgICAgICAgIGNvbnN0IGFmdGVyU2VhcmNoQ29tcGxldGVVcmwgPSB0aGlzLmVudmlyb25tZW50LmNvcmVMb2dpY0FkZHJlc3NBcGlVcmwgKyAnYWRkcmVzcy5qc29uP2FwaV9rZXk9JysgdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBZGRyZXNzQXBpa2V5ICsnJmlkPScgKyByZXNwb25zZT8uZGF0YVswXS5yZWxhdGlvbnNoaXBzPy5hZGRyZXNzPy5kYXRhPy5pZFxyXG4gICAgICAgICAgICAgIGxldCBxdWVyeTogYW55ID0ge307XHJcbiAgICAgICAgICAgICAgcXVlcnkubGF0ID0gbGF0O1xyXG4gICAgICAgICAgICAgIHF1ZXJ5LmxvbiA9IGxvbjtcclxuICAgICAgICAgICAgICBlc3JpUmVxdWVzdChhZnRlclNlYXJjaENvbXBsZXRlVXJsLCB7IHF1ZXJ5OiBxdWVyeSwgcmVzcG9uc2VUeXBlOiAnanNvbicgfSkudGhlbigocmVzdWx0czogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0cykge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBmZWF0dXJlID0gbWFwS2V5cyhyZXN1bHRzLmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBsb2NhdGlvbiA9IHtcclxuICAgICAgICAgICAgICAgICAgICBsb246IGZlYXR1cmU/Lmdlb21ldHJ5Py5jb29yZGluYXRlc1swXSxcclxuICAgICAgICAgICAgICAgICAgICBsYXQ6IGZlYXR1cmU/Lmdlb21ldHJ5Py5jb29yZGluYXRlc1sxXVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb24gPSBsb2NhdGlvbjtcclxuICAgICAgICAgICAgICAgICAgLy8gUGFyc2UgdGhlIHJlc3VsdHMgb2YgeW91ciBjdXN0b20gc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMucG9wdWxhdGVEYXRhKHJlc3VsdHMsIGxvY2F0aW9uKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhIEdyYXBoaWMgdGhlIFNlYXJjaCB3aWRnZXQgY2FuIGRpc3BsYXlcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5zZWxlY3RlZEFkZHJlc3MgPSBmZWF0dXJlPy5wcm9wZXJ0aWVzPy5sYWJlbDtcclxuICAgICAgICAgICAgICAgICAgdmlldy5ncmFwaGljcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAvLyBHZXQgdGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBjbGljayBvbiB0aGUgdmlld1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBwb2ludCA9IHtcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAncG9pbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgIHg6IGZlYXR1cmU/Lmdlb21ldHJ5Py5jb29yZGluYXRlc1swXSxcclxuICAgICAgICAgICAgICAgICAgICB5OiBmZWF0dXJlPy5nZW9tZXRyeT8uY29vcmRpbmF0ZXNbMV0sXHJcbiAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICBjb25zdCBwb2ludEdyYXBoaWMgPSBuZXcgR3JhcGhpYyh7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2VvbWV0cnk6IHBvaW50LFxyXG4gICAgICAgICAgICAgICAgICAgIHN5bWJvbDogc2ltcGxlTWFya2VyU3ltYm9sLFxyXG4gICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgdmlldy5ncmFwaGljcy5hZGQocG9pbnRHcmFwaGljKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNDb25maXJtRGlzYWJsZWQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0FkZHJlc3MubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5vbkNvbmZpcm1lZENsaWNrKClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG5cclxuICAgICAgICAgIGNvbnN0IGFmdGVyU2VhcmNoQ29tcGxldGVVcmwgPSB0aGlzLmVudmlyb25tZW50LmNvcmVMb2dpY0FkZHJlc3NBcGlVcmwgKyAnYWRkcmVzcy5qc29uP2FwaV9rZXk9JysgdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBZGRyZXNzQXBpa2V5ICsnJmlkPScgKyBwYXJhbXM/LnN1Z2dlc3RSZXN1bHQ/LmlkO1xyXG5cclxuICAgICAgICAgIHJldHVybiBlc3JpUmVxdWVzdChhZnRlclNlYXJjaENvbXBsZXRlVXJsLCB7XHJcbiAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeSxcclxuICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXHJcbiAgICAgICAgICB9KS50aGVuKChyZXN1bHRzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgLy8gUGFyc2UgdGhlIHJlc3VsdHMgb2YgeW91ciBjdXN0b20gc2VhcmNoXHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBbcmVzdWx0cy5kYXRhXTtcclxuICAgICAgICAgICAgdGhpcy5pc0NvbmZpcm1EaXNhYmxlZC5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgbGV0IGxvY2F0aW9uID0ge1xyXG4gICAgICAgICAgICAgIGxvbjogZGF0YVswXS5sb2NhdGlvbi53Z3M4NF9sb24sXHJcbiAgICAgICAgICAgICAgbGF0OiBkYXRhWzBdLmxvY2F0aW9uLndnczg0X2xhdFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucG9wdWxhdGVEYXRhKHJlc3VsdHMsIGxvY2F0aW9uKVxyXG4gICAgICAgICAgICBjb25zdCBzZWFyY2hSZXN1bHRzID0gZGF0YT8ubWFwKChmZWF0dXJlKSA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gQ3JlYXRlIGEgR3JhcGhpYyB0aGUgU2VhcmNoIHdpZGdldCBjYW4gZGlzcGxheVxyXG4gICAgICAgICAgICAgIGZlYXR1cmUgPSBtYXBLZXlzKGZlYXR1cmUpO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9jYXRpb24uc2VsZWN0ZWRBZGRyZXNzID0gZmVhdHVyZT8ucHJvcGVydGllcz8ubGFiZWw7XHJcbiAgICAgICAgICAgICAgY29uc3QgZ3JhcGhpYyA9IG5ldyBHcmFwaGljKHtcclxuICAgICAgICAgICAgICAgIGdlb21ldHJ5OiBuZXcgUG9pbnQoe1xyXG4gICAgICAgICAgICAgICAgICB4OiBmZWF0dXJlPy5nZW9tZXRyeT8uY29vcmRpbmF0ZXNbMF0sXHJcbiAgICAgICAgICAgICAgICAgIHk6IGZlYXR1cmU/Lmdlb21ldHJ5Py5jb29yZGluYXRlc1sxXSxcclxuICAgICAgICAgICAgICAgICAgLy9zcGF0aWFsUmVmZXJlbmNlOiBzZWxmPy52aWV3LnNwYXRpYWxSZWZlcmVuY2UsXHJcbiAgICAgICAgICAgICAgICAgIHNwYXRpYWxSZWZlcmVuY2U6IFNwYXRpYWxSZWZlcmVuY2UuV0dTODQsXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IGZlYXR1cmU/LnByb3BlcnRpZXMsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgLy8gT3B0aW9uYWxseSwgeW91IGNhbiBwcm92aWRlIGFuIGV4dGVudCBmb3JcclxuICAgICAgICAgICAgICAvLyBhIHBvaW50IHJlc3VsdCwgc28gdGhlIHZpZXcgY2FuIHpvb20gdG8gaXRcclxuICAgICAgICAgICAgICBjb25zdCBidWZmZXIgPSBnZW9tZXRyeUVuZ2luZS5nZW9kZXNpY0J1ZmZlcihcclxuICAgICAgICAgICAgICAgIGdyYXBoaWMuZ2VvbWV0cnksXHJcbiAgICAgICAgICAgICAgICAxMDAsXHJcbiAgICAgICAgICAgICAgICAnbWV0ZXJzJ1xyXG4gICAgICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgICAgIC8vIFJldHVybiBhIFNlYXJjaCBSZXN1bHRcclxuICAgICAgICAgICAgICBjb25zdCBzZWFyY2hSZXN1bHQgPSB7XHJcbiAgICAgICAgICAgICAgICBleHRlbnQ6IGJ1ZmZlcj8uZXh0ZW50LFxyXG4gICAgICAgICAgICAgICAgZmVhdHVyZTogZ3JhcGhpYyxcclxuICAgICAgICAgICAgICAgIG5hbWU6IGZlYXR1cmU/LnByb3BlcnRpZXM/LmxhYmVsLnJlcGxhY2UoL251bGwvZywgJycpLFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHNlYXJjaFJlc3VsdDtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAvLyBSZXR1cm4gYW4gYXJyYXkgb2YgU2VhcmNoIFJlc3VsdHNcclxuICAgICAgICAgICAgcmV0dXJuIHNlYXJjaFJlc3VsdHM7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBzZWFyY2hXaWRnZXQgPSBuZXcgU2VhcmNoKHtcclxuICAgICAgdmlldzogdmlldyxcclxuICAgICAgc291cmNlczogW2N1c3RvbVNlYXJjaFNvdXJjZV0sXHJcbiAgICAgIGluY2x1ZGVEZWZhdWx0U291cmNlczogZmFsc2UsXHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBBZGQgdGhlIHdpZGdldCB0byB0aGUgdG9wLXJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld1xyXG4gICAgdmlldy51aS5hZGQoc2VhcmNoV2lkZ2V0LCB7XHJcbiAgICAgIHBvc2l0aW9uOiAndG9wLXJpZ2h0JyxcclxuICAgICAgaW5kZXg6IDIsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnZpZXcgPSB2aWV3O1xyXG5cclxuICAgIHNlYXJjaFdpZGdldC5vbignc2VhcmNoLWNvbXBsZXRlJywgKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coJ1Jlc3VsdHMgb2YgdGhlIHNlYXJjaDogJywgZXZlbnQpOyAvLyBQcm92aWRlcyB0aGUgcmVzdWx0cyBvbiBzZWFyY2ggQ29tcGxldGVcclxuICAgIH0pO1xyXG5cclxuICAgIHNlYXJjaFdpZGdldC5vbignc2VsZWN0LXJlc3VsdCcsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdUaGUgc2VsZWN0ZWQgc2VhcmNoIHJlc3VsdDogJywgZXZlbnQpOyAvLyBQcm92aWRlcyB0aGUgc2VsZWN0ZWQgcmVzdWx0cyBvbiBzZWFyY2ggQ29tcGxldGUgYW5kIGFueSByZXN1bHQgaXMgc2VsZWN0ZWQgZnJvbSBkcm9wZG93blxyXG4gICAgfSk7XHJcblxyXG4gICAgdmlldy5vbignY2xpY2snLCAoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcblxyXG4gICAgICB2YXIgbGF0ID0gZXZlbnQubWFwUG9pbnQueTtcclxuICAgICAgdmFyIGxvbiA9IGV2ZW50Lm1hcFBvaW50Lng7XHJcbiAgICAgIHZpZXcuZ29Ubyh7XHJcbiAgICAgICAgY2VudGVyOiBuZXcgUG9pbnQoe1xyXG4gICAgICAgICAgeDogbG9uLFxyXG4gICAgICAgICAgeTogbGF0LFxyXG4gICAgICAgICAgc3BhdGlhbFJlZmVyZW5jZToge1xyXG4gICAgICAgICAgICB3a2lkOiAyMTkzXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSksXHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBwb2ludCA9IHtcclxuICAgICAgICB0eXBlOiAncG9pbnQnLFxyXG4gICAgICAgIHg6IGxvbixcclxuICAgICAgICB5OiBsYXQsXHJcbiAgICAgICAgc3BhdGlhbFJlZmVyZW5jZToge1xyXG4gICAgICAgICAgd2tpZDogMjE5M1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgY29uc3QgcG9pbnRHcmFwaGljID0gbmV3IEdyYXBoaWMoe1xyXG4gICAgICAgIGdlb21ldHJ5OiBwb2ludCxcclxuICAgICAgICBzeW1ib2w6IHNpbXBsZU1hcmtlclN5bWJvbCxcclxuICAgICAgfSk7XHJcbiAgICAgIHZpZXcuZ3JhcGhpY3MgPSBbXTtcclxuICAgICAgdmlldy5ncmFwaGljcy5hZGQocG9pbnRHcmFwaGljKTtcclxuICAgICAgY29uc3QgbG9jYXRpb24gPSB7XHJcbiAgICAgICAgbG9uZ2l0dWRlOiBsb24sXHJcbiAgICAgICAgbGF0aXR1ZGU6IGxhdFxyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCB1cmwgPSB0aGlzLmVudmlyb25tZW50LmNvcmVMb2dpY0FkZHJlc3NBcGlVcmwgKyAncmV2ZXJzZWdlb2NvZGUuanNvbj9hcGlfa2V5PScrIHRoaXMuZW52aXJvbm1lbnQuY29yZUxvZ2ljQWRkcmVzc0FwaWtleSArICcmbGltaXQ9MSZmb3JtYXR0ZWQ9MSZzcmlkPTIxOTMnO1xyXG4gICAgICBzZWxmLmNoZWNrb3V0U2VydmljZVxyXG4gICAgICAgIC5nZXRDbGlja0dlb0xvY2F0aW9uQWRkcmVzcyh1cmwsIGxvY2F0aW9uKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UgIT0gdW5kZWZpbmVkICYmIHJlc3BvbnNlLmRhdGEubGVuZ3RoID4gMCkgeyBcclxuICAgICAgICAgICAgICB0aGlzLmlzQ29uZmlybURpc2FibGVkLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9jYXRpb24uc2VsZWN0ZWRBZGRyZXNzID0gcmVzcG9uc2U/LmRhdGFbMF0uYXR0cmlidXRlcz8ubGFiZWw7XHJcblxyXG4gICAgICAgICAgICAgIGNvbnN0IGFmdGVyU2VhcmNoQ29tcGxldGVVcmwgPSB0aGlzLmVudmlyb25tZW50LmNvcmVMb2dpY0FkZHJlc3NBcGlVcmwgKyAnYWRkcmVzcy5qc29uP2FwaV9rZXk9JysgdGhpcy5lbnZpcm9ubWVudC5jb3JlTG9naWNBZGRyZXNzQXBpa2V5ICsnJmlkPScgKyByZXNwb25zZT8uZGF0YVswXS5yZWxhdGlvbnNoaXBzPy5hZGRyZXNzPy5kYXRhPy5pZDtcclxuXHJcbiAgICAgICAgICAgICAgbGV0IHF1ZXJ5OiBhbnkgPSB7fTtcclxuICAgICAgICAgICAgICBxdWVyeS5sYXQgPSBsYXQ7XHJcbiAgICAgICAgICAgICAgcXVlcnkubG9uID0gbG9uO1xyXG4gICAgICAgICAgICAgIGVzcmlSZXF1ZXN0KGFmdGVyU2VhcmNoQ29tcGxldGVVcmwsIHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeSxcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2pzb24nLFxyXG4gICAgICAgICAgICAgIH0pLnRoZW4oKHJlc3VsdHM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdHMpIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5pc0NvbmZpcm1EaXNhYmxlZC5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgZmVhdHVyZSA9IG1hcEtleXMocmVzdWx0cy5kYXRhKTtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgbG9jYXRpb24gPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbG9uOiBmZWF0dXJlPy5nZW9tZXRyeT8uY29vcmRpbmF0ZXNbMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgbGF0OiBmZWF0dXJlPy5nZW9tZXRyeT8uY29vcmRpbmF0ZXNbMV1cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uID0gbG9jYXRpb247XHJcbiAgICAgICAgICAgICAgICAgIC8vIFBhcnNlIHRoZSByZXN1bHRzIG9mIHlvdXIgY3VzdG9tIHNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICB0aGlzLnBvcHVsYXRlRGF0YShyZXN1bHRzLCBsb2NhdGlvbik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAvLyBDcmVhdGUgYSBHcmFwaGljIHRoZSBTZWFyY2ggd2lkZ2V0IGNhbiBkaXNwbGF5XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb24uc2VsZWN0ZWRBZGRyZXNzID0gZmVhdHVyZT8ucHJvcGVydGllcz8ubGFiZWw7XHJcbiAgICAgICAgICAgICAgICAgIC8vIHZpZXcuZ3JhcGhpY3MgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBjb29yZGluYXRlcyBvZiB0aGUgY2xpY2sgb24gdGhlIHZpZXdcclxuICAgICAgICAgICAgICAgICAgY29uc3QgcG9pbnQgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3BvaW50JyxcclxuICAgICAgICAgICAgICAgICAgICB4OiBmZWF0dXJlPy5nZW9tZXRyeT8uY29vcmRpbmF0ZXNbMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgeTogZmVhdHVyZT8uZ2VvbWV0cnk/LmNvb3JkaW5hdGVzWzFdLFxyXG4gICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgY29uc3QgcG9pbnRHcmFwaGljID0gbmV3IEdyYXBoaWMoe1xyXG4gICAgICAgICAgICAgICAgICAgIGdlb21ldHJ5OiBwb2ludCxcclxuICAgICAgICAgICAgICAgICAgICBzeW1ib2w6IHNpbXBsZU1hcmtlclN5bWJvbCxcclxuICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIC8vIHZpZXcuZ3JhcGhpY3MuYWRkKHBvaW50R3JhcGhpYyk7XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5lcnJvckluZCQubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgICB0aGlzLmlzQ29uZmlybURpc2FibGVkLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVycm9ySW5kJC5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgICB9LCA1MDAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMudmlldy53aGVuKCk7XHJcbiAgfVxyXG4gIG9uQ29uZmlybWVkQ2xpY2soKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1lZEFkZHJlc3MgPSB0aGlzLmxvY2F0aW9uLnNlbGVjdGVkQWRkcmVzcy5yZXBsYWNlKC9udWxsL2csICcnKTtcclxuICAgIHRoaXMudXBkYXRlTmV3QWRkcmVzcy5lbWl0KHRoaXMubG9jYXRpb24pO1xyXG4gICAgdGhpcy5zaG93QWRkcmVzcy5uZXh0KHRydWUpO1xyXG4gIH1cclxuICBwb3B1bGF0ZURhdGEocmVzdWx0czogYW55LCBsb2NhdGlvbjogYW55KSB7XHJcblxyXG4gICAgY29uc3QgZGF0YSA9IHJlc3VsdHMuZGF0YTtcclxuICAgIGNvbnN0IG5ld0FkZHJlc3M6IGFueSA9IHtcclxuICAgICAgbGluZTE6IGRhdGEuZm9ybWF0dGVkX2FkZHJlc3M/LmxpbmUxLFxyXG4gICAgICBsaW5lMjogZGF0YS5mb3JtYXR0ZWRfYWRkcmVzcz8ubGluZTIsXHJcbiAgICAgIHRvd246IGRhdGEuc3RydWN0dXJlZF9hZGRyZXNzPy50b3duLFxyXG4gICAgICBzdWJ1cmI6IGRhdGEuc3RydWN0dXJlZF9hZGRyZXNzPy5zdWJ1cmIsXHJcbiAgICAgIHBvc3RhbENvZGU6IGRhdGEuc3RydWN0dXJlZF9hZGRyZXNzPy5wb3N0Y29kZSxcclxuICAgICAgbG9uZ2l0dWRlOiBsb2NhdGlvbi5sb24sXHJcbiAgICAgIGxhdGl0dWRlOiBsb2NhdGlvbi5sYXQsXHJcbiAgICB9XHJcbiAgICBuZXdBZGRyZXNzLnNlbGVjdGVkQWRkcmVzcyA9IHRoaXMubG9jYXRpb24uc2VsZWN0ZWRBZGRyZXNzO1xyXG4gICAgdGhpcy5sb2NhdGlvbiA9IG5ld0FkZHJlc3M7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb3JlbG9naWMtbWFwXCIgI21hcFZpZXdOb2RlPjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiY29uZmlybS1jbHNcIj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCJpc0NvbmZpcm1EaXNhYmxlZCB8IGFzeW5jXCIgKGNsaWNrKT1cIm9uQ29uZmlybWVkQ2xpY2soKVwiIGNsYXNzPVwiYnRuIHByaW1hcnktYnV0dG9uIG10LTRcIj5Db25maXJtPC9idXR0b24+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJzaG93QWRkcmVzcyB8IGFzeW5jXCIgY2xhc3M9XCJmb3JtLWxhYmVsXCI+Q29uZmlybWVkIERlbGl2ZXJ5IEFkZHJlc3MgPC9sYWJlbD5cclxuICAgIDxkaXYgY2xhc3M9XCJtYXAtc2VsZWN0ZWQtYWRkcmVzc1wiICpuZ0lmPVwic2hvd0FkZHJlc3MgfCBhc3luY1wiIGlkPVwiYWRkcmVzc1wiPlxyXG4gICAgICAgIHt7Y29uZmlybWVkQWRkcmVzc319PC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiIGNvbC1zbS0xMiBhbGVydCBhbGVydC1kYW5nZXIganVzdGlmeS1jb250ZW50LXN0YXJ0IG10LTNcIiByb2xlPVwiYWxlcnRcIiAqbmdJZj1cImVycm9ySW5kJCB8IGFzeW5jXCI+XHJcbiAgICA8aW1nIGNsYXNzPVwibXItM1wiIHNyYz1cIi4uLy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvZXJyb3JpY29uLnN2Z1wiIGFsdD1cImFsZXJ0XCI+IFBsZWFzZSBzZWxlY3QgdmFsaWQgQWRkcmVzc1xyXG48L2Rpdj5cclxuIl19
|
|
@@ -2,6 +2,7 @@ import { NgModule, Optional, SkipSelf } from '@angular/core';
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { OrderConfirmationComponent } from './order-confirmation/order-confirmation.component';
|
|
4
4
|
import { ConfigModule } from '@spartacus/core';
|
|
5
|
+
import { SharedComponentsModule } from '../shared/shared-components.module';
|
|
5
6
|
import { OrderReviewComponent } from './order-review/order-review.component';
|
|
6
7
|
import { DeliveryInformationComponent } from './order-review/delivery-information/delivery-information.component';
|
|
7
8
|
import { OrderReviewListComponent } from './order-review/order-review-list/order-review-list.component';
|
|
@@ -14,10 +15,11 @@ import { NgbDatepickerModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';
|
|
|
14
15
|
import { MatRadioModule } from '@angular/material/radio';
|
|
15
16
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
16
17
|
import { TimePickerModule } from '@syncfusion/ej2-angular-calendars';
|
|
17
|
-
import { SharedComponentsModule } from '../shared/shared-components.module';
|
|
18
18
|
import { AuthModule } from '@auth0/auth0-angular';
|
|
19
19
|
import { AddNewAddressComponent } from './add-new-address/add-new-address.component';
|
|
20
20
|
import { CustomCheckoutService } from '../services/checkout.service';
|
|
21
|
+
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
22
|
+
import { NgxMasonryModule } from 'ngx-masonry';
|
|
21
23
|
import * as i0 from "@angular/core";
|
|
22
24
|
import * as i1 from "@spartacus/core";
|
|
23
25
|
let sharedData = {};
|
|
@@ -57,6 +59,8 @@ CheckoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
57
59
|
OrderReviewGridComponent,
|
|
58
60
|
CustomCheckoutComponent,
|
|
59
61
|
AddNewAddressComponent], imports: [CommonModule,
|
|
62
|
+
BrowserAnimationsModule,
|
|
63
|
+
NgxMasonryModule,
|
|
60
64
|
MatCardModule,
|
|
61
65
|
MatListModule,
|
|
62
66
|
MediaModule,
|
|
@@ -68,6 +72,8 @@ CheckoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
68
72
|
NgbModule, i1.ConfigModule] });
|
|
69
73
|
CheckoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CheckoutModule, imports: [[
|
|
70
74
|
CommonModule,
|
|
75
|
+
BrowserAnimationsModule,
|
|
76
|
+
NgxMasonryModule,
|
|
71
77
|
MatCardModule,
|
|
72
78
|
MatListModule,
|
|
73
79
|
MediaModule,
|
|
@@ -107,6 +113,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
107
113
|
],
|
|
108
114
|
imports: [
|
|
109
115
|
CommonModule,
|
|
116
|
+
BrowserAnimationsModule,
|
|
117
|
+
NgxMasonryModule,
|
|
110
118
|
MatCardModule,
|
|
111
119
|
MatListModule,
|
|
112
120
|
MediaModule,
|
|
@@ -138,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
138
146
|
}, {
|
|
139
147
|
type: SkipSelf
|
|
140
148
|
}] }]; } });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnVpbGRpbmdwcm9kdWN0X2xpYnJhcnkvc3JjL2xpYi9jaGVja291dC9jaGVja291dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDL0YsT0FBTyxFQUFhLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIs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LHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxzQkFBc0I7d0JBQ3RCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULFlBQVksQ0FBQyxVQUFVLENBQUM7NEJBQ3RCLGFBQWEsRUFBRTtnQ0FDYixnQ0FBZ0MsRUFBRTtvQ0FDaEMsU0FBUyxFQUFFLDBCQUEwQjtpQ0FDdEM7Z0NBQ0QsMkJBQTJCLEVBQUU7b0NBQzNCLFNBQVMsRUFBRSxvQkFBb0I7aUNBQ2hDO2dDQUNELDRCQUE0QixFQUFFO29DQUM1QixTQUFTLEVBQUUsdUJBQXVCO2lDQUNuQzs2QkFDRjt5QkFDVyxDQUFDO3FCQUNoQjtpQkFDRjswREFFb0QsY0FBYzswQkFBcEQsUUFBUTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgT3JkZXJDb25maXJtYXRpb25Db21wb25lbnQgfSBmcm9tICcuL29yZGVyLWNvbmZpcm1hdGlvbi9vcmRlci1jb25maXJtYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ21zQ29uZmlnLCBDb25maWdNb2R1bGUgfSBmcm9tICdAc3BhcnRhY3VzL2NvcmUnO1xyXG5pbXBvcnQgeyBTaGFyZWRDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NoYXJlZC1jb21wb25lbnRzLm1vZHVsZSc7XHJcbmltcG9ydCB7IE9yZGVyUmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9vcmRlci1yZXZpZXcvb3JkZXItcmV2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERlbGl2ZXJ5SW5mb3JtYXRpb25Db21wb25lbnQgfSBmcm9tICcuL29yZGVyLXJldmlldy9kZWxpdmVyeS1pbmZvcm1hdGlvbi9kZWxpdmVyeS1pbmZvcm1hdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcmRlclJldmlld0xpc3RDb21wb25lbnQgfSBmcm9tICcuL29yZGVyLXJldmlldy9vcmRlci1yZXZpZXctbGlzdC9vcmRlci1yZXZpZXctbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcmRlclJldmlld0dyaWRDb21wb25lbnQgfSBmcm9tICcuL29yZGVyLXJldmlldy9vcmRlci1yZXZpZXctZ3JpZC9vcmRlci1yZXZpZXctZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZWRpYU1vZHVsZSB9IGZyb20gJ0BzcGFydGFjdXMvc3RvcmVmcm9udCc7XHJcbmltcG9ydCB7IEN1c3RvbUNoZWNrb3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tY2hlY2tvdXQvY3VzdG9tLWNoZWNrb3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBOZ2JEYXRlcGlja2VyTW9kdWxlLCBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVGltZVBpY2tlck1vZHVsZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNhbGVuZGFycyc7XHJcblxyXG5pbXBvcnQgeyBBdXRoTW9kdWxlIH0gZnJvbSAnQGF1dGgwL2F1dGgwLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBDaGVja291dFNlcnZpY2UgfSBmcm9tICdAc3BhcnRhY3VzL2NoZWNrb3V0L2NvcmUnO1xyXG5pbXBvcnQgeyBBZGROZXdBZGRyZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9hZGQtbmV3LWFkZHJlc3MvYWRkLW5ldy1hZGRyZXNzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbUNoZWNrb3V0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NoZWNrb3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IE5neE1hc29ucnlNb2R1bGUgfSBmcm9tICduZ3gtbWFzb25yeSc7XHJcblxyXG5sZXQgc2hhcmVkRGF0YTogYW55ID0ge307XHJcbmNvbnN0IGxpc3RPZk1vZHVsZXM6IGFueSA9IFtTaGFyZWRDb21wb25lbnRzTW9kdWxlLF07XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIE9yZGVyQ29uZmlybWF0aW9uQ29tcG9uZW50LFxyXG4gICAgT3JkZXJSZXZpZXdDb21wb25lbnQsXHJcbiAgICBEZWxpdmVyeUluZm9ybWF0aW9uQ29tcG9uZW50LFxyXG4gICAgT3JkZXJSZXZpZXdMaXN0Q29tcG9uZW50LFxyXG4gICAgT3JkZXJSZXZpZXdHcmlkQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tQ2hlY2tvdXRDb21wb25lbnQsXHJcbiAgICBBZGROZXdBZGRyZXNzQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogWyBcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxyXG4gICAgTmd4TWFzb25yeU1vZHVsZSwgXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1lZGlhTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTmdiRGF0ZXBpY2tlck1vZHVsZSxcclxuICAgIE1hdFJhZGlvTW9kdWxlLFxyXG4gICAgU2hhcmVkQ29tcG9uZW50c01vZHVsZSxcclxuICAgIGxpc3RPZk1vZHVsZXMsXHJcbiAgICBUaW1lUGlja2VyTW9kdWxlLFxyXG4gICAgTmdiTW9kdWxlLFxyXG4gICAgQ29uZmlnTW9kdWxlLndpdGhDb25maWcoe1xyXG4gICAgICBjbXNDb21wb25lbnRzOiB7XHJcbiAgICAgICAgQ3VzdG9tT3JkZXJDb25maXJtYXRpb25Db21wb25lbnQ6IHtcclxuICAgICAgICAgIGNvbXBvbmVudDogT3JkZXJDb25maXJtYXRpb25Db21wb25lbnQsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBDdXN0b21PcmRlclN1bW1hcnlDb21wb25lbnQ6IHtcclxuICAgICAgICAgIGNvbXBvbmVudDogT3JkZXJSZXZpZXdDb21wb25lbnQsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBDdXN0b21PcmRlckNoZWNrb3V0Q29tcG9uZW50OiB7XHJcbiAgICAgICAgICBjb21wb25lbnQ6IEN1c3RvbUNoZWNrb3V0Q29tcG9uZW50XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSBhcyBDbXNDb25maWcpLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja291dE1vZHVsZSB7XHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlPzogQ2hlY2tvdXRNb2R1bGUpIHtcclxuICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICdDaGVja291dE1vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGl0IGluIHRoZSBBcHBNb2R1bGUgb25seScpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGVudmlyb25tZW50OiBhbnkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPENoZWNrb3V0TW9kdWxlPiB7XHJcbiAgICBzaGFyZWREYXRhID0gZW52aXJvbm1lbnQ7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdlbnYnLCBKU09OLnN0cmluZ2lmeShlbnZpcm9ubWVudCkgKTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdlbnZVcmwnLCBlbnZpcm9ubWVudC5vY2NCYXNlVXJsICsgZW52aXJvbm1lbnQuYmFzZVNpdGVJZClcclxuICAgIGxpc3RPZk1vZHVsZXMucHVzaChBdXRoTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICBkb21haW46IHNoYXJlZERhdGEuYXV0aDBEb21haW4sXHJcbiAgICAgIGNsaWVudElkOiBzaGFyZWREYXRhLmF1dGgwQ2xpZW50X2lkLFxyXG4gICAgICByZWRpcmVjdF91cmk6IHNoYXJlZERhdGEuVUlzaXRlVVJsXHJcbiAgICB9KSlcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBDaGVja291dE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgQ3VzdG9tQ2hlY2tvdXRTZXJ2aWNlLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6ICdlbnYnLCAvLyB5b3UgY2FuIGFsc28gdXNlIEluamVjdGlvblRva2VuXHJcbiAgICAgICAgICB1c2VWYWx1ZTogZW52aXJvbm1lbnRcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH07XHJcblxyXG4gIH1cclxufVxyXG4iXX0=
|