imm-element-ui 0.8.6 → 0.8.7

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.
@@ -1,4 +1,4 @@
1
- import { tap } from 'rxjs';
1
+ import { isObservable, tap } from 'rxjs';
2
2
  const _fieldUtils = {
3
3
  props: (field) => {
4
4
  let props = {};
@@ -80,7 +80,7 @@ const _fieldUtils = {
80
80
  }
81
81
  },
82
82
  triggerHookAndSetValue: (field, value, emitEvent, detectModelChange, hookObservers, callback, datePipe) => {
83
- if (field.hook) {
83
+ if (field.hook && isObservable(field.hook)) {
84
84
  const sub = field.hook
85
85
  .pipe(tap((func) => {
86
86
  func(field);
@@ -174,10 +174,7 @@ const _fieldUtils = {
174
174
  const dateFormat = field.datePickerProps?.showTime ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd';
175
175
  if (field?.datePickerProps?.selectionMode == 'range' && raw.includes('~')) {
176
176
  const [start, end] = raw.split('~');
177
- return [
178
- new Date(datePipe.transform(start, dateFormat) || start),
179
- new Date(datePipe.transform(end, dateFormat) || end),
180
- ];
177
+ return [new Date(datePipe.transform(start, dateFormat) || start), new Date(datePipe.transform(end, dateFormat) || end)];
181
178
  }
182
179
  else {
183
180
  return datePipe.transform(raw, dateFormat, 'GMT') || raw;
@@ -265,4 +262,4 @@ export const fieldUtils = {
265
262
  transLog: _fieldUtils.transLog,
266
263
  isFakedChange: _fieldUtils.isFakedChange,
267
264
  };
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2Zvcm0vZm9ybS1maWVsZC9maWVsZC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNCLE1BQU0sV0FBVyxHQUFHO0lBQ25CLEtBQUssRUFBRSxDQUFDLEtBQWdCLEVBQWMsRUFBRTtRQUN2QyxJQUFJLEtBQUssR0FBZSxFQUFFLENBQUM7UUFDM0IsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEIsS0FBSyxXQUFXO2dCQUNmLEtBQUssR0FBRyxLQUFLLENBQUMsY0FBZSxDQUFDO2dCQUM5QixNQUFNO1lBQ1AsS0FBSyxhQUFhO2dCQUNqQixLQUFLLEdBQUcsS0FBSyxDQUFDLGdCQUFpQixDQUFDO2dCQUNoQyxNQUFNO1lBQ1AsS0FBSyxRQUFRO2dCQUNaLEtBQUssR0FBRyxLQUFLLENBQUMsV0FBWSxDQUFDO2dCQUMzQixNQUFNO1lBQ1AsS0FBSyxZQUFZO2dCQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWdCLENBQUM7Z0JBQy9CLE1BQU07WUFDUCxLQUFLLFlBQVk7Z0JBQ2hCLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZ0IsQ0FBQztnQkFDL0IsTUFBTTtZQUNQLEtBQUssY0FBYztnQkFDbEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxpQkFBa0IsQ0FBQztnQkFDakMsTUFBTTtZQUNQLEtBQUssYUFBYTtnQkFDakIsS0FBSyxHQUFHLEtBQUssQ0FBQyxnQkFBaUIsQ0FBQztnQkFDaEMsTUFBTTtZQUNQLEtBQUssT0FBTztnQkFDWCxLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVcsQ0FBQztnQkFDMUIsTUFBTTtZQUNQLEtBQUssVUFBVTtnQkFDZCxLQUFLLEdBQUcsS0FBSyxDQUFDLGFBQWMs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cm0tZmllbGQnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9pMThuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmNvbnN0IF9maWVsZFV0aWxzID0ge1xyXG5cdHByb3BzOiAoZmllbGQ6IEZvcm1GaWVsZCk6IEZpZWxkUHJvcHMgPT4ge1xyXG5cdFx0bGV0IHByb3BzOiBGaWVsZFByb3BzID0ge307XHJcblx0XHRzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcclxuXHRcdFx0Y2FzZSAnaW5wdXR0ZXh0JzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLmlucHV0VGV4dFByb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAnaW5wdXRudW1iZXInOlxyXG5cdFx0XHRcdHByb3BzID0gZmllbGQuaW5wdXROdW1iZXJQcm9wcyE7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgJ3NlbGVjdCc6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC5zZWxlY3RQcm9wcyE7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgJ3RyZWVzZWxlY3QnOlxyXG5cdFx0XHRcdHByb3BzID0gZmllbGQudHJlZVNlbGVjdFByb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAnZGF0ZXBpY2tlcic6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC5kYXRlUGlja2VyUHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdhdXRvY29tcGxldGUnOlxyXG5cdFx0XHRcdHByb3BzID0gZmllbGQuYXV0b0NvbXBsZXRlUHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdtdWx0aXNlbGVjdCc6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC5tdWx0aVNlbGVjdFByb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAncmFkaW8nOlxyXG5cdFx0XHRcdHByb3BzID0gZmllbGQucmFkaW9Qcm9wcyE7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgJ3RleHRhcmVhJzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLnRleHRBcmVhUHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICd1cGxvYWQnOlxyXG5cdFx0XHRcdHByb3BzID0gZmllbGQudXBsb2FkUHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdpbWFnZSc6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC5pbWFnZVByb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAnY29kZW1pcnJvcic6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC5jb2RlTWlycm9yUHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdyb3dzZWxlY3Rvcic6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC5yb3dTZWxlY3RvclByb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdH1cclxuXHRcdHJldHVybiBwcm9wcztcclxuXHR9LFxyXG5cdGxhYmVsOiAoZmllbGQ6IEZvcm1GaWVsZCwgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcclxuXHRcdGNvbnN0IGkxOG5LZXkgPSBfZmllbGRVdGlscy5wcm9wcyhmaWVsZCkuaTE4bktleTtcclxuXHRcdGlmIChpMThuS2V5KSB7XHJcblx0XHRcdHJldHVybiBpMThuU2VydmljZS5mYW55aShpMThuS2V5KTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBfZmllbGRVdGlscy5wcm9wcyhmaWVsZCkubGFiZWw7XHJcblx0fSxcclxuXHRzZXRNb2RlbChtb2RlbDogYW55LCBrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG5cdFx0Y29uc3Qga2V5cyA9IGtleS5zcGxpdCgnLicpO1xyXG5cdFx0aWYgKGtleXMubGVuZ3RoID09IDEpIHtcclxuXHRcdFx0bW9kZWxba2V5XSA9IHZhbHVlO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRjb25zdCBrOiBhbnkgPSBrZXlzLnNoaWZ0KCk7XHJcblx0XHRcdGlmIChtb2RlbFtrXSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRtb2RlbFtrXSA9IHt9O1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuc2V0TW9kZWwobW9kZWxba10sIGtleXMuam9pbignLicpLCB2YWx1ZSk7XHJcblx0XHR9XHJcblx0fSxcclxuXHRnZXRNb2RlbChtb2RlbDogYW55LCBrZXk6IHN0cmluZyk6IGFueSB7XHJcblx0XHRjb25zdCBrZXlzID0ga2V5LnNwbGl0KCcuJyk7XHJcblx0XHRpZiAoa2V5cy5sZW5ndGggPT0gMSkge1xyXG5cdFx0XHRyZXR1cm4gbW9kZWxba2V5XTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGNvbnN0IGs6IGFueSA9IGtleXMuc2hpZnQoKTtcclxuXHRcdFx0aWYgKG1vZGVsW2tdID09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdG1vZGVsW2tdID0ge307XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuIHRoaXMuZ2V0TW9kZWwobW9kZWxba10sIGtleXMuam9pbignLicpKTtcclxuXHRcdH1cclxuXHR9LFxyXG5cdHRyaWdnZXJIb29rQW5kU2V0VmFsdWU6IChcclxuXHRcdGZpZWxkOiBGb3JtRmllbGQsXHJcblx0XHR2YWx1ZTogYW55LFxyXG5cdFx0ZW1pdEV2ZW50OiBib29sZWFuLFxyXG5cdFx0ZGV0ZWN0TW9kZWxDaGFuZ2U6IGJvb2xlYW4sXHJcblx0XHRob29rT2JzZXJ2ZXJzOiBhbnlbXSxcclxuXHRcdGNhbGxiYWNrOiBhbnksXHJcblx0XHRkYXRlUGlwZTogRGF0ZVBpcGUsXHJcblx0KSA9PiB7XHJcblx0XHRpZiAoZmllbGQuaG9vaykge1xyXG5cdFx0XHRjb25zdCBzdWIgPSBmaWVsZC5ob29rXHJcblx0XHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0XHR0YXAoKGZ1bmMpID0+IHtcclxuXHRcdFx0XHRcdFx0ZnVuYyhmaWVsZCk7XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHQpXHJcblx0XHRcdFx0LnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdFx0XHRmaWVsZC5maWVsZENvbnRyb2w/LnNldFZhbHVlKF9maWVsZFV0aWxzLnRvRmllbGRWYWx1ZShmaWVsZCwgdmFsdWUsIGRhdGVQaXBlKSwgeyBlbWl0RXZlbnQgfSwgZGV0ZWN0TW9kZWxDaGFuZ2UpLFxyXG5cdFx0XHRcdFx0XHRjYWxsYmFjayAmJiBjYWxsYmFjaygpO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRob29rT2JzZXJ2ZXJzLnB1c2goKCkgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0ZmllbGQuZmllbGRDb250cm9sPy5zZXRWYWx1ZShfZmllbGRVdGlscy50b0ZpZWxkVmFsdWUoZmllbGQsIHZhbHVlLCBkYXRlUGlwZSksIHsgZW1pdEV2ZW50IH0sIGRldGVjdE1vZGVsQ2hhbmdlKTtcclxuXHRcdFx0Y2FsbGJhY2sgJiYgY2FsbGJhY2soKTtcclxuXHRcdH1cclxuXHR9LFxyXG5cdGZyb21GaWVsZFZhbHVlOiAoZmllbGQ6IEZvcm1GaWVsZCwgdGFyZ2V0OiBhbnksIGRhdGVQaXBlOiBEYXRlUGlwZSk6IGFueSA9PiB7XHJcblx0XHRpZiAoZmllbGQudHlwZSA9PSAndHJlZXNlbGVjdCcpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLmZyb21UcmVlU2VsZWN0VmFsdWUoZmllbGQsIHRhcmdldCk7XHJcblx0XHR9XHJcblx0XHRpZiAoZmllbGQudHlwZSA9PSAnbXVsdGlzZWxlY3QnKSB7XHJcblx0XHRcdHJldHVybiBfZmllbGRVdGlscy5mcm9tTXVsdGlTZWxlY3RWYWx1ZShmaWVsZCwgdGFyZ2V0KTtcclxuXHRcdH1cclxuXHRcdGlmIChmaWVsZC50eXBlID09ICdpbWFnZScpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLmZyb21JbWFnZVZhbHVlKGZpZWxkLCB0YXJnZXQpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGZpZWxkLnR5cGUgPT0gJ3VwbG9hZCcpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLmZyb21VcGxvYWRWYWx1ZShmaWVsZCwgdGFyZ2V0KTtcclxuXHRcdH1cclxuXHRcdGlmIChmaWVsZC50eXBlID09ICdkYXRlcGlja2VyJykge1xyXG5cdFx0XHRyZXR1cm4gX2ZpZWxkVXRpbHMuZnJvbURhdGVQaWNrZXJWYWx1ZShmaWVsZCwgdGFyZ2V0LCBkYXRlUGlwZSk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGFyZ2V0O1xyXG5cdH0sXHJcblx0ZnJvbVRyZWVTZWxlY3RWYWx1ZTogKGZpZWxkOiBGb3JtRmllbGQsIHRhcmdldDogYW55KTogc3RyaW5nID0+IHtcclxuXHRcdGlmIChmaWVsZC50cmVlU2VsZWN0UHJvcHM/LnNlbGVjdGlvbk1vZGUgPT0gJ3NpbmdsZScpIHtcclxuXHRcdFx0cmV0dXJuIHRhcmdldC5rZXk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGFyZ2V0Lm1hcCgoaXRlbTogYW55KSA9PiBpdGVtLmtleSkuam9pbignLCcpO1xyXG5cdH0sXHJcblx0ZnJvbU11bHRpU2VsZWN0VmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCB0YXJnZXQ6IGFueSk6IHN0cmluZyA9PiB7XHJcblx0XHRpZiAoIWZpZWxkLm11bHRpU2VsZWN0UHJvcHM/Lm9wdGlvblZhbHVlKSB7XHJcblx0XHRcdHJldHVybiB0YXJnZXQ7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGFyZ2V0LmpvaW4oJywnKTtcclxuXHR9LFxyXG5cdGZyb21JbWFnZVZhbHVlOiAoZmllbGQ6IEZvcm1GaWVsZCwgdGFyZ2V0OiBhbnkpOiBzdHJpbmcgPT4ge1xyXG5cdFx0cmV0dXJuIHRhcmdldC5qb2luKCc7Jyk7XHJcblx0fSxcclxuXHRmcm9tVXBsb2FkVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCB0YXJnZXQ6IGFueSk6IHN0cmluZyA9PiB7XHJcblx0XHRyZXR1cm4gdGFyZ2V0LmpvaW4oJzsnKTtcclxuXHR9LFxyXG5cdGZyb21EYXRlUGlja2VyVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCB0YXJnZXQ6IGFueSwgZGF0ZVBpcGU6IGFueSk6IHN0cmluZyA9PiB7XHJcblx0XHRjb25zdCBkYXRlRm9ybWF0ID0gZmllbGQ/LmRhdGVQaWNrZXJQcm9wcz8uc2hvd1RpbWUgPyAneXl5eS1NTS1kZCBISDptbTpzcycgOiAneXl5eS1NTS1kZCc7XHJcblx0XHRpZiAoZmllbGQ/LmRhdGVQaWNrZXJQcm9wcz8uc2VsZWN0aW9uTW9kZSA9PSAncmFuZ2UnICYmIHRhcmdldC5sZW5ndGggPT0gMikge1xyXG5cdFx0XHRyZXR1cm4gYCR7ZGF0ZVBpcGUudHJhbnNmb3JtKHRhcmdldFswXSwgZGF0ZUZvcm1hdCl9fiR7ZGF0ZVBpcGUudHJhbnNmb3JtKHRhcmdldFsxXSwgZGF0ZUZvcm1hdCl9YDtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiBkYXRlUGlwZS50cmFuc2Zvcm0odGFyZ2V0LCBkYXRlRm9ybWF0KSB8fCB0YXJnZXQ7XHJcblx0XHR9XHJcblx0fSxcclxuXHR0b0ZpZWxkVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCByYXc6IGFueSwgZGF0ZVBpcGU6IERhdGVQaXBlKTogYW55ID0+IHtcclxuXHRcdGlmIChmaWVsZC50eXBlID09ICd0cmVlc2VsZWN0Jykge1xyXG5cdFx0XHRyZXR1cm4gX2ZpZWxkVXRpbHMudG9UcmVlU2VsZWN0VmFsdWUoZmllbGQsIHJhdyk7XHJcblx0XHR9XHJcblx0XHRpZiAoZmllbGQudHlwZSA9PSAnZGF0ZXBpY2tlcicpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLnRvRGF0YVBpY2tlclZhbHVlKGZpZWxkLCByYXcsIGRhdGVQaXBlKTtcclxuXHRcdH1cclxuXHRcdGlmIChmaWVsZC50eXBlID09ICdtdWx0aXNlbGVjdCcpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLnRvTXVsdGlTZWxlY3RWYWx1ZShmaWVsZCwgcmF3KTtcclxuXHRcdH1cclxuXHRcdGlmIChmaWVsZC50eXBlID09ICdpbWFnZScpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLnRvSW1hZ2VWYWx1ZShmaWVsZCwgcmF3KTtcclxuXHRcdH1cclxuXHRcdGlmIChmaWVsZC50eXBlID09ICd1cGxvYWQnKSB7XHJcblx0XHRcdHJldHVybiBfZmllbGRVdGlscy50b1VwbG9hZFZhbHVlKGZpZWxkLCByYXcpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHJhdyB8fCAnJztcclxuXHR9LFxyXG5cdHRvVHJlZVNlbGVjdFZhbHVlOiAoZmllbGQ6IEZvcm1GaWVsZCwgcmF3OiBhbnkpOiBhbnkgPT4ge1xyXG5cdFx0aWYgKGZpZWxkLnRyZWVTZWxlY3RQcm9wcz8uc2VsZWN0aW9uTW9kZSA9PSAnc2luZ2xlJykge1xyXG5cdFx0XHRyZXR1cm4gX2ZpZWxkVXRpbHMuZmluZFRyZWVOb2RlKHJhdywgZmllbGQudHJlZVNlbGVjdFByb3BzPy5vcHRpb25zKTtcclxuXHRcdH1cclxuXHRcdGNvbnN0IG5vZGVzOiBhbnlbXSA9IFtdO1xyXG5cdFx0X2ZpZWxkVXRpbHMuZmluZFRyZWVOb2RlcyhyYXc/LnNwbGl0KCcsJykgfHwgW10sIGZpZWxkLnRyZWVTZWxlY3RQcm9wcz8ub3B0aW9ucyB8fCBbXSwgbm9kZXMpO1xyXG5cdFx0cmV0dXJuIG5vZGVzO1xyXG5cdH0sXHJcblx0dG9EYXRhUGlja2VyVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCByYXc6IGFueSwgZGF0ZVBpcGU6IERhdGVQaXBlKTogYW55ID0+IHtcclxuXHRcdGlmICghcmF3IHx8IHJhdyA9PSAnMDAwMS0wMS0wMVQwMDowMDowMFonKSB7XHJcblx0XHRcdHJldHVybiAnJztcclxuXHRcdH1cclxuXHRcdGNvbnN0IGRhdGVGb3JtYXQgPSBmaWVsZC5kYXRlUGlja2VyUHJvcHM/LnNob3dUaW1lID8gJ3l5eXktTU0tZGQgSEg6bW06c3MnIDogJ3l5eXktTU0tZGQnO1xyXG5cdFx0aWYgKGZpZWxkPy5kYXRlUGlja2VyUHJvcHM/LnNlbGVjdGlvbk1vZGUgPT0gJ3JhbmdlJyAmJiByYXcuaW5jbHVkZXMoJ34nKSkge1xyXG5cdFx0XHRjb25zdCBbc3RhcnQsIGVuZF0gPSByYXcuc3BsaXQoJ34nKTtcclxuXHRcdFx0cmV0dXJuIFtcclxuXHRcdFx0XHRuZXcgRGF0ZShkYXRlUGlwZS50cmFuc2Zvcm0oc3RhcnQsIGRhdGVGb3JtYXQpIHx8IHN0YXJ0KSxcclxuXHRcdFx0XHRuZXcgRGF0ZShkYXRlUGlwZS50cmFuc2Zvcm0oZW5kLCBkYXRlRm9ybWF0KSB8fCBlbmQpLFxyXG5cdFx0XHRdO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0cmV0dXJuIGRhdGVQaXBlLnRyYW5zZm9ybShyYXcsIGRhdGVGb3JtYXQsICdHTVQnKSB8fCByYXc7XHJcblx0XHR9XHJcblx0fSxcclxuXHR0b011bHRpU2VsZWN0VmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCByYXc6IGFueSk6IGFueSA9PiB7XHJcblx0XHRpZiAoIWZpZWxkLm11bHRpU2VsZWN0UHJvcHM/Lm9wdGlvblZhbHVlKSB7XHJcblx0XHRcdHJldHVybiByYXcgfHwgJyc7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gKHJhdyAmJiByYXcuc3BsaXQoJywnKSkgfHwgJyc7XHJcblx0fSxcclxuXHR0b0ltYWdlVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCByYXc6IGFueSk6IGFueSA9PiB7XHJcblx0XHRyZXR1cm4gKHJhdyAmJiByYXcuc3BsaXQoJzsnKSkgfHwgW107XHJcblx0fSxcclxuXHR0b1VwbG9hZFZhbHVlOiAoZmllbGQ6IEZvcm1GaWVsZCwgcmF3OiBhbnkpOiBhbnkgPT4ge1xyXG5cdFx0cmV0dXJuIChyYXcgJiYgcmF3LnNwbGl0KCc7JykpIHx8IFtdO1xyXG5cdH0sXHJcblx0ZmluZFRyZWVOb2RlKHZhbHVlOiBzdHJpbmcsIGNoaWxkcmVuPzogYW55W10pOiBhbnkge1xyXG5cdFx0aWYgKCFjaGlsZHJlbiB8fCBjaGlsZHJlbi5sZW5ndGggPT0gMCkgcmV0dXJuO1xyXG5cdFx0Y29uc3QgbiA9IGNoaWxkcmVuLmZpbmQoKG8pID0+IG8ua2V5ID09IHZhbHVlKTtcclxuXHRcdGlmIChuKSByZXR1cm4gbjtcclxuXHRcdGZvciAoY29uc3QgY2ggb2YgY2hpbGRyZW4pIHtcclxuXHRcdFx0Y29uc3QgY24gPSB0aGlzLmZpbmRUcmVlTm9kZSh2YWx1ZSwgY2guY2hpbGRyZW4pO1xyXG5cdFx0XHRpZiAoY24pIHJldHVybiBjbjtcclxuXHRcdH1cclxuXHRcdHJldHVybjtcclxuXHR9LFxyXG5cdGZpbmRUcmVlTm9kZXModmFsdWVzOiBzdHJpbmdbXSwgY2hpbGRyZW4/OiBhbnlbXSwgbm9kZXM/OiBhbnlbXSk6IHZvaWQge1xyXG5cdFx0aWYgKCFjaGlsZHJlbiB8fCBjaGlsZHJlbi5sZW5ndGggPT0gMCkgcmV0dXJuO1xyXG5cdFx0Y29uc3QgdGFycyA9IGNoaWxkcmVuLmZpbHRlcigobykgPT4gdmFsdWVzLmluZGV4T2Yoby5rZXkpICE9IC0xKTtcclxuXHRcdG5vZGVzPy5wdXNoKC4uLnRhcnMpO1xyXG5cdFx0Zm9yIChjb25zdCBjaCBvZiBjaGlsZHJlbikge1xyXG5cdFx0XHR0aGlzLmZpbmRUcmVlTm9kZXModmFsdWVzLCBjaC5jaGlsZHJlbiwgbm9kZXMpO1xyXG5cdFx0fVxyXG5cdH0sXHJcblx0cHJlbG9hZExvZyhyYXdNb2RlbDogYW55LCBmaWVsZExpc3Q6IEZvcm1GaWVsZFtdLCBkYXRlUGlwZTogRGF0ZVBpcGUpOiBhbnkge1xyXG5cdFx0Y29uc3QgdGFyZ2V0OiBhbnkgPSB7fTtcclxuXHRcdE9iamVjdC5rZXlzKHJhd01vZGVsKS5mb3JFYWNoKChrZXkpID0+IHtcclxuXHRcdFx0Y29uc3QgZmllbGQgPSBmaWVsZExpc3QuZmluZCgoZmllbGQpID0+IGZpZWxkLmtleSA9PT0ga2V5KTtcclxuXHRcdFx0aWYgKCFmaWVsZCkgcmV0dXJuO1xyXG5cdFx0XHRpZiAoZmllbGQudHlwZSA9PSAnZGF0ZXBpY2tlcicpIHtcclxuXHRcdFx0XHR0YXJnZXRba2V5XSA9IF9maWVsZFV0aWxzLnRvRGF0YVBpY2tlclZhbHVlKGZpZWxkLCByYXdNb2RlbFtrZXldLCBkYXRlUGlwZSk7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRhcmdldFtrZXldID0gcmF3TW9kZWxba2V5XTtcclxuXHRcdH0pO1xyXG5cdFx0cmV0dXJuIHRhcmdldDtcclxuXHR9LFxyXG5cdHRyYW5zTG9nKHJhd01vZGVsOiBhbnksIGNoYW5nZWRNb2RlbDogYW55LCBtYWluVmFsdWU6IGFueSwgaXNOZXc6IGJvb2xlYW4pOiBzdHJpbmcge1xyXG5cdFx0aWYgKGlzTmV3KSB7XHJcblx0XHRcdHJldHVybiAn5paw5bu677yaJyArIG1haW5WYWx1ZTtcclxuXHRcdH1cclxuXHRcdGNvbnN0IGRldGFpbDogc3RyaW5nW10gPSBbXTtcclxuXHRcdE9iamVjdC5rZXlzKGNoYW5nZWRNb2RlbCkuZm9yRWFjaCgoa2V5KSA9PiB7XHJcblx0XHRcdGlmIChjaGFuZ2VkTW9kZWxba2V5XS50eXBlID09ICdjb2RlbWlycm9yJykge1xyXG5cdFx0XHRcdGRldGFpbC5wdXNoKGBbJHtjaGFuZ2VkTW9kZWxba2V5XS5uYW1lfV0g5Y+Y5pu0YCk7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblx0XHRcdGRldGFpbC5wdXNoKGBbJHtjaGFuZ2VkTW9kZWxba2V5XS5uYW1lfV0gJHtyYXdNb2RlbFtrZXldIHx8ICcnfSAtPiAke2NoYW5nZWRNb2RlbFtrZXldLnZhbHVlIHx8ICcnfWApO1xyXG5cdFx0fSk7XHJcblx0XHRyZXR1cm4gZGV0YWlsLmpvaW4oJzsnKTtcclxuXHR9LFxyXG5cdC8vIOe7j+a1i+ivlXNlbGVjdOe7hOS7tuacieWGhemDqGJ1Z1xyXG5cdC8vIOiuvue9rm1vZGVs5pe277yMZmllbGRDb250cm9sLnNldFZhbHVl55qEZW1pdEV2ZW505Y+C5pWw5Li6ZmFsc2Us5LuN5Lya6Kem5Y+RdmFsdWVDaGFuZ2Vz5LqL5Lu2XHJcblx0Ly8g6Kem5Y+RdmFsdWVDaGFuZ2Vz5Lya5b2x5ZON5pel5b+X5L+d5a2Y55qE5YeG56Gu5oCn77yM5pWF5q2k5pa55rOV5LuF5piv5Li65LqG6Ziy5q2i57uE5Lu25YaF6YOo5oSP5aSW6Kem5Y+R55qE5Y+Y5YqoXHJcblx0aXNGYWtlZENoYW5nZShuZXdWYWx1ZTogYW55LCBvbGRWYWx1ZTogYW55LCBmaWVsZDogRm9ybUZpZWxkKTogYm9vbGVhbiB7XHJcblx0XHRjb25zdCBjaGFuZ2VUeXBlcyA9IFsnaW5wdXR0ZXh0JywgJ2lucHV0bnVtYmVyJywgJ3NlbGVjdCcsICd0cmVlc2VsZWN0JywgJ2RhdGVwaWNrZXInLCAnYXV0b2NvbXBsZXRlJywgJ211bHRpc2VsZWN0JywgJ3JhZGlvJ107XHJcblx0XHRpZiAoY2hhbmdlVHlwZXMuaW5jbHVkZXMoZmllbGQudHlwZSEpKSB7XHJcblx0XHRcdHJldHVybiAob2xkVmFsdWUgfHwgJycpID09IChuZXdWYWx1ZSB8fCAnJyk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gZmFsc2U7XHJcblx0fSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBmaWVsZFV0aWxzID0ge1xyXG5cdHByb3BzOiBfZmllbGRVdGlscy5wcm9wcyxcclxuXHRsYWJlbDogX2ZpZWxkVXRpbHMubGFiZWwsXHJcblx0dHJpZ2dlckhvb2tBbmRTZXRWYWx1ZTogX2ZpZWxkVXRpbHMudHJpZ2dlckhvb2tBbmRTZXRWYWx1ZSxcclxuXHRmcm9tRmllbGRWYWx1ZTogX2ZpZWxkVXRpbHMuZnJvbUZpZWxkVmFsdWUsXHJcblx0cHJlbG9hZExvZzogX2ZpZWxkVXRpbHMucHJlbG9hZExvZyxcclxuXHR0cmFuc0xvZzogX2ZpZWxkVXRpbHMudHJhbnNMb2csXHJcblx0aXNGYWtlZENoYW5nZTogX2ZpZWxkVXRpbHMuaXNGYWtlZENoYW5nZSxcclxufTtcclxuIl19
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2Zvcm0vZm9ybS1maWVsZC9maWVsZC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV6QyxNQUFNLFdBQVcsR0FBRztJQUNuQixLQUFLLEVBQUUsQ0FBQyxLQUFnQixFQUFjLEVBQUU7UUFDdkMsSUFBSSxLQUFLLEdBQWUsRUFBRSxDQUFDO1FBQzNCLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLEtBQUssV0FBVztnQkFDZixLQUFLLEdBQUcsS0FBSyxDQUFDLGNBQWUsQ0FBQztnQkFDOUIsTUFBTTtZQUNQLEtBQUssYUFBYTtnQkFDakIsS0FBSyxHQUFHLEtBQUssQ0FBQyxnQkFBaUIsQ0FBQztnQkFDaEMsTUFBTTtZQUNQLEtBQUssUUFBUTtnQkFDWixLQUFLLEdBQUcsS0FBSyxDQUFDLFdBQVksQ0FBQztnQkFDM0IsTUFBTTtZQUNQLEtBQUssWUFBWTtnQkFDaEIsS0FBSyxHQUFHLEtBQUssQ0FBQyxlQUFnQixDQUFDO2dCQUMvQixNQUFNO1lBQ1AsS0FBSyxZQUFZO2dCQUNoQixLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWdCLENBQUM7Z0JBQy9CLE1BQU07WUFDUCxLQUFLLGNBQWM7Z0JBQ2xCLEtBQUssR0FBRyxLQUFLLENBQUMsaUJBQWtCLENBQUM7Z0JBQ2pDLE1BQU07WUFDUCxLQUFLLGFBQWE7Z0JBQ2pCLEtBQUssR0FBRyxLQUFLLENBQUMsZ0JBQWlCLENBQUM7Z0JBQ2hDLE1BQU07WUFDUCxLQUFLLE9BQU87Z0JBQ1gsS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFXLENBQUM7Z0JBQzFCLE1BQU07WUFDUCxLQUFLLFVBQVU7Z0JBQ2QsS0FBSyxHQUFHLEtBQUss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bXBvcnQgeyBGb3JtRmllbGQsIEZpZWxkUHJvcHMgfSBmcm9tICcuL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9pMThuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBpc09ic2VydmFibGUsIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5cclxuY29uc3QgX2ZpZWxkVXRpbHMgPSB7XHJcblx0cHJvcHM6IChmaWVsZDogRm9ybUZpZWxkKTogRmllbGRQcm9wcyA9PiB7XHJcblx0XHRsZXQgcHJvcHM6IEZpZWxkUHJvcHMgPSB7fTtcclxuXHRcdHN3aXRjaCAoZmllbGQudHlwZSkge1xyXG5cdFx0XHRjYXNlICdpbnB1dHRleHQnOlxyXG5cdFx0XHRcdHByb3BzID0gZmllbGQuaW5wdXRUZXh0UHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdpbnB1dG51bWJlcic6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC5pbnB1dE51bWJlclByb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAnc2VsZWN0JzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLnNlbGVjdFByb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAndHJlZXNlbGVjdCc6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC50cmVlU2VsZWN0UHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdkYXRlcGlja2VyJzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLmRhdGVQaWNrZXJQcm9wcyE7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgJ2F1dG9jb21wbGV0ZSc6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC5hdXRvQ29tcGxldGVQcm9wcyE7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgJ211bHRpc2VsZWN0JzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLm11bHRpU2VsZWN0UHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdyYWRpbyc6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC5yYWRpb1Byb3BzITtcclxuXHRcdFx0XHRicmVhaztcclxuXHRcdFx0Y2FzZSAndGV4dGFyZWEnOlxyXG5cdFx0XHRcdHByb3BzID0gZmllbGQudGV4dEFyZWFQcm9wcyE7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgJ3VwbG9hZCc6XHJcblx0XHRcdFx0cHJvcHMgPSBmaWVsZC51cGxvYWRQcm9wcyE7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgJ2ltYWdlJzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLmltYWdlUHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRjYXNlICdjb2RlbWlycm9yJzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLmNvZGVNaXJyb3JQcm9wcyE7XHJcblx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdGNhc2UgJ3Jvd3NlbGVjdG9yJzpcclxuXHRcdFx0XHRwcm9wcyA9IGZpZWxkLnJvd1NlbGVjdG9yUHJvcHMhO1xyXG5cdFx0XHRcdGJyZWFrO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHByb3BzO1xyXG5cdH0sXHJcblx0bGFiZWw6IChmaWVsZDogRm9ybUZpZWxkLCBpMThuU2VydmljZTogSTE4blNlcnZpY2UpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xyXG5cdFx0Y29uc3QgaTE4bktleSA9IF9maWVsZFV0aWxzLnByb3BzKGZpZWxkKS5pMThuS2V5O1xyXG5cdFx0aWYgKGkxOG5LZXkpIHtcclxuXHRcdFx0cmV0dXJuIGkxOG5TZXJ2aWNlLmZhbnlpKGkxOG5LZXkpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIF9maWVsZFV0aWxzLnByb3BzKGZpZWxkKS5sYWJlbDtcclxuXHR9LFxyXG5cdHNldE1vZGVsKG1vZGVsOiBhbnksIGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcblx0XHRjb25zdCBrZXlzID0ga2V5LnNwbGl0KCcuJyk7XHJcblx0XHRpZiAoa2V5cy5sZW5ndGggPT0gMSkge1xyXG5cdFx0XHRtb2RlbFtrZXldID0gdmFsdWU7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGNvbnN0IGs6IGFueSA9IGtleXMuc2hpZnQoKTtcclxuXHRcdFx0aWYgKG1vZGVsW2tdID09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdG1vZGVsW2tdID0ge307XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy5zZXRNb2RlbChtb2RlbFtrXSwga2V5cy5qb2luKCcuJyksIHZhbHVlKTtcclxuXHRcdH1cclxuXHR9LFxyXG5cdGdldE1vZGVsKG1vZGVsOiBhbnksIGtleTogc3RyaW5nKTogYW55IHtcclxuXHRcdGNvbnN0IGtleXMgPSBrZXkuc3BsaXQoJy4nKTtcclxuXHRcdGlmIChrZXlzLmxlbmd0aCA9PSAxKSB7XHJcblx0XHRcdHJldHVybiBtb2RlbFtrZXldO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0Y29uc3QgazogYW55ID0ga2V5cy5zaGlmdCgpO1xyXG5cdFx0XHRpZiAobW9kZWxba10gPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdFx0bW9kZWxba10gPSB7fTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRNb2RlbChtb2RlbFtrXSwga2V5cy5qb2luKCcuJykpO1xyXG5cdFx0fVxyXG5cdH0sXHJcblx0dHJpZ2dlckhvb2tBbmRTZXRWYWx1ZTogKFxyXG5cdFx0ZmllbGQ6IEZvcm1GaWVsZCxcclxuXHRcdHZhbHVlOiBhbnksXHJcblx0XHRlbWl0RXZlbnQ6IGJvb2xlYW4sXHJcblx0XHRkZXRlY3RNb2RlbENoYW5nZTogYm9vbGVhbixcclxuXHRcdGhvb2tPYnNlcnZlcnM6IGFueVtdLFxyXG5cdFx0Y2FsbGJhY2s6IGFueSxcclxuXHRcdGRhdGVQaXBlOiBEYXRlUGlwZSxcclxuXHQpID0+IHtcclxuXHRcdGlmIChmaWVsZC5ob29rICYmIGlzT2JzZXJ2YWJsZShmaWVsZC5ob29rKSkge1xyXG5cdFx0XHRjb25zdCBzdWIgPSBmaWVsZC5ob29rXHJcblx0XHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0XHR0YXAoKGZ1bmMpID0+IHtcclxuXHRcdFx0XHRcdFx0ZnVuYyhmaWVsZCk7XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHQpXHJcblx0XHRcdFx0LnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdFx0XHRmaWVsZC5maWVsZENvbnRyb2w/LnNldFZhbHVlKF9maWVsZFV0aWxzLnRvRmllbGRWYWx1ZShmaWVsZCwgdmFsdWUsIGRhdGVQaXBlKSwgeyBlbWl0RXZlbnQgfSwgZGV0ZWN0TW9kZWxDaGFuZ2UpLFxyXG5cdFx0XHRcdFx0XHRjYWxsYmFjayAmJiBjYWxsYmFjaygpO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRob29rT2JzZXJ2ZXJzLnB1c2goKCkgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0ZmllbGQuZmllbGRDb250cm9sPy5zZXRWYWx1ZShfZmllbGRVdGlscy50b0ZpZWxkVmFsdWUoZmllbGQsIHZhbHVlLCBkYXRlUGlwZSksIHsgZW1pdEV2ZW50IH0sIGRldGVjdE1vZGVsQ2hhbmdlKTtcclxuXHRcdFx0Y2FsbGJhY2sgJiYgY2FsbGJhY2soKTtcclxuXHRcdH1cclxuXHR9LFxyXG5cdGZyb21GaWVsZFZhbHVlOiAoZmllbGQ6IEZvcm1GaWVsZCwgdGFyZ2V0OiBhbnksIGRhdGVQaXBlOiBEYXRlUGlwZSk6IGFueSA9PiB7XHJcblx0XHRpZiAoZmllbGQudHlwZSA9PSAndHJlZXNlbGVjdCcpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLmZyb21UcmVlU2VsZWN0VmFsdWUoZmllbGQsIHRhcmdldCk7XHJcblx0XHR9XHJcblx0XHRpZiAoZmllbGQudHlwZSA9PSAnbXVsdGlzZWxlY3QnKSB7XHJcblx0XHRcdHJldHVybiBfZmllbGRVdGlscy5mcm9tTXVsdGlTZWxlY3RWYWx1ZShmaWVsZCwgdGFyZ2V0KTtcclxuXHRcdH1cclxuXHRcdGlmIChmaWVsZC50eXBlID09ICdpbWFnZScpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLmZyb21JbWFnZVZhbHVlKGZpZWxkLCB0YXJnZXQpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGZpZWxkLnR5cGUgPT0gJ3VwbG9hZCcpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLmZyb21VcGxvYWRWYWx1ZShmaWVsZCwgdGFyZ2V0KTtcclxuXHRcdH1cclxuXHRcdGlmIChmaWVsZC50eXBlID09ICdkYXRlcGlja2VyJykge1xyXG5cdFx0XHRyZXR1cm4gX2ZpZWxkVXRpbHMuZnJvbURhdGVQaWNrZXJWYWx1ZShmaWVsZCwgdGFyZ2V0LCBkYXRlUGlwZSk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGFyZ2V0O1xyXG5cdH0sXHJcblx0ZnJvbVRyZWVTZWxlY3RWYWx1ZTogKGZpZWxkOiBGb3JtRmllbGQsIHRhcmdldDogYW55KTogc3RyaW5nID0+IHtcclxuXHRcdGlmIChmaWVsZC50cmVlU2VsZWN0UHJvcHM/LnNlbGVjdGlvbk1vZGUgPT0gJ3NpbmdsZScpIHtcclxuXHRcdFx0cmV0dXJuIHRhcmdldC5rZXk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGFyZ2V0Lm1hcCgoaXRlbTogYW55KSA9PiBpdGVtLmtleSkuam9pbignLCcpO1xyXG5cdH0sXHJcblx0ZnJvbU11bHRpU2VsZWN0VmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCB0YXJnZXQ6IGFueSk6IHN0cmluZyA9PiB7XHJcblx0XHRpZiAoIWZpZWxkLm11bHRpU2VsZWN0UHJvcHM/Lm9wdGlvblZhbHVlKSB7XHJcblx0XHRcdHJldHVybiB0YXJnZXQ7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGFyZ2V0LmpvaW4oJywnKTtcclxuXHR9LFxyXG5cdGZyb21JbWFnZVZhbHVlOiAoZmllbGQ6IEZvcm1GaWVsZCwgdGFyZ2V0OiBhbnkpOiBzdHJpbmcgPT4ge1xyXG5cdFx0cmV0dXJuIHRhcmdldC5qb2luKCc7Jyk7XHJcblx0fSxcclxuXHRmcm9tVXBsb2FkVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCB0YXJnZXQ6IGFueSk6IHN0cmluZyA9PiB7XHJcblx0XHRyZXR1cm4gdGFyZ2V0LmpvaW4oJzsnKTtcclxuXHR9LFxyXG5cdGZyb21EYXRlUGlja2VyVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCB0YXJnZXQ6IGFueSwgZGF0ZVBpcGU6IGFueSk6IHN0cmluZyA9PiB7XHJcblx0XHRjb25zdCBkYXRlRm9ybWF0ID0gZmllbGQ/LmRhdGVQaWNrZXJQcm9wcz8uc2hvd1RpbWUgPyAneXl5eS1NTS1kZCBISDptbTpzcycgOiAneXl5eS1NTS1kZCc7XHJcblx0XHRpZiAoZmllbGQ/LmRhdGVQaWNrZXJQcm9wcz8uc2VsZWN0aW9uTW9kZSA9PSAncmFuZ2UnICYmIHRhcmdldC5sZW5ndGggPT0gMikge1xyXG5cdFx0XHRyZXR1cm4gYCR7ZGF0ZVBpcGUudHJhbnNmb3JtKHRhcmdldFswXSwgZGF0ZUZvcm1hdCl9fiR7ZGF0ZVBpcGUudHJhbnNmb3JtKHRhcmdldFsxXSwgZGF0ZUZvcm1hdCl9YDtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiBkYXRlUGlwZS50cmFuc2Zvcm0odGFyZ2V0LCBkYXRlRm9ybWF0KSB8fCB0YXJnZXQ7XHJcblx0XHR9XHJcblx0fSxcclxuXHR0b0ZpZWxkVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCByYXc6IGFueSwgZGF0ZVBpcGU6IERhdGVQaXBlKTogYW55ID0+IHtcclxuXHRcdGlmIChmaWVsZC50eXBlID09ICd0cmVlc2VsZWN0Jykge1xyXG5cdFx0XHRyZXR1cm4gX2ZpZWxkVXRpbHMudG9UcmVlU2VsZWN0VmFsdWUoZmllbGQsIHJhdyk7XHJcblx0XHR9XHJcblx0XHRpZiAoZmllbGQudHlwZSA9PSAnZGF0ZXBpY2tlcicpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLnRvRGF0YVBpY2tlclZhbHVlKGZpZWxkLCByYXcsIGRhdGVQaXBlKTtcclxuXHRcdH1cclxuXHRcdGlmIChmaWVsZC50eXBlID09ICdtdWx0aXNlbGVjdCcpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLnRvTXVsdGlTZWxlY3RWYWx1ZShmaWVsZCwgcmF3KTtcclxuXHRcdH1cclxuXHRcdGlmIChmaWVsZC50eXBlID09ICdpbWFnZScpIHtcclxuXHRcdFx0cmV0dXJuIF9maWVsZFV0aWxzLnRvSW1hZ2VWYWx1ZShmaWVsZCwgcmF3KTtcclxuXHRcdH1cclxuXHRcdGlmIChmaWVsZC50eXBlID09ICd1cGxvYWQnKSB7XHJcblx0XHRcdHJldHVybiBfZmllbGRVdGlscy50b1VwbG9hZFZhbHVlKGZpZWxkLCByYXcpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHJhdyB8fCAnJztcclxuXHR9LFxyXG5cdHRvVHJlZVNlbGVjdFZhbHVlOiAoZmllbGQ6IEZvcm1GaWVsZCwgcmF3OiBhbnkpOiBhbnkgPT4ge1xyXG5cdFx0aWYgKGZpZWxkLnRyZWVTZWxlY3RQcm9wcz8uc2VsZWN0aW9uTW9kZSA9PSAnc2luZ2xlJykge1xyXG5cdFx0XHRyZXR1cm4gX2ZpZWxkVXRpbHMuZmluZFRyZWVOb2RlKHJhdywgZmllbGQudHJlZVNlbGVjdFByb3BzPy5vcHRpb25zKTtcclxuXHRcdH1cclxuXHRcdGNvbnN0IG5vZGVzOiBhbnlbXSA9IFtdO1xyXG5cdFx0X2ZpZWxkVXRpbHMuZmluZFRyZWVOb2RlcyhyYXc/LnNwbGl0KCcsJykgfHwgW10sIGZpZWxkLnRyZWVTZWxlY3RQcm9wcz8ub3B0aW9ucyB8fCBbXSwgbm9kZXMpO1xyXG5cdFx0cmV0dXJuIG5vZGVzO1xyXG5cdH0sXHJcblx0dG9EYXRhUGlja2VyVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCByYXc6IGFueSwgZGF0ZVBpcGU6IERhdGVQaXBlKTogYW55ID0+IHtcclxuXHRcdGlmICghcmF3IHx8IHJhdyA9PSAnMDAwMS0wMS0wMVQwMDowMDowMFonKSB7XHJcblx0XHRcdHJldHVybiAnJztcclxuXHRcdH1cclxuXHRcdGNvbnN0IGRhdGVGb3JtYXQgPSBmaWVsZC5kYXRlUGlja2VyUHJvcHM/LnNob3dUaW1lID8gJ3l5eXktTU0tZGQgSEg6bW06c3MnIDogJ3l5eXktTU0tZGQnO1xyXG5cdFx0aWYgKGZpZWxkPy5kYXRlUGlja2VyUHJvcHM/LnNlbGVjdGlvbk1vZGUgPT0gJ3JhbmdlJyAmJiByYXcuaW5jbHVkZXMoJ34nKSkge1xyXG5cdFx0XHRjb25zdCBbc3RhcnQsIGVuZF0gPSByYXcuc3BsaXQoJ34nKTtcclxuXHRcdFx0cmV0dXJuIFtuZXcgRGF0ZShkYXRlUGlwZS50cmFuc2Zvcm0oc3RhcnQsIGRhdGVGb3JtYXQpIHx8IHN0YXJ0KSwgbmV3IERhdGUoZGF0ZVBpcGUudHJhbnNmb3JtKGVuZCwgZGF0ZUZvcm1hdCkgfHwgZW5kKV07XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRyZXR1cm4gZGF0ZVBpcGUudHJhbnNmb3JtKHJhdywgZGF0ZUZvcm1hdCwgJ0dNVCcpIHx8IHJhdztcclxuXHRcdH1cclxuXHR9LFxyXG5cdHRvTXVsdGlTZWxlY3RWYWx1ZTogKGZpZWxkOiBGb3JtRmllbGQsIHJhdzogYW55KTogYW55ID0+IHtcclxuXHRcdGlmICghZmllbGQubXVsdGlTZWxlY3RQcm9wcz8ub3B0aW9uVmFsdWUpIHtcclxuXHRcdFx0cmV0dXJuIHJhdyB8fCAnJztcclxuXHRcdH1cclxuXHRcdHJldHVybiAocmF3ICYmIHJhdy5zcGxpdCgnLCcpKSB8fCAnJztcclxuXHR9LFxyXG5cdHRvSW1hZ2VWYWx1ZTogKGZpZWxkOiBGb3JtRmllbGQsIHJhdzogYW55KTogYW55ID0+IHtcclxuXHRcdHJldHVybiAocmF3ICYmIHJhdy5zcGxpdCgnOycpKSB8fCBbXTtcclxuXHR9LFxyXG5cdHRvVXBsb2FkVmFsdWU6IChmaWVsZDogRm9ybUZpZWxkLCByYXc6IGFueSk6IGFueSA9PiB7XHJcblx0XHRyZXR1cm4gKHJhdyAmJiByYXcuc3BsaXQoJzsnKSkgfHwgW107XHJcblx0fSxcclxuXHRmaW5kVHJlZU5vZGUodmFsdWU6IHN0cmluZywgY2hpbGRyZW4/OiBhbnlbXSk6IGFueSB7XHJcblx0XHRpZiAoIWNoaWxkcmVuIHx8IGNoaWxkcmVuLmxlbmd0aCA9PSAwKSByZXR1cm47XHJcblx0XHRjb25zdCBuID0gY2hpbGRyZW4uZmluZCgobykgPT4gby5rZXkgPT0gdmFsdWUpO1xyXG5cdFx0aWYgKG4pIHJldHVybiBuO1xyXG5cdFx0Zm9yIChjb25zdCBjaCBvZiBjaGlsZHJlbikge1xyXG5cdFx0XHRjb25zdCBjbiA9IHRoaXMuZmluZFRyZWVOb2RlKHZhbHVlLCBjaC5jaGlsZHJlbik7XHJcblx0XHRcdGlmIChjbikgcmV0dXJuIGNuO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuO1xyXG5cdH0sXHJcblx0ZmluZFRyZWVOb2Rlcyh2YWx1ZXM6IHN0cmluZ1tdLCBjaGlsZHJlbj86IGFueVtdLCBub2Rlcz86IGFueVtdKTogdm9pZCB7XHJcblx0XHRpZiAoIWNoaWxkcmVuIHx8IGNoaWxkcmVuLmxlbmd0aCA9PSAwKSByZXR1cm47XHJcblx0XHRjb25zdCB0YXJzID0gY2hpbGRyZW4uZmlsdGVyKChvKSA9PiB2YWx1ZXMuaW5kZXhPZihvLmtleSkgIT0gLTEpO1xyXG5cdFx0bm9kZXM/LnB1c2goLi4udGFycyk7XHJcblx0XHRmb3IgKGNvbnN0IGNoIG9mIGNoaWxkcmVuKSB7XHJcblx0XHRcdHRoaXMuZmluZFRyZWVOb2Rlcyh2YWx1ZXMsIGNoLmNoaWxkcmVuLCBub2Rlcyk7XHJcblx0XHR9XHJcblx0fSxcclxuXHRwcmVsb2FkTG9nKHJhd01vZGVsOiBhbnksIGZpZWxkTGlzdDogRm9ybUZpZWxkW10sIGRhdGVQaXBlOiBEYXRlUGlwZSk6IGFueSB7XHJcblx0XHRjb25zdCB0YXJnZXQ6IGFueSA9IHt9O1xyXG5cdFx0T2JqZWN0LmtleXMocmF3TW9kZWwpLmZvckVhY2goKGtleSkgPT4ge1xyXG5cdFx0XHRjb25zdCBmaWVsZCA9IGZpZWxkTGlzdC5maW5kKChmaWVsZCkgPT4gZmllbGQua2V5ID09PSBrZXkpO1xyXG5cdFx0XHRpZiAoIWZpZWxkKSByZXR1cm47XHJcblx0XHRcdGlmIChmaWVsZC50eXBlID09ICdkYXRlcGlja2VyJykge1xyXG5cdFx0XHRcdHRhcmdldFtrZXldID0gX2ZpZWxkVXRpbHMudG9EYXRhUGlja2VyVmFsdWUoZmllbGQsIHJhd01vZGVsW2tleV0sIGRhdGVQaXBlKTtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0dGFyZ2V0W2tleV0gPSByYXdNb2RlbFtrZXldO1xyXG5cdFx0fSk7XHJcblx0XHRyZXR1cm4gdGFyZ2V0O1xyXG5cdH0sXHJcblx0dHJhbnNMb2cocmF3TW9kZWw6IGFueSwgY2hhbmdlZE1vZGVsOiBhbnksIG1haW5WYWx1ZTogYW55LCBpc05ldzogYm9vbGVhbik6IHN0cmluZyB7XHJcblx0XHRpZiAoaXNOZXcpIHtcclxuXHRcdFx0cmV0dXJuICfmlrDlu7rvvJonICsgbWFpblZhbHVlO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgZGV0YWlsOiBzdHJpbmdbXSA9IFtdO1xyXG5cdFx0T2JqZWN0LmtleXMoY2hhbmdlZE1vZGVsKS5mb3JFYWNoKChrZXkpID0+IHtcclxuXHRcdFx0aWYgKGNoYW5nZWRNb2RlbFtrZXldLnR5cGUgPT0gJ2NvZGVtaXJyb3InKSB7XHJcblx0XHRcdFx0ZGV0YWlsLnB1c2goYFske2NoYW5nZWRNb2RlbFtrZXldLm5hbWV9XSDlj5jmm7RgKTtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0ZGV0YWlsLnB1c2goYFske2NoYW5nZWRNb2RlbFtrZXldLm5hbWV9XSAke3Jhd01vZGVsW2tleV0gfHwgJyd9IC0+ICR7Y2hhbmdlZE1vZGVsW2tleV0udmFsdWUgfHwgJyd9YCk7XHJcblx0XHR9KTtcclxuXHRcdHJldHVybiBkZXRhaWwuam9pbignOycpO1xyXG5cdH0sXHJcblx0Ly8g57uP5rWL6K+Vc2VsZWN057uE5Lu25pyJ5YaF6YOoYnVnXHJcblx0Ly8g6K6+572ubW9kZWzml7bvvIxmaWVsZENvbnRyb2wuc2V0VmFsdWXnmoRlbWl0RXZlbnTlj4LmlbDkuLpmYWxzZSzku43kvJrop6blj5F2YWx1ZUNoYW5nZXPkuovku7ZcclxuXHQvLyDop6blj5F2YWx1ZUNoYW5nZXPkvJrlvbHlk43ml6Xlv5fkv53lrZjnmoTlh4bnoa7mgKfvvIzmlYXmraTmlrnms5Xku4XmmK/kuLrkuobpmLLmraLnu4Tku7blhoXpg6jmhI/lpJbop6blj5HnmoTlj5jliqhcclxuXHRpc0Zha2VkQ2hhbmdlKG5ld1ZhbHVlOiBhbnksIG9sZFZhbHVlOiBhbnksIGZpZWxkOiBGb3JtRmllbGQpOiBib29sZWFuIHtcclxuXHRcdGNvbnN0IGNoYW5nZVR5cGVzID0gWydpbnB1dHRleHQnLCAnaW5wdXRudW1iZXInLCAnc2VsZWN0JywgJ3RyZWVzZWxlY3QnLCAnZGF0ZXBpY2tlcicsICdhdXRvY29tcGxldGUnLCAnbXVsdGlzZWxlY3QnLCAncmFkaW8nXTtcclxuXHRcdGlmIChjaGFuZ2VUeXBlcy5pbmNsdWRlcyhmaWVsZC50eXBlISkpIHtcclxuXHRcdFx0cmV0dXJuIChvbGRWYWx1ZSB8fCAnJykgPT0gKG5ld1ZhbHVlIHx8ICcnKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBmYWxzZTtcclxuXHR9LFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGZpZWxkVXRpbHMgPSB7XHJcblx0cHJvcHM6IF9maWVsZFV0aWxzLnByb3BzLFxyXG5cdGxhYmVsOiBfZmllbGRVdGlscy5sYWJlbCxcclxuXHR0cmlnZ2VySG9va0FuZFNldFZhbHVlOiBfZmllbGRVdGlscy50cmlnZ2VySG9va0FuZFNldFZhbHVlLFxyXG5cdGZyb21GaWVsZFZhbHVlOiBfZmllbGRVdGlscy5mcm9tRmllbGRWYWx1ZSxcclxuXHRwcmVsb2FkTG9nOiBfZmllbGRVdGlscy5wcmVsb2FkTG9nLFxyXG5cdHRyYW5zTG9nOiBfZmllbGRVdGlscy50cmFuc0xvZyxcclxuXHRpc0Zha2VkQ2hhbmdlOiBfZmllbGRVdGlscy5pc0Zha2VkQ2hhbmdlLFxyXG59O1xyXG4iXX0=
@@ -2,7 +2,7 @@ import { Component, input, effect, ViewChild, ViewContainerRef, ElementRef } fro
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
3
  import { RowSelectorComponent as rowselectorPop } from '../../row-selector/row-selector.component';
4
4
  import { ButtonModule } from 'primeng/button';
5
- import { parseFunctions } from '../../share/utils';
5
+ import { convertCol, parseFunctions } from '../../share/utils';
6
6
  import { AmComponent } from '../../am/am.component';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "../../service/action.service";
@@ -60,6 +60,7 @@ export class RowSelectorComponent extends AmComponent {
60
60
  if (this.props.preSearch) {
61
61
  content.gridOptions = { ...content.gridOptions, preSearch: this.props.preSearch };
62
62
  }
63
+ convertCol(content.gridOptions, content.gridOptions.columnDefs, 1);
63
64
  componentRef.setInput('gridOptions', content.gridOptions);
64
65
  let searchPrm = { modelName: content.modelName };
65
66
  if (this.props.searchPrm) {
@@ -122,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
122
123
  type: ViewChild,
123
124
  args: ['selector', { read: ElementRef, static: false }]
124
125
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93c2VsZWN0b3IudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZm9ybS9mb3JtLXR5cGUvcm93c2VsZWN0b3IudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLElBQUksY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHbkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQTBEcEQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQVc7SUFRcEQsWUFDUyxNQUFxQixFQUNyQixRQUFtQjtRQUUzQixLQUFLLEVBQUUsQ0FBQztRQUhBLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVA1QixVQUFLLEdBQUcsS0FBSyxFQUFhLENBQUM7UUFDM0IsVUFBSyxHQUFxQixFQUFFLENBQUM7UUFFN0IsUUFBRyxHQUFRLEVBQUUsQ0FBQztRQU9iLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FBQyxnQkFBaUIsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMs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R0FBcEIsb0JBQW9CLG1TQUNBLGdCQUFnQixrR0FDakIsVUFBVSxvREFoQi9COzs7Ozs7Ozs7Ozs7RUFZVCxxZEFiUyxZQUFZLDhCQUFFLG1CQUFtQjs7NEZBZS9CLG9CQUFvQjtrQkFqRGhDLFNBQVM7K0JBQ0Msa0JBQWtCLGNBQ2hCLElBQUksV0FnQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsWUFDbEM7Ozs7Ozs7Ozs7OztFQVlUOzBHQUdtRCxTQUFTO3NCQUE1RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFDVSxXQUFXO3NCQUF0RSxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIGVmZmVjdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm93U2VsZWN0b3JDb21wb25lbnQgYXMgcm93c2VsZWN0b3JQb3AgfSBmcm9tICcuLi8uLi9yb3ctc2VsZWN0b3Ivcm93LXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCwgRmllbGRQcm9wcyB9IGZyb20gJy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHBhcnNlRnVuY3Rpb25zIH0gZnJvbSAnLi4vLi4vc2hhcmUvdXRpbHMnO1xyXG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYW0vYW0uY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUm93U2VsZWN0b3JQcm9wcyBleHRlbmRzIEZpZWxkUHJvcHMge1xyXG5cdHBhZ2VDb2RlPzogc3RyaW5nO1xyXG5cdHByZVNlYXJjaD86IGFueTtcclxuXHRzZWFyY2hQcm0/OiBhbnk7XHJcblx0Y2FsbGJhY2s/OiAoZGF0YTogYW55LCBmb3JtOiBGb3JtQ29tcG9uZW50KSA9PiB2b2lkO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2Zvcm0tcm93c2VsZWN0b3InLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c3R5bGVzOiBgXHJcblx0XHQuc2VsZWN0b3ItdGV4dCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDIwcHg7XHJcblx0XHRcdGNvbG9yOiAjMzM0MTU1O1xyXG5cclxuXHRcdFx0LnNlbGVjdG9yLWljb24ge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQuc2VsZWN0b3ItaWNvbjpob3ZlciB7XHJcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1wLXByaW1hcnktY29sb3IpO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5zZWxlY3Rvci10ZXh0LWNvbnRlbnQge1xyXG5cdFx0XHRcdG1pbi13aWR0aDogMjVweDtcclxuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5zZWxlY3Rvci10ZXh0OmhvdmVyIHtcclxuXHRcdFx0LnNlbGVjdG9yLWljb24ge1xyXG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1wLXByaW1hcnktY29sb3IpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQuc2VsZWN0b3ItdGV4dC5uZy1ob3ZlcmVkIHtcclxuXHRcdFx0LnNlbGVjdG9yLWljb24ge1xyXG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1wLXByaW1hcnktY29sb3IpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0YCxcclxuXHRpbXBvcnRzOiBbQnV0dG9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuXHR0ZW1wbGF0ZTogYFxyXG5cdFx0PGRpdiAjY29udGFpbmVyPjwvZGl2PlxyXG5cdFx0PGRpdlxyXG5cdFx0XHQjc2VsZWN0b3JcclxuXHRcdFx0Y2xhc3M9XCJmbGV4IGdhcC0yIGl0ZW1zLWNlbnRlciBzZWxlY3Rvci10ZXh0XCI+XHJcblx0XHRcdDxzcGFuIGNsYXNzPVwic2VsZWN0b3ItdGV4dC1jb250ZW50XCI+e3sgdGV4dCB9fTwvc3Bhbj5cclxuXHRcdFx0QGlmIChwcm9wcyAmJiAhcHJvcHMuZGlzYWJsZWQpIHtcclxuXHRcdFx0XHQ8c3BhblxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJzZWxlY3Rvci1pY29uIHBpIHBpLXBlbi10by1zcXVhcmVcIlxyXG5cdFx0XHRcdFx0KGNsaWNrKT1cIm9uU2VsZWN0b3JTaG93KClcIj48L3NwYW4+XHJcblx0XHRcdH1cclxuXHRcdDwvZGl2PlxyXG5cdGAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb3dTZWxlY3RvckNvbXBvbmVudCBleHRlbmRzIEFtQ29tcG9uZW50IHtcclxuXHRAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgY29udGFpbmVyITogVmlld0NvbnRhaW5lclJlZjtcclxuXHRAVmlld0NoaWxkKCdzZWxlY3RvcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiBmYWxzZSB9KSBzZWxlY3RvclJlZiE6IEVsZW1lbnRSZWY7XHJcblx0ZmllbGQgPSBpbnB1dDxGb3JtRmllbGQ+KCk7XHJcblx0cHJvcHM6IFJvd1NlbGVjdG9yUHJvcHMgPSB7fTtcclxuXHR0ZXh0Pzogc3RyaW5nO1xyXG5cdHVzZTogYW55ID0ge307XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBhY3Rpb246IEFjdGlvblNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcblx0KSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0aWYgKHRoaXMuZmllbGQoKSkge1xyXG5cdFx0XHRcdHRoaXMucHJvcHMgPSB0aGlzLmZpZWxkKCkhLnJvd1NlbGVjdG9yUHJvcHMhO1xyXG5cdFx0XHRcdHRoaXMuaGFuZGxlRGlzYWJsZWQoKTtcclxuXHRcdFx0XHR0aGlzLmhhbmRsZU1vZGVsQ2hhbmdlKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0Y29uc3QgbGFiZWxBY3Rpb24gPSB0aGlzLmFjdGlvbi5nZXRGaWVsZExhYmVsQWN0aW9uKCk7XHJcblx0XHRcdGlmICghbGFiZWxBY3Rpb24gfHwgbGFiZWxBY3Rpb24/LmtleSAhPSB0aGlzLmZpZWxkKCk/LnV1aWQpIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKGxhYmVsQWN0aW9uLnR5cGUgPT0gJ21vdXNlZW50ZXInKSB7XHJcblx0XHRcdFx0dGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnNlbGVjdG9yUmVmLm5hdGl2ZUVsZW1lbnQsICduZy1ob3ZlcmVkJyk7XHJcblx0XHRcdH0gZWxzZSBpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnbW91c2VsZWF2ZScpIHtcclxuXHRcdFx0XHR0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuc2VsZWN0b3JSZWYubmF0aXZlRWxlbWVudCwgJ25nLWhvdmVyZWQnKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRoYW5kbGVEaXNhYmxlZCgpIHtcclxuXHRcdGlmICh0aGlzLnByb3BzPy5kaXNhYmxlZCkge1xyXG5cdFx0XHR0aGlzLmZpZWxkKCkhLmZpZWxkQ29udHJvbCEuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRoYW5kbGVNb2RlbENoYW5nZSgpIHtcclxuXHRcdHRoaXMuZmllbGQoKT8uZmllbGRDb250cm9sPy5tb2RlbENoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcblx0XHRcdGlmICh2YWx1ZSA9PSBudWxsKSB7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMudGV4dCA9IHZhbHVlO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRvblNlbGVjdG9yU2hvdygpIHtcclxuXHRcdHRoaXMuY3JlYXRlUm93U2VsZWN0b3IoKTtcclxuXHR9XHJcblxyXG5cdGNyZWF0ZVJvd1NlbGVjdG9yKCkge1xyXG5cdFx0dGhpcy53ZWJnZXQoeyBjb2RlOiB0aGlzLnByb3BzLnBhZ2VDb2RlIH0pLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuXHRcdFx0bGV0IGNvbnRlbnQgPSBwYXJzZUZ1bmN0aW9ucyhKU09OLnBhcnNlKHJlcy5jb250ZW50KSwgdGhpcyk7XHJcblx0XHRcdHRoaXMuaGFuZGxlUG9wR3JpZE9wdGlvbnMoY29udGVudC5ncmlkT3B0aW9ucyk7XHJcblx0XHRcdHRoaXMuY29udGFpbmVyLmNsZWFyKCk7XHJcblx0XHRcdGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChyb3dzZWxlY3RvclBvcCk7XHJcblx0XHRcdGNvbXBvbmVudFJlZi5zZXRJbnB1dCgndmlzaWJsZScsIHRydWUpO1xyXG5cdFx0XHRpZiAodGhpcy5wcm9wcy5wcmVTZWFyY2gpIHtcclxuXHRcdFx0XHRjb250ZW50LmdyaWRPcHRpb25zID0geyAuLi5jb250ZW50LmdyaWRPcHRpb25zLCBwcmVTZWFyY2g6IHRoaXMucHJvcHMucHJlU2VhcmNoIH07XHJcblx0XHRcdH1cclxuXHRcdFx0Y29tcG9uZW50UmVmLnNldElucHV0KCdncmlkT3B0aW9ucycsIGNvbnRlbnQuZ3JpZE9wdGlvbnMpO1xyXG5cdFx0XHRsZXQgc2VhcmNoUHJtID0geyBtb2RlbE5hbWU6IGNvbnRlbnQubW9kZWxOYW1lIH07XHJcblx0XHRcdGlmICh0aGlzLnByb3BzLnNlYXJjaFBybSkge1xyXG5cdFx0XHRcdHNlYXJjaFBybSA9IHsgLi4uc2VhcmNoUHJtLCAuLi50aGlzLnByb3BzLnNlYXJjaFBybSB9O1xyXG5cdFx0XHR9XHJcblx0XHRcdGNvbXBvbmVudFJlZi5zZXRJbnB1dCgnc2VhcmNoUHJtJywgc2VhcmNoUHJtKTtcclxuXHRcdFx0Y29tcG9uZW50UmVmLmluc3RhbmNlLm9uT2suc3Vic2NyaWJlKChkYXRhOiBhbnlbXSkgPT4ge1xyXG5cdFx0XHRcdGlmIChkYXRhLmxlbmd0aCA9PSAwKSByZXR1cm47XHJcblx0XHRcdFx0dGhpcy5wcm9wcy5jYWxsYmFjayAmJiB0aGlzLnByb3BzLmNhbGxiYWNrKGRhdGFbMF0sIHRoaXMuZmllbGQoKSEuZm9ybSEpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0aGFuZGxlUG9wR3JpZE9wdGlvbnMoZ3JpZE9wdGlvbnM6IGFueSkge1xyXG5cdFx0Y29uc3Qgc2VhcmNoID0gKHBhcmFtOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4gPT4gdGhpcy5odHRwLnBvc3QoJ3NlYXJjaCcsIHBhcmFtKTtcclxuXHRcdGdyaWRPcHRpb25zLnNjcm9sbEhlaWdodCA9ICczMDBweCc7XHJcblx0XHRncmlkT3B0aW9ucy5yb3dTZWxlY3Rpb24gPSB7IG1vZGU6ICdzaW5nbGVSb3cnIH07XHJcblx0XHRncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPSBncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgfHwgJ3NlcnZlclNpZGUnO1xyXG5cdFx0aWYgKGdyaWRPcHRpb25zLnJvd01vZGVsVHlwZSA9PSAnc2VydmVyU2lkZScpIHtcclxuXHRcdFx0Z3JpZE9wdGlvbnMuc2VydmVyRnVuYyA9IGdyaWRPcHRpb25zLnNlcnZlckZ1bmMgfHwgc2VhcmNoLmJpbmQodGhpcyk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRncmlkT3B0aW9ucy5jbGllbnRGdW5jID0gZ3JpZE9wdGlvbnMuY2xpZW50RnVuYyB8fCBzZWFyY2guYmluZCh0aGlzKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93c2VsZWN0b3IudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZm9ybS9mb3JtLXR5cGUvcm93c2VsZWN0b3IudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLElBQUksY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFHbkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUEwRHBELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUFXO0lBUXBELFlBQ1MsTUFBcUIsRUFDckIsUUFBbUI7UUFFM0IsS0FBSyxFQUFFLENBQUM7UUFIQSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFQNUIsVUFBSyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQzNCLFVBQUssR0FBcUIsRUFBRSxDQUFDO1FBRTdCLFFBQUcsR0FBUSxFQUFFLENBQUM7UUFPYixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFHLENBQUMsZ0JBQWlCLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEIs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LFdBQVcsQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RSxDQUFDO0lBQ0YsQ0FBQzsrR0F0Rlcsb0JBQW9CO21HQUFwQixvQkFBb0IsbVNBQ0EsZ0JBQWdCLGtHQUNqQixVQUFVLG9EQWhCL0I7Ozs7Ozs7Ozs7OztFQVlULHFkQWJTLFlBQVksOEJBQUUsbUJBQW1COzs0RkFlL0Isb0JBQW9CO2tCQWpEaEMsU0FBUzsrQkFDQyxrQkFBa0IsY0FDaEIsSUFBSSxXQWdDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxZQUNsQzs7Ozs7Ozs7Ozs7O0VBWVQ7MEdBR21ELFNBQVM7c0JBQTVELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUNVLFdBQVc7c0JBQXRFLFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgZWZmZWN0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSb3dTZWxlY3RvckNvbXBvbmVudCBhcyByb3dzZWxlY3RvclBvcCB9IGZyb20gJy4uLy4uL3Jvdy1zZWxlY3Rvci9yb3ctc2VsZWN0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUZpZWxkLCBGaWVsZFByb3BzIH0gZnJvbSAnLi4vZm9ybS1maWVsZC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgQWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY29udmVydENvbCwgcGFyc2VGdW5jdGlvbnMgfSBmcm9tICcuLi8uLi9zaGFyZS91dGlscyc7XHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9hbS9hbS5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSb3dTZWxlY3RvclByb3BzIGV4dGVuZHMgRmllbGRQcm9wcyB7XHJcblx0cGFnZUNvZGU/OiBzdHJpbmc7XHJcblx0cHJlU2VhcmNoPzogYW55O1xyXG5cdHNlYXJjaFBybT86IGFueTtcclxuXHRjYWxsYmFjaz86IChkYXRhOiBhbnksIGZvcm06IEZvcm1Db21wb25lbnQpID0+IHZvaWQ7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnZm9ybS1yb3dzZWxlY3RvcicsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzdHlsZXM6IGBcclxuXHRcdC5zZWxlY3Rvci10ZXh0IHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMjBweDtcclxuXHRcdFx0Y29sb3I6ICMzMzQxNTU7XHJcblxyXG5cdFx0XHQuc2VsZWN0b3ItaWNvbiB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdC5zZWxlY3Rvci1pY29uOmhvdmVyIHtcclxuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdFx0Y29sb3I6IHZhcigtLXAtcHJpbWFyeS1jb2xvcik7XHJcblx0XHRcdH1cclxuXHRcdFx0LnNlbGVjdG9yLXRleHQtY29udGVudCB7XHJcblx0XHRcdFx0bWluLXdpZHRoOiAyNXB4O1xyXG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnNlbGVjdG9yLXRleHQ6aG92ZXIge1xyXG5cdFx0XHQuc2VsZWN0b3ItaWNvbiB7XHJcblx0XHRcdFx0Y29sb3I6IHZhcigtLXAtcHJpbWFyeS1jb2xvcik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5zZWxlY3Rvci10ZXh0Lm5nLWhvdmVyZWQge1xyXG5cdFx0XHQuc2VsZWN0b3ItaWNvbiB7XHJcblx0XHRcdFx0Y29sb3I6IHZhcigtLXAtcHJpbWFyeS1jb2xvcik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRgLFxyXG5cdGltcG9ydHM6IFtCdXR0b25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxyXG5cdHRlbXBsYXRlOiBgXHJcblx0XHQ8ZGl2ICNjb250YWluZXI+PC9kaXY+XHJcblx0XHQ8ZGl2XHJcblx0XHRcdCNzZWxlY3RvclxyXG5cdFx0XHRjbGFzcz1cImZsZXggZ2FwLTIgaXRlbXMtY2VudGVyIHNlbGVjdG9yLXRleHRcIj5cclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJzZWxlY3Rvci10ZXh0LWNvbnRlbnRcIj57eyB0ZXh0IH19PC9zcGFuPlxyXG5cdFx0XHRAaWYgKHByb3BzICYmICFwcm9wcy5kaXNhYmxlZCkge1xyXG5cdFx0XHRcdDxzcGFuXHJcblx0XHRcdFx0XHRjbGFzcz1cInNlbGVjdG9yLWljb24gcGkgcGktcGVuLXRvLXNxdWFyZVwiXHJcblx0XHRcdFx0XHQoY2xpY2spPVwib25TZWxlY3RvclNob3coKVwiPjwvc3Bhbj5cclxuXHRcdFx0fVxyXG5cdFx0PC9kaXY+XHJcblx0YCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvd1NlbGVjdG9yQ29tcG9uZW50IGV4dGVuZHMgQW1Db21wb25lbnQge1xyXG5cdEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBjb250YWluZXIhOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cdEBWaWV3Q2hpbGQoJ3NlbGVjdG9yJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIHNlbGVjdG9yUmVmITogRWxlbWVudFJlZjtcclxuXHRmaWVsZCA9IGlucHV0PEZvcm1GaWVsZD4oKTtcclxuXHRwcm9wczogUm93U2VsZWN0b3JQcm9wcyA9IHt9O1xyXG5cdHRleHQ/OiBzdHJpbmc7XHJcblx0dXNlOiBhbnkgPSB7fTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGFjdGlvbjogQWN0aW9uU2VydmljZSxcclxuXHRcdHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuXHQpIHtcclxuXHRcdHN1cGVyKCk7XHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5maWVsZCgpKSB7XHJcblx0XHRcdFx0dGhpcy5wcm9wcyA9IHRoaXMuZmllbGQoKSEucm93U2VsZWN0b3JQcm9wcyE7XHJcblx0XHRcdFx0dGhpcy5oYW5kbGVEaXNhYmxlZCgpO1xyXG5cdFx0XHRcdHRoaXMuaGFuZGxlTW9kZWxDaGFuZ2UoKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRjb25zdCBsYWJlbEFjdGlvbiA9IHRoaXMuYWN0aW9uLmdldEZpZWxkTGFiZWxBY3Rpb24oKTtcclxuXHRcdFx0aWYgKCFsYWJlbEFjdGlvbiB8fCBsYWJlbEFjdGlvbj8ua2V5ICE9IHRoaXMuZmllbGQoKT8udXVpZCkge1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobGFiZWxBY3Rpb24udHlwZSA9PSAnbW91c2VlbnRlcicpIHtcclxuXHRcdFx0XHR0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuc2VsZWN0b3JSZWYubmF0aXZlRWxlbWVudCwgJ25nLWhvdmVyZWQnKTtcclxuXHRcdFx0fSBlbHNlIGlmIChsYWJlbEFjdGlvbi50eXBlID09ICdtb3VzZWxlYXZlJykge1xyXG5cdFx0XHRcdHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5zZWxlY3RvclJlZi5uYXRpdmVFbGVtZW50LCAnbmctaG92ZXJlZCcpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGhhbmRsZURpc2FibGVkKCkge1xyXG5cdFx0aWYgKHRoaXMucHJvcHM/LmRpc2FibGVkKSB7XHJcblx0XHRcdHRoaXMuZmllbGQoKSEuZmllbGRDb250cm9sIS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGhhbmRsZU1vZGVsQ2hhbmdlKCkge1xyXG5cdFx0dGhpcy5maWVsZCgpPy5maWVsZENvbnRyb2w/Lm1vZGVsQ2hhbmdlLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuXHRcdFx0aWYgKHZhbHVlID09IG51bGwpIHtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHRcdFx0dGhpcy50ZXh0ID0gdmFsdWU7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdG9uU2VsZWN0b3JTaG93KCkge1xyXG5cdFx0dGhpcy5jcmVhdGVSb3dTZWxlY3RvcigpO1xyXG5cdH1cclxuXHJcblx0Y3JlYXRlUm93U2VsZWN0b3IoKSB7XHJcblx0XHR0aGlzLndlYmdldCh7IGNvZGU6IHRoaXMucHJvcHMucGFnZUNvZGUgfSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG5cdFx0XHRsZXQgY29udGVudCA9IHBhcnNlRnVuY3Rpb25zKEpTT04ucGFyc2UocmVzLmNvbnRlbnQpLCB0aGlzKTtcclxuXHRcdFx0dGhpcy5oYW5kbGVQb3BHcmlkT3B0aW9ucyhjb250ZW50LmdyaWRPcHRpb25zKTtcclxuXHRcdFx0dGhpcy5jb250YWluZXIuY2xlYXIoKTtcclxuXHRcdFx0Y29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KHJvd3NlbGVjdG9yUG9wKTtcclxuXHRcdFx0Y29tcG9uZW50UmVmLnNldElucHV0KCd2aXNpYmxlJywgdHJ1ZSk7XHJcblx0XHRcdGlmICh0aGlzLnByb3BzLnByZVNlYXJjaCkge1xyXG5cdFx0XHRcdGNvbnRlbnQuZ3JpZE9wdGlvbnMgPSB7IC4uLmNvbnRlbnQuZ3JpZE9wdGlvbnMsIHByZVNlYXJjaDogdGhpcy5wcm9wcy5wcmVTZWFyY2ggfTtcclxuXHRcdFx0fVxyXG5cdFx0XHRjb252ZXJ0Q29sKGNvbnRlbnQuZ3JpZE9wdGlvbnMsY29udGVudC5ncmlkT3B0aW9ucy5jb2x1bW5EZWZzIGFzIGFueSwxKSBcclxuXHRcdFx0Y29tcG9uZW50UmVmLnNldElucHV0KCdncmlkT3B0aW9ucycsIGNvbnRlbnQuZ3JpZE9wdGlvbnMpO1xyXG5cdFx0XHRsZXQgc2VhcmNoUHJtID0geyBtb2RlbE5hbWU6IGNvbnRlbnQubW9kZWxOYW1lIH07XHJcblx0XHRcdGlmICh0aGlzLnByb3BzLnNlYXJjaFBybSkge1xyXG5cdFx0XHRcdHNlYXJjaFBybSA9IHsgLi4uc2VhcmNoUHJtLCAuLi50aGlzLnByb3BzLnNlYXJjaFBybSB9O1xyXG5cdFx0XHR9XHJcblx0XHRcdGNvbXBvbmVudFJlZi5zZXRJbnB1dCgnc2VhcmNoUHJtJywgc2VhcmNoUHJtKTtcclxuXHRcdFx0Y29tcG9uZW50UmVmLmluc3RhbmNlLm9uT2suc3Vic2NyaWJlKChkYXRhOiBhbnlbXSkgPT4ge1xyXG5cdFx0XHRcdGlmIChkYXRhLmxlbmd0aCA9PSAwKSByZXR1cm47XHJcblx0XHRcdFx0dGhpcy5wcm9wcy5jYWxsYmFjayAmJiB0aGlzLnByb3BzLmNhbGxiYWNrKGRhdGFbMF0sIHRoaXMuZmllbGQoKSEuZm9ybSEpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0aGFuZGxlUG9wR3JpZE9wdGlvbnMoZ3JpZE9wdGlvbnM6IGFueSkge1xyXG5cdFx0Y29uc3Qgc2VhcmNoID0gKHBhcmFtOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4gPT4gdGhpcy5odHRwLnBvc3QoJ3NlYXJjaCcsIHBhcmFtKTtcclxuXHRcdGdyaWRPcHRpb25zLnNjcm9sbEhlaWdodCA9ICczMDBweCc7XHJcblx0XHRncmlkT3B0aW9ucy5yb3dTZWxlY3Rpb24gPSB7IG1vZGU6ICdzaW5nbGVSb3cnIH07XHJcblx0XHRncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPSBncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgfHwgJ3NlcnZlclNpZGUnO1xyXG5cdFx0aWYgKGdyaWRPcHRpb25zLnJvd01vZGVsVHlwZSA9PSAnc2VydmVyU2lkZScpIHtcclxuXHRcdFx0Z3JpZE9wdGlvbnMuc2VydmVyRnVuYyA9IGdyaWRPcHRpb25zLnNlcnZlckZ1bmMgfHwgc2VhcmNoLmJpbmQodGhpcyk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRncmlkT3B0aW9ucy5jbGllbnRGdW5jID0gZ3JpZE9wdGlvbnMuY2xpZW50RnVuYyB8fCBzZWFyY2guYmluZCh0aGlzKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
@@ -0,0 +1,91 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class RowSpanRenderer {
4
+ constructor(renderer) {
5
+ this.renderer = renderer;
6
+ this.rowSpan = 1;
7
+ this.rowElementObservers = [];
8
+ this.resetRowSpanItemHeight = this._debounce(this.resetRowSpanItemHeight, 100);
9
+ }
10
+ agInit(params) {
11
+ this.params = params;
12
+ this.refresh(params);
13
+ }
14
+ refresh(params) {
15
+ this.rowSpan = this.params.rowSpan(this.params);
16
+ this.initRowElementObservers();
17
+ this.setRowSpanStyle();
18
+ return true;
19
+ }
20
+ initRowElementObservers() {
21
+ if (this.rowSpan <= 1)
22
+ return;
23
+ const { visibleCols } = this.params.node.beans;
24
+ const hasWap = visibleCols.allCols.some((v) => v.colDef.autoHeight && v.colDef.cellClass == 'cell-wrap-text');
25
+ if (!hasWap)
26
+ return;
27
+ for (let i = this.params.node.rowIndex; i < this.params.node.rowIndex + this.rowSpan; i++) {
28
+ const rowElement = document.querySelector(`.ag-row[row-index="${i}"]`);
29
+ if (!rowElement) {
30
+ continue;
31
+ }
32
+ const rowElementObserver = new ResizeObserver((entries) => {
33
+ entries.forEach((entry) => {
34
+ this.resetRowSpanItemHeight();
35
+ });
36
+ });
37
+ rowElementObserver.observe(rowElement);
38
+ }
39
+ }
40
+ resetRowSpanItemHeight() {
41
+ let totalHeight = 0;
42
+ for (let i = this.params.node.rowIndex; i < this.params.node.rowIndex + this.rowSpan; i++) {
43
+ const rowHeight = this.params.api.getDisplayedRowAtIndex(i)?.rowHeight;
44
+ totalHeight = totalHeight + (rowHeight || 0);
45
+ }
46
+ this.renderer.setStyle(this.params.eGridCell, 'height', totalHeight + 'px');
47
+ }
48
+ setRowSpanStyle() {
49
+ const gridCellElement = this.params.eGridCell;
50
+ if (this.rowSpan > 1) {
51
+ this.renderer.setStyle(gridCellElement, 'z-index', '2');
52
+ this.renderer.setStyle(gridCellElement, 'display', 'flex');
53
+ this.renderer.setStyle(gridCellElement, 'align-items', 'center');
54
+ this.renderer.setStyle(gridCellElement, 'background', 'white');
55
+ if (this.params.node.rowIndex + this.rowSpan !== this.params.api.getDisplayedRowCount()) {
56
+ this.renderer.setStyle(gridCellElement, 'border-bottom', '1px solid color-mix(in srgb, transparent, var(--ag-foreground-color) 15%)');
57
+ }
58
+ }
59
+ }
60
+ _debounce(func, delay) {
61
+ let timeout;
62
+ // Calling debounce returns a new anonymous function
63
+ return function (...args) {
64
+ //@ts-expect-error no implicit this
65
+ const context = this;
66
+ window.clearTimeout(timeout);
67
+ // Set the new timeout
68
+ timeout = window.setTimeout(function () {
69
+ // at the moment we just check if the bean is still alive, in the future the bean stub should
70
+ // another option is to manage a list of active timers and clear them when the bean is destroyed.
71
+ func.apply(context, args);
72
+ }, delay);
73
+ };
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowSpanRenderer, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RowSpanRenderer, isStandalone: true, selector: "app-row-span-renderer", ngImport: i0, template: `
77
+ <div>{{ params.value }}</div>
78
+ `, isInline: true }); }
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RowSpanRenderer, decorators: [{
81
+ type: Component,
82
+ args: [{
83
+ selector: 'app-row-span-renderer',
84
+ standalone: true,
85
+ imports: [],
86
+ template: `
87
+ <div>{{ params.value }}</div>
88
+ `,
89
+ }]
90
+ }], ctorParameters: () => [{ type: i0.Renderer2 }] });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXNwYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2dyaWQvY2VsbC1yZW5kZXIvcm93LXNwYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFjckQsTUFBTSxPQUFPLGVBQWU7SUFLM0IsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUh2QyxZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLHdCQUFtQixHQUFxQixFQUFFLENBQUM7UUFHMUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzlFLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBVztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBMkI7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELHVCQUF1QjtRQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQztZQUFFLE9BQU87UUFDOUIsTUFBTSxFQUFFLFdBQVcsRUFBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM5QyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElB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akIsb0RBQW9EO1FBQ3BELE9BQU8sVUFBVSxHQUFHLElBQVc7WUFDM0IsbUNBQW1DO1lBQ25DLE1BQU0sT0FBTyxHQUFHLElBQVcsQ0FBQztZQUM1QixNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTdCLHNCQUFzQjtZQUN0QixPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztnQkFDeEIsNkZBQTZGO2dCQUM3RixpR0FBaUc7Z0JBQzdGLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2xDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBcEZXLGVBQWU7bUdBQWYsZUFBZSxpRkFOaEI7O0dBRVQ7OzRGQUlVLGVBQWU7a0JBVjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxFQUFFO29CQUNYLFFBQVEsRUFBRzs7R0FFVDtpQkFFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XHJcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJQYXJhbXMgfSBmcm9tICdhZy1ncmlkLWVudGVycHJpc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcm93LXNwYW4tcmVuZGVyZXInLFxyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0aW1wb3J0czogW10sXHJcblx0dGVtcGxhdGU6ICBgXHJcbiAgICA8ZGl2Pnt7IHBhcmFtcy52YWx1ZSB9fTwvZGl2PlxyXG4gIGAsXHJcblxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd1NwYW5SZW5kZXJlciBpbXBsZW1lbnRzIElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB7XHJcblx0cGFyYW1zPzogYW55O1xyXG5cdHJvd1NwYW46IG51bWJlciA9IDE7XHJcblx0cm93RWxlbWVudE9ic2VydmVyczogUmVzaXplT2JzZXJ2ZXJbXSA9IFtdO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuXHRcdHRoaXMucmVzZXRSb3dTcGFuSXRlbUhlaWdodCA9IHRoaXMuX2RlYm91bmNlKHRoaXMucmVzZXRSb3dTcGFuSXRlbUhlaWdodCwxMDApXHJcblx0fVxyXG5cclxuXHRhZ0luaXQocGFyYW1zOiBhbnkpOiB2b2lkIHtcclxuXHRcdHRoaXMucGFyYW1zID0gcGFyYW1zO1xyXG5cdFx0dGhpcy5yZWZyZXNoKHBhcmFtcyk7XHJcblx0fVxyXG5cclxuXHRyZWZyZXNoKHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IGJvb2xlYW4ge1xyXG5cdFx0dGhpcy5yb3dTcGFuID0gdGhpcy5wYXJhbXMucm93U3Bhbih0aGlzLnBhcmFtcyk7XHJcblx0XHR0aGlzLmluaXRSb3dFbGVtZW50T2JzZXJ2ZXJzKCk7XHJcblx0XHR0aGlzLnNldFJvd1NwYW5TdHlsZSgpO1xyXG5cdFx0cmV0dXJuIHRydWU7XHJcblx0fVxyXG5cclxuXHRpbml0Um93RWxlbWVudE9ic2VydmVycygpIHtcclxuXHRcdGlmICh0aGlzLnJvd1NwYW4gPD0gMSkgcmV0dXJuO1xyXG5cdFx0Y29uc3QgeyB2aXNpYmxlQ29sc30gPSB0aGlzLnBhcmFtcy5ub2RlLmJlYW5zO1xyXG5cdFx0Y29uc3QgaGFzV2FwID0gdmlzaWJsZUNvbHMuYWxsQ29scy5zb21lKCh2OmFueSkgPT4gdi5jb2xEZWYuYXV0b0hlaWdodCAmJiB2LmNvbERlZi5jZWxsQ2xhc3MgPT0gJ2NlbGwtd3JhcC10ZXh0Jyk7XHJcblx0XHRpZighaGFzV2FwKSByZXR1cm4gXHJcblx0XHRmb3IgKGxldCBpID0gdGhpcy5wYXJhbXMubm9kZS5yb3dJbmRleDsgaSA8IHRoaXMucGFyYW1zLm5vZGUucm93SW5kZXggKyB0aGlzLnJvd1NwYW47IGkrKykge1xyXG5cdFx0XHRjb25zdCByb3dFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLmFnLXJvd1tyb3ctaW5kZXg9XCIke2l9XCJdYCk7XHJcblx0XHRcdGlmICghcm93RWxlbWVudCkge1xyXG5cdFx0XHRcdGNvbnRpbnVlO1xyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnN0IHJvd0VsZW1lbnRPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xyXG5cdFx0XHRcdGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMucmVzZXRSb3dTcGFuSXRlbUhlaWdodCgpO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9KTtcclxuXHRcdFx0cm93RWxlbWVudE9ic2VydmVyLm9ic2VydmUocm93RWxlbWVudCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdHJlc2V0Um93U3Bhbkl0ZW1IZWlnaHQoKSB7XHJcblx0XHRsZXQgdG90YWxIZWlnaHQ6IG51bWJlciA9IDA7XHJcblx0XHRmb3IgKGxldCBpID0gdGhpcy5wYXJhbXMubm9kZS5yb3dJbmRleDsgaSA8IHRoaXMucGFyYW1zLm5vZGUucm93SW5kZXggKyB0aGlzLnJvd1NwYW47IGkrKykge1xyXG5cdFx0XHRjb25zdCByb3dIZWlnaHQgPSB0aGlzLnBhcmFtcy5hcGkuZ2V0RGlzcGxheWVkUm93QXRJbmRleChpKT8ucm93SGVpZ2h0O1xyXG5cdFx0XHR0b3RhbEhlaWdodCA9IHRvdGFsSGVpZ2h0ICsgKHJvd0hlaWdodCB8fCAwKTtcclxuXHRcdH1cclxuXHRcdHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wYXJhbXMuZUdyaWRDZWxsLCAnaGVpZ2h0JywgdG90YWxIZWlnaHQgKyAncHgnKTtcclxuXHR9XHJcblxyXG5cdHNldFJvd1NwYW5TdHlsZSgpIHtcclxuXHRcdGNvbnN0IGdyaWRDZWxsRWxlbWVudCA9IHRoaXMucGFyYW1zLmVHcmlkQ2VsbDtcclxuXHRcdGlmICh0aGlzLnJvd1NwYW4gPiAxKSB7XHJcblx0XHRcdHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZ3JpZENlbGxFbGVtZW50LCAnei1pbmRleCcsICcyJyk7XHJcblx0XHRcdHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZ3JpZENlbGxFbGVtZW50LCAnZGlzcGxheScsICdmbGV4Jyk7XHJcblx0XHRcdHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZ3JpZENlbGxFbGVtZW50LCAnYWxpZ24taXRlbXMnLCAnY2VudGVyJyk7XHJcblx0XHRcdHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZ3JpZENlbGxFbGVtZW50LCAnYmFja2dyb3VuZCcsICd3aGl0ZScpO1xyXG5cdFx0XHRpZiAodGhpcy5wYXJhbXMubm9kZS5yb3dJbmRleCArIHRoaXMucm93U3BhbiAhPT0gdGhpcy5wYXJhbXMuYXBpLmdldERpc3BsYXllZFJvd0NvdW50KCkpIHtcclxuXHRcdFx0XHR0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxyXG5cdFx0XHRcdFx0Z3JpZENlbGxFbGVtZW50LFxyXG5cdFx0XHRcdFx0J2JvcmRlci1ib3R0b20nLFxyXG5cdFx0XHRcdFx0JzFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdHJhbnNwYXJlbnQsIHZhcigtLWFnLWZvcmVncm91bmQtY29sb3IpIDE1JSknLFxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdF9kZWJvdW5jZShcclxuICAgIGZ1bmM6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCxcclxuICAgIGRlbGF5OiBudW1iZXJcclxuXHQpOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQge1xyXG4gICAgbGV0IHRpbWVvdXQ6IGFueTtcclxuICAgIC8vIENhbGxpbmcgZGVib3VuY2UgcmV0dXJucyBhIG5ldyBhbm9ueW1vdXMgZnVuY3Rpb25cclxuICAgIHJldHVybiBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcclxuICAgICAgICAvL0B0cy1leHBlY3QtZXJyb3Igbm8gaW1wbGljaXQgdGhpc1xyXG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzIGFzIGFueTtcclxuICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xyXG5cclxuICAgICAgICAvLyBTZXQgdGhlIG5ldyB0aW1lb3V0XHJcbiAgICAgICAgdGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgLy8gYXQgdGhlIG1vbWVudCB3ZSBqdXN0IGNoZWNrIGlmIHRoZSBiZWFuIGlzIHN0aWxsIGFsaXZlLCBpbiB0aGUgZnV0dXJlIHRoZSBiZWFuIHN0dWIgc2hvdWxkXHJcbiAgICAgICAgICAgIC8vIGFub3RoZXIgb3B0aW9uIGlzIHRvIG1hbmFnZSBhIGxpc3Qgb2YgYWN0aXZlIHRpbWVycyBhbmQgY2xlYXIgdGhlbSB3aGVuIHRoZSBiZWFuIGlzIGRlc3Ryb3llZC5cclxuICAgICAgICAgICAgICAgIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XHJcbiAgICAgICAgfSwgZGVsYXkpO1xyXG4gICAgfTtcclxuXHR9XHJcbn0iXX0=