@colijnit/transaction 12.0.2 → 12.1.0
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/app/component/core/base/default-ok-cancel-buttons.component.d.ts +13 -0
- package/app/component/core/base/transaction-base.component.d.ts +38 -0
- package/app/component/core/directive/template-wrapper.directive.d.ts +13 -0
- package/app/component/{shopping-cart → core}/stock-status-indicator/stock-status-indicator.component.d.ts +0 -0
- package/app/component/service-order/ione-service-order-module.d.ts +2 -0
- package/app/component/service-order/ione-service-order.component.d.ts +25 -0
- package/app/component/service-order/service-order.component.d.ts +48 -0
- package/app/component/service-order/summary/transaction-article-summary.component.d.ts +17 -0
- package/app/component/service-order/summary/transaction-delivery-summary.component.d.ts +20 -0
- package/app/component/service-order/summary/transaction-order-summary.component.d.ts +16 -0
- package/app/component/service-order/summary/transaction-payment-info.component.d.ts +14 -0
- package/app/component/service-order/summary/transaction-product-contract-summary.component.d.ts +7 -0
- package/app/component/service-order/summary/transaction-product-summary.component.d.ts +15 -0
- package/app/component/service-order/summary/transaction-service-status.component.d.ts +15 -0
- package/app/component/service-order/summary/transaction-service-summary.component.d.ts +15 -0
- package/app/component/service-order/summary/transaction-summary-block.component.d.ts +16 -0
- package/app/component/service-order/transaction-article-text/transaction-article-text.component.d.ts +24 -0
- package/app/component/service-order/transaction-header-block/transaction-header-block.component.d.ts +15 -0
- package/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.d.ts +16 -0
- package/app/component/service-order/transaction-order-lines/transaction-order-lines.component.d.ts +25 -0
- package/app/component/service-order/transaction-order-totals/transaction-order-totals.component.d.ts +7 -0
- package/app/component/service-order/transaction-relation/transaction-relation-address.component.d.ts +22 -0
- package/app/component/service-order/transaction-relation/transaction-relation-edit.component.d.ts +29 -0
- package/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.d.ts +11 -0
- package/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.d.ts +26 -0
- package/app/component/shopping-cart/ione-shopping-cart.component.d.ts +20 -0
- package/app/component/shopping-cart/shopping-cart/shopping-cart.component.d.ts +7 -2
- package/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.d.ts +7 -0
- package/app/service/ione-connector-adapter.service.d.ts +5 -1
- package/app/service/transaction-event.service.d.ts +29 -0
- package/app/service/transaction.service.d.ts +9 -2
- package/bundles/colijnit-transaction.umd.js +1930 -62
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.d.ts +23 -1
- package/colijnit-transaction.metadata.json +1 -1
- package/enum/position-grid-row.enum.d.ts +4 -0
- package/esm2015/app/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +3 -3
- package/esm2015/app/component/checkout/ione-checkout.module.js +1 -3
- package/esm2015/app/component/common/icon/icon.component.js +2 -1
- package/esm2015/app/component/core/base/default-ok-cancel-buttons.component.js +39 -0
- package/esm2015/app/component/core/base/transaction-base.component.js +121 -0
- package/esm2015/app/component/core/directive/template-wrapper.directive.js +69 -0
- package/esm2015/app/component/{shopping-cart → core}/stock-status-indicator/stock-status-indicator.component.js +1 -1
- package/esm2015/app/component/service-order/ione-service-order-module.js +103 -0
- package/esm2015/app/component/service-order/ione-service-order.component.js +98 -0
- package/esm2015/app/component/service-order/service-order.component.js +167 -0
- package/esm2015/app/component/service-order/summary/transaction-article-summary.component.js +55 -0
- package/esm2015/app/component/service-order/summary/transaction-delivery-summary.component.js +59 -0
- package/esm2015/app/component/service-order/summary/transaction-order-summary.component.js +43 -0
- package/esm2015/app/component/service-order/summary/transaction-payment-info.component.js +35 -0
- package/esm2015/app/component/service-order/summary/transaction-product-contract-summary.component.js +38 -0
- package/esm2015/app/component/service-order/summary/transaction-product-summary.component.js +41 -0
- package/esm2015/app/component/service-order/summary/transaction-service-status.component.js +37 -0
- package/esm2015/app/component/service-order/summary/transaction-service-summary.component.js +38 -0
- package/esm2015/app/component/service-order/summary/transaction-summary-block.component.js +53 -0
- package/esm2015/app/component/service-order/transaction-article-text/transaction-article-text.component.js +183 -0
- package/esm2015/app/component/service-order/transaction-header-block/transaction-header-block.component.js +83 -0
- package/esm2015/app/component/service-order/transaction-order-line-view/transaction-order-line-view.component.js +76 -0
- package/esm2015/app/component/service-order/transaction-order-lines/transaction-order-lines.component.js +71 -0
- package/esm2015/app/component/service-order/transaction-order-totals/transaction-order-totals.component.js +37 -0
- package/esm2015/app/component/service-order/transaction-relation/transaction-relation-address.component.js +116 -0
- package/esm2015/app/component/service-order/transaction-relation/transaction-relation-edit.component.js +225 -0
- package/esm2015/app/component/service-order/transaction-sidebar/transaction-line-accordion.component.js +172 -0
- package/esm2015/app/component/service-order/transaction-sidebar/transaction-sidebar-right.component.js +120 -0
- package/esm2015/app/component/shopping-cart/ione-shopping-cart.component.js +52 -7
- package/esm2015/app/component/shopping-cart/ione-shopping-cart.module.js +4 -6
- package/esm2015/app/component/shopping-cart/shopping-cart/shopping-cart.component.js +42 -9
- package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js +1 -1
- package/esm2015/app/component/shopping-cart/shopping-cart-manager/shopping-cart-manager.component.js +63 -3
- package/esm2015/app/service/ione-connector-adapter.service.js +60 -8
- package/esm2015/app/service/transaction-event.service.js +9 -1
- package/esm2015/app/service/transaction.service.js +87 -19
- package/esm2015/assets/dictionary/text.properties.js +43 -3
- package/esm2015/colijnit-transaction.js +24 -2
- package/esm2015/enum/position-grid-row.enum.js +6 -0
- package/esm2015/public_api.js +3 -1
- package/fesm2015/colijnit-transaction.js +2309 -50
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/package.json +17 -17
- package/public_api.d.ts +2 -0
|
@@ -8,6 +8,20 @@ import { DictionaryService } from "../../service/dictionary.service";
|
|
|
8
8
|
import { IOneConnectorAdapterService } from "../../service/ione-connector-adapter.service";
|
|
9
9
|
import { TransactionEventService } from "../../service/transaction-event.service";
|
|
10
10
|
import { PromptService } from "@colijnit/corecomponents_v12";
|
|
11
|
+
import { PositionGridRow } from "../../../enum/position-grid-row.enum";
|
|
12
|
+
// <co-sidebar #catalogSidebar isOpen="false" *ngIf="showCatalogSidebar">
|
|
13
|
+
// <div class="relation-sidebar-header">
|
|
14
|
+
// <label [textContent]="'ARTICLE' | localize "
|
|
15
|
+
// class="checkout-label-h3"
|
|
16
|
+
// ></label>
|
|
17
|
+
// </div>
|
|
18
|
+
// <app-ione-catalog
|
|
19
|
+
// [settings]="options"
|
|
20
|
+
// [parameters]="{publicationCode: 71}"
|
|
21
|
+
// (onAddToCart)="addToCart($event)"
|
|
22
|
+
// (onAddArticleButtonClick)="addArticleButtonClick($event)"
|
|
23
|
+
// ></app-ione-catalog>
|
|
24
|
+
// </co-sidebar>
|
|
11
25
|
export class IoneShoppingCartComponent {
|
|
12
26
|
constructor(_changeDetector, _optionsService, _connector, _dictionary, _service, transactionEvents, _promptService) {
|
|
13
27
|
this._changeDetector = _changeDetector;
|
|
@@ -23,6 +37,11 @@ export class IoneShoppingCartComponent {
|
|
|
23
37
|
this.closeCart = new EventEmitter();
|
|
24
38
|
this.checkout = new EventEmitter();
|
|
25
39
|
this.overview = new EventEmitter();
|
|
40
|
+
this.addArticleLine = new EventEmitter();
|
|
41
|
+
this.addTextLine = new EventEmitter();
|
|
42
|
+
this.showCatalogSidebar = false;
|
|
43
|
+
this.currentArticleLineNr = 0;
|
|
44
|
+
this.currentPositionGridRow = PositionGridRow.After;
|
|
26
45
|
this.show = false;
|
|
27
46
|
this.amountOfLines = 0;
|
|
28
47
|
this.upAndLoaded = false;
|
|
@@ -30,24 +49,26 @@ export class IoneShoppingCartComponent {
|
|
|
30
49
|
this._subscriptions = [];
|
|
31
50
|
this._remoteOptions = true;
|
|
32
51
|
this._publicOptions = true;
|
|
33
|
-
this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)));
|
|
52
|
+
this._subscriptions.push(this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)), this.transactionEvents.addArticleLine.subscribe(args => this._handleAddArticleLine(args)), this.transactionEvents.addTextLine.subscribe(args => this._handleAddTextLine(args)));
|
|
34
53
|
}
|
|
35
54
|
set options(value) {
|
|
36
55
|
if (value) {
|
|
37
|
-
let options;
|
|
38
56
|
if (typeof value === "string") {
|
|
39
|
-
|
|
57
|
+
this._options = JSON.parse(value);
|
|
40
58
|
}
|
|
41
59
|
else {
|
|
42
|
-
|
|
60
|
+
this._options = value;
|
|
43
61
|
}
|
|
44
62
|
this._publicOptions = true;
|
|
45
|
-
this._optionsService.initialize(
|
|
63
|
+
this._optionsService.initialize(this._options).then();
|
|
46
64
|
}
|
|
47
65
|
}
|
|
48
66
|
get transactionNr() {
|
|
49
67
|
return this._service.currentTransaction.transactionNr;
|
|
50
68
|
}
|
|
69
|
+
get options() {
|
|
70
|
+
return this._options;
|
|
71
|
+
}
|
|
51
72
|
ngOnInit() {
|
|
52
73
|
if (!this._publicOptions) {
|
|
53
74
|
this._optionsService.initializeDevelopmentOptions(this._remoteOptions);
|
|
@@ -71,6 +92,18 @@ export class IoneShoppingCartComponent {
|
|
|
71
92
|
addArticle(articleNo, amount) {
|
|
72
93
|
this.transactionEvents.addToCartBySku.next({ sku: articleNo, amount: amount, popCart: true });
|
|
73
94
|
}
|
|
95
|
+
addArticleButtonClick(article) {
|
|
96
|
+
this.transactionEvents.addArticleLineAt.next({ sku: article.articleNumber, amount: 1, lineNr: this.currentArticleLineNr, beforeOrAfter: this.currentPositionGridRow });
|
|
97
|
+
}
|
|
98
|
+
addToCart(article) {
|
|
99
|
+
this.transactionEvents.addArticleLineAt.next({ sku: article.articleNumber, amount: 1, lineNr: this.currentArticleLineNr, beforeOrAfter: this.currentPositionGridRow });
|
|
100
|
+
}
|
|
101
|
+
addArticleLineAt(articleNo, amount, lineNr, beforeOrAfter) {
|
|
102
|
+
this.transactionEvents.addArticleLineAt.next({ sku: articleNo, amount: amount, lineNr: lineNr, beforeOrAfter: beforeOrAfter });
|
|
103
|
+
}
|
|
104
|
+
addTextLineAt(text, lineNr, beforeOrAfter) {
|
|
105
|
+
this.transactionEvents.addTextLineAt.next({ text: text, lineNr: lineNr, beforeOrAfter: beforeOrAfter });
|
|
106
|
+
}
|
|
74
107
|
addArticleByBySelectorResult(selectorResult, popCart) {
|
|
75
108
|
this.transactionEvents.addToCartBySelectorResult.next({ selectorResult: selectorResult, popCart: popCart });
|
|
76
109
|
}
|
|
@@ -94,9 +127,19 @@ export class IoneShoppingCartComponent {
|
|
|
94
127
|
});
|
|
95
128
|
});
|
|
96
129
|
}
|
|
130
|
+
_handleAddArticleLine(args) {
|
|
131
|
+
//this.addArticleLine.next(args);
|
|
132
|
+
this.showCatalogSidebar = true;
|
|
133
|
+
this.currentArticleLineNr = args.lineNr;
|
|
134
|
+
this.currentPositionGridRow = args.beforeOrAfter;
|
|
135
|
+
}
|
|
136
|
+
_handleAddTextLine(args) {
|
|
137
|
+
this.addTextLine.next(args);
|
|
138
|
+
}
|
|
97
139
|
}
|
|
98
140
|
IoneShoppingCartComponent.decorators = [
|
|
99
141
|
{ type: Component, args: [{
|
|
142
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
100
143
|
selector: "ione-shopping-cart",
|
|
101
144
|
template: `
|
|
102
145
|
<ng-container *ngIf="upAndLoaded">
|
|
@@ -135,6 +178,8 @@ IoneShoppingCartComponent.propDecorators = {
|
|
|
135
178
|
hideCloseCartButton: [{ type: Input }],
|
|
136
179
|
closeCart: [{ type: Output }],
|
|
137
180
|
checkout: [{ type: Output }],
|
|
138
|
-
overview: [{ type: Output }]
|
|
181
|
+
overview: [{ type: Output }],
|
|
182
|
+
addArticleLine: [{ type: Output }],
|
|
183
|
+
addTextLine: [{ type: Output }]
|
|
139
184
|
};
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uZS1zaG9wcGluZy1jYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50L3Nob3BwaW5nLWNhcnQvaW9uZS1zaG9wcGluZy1jYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNyRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN6RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFzQjNELE1BQU0sT0FBTyx5QkFBeUI7SUFvRHBDLFlBQ1MsZUFBa0MsRUFDbEMsZUFBK0IsRUFDL0IsVUFBdUMsRUFDdkMsV0FBOEIsRUFDOUIsUUFBNEIsRUFDNUIsaUJBQTBDLEVBQzFDLGNBQTZCO1FBTjdCLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBNkI7UUFDdkMsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQW9CO1FBQzVCLHNCQUFp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SztpQ0FHTCxLQUFLO2tDQUdMLEtBQUs7d0JBR0wsTUFBTTt1QkFHTixNQUFNO3VCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtPcHRpb25zU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvb3B0aW9ucy5zZXJ2aWNlXCI7XG5pbXBvcnQge1Nob3BwaW5nQ2FydE1hbmFnZXJDb21wb25lbnR9IGZyb20gXCIuL3Nob3BwaW5nLWNhcnQtbWFuYWdlci9zaG9wcGluZy1jYXJ0LW1hbmFnZXIuY29tcG9uZW50XCI7XG5pbXBvcnQge1Nob3BwaW5nQ2FydENvbXBvbmVudH0gZnJvbSBcIi4vc2hvcHBpbmctY2FydC9zaG9wcGluZy1jYXJ0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xuaW1wb3J0IHtJT25lQ29ubmVjdG9yQWRhcHRlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2lvbmUtY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZVwiO1xuaW1wb3J0IHtQcm9tcHRTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiaW9uZS1zaG9wcGluZy1jYXJ0XCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInVwQW5kTG9hZGVkXCI+XG4gICAgICA8c2hvcHBpbmctY2FydC1tYW5hZ2VyXG4gICAgICAgIChsaW5lc0NoYW5nZWQpPVwibGluZXNDaGFuZ2VkKCRldmVudClcIlxuICAgICAgPjwvc2hvcHBpbmctY2FydC1tYW5hZ2VyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93XCI+XG4gICAgICA8c2hvcHBpbmctY2FydFxuICAgICAgICBbaGlkZU92ZXJ2aWV3QnV0dG9uXT1cImhpZGVPdmVydmlld0J1dHRvblwiXG4gICAgICAgIFtoaWRlQ2xvc2VDYXJ0QnV0dG9uXT1cImhpZGVDbG9zZUNhcnRCdXR0b25cIlxuICAgICAgICBbaGlkZUNoZWNrb3V0QnV0dG9uXT1cImhpZGVDaGVja291dEJ1dHRvblwiXG4gICAgICAgIChvdmVydmlldyk9XCJvbk92ZXJ2aWV3QnV0dG9uQ2xpY2tlZCgpXCJcbiAgICAgICAgKGNsb3NlQ2FydCk9XCJvbkNsb3NlQ2FydEJ1dHRvbkNsaWNrZWQoKVwiXG4gICAgICAgIChjaGVja291dCk9XCJvbkNoZWNrb3V0QnV0dG9uQ2xpY2tlZCgpXCJcbiAgICAgID48L3Nob3BwaW5nLWNhcnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgSW9uZVNob3BwaW5nQ2FydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZChTaG9wcGluZ0NhcnRNYW5hZ2VyQ29tcG9uZW50KVxuICBwdWJsaWMgbWFuYWdlcjogU2hvcHBpbmdDYXJ0TWFuYWdlckNvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKFNob3BwaW5nQ2FydENvbXBvbmVudClcbiAgcHVibGljIHNob3BwaW5nQ2FydDogU2hvcHBpbmdDYXJ0Q29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgb3B0aW9ucyh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBsZXQgb3B0aW9uczogYW55O1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBvcHRpb25zID0gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvcHRpb25zID0gdmFsdWU7XG4gICAgICB9XG4gICAgICB0aGlzLl9wdWJsaWNPcHRpb25zID0gdHJ1ZTtcbiAgICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLmluaXRpYWxpemUob3B0aW9ucykudGhlbigpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRlT3ZlcnZpZXdCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGlkZUNoZWNrb3V0QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhpZGVDbG9zZUNhcnRCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsb3NlQ2FydDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoICApXG4gIHB1YmxpYyBjaGVja291dDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoICApXG4gIHB1YmxpYyBvdmVydmlldzogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBnZXQgdHJhbnNhY3Rpb25OcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbk5yO1xuICB9XG5cbiAgcHVibGljIHNob3c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGFtb3VudE9mTGluZXM6IG51bWJlciA9IDA7XG4gIHB1YmxpYyB1cEFuZExvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgb3ZlcnZpZXdNb2RlOiBib29sZWFuID0gdHJ1ZTtcblxuICBwcml2YXRlIF9zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBwcml2YXRlIF9yZW1vdGVPcHRpb25zOiBib29sZWFuID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfcHVibGljT3B0aW9uczogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIF9vcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIF9jb25uZWN0b3I6IElPbmVDb25uZWN0b3JBZGFwdGVyU2VydmljZSxcbiAgICBwdWJsaWMgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxuICAgIHB1YmxpYyBfc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50czogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXG4gICAgcHVibGljIF9wcm9tcHRTZXJ2aWNlOiBQcm9tcHRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnNMb2FkZWQuc3Vic2NyaWJlKGxvYWRlZCA9PiB0aGlzLl9oYW5kbGVTZXR0aW5nc0xvYWRlZChsb2FkZWQpKSxcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9wdWJsaWNPcHRpb25zKSB7XG4gICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5pbml0aWFsaXplRGV2ZWxvcG1lbnRPcHRpb25zKHRoaXMuX3JlbW90ZU9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2VDYXJ0QnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlQ2FydC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25DaGVja291dEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja291dC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25PdmVydmlld0J1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5vdmVydmlldy5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgbGluZXNDaGFuZ2VkKG9wZW5DYXJ0OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5hbW91bnRPZkxpbmVzID0gdGhpcy5tYW5hZ2VyID8gdGhpcy5tYW5hZ2VyLmFtb3VudE9mTGluZXMgOiAwO1xuICB9XG5cbiAgcHVibGljIGFkZEFydGljbGUoYXJ0aWNsZU5vOiBzdHJpbmcsIGFtb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50cy5hZGRUb0NhcnRCeVNrdS5uZXh0KHtza3U6IGFydGljbGVObywgYW1vdW50OiBhbW91bnQsIHBvcENhcnQ6IHRydWV9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRBcnRpY2xlQnlCeVNlbGVjdG9yUmVzdWx0KHNlbGVjdG9yUmVzdWx0OiB7IHNlbGVjdG9yRGF0YToge307IHF1YW50aXR5OiBudW1iZXI7IGJhc2VHb29kSWQ6IG51bWJlcjsgZ29vZElkOiBudW1iZXIgfSwgcG9wQ2FydDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudHMuYWRkVG9DYXJ0QnlTZWxlY3RvclJlc3VsdC5uZXh0KHtzZWxlY3RvclJlc3VsdDogc2VsZWN0b3JSZXN1bHQsIHBvcENhcnQ6IHBvcENhcnR9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZVNldHRpbmdzTG9hZGVkKGxvYWRlZDogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChsb2FkZWQpIHtcbiAgICAgIGF3YWl0IHRoaXMuX2luaXRDb25uZWN0aW9uKCkudGhlbigpO1xuICAgICAgdGhpcy51cEFuZExvYWRlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfaW5pdENvbm5lY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5fY29ubmVjdG9yLmNvbm5lY3QodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucyk7XG5cbiAgICBpZiAodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy51cmwpIHtcbiAgICAgIHRoaXMuX2RpY3Rpb25hcnkucm9vdFVybCA9IHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMudXJsLnJlcGxhY2UoXCIvYWpheHNlcnZpY2VcIiwgXCJcIik7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuX2RpY3Rpb25hcnkuc2V0RGljdGlvbmFyeSh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLmxhbmd1YWdlQ29kZSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uZS1zaG9wcGluZy1jYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50L3Nob3BwaW5nLWNhcnQvaW9uZS1zaG9wcGluZy1jYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXRILE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNyRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN6RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXJFLHlFQUF5RTtBQUN6RSx3Q0FBd0M7QUFDeEMsK0NBQStDO0FBQy9DLDRCQUE0QjtBQUM1QixZQUFZO0FBQ1osU0FBUztBQUNULG9CQUFvQjtBQUNwQix5QkFBeUI7QUFDekIseUNBQXlDO0FBQ3pDLG9DQUFvQztBQUNwQyw0REFBNEQ7QUFDNUQseUJBQXlCO0FBQ3pCLGtCQUFrQjtBQXVCbEIsTUFBTSxPQUFPLHlCQUF5QjtJQWtFcEMsWUFDUyxlQUFrQyxFQUNsQyxlQUErQixFQUMv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NkJBR04sTUFBTTswQkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7T3B0aW9uc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL29wdGlvbnMuc2VydmljZVwiO1xuaW1wb3J0IHtTaG9wcGluZ0NhcnRNYW5hZ2VyQ29tcG9uZW50fSBmcm9tIFwiLi9zaG9wcGluZy1jYXJ0LW1hbmFnZXIvc2hvcHBpbmctY2FydC1tYW5hZ2VyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTaG9wcGluZ0NhcnRDb21wb25lbnR9IGZyb20gXCIuL3Nob3BwaW5nLWNhcnQvc2hvcHBpbmctY2FydC5jb21wb25lbnRcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcbmltcG9ydCB7SU9uZUNvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pb25lLWNvbm5lY3Rvci1hZGFwdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7UHJvbXB0U2VydmljZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcbmltcG9ydCB7UG9zaXRpb25HcmlkUm93fSBmcm9tIFwiLi4vLi4vLi4vZW51bS9wb3NpdGlvbi1ncmlkLXJvdy5lbnVtXCI7XG5cbi8vIDxjby1zaWRlYmFyICNjYXRhbG9nU2lkZWJhciBpc09wZW49XCJmYWxzZVwiICpuZ0lmPVwic2hvd0NhdGFsb2dTaWRlYmFyXCI+XG4vLyA8ZGl2IGNsYXNzPVwicmVsYXRpb24tc2lkZWJhci1oZWFkZXJcIj5cbi8vIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FSVElDTEUnIHwgbG9jYWxpemUgXCJcbi8vIGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtaDNcIlxuLy8gPjwvbGFiZWw+XG4vLyA8L2Rpdj5cbi8vIDxhcHAtaW9uZS1jYXRhbG9nXG4vLyAgIFtzZXR0aW5nc109XCJvcHRpb25zXCJcbi8vICAgW3BhcmFtZXRlcnNdPVwie3B1YmxpY2F0aW9uQ29kZTogNzF9XCJcbi8vIChvbkFkZFRvQ2FydCk9XCJhZGRUb0NhcnQoJGV2ZW50KVwiXG4vLyAob25BZGRBcnRpY2xlQnV0dG9uQ2xpY2spPVwiYWRkQXJ0aWNsZUJ1dHRvbkNsaWNrKCRldmVudClcIlxuLy8gICA+PC9hcHAtaW9uZS1jYXRhbG9nPlxuLy8gICA8L2NvLXNpZGViYXI+XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogXCJpb25lLXNob3BwaW5nLWNhcnRcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidXBBbmRMb2FkZWRcIj5cbiAgICAgIDxzaG9wcGluZy1jYXJ0LW1hbmFnZXJcbiAgICAgICAgKGxpbmVzQ2hhbmdlZCk9XCJsaW5lc0NoYW5nZWQoJGV2ZW50KVwiXG4gICAgICA+PC9zaG9wcGluZy1jYXJ0LW1hbmFnZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dcIj5cbiAgICAgIDxzaG9wcGluZy1jYXJ0XG4gICAgICAgIFtoaWRlT3ZlcnZpZXdCdXR0b25dPVwiaGlkZU92ZXJ2aWV3QnV0dG9uXCJcbiAgICAgICAgW2hpZGVDbG9zZUNhcnRCdXR0b25dPVwiaGlkZUNsb3NlQ2FydEJ1dHRvblwiXG4gICAgICAgIFtoaWRlQ2hlY2tvdXRCdXR0b25dPVwiaGlkZUNoZWNrb3V0QnV0dG9uXCJcbiAgICAgICAgKG92ZXJ2aWV3KT1cIm9uT3ZlcnZpZXdCdXR0b25DbGlja2VkKClcIlxuICAgICAgICAoY2xvc2VDYXJ0KT1cIm9uQ2xvc2VDYXJ0QnV0dG9uQ2xpY2tlZCgpXCJcbiAgICAgICAgKGNoZWNrb3V0KT1cIm9uQ2hlY2tvdXRCdXR0b25DbGlja2VkKClcIlxuICAgICAgPjwvc2hvcHBpbmctY2FydD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBJb25lU2hvcHBpbmdDYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKFNob3BwaW5nQ2FydE1hbmFnZXJDb21wb25lbnQpXG4gIHB1YmxpYyBtYW5hZ2VyOiBTaG9wcGluZ0NhcnRNYW5hZ2VyQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoU2hvcHBpbmdDYXJ0Q29tcG9uZW50KVxuICBwdWJsaWMgc2hvcHBpbmdDYXJ0OiBTaG9wcGluZ0NhcnRDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBvcHRpb25zKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IEpTT04ucGFyc2UodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgdGhpcy5fcHVibGljT3B0aW9ucyA9IHRydWU7XG4gICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5pbml0aWFsaXplKHRoaXMuX29wdGlvbnMpLnRoZW4oKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGlkZU92ZXJ2aWV3QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhpZGVDaGVja291dEJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRlQ2xvc2VDYXJ0QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbG9zZUNhcnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCAgKVxuICBwdWJsaWMgY2hlY2tvdXQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCAgKVxuICBwdWJsaWMgb3ZlcnZpZXc6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCAgKVxuICBwdWJsaWMgYWRkQXJ0aWNsZUxpbmU6IEV2ZW50RW1pdHRlcjx7IGxpbmVOcjogbnVtYmVyOyBiZWZvcmVPckFmdGVyOiBQb3NpdGlvbkdyaWRSb3cgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgbGluZU5yOiBudW1iZXI7IGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvdyB9PigpO1xuXG4gIEBPdXRwdXQoICApXG4gIHB1YmxpYyBhZGRUZXh0TGluZTogRXZlbnRFbWl0dGVyPHsgbGluZU5yOiBudW1iZXI7IGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvdyB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBsaW5lTnI6IG51bWJlcjsgYmVmb3JlT3JBZnRlcjogUG9zaXRpb25HcmlkUm93IH0+KCk7XG5cbiAgcHVibGljIGdldCB0cmFuc2FjdGlvbk5yKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3NlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTnI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBzaG93Q2F0YWxvZ1NpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGN1cnJlbnRBcnRpY2xlTGluZU5yOiBudW1iZXIgPSAwO1xuICBwdWJsaWMgY3VycmVudFBvc2l0aW9uR3JpZFJvdzogUG9zaXRpb25HcmlkUm93ID0gUG9zaXRpb25HcmlkUm93LkFmdGVyO1xuXG4gIHB1YmxpYyBzaG93OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBhbW91bnRPZkxpbmVzOiBudW1iZXIgPSAwO1xuICBwdWJsaWMgdXBBbmRMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIG92ZXJ2aWV3TW9kZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBfcmVtb3RlT3B0aW9uczogYm9vbGVhbiA9IHRydWU7XG4gIHByaXZhdGUgX3B1YmxpY09wdGlvbnM6IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIF9vcHRpb25zOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIF9vcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIF9jb25uZWN0b3I6IElPbmVDb25uZWN0b3JBZGFwdGVyU2VydmljZSxcbiAgICBwdWJsaWMgX2RpY3Rpb25hcnk6IERpY3Rpb25hcnlTZXJ2aWNlLFxuICAgIHB1YmxpYyBfc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50czogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXG4gICAgcHVibGljIF9wcm9tcHRTZXJ2aWNlOiBQcm9tcHRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnNMb2FkZWQuc3Vic2NyaWJlKGxvYWRlZCA9PiB0aGlzLl9oYW5kbGVTZXR0aW5nc0xvYWRlZChsb2FkZWQpKSxcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudHMuYWRkQXJ0aWNsZUxpbmUuc3Vic2NyaWJlKGFyZ3MgPT4gdGhpcy5faGFuZGxlQWRkQXJ0aWNsZUxpbmUoYXJncykpLFxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50cy5hZGRUZXh0TGluZS5zdWJzY3JpYmUoYXJncyA9PiB0aGlzLl9oYW5kbGVBZGRUZXh0TGluZShhcmdzKSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9wdWJsaWNPcHRpb25zKSB7XG4gICAgICB0aGlzLl9vcHRpb25zU2VydmljZS5pbml0aWFsaXplRGV2ZWxvcG1lbnRPcHRpb25zKHRoaXMuX3JlbW90ZU9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2VDYXJ0QnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlQ2FydC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25DaGVja291dEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja291dC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25PdmVydmlld0J1dHRvbkNsaWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5vdmVydmlldy5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgbGluZXNDaGFuZ2VkKG9wZW5DYXJ0OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5hbW91bnRPZkxpbmVzID0gdGhpcy5tYW5hZ2VyID8gdGhpcy5tYW5hZ2VyLmFtb3VudE9mTGluZXMgOiAwO1xuICB9XG5cbiAgcHVibGljIGFkZEFydGljbGUoYXJ0aWNsZU5vOiBzdHJpbmcsIGFtb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50cy5hZGRUb0NhcnRCeVNrdS5uZXh0KHtza3U6IGFydGljbGVObywgYW1vdW50OiBhbW91bnQsIHBvcENhcnQ6IHRydWV9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRBcnRpY2xlQnV0dG9uQ2xpY2soYXJ0aWNsZTogYW55KSB7XG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50cy5hZGRBcnRpY2xlTGluZUF0Lm5leHQoe3NrdTogYXJ0aWNsZS5hcnRpY2xlTnVtYmVyLCBhbW91bnQ6IDEsIGxpbmVOcjogdGhpcy5jdXJyZW50QXJ0aWNsZUxpbmVOciwgYmVmb3JlT3JBZnRlcjogdGhpcy5jdXJyZW50UG9zaXRpb25HcmlkUm93fSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVG9DYXJ0KGFydGljbGU6IGFueSkge1xuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudHMuYWRkQXJ0aWNsZUxpbmVBdC5uZXh0KHtza3U6IGFydGljbGUuYXJ0aWNsZU51bWJlciwgYW1vdW50OiAxLCBsaW5lTnI6IHRoaXMuY3VycmVudEFydGljbGVMaW5lTnIsIGJlZm9yZU9yQWZ0ZXI6IHRoaXMuY3VycmVudFBvc2l0aW9uR3JpZFJvd30pO1xuICB9XG5cbiAgcHVibGljIGFkZEFydGljbGVMaW5lQXQoYXJ0aWNsZU5vOiBzdHJpbmcsIGFtb3VudDogbnVtYmVyLCBsaW5lTnI6IG51bWJlciwgYmVmb3JlT3JBZnRlcjogUG9zaXRpb25HcmlkUm93KSB7XG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50cy5hZGRBcnRpY2xlTGluZUF0Lm5leHQoe3NrdTogYXJ0aWNsZU5vLCBhbW91bnQ6IGFtb3VudCwgbGluZU5yOiBsaW5lTnIsIGJlZm9yZU9yQWZ0ZXI6IGJlZm9yZU9yQWZ0ZXJ9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRUZXh0TGluZUF0KHRleHQ6IHN0cmluZywgbGluZU5yOiBudW1iZXIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvdykge1xuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudHMuYWRkVGV4dExpbmVBdC5uZXh0KHt0ZXh0OiB0ZXh0LCBsaW5lTnI6IGxpbmVOciwgYmVmb3JlT3JBZnRlcjogYmVmb3JlT3JBZnRlcn0pO1xuICB9XG5cbiAgcHVibGljIGFkZEFydGljbGVCeUJ5U2VsZWN0b3JSZXN1bHQoc2VsZWN0b3JSZXN1bHQ6IHsgc2VsZWN0b3JEYXRhOiB7fTsgcXVhbnRpdHk6IG51bWJlcjsgYmFzZUdvb2RJZDogbnVtYmVyOyBnb29kSWQ6IG51bWJlciB9LCBwb3BDYXJ0OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50cy5hZGRUb0NhcnRCeVNlbGVjdG9yUmVzdWx0Lm5leHQoe3NlbGVjdG9yUmVzdWx0OiBzZWxlY3RvclJlc3VsdCwgcG9wQ2FydDogcG9wQ2FydH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlU2V0dGluZ3NMb2FkZWQobG9hZGVkOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGxvYWRlZCkge1xuICAgICAgYXdhaXQgdGhpcy5faW5pdENvbm5lY3Rpb24oKS50aGVuKCk7XG4gICAgICB0aGlzLnVwQW5kTG9hZGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9pbml0Q29ubmVjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLl9jb25uZWN0b3IuY29ubmVjdCh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zKTtcblxuICAgIGlmICh0aGlzLl9vcHRpb25zU2VydmljZS5vcHRpb25zLnVybCkge1xuICAgICAgdGhpcy5fZGljdGlvbmFyeS5yb290VXJsID0gdGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucy51cmwucmVwbGFjZShcIi9hamF4c2VydmljZVwiLCBcIlwiKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5fZGljdGlvbmFyeS5zZXREaWN0aW9uYXJ5KHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMubGFuZ3VhZ2VDb2RlKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUFkZEFydGljbGVMaW5lKGFyZ3M6IHsgbGluZU5yOiBudW1iZXI7IGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvdyB9KSB7XG4gICAgICAvL3RoaXMuYWRkQXJ0aWNsZUxpbmUubmV4dChhcmdzKTtcbiAgICAgIHRoaXMuc2hvd0NhdGFsb2dTaWRlYmFyID0gdHJ1ZTtcbiAgICAgIHRoaXMuY3VycmVudEFydGljbGVMaW5lTnIgPSBhcmdzLmxpbmVOcjtcbiAgICAgIHRoaXMuY3VycmVudFBvc2l0aW9uR3JpZFJvdyA9IGFyZ3MuYmVmb3JlT3JBZnRlcjtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUFkZFRleHRMaW5lKGFyZ3M6IHsgbGluZU5yOiBudW1iZXI7IGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvdyB9KSB7XG4gICAgICB0aGlzLmFkZFRleHRMaW5lLm5leHQoYXJncyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,11 +6,10 @@ import { DictionaryService } from "../../service/dictionary.service";
|
|
|
6
6
|
import { ShoppingCartManagerComponent } from "./shopping-cart-manager/shopping-cart-manager.component";
|
|
7
7
|
import { ShoppingCartComponent } from "./shopping-cart/shopping-cart.component";
|
|
8
8
|
import { ShoppingCartLineComponent } from "./shopping-cart-line/shopping-cart-line.component";
|
|
9
|
-
import { StockStatusIndicatorComponent } from "
|
|
9
|
+
import { StockStatusIndicatorComponent } from "../core/stock-status-indicator/stock-status-indicator.component";
|
|
10
10
|
import { MatStepperModule } from "@angular/material/stepper";
|
|
11
11
|
import { TransactionService } from "../../service/transaction.service";
|
|
12
12
|
import { OptionsService } from "../../service/options.service";
|
|
13
|
-
import { IOneConnectorAdapterService } from "../../service/ione-connector-adapter.service";
|
|
14
13
|
import { IoneShoppingCartComponent } from "./ione-shopping-cart.component";
|
|
15
14
|
import { CoreModule } from "../core/core.module";
|
|
16
15
|
import { CharacteristicAnswerComponent } from "./characteristic-answer/characteristic-answer.component";
|
|
@@ -48,10 +47,9 @@ IoneShoppingCartModule.decorators = [
|
|
|
48
47
|
PopupModule.forRoot(),
|
|
49
48
|
CoSidebarModule,
|
|
50
49
|
CoGridModule,
|
|
51
|
-
CoreModule
|
|
50
|
+
CoreModule
|
|
52
51
|
],
|
|
53
52
|
providers: [
|
|
54
|
-
IOneConnectorAdapterService,
|
|
55
53
|
DictionaryService,
|
|
56
54
|
TransactionService,
|
|
57
55
|
OptionsService
|
|
@@ -59,8 +57,8 @@ IoneShoppingCartModule.decorators = [
|
|
|
59
57
|
entryComponents: [
|
|
60
58
|
IoneShoppingCartComponent
|
|
61
59
|
],
|
|
62
|
-
exports: [IoneShoppingCartComponent],
|
|
60
|
+
exports: [IoneShoppingCartComponent, StockStatusIndicatorComponent],
|
|
63
61
|
bootstrap: [IoneShoppingCartComponent]
|
|
64
62
|
},] }
|
|
65
63
|
];
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uZS1zaG9wcGluZy1jYXJ0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50L3Nob3BwaW5nLWNhcnQvaW9uZS1zaG9wcGluZy1jYXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osZUFBZSxFQUNmLGNBQWMsRUFDZCxVQUFVLEVBQ1YsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixXQUFXLEdBQ1osTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDckcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDOUcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUE2QzdDLE1BQU0sT0FBTyxzQkFBc0I7OztZQTNDbEMsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWiw0QkFBNEI7b0JBQzVCLHFCQUFxQjtvQkFDckIseUJBQXlCO29CQUN6Qiw2QkFBNkI7b0JBQzdCLHlCQUF5QjtvQkFDekIsNkJBQTZCO2lCQUM5QjtnQkFDQyxPQUFPLEVBQUU7b0JBQ0wsdUJBQXVCO29CQUN2QixZQUFZO29CQUNaLFVBQVU7b0JBQ1YsZUFBZTtvQkFDZixtQkFBbUI7b0JBQ25CLHNCQUFzQjtvQkFDdEIsVUFBVTtvQkFDVixtQkFBbUI7b0JBQ25CLHFCQUFxQjtvQkFDckIsdUJBQXVCO29CQUN2QixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsWUFBWTtvQkFDWixVQUFVO29CQUNWLHFCQUFxQjtvQkFDckIsZ0JBQWdCO29CQUNoQixjQUFjO29CQUNkLFdBQVcsQ0FBQyxPQUFPLEVBQUU7b0JBQ3JCLGVBQWU7b0JBQ2YsWUFBWTtvQkFDWixVQUFVO2lCQUNiO2dCQUNILFNBQVMsRUFBRTtvQkFDVCxpQkFBaUI7b0JBQ2pCLGtCQUFrQjtvQkFDbEIsY0FBYztpQkFDZjtnQkFDRCxlQUFlLEVBQUU7b0JBQ2YseUJBQXlCO2lCQUMxQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSw2QkFBNkIsQ0FBQztnQkFDbkUsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtCcm93c2VyQW5pbWF0aW9uc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHtcbiAgQnV0dG9uTW9kdWxlLFxuICBDb0RpYWxvZ01vZHVsZSxcbiAgQ29EaWFsb2dQcm9tcHRNb2R1bGUsXG4gIENvR3JpZE1vZHVsZSxcbiAgQ29TaWRlYmFyTW9kdWxlLFxuICBEcm9wRG93bk1vZHVsZSxcbiAgRm9ybU1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgSW5wdXRDaGVja2JveE1vZHVsZSxcbiAgSW5wdXRDb21ib0JveE1vZHVsZSxcbiAgSW5wdXREYXRlUGlja2VyTW9kdWxlLFxuICBJbnB1dE51bWJlclBpY2tlck1vZHVsZSxcbiAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSxcbiAgSW5wdXRUZXh0TW9kdWxlLFxuICBNdWx0aVNlbGVjdExpc3RNb2R1bGUsXG4gIFBvcHVwTW9kdWxlLFxufSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xuaW1wb3J0IHtGbGV4TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZmxleC1sYXlvdXRcIjtcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xuaW1wb3J0IHtTaG9wcGluZ0NhcnRNYW5hZ2VyQ29tcG9uZW50fSBmcm9tIFwiLi9zaG9wcGluZy1jYXJ0LW1hbmFnZXIvc2hvcHBpbmctY2FydC1tYW5hZ2VyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtTaG9wcGluZ0NhcnRDb21wb25lbnR9IGZyb20gXCIuL3Nob3BwaW5nLWNhcnQvc2hvcHBpbmctY2FydC5jb21wb25lbnRcIjtcbmltcG9ydCB7U2hvcHBpbmdDYXJ0TGluZUNvbXBvbmVudH0gZnJvbSBcIi4vc2hvcHBpbmctY2FydC1saW5lL3Nob3BwaW5nLWNhcnQtbGluZS5jb21wb25lbnRcIjtcbmltcG9ydCB7U3RvY2tTdGF0dXNJbmRpY2F0b3JDb21wb25lbnR9IGZyb20gXCIuLi9jb3JlL3N0b2NrLXN0YXR1cy1pbmRpY2F0b3Ivc3RvY2stc3RhdHVzLWluZGljYXRvci5jb21wb25lbnRcIjtcbmltcG9ydCB7TWF0U3RlcHBlck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3N0ZXBwZXJcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9vcHRpb25zLnNlcnZpY2VcIjtcbmltcG9ydCB7SU9uZUNvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pb25lLWNvbm5lY3Rvci1hZGFwdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7SW9uZVNob3BwaW5nQ2FydENvbXBvbmVudH0gZnJvbSBcIi4vaW9uZS1zaG9wcGluZy1jYXJ0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDb3JlTW9kdWxlfSBmcm9tIFwiLi4vY29yZS9jb3JlLm1vZHVsZVwiO1xuaW1wb3J0IHtDaGFyYWN0ZXJpc3RpY0Fuc3dlckNvbXBvbmVudH0gZnJvbSBcIi4vY2hhcmFjdGVyaXN0aWMtYW5zd2VyL2NoYXJhY3RlcmlzdGljLWFuc3dlci5jb21wb25lbnRcIjtcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNob3BwaW5nQ2FydE1hbmFnZXJDb21wb25lbnQsXG4gICAgU2hvcHBpbmdDYXJ0Q29tcG9uZW50LFxuICAgIFNob3BwaW5nQ2FydExpbmVDb21wb25lbnQsXG4gICAgU3RvY2tTdGF0dXNJbmRpY2F0b3JDb21wb25lbnQsXG4gICAgSW9uZVNob3BwaW5nQ2FydENvbXBvbmVudCxcbiAgICBDaGFyYWN0ZXJpc3RpY0Fuc3dlckNvbXBvbmVudCxcbiAgXSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEljb25Nb2R1bGUsXG4gICAgICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICAgICAgSW5wdXRDaGVja2JveE1vZHVsZSxcbiAgICAgICAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSxcbiAgICAgICAgRm9ybU1vZHVsZSxcbiAgICAgICAgSW5wdXRDb21ib0JveE1vZHVsZSxcbiAgICAgICAgSW5wdXREYXRlUGlja2VyTW9kdWxlLFxuICAgICAgICBJbnB1dE51bWJlclBpY2tlck1vZHVsZSxcbiAgICAgICAgQ29EaWFsb2dNb2R1bGUsXG4gICAgICAgIENvRGlhbG9nUHJvbXB0TW9kdWxlLFxuICAgICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICAgIEZsZXhNb2R1bGUsXG4gICAgICAgIE11bHRpU2VsZWN0TGlzdE1vZHVsZSxcbiAgICAgICAgTWF0U3RlcHBlck1vZHVsZSxcbiAgICAgICAgRHJvcERvd25Nb2R1bGUsXG4gICAgICAgIFBvcHVwTW9kdWxlLmZvclJvb3QoKSxcbiAgICAgICAgQ29TaWRlYmFyTW9kdWxlLFxuICAgICAgICBDb0dyaWRNb2R1bGUsXG4gICAgICAgIENvcmVNb2R1bGVcbiAgICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBEaWN0aW9uYXJ5U2VydmljZSxcbiAgICBUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgT3B0aW9uc1NlcnZpY2VcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgSW9uZVNob3BwaW5nQ2FydENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbSW9uZVNob3BwaW5nQ2FydENvbXBvbmVudCwgU3RvY2tTdGF0dXNJbmRpY2F0b3JDb21wb25lbnRdLFxuICBib290c3RyYXA6IFtJb25lU2hvcHBpbmdDYXJ0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBJb25lU2hvcHBpbmdDYXJ0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -4,11 +4,10 @@ import { TransactionService } from "../../../service/transaction.service";
|
|
|
4
4
|
import { OrderDiscountType } from "../../../enum/order-discount-type.enum";
|
|
5
5
|
import { SortDirection } from "@colijnit/transactionapi/build/enum/sort-direction";
|
|
6
6
|
import { SortType } from "@colijnit/transactionapi/build/enum/sort-type.enum";
|
|
7
|
-
import {
|
|
8
|
-
import { CoreComponentsIcon, IconCacheService } from "@colijnit/corecomponents_v12";
|
|
7
|
+
import { CoreComponentsIcon, CoSidebarComponent, IconCacheService } from "@colijnit/corecomponents_v12";
|
|
9
8
|
import { TransactionEventService } from "../../../service/transaction-event.service";
|
|
10
|
-
import { CoSidebarComponent } from "@colijnit/corecomponents_v12";
|
|
11
9
|
import { ContentViewMode } from "../../../enum/content-view-mode.enum";
|
|
10
|
+
import { PositionGridRow } from "../../../../enum/position-grid-row.enum";
|
|
12
11
|
export class ShoppingCartComponent {
|
|
13
12
|
constructor(iconCacheService, _dictionary, service, _transactionEvents, _changeDetector) {
|
|
14
13
|
this.iconCacheService = iconCacheService;
|
|
@@ -28,13 +27,15 @@ export class ShoppingCartComponent {
|
|
|
28
27
|
this.overview = new EventEmitter();
|
|
29
28
|
this.activeViewMode = ContentViewMode.List;
|
|
30
29
|
this.columns = [];
|
|
30
|
+
this.contextMenuItems = [];
|
|
31
31
|
this.showDiscountsSidebar = false;
|
|
32
32
|
this._transactionUpdated = this.service.transactionUpdated.subscribe(() => {
|
|
33
33
|
this.setFilteredCollection(this.service.currentLines);
|
|
34
34
|
});
|
|
35
35
|
this.setFilteredCollection(this.service.currentLines);
|
|
36
36
|
const mediaQuery = "(min-width: 500px)";
|
|
37
|
-
this.columns.push({ field: "lineNr", headerText: this._dictionary.get("NR"), allowFiltering: false }, { field: "articleNumber", headerText: this._dictionary.get("ARTICLE_NR") }, { field: "goodDescription", headerText: this._dictionary.get("GOOD_DESCRIPTION"), hideAtMedia: mediaQuery }, { field: "amount", headerText: this._dictionary.get("NUMBER"), textAlign: "Right" }, { field: "price", headerText: this._dictionary.get("PRICE"), format: "C2", textAlign: "Right" }, { field: "priceListCode", headerText: this._dictionary.get("PRICE_LIST"), hideAtMedia: mediaQuery }, { field: "lineDiscount", headerText: this._dictionary.get("DISCOUNT_PERCENTAGE"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "specialDiscount", headerText: this._dictionary.get("SPECIAL_DISCOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "discountAmount", headerText: this._dictionary.get("DISCOUNT_AMOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "surchargeAmount", headerText: this._dictionary.get("SURCHARGE_AMOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "assemblyCost", headerText: this._dictionary.get("ASSEMBLY_COSTS"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "grossLineTotal", headerText: this._dictionary.get("TOTAL_GROSS"), format: "C2", visible: true, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "lineTotalDiscountAmount", headerText: this._dictionary.get("DISCOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "netLineTotal", headerText: this._dictionary.get("SUBTOTAL"), format: "C2", visible: false, textAlign: "Right" }, { field: "vatId", headerText: this._dictionary.get("VAT"), hideAtMedia: mediaQuery, visible: false, textAlign: "Right" }, { field: "priceDeclaration", headerText: this._dictionary.get("TRANSACTION_PRICE_DECLARATION"), visible: false, hideAtMedia: mediaQuery }, { field: "netto", headerText: this._dictionary.get("NETT"), format: "C2", hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "warehouseNumber", headerText: this._dictionary.get("WAREHOUSE"), hideAtMedia: mediaQuery, textAlign: "Right" });
|
|
37
|
+
this.columns.push({ field: "lineNr", headerText: this._dictionary.get("NR"), allowFiltering: false, allowSorting: false }, { field: "text", headerText: this._dictionary.get("TEXT") }, { field: "articleNumber", headerText: this._dictionary.get("ARTICLE_NR") }, { field: "goodDescription", headerText: this._dictionary.get("GOOD_DESCRIPTION"), hideAtMedia: mediaQuery }, { field: "amount", headerText: this._dictionary.get("NUMBER"), textAlign: "Right" }, { field: "price", headerText: this._dictionary.get("PRICE"), format: "C2", textAlign: "Right" }, { field: "priceListCode", headerText: this._dictionary.get("PRICE_LIST"), hideAtMedia: mediaQuery }, { field: "lineDiscount", headerText: this._dictionary.get("DISCOUNT_PERCENTAGE"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "specialDiscount", headerText: this._dictionary.get("SPECIAL_DISCOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "discountAmount", headerText: this._dictionary.get("DISCOUNT_AMOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "surchargeAmount", headerText: this._dictionary.get("SURCHARGE_AMOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "assemblyCost", headerText: this._dictionary.get("ASSEMBLY_COSTS"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "grossLineTotal", headerText: this._dictionary.get("TOTAL_GROSS"), format: "C2", visible: true, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "lineTotalDiscountAmount", headerText: this._dictionary.get("DISCOUNT"), format: "C2", visible: false, hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "netLineTotal", headerText: this._dictionary.get("SUBTOTAL"), format: "C2", visible: false, textAlign: "Right" }, { field: "vatId", headerText: this._dictionary.get("VAT"), hideAtMedia: mediaQuery, visible: false, textAlign: "Right" }, { field: "priceDeclaration", headerText: this._dictionary.get("TRANSACTION_PRICE_DECLARATION"), visible: false, hideAtMedia: mediaQuery }, { field: "netto", headerText: this._dictionary.get("NETT"), format: "C2", hideAtMedia: mediaQuery, textAlign: "Right" }, { field: "warehouseNumber", headerText: this._dictionary.get("WAREHOUSE"), hideAtMedia: mediaQuery, textAlign: "Right" });
|
|
38
|
+
this.contextMenuItems.push({ text: this._dictionary.get("ADD_ARTICLE_LINE_UP"), target: ".e-content", id: "articleLineUp" }, { text: this._dictionary.get("ADD_ARTICLE_LINE_DOWN"), target: ".e-content", id: "articleLineDown" }, { text: this._dictionary.get("ADD_ARTICLE_TEXT_LINE_UP"), target: ".e-content", id: "articleTextLineUp" }, { text: this._dictionary.get("ADD_ARTICLE_TEXT_LINE_DOWN"), target: ".e-content", id: "articleTextLineDown" });
|
|
38
39
|
}
|
|
39
40
|
get filteredCollection() {
|
|
40
41
|
return this._filteredCollection;
|
|
@@ -47,7 +48,7 @@ export class ShoppingCartComponent {
|
|
|
47
48
|
property: "lineNr",
|
|
48
49
|
type: SortType.Number
|
|
49
50
|
};
|
|
50
|
-
SortUtils.SortObjectArray(this._filteredCollection, [sortByLineNr]);
|
|
51
|
+
// SortUtils.SortObjectArray(this._filteredCollection, [sortByLineNr]);
|
|
51
52
|
}
|
|
52
53
|
ngAfterViewInit() {
|
|
53
54
|
this.hideSidebar();
|
|
@@ -108,7 +109,7 @@ export class ShoppingCartComponent {
|
|
|
108
109
|
return line.lineNr;
|
|
109
110
|
}
|
|
110
111
|
handleRowsSelected(rows) {
|
|
111
|
-
|
|
112
|
+
this._selectedRow = rows.find(x => x !== undefined);
|
|
112
113
|
}
|
|
113
114
|
showSidebar() {
|
|
114
115
|
this.showDiscountsSidebar = true;
|
|
@@ -124,9 +125,36 @@ export class ShoppingCartComponent {
|
|
|
124
125
|
this.discountsSidebar.hide();
|
|
125
126
|
}
|
|
126
127
|
}
|
|
128
|
+
menuItemClick(args) {
|
|
129
|
+
const lineNr = this._selectedRow.lineNr;
|
|
130
|
+
switch (args.item.id) {
|
|
131
|
+
case "articleLineUp":
|
|
132
|
+
// this._transactionEvents.addArticleLine.next({lineNr: lineNr, beforeOrAfter: PositionGridRow.Before});
|
|
133
|
+
this._transactionEvents.addArticleLineAt.next({ sku: "iPod", amount: 1, lineNr: lineNr, beforeOrAfter: PositionGridRow.Before });
|
|
134
|
+
break;
|
|
135
|
+
case "articleLineDown":
|
|
136
|
+
// this._transactionEvents.addArticleLine.next({lineNr: lineNr, beforeOrAfter: PositionGridRow.After});
|
|
137
|
+
this._transactionEvents.addArticleLineAt.next({ sku: "iPod", amount: 1, lineNr: lineNr, beforeOrAfter: PositionGridRow.After });
|
|
138
|
+
break;
|
|
139
|
+
case "articleTextLineUp":
|
|
140
|
+
// this._transactionEvents.addTextLine.next({lineNr: lineNr, beforeOrAfter: PositionGridRow.Before});
|
|
141
|
+
this._transactionEvents.addTextLineAt.next({ text: "textregel before", lineNr: lineNr, beforeOrAfter: PositionGridRow.Before });
|
|
142
|
+
break;
|
|
143
|
+
case "articleTextLineDown":
|
|
144
|
+
// this._transactionEvents.addTextLine.next({lineNr: lineNr, beforeOrAfter: PositionGridRow.After});
|
|
145
|
+
this._transactionEvents.addTextLineAt.next({ text: "textregel after", lineNr: lineNr, beforeOrAfter: PositionGridRow.After });
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
rowDrop(args) {
|
|
150
|
+
this._transactionEvents.changeLineSequence.next({ fromIndex: args.fromIndex, toIndex: args.dropIndex });
|
|
151
|
+
// Transaction lines will be reloaded by previous action on success, not by failure. So, cancel the drop in all cases.
|
|
152
|
+
args.cancel = true;
|
|
153
|
+
}
|
|
127
154
|
}
|
|
128
155
|
ShoppingCartComponent.decorators = [
|
|
129
156
|
{ type: Component, args: [{
|
|
157
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
130
158
|
selector: "shopping-cart",
|
|
131
159
|
template: `
|
|
132
160
|
<div class="cart-header">
|
|
@@ -145,19 +173,24 @@ ShoppingCartComponent.decorators = [
|
|
|
145
173
|
</div>
|
|
146
174
|
</div>
|
|
147
175
|
<div class="cart-lines">
|
|
148
|
-
<div class="cart-list-wrapper" *ngIf="
|
|
176
|
+
<div class="cart-list-wrapper" *ngIf="activeViewMode === viewModes.List" fxFlex="column">
|
|
149
177
|
<shopping-cart-line [overlayMode]="overlayMode" [overviewMode]="overviewMode"
|
|
150
178
|
*ngFor="let line of filteredCollection; trackBy:trackByFn;"
|
|
151
179
|
[line]="line"
|
|
152
180
|
></shopping-cart-line>
|
|
153
181
|
</div>
|
|
154
|
-
<div class="cart-list-wrapper" *ngIf="
|
|
182
|
+
<div class="cart-list-wrapper" *ngIf="activeViewMode === viewModes.Grid" fxFlex="column">
|
|
155
183
|
<co-grid
|
|
156
184
|
[data]="filteredCollection"
|
|
185
|
+
[rowDragAndDropEnabled]="true"
|
|
186
|
+
[contextMenuItems]="contextMenuItems"
|
|
187
|
+
[sortingEnabled]="false"
|
|
157
188
|
[columns]="columns"
|
|
158
189
|
[pagingEnabled]="'true'"
|
|
159
190
|
[maxNumberOfRows]="'20'"
|
|
160
191
|
(rowsSelected)="handleRowsSelected($event)"
|
|
192
|
+
(contextMenuItemClick)="menuItemClick($event)"
|
|
193
|
+
(rowDropEvent)="rowDrop($event)"
|
|
161
194
|
></co-grid>
|
|
162
195
|
</div>
|
|
163
196
|
</div>
|
|
@@ -258,4 +291,4 @@ ShoppingCartComponent.propDecorators = {
|
|
|
258
291
|
checkout: [{ type: Output }],
|
|
259
292
|
overview: [{ type: Output }]
|
|
260
293
|
};
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcHBpbmctY2FydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudC9zaG9wcGluZy1jYXJ0L3Nob3BwaW5nLWNhcnQvc2hvcHBpbmctY2FydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixpQkFBaUIsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFdBQVcsRUFBVSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEssT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFHekUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUM1RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saURBQWlELENBQUM7QUFFMUUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBdUhyRSxNQUFNLE9BQU8scUJBQXFCO0lBaUVoQyxZQUNTLGdCQUFrQyxFQUNqQyxXQUE4QixFQUMvQixPQUEyQixFQUMxQixrQkFBMkMsRUFDM0MsZUFBa0M7UUFKbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxnQkFBVyxHQUFYLFdBQVcsQ0FB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Q0FBQztRQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVyQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDOzs7WUFuVEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRHVDs7YUFLRjs7O1lBekgyQixnQkFBZ0I7WUFUcEMsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQVNsQix1QkFBdUI7WUFYUixpQkFBaUI7OzsrQkEySXJDLFNBQVMsU0FBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7MEJBRy9DLEtBQUssWUFDTCxXQUFXLFNBQUMsaUJBQWlCOzJCQUc3QixLQUFLLFlBQ0wsV0FBVyxTQUFDLGdCQUFnQjtpQ0FHNUIsS0FBSztpQ0FHTCxLQUFLO2tDQUdMLEtBQUs7d0JBR0wsTUFBTTt1QkFHTixNQUFNO3VCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7T3JkZXJEaXNjb3VudFR5cGV9IGZyb20gXCIuLi8uLi8uLi9lbnVtL29yZGVyLWRpc2NvdW50LXR5cGUuZW51bVwiO1xuaW1wb3J0IHtCdXNpbmVzc09iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9idXNpbmVzcy1vYmplY3RcIjtcbmltcG9ydCB7U29ydFByb3BlcnR5fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2ludGVyZmFjZS9zb3J0LXByb3BlcnR5XCI7XG5pbXBvcnQge1NvcnREaXJlY3Rpb259IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9zb3J0LWRpcmVjdGlvblwiO1xuaW1wb3J0IHtTb3J0VHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3NvcnQtdHlwZS5lbnVtXCI7XG5pbXBvcnQge1NvcnRVdGlsc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC91dGlscy9zb3J0LXV0aWxzXCI7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7Q29yZUNvbXBvbmVudHNJY29uLCBJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZVwiO1xuaW1wb3J0IHtDb1NpZGViYXJDb21wb25lbnR9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XG5pbXBvcnQge0NvbnRlbnRWaWV3TW9kZX0gZnJvbSBcIi4uLy4uLy4uL2VudW0vY29udGVudC12aWV3LW1vZGUuZW51bVwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ib1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic2hvcHBpbmctY2FydFwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWhlYWRlclwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjYXJ0LWhlYWRlci1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCJnZXRDYXJ0TGFiZWwoKVwiPjwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2aWV3LW1vZGUtYnV0dG9uc1wiPlxuICAgICAgICA8Y28tYnV0dG9uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvblRoaWNrTGluZXMpXCJcbiAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0xJU1RfVklFVycgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRoaXMuYWN0aXZlVmlld01vZGUgPSB2aWV3TW9kZXMuTGlzdFwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmlhbmdsZSB3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgaWNvbkNsYXNzPVwibWVkaXVtIGxpZ2h0XCI+PC9jby1idXR0b24+XG4gICAgICAgIDxjby1idXR0b24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uVGhpbkxpbmVzKVwiXG4gICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidHUklEX1ZJRVcnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0aGlzLmFjdGl2ZVZpZXdNb2RlID0gdmlld01vZGVzLkdyaWRcIlxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidHJpYW5nbGUgd2hpdGVcIlxuICAgICAgICAgICAgICAgICAgIGljb25DbGFzcz1cIm1lZGl1bSBsaWdodFwiPjwvY28tYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNhcnQtbGluZXNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWxpc3Qtd3JhcHBlclwiICpuZ0lmPVwidGhpcy5hY3RpdmVWaWV3TW9kZSA9PSB2aWV3TW9kZXMuTGlzdFwiIGZ4RmxleD1cImNvbHVtblwiPlxuICAgICAgICA8c2hvcHBpbmctY2FydC1saW5lIFtvdmVybGF5TW9kZV09XCJvdmVybGF5TW9kZVwiIFtvdmVydmlld01vZGVdPVwib3ZlcnZpZXdNb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGluZSBvZiBmaWx0ZXJlZENvbGxlY3Rpb247IHRyYWNrQnk6dHJhY2tCeUZuO1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xpbmVdPVwibGluZVwiXG4gICAgICAgID48L3Nob3BwaW5nLWNhcnQtbGluZT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNhcnQtbGlzdC13cmFwcGVyXCIgKm5nSWY9XCJ0aGlzLmFjdGl2ZVZpZXdNb2RlID09IHZpZXdNb2Rlcy5HcmlkXCIgZnhGbGV4PVwiY29sdW1uXCI+XG4gICAgICAgIDxjby1ncmlkXG4gICAgICAgICAgW2RhdGFdPVwiZmlsdGVyZWRDb2xsZWN0aW9uXCJcbiAgICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcbiAgICAgICAgICBbcGFnaW5nRW5hYmxlZF09XCIndHJ1ZSdcIlxuICAgICAgICAgIFttYXhOdW1iZXJPZlJvd3NdPVwiJzIwJ1wiXG4gICAgICAgICAgKHJvd3NTZWxlY3RlZCk9XCJoYW5kbGVSb3dzU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgID48L2NvLWdyaWQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2hvcHBpbmctY2FydC10b3RhbHNcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMTBweFwiPlxuICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxuICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ09SREVSX0dST1NTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwic2VydmljZS5jdXJyZW50VG90YWxzPy5ncm9zc0Ftb3VudCB8IGNvQ3VycmVuY3k6IHRydWVcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiAqbmdJZj1cInNlcnZpY2UuY3VycmVudFRvdGFscz8uZGlzY291bnRBbW91bnRcIj5cbiAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidESVNDT1VOVF9BTU9VTlQnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJzZXJ2aWNlLmN1cnJlbnRUb3RhbHM/LmRpc2NvdW50QW1vdW50IHwgY29DdXJyZW5jeTogdHJ1ZVwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiICpuZ0lmPVwic2VydmljZS5jdXJyZW50VG90YWxzPy50cmFuc2FjdGlvbkRpc2NvdW50QW1vdW50XCI+XG4gICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInVFJBTlNBQ1RJT05fRElTQ09VTlQnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJzZXJ2aWNlLmN1cnJlbnRUb3RhbHM/LnRyYW5zYWN0aW9uRGlzY291bnRBbW91bnQgfCBjb0N1cnJlbmN5OiB0cnVlXCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgKm5nSWY9XCJzZXJ2aWNlLmN1cnJlbnRUb3RhbHM/LnRyYW5zYWN0aW9uRGlzY291bnRQZXJjZW50YWdlXCI+XG4gICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInVFJBTlNBQ1RJT05fRElTQ09VTlRfUEVSQycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInNlcnZpY2UuY3VycmVudFRvdGFscz8udHJhbnNhY3Rpb25EaXNjb3VudFBlcmNlbnRhZ2UudG9TdHJpbmcoKSB8IGFwcGVuZDonICUnXCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XG4gICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInT1JERVJfTkVUJ3wgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJzZXJ2aWNlLmN1cnJlbnRUb3RhbHM/Lm5ldEFtb3VudCB8IGNvQ3VycmVuY3k6IHRydWVcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxhIChjbGljayk9XCJhZGREaXNjb3VudCgpXCIgW3RleHRDb250ZW50XT1cIidBRERfRElTQ09VTlRTJyB8IGxvY2FsaXplXCI+PC9hPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzaG9wcGluZy1jYXJ0LXJvdy1lbmRcIj5cbiAgICAgIDxjby1idXR0b24gKm5nSWY9XCIhaGlkZU92ZXJ2aWV3QnV0dG9uXCIgW2xhYmVsXT1cIidPVkVSVklFVycgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJvdmVydmlldy5lbWl0KClcIlxuICAgICAgPjwvY28tYnV0dG9uPlxuICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cIiFoaWRlQ2xvc2VDYXJ0QnV0dG9uXCJbbGFiZWxdPVwiJ1NIT1BQSU5HX0NBUlRfUkVTVU1FJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlQ2FydC5lbWl0KClcIlxuICAgICAgPjwvY28tYnV0dG9uPlxuICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cIiFoaWRlQ2hlY2tvdXRCdXR0b25cIiBbbGFiZWxdPVwiJ1NIT1BQSU5HX0NBUlRfQ0hFQ0tPVVQnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXNlcnZpY2UuYXJ0aWNsZUFtb3VudFwiXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGVja291dC5lbWl0KClcIj48L2NvLWJ1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxjby1zaWRlYmFyICNkaXNjb3VudHNTaWRlYmFyIGlzT3Blbj1cImZhbHNlXCIgKm5nSWY9XCJzaG93RGlzY291bnRzU2lkZWJhclwiPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIxMHB4XCI+XG4gICAgICAgICAgPGNvLWJ1dHRvbiAgY2xhc3M9XCJyZWN0YW5ndWxhclwiIFtsYWJlbF09XCInVFJBTlNBQ1RJT05fRElTQ09VTlRfUEVSQycgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3RhcnREaXNjb3VudElucHV0KG9yZGVyRGlzY291bnRUeXBlLkRpc2NvdW50UGVyY2VudGFnZSwgJ1RSQU5TQUNUSU9OX0RJU0NPVU5UX1BFUkMnKVwiPjwvY28tYnV0dG9uPlxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJyZWN0YW5ndWxhclwiIFtsYWJlbF09XCInVFJBTlNBQ1RJT05fRElTQ09VTlQnfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3RhcnREaXNjb3VudElucHV0KG9yZGVyRGlzY291bnRUeXBlLkRpc2NvdW50QW1vdW50LCAnVFJBTlNBQ1RJT05fRElTQ09VTlQnKVwiPjwvY28tYnV0dG9uPlxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJyZWN0YW5ndWxhclwiIFtsYWJlbF09XCInVFJBTlNBQ1RJT05fVE9UQUwnfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU3RhcnREaXNjb3VudElucHV0KG9yZGVyRGlzY291bnRUeXBlLk9yZGVyVG90YWwsICdUUkFOU0FDVElPTl9UT1RBTCcpXCI+PC9jby1idXR0b24+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9jby1zaWRlYmFyPlxuXG4gICAgPGNvLWRpYWxvZyBbdmlzaWJsZV09XCJpbnB1dERpc2NvdW50c1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciBoZWFkZXI+e3sgZGlzY291bnRIZWFkZXIgfCBsb2NhbGl6ZSB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8Y28tZm9ybT5cbiAgICAgICAgICA8Y28taW5wdXQtdGV4dFxuICAgICAgICAgICAgKm5nSWY9XCJkaXNjb3VudFR5cGUgPT09IG9yZGVyRGlzY291bnRUeXBlLkRpc2NvdW50UGVyY2VudGFnZVwiXG4gICAgICAgICAgICBbdHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbKG1vZGVsKV09XCJ0cmFuc2FjdGlvbkRpc2NvdW50UGVyY2VudGFnZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1RSQU5TQUNUSU9OX0RJU0NPVU5UX1BFUkMnIHwgbG9jYWxpemVcIlxuICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgPGNvLWlucHV0LXRleHRcbiAgICAgICAgICAgICpuZ0lmPVwiZGlzY291bnRUeXBlID09PSBvcmRlckRpc2NvdW50VHlwZS5EaXNjb3VudEFtb3VudFwiXG4gICAgICAgICAgICBbdHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbKG1vZGVsKV09XCJ0cmFuc2FjdGlvbkRpc2NvdW50QW1vdW50XCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVFJBTlNBQ1RJT05fRElTQ09VTlQnIHwgbG9jYWxpemVcIlxuICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XG4gICAgICAgICAgPGNvLWlucHV0LXRleHRcbiAgICAgICAgICAgICpuZ0lmPVwiZGlzY291bnRUeXBlID09PSBvcmRlckRpc2NvdW50VHlwZS5PcmRlclRvdGFsXCJcbiAgICAgICAgICAgIFt0eXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgICAgIFsobW9kZWwpXT1cInRyYW5zYWN0aW9uVG90YWxcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidUUkFOU0FDVElPTl9UT1RBTCcgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cblxuICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjEwcHhcIiBmeExheW91dEFsaWduPVwiZW5kXCI+XG4gICAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInQ0FOQ0VMJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cImlucHV0RGlzY291bnRzID0gZmFsc2VcIj48L2NvLWJ1dHRvbj5cbiAgICAgICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidPSycgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJvbklucHV0RGlzY291bnRzT2tDbGljaygpXCI+PC9jby1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvY28tZm9ybT5cbiAgICA8L2NvLWRpYWxvZz5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbXG4gICAgXCIuL3Nob3BwaW5nLWNhcnQuY29tcG9uZW50LnNjc3NcIixcbiAgICBcIi4uL3Nob3BwaW5nLWNhcnQtb3ZlcnZpZXcvc2hvcHBpbmctY2FydC1vdmVydmlldy5jb21wb25lbnQuc2Nzc1wiLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNob3BwaW5nQ2FydENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyByZWFkb25seSBvcmRlckRpc2NvdW50VHlwZTogdHlwZW9mIE9yZGVyRGlzY291bnRUeXBlID0gT3JkZXJEaXNjb3VudFR5cGU7XG4gIHB1YmxpYyByZWFkb25seSBpY29uVGhpY2tMaW5lczogQ29yZUNvbXBvbmVudHNJY29uID0gQ29yZUNvbXBvbmVudHNJY29uLlRoaWNrTGluZXM7XG4gIHB1YmxpYyByZWFkb25seSBpY29uVGhpbkxpbmVzOiBDb3JlQ29tcG9uZW50c0ljb24gPSBDb3JlQ29tcG9uZW50c0ljb24uVGhpbkxpbmVzO1xuICBwdWJsaWMgcmVhZG9ubHkgdmlld01vZGVzOiB0eXBlb2YgQ29udGVudFZpZXdNb2RlID0gQ29udGVudFZpZXdNb2RlO1xuXG5cbiAgQFZpZXdDaGlsZChDb1NpZGViYXJDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgZGlzY291bnRzU2lkZWJhcjogQ29TaWRlYmFyQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLm92ZXJsYXllZFwiKVxuICBwdWJsaWMgb3ZlcmxheU1vZGU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3Mub3ZlcnZpZXdcIilcbiAgcHVibGljIG92ZXJ2aWV3TW9kZTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGlkZU92ZXJ2aWV3QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhpZGVDaGVja291dEJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRlQ2xvc2VDYXJ0QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbG9zZUNhcnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNoZWNrb3V0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVydmlldzogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBnZXQgZmlsdGVyZWRDb2xsZWN0aW9uKCk6IFRyYW5zYWN0aW9uTGluZUluZm9bXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlcmVkQ29sbGVjdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGaWx0ZXJlZENvbGxlY3Rpb24odmFsdWU6IEJ1c2luZXNzT2JqZWN0W10pOiB2b2lkIHtcbiAgICB0aGlzLl9maWx0ZXJlZENvbGxlY3Rpb24gPSAodmFsdWUgYXMgVHJhbnNhY3Rpb25MaW5lSW5mb1tdKTtcbiAgICBjb25zdCBzb3J0QnlMaW5lTnI6IFNvcnRQcm9wZXJ0eSA9IHtcbiAgICAgIGFjdGl2ZTogdHJ1ZSxcbiAgICAgIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbi5Bc2NlbmRpbmcsXG4gICAgICBwcm9wZXJ0eTogXCJsaW5lTnJcIixcbiAgICAgIHR5cGU6IFNvcnRUeXBlLk51bWJlcn07XG4gICAgU29ydFV0aWxzLlNvcnRPYmplY3RBcnJheSh0aGlzLl9maWx0ZXJlZENvbGxlY3Rpb24sIFtzb3J0QnlMaW5lTnJdKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNjb3VudEhlYWRlcjogc3RyaW5nO1xuICBwdWJsaWMgaW5wdXREaXNjb3VudHM6IGJvb2xlYW47XG4gIHB1YmxpYyB0cmFuc2FjdGlvbkRpc2NvdW50QW1vdW50OiBudW1iZXI7XG4gIHB1YmxpYyB0cmFuc2FjdGlvbkRpc2NvdW50UGVyY2VudGFnZTogbnVtYmVyO1xuICBwdWJsaWMgdHJhbnNhY3Rpb25Ub3RhbDogbnVtYmVyO1xuICBwdWJsaWMgZGlzY291bnRUeXBlOiBPcmRlckRpc2NvdW50VHlwZTtcblxuICBwdWJsaWMgYWN0aXZlVmlld01vZGU6IENvbnRlbnRWaWV3TW9kZSA9IENvbnRlbnRWaWV3TW9kZS5MaXN0O1xuICBwdWJsaWMgY29sdW1uczogYW55W10gPSBbXTtcblxuICBwdWJsaWMgc2hvd0Rpc2NvdW50c1NpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9maWx0ZXJlZENvbGxlY3Rpb246IFRyYW5zYWN0aW9uTGluZUluZm9bXTtcbiAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25VcGRhdGVkOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeTogRGljdGlvbmFyeVNlcnZpY2UsXG4gICAgcHVibGljIHNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvbkV2ZW50czogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uVXBkYXRlZCA9IHRoaXMuc2VydmljZS50cmFuc2FjdGlvblVwZGF0ZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2V0RmlsdGVyZWRDb2xsZWN0aW9uKHRoaXMuc2VydmljZS5jdXJyZW50TGluZXMpO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0RmlsdGVyZWRDb2xsZWN0aW9uKHRoaXMuc2VydmljZS5jdXJyZW50TGluZXMpO1xuXG4gICAgY29uc3QgbWVkaWFRdWVyeTogc3RyaW5nID0gXCIobWluLXdpZHRoOiA1MDBweClcIjtcblxuICAgIHRoaXMuY29sdW1ucy5wdXNoKFxuICAgICAge2ZpZWxkOiBcImxpbmVOclwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIk5SXCIpLCBhbGxvd0ZpbHRlcmluZzogZmFsc2V9LFxuICAgICAge2ZpZWxkOiBcImFydGljbGVOdW1iZXJcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJBUlRJQ0xFX05SXCIpfSxcbiAgICAgIHtmaWVsZDogXCJnb29kRGVzY3JpcHRpb25cIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJHT09EX0RFU0NSSVBUSU9OXCIpLCBoaWRlQXRNZWRpYTogbWVkaWFRdWVyeX0sXG4gICAgICB7ZmllbGQ6IFwiYW1vdW50XCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiTlVNQkVSXCIpLCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwicHJpY2VcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJQUklDRVwiKSwgIGZvcm1hdDogXCJDMlwiLCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwicHJpY2VMaXN0Q29kZVwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIlBSSUNFX0xJU1RcIiksIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5fSxcbiAgICAgIHtmaWVsZDogXCJsaW5lRGlzY291bnRcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJESVNDT1VOVF9QRVJDRU5UQUdFXCIpLCBmb3JtYXQ6IFwiQzJcIiwgdmlzaWJsZTogZmFsc2UsIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5LCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwic3BlY2lhbERpc2NvdW50XCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiU1BFQ0lBTF9ESVNDT1VOVFwiKSwgZm9ybWF0OiBcIkMyXCIsIHZpc2libGU6IGZhbHNlLCBoaWRlQXRNZWRpYTogbWVkaWFRdWVyeSwgdGV4dEFsaWduOiBcIlJpZ2h0XCJ9LFxuICAgICAge2ZpZWxkOiBcImRpc2NvdW50QW1vdW50XCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiRElTQ09VTlRfQU1PVU5UXCIpLCBmb3JtYXQ6IFwiQzJcIiwgdmlzaWJsZTogZmFsc2UsIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5LCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwic3VyY2hhcmdlQW1vdW50XCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiU1VSQ0hBUkdFX0FNT1VOVFwiKSwgZm9ybWF0OiBcIkMyXCIsIHZpc2libGU6IGZhbHNlLCBoaWRlQXRNZWRpYTogbWVkaWFRdWVyeSwgdGV4dEFsaWduOiBcIlJpZ2h0XCJ9LFxuICAgICAge2ZpZWxkOiBcImFzc2VtYmx5Q29zdFwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIkFTU0VNQkxZX0NPU1RTXCIpLCBmb3JtYXQ6IFwiQzJcIiwgdmlzaWJsZTogZmFsc2UsIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5LCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwiZ3Jvc3NMaW5lVG90YWxcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJUT1RBTF9HUk9TU1wiKSwgZm9ybWF0OiBcIkMyXCIsIHZpc2libGU6IHRydWUsIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5LCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwibGluZVRvdGFsRGlzY291bnRBbW91bnRcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJESVNDT1VOVFwiKSwgZm9ybWF0OiBcIkMyXCIsIHZpc2libGU6IGZhbHNlLCAgaGlkZUF0TWVkaWE6IG1lZGlhUXVlcnksIHRleHRBbGlnbjogXCJSaWdodFwifSxcbiAgICAgIHtmaWVsZDogXCJuZXRMaW5lVG90YWxcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJTVUJUT1RBTFwiKSwgZm9ybWF0OiBcIkMyXCIsIHZpc2libGU6IGZhbHNlLCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwidmF0SWRcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJWQVRcIiksIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5LCB2aXNpYmxlOiBmYWxzZSwgdGV4dEFsaWduOiBcIlJpZ2h0XCJ9LFxuICAgICAge2ZpZWxkOiBcInByaWNlRGVjbGFyYXRpb25cIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJUUkFOU0FDVElPTl9QUklDRV9ERUNMQVJBVElPTlwiKSwgdmlzaWJsZTogZmFsc2UsIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5fSxcbiAgICAgIHtmaWVsZDogXCJuZXR0b1wiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIk5FVFRcIiksIGZvcm1hdDogXCJDMlwiLCAgaGlkZUF0TWVkaWE6IG1lZGlhUXVlcnksIHRleHRBbGlnbjogXCJSaWdodFwifSxcbiAgICAgIHtmaWVsZDogXCJ3YXJlaG91c2VOdW1iZXJcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJXQVJFSE9VU0VcIiksIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5LCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVTaWRlYmFyKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvblVwZGF0ZWQudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXJ0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJTSE9QUElOR19DQVJUX09WRVJWSUVXXCIsIHRydWUpICsgXCIoXCIgKyB0aGlzLnNlcnZpY2UuYXJ0aWNsZUFtb3VudC50b1N0cmluZygpICsgXCIpXCI7XG5cbiAgfVxuXG4gIHB1YmxpYyBhZGREaXNjb3VudCgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTaWRlYmFyKCk7XG5cbiAgICAvLyBUT0RPXG4gICAgLy8gdGhpcy50cmFuc2FjdGlvbkRpc2NvdW50UGVyY2VudGFnZSA9IHRoaXMuc2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25EaXNjb3VudFBlcmNlbnRhZ2U7XG4gICAgLy8gdGhpcy50cmFuc2FjdGlvbkRpc2NvdW50QW1vdW50ID0gdGhpcy5zZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkRpc2NvdW50QW1vdW50O1xuICAgIC8vIHRoaXMudHJhbnNhY3Rpb25Ub3RhbCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBvblN0YXJ0RGlzY291bnRJbnB1dChkaXNjb3VudFR5cGU6IE9yZGVyRGlzY291bnRUeXBlLCBoZWFkZXI6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaGlkZVNpZGViYXIoKTtcblxuICAgIHRoaXMuZGlzY291bnRUeXBlID0gZGlzY291bnRUeXBlO1xuICAgIHRoaXMuZGlzY291bnRIZWFkZXIgPSBoZWFkZXI7XG4gICAgdGhpcy5pbnB1dERpc2NvdW50cyA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgb3BlblNob3BwaW5nQ2FydE1vZHVsZSgpOiB2b2lkIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50cy5vcGVuU2hvcHBpbmdDYXJ0TW9kdWxlLm5leHQoKTtcbiAgICB0aGlzLmNsb3NlQ2FydC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0RGlzY291bnRIZWFkZXIoZGlzY291bnRUeXBlOiBPcmRlckRpc2NvdW50VHlwZSk6IHZvaWQge1xuICAgIHN3aXRjaCAodGhpcy5kaXNjb3VudFR5cGUpIHtcbiAgICAgIGNhc2UgT3JkZXJEaXNjb3VudFR5cGUuRGlzY291bnRQZXJjZW50YWdlOlxuICAgICAgICB0aGlzLmRpc2NvdW50SGVhZGVyID0gdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJESVNDT1VOVF9QRVJDRU5UQUdFXCIsIHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgT3JkZXJEaXNjb3VudFR5cGUuRGlzY291bnRBbW91bnQ6XG4gICAgICAgIHRoaXMuZGlzY291bnRIZWFkZXIgPSB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIkRJU0NPVU5UX0FNT1VOVFwiLCB0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE9yZGVyRGlzY291bnRUeXBlLk9yZGVyVG90YWw6XG4gICAgICAgIHRoaXMuZGlzY291bnRIZWFkZXIgPSB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIk9SREVSX1RPVEFMXCIsIHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25JbnB1dERpc2NvdW50c09rQ2xpY2soKTogdm9pZCB7XG4gICAgbGV0IHZhbHVlVG9Vc2U6IG51bWJlcjtcbiAgICBzd2l0Y2ggKHRoaXMuZGlzY291bnRUeXBlKSB7XG4gICAgICBjYXNlIE9yZGVyRGlzY291bnRUeXBlLkRpc2NvdW50UGVyY2VudGFnZTpcbiAgICAgICAgdmFsdWVUb1VzZSA9IHRoaXMudHJhbnNhY3Rpb25EaXNjb3VudFBlcmNlbnRhZ2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBPcmRlckRpc2NvdW50VHlwZS5EaXNjb3VudEFtb3VudDpcbiAgICAgICAgdmFsdWVUb1VzZSA9IHRoaXMudHJhbnNhY3Rpb25EaXNjb3VudEFtb3VudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE9yZGVyRGlzY291bnRUeXBlLk9yZGVyVG90YWw6XG4gICAgICAgIHZhbHVlVG9Vc2UgPSB0aGlzLnRyYW5zYWN0aW9uVG90YWw7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICAvL1RPRE8gdGhpcy5zZXJ2aWNlLnNldFRyYW5zYWN0aW9uRGlzY291bnRzKHRoaXMuc2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udXVpZCwgdGhpcy5kaXNjb3VudFR5cGUsIHZhbHVlVG9Vc2UpO1xuICAgIHRoaXMuaW5wdXREaXNjb3VudHMgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgbGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbyk6IGFueSB7XG4gICAgcmV0dXJuIGxpbmUubGluZU5yO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZVJvd3NTZWxlY3RlZChyb3dzOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZFJvdzogT2JqZWN0ID0gcm93cy5maW5kKHggPT4geCAhPT0gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93U2lkZWJhcigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dEaXNjb3VudHNTaWRlYmFyID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpZiAodGhpcy5kaXNjb3VudHNTaWRlYmFyKSB7XG4gICAgICB0aGlzLmRpc2NvdW50c1NpZGViYXIuc2hvdygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoaWRlU2lkZWJhcigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dEaXNjb3VudHNTaWRlYmFyID0gZmFsc2U7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgaWYgKHRoaXMuZGlzY291bnRzU2lkZWJhcikge1xuICAgICAgdGhpcy5kaXNjb3VudHNTaWRlYmFyLmhpZGUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcHBpbmctY2FydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudC9zaG9wcGluZy1jYXJ0L3Nob3BwaW5nLWNhcnQvc2hvcHBpbmctY2FydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUd6RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDakYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBRTVFLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3RHLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUlyRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUE0SHhFLE1BQU0sT0FBTyxxQkFBcUI7SUFtRWhDLFlBQ1MsZ0JBQWtDLEVBQ2pDLFdBQThCLEVBQy9CLE9BQTJCLEVBQzFCLGtCQUEyQyxFQUMzQyxlQUFrQztRQUpuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUMx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RUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7UUFFdEcsc0hBQXNIO1FBQ3RILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7OztZQWpXRixTQUFTLFNBQUM7Z0JBQ1QsOERBQThEO2dCQUM5RCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlIVDs7YUFLRjs7O1lBakkrQyxnQkFBZ0I7WUFSeEQsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQVFsQix1QkFBdUI7WUFsQjdCLGlCQUFpQjs7OytCQTBKaEIsU0FBUyxTQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTswQkFHL0MsS0FBSyxZQUNMLFdBQVcsU0FBQyxpQkFBaUI7MkJBRzdCLEtBQUssWUFDTCxXQUFXLFNBQUMsZ0JBQWdCO2lDQUc1QixLQUFLO2lDQUdMLEtBQUs7a0NBR0wsS0FBSzt3QkFHTCxNQUFNO3VCQUdOLE1BQU07dUJBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQge09yZGVyRGlzY291bnRUeXBlfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9vcmRlci1kaXNjb3VudC10eXBlLmVudW1cIjtcbmltcG9ydCB7QnVzaW5lc3NPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvYnVzaW5lc3Mtb2JqZWN0XCI7XG5pbXBvcnQge1NvcnRQcm9wZXJ0eX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9pbnRlcmZhY2Uvc29ydC1wcm9wZXJ0eVwiO1xuaW1wb3J0IHtTb3J0RGlyZWN0aW9ufSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vc29ydC1kaXJlY3Rpb25cIjtcbmltcG9ydCB7U29ydFR5cGV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS9zb3J0LXR5cGUuZW51bVwiO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0NvcmVDb21wb25lbnRzSWNvbiwgQ29TaWRlYmFyQ29tcG9uZW50LCBJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZVwiO1xuaW1wb3J0IHtDb250ZW50Vmlld01vZGV9IGZyb20gXCIuLi8uLi8uLi9lbnVtL2NvbnRlbnQtdmlldy1tb2RlLmVudW1cIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm9cIjtcbmltcG9ydCB7Q29udGV4dE1lbnVJdGVtTW9kZWwsIFJvd0RyYWdFdmVudEFyZ3N9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1ncmlkc1wiO1xuaW1wb3J0IHtNZW51RXZlbnRBcmdzfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItbmF2aWdhdGlvbnNcIjtcbmltcG9ydCB7UG9zaXRpb25HcmlkUm93fSBmcm9tIFwiLi4vLi4vLi4vLi4vZW51bS9wb3NpdGlvbi1ncmlkLXJvdy5lbnVtXCI7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogXCJzaG9wcGluZy1jYXJ0XCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImNhcnQtaGVhZGVyXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNhcnQtaGVhZGVyLWxhYmVsXCIgW3RleHRDb250ZW50XT1cImdldENhcnRMYWJlbCgpXCI+PC9zcGFuPlxuICAgICAgPGRpdiBjbGFzcz1cInZpZXctbW9kZS1idXR0b25zXCI+XG4gICAgICAgIDxjby1idXR0b24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29uVGhpY2tMaW5lcylcIlxuICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInTElTVF9WSUVXJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidGhpcy5hY3RpdmVWaWV3TW9kZSA9IHZpZXdNb2Rlcy5MaXN0XCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRyaWFuZ2xlIHdoaXRlXCJcbiAgICAgICAgICAgICAgICAgICBpY29uQ2xhc3M9XCJtZWRpdW0gbGlnaHRcIj48L2NvLWJ1dHRvbj5cbiAgICAgICAgPGNvLWJ1dHRvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25UaGluTGluZXMpXCJcbiAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0dSSURfVklFVycgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRoaXMuYWN0aXZlVmlld01vZGUgPSB2aWV3TW9kZXMuR3JpZFwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0cmlhbmdsZSB3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgaWNvbkNsYXNzPVwibWVkaXVtIGxpZ2h0XCI+PC9jby1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FydC1saW5lc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNhcnQtbGlzdC13cmFwcGVyXCIgKm5nSWY9XCJhY3RpdmVWaWV3TW9kZSA9PT0gdmlld01vZGVzLkxpc3RcIiBmeEZsZXg9XCJjb2x1bW5cIj5cbiAgICAgICAgPHNob3BwaW5nLWNhcnQtbGluZSBbb3ZlcmxheU1vZGVdPVwib3ZlcmxheU1vZGVcIiBbb3ZlcnZpZXdNb2RlXT1cIm92ZXJ2aWV3TW9kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxpbmUgb2YgZmlsdGVyZWRDb2xsZWN0aW9uOyB0cmFja0J5OnRyYWNrQnlGbjtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5lXT1cImxpbmVcIlxuICAgICAgICA+PC9zaG9wcGluZy1jYXJ0LWxpbmU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJ0LWxpc3Qtd3JhcHBlclwiICpuZ0lmPVwiYWN0aXZlVmlld01vZGUgPT09IHZpZXdNb2Rlcy5HcmlkXCIgZnhGbGV4PVwiY29sdW1uXCI+XG4gICAgICAgIDxjby1ncmlkXG4gICAgICAgICAgW2RhdGFdPVwiZmlsdGVyZWRDb2xsZWN0aW9uXCJcbiAgICAgICAgICBbcm93RHJhZ0FuZERyb3BFbmFibGVkXT1cInRydWVcIlxuICAgICAgICAgIFtjb250ZXh0TWVudUl0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxuICAgICAgICAgIFtzb3J0aW5nRW5hYmxlZF09XCJmYWxzZVwiXG4gICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICAgICAgW3BhZ2luZ0VuYWJsZWRdPVwiJ3RydWUnXCJcbiAgICAgICAgICBbbWF4TnVtYmVyT2ZSb3dzXT1cIicyMCdcIlxuICAgICAgICAgIChyb3dzU2VsZWN0ZWQpPVwiaGFuZGxlUm93c1NlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgIChjb250ZXh0TWVudUl0ZW1DbGljayk9XCJtZW51SXRlbUNsaWNrKCRldmVudClcIlxuICAgICAgICAgIChyb3dEcm9wRXZlbnQpPVwicm93RHJvcCgkZXZlbnQpXCJcbiAgICAgICAgPjwvY28tZ3JpZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzaG9wcGluZy1jYXJ0LXRvdGFsc1wiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIxMHB4XCI+XG4gICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XG4gICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInT1JERVJfR1JPU1MnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJzZXJ2aWNlLmN1cnJlbnRUb3RhbHM/Lmdyb3NzQW1vdW50IHwgY29DdXJyZW5jeTogdHJ1ZVwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiICpuZ0lmPVwic2VydmljZS5jdXJyZW50VG90YWxzPy5kaXNjb3VudEFtb3VudFwiPlxuICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ0RJU0NPVU5UX0FNT1VOVCcgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInNlcnZpY2UuY3VycmVudFRvdGFscz8uZGlzY291bnRBbW91bnQgfCBjb0N1cnJlbmN5OiB0cnVlXCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgKm5nSWY9XCJzZXJ2aWNlLmN1cnJlbnRUb3RhbHM/LnRyYW5zYWN0aW9uRGlzY291bnRBbW91bnRcIj5cbiAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidUUkFOU0FDVElPTl9ESVNDT1VOVCcgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInNlcnZpY2UuY3VycmVudFRvdGFscz8udHJhbnNhY3Rpb25EaXNjb3VudEFtb3VudCB8IGNvQ3VycmVuY3k6IHRydWVcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiAqbmdJZj1cInNlcnZpY2UuY3VycmVudFRvdGFscz8udHJhbnNhY3Rpb25EaXNjb3VudFBlcmNlbnRhZ2VcIj5cbiAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidUUkFOU0FDVElPTl9ESVNDT1VOVF9QRVJDJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwic2VydmljZS5jdXJyZW50VG90YWxzPy50cmFuc2FjdGlvbkRpc2NvdW50UGVyY2VudGFnZS50b1N0cmluZygpIHwgYXBwZW5kOicgJSdcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidPUkRFUl9ORVQnfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cInNlcnZpY2UuY3VycmVudFRvdGFscz8ubmV0QW1vdW50IHwgY29DdXJyZW5jeTogdHJ1ZVwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGEgKGNsaWNrKT1cImFkZERpc2NvdW50KClcIiBbdGV4dENvbnRlbnRdPVwiJ0FERF9ESVNDT1VOVFMnIHwgbG9jYWxpemVcIj48L2E+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNob3BwaW5nLWNhcnQtcm93LWVuZFwiPlxuICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cIiFoaWRlT3ZlcnZpZXdCdXR0b25cIiBbbGFiZWxdPVwiJ09WRVJWSUVXJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm92ZXJ2aWV3LmVtaXQoKVwiXG4gICAgICA+PC9jby1idXR0b24+XG4gICAgICA8Y28tYnV0dG9uICpuZ0lmPVwiIWhpZGVDbG9zZUNhcnRCdXR0b25cIltsYWJlbF09XCInU0hPUFBJTkdfQ0FSVF9SRVNVTUUnIHwgbG9jYWxpemVcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VDYXJ0LmVtaXQoKVwiXG4gICAgICA+PC9jby1idXR0b24+XG4gICAgICA8Y28tYnV0dG9uICpuZ0lmPVwiIWhpZGVDaGVja291dEJ1dHRvblwiIFtsYWJlbF09XCInU0hPUFBJTkdfQ0FSVF9DSEVDS09VVCcgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2VydmljZS5hcnRpY2xlQW1vdW50XCJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoZWNrb3V0LmVtaXQoKVwiPjwvY28tYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGNvLXNpZGViYXIgI2Rpc2NvdW50c1NpZGViYXIgaXNPcGVuPVwiZmFsc2VcIiAqbmdJZj1cInNob3dEaXNjb3VudHNTaWRlYmFyXCI+XG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIiBmeExheW91dEdhcD1cIjEwcHhcIj5cbiAgICAgICAgICA8Y28tYnV0dG9uICBjbGFzcz1cInJlY3Rhbmd1bGFyXCIgW2xhYmVsXT1cIidUUkFOU0FDVElPTl9ESVNDT1VOVF9QRVJDJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TdGFydERpc2NvdW50SW5wdXQob3JkZXJEaXNjb3VudFR5cGUuRGlzY291bnRQZXJjZW50YWdlLCAnVFJBTlNBQ1RJT05fRElTQ09VTlRfUEVSQycpXCI+PC9jby1idXR0b24+XG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInJlY3Rhbmd1bGFyXCIgW2xhYmVsXT1cIidUUkFOU0FDVElPTl9ESVNDT1VOVCd8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TdGFydERpc2NvdW50SW5wdXQob3JkZXJEaXNjb3VudFR5cGUuRGlzY291bnRBbW91bnQsICdUUkFOU0FDVElPTl9ESVNDT1VOVCcpXCI+PC9jby1idXR0b24+XG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInJlY3Rhbmd1bGFyXCIgW2xhYmVsXT1cIidUUkFOU0FDVElPTl9UT1RBTCd8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TdGFydERpc2NvdW50SW5wdXQob3JkZXJEaXNjb3VudFR5cGUuT3JkZXJUb3RhbCwgJ1RSQU5TQUNUSU9OX1RPVEFMJylcIj48L2NvLWJ1dHRvbj5cblxuICAgICAgICA8L2Rpdj5cbiAgICA8L2NvLXNpZGViYXI+XG5cbiAgICA8Y28tZGlhbG9nIFt2aXNpYmxlXT1cImlucHV0RGlzY291bnRzXCI+XG4gICAgICA8bmctY29udGFpbmVyIGhlYWRlcj57eyBkaXNjb3VudEhlYWRlciB8IGxvY2FsaXplIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxjby1mb3JtPlxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0XG4gICAgICAgICAgICAqbmdJZj1cImRpc2NvdW50VHlwZSA9PT0gb3JkZXJEaXNjb3VudFR5cGUuRGlzY291bnRQZXJjZW50YWdlXCJcbiAgICAgICAgICAgIFt0eXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgICAgIFsobW9kZWwpXT1cInRyYW5zYWN0aW9uRGlzY291bnRQZXJjZW50YWdlXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVFJBTlNBQ1RJT05fRElTQ09VTlRfUEVSQycgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICA8Y28taW5wdXQtdGV4dFxuICAgICAgICAgICAgKm5nSWY9XCJkaXNjb3VudFR5cGUgPT09IG9yZGVyRGlzY291bnRUeXBlLkRpc2NvdW50QW1vdW50XCJcbiAgICAgICAgICAgIFt0eXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgICAgIFsobW9kZWwpXT1cInRyYW5zYWN0aW9uRGlzY291bnRBbW91bnRcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidUUkFOU0FDVElPTl9ESVNDT1VOVCcgfCBsb2NhbGl6ZVwiXG4gICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICA8Y28taW5wdXQtdGV4dFxuICAgICAgICAgICAgKm5nSWY9XCJkaXNjb3VudFR5cGUgPT09IG9yZGVyRGlzY291bnRUeXBlLk9yZGVyVG90YWxcIlxuICAgICAgICAgICAgW3R5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICAgICAgWyhtb2RlbCldPVwidHJhbnNhY3Rpb25Ub3RhbFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1RSQU5TQUNUSU9OX1RPVEFMJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxuXG4gICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiMTBweFwiIGZ4TGF5b3V0QWxpZ249XCJlbmRcIj5cbiAgICAgICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidDQU5DRUwnIHwgbG9jYWxpemVcIiAoY2xpY2spPVwiaW5wdXREaXNjb3VudHMgPSBmYWxzZVwiPjwvY28tYnV0dG9uPlxuICAgICAgICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ09LJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cIm9uSW5wdXREaXNjb3VudHNPa0NsaWNrKClcIj48L2NvLWJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9jby1mb3JtPlxuICAgIDwvY28tZGlhbG9nPlxuICBgLFxuICBzdHlsZVVybHM6IFtcbiAgICBcIi4vc2hvcHBpbmctY2FydC5jb21wb25lbnQuc2Nzc1wiLFxuICAgIFwiLi4vc2hvcHBpbmctY2FydC1vdmVydmlldy9zaG9wcGluZy1jYXJ0LW92ZXJ2aWV3LmNvbXBvbmVudC5zY3NzXCIsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2hvcHBpbmdDYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWRvbmx5IG9yZGVyRGlzY291bnRUeXBlOiB0eXBlb2YgT3JkZXJEaXNjb3VudFR5cGUgPSBPcmRlckRpc2NvdW50VHlwZTtcbiAgcHVibGljIHJlYWRvbmx5IGljb25UaGlja0xpbmVzOiBDb3JlQ29tcG9uZW50c0ljb24gPSBDb3JlQ29tcG9uZW50c0ljb24uVGhpY2tMaW5lcztcbiAgcHVibGljIHJlYWRvbmx5IGljb25UaGluTGluZXM6IENvcmVDb21wb25lbnRzSWNvbiA9IENvcmVDb21wb25lbnRzSWNvbi5UaGluTGluZXM7XG4gIHB1YmxpYyByZWFkb25seSB2aWV3TW9kZXM6IHR5cGVvZiBDb250ZW50Vmlld01vZGUgPSBDb250ZW50Vmlld01vZGU7XG5cblxuICBAVmlld0NoaWxkKENvU2lkZWJhckNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHB1YmxpYyBkaXNjb3VudHNTaWRlYmFyOiBDb1NpZGViYXJDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3Mub3ZlcmxheWVkXCIpXG4gIHB1YmxpYyBvdmVybGF5TW9kZTogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5vdmVydmlld1wiKVxuICBwdWJsaWMgb3ZlcnZpZXdNb2RlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRlT3ZlcnZpZXdCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGlkZUNoZWNrb3V0QnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhpZGVDbG9zZUNhcnRCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsb3NlQ2FydDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2hlY2tvdXQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJ2aWV3OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHVibGljIGdldCBmaWx0ZXJlZENvbGxlY3Rpb24oKTogVHJhbnNhY3Rpb25MaW5lSW5mb1tdIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyZWRDb2xsZWN0aW9uO1xuICB9XG5cbiAgcHVibGljIHNldEZpbHRlcmVkQ29sbGVjdGlvbih2YWx1ZTogQnVzaW5lc3NPYmplY3RbXSk6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlcmVkQ29sbGVjdGlvbiA9ICh2YWx1ZSBhcyBUcmFuc2FjdGlvbkxpbmVJbmZvW10pO1xuICAgIGNvbnN0IHNvcnRCeUxpbmVOcjogU29ydFByb3BlcnR5ID0ge1xuICAgICAgYWN0aXZlOiB0cnVlLFxuICAgICAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uLkFzY2VuZGluZyxcbiAgICAgIHByb3BlcnR5OiBcImxpbmVOclwiLFxuICAgICAgdHlwZTogU29ydFR5cGUuTnVtYmVyfTtcbi8vICAgIFNvcnRVdGlscy5Tb3J0T2JqZWN0QXJyYXkodGhpcy5fZmlsdGVyZWRDb2xsZWN0aW9uLCBbc29ydEJ5TGluZU5yXSk7XG4gIH1cblxuICBwdWJsaWMgZGlzY291bnRIZWFkZXI6IHN0cmluZztcbiAgcHVibGljIGlucHV0RGlzY291bnRzOiBib29sZWFuO1xuICBwdWJsaWMgdHJhbnNhY3Rpb25EaXNjb3VudEFtb3VudDogbnVtYmVyO1xuICBwdWJsaWMgdHJhbnNhY3Rpb25EaXNjb3VudFBlcmNlbnRhZ2U6IG51bWJlcjtcbiAgcHVibGljIHRyYW5zYWN0aW9uVG90YWw6IG51bWJlcjtcbiAgcHVibGljIGRpc2NvdW50VHlwZTogT3JkZXJEaXNjb3VudFR5cGU7XG5cbiAgcHVibGljIGFjdGl2ZVZpZXdNb2RlOiBDb250ZW50Vmlld01vZGUgPSBDb250ZW50Vmlld01vZGUuTGlzdDtcbiAgcHVibGljIGNvbHVtbnM6IGFueVtdID0gW107XG5cbiAgcHVibGljIGNvbnRleHRNZW51SXRlbXM6IENvbnRleHRNZW51SXRlbU1vZGVsW10gPSBbXTtcblxuICBwdWJsaWMgc2hvd0Rpc2NvdW50c1NpZGViYXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfZmlsdGVyZWRDb2xsZWN0aW9uOiBUcmFuc2FjdGlvbkxpbmVJbmZvW107XG4gIHByaXZhdGUgX3RyYW5zYWN0aW9uVXBkYXRlZDogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9zZWxlY3RlZFJvdzogVHJhbnNhY3Rpb25MaW5lSW5mbztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uRXZlbnRzOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb25VcGRhdGVkID0gdGhpcy5zZXJ2aWNlLnRyYW5zYWN0aW9uVXBkYXRlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRGaWx0ZXJlZENvbGxlY3Rpb24odGhpcy5zZXJ2aWNlLmN1cnJlbnRMaW5lcyk7XG4gICAgfSk7XG4gICAgdGhpcy5zZXRGaWx0ZXJlZENvbGxlY3Rpb24odGhpcy5zZXJ2aWNlLmN1cnJlbnRMaW5lcyk7XG5cbiAgICBjb25zdCBtZWRpYVF1ZXJ5OiBzdHJpbmcgPSBcIihtaW4td2lkdGg6IDUwMHB4KVwiO1xuXG4gICAgdGhpcy5jb2x1bW5zLnB1c2goXG4gICAgICB7ZmllbGQ6IFwibGluZU5yXCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiTlJcIiksIGFsbG93RmlsdGVyaW5nOiBmYWxzZSwgYWxsb3dTb3J0aW5nOiBmYWxzZX0sXG4gICAgICB7ZmllbGQ6IFwidGV4dFwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIlRFWFRcIil9LFxuICAgICAge2ZpZWxkOiBcImFydGljbGVOdW1iZXJcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJBUlRJQ0xFX05SXCIpfSxcbiAgICAgIHtmaWVsZDogXCJnb29kRGVzY3JpcHRpb25cIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJHT09EX0RFU0NSSVBUSU9OXCIpLCBoaWRlQXRNZWRpYTogbWVkaWFRdWVyeX0sXG4gICAgICB7ZmllbGQ6IFwiYW1vdW50XCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiTlVNQkVSXCIpLCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwicHJpY2VcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJQUklDRVwiKSwgIGZvcm1hdDogXCJDMlwiLCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwicHJpY2VMaXN0Q29kZVwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIlBSSUNFX0xJU1RcIiksIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5fSxcbiAgICAgIHtmaWVsZDogXCJsaW5lRGlzY291bnRcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJESVNDT1VOVF9QRVJDRU5UQUdFXCIpLCBmb3JtYXQ6IFwiQzJcIiwgdmlzaWJsZTogZmFsc2UsIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5LCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwic3BlY2lhbERpc2NvdW50XCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiU1BFQ0lBTF9ESVNDT1VOVFwiKSwgZm9ybWF0OiBcIkMyXCIsIHZpc2libGU6IGZhbHNlLCBoaWRlQXRNZWRpYTogbWVkaWFRdWVyeSwgdGV4dEFsaWduOiBcIlJpZ2h0XCJ9LFxuICAgICAge2ZpZWxkOiBcImRpc2NvdW50QW1vdW50XCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiRElTQ09VTlRfQU1PVU5UXCIpLCBmb3JtYXQ6IFwiQzJcIiwgdmlzaWJsZTogZmFsc2UsIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5LCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwic3VyY2hhcmdlQW1vdW50XCIsIGhlYWRlclRleHQ6IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiU1VSQ0hBUkdFX0FNT1VOVFwiKSwgZm9ybWF0OiBcIkMyXCIsIHZpc2libGU6IGZhbHNlLCBoaWRlQXRNZWRpYTogbWVkaWFRdWVyeSwgdGV4dEFsaWduOiBcIlJpZ2h0XCJ9LFxuICAgICAge2ZpZWxkOiBcImFzc2VtYmx5Q29zdFwiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIkFTU0VNQkxZX0NPU1RTXCIpLCBmb3JtYXQ6IFwiQzJcIiwgdmlzaWJsZTogZmFsc2UsIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5LCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwiZ3Jvc3NMaW5lVG90YWxcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJUT1RBTF9HUk9TU1wiKSwgZm9ybWF0OiBcIkMyXCIsIHZpc2libGU6IHRydWUsIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5LCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwibGluZVRvdGFsRGlzY291bnRBbW91bnRcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJESVNDT1VOVFwiKSwgZm9ybWF0OiBcIkMyXCIsIHZpc2libGU6IGZhbHNlLCAgaGlkZUF0TWVkaWE6IG1lZGlhUXVlcnksIHRleHRBbGlnbjogXCJSaWdodFwifSxcbiAgICAgIHtmaWVsZDogXCJuZXRMaW5lVG90YWxcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJTVUJUT1RBTFwiKSwgZm9ybWF0OiBcIkMyXCIsIHZpc2libGU6IGZhbHNlLCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgICB7ZmllbGQ6IFwidmF0SWRcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJWQVRcIiksIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5LCB2aXNpYmxlOiBmYWxzZSwgdGV4dEFsaWduOiBcIlJpZ2h0XCJ9LFxuICAgICAge2ZpZWxkOiBcInByaWNlRGVjbGFyYXRpb25cIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJUUkFOU0FDVElPTl9QUklDRV9ERUNMQVJBVElPTlwiKSwgdmlzaWJsZTogZmFsc2UsIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5fSxcbiAgICAgIHtmaWVsZDogXCJuZXR0b1wiLCBoZWFkZXJUZXh0OiB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIk5FVFRcIiksIGZvcm1hdDogXCJDMlwiLCAgaGlkZUF0TWVkaWE6IG1lZGlhUXVlcnksIHRleHRBbGlnbjogXCJSaWdodFwifSxcbiAgICAgIHtmaWVsZDogXCJ3YXJlaG91c2VOdW1iZXJcIiwgaGVhZGVyVGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJXQVJFSE9VU0VcIiksIGhpZGVBdE1lZGlhOiBtZWRpYVF1ZXJ5LCB0ZXh0QWxpZ246IFwiUmlnaHRcIn0sXG4gICAgKTtcblxuICAgIHRoaXMuY29udGV4dE1lbnVJdGVtcy5wdXNoKFxuICAgICAgeyB0ZXh0OiB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIkFERF9BUlRJQ0xFX0xJTkVfVVBcIiksIHRhcmdldDogXCIuZS1jb250ZW50XCIsIGlkOiBcImFydGljbGVMaW5lVXBcIiB9LFxuICAgICAgeyB0ZXh0OiB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIkFERF9BUlRJQ0xFX0xJTkVfRE9XTlwiKSwgdGFyZ2V0OiBcIi5lLWNvbnRlbnRcIiwgaWQ6IFwiYXJ0aWNsZUxpbmVEb3duXCIgfSxcbiAgICAgIHsgdGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJBRERfQVJUSUNMRV9URVhUX0xJTkVfVVBcIiksIHRhcmdldDogXCIuZS1jb250ZW50XCIsIGlkOiBcImFydGljbGVUZXh0TGluZVVwXCIgfSxcbiAgICAgIHsgdGV4dDogdGhpcy5fZGljdGlvbmFyeS5nZXQoXCJBRERfQVJUSUNMRV9URVhUX0xJTkVfRE9XTlwiKSwgdGFyZ2V0OiBcIi5lLWNvbnRlbnRcIiwgaWQ6IFwiYXJ0aWNsZVRleHRMaW5lRG93blwiIH1cbiAgICApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZVNpZGViYXIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uVXBkYXRlZC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGdldENhcnRMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIlNIT1BQSU5HX0NBUlRfT1ZFUlZJRVdcIiwgdHJ1ZSkgKyBcIihcIiArIHRoaXMuc2VydmljZS5hcnRpY2xlQW1vdW50LnRvU3RyaW5nKCkgKyBcIilcIjtcblxuICB9XG5cbiAgcHVibGljIGFkZERpc2NvdW50KCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1NpZGViYXIoKTtcblxuICAgIC8vIFRPRE9cbiAgICAvLyB0aGlzLnRyYW5zYWN0aW9uRGlzY291bnRQZXJjZW50YWdlID0gdGhpcy5zZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkRpc2NvdW50UGVyY2VudGFnZTtcbiAgICAvLyB0aGlzLnRyYW5zYWN0aW9uRGlzY291bnRBbW91bnQgPSB0aGlzLnNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uRGlzY291bnRBbW91bnQ7XG4gICAgLy8gdGhpcy50cmFuc2FjdGlvblRvdGFsID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIG9uU3RhcnREaXNjb3VudElucHV0KGRpc2NvdW50VHlwZTogT3JkZXJEaXNjb3VudFR5cGUsIGhlYWRlcjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlU2lkZWJhcigpO1xuXG4gICAgdGhpcy5kaXNjb3VudFR5cGUgPSBkaXNjb3VudFR5cGU7XG4gICAgdGhpcy5kaXNjb3VudEhlYWRlciA9IGhlYWRlcjtcbiAgICB0aGlzLmlucHV0RGlzY291bnRzID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuU2hvcHBpbmdDYXJ0TW9kdWxlKCk6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRzLm9wZW5TaG9wcGluZ0NhcnRNb2R1bGUubmV4dCgpO1xuICAgIHRoaXMuY2xvc2VDYXJ0LmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNjb3VudEhlYWRlcihkaXNjb3VudFR5cGU6IE9yZGVyRGlzY291bnRUeXBlKTogdm9pZCB7XG4gICAgc3dpdGNoICh0aGlzLmRpc2NvdW50VHlwZSkge1xuICAgICAgY2FzZSBPcmRlckRpc2NvdW50VHlwZS5EaXNjb3VudFBlcmNlbnRhZ2U6XG4gICAgICAgIHRoaXMuZGlzY291bnRIZWFkZXIgPSB0aGlzLl9kaWN0aW9uYXJ5LmdldChcIkRJU0NPVU5UX1BFUkNFTlRBR0VcIiwgdHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBPcmRlckRpc2NvdW50VHlwZS5EaXNjb3VudEFtb3VudDpcbiAgICAgICAgdGhpcy5kaXNjb3VudEhlYWRlciA9IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiRElTQ09VTlRfQU1PVU5UXCIsIHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgT3JkZXJEaXNjb3VudFR5cGUuT3JkZXJUb3RhbDpcbiAgICAgICAgdGhpcy5kaXNjb3VudEhlYWRlciA9IHRoaXMuX2RpY3Rpb25hcnkuZ2V0KFwiT1JERVJfVE9UQUxcIiwgdHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbklucHV0RGlzY291bnRzT2tDbGljaygpOiB2b2lkIHtcbiAgICBsZXQgdmFsdWVUb1VzZTogbnVtYmVyO1xuICAgIHN3aXRjaCAodGhpcy5kaXNjb3VudFR5cGUpIHtcbiAgICAgIGNhc2UgT3JkZXJEaXNjb3VudFR5cGUuRGlzY291bnRQZXJjZW50YWdlOlxuICAgICAgICB2YWx1ZVRvVXNlID0gdGhpcy50cmFuc2FjdGlvbkRpc2NvdW50UGVyY2VudGFnZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE9yZGVyRGlzY291bnRUeXBlLkRpc2NvdW50QW1vdW50OlxuICAgICAgICB2YWx1ZVRvVXNlID0gdGhpcy50cmFuc2FjdGlvbkRpc2NvdW50QW1vdW50O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgT3JkZXJEaXNjb3VudFR5cGUuT3JkZXJUb3RhbDpcbiAgICAgICAgdmFsdWVUb1VzZSA9IHRoaXMudHJhbnNhY3Rpb25Ub3RhbDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC8vVE9ETyB0aGlzLnNlcnZpY2Uuc2V0VHJhbnNhY3Rpb25EaXNjb3VudHModGhpcy5zZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi51dWlkLCB0aGlzLmRpc2NvdW50VHlwZSwgdmFsdWVUb1VzZSk7XG4gICAgdGhpcy5pbnB1dERpc2NvdW50cyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKTogYW55IHtcbiAgICByZXR1cm4gbGluZS5saW5lTnI7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUm93c1NlbGVjdGVkKHJvd3M6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkUm93ID0gcm93cy5maW5kKHggPT4geCAhPT0gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93U2lkZWJhcigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dEaXNjb3VudHNTaWRlYmFyID0gdHJ1ZTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICBpZiAodGhpcy5kaXNjb3VudHNTaWRlYmFyKSB7XG4gICAgICB0aGlzLmRpc2NvdW50c1NpZGViYXIuc2hvdygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoaWRlU2lkZWJhcigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dEaXNjb3VudHNTaWRlYmFyID0gZmFsc2U7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgaWYgKHRoaXMuZGlzY291bnRzU2lkZWJhcikge1xuICAgICAgdGhpcy5kaXNjb3VudHNTaWRlYmFyLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbWVudUl0ZW1DbGljayhhcmdzOiBNZW51RXZlbnRBcmdzKTogdm9pZCB7XG4gICAgY29uc3QgbGluZU5yOiBudW1iZXIgPSB0aGlzLl9zZWxlY3RlZFJvdy5saW5lTnI7XG4gICAgc3dpdGNoIChhcmdzLml0ZW0uaWQpIHtcbiAgICAgIGNhc2UgXCJhcnRpY2xlTGluZVVwXCI6XG4vLyAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudHMuYWRkQXJ0aWNsZUxpbmUubmV4dCh7bGluZU5yOiBsaW5lTnIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvdy5CZWZvcmV9KTtcbiAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50cy5hZGRBcnRpY2xlTGluZUF0Lm5leHQoe3NrdTogXCJpUG9kXCIsIGFtb3VudDogMSwgbGluZU5yOiBsaW5lTnIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvdy5CZWZvcmV9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiYXJ0aWNsZUxpbmVEb3duXCI6XG4vLyAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudHMuYWRkQXJ0aWNsZUxpbmUubmV4dCh7bGluZU5yOiBsaW5lTnIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvdy5BZnRlcn0pO1xuICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50cy5hZGRBcnRpY2xlTGluZUF0Lm5leHQoe3NrdTogXCJpUG9kXCIsIGFtb3VudDogMSwgbGluZU5yOiBsaW5lTnIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvdy5BZnRlcn0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJhcnRpY2xlVGV4dExpbmVVcFwiOlxuLy8gICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRzLmFkZFRleHRMaW5lLm5leHQoe2xpbmVOcjogbGluZU5yLCBiZWZvcmVPckFmdGVyOiBQb3NpdGlvbkdyaWRSb3cuQmVmb3JlfSk7XG4gICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRzLmFkZFRleHRMaW5lQXQubmV4dCh7dGV4dDogXCJ0ZXh0cmVnZWwgYmVmb3JlXCIsIGxpbmVOcjogbGluZU5yLCBiZWZvcmVPckFmdGVyOiBQb3NpdGlvbkdyaWRSb3cuQmVmb3JlfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcImFydGljbGVUZXh0TGluZURvd25cIjpcbi8vICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50cy5hZGRUZXh0TGluZS5uZXh0KHtsaW5lTnI6IGxpbmVOciwgYmVmb3JlT3JBZnRlcjogUG9zaXRpb25HcmlkUm93LkFmdGVyfSk7XG4gICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uRXZlbnRzLmFkZFRleHRMaW5lQXQubmV4dCh7dGV4dDogXCJ0ZXh0cmVnZWwgYWZ0ZXJcIiwgbGluZU5yOiBsaW5lTnIsIGJlZm9yZU9yQWZ0ZXI6IFBvc2l0aW9uR3JpZFJvdy5BZnRlcn0pO1xuICAgICAgICBicmVhaztcblxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByb3dEcm9wKGFyZ3M6IFJvd0RyYWdFdmVudEFyZ3MpOiB2b2lkIHtcbiAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50cy5jaGFuZ2VMaW5lU2VxdWVuY2UubmV4dCh7ZnJvbUluZGV4OiBhcmdzLmZyb21JbmRleCwgdG9JbmRleDogYXJncy5kcm9wSW5kZXh9KTtcblxuICAgIC8vIFRyYW5zYWN0aW9uIGxpbmVzIHdpbGwgYmUgcmVsb2FkZWQgYnkgcHJldmlvdXMgYWN0aW9uIG9uIHN1Y2Nlc3MsIG5vdCBieSBmYWlsdXJlLiBTbywgY2FuY2VsIHRoZSBkcm9wIGluIGFsbCBjYXNlcy5cbiAgICBhcmdzLmNhbmNlbCA9IHRydWU7XG4gIH1cbn1cbiJdfQ==
|
package/esm2015/app/component/shopping-cart/shopping-cart-line/shopping-cart-line.component.js
CHANGED
|
@@ -152,7 +152,7 @@ ShoppingCartLineComponent.decorators = [
|
|
|
152
152
|
[textContent]="line.text">
|
|
153
153
|
</div>
|
|
154
154
|
`,
|
|
155
|
-
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.cart-line-r .cart-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}:host{padding-bottom:20px}:host{padding-top:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-right .cart-line-totals{margin-top:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-right .cart-line-totals{margin-bottom:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-t,.cart-line-r .cart-line-right .cart-line-totals{margin-left:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-t{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:flex;flex-wrap:wrap;border-bottom:1px solid #DBE3E8;width:100%}:host.overlayed.is-text{display:none!important}:host.overlayed.is-selected{background-color:#add8e6}:host.overview.is-text{display:none!important}:host.overview.is-selected{background-color:#add8e6}.cart-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.cart-line-r{flex-direction:column}}.cart-line-r co-button{border:0;padding:0}.cart-line-r .cart-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center}.cart-line-r .cart-line-image image-display{width:6em;height:6em}.cart-line-r .cart-line-description{display:flex;flex-direction:column;width:100%}.cart-line-r .cart-line-description .cart-line-description-main{font-weight:bold}.cart-line-r .cart-line-right{justify-content:flex-end}.cart-line-r .cart-line-right .cart-line-stock{width:10em}.cart-line-r .cart-line-right .cart-line-amount{width:10em}.cart-line-r .cart-line-right .cart-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.cart-line-r .cart-line-right .cart-line-totals span{text-align:right}.cart-line-t.article-text{padding-left:10em}\n"]
|
|
155
|
+
styles: ["html,body{height:100%}body{margin:0;font-family:Roboto,\"Helvetica Neue\",sans-serif}.cart-line-r .cart-line-description .cart-line-description-artnr{font-size:10px}.flex-center{display:flex}.flex-center{flex-direction:row}.flex-center{align-items:center!important;justify-content:center!important}:host{padding-bottom:20px}:host{padding-top:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-right .cart-line-totals{margin-top:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-r .cart-line-image,.cart-line-r .cart-line-right .cart-line-stock,.cart-line-r .cart-line-right .cart-line-totals{margin-bottom:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-t,.cart-line-r .cart-line-right .cart-line-totals{margin-left:20px}.cart-line-r .cart-line-description,.cart-line-r .cart-line-right .cart-line-amount,.cart-line-t{margin-right:20px}.triangle{border-radius:3px}.full-width{width:100%}.flex-center{margin:10px 0}:host{display:flex;flex-wrap:wrap;border-bottom:1px solid #DBE3E8;width:100%}:host.overlayed.is-text{display:none!important}:host.overlayed.is-selected{background-color:#add8e6}:host.overview.is-text{display:none!important}:host.overview.is-selected{background-color:#add8e6}.horizontal{display:flex;flex-direction:row-reverse}.cart-line-r{display:flex;justify-content:stretch;flex-direction:row}@media (max-width: 800px){.cart-line-r{flex-direction:column}}.cart-line-r co-button{border:0;padding:0}.cart-line-r .cart-line-image{display:flex;flex:1 0 auto!important;flex-direction:column;align-items:center;justify-content:center}.cart-line-r .cart-line-image image-display{width:6em;height:6em}.cart-line-r .cart-line-description{display:flex;flex-direction:column;width:100%}.cart-line-r .cart-line-description .cart-line-description-main{font-weight:bold}.cart-line-r .cart-line-right{justify-content:flex-end}.cart-line-r .cart-line-right .cart-line-stock{width:10em}.cart-line-r .cart-line-right .cart-line-amount{width:10em}.cart-line-r .cart-line-right .cart-line-totals{display:flex;justify-content:flex-end;min-width:100px;font-weight:bold}.cart-line-r .cart-line-right .cart-line-totals span{text-align:right}.cart-line-t.article-text{padding-left:10em}\n"]
|
|
156
156
|
},] }
|
|
157
157
|
];
|
|
158
158
|
ShoppingCartLineComponent.ctorParameters = () => [
|