@colijnit/transaction 255.1.16 → 255.1.18
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/bundles/colijnit-transaction.umd.js +101 -34
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +3 -4
- package/esm2015/lib/component/transaction-header-fields/transaction-header-deposit-amount.component.js +3 -3
- package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-sales-quotation/transaction-quick-access-sales-quotation.component.js +5 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.js +2 -1
- package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.js +20 -1
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +21 -2
- package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-quotation-filter-content/transaction-sales-quotation-filter-content-order/transaction-sales-quotation-filter-content-order.component.js +20 -1
- package/esm2015/lib/component/transaction-search/transaction-filter-content/service-order-filter-content/transaction-service-order-filter-content-order/transaction-service-order-filter-content-order.component.js +20 -1
- package/esm2015/lib/service/transaction-connector-adapter.service.js +13 -1
- package/esm2015/lib/service/transaction-connector.service.js +6 -1
- package/esm2015/lib/service/transaction.service.js +6 -1
- package/esm2015/lib/transaction-version.js +3 -3
- package/fesm2015/colijnit-transaction.js +110 -9
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/transaction-header/transaction-header-popup/style/_material-definition.scss +1 -1
- package/lib/component/transaction-search/transaction-filter-content/enum/search-placeholder.enum.d.ts +2 -1
- package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.d.ts +6 -0
- package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.d.ts +6 -0
- package/lib/component/transaction-search/transaction-filter-content/sales-quotation-filter-content/transaction-sales-quotation-filter-content-order/transaction-sales-quotation-filter-content-order.component.d.ts +6 -0
- package/lib/component/transaction-search/transaction-filter-content/service-order-filter-content/transaction-service-order-filter-content-order/transaction-service-order-filter-content-order.component.d.ts +6 -0
- package/lib/service/transaction-connector-adapter.service.d.ts +1 -0
- package/lib/service/transaction-connector.service.d.ts +1 -0
- package/lib/service/transaction.service.d.ts +1 -0
- package/package.json +3 -3
|
@@ -75,7 +75,6 @@ export class CheckoutOverviewRelationEditComponent {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
set relation(value) {
|
|
78
|
-
var _a, _b;
|
|
79
78
|
if (this._relation && value && this._relation.relationId && value.relationId && this._relation.relationId === value.relationId) {
|
|
80
79
|
return;
|
|
81
80
|
}
|
|
@@ -87,8 +86,8 @@ export class CheckoutOverviewRelationEditComponent {
|
|
|
87
86
|
}
|
|
88
87
|
if (this._relation instanceof CustomerFullObject) {
|
|
89
88
|
this.customerGroup = this._relation.customerGroup;
|
|
90
|
-
this.customerLanguage =
|
|
91
|
-
this.customerTitle =
|
|
89
|
+
this.customerLanguage = this._relation.language;
|
|
90
|
+
this.customerTitle = this._relation.titleId;
|
|
92
91
|
}
|
|
93
92
|
this.address = this._getFirstActiveAddressOrCreateNew(this._relation);
|
|
94
93
|
if (this.address) {
|
|
@@ -433,4 +432,4 @@ CheckoutOverviewRelationEditComponent.propDecorators = {
|
|
|
433
432
|
relationChange: [{ type: Output }],
|
|
434
433
|
showClass: [{ type: HostBinding, args: ['class.co-checkout-overview-relation-edit',] }]
|
|
435
434
|
};
|
|
436
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUM3RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDakYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBRS9FLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMxRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUk3RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQ0FBK0Ms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S0FBSzsyQkE4QkwsS0FBSzttQ0FZTCxLQUFLO2tDQUdMLEtBQUs7MEJBR0wsTUFBTTs0QkFHTixNQUFNO29DQUdOLE1BQU07bUNBR04sTUFBTTs2QkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQywwQ0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge0Zvcm1NYXN0ZXJTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7Q291bnRyeX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvdW50cnkuYm8nO1xuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XG5pbXBvcnQge0N1c3RvbWVyRnVsbE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWZ1bGwtb2JqZWN0LmJvJztcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW0nO1xuaW1wb3J0IHtBZGRyZXNzVHlwZX0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vYWRkcmVzcy10eXBlLmVudW0nO1xuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gJy4uLy4uLy4uL21vZGVsL3JlbGF0aW9uLWFueS10eXBlJztcbmltcG9ydCB7QWRkcmVzc30gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2FkZHJlc3MuYm8nO1xuaW1wb3J0IHtSZWxhdGlvbk5hbWVLaW5kfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1uYW1lLWtpbmQuZW51bSc7XG5pbXBvcnQge1N1cHBsaWVyRnVsbE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3N1cHBsaWVyLWZ1bGwtb2JqZWN0LmJvJztcbmltcG9ydCB7UmVsYXRpb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi5ibyc7XG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLWxpc3Qtb2JqZWN0LmJvJztcbmltcG9ydCB7VmFsaWRhdGlvblJlc3VsdH0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1yZXN1bHQnO1xuaW1wb3J0IHtUcmFuc2FjdGlvblJlbGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1yZWxhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQge1JlbGF0aW9uU3VnZ2VzdGlvbnNSZXF1ZXN0fSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2UvcmVsYXRpb24tc3VnZ2VzdGlvbnMtcmVxdWVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtDaGVja291dENmZ05hbWV9IGZyb20gJy4uLy4uLy4uL2VudW0vY2hlY2tvdXQtY2ZnLW5hbWUuZW51bSc7XG5pbXBvcnQge1JlbGF0aW9uR2VuZXJhbENmZ05hbWVzfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2UvcmVsYXRpb24tZ2VuZXJhbC1jZmctbmFtZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzQ2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9yZWxhdGlvbi1hZGRyZXNzLWNmZy1uYW1lcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3REZXRhaWxzQ2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9yZWxhdGlvbi1jb250YWN0LWRldGFpbHMtY2ZnLW5hbWVzLmludGVyZmFjZSc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NoZWNrb3V0U2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2UvY2hlY2tvdXQtc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge1JlbGF0aW9uU3VnZ2VzdGlvbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLXN1Z2dlc3Rpb25zLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjby1jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tZWRpdC1jb250ZW50XCI+XG4gICAgICA8Y28tZm9ybT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWZvcm0td3JhcHBlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1sYWJlbC1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxzcGFuICNpbmRleExhYmVsPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ1BFUlNPTkFMX0RBVEEnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLXR5cGUgKm5nSWY9XCJyZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5SZWxhdGlvblR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVsYXRpb25DaGFuZ2UpPVwiaGFuZGxlUmVsYXRpb25UeXBlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICA+PC9jby1yZWxhdGlvbi10eXBlPlxuICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiZW1wdHktcmVsYXRpb24tYnV0dG9uIGRlZmF1bHQtd2lkdGhcIiBbbGFiZWxdPVwiJ0VNUFRZJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW1wdHlSZWxhdGlvbigkZXZlbnQpXCI+PC9jby1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiICpuZ0lmPVwicmVsYXRpb25LaW5kID09PSByZWxLaW5kLkN1c3RvbWVyXCI+XG4gICAgICAgICAgICAgIDxyZWxhdGlvbi1jdXN0b21lci1ncm91cHNcbiAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5SZWxhdGlvbkN1c3RvbWVyR3JvdXBcIlxuICAgICAgICAgICAgICAgIFttb2RlbF09XCJjdXN0b21lckdyb3VwXCJcbiAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ3VzdG9tZXJHcm91cENoYW5nZSgkZXZlbnQpXCIgcmVxdWlyZWQ+XG4gICAgICAgICAgICAgIDwvcmVsYXRpb24tY3VzdG9tZXItZ3JvdXBzPlxuICAgICAgICAgICAgICA8cmVsYXRpb24tY3VzdG9tZXItbGFuZ3VhZ2VzXG4gICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuUmVsYXRpb25MYW5ndWFnZVwiXG4gICAgICAgICAgICAgICAgW21vZGVsXT1cImN1c3RvbWVyTGFuZ3VhZ2VcIlxuICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVDdXN0b21lckxhbmd1YWdlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPC9yZWxhdGlvbi1jdXN0b21lci1sYW5ndWFnZXM+XG4gICAgICAgICAgICAgIDxyZWxhdGlvbi1jdXN0b21lci10aXRsZXNcbiAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5SZWxhdGlvblRpdGxlXCJcbiAgICAgICAgICAgICAgICBbbW9kZWxdPVwiY3VzdG9tZXJUaXRsZVwiXG4gICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUN1c3RvbWVyVGl0bGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8L3JlbGF0aW9uLWN1c3RvbWVyLXRpdGxlcz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1nZW5lcmFsXG4gICAgICAgICAgICAgICAgW2NvbmZpZ05hbWVzXT1cInJlbGF0aW9uR2VuZXJhbENvbmZpZ05hbWVzXCJcbiAgICAgICAgICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxuICAgICAgICAgICAgICAgIFtyZWxhdGlvblR5cGVdPVwicmVsYXRpb25UeXBlXCJcbiAgICAgICAgICAgICAgICAocmVsYXRpb25DaGFuZ2UpPVwidXBkYXRlUmVsYXRpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlRm9yU3VnZ2VzdGlvbnMpPVwiaGFuZGxlSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWdlbmVyYWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tYWRkcmVzc1xuICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJyZWxhdGlvbkFkZHJlc3NDb25maWdOYW1lc1wiXG4gICAgICAgICAgICAgICAgW2FkZHJlc3NdPVwiYWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlRm9yU3VnZ2VzdGlvbnMpPVwiaGFuZGxlSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWFkZHJlc3M+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0FkZHJlc3Nlc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1hZGRyZXNzZXNcbiAgICAgICAgICAgICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXG4gICAgICAgICAgICAgICAgICBbYWRkcmVzc2VzXT1cInJlbGF0aW9uLmFkZHJlc3Nlc1wiXG4gICAgICAgICAgICAgICAgICBbdHlwZV09XCJhZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkTmF3TnJdPVwiZGVsaXZlcnlBZGRyZXNzTmF3TnJcIlxuICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkTmF3TnJDaGFuZ2UpPVwiaGFuZGxlRGVsaXZlcnlBZGRyZXNzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWFkZHJlc3Nlcz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1sYWJlbC1jb2x1bW5cIiAqbmdJZj1cInJlbGF0aW9uS2luZCA9PT0gcmVsS2luZC5DdXN0b21lclwiPlxuICAgICAgICAgICAgICA8c3BhbiAjaW5kZXhMYWJlbD48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ0lOVk9JQ0VfQUREUkVTUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCIgKm5nSWY9XCJyZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IFsobW9kZWwpXT1cInNlcnZpY2UuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGVja1NhbWVBZGRyZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1NBTUVfQVNfREVMSVZFUlknIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LWRlbGl2ZXJ5LWludm9pY2UtYWRkcmVzc1wiICpuZ0lmPVwiIXNlcnZpY2UuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeVwiXG4gICAgICAgICAgICAgICAgICAgQHNob3dIaWRlSW52b2ljZUFkZHJlc3M+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tYWRkcmVzc2VzXG4gICAgICAgICAgICAgICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFthZGRyZXNzZXNdPVwicmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzXCJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiYWRkcmVzc1R5cGUuQmlsbGluZ0FkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWROYXdOcl09XCJpbnZvaWNlQWRkcmVzc05hd05yXCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkTmF3TnJDaGFuZ2UpPVwiaW52b2ljZUFkZHJlc3NDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWFkZHJlc3Nlcz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0NvbnRhY3REZXRhaWxzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxzcGFuICNpbmRleExhYmVsPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCInQ09OVEFDVF9ERVRBSUxTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLWNvbnRhY3QtZGV0YWlsc1xuICAgICAgICAgICAgICAgICAgW2NvbmZpZ05hbWVzXT1cImNvbnRhY3REZXRhaWxzQ29uZmlnTmFtZXNcIlxuICAgICAgICAgICAgICAgICAgWyhyZWxhdGlvbildPVwicmVsYXRpb25cIlxuICAgICAgICAgICAgICAgICAgW3JlbGF0aW9uS2luZF09XCJyZWxhdGlvbktpbmRcIj48L2NvLXJlbGF0aW9uLWNvbnRhY3QtZGV0YWlscz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVsYXRpb25LaW5kID09PSByZWxLaW5kLkN1c3RvbWVyICYmIHNob3dQcmVmZXJlbmNlc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgICAgICA8c3BhbiAjaW5kZXhMYWJlbD48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ1BSSVZBQ1lfUFJFRkVSRU5DRVMnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tcHJlZmVyZW5jZXNcbiAgICAgICAgICAgICAgICAgIFsocmVsYXRpb24pXT1cInJlbGF0aW9uXCI+PC9jby1yZWxhdGlvbi1wcmVmZXJlbmNlcz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2NvLWZvcm0+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHByb3ZpZGVyczogW1xuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlLFxuICAgIFJlbGF0aW9uU3VnZ2VzdGlvbnNTZXJ2aWNlXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzaG93SGlkZUludm9pY2VBZGRyZXNzJywgW1xuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7aGVpZ2h0OiAwLCBvcGFjaXR5OiAwfSkpLFxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7aGVpZ2h0OiAnKicsIG9wYWNpdHk6IDF9KSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0JykpXG4gICAgXSlcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja291dE92ZXJ2aWV3UmVsYXRpb25FZGl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcmVhZG9ubHkgY2ZnTmFtZXM6IHR5cGVvZiBDaGVja291dENmZ05hbWUgPSBDaGVja291dENmZ05hbWU7XG4gIHB1YmxpYyByZWFkb25seSByZWxLaW5kOiB0eXBlb2YgUmVsYXRpb25LaW5kID0gUmVsYXRpb25LaW5kO1xuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcbiAgcHVibGljIHJlYWRvbmx5IGFkZHJlc3NUeXBlOiB0eXBlb2YgQWRkcmVzc1R5cGUgPSBBZGRyZXNzVHlwZTtcblxuICBAVmlld0NoaWxkcmVuKCdpbmRleExhYmVsJywge3JlYWQ6IEVsZW1lbnRSZWZ9KSBzZXQgdmlld0NoaWxkcmVuKGNoaWxkcmVuKSB7XG4gICAgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHNwYW5zID0gY2hpbGRyZW4udG9BcnJheSgpO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzcGFucy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBzcGFuID0gc3BhbnNbaV07XG4gICAgICAgIGlmIChzcGFuLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICBzcGFuLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gKGkgKyAxIDwgMTApID8gJzAnICsgKGkgKyAxKS50b1N0cmluZygpIDogKGkgKyAxKS50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZWxhdGlvbih2YWx1ZTogUmVsYXRpb25BbnlUeXBlKSB7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uICYmIHZhbHVlICYmIHRoaXMuX3JlbGF0aW9uLnJlbGF0aW9uSWQgJiYgdmFsdWUucmVsYXRpb25JZCAmJiB0aGlzLl9yZWxhdGlvbi5yZWxhdGlvbklkID09PSB2YWx1ZS5yZWxhdGlvbklkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3JlbGF0aW9uID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uKSB7XG4gICAgICBpZiAodGhpcy5fcmVsYXRpb24gaW5zdGFuY2VvZiBTdXBwbGllckZ1bGxPYmplY3QpIHtcbiAgICAgICAgdGhpcy5fcmVsYXRpb24udHlwZSA9IFJlbGF0aW9uTmFtZUtpbmQuQ29tcGFueTtcbiAgICAgICAgdGhpcy5yZWxhdGlvblR5cGUgPSBSZWxhdGlvbk5hbWVLaW5kLkNvbXBhbnk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fcmVsYXRpb24gaW5zdGFuY2VvZiBDdXN0b21lckZ1bGxPYmplY3QpIHtcbiAgICAgICAgdGhpcy5jdXN0b21lckdyb3VwID0gdGhpcy5fcmVsYXRpb24uY3VzdG9tZXJHcm91cDtcbiAgICAgICAgdGhpcy5jdXN0b21lckxhbmd1YWdlID0gdGhpcy5fcmVsYXRpb24ubGFuZ3VhZ2UgPz8gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmN1c3RvbWVyVGl0bGUgPSB0aGlzLl9yZWxhdGlvbi50aXRsZUlkID8/IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWRkcmVzcyA9IHRoaXMuX2dldEZpcnN0QWN0aXZlQWRkcmVzc09yQ3JlYXRlTmV3KHRoaXMuX3JlbGF0aW9uKTtcbiAgICAgIGlmICh0aGlzLmFkZHJlc3MpIHtcbiAgICAgICAgdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOciA9IHRoaXMuYWRkcmVzcy5uYXdOcjtcbiAgICAgICAgdGhpcy5kZWxpdmVyeUFkZHJlc3NDaGFuZ2UuZW1pdCh0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yKTtcbiAgICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc05hd05yID0gdGhpcy5hZGRyZXNzLm5hd05yO1xuICAgICAgICB0aGlzLmludm9pY2VBZGRyZXNzQ2hhbmdlLmVtaXQodGhpcy5pbnZvaWNlQWRkcmVzc05hd05yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlbGF0aW9uKCk6IFJlbGF0aW9uQW55VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZWxhdGlvbktpbmQodmFsdWU6IFJlbGF0aW9uS2luZCkge1xuICAgIHRoaXMuX3JlbGF0aW9uS2luZCA9IHZhbHVlO1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbktpbmQgPT09IFJlbGF0aW9uS2luZC5TdXBwbGllcikge1xuICAgICAgdGhpcy5yZWxhdGlvblR5cGUgPSBSZWxhdGlvbk5hbWVLaW5kLkNvbXBhbnk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCByZWxhdGlvbktpbmQoKTogUmVsYXRpb25LaW5kIHtcbiAgICByZXR1cm4gdGhpcy5fcmVsYXRpb25LaW5kO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRlbGl2ZXJ5QWRkcmVzc05hd05yOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGludm9pY2VBZGRyZXNzTmF3TnI6IG51bWJlcjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkZWxpdmVyeUFkZHJlc3NDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZvaWNlQWRkcmVzc0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlbGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdCcpXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgYWRkcmVzczogQWRkcmVzcztcbiAgcHVibGljIGN1c3RvbWVyR3JvdXA6IHN0cmluZztcbiAgcHVibGljIGN1c3RvbWVyTGFuZ3VhZ2U6IHN0cmluZztcbiAgcHVibGljIGN1c3RvbWVyVGl0bGU6IG51bWJlcjtcbiAgcHVibGljIHJlbGF0aW9uVHlwZTogUmVsYXRpb25OYW1lS2luZCA9IFJlbGF0aW9uTmFtZUtpbmQuUHJpdmF0ZTtcblxuICBwdWJsaWMgY29udGFjdERldGFpbHNDb25maWdOYW1lczogUmVsYXRpb25Db250YWN0RGV0YWlsc0NmZ05hbWVzID0ge1xuICAgIHJlbGF0aW9uUGhvbmU6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25QaG9uZSxcbiAgICByZWxhdGlvbkVtYWlsQWRkcmVzczogdGhpcy5jZmdOYW1lcy5SZWxhdGlvbkVtYWlsQWRkcmVzcyxcbiAgICByZWxhdGlvbkludml0ZVRvQWNjb3VudDogdGhpcy5jZmdOYW1lcy5SZWxhdGlvbkludml0ZVRvQWNjb3VudFxuICB9O1xuICBwdWJsaWMgcmVsYXRpb25HZW5lcmFsQ29uZmlnTmFtZXM6IFJlbGF0aW9uR2VuZXJhbENmZ05hbWVzID0ge1xuICAgIHJlbGF0aW9uQ29tcGFueTogdGhpcy5jZmdOYW1lcy5SZWxhdGlvbkNvbXBhbnksXG4gICAgcmVsYXRpb25GaXJzdE5hbWU6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25GaXJzdE5hbWUsXG4gICAgcmVsYXRpb25QcmVmaXg6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25QcmVmaXgsXG4gICAgcmVsYXRpb25MYXN0TmFtZTogdGhpcy5jZmdOYW1lcy5SZWxhdGlvbkxhc3ROYW1lLFxuICAgIHJlbGF0aW9uR2VuZGVyOiB0aGlzLmNmZ05hbWVzLlJlbGF0aW9uR2VuZGVyLFxuICAgIGNvbnRhY3REZXRhaWxzOiB0aGlzLmNvbnRhY3REZXRhaWxzQ29uZmlnTmFtZXNcbiAgfTtcbiAgcHVibGljIHJlbGF0aW9uQWRkcmVzc0NvbmZpZ05hbWVzOiBSZWxhdGlvbkFkZHJlc3NDZmdOYW1lcyA9IHtcbiAgICByZWxhdGlvblN0cmVldDogdGhpcy5jZmdOYW1lcy5SZWxhdGlvblN0cmVldCxcbiAgICByZWxhdGlvbkhvdXNlTnI6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25Ib3VzZU5yLFxuICAgIHJlbGF0aW9uSG91c2VOckFkZDogdGhpcy5jZmdOYW1lcy5SZWxhdGlvbkhvdXNlTnJBZGQsXG4gICAgcmVsYXRpb25DaXR5OiB0aGlzLmNmZ05hbWVzLlJlbGF0aW9uQ2l0eSxcbiAgICByZWxhdGlvbkNvdW50cnk6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25Db3VudHJ5LFxuICAgIHJlbGF0aW9uUG9zdGFsQ29kZTogdGhpcy5jZmdOYW1lcy5SZWxhdGlvblBvc3RhbENvZGVcbiAgfTtcbiAgcHVibGljIHNob3dDb250YWN0RGV0YWlsczogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd1ByZWZlcmVuY2VzOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93U3VnZ2VzdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNob3dBZGRyZXNzZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9yZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlID0gbmV3IEN1c3RvbWVyRnVsbE9iamVjdCgpO1xuICBwcml2YXRlIF9yZWxhdGlvbktpbmQ6IFJlbGF0aW9uS2luZCA9IFJlbGF0aW9uS2luZC5DdXN0b21lcjtcbiAgcHJpdmF0ZSBfcmVxdWVzdEZvclN1Z2dlc3Rpb25zOiBSZWxhdGlvblN1Z2dlc3Rpb25zUmVxdWVzdCA9IHt9O1xuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZm9ybU1hc3RlcjogRm9ybU1hc3RlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfcmVsYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblJlbGF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3NjcmVlbkNvbmZpZ1NlcnZpY2U6IENoZWNrb3V0U2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfc3VnZ2VzdGlvbnNTZXJ2aWNlOiBSZWxhdGlvblN1Z2dlc3Rpb25zU2VydmljZVxuICApIHtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX3N1Z2dlc3Rpb25zU2VydmljZS5pbml0KHRoaXMuX3JlbGF0aW9uS2luZCk7XG4gICAgdGhpcy5fc3Vicy5wdXNoKFxuICAgICAgdGhpcy5fc2NyZWVuQ29uZmlnU2VydmljZS5jb25maWdTZXQuc3Vic2NyaWJlKChjb25maWdPYmplY3RzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICBpZiAoY29uZmlnT2JqZWN0cyAmJiBjb25maWdPYmplY3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnNob3dQcmVmZXJlbmNlcyA9IHRoaXMuX3NjcmVlbkNvbmZpZ1NlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLlJlbGF0aW9uUHJlZmVyZW5jZXNIZWFkZXIpLmltbWVkaWF0ZWx5VmlzaWJsZSgpO1xuICAgICAgICAgIHRoaXMuc2hvd1N1Z2dlc3Rpb25zID0gdGhpcy5fc2NyZWVuQ29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKHRoaXMuY2ZnTmFtZXMuU3VnZ2VzdGlvbnMpLmltbWVkaWF0ZWx5VmlzaWJsZSgpO1xuICAgICAgICAgIHRoaXMuc2hvd0FkZHJlc3NlcyA9IHRoaXMuX3NjcmVlbkNvbmZpZ1NlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLlJlbGF0aW9uQWRkcmVzc2VzSGVhZGVyKS5pbW1lZGlhdGVseVZpc2libGUoKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmNvbnRhY3REZXRhaWxzQ29uZmlnTmFtZXMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRhY3REZXRhaWxzQ29uZmlnTmFtZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICBpZiAodGhpcy5fc2NyZWVuQ29uZmlnU2VydmljZS5nZXRPYmplY3RDb25maWd1cmF0aW9uRm9yKGtleSkuaW1tZWRpYXRlbHlWaXNpYmxlKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dDb250YWN0RGV0YWlscyA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRoaXMuX3N1Z2dlc3Rpb25zU2VydmljZS5zdWdnZXN0ZWRSZWxhdGlvbkNsaWNrLnN1YnNjcmliZSgocmVsYXRpb246IFJlbGF0aW9uTGlzdE9iamVjdCkgPT4gdGhpcy5vblJlbGF0aW9uU3VnZ2VzdGlvbkNsaWNrKHJlbGF0aW9uKSlcbiAgICApO1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbikge1xuICAgICAgdGhpcy5hZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uZ2V0Rmlyc3RBZGRyZXNzT3JDcmVhdGVOZXcoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZmlyc3RBY3RpdmVBZGRyZXNzOiBBZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzLmxlbmd0aCA+IDAgPyB0aGlzLl9yZWxhdGlvbi5hY3RpdmVBZGRyZXNzZXNbMF0gOiB1bmRlZmluZWQ7XG4gICAgaWYgKCF0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yKSB7XG4gICAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yID0gZmlyc3RBY3RpdmVBZGRyZXNzID8gZmlyc3RBY3RpdmVBZGRyZXNzLm5hd05yIDogMDtcbiAgICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzQ2hhbmdlLmVtaXQodGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOcik7XG4gICAgfVxuICAgIGlmICghdGhpcy5pbnZvaWNlQWRkcmVzc05hd05yKSB7XG4gICAgICB0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIgPSBmaXJzdEFjdGl2ZUFkZHJlc3MgPyBmaXJzdEFjdGl2ZUFkZHJlc3MubmF3TnIgOiAwO1xuICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc0NoYW5nZS5lbWl0KHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOcik7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVJbnB1dENoYW5nZShyZXF1ZXN0OiBSZWxhdGlvblN1Z2dlc3Rpb25zUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucyA9IE9iamVjdC5hc3NpZ24odGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zLCByZXF1ZXN0KTtcbiAgICB0aGlzLl9zdWdnZXN0aW9uc1NlcnZpY2UucmVxdWVzdEZvclN1Z2dlc3Rpb25zID0gdGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG9uUmVsYXRpb25TdWdnZXN0aW9uQ2xpY2socmVsYXRpb25TdWdnZXN0ZWQ6IFJlbGF0aW9uTGlzdE9iamVjdCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChyZWxhdGlvblN1Z2dlc3RlZCkge1xuICAgICAgY29uc3QgbG9ja1Jlc3VsdDogVmFsaWRhdGlvblJlc3VsdCA9IGF3YWl0IHRoaXMuX3JlbGF0aW9uU2VydmljZS5sb2NrUmVsYXRpb24ocmVsYXRpb25TdWdnZXN0ZWQucmVsYXRpb25UeXBlLCBwYXJzZUludChyZWxhdGlvblN1Z2dlc3RlZC5yZWxhdGlvbk5yLCAwKSk7XG4gICAgICBpZiAoIWxvY2tSZXN1bHQuc3VjY2Vzcykge1xuICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dFcnJvcignUkVMQVRJT05fQUxSRUFEWV9MT0NLRUQnLCB0cnVlLCBsb2NrUmVzdWx0Lm1lc3NhZ2VzWzBdLm1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnNTZXJ2aWNlLmhpZGVTaWRlYmFyKCk7XG4gICAgICAgIGNvbnN0IHN1Z2dlc3RlZFJlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBhd2FpdCB0aGlzLl9yZWxhdGlvblNlcnZpY2UuZ2V0UmVsYXRpb24ocmVsYXRpb25TdWdnZXN0ZWQucmVsYXRpb25UeXBlLCBwYXJzZUludChyZWxhdGlvblN1Z2dlc3RlZC5yZWxhdGlvbk5yKSk7XG4gICAgICAgIGlmIChzdWdnZXN0ZWRSZWxhdGlvbiAmJiBzdWdnZXN0ZWRSZWxhdGlvbi5hZGRyZXNzZXMgJiYgc3VnZ2VzdGVkUmVsYXRpb24uYWRkcmVzc2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBzdWdnZXN0ZWRSZWxhdGlvbi5hZGRyZXNzZXMuc29ydCgoYSwgYikgPT4gYS5zZXF1ZW5jZSA8IGIuc2VxdWVuY2UgPyAtMSA6IDEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVsYXRpb24gPSBzdWdnZXN0ZWRSZWxhdGlvbjtcbiAgICAgICAgdGhpcy5yZWxhdGlvbkNoYW5nZS5uZXh0KHRoaXMucmVsYXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVSZWxhdGlvblR5cGVDaGFuZ2UocmVsYXRpb246IFJlbGF0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5yZWxhdGlvblR5cGUgPSByZWxhdGlvbi50eXBlO1xuICB9XG5cbiAgcHVibGljIGVtcHR5UmVsYXRpb24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNlcnZpY2UuY3JlYXRlTmV3UmVsYXRpb24oKTtcbiAgICB0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMgPSB7fTtcbiAgICB0aGlzLl9yZWxhdGlvblNlcnZpY2UucmVsYXRpb25TdWdnZXN0aW9uc1JlcXVlc3RDbGVhci5uZXh0KCk7XG4gICAgdGhpcy5fc3VnZ2VzdGlvbnNTZXJ2aWNlLmhpZGVTaWRlYmFyKCk7XG4gICAgLy8gdGhpcy5oaWRlU2lkZWJhcigpO1xuICAgIHRoaXMudXBkYXRlUmVsYXRpb24odGhpcy5zZXJ2aWNlLnJlbGF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDdXN0b21lckdyb3VwQ2hhbmdlKGdyb3VwOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmN1c3RvbWVyR3JvdXAgPSBncm91cDtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24gaW5zdGFuY2VvZiBDdXN0b21lckZ1bGxPYmplY3QpIHtcbiAgICAgIHRoaXMuX3JlbGF0aW9uLmN1c3RvbWVyR3JvdXAgPSB0aGlzLmN1c3RvbWVyR3JvdXA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZUN1c3RvbWVyTGFuZ3VhZ2VDaGFuZ2UobGFuZ3VhZ2VDb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmN1c3RvbWVyTGFuZ3VhZ2UgPSBsYW5ndWFnZUNvZGU7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uIGluc3RhbmNlb2YgQ3VzdG9tZXJGdWxsT2JqZWN0KSB7XG4gICAgICB0aGlzLl9yZWxhdGlvbi5sYW5ndWFnZSA9IHRoaXMuY3VzdG9tZXJMYW5ndWFnZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ3VzdG9tZXJUaXRsZUNoYW5nZSh0aXRsZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5jdXN0b21lclRpdGxlID0gdGl0bGU7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uIGluc3RhbmNlb2YgQ3VzdG9tZXJGdWxsT2JqZWN0KSB7XG4gICAgICB0aGlzLl9yZWxhdGlvbi50aXRsZUlkID0gdGhpcy5jdXN0b21lclRpdGxlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVSZWxhdGlvbihyZWw6IFJlbGF0aW9uQW55VHlwZSk6IHZvaWQge1xuICAgIHRoaXMucmVsYXRpb24gPSByZWw7XG4gICAgY29uc3QgZmlyc3RBY3RpdmVBZGRyZXNzOiBBZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzLmxlbmd0aCA+IDAgPyB0aGlzLl9yZWxhdGlvbi5hY3RpdmVBZGRyZXNzZXNbMF0gOiB1bmRlZmluZWQ7XG4gICAgdGhpcy5hZGRyZXNzID0gZmlyc3RBY3RpdmVBZGRyZXNzO1xuICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIgPSBmaXJzdEFjdGl2ZUFkZHJlc3MgPyBmaXJzdEFjdGl2ZUFkZHJlc3MubmF3TnIgOiAwO1xuICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzQ2hhbmdlLmVtaXQodGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOcik7XG4gICAgdGhpcy5pbnZvaWNlQWRkcmVzc05hd05yID0gZmlyc3RBY3RpdmVBZGRyZXNzID8gZmlyc3RBY3RpdmVBZGRyZXNzLm5hd05yIDogMDtcbiAgICB0aGlzLmludm9pY2VBZGRyZXNzQ2hhbmdlLmVtaXQodGhpcy5pbnZvaWNlQWRkcmVzc05hd05yKTtcbiAgICB0aGlzLnJlbGF0aW9uQ2hhbmdlLmVtaXQodGhpcy5yZWxhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc3VibWl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mb3JtTWFzdGVyLnN1Ym1pdFNsYXZlcygpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZURlbGl2ZXJ5QWRkcmVzc0NoYW5nZShuYXdOcjogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5kZWxpdmVyeUFkZHJlc3NDaGFuZ2UuZW1pdChuYXdOcik7XG4gICAgaWYgKHRoaXMuc2VydmljZS5pbnZvaWNlQWRkcmVzc1NhbWVBc0RlbGl2ZXJ5KSB7XG4gICAgICB0aGlzLmludm9pY2VBZGRyZXNzQ2hhbmdlLmVtaXQobmF3TnIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjaGVja1NhbWVBZGRyZXNzKGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIgPSB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yO1xuICAgIHRoaXMuaW52b2ljZUFkZHJlc3NDaGFuZ2UubmV4dCh0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Rmlyc3RBY3RpdmVBZGRyZXNzT3JDcmVhdGVOZXcocmVsYXRpb246IFJlbGF0aW9uQW55VHlwZSk6IEFkZHJlc3Mge1xuICAgIGlmICghcmVsYXRpb24uYWRkcmVzc2VzIHx8IHJlbGF0aW9uLmFkZHJlc3Nlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVOZXdBZGRyZXNzKHJlbGF0aW9uKTtcbiAgICB9XG4gICAgY29uc3QgZmlyc3RBdmFpbGFibGVBZGRyZXNzOiBBZGRyZXNzID0gdGhpcy5fZ2V0Rmlyc3RBZGRyZXNzKHJlbGF0aW9uLCBbXG4gICAgICBBZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3MsXG4gICAgICBBZGRyZXNzVHlwZS5CaWxsaW5nQWRkcmVzcyxcbiAgICAgIEFkZHJlc3NUeXBlLlZpc2l0aW5nQWRkcmVzcyxcbiAgICAgIEFkZHJlc3NUeXBlLk1haWxpbmdBZGRyZXNzLFxuICAgICAgQWRkcmVzc1R5cGUuTnVyc2luZ0FkZHJlc3NcbiAgICBdKTtcbiAgICByZXR1cm4gZmlyc3RBdmFpbGFibGVBZGRyZXNzID8gZmlyc3RBdmFpbGFibGVBZGRyZXNzIDogdGhpcy5fY3JlYXRlTmV3QWRkcmVzcyhyZWxhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF9nZXRGaXJzdEFkZHJlc3MocmVsYXRpb246IFJlbGF0aW9uQW55VHlwZSwgb3JkZXI6IEFkZHJlc3NUeXBlW10gPSBbXSk6IEFkZHJlc3Mge1xuICAgIGNvbnN0IGFjdGl2ZUFkZHJlc3NlczogQWRkcmVzc1tdID0gcmVsYXRpb24uYWRkcmVzc2VzLmZpbHRlcihhID0+IGEuaXNBY3RpdmUpO1xuICAgIGNvbnN0IGxlbjogbnVtYmVyID0gb3JkZXIubGVuZ3RoO1xuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgY29uc3QgYWRkcmVzczogQWRkcmVzcyA9IHRoaXMuX2dldEZpcnN0QWRkcmVzc09mVHlwZShhY3RpdmVBZGRyZXNzZXMsIG9yZGVyW2ldKTtcbiAgICAgIGlmIChhZGRyZXNzKSB7XG4gICAgICAgIHJldHVybiBhZGRyZXNzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldEZpcnN0QWRkcmVzc09mVHlwZShhZGRyZXNzZXM6IEFkZHJlc3NbXSwgdHlwZTogQWRkcmVzc1R5cGUpOiBBZGRyZXNzIHtcbiAgICBpZiAoYWRkcmVzc2VzKSB7XG4gICAgICBjb25zdCBsZW46IG51bWJlciA9IGFkZHJlc3Nlcy5sZW5ndGg7XG4gICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgaWYgKGFkZHJlc3Nlc1tpXS5hZGRyZXNzVHlwZSA9PT0gdHlwZSkge1xuICAgICAgICAgIHJldHVybiBhZGRyZXNzZXNbaV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVOZXdBZGRyZXNzKHJlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUpOiBBZGRyZXNzIHtcbiAgICBjb25zdCBhZGRyZXNzOiBBZGRyZXNzID0gbmV3IEFkZHJlc3MoKTtcbiAgICBhZGRyZXNzLmFkZHJlc3NUeXBlID0gQWRkcmVzc1R5cGUuRGVsaXZlcnlBZGRyZXNzO1xuICAgIGFkZHJlc3Muc3RhcnREYXRlID0gbmV3IERhdGUoKTtcbiAgICBhZGRyZXNzLnNlcXVlbmNlID0gcmVsYXRpb24uZ2V0TmV4dEFkZHJlc3NTZXF1ZW5jZSgpO1xuICAgIHJlbGF0aW9uLmFkZHJlc3Nlcy5wdXNoKGFkZHJlc3MpO1xuICAgIHJldHVybiBhZGRyZXNzO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfc2V0Q291bnRyeU5hbWVUb0FkZHJlc3MoYWRkcmVzczogQWRkcmVzcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhZGRyZXNzLmNvdW50cnlJZCAmJiAhYWRkcmVzcy5jb3VudHJ5TmFtZSkge1xuICAgICAgY29uc3QgY291bnRyeTogQ291bnRyeSA9IGF3YWl0IHRoaXMuc2VydmljZS5nZXRDb3VudHJ5KGFkZHJlc3MuY291bnRyeUlkKTtcbiAgICAgIGFkZHJlc3MuY291bnRyeU5hbWUgPSBjb3VudHJ5LmRlc2NyaXB0aW9uO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
435
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUM3RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDakYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBRS9FLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMxRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUk3RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQ0FBK0Ms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LEtBQUs7MEJBR0wsTUFBTTs0QkFHTixNQUFNO29DQUdOLE1BQU07bUNBR04sTUFBTTs2QkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQywwQ0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XG5pbXBvcnQge0Zvcm1NYXN0ZXJTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7Q291bnRyeX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvdW50cnkuYm8nO1xuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XG5pbXBvcnQge0N1c3RvbWVyRnVsbE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWZ1bGwtb2JqZWN0LmJvJztcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW0nO1xuaW1wb3J0IHtBZGRyZXNzVHlwZX0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vYWRkcmVzcy10eXBlLmVudW0nO1xuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gJy4uLy4uLy4uL21vZGVsL3JlbGF0aW9uLWFueS10eXBlJztcbmltcG9ydCB7QWRkcmVzc30gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2FkZHJlc3MuYm8nO1xuaW1wb3J0IHtSZWxhdGlvbk5hbWVLaW5kfSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1uYW1lLWtpbmQuZW51bSc7XG5pbXBvcnQge1N1cHBsaWVyRnVsbE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3N1cHBsaWVyLWZ1bGwtb2JqZWN0LmJvJztcbmltcG9ydCB7UmVsYXRpb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi5ibyc7XG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLWxpc3Qtb2JqZWN0LmJvJztcbmltcG9ydCB7VmFsaWRhdGlvblJlc3VsdH0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvdmFsaWRhdGlvbi1yZXN1bHQnO1xuaW1wb3J0IHtUcmFuc2FjdGlvblJlbGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1yZWxhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQge1JlbGF0aW9uU3VnZ2VzdGlvbnNSZXF1ZXN0fSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2UvcmVsYXRpb24tc3VnZ2VzdGlvbnMtcmVxdWVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtDaGVja291dENmZ05hbWV9IGZyb20gJy4uLy4uLy4uL2VudW0vY2hlY2tvdXQtY2ZnLW5hbWUuZW51bSc7XG5pbXBvcnQge1JlbGF0aW9uR2VuZXJhbENmZ05hbWVzfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2UvcmVsYXRpb24tZ2VuZXJhbC1jZmctbmFtZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzQ2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9yZWxhdGlvbi1hZGRyZXNzLWNmZy1uYW1lcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3REZXRhaWxzQ2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9yZWxhdGlvbi1jb250YWN0LWRldGFpbHMtY2ZnLW5hbWVzLmludGVyZmFjZSc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NoZWNrb3V0U2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2UvY2hlY2tvdXQtc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge1JlbGF0aW9uU3VnZ2VzdGlvbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3JlbGF0aW9uLXN1Z2dlc3Rpb25zLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjby1jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tZWRpdC1jb250ZW50XCI+XG4gICAgICA8Y28tZm9ybT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWZvcm0td3JhcHBlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1sYWJlbC1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxzcGFuICNpbmRleExhYmVsPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ1BFUlNPTkFMX0RBVEEnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLXR5cGUgKm5nSWY9XCJyZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5SZWxhdGlvblR5cGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVsYXRpb25DaGFuZ2UpPVwiaGFuZGxlUmVsYXRpb25UeXBlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICA+PC9jby1yZWxhdGlvbi10eXBlPlxuICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiZW1wdHktcmVsYXRpb24tYnV0dG9uIGRlZmF1bHQtd2lkdGhcIiBbbGFiZWxdPVwiJ0VNUFRZJyB8IGxvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW1wdHlSZWxhdGlvbigkZXZlbnQpXCI+PC9jby1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiICpuZ0lmPVwicmVsYXRpb25LaW5kID09PSByZWxLaW5kLkN1c3RvbWVyXCI+XG4gICAgICAgICAgICAgIDxyZWxhdGlvbi1jdXN0b21lci1ncm91cHNcbiAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5SZWxhdGlvbkN1c3RvbWVyR3JvdXBcIlxuICAgICAgICAgICAgICAgIFttb2RlbF09XCJjdXN0b21lckdyb3VwXCJcbiAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ3VzdG9tZXJHcm91cENoYW5nZSgkZXZlbnQpXCIgcmVxdWlyZWQ+XG4gICAgICAgICAgICAgIDwvcmVsYXRpb24tY3VzdG9tZXItZ3JvdXBzPlxuICAgICAgICAgICAgICA8cmVsYXRpb24tY3VzdG9tZXItbGFuZ3VhZ2VzXG4gICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuUmVsYXRpb25MYW5ndWFnZVwiXG4gICAgICAgICAgICAgICAgW21vZGVsXT1cImN1c3RvbWVyTGFuZ3VhZ2VcIlxuICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVDdXN0b21lckxhbmd1YWdlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPC9yZWxhdGlvbi1jdXN0b21lci1sYW5ndWFnZXM+XG4gICAgICAgICAgICAgIDxyZWxhdGlvbi1jdXN0b21lci10aXRsZXNcbiAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5SZWxhdGlvblRpdGxlXCJcbiAgICAgICAgICAgICAgICBbbW9kZWxdPVwiY3VzdG9tZXJUaXRsZVwiXG4gICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUN1c3RvbWVyVGl0bGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8L3JlbGF0aW9uLWN1c3RvbWVyLXRpdGxlcz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1nZW5lcmFsXG4gICAgICAgICAgICAgICAgW2NvbmZpZ05hbWVzXT1cInJlbGF0aW9uR2VuZXJhbENvbmZpZ05hbWVzXCJcbiAgICAgICAgICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxuICAgICAgICAgICAgICAgIFtyZWxhdGlvblR5cGVdPVwicmVsYXRpb25UeXBlXCJcbiAgICAgICAgICAgICAgICAocmVsYXRpb25DaGFuZ2UpPVwidXBkYXRlUmVsYXRpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlRm9yU3VnZ2VzdGlvbnMpPVwiaGFuZGxlSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWdlbmVyYWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tYWRkcmVzc1xuICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJyZWxhdGlvbkFkZHJlc3NDb25maWdOYW1lc1wiXG4gICAgICAgICAgICAgICAgW2FkZHJlc3NdPVwiYWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlRm9yU3VnZ2VzdGlvbnMpPVwiaGFuZGxlSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWFkZHJlc3M+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0FkZHJlc3Nlc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1hZGRyZXNzZXNcbiAgICAgICAgICAgICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXG4gICAgICAgICAgICAgICAgICBbYWRkcmVzc2VzXT1cInJlbGF0aW9uLmFkZHJlc3Nlc1wiXG4gICAgICAgICAgICAgICAgICBbdHlwZV09XCJhZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkTmF3TnJdPVwiZGVsaXZlcnlBZGRyZXNzTmF3TnJcIlxuICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkTmF3TnJDaGFuZ2UpPVwiaGFuZGxlRGVsaXZlcnlBZGRyZXNzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWFkZHJlc3Nlcz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1sYWJlbC1jb2x1bW5cIiAqbmdJZj1cInJlbGF0aW9uS2luZCA9PT0gcmVsS2luZC5DdXN0b21lclwiPlxuICAgICAgICAgICAgICA8c3BhbiAjaW5kZXhMYWJlbD48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ0lOVk9JQ0VfQUREUkVTUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCIgKm5nSWY9XCJyZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IFsobW9kZWwpXT1cInNlcnZpY2UuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJjaGVja1NhbWVBZGRyZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1NBTUVfQVNfREVMSVZFUlknIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LWRlbGl2ZXJ5LWludm9pY2UtYWRkcmVzc1wiICpuZ0lmPVwiIXNlcnZpY2UuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeVwiXG4gICAgICAgICAgICAgICAgICAgQHNob3dIaWRlSW52b2ljZUFkZHJlc3M+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tYWRkcmVzc2VzXG4gICAgICAgICAgICAgICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFthZGRyZXNzZXNdPVwicmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzXCJcbiAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiYWRkcmVzc1R5cGUuQmlsbGluZ0FkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWROYXdOcl09XCJpbnZvaWNlQWRkcmVzc05hd05yXCJcbiAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkTmF3TnJDaGFuZ2UpPVwiaW52b2ljZUFkZHJlc3NDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWFkZHJlc3Nlcz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0NvbnRhY3REZXRhaWxzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxzcGFuICNpbmRleExhYmVsPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCInQ09OVEFDVF9ERVRBSUxTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLWNvbnRhY3QtZGV0YWlsc1xuICAgICAgICAgICAgICAgICAgW2NvbmZpZ05hbWVzXT1cImNvbnRhY3REZXRhaWxzQ29uZmlnTmFtZXNcIlxuICAgICAgICAgICAgICAgICAgWyhyZWxhdGlvbildPVwicmVsYXRpb25cIlxuICAgICAgICAgICAgICAgICAgW3JlbGF0aW9uS2luZF09XCJyZWxhdGlvbktpbmRcIj48L2NvLXJlbGF0aW9uLWNvbnRhY3QtZGV0YWlscz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVsYXRpb25LaW5kID09PSByZWxLaW5kLkN1c3RvbWVyICYmIHNob3dQcmVmZXJlbmNlc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgICAgICA8c3BhbiAjaW5kZXhMYWJlbD48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ1BSSVZBQ1lfUFJFRkVSRU5DRVMnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tcHJlZmVyZW5jZXNcbiAgICAgICAgICAgICAgICAgIFsocmVsYXRpb24pXT1cInJlbGF0aW9uXCI+PC9jby1yZWxhdGlvbi1wcmVmZXJlbmNlcz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2NvLWZvcm0+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHByb3ZpZGVyczogW1xuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlLFxuICAgIFJlbGF0aW9uU3VnZ2VzdGlvbnNTZXJ2aWNlXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzaG93SGlkZUludm9pY2VBZGRyZXNzJywgW1xuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7aGVpZ2h0OiAwLCBvcGFjaXR5OiAwfSkpLFxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7aGVpZ2h0OiAnKicsIG9wYWNpdHk6IDF9KSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0JykpXG4gICAgXSlcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja291dE92ZXJ2aWV3UmVsYXRpb25FZGl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcmVhZG9ubHkgY2ZnTmFtZXM6IHR5cGVvZiBDaGVja291dENmZ05hbWUgPSBDaGVja291dENmZ05hbWU7XG4gIHB1YmxpYyByZWFkb25seSByZWxLaW5kOiB0eXBlb2YgUmVsYXRpb25LaW5kID0gUmVsYXRpb25LaW5kO1xuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcbiAgcHVibGljIHJlYWRvbmx5IGFkZHJlc3NUeXBlOiB0eXBlb2YgQWRkcmVzc1R5cGUgPSBBZGRyZXNzVHlwZTtcblxuICBAVmlld0NoaWxkcmVuKCdpbmRleExhYmVsJywge3JlYWQ6IEVsZW1lbnRSZWZ9KSBzZXQgdmlld0NoaWxkcmVuKGNoaWxkcmVuKSB7XG4gICAgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHNwYW5zID0gY2hpbGRyZW4udG9BcnJheSgpO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzcGFucy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBzcGFuID0gc3BhbnNbaV07XG4gICAgICAgIGlmIChzcGFuLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICBzcGFuLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gKGkgKyAxIDwgMTApID8gJzAnICsgKGkgKyAxKS50b1N0cmluZygpIDogKGkgKyAxKS50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZWxhdGlvbih2YWx1ZTogUmVsYXRpb25BbnlUeXBlKSB7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uICYmIHZhbHVlICYmIHRoaXMuX3JlbGF0aW9uLnJlbGF0aW9uSWQgJiYgdmFsdWUucmVsYXRpb25JZCAmJiB0aGlzLl9yZWxhdGlvbi5yZWxhdGlvbklkID09PSB2YWx1ZS5yZWxhdGlvbklkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3JlbGF0aW9uID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uKSB7XG4gICAgICBpZiAodGhpcy5fcmVsYXRpb24gaW5zdGFuY2VvZiBTdXBwbGllckZ1bGxPYmplY3QpIHtcbiAgICAgICAgdGhpcy5fcmVsYXRpb24udHlwZSA9IFJlbGF0aW9uTmFtZUtpbmQuQ29tcGFueTtcbiAgICAgICAgdGhpcy5yZWxhdGlvblR5cGUgPSBSZWxhdGlvbk5hbWVLaW5kLkNvbXBhbnk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5fcmVsYXRpb24gaW5zdGFuY2VvZiBDdXN0b21lckZ1bGxPYmplY3QpIHtcbiAgICAgICAgdGhpcy5jdXN0b21lckdyb3VwID0gdGhpcy5fcmVsYXRpb24uY3VzdG9tZXJHcm91cDtcbiAgICAgICAgdGhpcy5jdXN0b21lckxhbmd1YWdlID0gdGhpcy5fcmVsYXRpb24ubGFuZ3VhZ2U7XG4gICAgICAgIHRoaXMuY3VzdG9tZXJUaXRsZSA9IHRoaXMuX3JlbGF0aW9uLnRpdGxlSWQ7XG4gICAgICB9XG4gICAgICB0aGlzLmFkZHJlc3MgPSB0aGlzLl9nZXRGaXJzdEFjdGl2ZUFkZHJlc3NPckNyZWF0ZU5ldyh0aGlzLl9yZWxhdGlvbik7XG4gICAgICBpZiAodGhpcy5hZGRyZXNzKSB7XG4gICAgICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIgPSB0aGlzLmFkZHJlc3MubmF3TnI7XG4gICAgICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzQ2hhbmdlLmVtaXQodGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOcik7XG4gICAgICAgIHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOciA9IHRoaXMuYWRkcmVzcy5uYXdOcjtcbiAgICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc0NoYW5nZS5lbWl0KHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCByZWxhdGlvbigpOiBSZWxhdGlvbkFueVR5cGUge1xuICAgIHJldHVybiB0aGlzLl9yZWxhdGlvbjtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcmVsYXRpb25LaW5kKHZhbHVlOiBSZWxhdGlvbktpbmQpIHtcbiAgICB0aGlzLl9yZWxhdGlvbktpbmQgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5fcmVsYXRpb25LaW5kID09PSBSZWxhdGlvbktpbmQuU3VwcGxpZXIpIHtcbiAgICAgIHRoaXMucmVsYXRpb25UeXBlID0gUmVsYXRpb25OYW1lS2luZC5Db21wYW55O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVsYXRpb25LaW5kKCk6IFJlbGF0aW9uS2luZCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uS2luZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWxpdmVyeUFkZHJlc3NOYXdOcjogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbnZvaWNlQWRkcmVzc05hd05yOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB2YWxpZFN1Ym1pdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaW52YWxpZFN1Ym1pdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZGVsaXZlcnlBZGRyZXNzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaW52b2ljZUFkZHJlc3NDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWxhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFJlbGF0aW9uQW55VHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlbGF0aW9uQW55VHlwZT4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWNoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQnKVxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGFkZHJlc3M6IEFkZHJlc3M7XG4gIHB1YmxpYyBjdXN0b21lckdyb3VwOiBzdHJpbmc7XG4gIHB1YmxpYyBjdXN0b21lckxhbmd1YWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBjdXN0b21lclRpdGxlOiBudW1iZXI7XG4gIHB1YmxpYyByZWxhdGlvblR5cGU6IFJlbGF0aW9uTmFtZUtpbmQgPSBSZWxhdGlvbk5hbWVLaW5kLlByaXZhdGU7XG5cbiAgcHVibGljIGNvbnRhY3REZXRhaWxzQ29uZmlnTmFtZXM6IFJlbGF0aW9uQ29udGFjdERldGFpbHNDZmdOYW1lcyA9IHtcbiAgICByZWxhdGlvblBob25lOiB0aGlzLmNmZ05hbWVzLlJlbGF0aW9uUGhvbmUsXG4gICAgcmVsYXRpb25FbWFpbEFkZHJlc3M6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25FbWFpbEFkZHJlc3MsXG4gICAgcmVsYXRpb25JbnZpdGVUb0FjY291bnQ6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25JbnZpdGVUb0FjY291bnRcbiAgfTtcbiAgcHVibGljIHJlbGF0aW9uR2VuZXJhbENvbmZpZ05hbWVzOiBSZWxhdGlvbkdlbmVyYWxDZmdOYW1lcyA9IHtcbiAgICByZWxhdGlvbkNvbXBhbnk6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25Db21wYW55LFxuICAgIHJlbGF0aW9uRmlyc3ROYW1lOiB0aGlzLmNmZ05hbWVzLlJlbGF0aW9uRmlyc3ROYW1lLFxuICAgIHJlbGF0aW9uUHJlZml4OiB0aGlzLmNmZ05hbWVzLlJlbGF0aW9uUHJlZml4LFxuICAgIHJlbGF0aW9uTGFzdE5hbWU6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25MYXN0TmFtZSxcbiAgICByZWxhdGlvbkdlbmRlcjogdGhpcy5jZmdOYW1lcy5SZWxhdGlvbkdlbmRlcixcbiAgICBjb250YWN0RGV0YWlsczogdGhpcy5jb250YWN0RGV0YWlsc0NvbmZpZ05hbWVzXG4gIH07XG4gIHB1YmxpYyByZWxhdGlvbkFkZHJlc3NDb25maWdOYW1lczogUmVsYXRpb25BZGRyZXNzQ2ZnTmFtZXMgPSB7XG4gICAgcmVsYXRpb25TdHJlZXQ6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25TdHJlZXQsXG4gICAgcmVsYXRpb25Ib3VzZU5yOiB0aGlzLmNmZ05hbWVzLlJlbGF0aW9uSG91c2VOcixcbiAgICByZWxhdGlvbkhvdXNlTnJBZGQ6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25Ib3VzZU5yQWRkLFxuICAgIHJlbGF0aW9uQ2l0eTogdGhpcy5jZmdOYW1lcy5SZWxhdGlvbkNpdHksXG4gICAgcmVsYXRpb25Db3VudHJ5OiB0aGlzLmNmZ05hbWVzLlJlbGF0aW9uQ291bnRyeSxcbiAgICByZWxhdGlvblBvc3RhbENvZGU6IHRoaXMuY2ZnTmFtZXMuUmVsYXRpb25Qb3N0YWxDb2RlXG4gIH07XG4gIHB1YmxpYyBzaG93Q29udGFjdERldGFpbHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNob3dQcmVmZXJlbmNlczogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd1N1Z2dlc3Rpb25zOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93QWRkcmVzc2VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfcmVsYXRpb246IFJlbGF0aW9uQW55VHlwZSA9IG5ldyBDdXN0b21lckZ1bGxPYmplY3QoKTtcbiAgcHJpdmF0ZSBfcmVsYXRpb25LaW5kOiBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQuQ3VzdG9tZXI7XG4gIHByaXZhdGUgX3JlcXVlc3RGb3JTdWdnZXN0aW9uczogUmVsYXRpb25TdWdnZXN0aW9uc1JlcXVlc3QgPSB7fTtcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgX2Zvcm1NYXN0ZXI6IEZvcm1NYXN0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3JlbGF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25SZWxhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIF9zY3JlZW5Db25maWdTZXJ2aWNlOiBDaGVja291dFNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgX3N1Z2dlc3Rpb25zU2VydmljZTogUmVsYXRpb25TdWdnZXN0aW9uc1NlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLl9zdWdnZXN0aW9uc1NlcnZpY2UuaW5pdCh0aGlzLl9yZWxhdGlvbktpbmQpO1xuICAgIHRoaXMuX3N1YnMucHVzaChcbiAgICAgIHRoaXMuX3NjcmVlbkNvbmZpZ1NlcnZpY2UuY29uZmlnU2V0LnN1YnNjcmliZSgoY29uZmlnT2JqZWN0czogc3RyaW5nW10pID0+IHtcbiAgICAgICAgaWYgKGNvbmZpZ09iamVjdHMgJiYgY29uZmlnT2JqZWN0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5zaG93UHJlZmVyZW5jZXMgPSB0aGlzLl9zY3JlZW5Db25maWdTZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5SZWxhdGlvblByZWZlcmVuY2VzSGVhZGVyKS5pbW1lZGlhdGVseVZpc2libGUoKTtcbiAgICAgICAgICB0aGlzLnNob3dTdWdnZXN0aW9ucyA9IHRoaXMuX3NjcmVlbkNvbmZpZ1NlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcih0aGlzLmNmZ05hbWVzLlN1Z2dlc3Rpb25zKS5pbW1lZGlhdGVseVZpc2libGUoKTtcbiAgICAgICAgICB0aGlzLnNob3dBZGRyZXNzZXMgPSB0aGlzLl9zY3JlZW5Db25maWdTZXJ2aWNlLmdldE9iamVjdENvbmZpZ3VyYXRpb25Gb3IodGhpcy5jZmdOYW1lcy5SZWxhdGlvbkFkZHJlc3Nlc0hlYWRlcikuaW1tZWRpYXRlbHlWaXNpYmxlKCk7XG4gICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5jb250YWN0RGV0YWlsc0NvbmZpZ05hbWVzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250YWN0RGV0YWlsc0NvbmZpZ05hbWVzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuX3NjcmVlbkNvbmZpZ1NlcnZpY2UuZ2V0T2JqZWN0Q29uZmlndXJhdGlvbkZvcihrZXkpLmltbWVkaWF0ZWx5VmlzaWJsZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93Q29udGFjdERldGFpbHMgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0aGlzLl9zdWdnZXN0aW9uc1NlcnZpY2Uuc3VnZ2VzdGVkUmVsYXRpb25DbGljay5zdWJzY3JpYmUoKHJlbGF0aW9uOiBSZWxhdGlvbkxpc3RPYmplY3QpID0+IHRoaXMub25SZWxhdGlvblN1Z2dlc3Rpb25DbGljayhyZWxhdGlvbikpXG4gICAgKTtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24pIHtcbiAgICAgIHRoaXMuYWRkcmVzcyA9IHRoaXMuX3JlbGF0aW9uLmdldEZpcnN0QWRkcmVzc09yQ3JlYXRlTmV3KCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGZpcnN0QWN0aXZlQWRkcmVzczogQWRkcmVzcyA9IHRoaXMuX3JlbGF0aW9uLmFjdGl2ZUFkZHJlc3Nlcy5sZW5ndGggPiAwID8gdGhpcy5fcmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzWzBdIDogdW5kZWZpbmVkO1xuICAgIGlmICghdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOcikge1xuICAgICAgdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOciA9IGZpcnN0QWN0aXZlQWRkcmVzcyA/IGZpcnN0QWN0aXZlQWRkcmVzcy5uYXdOciA6IDA7XG4gICAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc0NoYW5nZS5lbWl0KHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuaW52b2ljZUFkZHJlc3NOYXdOcikge1xuICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc05hd05yID0gZmlyc3RBY3RpdmVBZGRyZXNzID8gZmlyc3RBY3RpdmVBZGRyZXNzLm5hd05yIDogMDtcbiAgICAgIHRoaXMuaW52b2ljZUFkZHJlc3NDaGFuZ2UuZW1pdCh0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlSW5wdXRDaGFuZ2UocmVxdWVzdDogUmVsYXRpb25TdWdnZXN0aW9uc1JlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMgPSBPYmplY3QuYXNzaWduKHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucywgcmVxdWVzdCk7XG4gICAgdGhpcy5fc3VnZ2VzdGlvbnNTZXJ2aWNlLnJlcXVlc3RGb3JTdWdnZXN0aW9ucyA9IHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBvblJlbGF0aW9uU3VnZ2VzdGlvbkNsaWNrKHJlbGF0aW9uU3VnZ2VzdGVkOiBSZWxhdGlvbkxpc3RPYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAocmVsYXRpb25TdWdnZXN0ZWQpIHtcbiAgICAgIGNvbnN0IGxvY2tSZXN1bHQ6IFZhbGlkYXRpb25SZXN1bHQgPSBhd2FpdCB0aGlzLl9yZWxhdGlvblNlcnZpY2UubG9ja1JlbGF0aW9uKHJlbGF0aW9uU3VnZ2VzdGVkLnJlbGF0aW9uVHlwZSwgcGFyc2VJbnQocmVsYXRpb25TdWdnZXN0ZWQucmVsYXRpb25OciwgMCkpO1xuICAgICAgaWYgKCFsb2NrUmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5zaG93RXJyb3IoJ1JFTEFUSU9OX0FMUkVBRFlfTE9DS0VEJywgdHJ1ZSwgbG9ja1Jlc3VsdC5tZXNzYWdlc1swXS5tZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25zU2VydmljZS5oaWRlU2lkZWJhcigpO1xuICAgICAgICBjb25zdCBzdWdnZXN0ZWRSZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlID0gYXdhaXQgdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmdldFJlbGF0aW9uKHJlbGF0aW9uU3VnZ2VzdGVkLnJlbGF0aW9uVHlwZSwgcGFyc2VJbnQocmVsYXRpb25TdWdnZXN0ZWQucmVsYXRpb25OcikpO1xuICAgICAgICBpZiAoc3VnZ2VzdGVkUmVsYXRpb24gJiYgc3VnZ2VzdGVkUmVsYXRpb24uYWRkcmVzc2VzICYmIHN1Z2dlc3RlZFJlbGF0aW9uLmFkZHJlc3Nlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgc3VnZ2VzdGVkUmVsYXRpb24uYWRkcmVzc2VzLnNvcnQoKGEsIGIpID0+IGEuc2VxdWVuY2UgPCBiLnNlcXVlbmNlID8gLTEgOiAxKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbGF0aW9uID0gc3VnZ2VzdGVkUmVsYXRpb247XG4gICAgICAgIHRoaXMucmVsYXRpb25DaGFuZ2UubmV4dCh0aGlzLnJlbGF0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUmVsYXRpb25UeXBlQ2hhbmdlKHJlbGF0aW9uOiBSZWxhdGlvbik6IHZvaWQge1xuICAgIHRoaXMucmVsYXRpb25UeXBlID0gcmVsYXRpb24udHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBlbXB0eVJlbGF0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLmNyZWF0ZU5ld1JlbGF0aW9uKCk7XG4gICAgdGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zID0ge307XG4gICAgdGhpcy5fcmVsYXRpb25TZXJ2aWNlLnJlbGF0aW9uU3VnZ2VzdGlvbnNSZXF1ZXN0Q2xlYXIubmV4dCgpO1xuICAgIHRoaXMuX3N1Z2dlc3Rpb25zU2VydmljZS5oaWRlU2lkZWJhcigpO1xuICAgIC8vIHRoaXMuaGlkZVNpZGViYXIoKTtcbiAgICB0aGlzLnVwZGF0ZVJlbGF0aW9uKHRoaXMuc2VydmljZS5yZWxhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ3VzdG9tZXJHcm91cENoYW5nZShncm91cDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jdXN0b21lckdyb3VwID0gZ3JvdXA7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uIGluc3RhbmNlb2YgQ3VzdG9tZXJGdWxsT2JqZWN0KSB7XG4gICAgICB0aGlzLl9yZWxhdGlvbi5jdXN0b21lckdyb3VwID0gdGhpcy5jdXN0b21lckdyb3VwO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDdXN0b21lckxhbmd1YWdlQ2hhbmdlKGxhbmd1YWdlQ29kZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jdXN0b21lckxhbmd1YWdlID0gbGFuZ3VhZ2VDb2RlO1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbiBpbnN0YW5jZW9mIEN1c3RvbWVyRnVsbE9iamVjdCkge1xuICAgICAgdGhpcy5fcmVsYXRpb24ubGFuZ3VhZ2UgPSB0aGlzLmN1c3RvbWVyTGFuZ3VhZ2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZUN1c3RvbWVyVGl0bGVDaGFuZ2UodGl0bGU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuY3VzdG9tZXJUaXRsZSA9IHRpdGxlO1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbiBpbnN0YW5jZW9mIEN1c3RvbWVyRnVsbE9iamVjdCkge1xuICAgICAgdGhpcy5fcmVsYXRpb24udGl0bGVJZCA9IHRoaXMuY3VzdG9tZXJUaXRsZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUmVsYXRpb24ocmVsOiBSZWxhdGlvbkFueVR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnJlbGF0aW9uID0gcmVsO1xuICAgIGNvbnN0IGZpcnN0QWN0aXZlQWRkcmVzczogQWRkcmVzcyA9IHRoaXMuX3JlbGF0aW9uLmFjdGl2ZUFkZHJlc3Nlcy5sZW5ndGggPiAwID8gdGhpcy5fcmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzWzBdIDogdW5kZWZpbmVkO1xuICAgIHRoaXMuYWRkcmVzcyA9IGZpcnN0QWN0aXZlQWRkcmVzcztcbiAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yID0gZmlyc3RBY3RpdmVBZGRyZXNzID8gZmlyc3RBY3RpdmVBZGRyZXNzLm5hd05yIDogMDtcbiAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc0NoYW5nZS5lbWl0KHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIpO1xuICAgIHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOciA9IGZpcnN0QWN0aXZlQWRkcmVzcyA/IGZpcnN0QWN0aXZlQWRkcmVzcy5uYXdOciA6IDA7XG4gICAgdGhpcy5pbnZvaWNlQWRkcmVzc0NoYW5nZS5lbWl0KHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOcik7XG4gICAgdGhpcy5yZWxhdGlvbkNoYW5nZS5lbWl0KHRoaXMucmVsYXRpb24pO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybU1hc3Rlci5zdWJtaXRTbGF2ZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVEZWxpdmVyeUFkZHJlc3NDaGFuZ2UobmF3TnI6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzQ2hhbmdlLmVtaXQobmF3TnIpO1xuICAgIGlmICh0aGlzLnNlcnZpY2UuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeSkge1xuICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc0NoYW5nZS5lbWl0KG5hd05yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2hlY2tTYW1lQWRkcmVzcyhjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pbnZvaWNlQWRkcmVzc05hd05yID0gdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOcjtcbiAgICB0aGlzLmludm9pY2VBZGRyZXNzQ2hhbmdlLm5leHQodGhpcy5pbnZvaWNlQWRkcmVzc05hd05yKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEZpcnN0QWN0aXZlQWRkcmVzc09yQ3JlYXRlTmV3KHJlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUpOiBBZGRyZXNzIHtcbiAgICBpZiAoIXJlbGF0aW9uLmFkZHJlc3NlcyB8fCByZWxhdGlvbi5hZGRyZXNzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY3JlYXRlTmV3QWRkcmVzcyhyZWxhdGlvbik7XG4gICAgfVxuICAgIGNvbnN0IGZpcnN0QXZhaWxhYmxlQWRkcmVzczogQWRkcmVzcyA9IHRoaXMuX2dldEZpcnN0QWRkcmVzcyhyZWxhdGlvbiwgW1xuICAgICAgQWRkcmVzc1R5cGUuRGVsaXZlcnlBZGRyZXNzLFxuICAgICAgQWRkcmVzc1R5cGUuQmlsbGluZ0FkZHJlc3MsXG4gICAgICBBZGRyZXNzVHlwZS5WaXNpdGluZ0FkZHJlc3MsXG4gICAgICBBZGRyZXNzVHlwZS5NYWlsaW5nQWRkcmVzcyxcbiAgICAgIEFkZHJlc3NUeXBlLk51cnNpbmdBZGRyZXNzXG4gICAgXSk7XG4gICAgcmV0dXJuIGZpcnN0QXZhaWxhYmxlQWRkcmVzcyA/IGZpcnN0QXZhaWxhYmxlQWRkcmVzcyA6IHRoaXMuX2NyZWF0ZU5ld0FkZHJlc3MocmVsYXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Rmlyc3RBZGRyZXNzKHJlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUsIG9yZGVyOiBBZGRyZXNzVHlwZVtdID0gW10pOiBBZGRyZXNzIHtcbiAgICBjb25zdCBhY3RpdmVBZGRyZXNzZXM6IEFkZHJlc3NbXSA9IHJlbGF0aW9uLmFkZHJlc3Nlcy5maWx0ZXIoYSA9PiBhLmlzQWN0aXZlKTtcbiAgICBjb25zdCBsZW46IG51bWJlciA9IG9yZGVyLmxlbmd0aDtcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGNvbnN0IGFkZHJlc3M6IEFkZHJlc3MgPSB0aGlzLl9nZXRGaXJzdEFkZHJlc3NPZlR5cGUoYWN0aXZlQWRkcmVzc2VzLCBvcmRlcltpXSk7XG4gICAgICBpZiAoYWRkcmVzcykge1xuICAgICAgICByZXR1cm4gYWRkcmVzcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9nZXRGaXJzdEFkZHJlc3NPZlR5cGUoYWRkcmVzc2VzOiBBZGRyZXNzW10sIHR5cGU6IEFkZHJlc3NUeXBlKTogQWRkcmVzcyB7XG4gICAgaWYgKGFkZHJlc3Nlcykge1xuICAgICAgY29uc3QgbGVuOiBudW1iZXIgPSBhZGRyZXNzZXMubGVuZ3RoO1xuICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIGlmIChhZGRyZXNzZXNbaV0uYWRkcmVzc1R5cGUgPT09IHR5cGUpIHtcbiAgICAgICAgICByZXR1cm4gYWRkcmVzc2VzW2ldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlTmV3QWRkcmVzcyhyZWxhdGlvbjogUmVsYXRpb25BbnlUeXBlKTogQWRkcmVzcyB7XG4gICAgY29uc3QgYWRkcmVzczogQWRkcmVzcyA9IG5ldyBBZGRyZXNzKCk7XG4gICAgYWRkcmVzcy5hZGRyZXNzVHlwZSA9IEFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzcztcbiAgICBhZGRyZXNzLnN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgYWRkcmVzcy5zZXF1ZW5jZSA9IHJlbGF0aW9uLmdldE5leHRBZGRyZXNzU2VxdWVuY2UoKTtcbiAgICByZWxhdGlvbi5hZGRyZXNzZXMucHVzaChhZGRyZXNzKTtcbiAgICByZXR1cm4gYWRkcmVzcztcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3NldENvdW50cnlOYW1lVG9BZGRyZXNzKGFkZHJlc3M6IEFkZHJlc3MpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoYWRkcmVzcy5jb3VudHJ5SWQgJiYgIWFkZHJlc3MuY291bnRyeU5hbWUpIHtcbiAgICAgIGNvbnN0IGNvdW50cnk6IENvdW50cnkgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0Q291bnRyeShhZGRyZXNzLmNvdW50cnlJZCk7XG4gICAgICBhZGRyZXNzLmNvdW50cnlOYW1lID0gY291bnRyeS5kZXNjcmlwdGlvbjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -39,8 +39,8 @@ TransactionHeaderDepositAmountComponent.decorators = [
|
|
|
39
39
|
{ type: Component, args: [{
|
|
40
40
|
selector: "co-transaction-header-deposit-amount",
|
|
41
41
|
template: `
|
|
42
|
-
<span *ngIf="!editMode || headerReadonly" [textContent]="(transactionInfo.depositAmount | coCurrency) || '...'" [tooltip]="tooltipMessage"></span>
|
|
43
|
-
<co-input-text #input *ngIf="editMode"
|
|
42
|
+
<span *ngIf="(!editMode || headerReadonly) && !defaultEditMode" [textContent]="(transactionInfo.depositAmount | coCurrency) || '...'" [tooltip]="tooltipMessage"></span>
|
|
43
|
+
<co-input-text #input *ngIf="editMode || defaultEditMode"
|
|
44
44
|
[type]="'number'"
|
|
45
45
|
[placeholder]="showLabel ? ('DOWNPAYMENT' | localize) : ''"
|
|
46
46
|
[showSaveCancel]="!headerReadonly"
|
|
@@ -62,4 +62,4 @@ TransactionHeaderDepositAmountComponent.propDecorators = {
|
|
|
62
62
|
businessRuleApplied: [{ type: Output }],
|
|
63
63
|
showClass: [{ type: HostBinding, args: ['class.co-transaction-header-deposit-amount',] }]
|
|
64
64
|
};
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtYW1vdW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtYW1vdW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JILE9BQU8sRUFBQyxrQkFBa0IsRUFBRSw4Q0FBOEMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hILE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBc0J2RyxNQUFNLE9BQU8sdUNBQXdDLFNBQVEsa0NBQWtDO0lBcEIvRjs7UUFnQ1Msd0JBQW1CLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFHekUsY0FBUyxHQUFZLElBQUksQ0FBQztJQW1CbkMsQ0FBQztJQWpDQyxJQUFzRCxLQUFLLENBQUMsT0FBTztRQUNqRSxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQVdZLE1BQU0sQ0FBQyxNQUFjOztZQUNoQyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE1BQU0sR0FBRyxDQUFDLENBQUM7YUFDWjtZQUNELElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsS0FBSyxNQUFNLEVBQUU7Z0JBQ3pFLE1BQU0sb0JBQW9CLEdBQVcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7Z0JBQ3hFLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9DQUFvQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3hJLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO2lCQUMzQjtnQkFDRCxPQUFPLE9BQU8sQ0FBQzthQUNoQjtZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztLQUFBOzs7WUFyREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQ0FBc0M7Z0JBQ2hELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7R0FXVDtnQkFDRCxTQUFTLEVBQUUsQ0FBQzt3QkFDVixPQUFPLEVBQUUsOENBQThDO3dCQUN2RCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVDQUF1QyxDQUFDO3FCQUN2RSxDQUFDO2dCQUNGLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7b0JBRUUsU0FBUyxTQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtrQ0FVL0MsTUFBTTt3QkFHTixXQUFXLFNBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SW5wdXRUZXh0Q29tcG9uZW50LCBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbklucHV0RmllbGRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24taW5wdXQtZmllbGQtYmFzZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtYW1vdW50XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxzcGFuICpuZ0lmPVwiKCFlZGl0TW9kZSAgfHwgaGVhZGVyUmVhZG9ubHkpICYmICFkZWZhdWx0RWRpdE1vZGVcIiBbdGV4dENvbnRlbnRdPVwiKHRyYW5zYWN0aW9uSW5mby5kZXBvc2l0QW1vdW50IHwgY29DdXJyZW5jeSkgfHwgJy4uLidcIiBbdG9vbHRpcF09XCJ0b29sdGlwTWVzc2FnZVwiPjwvc3Bhbj5cclxuICAgIDxjby1pbnB1dC10ZXh0ICNpbnB1dCAqbmdJZj1cImVkaXRNb2RlIHx8IGRlZmF1bHRFZGl0TW9kZVwiXHJcbiAgICAgICAgICAgICAgICAgICBbdHlwZV09XCInbnVtYmVyJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2hvd0xhYmVsID8gKCdET1dOUEFZTUVOVCcgfCBsb2NhbGl6ZSkgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBbc2hvd1NhdmVDYW5jZWxdPVwiIWhlYWRlclJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSB8fCBoZWFkZXJSZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwidHJhbnNhY3Rpb25JbmZvLmRlcG9zaXRBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgKGJsdXIpPVwiZWRpdE1vZGUgPSBmYWxzZVwiXHJcbiAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRyYW5zYWN0aW9uSGVhZGVyRGVwb3NpdEFtb3VudENvbXBvbmVudClcclxuICB9XSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkhlYWRlckRlcG9zaXRBbW91bnRDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbklucHV0RmllbGRCYXNlQ29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgcmVhZDogSW5wdXRUZXh0Q29tcG9uZW50IH0pIHNldCBjaGlsZChjb250ZW50KSB7XHJcbiAgICBpZiAoY29udGVudCkge1xyXG4gICAgICB0aGlzLmlucHV0ID0gY29udGVudDtcclxuICAgICAgdGhpcy5pbnB1dC5jb21taXQgPSAoYW1vdW50KSA9PiB0aGlzLmhhbmRsZUNvbW1pdChhbW91bnQpO1xyXG4gICAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5pbnB1dCkge1xyXG4gICAgICB0aGlzLnNldEVkaXRNb2RlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYnVzaW5lc3NSdWxlQXBwbGllZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXRyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LWFtb3VudCcpXHJcbiAgcHVibGljIHNob3dDbGFzczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBpbnB1dDogSW5wdXRUZXh0Q29tcG9uZW50O1xyXG4gIHB1YmxpYyBhbW91bnQ6IG51bWJlcjtcclxuXHJcbiAgcHVibGljIGFzeW5jIGNvbW1pdChhbW91bnQ6IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgaWYgKCFhbW91bnQpIHtcclxuICAgICAgYW1vdW50ID0gMDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uSW5mbyAmJiB0aGlzLnRyYW5zYWN0aW9uSW5mby5kZXBvc2l0QW1vdW50ICE9PSBhbW91bnQpIHtcclxuICAgICAgY29uc3Qgb2xkRG93blBheVBlcmNlbnRhZ2U6IG51bWJlciA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLmRlcG9zaXRBbW91bnQ7XHJcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS51cGRhdGVIZWFkZXJUcmFuc2FjdGlvbkRlcG9zaXRBbW91bnQodGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCwgYW1vdW50LCB0aGlzLmxvY2tBbmRTYXZlKTtcclxuICAgICAgaWYgKCFzdWNjZXNzKSB7XHJcbiAgICAgICAgdGhpcy5pbnB1dC5tb2RlbCA9IGFtb3VudDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gc3VjY2VzcztcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -136,8 +136,11 @@ export class TransactionQuickAccessSalesQuotationComponent extends TransactionQu
|
|
|
136
136
|
request.transactionRelationId = this.transactionInfo.relation.relationId;
|
|
137
137
|
request.handledByRelationId = this.transactionInfo.handledBy;
|
|
138
138
|
this.creatingSalesOrder = true;
|
|
139
|
-
|
|
139
|
+
//const salesOrderCreated: boolean = await this.transactionCreationService.createSalesOrderThroughQuotation(request);
|
|
140
140
|
this.creatingSalesOrder = false;
|
|
141
|
+
/*if (salesOrderCreated) {
|
|
142
|
+
|
|
143
|
+
}*/
|
|
141
144
|
});
|
|
142
145
|
}
|
|
143
146
|
handleSalesOrderNavigation(transNr) {
|
|
@@ -225,4 +228,4 @@ TransactionQuickAccessSalesQuotationComponent.propDecorators = {
|
|
|
225
228
|
sendDocumentsComponent: [{ type: ViewChild, args: [TransactionSendDocumentsComponent,] }],
|
|
226
229
|
showClass: [{ type: HostBinding, args: ["class.co-transaction-quick-access-sales-quotation",] }]
|
|
227
230
|
};
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2FsZXMtcXVvdGF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQXFCLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUMsNkNBQTZDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNySCxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUdsSCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUVyRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDeEgsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFHbkcsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDbkcsT0FBTyxF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Z0JBQWdCO1lBQ2hCLHFDQUFxQztZQVFwQyx3QkFBd0I7WUFQekIsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUF4QmxCLGlCQUFpQjtZQTRCakIsYUFBYTtZQUhiLDBCQUEwQjs7O3FDQTBEL0IsU0FBUyxTQUFDLGlDQUFpQzt3QkFPM0MsV0FBVyxTQUFDLG1EQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2VuZE1ldGhvZEJhc2VDb21wb25lbnR9IGZyb20gJy4uL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zZW5kLW1ldGhvZC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXByaW50LXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LWVtYWlsLXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXBkZi1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvblByaW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ibyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuaW1wb3J0IHtDb3B5VHJhbnNhY3Rpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY29weS10cmFuc2FjdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtFbWFpbEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZW1haWwtaGlzdG9yaWMtb3JkZXItY29uZmlybWF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlbmREb2N1bWVudHNDb21wb25lbnR9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzL3RyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1oaXN0b3JpYy1xdW90YXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7RW1haWxRdW90YXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZW1haWwtcXVvdGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1ByaW50SGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wcmludC1oaXN0b3JpYy1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UGRmSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wZGYtaGlzdG9yaWMtb3JkZXItY29uZmlybWF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1ByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtaGlzdG9yaWMtcXVvdGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1ByaW50UXVvdGF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3ByaW50LXF1b3RhdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtQZGZRdW90YXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGRmLXF1b3RhdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtQZGZIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wZGYtaGlzdG9yaWMtcXVvdGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ3JlYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWNyZWF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVmVHJhbnNhY3Rpb259IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm8nO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tc2VhcmNoL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2VhcmNoLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicXVpY2stYWNjZXNzLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICA8Y28tcXVpY2stc2VuZC1idXR0b25cclxuICAgICAgICBbZGVmYXVsdE1ldGhvZEljb25dPVwiZGVmYXVsdFNlbmRNZXRob2RJY29uXCJcclxuICAgICAgICBbc2hvd0xvYWRlcl09XCJzaG93TG9hZGVyXCJcclxuICAgICAgICAoc2VuZEljb25DbGlja2VkKT1cImhhbmRsZVNlbmQoZGVmYXVsdFNlbmRNZXRob2QpXCJcclxuICAgICAgICAob3BlblNlbmRNZXRob2REaWFsb2cpPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlXCJcclxuICAgICAgPjwvY28tcXVpY2stc2VuZC1idXR0b24+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1zZW5kLWRvY3VtZW50c1xyXG4gICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnldPVwidHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclF1b3RhdGlvblwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzPlxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tYnV0dG9uXHJcbiAgICAgICAgW2xhYmVsXT1cIidTQUxFU19PUkRFUicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DYXJ0U2hvcHBpbmdSZWd1bGFyKVwiXHJcbiAgICAgICAgKGNsaWNrKT1cImNyZWF0ZVNhbGVzT3JkZXIoKVwiXHJcbiAgICAgICAgY2xhc3M9XCJzYWxlcy1xdW90ZS1idG4gY3VzdG9tLXdpZHRoXCJcclxuICAgICAgPjwvY28tdHJhbnNhY3Rpb24tYnV0dG9uPlxyXG4gICAgIDxjby10cmFuc2FjdGlvbi1uYXZpZ2F0aW9uLWJ1dHRvbi1saXN0XHJcbiAgICAgICAgW3JlZlRyYW5zYWN0aW9uc109XCJnZXRDdXJyZW50UmVmVHJhbnNhY3Rpb25zKClcIlxyXG4gICAgICAgIFtzaG93UmVsYXRpb25CdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtlbXB0eUxhYmVsXT1cIidOT19TQUxFU19RVU9URV9PUkRFUicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKHRyYW5zYWN0aW9uQ2xpY2spPVwiaGFuZGxlU2FsZXNPcmRlck5hdmlnYXRpb24oJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLW5hdmlnYXRpb24tYnV0dG9uLWxpc3Q+XHJcbiAgICAgIDxjby1zZW5kLW1ldGhvZC1kaWFsb2cgKm5nSWY9XCJzaG93U2VuZE1ldGhvZERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRpdGxlXT1cIidWZXJ6ZW5kbWV0aG9kZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRTZW5kTWV0aG9kXT1cImRlZmF1bHRTZW5kTWV0aG9kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlzaWJsZU1ldGhvZHNdPVwiW3NlbmRNZXRob2RUeXBlLlByaW50LCBzZW5kTWV0aG9kVHlwZS5FbWFpbCwgc2VuZE1ldGhvZFR5cGUuUGRmXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsQWRkcmVzc2VzXT1cImVtYWlsQWRkcmVzc2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1haWxMYXlvdXRzXT1cImVtYWlsTGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ByaW50TGF5b3V0c109XCJwcmludExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0RvY1NpZ25FbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudFByaW50UmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50UGRmUmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9rQ2xpY2spPVwiaGFuZGxlU2VuZE1ldGhvZE9rQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLXNlbmQtbWV0aG9kLWRpYWxvZz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpZ2l0YWwtc2lnbmF0dXJlXHJcbiAgICAgIFtkb2N1bWVudElkXT1cInNpZ25hdHVyZURvY3VtZW50SWRcIlxyXG4gICAgICAoZG9jdW1lbnRTdG9yZWQpPVwiY29tbWl0QW5kUmVmcmVzaFRyYW5zYWN0aW9uKClcIlxyXG4gICAgPjwvY28tZGlnaXRhbC1zaWduYXR1cmU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NhbGVzUXVvdGF0aW9uQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NlbmRNZXRob2RCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBAVmlld0NoaWxkKFRyYW5zYWN0aW9uU2VuZERvY3VtZW50c0NvbXBvbmVudClcclxuICBwdWJsaWMgc2VuZERvY3VtZW50c0NvbXBvbmVudDogVHJhbnNhY3Rpb25TZW5kRG9jdW1lbnRzQ29tcG9uZW50O1xyXG5cclxuICBwdWJsaWMgY3JlYXRpbmdTYWxlc09yZGVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zYWxlcy1xdW90YXRpb25cIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudFByaW50UmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KCk7XHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50UGRmUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2VhcmNoU2VydmljZTogVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvbkNyZWF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25DcmVhdGlvblNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCBzY3JlZW5Db25maWdTZXJ2aWNlLCBzZWFyY2hTZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UsIGNoYW5nZURldGVjdG9yLCBkaWFsb2dTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudXBkYXRlVHJhbnNhY3Rpb25SZWZlcmVuY2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jaGVja1JlZlRyYW5zYWN0aW9uKCkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgZW1haWxEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5zZW5kRG9jdW1lbnRzQ29tcG9uZW50LnNlbGVjdGVkKSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0OiBFbWFpbEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgRW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QoZW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5lbWFpbEhpc3RvcmljUXVvdGF0aW9uKGVtYWlsSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KS50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZW1haWxRdW90YXRpb25SZXF1ZXN0OiBFbWFpbFF1b3RhdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IEVtYWlsUXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgY29uc3QgcmVzdWx0OiBDb0RvY3VtZW50IHwgYm9vbGVhbiA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmVtYWlsUXVvdGF0aW9uKGVtYWlsUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBDb0RvY3VtZW50KSB7XHJcbiAgICAgICAgdGhpcy5zaWduYXR1cmVEb2N1bWVudElkID0gcmVzdWx0LmRvY3VtZW50SWQ7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0KCk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdEZvclF1b3RhdGlvbih0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBnZXREZWZhdWx0U2VuZE1ldGhvZCgpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFF1b3RhdGlvbkRlZmF1bHRTZW5kTWV0aG9kKHRoaXMudHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uLnJlbGF0aW9uSWQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEVtYWlsTGF5b3V0cygpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRRdW90YXRpb25FbWFpbExheW91dHModGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0UHJpbnRMYXlvdXRzKCk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFF1b3RhdGlvblByaW50TGF5b3V0cyh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBwZGZEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KSB7XHJcbiAgICBpZiAodGhpcy5zZW5kRG9jdW1lbnRzQ29tcG9uZW50LnNlbGVjdGVkKSB7XHJcbiAgICAgIGNvbnN0IHBkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdDogUGRmSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBQZGZIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QocGRmSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KTtcclxuICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucGRmSGlzdG9yaWNRdW90YXRpb24ocGRmSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KS50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcGRmUXVvdGF0aW9uUmVxdWVzdDogUGRmUXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUGRmUXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucGRmUXVvdGF0aW9uKHBkZlF1b3RhdGlvblJlcXVlc3QpLnRoZW4oKHJlc3VsdDogQ29Eb2N1bWVudCB8IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgQ29Eb2N1bWVudCkge1xyXG4gICAgICAgICAgdGhpcy5zaWduYXR1cmVEb2N1bWVudElkID0gcmVzdWx0LmRvY3VtZW50SWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hUcmFuc2FjdGlvbnMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgcHJpbnREb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KSB7XHJcbiAgICBpZiAodGhpcy5zZW5kRG9jdW1lbnRzQ29tcG9uZW50LnNlbGVjdGVkKSB7XHJcbiAgICAgIGNvbnN0IHByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0OiBQcmludEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QocHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5wcmludEhpc3RvcmljUXVvdGF0aW9uKHByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KS50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcHJpbnRRdW90YXRpb25SZXF1ZXN0OiBQcmludFF1b3RhdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IFByaW50UXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucHJpbnRRdW90YXRpb24ocHJpbnRRdW90YXRpb25SZXF1ZXN0KS50aGVuKChyZXN1bHQ6IENvRG9jdW1lbnQgfCBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIENvRG9jdW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMuc2lnbmF0dXJlRG9jdW1lbnRJZCA9IHJlc3VsdC5kb2N1bWVudElkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUhpc3RvcmljUmVxdWVzdChyZXF1ZXN0OiBFbWFpbEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0IHwgUHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCB8IFBkZkhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTogdm9pZCB7XHJcbiAgICByZXF1ZXN0LnJlcG9ydERhdGFJZCA9IHRoaXMuc2VuZERvY3VtZW50c0NvbXBvbmVudC5hY3RpdmVSZXBvcnQucmVwb3J0SWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlU2FsZXNPcmRlcigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IENvcHlUcmFuc2FjdGlvblJlcXVlc3QgPSBuZXcgQ29weVRyYW5zYWN0aW9uUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC50cmFuc0lkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICByZXF1ZXN0LnRyYW5zYWN0aW9uRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICByZXF1ZXN0LnRyYW5zYWN0aW9uUmVsYXRpb25JZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uLnJlbGF0aW9uSWQ7XHJcbiAgICByZXF1ZXN0LmhhbmRsZWRCeVJlbGF0aW9uSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5oYW5kbGVkQnk7XHJcblxyXG4gICAgdGhpcy5jcmVhdGluZ1NhbGVzT3JkZXIgPSB0cnVlO1xyXG4gICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvbkNyZWF0aW9uU2VydmljZS5jcmVhdGVTYWxlc09yZGVyVGhyb3VnaFF1b3RhdGlvbihyZXF1ZXN0KTtcclxuICAgIHRoaXMuY3JlYXRpbmdTYWxlc09yZGVyID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2FsZXNPcmRlck5hdmlnYXRpb24odHJhbnNOcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTmF2aWdhdGlvbi5uZXh0KHRyYW5zTnIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEN1cnJlbnRSZWZUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25SZWZUcmFuc2FjdGlvbltdIHtcclxuICAgIGNvbnN0IHJlZlRyYW5zYWN0aW9uTnJzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcclxuICAgIGNvbnN0IHJlZlRyYW5zYWN0aW9uc0xpc3Q6IFRyYW5zYWN0aW9uUmVmVHJhbnNhY3Rpb25bXSA9IFtdO1xyXG5cclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzLmZvckVhY2goKGxpbmUpID0+IHtcclxuICAgICAgbGluZS5yZWZUcmFuc2FjdGlvbnM/LmZvckVhY2goKHJlZikgPT4ge1xyXG4gICAgICAgIGlmICghcmVmVHJhbnNhY3Rpb25OcnMuaGFzKHJlZi5yZWZUcmFuc2FjdGlvbk5yKSkge1xyXG4gICAgICAgICAgcmVmVHJhbnNhY3Rpb25OcnMuYWRkKHJlZi5yZWZUcmFuc2FjdGlvbk5yKTtcclxuICAgICAgICAgIHJlZlRyYW5zYWN0aW9uc0xpc3QucHVzaChyZWYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcmVmVHJhbnNhY3Rpb25zTGlzdDtcclxuICB9XHJcbn1cclxuIl19
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3MvdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvbi90cmFuc2FjdGlvbi1xdWljay1hY2Nlc3Mtc2FsZXMtcXVvdGF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQXFCLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUMsNkNBQTZDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUNySCxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSw4RUFBOEUsQ0FBQztBQUN0SSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQztBQUdsSCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUVyRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDeEgsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFHbkcsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sdUVBQXVFLENBQUM7QUFDcEgsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDbkcsT0FBTyxF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ekIsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUF4QmxCLGlCQUFpQjtZQTRCakIsYUFBYTtZQUhiLDBCQUEwQjs7O3FDQTBEL0IsU0FBUyxTQUFDLGlDQUFpQzt3QkFPM0MsV0FBVyxTQUFDLG1EQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblF1aWNrQWNjZXNzU2VuZE1ldGhvZEJhc2VDb21wb25lbnR9IGZyb20gJy4uL3RyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zZW5kLW1ldGhvZC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXByaW50LXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LWVtYWlsLXNpZ24tZG9jLWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LXBkZi1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvblByaW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQtbGF5b3V0LXNlbGVjdGlvbi1wcmludC5ibyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuaW1wb3J0IHtDb3B5VHJhbnNhY3Rpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY29weS10cmFuc2FjdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtFbWFpbEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZW1haWwtaGlzdG9yaWMtb3JkZXItY29uZmlybWF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlbmREb2N1bWVudHNDb21wb25lbnR9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzL3RyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9lbWFpbC1oaXN0b3JpYy1xdW90YXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7RW1haWxRdW90YXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZW1haWwtcXVvdGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1ByaW50SGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wcmludC1oaXN0b3JpYy1vcmRlci1jb25maXJtYXRpb24tcmVxdWVzdCc7XHJcbmltcG9ydCB7UGRmSGlzdG9yaWNPcmRlckNvbmZpcm1hdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wZGYtaGlzdG9yaWMtb3JkZXItY29uZmlybWF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1ByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJpbnQtaGlzdG9yaWMtcXVvdGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1ByaW50UXVvdGF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3ByaW50LXF1b3RhdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtQZGZRdW90YXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGRmLXF1b3RhdGlvbi1yZXF1ZXN0JztcclxuaW1wb3J0IHtQZGZIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wZGYtaGlzdG9yaWMtcXVvdGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ3JlYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWNyZWF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVmVHJhbnNhY3Rpb259IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1saW5lLWluZm8uYm8nO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdHJhbnNhY3Rpb24tc2VhcmNoL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2VhcmNoLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tcXVpY2stYWNjZXNzLXNhbGVzLXF1b3RhdGlvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicXVpY2stYWNjZXNzLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICA8Y28tcXVpY2stc2VuZC1idXR0b25cclxuICAgICAgICBbZGVmYXVsdE1ldGhvZEljb25dPVwiZGVmYXVsdFNlbmRNZXRob2RJY29uXCJcclxuICAgICAgICBbc2hvd0xvYWRlcl09XCJzaG93TG9hZGVyXCJcclxuICAgICAgICAoc2VuZEljb25DbGlja2VkKT1cImhhbmRsZVNlbmQoZGVmYXVsdFNlbmRNZXRob2QpXCJcclxuICAgICAgICAob3BlblNlbmRNZXRob2REaWFsb2cpPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSB0cnVlXCJcclxuICAgICAgPjwvY28tcXVpY2stc2VuZC1idXR0b24+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1zZW5kLWRvY3VtZW50c1xyXG4gICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnldPVwidHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuU2FsZXNPcmRlclF1b3RhdGlvblwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLXNlbmQtZG9jdW1lbnRzPlxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tYnV0dG9uXHJcbiAgICAgICAgW2xhYmVsXT1cIidTQUxFU19PUkRFUicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DYXJ0U2hvcHBpbmdSZWd1bGFyKVwiXHJcbiAgICAgICAgKGNsaWNrKT1cImNyZWF0ZVNhbGVzT3JkZXIoKVwiXHJcbiAgICAgICAgY2xhc3M9XCJzYWxlcy1xdW90ZS1idG4gY3VzdG9tLXdpZHRoXCJcclxuICAgICAgPjwvY28tdHJhbnNhY3Rpb24tYnV0dG9uPlxyXG4gICAgIDxjby10cmFuc2FjdGlvbi1uYXZpZ2F0aW9uLWJ1dHRvbi1saXN0XHJcbiAgICAgICAgW3JlZlRyYW5zYWN0aW9uc109XCJnZXRDdXJyZW50UmVmVHJhbnNhY3Rpb25zKClcIlxyXG4gICAgICAgIFtzaG93UmVsYXRpb25CdXR0b25dPVwiZmFsc2VcIlxyXG4gICAgICAgIFtlbXB0eUxhYmVsXT1cIidOT19TQUxFU19RVU9URV9PUkRFUicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKHRyYW5zYWN0aW9uQ2xpY2spPVwiaGFuZGxlU2FsZXNPcmRlck5hdmlnYXRpb24oJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLXRyYW5zYWN0aW9uLW5hdmlnYXRpb24tYnV0dG9uLWxpc3Q+XHJcbiAgICAgIDxjby1zZW5kLW1ldGhvZC1kaWFsb2cgKm5nSWY9XCJzaG93U2VuZE1ldGhvZERpYWxvZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hlYWRlclRpdGxlXT1cIidWZXJ6ZW5kbWV0aG9kZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwcmludGVyTGlzdF09XCJwcmludGVyTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRTZW5kTWV0aG9kXT1cImRlZmF1bHRTZW5kTWV0aG9kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlzaWJsZU1ldGhvZHNdPVwiW3NlbmRNZXRob2RUeXBlLlByaW50LCBzZW5kTWV0aG9kVHlwZS5FbWFpbCwgc2VuZE1ldGhvZFR5cGUuUGRmXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VtYWlsQWRkcmVzc2VzXT1cImVtYWlsQWRkcmVzc2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW1haWxMYXlvdXRzXT1cImVtYWlsTGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ByaW50TGF5b3V0c109XCJwcmludExheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpc0RvY1NpZ25FbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50RW1haWxSZXF1ZXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0KV09XCJyZXBvcnREb2N1bWVudFByaW50UmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhyZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3QpXT1cInJlcG9ydERvY3VtZW50UGRmUmVxdWVzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlQ2xpY2spPVwic2hvd1NlbmRNZXRob2REaWFsb2cgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9rQ2xpY2spPVwiaGFuZGxlU2VuZE1ldGhvZE9rQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLXNlbmQtbWV0aG9kLWRpYWxvZz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpZ2l0YWwtc2lnbmF0dXJlXHJcbiAgICAgIFtkb2N1bWVudElkXT1cInNpZ25hdHVyZURvY3VtZW50SWRcIlxyXG4gICAgICAoZG9jdW1lbnRTdG9yZWQpPVwiY29tbWl0QW5kUmVmcmVzaFRyYW5zYWN0aW9uKClcIlxyXG4gICAgPjwvY28tZGlnaXRhbC1zaWduYXR1cmU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NhbGVzUXVvdGF0aW9uQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25RdWlja0FjY2Vzc1NlbmRNZXRob2RCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBAVmlld0NoaWxkKFRyYW5zYWN0aW9uU2VuZERvY3VtZW50c0NvbXBvbmVudClcclxuICBwdWJsaWMgc2VuZERvY3VtZW50c0NvbXBvbmVudDogVHJhbnNhY3Rpb25TZW5kRG9jdW1lbnRzQ29tcG9uZW50O1xyXG5cclxuICBwdWJsaWMgY3JlYXRpbmdTYWxlc09yZGVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXF1aWNrLWFjY2Vzcy1zYWxlcy1xdW90YXRpb25cIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVwb3J0RG9jdW1lbnRFbWFpbFJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3QgPSBuZXcgUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCgpO1xyXG4gIHB1YmxpYyByZXBvcnREb2N1bWVudFByaW50UmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KCk7XHJcbiAgcHVibGljIHJlcG9ydERvY3VtZW50UGRmUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCA9IG5ldyBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2VhcmNoU2VydmljZTogVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvbkNyZWF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25DcmVhdGlvblNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLCBpY29uQ2FjaGVTZXJ2aWNlLCBzY3JlZW5Db25maWdTZXJ2aWNlLCBzZWFyY2hTZXJ2aWNlLCBpbWFnZVNlcnZpY2UsIGRpY3Rpb25hcnlTZXJ2aWNlLCB0cmFuc2FjdGlvblNlcnZpY2UsIGNoYW5nZURldGVjdG9yLCBkaWFsb2dTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudXBkYXRlVHJhbnNhY3Rpb25SZWZlcmVuY2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5jaGVja1JlZlRyYW5zYWN0aW9uKCkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgZW1haWxEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5zZW5kRG9jdW1lbnRzQ29tcG9uZW50LnNlbGVjdGVkKSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0OiBFbWFpbEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgRW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QoZW1haWxIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5lbWFpbEhpc3RvcmljUXVvdGF0aW9uKGVtYWlsSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KS50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZW1haWxRdW90YXRpb25SZXF1ZXN0OiBFbWFpbFF1b3RhdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IEVtYWlsUXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgY29uc3QgcmVzdWx0OiBDb0RvY3VtZW50IHwgYm9vbGVhbiA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmVtYWlsUXVvdGF0aW9uKGVtYWlsUXVvdGF0aW9uUmVxdWVzdCk7XHJcbiAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBDb0RvY3VtZW50KSB7XHJcbiAgICAgICAgdGhpcy5zaWduYXR1cmVEb2N1bWVudElkID0gcmVzdWx0LmRvY3VtZW50SWQ7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0KCk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdEZvclF1b3RhdGlvbih0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBnZXREZWZhdWx0U2VuZE1ldGhvZCgpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFF1b3RhdGlvbkRlZmF1bHRTZW5kTWV0aG9kKHRoaXMudHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uLnJlbGF0aW9uSWQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEVtYWlsTGF5b3V0cygpOiBQcm9taXNlPFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRRdW90YXRpb25FbWFpbExheW91dHModGhpcy50cmFuc2FjdGlvbkluZm8udXVpZCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0UHJpbnRMYXlvdXRzKCk6IFByb21pc2U8UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFF1b3RhdGlvblByaW50TGF5b3V0cyh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3luYyBwZGZEb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0KSB7XHJcbiAgICBpZiAodGhpcy5zZW5kRG9jdW1lbnRzQ29tcG9uZW50LnNlbGVjdGVkKSB7XHJcbiAgICAgIGNvbnN0IHBkZkhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdDogUGRmSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0ID1cclxuICAgICAgICBPYmplY3QuYXNzaWduKG5ldyBQZGZIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QocGRmSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KTtcclxuICAgICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucGRmSGlzdG9yaWNRdW90YXRpb24ocGRmSGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KS50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcGRmUXVvdGF0aW9uUmVxdWVzdDogUGRmUXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUGRmUXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucGRmUXVvdGF0aW9uKHBkZlF1b3RhdGlvblJlcXVlc3QpLnRoZW4oKHJlc3VsdDogQ29Eb2N1bWVudCB8IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgQ29Eb2N1bWVudCkge1xyXG4gICAgICAgICAgdGhpcy5zaWduYXR1cmVEb2N1bWVudElkID0gcmVzdWx0LmRvY3VtZW50SWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hUcmFuc2FjdGlvbnMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgcHJpbnREb2N1bWVudChyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KSB7XHJcbiAgICBpZiAodGhpcy5zZW5kRG9jdW1lbnRzQ29tcG9uZW50LnNlbGVjdGVkKSB7XHJcbiAgICAgIGNvbnN0IHByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0OiBQcmludEhpc3RvcmljUXVvdGF0aW9uUmVxdWVzdCA9XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihuZXcgUHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QoKSwgcmVxdWVzdCk7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVIaXN0b3JpY1JlcXVlc3QocHJpbnRIaXN0b3JpY1F1b3RhdGlvblJlcXVlc3QpO1xyXG4gICAgICBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5wcmludEhpc3RvcmljUXVvdGF0aW9uKHByaW50SGlzdG9yaWNRdW90YXRpb25SZXF1ZXN0KS50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcHJpbnRRdW90YXRpb25SZXF1ZXN0OiBQcmludFF1b3RhdGlvblJlcXVlc3QgPVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24obmV3IFByaW50UXVvdGF0aW9uUmVxdWVzdCgpLCByZXF1ZXN0KTtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UucHJpbnRRdW90YXRpb24ocHJpbnRRdW90YXRpb25SZXF1ZXN0KS50aGVuKChyZXN1bHQ6IENvRG9jdW1lbnQgfCBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIENvRG9jdW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMuc2lnbmF0dXJlRG9jdW1lbnRJZCA9IHJlc3VsdC5kb2N1bWVudElkO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUhpc3RvcmljUmVxdWVzdChyZXF1ZXN0OiBFbWFpbEhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0IHwgUHJpbnRIaXN0b3JpY09yZGVyQ29uZmlybWF0aW9uUmVxdWVzdCB8IFBkZkhpc3RvcmljT3JkZXJDb25maXJtYXRpb25SZXF1ZXN0KTogdm9pZCB7XHJcbiAgICByZXF1ZXN0LnJlcG9ydERhdGFJZCA9IHRoaXMuc2VuZERvY3VtZW50c0NvbXBvbmVudC5hY3RpdmVSZXBvcnQucmVwb3J0SWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlU2FsZXNPcmRlcigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IENvcHlUcmFuc2FjdGlvblJlcXVlc3QgPSBuZXcgQ29weVRyYW5zYWN0aW9uUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC50cmFuc0lkID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICByZXF1ZXN0LnRyYW5zYWN0aW9uRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICByZXF1ZXN0LnRyYW5zYWN0aW9uUmVsYXRpb25JZCA9IHRoaXMudHJhbnNhY3Rpb25JbmZvLnJlbGF0aW9uLnJlbGF0aW9uSWQ7XHJcbiAgICByZXF1ZXN0LmhhbmRsZWRCeVJlbGF0aW9uSWQgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5oYW5kbGVkQnk7XHJcblxyXG4gICAgdGhpcy5jcmVhdGluZ1NhbGVzT3JkZXIgPSB0cnVlO1xyXG4gICAgLy9jb25zdCBzYWxlc09yZGVyQ3JlYXRlZDogYm9vbGVhbiA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25DcmVhdGlvblNlcnZpY2UuY3JlYXRlU2FsZXNPcmRlclRocm91Z2hRdW90YXRpb24ocmVxdWVzdCk7XHJcbiAgICB0aGlzLmNyZWF0aW5nU2FsZXNPcmRlciA9IGZhbHNlO1xyXG4gICAgLyppZiAoc2FsZXNPcmRlckNyZWF0ZWQpIHtcclxuXHJcbiAgICB9Ki9cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTYWxlc09yZGVyTmF2aWdhdGlvbih0cmFuc05yOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25OYXZpZ2F0aW9uLm5leHQodHJhbnNOcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q3VycmVudFJlZlRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvblJlZlRyYW5zYWN0aW9uW10ge1xyXG4gICAgY29uc3QgcmVmVHJhbnNhY3Rpb25OcnM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xyXG4gICAgY29uc3QgcmVmVHJhbnNhY3Rpb25zTGlzdDogVHJhbnNhY3Rpb25SZWZUcmFuc2FjdGlvbltdID0gW107XHJcblxyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uTGluZXMuZm9yRWFjaCgobGluZSkgPT4ge1xyXG4gICAgICBsaW5lLnJlZlRyYW5zYWN0aW9ucz8uZm9yRWFjaCgocmVmKSA9PiB7XHJcbiAgICAgICAgaWYgKCFyZWZUcmFuc2FjdGlvbk5ycy5oYXMocmVmLnJlZlRyYW5zYWN0aW9uTnIpKSB7XHJcbiAgICAgICAgICByZWZUcmFuc2FjdGlvbk5ycy5hZGQocmVmLnJlZlRyYW5zYWN0aW9uTnIpO1xyXG4gICAgICAgICAgcmVmVHJhbnNhY3Rpb25zTGlzdC5wdXNoKHJlZik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiByZWZUcmFuc2FjdGlvbnNMaXN0O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -23,5 +23,6 @@ export var SearchPlaceholder;
|
|
|
23
23
|
SearchPlaceholder["Tags"] = "SEARCH_TAGS";
|
|
24
24
|
SearchPlaceholder["TurnoverGroup"] = "SEARCH_TURNOVER_GROUP";
|
|
25
25
|
SearchPlaceholder["Warehouse"] = "SEARCH_WAREHOUSE";
|
|
26
|
+
SearchPlaceholder["SearchProjectCode"] = "SEARCH_PROJECT_CODE";
|
|
26
27
|
})(SearchPlaceholder || (SearchPlaceholder = {}));
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXBsYWNlaG9sZGVyLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQvZW51bS9zZWFyY2gtcGxhY2Vob2xkZXIuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkF5Qlg7QUF6QkQsV0FBWSxpQkFBaUI7SUFDM0Isb0RBQStCLENBQUE7SUFDL0Isd0RBQW1DLENBQUE7SUFDbkMsNkNBQXdCLENBQUE7SUFDeEIsOERBQXlDLENBQUE7SUFDekMsbURBQThCLENBQUE7SUFDOUIsNERBQXVDLENBQUE7SUFDdkMsMERBQXFDLENBQUE7SUFDckMsbURBQThCLENBQUE7SUFDOUIsOERBQXlDLENBQUE7SUFDekMsOERBQXlDLENBQUE7SUFDekMsaURBQTRCLENBQUE7SUFDNUIsd0RBQW1DLENBQUE7SUFDbkMsNkNBQXdCLENBQUE7SUFDeEIsMERBQXFDLENBQUE7SUFDckMsNkRBQXdDLENBQUE7SUFDeEMsNkRBQXdDLENBQUE7SUFDeEMsdURBQWtDLENBQUE7SUFDbEMsMERBQXFDLENBQUE7SUFDckMsZ0VBQTJDLENBQUE7SUFDM0MsaURBQTRCLENBQUE7SUFDNUIseUNBQW9CLENBQUE7SUFDcEIsNERBQXVDLENBQUE7SUFDdkMsbURBQThCLENBQUE7SUFDOUIsOERBQXlDLENBQUE7QUFDM0MsQ0FBQyxFQXpCVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBeUI1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNlYXJjaFBsYWNlaG9sZGVyIHtcclxuICBBcnRpY2xlTnIgPSBcIlNFQVJDSF9BUlRJQ0xFX05SXCIsXHJcbiAgQmF0Y2hOdW1iZXIgPSBcIlNFQVJDSF9CQVRDSF9OVU1CRVJcIixcclxuICBCcmFuY2ggPSBcIlNFQVJDSF9CUkFOQ0hcIixcclxuICBDb21taXNzaW9uQ29kZSA9IFwiU0VBUkNIX0NPTU1JU1NJT05fQ09ERVwiLFxyXG4gIENvbmZpcm1lZCA9IFwiU0VBUkNIX0NPTkZJUk1FRFwiLFxyXG4gIEN1c3RvbWVyR3JvdXAgPSBcIlNFQVJDSF9DVVNUT01FUl9HUk9VUFwiLFxyXG4gIEN1c3RvbWVyTmFtZSA9IFwiU0VBUkNIX0NVU1RPTUVSX05BTUVcIixcclxuICBEZWxpdmVyZWQgPSBcIlNFQVJDSF9ERUxJVkVSRURcIixcclxuICBEZWxpdmVyeU1ldGhvZCA9IFwiU0VBUkNIX0RFTElWRVJZX01FVEhPRFwiLFxyXG4gIEV4Y2VlZGVuY2VDb2RlID0gXCJTRUFSQ0hfRVhDRUVERU5DRV9DT0RFXCIsXHJcbiAgSW52b2ljZWQgPSBcIlNFQVJDSF9JTlZPSUNFRFwiLFxyXG4gIE1haW5BcnRpY2xlID0gXCJTRUFSQ0hfTUFJTl9BUlRJQ0xFXCIsXHJcbiAgT25Ib2xkID0gXCJTRUFSQ0hfT05IT0xEXCIsXHJcbiAgT3duUmVmZXJlbmNlID0gXCJTRUFSQ0hfT1dOX1JFRkVSRU5DRVwiLFxyXG4gIFB1cmNoYXNlTnVtYmVyID0gXCJTRUFSQ0hfUFVSQ0hBU0VOVU1CRVJcIixcclxuICBQdXJjaGFzZVBlcnNvbiA9IFwiU0VBUkNIX1BVUkNIQVNFUEVSU09OXCIsXHJcbiAgU2FsZXNQZXJzb24gPSBcIlNFQVJDSF9TQUxFU1BFUlNPTlwiLFxyXG4gIFNlcmlhbE51bWJlciA9IFwiU0VBUkNIX1NFUklBTF9OVU1CRVJcIixcclxuICBTb3VyY2VXYXJlaG91c2UgPSBcIlNFQVJDSF9TT1VSQ0VfV0FSRUhPVVNFXCIsXHJcbiAgU3VwcGxpZXIgPSBcIlNFQVJDSF9TVVBQTElFUlwiLFxyXG4gIFRhZ3MgPSBcIlNFQVJDSF9UQUdTXCIsXHJcbiAgVHVybm92ZXJHcm91cCA9IFwiU0VBUkNIX1RVUk5PVkVSX0dST1VQXCIsXHJcbiAgV2FyZWhvdXNlID0gXCJTRUFSQ0hfV0FSRUhPVVNFXCIsXHJcbiAgU2VhcmNoUHJvamVjdENvZGUgPSBcIlNFQVJDSF9QUk9KRUNUX0NPREVcIlxyXG59XHJcbiJdfQ==
|
|
@@ -18,6 +18,7 @@ export class TransactionPurchaseOrderFilterContentOrderComponent extends Transac
|
|
|
18
18
|
this.orderDepositFullyPaidFields = { text: "description", value: "code" };
|
|
19
19
|
this.commissionCodeFields = { text: "description", value: "code" };
|
|
20
20
|
this.workflowStatusFields = { text: "name", value: "name" };
|
|
21
|
+
this.projectCodeFields = { text: "description", value: "id" };
|
|
21
22
|
}
|
|
22
23
|
showClass() {
|
|
23
24
|
return true;
|
|
@@ -33,6 +34,7 @@ export class TransactionPurchaseOrderFilterContentOrderComponent extends Transac
|
|
|
33
34
|
this._setOrderFullyPaid();
|
|
34
35
|
this._setOrderDepositFullyPaid();
|
|
35
36
|
this._setWorkFlowStatuses();
|
|
37
|
+
this._setAllProjectCodes();
|
|
36
38
|
}
|
|
37
39
|
//Inkoper
|
|
38
40
|
_setPurchasePersons() {
|
|
@@ -91,6 +93,11 @@ export class TransactionPurchaseOrderFilterContentOrderComponent extends Transac
|
|
|
91
93
|
this.workflowStatuses = new FilterViewmodel(workflowStatuses, this.workflowStatusFields).filterItems;
|
|
92
94
|
});
|
|
93
95
|
}
|
|
96
|
+
_setAllProjectCodes() {
|
|
97
|
+
this.transactionService.getAllProjectCodes().then((projectCodes) => {
|
|
98
|
+
this.projectCodes = new FilterViewmodel(projectCodes, this.projectCodeFields).filterItems;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
94
101
|
}
|
|
95
102
|
TransactionPurchaseOrderFilterContentOrderComponent.decorators = [
|
|
96
103
|
{ type: Component, args: [{
|
|
@@ -166,6 +173,18 @@ TransactionPurchaseOrderFilterContentOrderComponent.decorators = [
|
|
|
166
173
|
</co-transaction-filter-item>
|
|
167
174
|
</div>
|
|
168
175
|
|
|
176
|
+
<!--Project Code-->
|
|
177
|
+
<div class="filter-item-wrapper">
|
|
178
|
+
<co-transaction-filter-item [placeholder]="'PROJECT_CODE'"
|
|
179
|
+
[searchCollectionPlaceholder]="searchPlaceholder.SearchProjectCode"
|
|
180
|
+
[(model)]="searchService.searchRequest.projectCode"
|
|
181
|
+
[mode]="modes.SingleSelectList"
|
|
182
|
+
[minSearchCharsToLoadCollection]="3"
|
|
183
|
+
[collection]="projectCodes"
|
|
184
|
+
>
|
|
185
|
+
</co-transaction-filter-item>
|
|
186
|
+
</div>
|
|
187
|
+
|
|
169
188
|
<!--Tags-->
|
|
170
189
|
<div class="filter-item-wrapper">
|
|
171
190
|
<co-transaction-filter-item [placeholder]="'TAGS'"
|
|
@@ -247,4 +266,4 @@ TransactionPurchaseOrderFilterContentOrderComponent.decorators = [
|
|
|
247
266
|
TransactionPurchaseOrderFilterContentOrderComponent.propDecorators = {
|
|
248
267
|
showClass: [{ type: HostBinding, args: ["class.co-transaction-search-filter-content",] }]
|
|
249
268
|
};
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtb3JkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50L3B1cmNoYXNlLW9yZGVyLWZpbHRlci1jb250ZW50L3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWZpbHRlci1jb250ZW50LW9yZGVyL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWZpbHRlci1jb250ZW50LW9yZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUMsY0FBYyxFQUF1QixlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRyxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUl0SCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDbkYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBRWpGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQTBKMUYsTUFBTSxPQUFPLG1EQUFvRCxTQUFRLHFDQUFxQztJQXRKOUc7O1FBdUprQixVQUFLLEdBQTBCLGNBQWMsQ0FBQztRQU92RCwwQkFBcUIsR0FBb0IsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUc3RSxlQUFVLEdBQW9CLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUM7UUFHekUsaUJBQVksR0FBb0IsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUcxRSxxQkFBZ0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUcvRSx3QkFBbUIsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUc1RSw0QkFBdUIsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUMsQ0FBQztRQUdyRix5QkFBb0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUc3RSxnQ0FBMkIsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUdwRix5QkFBb0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUc3RSx5QkFBb0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQztJQXVGL0UsQ0FBQztJQXZIUSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBcUNTLGVBQWU7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtRQUM1QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUE7UUFDaEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELFNBQVM7SUFDRCxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQXNCLEVBQUUsRUFBRTtZQUN4RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDOUYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztJQUNDLFFBQVE7UUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVcsRUFBRSxFQUFFO1lBQ3RELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDckUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVTtJQUNGLFlBQVk7UUFDbEIsTUFBTSxPQUFPLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUM7UUFDdkQsT0FBTyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQzNDLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBOEIsRUFBRSxFQUFFO1lBQzNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDL0UsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ08scUJBQXFCO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLElBQUksQ0FBRSxDQUFDLFVBQThCLEVBQUUsRUFBRTtZQUN0RixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNyRyxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxhQUFhO0lBQ0wsZUFBZTtRQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBeUIsRUFBRSxFQUFFO1lBQzFFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUN6RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUI7SUFDVCxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGVBQWdDLEVBQUUsRUFBRTtZQUN6RixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDckcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBOEIsRUFBRSxFQUFFO1lBQzdFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNoRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUErQixFQUFFLEVBQUU7WUFDOUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ25HLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHlCQUF5QjtRQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLHFCQUFzQyxFQUFFLEVBQUU7WUFDckYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksZUFBZSxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUN4SCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFJTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBa0MsRUFBRSxFQUFFO1lBQ3JILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDdkcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUEvUUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvREFBb0Q7Z0JBQzlELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrSlQ7YUFDRjs7O3dCQUdFLFdBQVcsU0FBQyw0Q0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmd9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge09uSG9sZENvZGV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vbi1ob2xkLWNvZGUuYm8nO1xyXG5pbXBvcnQge0ZpbHRlckl0ZW1Nb2RlLCBGaWx0ZXJJdGVtVmlld21vZGVsLCBGaWx0ZXJWaWV3bW9kZWx9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U2FsZXNQZXJzb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9zYWxlcy1wZXJzb24uYm8nO1xyXG5pbXBvcnQge1RhZ30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFnJztcclxuaW1wb3J0IHtDb0RvbWFpblZhbHVlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb21haW4tdmFsdWUuYm8nO1xyXG5pbXBvcnQge1JlbGF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1JlbGF0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24ta2luZC5lbnVtJztcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge1dvcmtGbG93U3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvd29ya2Zsb3ctc3RhdHVzLmJvJztcclxuaW1wb3J0IHtQYXltZW50Q29uZGl0aW9ufSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1jb25kaXRpb24uYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtb3JkZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1vcmRlci13cmFwcGVyIHRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LXdyYXBwZXJcIj5cclxuXHJcbiAgICAgICAgICA8IS0tSW5rb29wbnVtbWVyLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1BVUkNIQVNFTlVNQkVSJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC50cmFuc05yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuVGV4dEZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS1PcmRlcmRhdHVtLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RBVEUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnJhbmdlVHJhbnNEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRGF0ZVJhbmdlRmllbGRcIj5cclxuICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLUxldmVyZGF0dW0tLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInREVMSVZFUllfREFURSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QuZGVsaXZlcnlEYXRlUmFuZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5EYXRlUmFuZ2VGaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1dPUktGTE9XX1NUQVRVUydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cIndvcmtmbG93U3RhdHVzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5yYW5nZVdvcmtmbG93U3RhdHVzTmFtZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIj5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLUZpbGlhYWwtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInQlJBTkNIJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImJyYW5jaGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnJhbmdlQnJhbmNoSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5GaWx0ZXJsaXN0XCI+XHJcbiAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tQmV0YWFsY29uZGl0aWUtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInUEFZTUVOVF9DT05ESVRJT04nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJwYXltZW50Q29uZGl0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnJhbmdlUGF5bWVudENvbmRpdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tSW5rb3Blci0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidQVVJDSEFTRV9QRVJTT04nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaENvbGxlY3Rpb25QbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5QdXJjaGFzZVBlcnNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInB1cmNoYXNlUGVyc29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5yYW5nZUhhbmRsZWRCeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIj5cclxuICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLUVpZ2VuIHJlZmVyZW50aWUtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInT1dOX1JFRkVSRU5DRSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3Qub3duUmVmZXJlbmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuVGV4dEZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS1UYWdzLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1RBR1MnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaENvbGxlY3Rpb25QbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5UYWdzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwidGFnc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC50YWdSYW5nZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIj5cclxuICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLU9uIGhvbGQgY29kZXMtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInT05fSE9MRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLk9uSG9sZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cIm9uSG9sZENvZGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnJhbmdlT25Ib2xkQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5GaWx0ZXJsaXN0XCI+XHJcbiAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS1Db21taXNzaWVjb2RlLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0NPTU1JU1NJT05fQ09ERSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLkNvbW1pc3Npb25Db2RlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiY29tbWlzc2lvbkNvZGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LmNvbW1pc3Npb25Db2Rlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLlNlbGVjdExpc3RXaXRoU3RyaW5nQ29sbGVjdGlvbk91dHB1dFwiPlxyXG4gICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tT3JkZXIgZGVmaW5pdGllZi0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInT1JERVJfREVGSU5JVElWRSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwib3JkZXJEZWZpbml0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QudHJhbnNhY3Rpb25EZWZpbml0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIj5cclxuICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICA8IS0tT3JkZXIgZnVsbHkgcGFpZCAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0ZVTExZX1BBSUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cIm9yZGVyRnVsbHlQYWlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5mdWxseVBhaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiPlxyXG4gICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgIDwhLS1PcmRlciBkZXBvc2l0IGZ1bGx5IHBhaWQgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidPUkRFUl9ERVBPU0lUX0ZVTExZX1BBSUQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cIm9yZGVyRGVwb3NpdEZ1bGx5UGFpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QuZGVwb3NpdEZ1bGx5UGFpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5GaWx0ZXJsaXN0XCI+XHJcbiAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tSW5hY3RpZXZlIHRyYW5zYWN0aWVzLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ0lOQUNUSVZFX1RSQU5TQUNUSU9OUydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QuYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuQ2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLUluY2x1c2llZiByZXRvdXJlbiAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInSU5DTFVESU5HX1JFVFVSTlMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LmluY2x1ZGluZ1JldHVybnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5DaGVja2JveFRvQmluYXJ5XCI+XHJcbiAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICBgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblB1cmNoYXNlT3JkZXJGaWx0ZXJDb250ZW50T3JkZXJDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkZpbHRlckNvbnRlbnRCYXNlQ29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgbW9kZXM6IHR5cGVvZiBGaWx0ZXJJdGVtTW9kZSA9IEZpbHRlckl0ZW1Nb2RlO1xyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXNlYXJjaC1maWx0ZXItY29udGVudFwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwdXJjaGFzZVBlcnNvbnM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgcHVyY2hhc2VQZXJzb25zRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJuYW1lXCIsIHZhbHVlOiBcInJlbGF0aW9uSWRcIn07XHJcblxyXG4gIHB1YmxpYyB0YWdzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHRhZ3NGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcInRhZ1ZhbHVlSWRcIn07XHJcblxyXG4gIHB1YmxpYyBicmFuY2hlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBicmFuY2hGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImZhbWlseU5hbWVcIiwgdmFsdWU6IFwicmVsYXRpb25JZFwifTtcclxuXHJcbiAgcHVibGljIG9uSG9sZENvZGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIG9uSG9sZENvZGVGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcIm9uSG9sZENvZGVcIn07XHJcblxyXG4gIHB1YmxpYyBvcmRlckRlZmluaXRlOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIG9yZGVyRGVmaW5pdGVGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XHJcblxyXG4gIHB1YmxpYyBwYXltZW50Q29uZGl0aW9uczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBwYXltZW50Q29uZGl0aW9uc0ZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29uZGl0aW9uXCJ9O1xyXG5cclxuICBwdWJsaWMgb3JkZXJGdWxseVBhaWQ6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgb3JkZXJGdWxseVBhaWRGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XHJcblxyXG4gIHB1YmxpYyBvcmRlckRlcG9zaXRGdWxseVBhaWQ6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgb3JkZXJEZXBvc2l0RnVsbHlQYWlkRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgY29tbWlzc2lvbkNvZGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGNvbW1pc3Npb25Db2RlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgd29ya2Zsb3dTdGF0dXNlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyB3b3JrZmxvd1N0YXR1c0ZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwibmFtZVwiLCB2YWx1ZTogXCJuYW1lXCJ9O1xyXG5cclxuICBwdWJsaWMgdHJhbnNTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIHRyYW5zRW5kRGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgZGVsaXZlcnlTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGRlbGl2ZXJ5RW5kRGF0ZTogRGF0ZTtcclxuXHJcbiAgcHJvdGVjdGVkIGxvYWRDb2xsZWN0aW9ucygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldFB1cmNoYXNlUGVyc29ucygpO1xyXG4gICAgdGhpcy5fc2V0VGFncygpO1xyXG4gICAgdGhpcy5fc2V0QnJhbmNoZXMoKTtcclxuICAgIHRoaXMuX3NldFBheW1lbnRDb25kaXRpb25zKClcclxuICAgIHRoaXMuX3NldE9uSG9sZENvZGVzKCk7XHJcbiAgICB0aGlzLl9zZXRDb21taXNzaW9uQ29kZXMoKTtcclxuICAgIHRoaXMuX3NldE9yZGVyRGVmaW5pdGl2ZSgpO1xyXG4gICAgdGhpcy5fc2V0T3JkZXJGdWxseVBhaWQoKTtcclxuICAgIHRoaXMuX3NldE9yZGVyRGVwb3NpdEZ1bGx5UGFpZCgpXHJcbiAgICB0aGlzLl9zZXRXb3JrRmxvd1N0YXR1c2VzKCk7XHJcbiAgfVxyXG5cclxuICAvL0lua29wZXJcclxuICBwcml2YXRlIF9zZXRQdXJjaGFzZVBlcnNvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRTYWxlc1BlcnNvbnMoKS50aGVuKChwZXJzb25zOiBTYWxlc1BlcnNvbltdKSA9PiB7XHJcbiAgICAgIHRoaXMucHVyY2hhc2VQZXJzb25zID0gbmV3IEZpbHRlclZpZXdtb2RlbChwZXJzb25zLCB0aGlzLnB1cmNoYXNlUGVyc29uc0ZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIFRhZ3NcclxuICBwcml2YXRlIF9zZXRUYWdzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0VGFncygxKS50aGVuKCh0YWdzOiBUYWdbXSkgPT4ge1xyXG4gICAgICB0aGlzLnRhZ3MgPSBuZXcgRmlsdGVyVmlld21vZGVsKHRhZ3MsIHRoaXMudGFnc0ZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vQnJhbmNoZXNcclxuICBwcml2YXRlIF9zZXRCcmFuY2hlcygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlcXVlc3Q6IFJlbGF0aW9uUmVxdWVzdCA9IG5ldyBSZWxhdGlvblJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QucmVsYXRpb25UeXBlID0gUmVsYXRpb25LaW5kLkJyYW5jaDtcclxuICAgIHRoaXMucmVsYXRpb25TZXJ2aWNlLmdldFJlbGF0aW9uTGlzdE9iamVjdHMocmVxdWVzdCkudGhlbigoYnJhbmNoZXM6IFJlbGF0aW9uTGlzdE9iamVjdFtdKSA9PiB7XHJcbiAgICAgIHRoaXMuYnJhbmNoZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGJyYW5jaGVzLCB0aGlzLmJyYW5jaEZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2V0UGF5bWVudENvbmRpdGlvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQYXltZW50Q29uZGl0aW9ucygpLnRoZW4oIChjb25kaXRpb25zOiBQYXltZW50Q29uZGl0aW9uW10pID0+IHtcclxuICAgICAgdGhpcy5wYXltZW50Q29uZGl0aW9ucyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoY29uZGl0aW9ucywgdGhpcy5wYXltZW50Q29uZGl0aW9uc0ZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgLy9PbkhvbGRDb2Rlc1xyXG4gIHByaXZhdGUgX3NldE9uSG9sZENvZGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0T25Ib2xkQ29kZXMoKS50aGVuKChvbkhvbGRDb2RlczogT25Ib2xkQ29kZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMub25Ib2xkQ29kZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKG9uSG9sZENvZGVzLCB0aGlzLm9uSG9sZENvZGVGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0NvbW1pc3Npb25Db2Rlc1xyXG4gIHByaXZhdGUgX3NldENvbW1pc3Npb25Db2RlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldENvbW1pc3Npb25Db2RlcyhcIk5MXCIpLnRoZW4oKGNvbW1pc3Npb25Db2RlczogQ29Eb21haW5WYWx1ZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMuY29tbWlzc2lvbkNvZGVzID0gbmV3IEZpbHRlclZpZXdtb2RlbChjb21taXNzaW9uQ29kZXMsIHRoaXMuY29tbWlzc2lvbkNvZGVGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRPcmRlckRlZmluaXRpdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRZZXNObyhcIk5MXCIpLnRoZW4oKG9yZGVyRGVmaW5pdGU6IENvRG9tYWluVmFsdWVbXSkgPT4ge1xyXG4gICAgICB0aGlzLm9yZGVyRGVmaW5pdGUgPSBuZXcgRmlsdGVyVmlld21vZGVsKG9yZGVyRGVmaW5pdGUsIHRoaXMub3JkZXJEZWZpbml0ZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldE9yZGVyRnVsbHlQYWlkKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0WWVzTm8oXCJOTFwiKS50aGVuKChvcmRlckZ1bGx5UGFpZDogQ29Eb21haW5WYWx1ZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMub3JkZXJGdWxseVBhaWQgPSBuZXcgRmlsdGVyVmlld21vZGVsKG9yZGVyRnVsbHlQYWlkLCB0aGlzLm9yZGVyRnVsbHlQYWlkRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0T3JkZXJEZXBvc2l0RnVsbHlQYWlkKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0WWVzTm8oXCJOTFwiKS50aGVuKChvcmRlckRlcG9zaXRGdWxseVBhaWQ6IENvRG9tYWluVmFsdWVbXSkgPT4ge1xyXG4gICAgICB0aGlzLm9yZGVyRGVwb3NpdEZ1bGx5UGFpZCA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwob3JkZXJEZXBvc2l0RnVsbHlQYWlkLCB0aGlzLm9yZGVyRGVwb3NpdEZ1bGx5UGFpZEZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgcHJpdmF0ZSBfc2V0V29ya0Zsb3dTdGF0dXNlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFdvcmtGbG93U3RhdHVzZXMoVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIpLnRoZW4oKHdvcmtmbG93U3RhdHVzZXM6IFdvcmtGbG93U3RhdHVzW10pID0+IHtcclxuICAgICAgdGhpcy53b3JrZmxvd1N0YXR1c2VzID0gbmV3IEZpbHRlclZpZXdtb2RlbCh3b3JrZmxvd1N0YXR1c2VzLCB0aGlzLndvcmtmbG93U3RhdHVzRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtb3JkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50L3B1cmNoYXNlLW9yZGVyLWZpbHRlci1jb250ZW50L3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWZpbHRlci1jb250ZW50LW9yZGVyL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWZpbHRlci1jb250ZW50LW9yZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUMsY0FBYyxFQUF1QixlQUFlLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRyxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUl0SCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDbkYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBRWpGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQXVLMUYsTUFBTSxPQUFPLG1EQUFvRCxTQUFRLHFDQUFxQztJQWxLOUc7O1FBbUtrQixVQUFLLEdBQTBCLGNBQWMsQ0FBQztRQU92RCwwQkFBcUIsR0FBb0IsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUMsQ0FBQztRQUc3RSxlQUFVLEdBQW9CLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUM7UUFHekUsaUJBQVksR0FBb0IsRUFBQyxJQUFJ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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4SlQ7YUFDRjs7O3dCQUdFLFdBQVcsU0FBQyw0Q0FBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmd9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge09uSG9sZENvZGV9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vbi1ob2xkLWNvZGUuYm8nO1xyXG5pbXBvcnQge0ZpbHRlckl0ZW1Nb2RlLCBGaWx0ZXJJdGVtVmlld21vZGVsLCBGaWx0ZXJWaWV3bW9kZWx9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U2FsZXNQZXJzb259IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9zYWxlcy1wZXJzb24uYm8nO1xyXG5pbXBvcnQge1RhZ30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFnJztcclxuaW1wb3J0IHtDb0RvbWFpblZhbHVlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb21haW4tdmFsdWUuYm8nO1xyXG5pbXBvcnQge1JlbGF0aW9uUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXJlcXVlc3QnO1xyXG5pbXBvcnQge1JlbGF0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24ta2luZC5lbnVtJztcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25LaW5kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvZW51bS90cmFuc2FjdGlvbi1raW5kLmVudW0nO1xyXG5pbXBvcnQge1dvcmtGbG93U3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvd29ya2Zsb3ctc3RhdHVzLmJvJztcclxuaW1wb3J0IHtQYXltZW50Q29uZGl0aW9ufSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1jb25kaXRpb24uYm9cIjtcclxuaW1wb3J0IHsgUHJvamVjdENvZGUgfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHJvamVjdC1jb2RlLmJvJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItZmlsdGVyLWNvbnRlbnQtb3JkZXInLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1vcmRlci13cmFwcGVyIHRyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LXdyYXBwZXJcIj5cclxuXHJcbiAgICAgICAgICA8IS0tSW5rb29wbnVtbWVyLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1BVUkNIQVNFTlVNQkVSJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC50cmFuc05yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuVGV4dEZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS1PcmRlcmRhdHVtLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RBVEUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnJhbmdlVHJhbnNEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRGF0ZVJhbmdlRmllbGRcIj5cclxuICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLUxldmVyZGF0dW0tLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInREVMSVZFUllfREFURSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QuZGVsaXZlcnlEYXRlUmFuZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5EYXRlUmFuZ2VGaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1dPUktGTE9XX1NUQVRVUydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cIndvcmtmbG93U3RhdHVzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5yYW5nZVdvcmtmbG93U3RhdHVzTmFtZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIj5cclxuICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLUZpbGlhYWwtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInQlJBTkNIJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImJyYW5jaGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnJhbmdlQnJhbmNoSWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5GaWx0ZXJsaXN0XCI+XHJcbiAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tQmV0YWFsY29uZGl0aWUtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInUEFZTUVOVF9DT05ESVRJT04nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJwYXltZW50Q29uZGl0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnJhbmdlUGF5bWVudENvbmRpdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiPlxyXG4gICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tSW5rb3Blci0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidQVVJDSEFTRV9QRVJTT04nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaENvbGxlY3Rpb25QbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5QdXJjaGFzZVBlcnNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cInB1cmNoYXNlUGVyc29uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5yYW5nZUhhbmRsZWRCeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIj5cclxuICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLUVpZ2VuIHJlZmVyZW50aWUtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInT1dOX1JFRkVSRU5DRSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3Qub3duUmVmZXJlbmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuVGV4dEZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS1Qcm9qZWN0IENvZGUtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ1BST0pFQ1RfQ09ERSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaENvbGxlY3Rpb25QbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlci5TZWFyY2hQcm9qZWN0Q29kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QucHJvamVjdENvZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuU2luZ2xlU2VsZWN0TGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluU2VhcmNoQ2hhcnNUb0xvYWRDb2xsZWN0aW9uXT1cIjNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwicHJvamVjdENvZGVzXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLVRhZ3MtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInVEFHUydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoQ29sbGVjdGlvblBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyLlRhZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJ0YWdzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LnRhZ1JhbmdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiPlxyXG4gICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tT24gaG9sZCBjb2Rlcy0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidPTl9IT0xEJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuT25Ib2xkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwib25Ib2xkQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QucmFuZ2VPbkhvbGRDb2Rlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIj5cclxuICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPCEtLUNvbW1pc3NpZWNvZGUtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInQ09NTUlTU0lPTl9DT0RFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hDb2xsZWN0aW9uUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIuQ29tbWlzc2lvbkNvZGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJjb21taXNzaW9uQ29kZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QuY29tbWlzc2lvbkNvZGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuU2VsZWN0TGlzdFdpdGhTdHJpbmdDb2xsZWN0aW9uT3V0cHV0XCI+XHJcbiAgICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS1PcmRlciBkZWZpbml0aWVmLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWl0ZW0td3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidPUkRFUl9ERUZJTklUSVZFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJvcmRlckRlZmluaXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC50cmFuc2FjdGlvbkRlZmluaXRpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZXMuRmlsdGVybGlzdFwiPlxyXG4gICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgIDwhLS1PcmRlciBmdWxseSBwYWlkIC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInT1JERVJfRlVMTFlfUEFJRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwib3JkZXJGdWxseVBhaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoU2VydmljZS5zZWFyY2hSZXF1ZXN0LmZ1bGx5UGFpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5GaWx0ZXJsaXN0XCI+XHJcbiAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgPCEtLU9yZGVyIGRlcG9zaXQgZnVsbHkgcGFpZCAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbSBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RFUE9TSVRfRlVMTFlfUEFJRCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwib3JkZXJEZXBvc2l0RnVsbHlQYWlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5kZXBvc2l0RnVsbHlQYWlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkZpbHRlcmxpc3RcIj5cclxuICAgICAgICAgICAgPC9jby10cmFuc2FjdGlvbi1maWx0ZXItaXRlbT5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS1JbmFjdGlldmUgdHJhbnNhY3RpZXMtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaXRlbS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtIFtwbGFjZWhvbGRlcl09XCInSU5BQ1RJVkVfVFJBTlNBQ1RJT05TJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5hY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2Rlcy5DaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgIDwvY28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8IS0tSW5jbHVzaWVmIHJldG91cmVuIC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1pdGVtLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tZmlsdGVyLWl0ZW0gW3BsYWNlaG9sZGVyXT1cIidJTkNMVURJTkdfUkVUVVJOUydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QuaW5jbHVkaW5nUmV0dXJuc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlXT1cIm1vZGVzLkNoZWNrYm94VG9CaW5hcnlcIj5cclxuICAgICAgICAgICAgICA8L2NvLXRyYW5zYWN0aW9uLWZpbHRlci1pdGVtPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uUHVyY2hhc2VPcmRlckZpbHRlckNvbnRlbnRPcmRlckNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uRmlsdGVyQ29udGVudEJhc2VDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBtb2RlczogdHlwZW9mIEZpbHRlckl0ZW1Nb2RlID0gRmlsdGVySXRlbU1vZGU7XHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tc2VhcmNoLWZpbHRlci1jb250ZW50XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHB1cmNoYXNlUGVyc29uczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBwdXJjaGFzZVBlcnNvbnNGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcIm5hbWVcIiwgdmFsdWU6IFwicmVsYXRpb25JZFwifTtcclxuXHJcbiAgcHVibGljIHRhZ3M6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgdGFnc0ZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwidGFnVmFsdWVJZFwifTtcclxuXHJcbiAgcHVibGljIGJyYW5jaGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGJyYW5jaEZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZmFtaWx5TmFtZVwiLCB2YWx1ZTogXCJyZWxhdGlvbklkXCJ9O1xyXG5cclxuICBwdWJsaWMgb25Ib2xkQ29kZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgb25Ib2xkQ29kZUZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwib25Ib2xkQ29kZVwifTtcclxuXHJcbiAgcHVibGljIG9yZGVyRGVmaW5pdGU6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgb3JkZXJEZWZpbml0ZUZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwifTtcclxuXHJcbiAgcHVibGljIHBheW1lbnRDb25kaXRpb25zOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHBheW1lbnRDb25kaXRpb25zRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb25kaXRpb25cIn07XHJcblxyXG4gIHB1YmxpYyBvcmRlckZ1bGx5UGFpZDogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBvcmRlckZ1bGx5UGFpZEZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwifTtcclxuXHJcbiAgcHVibGljIG9yZGVyRGVwb3NpdEZ1bGx5UGFpZDogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBvcmRlckRlcG9zaXRGdWxseVBhaWRGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XHJcblxyXG4gIHB1YmxpYyBjb21taXNzaW9uQ29kZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgY29tbWlzc2lvbkNvZGVGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImNvZGVcIn07XHJcblxyXG4gIHB1YmxpYyB3b3JrZmxvd1N0YXR1c2VzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHdvcmtmbG93U3RhdHVzRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJuYW1lXCIsIHZhbHVlOiBcIm5hbWVcIn07XHJcblxyXG4gIHB1YmxpYyBwcm9qZWN0Q29kZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgcHJvamVjdENvZGVGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcImlkXCJ9O1xyXG5cclxuICBwdWJsaWMgdHJhbnNTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIHRyYW5zRW5kRGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgZGVsaXZlcnlTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGRlbGl2ZXJ5RW5kRGF0ZTogRGF0ZTtcclxuXHJcbiAgcHJvdGVjdGVkIGxvYWRDb2xsZWN0aW9ucygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldFB1cmNoYXNlUGVyc29ucygpO1xyXG4gICAgdGhpcy5fc2V0VGFncygpO1xyXG4gICAgdGhpcy5fc2V0QnJhbmNoZXMoKTtcclxuICAgIHRoaXMuX3NldFBheW1lbnRDb25kaXRpb25zKClcclxuICAgIHRoaXMuX3NldE9uSG9sZENvZGVzKCk7XHJcbiAgICB0aGlzLl9zZXRDb21taXNzaW9uQ29kZXMoKTtcclxuICAgIHRoaXMuX3NldE9yZGVyRGVmaW5pdGl2ZSgpO1xyXG4gICAgdGhpcy5fc2V0T3JkZXJGdWxseVBhaWQoKTtcclxuICAgIHRoaXMuX3NldE9yZGVyRGVwb3NpdEZ1bGx5UGFpZCgpXHJcbiAgICB0aGlzLl9zZXRXb3JrRmxvd1N0YXR1c2VzKCk7XHJcbiAgICB0aGlzLl9zZXRBbGxQcm9qZWN0Q29kZXMoKTtcclxuICB9XHJcblxyXG4gIC8vSW5rb3BlclxyXG4gIHByaXZhdGUgX3NldFB1cmNoYXNlUGVyc29ucygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFNhbGVzUGVyc29ucygpLnRoZW4oKHBlcnNvbnM6IFNhbGVzUGVyc29uW10pID0+IHtcclxuICAgICAgdGhpcy5wdXJjaGFzZVBlcnNvbnMgPSBuZXcgRmlsdGVyVmlld21vZGVsKHBlcnNvbnMsIHRoaXMucHVyY2hhc2VQZXJzb25zRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gVGFnc1xyXG4gIHByaXZhdGUgX3NldFRhZ3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRUYWdzKDEpLnRoZW4oKHRhZ3M6IFRhZ1tdKSA9PiB7XHJcbiAgICAgIHRoaXMudGFncyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwodGFncywgdGhpcy50YWdzRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9CcmFuY2hlc1xyXG4gIHByaXZhdGUgX3NldEJyYW5jaGVzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcmVxdWVzdDogUmVsYXRpb25SZXF1ZXN0ID0gbmV3IFJlbGF0aW9uUmVxdWVzdCgpO1xyXG4gICAgcmVxdWVzdC5yZWxhdGlvblR5cGUgPSBSZWxhdGlvbktpbmQuQnJhbmNoO1xyXG4gICAgdGhpcy5yZWxhdGlvblNlcnZpY2UuZ2V0UmVsYXRpb25MaXN0T2JqZWN0cyhyZXF1ZXN0KS50aGVuKChicmFuY2hlczogUmVsYXRpb25MaXN0T2JqZWN0W10pID0+IHtcclxuICAgICAgdGhpcy5icmFuY2hlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoYnJhbmNoZXMsIHRoaXMuYnJhbmNoRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZXRQYXltZW50Q29uZGl0aW9ucygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFBheW1lbnRDb25kaXRpb25zKCkudGhlbiggKGNvbmRpdGlvbnM6IFBheW1lbnRDb25kaXRpb25bXSkgPT4ge1xyXG4gICAgICB0aGlzLnBheW1lbnRDb25kaXRpb25zID0gbmV3IEZpbHRlclZpZXdtb2RlbChjb25kaXRpb25zLCB0aGlzLnBheW1lbnRDb25kaXRpb25zRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvL09uSG9sZENvZGVzXHJcbiAgcHJpdmF0ZSBfc2V0T25Ib2xkQ29kZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRPbkhvbGRDb2RlcygpLnRoZW4oKG9uSG9sZENvZGVzOiBPbkhvbGRDb2RlW10pID0+IHtcclxuICAgICAgdGhpcy5vbkhvbGRDb2RlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwob25Ib2xkQ29kZXMsIHRoaXMub25Ib2xkQ29kZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vQ29tbWlzc2lvbkNvZGVzXHJcbiAgcHJpdmF0ZSBfc2V0Q29tbWlzc2lvbkNvZGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q29tbWlzc2lvbkNvZGVzKFwiTkxcIikudGhlbigoY29tbWlzc2lvbkNvZGVzOiBDb0RvbWFpblZhbHVlW10pID0+IHtcclxuICAgICAgdGhpcy5jb21taXNzaW9uQ29kZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGNvbW1pc3Npb25Db2RlcywgdGhpcy5jb21taXNzaW9uQ29kZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldE9yZGVyRGVmaW5pdGl2ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFllc05vKFwiTkxcIikudGhlbigob3JkZXJEZWZpbml0ZTogQ29Eb21haW5WYWx1ZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMub3JkZXJEZWZpbml0ZSA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwob3JkZXJEZWZpbml0ZSwgdGhpcy5vcmRlckRlZmluaXRlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0T3JkZXJGdWxseVBhaWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRZZXNObyhcIk5MXCIpLnRoZW4oKG9yZGVyRnVsbHlQYWlkOiBDb0RvbWFpblZhbHVlW10pID0+IHtcclxuICAgICAgdGhpcy5vcmRlckZ1bGx5UGFpZCA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwob3JkZXJGdWxseVBhaWQsIHRoaXMub3JkZXJGdWxseVBhaWRGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRPcmRlckRlcG9zaXRGdWxseVBhaWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRZZXNObyhcIk5MXCIpLnRoZW4oKG9yZGVyRGVwb3NpdEZ1bGx5UGFpZDogQ29Eb21haW5WYWx1ZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMub3JkZXJEZXBvc2l0RnVsbHlQYWlkID0gbmV3IEZpbHRlclZpZXdtb2RlbChvcmRlckRlcG9zaXRGdWxseVBhaWQsIHRoaXMub3JkZXJEZXBvc2l0RnVsbHlQYWlkRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0V29ya0Zsb3dTdGF0dXNlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmdldFdvcmtGbG93U3RhdHVzZXMoVHJhbnNhY3Rpb25LaW5kLlB1cmNoYXNlT3JkZXIpLnRoZW4oKHdvcmtmbG93U3RhdHVzZXM6IFdvcmtGbG93U3RhdHVzW10pID0+IHtcclxuICAgICAgdGhpcy53b3JrZmxvd1N0YXR1c2VzID0gbmV3IEZpbHRlclZpZXdtb2RlbCh3b3JrZmxvd1N0YXR1c2VzLCB0aGlzLndvcmtmbG93U3RhdHVzRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0QWxsUHJvamVjdENvZGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0QWxsUHJvamVjdENvZGVzKCkudGhlbigocHJvamVjdENvZGVzOiBQcm9qZWN0Q29kZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMucHJvamVjdENvZGVzID0gbmV3IEZpbHRlclZpZXdtb2RlbChwcm9qZWN0Q29kZXMsIHRoaXMucHJvamVjdENvZGVGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|