@colijnit/sharedcomponents 258.1.17 → 258.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -128,7 +128,7 @@ ActivityListComponent.decorators = [
128
128
  template: `
129
129
  <div class="activity-list-wrapper">
130
130
  <div class="activity-wrapper" [class.customer-reply-wrapper]="(getRelationKind(activity.author) === RelationKind.Customer)" *ngFor="let activity of activities" >
131
- <div class="activity-display">
131
+ <div class="activity-display" [class.private-remark]="activity.remark?.author?.relationType === 'P'">
132
132
  <div class="activity-display-title">
133
133
  <span>{{activity.author && (activity.author.initials || activity.author.familyName) ? (activity.author.initials || '') + ' ' + (activity.author.familyName || '') : ''}}</span>
134
134
  <span>{{getDateString(activity.lastActionDateTime)}}</span>
@@ -189,4 +189,4 @@ ActivityListComponent.propDecorators = {
189
189
  taskIcon: [{ type: Input }],
190
190
  hidden: [{ type: HostBinding, args: ['class.co-shared-hidden',] }]
191
191
  };
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1saXN0L2FjdGl2aXR5LWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFVBQVUsRUFDckIsV0FBVyxFQUNYLEtBQUssRUFFTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUVoRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUduRSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUN6RyxPQUFPLEVBQ0wsOENBQThDLEVBRS9DLE1BQU0sOEJBQThCLENBQUM7QUFzRHRDLE1BQU0sT0FBTyxxQkFBcUI7SUFtRGhDLFlBQW1CLGdCQUFrQyxFQUNqQyxrQkFBcUQ7UUFEdEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1DO1FBbkR6RCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQW9CL0IsZUFBVSxHQUFTLElBQUksQ0FBQyxjQUFj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QUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNUO2dCQUNELFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsOENBQThDO3dCQUN2RCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO3FCQUNyRDtpQkFDRjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBOURPLGdCQUFnQjtZQUtoQixpQ0FBaUM7Ozt3QkFnRXRDLFdBQVcsU0FBQyx3QkFBd0I7eUJBS3BDLEtBQUs7eUJBWUwsS0FBSzt1QkFHTCxLQUFLO3lCQUdMLEtBQUs7dUJBR0wsS0FBSztxQkFJTCxXQUFXLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW1cIjtcclxuaW1wb3J0IHtBY3Rpdml0eX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9hY3Rpdml0eS10eXBlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QUxMX01PTlRIU30gZnJvbSBcIi4uLy4uL21vZGVsL2NvbnN0YW50L2FsbC1tb250aHNcIjtcclxuaW1wb3J0IHtUaW1lVXRpbHN9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC91dGlscy90aW1lLXV0aWxzXCI7XHJcbmltcG9ydCB7UmVsYXRpb25TbWFsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXNtYWxsLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnRcclxufSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tYWN0aXZpdHktbGlzdFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktbGlzdC13cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS13cmFwcGVyXCIgW2NsYXNzLmN1c3RvbWVyLXJlcGx5LXdyYXBwZXJdPVwiKGdldFJlbGF0aW9uS2luZChhY3Rpdml0eS5hdXRob3IpID09PSBSZWxhdGlvbktpbmQuQ3VzdG9tZXIpXCIgKm5nRm9yPVwibGV0IGFjdGl2aXR5IG9mIGFjdGl2aXRpZXNcIiA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXlcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1kaXNwbGF5LXRpdGxlXCI+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7YWN0aXZpdHkuYXV0aG9yICYmIChhY3Rpdml0eS5hdXRob3IuaW5pdGlhbHMgfHwgYWN0aXZpdHkuYXV0aG9yLmZhbWlseU5hbWUpID8gKGFjdGl2aXR5LmF1dGhvci5pbml0aWFscyB8fCAnJykgKyAnICcgKyAoYWN0aXZpdHkuYXV0aG9yLmZhbWlseU5hbWUgfHwgJycpIDogJyd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e3tnZXREYXRlU3RyaW5nKGFjdGl2aXR5Lmxhc3RBY3Rpb25EYXRlVGltZSl9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXktY29udGVudFwiIFtjbGFzcy5jdXN0b21lci1yZXBseS1jb250ZW50XT1cIihnZXRSZWxhdGlvbktpbmQoYWN0aXZpdHkuYXV0aG9yKSA9PT0gUmVsYXRpb25LaW5kLkN1c3RvbWVyKVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktZGlzcGxheS1ib2R5XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWljb25cIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOiBnZXRDb2xvckZvckFjdGl2aXR5KGFjdGl2aXR5KX1cIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oZ2V0QWN0aXZpdHlJY29uKGFjdGl2aXR5KSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aXZpdHkuYWN0aXZpdHlUeXBlICE9PSBBY3Rpdml0eVR5cGUuU3RhdGVDaGFuZ2VcIj57e2FjdGl2aXR5LnN1YkRlc2NyaXB0aW9ufX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPT09IEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZVwiPnt7YWN0aXZpdHkuYWN0aXZpdHlUaXRsZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXktZm9vdGVyXCIgW2NsYXNzLmV4dHJhLWhlaWdodF09XCJzaG93VHJpZ2dlcnMoYWN0aXZpdHkpIHx8IHNob3dBdHRhY2htZW50cyhhY3Rpdml0eSkgfHwgc2hvd1dvcmtlZFRpbWUoYWN0aXZpdHkpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWZpcmVkLXRyaWdnZXJzXCIgKm5nSWY9XCJzaG93VHJpZ2dlcnMoYWN0aXZpdHkpXCIgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWZpcmVkLXRyaWdnZXJcIiAqbmdGb3I9XCJsZXQgdHJpZ2dlck5hbWUgb2YgYWN0aXZpdHkuc3RhdGVDaGFuZ2U/LmZpcmVkVHJpZ2dlck5hbWVzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7dHJpZ2dlck5hbWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWluZGljYXRvcnNcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd0F0dGFjaG1lbnRzKGFjdGl2aXR5KVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oSWNvbi5QYXBlcmNsaXBSZWd1bGFyKVwiIChjbGljayk9XCJvcGVuQWN0aXZpdHlQb3B1cChhY3Rpdml0eSlcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInNob3dFbWFpbEhpc3RvcnkoYWN0aXZpdHkpXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihJY29uLkVtYWlsUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dBdHRhY2htZW50cyhhY3Rpdml0eSlcIj57e2FjdGl2aXR5LmRvY3VtZW50cy5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd1dvcmtlZFRpbWUoYWN0aXZpdHkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oSWNvbi5DbG9ja1JlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93V29ya2VkVGltZShhY3Rpdml0eSlcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAge3tUaW1lVXRpbHMuQ29udmVydFRvRHVyYXRpb24oZ2V0V29ya2VkVGltZShhY3Rpdml0eSkpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tZGlhbG9nICpuZ0lmPVwic2hvd0FjdGl2aXR5UG9wdXBcIiAoY2xvc2VDbGljayk9XCJzaG93QWN0aXZpdHlQb3B1cCA9IGZhbHNlXCI+XHJcbiAgICAgIDxjby1maWxlcy11cGxvYWQgW2NhbkFkZF09XCJmYWxzZVwiICBbZG9jdW1lbnRzXT1cImN1cnJlbnRBY3Rpdml0eURvY3VtZW50c1wiPlxyXG4gICAgICA8L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFjdGl2aXR5TGlzdENvbXBvbmVudClcclxuICAgIH1cclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgU2NyZWVuQ29uZmlnQWRhcHRlckNvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQ7XHJcbiAgcHVibGljIHJlYWRvbmx5IEFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgVGltZVV0aWxzID0gVGltZVV0aWxzO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1hY3Rpdml0eS1saXN0XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGFjdGl2aXRpZXModmFsdWU6IEFjdGl2aXR5W10pIHtcclxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHZhbHVlLnNvcnQoKGE6IEFjdGl2aXR5LCBiOiBBY3Rpdml0eSkgPT4gYS5sYXN0QWN0aW9uRGF0ZVRpbWUgPCBiLmxhc3RBY3Rpb25EYXRlVGltZSA/IDE6IC0xKTtcclxuICAgIH1cclxuICAgIHRoaXMuX2FjdGl2aXRpZXMgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYWN0aXZpdGllcygpOiBBY3Rpdml0eVtdIHtcclxuICAgIHJldHVybiB0aGlzLl9hY3Rpdml0aWVzO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVtYXJrSWNvbjogSWNvbiA9IEljb24uQ29tbWVudFJlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHdvcmtJY29uOiBJY29uID0gSWNvbi5QZXJzb25EaWdnaW5nUmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RhdHVzSWNvbjogSWNvbiA9IEljb24uRGlhZ3JhbVByb2plY3RSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YXNrSWNvbjogSWNvbiA9IEljb24uVGFzaztcclxuXHJcbiAgcHVibGljIG9iamVjdENvbmZpZ05hbWU6IHN0cmluZztcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNoYXJlZC1oaWRkZW4nKVxyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBmb3JjZVJlYWRvbmx5OiBib29sZWFuO1xyXG4gIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcclxuICBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXI7XHJcbiAgcHVibGljIGRlY2ltYWxzOiBudW1iZXI7XHJcbiAgcHVibGljIHJlZEVycm9yQmFja2dyb3VuZDogYm9vbGVhbjtcclxuXHJcbiAgcHVibGljIHNob3dBY3Rpdml0eVBvcHVwOiBCb29sZWFuO1xyXG4gIHB1YmxpYyBjdXJyZW50QWN0aXZpdHlEb2N1bWVudHM6IENvRG9jdW1lbnRbXTtcclxuXHJcbiAgcHJpdmF0ZSBfYWN0aXZpdGllczogQWN0aXZpdHlbXVxyXG4gIHByaXZhdGUgYWN0aXZpdHlDb2xvck1hcDogTWFwPEFjdGl2aXR5LCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9kaWN0aW9uYXJ5U2VydmljZTogU2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UmVsYXRpb25LaW5kKGF1dGhvcjogUmVsYXRpb25TbWFsbE9iamVjdCk6IFJlbGF0aW9uS2luZCB7XHJcbiAgICBpZiAoYXV0aG9yKSB7XHJcbiAgICAgIHJldHVybiBhdXRob3IucmVsYXRpb25UeXBlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXREYXRlU3RyaW5nKGRhdGU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCk7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLmdldChBTExfTU9OVEhTW2RhdGUuZ2V0TW9udGgoKV0pO1xyXG4gICAgY29uc3QgaG91cnMgPSBkYXRlLmdldEhvdXJzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gICAgY29uc3QgbWludXRlcyA9IGRhdGUuZ2V0TWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIHJldHVybiBgJHtkYXl9ICR7bW9udGh9ICR7aG91cnN9OiR7bWludXRlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFjdGl2aXR5SWNvbihhY3Rpdml0eTogQWN0aXZpdHkpOiBJY29uIHtcclxuICAgIHN3aXRjaCAoYWN0aXZpdHkuYWN0aXZpdHlUeXBlKSB7XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLlJlbWFyazpcclxuICAgICAgICByZXR1cm4gdGhpcy5yZW1hcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Xb3JrZmxvd1N0YXR1czpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29yazpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29ya2Zsb3dUYXNrOlxyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5Gb3JtOlxyXG4gICAgICAgIHJldHVybiB0aGlzLndvcmtJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZTpcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0dXNJY29uO1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5UYXNrOlxyXG4gICAgICAgIHJldHVybiB0aGlzLnRhc2tJY29uO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dUcmlnZ2VycyhhY3Rpdml0eTogQWN0aXZpdHkpOiBib29sZWFuIHtcclxuICAgIGlmIChhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPT09IEFjdGl2aXR5VHlwZS5TdGF0ZUNoYW5nZSAmJiBhY3Rpdml0eS5zdGF0ZUNoYW5nZS5maXJlZFRyaWdnZXJOYW1lcyAmJlxyXG4gICAgICAgICAgICAgICAgICBhY3Rpdml0eS5zdGF0ZUNoYW5nZS5maXJlZFRyaWdnZXJOYW1lcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0F0dGFjaG1lbnRzKGFjdGl2aXR5OiBBY3Rpdml0eSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGFjdGl2aXR5LmRvY3VtZW50cyAmJiBhY3Rpdml0eS5kb2N1bWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dFbWFpbEhpc3RvcnkoYWN0aXZpdHk6IEFjdGl2aXR5KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoKGFjdGl2aXR5LnJlbWFyayAmJiBhY3Rpdml0eS5yZW1hcmsuZW1haWxIaXN0b3J5ICYmIGFjdGl2aXR5LnJlbWFyay5lbWFpbEhpc3RvcnkubGVuZ3RoID4gMCkgfHxcclxuICAgICAgICAoYWN0aXZpdHkud29yayAmJiBhY3Rpdml0eS53b3JrLmVtYWlsSGlzdG9yeSAmJiBhY3Rpdml0eS53b3JrLmVtYWlsSGlzdG9yeS5sZW5ndGggPiAwKSB8fFxyXG4gICAgICAgIChhY3Rpdml0eS50YXNrICYmIGFjdGl2aXR5LnRhc2suZW1haWxIaXN0b3J5ICYmIGFjdGl2aXR5LnRhc2suZW1haWxIaXN0b3J5Lmxlbmd0aCA+IDApKSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1dvcmtlZFRpbWUoYWN0aXZpdHk6IEFjdGl2aXR5KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoKGFjdGl2aXR5LklzV29yayAmJiBhY3Rpdml0eS53b3JrICYmIGFjdGl2aXR5Lndvcmsud29ya2VkVGltZSkgfHxcclxuICAgICAgKGFjdGl2aXR5LklzVGFzayAmJiBhY3Rpdml0eS50YXNrICYmIGFjdGl2aXR5LnRhc2sud29ya2VkVGltZSkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0V29ya2VkVGltZShhY3Rpdml0eTogQWN0aXZpdHkpOiBudW1iZXIge1xyXG4gICAgaWYgKGFjdGl2aXR5LklzV29yayAmJiBhY3Rpdml0eS53b3JrICYmIGFjdGl2aXR5Lndvcmsud29ya2VkVGltZSkge1xyXG4gICAgICByZXR1cm4gYWN0aXZpdHkud29yay53b3JrZWRUaW1lO1xyXG4gICAgfSBlbHNlIGlmIChhY3Rpdml0eS5Jc1Rhc2sgJiYgYWN0aXZpdHkudGFzayAmJiBhY3Rpdml0eS50YXNrLndvcmtlZFRpbWUpIHtcclxuICAgICAgcmV0dXJuIGFjdGl2aXR5LnRhc2sud29ya2VkVGltZTtcclxuICAgIH1cclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5BY3Rpdml0eVBvcHVwKGFjdGl2aXR5OiBBY3Rpdml0eSk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93QWN0aXZpdHlQb3B1cCA9IHRydWU7XHJcbiAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eURvY3VtZW50cyA9IGFjdGl2aXR5LmRvY3VtZW50cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRSYW5kb21Db2xvcigpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgciA9IE1hdGguZmxvb3IoMTgwICsgTWF0aC5yYW5kb20oKSAqIDc1KTsgLy8gMTgw4oCTMjU1XHJcbiAgICBjb25zdCBnID0gTWF0aC5mbG9vcigxODAgKyBNYXRoLnJhbmRvbSgpICogNzUpO1xyXG4gICAgY29uc3QgYiA9IE1hdGguZmxvb3IoMTgwICsgTWF0aC5yYW5kb20oKSAqIDc1KTtcclxuICAgIHJldHVybiBgcmdiKCR7cn0sJHtnfSwke2J9KWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q29sb3JGb3JBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLmFjdGl2aXR5Q29sb3JNYXAuaGFzKGFjdGl2aXR5KSkge1xyXG4gICAgICB0aGlzLmFjdGl2aXR5Q29sb3JNYXAuc2V0KGFjdGl2aXR5LCB0aGlzLmdldFJhbmRvbUNvbG9yKCkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlDb2xvck1hcC5nZXQoYWN0aXZpdHkpO1xyXG4gIH1cclxufVxyXG4iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1saXN0L2FjdGl2aXR5LWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFVBQVUsRUFDckIsV0FBVyxFQUNYLEtBQUssRUFFTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUVoRixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUduRSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUN6RyxPQUFPLEVBQ0wsOENBQThDLEVBRS9DLE1BQU0sOEJBQThCLENBQUM7QUFzRHRDLE1BQU0sT0FBTyxxQkFBcUI7SUFtRGhDLFlBQW1CLGdCQUFrQyxFQUNqQyxrQkFBcUQ7UUFEdEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1DO1FBbkR6RCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQW9CL0IsZUFBVSxHQUFTLElBQUksQ0FBQyxjQUFj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QUUsa0JBQWtCO2dCQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUNUO2dCQUNELFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsOENBQThDO3dCQUN2RCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO3FCQUNyRDtpQkFDRjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBOURPLGdCQUFnQjtZQUtoQixpQ0FBaUM7Ozt3QkFnRXRDLFdBQVcsU0FBQyx3QkFBd0I7eUJBS3BDLEtBQUs7eUJBWUwsS0FBSzt1QkFHTCxLQUFLO3lCQUdMLEtBQUs7dUJBR0wsS0FBSztxQkFJTCxXQUFXLFNBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7UmVsYXRpb25LaW5kfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW1cIjtcclxuaW1wb3J0IHtBY3Rpdml0eX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvXCI7XHJcbmltcG9ydCB7QWN0aXZpdHlUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9hY3Rpdml0eS10eXBlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QUxMX01PTlRIU30gZnJvbSBcIi4uLy4uL21vZGVsL2NvbnN0YW50L2FsbC1tb250aHNcIjtcclxuaW1wb3J0IHtUaW1lVXRpbHN9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC91dGlscy90aW1lLXV0aWxzXCI7XHJcbmltcG9ydCB7UmVsYXRpb25TbWFsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXNtYWxsLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnRcclxufSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tYWN0aXZpdHktbGlzdFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktbGlzdC13cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS13cmFwcGVyXCIgW2NsYXNzLmN1c3RvbWVyLXJlcGx5LXdyYXBwZXJdPVwiKGdldFJlbGF0aW9uS2luZChhY3Rpdml0eS5hdXRob3IpID09PSBSZWxhdGlvbktpbmQuQ3VzdG9tZXIpXCIgKm5nRm9yPVwibGV0IGFjdGl2aXR5IG9mIGFjdGl2aXRpZXNcIiA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXlcIiBbY2xhc3MucHJpdmF0ZS1yZW1hcmtdPVwiYWN0aXZpdHkucmVtYXJrPy5hdXRob3I/LnJlbGF0aW9uVHlwZSA9PT0gJ1AnXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aXZpdHktZGlzcGxheS10aXRsZVwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57e2FjdGl2aXR5LmF1dGhvciAmJiAoYWN0aXZpdHkuYXV0aG9yLmluaXRpYWxzIHx8IGFjdGl2aXR5LmF1dGhvci5mYW1pbHlOYW1lKSA/IChhY3Rpdml0eS5hdXRob3IuaW5pdGlhbHMgfHwgJycpICsgJyAnICsgKGFjdGl2aXR5LmF1dGhvci5mYW1pbHlOYW1lIHx8ICcnKSA6ICcnfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7Z2V0RGF0ZVN0cmluZyhhY3Rpdml0eS5sYXN0QWN0aW9uRGF0ZVRpbWUpfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1kaXNwbGF5LWNvbnRlbnRcIiBbY2xhc3MuY3VzdG9tZXItcmVwbHktY29udGVudF09XCIoZ2V0UmVsYXRpb25LaW5kKGFjdGl2aXR5LmF1dGhvcikgPT09IFJlbGF0aW9uS2luZC5DdXN0b21lcilcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGl2aXR5LWRpc3BsYXktYm9keVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1pY29uXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogZ2V0Q29sb3JGb3JBY3Rpdml0eShhY3Rpdml0eSl9XCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGdldEFjdGl2aXR5SWNvbihhY3Rpdml0eSkpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFjdGl2aXR5LmFjdGl2aXR5VHlwZSAhPT0gQWN0aXZpdHlUeXBlLlN0YXRlQ2hhbmdlXCI+e3thY3Rpdml0eS5zdWJEZXNjcmlwdGlvbn19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWN0aXZpdHkuYWN0aXZpdHlUeXBlID09PSBBY3Rpdml0eVR5cGUuU3RhdGVDaGFuZ2VcIj57e2FjdGl2aXR5LmFjdGl2aXR5VGl0bGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1kaXNwbGF5LWZvb3RlclwiIFtjbGFzcy5leHRyYS1oZWlnaHRdPVwic2hvd1RyaWdnZXJzKGFjdGl2aXR5KSB8fCBzaG93QXR0YWNobWVudHMoYWN0aXZpdHkpIHx8IHNob3dXb3JrZWRUaW1lKGFjdGl2aXR5KVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1maXJlZC10cmlnZ2Vyc1wiICpuZ0lmPVwic2hvd1RyaWdnZXJzKGFjdGl2aXR5KVwiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpdml0eS1maXJlZC10cmlnZ2VyXCIgKm5nRm9yPVwibGV0IHRyaWdnZXJOYW1lIG9mIGFjdGl2aXR5LnN0YXRlQ2hhbmdlPy5maXJlZFRyaWdnZXJOYW1lc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57e3RyaWdnZXJOYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1pbmRpY2F0b3JzXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInNob3dBdHRhY2htZW50cyhhY3Rpdml0eSlcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKEljb24uUGFwZXJjbGlwUmVndWxhcilcIiAoY2xpY2spPVwib3BlbkFjdGl2aXR5UG9wdXAoYWN0aXZpdHkpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJzaG93RW1haWxIaXN0b3J5KGFjdGl2aXR5KVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oSWNvbi5FbWFpbFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93QXR0YWNobWVudHMoYWN0aXZpdHkpXCI+e3thY3Rpdml0eS5kb2N1bWVudHMubGVuZ3RofX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInNob3dXb3JrZWRUaW1lKGFjdGl2aXR5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKEljb24uQ2xvY2tSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2hvd1dvcmtlZFRpbWUoYWN0aXZpdHkpXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIHt7VGltZVV0aWxzLkNvbnZlcnRUb0R1cmF0aW9uKGdldFdvcmtlZFRpbWUoYWN0aXZpdHkpKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dBY3Rpdml0eVBvcHVwXCIgKGNsb3NlQ2xpY2spPVwic2hvd0FjdGl2aXR5UG9wdXAgPSBmYWxzZVwiPlxyXG4gICAgICA8Y28tZmlsZXMtdXBsb2FkIFtjYW5BZGRdPVwiZmFsc2VcIiAgW2RvY3VtZW50c109XCJjdXJyZW50QWN0aXZpdHlEb2N1bWVudHNcIj5cclxuICAgICAgPC9jby1maWxlcy11cGxvYWQ+XHJcbiAgICA8L2NvLWRpYWxvZz5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBY3Rpdml0eUxpc3RDb21wb25lbnQpXHJcbiAgICB9XHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpdml0eUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBJY29uID0gSWNvbjtcclxuICBwdWJsaWMgcmVhZG9ubHkgUmVsYXRpb25LaW5kID0gUmVsYXRpb25LaW5kO1xyXG4gIHB1YmxpYyByZWFkb25seSBBY3Rpdml0eVR5cGUgPSBBY3Rpdml0eVR5cGU7XHJcbiAgcHVibGljIHJlYWRvbmx5IFRpbWVVdGlscyA9IFRpbWVVdGlscztcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tYWN0aXZpdHktbGlzdFwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhY3Rpdml0aWVzKHZhbHVlOiBBY3Rpdml0eVtdKSB7XHJcbiAgICBpZiAodmFsdWUgJiYgdmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICB2YWx1ZS5zb3J0KChhOiBBY3Rpdml0eSwgYjogQWN0aXZpdHkpID0+IGEubGFzdEFjdGlvbkRhdGVUaW1lIDwgYi5sYXN0QWN0aW9uRGF0ZVRpbWUgPyAxOiAtMSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9hY3Rpdml0aWVzID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGFjdGl2aXRpZXMoKTogQWN0aXZpdHlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdGllcztcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlbWFya0ljb246IEljb24gPSBJY29uLkNvbW1lbnRSZWd1bGFyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3b3JrSWNvbjogSWNvbiA9IEljb24uUGVyc29uRGlnZ2luZ1JlZ3VsYXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0YXR1c0ljb246IEljb24gPSBJY29uLkRpYWdyYW1Qcm9qZWN0UmVndWxhcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFza0ljb246IEljb24gPSBJY29uLlRhc2s7XHJcblxyXG4gIHB1YmxpYyBvYmplY3RDb25maWdOYW1lOiBzdHJpbmc7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1zaGFyZWQtaGlkZGVuJylcclxuICBwdWJsaWMgaGlkZGVuOiBib29sZWFuO1xyXG4gIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbjtcclxuICBwdWJsaWMgZm9yY2VSZWFkb25seTogYm9vbGVhbjtcclxuICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgcHVibGljIG1heExlbmd0aDogbnVtYmVyO1xyXG4gIHB1YmxpYyBkZWNpbWFsczogbnVtYmVyO1xyXG4gIHB1YmxpYyByZWRFcnJvckJhY2tncm91bmQ6IGJvb2xlYW47XHJcblxyXG4gIHB1YmxpYyBzaG93QWN0aXZpdHlQb3B1cDogQm9vbGVhbjtcclxuICBwdWJsaWMgY3VycmVudEFjdGl2aXR5RG9jdW1lbnRzOiBDb0RvY3VtZW50W107XHJcblxyXG4gIHByaXZhdGUgX2FjdGl2aXRpZXM6IEFjdGl2aXR5W11cclxuICBwcml2YXRlIGFjdGl2aXR5Q29sb3JNYXA6IE1hcDxBY3Rpdml0eSwgc3RyaW5nPiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZGljdGlvbmFyeVNlcnZpY2U6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFJlbGF0aW9uS2luZChhdXRob3I6IFJlbGF0aW9uU21hbGxPYmplY3QpOiBSZWxhdGlvbktpbmQge1xyXG4gICAgaWYgKGF1dGhvcikge1xyXG4gICAgICByZXR1cm4gYXV0aG9yLnJlbGF0aW9uVHlwZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGF0ZVN0cmluZyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGRheSA9IGRhdGUuZ2V0RGF0ZSgpO1xyXG4gICAgY29uc3QgbW9udGggPSB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoQUxMX01PTlRIU1tkYXRlLmdldE1vbnRoKCldKTtcclxuICAgIGNvbnN0IGhvdXJzID0gZGF0ZS5nZXRIb3VycygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIGNvbnN0IG1pbnV0ZXMgPSBkYXRlLmdldE1pbnV0ZXMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgICByZXR1cm4gYCR7ZGF5fSAke21vbnRofSAke2hvdXJzfToke21pbnV0ZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBY3Rpdml0eUljb24oYWN0aXZpdHk6IEFjdGl2aXR5KTogSWNvbiB7XHJcbiAgICBzd2l0Y2ggKGFjdGl2aXR5LmFjdGl2aXR5VHlwZSkge1xyXG4gICAgICBjYXNlIEFjdGl2aXR5VHlwZS5SZW1hcms6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVtYXJrSWNvbjtcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuV29ya2Zsb3dTdGF0dXM6XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLldvcms6XHJcbiAgICAgIGNhc2UgQWN0aXZpdHlUeXBlLldvcmtmbG93VGFzazpcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuRm9ybTpcclxuICAgICAgICByZXR1cm4gdGhpcy53b3JrSWNvbjtcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuU3RhdGVDaGFuZ2U6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdHVzSWNvbjtcclxuICAgICAgY2FzZSBBY3Rpdml0eVR5cGUuVGFzazpcclxuICAgICAgICByZXR1cm4gdGhpcy50YXNrSWNvbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93VHJpZ2dlcnMoYWN0aXZpdHk6IEFjdGl2aXR5KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoYWN0aXZpdHkuYWN0aXZpdHlUeXBlID09PSBBY3Rpdml0eVR5cGUuU3RhdGVDaGFuZ2UgJiYgYWN0aXZpdHkuc3RhdGVDaGFuZ2UuZmlyZWRUcmlnZ2VyTmFtZXMgJiZcclxuICAgICAgICAgICAgICAgICAgYWN0aXZpdHkuc3RhdGVDaGFuZ2UuZmlyZWRUcmlnZ2VyTmFtZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dBdHRhY2htZW50cyhhY3Rpdml0eTogQWN0aXZpdHkpOiBib29sZWFuIHtcclxuICAgIGlmIChhY3Rpdml0eS5kb2N1bWVudHMgJiYgYWN0aXZpdHkuZG9jdW1lbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93RW1haWxIaXN0b3J5KGFjdGl2aXR5OiBBY3Rpdml0eSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKChhY3Rpdml0eS5yZW1hcmsgJiYgYWN0aXZpdHkucmVtYXJrLmVtYWlsSGlzdG9yeSAmJiBhY3Rpdml0eS5yZW1hcmsuZW1haWxIaXN0b3J5Lmxlbmd0aCA+IDApIHx8XHJcbiAgICAgICAgKGFjdGl2aXR5LndvcmsgJiYgYWN0aXZpdHkud29yay5lbWFpbEhpc3RvcnkgJiYgYWN0aXZpdHkud29yay5lbWFpbEhpc3RvcnkubGVuZ3RoID4gMCkgfHxcclxuICAgICAgICAoYWN0aXZpdHkudGFzayAmJiBhY3Rpdml0eS50YXNrLmVtYWlsSGlzdG9yeSAmJiBhY3Rpdml0eS50YXNrLmVtYWlsSGlzdG9yeS5sZW5ndGggPiAwKSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dXb3JrZWRUaW1lKGFjdGl2aXR5OiBBY3Rpdml0eSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKChhY3Rpdml0eS5Jc1dvcmsgJiYgYWN0aXZpdHkud29yayAmJiBhY3Rpdml0eS53b3JrLndvcmtlZFRpbWUpIHx8XHJcbiAgICAgIChhY3Rpdml0eS5Jc1Rhc2sgJiYgYWN0aXZpdHkudGFzayAmJiBhY3Rpdml0eS50YXNrLndvcmtlZFRpbWUpKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFdvcmtlZFRpbWUoYWN0aXZpdHk6IEFjdGl2aXR5KTogbnVtYmVyIHtcclxuICAgIGlmIChhY3Rpdml0eS5Jc1dvcmsgJiYgYWN0aXZpdHkud29yayAmJiBhY3Rpdml0eS53b3JrLndvcmtlZFRpbWUpIHtcclxuICAgICAgcmV0dXJuIGFjdGl2aXR5Lndvcmsud29ya2VkVGltZTtcclxuICAgIH0gZWxzZSBpZiAoYWN0aXZpdHkuSXNUYXNrICYmIGFjdGl2aXR5LnRhc2sgJiYgYWN0aXZpdHkudGFzay53b3JrZWRUaW1lKSB7XHJcbiAgICAgIHJldHVybiBhY3Rpdml0eS50YXNrLndvcmtlZFRpbWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuQWN0aXZpdHlQb3B1cChhY3Rpdml0eTogQWN0aXZpdHkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0FjdGl2aXR5UG9wdXAgPSB0cnVlO1xyXG4gICAgdGhpcy5jdXJyZW50QWN0aXZpdHlEb2N1bWVudHMgPSBhY3Rpdml0eS5kb2N1bWVudHM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UmFuZG9tQ29sb3IoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHIgPSBNYXRoLmZsb29yKDE4MCArIE1hdGgucmFuZG9tKCkgKiA3NSk7IC8vIDE4MOKAkzI1NVxyXG4gICAgY29uc3QgZyA9IE1hdGguZmxvb3IoMTgwICsgTWF0aC5yYW5kb20oKSAqIDc1KTtcclxuICAgIGNvbnN0IGIgPSBNYXRoLmZsb29yKDE4MCArIE1hdGgucmFuZG9tKCkgKiA3NSk7XHJcbiAgICByZXR1cm4gYHJnYigke3J9LCR7Z30sJHtifSlgO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENvbG9yRm9yQWN0aXZpdHkoYWN0aXZpdHk6IEFjdGl2aXR5KTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5hY3Rpdml0eUNvbG9yTWFwLmhhcyhhY3Rpdml0eSkpIHtcclxuICAgICAgdGhpcy5hY3Rpdml0eUNvbG9yTWFwLnNldChhY3Rpdml0eSwgdGhpcy5nZXRSYW5kb21Db2xvcigpKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5Q29sb3JNYXAuZ2V0KGFjdGl2aXR5KTtcclxuICB9XHJcbn1cclxuIl19
@@ -24,12 +24,12 @@ export class TaskCreatorComponent {
24
24
  this._formMasterService = _formMasterService;
25
25
  this.icons = Icon;
26
26
  this.table = TableName.Transactions;
27
+ this.allowEmailing = true;
27
28
  this.activityCreated = new EventEmitter();
28
- this.optionCollection = [
29
- { icon: this.iconService.getIcon(this.icons.CommentRegular), label: this.dictionaryService.get('REMARK', true) },
30
- { icon: this.iconService.getIcon(this.icons.PersonDiggingRegular), label: this.dictionaryService.get('WORK', true) },
31
- { icon: this.iconService.getIcon(this.icons.ListUlRegular), label: this.dictionaryService.get('TASK', true) },
32
- ];
29
+ this.optionCollection = [];
30
+ this.remarkListItem = { icon: this.iconService.getIcon(this.icons.CommentRegular), label: this.dictionaryService.get('REMARK', true) };
31
+ this.workListItem = { icon: this.iconService.getIcon(this.icons.PersonDiggingRegular), label: this.dictionaryService.get('WORK', true) };
32
+ this.taskListItem = { icon: this.iconService.getIcon(this.icons.ListUlRegular), label: this.dictionaryService.get('TASK', true) };
33
33
  this.showFilesDialog = false;
34
34
  this.documents = [];
35
35
  this.oldDocuments = [];
@@ -42,16 +42,46 @@ export class TaskCreatorComponent {
42
42
  this.workDescription = "";
43
43
  this.taskName = "";
44
44
  this.taskDescription = "";
45
+ this._allowRemarkCreation = true;
46
+ this._allowWorkCreation = true;
47
+ this._allowTaskCreation = true;
48
+ }
49
+ set allowRemarkCreation(allow) {
50
+ this._allowRemarkCreation = allow;
51
+ this.setupOptionCollection();
52
+ }
53
+ set allowWorkCreation(allow) {
54
+ this._allowWorkCreation = allow;
55
+ this.setupOptionCollection();
56
+ }
57
+ set allowTaskCreation(allow) {
58
+ this._allowTaskCreation = allow;
59
+ this.setupOptionCollection();
45
60
  }
46
61
  showClass() {
47
62
  return true;
48
63
  }
49
64
  ngOnInit() {
50
65
  return __awaiter(this, void 0, void 0, function* () {
51
- this.chosenActivityType = this.optionCollection[0];
66
+ this.setupOptionCollection();
52
67
  this.senderAddress = yield this.sharedService.getEmailSenderByWorkflowCategoryAndKey('SERVICE_ORDER', this.remarkAndWorkKey);
53
68
  });
54
69
  }
70
+ setupOptionCollection() {
71
+ this.optionCollection = [];
72
+ if (this._allowRemarkCreation) {
73
+ this.optionCollection.push(this.remarkListItem);
74
+ }
75
+ if (this._allowWorkCreation) {
76
+ this.optionCollection.push(this.workListItem);
77
+ }
78
+ if (this._allowTaskCreation) {
79
+ this.optionCollection.push(this.taskListItem);
80
+ }
81
+ if (this.optionCollection.length > 0) {
82
+ this.chosenActivityType = this.optionCollection[0];
83
+ }
84
+ }
55
85
  itemSelected(item) {
56
86
  this.chosenActivityType = item;
57
87
  }
@@ -188,10 +218,10 @@ export class TaskCreatorComponent {
188
218
  });
189
219
  }
190
220
  findReportType() {
191
- if (this.chosenActivityType === this.optionCollection[0]) {
221
+ if (this.chosenActivityType === this.remarkListItem) {
192
222
  return ReportType.RemarkMessage;
193
223
  }
194
- else if (this.chosenActivityType === this.optionCollection[1]) {
224
+ else if (this.chosenActivityType === this.workListItem) {
195
225
  return ReportType.WorkMessage;
196
226
  }
197
227
  else {
@@ -219,10 +249,10 @@ export class TaskCreatorComponent {
219
249
  history.emailAddresses = this._createEmailAddressString(this.emailAddresses);
220
250
  history.emailDateTime = new Date();
221
251
  history.message = 'Email Content created via Report';
222
- if (this.chosenActivityType === this.optionCollection[0]) {
252
+ if (this.chosenActivityType === this.remarkListItem) {
223
253
  yield this.sharedService.insertEmailHistoryForRemark(history);
224
254
  }
225
- else if (this.chosenActivityType === this.optionCollection[1]) {
255
+ else if (this.chosenActivityType === this.workListItem) {
226
256
  yield this.sharedService.insertEmailHistoryForWork(history);
227
257
  }
228
258
  else {
@@ -281,69 +311,69 @@ export class TaskCreatorComponent {
281
311
  TaskCreatorComponent.decorators = [
282
312
  { type: Component, args: [{
283
313
  selector: "co-task-creator",
284
- template: `
285
- <div class="task-creator-wrapper">
286
- <div class="top-rows">
287
- <co-email-selector [(emailAddresses)]="emailAddresses" [(bccEmailAddresses)]="bccEmailAddresses"
288
- [key]="remarkAndWorkKey" [workflowCategoryType]="workflowCategoryType"></co-email-selector>
289
- <co-form #createForm class="creator-remarks input-fields">
290
- <co-list-of-icons [collection]="optionCollection" (itemSelected)="itemSelected($event)"></co-list-of-icons>
291
- <co-input-textarea *ngIf="chosenActivityType === optionCollection[0]"
292
- [required]="chosenActivityType === optionCollection[0]"
293
- [placeholder]="'REMARK' | sharedLocalize" [(model)]="remarkText"
294
- class="large-remark"></co-input-textarea>
295
- <co-input-textarea *ngIf="chosenActivityType === optionCollection[1]"
296
- [required]="chosenActivityType === optionCollection[1]"
297
- [placeholder]="'DESCRIPTION' | sharedLocalize" [(model)]="workDescription"
298
- class="large-remark"></co-input-textarea>
299
- <div class="task-input-fields" *ngIf="chosenActivityType === optionCollection[2]">
300
- <co-input-text [(model)]="taskName" [placeholder]="'NAME' | sharedLocalize"
301
- [required]="chosenActivityType === optionCollection[2]"></co-input-text>
302
- <co-input-textarea [(model)]="taskDescription" [placeholder]="'DESCRIPTION' | sharedLocalize"
303
- class="large-remark"
304
- [required]="chosenActivityType === optionCollection[2]"></co-input-textarea>
305
- </div>
306
- </co-form>
307
- </div>
308
- <div class="extras-buttons">
309
- <co-button [iconData]="iconService.getIcon(icons.PaperclipRegular)" (click)="openAttachmentDialog()"
310
- [label]="documents.length === 0 ? '' : documents.length.toString()"></co-button>
311
- <co-button *ngIf="chosenActivityType === optionCollection[0]"
312
- [iconData]="iconService.getIcon(icons.PaperPlaneTopSolid)"
313
- (click)="createRemarkClicked()"></co-button>
314
- <co-button *ngIf="chosenActivityType === optionCollection[1]"
315
- [iconData]="iconService.getIcon(icons.PaperPlaneTopSolid)"
316
- (click)="createWorkClicked()"></co-button>
317
- <co-button *ngIf="chosenActivityType === optionCollection[2]"
318
- [iconData]="iconService.getIcon(icons.PaperPlaneTopSolid)"
319
- (click)="createTaskClicked()"></co-button>
320
- </div>
321
- </div>
322
- <co-dialog *ngIf="showFilesDialog" (closeClick)="attachmentDialogCancelled()"
323
- [headerTemplate]="attachmentHeaderTemplate"
324
- [footerTemplate]="attachmentFooterTemplate">
325
-
326
- <ng-template #attachmentHeaderTemplate>
327
- <div class="co-dialog-wrapper-popup-title">
328
- <co-icon [iconData]="iconService.getIcon(icons.PaperclipRegular)"></co-icon>
329
- <div class="co-dialog-header-title" [textContent]="'ATTACHMENTS' | sharedLocalize"></div>
330
- </div>
331
- </ng-template>
332
- <co-files-upload (documentsAdded)="addedDocument($event)" (documentDeleted)="deletedDocument"
333
- [documents]="documents" [useWithoutSettingProps]="true"></co-files-upload>
334
- </co-dialog>
335
-
336
-
337
- <ng-template #attachmentFooterTemplate>
338
- <div class="co-dialog-footer-button-wrapper">
339
- <co-button class="save-button"
340
- [iconData]="iconService.getIcon(icons.CheckDuotone)"
341
- (click)="attachmentDialogClosed()"></co-button>
342
- <co-button class="close-button"
343
- [iconData]="iconService.getIcon(icons.CrossSkinny)"
344
- (click)="attachmentDialogCancelled()"></co-button>
345
- </div>
346
- </ng-template>
314
+ template: `
315
+ <div class="task-creator-wrapper">
316
+ <div class="top-rows">
317
+ <co-email-selector [(emailAddresses)]="emailAddresses" [(bccEmailAddresses)]="bccEmailAddresses" *ngIf="allowEmailing"
318
+ [key]="remarkAndWorkKey" [workflowCategoryType]="workflowCategoryType"></co-email-selector>
319
+ <co-form #createForm class="creator-remarks input-fields">
320
+ <co-list-of-icons [collection]="optionCollection" (itemSelected)="itemSelected($event)"></co-list-of-icons>
321
+ <co-input-textarea *ngIf="chosenActivityType === remarkListItem"
322
+ [required]="chosenActivityType === remarkListItem"
323
+ [placeholder]="'REMARK' | sharedLocalize" [(model)]="remarkText"
324
+ class="large-remark"></co-input-textarea>
325
+ <co-input-textarea *ngIf="chosenActivityType === workListItem"
326
+ [required]="chosenActivityType === workListItem"
327
+ [placeholder]="'DESCRIPTION' | sharedLocalize" [(model)]="workDescription"
328
+ class="large-remark"></co-input-textarea>
329
+ <div class="task-input-fields" *ngIf="chosenActivityType === taskListItem">
330
+ <co-input-text [(model)]="taskName" [placeholder]="'NAME' | sharedLocalize"
331
+ [required]="chosenActivityType === taskListItem"></co-input-text>
332
+ <co-input-textarea [(model)]="taskDescription" [placeholder]="'DESCRIPTION' | sharedLocalize"
333
+ class="large-remark"
334
+ [required]="chosenActivityType === taskListItem"></co-input-textarea>
335
+ </div>
336
+ </co-form>
337
+ </div>
338
+ <div class="extras-buttons">
339
+ <co-button [iconData]="iconService.getIcon(icons.PaperclipRegular)" (click)="openAttachmentDialog()"
340
+ [label]="documents.length === 0 ? '' : documents.length.toString()"></co-button>
341
+ <co-button *ngIf="chosenActivityType === remarkListItem"
342
+ [iconData]="iconService.getIcon(icons.PaperPlaneTopSolid)"
343
+ (click)="createRemarkClicked()"></co-button>
344
+ <co-button *ngIf="chosenActivityType === workListItem"
345
+ [iconData]="iconService.getIcon(icons.PaperPlaneTopSolid)"
346
+ (click)="createWorkClicked()"></co-button>
347
+ <co-button *ngIf="chosenActivityType === taskListItem"
348
+ [iconData]="iconService.getIcon(icons.PaperPlaneTopSolid)"
349
+ (click)="createTaskClicked()"></co-button>
350
+ </div>
351
+ </div>
352
+ <co-dialog *ngIf="showFilesDialog" (closeClick)="attachmentDialogCancelled()"
353
+ [headerTemplate]="attachmentHeaderTemplate"
354
+ [footerTemplate]="attachmentFooterTemplate">
355
+
356
+ <ng-template #attachmentHeaderTemplate>
357
+ <div class="co-dialog-wrapper-popup-title">
358
+ <co-icon [iconData]="iconService.getIcon(icons.PaperclipRegular)"></co-icon>
359
+ <div class="co-dialog-header-title" [textContent]="'ATTACHMENTS' | sharedLocalize"></div>
360
+ </div>
361
+ </ng-template>
362
+ <co-files-upload (documentsAdded)="addedDocument($event)" (documentDeleted)="deletedDocument"
363
+ [documents]="documents" [useWithoutSettingProps]="true"></co-files-upload>
364
+ </co-dialog>
365
+
366
+
367
+ <ng-template #attachmentFooterTemplate>
368
+ <div class="co-dialog-footer-button-wrapper">
369
+ <co-button class="save-button"
370
+ [iconData]="iconService.getIcon(icons.CheckDuotone)"
371
+ (click)="attachmentDialogClosed()"></co-button>
372
+ <co-button class="close-button"
373
+ [iconData]="iconService.getIcon(icons.CrossSkinny)"
374
+ (click)="attachmentDialogCancelled()"></co-button>
375
+ </div>
376
+ </ng-template>
347
377
  `,
348
378
  providers: [
349
379
  FormMasterService,
@@ -369,8 +399,12 @@ TaskCreatorComponent.propDecorators = {
369
399
  remarkAndWorkKey: [{ type: Input }],
370
400
  taskKey: [{ type: Input }],
371
401
  workflowCategoryType: [{ type: Input }],
402
+ allowRemarkCreation: [{ type: Input }],
403
+ allowWorkCreation: [{ type: Input }],
404
+ allowTaskCreation: [{ type: Input }],
405
+ allowEmailing: [{ type: Input }],
372
406
  activityCreated: [{ type: Output }],
373
407
  showClass: [{ type: HostBinding, args: ["class.co-task-creator",] }],
374
408
  hidden: [{ type: HostBinding, args: ['class.co-shared-hidden',] }]
375
409
  };
376
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUUvRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDdkUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzNELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUczRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUV6RSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsOENBQThDLEVBRS9DLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seURBQXlE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QUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDOzs7WUF2WUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBK0RUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxpQkFBaUI7b0JBQ2pCO3dCQUNFLE9BQU8sRUFBRSw4Q0FBOEM7d0JBQ3ZELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7cUJBQ3BEO2lCQUNGO2FBQ0Y7OztZQXZHTyxnQkFBZ0I7WUEwQmhCLGlDQUFpQztZQWRqQyxhQUFhO1lBSW5CLGlCQUFpQjtZQUVqQixpQkFBaUI7Ozt5QkF5RmhCLFNBQVMsU0FBQyxhQUFhO3FCQUd2QixLQUFLO3VCQUdMLEtBQUs7b0JBR0wsS0FBSzsrQkFHTCxLQUFLO3NCQUdMLEtBQUs7bUNBR0wsS0FBSzs4QkFHTCxNQUFNO3dCQUdOLFdBQVcsU0FBQyx1QkFBdUI7cUJBTW5DLFdBQVcsU0FBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvJztcclxuaW1wb3J0IHtBY3Rpdml0eVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vYWN0aXZpdHktdHlwZSc7XHJcbmltcG9ydCB7UmVtYXJrfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZW1hcmsuYm8nO1xyXG5pbXBvcnQge1JlbGF0aW9uU21hbGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXNtYWxsLW9iamVjdC5ibyc7XHJcbmltcG9ydCB7VGFibGVOYW1lfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3RhYmxlLW5hbWUuZW51bSc7XHJcbmltcG9ydCB7V29ya30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvd29yay5ibyc7XHJcbmltcG9ydCB7VGFza30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFzay5ibyc7XHJcbmltcG9ydCB7V29ya2Zsb3dDYXRlZ29yeVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vd29ya2Zsb3ctY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQnO1xyXG5pbXBvcnQge0FycmF5VXRpbHN9IGZyb20gJy4uLy4uL3V0aWxzL2FycmF5LXV0aWxzJztcclxuaW1wb3J0IHthY3Rpdml0eUVtYWlsUmVxdWVzdERhdGF9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LWVtYWlsLXJlcXVlc3QtZGF0YSc7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmltcG9ydCB7UmVwb3J0VHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9yZXBvcnQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHtSZXBvcnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC5ibyc7XHJcbmltcG9ydCB7XHJcbiAgQ29yZURpYWxvZ1NlcnZpY2UsXHJcbiAgRm9ybUNvbXBvbmVudCxcclxuICBGb3JtTWFzdGVyU2VydmljZSxcclxuICBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnRcclxufSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtJY29uTGlzdEl0ZW19IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTIvbGliL21vZGVsL2ljb24tbGlzdC1pdGVtJztcclxuaW1wb3J0IHtBY3Rpdml0eUVtYWlsSGlzdG9yeX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvYWN0aXZpdHktZW1haWwtaGlzdG9yeS5ibyc7XHJcbmltcG9ydCB7Q29FbWFpbEF0dGFjaG1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWVtYWlsLWF0dGFjaG1lbnQuYm8nO1xyXG5pbXBvcnQge0ZpbGVVdGlsc30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvdXRpbHMvZmlsZS11dGlscyc7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy1kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge0VtYWlsQWN0aXZpdHlSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZW1haWwtYWN0aXZpdHktcmVxdWVzdFwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRhc2stY3JlYXRvclwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidGFzay1jcmVhdG9yLXdyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRvcC1yb3dzXCI+XHJcbiAgICAgICAgPGNvLWVtYWlsLXNlbGVjdG9yIFsoZW1haWxBZGRyZXNzZXMpXT1cImVtYWlsQWRkcmVzc2VzXCIgWyhiY2NFbWFpbEFkZHJlc3NlcyldPVwiYmNjRW1haWxBZGRyZXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBba2V5XT1cInJlbWFya0FuZFdvcmtLZXlcIiBbd29ya2Zsb3dDYXRlZ29yeVR5cGVdPVwid29ya2Zsb3dDYXRlZ29yeVR5cGVcIj48L2NvLWVtYWlsLXNlbGVjdG9yPlxyXG4gICAgICAgIDxjby1mb3JtICNjcmVhdGVGb3JtIGNsYXNzPVwiY3JlYXRvci1yZW1hcmtzIGlucHV0LWZpZWxkc1wiPlxyXG4gICAgICAgICAgPGNvLWxpc3Qtb2YtaWNvbnMgW2NvbGxlY3Rpb25dPVwib3B0aW9uQ29sbGVjdGlvblwiIChpdGVtU2VsZWN0ZWQpPVwiaXRlbVNlbGVjdGVkKCRldmVudClcIj48L2NvLWxpc3Qtb2YtaWNvbnM+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dGFyZWEgKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUkVNQVJLJyB8IHNoYXJlZExvY2FsaXplXCIgWyhtb2RlbCldPVwicmVtYXJrVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsYXJnZS1yZW1hcmtcIj48L2NvLWlucHV0LXRleHRhcmVhPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHRhcmVhICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzFdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzFdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IHNoYXJlZExvY2FsaXplXCIgWyhtb2RlbCldPVwid29ya0Rlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhcmdlLXJlbWFya1wiPjwvY28taW5wdXQtdGV4dGFyZWE+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFzay1pbnB1dC1maWVsZHNcIiAqbmdJZj1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gb3B0aW9uQ29sbGVjdGlvblsyXVwiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJ0YXNrTmFtZVwiIFtwbGFjZWhvbGRlcl09XCInTkFNRScgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0YXJlYSBbKG1vZGVsKV09XCJ0YXNrRGVzY3JpcHRpb25cIiBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IHNoYXJlZExvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGFyZ2UtcmVtYXJrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIj48L2NvLWlucHV0LXRleHRhcmVhPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9jby1mb3JtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImV4dHJhcy1idXR0b25zXCI+XHJcbiAgICAgICAgPGNvLWJ1dHRvbiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlcmNsaXBSZWd1bGFyKVwiIChjbGljayk9XCJvcGVuQXR0YWNobWVudERpYWxvZygpXCJcclxuICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJkb2N1bWVudHMubGVuZ3RoID09PSAwID8gJycgOiBkb2N1bWVudHMubGVuZ3RoLnRvU3RyaW5nKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8Y28tYnV0dG9uICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSBvcHRpb25Db2xsZWN0aW9uWzBdXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyUGxhbmVUb3BTb2xpZClcIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNyZWF0ZVJlbWFya0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMV1cIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJQbGFuZVRvcFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlV29ya0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IG9wdGlvbkNvbGxlY3Rpb25bMl1cIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJQbGFuZVRvcFNvbGlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlVGFza0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dGaWxlc0RpYWxvZ1wiIChjbG9zZUNsaWNrKT1cImF0dGFjaG1lbnREaWFsb2dDYW5jZWxsZWQoKVwiXHJcbiAgICAgICAgICAgICAgIFtoZWFkZXJUZW1wbGF0ZV09XCJhdHRhY2htZW50SGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICBbZm9vdGVyVGVtcGxhdGVdPVwiYXR0YWNobWVudEZvb3RlclRlbXBsYXRlXCI+XHJcblxyXG4gICAgICA8bmctdGVtcGxhdGUgI2F0dGFjaG1lbnRIZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLXdyYXBwZXItcG9wdXAtdGl0bGVcIj5cclxuICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyY2xpcFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ0FUVEFDSE1FTlRTJyB8IHNoYXJlZExvY2FsaXplXCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxjby1maWxlcy11cGxvYWQgKGRvY3VtZW50c0FkZGVkKT1cImFkZGVkRG9jdW1lbnQoJGV2ZW50KVwiIChkb2N1bWVudERlbGV0ZWQpPVwiZGVsZXRlZERvY3VtZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZG9jdW1lbnRzXT1cImRvY3VtZW50c1wiIFt1c2VXaXRob3V0U2V0dGluZ1Byb3BzXT1cInRydWVcIj48L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgIDwvY28tZGlhbG9nPlxyXG5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2F0dGFjaG1lbnRGb290ZXJUZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYXR0YWNobWVudERpYWxvZ0Nsb3NlZCgpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImF0dGFjaG1lbnREaWFsb2dDYW5jZWxsZWQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUYXNrQ3JlYXRvckNvbXBvbmVudClcclxuICAgIH1cclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFza0NyZWF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBAVmlld0NoaWxkKEZvcm1Db21wb25lbnQpXHJcbiAgcHVibGljIGNyZWF0ZUZvcm06IEZvcm1Db21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGF1dGhvcjogUmVsYXRpb25TbWFsbE9iamVjdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnJhbmNoTm86IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFibGU6IFRhYmxlTmFtZSA9IFRhYmxlTmFtZS5UcmFuc2FjdGlvbnM7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlbWFya0FuZFdvcmtLZXk6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFza0tleTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB3b3JrZmxvd0NhdGVnb3J5VHlwZTogV29ya2Zsb3dDYXRlZ29yeVR5cGU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhY3Rpdml0eUNyZWF0ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdGFzay1jcmVhdG9yXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9iamVjdENvbmZpZ05hbWU6IHN0cmluZztcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNoYXJlZC1oaWRkZW4nKVxyXG4gIHB1YmxpYyBoaWRkZW46IGJvb2xlYW47XHJcbiAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBmb3JjZVJlYWRvbmx5OiBib29sZWFuO1xyXG4gIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcclxuICBwdWJsaWMgbWF4TGVuZ3RoOiBudW1iZXI7XHJcbiAgcHVibGljIGRlY2ltYWxzOiBudW1iZXI7XHJcbiAgcHVibGljIHJlZEVycm9yQmFja2dyb3VuZDogYm9vbGVhbjtcclxuXHJcbiAgcHVibGljIG9wdGlvbkNvbGxlY3Rpb246IEljb25MaXN0SXRlbVtdID0gW1xyXG4gICAge2ljb246IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLkNvbW1lbnRSZWd1bGFyKSwgbGFiZWw6IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdSRU1BUksnLCB0cnVlKX0sXHJcbiAgICB7aWNvbjogdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuUGVyc29uRGlnZ2luZ1JlZ3VsYXIpLCBsYWJlbDogdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1dPUksnLCB0cnVlKX0sXHJcbiAgICB7aWNvbjogdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuTGlzdFVsUmVndWxhciksIGxhYmVsOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnVEFTSycsIHRydWUpfSxcclxuICBdO1xyXG5cclxuICBwdWJsaWMgc2hvd0ZpbGVzRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGRvY3VtZW50czogQ29Eb2N1bWVudFtdID0gW107XHJcbiAgcHVibGljIG9sZERvY3VtZW50czogQ29Eb2N1bWVudFtdID0gW107XHJcblxyXG5cclxuICBwdWJsaWMgc2hvd0VtYWlsRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlbmRlckFkZHJlc3M6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBlbWFpbEFkZHJlc3Nlczogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgYmNjRW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIHB1YmxpYyBlbWFpbFJlcXVlc3Q6IGFjdGl2aXR5RW1haWxSZXF1ZXN0RGF0YSA9IG51bGw7XHJcblxyXG4gIHB1YmxpYyBjcmVhdGVkVGFzazogVGFzaztcclxuICBwdWJsaWMgY3JlYXRlZFJlbWFyazogUmVtYXJrO1xyXG4gIHB1YmxpYyBjcmVhdGVkV29yazogV29yaztcclxuICBwdWJsaWMgY2hvc2VuQWN0aXZpdHlUeXBlOiBJY29uTGlzdEl0ZW07XHJcblxyXG4gIHB1YmxpYyByZW1hcmtUZXh0OiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB3b3JrRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcbiAgcHVibGljIHRhc2tOYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHB1YmxpYyB0YXNrRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgZGljdGlvbmFyeVNlcnZpY2U6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBDb3JlRGlhbG9nU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIF9mb3JtTWFzdGVyU2VydmljZTogRm9ybU1hc3RlclNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY2hvc2VuQWN0aXZpdHlUeXBlID0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzBdO1xyXG4gICAgdGhpcy5zZW5kZXJBZGRyZXNzID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmdldEVtYWlsU2VuZGVyQnlXb3JrZmxvd0NhdGVnb3J5QW5kS2V5KCdTRVJWSUNFX09SREVSJywgdGhpcy5yZW1hcmtBbmRXb3JrS2V5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpdGVtU2VsZWN0ZWQoaXRlbTogSWNvbkxpc3RJdGVtKTogdm9pZCB7XHJcbiAgICB0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkF0dGFjaG1lbnREaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLm9sZERvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzLnNsaWNlKCk7XHJcbiAgICB0aGlzLnNob3dGaWxlc0RpYWxvZyA9IHRydWVcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhdHRhY2htZW50RGlhbG9nQ2xvc2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93RmlsZXNEaWFsb2cgPSBmYWxzZVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGF0dGFjaG1lbnREaWFsb2dDYW5jZWxsZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvY3VtZW50cyA9IHRoaXMub2xkRG9jdW1lbnRzLnNsaWNlKCk7XHJcbiAgICB0aGlzLnNob3dGaWxlc0RpYWxvZyA9IGZhbHNlXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYWRkZWREb2N1bWVudChkb2NzOiBDb0RvY3VtZW50W10pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuZG9jdW1lbnRzID0gdGhpcy5kb2N1bWVudHMuY29uY2F0KGRvY3MpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRlbGV0ZWREb2N1bWVudChkb2M6IENvRG9jdW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIEFycmF5VXRpbHMuUmVtb3ZlRWxlbWVudChkb2MsIHRoaXMuZG9jdW1lbnRzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVSZW1hcmtDbGlja2VkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5fZm9ybU1hc3RlclNlcnZpY2Uuc3VibWl0U2xhdmVzKCk7XHJcbiAgICBpZiAodGhpcy5jcmVhdGVGb3JtLmlzVmFsaWQoKSkge1xyXG4gICAgICBsZXQgcmVtYXJrOiBSZW1hcmsgPSB0aGlzLmNyZWF0ZVJlbWFyaygpO1xyXG5cclxuICAgICAgbGV0IGFjdGl2aXR5OiBBY3Rpdml0eSA9IG5ldyBBY3Rpdml0eSgpO1xyXG4gICAgICBhY3Rpdml0eS5hY3Rpdml0eVR5cGUgPSBBY3Rpdml0eVR5cGUuUmVtYXJrO1xyXG4gICAgICBhY3Rpdml0eS5yZW1hcmsgPSByZW1hcms7XHJcblxyXG4gICAgICB0aGlzLmNyZWF0ZWRSZW1hcmsgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0UmVtYXJrKGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHRoaXMuY3JlYXRlZFJlbWFyaykge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuaGFuZGxlQWZ0ZXJDcmVhdGlvbih0aGlzLmNyZWF0ZWRSZW1hcmsucmVtYXJrSWQsICdPUE1FUktJTkdFTicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlV29ya0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGxldCB3b3JrOiBXb3JrID0gdGhpcy5jcmVhdGVXb3JrKCk7XHJcblxyXG4gICAgICBsZXQgYWN0aXZpdHk6IEFjdGl2aXR5ID0gbmV3IEFjdGl2aXR5KCk7XHJcbiAgICAgIGFjdGl2aXR5LmFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZS5Xb3JrO1xyXG4gICAgICBhY3Rpdml0eS53b3JrID0gd29yaztcclxuXHJcbiAgICAgIHRoaXMuY3JlYXRlZFdvcmsgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0V29yayhhY3Rpdml0eSk7XHJcbiAgICAgIGlmICh0aGlzLmNyZWF0ZWRXb3JrKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVBZnRlckNyZWF0aW9uKHRoaXMuY3JlYXRlZFdvcmsud29ya0lkLCAnV0VSS1pBQU1IRURFTicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlVGFza0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9mb3JtTWFzdGVyU2VydmljZS5zdWJtaXRTbGF2ZXMoKTtcclxuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XHJcbiAgICAgIGNvbnN0IHRhc2sgPSB0aGlzLmNyZWF0ZVRhc2soKTtcclxuXHJcbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcclxuICAgICAgYWN0aXZpdHkuYWN0aXZpdHlUeXBlID0gQWN0aXZpdHlUeXBlLlRhc2s7XHJcbiAgICAgIGFjdGl2aXR5LnRhc2sgPSB0YXNrO1xyXG5cclxuICAgICAgdGhpcy5jcmVhdGVkVGFzayA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRUYXNrKGFjdGl2aXR5KTtcclxuICAgICAgaWYgKHRoaXMuY3JlYXRlZFRhc2spIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFmdGVyQ3JlYXRpb24odGhpcy5jcmVhdGVkVGFzay50YXNrSWQsICdUQUtFTicpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVJlbWFyaygpOiBSZW1hcmsge1xyXG4gICAgbGV0IHJlbWFyazogUmVtYXJrID0gbmV3IFJlbWFyaygpO1xyXG4gICAgcmVtYXJrLmF1dGhvciA9IHRoaXMuYXV0aG9yO1xyXG4gICAgcmVtYXJrLmF1dGhvci5pbWFnZSA9IHVuZGVmaW5lZDtcclxuICAgIHJlbWFyay5kb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cztcclxuICAgIHJlbWFyay5yZW1hcmsgPSB0aGlzLnJlbWFya1RleHQ7XHJcbiAgICByZW1hcmsuZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcmVtYXJrLnRhYmxlID0gdGhpcy50YWJsZTtcclxuICAgIHJlbWFyay5rZXkgPSB0aGlzLnJlbWFya0FuZFdvcmtLZXk7XHJcbiAgICByZW1hcmsucmVhZCA9IGZhbHNlO1xyXG4gICAgcmVtYXJrLmN1cnJlbnQgPSB0cnVlO1xyXG5cclxuICAgIHJldHVybiByZW1hcms7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVdvcmsoKTogV29yayB7XHJcbiAgICBsZXQgd29yazogV29yayA9IG5ldyBXb3JrKCk7XHJcbiAgICB3b3JrLmV4ZWN1dGl2ZSA9IHRoaXMuYXV0aG9yO1xyXG4gICAgd29yay5leGVjdXRpdmUuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB3b3JrLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzO1xyXG4gICAgd29yay53b3JrZWRUaW1lID0gMDtcclxuICAgIHdvcmsud29ya0Rlc2NyaXB0aW9uID0gdGhpcy53b3JrRGVzY3JpcHRpb25cclxuICAgIHdvcmsuZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgd29yay50YWJsZSA9IHRoaXMudGFibGU7XHJcbiAgICB3b3JrLmtleSA9IHRoaXMucmVtYXJrQW5kV29ya0tleTtcclxuXHJcbiAgICByZXR1cm4gd29yaztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlVGFzaygpOiBUYXNrIHtcclxuICAgIGxldCB0YXNrOiBUYXNrID0gbmV3IFRhc2soKTtcclxuICAgIHRhc2suZXhlY3V0aXZlID0gdGhpcy5hdXRob3I7XHJcbiAgICB0YXNrLmV4ZWN1dGl2ZS5pbWFnZSA9IHVuZGVmaW5lZDtcclxuICAgIHRhc2sucmVwb3J0ZXIgPSB0aGlzLmF1dGhvcjtcclxuICAgIHRhc2sucmVwb3J0ZXIuaW1hZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0YXNrLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzO1xyXG4gICAgdGFzay5uYW1lID0gdGhpcy50YXNrTmFtZTtcclxuICAgIHRhc2suZGVzY3JpcHRpb24gPSB0aGlzLnRhc2tEZXNjcmlwdGlvbjtcclxuICAgIHRhc2suY3JlYXRpb25EYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB0YXNrLmRhdGVEZWZpbmF0ZSA9IGZhbHNlO1xyXG4gICAgdGFzay5uZWVkc1BsYW5uaW5nID0gdHJ1ZTtcclxuICAgIHRhc2sucHJpb3JpdHkgPSAwO1xyXG4gICAgdGFzay53b3JrZmxvd0NhdGVnb3J5ID0gdGhpcy53b3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuICAgIHRhc2sucmVmZXJlbmNlID0gdGhpcy50YXNrS2V5O1xyXG4gICAgdGFzay5lbWFpbEFkZHJlc3NlcyA9IHRoaXMuZW1haWxBZGRyZXNzZXM7XHJcblxyXG4gICAgcmV0dXJuIHRhc2s7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUFmdGVyQ3JlYXRpb24oYWN0aXZpdHlJZDogbnVtYmVyLCBhY3Rpdml0eVRhYmxlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuYWN0aXZpdHlDcmVhdGVkLmVtaXQoKTtcclxuICAgIGF3YWl0IHRoaXMuc2VuZEVtYWlsSWZOZWNjZXNhcnkoYWN0aXZpdHlJZCwgYWN0aXZpdHlUYWJsZSk7XHJcbiAgICB0aGlzLl9jbGVhckZpZWxkcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBzZW5kRW1haWxJZk5lY2Nlc2FyeShhY3Rpdml0eUlkOiBudW1iZXIsIGFjdGl2aXR5VGFibGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuZW1haWxBZGRyZXNzZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgdGVtcGxhdGVzOiBSZXBvcnRbXSA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXREZWZhdWx0RW1haWxSZXBvcnRUZW1wbGF0ZXNGb3JCcmFuY2godGhpcy5icmFuY2hObywgdGhpcy5maW5kUmVwb3J0VHlwZSgpKTtcclxuICAgICAgaWYgKHRlbXBsYXRlcy5sZW5ndGggIT0gMCkge1xyXG4gICAgICAgIGxldCB0ZW1wbGF0ZTogUmVwb3J0ID0gdGhpcy5maW5kRGVmYXVsdCh0ZW1wbGF0ZXMpO1xyXG4gICAgICAgIGlmICh0ZW1wbGF0ZSkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5zdGFydEVtYWlsaW5nKHRlbXBsYXRlLCBhY3Rpdml0eUlkLCBhY3Rpdml0eVRhYmxlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5zaG93RXJyb3IoJ05PX0RFRkFVTFRfRU1BSUxfVEVNUExBVEVfRk9SX1JFUE9SVCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgZmluZFJlcG9ydFR5cGUoKTogUmVwb3J0VHlwZSB7XHJcbiAgICBpZiAodGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPT09IHRoaXMub3B0aW9uQ29sbGVjdGlvblswXSkge1xyXG4gICAgICByZXR1cm4gUmVwb3J0VHlwZS5SZW1hcmtNZXNzYWdlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzFdKSB7XHJcbiAgICAgIHJldHVybiBSZXBvcnRUeXBlLldvcmtNZXNzYWdlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFJlcG9ydFR5cGUuVGFza01lc3NhZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmREZWZhdWx0KHJlcG9ydExpc3Q6IFJlcG9ydFtdKTogUmVwb3J0IHtcclxuICAgIGxldCBkZWZhdWx0VGVtcGxhdGU6IFJlcG9ydCA9IG51bGw7XHJcbiAgICByZXBvcnRMaXN0LmZvckVhY2gociA9PiB7XHJcbiAgICAgIGlmIChyLmlzRGVmYXVsdCkge1xyXG4gICAgICAgIGRlZmF1bHRUZW1wbGF0ZSA9IHI7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGRlZmF1bHRUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgc3RhcnRFbWFpbGluZyh0ZW1wbGF0ZTogUmVwb3J0LCBhY3Rpdml0eUlkOiBudW1iZXIsIGFjdGl2aXR5VGFibGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHJlcXVlc3Q6IEVtYWlsQWN0aXZpdHlSZXF1ZXN0ID0gdGhpcy5fY3JlYXRlRW1haWxQYXJhbXModGVtcGxhdGUsIGFjdGl2aXR5SWQsIGFjdGl2aXR5VGFibGUpXHJcbiAgICBjb25zdCBlbWFpbHNTZW50OiBDb0RvY3VtZW50IHwgYm9vbGVhbiA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5lbWFpbEFjdGl2aXR5KHJlcXVlc3QpO1xyXG5cclxuICAgIGlmIChlbWFpbHNTZW50KSB7XHJcbiAgICAgIGxldCBoaXN0b3J5OiBBY3Rpdml0eUVtYWlsSGlzdG9yeSA9IG5ldyBBY3Rpdml0eUVtYWlsSGlzdG9yeSgpO1xyXG4gICAgICBoaXN0b3J5LnJlbWFya0lkID0gdGhpcy5jcmVhdGVkUmVtYXJrID8gdGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkIDogdW5kZWZpbmVkO1xyXG4gICAgICBoaXN0b3J5LndvcmtJZCA9IHRoaXMuY3JlYXRlZFdvcmsgPyB0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZCA6IHVuZGVmaW5lZDtcclxuICAgICAgaGlzdG9yeS50YXNrSWQgPSB0aGlzLmNyZWF0ZWRUYXNrID8gdGhpcy5jcmVhdGVkVGFzay50YXNrSWQgOiB1bmRlZmluZWQ7XHJcbiAgICAgIGhpc3RvcnkuZW1haWxBZGRyZXNzZXMgPSB0aGlzLl9jcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcodGhpcy5lbWFpbEFkZHJlc3Nlcyk7XHJcbiAgICAgIGhpc3RvcnkuZW1haWxEYXRlVGltZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGhpc3RvcnkubWVzc2FnZSA9ICdFbWFpbCBDb250ZW50IGNyZWF0ZWQgdmlhIFJlcG9ydCc7XHJcbiAgICAgIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzBdKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvclJlbWFyayhoaXN0b3J5KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzFdKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvcldvcmsoaGlzdG9yeSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmluc2VydEVtYWlsSGlzdG9yeUZvclRhc2soaGlzdG9yeSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NyZWF0ZUVtYWlsUGFyYW1zKHRlbXBsYXRlOiBSZXBvcnQsIGFjdGl2aXR5SWQ6IG51bWJlciwgYWN0aXZpdHlUYWJsZTogc3RyaW5nKTogRW1haWxBY3Rpdml0eVJlcXVlc3R7XHJcbiAgICBsZXQgcmVxdWVzdDogRW1haWxBY3Rpdml0eVJlcXVlc3QgPSBuZXcgRW1haWxBY3Rpdml0eVJlcXVlc3QoKTtcclxuICAgIHJlcXVlc3QuZW1haWxTdWJqZWN0ID0gdGhpcy5fY3JlYXRlRW1haWxTdWJqZWN0KCk7XHJcbiAgICByZXF1ZXN0LnRvQWRkcmVzc2VzID0gdGhpcy5fY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuZW1haWxBZGRyZXNzZXMpO1xyXG4gICAgcmVxdWVzdC5iY2NBZGRyZXNzZXMgPSB0aGlzLl9jcmVhdGVFbWFpbEFkZHJlc3NTdHJpbmcodGhpcy5iY2NFbWFpbEFkZHJlc3Nlcyk7XHJcbiAgICByZXF1ZXN0LmFjdGl2aXR5SWQgPSBhY3Rpdml0eUlkO1xyXG4gICAgcmVxdWVzdC5hY3Rpdml0eVRhYmxlTmFtZSA9IGFjdGl2aXR5VGFibGU7XHJcbiAgICByZXF1ZXN0LnJlcG9ydElkID0gdGVtcGxhdGUucmVwb3J0SWQ7XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NyZWF0ZUVtYWlsQWRkcmVzc1N0cmluZyhhZGRyZXNzZXM6IHN0cmluZ1tdKTogc3RyaW5nIHtcclxuICAgIGlmIChhZGRyZXNzZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBhZGRyZXNzZXMuam9pbignOycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlRW1haWxTdWJqZWN0KCk6IHN0cmluZyB7XHJcbiAgICBsZXQgc3ViamVjdDogc3RyaW5nID0gXCJcIjtcclxuICAgIGlmICh0aGlzLmNyZWF0ZWRSZW1hcmspIHtcclxuICAgICAgc3ViamVjdCArPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlJFTUFSS1wiKSArIFwiIFwiICsgdGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNyZWF0ZWRXb3JrKSB7XHJcbiAgICAgIHN1YmplY3QgKz0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJXT1JLXCIpICsgXCIgXCIgKyB0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jcmVhdGVkVGFzaykge1xyXG4gICAgICBzdWJqZWN0ICs9ICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgPyB0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldChcIlRBU0tcIikpICsgXCIgXCIgK1xyXG4gICAgICAgICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgPyB0aGlzLmNyZWF0ZWRUYXNrLnJlZmVyZW5jZSA6IHRoaXMuY3JlYXRlZFRhc2sudGFza0lkKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdWJqZWN0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xlYXJGaWVsZHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbWFya1RleHQgPSBcIlwiO1xyXG4gICAgdGhpcy53b3JrRGVzY3JpcHRpb24gPSBcIlwiO1xyXG4gICAgdGhpcy50YXNrTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLnRhc2tEZXNjcmlwdGlvbiA9IFwiXCI7XHJcblxyXG4gICAgdGhpcy5zZW5kZXJBZGRyZXNzID0gXCJcIjtcclxuICAgIHRoaXMuZW1haWxBZGRyZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuYmNjRW1haWxBZGRyZXNzZXMgPSBbXTtcclxuICAgIHRoaXMuZW1haWxSZXF1ZXN0ID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLmRvY3VtZW50cyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY3JlYXRlZFdvcmsgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNyZWF0ZWRSZW1hcmsgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNyZWF0ZWRUYXNrID0gdW5kZWZpbmVkO1xyXG4gIH1cclxufVxyXG4iXX0=
410
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pILE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUUvRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDdkUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzNELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUczRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUV6RSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsOENBQThDLEVBRS9DLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seURBQXlE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LENBQUM7UUFFcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7SUFDL0IsQ0FBQzs7O1lBamJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStEVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsaUJBQWlCO29CQUNqQjt3QkFDRSxPQUFPLEVBQUUsOENBQThDO3dCQUN2RCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO3FCQUNwRDtpQkFDRjthQUNGOzs7WUFyR08sZ0JBQWdCO1lBd0JoQixpQ0FBaUM7WUFaakMsYUFBYTtZQUluQixpQkFBaUI7WUFFakIsaUJBQWlCOzs7eUJBdUZoQixTQUFTLFNBQUMsYUFBYTtxQkFHdkIsS0FBSzt1QkFHTCxLQUFLO29CQUdMLEtBQUs7K0JBR0wsS0FBSztzQkFHTCxLQUFLO21DQUdMLEtBQUs7a0NBR0wsS0FBSztnQ0FNTCxLQUFLO2dDQU1MLEtBQUs7NEJBTUwsS0FBSzs4QkFHTCxNQUFNO3dCQUdOLFdBQVcsU0FBQyx1QkFBdUI7cUJBTW5DLFdBQVcsU0FBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi9lbnVtL2ljb24uZW51bSc7XG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcbmltcG9ydCB7QWN0aXZpdHl9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LmJvJztcbmltcG9ydCB7QWN0aXZpdHlUeXBlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2FjdGl2aXR5LXR5cGUnO1xuaW1wb3J0IHtSZW1hcmt9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbWFyay5ibyc7XG5pbXBvcnQge1JlbGF0aW9uU21hbGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLXNtYWxsLW9iamVjdC5ibyc7XG5pbXBvcnQge1RhYmxlTmFtZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS90YWJsZS1uYW1lLmVudW0nO1xuaW1wb3J0IHtXb3JrfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC93b3JrLmJvJztcbmltcG9ydCB7VGFza30gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFzay5ibyc7XG5pbXBvcnQge1dvcmtmbG93Q2F0ZWdvcnlUeXBlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3dvcmtmbG93LWNhdGVnb3J5LmVudW0nO1xuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudCc7XG5pbXBvcnQge0FycmF5VXRpbHN9IGZyb20gJy4uLy4uL3V0aWxzL2FycmF5LXV0aWxzJztcbmltcG9ydCB7YWN0aXZpdHlFbWFpbFJlcXVlc3REYXRhfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9hY3Rpdml0eS1lbWFpbC1yZXF1ZXN0LWRhdGEnO1xuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3NoYXJlZC5zZXJ2aWNlJztcbmltcG9ydCB7UmVwb3J0VHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9yZXBvcnQtdHlwZS5lbnVtJztcbmltcG9ydCB7UmVwb3J0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnQuYm8nO1xuaW1wb3J0IHtcbiAgQ29yZURpYWxvZ1NlcnZpY2UsXG4gIEZvcm1Db21wb25lbnQsXG4gIEZvcm1NYXN0ZXJTZXJ2aWNlLFxuICBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxuICBTY3JlZW5Db25maWdBZGFwdGVyQ29tcG9uZW50XG59IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xuaW1wb3J0IHtJY29uTGlzdEl0ZW19IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTIvbGliL21vZGVsL2ljb24tbGlzdC1pdGVtJztcbmltcG9ydCB7QWN0aXZpdHlFbWFpbEhpc3Rvcnl9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2FjdGl2aXR5LWVtYWlsLWhpc3RvcnkuYm8nO1xuaW1wb3J0IHtTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQge0VtYWlsQWN0aXZpdHlSZXF1ZXN0fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZW1haWwtYWN0aXZpdHktcmVxdWVzdFwiO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjby10YXNrLWNyZWF0b3JcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwidGFzay1jcmVhdG9yLXdyYXBwZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0b3Atcm93c1wiPlxuICAgICAgICA8Y28tZW1haWwtc2VsZWN0b3IgWyhlbWFpbEFkZHJlc3NlcyldPVwiZW1haWxBZGRyZXNzZXNcIiBbKGJjY0VtYWlsQWRkcmVzc2VzKV09XCJiY2NFbWFpbEFkZHJlc3Nlc1wiICpuZ0lmPVwiYWxsb3dFbWFpbGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBba2V5XT1cInJlbWFya0FuZFdvcmtLZXlcIiBbd29ya2Zsb3dDYXRlZ29yeVR5cGVdPVwid29ya2Zsb3dDYXRlZ29yeVR5cGVcIj48L2NvLWVtYWlsLXNlbGVjdG9yPlxuICAgICAgICA8Y28tZm9ybSAjY3JlYXRlRm9ybSBjbGFzcz1cImNyZWF0b3ItcmVtYXJrcyBpbnB1dC1maWVsZHNcIj5cbiAgICAgICAgICA8Y28tbGlzdC1vZi1pY29ucyBbY29sbGVjdGlvbl09XCJvcHRpb25Db2xsZWN0aW9uXCIgKGl0ZW1TZWxlY3RlZCk9XCJpdGVtU2VsZWN0ZWQoJGV2ZW50KVwiPjwvY28tbGlzdC1vZi1pY29ucz5cbiAgICAgICAgICA8Y28taW5wdXQtdGV4dGFyZWEgKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IHJlbWFya0xpc3RJdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gcmVtYXJrTGlzdEl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1JFTUFSSycgfCBzaGFyZWRMb2NhbGl6ZVwiIFsobW9kZWwpXT1cInJlbWFya1RleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhcmdlLXJlbWFya1wiPjwvY28taW5wdXQtdGV4dGFyZWE+XG4gICAgICAgICAgPGNvLWlucHV0LXRleHRhcmVhICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSB3b3JrTGlzdEl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSB3b3JrTGlzdEl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IHNoYXJlZExvY2FsaXplXCIgWyhtb2RlbCldPVwid29ya0Rlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsYXJnZS1yZW1hcmtcIj48L2NvLWlucHV0LXRleHRhcmVhPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YXNrLWlucHV0LWZpZWxkc1wiICpuZ0lmPVwiY2hvc2VuQWN0aXZpdHlUeXBlID09PSB0YXNrTGlzdEl0ZW1cIj5cbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInRhc2tOYW1lXCIgW3BsYWNlaG9sZGVyXT1cIidOQU1FJyB8IHNoYXJlZExvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IHRhc2tMaXN0SXRlbVwiPjwvY28taW5wdXQtdGV4dD5cbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0YXJlYSBbKG1vZGVsKV09XCJ0YXNrRGVzY3JpcHRpb25cIiBbcGxhY2Vob2xkZXJdPVwiJ0RFU0NSSVBUSU9OJyB8IHNoYXJlZExvY2FsaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhcmdlLXJlbWFya1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGFza0xpc3RJdGVtXCI+PC9jby1pbnB1dC10ZXh0YXJlYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9jby1mb3JtPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZXh0cmFzLWJ1dHRvbnNcIj5cbiAgICAgICAgPGNvLWJ1dHRvbiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlcmNsaXBSZWd1bGFyKVwiIChjbGljayk9XCJvcGVuQXR0YWNobWVudERpYWxvZygpXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiZG9jdW1lbnRzLmxlbmd0aCA9PT0gMCA/ICcnIDogZG9jdW1lbnRzLmxlbmd0aC50b1N0cmluZygpXCI+PC9jby1idXR0b24+XG4gICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IHJlbWFya0xpc3RJdGVtXCJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlclBsYW5lVG9wU29saWQpXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlUmVtYXJrQ2xpY2tlZCgpXCI+PC9jby1idXR0b24+XG4gICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJjaG9zZW5BY3Rpdml0eVR5cGUgPT09IHdvcmtMaXN0SXRlbVwiXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUGFwZXJQbGFuZVRvcFNvbGlkKVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNyZWF0ZVdvcmtDbGlja2VkKClcIj48L2NvLWJ1dHRvbj5cbiAgICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cImNob3NlbkFjdGl2aXR5VHlwZSA9PT0gdGFza0xpc3RJdGVtXCJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5QYXBlclBsYW5lVG9wU29saWQpXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlVGFza0NsaWNrZWQoKVwiPjwvY28tYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGNvLWRpYWxvZyAqbmdJZj1cInNob3dGaWxlc0RpYWxvZ1wiIChjbG9zZUNsaWNrKT1cImF0dGFjaG1lbnREaWFsb2dDYW5jZWxsZWQoKVwiXG4gICAgICAgICAgICAgICBbaGVhZGVyVGVtcGxhdGVdPVwiYXR0YWNobWVudEhlYWRlclRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJhdHRhY2htZW50Rm9vdGVyVGVtcGxhdGVcIj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNhdHRhY2htZW50SGVhZGVyVGVtcGxhdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctd3JhcHBlci1wb3B1cC10aXRsZVwiPlxuICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlBhcGVyY2xpcFJlZ3VsYXIpXCI+PC9jby1pY29uPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidBVFRBQ0hNRU5UUycgfCBzaGFyZWRMb2NhbGl6ZVwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8Y28tZmlsZXMtdXBsb2FkIChkb2N1bWVudHNBZGRlZCk9XCJhZGRlZERvY3VtZW50KCRldmVudClcIiAoZG9jdW1lbnREZWxldGVkKT1cImRlbGV0ZWREb2N1bWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtkb2N1bWVudHNdPVwiZG9jdW1lbnRzXCIgW3VzZVdpdGhvdXRTZXR0aW5nUHJvcHNdPVwidHJ1ZVwiPjwvY28tZmlsZXMtdXBsb2FkPlxuICAgIDwvY28tZGlhbG9nPlxuXG5cbiAgICA8bmctdGVtcGxhdGUgI2F0dGFjaG1lbnRGb290ZXJUZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XG4gICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImF0dGFjaG1lbnREaWFsb2dDbG9zZWQoKVwiPjwvY28tYnV0dG9uPlxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhdHRhY2htZW50RGlhbG9nQ2FuY2VsbGVkKClcIj48L2NvLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIHByb3ZpZGVyczogW1xuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUYXNrQ3JlYXRvckNvbXBvbmVudClcbiAgICB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tDcmVhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBTY3JlZW5Db25maWdBZGFwdGVyQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XG5cbiAgQFZpZXdDaGlsZChGb3JtQ29tcG9uZW50KVxuICBwdWJsaWMgY3JlYXRlRm9ybTogRm9ybUNvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXV0aG9yOiBSZWxhdGlvblNtYWxsT2JqZWN0O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBicmFuY2hObzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJsZTogVGFibGVOYW1lID0gVGFibGVOYW1lLlRyYW5zYWN0aW9ucztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVtYXJrQW5kV29ya0tleTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YXNrS2V5OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHdvcmtmbG93Q2F0ZWdvcnlUeXBlOiBXb3JrZmxvd0NhdGVnb3J5VHlwZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFsbG93UmVtYXJrQ3JlYXRpb24oYWxsb3c6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9hbGxvd1JlbWFya0NyZWF0aW9uID0gYWxsb3c7XG4gICAgdGhpcy5zZXR1cE9wdGlvbkNvbGxlY3Rpb24oKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYWxsb3dXb3JrQ3JlYXRpb24oYWxsb3c6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9hbGxvd1dvcmtDcmVhdGlvbiA9IGFsbG93O1xuICAgIHRoaXMuc2V0dXBPcHRpb25Db2xsZWN0aW9uKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFsbG93VGFza0NyZWF0aW9uKGFsbG93OiBib29sZWFuKSB7XG4gICAgdGhpcy5fYWxsb3dUYXNrQ3JlYXRpb24gPSBhbGxvdztcbiAgICB0aGlzLnNldHVwT3B0aW9uQ29sbGVjdGlvbigpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFsbG93RW1haWxpbmc6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYWN0aXZpdHlDcmVhdGVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdGFzay1jcmVhdG9yXCIpXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgb2JqZWN0Q29uZmlnTmFtZTogc3RyaW5nO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNoYXJlZC1oaWRkZW4nKVxuICBwdWJsaWMgaGlkZGVuOiBib29sZWFuO1xuICBwdWJsaWMgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIHB1YmxpYyBmb3JjZVJlYWRvbmx5OiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW47XG4gIHB1YmxpYyBtYXhMZW5ndGg6IG51bWJlcjtcbiAgcHVibGljIGRlY2ltYWxzOiBudW1iZXI7XG4gIHB1YmxpYyByZWRFcnJvckJhY2tncm91bmQ6IGJvb2xlYW47XG5cbiAgcHVibGljIG9wdGlvbkNvbGxlY3Rpb246IEljb25MaXN0SXRlbVtdID0gW107XG4gIHB1YmxpYyByZW1hcmtMaXN0SXRlbTogSWNvbkxpc3RJdGVtID0ge2ljb246IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLkNvbW1lbnRSZWd1bGFyKSwgbGFiZWw6IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdSRU1BUksnLCB0cnVlKX07XG4gIHB1YmxpYyB3b3JrTGlzdEl0ZW06IEljb25MaXN0SXRlbSA9IHtpY29uOiB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5QZXJzb25EaWdnaW5nUmVndWxhciksIGxhYmVsOiB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnV09SSycsIHRydWUpfTtcbiAgcHVibGljIHRhc2tMaXN0SXRlbTogSWNvbkxpc3RJdGVtID0ge2ljb246IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLkxpc3RVbFJlZ3VsYXIpLCBsYWJlbDogdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoJ1RBU0snLCB0cnVlKX07XG5cbiAgcHVibGljIHNob3dGaWxlc0RpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgZG9jdW1lbnRzOiBDb0RvY3VtZW50W10gPSBbXTtcbiAgcHVibGljIG9sZERvY3VtZW50czogQ29Eb2N1bWVudFtdID0gW107XG5cblxuICBwdWJsaWMgc2hvd0VtYWlsRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzZW5kZXJBZGRyZXNzOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xuICBwdWJsaWMgYmNjRW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgcHVibGljIGVtYWlsUmVxdWVzdDogYWN0aXZpdHlFbWFpbFJlcXVlc3REYXRhID0gbnVsbDtcblxuICBwdWJsaWMgY3JlYXRlZFRhc2s6IFRhc2s7XG4gIHB1YmxpYyBjcmVhdGVkUmVtYXJrOiBSZW1hcms7XG4gIHB1YmxpYyBjcmVhdGVkV29yazogV29yaztcbiAgcHVibGljIGNob3NlbkFjdGl2aXR5VHlwZTogSWNvbkxpc3RJdGVtO1xuXG4gIHB1YmxpYyByZW1hcmtUZXh0OiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgd29ya0Rlc2NyaXB0aW9uOiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgdGFza05hbWU6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyB0YXNrRGVzY3JpcHRpb246IHN0cmluZyA9IFwiXCI7XG5cblxuICBwcml2YXRlIF9hbGxvd1JlbWFya0NyZWF0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgcHJpdmF0ZSBfYWxsb3dXb3JrQ3JlYXRpb246IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIF9hbGxvd1Rhc2tDcmVhdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGljb25TZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwdWJsaWMgZGljdGlvbmFyeVNlcnZpY2U6IFNoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZSxcbiAgICAgICAgICAgICAgcHVibGljIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IENvcmVEaWFsb2dTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9mb3JtTWFzdGVyU2VydmljZTogRm9ybU1hc3RlclNlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXR1cE9wdGlvbkNvbGxlY3Rpb24oKTtcbiAgICB0aGlzLnNlbmRlckFkZHJlc3MgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZ2V0RW1haWxTZW5kZXJCeVdvcmtmbG93Q2F0ZWdvcnlBbmRLZXkoJ1NFUlZJQ0VfT1JERVInLCB0aGlzLnJlbWFya0FuZFdvcmtLZXkpO1xuICB9XG5cbiAgcHVibGljIHNldHVwT3B0aW9uQ29sbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLm9wdGlvbkNvbGxlY3Rpb24gPSBbXTtcbiAgICBpZiAodGhpcy5fYWxsb3dSZW1hcmtDcmVhdGlvbikge1xuICAgICAgdGhpcy5vcHRpb25Db2xsZWN0aW9uLnB1c2godGhpcy5yZW1hcmtMaXN0SXRlbSk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9hbGxvd1dvcmtDcmVhdGlvbikge1xuICAgICAgdGhpcy5vcHRpb25Db2xsZWN0aW9uLnB1c2godGhpcy53b3JrTGlzdEl0ZW0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5fYWxsb3dUYXNrQ3JlYXRpb24pIHtcbiAgICAgIHRoaXMub3B0aW9uQ29sbGVjdGlvbi5wdXNoKHRoaXMudGFza0xpc3RJdGVtKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25Db2xsZWN0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY2hvc2VuQWN0aXZpdHlUeXBlID0gdGhpcy5vcHRpb25Db2xsZWN0aW9uWzBdO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpdGVtU2VsZWN0ZWQoaXRlbTogSWNvbkxpc3RJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPSBpdGVtO1xuICB9XG5cbiAgcHVibGljIG9wZW5BdHRhY2htZW50RGlhbG9nKCk6IHZvaWQge1xuICAgIHRoaXMub2xkRG9jdW1lbnRzID0gdGhpcy5kb2N1bWVudHMuc2xpY2UoKTtcbiAgICB0aGlzLnNob3dGaWxlc0RpYWxvZyA9IHRydWVcbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2htZW50RGlhbG9nQ2xvc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0ZpbGVzRGlhbG9nID0gZmFsc2VcbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2htZW50RGlhbG9nQ2FuY2VsbGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnRzID0gdGhpcy5vbGREb2N1bWVudHMuc2xpY2UoKTtcbiAgICB0aGlzLnNob3dGaWxlc0RpYWxvZyA9IGZhbHNlXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYWRkZWREb2N1bWVudChkb2NzOiBDb0RvY3VtZW50W10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzLmNvbmNhdChkb2NzKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZWxldGVkRG9jdW1lbnQoZG9jOiBDb0RvY3VtZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgQXJyYXlVdGlscy5SZW1vdmVFbGVtZW50KGRvYywgdGhpcy5kb2N1bWVudHMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNyZWF0ZVJlbWFya0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fZm9ybU1hc3RlclNlcnZpY2Uuc3VibWl0U2xhdmVzKCk7XG4gICAgaWYgKHRoaXMuY3JlYXRlRm9ybS5pc1ZhbGlkKCkpIHtcbiAgICAgIGxldCByZW1hcms6IFJlbWFyayA9IHRoaXMuY3JlYXRlUmVtYXJrKCk7XG5cbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcbiAgICAgIGFjdGl2aXR5LmFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZS5SZW1hcms7XG4gICAgICBhY3Rpdml0eS5yZW1hcmsgPSByZW1hcms7XG5cbiAgICAgIHRoaXMuY3JlYXRlZFJlbWFyayA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRSZW1hcmsoYWN0aXZpdHkpO1xuICAgICAgaWYgKHRoaXMuY3JlYXRlZFJlbWFyaykge1xuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFmdGVyQ3JlYXRpb24odGhpcy5jcmVhdGVkUmVtYXJrLnJlbWFya0lkLCAnT1BNRVJLSU5HRU4nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlV29ya0NsaWNrZWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fZm9ybU1hc3RlclNlcnZpY2Uuc3VibWl0U2xhdmVzKCk7XG4gICAgaWYgKHRoaXMuY3JlYXRlRm9ybS5pc1ZhbGlkKCkpIHtcbiAgICAgIGxldCB3b3JrOiBXb3JrID0gdGhpcy5jcmVhdGVXb3JrKCk7XG5cbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcbiAgICAgIGFjdGl2aXR5LmFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZS5Xb3JrO1xuICAgICAgYWN0aXZpdHkud29yayA9IHdvcms7XG5cbiAgICAgIHRoaXMuY3JlYXRlZFdvcmsgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0V29yayhhY3Rpdml0eSk7XG4gICAgICBpZiAodGhpcy5jcmVhdGVkV29yaykge1xuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFmdGVyQ3JlYXRpb24odGhpcy5jcmVhdGVkV29yay53b3JrSWQsICdXRVJLWkFBTUhFREVOJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGNyZWF0ZVRhc2tDbGlja2VkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX2Zvcm1NYXN0ZXJTZXJ2aWNlLnN1Ym1pdFNsYXZlcygpO1xuICAgIGlmICh0aGlzLmNyZWF0ZUZvcm0uaXNWYWxpZCgpKSB7XG4gICAgICBjb25zdCB0YXNrID0gdGhpcy5jcmVhdGVUYXNrKCk7XG5cbiAgICAgIGxldCBhY3Rpdml0eTogQWN0aXZpdHkgPSBuZXcgQWN0aXZpdHkoKTtcbiAgICAgIGFjdGl2aXR5LmFjdGl2aXR5VHlwZSA9IEFjdGl2aXR5VHlwZS5UYXNrO1xuICAgICAgYWN0aXZpdHkudGFzayA9IHRhc2s7XG5cbiAgICAgIHRoaXMuY3JlYXRlZFRhc2sgPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0VGFzayhhY3Rpdml0eSk7XG4gICAgICBpZiAodGhpcy5jcmVhdGVkVGFzaykge1xuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUFmdGVyQ3JlYXRpb24odGhpcy5jcmVhdGVkVGFzay50YXNrSWQsICdUQUtFTicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVtYXJrKCk6IFJlbWFyayB7XG4gICAgbGV0IHJlbWFyazogUmVtYXJrID0gbmV3IFJlbWFyaygpO1xuICAgIHJlbWFyay5hdXRob3IgPSB0aGlzLmF1dGhvcjtcbiAgICByZW1hcmsuYXV0aG9yLmltYWdlID0gdW5kZWZpbmVkO1xuICAgIHJlbWFyay5kb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cztcbiAgICByZW1hcmsucmVtYXJrID0gdGhpcy5yZW1hcmtUZXh0O1xuICAgIHJlbWFyay5kYXRlVGltZSA9IG5ldyBEYXRlKCk7XG4gICAgcmVtYXJrLnRhYmxlID0gdGhpcy50YWJsZTtcbiAgICByZW1hcmsua2V5ID0gdGhpcy5yZW1hcmtBbmRXb3JrS2V5O1xuICAgIHJlbWFyay5yZWFkID0gZmFsc2U7XG4gICAgcmVtYXJrLmN1cnJlbnQgPSB0cnVlO1xuXG4gICAgcmV0dXJuIHJlbWFyaztcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlV29yaygpOiBXb3JrIHtcbiAgICBsZXQgd29yazogV29yayA9IG5ldyBXb3JrKCk7XG4gICAgd29yay5leGVjdXRpdmUgPSB0aGlzLmF1dGhvcjtcbiAgICB3b3JrLmV4ZWN1dGl2ZS5pbWFnZSA9IHVuZGVmaW5lZDtcbiAgICB3b3JrLmRvY3VtZW50cyA9IHRoaXMuZG9jdW1lbnRzO1xuICAgIHdvcmsud29ya2VkVGltZSA9IDA7XG4gICAgd29yay53b3JrRGVzY3JpcHRpb24gPSB0aGlzLndvcmtEZXNjcmlwdGlvblxuICAgIHdvcmsuZGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgIHdvcmsudGFibGUgPSB0aGlzLnRhYmxlO1xuICAgIHdvcmsua2V5ID0gdGhpcy5yZW1hcmtBbmRXb3JrS2V5O1xuXG4gICAgcmV0dXJuIHdvcms7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRhc2soKTogVGFzayB7XG4gICAgbGV0IHRhc2s6IFRhc2sgPSBuZXcgVGFzaygpO1xuICAgIHRhc2suZXhlY3V0aXZlID0gdGhpcy5hdXRob3I7XG4gICAgdGFzay5leGVjdXRpdmUuaW1hZ2UgPSB1bmRlZmluZWQ7XG4gICAgdGFzay5yZXBvcnRlciA9IHRoaXMuYXV0aG9yO1xuICAgIHRhc2sucmVwb3J0ZXIuaW1hZ2UgPSB1bmRlZmluZWQ7XG4gICAgdGFzay5kb2N1bWVudHMgPSB0aGlzLmRvY3VtZW50cztcbiAgICB0YXNrLm5hbWUgPSB0aGlzLnRhc2tOYW1lO1xuICAgIHRhc2suZGVzY3JpcHRpb24gPSB0aGlzLnRhc2tEZXNjcmlwdGlvbjtcbiAgICB0YXNrLmNyZWF0aW9uRGF0ZVRpbWUgPSBuZXcgRGF0ZSgpO1xuICAgIHRhc2suZGF0ZURlZmluYXRlID0gZmFsc2U7XG4gICAgdGFzay5uZWVkc1BsYW5uaW5nID0gdHJ1ZTtcbiAgICB0YXNrLnByaW9yaXR5ID0gMDtcbiAgICB0YXNrLndvcmtmbG93Q2F0ZWdvcnkgPSB0aGlzLndvcmtmbG93Q2F0ZWdvcnlUeXBlO1xuICAgIHRhc2sucmVmZXJlbmNlID0gdGhpcy50YXNrS2V5O1xuICAgIHRhc2suZW1haWxBZGRyZXNzZXMgPSB0aGlzLmVtYWlsQWRkcmVzc2VzO1xuXG4gICAgcmV0dXJuIHRhc2s7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUFmdGVyQ3JlYXRpb24oYWN0aXZpdHlJZDogbnVtYmVyLCBhY3Rpdml0eVRhYmxlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmFjdGl2aXR5Q3JlYXRlZC5lbWl0KCk7XG4gICAgYXdhaXQgdGhpcy5zZW5kRW1haWxJZk5lY2Nlc2FyeShhY3Rpdml0eUlkLCBhY3Rpdml0eVRhYmxlKTtcbiAgICB0aGlzLl9jbGVhckZpZWxkcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZW5kRW1haWxJZk5lY2Nlc2FyeShhY3Rpdml0eUlkOiBudW1iZXIsIGFjdGl2aXR5VGFibGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmVtYWlsQWRkcmVzc2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIGxldCB0ZW1wbGF0ZXM6IFJlcG9ydFtdID0gYXdhaXQgdGhpcy5zaGFyZWRTZXJ2aWNlLmdldERlZmF1bHRFbWFpbFJlcG9ydFRlbXBsYXRlc0ZvckJyYW5jaCh0aGlzLmJyYW5jaE5vLCB0aGlzLmZpbmRSZXBvcnRUeXBlKCkpO1xuICAgICAgaWYgKHRlbXBsYXRlcy5sZW5ndGggIT0gMCkge1xuICAgICAgICBsZXQgdGVtcGxhdGU6IFJlcG9ydCA9IHRoaXMuZmluZERlZmF1bHQodGVtcGxhdGVzKTtcbiAgICAgICAgaWYgKHRlbXBsYXRlKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5zdGFydEVtYWlsaW5nKHRlbXBsYXRlLCBhY3Rpdml0eUlkLCBhY3Rpdml0eVRhYmxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9kaWFsb2dTZXJ2aWNlLnNob3dFcnJvcignTk9fREVGQVVMVF9FTUFJTF9URU1QTEFURV9GT1JfUkVQT1JUJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgZmluZFJlcG9ydFR5cGUoKTogUmVwb3J0VHlwZSB7XG4gICAgaWYgKHRoaXMuY2hvc2VuQWN0aXZpdHlUeXBlID09PSB0aGlzLnJlbWFya0xpc3RJdGVtKSB7XG4gICAgICByZXR1cm4gUmVwb3J0VHlwZS5SZW1hcmtNZXNzYWdlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jaG9zZW5BY3Rpdml0eVR5cGUgPT09IHRoaXMud29ya0xpc3RJdGVtKSB7XG4gICAgICByZXR1cm4gUmVwb3J0VHlwZS5Xb3JrTWVzc2FnZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFJlcG9ydFR5cGUuVGFza01lc3NhZ2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRGVmYXVsdChyZXBvcnRMaXN0OiBSZXBvcnRbXSk6IFJlcG9ydCB7XG4gICAgbGV0IGRlZmF1bHRUZW1wbGF0ZTogUmVwb3J0ID0gbnVsbDtcbiAgICByZXBvcnRMaXN0LmZvckVhY2gociA9PiB7XG4gICAgICBpZiAoci5pc0RlZmF1bHQpIHtcbiAgICAgICAgZGVmYXVsdFRlbXBsYXRlID0gcjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZGVmYXVsdFRlbXBsYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzdGFydEVtYWlsaW5nKHRlbXBsYXRlOiBSZXBvcnQsIGFjdGl2aXR5SWQ6IG51bWJlciwgYWN0aXZpdHlUYWJsZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IHJlcXVlc3Q6IEVtYWlsQWN0aXZpdHlSZXF1ZXN0ID0gdGhpcy5fY3JlYXRlRW1haWxQYXJhbXModGVtcGxhdGUsIGFjdGl2aXR5SWQsIGFjdGl2aXR5VGFibGUpXG4gICAgY29uc3QgZW1haWxzU2VudDogQ29Eb2N1bWVudCB8IGJvb2xlYW4gPSBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuZW1haWxBY3Rpdml0eShyZXF1ZXN0KTtcblxuICAgIGlmIChlbWFpbHNTZW50KSB7XG4gICAgICBsZXQgaGlzdG9yeTogQWN0aXZpdHlFbWFpbEhpc3RvcnkgPSBuZXcgQWN0aXZpdHlFbWFpbEhpc3RvcnkoKTtcbiAgICAgIGhpc3RvcnkucmVtYXJrSWQgPSB0aGlzLmNyZWF0ZWRSZW1hcmsgPyB0aGlzLmNyZWF0ZWRSZW1hcmsucmVtYXJrSWQgOiB1bmRlZmluZWQ7XG4gICAgICBoaXN0b3J5LndvcmtJZCA9IHRoaXMuY3JlYXRlZFdvcmsgPyB0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZCA6IHVuZGVmaW5lZDtcbiAgICAgIGhpc3RvcnkudGFza0lkID0gdGhpcy5jcmVhdGVkVGFzayA/IHRoaXMuY3JlYXRlZFRhc2sudGFza0lkIDogdW5kZWZpbmVkO1xuICAgICAgaGlzdG9yeS5lbWFpbEFkZHJlc3NlcyA9IHRoaXMuX2NyZWF0ZUVtYWlsQWRkcmVzc1N0cmluZyh0aGlzLmVtYWlsQWRkcmVzc2VzKTtcbiAgICAgIGhpc3RvcnkuZW1haWxEYXRlVGltZSA9IG5ldyBEYXRlKCk7XG4gICAgICBoaXN0b3J5Lm1lc3NhZ2UgPSAnRW1haWwgQ29udGVudCBjcmVhdGVkIHZpYSBSZXBvcnQnO1xuICAgICAgaWYgKHRoaXMuY2hvc2VuQWN0aXZpdHlUeXBlID09PSB0aGlzLnJlbWFya0xpc3RJdGVtKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRFbWFpbEhpc3RvcnlGb3JSZW1hcmsoaGlzdG9yeSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY2hvc2VuQWN0aXZpdHlUeXBlID09PSB0aGlzLndvcmtMaXN0SXRlbSkge1xuICAgICAgICBhd2FpdCB0aGlzLnNoYXJlZFNlcnZpY2UuaW5zZXJ0RW1haWxIaXN0b3J5Rm9yV29yayhoaXN0b3J5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5pbnNlcnRFbWFpbEhpc3RvcnlGb3JUYXNrKGhpc3RvcnkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUVtYWlsUGFyYW1zKHRlbXBsYXRlOiBSZXBvcnQsIGFjdGl2aXR5SWQ6IG51bWJlciwgYWN0aXZpdHlUYWJsZTogc3RyaW5nKTogRW1haWxBY3Rpdml0eVJlcXVlc3R7XG4gICAgbGV0IHJlcXVlc3Q6IEVtYWlsQWN0aXZpdHlSZXF1ZXN0ID0gbmV3IEVtYWlsQWN0aXZpdHlSZXF1ZXN0KCk7XG4gICAgcmVxdWVzdC5lbWFpbFN1YmplY3QgPSB0aGlzLl9jcmVhdGVFbWFpbFN1YmplY3QoKTtcbiAgICByZXF1ZXN0LnRvQWRkcmVzc2VzID0gdGhpcy5fY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuZW1haWxBZGRyZXNzZXMpO1xuICAgIHJlcXVlc3QuYmNjQWRkcmVzc2VzID0gdGhpcy5fY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKHRoaXMuYmNjRW1haWxBZGRyZXNzZXMpO1xuICAgIHJlcXVlc3QuYWN0aXZpdHlJZCA9IGFjdGl2aXR5SWQ7XG4gICAgcmVxdWVzdC5hY3Rpdml0eVRhYmxlTmFtZSA9IGFjdGl2aXR5VGFibGU7XG4gICAgcmVxdWVzdC5yZXBvcnRJZCA9IHRlbXBsYXRlLnJlcG9ydElkO1xuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlRW1haWxBZGRyZXNzU3RyaW5nKGFkZHJlc3Nlczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIGlmIChhZGRyZXNzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhZGRyZXNzZXMuam9pbignOycpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUVtYWlsU3ViamVjdCgpOiBzdHJpbmcge1xuICAgIGxldCBzdWJqZWN0OiBzdHJpbmcgPSBcIlwiO1xuICAgIGlmICh0aGlzLmNyZWF0ZWRSZW1hcmspIHtcbiAgICAgIHN1YmplY3QgKz0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJSRU1BUktcIikgKyBcIiBcIiArIHRoaXMuY3JlYXRlZFJlbWFyay5yZW1hcmtJZDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY3JlYXRlZFdvcmspIHtcbiAgICAgIHN1YmplY3QgKz0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJXT1JLXCIpICsgXCIgXCIgKyB0aGlzLmNyZWF0ZWRXb3JrLndvcmtJZDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY3JlYXRlZFRhc2spIHtcbiAgICAgIHN1YmplY3QgKz0gKHRoaXMuY3JlYXRlZFRhc2sud29ya2Zsb3dDYXRlZ29yeSA/IHRoaXMuY3JlYXRlZFRhc2sud29ya2Zsb3dDYXRlZ29yeSA6IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiVEFTS1wiKSkgKyBcIiBcIiArXG4gICAgICAgICh0aGlzLmNyZWF0ZWRUYXNrLndvcmtmbG93Q2F0ZWdvcnkgPyB0aGlzLmNyZWF0ZWRUYXNrLnJlZmVyZW5jZSA6IHRoaXMuY3JlYXRlZFRhc2sudGFza0lkKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1YmplY3Q7XG4gIH1cblxuICBwcml2YXRlIF9jbGVhckZpZWxkcygpOiB2b2lkIHtcbiAgICB0aGlzLnJlbWFya1RleHQgPSBcIlwiO1xuICAgIHRoaXMud29ya0Rlc2NyaXB0aW9uID0gXCJcIjtcbiAgICB0aGlzLnRhc2tOYW1lID0gXCJcIjtcbiAgICB0aGlzLnRhc2tEZXNjcmlwdGlvbiA9IFwiXCI7XG5cbiAgICB0aGlzLnNlbmRlckFkZHJlc3MgPSBcIlwiO1xuICAgIHRoaXMuZW1haWxBZGRyZXNzZXMgPSBbXTtcbiAgICB0aGlzLmJjY0VtYWlsQWRkcmVzc2VzID0gW107XG4gICAgdGhpcy5lbWFpbFJlcXVlc3QgPSBudWxsO1xuXG4gICAgdGhpcy5kb2N1bWVudHMgPSBbXTtcblxuICAgIHRoaXMuY3JlYXRlZFdvcmsgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5jcmVhdGVkUmVtYXJrID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY3JlYXRlZFRhc2sgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,4 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { TaskCreatorComponent } from './task-creator.component';
3
2
  import { BusinessObjectFactory } from '@colijnit/ioneconnector/build/service/business-object-factory';
4
3
  import { ButtonModule, CoDialogModule, FormModule, IconModule, InputTextareaModule, InputTextModule, ListOfIconsModule, ListOfValuesModule } from '@colijnit/corecomponents_v12';
5
4
  import { CommonModule } from '@angular/common';
@@ -7,6 +6,7 @@ import { FilesUploadModule } from '../files-upload/files-upload.module';
7
6
  import { RoleEmailSelectorModule } from '../role-email-selector/role-email-selector.module';
8
7
  import { EmailSelectorModule } from '../email-selector/email-selector.module';
9
8
  import { SharedComponentsTranslationModule } from '../../translation/shared-components-translation.module';
9
+ import { TaskCreatorComponent } from "./task-creator.component";
10
10
  export class TaskCreatorModule {
11
11
  }
12
12
  TaskCreatorModule.decorators = [
@@ -37,4 +37,4 @@ TaskCreatorModule.decorators = [
37
37
  ]
38
38
  },] }
39
39
  ];
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBQ2QsVUFBVSxFQUNWLFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbkIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDMUYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUE2QnpHLE1BQU0sT0FBTyxpQkFBaUI7OztZQTFCN0IsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLGVBQWU7b0JBQ2YsWUFBWTtvQkFDWixZQUFZO29CQUNaLGNBQWM7b0JBQ2QsaUJBQWlCO29CQUNqQixpQ0FBaUM7b0JBQ2pDLGlCQUFpQjtvQkFDakIsVUFBVTtvQkFDVixVQUFVO29CQUNWLHVCQUF1QjtvQkFDdkIsbUJBQW1CO29CQUNuQixtQkFBbUI7aUJBQ3BCO2dCQUNELFlBQVksRUFBRTtvQkFDWixvQkFBb0I7aUJBQ3JCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxvQkFBb0I7aUJBQ3JCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxxQkFBcUI7aUJBQ3RCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUYXNrQ3JlYXRvckNvbXBvbmVudH0gZnJvbSAnLi90YXNrLWNyZWF0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3NlcnZpY2UvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnknO1xyXG5pbXBvcnQge1xyXG4gIEJ1dHRvbk1vZHVsZSxcclxuICBDb0RpYWxvZ01vZHVsZSxcclxuICBGb3JtTW9kdWxlLFxyXG4gIEljb25Nb2R1bGUsXHJcbiAgSW5wdXRUZXh0YXJlYU1vZHVsZSxcclxuICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgTGlzdE9mSWNvbnNNb2R1bGUsXHJcbiAgTGlzdE9mVmFsdWVzTW9kdWxlXHJcbn0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0ZpbGVzVXBsb2FkTW9kdWxlfSBmcm9tICcuLi9maWxlcy11cGxvYWQvZmlsZXMtdXBsb2FkLm1vZHVsZSc7XHJcbmltcG9ydCB7Um9sZUVtYWlsU2VsZWN0b3JNb2R1bGV9IGZyb20gJy4uL3JvbGUtZW1haWwtc2VsZWN0b3Ivcm9sZS1lbWFpbC1zZWxlY3Rvci5tb2R1bGUnO1xyXG5pbXBvcnQge0VtYWlsU2VsZWN0b3JNb2R1bGV9IGZyb20gJy4uL2VtYWlsLXNlbGVjdG9yL2VtYWlsLXNlbGVjdG9yLm1vZHVsZSc7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlfSBmcm9tICcuLi8uLi90cmFuc2xhdGlvbi9zaGFyZWQtY29tcG9uZW50cy10cmFuc2xhdGlvbi5tb2R1bGUnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgTGlzdE9mVmFsdWVzTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICBGaWxlc1VwbG9hZE1vZHVsZSxcclxuICAgIFNoYXJlZENvbXBvbmVudHNUcmFuc2xhdGlvbk1vZHVsZSxcclxuICAgIExpc3RPZkljb25zTW9kdWxlLFxyXG4gICAgRm9ybU1vZHVsZSxcclxuICAgIEljb25Nb2R1bGUsXHJcbiAgICBSb2xlRW1haWxTZWxlY3Rvck1vZHVsZSxcclxuICAgIEVtYWlsU2VsZWN0b3JNb2R1bGUsXHJcbiAgICBJbnB1dFRleHRhcmVhTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFRhc2tDcmVhdG9yQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUYXNrQ3JlYXRvckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBCdXNpbmVzc09iamVjdEZhY3RvcnlcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYXNrQ3JlYXRvck1vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1jcmVhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stY3JlYXRvci90YXNrLWNyZWF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUNMLFlBQVksRUFDWixjQUFjLEVBQ2QsVUFBVSxFQUNWLFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbkIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDMUYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDekcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUE2QjlELE1BQU0sT0FBTyxpQkFBaUI7OztZQTFCN0IsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLGVBQWU7b0JBQ2YsWUFBWTtvQkFDWixZQUFZO29CQUNaLGNBQWM7b0JBQ2QsaUJBQWlCO29CQUNqQixpQ0FBaUM7b0JBQ2pDLGlCQUFpQjtvQkFDakIsVUFBVTtvQkFDVixVQUFVO29CQUNWLHVCQUF1QjtvQkFDdkIsbUJBQW1CO29CQUNuQixtQkFBbUI7aUJBQ3BCO2dCQUNELFlBQVksRUFBRTtvQkFDWixvQkFBb0I7aUJBQ3JCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxvQkFBb0I7aUJBQ3JCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxxQkFBcUI7aUJBQ3RCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9zZXJ2aWNlL2J1c2luZXNzLW9iamVjdC1mYWN0b3J5JztcbmltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSxcbiAgQ29EaWFsb2dNb2R1bGUsXG4gIEZvcm1Nb2R1bGUsXG4gIEljb25Nb2R1bGUsXG4gIElucHV0VGV4dGFyZWFNb2R1bGUsXG4gIElucHV0VGV4dE1vZHVsZSxcbiAgTGlzdE9mSWNvbnNNb2R1bGUsXG4gIExpc3RPZlZhbHVlc01vZHVsZVxufSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtGaWxlc1VwbG9hZE1vZHVsZX0gZnJvbSAnLi4vZmlsZXMtdXBsb2FkL2ZpbGVzLXVwbG9hZC5tb2R1bGUnO1xuaW1wb3J0IHtSb2xlRW1haWxTZWxlY3Rvck1vZHVsZX0gZnJvbSAnLi4vcm9sZS1lbWFpbC1zZWxlY3Rvci9yb2xlLWVtYWlsLXNlbGVjdG9yLm1vZHVsZSc7XG5pbXBvcnQge0VtYWlsU2VsZWN0b3JNb2R1bGV9IGZyb20gJy4uL2VtYWlsLXNlbGVjdG9yL2VtYWlsLXNlbGVjdG9yLm1vZHVsZSc7XG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNUcmFuc2xhdGlvbk1vZHVsZX0gZnJvbSAnLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtdHJhbnNsYXRpb24ubW9kdWxlJztcbmltcG9ydCB7VGFza0NyZWF0b3JDb21wb25lbnR9IGZyb20gXCIuL3Rhc2stY3JlYXRvci5jb21wb25lbnRcIjtcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTGlzdE9mVmFsdWVzTW9kdWxlLFxuICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENvRGlhbG9nTW9kdWxlLFxuICAgIEZpbGVzVXBsb2FkTW9kdWxlLFxuICAgIFNoYXJlZENvbXBvbmVudHNUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBMaXN0T2ZJY29uc01vZHVsZSxcbiAgICBGb3JtTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgUm9sZUVtYWlsU2VsZWN0b3JNb2R1bGUsXG4gICAgRW1haWxTZWxlY3Rvck1vZHVsZSxcbiAgICBJbnB1dFRleHRhcmVhTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRhc2tDcmVhdG9yQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUYXNrQ3JlYXRvckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBCdXNpbmVzc09iamVjdEZhY3RvcnlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUYXNrQ3JlYXRvck1vZHVsZSB7XG5cbn1cbiJdfQ==