imm-element-ui 2.6.5 → 2.6.6

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.
@@ -74,7 +74,7 @@ export class UploadComponent {
74
74
  this.uploadFile(v).subscribe({
75
75
  next: (response) => {
76
76
  this.updateLoading(fu);
77
- this.fileList?.push(response.body.fid);
77
+ this.fileList?.push(response.body.fileName);
78
78
  this.field()?.fieldControl?.setValue(this.fileList);
79
79
  },
80
80
  error: (error) => {
@@ -266,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
266
266
  type: ViewChild,
267
267
  args: ['uploadComp', { read: ElementRef, static: false }]
268
268
  }] } });
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2Zvcm0vZm9ybS10eXBlL3VwbG9hZC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFzQyxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUF5SXBELE1BQU0sT0FBTyxlQUFlO0lBUzNCLFlBQ1MsSUFBZ0IsRUFDaEIsTUFBcUIsRUFDckIsUUFBbUIsRUFDbkIsUUFBa0I7UUFIbEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVgzQixVQUFLLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDM0IsVUFBSyxHQUFnQixFQUFFLENBQUM7UUFDeEIsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUN4QixnQkFBVyxHQUFzQixFQUFFLENBQUM7UUFDcEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBUVgsTUFBTSxDQUFDLEdBQUcsRUFB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QztJQUNGLENBQUM7K0dBaElXLGVBQWU7bUdBQWYsZUFBZSxtU0FDTSxVQUFVLDZCQXJFakM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lCQWlFTSw0dk1BbEVOLFVBQVUsZzVCQUFFLFlBQVksaWJBQUUsbUJBQW1CLDBCQUFFLGFBQWE7OzRGQXFFMUQsZUFBZTtrQkE1RzNCLFNBQVM7K0JBQ0MsYUFBYSxjQUNYLElBQUksV0FxQ1AsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsQ0FBQyxZQUM3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBaUVNOzBKQUk4QyxhQUFhO3NCQUExRSxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIGVmZmVjdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkIH0gZnJvbSAncHJpbWVuZy9maWxldXBsb2FkJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IEZvcm1GaWVsZCwgRmllbGRQcm9wcywgQXR0cmlidXRlRXZlbnQgfSBmcm9tICcuLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwSGVhZGVycywgSHR0cFJlcXVlc3QsIEh0dHBFdmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkUHJvcHMgZXh0ZW5kcyBGaWVsZFByb3BzIHtcblx0dXJsPzogc3RyaW5nO1xuXHRtZXRob2Q/OiAncG9zdCcgfCAncHV0Jztcblx0bXVsdGlwbGU/OiBib29sZWFuO1xuXHRhY2NlcHQ/OiBzdHJpbmc7XG5cdHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG5cdG1heEZpbGVTaXplPzogbnVtYmVyO1xuXHRwcmV2aWV3V2lkdGg/OiBudW1iZXI7XG5cdG1vZGU/OiAnYmFzaWMnIHwgJ2FkdmFuY2VkJztcblx0aGVhZGVycz86IGFueTtcblx0Y3VzdG9tVXBsb2FkPzogYm9vbGVhbjtcblx0ZmlsZUxpbWl0PzogbnVtYmVyO1xuXHR1cGxvYWRTdHlsZUNsYXNzPzogc3RyaW5nO1xuXHRjYW5jZWxTdHlsZUNsYXNzPzogc3RyaW5nO1xuXHRyZW1vdmVTdHlsZUNsYXNzPzogc3RyaW5nO1xuXHRjaG9vc2VTdHlsZUNsYXNzPzogc3RyaW5nO1xuXG5cdG9uQmVmb3JlVXBsb2FkPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uU2VuZD86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvblVwbG9hZD86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvbkVycm9yPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uQ2xlYXI/OiBBdHRyaWJ1dGVFdmVudDtcblx0b25SZW1vdmU/OiBBdHRyaWJ1dGVFdmVudDtcblx0b25TZWxlY3Q/OiBBdHRyaWJ1dGVFdmVudDtcblx0b25Qcm9ncmVzcz86IEF0dHJpYnV0ZUV2ZW50O1xufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdmb3JtLXVwbG9hZCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHN0eWxlczogYFxuXHRcdC5maWxlLWl0ZW0ge1xuXHRcdFx0Ym9yZGVyLXRvcDogc29saWQgMXB4ICNmZmY7XG5cdFx0fVxuXHRcdC51cGxvYWQtYnRuIHtcblx0XHRcdGJvcmRlcjogc29saWQgMXB4IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0XHQudXBsb2FkLWJ0bi51cGxvYWQtZGlzYWJsZTpob3ZlciB7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0fVxuXHRcdC51cGxvYWQtYnRuOm5vdCgudXBsb2FkLWRpc2FibGUpOmhvdmVyIHtcblx0XHRcdGJvcmRlcjogc29saWQgMXB4IHZhcigtLXAtcHJpbWFyeS1jb2xvcik7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1wLXByaW1hcnktNTApO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblx0XHQudXBsb2FkLWJ0bjpub3QoLnVwbG9hZC1kaXNhYmxlKS5uZy1ob3ZlcmVkIHtcblx0XHRcdGJvcmRlcjogc29saWQgMXB4IHZhcigtLXAtcHJpbWFyeS1jb2xvcik7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1wLXByaW1hcnktNTApO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblx0XHQuZmlsZS1uYW1lIHtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHR9XG5cdFx0LmZpbGUtbmFtZTpob3ZlciB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRjb2xvcjogdmFyKC0tcC1wcmltYXJ5LWNvbG9yKTtcblx0XHR9XG5cdFx0Omhvc3QgOjpuZy1kZWVwIHtcblx0XHRcdC5wLWltYWdlLXByZXZpZXctbWFzayB7XG5cdFx0XHRcdHBvc2l0aW9uOiBpbmhlcml0O1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG5cdFx0XHRcdGNvbG9yOiAjMzM0MTU1O1xuXHRcdFx0fVxuXHRcdH1cblx0YCxcblx0aW1wb3J0czogW0ZpbGVVcGxvYWQsIEJ1dHRvbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVHJhbnNsYXRlUGlwZV0sXG5cdHRlbXBsYXRlOiBgPHAtZmlsZVVwbG9hZFxuXHRcdCNmdVxuXHRcdGF1dG9cblx0XHRbaWRdPVwiZmllbGQoKT8udXVpZFwiXG5cdFx0W25hbWVdPVwicHJvcHMubmFtZVwiXG5cdFx0W3VybF09XCJwcm9wcy51cmxcIlxuXHRcdFttZXRob2RdPVwicHJvcHMubWV0aG9kID8/ICdwb3N0J1wiXG5cdFx0W211bHRpcGxlXT1cInByb3BzLm11bHRpcGxlID8/IHRydWVcIlxuXHRcdFthY2NlcHRdPVwicHJvcHMuYWNjZXB0XCJcblx0XHRbd2l0aENyZWRlbnRpYWxzXT1cInByb3BzLndpdGhDcmVkZW50aWFsc1wiXG5cdFx0W21heEZpbGVTaXplXT1cInByb3BzLm1heEZpbGVTaXplXCJcblx0XHRbc3R5bGVDbGFzc109XCJwcm9wcy5zdHlsZUNsYXNzXCJcblx0XHRbcHJldmlld1dpZHRoXT1cInByb3BzLnByZXZpZXdXaWR0aCA/PyA1MFwiXG5cdFx0W21vZGVdPVwicHJvcHMubW9kZSA/PyAnYWR2YW5jZWQnXCJcblx0XHRbaGVhZGVyc109XCJwcm9wcy5oZWFkZXJzXCJcblx0XHRbZmlsZUxpbWl0XT1cInByb3BzLmZpbGVMaW1pdFwiXG5cdFx0W2N1c3RvbVVwbG9hZF09XCJwcm9wcy5jdXN0b21VcGxvYWQgPz8gdHJ1ZVwiXG5cdFx0KG9uQmVmb3JlVXBsb2FkKT1cInByb3BzLm9uQmVmb3JlVXBsb2FkPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvblNlbmQpPVwicHJvcHMub25TZW5kPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvblVwbG9hZCk9XCJwcm9wcy5vblVwbG9hZD8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcblx0XHQob25FcnJvcik9XCJwcm9wcy5vbkVycm9yPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvbkNsZWFyKT1cInByb3BzLm9uQ2xlYXI/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uUmVtb3ZlKT1cInByb3BzLm9uUmVtb3ZlPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvblNlbGVjdCk9XCJwcm9wcy5vblNlbGVjdD8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcblx0XHQob25Qcm9ncmVzcyk9XCJwcm9wcy5vblByb2dyZXNzPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdCh1cGxvYWRIYW5kbGVyKT1cInVwbG9hZEhhbmRsZXIoZmllbGQoKSEsICRldmVudCwgZnUpXCI+XG5cdFx0PG5nLXRlbXBsYXRlXG5cdFx0XHQjaGVhZGVyXG5cdFx0XHRsZXQtY2hvb3NlQ2FsbGJhY2s9XCJjaG9vc2VDYWxsYmFja1wiPlxuXHRcdFx0PGRpdlxuXHRcdFx0XHQjdXBsb2FkQ29tcFxuXHRcdFx0XHRbY2xhc3NdPVwiJ2ZsZXgganVzdGlmeS1jZW50ZXIgdy1mdWxsIHVwbG9hZC1idG4nICsgKGZpZWxkKCk/LmZpZWxkQ29udHJvbD8uZGlzYWJsZWQgPyAnIHVwbG9hZC1kaXNhYmxlJyA6ICcnKVwiXG5cdFx0XHRcdChjbGljayk9XCJjaG9vc2UoJGV2ZW50LCBjaG9vc2VDYWxsYmFjaylcIj5cblx0XHRcdFx0PHNwYW5cblx0XHRcdFx0XHQ+PHNwYW5cblx0XHRcdFx0XHRcdHN0eWxlPVwiZm9udC1zaXplOiAxMnB4OyBtYXJnaW4tcmlnaHQ6IDIuNXB4XCJcblx0XHRcdFx0XHRcdFtjbGFzc109XCIncGknICsgKGxvYWRpbmcgPyAnIHBpLXNwaW4gcGktc3Bpbm5lcicgOiAnIHBpLXVwbG9hZCcpXCI+PC9zcGFuXG5cdFx0XHRcdFx0Pnt7IChsb2FkaW5nID8gJ21vZGFsLnVwbG9hZGluZycgOiAnbW9kYWwuc2VsZWN0RmlsZScpIHwgdHJhbnNsYXRlIH19PC9zcGFuXG5cdFx0XHRcdD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PG5nLXRlbXBsYXRlICNjb250ZW50PlxuXHRcdFx0QGlmIChmaWxlTGlzdC5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdEBmb3IgKGZpbGUgb2YgZmlsZUxpc3Q7IHRyYWNrIGZpbGU7IGxldCBpbmRleCA9ICRpbmRleCkge1xuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgZmlsZS1pdGVtXCI+XG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiXG5cdFx0XHRcdFx0XHRcdD48YVxuXHRcdFx0XHRcdFx0XHRcdFtocmVmXT1cIidodHRwczovL2ZpbGUubXlmb29kaWVwZXQuY29tLy8nICsgZmlsZVwiXG5cdFx0XHRcdFx0XHRcdFx0W2Rvd25sb2FkXT1cImZpbGVcIlxuXHRcdFx0XHRcdFx0XHRcdD57eyBmaWxlIH19PC9hXG5cdFx0XHRcdFx0XHRcdD48L3NwYW5cblx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdEBpZiAoIWZpZWxkKCk/LmZpZWxkQ29udHJvbD8uZGlzYWJsZWQpIHtcblx0XHRcdFx0XHRcdFx0PHAtYnV0dG9uXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj1cInBpIHBpLXRpbWVzXCJcblx0XHRcdFx0XHRcdFx0XHRzZXZlcml0eT1cImRhbmdlclwiXG5cdFx0XHRcdFx0XHRcdFx0c2l6ZT1cInNtYWxsXCJcblx0XHRcdFx0XHRcdFx0XHQob25DbGljayk9XCJkZWxldGVIYW5kbGVyKGZpbGUsIGluZGV4KVwiXG5cdFx0XHRcdFx0XHRcdFx0W3RleHRdPVwidHJ1ZVwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDxuZy10ZW1wbGF0ZSAjZmlsZT4gPC9uZy10ZW1wbGF0ZT5cblx0PC9wLWZpbGVVcGxvYWQ+YCxcblx0c3R5bGVVcmw6ICcuLi8uLi9zdHlsZXMvc3R5bGVzLnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRDb21wb25lbnQge1xuXHRAVmlld0NoaWxkKCd1cGxvYWRDb21wJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIHVwbG9hZENvbXBSZWYhOiBFbGVtZW50UmVmO1xuXHRmaWVsZCA9IGlucHV0PEZvcm1GaWVsZD4oKTtcblx0cHJvcHM6IFVwbG9hZFByb3BzID0ge307XG5cdGZpbGVMaXN0OiBzdHJpbmdbXSA9IFtdO1xuXHRkZWxldGVIb29rczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcblx0bG9hZGluZyA9IGZhbHNlO1xuXHRjb3VudGVyID0gMDtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG5cdFx0cHJpdmF0ZSBhY3Rpb246IEFjdGlvblNlcnZpY2UsXG5cdFx0cHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuXHRcdHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlLFxuXHQpIHtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuZmllbGQoKSkge1xuXHRcdFx0XHR0aGlzLnByb3BzID0gdGhpcy5maWVsZCgpIS51cGxvYWRQcm9wcyE7XG5cdFx0XHRcdHRoaXMuaGFuZGxlSG9va0NoYW5nZSgpO1xuXHRcdFx0XHR0aGlzLmhhbmRsZURpc2FibGVkKCk7XG5cdFx0XHRcdHRoaXMuYWZ0ZXJTdWJtaXQoKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Zm9ya0pvaW4odGhpcy5kZWxldGVIb29rcykuc3Vic2NyaWJlKCk7XG5cdFx0fSk7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGxhYmVsQWN0aW9uID0gdGhpcy5hY3Rpb24uZ2V0RmllbGRMYWJlbEFjdGlvbigpO1xuXHRcdFx0aWYgKCFsYWJlbEFjdGlvbiB8fCBsYWJlbEFjdGlvbj8ua2V5ICE9IHRoaXMuZmllbGQoKT8udXVpZCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnbW91c2VlbnRlcicpIHtcblx0XHRcdFx0dGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnVwbG9hZENvbXBSZWYubmF0aXZlRWxlbWVudCwgJ25nLWhvdmVyZWQnKTtcblx0XHRcdH0gZWxzZSBpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnbW91c2VsZWF2ZScpIHtcblx0XHRcdFx0dGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnVwbG9hZENvbXBSZWYubmF0aXZlRWxlbWVudCwgJ25nLWhvdmVyZWQnKTtcblx0XHRcdH0gZWxzZSBpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnY2xpY2snKSB7XG5cdFx0XHRcdHRoaXMudXBsb2FkQ29tcFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRjaG9vc2UoZXZlbnQ6IGFueSwgY2FsbGJhY2s6IGFueSkge1xuXHRcdGlmICh0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8uZGlzYWJsZWQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Y2FsbGJhY2soKTtcblx0fVxuXG5cdHVwbG9hZEZpbGUoZmlsZTogRmlsZSk6IE9ic2VydmFibGU8YW55PiB7XG5cdFx0Y29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblx0XHRmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcblx0XHRyZXR1cm4gdGhpcy5odHRwXG5cdFx0XHQucmVxdWVzdChcblx0XHRcdFx0bmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgJ2ZpbGVyVXBsb2FkJywgZm9ybURhdGEsIHtcblx0XHRcdFx0XHRyZXBvcnRQcm9ncmVzczogdHJ1ZSxcblx0XHRcdFx0XHR3aXRoQ3JlZGVudGlhbHM6IGZhbHNlLFxuXHRcdFx0XHR9KSxcblx0XHRcdClcblx0XHRcdC5waXBlKGZpbHRlcigocmVzcG9uc2U6IEh0dHBFdmVudDxhbnk+KSA9PiByZXNwb25zZS50eXBlID09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpKTtcblx0fVxuXG5cdGRlbEZpbGUoZmlsZVN0cjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoJ2ZpbGVyRGVsZXRlJywgeyBmaWxlTmFtZTogZmlsZVN0ciB9KTtcblx0fVxuXG5cdHVwbG9hZEhhbmRsZXIoZmllbGQ6IGFueSwgZXZlbnQ6IGFueSwgZnU6IGFueSkge1xuXHRcdHRoaXMuaW5pdExvYWRpbmcoZXZlbnQuZmlsZXMubGVuZ3RoKTtcblx0XHRldmVudC5maWxlcy5mb3JFYWNoKCh2OiBhbnkpID0+IHtcblx0XHRcdHRoaXMudXBsb2FkRmlsZSh2KS5zdWJzY3JpYmUoe1xuXHRcdFx0XHRuZXh0OiAocmVzcG9uc2UpID0+IHtcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZUxvYWRpbmcoZnUpO1xuXHRcdFx0XHRcdHRoaXMuZmlsZUxpc3Q/LnB1c2gocmVzcG9uc2UuYm9keS5maWQpO1xuXHRcdFx0XHRcdHRoaXMuZmllbGQoKT8uZmllbGRDb250cm9sPy5zZXRWYWx1ZSh0aGlzLmZpbGVMaXN0KTtcblx0XHRcdFx0fSxcblx0XHRcdFx0ZXJyb3I6IChlcnJvcikgPT4ge1xuXHRcdFx0XHRcdHRoaXMuaW5pdExvYWRpbmcoMCk7XG5cdFx0XHRcdFx0Ly8gY29uc29sZS5lcnJvcihlcnJvcik7XG5cdFx0XHRcdH0sXG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxuXG5cdGRlbGV0ZUhhbmRsZXIoZmlsZVN0cjogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XG5cdFx0dGhpcy5kZWxldGVIb29rcy5wdXNoKHRoaXMuZGVsRmlsZShmaWxlU3RyKSk7XG5cdFx0dGhpcy5maWxlTGlzdCA9IHRoaXMuZmlsZUxpc3Q/LmZpbHRlcigodmFsdWUsIGkpID0+IGluZGV4ICE9IGkpO1xuXHRcdHRoaXMuZmllbGQoKT8uZmllbGRDb250cm9sPy5zZXRWYWx1ZSh0aGlzLmZpbGVMaXN0KTtcblx0fVxuXG5cdGhhbmRsZUhvb2tDaGFuZ2UoKSB7XG5cdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/Lmhvb2tDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0aWYgKHZhbHVlID09IG51bGwpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5wcm9wcy5vbkhvb2tDaGFuZ2U/Lih0aGlzLmZpZWxkKCkhLCB7IHZhbHVlIH0pO1xuXHRcdFx0dGhpcy5maWxlTGlzdCA9IFsuLi52YWx1ZV07XG5cdFx0fSk7XG5cdH1cblxuXHRhZnRlclN1Ym1pdCgpIHtcblx0XHR0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8uc3VibWl0Q2hhbmdlLnN1YnNjcmliZSgodmFsdWUpID0+IHtcblx0XHRcdGlmIChCb29sZWFuKHZhbHVlKSkge1xuXHRcdFx0XHR0aGlzLmRlbGV0ZUhvb2tzLmZvckVhY2goKGhvb2spID0+IGhvb2suc3Vic2NyaWJlKCkpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0aGFuZGxlRGlzYWJsZWQoKSB7XG5cdFx0aWYgKHRoaXMucHJvcHM/LmRpc2FibGVkKSB7XG5cdFx0XHR0aGlzLmZpZWxkKCkhLmZpZWxkQ29udHJvbCEuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG5cdFx0fVxuXHR9XG5cblx0aW5pdExvYWRpbmcoY291bnRlcjogbnVtYmVyKSB7XG5cdFx0dGhpcy5jb3VudGVyID0gY291bnRlcjtcblx0XHRpZiAoY291bnRlciA9PSAwKSB7XG5cdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcblx0fVxuXG5cdHVwZGF0ZUxvYWRpbmcoZnU6IGFueSkge1xuXHRcdHRoaXMuY291bnRlci0tO1xuXHRcdC8vIGNvbnNvbGUubG9nKCctLS0tY291bnRlcicsIHRoaXMuY291bnRlcik7XG5cdFx0aWYgKHRoaXMuY291bnRlciA9PT0gMCkge1xuXHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XG5cdFx0XHRmdS5jbGVhcigpO1xuXHRcdH1cblx0fVxufVxuIl19
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2Zvcm0vZm9ybS10eXBlL3VwbG9hZC50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFzQyxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUF5SXBELE1BQU0sT0FBTyxlQUFlO0lBUzNCLFlBQ1MsSUFBZ0IsRUFDaEIsTUFBcUIsRUFDckIsUUFBbUIsRUFDbkIsUUFBa0I7UUFIbEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVgzQixVQUFLLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDM0IsVUFBSyxHQUFnQixFQUFFLENBQUM7UUFDeEIsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUN4QixnQkFBVyxHQUFzQixFQUFFLENBQUM7UUFDcEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBUVgsTUFBTSxDQUFDLEdBQUcsRUFB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QztJQUNGLENBQUM7K0dBaElXLGVBQWU7bUdBQWYsZUFBZSxtU0FDTSxVQUFVLDZCQXJFakM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lCQWlFTSw0dk1BbEVOLFVBQVUsZzVCQUFFLFlBQVksaWJBQUUsbUJBQW1CLDBCQUFFLGFBQWE7OzRGQXFFMUQsZUFBZTtrQkE1RzNCLFNBQVM7K0JBQ0MsYUFBYSxjQUNYLElBQUksV0FxQ1AsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsQ0FBQyxZQUM3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBaUVNOzBKQUk4QyxhQUFhO3NCQUExRSxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIGVmZmVjdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkIH0gZnJvbSAncHJpbWVuZy9maWxldXBsb2FkJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IEZvcm1GaWVsZCwgRmllbGRQcm9wcywgQXR0cmlidXRlRXZlbnQgfSBmcm9tICcuLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwSGVhZGVycywgSHR0cFJlcXVlc3QsIEh0dHBFdmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkUHJvcHMgZXh0ZW5kcyBGaWVsZFByb3BzIHtcblx0dXJsPzogc3RyaW5nO1xuXHRtZXRob2Q/OiAncG9zdCcgfCAncHV0Jztcblx0bXVsdGlwbGU/OiBib29sZWFuO1xuXHRhY2NlcHQ/OiBzdHJpbmc7XG5cdHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG5cdG1heEZpbGVTaXplPzogbnVtYmVyO1xuXHRwcmV2aWV3V2lkdGg/OiBudW1iZXI7XG5cdG1vZGU/OiAnYmFzaWMnIHwgJ2FkdmFuY2VkJztcblx0aGVhZGVycz86IGFueTtcblx0Y3VzdG9tVXBsb2FkPzogYm9vbGVhbjtcblx0ZmlsZUxpbWl0PzogbnVtYmVyO1xuXHR1cGxvYWRTdHlsZUNsYXNzPzogc3RyaW5nO1xuXHRjYW5jZWxTdHlsZUNsYXNzPzogc3RyaW5nO1xuXHRyZW1vdmVTdHlsZUNsYXNzPzogc3RyaW5nO1xuXHRjaG9vc2VTdHlsZUNsYXNzPzogc3RyaW5nO1xuXG5cdG9uQmVmb3JlVXBsb2FkPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uU2VuZD86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvblVwbG9hZD86IEF0dHJpYnV0ZUV2ZW50O1xuXHRvbkVycm9yPzogQXR0cmlidXRlRXZlbnQ7XG5cdG9uQ2xlYXI/OiBBdHRyaWJ1dGVFdmVudDtcblx0b25SZW1vdmU/OiBBdHRyaWJ1dGVFdmVudDtcblx0b25TZWxlY3Q/OiBBdHRyaWJ1dGVFdmVudDtcblx0b25Qcm9ncmVzcz86IEF0dHJpYnV0ZUV2ZW50O1xufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdmb3JtLXVwbG9hZCcsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHN0eWxlczogYFxuXHRcdC5maWxlLWl0ZW0ge1xuXHRcdFx0Ym9yZGVyLXRvcDogc29saWQgMXB4ICNmZmY7XG5cdFx0fVxuXHRcdC51cGxvYWQtYnRuIHtcblx0XHRcdGJvcmRlcjogc29saWQgMXB4IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0XHQudXBsb2FkLWJ0bi51cGxvYWQtZGlzYWJsZTpob3ZlciB7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0fVxuXHRcdC51cGxvYWQtYnRuOm5vdCgudXBsb2FkLWRpc2FibGUpOmhvdmVyIHtcblx0XHRcdGJvcmRlcjogc29saWQgMXB4IHZhcigtLXAtcHJpbWFyeS1jb2xvcik7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1wLXByaW1hcnktNTApO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblx0XHQudXBsb2FkLWJ0bjpub3QoLnVwbG9hZC1kaXNhYmxlKS5uZy1ob3ZlcmVkIHtcblx0XHRcdGJvcmRlcjogc29saWQgMXB4IHZhcigtLXAtcHJpbWFyeS1jb2xvcik7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1wLXByaW1hcnktNTApO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblx0XHQuZmlsZS1uYW1lIHtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHR9XG5cdFx0LmZpbGUtbmFtZTpob3ZlciB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRjb2xvcjogdmFyKC0tcC1wcmltYXJ5LWNvbG9yKTtcblx0XHR9XG5cdFx0Omhvc3QgOjpuZy1kZWVwIHtcblx0XHRcdC5wLWltYWdlLXByZXZpZXctbWFzayB7XG5cdFx0XHRcdHBvc2l0aW9uOiBpbmhlcml0O1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG5cdFx0XHRcdGNvbG9yOiAjMzM0MTU1O1xuXHRcdFx0fVxuXHRcdH1cblx0YCxcblx0aW1wb3J0czogW0ZpbGVVcGxvYWQsIEJ1dHRvbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVHJhbnNsYXRlUGlwZV0sXG5cdHRlbXBsYXRlOiBgPHAtZmlsZVVwbG9hZFxuXHRcdCNmdVxuXHRcdGF1dG9cblx0XHRbaWRdPVwiZmllbGQoKT8udXVpZFwiXG5cdFx0W25hbWVdPVwicHJvcHMubmFtZVwiXG5cdFx0W3VybF09XCJwcm9wcy51cmxcIlxuXHRcdFttZXRob2RdPVwicHJvcHMubWV0aG9kID8/ICdwb3N0J1wiXG5cdFx0W211bHRpcGxlXT1cInByb3BzLm11bHRpcGxlID8/IHRydWVcIlxuXHRcdFthY2NlcHRdPVwicHJvcHMuYWNjZXB0XCJcblx0XHRbd2l0aENyZWRlbnRpYWxzXT1cInByb3BzLndpdGhDcmVkZW50aWFsc1wiXG5cdFx0W21heEZpbGVTaXplXT1cInByb3BzLm1heEZpbGVTaXplXCJcblx0XHRbc3R5bGVDbGFzc109XCJwcm9wcy5zdHlsZUNsYXNzXCJcblx0XHRbcHJldmlld1dpZHRoXT1cInByb3BzLnByZXZpZXdXaWR0aCA/PyA1MFwiXG5cdFx0W21vZGVdPVwicHJvcHMubW9kZSA/PyAnYWR2YW5jZWQnXCJcblx0XHRbaGVhZGVyc109XCJwcm9wcy5oZWFkZXJzXCJcblx0XHRbZmlsZUxpbWl0XT1cInByb3BzLmZpbGVMaW1pdFwiXG5cdFx0W2N1c3RvbVVwbG9hZF09XCJwcm9wcy5jdXN0b21VcGxvYWQgPz8gdHJ1ZVwiXG5cdFx0KG9uQmVmb3JlVXBsb2FkKT1cInByb3BzLm9uQmVmb3JlVXBsb2FkPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvblNlbmQpPVwicHJvcHMub25TZW5kPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvblVwbG9hZCk9XCJwcm9wcy5vblVwbG9hZD8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcblx0XHQob25FcnJvcik9XCJwcm9wcy5vbkVycm9yPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvbkNsZWFyKT1cInByb3BzLm9uQ2xlYXI/LihmaWVsZCgpISwgJGV2ZW50KVwiXG5cdFx0KG9uUmVtb3ZlKT1cInByb3BzLm9uUmVtb3ZlPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdChvblNlbGVjdCk9XCJwcm9wcy5vblNlbGVjdD8uKGZpZWxkKCkhLCAkZXZlbnQpXCJcblx0XHQob25Qcm9ncmVzcyk9XCJwcm9wcy5vblByb2dyZXNzPy4oZmllbGQoKSEsICRldmVudClcIlxuXHRcdCh1cGxvYWRIYW5kbGVyKT1cInVwbG9hZEhhbmRsZXIoZmllbGQoKSEsICRldmVudCwgZnUpXCI+XG5cdFx0PG5nLXRlbXBsYXRlXG5cdFx0XHQjaGVhZGVyXG5cdFx0XHRsZXQtY2hvb3NlQ2FsbGJhY2s9XCJjaG9vc2VDYWxsYmFja1wiPlxuXHRcdFx0PGRpdlxuXHRcdFx0XHQjdXBsb2FkQ29tcFxuXHRcdFx0XHRbY2xhc3NdPVwiJ2ZsZXgganVzdGlmeS1jZW50ZXIgdy1mdWxsIHVwbG9hZC1idG4nICsgKGZpZWxkKCk/LmZpZWxkQ29udHJvbD8uZGlzYWJsZWQgPyAnIHVwbG9hZC1kaXNhYmxlJyA6ICcnKVwiXG5cdFx0XHRcdChjbGljayk9XCJjaG9vc2UoJGV2ZW50LCBjaG9vc2VDYWxsYmFjaylcIj5cblx0XHRcdFx0PHNwYW5cblx0XHRcdFx0XHQ+PHNwYW5cblx0XHRcdFx0XHRcdHN0eWxlPVwiZm9udC1zaXplOiAxMnB4OyBtYXJnaW4tcmlnaHQ6IDIuNXB4XCJcblx0XHRcdFx0XHRcdFtjbGFzc109XCIncGknICsgKGxvYWRpbmcgPyAnIHBpLXNwaW4gcGktc3Bpbm5lcicgOiAnIHBpLXVwbG9hZCcpXCI+PC9zcGFuXG5cdFx0XHRcdFx0Pnt7IChsb2FkaW5nID8gJ21vZGFsLnVwbG9hZGluZycgOiAnbW9kYWwuc2VsZWN0RmlsZScpIHwgdHJhbnNsYXRlIH19PC9zcGFuXG5cdFx0XHRcdD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PG5nLXRlbXBsYXRlICNjb250ZW50PlxuXHRcdFx0QGlmIChmaWxlTGlzdC5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdEBmb3IgKGZpbGUgb2YgZmlsZUxpc3Q7IHRyYWNrIGZpbGU7IGxldCBpbmRleCA9ICRpbmRleCkge1xuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgZmlsZS1pdGVtXCI+XG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiXG5cdFx0XHRcdFx0XHRcdD48YVxuXHRcdFx0XHRcdFx0XHRcdFtocmVmXT1cIidodHRwczovL2ZpbGUubXlmb29kaWVwZXQuY29tLy8nICsgZmlsZVwiXG5cdFx0XHRcdFx0XHRcdFx0W2Rvd25sb2FkXT1cImZpbGVcIlxuXHRcdFx0XHRcdFx0XHRcdD57eyBmaWxlIH19PC9hXG5cdFx0XHRcdFx0XHRcdD48L3NwYW5cblx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdEBpZiAoIWZpZWxkKCk/LmZpZWxkQ29udHJvbD8uZGlzYWJsZWQpIHtcblx0XHRcdFx0XHRcdFx0PHAtYnV0dG9uXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj1cInBpIHBpLXRpbWVzXCJcblx0XHRcdFx0XHRcdFx0XHRzZXZlcml0eT1cImRhbmdlclwiXG5cdFx0XHRcdFx0XHRcdFx0c2l6ZT1cInNtYWxsXCJcblx0XHRcdFx0XHRcdFx0XHQob25DbGljayk9XCJkZWxldGVIYW5kbGVyKGZpbGUsIGluZGV4KVwiXG5cdFx0XHRcdFx0XHRcdFx0W3RleHRdPVwidHJ1ZVwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDxuZy10ZW1wbGF0ZSAjZmlsZT4gPC9uZy10ZW1wbGF0ZT5cblx0PC9wLWZpbGVVcGxvYWQ+YCxcblx0c3R5bGVVcmw6ICcuLi8uLi9zdHlsZXMvc3R5bGVzLnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRDb21wb25lbnQge1xuXHRAVmlld0NoaWxkKCd1cGxvYWRDb21wJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIHVwbG9hZENvbXBSZWYhOiBFbGVtZW50UmVmO1xuXHRmaWVsZCA9IGlucHV0PEZvcm1GaWVsZD4oKTtcblx0cHJvcHM6IFVwbG9hZFByb3BzID0ge307XG5cdGZpbGVMaXN0OiBzdHJpbmdbXSA9IFtdO1xuXHRkZWxldGVIb29rczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcblx0bG9hZGluZyA9IGZhbHNlO1xuXHRjb3VudGVyID0gMDtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG5cdFx0cHJpdmF0ZSBhY3Rpb246IEFjdGlvblNlcnZpY2UsXG5cdFx0cHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuXHRcdHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlLFxuXHQpIHtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuZmllbGQoKSkge1xuXHRcdFx0XHR0aGlzLnByb3BzID0gdGhpcy5maWVsZCgpIS51cGxvYWRQcm9wcyE7XG5cdFx0XHRcdHRoaXMuaGFuZGxlSG9va0NoYW5nZSgpO1xuXHRcdFx0XHR0aGlzLmhhbmRsZURpc2FibGVkKCk7XG5cdFx0XHRcdHRoaXMuYWZ0ZXJTdWJtaXQoKTtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Zm9ya0pvaW4odGhpcy5kZWxldGVIb29rcykuc3Vic2NyaWJlKCk7XG5cdFx0fSk7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGxhYmVsQWN0aW9uID0gdGhpcy5hY3Rpb24uZ2V0RmllbGRMYWJlbEFjdGlvbigpO1xuXHRcdFx0aWYgKCFsYWJlbEFjdGlvbiB8fCBsYWJlbEFjdGlvbj8ua2V5ICE9IHRoaXMuZmllbGQoKT8udXVpZCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnbW91c2VlbnRlcicpIHtcblx0XHRcdFx0dGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnVwbG9hZENvbXBSZWYubmF0aXZlRWxlbWVudCwgJ25nLWhvdmVyZWQnKTtcblx0XHRcdH0gZWxzZSBpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnbW91c2VsZWF2ZScpIHtcblx0XHRcdFx0dGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnVwbG9hZENvbXBSZWYubmF0aXZlRWxlbWVudCwgJ25nLWhvdmVyZWQnKTtcblx0XHRcdH0gZWxzZSBpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnY2xpY2snKSB7XG5cdFx0XHRcdHRoaXMudXBsb2FkQ29tcFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRjaG9vc2UoZXZlbnQ6IGFueSwgY2FsbGJhY2s6IGFueSkge1xuXHRcdGlmICh0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8uZGlzYWJsZWQpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0Y2FsbGJhY2soKTtcblx0fVxuXG5cdHVwbG9hZEZpbGUoZmlsZTogRmlsZSk6IE9ic2VydmFibGU8YW55PiB7XG5cdFx0Y29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblx0XHRmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlKTtcblx0XHRyZXR1cm4gdGhpcy5odHRwXG5cdFx0XHQucmVxdWVzdChcblx0XHRcdFx0bmV3IEh0dHBSZXF1ZXN0KCdQT1NUJywgJ2ZpbGVyVXBsb2FkJywgZm9ybURhdGEsIHtcblx0XHRcdFx0XHRyZXBvcnRQcm9ncmVzczogdHJ1ZSxcblx0XHRcdFx0XHR3aXRoQ3JlZGVudGlhbHM6IGZhbHNlLFxuXHRcdFx0XHR9KSxcblx0XHRcdClcblx0XHRcdC5waXBlKGZpbHRlcigocmVzcG9uc2U6IEh0dHBFdmVudDxhbnk+KSA9PiByZXNwb25zZS50eXBlID09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpKTtcblx0fVxuXG5cdGRlbEZpbGUoZmlsZVN0cjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5odHRwLnBvc3QoJ2ZpbGVyRGVsZXRlJywgeyBmaWxlTmFtZTogZmlsZVN0ciB9KTtcblx0fVxuXG5cdHVwbG9hZEhhbmRsZXIoZmllbGQ6IGFueSwgZXZlbnQ6IGFueSwgZnU6IGFueSkge1xuXHRcdHRoaXMuaW5pdExvYWRpbmcoZXZlbnQuZmlsZXMubGVuZ3RoKTtcblx0XHRldmVudC5maWxlcy5mb3JFYWNoKCh2OiBhbnkpID0+IHtcblx0XHRcdHRoaXMudXBsb2FkRmlsZSh2KS5zdWJzY3JpYmUoe1xuXHRcdFx0XHRuZXh0OiAocmVzcG9uc2UpID0+IHtcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZUxvYWRpbmcoZnUpO1xuXHRcdFx0XHRcdHRoaXMuZmlsZUxpc3Q/LnB1c2gocmVzcG9uc2UuYm9keS5maWxlTmFtZSk7XG5cdFx0XHRcdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/LnNldFZhbHVlKHRoaXMuZmlsZUxpc3QpO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRlcnJvcjogKGVycm9yKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5pbml0TG9hZGluZygwKTtcblx0XHRcdFx0XHQvLyBjb25zb2xlLmVycm9yKGVycm9yKTtcblx0XHRcdFx0fSxcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG5cblx0ZGVsZXRlSGFuZGxlcihmaWxlU3RyOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpIHtcblx0XHR0aGlzLmRlbGV0ZUhvb2tzLnB1c2godGhpcy5kZWxGaWxlKGZpbGVTdHIpKTtcblx0XHR0aGlzLmZpbGVMaXN0ID0gdGhpcy5maWxlTGlzdD8uZmlsdGVyKCh2YWx1ZSwgaSkgPT4gaW5kZXggIT0gaSk7XG5cdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/LnNldFZhbHVlKHRoaXMuZmlsZUxpc3QpO1xuXHR9XG5cblx0aGFuZGxlSG9va0NoYW5nZSgpIHtcblx0XHR0aGlzLmZpZWxkKCk/LmZpZWxkQ29udHJvbD8uaG9va0NoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG5cdFx0XHRpZiAodmFsdWUgPT0gbnVsbCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHR0aGlzLnByb3BzLm9uSG9va0NoYW5nZT8uKHRoaXMuZmllbGQoKSEsIHsgdmFsdWUgfSk7XG5cdFx0XHR0aGlzLmZpbGVMaXN0ID0gWy4uLnZhbHVlXTtcblx0XHR9KTtcblx0fVxuXG5cdGFmdGVyU3VibWl0KCkge1xuXHRcdHRoaXMuZmllbGQoKT8uZmllbGRDb250cm9sPy5zdWJtaXRDaGFuZ2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuXHRcdFx0aWYgKEJvb2xlYW4odmFsdWUpKSB7XG5cdFx0XHRcdHRoaXMuZGVsZXRlSG9va3MuZm9yRWFjaCgoaG9vaykgPT4gaG9vay5zdWJzY3JpYmUoKSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRoYW5kbGVEaXNhYmxlZCgpIHtcblx0XHRpZiAodGhpcy5wcm9wcz8uZGlzYWJsZWQpIHtcblx0XHRcdHRoaXMuZmllbGQoKSEuZmllbGRDb250cm9sIS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcblx0XHR9XG5cdH1cblxuXHRpbml0TG9hZGluZyhjb3VudGVyOiBudW1iZXIpIHtcblx0XHR0aGlzLmNvdW50ZXIgPSBjb3VudGVyO1xuXHRcdGlmIChjb3VudGVyID09IDApIHtcblx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xuXHR9XG5cblx0dXBkYXRlTG9hZGluZyhmdTogYW55KSB7XG5cdFx0dGhpcy5jb3VudGVyLS07XG5cdFx0Ly8gY29uc29sZS5sb2coJy0tLS1jb3VudGVyJywgdGhpcy5jb3VudGVyKTtcblx0XHRpZiAodGhpcy5jb3VudGVyID09PSAwKSB7XG5cdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcblx0XHRcdGZ1LmNsZWFyKCk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
@@ -1,70 +1,296 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { AutoCompleteModule } from 'primeng/autocomplete';
3
3
  import { FormsModule } from '@angular/forms';
4
+ import { isObservable, lastValueFrom } from 'rxjs';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "primeng/autocomplete";
6
7
  import * as i2 from "@angular/forms";
7
8
  export class CellEditAutoCompleteComponent {
9
+ constructor() {
10
+ this.params = {};
11
+ this.suggestions = [];
12
+ }
13
+ get displaySuggestions() {
14
+ return this.normalizeOptions(this.params.suggestions ?? this.params.options ?? this.params.colDef?.cellEditorParams?.suggestions ?? this.params.colDef?.cellEditorParams?.options ?? this.suggestions);
15
+ }
8
16
  agInit(params) {
9
- this.params = params;
10
- this.value = params.value;
11
- const { dataMap, optionLabel, optionValue, options = [] } = params.colDef.cellEditorParams;
12
- if (this.isKeyValue()) {
13
- this.value = dataMap[this.value][optionLabel];
14
- }
15
- this.options = options;
17
+ const editorParams = this.resolveEditorParams(params);
18
+ this.params = {
19
+ ...editorParams,
20
+ ...params,
21
+ optionLabel: editorParams.optionLabel || 'label',
22
+ optionValue: editorParams.optionValue || 'value',
23
+ };
24
+ this.suggestions = this.normalizeOptions(editorParams.suggestions ?? editorParams.options ?? []);
25
+ this.params.suggestions = this.suggestions;
26
+ this.setEditorSize(params);
27
+ this.value = this.resolveInitialValue(params.value);
16
28
  }
17
29
  getValue() {
18
- // console.log('this.value',this.value)
19
- return this.value;
20
- }
21
- // refresh(param:any){
22
- // this.options = param.options
23
- // }
24
- onChange(e) {
25
- // console.log(e)
26
- // e.stop
27
- }
28
- isKeyValue() {
29
- const { dataMap, optionLabel, optionValue } = this.params.colDef.cellEditorParams;
30
- return dataMap && optionLabel && optionValue && optionValue !== optionLabel;
31
- }
32
- search(e) {
33
- this.params.search(e).subscribe((res) => {
34
- this.options = res.data;
35
- if (this.isKeyValue() && res.data.length > 0) {
36
- this.params.colDef.cellEditorParams.dataMap = res.data.reduce((p, n) => {
37
- if (!p[n.id]) {
38
- p[n.id] = n;
39
- }
40
- return p;
41
- }, {});
42
- }
43
- if (res.data.length === 0) {
44
- this.params.colDef.cellEditorParams.hasOwnProperty('dataMap') && delete this.params.colDef.cellEditorParams.dataMap;
45
- }
46
- });
47
- // this.options = ['2',2,4]
30
+ if (this.params.multiple) {
31
+ return Array.isArray(this.value) ? this.value.map((item) => this.resolveOptionValue(item)) : this.value;
32
+ }
33
+ return this.resolveOptionValue(this.value);
48
34
  }
49
- focusIn() {
35
+ async search(e) {
36
+ const completeMethodResult = this.params.completeMethod?.(this.params, e);
37
+ if (completeMethodResult !== undefined) {
38
+ await this.applyOptionsResult(completeMethodResult);
39
+ }
40
+ if (typeof this.params.search === 'function') {
41
+ await this.applyOptionsResult(this.params.search(e));
42
+ }
43
+ this.syncSuggestionsFromParams();
50
44
  }
51
45
  select(e) {
52
- this.params.api.stopEditing();
46
+ if (this.params.multiple) {
47
+ this.value = this.toValueArray(this.value).map((item) => this.findOptionByValue(item) ?? item);
48
+ }
49
+ else {
50
+ this.value = e.value;
51
+ }
52
+ this.updateNameFields(e);
53
+ this.emitEvent('onSelect', e);
54
+ if (this.params.stopEditingOnSelect !== false) {
55
+ this.params.api.stopEditing();
56
+ }
57
+ }
58
+ unselect(e) {
59
+ this.updateNameFields(e);
60
+ this.emitEvent('onUnselect', e);
61
+ }
62
+ clear(e) {
63
+ this.value = this.params.multiple ? [] : null;
64
+ this.updateNameFields({ ...e, value: this.value });
65
+ this.emitEvent('onClear', e);
66
+ }
67
+ emitEvent(name, event) {
68
+ const callback = this.params[name];
69
+ if (typeof callback === 'function') {
70
+ callback(this.params, event);
71
+ }
72
+ }
73
+ setEditorSize(params) {
74
+ const cellWidth = params.column.getActualWidth();
75
+ this.params.style = {
76
+ border: 'none',
77
+ boxShadow: 'none',
78
+ width: `${cellWidth}px`,
79
+ background: 'var(--ag-background-color)',
80
+ ...(this.params.style || {}),
81
+ };
82
+ this.params.panelStyle = {
83
+ width: `${cellWidth}px`,
84
+ ...(this.params.panelStyle || {}),
85
+ };
86
+ }
87
+ updateNameFields(event) {
88
+ const nameFields = this.params.nameFields || [];
89
+ nameFields.forEach((nameField) => {
90
+ this.updateNameField(nameField, event);
91
+ });
92
+ }
93
+ updateNameField(nameField, event) {
94
+ const oldValue = this.params.data?.[nameField.field];
95
+ const newValue = this.resolveNameFieldValue(nameField, event?.value);
96
+ const grid = typeof this.params.grid === 'function' ? this.params.grid() : undefined;
97
+ if (grid?.cellValueChanged) {
98
+ const e = {
99
+ colDef: nameField,
100
+ oldValue,
101
+ newValue,
102
+ rowIndex: this.params.node?.rowIndex,
103
+ data: { id: this.params.data?.id },
104
+ };
105
+ grid.cellValueChanged(e);
106
+ }
107
+ if (this.params.data) {
108
+ this.params.data[nameField.field] = newValue;
109
+ }
110
+ }
111
+ resolveNameFieldValue(nameField, value) {
112
+ if (this.params.multiple) {
113
+ const values = this.toValueArray(this.getValue());
114
+ return this.displaySuggestions
115
+ .filter((op) => values.some((selectedValue) => this.valueEquals(selectedValue, this.resolveOptionValue(op))))
116
+ .map((op) => op?.[nameField.key])
117
+ .filter((item) => item !== undefined && item !== null && item !== '')
118
+ .join(',');
119
+ }
120
+ const selectedOption = typeof value === 'object' && value !== null ? value : this.findOptionByValue(value);
121
+ return selectedOption ? selectedOption[nameField.key] : null;
122
+ }
123
+ resolveInitialValue(value) {
124
+ if (this.params.multiple) {
125
+ const values = Array.isArray(value) ? value : this.toValueArray(value);
126
+ return values.map((item) => this.findOptionByValue(item) ?? item);
127
+ }
128
+ return this.findOptionByValue(value) ?? value ?? null;
129
+ }
130
+ resolveOptionValue(option) {
131
+ if (option === '' || option == null) {
132
+ return null;
133
+ }
134
+ if (typeof option !== 'object') {
135
+ return option;
136
+ }
137
+ const optionValue = this.params.optionValue;
138
+ if (typeof optionValue === 'function') {
139
+ return optionValue(option);
140
+ }
141
+ return optionValue ? option?.[optionValue] : option;
142
+ }
143
+ findOptionByValue(value) {
144
+ return this.displaySuggestions.find((option) => this.valueEquals(this.resolveOptionValue(option), value));
145
+ }
146
+ valueEquals(a, b) {
147
+ return a === b || (a != null && b != null && String(a) === String(b));
148
+ }
149
+ async applyOptionsResult(result) {
150
+ const resolved = await this.resolveResult(result);
151
+ if (resolved === undefined) {
152
+ return;
153
+ }
154
+ const options = this.extractOptions(resolved);
155
+ if (options) {
156
+ this.setSuggestions(options);
157
+ }
158
+ }
159
+ async resolveResult(result) {
160
+ if (isObservable(result)) {
161
+ return lastValueFrom(result);
162
+ }
163
+ if (result && typeof result.then === 'function') {
164
+ return result;
165
+ }
166
+ return result;
167
+ }
168
+ extractOptions(result) {
169
+ if (Array.isArray(result)) {
170
+ return result;
171
+ }
172
+ if (Array.isArray(result?.data)) {
173
+ return result.data;
174
+ }
175
+ if (Array.isArray(result?.suggestions)) {
176
+ return result.suggestions;
177
+ }
178
+ if (Array.isArray(result?.options)) {
179
+ return result.options;
180
+ }
181
+ return undefined;
182
+ }
183
+ setSuggestions(options) {
184
+ this.suggestions = this.normalizeOptions(options);
185
+ this.params.suggestions = this.suggestions;
186
+ if (this.params.colDef?.cellEditorParams) {
187
+ this.params.colDef.cellEditorParams.suggestions = this.suggestions;
188
+ this.params.colDef.cellEditorParams.options = this.suggestions;
189
+ }
190
+ }
191
+ syncSuggestionsFromParams() {
192
+ const options = this.params.suggestions ?? this.params.options ?? this.params.colDef?.cellEditorParams?.suggestions ?? this.params.colDef?.cellEditorParams?.options;
193
+ if (options !== undefined && options !== this.suggestions) {
194
+ this.setSuggestions(options);
195
+ }
196
+ }
197
+ normalizeOptions(options) {
198
+ return Array.isArray(options) ? options : [];
199
+ }
200
+ resolveEditorParams(params) {
201
+ const cellEditorParams = params.colDef.cellEditorParams;
202
+ if (typeof cellEditorParams === 'function') {
203
+ return cellEditorParams(params) || {};
204
+ }
205
+ return cellEditorParams || {};
206
+ }
207
+ toValueArray(value) {
208
+ if (Array.isArray(value)) {
209
+ return value;
210
+ }
211
+ if (value === '' || value == null) {
212
+ return [];
213
+ }
214
+ return String(value).split(',').filter((item) => item !== '');
53
215
  }
54
216
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellEditAutoCompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
217
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CellEditAutoCompleteComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
56
218
  <p-autocomplete
57
219
  [(ngModel)]="value"
58
- [suggestions]="options"
220
+ [suggestions]="displaySuggestions"
221
+ [minLength]="params.minLength ?? 1"
222
+ [delay]="params.delay ?? 300"
223
+ [panelStyle]="params.panelStyle"
224
+ [panelStyleClass]="params.panelStyleClass"
225
+ [styleClass]="params.styleClass"
226
+ [inputStyle]="params.inputStyle"
227
+ [inputStyleClass]="params.inputStyleClass"
59
228
  [placeholder]="params.placeholder"
60
- [size]="'large'"
61
- appendTo="body"
229
+ [readonly]="params.readonly"
230
+ [disabled]="params.disabled"
231
+ [scrollHeight]="params.scrollHeight ?? '200px'"
232
+ [lazy]="params.lazy"
233
+ [virtualScroll]="params.virtualScroll"
234
+ [virtualScrollItemSize]="params.virtualScrollItemSize"
235
+ [virtualScrollOptions]="params.virtualScrollOptions"
236
+ [maxlength]="params.maxlength"
237
+ [name]="params.name"
238
+ [size]="params.size"
239
+ [appendTo]="params.appendTo ?? 'body'"
240
+ [autoHighlight]="params.autoHighlight"
241
+ [forceSelection]="params.forceSelection"
242
+ [type]="params.type ?? 'text'"
243
+ [autoZIndex]="params.autoZIndex ?? true"
244
+ [baseZIndex]="params.baseZIndex ?? 0"
245
+ [ariaLabel]="params.ariaLabel"
246
+ [ariaLabelledBy]="params.ariaLabelledBy"
247
+ [dropdownAriaLabel]="params.dropdownAriaLabel"
248
+ [dropdownIcon]="params.dropdownIcon"
249
+ [unique]="params.unique ?? true"
250
+ [group]="params.group"
251
+ [completeOnFocus]="params.completeOnFocus"
252
+ [showClear]="params.showClear"
253
+ [dropdown]="params.dropdown"
254
+ [showEmptyMessage]="params.showEmptyMessage ?? true"
255
+ [dropdownMode]="params.dropdownMode ?? 'blank'"
256
+ [multiple]="params.multiple"
257
+ [tabindex]="params.tabindex"
258
+ [dataKey]="params.dataKey"
259
+ [emptyMessage]="params.emptyMessage"
260
+ [showTransitionOptions]="params.showTransitionOptions"
261
+ [hideTransitionOptions]="params.hideTransitionOptions"
262
+ [autofocus]="params.autofocus ?? true"
263
+ [autocomplete]="params.autocomplete ?? 'off'"
264
+ [optionGroupChildren]="params.optionGroupChildren ?? 'items'"
265
+ [optionGroupLabel]="params.optionGroupLabel ?? 'label'"
266
+ [overlayOptions]="params.overlayOptions"
62
267
  [optionLabel]="params.optionLabel"
63
268
  [optionValue]="params.optionValue"
64
- [autofocus]="true"
269
+ [searchMessage]="params.searchMessage"
270
+ [emptySelectionMessage]="params.emptySelectionMessage"
271
+ [selectionMessage]="params.selectionMessage"
272
+ [autoOptionFocus]="params.autoOptionFocus"
273
+ [selectOnFocus]="params.selectOnFocus"
274
+ [searchLocale]="params.searchLocale"
275
+ [optionDisabled]="params.optionDisabled"
276
+ [focusOnHover]="params.focusOnHover ?? true"
277
+ [typeahead]="params.typeahead ?? true"
278
+ [variant]="params.variant"
279
+ [fluid]="params.fluid ?? true"
280
+ [class]="params.class"
281
+ [style]="params.style"
65
282
  (completeMethod)="search($event)"
66
- (onSelect)="select($event)" />
67
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i1.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "variant", "fluid"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
283
+ (onSelect)="select($event)"
284
+ (onUnselect)="unselect($event)"
285
+ (onFocus)="emitEvent('onFocus', $event)"
286
+ (onBlur)="emitEvent('onBlur', $event)"
287
+ (onDropdownClick)="emitEvent('onDropdownClick', $event)"
288
+ (onClear)="clear($event)"
289
+ (onKeyUp)="emitEvent('onKeyUp', $event)"
290
+ (onShow)="emitEvent('onShow', $event)"
291
+ (onHide)="emitEvent('onHide', $event)"
292
+ (onLazyLoad)="emitEvent('onLazyLoad', $event)" />
293
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i1.AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "variant", "fluid"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
68
294
  }
69
295
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CellEditAutoCompleteComponent, decorators: [{
70
296
  type: Component,
@@ -74,16 +300,80 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
74
300
  template: `
75
301
  <p-autocomplete
76
302
  [(ngModel)]="value"
77
- [suggestions]="options"
303
+ [suggestions]="displaySuggestions"
304
+ [minLength]="params.minLength ?? 1"
305
+ [delay]="params.delay ?? 300"
306
+ [panelStyle]="params.panelStyle"
307
+ [panelStyleClass]="params.panelStyleClass"
308
+ [styleClass]="params.styleClass"
309
+ [inputStyle]="params.inputStyle"
310
+ [inputStyleClass]="params.inputStyleClass"
78
311
  [placeholder]="params.placeholder"
79
- [size]="'large'"
80
- appendTo="body"
312
+ [readonly]="params.readonly"
313
+ [disabled]="params.disabled"
314
+ [scrollHeight]="params.scrollHeight ?? '200px'"
315
+ [lazy]="params.lazy"
316
+ [virtualScroll]="params.virtualScroll"
317
+ [virtualScrollItemSize]="params.virtualScrollItemSize"
318
+ [virtualScrollOptions]="params.virtualScrollOptions"
319
+ [maxlength]="params.maxlength"
320
+ [name]="params.name"
321
+ [size]="params.size"
322
+ [appendTo]="params.appendTo ?? 'body'"
323
+ [autoHighlight]="params.autoHighlight"
324
+ [forceSelection]="params.forceSelection"
325
+ [type]="params.type ?? 'text'"
326
+ [autoZIndex]="params.autoZIndex ?? true"
327
+ [baseZIndex]="params.baseZIndex ?? 0"
328
+ [ariaLabel]="params.ariaLabel"
329
+ [ariaLabelledBy]="params.ariaLabelledBy"
330
+ [dropdownAriaLabel]="params.dropdownAriaLabel"
331
+ [dropdownIcon]="params.dropdownIcon"
332
+ [unique]="params.unique ?? true"
333
+ [group]="params.group"
334
+ [completeOnFocus]="params.completeOnFocus"
335
+ [showClear]="params.showClear"
336
+ [dropdown]="params.dropdown"
337
+ [showEmptyMessage]="params.showEmptyMessage ?? true"
338
+ [dropdownMode]="params.dropdownMode ?? 'blank'"
339
+ [multiple]="params.multiple"
340
+ [tabindex]="params.tabindex"
341
+ [dataKey]="params.dataKey"
342
+ [emptyMessage]="params.emptyMessage"
343
+ [showTransitionOptions]="params.showTransitionOptions"
344
+ [hideTransitionOptions]="params.hideTransitionOptions"
345
+ [autofocus]="params.autofocus ?? true"
346
+ [autocomplete]="params.autocomplete ?? 'off'"
347
+ [optionGroupChildren]="params.optionGroupChildren ?? 'items'"
348
+ [optionGroupLabel]="params.optionGroupLabel ?? 'label'"
349
+ [overlayOptions]="params.overlayOptions"
81
350
  [optionLabel]="params.optionLabel"
82
351
  [optionValue]="params.optionValue"
83
- [autofocus]="true"
352
+ [searchMessage]="params.searchMessage"
353
+ [emptySelectionMessage]="params.emptySelectionMessage"
354
+ [selectionMessage]="params.selectionMessage"
355
+ [autoOptionFocus]="params.autoOptionFocus"
356
+ [selectOnFocus]="params.selectOnFocus"
357
+ [searchLocale]="params.searchLocale"
358
+ [optionDisabled]="params.optionDisabled"
359
+ [focusOnHover]="params.focusOnHover ?? true"
360
+ [typeahead]="params.typeahead ?? true"
361
+ [variant]="params.variant"
362
+ [fluid]="params.fluid ?? true"
363
+ [class]="params.class"
364
+ [style]="params.style"
84
365
  (completeMethod)="search($event)"
85
- (onSelect)="select($event)" />
366
+ (onSelect)="select($event)"
367
+ (onUnselect)="unselect($event)"
368
+ (onFocus)="emitEvent('onFocus', $event)"
369
+ (onBlur)="emitEvent('onBlur', $event)"
370
+ (onDropdownClick)="emitEvent('onDropdownClick', $event)"
371
+ (onClear)="clear($event)"
372
+ (onKeyUp)="emitEvent('onKeyUp', $event)"
373
+ (onShow)="emitEvent('onShow', $event)"
374
+ (onHide)="emitEvent('onHide', $event)"
375
+ (onLazyLoad)="emitEvent('onLazyLoad', $event)" />
86
376
  `
87
377
  }]
88
378
  }] });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0LWF1dG9Db21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2dyaWQvY2VsbC1lZGl0L2NlbGwtZWRpdC1hdXRvQ29tcGxldGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRXhELE9BQU8sRUFBRSxrQkFBa0IsRUFBMkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFtQjdDLE1BQU0sT0FBTyw2QkFBNkI7SUFNdkMsTUFBTSxDQUFDLE1BQXlCO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUN6QixNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBQyxXQUFXLEVBQUMsT0FBTyxHQUFHLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUE7UUFDeEYsSUFBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDL0MsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO0lBQ3hCLENBQUM7SUFDRCxRQUFRO1FBQ04sdUNBQXVDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUNuQixDQUFDO0lBQ0Qsc0JBQXNCO0lBQ3RCLGlDQUFpQztJQUNqQyxJQUFJO0lBQ0osUUFBUSxDQUFDLENBQUs7UUFDWixpQkFBaUI7UUFDakIsU0FBUztJQUNYLENBQUM7SUFDRCxVQUFVO1FBQ1IsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUMsV0FBVyxFQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUE7UUFDL0UsT0FBTyxPQUFPLElBQUksV0FBVyxJQUFJLFdBQVcsSUFBSSxXQUFXLEtBQUssV0FBVyxDQUFBO0lBQzdFLENBQUM7SUFDRCxNQUFNLENBQUMsQ0FBSztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQU8sRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQTtZQUN2QixJQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUMsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBSyxFQUFDLENBQUssRUFBRSxFQUFFO29CQUM1RSxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO3dCQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFBO29CQUNiLENBQUM7b0JBQ0QsT0FBTyxDQUFDLENBQUE7Z0JBQ1YsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ1AsQ0FBQztZQUNELElBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQTtZQUNySCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDRiwyQkFBMkI7SUFDN0IsQ0FBQztJQUNELE9BQU87SUFFUCxDQUFDO0lBRUQsTUFBTSxDQUFDLENBQXlCO1FBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7K0dBckRRLDZCQUE2QjttR0FBN0IsNkJBQTZCLHdFQWYvQjs7Ozs7Ozs7Ozs7O0dBWVIsMkRBYlMsa0JBQWtCLG93Q0FBQyxXQUFXOzs0RkFnQjdCLDZCQUE2QjtrQkFsQnpDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFDLFdBQVcsQ0FBQztvQkFDekMsUUFBUSxFQUFDOzs7Ozs7Ozs7Ozs7R0FZUjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQ2VsbEVkaXRvclBhcmFtcyB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3QvdHlwZXMvc3JjL2ludGVyZmFjZXMvaUNlbGxFZGl0b3InO1xuaW1wb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlLCBBdXRvQ29tcGxldGVTZWxlY3RFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBdXRvQ29tcGxldGVNb2R1bGUsRm9ybXNNb2R1bGVdLFxuICB0ZW1wbGF0ZTpgXG4gICAgPHAtYXV0b2NvbXBsZXRlIFxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIFxuICAgICAgW3N1Z2dlc3Rpb25zXT1cIm9wdGlvbnNcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBhcmFtcy5wbGFjZWhvbGRlclwiXG4gICAgICBbc2l6ZV09XCInbGFyZ2UnXCJcbiAgICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICBbb3B0aW9uTGFiZWxdPVwicGFyYW1zLm9wdGlvbkxhYmVsXCJcbiAgICAgIFtvcHRpb25WYWx1ZV09XCJwYXJhbXMub3B0aW9uVmFsdWVcIlxuICAgICAgW2F1dG9mb2N1c109XCJ0cnVlXCJcbiAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgICAob25TZWxlY3QpPVwic2VsZWN0KCRldmVudClcIiAvPlxuICBgXG59KVxuXG5leHBvcnQgY2xhc3MgQ2VsbEVkaXRBdXRvQ29tcGxldGVDb21wb25lbnQge1xuICBwdWJsaWMgcGFyYW1zITogYW55O1xuICBwdWJsaWMgdmFsdWU6IGFueTtcbiAgcHVibGljIHZhbHVlczphbnlcbiAgb3B0aW9uczphbnkgXG5cbiAgIGFnSW5pdChwYXJhbXM6IElDZWxsRWRpdG9yUGFyYW1zKTogdm9pZCB7XG4gICAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcbiAgICAgIHRoaXMudmFsdWUgPSBwYXJhbXMudmFsdWVcbiAgICAgIGNvbnN0IHsgZGF0YU1hcCwgb3B0aW9uTGFiZWwsb3B0aW9uVmFsdWUsb3B0aW9ucyA9IFtdIH0gPSBwYXJhbXMuY29sRGVmLmNlbGxFZGl0b3JQYXJhbXNcbiAgICAgIGlmKHRoaXMuaXNLZXlWYWx1ZSgpKXtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGFNYXBbdGhpcy52YWx1ZV1bb3B0aW9uTGFiZWxdXG4gICAgICB9XG4gICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zXG4gICAgfVxuICAgIGdldFZhbHVlKCl7XG4gICAgICAvLyBjb25zb2xlLmxvZygndGhpcy52YWx1ZScsdGhpcy52YWx1ZSlcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlXG4gICAgfVxuICAgIC8vIHJlZnJlc2gocGFyYW06YW55KXtcbiAgICAvLyAgIHRoaXMub3B0aW9ucyA9IHBhcmFtLm9wdGlvbnNcbiAgICAvLyB9XG4gICAgb25DaGFuZ2UoZTphbnkpe1xuICAgICAgLy8gY29uc29sZS5sb2coZSlcbiAgICAgIC8vIGUuc3RvcFxuICAgIH1cbiAgICBpc0tleVZhbHVlKCl7XG4gICAgICBjb25zdCB7IGRhdGFNYXAsIG9wdGlvbkxhYmVsLG9wdGlvblZhbHVlfSA9IHRoaXMucGFyYW1zLmNvbERlZi5jZWxsRWRpdG9yUGFyYW1zXG4gICAgICByZXR1cm4gZGF0YU1hcCAmJiBvcHRpb25MYWJlbCAmJiBvcHRpb25WYWx1ZSAmJiBvcHRpb25WYWx1ZSAhPT0gb3B0aW9uTGFiZWxcbiAgICB9XG4gICAgc2VhcmNoKGU6YW55KXtcbiAgICAgIHRoaXMucGFyYW1zLnNlYXJjaChlKS5zdWJzY3JpYmUoKHJlczphbnkpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzLmRhdGFcbiAgICAgICAgaWYodGhpcy5pc0tleVZhbHVlKCkgJiYgcmVzLmRhdGEubGVuZ3RoID4gMCl7XG4gICAgICAgICAgdGhpcy5wYXJhbXMuY29sRGVmLmNlbGxFZGl0b3JQYXJhbXMuZGF0YU1hcCA9IHJlcy5kYXRhLnJlZHVjZSgocDphbnksbjphbnkpID0+IHtcbiAgICAgICAgICAgIGlmKCFwW24uaWRdKXtcbiAgICAgICAgICAgICAgcFtuLmlkXSA9IG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwXG4gICAgICAgICAgfSx7fSlcbiAgICAgICAgfVxuICAgICAgICBpZihyZXMuZGF0YS5sZW5ndGggPT09IDApe1xuICAgICAgICAgIHRoaXMucGFyYW1zLmNvbERlZi5jZWxsRWRpdG9yUGFyYW1zLmhhc093blByb3BlcnR5KCdkYXRhTWFwJykgJiYgZGVsZXRlIHRoaXMucGFyYW1zLmNvbERlZi5jZWxsRWRpdG9yUGFyYW1zLmRhdGFNYXBcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC8vIHRoaXMub3B0aW9ucyA9IFsnMicsMiw0XVxuICAgIH1cbiAgICBmb2N1c0luKCl7XG5cbiAgICB9XG5cbiAgICBzZWxlY3QoZTpBdXRvQ29tcGxldGVTZWxlY3RFdmVudCl7XG4gICAgICB0aGlzLnBhcmFtcy5hcGkuc3RvcEVkaXRpbmcoKTsgXG4gICAgfVxuICAgIC8vIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCddKVxuICAgIC8vIG9uRW50ZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAvLyAgIHRoaXMucGFyYW1zLmFwaS5zdG9wRWRpdGluZygpO1xuICAgIC8vIH1cbn0iXX0=
379
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1lZGl0LWF1dG9Db21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2dyaWQvY2VsbC1lZGl0L2NlbGwtZWRpdC1hdXRvQ29tcGxldGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLGtCQUFrQixFQUEyQixNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQXFGbkQsTUFBTSxPQUFPLDZCQUE2QjtJQWxGMUM7UUFtRlMsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUV4QixnQkFBVyxHQUFTLEVBQUUsQ0FBQztLQXFPeEI7SUFuT0MsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDek0sQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUF5QjtRQUM5QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLEdBQUcsWUFBWTtZQUNmLEdBQUcsTUFBTTtZQUNULFdBQVcsRUFBRSxZQUFZLENBQUMsV0FBVyxJQUFJLE9BQU87WUFDaEQsV0FBVyxFQUFFLFlBQVksQ0FBQyxXQUFXLElBQUksT0FBTztTQUNqRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFdBQVcsSUFBSSxZQUFZLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzFHLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBSztRQUNoQixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxJQUFJLG9CQUFvQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUM3QyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsTUFBTSxDQUFDLENBQXlCO1FBQzlCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2pHLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLENBQUs7UUFDWixJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQyxDQUFLO1FBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBVyxFQUFFLEtBQVM7UUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLE9BQU8sUUFBUSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ25DLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQXlCO1FBQzdDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUc7WUFDbEIsTUFBTSxFQUFFLE1BQU07WUFDZCxTQUFTLEVBQUUsTUFBTTtZQUNqQixLQUFLLEVBQUUsR0FBRyxTQUFTLElBQUk7WUFDdkIsVUFBVSxFQUFFLDRCQUE0QjtZQUN4QyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1NBQzdCLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRztZQUN2QixLQUFLLEVBQUUsR0FBRyxTQUFTLElBQUk7WUFDdkIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztTQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQVM7UUFDaEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ2hELFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlLENBQUMsU0FBYyxFQUFFLEtBQVU7UUFDaEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckUsTUFBTSxJQUFJLEdBQThCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDaEgsSUFBSSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsR0FBUTtnQkFDYixNQUFNLEVBQUUsU0FBUztnQkFDakIsUUFBUTtnQkFDUixRQUFRO2dCQUNSLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRO2dCQUNwQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO2FBQ25DLENBQUM7WUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCLENBQUMsU0FBYyxFQUFFLEtBQVU7UUFDdEQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDbEQsT0FBTyxJQUFJLENBQUMsa0JBQWtCO2lCQUMzQixNQUFNLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUN0SCxHQUFHLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDckMsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztpQkFDekUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsQ0FBQztRQUNELE1BQU0sY0FBYyxHQUFHLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRyxPQUFPLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQy9ELENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxLQUFTO1FBQ25DLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVPLGtCQUFrQixDQUFDLE1BQVU7UUFDbkMsSUFBSSxNQUFNLEtBQUssRUFBRSxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNwQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUM1QyxJQUFJLE9BQU8sV0FBVyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0RCxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBUztRQUNqQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVPLFdBQVcsQ0FBQyxDQUFLLEVBQUUsQ0FBSztRQUM5QixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTyxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBVTtRQUN6QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEQsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFVO1FBQ3BDLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDekIsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksTUFBTSxJQUFJLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNoRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFVO1FBQy9CLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDaEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDdkMsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkMsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWE7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztRQUNySyxJQUFJLE9BQU8sS0FBSyxTQUFTLElBQUksT0FBTyxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBVztRQUNsQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxNQUF5QjtRQUNuRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDeEQsSUFBSSxPQUFPLGdCQUFnQixLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzNDLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxPQUFPLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQVM7UUFDNUIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQzsrR0F2T1UsNkJBQTZCO21HQUE3Qiw2QkFBNkIsd0VBL0UvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRFUiwyREE3RVMsa0JBQWtCLG93Q0FBQyxXQUFXOzs0RkFnRjdCLDZCQUE2QjtrQkFsRnpDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFDLFdBQVcsQ0FBQztvQkFDekMsUUFBUSxFQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEVSO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IElDZWxsRWRpdG9yQW5ndWxhckNvbXAgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHR5cGUgeyBJQ2VsbEVkaXRvclBhcmFtcyB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU1vZHVsZSwgQXV0b0NvbXBsZXRlU2VsZWN0RXZlbnQgfSBmcm9tICdwcmltZW5nL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHR5cGUgeyBHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC9ncmlkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQXV0b0NvbXBsZXRlTW9kdWxlLEZvcm1zTW9kdWxlXSxcbiAgdGVtcGxhdGU6YFxuICAgIDxwLWF1dG9jb21wbGV0ZSBcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIiBcbiAgICAgIFtzdWdnZXN0aW9uc109XCJkaXNwbGF5U3VnZ2VzdGlvbnNcIlxuICAgICAgW21pbkxlbmd0aF09XCJwYXJhbXMubWluTGVuZ3RoID8/IDFcIlxuICAgICAgW2RlbGF5XT1cInBhcmFtcy5kZWxheSA/PyAzMDBcIlxuICAgICAgW3BhbmVsU3R5bGVdPVwicGFyYW1zLnBhbmVsU3R5bGVcIlxuICAgICAgW3BhbmVsU3R5bGVDbGFzc109XCJwYXJhbXMucGFuZWxTdHlsZUNsYXNzXCJcbiAgICAgIFtzdHlsZUNsYXNzXT1cInBhcmFtcy5zdHlsZUNsYXNzXCJcbiAgICAgIFtpbnB1dFN0eWxlXT1cInBhcmFtcy5pbnB1dFN0eWxlXCJcbiAgICAgIFtpbnB1dFN0eWxlQ2xhc3NdPVwicGFyYW1zLmlucHV0U3R5bGVDbGFzc1wiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGFyYW1zLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtyZWFkb25seV09XCJwYXJhbXMucmVhZG9ubHlcIlxuICAgICAgW2Rpc2FibGVkXT1cInBhcmFtcy5kaXNhYmxlZFwiXG4gICAgICBbc2Nyb2xsSGVpZ2h0XT1cInBhcmFtcy5zY3JvbGxIZWlnaHQgPz8gJzIwMHB4J1wiXG4gICAgICBbbGF6eV09XCJwYXJhbXMubGF6eVwiXG4gICAgICBbdmlydHVhbFNjcm9sbF09XCJwYXJhbXMudmlydHVhbFNjcm9sbFwiXG4gICAgICBbdmlydHVhbFNjcm9sbEl0ZW1TaXplXT1cInBhcmFtcy52aXJ0dWFsU2Nyb2xsSXRlbVNpemVcIlxuICAgICAgW3ZpcnR1YWxTY3JvbGxPcHRpb25zXT1cInBhcmFtcy52aXJ0dWFsU2Nyb2xsT3B0aW9uc1wiXG4gICAgICBbbWF4bGVuZ3RoXT1cInBhcmFtcy5tYXhsZW5ndGhcIlxuICAgICAgW25hbWVdPVwicGFyYW1zLm5hbWVcIlxuICAgICAgW3NpemVdPVwicGFyYW1zLnNpemVcIlxuICAgICAgW2FwcGVuZFRvXT1cInBhcmFtcy5hcHBlbmRUbyA/PyAnYm9keSdcIlxuICAgICAgW2F1dG9IaWdobGlnaHRdPVwicGFyYW1zLmF1dG9IaWdobGlnaHRcIlxuICAgICAgW2ZvcmNlU2VsZWN0aW9uXT1cInBhcmFtcy5mb3JjZVNlbGVjdGlvblwiXG4gICAgICBbdHlwZV09XCJwYXJhbXMudHlwZSA/PyAndGV4dCdcIlxuICAgICAgW2F1dG9aSW5kZXhdPVwicGFyYW1zLmF1dG9aSW5kZXggPz8gdHJ1ZVwiXG4gICAgICBbYmFzZVpJbmRleF09XCJwYXJhbXMuYmFzZVpJbmRleCA/PyAwXCJcbiAgICAgIFthcmlhTGFiZWxdPVwicGFyYW1zLmFyaWFMYWJlbFwiXG4gICAgICBbYXJpYUxhYmVsbGVkQnldPVwicGFyYW1zLmFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgIFtkcm9wZG93bkFyaWFMYWJlbF09XCJwYXJhbXMuZHJvcGRvd25BcmlhTGFiZWxcIlxuICAgICAgW2Ryb3Bkb3duSWNvbl09XCJwYXJhbXMuZHJvcGRvd25JY29uXCJcbiAgICAgIFt1bmlxdWVdPVwicGFyYW1zLnVuaXF1ZSA/PyB0cnVlXCJcbiAgICAgIFtncm91cF09XCJwYXJhbXMuZ3JvdXBcIlxuICAgICAgW2NvbXBsZXRlT25Gb2N1c109XCJwYXJhbXMuY29tcGxldGVPbkZvY3VzXCJcbiAgICAgIFtzaG93Q2xlYXJdPVwicGFyYW1zLnNob3dDbGVhclwiXG4gICAgICBbZHJvcGRvd25dPVwicGFyYW1zLmRyb3Bkb3duXCJcbiAgICAgIFtzaG93RW1wdHlNZXNzYWdlXT1cInBhcmFtcy5zaG93RW1wdHlNZXNzYWdlID8/IHRydWVcIlxuICAgICAgW2Ryb3Bkb3duTW9kZV09XCJwYXJhbXMuZHJvcGRvd25Nb2RlID8/ICdibGFuaydcIlxuICAgICAgW211bHRpcGxlXT1cInBhcmFtcy5tdWx0aXBsZVwiXG4gICAgICBbdGFiaW5kZXhdPVwicGFyYW1zLnRhYmluZGV4XCJcbiAgICAgIFtkYXRhS2V5XT1cInBhcmFtcy5kYXRhS2V5XCJcbiAgICAgIFtlbXB0eU1lc3NhZ2VdPVwicGFyYW1zLmVtcHR5TWVzc2FnZVwiXG4gICAgICBbc2hvd1RyYW5zaXRpb25PcHRpb25zXT1cInBhcmFtcy5zaG93VHJhbnNpdGlvbk9wdGlvbnNcIlxuICAgICAgW2hpZGVUcmFuc2l0aW9uT3B0aW9uc109XCJwYXJhbXMuaGlkZVRyYW5zaXRpb25PcHRpb25zXCJcbiAgICAgIFthdXRvZm9jdXNdPVwicGFyYW1zLmF1dG9mb2N1cyA/PyB0cnVlXCJcbiAgICAgIFthdXRvY29tcGxldGVdPVwicGFyYW1zLmF1dG9jb21wbGV0ZSA/PyAnb2ZmJ1wiXG4gICAgICBbb3B0aW9uR3JvdXBDaGlsZHJlbl09XCJwYXJhbXMub3B0aW9uR3JvdXBDaGlsZHJlbiA/PyAnaXRlbXMnXCJcbiAgICAgIFtvcHRpb25Hcm91cExhYmVsXT1cInBhcmFtcy5vcHRpb25Hcm91cExhYmVsID8/ICdsYWJlbCdcIlxuICAgICAgW292ZXJsYXlPcHRpb25zXT1cInBhcmFtcy5vdmVybGF5T3B0aW9uc1wiXG4gICAgICBbb3B0aW9uTGFiZWxdPVwicGFyYW1zLm9wdGlvbkxhYmVsXCJcbiAgICAgIFtvcHRpb25WYWx1ZV09XCJwYXJhbXMub3B0aW9uVmFsdWVcIlxuICAgICAgW3NlYXJjaE1lc3NhZ2VdPVwicGFyYW1zLnNlYXJjaE1lc3NhZ2VcIlxuICAgICAgW2VtcHR5U2VsZWN0aW9uTWVzc2FnZV09XCJwYXJhbXMuZW1wdHlTZWxlY3Rpb25NZXNzYWdlXCJcbiAgICAgIFtzZWxlY3Rpb25NZXNzYWdlXT1cInBhcmFtcy5zZWxlY3Rpb25NZXNzYWdlXCJcbiAgICAgIFthdXRvT3B0aW9uRm9jdXNdPVwicGFyYW1zLmF1dG9PcHRpb25Gb2N1c1wiXG4gICAgICBbc2VsZWN0T25Gb2N1c109XCJwYXJhbXMuc2VsZWN0T25Gb2N1c1wiXG4gICAgICBbc2VhcmNoTG9jYWxlXT1cInBhcmFtcy5zZWFyY2hMb2NhbGVcIlxuICAgICAgW29wdGlvbkRpc2FibGVkXT1cInBhcmFtcy5vcHRpb25EaXNhYmxlZFwiXG4gICAgICBbZm9jdXNPbkhvdmVyXT1cInBhcmFtcy5mb2N1c09uSG92ZXIgPz8gdHJ1ZVwiXG4gICAgICBbdHlwZWFoZWFkXT1cInBhcmFtcy50eXBlYWhlYWQgPz8gdHJ1ZVwiXG4gICAgICBbdmFyaWFudF09XCJwYXJhbXMudmFyaWFudFwiXG4gICAgICBbZmx1aWRdPVwicGFyYW1zLmZsdWlkID8/IHRydWVcIlxuICAgICAgW2NsYXNzXT1cInBhcmFtcy5jbGFzc1wiXG4gICAgICBbc3R5bGVdPVwicGFyYW1zLnN0eWxlXCJcbiAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgICAob25TZWxlY3QpPVwic2VsZWN0KCRldmVudClcIlxuICAgICAgKG9uVW5zZWxlY3QpPVwidW5zZWxlY3QoJGV2ZW50KVwiXG4gICAgICAob25Gb2N1cyk9XCJlbWl0RXZlbnQoJ29uRm9jdXMnLCAkZXZlbnQpXCJcbiAgICAgIChvbkJsdXIpPVwiZW1pdEV2ZW50KCdvbkJsdXInLCAkZXZlbnQpXCJcbiAgICAgIChvbkRyb3Bkb3duQ2xpY2spPVwiZW1pdEV2ZW50KCdvbkRyb3Bkb3duQ2xpY2snLCAkZXZlbnQpXCJcbiAgICAgIChvbkNsZWFyKT1cImNsZWFyKCRldmVudClcIlxuICAgICAgKG9uS2V5VXApPVwiZW1pdEV2ZW50KCdvbktleVVwJywgJGV2ZW50KVwiXG4gICAgICAob25TaG93KT1cImVtaXRFdmVudCgnb25TaG93JywgJGV2ZW50KVwiXG4gICAgICAob25IaWRlKT1cImVtaXRFdmVudCgnb25IaWRlJywgJGV2ZW50KVwiXG4gICAgICAob25MYXp5TG9hZCk9XCJlbWl0RXZlbnQoJ29uTGF6eUxvYWQnLCAkZXZlbnQpXCIgLz5cbiAgYFxufSlcblxuZXhwb3J0IGNsYXNzIENlbGxFZGl0QXV0b0NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgSUNlbGxFZGl0b3JBbmd1bGFyQ29tcCB7XG4gIHB1YmxpYyBwYXJhbXM6IGFueSA9IHt9O1xuICBwdWJsaWMgdmFsdWU6IGFueTtcbiAgc3VnZ2VzdGlvbnM6YW55W10gPSBbXTtcblxuICBnZXQgZGlzcGxheVN1Z2dlc3Rpb25zKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVPcHRpb25zKHRoaXMucGFyYW1zLnN1Z2dlc3Rpb25zID8/IHRoaXMucGFyYW1zLm9wdGlvbnMgPz8gdGhpcy5wYXJhbXMuY29sRGVmPy5jZWxsRWRpdG9yUGFyYW1zPy5zdWdnZXN0aW9ucyA/PyB0aGlzLnBhcmFtcy5jb2xEZWY/LmNlbGxFZGl0b3JQYXJhbXM/Lm9wdGlvbnMgPz8gdGhpcy5zdWdnZXN0aW9ucyk7XG4gIH1cblxuICBhZ0luaXQocGFyYW1zOiBJQ2VsbEVkaXRvclBhcmFtcyk6IHZvaWQge1xuICAgIGNvbnN0IGVkaXRvclBhcmFtcyA9IHRoaXMucmVzb2x2ZUVkaXRvclBhcmFtcyhwYXJhbXMpO1xuICAgIHRoaXMucGFyYW1zID0ge1xuICAgICAgLi4uZWRpdG9yUGFyYW1zLFxuICAgICAgLi4ucGFyYW1zLFxuICAgICAgb3B0aW9uTGFiZWw6IGVkaXRvclBhcmFtcy5vcHRpb25MYWJlbCB8fCAnbGFiZWwnLFxuICAgICAgb3B0aW9uVmFsdWU6IGVkaXRvclBhcmFtcy5vcHRpb25WYWx1ZSB8fCAndmFsdWUnLFxuICAgIH07XG4gICAgdGhpcy5zdWdnZXN0aW9ucyA9IHRoaXMubm9ybWFsaXplT3B0aW9ucyhlZGl0b3JQYXJhbXMuc3VnZ2VzdGlvbnMgPz8gZWRpdG9yUGFyYW1zLm9wdGlvbnMgPz8gW10pO1xuICAgIHRoaXMucGFyYW1zLnN1Z2dlc3Rpb25zID0gdGhpcy5zdWdnZXN0aW9ucztcbiAgICB0aGlzLnNldEVkaXRvclNpemUocGFyYW1zKTtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5yZXNvbHZlSW5pdGlhbFZhbHVlKHBhcmFtcy52YWx1ZSk7XG4gIH1cblxuICBnZXRWYWx1ZSgpe1xuICAgIGlmICh0aGlzLnBhcmFtcy5tdWx0aXBsZSkge1xuICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkgPyB0aGlzLnZhbHVlLm1hcCgoaXRlbSkgPT4gdGhpcy5yZXNvbHZlT3B0aW9uVmFsdWUoaXRlbSkpIDogdGhpcy52YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZU9wdGlvblZhbHVlKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgYXN5bmMgc2VhcmNoKGU6YW55KXtcbiAgICBjb25zdCBjb21wbGV0ZU1ldGhvZFJlc3VsdCA9IHRoaXMucGFyYW1zLmNvbXBsZXRlTWV0aG9kPy4odGhpcy5wYXJhbXMsIGUpO1xuICAgIGlmIChjb21wbGV0ZU1ldGhvZFJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhd2FpdCB0aGlzLmFwcGx5T3B0aW9uc1Jlc3VsdChjb21wbGV0ZU1ldGhvZFJlc3VsdCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0aGlzLnBhcmFtcy5zZWFyY2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGF3YWl0IHRoaXMuYXBwbHlPcHRpb25zUmVzdWx0KHRoaXMucGFyYW1zLnNlYXJjaChlKSk7XG4gICAgfVxuXG4gICAgdGhpcy5zeW5jU3VnZ2VzdGlvbnNGcm9tUGFyYW1zKCk7XG4gIH1cblxuICBzZWxlY3QoZTpBdXRvQ29tcGxldGVTZWxlY3RFdmVudCl7XG4gICAgaWYgKHRoaXMucGFyYW1zLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy50b1ZhbHVlQXJyYXkodGhpcy52YWx1ZSkubWFwKChpdGVtKSA9PiB0aGlzLmZpbmRPcHRpb25CeVZhbHVlKGl0ZW0pID8/IGl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gZS52YWx1ZTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVOYW1lRmllbGRzKGUpO1xuICAgIHRoaXMuZW1pdEV2ZW50KCdvblNlbGVjdCcsIGUpO1xuICAgIGlmICh0aGlzLnBhcmFtcy5zdG9wRWRpdGluZ09uU2VsZWN0ICE9PSBmYWxzZSkge1xuICAgICAgdGhpcy5wYXJhbXMuYXBpLnN0b3BFZGl0aW5nKCk7IFxuICAgIH1cbiAgfVxuXG4gIHVuc2VsZWN0KGU6YW55KXtcbiAgICB0aGlzLnVwZGF0ZU5hbWVGaWVsZHMoZSk7XG4gICAgdGhpcy5lbWl0RXZlbnQoJ29uVW5zZWxlY3QnLCBlKTtcbiAgfVxuXG4gIGNsZWFyKGU6YW55KXtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5wYXJhbXMubXVsdGlwbGUgPyBbXSA6IG51bGw7XG4gICAgdGhpcy51cGRhdGVOYW1lRmllbGRzKHsgLi4uZSwgdmFsdWU6IHRoaXMudmFsdWUgfSk7XG4gICAgdGhpcy5lbWl0RXZlbnQoJ29uQ2xlYXInLCBlKTtcbiAgfVxuXG4gIGVtaXRFdmVudChuYW1lOnN0cmluZywgZXZlbnQ6YW55KXtcbiAgICBjb25zdCBjYWxsYmFjayA9IHRoaXMucGFyYW1zW25hbWVdO1xuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNhbGxiYWNrKHRoaXMucGFyYW1zLCBldmVudCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRFZGl0b3JTaXplKHBhcmFtczogSUNlbGxFZGl0b3JQYXJhbXMpIHtcbiAgICBjb25zdCBjZWxsV2lkdGggPSBwYXJhbXMuY29sdW1uLmdldEFjdHVhbFdpZHRoKCk7XG4gICAgdGhpcy5wYXJhbXMuc3R5bGUgPSB7XG4gICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgICAgd2lkdGg6IGAke2NlbGxXaWR0aH1weGAsXG4gICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tYWctYmFja2dyb3VuZC1jb2xvciknLFxuICAgICAgLi4uKHRoaXMucGFyYW1zLnN0eWxlIHx8IHt9KSxcbiAgICB9O1xuICAgIHRoaXMucGFyYW1zLnBhbmVsU3R5bGUgPSB7XG4gICAgICB3aWR0aDogYCR7Y2VsbFdpZHRofXB4YCxcbiAgICAgIC4uLih0aGlzLnBhcmFtcy5wYW5lbFN0eWxlIHx8IHt9KSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVOYW1lRmllbGRzKGV2ZW50OmFueSkge1xuICAgIGNvbnN0IG5hbWVGaWVsZHMgPSB0aGlzLnBhcmFtcy5uYW1lRmllbGRzIHx8IFtdO1xuICAgIG5hbWVGaWVsZHMuZm9yRWFjaCgobmFtZUZpZWxkOiBhbnkpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlTmFtZUZpZWxkKG5hbWVGaWVsZCwgZXZlbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVOYW1lRmllbGQobmFtZUZpZWxkOiBhbnksIGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMucGFyYW1zLmRhdGE/LltuYW1lRmllbGQuZmllbGRdO1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5yZXNvbHZlTmFtZUZpZWxkVmFsdWUobmFtZUZpZWxkLCBldmVudD8udmFsdWUpO1xuICAgIGNvbnN0IGdyaWQ6IEdyaWRDb21wb25lbnQgfCB1bmRlZmluZWQgPSB0eXBlb2YgdGhpcy5wYXJhbXMuZ3JpZCA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMucGFyYW1zLmdyaWQoKSA6IHVuZGVmaW5lZDtcbiAgICBpZiAoZ3JpZD8uY2VsbFZhbHVlQ2hhbmdlZCkge1xuICAgICAgY29uc3QgZTogYW55ID0ge1xuICAgICAgICBjb2xEZWY6IG5hbWVGaWVsZCxcbiAgICAgICAgb2xkVmFsdWUsXG4gICAgICAgIG5ld1ZhbHVlLFxuICAgICAgICByb3dJbmRleDogdGhpcy5wYXJhbXMubm9kZT8ucm93SW5kZXgsXG4gICAgICAgIGRhdGE6IHsgaWQ6IHRoaXMucGFyYW1zLmRhdGE/LmlkIH0sXG4gICAgICB9O1xuICAgICAgZ3JpZC5jZWxsVmFsdWVDaGFuZ2VkKGUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5wYXJhbXMuZGF0YSkge1xuICAgICAgdGhpcy5wYXJhbXMuZGF0YVtuYW1lRmllbGQuZmllbGRdID0gbmV3VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlTmFtZUZpZWxkVmFsdWUobmFtZUZpZWxkOiBhbnksIHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5wYXJhbXMubXVsdGlwbGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudG9WYWx1ZUFycmF5KHRoaXMuZ2V0VmFsdWUoKSk7XG4gICAgICByZXR1cm4gdGhpcy5kaXNwbGF5U3VnZ2VzdGlvbnNcbiAgICAgICAgLmZpbHRlcigob3A6IGFueSkgPT4gdmFsdWVzLnNvbWUoKHNlbGVjdGVkVmFsdWU6IGFueSkgPT4gdGhpcy52YWx1ZUVxdWFscyhzZWxlY3RlZFZhbHVlLCB0aGlzLnJlc29sdmVPcHRpb25WYWx1ZShvcCkpKSlcbiAgICAgICAgLm1hcCgob3A6IGFueSkgPT4gb3A/LltuYW1lRmllbGQua2V5XSlcbiAgICAgICAgLmZpbHRlcigoaXRlbTogYW55KSA9PiBpdGVtICE9PSB1bmRlZmluZWQgJiYgaXRlbSAhPT0gbnVsbCAmJiBpdGVtICE9PSAnJylcbiAgICAgICAgLmpvaW4oJywnKTtcbiAgICB9XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsID8gdmFsdWUgOiB0aGlzLmZpbmRPcHRpb25CeVZhbHVlKHZhbHVlKTtcbiAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb24gPyBzZWxlY3RlZE9wdGlvbltuYW1lRmllbGQua2V5XSA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVJbml0aWFsVmFsdWUodmFsdWU6YW55KSB7XG4gICAgaWYgKHRoaXMucGFyYW1zLm11bHRpcGxlKSB7XG4gICAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogdGhpcy50b1ZhbHVlQXJyYXkodmFsdWUpO1xuICAgICAgcmV0dXJuIHZhbHVlcy5tYXAoKGl0ZW0pID0+IHRoaXMuZmluZE9wdGlvbkJ5VmFsdWUoaXRlbSkgPz8gaXRlbSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZpbmRPcHRpb25CeVZhbHVlKHZhbHVlKSA/PyB2YWx1ZSA/PyBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlT3B0aW9uVmFsdWUob3B0aW9uOmFueSkge1xuICAgIGlmIChvcHRpb24gPT09ICcnIHx8IG9wdGlvbiA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBvcHRpb24gIT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gb3B0aW9uO1xuICAgIH1cbiAgICBjb25zdCBvcHRpb25WYWx1ZSA9IHRoaXMucGFyYW1zLm9wdGlvblZhbHVlO1xuICAgIGlmICh0eXBlb2Ygb3B0aW9uVmFsdWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBvcHRpb25WYWx1ZShvcHRpb24pO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uVmFsdWUgPyBvcHRpb24/LltvcHRpb25WYWx1ZV0gOiBvcHRpb247XG4gIH1cblxuICBwcml2YXRlIGZpbmRPcHRpb25CeVZhbHVlKHZhbHVlOmFueSkge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXlTdWdnZXN0aW9ucy5maW5kKChvcHRpb24pID0+IHRoaXMudmFsdWVFcXVhbHModGhpcy5yZXNvbHZlT3B0aW9uVmFsdWUob3B0aW9uKSwgdmFsdWUpKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsdWVFcXVhbHMoYTphbnksIGI6YW55KSB7XG4gICAgcmV0dXJuIGEgPT09IGIgfHwgKGEgIT0gbnVsbCAmJiBiICE9IG51bGwgJiYgU3RyaW5nKGEpID09PSBTdHJpbmcoYikpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBhcHBseU9wdGlvbnNSZXN1bHQocmVzdWx0OmFueSkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gYXdhaXQgdGhpcy5yZXNvbHZlUmVzdWx0KHJlc3VsdCk7XG4gICAgaWYgKHJlc29sdmVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZXh0cmFjdE9wdGlvbnMocmVzb2x2ZWQpO1xuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICB0aGlzLnNldFN1Z2dlc3Rpb25zKG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVzb2x2ZVJlc3VsdChyZXN1bHQ6YW55KSB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZShyZXN1bHQpKSB7XG4gICAgICByZXR1cm4gbGFzdFZhbHVlRnJvbShyZXN1bHQpO1xuICAgIH1cbiAgICBpZiAocmVzdWx0ICYmIHR5cGVvZiByZXN1bHQudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdE9wdGlvbnMocmVzdWx0OmFueSk6IGFueVtdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN1bHQpKSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN1bHQ/LmRhdGEpKSB7XG4gICAgICByZXR1cm4gcmVzdWx0LmRhdGE7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdD8uc3VnZ2VzdGlvbnMpKSB7XG4gICAgICByZXR1cm4gcmVzdWx0LnN1Z2dlc3Rpb25zO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN1bHQ/Lm9wdGlvbnMpKSB7XG4gICAgICByZXR1cm4gcmVzdWx0Lm9wdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHNldFN1Z2dlc3Rpb25zKG9wdGlvbnM6YW55W10pIHtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zID0gdGhpcy5ub3JtYWxpemVPcHRpb25zKG9wdGlvbnMpO1xuICAgIHRoaXMucGFyYW1zLnN1Z2dlc3Rpb25zID0gdGhpcy5zdWdnZXN0aW9ucztcbiAgICBpZiAodGhpcy5wYXJhbXMuY29sRGVmPy5jZWxsRWRpdG9yUGFyYW1zKSB7XG4gICAgICB0aGlzLnBhcmFtcy5jb2xEZWYuY2VsbEVkaXRvclBhcmFtcy5zdWdnZXN0aW9ucyA9IHRoaXMuc3VnZ2VzdGlvbnM7XG4gICAgICB0aGlzLnBhcmFtcy5jb2xEZWYuY2VsbEVkaXRvclBhcmFtcy5vcHRpb25zID0gdGhpcy5zdWdnZXN0aW9ucztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN5bmNTdWdnZXN0aW9uc0Zyb21QYXJhbXMoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucGFyYW1zLnN1Z2dlc3Rpb25zID8/IHRoaXMucGFyYW1zLm9wdGlvbnMgPz8gdGhpcy5wYXJhbXMuY29sRGVmPy5jZWxsRWRpdG9yUGFyYW1zPy5zdWdnZXN0aW9ucyA/PyB0aGlzLnBhcmFtcy5jb2xEZWY/LmNlbGxFZGl0b3JQYXJhbXM/Lm9wdGlvbnM7XG4gICAgaWYgKG9wdGlvbnMgIT09IHVuZGVmaW5lZCAmJiBvcHRpb25zICE9PSB0aGlzLnN1Z2dlc3Rpb25zKSB7XG4gICAgICB0aGlzLnNldFN1Z2dlc3Rpb25zKG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplT3B0aW9ucyhvcHRpb25zOmFueSk6IGFueVtdIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShvcHRpb25zKSA/IG9wdGlvbnMgOiBbXTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVkaXRvclBhcmFtcyhwYXJhbXM6IElDZWxsRWRpdG9yUGFyYW1zKSB7XG4gICAgY29uc3QgY2VsbEVkaXRvclBhcmFtcyA9IHBhcmFtcy5jb2xEZWYuY2VsbEVkaXRvclBhcmFtcztcbiAgICBpZiAodHlwZW9mIGNlbGxFZGl0b3JQYXJhbXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBjZWxsRWRpdG9yUGFyYW1zKHBhcmFtcykgfHwge307XG4gICAgfVxuICAgIHJldHVybiBjZWxsRWRpdG9yUGFyYW1zIHx8IHt9O1xuICB9XG5cbiAgcHJpdmF0ZSB0b1ZhbHVlQXJyYXkodmFsdWU6YW55KTogYW55W10ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09ICcnIHx8IHZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSkuc3BsaXQoJywnKS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09ICcnKTtcbiAgfVxufVxuIl19