ngx-bimplus-components 0.0.136-webcomponents → 0.0.137-webcomponents

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.
@@ -118,7 +118,19 @@ export class BimplusMainMenuComponent extends BimplusLocalizedWidgetComponent {
118
118
  }
119
119
  get apps() {
120
120
  let appsList = this.appsList.sort((a, b) => this.appsOrder.indexOf(a.id) - this.appsOrder.indexOf(b.id));
121
- // if is-touch remove property manager btn. & approvals btn.
121
+ // if connexisVisible remove PORTAL_CONNEXIS_BTN.
122
+ if (!this.connexisVisible) {
123
+ appsList = appsList.filter(({ id }) => id !== MenuListTypeId.PORTAL_CONNEXIS_BTN);
124
+ }
125
+ // if teammembersDisabled remove PORTAL_TEAM_MANAGEMENT_BTN.
126
+ if (this.teammembersDisabled) {
127
+ appsList = appsList.filter(({ id }) => id !== MenuListTypeId.PORTAL_TEAM_MANAGEMENT_BTN);
128
+ }
129
+ // if propertymanagerDisabled remove PORTAL_PROPERTY_MANAGER_BTN.
130
+ if (this.propertymanagerDisabled) {
131
+ appsList = appsList.filter(({ id }) => id !== MenuListTypeId.PORTAL_PROPERTY_MANAGER_BTN);
132
+ }
133
+ // if isTouch remove property manager btn. & approvals btn.
122
134
  if (this.isTouch) {
123
135
  appsList = appsList.filter(({ id }) => id !== MenuListTypeId.PORTAL_PROPERTY_MANAGER_BTN &&
124
136
  id !== MenuListTypeId.PORTAL_BIM_PROCESSES);
@@ -358,4 +370,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
358
370
  }], bimplusMainMenuOverlayClicked: [{
359
371
  type: Output
360
372
  }] } });
361
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1tYWluLW1lbnUvYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1tYWluLW1lbnUvYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQTtBQUNoSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMERBQTBELENBQUM7Ozs7QUFHckcsTUFBTSxjQUFjLEdBQUc7SUFDckIsMEJBQTBCLEVBQUUseUJBQXlCO0lBQ3JELDJCQUEyQixFQUFFLDBCQUEwQjtJQUN2RCxnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMsaUJBQWlCLEVBQUUsaUJBQWlCO0lBQ3BDLG9CQUFvQixFQUFFLG9CQUFvQjtJQUMxQywyQkFBMkIsRUFBRSwwQkFBMEI7SUFDdkQsb0JBQW9CLEVBQUUsb0JBQW9CO0lBQzFDLDBCQUEwQixFQUFFLDBCQUEwQjtJQUN0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QUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGFBQWE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsK0JBQStCO3NCQUF0RSxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGtCQUFrQjtzQkFBekQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxrQkFBa0I7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVJLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyw2QkFBNkI7c0JBQXRDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGJvb2xlYW5BdHRyaWJ1dGUsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7QmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudH0gZnJvbSBcIi4vLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnRcIlxyXG5pbXBvcnQgeyBmaXJlRXZlbnQgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XHJcbmltcG9ydCB7QmltcGx1c1Byb2plY3RNZW51Q29tcG9uZW50fSBmcm9tICcuLy4uL2JpbXBsdXMtcHJvamVjdC1tZW51L2JpbXBsdXMtcHJvamVjdC1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TWVudUxpc3RUeXBlfSBmcm9tICcuLi8uLi90eXBlcy90eXBlcyc7XHJcblxyXG5jb25zdCBNZW51TGlzdFR5cGVJZCA9IHtcclxuICBQT1JUQUxfVEVBTV9NQU5BR0VNRU5UX0JUTjogJ3BvcnRhbFRlYW1NYW5hZ2VtZW50QnRuJyxcclxuICBQT1JUQUxfUFJPUEVSVFlfTUFOQUdFUl9CVE46ICdwb3J0YWxQcm9wZXJ0eU1hbmFnZXJCdG4nLFxyXG4gIFBPUlRBTF9CSU1fVVNFUlM6ICdwb3J0YWxCaW1Vc2VycycsXHJcbiAgUE9SVEFMX0JJTV9NT0RFTFM6ICdwb3J0YWxCaW1Nb2RlbHMnLFxyXG4gIFBPUlRBTF9CSU1fRE9DVU1FTlRTOiAncG9ydGFsQmltRG9jdW1lbnRzJyxcclxuICBQT1JUQUxfQklNX1BST0pFQ1RfU0VUVElOR1M6ICdwb3J0YWxCaW1Qcm9qZWN0U2V0dGluZ3MnLFxyXG4gIFBPUlRBTF9CSU1fUFJPQ0VTU0VTOiAncG9ydGFsQmltUHJvY2Vzc2VzJyxcclxuICBESVZJREVSX1BST0pFQ1RfTUFOQUdFTUVOVDogJ2RpdmlkZXJwcm9qZWN0bWFuYWdlbWVudCcsXHJcbiAgUE9SVEFMX0JJTV9WSUVXRVJfQlROOiAncG9ydGFsQmltVmlld2VyQnRuJyxcclxuICBQT1JUQUxfQ0xPVURfVklFV0VSX0JUTjogJ3BvcnRhbENsb3VkVmlld2VyQnRuJyxcclxuICBQT1JUQUxfQ09OTkVYSVNfQlROOiAncG9ydGFsQ29ubmV4aXNCdG4nLFxyXG4gIFBPUlRBTF9CSU1fQVVUT0NPTlZFUlRFUl9CVE46ICdwb3J0YWxCaW1BdXRvY29udmVydGVyQnRuJyxcclxuICBESVZJREVSQVBQUzogJ2RpdmlkZXJhcHBzJyxcclxuICBQT1JUQUxfQUREX0lOU19CVE46ICdwb3J0YWxBZGRJbnNCdG4nLFxyXG4gIFBPUlRBTF9TSE9QX0JUTjogJ3BvcnRhbFNob3BCdG4nLFxyXG4gIFBPUlRBTF9HRVRfWU9VUl9URUFNX0JUTjogJ3BvcnRhbEdldFlvdXJUZWFtQnRuJ1xyXG59IGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCaW1wbHVzTWFpbk1lbnVDb21wb25lbnRBdHRyaWJ1dGUgIHtcclxuICBba2V5OiBzdHJpbmddOiB1bmtub3duOyAvLyBBZGQgaW5kZXggc2lnbmF0dXJlIGFsbG93aW5nIHN0cmluZyBpbmRleGluZ1xyXG4gICAvL090aGVyIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMuLi5cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1tYWluLW1lbnUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLEJpbXBsdXNQcm9qZWN0TWVudUNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbVHJhbnNsYXRlU2VydmljZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtbWFpbi1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50Lmxlc3MnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNNYWluTWVudUNvbXBvbmVudCBleHRlbmRzIEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyAgT25DaGFuZ2VzIHtcclxuICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlICl7XHJcbiAgICBzdXBlcih0cmFuc2xhdGVTZXJ2aWNlKVxyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0VtYmVkZGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1RvdWNoIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0lwYWRBcHAgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzRGV2IDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1N0YWdlIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoaWRlUHJvamVjdE1lbnVJY29ucyA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0hvcml6b250YWxNZW51SWNvbnMgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHJvamVjdE5hbWUgOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHByb2plY3RJbWFnZVVybCA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgcHJvamVjdEV4cGxvcmVyVXJsIDogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKSBwcm9qZWN0QWN0aXZlSXRlbSA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2plY3RtZW1iZXJzRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG1vZGVsc0Rpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkb2N1bWVudHNEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvamVjdHNldHRpbmdzRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2Nlc3Nlc0Rpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZvb3RlckFjdGl2ZUl0ZW0gOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIG1lbnVBY3RpdmVJdGVtIDogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dPdmVybGF5IDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0ZWFtbWVtYmVyc1N1YnNjcmliZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb3BlcnR5bWFuYWdlclN1YnNjcmliZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9jb252ZXJ0ZXJTdWJzY3JpYmVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBjb25uZXhpc1N1YnNjcmliZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG9wZW5Qcm9qZWN0RGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGJpbWV4cGxvcmVyRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9jb252ZXJ0ZXJEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgY29ubmV4aXNEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGVhbW1lbWJlcnNEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvcGVydHltYW5hZ2VyRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3BEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgYWRkaW5zRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG9wZW5Qcm9qZWN0VmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBiaW1wbHVzUHJvamVjdE1lbnVWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2plY3RtZW1iZXJzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBtb2RlbHNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRvY3VtZW50c1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvamVjdHNldHRpbmdzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcm9jZXNzZXNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGJpbWV4cGxvcmVyVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhdXRvY29udmVydGVyVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBjb25uZXhpc1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGVhbW1lbWJlcnNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb3BlcnR5bWFuYWdlclZpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvcFZpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgYWRkaW5zVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXZpZGVycHJvamVjdG1hbmFnZW1lbnRWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpdmlkZXJhcHBzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBnZXRZb3VyVGVhbVZpc2libGUgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYXBwc1dpdGhJbmZvIDogc3RyaW5nW10gPSBbXTtcclxuICBASW5wdXQoKSBhcHBzT3JkZXIgOiBzdHJpbmdbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIG1lbnVJdGVtc09yZGVyIDogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpIGJpbXBsdXNNYWluTWVudUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgYWN0aW9uOiBzdHJpbmcsIHR5cGU6IHN0cmluZyB9PigpO1xyXG4gIEBPdXRwdXQoKSBiaW1wbHVzTWFpbk1lbnVPdmVybGF5Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2xvY2FsaXplZFN0cmluZ3MnXSkge1xyXG4gICAgICB0aGlzLmxvY2FsaXplZFN0cmluZ3MgPSBjaGFuZ2VzWydsb2NhbGl6ZWRTdHJpbmdzJ10uY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGFwcHMoKTogTWVudUxpc3RUeXBlW10ge1xyXG4gICAgbGV0IGFwcHNMaXN0ID0gdGhpcy5hcHBzTGlzdC5zb3J0KChhLCBiKSA9PiB0aGlzLmFwcHNPcmRlci5pbmRleE9mKGEuaWQpIC0gdGhpcy5hcHBzT3JkZXIuaW5kZXhPZihiLmlkKSk7XHJcblxyXG4gICAgLy8gaWYgaXMtdG91Y2ggcmVtb3ZlIHByb3BlcnR5IG1hbmFnZXIgYnRuLiAmIGFwcHJvdmFscyBidG4uXHJcbiAgICBpZih0aGlzLmlzVG91Y2gpIHtcclxuICAgICAgYXBwc0xpc3QgPSBhcHBzTGlzdC5maWx0ZXIoKHsgaWQgfSkgPT4gXHJcbiAgICAgICAgaWQgIT09IE1lbnVMaXN0VHlwZUlkLlBPUlRBTF9QUk9QRVJUWV9NQU5BR0VSX0JUTiAmJiBcclxuICAgICAgICBpZCAhPT0gTWVudUxpc3RUeXBlSWQuUE9SVEFMX0JJTV9QUk9DRVNTRVNcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuZ2V0WW91clRlYW1WaXNpYmxlKSB7XHJcbiAgICAgIHJldHVybiBhcHBzTGlzdDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBpZiB0aGVyZSBpcyBubyB0ZWFtIHRoZW4gc2hvdyBvbmx5IFwiR2V0IFlvdXIgVGVhbVwiIGJ1dHRvblxyXG4gICAgcmV0dXJuIGFwcHNMaXN0LmZpbHRlcigoeyBpZCB9KSA9PiBcclxuICAgICAgaWQgIT09IE1lbnVMaXN0VHlwZUlkLlBPUlRBTF9URUFNX01BTkFHRU1FTlRfQlROICYmIFxyXG4gICAgICBpZCAhPT0gTWVudUxpc3RUeXBlSWQuUE9SVEFMX1BST1BFUlRZX01BTkFHRVJfQlROXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZvb3Rlckxpc3QoKTogTWVudUxpc3RUeXBlW10ge1xyXG4gICAgY29uc3QgZm9vdGVyTGlzdCA9IHRoaXMuX21lbnVGb290ZXJMaXN0LmZpbHRlcihpdGVtID0+IHRoaXMuX2lzU3Vic2NyaWJlZChpdGVtKSAmJiAhdGhpcy5faXNIaWRkZW4oaXRlbSkpO1xyXG4gICAgLy8gaWYgdGVhbSBpcyBhc3NpZ25lZCB0aGVuIHJlbW92ZSBcIkdldCBZb3VyIFRlYW1cIiBidXR0b25cclxuICAgIGlmICghdGhpcy5nZXRZb3VyVGVhbVZpc2libGUpIHtcclxuICAgICAgcmV0dXJuIGZvb3Rlckxpc3QuZmlsdGVyKCh7IGlkIH0pID0+IGlkICE9PSBNZW51TGlzdFR5cGVJZC5QT1JUQUxfR0VUX1lPVVJfVEVBTV9CVE4pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb290ZXJMaXN0O1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNoZWNrIGlmIGFwcCBpcyBzdWJzY3JpYmVkXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9pc1N1YnNjcmliZWQoaXRlbTpNZW51TGlzdFR5cGUpOmJvb2xlYW4ge1xyXG5cclxuICAgIGlmIChpdGVtLmNoZWNrU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIGNvbnN0IGtleSA9IGAke2l0ZW0uYWN0aW9ufVN1YnNjcmliZWRgO1xyXG4gICAgICByZXR1cm4gISEoKHRoaXMgYXMgdW5rbm93biBhcyBCaW1wbHVzTWFpbk1lbnVDb21wb25lbnRBdHRyaWJ1dGUgKVtrZXldKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY2hlY2sgaWYgYXBwIGlzIGNsaWNrYWJsZVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfaXNDbGlja2FibGUoaXRlbTpNZW51TGlzdFR5cGUpOmJvb2xlYW4ge1xyXG5cclxuICAgIGlmIChpdGVtLmNsaWNrUG9saWN5ID09PSBcIm5vUHJvamVjdE5vU3Vic2NyaXB0aW9uXCIpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucHJvamVjdE5hbWUgIT09IFwiXCI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjaGVjayBpZiBhcHAgaXMgc3Vic2NyaWJlZC92aXNpYmxlXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9pc0hpZGRlbihpdGVtOk1lbnVMaXN0VHlwZSk6Ym9vbGVhbiB7XHJcblxyXG4gICAgaWYgKGl0ZW0pIHtcclxuICAgICAgY29uc3Qga2V5ID0gYCR7aXRlbS5hY3Rpb24gPyBpdGVtLmFjdGlvbiA6IGl0ZW0uaWR9VmlzaWJsZWA7XHJcbiAgICAgIHJldHVybiAhKCh0aGlzIGFzIHVua25vd24gYXMgQmltcGx1c01haW5NZW51Q29tcG9uZW50QXR0cmlidXRlIClba2V5XSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY2hlY2sgaWYgYXBwIGlzIGRpc2FibGVkXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9pc0Rpc2FibGVkKGl0ZW06TWVudUxpc3RUeXBlKSB7XHJcbiAgICBjb25zdCBrZXkgPSBgJHtpdGVtLmFjdGlvbn1EaXNhYmxlZGA7XHJcbiAgICByZXR1cm4gISEoKHRoaXMgYXMgdW5rbm93biBhcyBCaW1wbHVzTWFpbk1lbnVDb21wb25lbnRBdHRyaWJ1dGUgKVtrZXldKTtcclxuICB9XHJcblxyXG4gIF9nZXRDb250ZXh0RGF0YShpdGVtOiBNZW51TGlzdFR5cGUsIGFjdGl2ZTogYm9vbGVhbiwgZGlzYWJsZWQ6IGJvb2xlYW4sIGNsaWNrYWJsZTogYm9vbGVhbiwgc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGl0ZW06IGl0ZW0sXHJcbiAgICAgIGFjdGl2ZTogYWN0aXZlLFxyXG4gICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgIGNsaWNrYWJsZTogY2xpY2thYmxlLFxyXG4gICAgICBzZWxlY3RlZDogc2VsZWN0ZWQsXHJcbiAgICAgIHNob3dJbmZvSWNvbjogdGhpcy5hcHBzV2l0aEluZm8uaW5jbHVkZXMoaXRlbS5pZClcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBfb3BlblByakJ0bjpNZW51TGlzdFR5cGUgPSB7IGFjdGlvbjpcIm9wZW5Qcm9qZWN0XCIsIGlkOlwicG9ydGFsU2VsZWN0UHJvamVjdEJ0blwiLHR5cGU6XCJcIiwgY2xhc3M6IFwiYmltLW1tLWljb24tZm9sZGVyXCIsIHRleHRJZDogXCJfUG9ydGFsX01lbnVfT3Blbl9Qcm9qZWN0XCIsIHRleHRJZERpc2FibGVkOiBcIl9Qb3J0YWxfTWVudV9PcGVuX1Byb2plY3RcIixkaXNhYmxlZFRpdGxlOicnLGNoZWNrU3Vic2NyaXB0aW9uOiB0cnVlLCBkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifTtcclxuXHJcbiAgY29udGV4dERhdGEgPSB7aXRlbTpcImhhaGFcIixhY3RpdmU6dHJ1ZSxkaXNhYmxlZDp0cnVlLGNsaWNrYWJsZTp0cnVlLHNlbGVjdGVkOnRydWV9O1xyXG5cclxuXHJcbiAgYXBwc0xpc3Q6IE1lbnVMaXN0VHlwZVtdID0gW1xyXG4gICAgeyBhY3Rpb246XCJwcm9qZWN0bWVtYmVyc1wiLCBpZDogTWVudUxpc3RUeXBlSWQuUE9SVEFMX0JJTV9VU0VSUywgdHlwZTpcIlwiLCBjbGFzczogXCJiaW0tbW0taWNvbi11c2Vyc1wiLCB0ZXh0SWQ6IFwiX3Byb2plY3RTdGF0aXN0aWNzTWVtYmVyc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfcHJvamVjdFN0YXRpc3RpY3NNZW1iZXJzXCIsIGRpc2FibGVkVGl0bGU6XCJfSW5zdWZmaWNpZW50IHJpZ2h0cyB0aXRsZVwiLGNoZWNrU3Vic2NyaXB0aW9uOiBmYWxzZSxkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifSxcclxuICAgIHsgYWN0aW9uOlwibW9kZWxzXCIsIGlkOiBNZW51TGlzdFR5cGVJZC5QT1JUQUxfQklNX01PREVMUywgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLW1vZGVsc1wiLCB0ZXh0SWQ6IFwiX0RpdmlzaW9uc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfRGl2aXNpb25zXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcbiAgICB7IGFjdGlvbjpcImRvY3VtZW50c1wiLCBpZDogTWVudUxpc3RUeXBlSWQuUE9SVEFMX0JJTV9ET0NVTUVOVFMsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1kb2N1bWVudHNcIiwgdGV4dElkOiBcIl9GaWxlc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfRmlsZXNcIixkaXNhYmxlZFRpdGxlOicnLGNoZWNrU3Vic2NyaXB0aW9uOiBmYWxzZSxkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifSxcclxuICAgIHsgYWN0aW9uOlwicHJvamVjdHNldHRpbmdzXCIsIGlkOiBNZW51TGlzdFR5cGVJZC5QT1JUQUxfQklNX1BST0pFQ1RfU0VUVElOR1MsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1wcm9qZWN0LXNldHRpbmdzXCIsIHRleHRJZDogXCJfU2V0dGluZ3NcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX1NldHRpbmdzXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcbiAgICB7IGFjdGlvbjpcInByb2Nlc3Nlc1wiLCBpZDogTWVudUxpc3RUeXBlSWQuUE9SVEFMX0JJTV9QUk9DRVNTRVMsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1wcm9jZXNzZXNcIiwgdGV4dElkOiBcIl9BcHByb3ZhbHNcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX0FwcHJvdmFsc1wiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJcIixpZDogTWVudUxpc3RUeXBlSWQuRElWSURFUl9QUk9KRUNUX01BTkFHRU1FTlQsIHR5cGU6XCJkaXZpZGVyXCIsIGNsYXNzOiBcImJpbS1tbS1hcHAtaXRlbS1kaXZpZGVyXCIsIHRleHRJZDogXCJcIix0ZXh0SWREaXNhYmxlZDpcIlwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG5cclxuICAgIHsgYWN0aW9uOlwiYmltZXhwbG9yZXJcIiwgaWQ6IE1lbnVMaXN0VHlwZUlkLlBPUlRBTF9CSU1fVklFV0VSX0JUTiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLWJpbS1leHBsb3JlclwiLCB0ZXh0SWQ6IFwiX1BvcnRhbF9NZW51X0JJTV9FeHBsb3JlclwiLCB0ZXh0SWREaXNhYmxlZDogXCJfUG9ydGFsX01lbnVfQklNX0V4cGxvcmVyXCIsIGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwibm9Qcm9qZWN0Tm9TdWJzY3JpcHRpb25cIn0sXHJcbiAgICB7IGFjdGlvbjpcImNsb3Vkdmlld2VyXCIsIGlkOiBNZW51TGlzdFR5cGVJZC5QT1JUQUxfQ0xPVURfVklFV0VSX0JUTiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLWNsb3VkLXZpZXdlclwiLCB0ZXh0SWQ6IFwiX01vZGVsX1ZpZXdlclwiLCB0ZXh0SWREaXNhYmxlZDogXCJfTW9kZWxfVmlld2VyXCIsIGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwibm9Qcm9qZWN0Tm9TdWJzY3JpcHRpb25cIn0sXHJcbiAgICB7IGFjdGlvbjpcImNvbm5leGlzXCIsIGlkOiBNZW51TGlzdFR5cGVJZC5QT1JUQUxfQ09OTkVYSVNfQlROLCB0eXBlOlwiXCIsY2xhc3M6IFwiYmltLW1tLWljb24tY29ubmV4aXNcIiwgdGV4dElkOiBcIl9Db25uZXhpc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfQ29ubmV4aXNcIiwgZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsIGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsIGNsaWNrUG9saWN5OiBcIm5vUHJvamVjdE5vU3Vic2NyaXB0aW9uXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJhdXRvY29udmVydGVyXCIsIGlkOiBNZW51TGlzdFR5cGVJZC5QT1JUQUxfQklNX0FVVE9DT05WRVJURVJfQlROLCB0eXBlOlwiXCIsY2xhc3M6IFwiYmltLW1tLWljb24tYXV0b2NvbnZlcnRlclwiLCB0ZXh0SWQ6IFwiX0F1dG9jb252ZXJ0ZXJcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX0F1dG9jb252ZXJ0ZXJcIiwgZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogdHJ1ZSwgZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSwgY2xpY2tQb2xpY3k6IFwibm9Qcm9qZWN0Tm9TdWJzY3JpcHRpb25cIn0sXHJcblxyXG4gICAgeyBhY3Rpb246XCJcIixpZDogTWVudUxpc3RUeXBlSWQuRElWSURFUkFQUFMsIHR5cGU6XCJkaXZpZGVyXCIsIGNsYXNzOiBcImJpbS1tbS1hcHAtaXRlbS1kaXZpZGVyXCIsIHRleHRJZDogXCJcIix0ZXh0SWREaXNhYmxlZDpcIlwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG5cclxuICAgIHsgYWN0aW9uOlwidGVhbW1lbWJlcnNcIiwgaWQ6IE1lbnVMaXN0VHlwZUlkLlBPUlRBTF9URUFNX01BTkFHRU1FTlRfQlROLCB0eXBlOlwiXCIsIGNsYXNzOiBcImJpbS1tbS1pY29uLXRlYW0tbWVtYmVyc1wiLCB0ZXh0SWQ6IFwiX1BvcnRhbF9NZW51X1RlYW1fTWVtYmVyc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfUG9ydGFsX01lbnVfVGVhbV9NZW1iZXJzXCIsIGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IHRydWUsIGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJwcm9wZXJ0eW1hbmFnZXJcIiwgaWQ6IE1lbnVMaXN0VHlwZUlkLlBPUlRBTF9QUk9QRVJUWV9NQU5BR0VSX0JUTiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLXByb3BlcnR5LW1hbmFnZXJcIiwgdGV4dElkOiBcIl9Qb3J0YWxfTWVudV9Qcm9wZXJ0aWVzXCIsIHRleHRJZERpc2FibGVkOiBcIl9Qb3J0YWxfTWVudV9Qcm9wZXJ0aWVzXCIsIGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IHRydWUsIGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gIF07XHJcblxyXG4gIF9tZW51Rm9vdGVyTGlzdDogTWVudUxpc3RUeXBlW10gPSBbXHJcbiAgICB7IGFjdGlvbjpcImFkZGluc1wiLCBpZDogTWVudUxpc3RUeXBlSWQuUE9SVEFMX0FERF9JTlNfQlROLCB0eXBlOlwiXCIsIGNsYXNzOiBcImJpbS1tbS1pY29uLWFkZC1pbnNcIiwgdGV4dElkOiBcIl9BZGRJbnNcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX0FkZEluc1wiLCBkaXNhYmxlZFRpdGxlOicnLCBjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsIGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsIGNsaWNrUG9saWN5OiBcIlwifSxcclxuICAgIHsgXHJcbiAgICAgIGFjdGlvbjpcImdldFlvdXJUZWFtXCIsIFxyXG4gICAgICBpZDogTWVudUxpc3RUeXBlSWQuUE9SVEFMX0dFVF9ZT1VSX1RFQU1fQlROLFxyXG4gICAgICBjbGFzczogXCJiaW0tbW0taWNvbi10ZWFtLW1lbWJlcnNcIiwgXHJcbiAgICAgIHRleHRJZDogXCJfR2V0X1lvdXJfVGVhbVwiLCBcclxuICAgICAgdGV4dElkRGlzYWJsZWQ6IFwiX0dldF9Zb3VyX1RlYW1cIixcclxuICAgIH0gYXMgTWVudUxpc3RUeXBlLFxyXG4gICAgeyBhY3Rpb246XCJzaG9wXCIsIGlkOiBNZW51TGlzdFR5cGVJZC5QT1JUQUxfU0hPUF9CVE4sIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1zaG9wXCIsIHRleHRJZDogXCJfU2hvcFwiLCB0ZXh0SWREaXNhYmxlZDogXCJfU2hvcFwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9XHJcbiAgXTtcclxuXHJcbiAgX292ZXJsYXlDbGlja2VkKCl7XHJcbiAgICBmaXJlRXZlbnQodGhpcywgXCJiaW1wbHVzTWFpbk1lbnVPdmVybGF5Q2xpY2tlZFwiKTtcclxuICB9XHJcblxyXG4gIF9tYWluTWVudUl0ZW1DbGlja2VkKGl0ZW06IE1lbnVMaXN0VHlwZSx0eXBlOnN0cmluZyxldmVudDogRXZlbnQgfCB1bmRlZmluZWQgKXtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0eXBlICE9IFwiaW5mb1wiKSB7XHJcbiAgICAgIGlmICh0aGlzLl9pc0Rpc2FibGVkKGl0ZW0pKXtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhY3Rpb24gPSBpdGVtLmFjdGlvbjtcclxuICAgIGZpcmVFdmVudCh0aGlzLFwiYmltcGx1c01haW5NZW51Q2xpY2tlZFwiLCB7YWN0aW9uLHR5cGU6dHlwZSB9ICk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjYXBwSXRlbUNvbnRlbnQgbGV0LWNvbnRleHREYXRhPlxyXG4gIEBpZiAoY29udGV4dERhdGEuaXRlbS50eXBlID09PSAnZGl2aWRlcicpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJiaW0tbW0tYXBwLWl0ZW1cIiBbY2xhc3NdPVwiY29udGV4dERhdGEuaXRlbS5jbGFzc1wiIFtpZF09XCJjb250ZXh0RGF0YS5pdGVtLmlkXCI+PC9kaXY+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiYmltLW1tLWFwcC1pdGVtXCIgW2lkXT1cImNvbnRleHREYXRhLml0ZW0uaWRcIlxyXG4gICAgICBbbmdDbGFzc109XCJpc1RvdWNoPycnOidob3Zlci1zaG93LWluZm8gJysoY29udGV4dERhdGEuYWN0aXZlPydhY3RpdmUgJzonICcpICsoY29udGV4dERhdGEuZGlzYWJsZWQ/J2Rpc2FibGVkICc6JyAnKSsoY29udGV4dERhdGEuY2xpY2thYmxlPycgJzonbm90LWNsaWNrYWJsZSAnKSsoY29udGV4dERhdGEuc2VsZWN0ZWQ/J3NlbGVjdGVkICc6JyAnKVwiXHJcbiAgICAgIFt0aXRsZV0gID1cIigoY29udGV4dERhdGEuZGlzYWJsZWQpID8gIChjb250ZXh0RGF0YS5pdGVtLmRpc2FibGVkVGl0bGUgfCB0cmFuc2xhdGUpIDogJycgKVwiXHJcbiAgICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImJpbS1tbS1hcHAtaXRlbS1kZXRhaWxzXCJcclxuICAgICAgICAgICBbbmdDbGFzc10gPSBcIiBjb250ZXh0RGF0YS5jbGlja2FibGUgPyAnJyA6ICdub3QtY2xpY2thYmxlJyBcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJfbWFpbk1lbnVJdGVtQ2xpY2tlZChjb250ZXh0RGF0YS5pdGVtLCdub3JtYWwnLCRldmVudClcIlxyXG4gICAgICAgICAgIChrZXlwcmVzcyk9XCJfbWFpbk1lbnVJdGVtQ2xpY2tlZChjb250ZXh0RGF0YS5pdGVtLCdub3JtYWwnLCRldmVudClcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJiaW0tbW0taWNvblwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29udGV4dERhdGEuaXRlbS5jbGFzcyArIChjb250ZXh0RGF0YS5hY3RpdmU/JyBhY3RpdmUnOicnKSArIChjb250ZXh0RGF0YS5kaXNhYmxlZD8nIGRpc2FibGVkICc6JycpXCI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxzcGFuPnt7KGNvbnRleHREYXRhLmlzRGlzYWJsZWQgJiYgKGNvbnRleHREYXRhLml0ZW0udGV4dElkRGlzYWJsZWQgIT09XCJcIikgPyBjb250ZXh0RGF0YS5pdGVtLnRleHRJZERpc2FibGVkIDogY29udGV4dERhdGEuaXRlbS50ZXh0SWQpIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICBAaWYoY29udGV4dERhdGEuc2hvd0luZm9JY29uKXtcclxuICAgICAgPGRpdiBjbGFzcz1cImJpbS1tbS1hcHAtaXRlbS1pbmZvIGJpbS1tbS1pY29uIGJpbS1tbS1pY29uLWluZm9cIlxyXG4gICAgICAgICAgIChjbGljayk9XCJfbWFpbk1lbnVJdGVtQ2xpY2tlZChjb250ZXh0RGF0YS5pdGVtLCAnaW5mbycsJGV2ZW50KVwiXHJcbiAgICAgICAgICAgKGtleXByZXNzKT1cIl9tYWluTWVudUl0ZW1DbGlja2VkKGNvbnRleHREYXRhLml0ZW0sICdpbmZvJywkZXZlbnQpXCI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuXHJcblxyXG48ZGl2IFxyXG4gIGNsYXNzPVwiYmltLW1tLXdyYXBwZXJcIiBcclxuICBbbmdDbGFzc109XCJzaG93T3ZlcmxheSA/ICdiaW0tbW0tb3ZlcmxheScgOiAnJ1wiIFxyXG4gIChjbGljayk9XCJfb3ZlcmxheUNsaWNrZWQoKVwiXHJcbiAgKGtleXByZXNzKT1cIl9vdmVybGF5Q2xpY2tlZCgpXCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPSBcImJpbS1tbS1jb250YWluZXJcIj5cclxuICAgICAgQGlmKCFfaXNIaWRkZW4oX29wZW5QcmpCdG4pKXtcclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhcHBJdGVtQ29udGVudDsgY29udGV4dDogeyAkaW1wbGljaXQ6IF9nZXRDb250ZXh0RGF0YShfb3BlblByakJ0bixwcm9qZWN0QWN0aXZlSXRlbSA9PT0gJ3Byb2plY3RsaXN0JyxfaXNEaXNhYmxlZChfb3BlblByakJ0biksdHJ1ZSxwcm9qZWN0QWN0aXZlSXRlbSA9PT0gJ3Byb2plY3RsaXN0JykgfVwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYoYmltcGx1c1Byb2plY3RNZW51VmlzaWJsZSl7XHJcbiAgICAgICAgPGxpYi1iaW1wbHVzLXByb2plY3QtbWVudVxyXG4gICAgICAgICAgICBwcm9qZWN0TmFtZSA9IHt7cHJvamVjdE5hbWV9fVxyXG4gICAgICAgICAgICBwcm9qZWN0SW1hZ2VVcmwgPSB7e3Byb2plY3RJbWFnZVVybH19XHJcbiAgICAgICAgICAgIHByb2plY3RFeHBsb3JlclVybCA9IHt7cHJvamVjdEV4cGxvcmVyVXJsfX1cclxuICAgICAgICAgICAgcHJvamVjdEFjdGl2ZUl0ZW0gPSB7e3Byb2plY3RBY3RpdmVJdGVtfX1cclxuICAgICAgICAgICAgcHJvamVjdG1lbWJlcnNEaXNhYmxlZCA9IHt7cHJvamVjdG1lbWJlcnNEaXNhYmxlZH19XHJcbiAgICAgICAgICAgIG1vZGVsc0Rpc2FibGVkID0ge3ttb2RlbHNEaXNhYmxlZH19XHJcbiAgICAgICAgICAgIGRvY3VtZW50c0Rpc2FibGVkID0ge3tkb2N1bWVudHNEaXNhYmxlZH19XHJcbiAgICAgICAgICAgIHByb2plY3RzZXR0aW5nc0Rpc2FibGVkID0ge3twcm9qZWN0c2V0dGluZ3NEaXNhYmxlZH19XHJcbiAgICAgICAgICAgIHByb2Nlc3Nlc0Rpc2FibGVkID0ge3twcm9jZXNzZXNEaXNhYmxlZH19XHJcbiAgICAgICAgICAgIHByb2plY3RtZW1iZXJzVmlzaWJsZSA9IHt7cHJvamVjdG1lbWJlcnNWaXNpYmxlfX1cclxuICAgICAgICAgICAgbW9kZWxzVmlzaWJsZSA9IHt7bW9kZWxzVmlzaWJsZX19XHJcbiAgICAgICAgICAgIGRvY3VtZW50c1Zpc2libGUgPSB7e2RvY3VtZW50c1Zpc2libGV9fVxyXG4gICAgICAgICAgICBwcm9qZWN0c2V0dGluZ3NWaXNpYmxlID0ge3twcm9qZWN0c2V0dGluZ3NWaXNpYmxlfX1cclxuICAgICAgICAgICAgcHJvY2Vzc2VzVmlzaWJsZSA9IHt7cHJvY2Vzc2VzVmlzaWJsZX19XHJcbiAgICAgICAgICAgIGlzQ29sbGFwc2VkID0ge3tpc0NvbGxhcHNlZH19XHJcbiAgICAgICAgICAgIGlzTWluaU1vZGUgPSB7e2lzVG91Y2h9fVxyXG4gICAgICAgICAgICBpc1RvdWNoID0ge3tpc1RvdWNofX1cclxuICAgICAgICAgICAgaGlkZU1lbnVJY29ucyA9IHt7aGlkZVByb2plY3RNZW51SWNvbnN9fVxyXG4gICAgICAgICAgICBzaG93SG9yaXpvbnRhbE1lbnVJY29ucyA9IHt7c2hvd0hvcml6b250YWxNZW51SWNvbnN9fVxyXG4gICAgICAgICAgICBbbWVudUl0ZW1zT3JkZXJdPVwibWVudUl0ZW1zT3JkZXJcIlxyXG4gICAgICAgID48L2xpYi1iaW1wbHVzLXByb2plY3QtbWVudT5cclxuICAgICAgfVxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiYXBwcy5sZW5ndGggfHwgZm9vdGVyTGlzdC5sZW5ndGggPyAnYmltLW1tLWFwcHMtY29udGFpbmVyJyA6ICcnXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmltLW1tLWFwcHMtbGlzdFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhcHBJdGVtIG9mIGFwcHNcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImFwcEl0ZW1Db250ZW50OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogX2dldENvbnRleHREYXRhKGFwcEl0ZW0sIV9pc1N1YnNjcmliZWQoYXBwSXRlbSksX2lzRGlzYWJsZWQoYXBwSXRlbSksX2lzQ2xpY2thYmxlKGFwcEl0ZW0pLG1lbnVBY3RpdmVJdGVtID09PSBhcHBJdGVtLmFjdGlvbil9XCJcclxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmltLW1tLWZvb3Rlci1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZm9vdGVySXRlbSBvZiBmb290ZXJMaXN0XCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhcHBJdGVtQ29udGVudDsgY29udGV4dDogeyAkaW1wbGljaXQ6IF9nZXRDb250ZXh0RGF0YShmb290ZXJJdGVtLGZvb3RlckFjdGl2ZUl0ZW0gPT09IGZvb3Rlckl0ZW0uYWN0aW9uLF9pc0Rpc2FibGVkKGZvb3Rlckl0ZW0pLHRydWUsZmFsc2UpfVwiXHJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1tYWluLW1lbnUvYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1tYWluLW1lbnUvYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQTtBQUNoSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMERBQTBELENBQUM7Ozs7QUFHckcsTUFBTSxjQUFjLEdBQUc7SUFDckIsMEJBQTBCLEVBQUUseUJBQXlCO0lBQ3JELDJCQUEyQixFQUFFLDBCQUEwQjtJQUN2RCxnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMsaUJBQWlCLEVBQUUsaUJBQWlCO0lBQ3BDLG9CQUFvQixFQUFFLG9CQUFvQjtJQUMxQywyQkFBMkIsRUFBRSwwQkFBMEI7SUFDdkQsb0JBQW9CLEVBQUUsb0JBQW9CO0lBQzFDLDBCQUEwQixFQUFFLDBCQUEwQjtJQUN0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dCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGJvb2xlYW5BdHRyaWJ1dGUsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7QmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudH0gZnJvbSBcIi4vLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnRcIlxyXG5pbXBvcnQgeyBmaXJlRXZlbnQgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XHJcbmltcG9ydCB7QmltcGx1c1Byb2plY3RNZW51Q29tcG9uZW50fSBmcm9tICcuLy4uL2JpbXBsdXMtcHJvamVjdC1tZW51L2JpbXBsdXMtcHJvamVjdC1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TWVudUxpc3RUeXBlfSBmcm9tICcuLi8uLi90eXBlcy90eXBlcyc7XHJcblxyXG5jb25zdCBNZW51TGlzdFR5cGVJZCA9IHtcclxuICBQT1JUQUxfVEVBTV9NQU5BR0VNRU5UX0JUTjogJ3BvcnRhbFRlYW1NYW5hZ2VtZW50QnRuJyxcclxuICBQT1JUQUxfUFJPUEVSVFlfTUFOQUdFUl9CVE46ICdwb3J0YWxQcm9wZXJ0eU1hbmFnZXJCdG4nLFxyXG4gIFBPUlRBTF9CSU1fVVNFUlM6ICdwb3J0YWxCaW1Vc2VycycsXHJcbiAgUE9SVEFMX0JJTV9NT0RFTFM6ICdwb3J0YWxCaW1Nb2RlbHMnLFxyXG4gIFBPUlRBTF9CSU1fRE9DVU1FTlRTOiAncG9ydGFsQmltRG9jdW1lbnRzJyxcclxuICBQT1JUQUxfQklNX1BST0pFQ1RfU0VUVElOR1M6ICdwb3J0YWxCaW1Qcm9qZWN0U2V0dGluZ3MnLFxyXG4gIFBPUlRBTF9CSU1fUFJPQ0VTU0VTOiAncG9ydGFsQmltUHJvY2Vzc2VzJyxcclxuICBESVZJREVSX1BST0pFQ1RfTUFOQUdFTUVOVDogJ2RpdmlkZXJwcm9qZWN0bWFuYWdlbWVudCcsXHJcbiAgUE9SVEFMX0JJTV9WSUVXRVJfQlROOiAncG9ydGFsQmltVmlld2VyQnRuJyxcclxuICBQT1JUQUxfQ0xPVURfVklFV0VSX0JUTjogJ3BvcnRhbENsb3VkVmlld2VyQnRuJyxcclxuICBQT1JUQUxfQ09OTkVYSVNfQlROOiAncG9ydGFsQ29ubmV4aXNCdG4nLFxyXG4gIFBPUlRBTF9CSU1fQVVUT0NPTlZFUlRFUl9CVE46ICdwb3J0YWxCaW1BdXRvY29udmVydGVyQnRuJyxcclxuICBESVZJREVSQVBQUzogJ2RpdmlkZXJhcHBzJyxcclxuICBQT1JUQUxfQUREX0lOU19CVE46ICdwb3J0YWxBZGRJbnNCdG4nLFxyXG4gIFBPUlRBTF9TSE9QX0JUTjogJ3BvcnRhbFNob3BCdG4nLFxyXG4gIFBPUlRBTF9HRVRfWU9VUl9URUFNX0JUTjogJ3BvcnRhbEdldFlvdXJUZWFtQnRuJ1xyXG59IGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCaW1wbHVzTWFpbk1lbnVDb21wb25lbnRBdHRyaWJ1dGUgIHtcclxuICBba2V5OiBzdHJpbmddOiB1bmtub3duOyAvLyBBZGQgaW5kZXggc2lnbmF0dXJlIGFsbG93aW5nIHN0cmluZyBpbmRleGluZ1xyXG4gICAvL090aGVyIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMuLi5cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1tYWluLW1lbnUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLEJpbXBsdXNQcm9qZWN0TWVudUNvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbVHJhbnNsYXRlU2VydmljZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtbWFpbi1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50Lmxlc3MnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNNYWluTWVudUNvbXBvbmVudCBleHRlbmRzIEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyAgT25DaGFuZ2VzIHtcclxuICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlICl7XHJcbiAgICBzdXBlcih0cmFuc2xhdGVTZXJ2aWNlKVxyXG4gIH1cclxuXHJcblxyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0VtYmVkZGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1RvdWNoIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0lwYWRBcHAgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzRGV2IDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1N0YWdlIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoaWRlUHJvamVjdE1lbnVJY29ucyA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0hvcml6b250YWxNZW51SWNvbnMgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHJvamVjdE5hbWUgOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHByb2plY3RJbWFnZVVybCA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgcHJvamVjdEV4cGxvcmVyVXJsIDogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKSBwcm9qZWN0QWN0aXZlSXRlbSA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2plY3RtZW1iZXJzRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG1vZGVsc0Rpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkb2N1bWVudHNEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvamVjdHNldHRpbmdzRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2Nlc3Nlc0Rpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZvb3RlckFjdGl2ZUl0ZW0gOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIG1lbnVBY3RpdmVJdGVtIDogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dPdmVybGF5IDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0ZWFtbWVtYmVyc1N1YnNjcmliZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb3BlcnR5bWFuYWdlclN1YnNjcmliZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9jb252ZXJ0ZXJTdWJzY3JpYmVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBjb25uZXhpc1N1YnNjcmliZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG9wZW5Qcm9qZWN0RGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGJpbWV4cGxvcmVyRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9jb252ZXJ0ZXJEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgY29ubmV4aXNEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGVhbW1lbWJlcnNEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvcGVydHltYW5hZ2VyRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3BEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgYWRkaW5zRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG9wZW5Qcm9qZWN0VmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBiaW1wbHVzUHJvamVjdE1lbnVWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2plY3RtZW1iZXJzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBtb2RlbHNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRvY3VtZW50c1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvamVjdHNldHRpbmdzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcm9jZXNzZXNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGJpbWV4cGxvcmVyVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhdXRvY29udmVydGVyVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBjb25uZXhpc1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGVhbW1lbWJlcnNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb3BlcnR5bWFuYWdlclZpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvcFZpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgYWRkaW5zVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXZpZGVycHJvamVjdG1hbmFnZW1lbnRWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpdmlkZXJhcHBzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBnZXRZb3VyVGVhbVZpc2libGUgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYXBwc1dpdGhJbmZvIDogc3RyaW5nW10gPSBbXTtcclxuICBASW5wdXQoKSBhcHBzT3JkZXIgOiBzdHJpbmdbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIG1lbnVJdGVtc09yZGVyIDogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpIGJpbXBsdXNNYWluTWVudUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgYWN0aW9uOiBzdHJpbmcsIHR5cGU6IHN0cmluZyB9PigpO1xyXG4gIEBPdXRwdXQoKSBiaW1wbHVzTWFpbk1lbnVPdmVybGF5Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2xvY2FsaXplZFN0cmluZ3MnXSkge1xyXG4gICAgICB0aGlzLmxvY2FsaXplZFN0cmluZ3MgPSBjaGFuZ2VzWydsb2NhbGl6ZWRTdHJpbmdzJ10uY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGFwcHMoKTogTWVudUxpc3RUeXBlW10ge1xyXG4gICAgbGV0IGFwcHNMaXN0ID0gdGhpcy5hcHBzTGlzdC5zb3J0KChhLCBiKSA9PiB0aGlzLmFwcHNPcmRlci5pbmRleE9mKGEuaWQpIC0gdGhpcy5hcHBzT3JkZXIuaW5kZXhPZihiLmlkKSk7XHJcblxyXG4gICAgLy8gaWYgY29ubmV4aXNWaXNpYmxlIHJlbW92ZSBQT1JUQUxfQ09OTkVYSVNfQlROLlxyXG4gICAgaWYgKCF0aGlzLmNvbm5leGlzVmlzaWJsZSkge1xyXG4gICAgICBhcHBzTGlzdCA9IGFwcHNMaXN0LmZpbHRlcigoeyBpZCB9KSA9PiBpZCAhPT0gTWVudUxpc3RUeXBlSWQuUE9SVEFMX0NPTk5FWElTX0JUTik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gaWYgdGVhbW1lbWJlcnNEaXNhYmxlZCByZW1vdmUgUE9SVEFMX1RFQU1fTUFOQUdFTUVOVF9CVE4uXHJcbiAgICBpZiAodGhpcy50ZWFtbWVtYmVyc0Rpc2FibGVkKSB7XHJcbiAgICAgIGFwcHNMaXN0ID0gYXBwc0xpc3QuZmlsdGVyKCh7IGlkIH0pID0+IGlkICE9PSBNZW51TGlzdFR5cGVJZC5QT1JUQUxfVEVBTV9NQU5BR0VNRU5UX0JUTik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gaWYgcHJvcGVydHltYW5hZ2VyRGlzYWJsZWQgcmVtb3ZlIFBPUlRBTF9QUk9QRVJUWV9NQU5BR0VSX0JUTi5cclxuICAgIGlmICh0aGlzLnByb3BlcnR5bWFuYWdlckRpc2FibGVkKSB7XHJcbiAgICAgIGFwcHNMaXN0ID0gYXBwc0xpc3QuZmlsdGVyKCh7IGlkIH0pID0+IGlkICE9PSBNZW51TGlzdFR5cGVJZC5QT1JUQUxfUFJPUEVSVFlfTUFOQUdFUl9CVE4pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGlmIGlzVG91Y2ggcmVtb3ZlIHByb3BlcnR5IG1hbmFnZXIgYnRuLiAmIGFwcHJvdmFscyBidG4uXHJcbiAgICBpZih0aGlzLmlzVG91Y2gpIHtcclxuICAgICAgYXBwc0xpc3QgPSBhcHBzTGlzdC5maWx0ZXIoKHsgaWQgfSkgPT4gXHJcbiAgICAgICAgaWQgIT09IE1lbnVMaXN0VHlwZUlkLlBPUlRBTF9QUk9QRVJUWV9NQU5BR0VSX0JUTiAmJiBcclxuICAgICAgICBpZCAhPT0gTWVudUxpc3RUeXBlSWQuUE9SVEFMX0JJTV9QUk9DRVNTRVNcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuZ2V0WW91clRlYW1WaXNpYmxlKSB7XHJcbiAgICAgIHJldHVybiBhcHBzTGlzdDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBpZiB0aGVyZSBpcyBubyB0ZWFtIHRoZW4gc2hvdyBvbmx5IFwiR2V0IFlvdXIgVGVhbVwiIGJ1dHRvblxyXG4gICAgcmV0dXJuIGFwcHNMaXN0LmZpbHRlcigoeyBpZCB9KSA9PiBcclxuICAgICAgaWQgIT09IE1lbnVMaXN0VHlwZUlkLlBPUlRBTF9URUFNX01BTkFHRU1FTlRfQlROICYmIFxyXG4gICAgICBpZCAhPT0gTWVudUxpc3RUeXBlSWQuUE9SVEFMX1BST1BFUlRZX01BTkFHRVJfQlROXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZvb3Rlckxpc3QoKTogTWVudUxpc3RUeXBlW10ge1xyXG4gICAgY29uc3QgZm9vdGVyTGlzdCA9IHRoaXMuX21lbnVGb290ZXJMaXN0LmZpbHRlcihpdGVtID0+IHRoaXMuX2lzU3Vic2NyaWJlZChpdGVtKSAmJiAhdGhpcy5faXNIaWRkZW4oaXRlbSkpO1xyXG4gICAgLy8gaWYgdGVhbSBpcyBhc3NpZ25lZCB0aGVuIHJlbW92ZSBcIkdldCBZb3VyIFRlYW1cIiBidXR0b25cclxuICAgIGlmICghdGhpcy5nZXRZb3VyVGVhbVZpc2libGUpIHtcclxuICAgICAgcmV0dXJuIGZvb3Rlckxpc3QuZmlsdGVyKCh7IGlkIH0pID0+IGlkICE9PSBNZW51TGlzdFR5cGVJZC5QT1JUQUxfR0VUX1lPVVJfVEVBTV9CVE4pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb290ZXJMaXN0O1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNoZWNrIGlmIGFwcCBpcyBzdWJzY3JpYmVkXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9pc1N1YnNjcmliZWQoaXRlbTpNZW51TGlzdFR5cGUpOmJvb2xlYW4ge1xyXG5cclxuICAgIGlmIChpdGVtLmNoZWNrU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIGNvbnN0IGtleSA9IGAke2l0ZW0uYWN0aW9ufVN1YnNjcmliZWRgO1xyXG4gICAgICByZXR1cm4gISEoKHRoaXMgYXMgdW5rbm93biBhcyBCaW1wbHVzTWFpbk1lbnVDb21wb25lbnRBdHRyaWJ1dGUgKVtrZXldKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY2hlY2sgaWYgYXBwIGlzIGNsaWNrYWJsZVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfaXNDbGlja2FibGUoaXRlbTpNZW51TGlzdFR5cGUpOmJvb2xlYW4ge1xyXG5cclxuICAgIGlmIChpdGVtLmNsaWNrUG9saWN5ID09PSBcIm5vUHJvamVjdE5vU3Vic2NyaXB0aW9uXCIpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucHJvamVjdE5hbWUgIT09IFwiXCI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjaGVjayBpZiBhcHAgaXMgc3Vic2NyaWJlZC92aXNpYmxlXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9pc0hpZGRlbihpdGVtOk1lbnVMaXN0VHlwZSk6Ym9vbGVhbiB7XHJcblxyXG4gICAgaWYgKGl0ZW0pIHtcclxuICAgICAgY29uc3Qga2V5ID0gYCR7aXRlbS5hY3Rpb24gPyBpdGVtLmFjdGlvbiA6IGl0ZW0uaWR9VmlzaWJsZWA7XHJcbiAgICAgIHJldHVybiAhKCh0aGlzIGFzIHVua25vd24gYXMgQmltcGx1c01haW5NZW51Q29tcG9uZW50QXR0cmlidXRlIClba2V5XSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY2hlY2sgaWYgYXBwIGlzIGRpc2FibGVkXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9pc0Rpc2FibGVkKGl0ZW06TWVudUxpc3RUeXBlKSB7XHJcbiAgICBjb25zdCBrZXkgPSBgJHtpdGVtLmFjdGlvbn1EaXNhYmxlZGA7XHJcbiAgICByZXR1cm4gISEoKHRoaXMgYXMgdW5rbm93biBhcyBCaW1wbHVzTWFpbk1lbnVDb21wb25lbnRBdHRyaWJ1dGUgKVtrZXldKTtcclxuICB9XHJcblxyXG4gIF9nZXRDb250ZXh0RGF0YShpdGVtOiBNZW51TGlzdFR5cGUsIGFjdGl2ZTogYm9vbGVhbiwgZGlzYWJsZWQ6IGJvb2xlYW4sIGNsaWNrYWJsZTogYm9vbGVhbiwgc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGl0ZW06IGl0ZW0sXHJcbiAgICAgIGFjdGl2ZTogYWN0aXZlLFxyXG4gICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgIGNsaWNrYWJsZTogY2xpY2thYmxlLFxyXG4gICAgICBzZWxlY3RlZDogc2VsZWN0ZWQsXHJcbiAgICAgIHNob3dJbmZvSWNvbjogdGhpcy5hcHBzV2l0aEluZm8uaW5jbHVkZXMoaXRlbS5pZClcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBfb3BlblByakJ0bjpNZW51TGlzdFR5cGUgPSB7IGFjdGlvbjpcIm9wZW5Qcm9qZWN0XCIsIGlkOlwicG9ydGFsU2VsZWN0UHJvamVjdEJ0blwiLHR5cGU6XCJcIiwgY2xhc3M6IFwiYmltLW1tLWljb24tZm9sZGVyXCIsIHRleHRJZDogXCJfUG9ydGFsX01lbnVfT3Blbl9Qcm9qZWN0XCIsIHRleHRJZERpc2FibGVkOiBcIl9Qb3J0YWxfTWVudV9PcGVuX1Byb2plY3RcIixkaXNhYmxlZFRpdGxlOicnLGNoZWNrU3Vic2NyaXB0aW9uOiB0cnVlLCBkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifTtcclxuXHJcbiAgY29udGV4dERhdGEgPSB7aXRlbTpcImhhaGFcIixhY3RpdmU6dHJ1ZSxkaXNhYmxlZDp0cnVlLGNsaWNrYWJsZTp0cnVlLHNlbGVjdGVkOnRydWV9O1xyXG5cclxuXHJcbiAgYXBwc0xpc3Q6IE1lbnVMaXN0VHlwZVtdID0gW1xyXG4gICAgeyBhY3Rpb246XCJwcm9qZWN0bWVtYmVyc1wiLCBpZDogTWVudUxpc3RUeXBlSWQuUE9SVEFMX0JJTV9VU0VSUywgdHlwZTpcIlwiLCBjbGFzczogXCJiaW0tbW0taWNvbi11c2Vyc1wiLCB0ZXh0SWQ6IFwiX3Byb2plY3RTdGF0aXN0aWNzTWVtYmVyc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfcHJvamVjdFN0YXRpc3RpY3NNZW1iZXJzXCIsIGRpc2FibGVkVGl0bGU6XCJfSW5zdWZmaWNpZW50IHJpZ2h0cyB0aXRsZVwiLGNoZWNrU3Vic2NyaXB0aW9uOiBmYWxzZSxkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifSxcclxuICAgIHsgYWN0aW9uOlwibW9kZWxzXCIsIGlkOiBNZW51TGlzdFR5cGVJZC5QT1JUQUxfQklNX01PREVMUywgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLW1vZGVsc1wiLCB0ZXh0SWQ6IFwiX0RpdmlzaW9uc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfRGl2aXNpb25zXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcbiAgICB7IGFjdGlvbjpcImRvY3VtZW50c1wiLCBpZDogTWVudUxpc3RUeXBlSWQuUE9SVEFMX0JJTV9ET0NVTUVOVFMsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1kb2N1bWVudHNcIiwgdGV4dElkOiBcIl9GaWxlc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfRmlsZXNcIixkaXNhYmxlZFRpdGxlOicnLGNoZWNrU3Vic2NyaXB0aW9uOiBmYWxzZSxkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifSxcclxuICAgIHsgYWN0aW9uOlwicHJvamVjdHNldHRpbmdzXCIsIGlkOiBNZW51TGlzdFR5cGVJZC5QT1JUQUxfQklNX1BST0pFQ1RfU0VUVElOR1MsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1wcm9qZWN0LXNldHRpbmdzXCIsIHRleHRJZDogXCJfU2V0dGluZ3NcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX1NldHRpbmdzXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcbiAgICB7IGFjdGlvbjpcInByb2Nlc3Nlc1wiLCBpZDogTWVudUxpc3RUeXBlSWQuUE9SVEFMX0JJTV9QUk9DRVNTRVMsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1wcm9jZXNzZXNcIiwgdGV4dElkOiBcIl9BcHByb3ZhbHNcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX0FwcHJvdmFsc1wiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJcIixpZDogTWVudUxpc3RUeXBlSWQuRElWSURFUl9QUk9KRUNUX01BTkFHRU1FTlQsIHR5cGU6XCJkaXZpZGVyXCIsIGNsYXNzOiBcImJpbS1tbS1hcHAtaXRlbS1kaXZpZGVyXCIsIHRleHRJZDogXCJcIix0ZXh0SWREaXNhYmxlZDpcIlwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG5cclxuICAgIHsgYWN0aW9uOlwiYmltZXhwbG9yZXJcIiwgaWQ6IE1lbnVMaXN0VHlwZUlkLlBPUlRBTF9CSU1fVklFV0VSX0JUTiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLWJpbS1leHBsb3JlclwiLCB0ZXh0SWQ6IFwiX1BvcnRhbF9NZW51X0JJTV9FeHBsb3JlclwiLCB0ZXh0SWREaXNhYmxlZDogXCJfUG9ydGFsX01lbnVfQklNX0V4cGxvcmVyXCIsIGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwibm9Qcm9qZWN0Tm9TdWJzY3JpcHRpb25cIn0sXHJcbiAgICB7IGFjdGlvbjpcImNsb3Vkdmlld2VyXCIsIGlkOiBNZW51TGlzdFR5cGVJZC5QT1JUQUxfQ0xPVURfVklFV0VSX0JUTiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLWNsb3VkLXZpZXdlclwiLCB0ZXh0SWQ6IFwiX01vZGVsX1ZpZXdlclwiLCB0ZXh0SWREaXNhYmxlZDogXCJfTW9kZWxfVmlld2VyXCIsIGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwibm9Qcm9qZWN0Tm9TdWJzY3JpcHRpb25cIn0sXHJcbiAgICB7IGFjdGlvbjpcImNvbm5leGlzXCIsIGlkOiBNZW51TGlzdFR5cGVJZC5QT1JUQUxfQ09OTkVYSVNfQlROLCB0eXBlOlwiXCIsY2xhc3M6IFwiYmltLW1tLWljb24tY29ubmV4aXNcIiwgdGV4dElkOiBcIl9Db25uZXhpc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfQ29ubmV4aXNcIiwgZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsIGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsIGNsaWNrUG9saWN5OiBcIm5vUHJvamVjdE5vU3Vic2NyaXB0aW9uXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJhdXRvY29udmVydGVyXCIsIGlkOiBNZW51TGlzdFR5cGVJZC5QT1JUQUxfQklNX0FVVE9DT05WRVJURVJfQlROLCB0eXBlOlwiXCIsY2xhc3M6IFwiYmltLW1tLWljb24tYXV0b2NvbnZlcnRlclwiLCB0ZXh0SWQ6IFwiX0F1dG9jb252ZXJ0ZXJcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX0F1dG9jb252ZXJ0ZXJcIiwgZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogdHJ1ZSwgZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSwgY2xpY2tQb2xpY3k6IFwibm9Qcm9qZWN0Tm9TdWJzY3JpcHRpb25cIn0sXHJcblxyXG4gICAgeyBhY3Rpb246XCJcIixpZDogTWVudUxpc3RUeXBlSWQuRElWSURFUkFQUFMsIHR5cGU6XCJkaXZpZGVyXCIsIGNsYXNzOiBcImJpbS1tbS1hcHAtaXRlbS1kaXZpZGVyXCIsIHRleHRJZDogXCJcIix0ZXh0SWREaXNhYmxlZDpcIlwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG5cclxuICAgIHsgYWN0aW9uOlwidGVhbW1lbWJlcnNcIiwgaWQ6IE1lbnVMaXN0VHlwZUlkLlBPUlRBTF9URUFNX01BTkFHRU1FTlRfQlROLCB0eXBlOlwiXCIsIGNsYXNzOiBcImJpbS1tbS1pY29uLXRlYW0tbWVtYmVyc1wiLCB0ZXh0SWQ6IFwiX1BvcnRhbF9NZW51X1RlYW1fTWVtYmVyc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfUG9ydGFsX01lbnVfVGVhbV9NZW1iZXJzXCIsIGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IHRydWUsIGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJwcm9wZXJ0eW1hbmFnZXJcIiwgaWQ6IE1lbnVMaXN0VHlwZUlkLlBPUlRBTF9QUk9QRVJUWV9NQU5BR0VSX0JUTiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLXByb3BlcnR5LW1hbmFnZXJcIiwgdGV4dElkOiBcIl9Qb3J0YWxfTWVudV9Qcm9wZXJ0aWVzXCIsIHRleHRJZERpc2FibGVkOiBcIl9Qb3J0YWxfTWVudV9Qcm9wZXJ0aWVzXCIsIGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IHRydWUsIGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gIF07XHJcblxyXG4gIF9tZW51Rm9vdGVyTGlzdDogTWVudUxpc3RUeXBlW10gPSBbXHJcbiAgICB7IGFjdGlvbjpcImFkZGluc1wiLCBpZDogTWVudUxpc3RUeXBlSWQuUE9SVEFMX0FERF9JTlNfQlROLCB0eXBlOlwiXCIsIGNsYXNzOiBcImJpbS1tbS1pY29uLWFkZC1pbnNcIiwgdGV4dElkOiBcIl9BZGRJbnNcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX0FkZEluc1wiLCBkaXNhYmxlZFRpdGxlOicnLCBjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsIGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsIGNsaWNrUG9saWN5OiBcIlwifSxcclxuICAgIHsgXHJcbiAgICAgIGFjdGlvbjpcImdldFlvdXJUZWFtXCIsIFxyXG4gICAgICBpZDogTWVudUxpc3RUeXBlSWQuUE9SVEFMX0dFVF9ZT1VSX1RFQU1fQlROLFxyXG4gICAgICBjbGFzczogXCJiaW0tbW0taWNvbi10ZWFtLW1lbWJlcnNcIiwgXHJcbiAgICAgIHRleHRJZDogXCJfR2V0X1lvdXJfVGVhbVwiLCBcclxuICAgICAgdGV4dElkRGlzYWJsZWQ6IFwiX0dldF9Zb3VyX1RlYW1cIixcclxuICAgIH0gYXMgTWVudUxpc3RUeXBlLFxyXG4gICAgeyBhY3Rpb246XCJzaG9wXCIsIGlkOiBNZW51TGlzdFR5cGVJZC5QT1JUQUxfU0hPUF9CVE4sIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1zaG9wXCIsIHRleHRJZDogXCJfU2hvcFwiLCB0ZXh0SWREaXNhYmxlZDogXCJfU2hvcFwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9XHJcbiAgXTtcclxuXHJcbiAgX292ZXJsYXlDbGlja2VkKCl7XHJcbiAgICBmaXJlRXZlbnQodGhpcywgXCJiaW1wbHVzTWFpbk1lbnVPdmVybGF5Q2xpY2tlZFwiKTtcclxuICB9XHJcblxyXG4gIF9tYWluTWVudUl0ZW1DbGlja2VkKGl0ZW06IE1lbnVMaXN0VHlwZSx0eXBlOnN0cmluZyxldmVudDogRXZlbnQgfCB1bmRlZmluZWQgKXtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0eXBlICE9IFwiaW5mb1wiKSB7XHJcbiAgICAgIGlmICh0aGlzLl9pc0Rpc2FibGVkKGl0ZW0pKXtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhY3Rpb24gPSBpdGVtLmFjdGlvbjtcclxuICAgIGZpcmVFdmVudCh0aGlzLFwiYmltcGx1c01haW5NZW51Q2xpY2tlZFwiLCB7YWN0aW9uLHR5cGU6dHlwZSB9ICk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjYXBwSXRlbUNvbnRlbnQgbGV0LWNvbnRleHREYXRhPlxyXG4gIEBpZiAoY29udGV4dERhdGEuaXRlbS50eXBlID09PSAnZGl2aWRlcicpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJiaW0tbW0tYXBwLWl0ZW1cIiBbY2xhc3NdPVwiY29udGV4dERhdGEuaXRlbS5jbGFzc1wiIFtpZF09XCJjb250ZXh0RGF0YS5pdGVtLmlkXCI+PC9kaXY+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiYmltLW1tLWFwcC1pdGVtXCIgW2lkXT1cImNvbnRleHREYXRhLml0ZW0uaWRcIlxyXG4gICAgICBbbmdDbGFzc109XCJpc1RvdWNoPycnOidob3Zlci1zaG93LWluZm8gJysoY29udGV4dERhdGEuYWN0aXZlPydhY3RpdmUgJzonICcpICsoY29udGV4dERhdGEuZGlzYWJsZWQ/J2Rpc2FibGVkICc6JyAnKSsoY29udGV4dERhdGEuY2xpY2thYmxlPycgJzonbm90LWNsaWNrYWJsZSAnKSsoY29udGV4dERhdGEuc2VsZWN0ZWQ/J3NlbGVjdGVkICc6JyAnKVwiXHJcbiAgICAgIFt0aXRsZV0gID1cIigoY29udGV4dERhdGEuZGlzYWJsZWQpID8gIChjb250ZXh0RGF0YS5pdGVtLmRpc2FibGVkVGl0bGUgfCB0cmFuc2xhdGUpIDogJycgKVwiXHJcbiAgICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cImJpbS1tbS1hcHAtaXRlbS1kZXRhaWxzXCJcclxuICAgICAgICAgICBbbmdDbGFzc10gPSBcIiBjb250ZXh0RGF0YS5jbGlja2FibGUgPyAnJyA6ICdub3QtY2xpY2thYmxlJyBcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJfbWFpbk1lbnVJdGVtQ2xpY2tlZChjb250ZXh0RGF0YS5pdGVtLCdub3JtYWwnLCRldmVudClcIlxyXG4gICAgICAgICAgIChrZXlwcmVzcyk9XCJfbWFpbk1lbnVJdGVtQ2xpY2tlZChjb250ZXh0RGF0YS5pdGVtLCdub3JtYWwnLCRldmVudClcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJiaW0tbW0taWNvblwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29udGV4dERhdGEuaXRlbS5jbGFzcyArIChjb250ZXh0RGF0YS5hY3RpdmU/JyBhY3RpdmUnOicnKSArIChjb250ZXh0RGF0YS5kaXNhYmxlZD8nIGRpc2FibGVkICc6JycpXCI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxzcGFuPnt7KGNvbnRleHREYXRhLmlzRGlzYWJsZWQgJiYgKGNvbnRleHREYXRhLml0ZW0udGV4dElkRGlzYWJsZWQgIT09XCJcIikgPyBjb250ZXh0RGF0YS5pdGVtLnRleHRJZERpc2FibGVkIDogY29udGV4dERhdGEuaXRlbS50ZXh0SWQpIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICBAaWYoY29udGV4dERhdGEuc2hvd0luZm9JY29uKXtcclxuICAgICAgPGRpdiBjbGFzcz1cImJpbS1tbS1hcHAtaXRlbS1pbmZvIGJpbS1tbS1pY29uIGJpbS1tbS1pY29uLWluZm9cIlxyXG4gICAgICAgICAgIChjbGljayk9XCJfbWFpbk1lbnVJdGVtQ2xpY2tlZChjb250ZXh0RGF0YS5pdGVtLCAnaW5mbycsJGV2ZW50KVwiXHJcbiAgICAgICAgICAgKGtleXByZXNzKT1cIl9tYWluTWVudUl0ZW1DbGlja2VkKGNvbnRleHREYXRhLml0ZW0sICdpbmZvJywkZXZlbnQpXCI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuXHJcblxyXG48ZGl2IFxyXG4gIGNsYXNzPVwiYmltLW1tLXdyYXBwZXJcIiBcclxuICBbbmdDbGFzc109XCJzaG93T3ZlcmxheSA/ICdiaW0tbW0tb3ZlcmxheScgOiAnJ1wiIFxyXG4gIChjbGljayk9XCJfb3ZlcmxheUNsaWNrZWQoKVwiXHJcbiAgKGtleXByZXNzKT1cIl9vdmVybGF5Q2xpY2tlZCgpXCJcclxuICA+XHJcbiAgICA8ZGl2IGNsYXNzPSBcImJpbS1tbS1jb250YWluZXJcIj5cclxuICAgICAgQGlmKCFfaXNIaWRkZW4oX29wZW5QcmpCdG4pKXtcclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhcHBJdGVtQ29udGVudDsgY29udGV4dDogeyAkaW1wbGljaXQ6IF9nZXRDb250ZXh0RGF0YShfb3BlblByakJ0bixwcm9qZWN0QWN0aXZlSXRlbSA9PT0gJ3Byb2plY3RsaXN0JyxfaXNEaXNhYmxlZChfb3BlblByakJ0biksdHJ1ZSxwcm9qZWN0QWN0aXZlSXRlbSA9PT0gJ3Byb2plY3RsaXN0JykgfVwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYoYmltcGx1c1Byb2plY3RNZW51VmlzaWJsZSl7XHJcbiAgICAgICAgPGxpYi1iaW1wbHVzLXByb2plY3QtbWVudVxyXG4gICAgICAgICAgICBwcm9qZWN0TmFtZSA9IHt7cHJvamVjdE5hbWV9fVxyXG4gICAgICAgICAgICBwcm9qZWN0SW1hZ2VVcmwgPSB7e3Byb2plY3RJbWFnZVVybH19XHJcbiAgICAgICAgICAgIHByb2plY3RFeHBsb3JlclVybCA9IHt7cHJvamVjdEV4cGxvcmVyVXJsfX1cclxuICAgICAgICAgICAgcHJvamVjdEFjdGl2ZUl0ZW0gPSB7e3Byb2plY3RBY3RpdmVJdGVtfX1cclxuICAgICAgICAgICAgcHJvamVjdG1lbWJlcnNEaXNhYmxlZCA9IHt7cHJvamVjdG1lbWJlcnNEaXNhYmxlZH19XHJcbiAgICAgICAgICAgIG1vZGVsc0Rpc2FibGVkID0ge3ttb2RlbHNEaXNhYmxlZH19XHJcbiAgICAgICAgICAgIGRvY3VtZW50c0Rpc2FibGVkID0ge3tkb2N1bWVudHNEaXNhYmxlZH19XHJcbiAgICAgICAgICAgIHByb2plY3RzZXR0aW5nc0Rpc2FibGVkID0ge3twcm9qZWN0c2V0dGluZ3NEaXNhYmxlZH19XHJcbiAgICAgICAgICAgIHByb2Nlc3Nlc0Rpc2FibGVkID0ge3twcm9jZXNzZXNEaXNhYmxlZH19XHJcbiAgICAgICAgICAgIHByb2plY3RtZW1iZXJzVmlzaWJsZSA9IHt7cHJvamVjdG1lbWJlcnNWaXNpYmxlfX1cclxuICAgICAgICAgICAgbW9kZWxzVmlzaWJsZSA9IHt7bW9kZWxzVmlzaWJsZX19XHJcbiAgICAgICAgICAgIGRvY3VtZW50c1Zpc2libGUgPSB7e2RvY3VtZW50c1Zpc2libGV9fVxyXG4gICAgICAgICAgICBwcm9qZWN0c2V0dGluZ3NWaXNpYmxlID0ge3twcm9qZWN0c2V0dGluZ3NWaXNpYmxlfX1cclxuICAgICAgICAgICAgcHJvY2Vzc2VzVmlzaWJsZSA9IHt7cHJvY2Vzc2VzVmlzaWJsZX19XHJcbiAgICAgICAgICAgIGlzQ29sbGFwc2VkID0ge3tpc0NvbGxhcHNlZH19XHJcbiAgICAgICAgICAgIGlzTWluaU1vZGUgPSB7e2lzVG91Y2h9fVxyXG4gICAgICAgICAgICBpc1RvdWNoID0ge3tpc1RvdWNofX1cclxuICAgICAgICAgICAgaGlkZU1lbnVJY29ucyA9IHt7aGlkZVByb2plY3RNZW51SWNvbnN9fVxyXG4gICAgICAgICAgICBzaG93SG9yaXpvbnRhbE1lbnVJY29ucyA9IHt7c2hvd0hvcml6b250YWxNZW51SWNvbnN9fVxyXG4gICAgICAgICAgICBbbWVudUl0ZW1zT3JkZXJdPVwibWVudUl0ZW1zT3JkZXJcIlxyXG4gICAgICAgID48L2xpYi1iaW1wbHVzLXByb2plY3QtbWVudT5cclxuICAgICAgfVxyXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiYXBwcy5sZW5ndGggfHwgZm9vdGVyTGlzdC5sZW5ndGggPyAnYmltLW1tLWFwcHMtY29udGFpbmVyJyA6ICcnXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmltLW1tLWFwcHMtbGlzdFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhcHBJdGVtIG9mIGFwcHNcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImFwcEl0ZW1Db250ZW50OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogX2dldENvbnRleHREYXRhKGFwcEl0ZW0sIV9pc1N1YnNjcmliZWQoYXBwSXRlbSksX2lzRGlzYWJsZWQoYXBwSXRlbSksX2lzQ2xpY2thYmxlKGFwcEl0ZW0pLG1lbnVBY3RpdmVJdGVtID09PSBhcHBJdGVtLmFjdGlvbil9XCJcclxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmltLW1tLWZvb3Rlci1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZm9vdGVySXRlbSBvZiBmb290ZXJMaXN0XCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhcHBJdGVtQ29udGVudDsgY29udGV4dDogeyAkaW1wbGljaXQ6IF9nZXRDb250ZXh0RGF0YShmb290ZXJJdGVtLGZvb3RlckFjdGl2ZUl0ZW0gPT09IGZvb3Rlckl0ZW0uYWN0aW9uLF9pc0Rpc2FibGVkKGZvb3Rlckl0ZW0pLHRydWUsZmFsc2UpfVwiXHJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -2248,7 +2248,19 @@ class BimplusMainMenuComponent extends BimplusLocalizedWidgetComponent {
2248
2248
  }
2249
2249
  get apps() {
2250
2250
  let appsList = this.appsList.sort((a, b) => this.appsOrder.indexOf(a.id) - this.appsOrder.indexOf(b.id));
2251
- // if is-touch remove property manager btn. & approvals btn.
2251
+ // if connexisVisible remove PORTAL_CONNEXIS_BTN.
2252
+ if (!this.connexisVisible) {
2253
+ appsList = appsList.filter(({ id }) => id !== MenuListTypeId.PORTAL_CONNEXIS_BTN);
2254
+ }
2255
+ // if teammembersDisabled remove PORTAL_TEAM_MANAGEMENT_BTN.
2256
+ if (this.teammembersDisabled) {
2257
+ appsList = appsList.filter(({ id }) => id !== MenuListTypeId.PORTAL_TEAM_MANAGEMENT_BTN);
2258
+ }
2259
+ // if propertymanagerDisabled remove PORTAL_PROPERTY_MANAGER_BTN.
2260
+ if (this.propertymanagerDisabled) {
2261
+ appsList = appsList.filter(({ id }) => id !== MenuListTypeId.PORTAL_PROPERTY_MANAGER_BTN);
2262
+ }
2263
+ // if isTouch remove property manager btn. & approvals btn.
2252
2264
  if (this.isTouch) {
2253
2265
  appsList = appsList.filter(({ id }) => id !== MenuListTypeId.PORTAL_PROPERTY_MANAGER_BTN &&
2254
2266
  id !== MenuListTypeId.PORTAL_BIM_PROCESSES);