@colijnit/sharedcomponents 255.1.4 → 255.1.5
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-sharedcomponents.umd.js +1 -1
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/lib/components/task-creator/task-creator.component.js +10 -2
- package/fesm2015/colijnit-sharedcomponents.js +9 -1
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/components/open-activity-list/style/_layout.scss +7 -1
- package/lib/components/task-creator/style/_layout.scss +45 -0
- package/package.json +1 -1
- package/3rdpartylicenses.txt +0 -1405
- package/favicon.ico +0 -0
- package/index.html +0 -12
- package/main.80c54da58e4b053fdd1e.js +0 -1
- package/polyfills.907fe9d1887c5de17993.js +0 -1
- package/runtime.8aac21847ed3d3829cca.js +0 -1
- package/styles.2f5ba4f7c6fe9f5b1c3f.css +0 -1
|
@@ -339,7 +339,15 @@ TaskCreatorComponent.decorators = [
|
|
|
339
339
|
<co-files-upload (documentsAdded)="addedDocument($event)" (documentDeleted)="deletedDocument"
|
|
340
340
|
[documents]="documents" [useWithoutSettingProps]="true"></co-files-upload>
|
|
341
341
|
</co-dialog>
|
|
342
|
-
<co-dialog *ngIf="showEmailDialog" (closeClick)="emailDialogClosed()"
|
|
342
|
+
<co-dialog *ngIf="showEmailDialog" (closeClick)="emailDialogClosed()"
|
|
343
|
+
[footerTemplate]="footerTemplate"
|
|
344
|
+
[headerTemplate]="headerTemplate">
|
|
345
|
+
<ng-template #headerTemplate>
|
|
346
|
+
<div class="co-dialog-wrapper-popup-title">
|
|
347
|
+
<co-icon [iconData]="iconService.getIcon(icons.EmailRegular)"></co-icon>
|
|
348
|
+
<div class="co-dialog-header-title" [textContent]="'SEND_EMAIL' | localize"></div>
|
|
349
|
+
</div>
|
|
350
|
+
</ng-template>
|
|
343
351
|
<co-role-email-selector [(model)]="emailAddresses" [key]="remarkAndWorkKey" [workflowCategoryType]="workflowCategoryType"></co-role-email-selector>
|
|
344
352
|
<co-role-email-selector [(model)]="bccEmailAddresses" [key]="remarkAndWorkKey" [workflowCategoryType]="workflowCategoryType" [recipientLabel]="'BCC_RECIPIENT'" [extraLabel]="'BCC_EXTRA_EMAIL_ADDRESSES'"></co-role-email-selector>
|
|
345
353
|
<!--TODO: reimplement once we have the backend functionality for this-->
|
|
@@ -381,4 +389,4 @@ TaskCreatorComponent.propDecorators = {
|
|
|
381
389
|
activityCreated: [{ type: Output }],
|
|
382
390
|
showClass: [{ type: HostBinding, args: ["class.co-task-creator",] }]
|
|
383
391
|
};
|
|
384
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRS9ELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0QsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRzNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBRXpFLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRyxPQUFPLEVBQUMsaUJB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dEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0FjdGl2aXR5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHkuYm9cIjtcclxuaW1wb3J0IHtBY3Rpdml0eVR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2FjdGl2aXR5LXR5cGVcIjtcclxuaW1wb3J0IHtSZW1hcmt9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZW1hcmsuYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvblNtYWxsT2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tc21hbGwtb2JqZWN0LmJvXCI7XHJcbmltcG9ydCB7VGFibGVOYW1lfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS90YWJsZS1uYW1lLmVudW1cIjtcclxuaW1wb3J0IHtXb3JrfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvd29yay5ib1wiO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC90YXNrLmJvXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dDYXRlZ29yeVR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3dvcmtmbG93LWNhdGVnb3J5LmVudW1cIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnRcIjtcclxuaW1wb3J0IHtBcnJheVV0aWxzfSBmcm9tIFwiLi4vLi4vdXRpbHMvYXJyYXktdXRpbHNcIjtcclxuaW1wb3J0IHtSb2xlRW1haWxhZGRyZXNzfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcm9sZS1lbWFpbC1hZGRyZXNzXCI7XHJcbmltcG9ydCB7YWN0aXZpdHlFbWFpbFJlcXVlc3REYXRhfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHktZW1haWwtcmVxdWVzdC1kYXRhXCI7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSZXBvcnRUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9yZXBvcnQtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7UmVwb3J0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LmJvXCI7XHJcbmltcG9ydCB7Q29yZURpYWxvZ1NlcnZpY2UsIEZvcm1Db21wb25lbnQsIEZvcm1NYXN0ZXJTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0ljb25MaXN0SXRlbX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTIvbGliL21vZGVsL2ljb24tbGlzdC1pdGVtXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5pbXBvcnQge0FjdGl2aXR5RW1haWxIaXN0b3J5fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHktZW1haWwtaGlzdG9yeS5ib1wiO1xyXG5pbXBvcnQge0NvRW1haWxBdHRhY2htZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZW1haWwtYXR0YWNobWVudC5ib1wiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tdGFzay1jcmVhdG9yXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28tZm9ybSAjY3JlYXRlRm9ybSBjbGFzcz1cImlucHV0LWZpZWxkc1wiPlxyXG4gICAgICAgIDxjby1saXN0LW9mLWljb25zIFtjb2xsZWN0aW9uXT1cIm9wdGlvbkNvbGxlY3Rpb25cIiAoaXRlbVNlbGVjdGVkKT1cIml0ZW1TZWxlY3RlZCgkZXZlbnQpXCI+PC9jby1saXN0LW9mLWljb25zPlxyXG4gICAgICAgIDxjby1pbnB1dC10ZXh0ICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzBdXCIgW3JlcXVpcmVkXT1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblswXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidSRU1BUksnIHwgbG9jYWxpemVcIiBbKG1vZGVsKV09XCJyZW1hcmtUZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcmlnaHRJY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyUGxhbmVUb3BTb2xpZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChyaWdodEljb25DbGljayk9XCJjcmVhdGVSZW1hcmtDbGlja2VkKClcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMV1cIiBbcmVxdWlyZWRdPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzFdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCIgWyhtb2RlbCldPVwid29ya0Rlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcmlnaHRJY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyUGxhbmVUb3BTb2xpZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChyaWdodEljb25DbGljayk9XCJjcmVhdGVXb3JrQ2xpY2tlZCgpXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YXNrLWlucHV0LWZpZWxkc1wiICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzJdXCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJ0YXNrTmFtZVwiIFtwbGFjZWhvbGRlcl09XCInTkFNRScgfCBsb2NhbGl6ZVwiICBbcmVxdWlyZWRdPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzJdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtyaWdodEljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJQbGFuZVRvcFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAocmlnaHRJY29uQ2xpY2spPVwiY3JlYXRlVGFza0NsaWNrZWQoKVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInRhc2tEZXNjcmlwdGlvblwiIFtwbGFjZWhvbGRlcl09XCInREVTQ1JJUFRJT04nIHwgbG9jYWxpemVcIiBbcmVxdWlyZWRdPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzJdXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2NvLWZvcm0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJleHRyYXMtYnV0dG9uc1wiPlxyXG4gICAgICAgIDxjby1idXR0b24gW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuRW1haWxSZWd1bGFyKVwiICAoY2xpY2spPVwic2hvd0VtYWlsRGlhbG9nID0gdHJ1ZVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDxjby1idXR0b24gW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJjbGlwUmVndWxhcilcIiAgKGNsaWNrKT1cInNob3dGaWxlc0RpYWxvZyA9IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImRvY3VtZW50cy5sZW5ndGggPT09IDAgPyAnJyA6IGRvY3VtZW50cy5sZW5ndGgudG9TdHJpbmcoKVwiID48L2NvLWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd0ZpbGVzRGlhbG9nXCIgKGNsb3NlQ2xpY2spPVwic2hvd0ZpbGVzRGlhbG9nID0gZmFsc2VcIj5cclxuICAgICAgICA8Y28tZmlsZXMtdXBsb2FkIChkb2N1bWVudHNBZGRlZCk9XCJhZGRlZERvY3VtZW50KCRldmVudClcIiAoZG9jdW1lbnREZWxldGVkKT1cImRlbGV0ZWREb2N1bWVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZG9jdW1lbnRzXT1cImRvY3VtZW50c1wiIFt1c2VXaXRob3V0U2V0dGluZ1Byb3BzXT1cInRydWVcIj48L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgICAgIDxjby1kaWFsb2cgKm5nSWY9XCJzaG93RW1haWxEaWFsb2dcIiAoY2xvc2VDbGljayk9XCJlbWFpbERpYWxvZ0Nsb3NlZCgpXCIgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICAgICAgPGNvLXJvbGUtZW1haWwtc2VsZWN0b3IgWyhtb2RlbCldPVwiZW1haWxBZGRyZXNzZXNcIiBba2V5XT1cInJlbWFya0FuZFdvcmtLZXlcIiBbd29ya2Zsb3dDYXRlZ29yeVR5cGVdPVwid29ya2Zsb3dDYXRlZ29yeVR5cGVcIj48L2NvLXJvbGUtZW1haWwtc2VsZWN0b3I+XHJcbiAgICAgICAgPGNvLXJvbGUtZW1haWwtc2VsZWN0b3IgWyhtb2RlbCldPVwiYmNjRW1haWxBZGRyZXNzZXNcIiBba2V5XT1cInJlbWFya0FuZFdvcmtLZXlcIiBbd29ya2Zsb3dDYXRlZ29yeVR5cGVdPVwid29ya2Zsb3dDYXRlZ29yeVR5cGVcIiBbcmVjaXBpZW50TGFiZWxdPVwiJ0JDQ19SRUNJUElFTlQnXCIgW2V4dHJhTGFiZWxdPVwiJ0JDQ19FWFRSQV9FTUFJTF9BRERSRVNTRVMnXCI+PC9jby1yb2xlLWVtYWlsLXNlbGVjdG9yPlxyXG4gICAgICAgIDwhLS1UT0RPOiByZWltcGxlbWVudCBvbmNlIHdlIGhhdmUgdGhlIGJhY2tlbmQgZnVuY3Rpb25hbGl0eSBmb3IgdGhpcy0tPlxyXG4gICAgICAgPCEtLTxjby1pbnB1dC10ZXh0IFtyZWFkb25seV09XCJmYWxzZVwiIFtsYWJlbF09XCInU0VOREVSJyB8IGxvY2FsaXplXCIgWyhtb2RlbCldPVwic2VuZGVyQWRkcmVzc1wiPjwvY28taW5wdXQtdGV4dD4tLT5cclxuXHJcbiAgICAgIDwvY28tZGlhbG9nPlxyXG5cclxuICAgICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWZvb3Rlci1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlbWFpbERpYWxvZ0Nsb3NlZCgpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVtYWlsRGlhbG9nQ2xvc2VkKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBGb3JtTWFzdGVyU2VydmljZVxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYXNrQ3JlYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQFZpZXdDaGlsZChGb3JtQ29tcG9uZW50KVxyXG4gIHB1YmxpYyBjcmVhdGVGb3JtOiBGb3JtQ29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhdXRob3I6IFJlbGF0aW9uU21hbGxPYmplY3Q7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGJyYW5jaE5vOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRhYmxlOiBUYWJsZU5hbWUgPSBUYWJsZU5hbWUuVHJhbnNhY3Rpb25zO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZW1hcmtBbmRXb3JrS2V5OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRhc2tLZXk6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgd29ya2Zsb3dDYXRlZ29yeVR5cGU6IFdvcmtmbG93Q2F0ZWdvcnlUeXBlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWN0aXZpdHlDcmVhdGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRhc2stY3JlYXRvclwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcHRpb25Db2xsZWN0aW9uOiBJY29uTGlzdEl0ZW1bXSA9IFtcclxuICAgIHsgaWNvbjogdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuQ29tbWVudFJlZ3VsYXIpLGxhYmVsOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnUkVNQVJLJywgdHJ1ZSkgfSxcclxuICAgIHsgaWNvbjogdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuUGVyc29uRGlnZ2luZ1JlZ3VsYXIpLCBsYWJlbDogdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1dPUksnLCB0cnVlKSB9LFxyXG4gICAgeyBpY29uOiB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5UYXNrKSwgbGFiZWw6IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdUQVNLJywgdHJ1ZSkgfSxcclxuICBdO1xyXG5cclxuICBwdWJsaWMgc2hvd0ZpbGVzRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGRvY3VtZW50czogQ29Eb2N1bWVudFtdID0gW107XHJcblxyXG4gIHB1YmxpYyBzaG93RW1haWxEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2VuZGVyQWRkcmVzczogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHB1YmxpYyBiY2NFbWFpbEFkZHJlc3Nlczogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgZW1haWxSZXF1ZXN0OiBhY3Rpdml0eUVtYWlsUmVxdWVzdERhdGEgPSBudWxsO1xyXG5cclxuICBwdWJsaWMgY3JlYXRlZFRhc2s6IFRhc2s7XHJcbiAgcHVibGljIGNyZWF0ZWRSZW1hcms6IFJlbWFyaztcclxuICBwdWJsaWMgY3JlYXRlZFdvcms6IFdvcms7XHJcbiAgcHVibGljIGNob3NlbkFjdGl2aXR5VHlwZTogSWNvbkxpc3RJdGVtO1xyXG5cclxuICBwdWJsaWMgcmVtYXJrVGV4dDogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgd29ya0Rlc2NyaXB0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB0YXNrTmFtZTogc3RyaW5nID0gXCJcIjtcclxuICBwdWJsaWMgdGFza0Rlc2NyaXB0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvblNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBDb3JlRGlhbG9nU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9mb3JtTWFzdGVyU2VydmljZTogRm9ybU1hc3RlclNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY2hvc2VuQWN0aXZpdHlUeXBlID0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzBdO1xyXG4gICAgdGhpcy5zZW5kZXJBZGRyZXNzID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmdldEVtYWlsU2VuZGVyQnlXb3JrZmxvd0NhdGVnb3J5QW5kS2V5KCdTRVJWSUNFX09SREVSJywgdGhpcy5yZW1hcmtBbmRXb3JrS2V5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpdGVtU2VsZWN0ZWQoaXRlbTogSWNvbkxpc3RJdGVtKTogdm9pZCB7XHJcbiAgICB0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYWRkZWREb2N1bWVudChkb2NzOiBDb0RvY3VtZW50W10pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZG9jdW1lbnRzID0gdGhpcy5kb2N1bWVudHMuY29uY2F0KGRvY3MpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRlbGV0ZWREb2N1bWVudChkb2M6IENvRG9jdW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIEFycmF5VXRpbHMuUmVtb3ZlRWxlbWVudChkb2MsIHRoaXMuZG9jdW1lbnRzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVSZW1hcmtDbGlja2VkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5fZm9ybU1hc3RlclNlcnZpY2Uuc3VibWl0U2xhdmVzKCk7XHJcbiAgICBpZiAodGhpcy5jcmVhdGVGb3JtLmlzVmFsaWQoKSkge1xyXG4gICAgICBsZXQgcmVtYXJrOiBSZW1hcmsgPSB0aGlzLmNyZWF0ZVJlbWFyaygpO1xyXG5cclxuICAgICAgbGV0IGFjdGl2aXR5OiBBY3Rpdml0eSA9IG5ldyBBY3Rpdml0eSgpO1xyXG4gICAgICBhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPSBBY3Rpdml0eVR5cGUuUmVtYXJrO1xyXG4gICAgICBhY3Rpdml0eS5yZW1hcmsgPSByZW1hcms7XHJcblxyXG4gICAgICB0aGlzLmNyZWF0ZWRSZW1hcmsgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0UmVtYXJrKGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHRoaXMuY3JlYXRlZFJlbWFyaykge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlQWZ0ZXJDcmVhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW1haWxEaWFsb2dDbG9zZWQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmVtYWlsQWRkcmVzc2VzLmxlbmd0aCA+PSAwKXtcclxuICAgICAgdGhpcy5lbWFpbFJlcXVlc3QgPSBuZXcgYWN0aXZpdHlFbWFpbFJlcXVlc3REYXRhO1xyXG4gICAgICB0aGlzLmVtYWlsUmVxdWVzdC50YWJsZSA9IHRoaXMudGFibGU7XHJcbiAgICAgIHRoaXMuZW1haWxSZXF1ZXN0LmtleSA9IHRoaXMucmVtYXJrQW5kV29ya0tleTtcclxuICAgICAgdGhpcy5lbWFpbFJlcXVlc3Quc2VuZGVyQWRkcmVzcyA9IHRoaXMuc2VuZGVyQWRkcmVzcztcclxuICAgICAgdGhpcy5lbWFpbFJlcXVlc3Quc2VuZEFkZHJlc3NlcyA9IHRoaXMuZW1haWxBZGRyZXNzZXM7XHJcbiAgICAgIHRoaXMuZW1haWxSZXF1ZXN0LmNjQWRkcmVzc2VzID0gdGhpcy5iY2NFbWFpbEFkZHJlc3NlcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZW1haWxSZXF1ZXN0ID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMuc2hvd0VtYWlsRGlhbG9nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlV29ya0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGxldCB3b3JrOiBXb3JrID0gdGhpcy5jcmVhdGVXb3JrKCk7XHJcblxyXG4gICAgICBsZXQgYWN0aXZpdHk6IEFjdGl2aXR5ID0gbmV3IEFjdGl2aXR5KCk7XHJcbiAgICAgIGFjdGl2aXR5LmFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZS5Xb3JrO1xyXG4gICAgICBhY3Rpdml0eS53b3JrID0gd29yaztcclxuXHJcbiAgICAgIHRoaXMuY3JlYXRlZFdvcmsgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0V29yayhhY3Rpdml0eSk7XHJcbiAgICAgIGlmICh0aGlzLmNyZWF0ZWRXb3JrKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0eUNyZWF0ZWQuZW1pdCgpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2VuZEVtYWlsSWZOZWNjZXNhcnkoKTtcclxuICAgICAgICB0aGlzLmNsZWFyRmllbGRzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVRhc2tDbGlja2VkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5fZm9ybU1hc3RlclNlcnZpY2Uuc3VibWl0U2xhdmVzKCk7XHJcbiAgICBpZiAodGhpcy5jcmVhdGVGb3JtLmlzVmFsaWQoKSkge1xyXG4gICAgICBjb25zdCB0YXNrID0gdGhpcy5jcmVhdGVUYXNrKCk7XHJcblxyXG4gICAgICBsZXQgYWN0aXZpdHk6IEFjdGl2aXR5ID0gbmV3IEFjdGl2aXR5KCk7XHJcbiAgICAgIGFjdGl2aXR5LmFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZS5UYXNrO1xyXG4gICAgICBhY3Rpdml0eS50YXNrID0gdGFzaztcclxuXHJcbiAgICAgIHRoaXMuY3JlYXRlZFRhc2sgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0VGFzayhhY3Rpdml0eSk7XHJcbiAgICAgIGlmICh0aGlzLmNyZWF0ZWRUYXNrKSB7XHJcbiAgICAgICAgdGhpcy5hY3Rpdml0eUNyZWF0ZWQuZW1pdCgpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2VuZEVtYWlsSWZOZWNjZXNhcnkoKTtcclxuICAgICAgICB0aGlzLmNsZWFyRmllbGRzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUmVtYXJrKCk6IFJlbWFyayB7XHJcbiAgICBsZXQgcmVtYXJrOiBSZW1hcmsgPSBuZXcgUmVtYXJrKCk7XHJcbiAgICByZW1hcmsuYXV0aG9yID0gdGhpcy5hdXRob3I7XHJcbiAgICByZW1hcmsuYXV0aG9yLmltYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgcmVtYXJrLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzO1xyXG4gICAgcmVtYXJrLnJlbWFyayA9IHRoaXMucmVtYXJrVGV4dDtcclxuICAgIHJlbWFyay5kYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICByZW1hcmsudGFibGUgPSB0aGlzLnRhYmxlO1xyXG4gICAgcmVtYXJrLmtleSA9IHRoaXMucmVtYXJrQW5kV29ya0tleTtcclxuICAgIHJlbWFyay5yZWFkID0gZmFsc2U7XHJcbiAgICByZW1hcmsuY3VycmVudCA9IHRydWU7XHJcblxyXG4gICAgcmV0dXJuIHJlbWFyaztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlV29yaygpOiBXb3JrIHtcclxuICAgIGxldCB3b3JrOiBXb3JrID0gbmV3IFdvcmsoKTtcclxuICAgIHdvcmsuZXhlY3V0aXZlID0gdGhpcy5hdXRob3I7XHJcbiAgICB3b3JrLmV4ZWN1dGl2ZS5pbWFnZSA9IHVuZGVmaW5lZDtcclxuICAgIHdvcmsuZG9jdW1lbnRzID0gdGhpcy5kb2N1bWVudHM7XHJcbiAgICB3b3JrLndvcmtlZFRpbWUgPSAwO1xyXG4gICAgd29yay53b3JrRGVzY3JpcHRpb24gPSB0aGlzLndvcmtEZXNjcmlwdGlvblxyXG4gICAgd29yay5kYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB3b3JrLnRhYmxlID0gdGhpcy50YWJsZTtcclxuICAgIHdvcmsua2V5ID0gdGhpcy5yZW1hcmtBbmRXb3JrS2V5O1xyXG5cclxuICAgIHJldHVybiB3b3JrO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVUYXNrKCk6IFRhc2sge1xyXG4gICAgbGV0IHRhc2s6IFRhc2sgPSBuZXcgVGFzaygpO1xyXG4gICAgdGFzay5leGVjdXRpdmUgPSB0aGlzLmF1dGhvcjtcclxuICAgIHRhc2suZXhlY3V0aXZlLmltYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgdGFzay5yZXBvcnRlciA9IHRoaXMuYXV0aG9yO1xyXG4gICAgdGFzay5yZXBvcnRlci5pbWFnZSA9IHVuZGVmaW5lZDtcclxuICAgIHRhc2suZG9jdW1lbnRzID0gdGhpcy5kb2N1bWVudHM7XHJcbiAgICB0YXNrLm5hbWUgPSB0aGlzLnRhc2tOYW1lO1xyXG4gICAgdGFzay5kZXNjcmlwdGlvbiA9IHRoaXMudGFza0Rlc2NyaXB0aW9uO1xyXG4gICAgdGFzay5jcmVhdGlvbkRhdGVUaW1lID0gbmV3IERhdGUoKTtcclxuICAgIHRhc2suZGF0ZURlZmluYXRlID0gZmFsc2U7XHJcbiAgICB0YXNrLm5lZWRzUGxhbm5pbmcgPSB0cnVlO1xyXG4gICAgdGFzay5wcmlvcml0eSA9IDA7XHJcbiAgICB0YXNrLndvcmtmbG93Q2F0ZWdvcnkgPSB0aGlzLndvcmtmbG93Q2F0ZWdvcnlUeXBlO1xyXG4gICAgdGFzay5yZWZlcmVuY2UgPSB0aGlzLnRhc2tLZXk7XHJcbiAgICB0YXNrLmVtYWlsQWRkcmVzc2VzID0gdGhpcy5lbWFpbEFkZHJlc3NlcztcclxuXHJcbiAgICByZXR1cm4gdGFzaztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlQWZ0ZXJDcmVhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuYWN0aXZpdHlDcmVhdGVkLmVtaXQoKTtcclxuICAgIGF3YWl0IHRoaXMuc2VuZEVtYWlsSWZOZWNjZXNhcnkoKTtcclxuICAgIHRoaXMuY2xlYXJGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc2VuZEVtYWlsSWZOZWNjZXNhcnkoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5lbWFpbEFkZHJlc3Nlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCB0ZW1wbGF0ZXM6IFJlcG9ydFtdID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmdldERlZmF1bHRFbWFpbFJlcG9ydFRlbXBsYXRlc0ZvckJyYW5jaCh0aGlzLmJyYW5jaE5vLCB0aGlzLmZpbmRSZXBvcnRUeXBlKCkpO1xyXG4gICAgICBpZiAodGVtcGxhdGVzLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgICAgbGV0IHRlbXBsYXRlOiBSZXBvcnQgPSB0aGlzLmZpbmREZWZhdWx0KHRlbXBsYXRlcyk7XHJcbiAgICAgICAgaWYgKHRlbXBsYXRlKSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0RW1haWxpbmcodGVtcGxhdGUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dFcnJvcignTk9fREVGQVVMVF9FTUFJTF9URU1QTEFURV9GT1JfUkVQT1JUJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRSZXBvcnRUeXBlKCk6IFJlcG9ydFR5cGUge1xyXG4gICAgaWYgKHRoaXMuY2hvc2VuQWN0aXZpdHlUeXBlID09PSB0aGlzLm9wdGlvbkNvbGxlY3Rpb25bMF0pIHtcclxuICAgICAgcmV0dXJuIFJlcG9ydFR5cGUuUmVtYXJrTWVzc2FnZTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPT09IHRoaXMub3B0aW9uQ29sbGVjdGlvblsxXSkge1xyXG4gICAgICByZXR1cm4gUmVwb3J0VHlwZS5Xb3JrTWVzc2FnZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBSZXBvcnRUeXBlLlRhc2tNZXNzYWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kRGVmYXVsdChyZXBvcnRMaXN0OiBSZXBvcnRbXSk6IFJlcG9ydCB7XHJcbiAgICBsZXQgZGVmYXVsdFRlbXBsYXRlOiBSZXBvcnQgPSBudWxsO1xyXG4gICAgcmVwb3J0TGlzdC5mb3JFYWNoKHIgPT4ge1xyXG4gICAgICBpZihyLmlzRGVmYXVsdCkge1xyXG4gICAgICAgIGRlZmF1bHRUZW1wbGF0ZSA9ICByO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkZWZhdWx0VGVtcGxhdGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHN0YXJ0RW1haWxpbmcodGVtcGxhdGU6IFJlcG9ydCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgZW1haWxzU2VudDpib29sZWFuID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmVtYWlsVmlhVGVtcGxhdGUodGVtcGxhdGUsIHRoaXMuY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuZW1haWxBZGRyZXNzZXMpLCB0aGlzLmNyZWF0ZUVtYWlsQWRkcmVzc1N0cmluZyh0aGlzLmJjY0VtYWlsQWRkcmVzc2VzKSxcclxuICAgICAgdGhpcy5zZW5kZXJBZGRyZXNzLCB0aGlzLmNyZWF0ZUVtYWlsU3ViamVjdCgpLCBcIlwiLCBudWxsLyp0aGlzLmNyZWF0ZUF0dGFjaG1lbnRzU3RyaW5nQXJyYXkoKSovLCB0aGlzLmNyZWF0ZUVtYWlsUGFyYW1zKCkpO1xyXG4gICAgaWYoZW1haWxzU2VudCkge1xyXG4gICAgICBsZXQgaGlzdG9yeTogQWN0aXZpdHlFbWFpbEhpc3RvcnkgPSBuZXcgQWN0aXZpdHlFbWFpbEhpc3RvcnkoKTtcclxuICAgICAgaGlzdG9yeS5lbWFpbEFkZHJlc3NlcyA9IHRoaXMuY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuZW1haWxBZGRyZXNzZXMpO1xyXG4gICAgICBoaXN0b3J5LmVtYWlsRGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICBoaXN0b3J5Lm1lc3NhZ2UgPSAnRW1haWwgQ29udGVudCBjcmVhdGVkIHZpYSBSZXBvcnQnO1xyXG4gICAgICBpZiAodGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPT09IHRoaXMub3B0aW9uQ29sbGVjdGlvblswXSkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRFbWFpbEhpc3RvcnlGb3JSZW1hcmsodGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkLCBoaXN0b3J5KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzFdKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvcldvcmsodGhpcy5jcmVhdGVkV29yay53b3JrSWQsIGhpc3RvcnkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRFbWFpbEhpc3RvcnlGb3JUYXNrKHRoaXMuY3JlYXRlZFRhc2sudGFza0lkLCBoaXN0b3J5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyByZWdpc3RlclNlbnRFbWFpbHMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgaGlzdG9yeTogQWN0aXZpdHlFbWFpbEhpc3RvcnkgPSBuZXcgQWN0aXZpdHlFbWFpbEhpc3RvcnkoKTtcclxuICAgIGhpc3RvcnkuZW1haWxBZGRyZXNzZXMgPSB0aGlzLmNyZWF0ZUVtYWlsQWRkcmVzc1N0cmluZyh0aGlzLmVtYWlsQWRkcmVzc2VzKSArICc7JyArICB0aGlzLmNyZWF0ZUVtYWlsQWRkcmVzc1N0cmluZyh0aGlzLmJjY0VtYWlsQWRkcmVzc2VzKTtcclxuICAgIC8vaGlzdG9yeS5hdHRhY2htZW50cyA9ICB0aGlzLmNyZWF0ZUF0dGFjaG1lbnRzU3RyaW5nQXJyYXkoKTtcclxuICAgIGhpc3RvcnkubWVzc2FnZSA9ICcnO1xyXG4gICAgaGlzdG9yeS5lbWFpbERhdGVUaW1lID0gbmV3IERhdGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKGFkZHJlc3Nlczogc3RyaW5nW10gKTogc3RyaW5nIHtcclxuICAgIGlmIChhZGRyZXNzZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBhZGRyZXNzZXMuam9pbignOycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVFbWFpbFN1YmplY3QoKTogc3RyaW5nIHtcclxuICAgIGxldCBzdWJqZWN0OiBzdHJpbmcgPSBcIi0gXCI7XHJcbiAgICBpZiAodGhpcy5jcmVhdGVkUmVtYXJrKSB7XHJcbiAgICAgIHN1YmplY3QgKz0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJSRU1BUktcIikgKyBcIiBcIiArIHRoaXMuY3JlYXRlZFJlbWFyay5yZW1hcmtJZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jcmVhdGVkV29yaykge1xyXG4gICAgICBzdWJqZWN0ICs9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiV09SS1wiKSArIFwiIFwiICsgdGhpcy5jcmVhdGVkV29yay53b3JrSWQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY3JlYXRlZFRhc2spIHtcclxuICAgICAgc3ViamVjdCArPSAodGhpcy5jcmVhdGVkVGFzay53b3JrZmxvd0NhdGVnb3J5ID8gdGhpcy5jcmVhdGVkVGFzay53b3JrZmxvd0NhdGVnb3J5IDogdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJUQVNLXCIpKSArIFwiIFwiICtcclxuICAgICAgICAodGhpcy5jcmVhdGVkVGFzay53b3JrZmxvd0NhdGVnb3J5ID90aGlzLmNyZWF0ZWRUYXNrLnJlZmVyZW5jZSA6IHRoaXMuY3JlYXRlZFRhc2sudGFza0lkKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdWJqZWN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVBdHRhY2htZW50c0FycmF5KCk6IENvRW1haWxBdHRhY2htZW50W10ge1xyXG4gICAgbGV0IGF0dGFjaG1lbnRzOiBDb0VtYWlsQXR0YWNobWVudFtdID0gW107XHJcbiAgICBpZiAodGhpcy5kb2N1bWVudHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRzLmZvckVhY2goZCA9PiB7XHJcbiAgICAgICAgLypsZXQgYXR0YWNobWVudDogQ29FbWFpbEF0dGFjaG1lbnQgPSBuZXcgQ29FbWFpbEF0dGFjaG1lbnQoKTtcclxuICAgICAgICBhdHRhY2htZW50LmZpbGVuYW1lID0gZC5maWxlTmFtZTtcclxuICAgICAgICBpZiAoZC5maWxlTmFtZS5zcGxpdChcIi5cIikubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgY29uc3Qgc3RyOiBzdHJpbmdbXSA9IGQuZmlsZU5hbWUuc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgYXR0YWNobWVudC5leHRlbnNpb24gPSBzdHJbc3RyLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0ZXh0RW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xyXG4gICAgICAgIGF0dGFjaG1lbnQuYm9keSA9IHRleHRFbmNvZGVyLmVuY29kZShcIllvdXIgc3RyaW5nIGhlcmVcIik7Ki9cclxuICAgICAgfSlcclxuICAgICAgcmV0dXJuIGF0dGFjaG1lbnRzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVFbWFpbFBhcmFtcygpOiBvYmplY3Qge1xyXG4gICAgaWYgKHRoaXMuY3JlYXRlZFJlbWFyaykge1xyXG4gICAgICByZXR1cm4ge29wbWVya2luZ19pZDogdGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkICsgXCJcIn07XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY3JlYXRlZFdvcmspIHtcclxuICAgICAgcmV0dXJuIHt3ZXJremhfaWQ6IHRoaXMuY3JlYXRlZFdvcmsud29ya0lkICsgXCJcIn07XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY3JlYXRlZFRhc2spIHtcclxuICAgICAgcmV0dXJuIHt0YWFrX2lkOiB0aGlzLmNyZWF0ZWRUYXNrLnRhc2tJZCArIFwiXCJ9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhckZpZWxkcygpOiB2b2lkIHtcclxuICAgIHRoaXMucmVtYXJrVGV4dCA9IFwiXCI7XHJcbiAgICB0aGlzLndvcmtEZXNjcmlwdGlvbiA9IFwiXCI7XHJcbiAgICB0aGlzLnRhc2tOYW1lID0gXCJcIjtcclxuICAgIHRoaXMudGFza0Rlc2NyaXB0aW9uID0gXCJcIjtcclxuXHJcbiAgICB0aGlzLnNlbmRlckFkZHJlc3MgPSBcIlwiO1xyXG4gICAgdGhpcy5lbWFpbEFkZHJlc3NlcyA9IFtdO1xyXG4gICAgdGhpcy5iY2NFbWFpbEFkZHJlc3NlcyA9IFtdO1xyXG4gICAgdGhpcy5lbWFpbFJlcXVlc3QgPSBudWxsO1xyXG5cclxuICAgIHRoaXMuY3JlYXRlZFdvcmsgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNyZWF0ZWRSZW1hcmsgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNyZWF0ZWRUYXNrID0gdW5kZWZpbmVkO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
392
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRS9ELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0QsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBRzNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBRXpFLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRyxPQUFPLEVBQUMsaUJB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dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS5ib1wiO1xyXG5pbXBvcnQge0FjdGl2aXR5VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vYWN0aXZpdHktdHlwZVwiO1xyXG5pbXBvcnQge1JlbWFya30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbWFyay5ib1wiO1xyXG5pbXBvcnQge1JlbGF0aW9uU21hbGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1zbWFsbC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtUYWJsZU5hbWV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3RhYmxlLW5hbWUuZW51bVwiO1xyXG5pbXBvcnQge1dvcmt9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC93b3JrLmJvXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3Rhc2suYm9cIjtcclxuaW1wb3J0IHtXb3JrZmxvd0NhdGVnb3J5VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vd29ya2Zsb3ctY2F0ZWdvcnkuZW51bVwiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge0FycmF5VXRpbHN9IGZyb20gXCIuLi8uLi91dGlscy9hcnJheS11dGlsc1wiO1xyXG5pbXBvcnQge1JvbGVFbWFpbGFkZHJlc3N9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yb2xlLWVtYWlsLWFkZHJlc3NcIjtcclxuaW1wb3J0IHthY3Rpdml0eUVtYWlsUmVxdWVzdERhdGF9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS1lbWFpbC1yZXF1ZXN0LWRhdGFcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5pbXBvcnQge1JlcG9ydFR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3JlcG9ydC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtSZXBvcnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQuYm9cIjtcclxuaW1wb3J0IHtDb3JlRGlhbG9nU2VydmljZSwgRm9ybUNvbXBvbmVudCwgRm9ybU1hc3RlclNlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7SWNvbkxpc3RJdGVtfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMi9saWIvbW9kZWwvaWNvbi1saXN0LWl0ZW1cIjtcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlFbWFpbEhpc3Rvcnl9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS1lbWFpbC1oaXN0b3J5LmJvXCI7XHJcbmltcG9ydCB7Q29FbWFpbEF0dGFjaG1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1lbWFpbC1hdHRhY2htZW50LmJvXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby10YXNrLWNyZWF0b3JcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxjby1mb3JtICNjcmVhdGVGb3JtIGNsYXNzPVwiaW5wdXQtZmllbGRzXCI+XHJcbiAgICAgICAgPGNvLWxpc3Qtb2YtaWNvbnMgW2NvbGxlY3Rpb25dPVwib3B0aW9uQ29sbGVjdGlvblwiIChpdGVtU2VsZWN0ZWQpPVwiaXRlbVNlbGVjdGVkKCRldmVudClcIj48L2NvLWxpc3Qtb2YtaWNvbnM+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMF1cIiBbcmVxdWlyZWRdPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzBdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1JFTUFSSycgfCBsb2NhbGl6ZVwiIFsobW9kZWwpXT1cInJlbWFya1RleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtyaWdodEljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJQbGFuZVRvcFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHJpZ2h0SWNvbkNsaWNrKT1cImNyZWF0ZVJlbWFya0NsaWNrZWQoKVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICA8Y28taW5wdXQtdGV4dCAqbmdJZj1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblsxXVwiIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMV1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInREVTQ1JJUFRJT04nIHwgbG9jYWxpemVcIiBbKG1vZGVsKV09XCJ3b3JrRGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtyaWdodEljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJQbGFuZVRvcFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHJpZ2h0SWNvbkNsaWNrKT1cImNyZWF0ZVdvcmtDbGlja2VkKClcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRhc2staW5wdXQtZmllbGRzXCIgKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIj5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInRhc2tOYW1lXCIgW3BsYWNlaG9sZGVyXT1cIidOQU1FJyB8IGxvY2FsaXplXCIgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3JpZ2h0SWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlclBsYW5lVG9wU29saWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChyaWdodEljb25DbGljayk9XCJjcmVhdGVUYXNrQ2xpY2tlZCgpXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwidGFza0Rlc2NyaXB0aW9uXCIgW3BsYWNlaG9sZGVyXT1cIidERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvY28tZm9ybT5cclxuICAgICAgPGRpdiBjbGFzcz1cImV4dHJhcy1idXR0b25zXCI+XHJcbiAgICAgICAgPGNvLWJ1dHRvbiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5FbWFpbFJlZ3VsYXIpXCIgIChjbGljayk9XCJzaG93RW1haWxEaWFsb2cgPSB0cnVlXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPGNvLWJ1dHRvbiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlcmNsaXBSZWd1bGFyKVwiICAoY2xpY2spPVwic2hvd0ZpbGVzRGlhbG9nID0gdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZG9jdW1lbnRzLmxlbmd0aCA9PT0gMCA/ICcnIDogZG9jdW1lbnRzLmxlbmd0aC50b1N0cmluZygpXCIgPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxjby1kaWFsb2cgKm5nSWY9XCJzaG93RmlsZXNEaWFsb2dcIiAoY2xvc2VDbGljayk9XCJzaG93RmlsZXNEaWFsb2cgPSBmYWxzZVwiPlxyXG4gICAgICAgIDxjby1maWxlcy11cGxvYWQgKGRvY3VtZW50c0FkZGVkKT1cImFkZGVkRG9jdW1lbnQoJGV2ZW50KVwiIChkb2N1bWVudERlbGV0ZWQpPVwiZGVsZXRlZERvY3VtZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtkb2N1bWVudHNdPVwiZG9jdW1lbnRzXCIgW3VzZVdpdGhvdXRTZXR0aW5nUHJvcHNdPVwidHJ1ZVwiPjwvY28tZmlsZXMtdXBsb2FkPlxyXG4gICAgICA8L2NvLWRpYWxvZz5cclxuICAgICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dFbWFpbERpYWxvZ1wiIChjbG9zZUNsaWNrKT1cImVtYWlsRGlhbG9nQ2xvc2VkKClcIlxyXG4gICAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctd3JhcHBlci1wb3B1cC10aXRsZVwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5FbWFpbFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInU0VORF9FTUFJTCcgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8Y28tcm9sZS1lbWFpbC1zZWxlY3RvciBbKG1vZGVsKV09XCJlbWFpbEFkZHJlc3Nlc1wiIFtrZXldPVwicmVtYXJrQW5kV29ya0tleVwiIFt3b3JrZmxvd0NhdGVnb3J5VHlwZV09XCJ3b3JrZmxvd0NhdGVnb3J5VHlwZVwiPjwvY28tcm9sZS1lbWFpbC1zZWxlY3Rvcj5cclxuICAgICAgICA8Y28tcm9sZS1lbWFpbC1zZWxlY3RvciBbKG1vZGVsKV09XCJiY2NFbWFpbEFkZHJlc3Nlc1wiIFtrZXldPVwicmVtYXJrQW5kV29ya0tleVwiIFt3b3JrZmxvd0NhdGVnb3J5VHlwZV09XCJ3b3JrZmxvd0NhdGVnb3J5VHlwZVwiIFtyZWNpcGllbnRMYWJlbF09XCInQkNDX1JFQ0lQSUVOVCdcIiBbZXh0cmFMYWJlbF09XCInQkNDX0VYVFJBX0VNQUlMX0FERFJFU1NFUydcIj48L2NvLXJvbGUtZW1haWwtc2VsZWN0b3I+XHJcbiAgICAgICAgPCEtLVRPRE86IHJlaW1wbGVtZW50IG9uY2Ugd2UgaGF2ZSB0aGUgYmFja2VuZCBmdW5jdGlvbmFsaXR5IGZvciB0aGlzLS0+XHJcbiAgICAgICA8IS0tPGNvLWlucHV0LXRleHQgW3JlYWRvbmx5XT1cImZhbHNlXCIgW2xhYmVsXT1cIidTRU5ERVInIHwgbG9jYWxpemVcIiBbKG1vZGVsKV09XCJzZW5kZXJBZGRyZXNzXCI+PC9jby1pbnB1dC10ZXh0Pi0tPlxyXG5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVtYWlsRGlhbG9nQ2xvc2VkKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW1haWxEaWFsb2dDbG9zZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhc2tDcmVhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKEZvcm1Db21wb25lbnQpXHJcbiAgcHVibGljIGNyZWF0ZUZvcm06IEZvcm1Db21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGF1dGhvcjogUmVsYXRpb25TbWFsbE9iamVjdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnJhbmNoTm86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFibGU6IFRhYmxlTmFtZSA9IFRhYmxlTmFtZS5UcmFuc2FjdGlvbnM7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlbWFya0FuZFdvcmtLZXk6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFza0tleTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3b3JrZmxvd0NhdGVnb3J5VHlwZTogV29ya2Zsb3dDYXRlZ29yeVR5cGU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhY3Rpdml0eUNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdGFzay1jcmVhdG9yXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wdGlvbkNvbGxlY3Rpb246IEljb25MaXN0SXRlbVtdID0gW1xyXG4gICAgeyBpY29uOiB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5Db21tZW50UmVndWxhciksbGFiZWw6IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdSRU1BUksnLCB0cnVlKSB9LFxyXG4gICAgeyBpY29uOiB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5QZXJzb25EaWdnaW5nUmVndWxhciksIGxhYmVsOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnV09SSycsIHRydWUpIH0sXHJcbiAgICB7IGljb246IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLlRhc2spLCBsYWJlbDogdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1RBU0snLCB0cnVlKSB9LFxyXG4gIF07XHJcblxyXG4gIHB1YmxpYyBzaG93RmlsZXNEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZG9jdW1lbnRzOiBDb0RvY3VtZW50W10gPSBbXTtcclxuXHJcbiAgcHVibGljIHNob3dFbWFpbERpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzZW5kZXJBZGRyZXNzOiBzdHJpbmcgPSAnJztcclxuICBwdWJsaWMgZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcHVibGljIGJjY0VtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHB1YmxpYyBlbWFpbFJlcXVlc3Q6IGFjdGl2aXR5RW1haWxSZXF1ZXN0RGF0YSA9IG51bGw7XHJcblxyXG4gIHB1YmxpYyBjcmVhdGVkVGFzazogVGFzaztcclxuICBwdWJsaWMgY3JlYXRlZFJlbWFyazogUmVtYXJrO1xyXG4gIHB1YmxpYyBjcmVhdGVkV29yazogV29yaztcclxuICBwdWJsaWMgY2hvc2VuQWN0aXZpdHlUeXBlOiBJY29uTGlzdEl0ZW07XHJcblxyXG4gIHB1YmxpYyByZW1hcmtUZXh0OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB3b3JrRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIHRhc2tOYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB0YXNrRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IENvcmVEaWFsb2dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgX2Zvcm1NYXN0ZXJTZXJ2aWNlOiBGb3JtTWFzdGVyU2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPSB0aGlzLm9wdGlvbkNvbGxlY3Rpb25bMF07XHJcbiAgICB0aGlzLnNlbmRlckFkZHJlc3MgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0RW1haWxTZW5kZXJCeVdvcmtmbG93Q2F0ZWdvcnlBbmRLZXkoJ1NFUlZJQ0VfT1JERVInLCB0aGlzLnJlbWFya0FuZFdvcmtLZXkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGl0ZW1TZWxlY3RlZChpdGVtOiBJY29uTGlzdEl0ZW0pOiB2b2lkIHtcclxuICAgIHRoaXMuY2hvc2VuQWN0aXZpdHlUeXBlID0gaXRlbTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhZGRlZERvY3VtZW50KGRvY3M6IENvRG9jdW1lbnRbXSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5kb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cy5jb25jYXQoZG9jcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZGVsZXRlZERvY3VtZW50KGRvYzogQ29Eb2N1bWVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgQXJyYXlVdGlscy5SZW1vdmVFbGVtZW50KGRvYywgdGhpcy5kb2N1bWVudHMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGNyZWF0ZVJlbWFya0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGxldCByZW1hcms6IFJlbWFyayA9IHRoaXMuY3JlYXRlUmVtYXJrKCk7XHJcblxyXG4gICAgICBsZXQgYWN0aXZpdHk6IEFjdGl2aXR5ID0gbmV3IEFjdGl2aXR5KCk7XHJcbiAgICAgIGFjdGl2aXR5LmFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZS5SZW1hcms7XHJcbiAgICAgIGFjdGl2aXR5LnJlbWFyayA9IHJlbWFyaztcclxuXHJcbiAgICAgIHRoaXMuY3JlYXRlZFJlbWFyayA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRSZW1hcmsoYWN0aXZpdHkpO1xyXG4gICAgICBpZiAodGhpcy5jcmVhdGVkUmVtYXJrKSB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVBZnRlckNyZWF0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbWFpbERpYWxvZ0Nsb3NlZCgpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuZW1haWxBZGRyZXNzZXMubGVuZ3RoID49IDApe1xyXG4gICAgICB0aGlzLmVtYWlsUmVxdWVzdCA9IG5ldyBhY3Rpdml0eUVtYWlsUmVxdWVzdERhdGE7XHJcbiAgICAgIHRoaXMuZW1haWxSZXF1ZXN0LnRhYmxlID0gdGhpcy50YWJsZTtcclxuICAgICAgdGhpcy5lbWFpbFJlcXVlc3Qua2V5ID0gdGhpcy5yZW1hcmtBbmRXb3JrS2V5O1xyXG4gICAgICB0aGlzLmVtYWlsUmVxdWVzdC5zZW5kZXJBZGRyZXNzID0gdGhpcy5zZW5kZXJBZGRyZXNzO1xyXG4gICAgICB0aGlzLmVtYWlsUmVxdWVzdC5zZW5kQWRkcmVzc2VzID0gdGhpcy5lbWFpbEFkZHJlc3NlcztcclxuICAgICAgdGhpcy5lbWFpbFJlcXVlc3QuY2NBZGRyZXNzZXMgPSB0aGlzLmJjY0VtYWlsQWRkcmVzc2VzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lbWFpbFJlcXVlc3QgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93RW1haWxEaWFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVXb3JrQ2xpY2tlZCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX2Zvcm1NYXN0ZXJTZXJ2aWNlLnN1Ym1pdFNsYXZlcygpO1xyXG4gICAgaWYgKHRoaXMuY3JlYXRlRm9ybS5pc1ZhbGlkKCkpIHtcclxuICAgICAgbGV0IHdvcms6IFdvcmsgPSB0aGlzLmNyZWF0ZVdvcmsoKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgICAgYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLldvcms7XHJcbiAgICAgIGFjdGl2aXR5LndvcmsgPSB3b3JrO1xyXG5cclxuICAgICAgdGhpcy5jcmVhdGVkV29yayA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRXb3JrKGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHRoaXMuY3JlYXRlZFdvcmspIHtcclxuICAgICAgICB0aGlzLmFjdGl2aXR5Q3JlYXRlZC5lbWl0KCk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zZW5kRW1haWxJZk5lY2Nlc2FyeSgpO1xyXG4gICAgICAgIHRoaXMuY2xlYXJGaWVsZHMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlVGFza0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmNyZWF0ZVRhc2soKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgICAgYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLlRhc2s7XHJcbiAgICAgIGFjdGl2aXR5LnRhc2sgPSB0YXNrO1xyXG5cclxuICAgICAgdGhpcy5jcmVhdGVkVGFzayA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRUYXNrKGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHRoaXMuY3JlYXRlZFRhc2spIHtcclxuICAgICAgICB0aGlzLmFjdGl2aXR5Q3JlYXRlZC5lbWl0KCk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zZW5kRW1haWxJZk5lY2Nlc2FyeSgpO1xyXG4gICAgICAgIHRoaXMuY2xlYXJGaWVsZHMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVSZW1hcmsoKTogUmVtYXJrIHtcclxuICAgIGxldCByZW1hcms6IFJlbWFyayA9IG5ldyBSZW1hcmsoKTtcclxuICAgIHJlbWFyay5hdXRob3IgPSB0aGlzLmF1dGhvcjtcclxuICAgIHJlbWFyay5hdXRob3IuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICByZW1hcmsuZG9jdW1lbnRzID0gdGhpcy5kb2N1bWVudHM7XHJcbiAgICByZW1hcmsucmVtYXJrID0gdGhpcy5yZW1hcmtUZXh0O1xyXG4gICAgcmVtYXJrLmRhdGVUaW1lID0gbmV3IERhdGUoKTtcclxuICAgIHJlbWFyay50YWJsZSA9IHRoaXMudGFibGU7XHJcbiAgICByZW1hcmsua2V5ID0gdGhpcy5yZW1hcmtBbmRXb3JrS2V5O1xyXG4gICAgcmVtYXJrLnJlYWQgPSBmYWxzZTtcclxuICAgIHJlbWFyay5jdXJyZW50ID0gdHJ1ZTtcclxuXHJcbiAgICByZXR1cm4gcmVtYXJrO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVXb3JrKCk6IFdvcmsge1xyXG4gICAgbGV0IHdvcms6IFdvcmsgPSBuZXcgV29yaygpO1xyXG4gICAgd29yay5leGVjdXRpdmUgPSB0aGlzLmF1dGhvcjtcclxuICAgIHdvcmsuZXhlY3V0aXZlLmltYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgd29yay5kb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cztcclxuICAgIHdvcmsud29ya2VkVGltZSA9IDA7XHJcbiAgICB3b3JrLndvcmtEZXNjcmlwdGlvbiA9IHRoaXMud29ya0Rlc2NyaXB0aW9uXHJcbiAgICB3b3JrLmRhdGVUaW1lID0gbmV3IERhdGUoKTtcclxuICAgIHdvcmsudGFibGUgPSB0aGlzLnRhYmxlO1xyXG4gICAgd29yay5rZXkgPSB0aGlzLnJlbWFya0FuZFdvcmtLZXk7XHJcblxyXG4gICAgcmV0dXJuIHdvcms7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVRhc2soKTogVGFzayB7XHJcbiAgICBsZXQgdGFzazogVGFzayA9IG5ldyBUYXNrKCk7XHJcbiAgICB0YXNrLmV4ZWN1dGl2ZSA9IHRoaXMuYXV0aG9yO1xyXG4gICAgdGFzay5leGVjdXRpdmUuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0YXNrLnJlcG9ydGVyID0gdGhpcy5hdXRob3I7XHJcbiAgICB0YXNrLnJlcG9ydGVyLmltYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgdGFzay5kb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cztcclxuICAgIHRhc2submFtZSA9IHRoaXMudGFza05hbWU7XHJcbiAgICB0YXNrLmRlc2NyaXB0aW9uID0gdGhpcy50YXNrRGVzY3JpcHRpb247XHJcbiAgICB0YXNrLmNyZWF0aW9uRGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGFzay5kYXRlRGVmaW5hdGUgPSBmYWxzZTtcclxuICAgIHRhc2submVlZHNQbGFubmluZyA9IHRydWU7XHJcbiAgICB0YXNrLnByaW9yaXR5ID0gMDtcclxuICAgIHRhc2sud29ya2Zsb3dDYXRlZ29yeSA9IHRoaXMud29ya2Zsb3dDYXRlZ29yeVR5cGU7XHJcbiAgICB0YXNrLnJlZmVyZW5jZSA9IHRoaXMudGFza0tleTtcclxuICAgIHRhc2suZW1haWxBZGRyZXNzZXMgPSB0aGlzLmVtYWlsQWRkcmVzc2VzO1xyXG5cclxuICAgIHJldHVybiB0YXNrO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVBZnRlckNyZWF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5hY3Rpdml0eUNyZWF0ZWQuZW1pdCgpO1xyXG4gICAgYXdhaXQgdGhpcy5zZW5kRW1haWxJZk5lY2Nlc2FyeSgpO1xyXG4gICAgdGhpcy5jbGVhckZpZWxkcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBzZW5kRW1haWxJZk5lY2Nlc2FyeSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmVtYWlsQWRkcmVzc2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IHRlbXBsYXRlczogUmVwb3J0W10gPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0RGVmYXVsdEVtYWlsUmVwb3J0VGVtcGxhdGVzRm9yQnJhbmNoKHRoaXMuYnJhbmNoTm8sIHRoaXMuZmluZFJlcG9ydFR5cGUoKSk7XHJcbiAgICAgIGlmICh0ZW1wbGF0ZXMubGVuZ3RoICE9IDApIHtcclxuICAgICAgICBsZXQgdGVtcGxhdGU6IFJlcG9ydCA9IHRoaXMuZmluZERlZmF1bHQodGVtcGxhdGVzKTtcclxuICAgICAgICBpZiAodGVtcGxhdGUpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRFbWFpbGluZyh0ZW1wbGF0ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd0Vycm9yKCdOT19ERUZBVUxUX0VNQUlMX1RFTVBMQVRFX0ZPUl9SRVBPUlQnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZFJlcG9ydFR5cGUoKTogUmVwb3J0VHlwZSB7XHJcbiAgICBpZiAodGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPT09IHRoaXMub3B0aW9uQ29sbGVjdGlvblswXSkge1xyXG4gICAgICByZXR1cm4gUmVwb3J0VHlwZS5SZW1hcmtNZXNzYWdlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzFdKSB7XHJcbiAgICAgIHJldHVybiBSZXBvcnRUeXBlLldvcmtNZXNzYWdlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFJlcG9ydFR5cGUuVGFza01lc3NhZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmREZWZhdWx0KHJlcG9ydExpc3Q6IFJlcG9ydFtdKTogUmVwb3J0IHtcclxuICAgIGxldCBkZWZhdWx0VGVtcGxhdGU6IFJlcG9ydCA9IG51bGw7XHJcbiAgICByZXBvcnRMaXN0LmZvckVhY2gociA9PiB7XHJcbiAgICAgIGlmKHIuaXNEZWZhdWx0KSB7XHJcbiAgICAgICAgZGVmYXVsdFRlbXBsYXRlID0gIHI7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRlZmF1bHRUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc3RhcnRFbWFpbGluZyh0ZW1wbGF0ZTogUmVwb3J0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBlbWFpbHNTZW50OmJvb2xlYW4gPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZW1haWxWaWFUZW1wbGF0ZSh0ZW1wbGF0ZSwgdGhpcy5jcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcodGhpcy5lbWFpbEFkZHJlc3NlcyksIHRoaXMuY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuYmNjRW1haWxBZGRyZXNzZXMpLFxyXG4gICAgICB0aGlzLnNlbmRlckFkZHJlc3MsIHRoaXMuY3JlYXRlRW1haWxTdWJqZWN0KCksIFwiXCIsIG51bGwvKnRoaXMuY3JlYXRlQXR0YWNobWVudHNTdHJpbmdBcnJheSgpKi8sIHRoaXMuY3JlYXRlRW1haWxQYXJhbXMoKSk7XHJcbiAgICBpZihlbWFpbHNTZW50KSB7XHJcbiAgICAgIGxldCBoaXN0b3J5OiBBY3Rpdml0eUVtYWlsSGlzdG9yeSA9IG5ldyBBY3Rpdml0eUVtYWlsSGlzdG9yeSgpO1xyXG4gICAgICBoaXN0b3J5LmVtYWlsQWRkcmVzc2VzID0gdGhpcy5jcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcodGhpcy5lbWFpbEFkZHJlc3Nlcyk7XHJcbiAgICAgIGhpc3RvcnkuZW1haWxEYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGhpc3RvcnkubWVzc2FnZSA9ICdFbWFpbCBDb250ZW50IGNyZWF0ZWQgdmlhIFJlcG9ydCc7XHJcbiAgICAgIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzBdKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvclJlbWFyayh0aGlzLmNyZWF0ZWRSZW1hcmsucmVtYXJrSWQsIGhpc3RvcnkpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY2hvc2VuQWN0aXZpdHlUeXBlID09PSB0aGlzLm9wdGlvbkNvbGxlY3Rpb25bMV0pIHtcclxuICAgICAgICBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0RW1haWxIaXN0b3J5Rm9yV29yayh0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZCwgaGlzdG9yeSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvclRhc2sodGhpcy5jcmVhdGVkVGFzay50YXNrSWQsIGhpc3RvcnkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHJlZ2lzdGVyU2VudEVtYWlscygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBoaXN0b3J5OiBBY3Rpdml0eUVtYWlsSGlzdG9yeSA9IG5ldyBBY3Rpdml0eUVtYWlsSGlzdG9yeSgpO1xyXG4gICAgaGlzdG9yeS5lbWFpbEFkZHJlc3NlcyA9IHRoaXMuY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuZW1haWxBZGRyZXNzZXMpICsgJzsnICsgIHRoaXMuY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuYmNjRW1haWxBZGRyZXNzZXMpO1xyXG4gICAgLy9oaXN0b3J5LmF0dGFjaG1lbnRzID0gIHRoaXMuY3JlYXRlQXR0YWNobWVudHNTdHJpbmdBcnJheSgpO1xyXG4gICAgaGlzdG9yeS5tZXNzYWdlID0gJyc7XHJcbiAgICBoaXN0b3J5LmVtYWlsRGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcoYWRkcmVzc2VzOiBzdHJpbmdbXSApOiBzdHJpbmcge1xyXG4gICAgaWYgKGFkZHJlc3Nlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGFkZHJlc3Nlcy5qb2luKCc7Jyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUVtYWlsU3ViamVjdCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHN1YmplY3Q6IHN0cmluZyA9IFwiLSBcIjtcclxuICAgIGlmICh0aGlzLmNyZWF0ZWRSZW1hcmspIHtcclxuICAgICAgc3ViamVjdCArPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlJFTUFSS1wiKSArIFwiIFwiICsgdGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNyZWF0ZWRXb3JrKSB7XHJcbiAgICAgIHN1YmplY3QgKz0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJXT1JLXCIpICsgXCIgXCIgKyB0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jcmVhdGVkVGFzaykge1xyXG4gICAgICBzdWJqZWN0ICs9ICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgPyB0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlRBU0tcIikpICsgXCIgXCIgK1xyXG4gICAgICAgICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgP3RoaXMuY3JlYXRlZFRhc2sucmVmZXJlbmNlIDogdGhpcy5jcmVhdGVkVGFzay50YXNrSWQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1YmplY3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUF0dGFjaG1lbnRzQXJyYXkoKTogQ29FbWFpbEF0dGFjaG1lbnRbXSB7XHJcbiAgICBsZXQgYXR0YWNobWVudHM6IENvRW1haWxBdHRhY2htZW50W10gPSBbXTtcclxuICAgIGlmICh0aGlzLmRvY3VtZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kb2N1bWVudHMuZm9yRWFjaChkID0+IHtcclxuICAgICAgICAvKmxldCBhdHRhY2htZW50OiBDb0VtYWlsQXR0YWNobWVudCA9IG5ldyBDb0VtYWlsQXR0YWNobWVudCgpO1xyXG4gICAgICAgIGF0dGFjaG1lbnQuZmlsZW5hbWUgPSBkLmZpbGVOYW1lO1xyXG4gICAgICAgIGlmIChkLmZpbGVOYW1lLnNwbGl0KFwiLlwiKS5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICBjb25zdCBzdHI6IHN0cmluZ1tdID0gZC5maWxlTmFtZS5zcGxpdChcIi5cIik7XHJcbiAgICAgICAgICBhdHRhY2htZW50LmV4dGVuc2lvbiA9IHN0cltzdHIubGVuZ3RoIC0gMV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHRleHRFbmNvZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7XHJcbiAgICAgICAgYXR0YWNobWVudC5ib2R5ID0gdGV4dEVuY29kZXIuZW5jb2RlKFwiWW91ciBzdHJpbmcgaGVyZVwiKTsqL1xyXG4gICAgICB9KVxyXG4gICAgICByZXR1cm4gYXR0YWNobWVudHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUVtYWlsUGFyYW1zKCk6IG9iamVjdCB7XHJcbiAgICBpZiAodGhpcy5jcmVhdGVkUmVtYXJrKSB7XHJcbiAgICAgIHJldHVybiB7b3BtZXJraW5nX2lkOiB0aGlzLmNyZWF0ZWRSZW1hcmsucmVtYXJrSWQgKyBcIlwifTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jcmVhdGVkV29yaykge1xyXG4gICAgICByZXR1cm4ge3dlcmt6aF9pZDogdGhpcy5jcmVhdGVkV29yay53b3JrSWQgKyBcIlwifTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jcmVhdGVkVGFzaykge1xyXG4gICAgICByZXR1cm4ge3RhYWtfaWQ6IHRoaXMuY3JlYXRlZFRhc2sudGFza0lkICsgXCJcIn07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsZWFyRmllbGRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW1hcmtUZXh0ID0gXCJcIjtcclxuICAgIHRoaXMud29ya0Rlc2NyaXB0aW9uID0gXCJcIjtcclxuICAgIHRoaXMudGFza05hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy50YXNrRGVzY3JpcHRpb24gPSBcIlwiO1xyXG5cclxuICAgIHRoaXMuc2VuZGVyQWRkcmVzcyA9IFwiXCI7XHJcbiAgICB0aGlzLmVtYWlsQWRkcmVzc2VzID0gW107XHJcbiAgICB0aGlzLmJjY0VtYWlsQWRkcmVzc2VzID0gW107XHJcbiAgICB0aGlzLmVtYWlsUmVxdWVzdCA9IG51bGw7XHJcblxyXG4gICAgdGhpcy5jcmVhdGVkV29yayA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuY3JlYXRlZFJlbWFyayA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuY3JlYXRlZFRhc2sgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -15593,7 +15593,15 @@ TaskCreatorComponent.decorators = [
|
|
|
15593
15593
|
<co-files-upload (documentsAdded)="addedDocument($event)" (documentDeleted)="deletedDocument"
|
|
15594
15594
|
[documents]="documents" [useWithoutSettingProps]="true"></co-files-upload>
|
|
15595
15595
|
</co-dialog>
|
|
15596
|
-
<co-dialog *ngIf="showEmailDialog" (closeClick)="emailDialogClosed()"
|
|
15596
|
+
<co-dialog *ngIf="showEmailDialog" (closeClick)="emailDialogClosed()"
|
|
15597
|
+
[footerTemplate]="footerTemplate"
|
|
15598
|
+
[headerTemplate]="headerTemplate">
|
|
15599
|
+
<ng-template #headerTemplate>
|
|
15600
|
+
<div class="co-dialog-wrapper-popup-title">
|
|
15601
|
+
<co-icon [iconData]="iconService.getIcon(icons.EmailRegular)"></co-icon>
|
|
15602
|
+
<div class="co-dialog-header-title" [textContent]="'SEND_EMAIL' | localize"></div>
|
|
15603
|
+
</div>
|
|
15604
|
+
</ng-template>
|
|
15597
15605
|
<co-role-email-selector [(model)]="emailAddresses" [key]="remarkAndWorkKey" [workflowCategoryType]="workflowCategoryType"></co-role-email-selector>
|
|
15598
15606
|
<co-role-email-selector [(model)]="bccEmailAddresses" [key]="remarkAndWorkKey" [workflowCategoryType]="workflowCategoryType" [recipientLabel]="'BCC_RECIPIENT'" [extraLabel]="'BCC_EXTRA_EMAIL_ADDRESSES'"></co-role-email-selector>
|
|
15599
15607
|
<!--TODO: reimplement once we have the backend functionality for this-->
|