@1money/component-ui 0.0.93-alpha.1 → 0.0.93-alpha.3

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.
@@ -5,6 +5,7 @@ import { FORM_LAYOUT_CONFIG, FormLayout } from '../../../components/FormLayout';
5
5
  import { Typography } from '../../../components/Typography';
6
6
  import { default as classnames, joinCls } from '../../../utils/classnames';
7
7
  import { BaseProForm, FormField } from '../../shared/formCore/BaseProForm';
8
+ import { useFormDomId } from '../../shared/formCore/useFormDomId';
8
9
  import { useRelayedFormRef } from '../../shared/formCore/useRelayedFormRef';
9
10
  import { useSubmitAction } from '../../shared/formCore/useSubmitAction';
10
11
  import './style';
@@ -43,6 +44,7 @@ var FormDialogInner = function FormDialogInner(_ref) {
43
44
  var _useSubmitAction = useSubmitAction(onSubmit, onClose),
44
45
  submitting = _useSubmitAction.submitting,
45
46
  handleFinish = _useSubmitAction.handleFinish;
47
+ var formId = useFormDomId(formProps === null || formProps === void 0 ? void 0 : formProps.id);
46
48
  var resolvedSecondary = secondary === false ? undefined : secondary !== null && secondary !== void 0 ? secondary : onClose ? {
47
49
  onClick: onClose
48
50
  } : undefined;
@@ -91,21 +93,24 @@ var FormDialogInner = function FormDialogInner(_ref) {
91
93
  primary: submitSlot ? undefined : {
92
94
  label: submitText,
93
95
  loading: submitting,
94
- onClick: function onClick() {
95
- var _a;
96
- return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.submitForm();
97
- }
96
+ // A REAL submit button associated with the form: it becomes the
97
+ // form's default button, so Enter activates it (and its disabled
98
+ // state) instead of submitting the form directly.
99
+ type: 'submit',
100
+ form: formId
98
101
  },
99
102
  primarySlot: submitSlot === null || submitSlot === void 0 ? void 0 : submitSlot({
100
103
  submit: function submit() {
101
104
  var _a;
102
105
  return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.submitForm();
103
106
  },
104
- submitting: submitting
107
+ submitting: submitting,
108
+ formId: formId
105
109
  }),
106
110
  footnote: footnote
107
111
  }),
108
112
  children: _jsx(BaseProForm, Object.assign({}, formProps, {
113
+ id: formId,
109
114
  variant: 'modal',
110
115
  formRef: innerRef,
111
116
  initialValues: initialValues,
@@ -118,4 +123,4 @@ var FormDialogInner = function FormDialogInner(_ref) {
118
123
  export var FormDialog = Object.assign(FormDialogInner, {
119
124
  Field: FormField
120
125
  });
121
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9Gb3JtRGlhbG9nL0Zvcm1EaWFsb2cuanMiLCJidXNpbmVzcy9EaWFsb2cvc3JjL2J1c2luZXNzL0RpYWxvZy9Gb3JtRGlhbG9nL0Zvcm1EaWFsb2cudHN4Il0sIm5hbWVzIjpbImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJBY3Rpb25CYXIiLCJEaWFsb2ciLCJGT1JNX0xBWU9VVF9DT05GSUciLCJGb3JtTGF5b3V0IiwiVHlwb2dyYXBoeSIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsIkJhc2VQcm9Gb3JtIiwiRm9ybUZpZWxkIiwidXNlUmVsYXllZEZvcm1SZWYiLCJ1c2VTdWJtaXRBY3Rpb24iLCJGb3JtRGlhbG9nSW5uZXIiLCJfcmVmIiwib3BlbiIsIm1hc2tDbG9zYWJsZSIsImNsYXNzTmFtZSIsInJvb3RDbGFzc05hbWUiLCJ0aXRsZSIsImV4dHJhIiwiZGVzY3JpcHRpb24iLCJ3aWR0aCIsImNoaWxkcmVuIiwiaW5pdGlhbFZhbHVlcyIsIm9uU3VibWl0Iiwic3VibWl0VGV4dCIsInN1Ym1pdFNsb3QiLCJzZWNvbmRhcnkiLCJmb290bm90ZSIsIm9uQ2xvc2UiLCJmb3JtUmVmIiwiZm9ybVByb3BzIiwiX3JlZiRzaG93Q2xvc2VJY29uIiwic2hvd0Nsb3NlSWNvbiIsImlubmVyUmVmIiwiX3VzZVN1Ym1pdEFjdGlvbiIsInN1Ym1pdHRpbmciLCJoYW5kbGVGaW5pc2giLCJyZXNvbHZlZFNlY29uZGFyeSIsInVuZGVmaW5lZCIsIm9uQ2xpY2siLCJjbGFzc2VzIiwicmVzb2x2ZWRUaXRsZSIsIkhlYWRsaW5lIiwic2l6ZSIsImFzIiwiY29sb3IiLCJCb2R5Iiwic3Ryb25nIiwicGFuZWxXaWR0aCIsIm1vZGFsIiwiYmFyZSIsIm9uQ2FuY2VsIiwidmFyaWFudCIsImZvb3RlciIsImxheW91dCIsInByaW1hcnkiLCJsYWJlbCIsImxvYWRpbmciLCJfYSIsImN1cnJlbnQiLCJzdWJtaXRGb3JtIiwicHJpbWFyeVNsb3QiLCJzdWJtaXQiLCJPYmplY3QiLCJhc3NpZ24iLCJvbkZpbmlzaCIsIkZvcm1EaWFsb2ciLCJGaWVsZCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLEVBQUVDLElBQUksSUFBSUMsS0FBSyxRQUFRLG1CQUFtQjtBQ0E5RCxTQUFTQyxTQUFTLFFBQVEsK0JBQStCO0FBQ3pELFNBQVNDLE1BQU0sUUFBUSw0QkFBNEI7QUFDbkQsU0FBU0Msa0JBQWtCLEVBQUVDLFVBQVUsUUFBUSxnQ0FBZ0M7QUFDL0UsU0FBU0MsVUFBVSxRQUFRLGdDQUFnQztBQUMzRCxTQUFTQyxPQUFPLElBQUlDLFVBQVUsRUFBRUMsT0FBTyxRQUFRLDJCQUEyQjtBQUMxRSxTQUFTQyxXQUFXLEVBQUVDLFNBQVMsUUFBUSxtQ0FBbUM7QUFDMUUsU0FBU0MsaUJBQWlCLFFBQVEseUNBQXlDO0FBQzNFLFNBQVNDLGVBQWUsUUFBUSx1Q0FBdUM7QUFFdkUsT0FBTyxTQUFTO0FBRWhCO0FEQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDRUEsSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFBQyxJQUFBLEVBb0JTO0VBQUEsSUFuQjVCQyxJQUFJLEdBQUFELElBQUEsQ0FBSkMsSUFBSTtJQUNKQyxZQUFZLEdBQUFGLElBQUEsQ0FBWkUsWUFBWTtJQUNaQyxTQUFTLEdBQUFILElBQUEsQ0FBVEcsU0FBUztJQUNUQyxhQUFhLEdBQUFKLElBQUEsQ0FBYkksYUFBYTtJQUNiQyxLQUFLLEdBQUFMLElBQUEsQ0FBTEssS0FBSztJQUNMQyxLQUFLLEdBQUFOLElBQUEsQ0FBTE0sS0FBSztJQUNMQyxXQUFXLEdBQUFQLElBQUEsQ0FBWE8sV0FBVztJQUNYQyxLQUFLLEdBQUFSLElBQUEsQ0FBTFEsS0FBSztJQUNMQyxRQUFRLEdBQUFULElBQUEsQ0FBUlMsUUFBUTtJQUNSQyxhQUFhLEdBQUFWLElBQUEsQ0FBYlUsYUFBYTtJQUNiQyxRQUFRLEdBQUFYLElBQUEsQ0FBUlcsUUFBUTtJQUNSQyxVQUFVLEdBQUFaLElBQUEsQ0FBVlksVUFBVTtJQUNWQyxVQUFVLEdBQUFiLElBQUEsQ0FBVmEsVUFBVTtJQUNWQyxTQUFTLEdBQUFkLElBQUEsQ0FBVGMsU0FBUztJQUNUQyxRQUFRLEdBQUFmLElBQUEsQ0FBUmUsUUFBUTtJQUNSQyxPQUFPLEdBQUFoQixJQUFBLENBQVBnQixPQUFPO0lBQ1BDLE9BQU8sR0FBQWpCLElBQUEsQ0FBUGlCLE9BQU87SUFDUEMsU0FBUyxHQUFBbEIsSUFBQSxDQUFUa0IsU0FBUztJQUFBQyxrQkFBQSxHQUFBbkIsSUFBQSxDQUNUb0IsYUFBYTtJQUFiQSxhQUFhLEdBQUFELGtCQUFBLGNBQUcsSUFBSSxHQUFBQSxrQkFBQTtFQUVwQixJQUFNRSxRQUFRLEdBQUd4QixpQkFBaUIsQ0FBU29CLE9BQU8sQ0FBQztFQUNuRCxJQUFBSyxnQkFBQSxHQUFxQ3hCLGVBQWUsQ0FBU2EsUUFBUSxFQUFFSyxPQUFPLENBQUM7SUFBdkVPLFVBQVUsR0FBQUQsZ0JBQUEsQ0FBVkMsVUFBVTtJQUFFQyxZQUFZLEdBQUFGLGdCQUFBLENBQVpFLFlBQVk7RUFFaEMsSUFBTUMsaUJBQWlCLEdBQ3JCWCxTQUFTLEtBQUssS0FBSyxHQUFHWSxTQUFTLEdBQUlaLFNBQVMsS0FBQSxJQUFBLElBQVRBLFNBQVMsS0FBQSxLQUFBLENBQUEsR0FBVEEsU0FBUyxHQUFLRSxPQUFPLEdBQUc7SUFBRVcsT0FBTyxFQUFFWDtFQUFPLENBQUUsR0FBR1UsU0FBVztFQUUvRixJQUFNRSxPQUFPLEdBQUduQyxVQUFVLENBQUMsYUFBYSxDQUFDO0VBRXpDO0VBQ0E7RUFDQTtFQUNBLElBQU1vQyxhQUFhLEdBQUd0QixXQUFXLEdBQy9CckIsS0FBQSxDQUFBLEtBQUEsRUFBQTtJQUFLaUIsU0FBUyxFQUFFeUIsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUFBbkIsUUFBQSxFQUFBLENBQ25DLE9BQU9KLEtBQUssS0FBSyxRQUFRLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsR0FDckRyQixJQUFBLENBQUNPLFVBQVUsQ0FBQ3VDLFFBQVEsRUFBQTtNQUFDQyxJQUFJLEVBQUMsSUFBSTtNQUFDQyxFQUFFLEVBQUMsSUFBSTtNQUFDQyxLQUFLLEVBQUMsU0FBUztNQUFBeEIsUUFBQSxFQUNuREo7SUFBSyxDQUFBLENBQ2MsR0FFdEJBLEtBQ0QsRUFDRHJCLElBQUEsQ0FBQ08sVUFBVSxDQUFDMkMsSUFBSSxFQUFBO01BQUNGLEVBQUUsRUFBQyxHQUFHO01BQUNELElBQUksRUFBQyxJQUFJO01BQUNJLE1BQU0sRUFBQSxJQUFBO01BQUNGLEtBQUssRUFBQyxtQkFBbUI7TUFBQXhCLFFBQUEsRUFDL0RGO0lBQVcsQ0FBQSxDQUNJO0VBQUEsQ0FBQSxDQUNkLEdBQ0pGLEtBQUs7RUFFVDtFQUNBO0VBQ0E7RUFDQSxJQUFNK0IsVUFBVSxHQUFHNUIsS0FBSyxLQUFBLElBQUEsSUFBTEEsS0FBSyxLQUFBLEtBQUEsQ0FBQSxHQUFMQSxLQUFLLEdBQUluQixrQkFBa0IsQ0FBQ2dELEtBQUssQ0FBQzdCLEtBQUs7RUFFMUQsT0FDRXhCLElBQUEsQ0FBQ0ksTUFBTSxFQUFBO0lBQ0xrRCxJQUFJLEVBQUEsSUFBQTtJQUNKckMsSUFBSSxFQUFFQSxJQUFJO0lBQ1ZPLEtBQUssRUFBRTRCLFVBQVU7SUFDakJsQyxZQUFZLEVBQUVBLFlBQVk7SUFDMUJrQixhQUFhLEVBQUVBLGFBQWE7SUFDNUJqQixTQUFTLEVBQUVBLFNBQVM7SUFDcEJDLGFBQWEsRUFBRUEsYUFBYTtJQUM1Qm1DLFFBQVEsRUFBRXZCLE9BQU87SUFBQSxZQUFBLEVBR0wsT0FBT1gsS0FBSyxLQUFLLFFBQVEsR0FBR0EsS0FBSyxHQUFHcUIsU0FBUztJQUFBakIsUUFBQSxFQUV6RHpCLElBQUEsQ0FBQ00sVUFBVSxFQUFBO01BQ1RrRCxPQUFPLEVBQUMsT0FBTztNQUNmaEMsS0FBSyxFQUFDLE1BQU07TUFDWkwsU0FBUyxFQUFFVCxPQUFPLENBQUNrQyxPQUFPLENBQUEsQ0FBRSxDQUFDO01BQzdCdkIsS0FBSyxFQUFFd0IsYUFBYTtNQUNwQnZCLEtBQUssRUFBRUEsS0FBSztNQUNabUMsTUFBTSxFQUNKekQsSUFBQSxDQUFDRyxTQUFTLEVBQUE7UUFDUnVELE1BQU0sRUFBQyxTQUFTO1FBQ2hCNUIsU0FBUyxFQUFFVyxpQkFBaUI7UUFDNUJrQixPQUFPLEVBQUU5QixVQUFVLEdBQUdhLFNBQVMsR0FBRztVQUNoQ2tCLEtBQUssRUFBRWhDLFVBQVU7VUFDakJpQyxPQUFPLEVBQUV0QixVQUFVO1VBQ25CSSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFPO1lBQUEsSUFBQW1CLEVBQUE7WUFBQyxPQUFBLENBQUFBLEVBQUEsR0FBQXpCLFFBQVEsQ0FBQzBCLE9BQU8sTUFBQSxJQUFBLElBQUFELEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRSxVQUFVLENBQUEsQ0FBRTtVQUFBO1FEL0QzQyxDQ2dFSDtRQUNEQyxXQUFXLEVBQUVwQyxVQUFVLEtBQUEsSUFBQSxJQUFWQSxVQUFVLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVZBLFVBQVUsQ0FBRztVQUN4QnFDLE1BQU0sRUFBRSxTQUFSQSxNQUFNQSxDQUFBLEVBQU87WUFBQSxJQUFBSixFQUFBO1lBQUMsT0FBQSxDQUFBQSxFQUFBLEdBQUF6QixRQUFRLENBQUMwQixPQUFPLE1BQUEsSUFBQSxJQUFBRCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRUUsVUFBVSxDQUFBLENBQUU7VUFBQSxDQUFBO1VBQzVDekIsVUFBVSxFQUFWQTtRRGhFRSxDQ2lFSCxDQUFDO1FBQ0ZSLFFBQVEsRUFBRUE7TUFBUSxDQUFBLENBQ2xCO01BQUFOLFFBQUEsRUFHSnpCLElBQUEsQ0FBQ1csV0FBVyxFQUFBd0QsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ05sQyxTQUFTLEVBQUE7UUFDYnNCLE9BQU8sRUFBQyxPQUFPO1FBQ2Z2QixPQUFPLEVBQUVJLFFBQVE7UUFDakJYLGFBQWEsRUFBRUEsYUFBYTtRQUM1QjJDLFFBQVEsRUFBRTdCLFlBQVk7UUFBQWYsUUFBQSxFQUVyQkE7TUFBUSxDQUFBLENBQUE7SUFDRyxDQUFBO0VBQ0gsQ0FBQSxDQUNOO0FBRWIsQ0FBQztBQUVELE9BQU8sSUFBTTZDLFVBQVUsR0FBR0gsTUFBTSxDQUFDQyxNQUFNLENBQUNyRCxlQUFlLEVBQUU7RUFBRXdELEtBQUssRUFBRTNEO0FBQVMsQ0FBRSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0RpYWxvZy9Gb3JtRGlhbG9nL0Zvcm1EaWFsb2cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgQWN0aW9uQmFyIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9BY3Rpb25CYXInO1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9EaWFsb2cnO1xuaW1wb3J0IHsgRk9STV9MQVlPVVRfQ09ORklHLCBGb3JtTGF5b3V0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9Gb3JtTGF5b3V0JztcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBCYXNlUHJvRm9ybSwgRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm1Db3JlL0Jhc2VQcm9Gb3JtJztcbmltcG9ydCB7IHVzZVJlbGF5ZWRGb3JtUmVmIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm1Db3JlL3VzZVJlbGF5ZWRGb3JtUmVmJztcbmltcG9ydCB7IHVzZVN1Ym1pdEFjdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZC9mb3JtQ29yZS91c2VTdWJtaXRBY3Rpb24nO1xuaW1wb3J0ICcuL3N0eWxlJztcbi8qKlxuICogRm9ybSBkaWFsb2cgc2NlbmFyaW8gc2hlbGwg4oCUIHRoZSBmdWxsIGFzc2VtYmx5OlxuICpcbiAqICAgRGlhbG9nKGJhcmUpICAgICAgICAgICAgb3ZlcmxheSBtYWNoaW5lcnkgb25seSAobWFzaywgRXNjLCBjbG9zZSwgbWF4LWhlaWdodClcbiAqICAg4pSU4pSAIEZvcm1MYXlvdXQobW9kYWwpICAgIHBhbmVsIGNocm9tZSArIGRlbnNpdHkgY29uZmlnICsgcGlubmVkIGhlYWRlci9mb290ZXJcbiAqICAgICAg4pSc4pSAIEJhc2VQcm9Gb3JtICAgICAgIHNpbmdsZSBQcm9Gb3JtIGNvbmZpZyBwb2ludCAoc3BhY2luZyBmcm9tIHRoZSBzYW1lIHRhYmxlKVxuICogICAgICDilJTilIAgQWN0aW9uQmFyKGNvbXBhY3QpIGZvb3RlciBlbmdpbmU7IHN1Ym1pdCBkcml2ZXMgYHN1Ym1pdEZvcm0oKWBcbiAqXG4gKiBCdXNpbmVzcyBjb2RlIHN1cHBsaWVzIGNvcHksIGZpZWxkcywgYW5kIGNhbGxiYWNrcyDigJQgbm90aGluZyBlbHNlLlxuICovXG5jb25zdCBGb3JtRGlhbG9nSW5uZXIgPSAoeyBvcGVuLCBtYXNrQ2xvc2FibGUsIGNsYXNzTmFtZSwgcm9vdENsYXNzTmFtZSwgdGl0bGUsIGV4dHJhLCBkZXNjcmlwdGlvbiwgd2lkdGgsIGNoaWxkcmVuLCBpbml0aWFsVmFsdWVzLCBvblN1Ym1pdCwgc3VibWl0VGV4dCwgc3VibWl0U2xvdCwgc2Vjb25kYXJ5LCBmb290bm90ZSwgb25DbG9zZSwgZm9ybVJlZiwgZm9ybVByb3BzLCBzaG93Q2xvc2VJY29uID0gdHJ1ZSwgfSkgPT4ge1xuICAgIGNvbnN0IGlubmVyUmVmID0gdXNlUmVsYXllZEZvcm1SZWYoZm9ybVJlZik7XG4gICAgY29uc3QgeyBzdWJtaXR0aW5nLCBoYW5kbGVGaW5pc2ggfSA9IHVzZVN1Ym1pdEFjdGlvbihvblN1Ym1pdCwgb25DbG9zZSk7XG4gICAgY29uc3QgcmVzb2x2ZWRTZWNvbmRhcnkgPSBzZWNvbmRhcnkgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogKHNlY29uZGFyeSAhPT0gbnVsbCAmJiBzZWNvbmRhcnkgIT09IHZvaWQgMCA/IHNlY29uZGFyeSA6IChvbkNsb3NlID8geyBvbkNsaWNrOiBvbkNsb3NlIH0gOiB1bmRlZmluZWQpKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcygnZm9ybS1kaWFsb2cnKTtcbiAgICAvLyBGYW1pbHkgc3BlYzogdGl0bGUg4oaUIGRlc2NyaXB0aW9uID0gOC4gVGhlIGRlc2NyaXB0aW9uIGlzIGhlYWRlciBjb3B5LCBzb1xuICAgIC8vIGl0IGxpdmVzIElOU0lERSB0aGUgaGVhZGVyIHJlZ2lvbiAocGlubmVkLCBuZXZlciBzY3JvbGwtY2xpcHBlZCkgaW5zdGVhZFxuICAgIC8vIG9mIGxlYWRpbmcgdGhlIGZpZWxkcyByZWdpb24sIHdoZXJlIHRoZSByZWdpb24gZ2FwIHdvdWxkIGxlYXZlIDE2LlxuICAgIGNvbnN0IHJlc29sdmVkVGl0bGUgPSBkZXNjcmlwdGlvbiA/IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaGVhZGVyLWNvcHknKSwgY2hpbGRyZW46IFt0eXBlb2YgdGl0bGUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB0aXRsZSA9PT0gJ251bWJlcicgPyAoX2pzeChUeXBvZ3JhcGh5LkhlYWRsaW5lLCB7IHNpemU6ICdzbScsIGFzOiAnaDInLCBjb2xvcjogJ2RlZmF1bHQnLCBjaGlsZHJlbjogdGl0bGUgfSkpIDogKHRpdGxlKSwgX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgYXM6ICdwJywgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtc2Vjb25kYXJ5JywgY2hpbGRyZW46IGRlc2NyaXB0aW9uIH0pXSB9KSkgOiB0aXRsZTtcbiAgICAvLyBUaGUgUEFORUwgY2FycmllcyB0aGUgd2lkdGggKGV4cGxpY2l0IHByb3Agb3IgdGhlIG1vZGFsIGNvbmZpZyBkZWZhdWx0KTtcbiAgICAvLyB0aGUgRm9ybUxheW91dCBmaWxscyBpdC4gU2l6aW5nIHRoZSBiYXJlIHBhbmVsIGJ5IGl0cyBjaGlsZCB3b3VsZCBoaXRcbiAgICAvLyB0aGUgc2hyaW5rLXRvLWZpdCBwZXJjZW50YWdlIGNpcmN1bGFyaXR5IGluc3RlYWQuXG4gICAgY29uc3QgcGFuZWxXaWR0aCA9IHdpZHRoICE9PSBudWxsICYmIHdpZHRoICE9PSB2b2lkIDAgPyB3aWR0aCA6IEZPUk1fTEFZT1VUX0NPTkZJRy5tb2RhbC53aWR0aDtcbiAgICByZXR1cm4gKF9qc3goRGlhbG9nLCB7IGJhcmU6IHRydWUsIG9wZW46IG9wZW4sIHdpZHRoOiBwYW5lbFdpZHRoLCBtYXNrQ2xvc2FibGU6IG1hc2tDbG9zYWJsZSwgc2hvd0Nsb3NlSWNvbjogc2hvd0Nsb3NlSWNvbiwgY2xhc3NOYW1lOiBjbGFzc05hbWUsIHJvb3RDbGFzc05hbWU6IHJvb3RDbGFzc05hbWUsIG9uQ2FuY2VsOiBvbkNsb3NlLCBcImFyaWEtbGFiZWxcIjogdHlwZW9mIHRpdGxlID09PSAnc3RyaW5nJyA/IHRpdGxlIDogdW5kZWZpbmVkLCBjaGlsZHJlbjogX2pzeChGb3JtTGF5b3V0LCB7IHZhcmlhbnQ6ICdtb2RhbCcsIHdpZHRoOiAnMTAwJScsIGNsYXNzTmFtZTogam9pbkNscyhjbGFzc2VzKCkpLCB0aXRsZTogcmVzb2x2ZWRUaXRsZSwgZXh0cmE6IGV4dHJhLCBmb290ZXI6IF9qc3goQWN0aW9uQmFyLCB7IGxheW91dDogJ2NvbXBhY3QnLCBzZWNvbmRhcnk6IHJlc29sdmVkU2Vjb25kYXJ5LCBwcmltYXJ5OiBzdWJtaXRTbG90ID8gdW5kZWZpbmVkIDoge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogc3VibWl0VGV4dCxcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZzogc3VibWl0dGluZyxcbiAgICAgICAgICAgICAgICAgICAgb25DbGljazogKCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBpbm5lclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc3VibWl0Rm9ybSgpOyB9LFxuICAgICAgICAgICAgICAgIH0sIHByaW1hcnlTbG90OiBzdWJtaXRTbG90ID09PSBudWxsIHx8IHN1Ym1pdFNsb3QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHN1Ym1pdFNsb3Qoe1xuICAgICAgICAgICAgICAgICAgICBzdWJtaXQ6ICgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gaW5uZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnN1Ym1pdEZvcm0oKTsgfSxcbiAgICAgICAgICAgICAgICAgICAgc3VibWl0dGluZyxcbiAgICAgICAgICAgICAgICB9KSwgZm9vdG5vdGU6IGZvb3Rub3RlIH0pLCBjaGlsZHJlbjogX2pzeChCYXNlUHJvRm9ybSwgT2JqZWN0LmFzc2lnbih7fSwgZm9ybVByb3BzLCB7IHZhcmlhbnQ6ICdtb2RhbCcsIGZvcm1SZWY6IGlubmVyUmVmLCBpbml0aWFsVmFsdWVzOiBpbml0aWFsVmFsdWVzLCBvbkZpbmlzaDogaGFuZGxlRmluaXNoLCBjaGlsZHJlbjogY2hpbGRyZW4gfSkpIH0pIH0pKTtcbn07XG5leHBvcnQgY29uc3QgRm9ybURpYWxvZyA9IE9iamVjdC5hc3NpZ24oRm9ybURpYWxvZ0lubmVyLCB7IEZpZWxkOiBGb3JtRmllbGQgfSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
126
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9Gb3JtRGlhbG9nL0Zvcm1EaWFsb2cuanMiLCJidXNpbmVzcy9EaWFsb2cvc3JjL2J1c2luZXNzL0RpYWxvZy9Gb3JtRGlhbG9nL0Zvcm1EaWFsb2cudHN4Il0sIm5hbWVzIjpbImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJBY3Rpb25CYXIiLCJEaWFsb2ciLCJGT1JNX0xBWU9VVF9DT05GSUciLCJGb3JtTGF5b3V0IiwiVHlwb2dyYXBoeSIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsIkJhc2VQcm9Gb3JtIiwiRm9ybUZpZWxkIiwidXNlRm9ybURvbUlkIiwidXNlUmVsYXllZEZvcm1SZWYiLCJ1c2VTdWJtaXRBY3Rpb24iLCJGb3JtRGlhbG9nSW5uZXIiLCJfcmVmIiwib3BlbiIsIm1hc2tDbG9zYWJsZSIsImNsYXNzTmFtZSIsInJvb3RDbGFzc05hbWUiLCJ0aXRsZSIsImV4dHJhIiwiZGVzY3JpcHRpb24iLCJ3aWR0aCIsImNoaWxkcmVuIiwiaW5pdGlhbFZhbHVlcyIsIm9uU3VibWl0Iiwic3VibWl0VGV4dCIsInN1Ym1pdFNsb3QiLCJzZWNvbmRhcnkiLCJmb290bm90ZSIsIm9uQ2xvc2UiLCJmb3JtUmVmIiwiZm9ybVByb3BzIiwiX3JlZiRzaG93Q2xvc2VJY29uIiwic2hvd0Nsb3NlSWNvbiIsImlubmVyUmVmIiwiX3VzZVN1Ym1pdEFjdGlvbiIsInN1Ym1pdHRpbmciLCJoYW5kbGVGaW5pc2giLCJmb3JtSWQiLCJpZCIsInJlc29sdmVkU2Vjb25kYXJ5IiwidW5kZWZpbmVkIiwib25DbGljayIsImNsYXNzZXMiLCJyZXNvbHZlZFRpdGxlIiwiSGVhZGxpbmUiLCJzaXplIiwiYXMiLCJjb2xvciIsIkJvZHkiLCJzdHJvbmciLCJwYW5lbFdpZHRoIiwibW9kYWwiLCJiYXJlIiwib25DYW5jZWwiLCJ2YXJpYW50IiwiZm9vdGVyIiwibGF5b3V0IiwicHJpbWFyeSIsImxhYmVsIiwibG9hZGluZyIsInR5cGUiLCJmb3JtIiwicHJpbWFyeVNsb3QiLCJzdWJtaXQiLCJfYSIsImN1cnJlbnQiLCJzdWJtaXRGb3JtIiwiT2JqZWN0IiwiYXNzaWduIiwib25GaW5pc2giLCJGb3JtRGlhbG9nIiwiRmllbGQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxFQUFFQyxJQUFJLElBQUlDLEtBQUssUUFBUSxtQkFBbUI7QUNBOUQsU0FBU0MsU0FBUyxRQUFRLCtCQUErQjtBQUN6RCxTQUFTQyxNQUFNLFFBQVEsNEJBQTRCO0FBQ25ELFNBQVNDLGtCQUFrQixFQUFFQyxVQUFVLFFBQVEsZ0NBQWdDO0FBQy9FLFNBQVNDLFVBQVUsUUFBUSxnQ0FBZ0M7QUFDM0QsU0FBU0MsT0FBTyxJQUFJQyxVQUFVLEVBQUVDLE9BQU8sUUFBUSwyQkFBMkI7QUFDMUUsU0FBU0MsV0FBVyxFQUFFQyxTQUFTLFFBQVEsbUNBQW1DO0FBQzFFLFNBQVNDLFlBQVksUUFBUSxvQ0FBb0M7QUFDakUsU0FBU0MsaUJBQWlCLFFBQVEseUNBQXlDO0FBQzNFLFNBQVNDLGVBQWUsUUFBUSx1Q0FBdUM7QUFFdkUsT0FBTyxTQUFTO0FBRWhCO0FEQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDRUEsSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFBQyxJQUFBLEVBb0JTO0VBQUEsSUFuQjVCQyxJQUFJLEdBQUFELElBQUEsQ0FBSkMsSUFBSTtJQUNKQyxZQUFZLEdBQUFGLElBQUEsQ0FBWkUsWUFBWTtJQUNaQyxTQUFTLEdBQUFILElBQUEsQ0FBVEcsU0FBUztJQUNUQyxhQUFhLEdBQUFKLElBQUEsQ0FBYkksYUFBYTtJQUNiQyxLQUFLLEdBQUFMLElBQUEsQ0FBTEssS0FBSztJQUNMQyxLQUFLLEdBQUFOLElBQUEsQ0FBTE0sS0FBSztJQUNMQyxXQUFXLEdBQUFQLElBQUEsQ0FBWE8sV0FBVztJQUNYQyxLQUFLLEdBQUFSLElBQUEsQ0FBTFEsS0FBSztJQUNMQyxRQUFRLEdB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QSxDQUFBLENBQUEsRUFDTnRDLFNBQVMsRUFBQTtRQUNiUSxFQUFFLEVBQUVELE1BQU07UUFDVmlCLE9BQU8sRUFBQyxPQUFPO1FBQ2Z6QixPQUFPLEVBQUVJLFFBQVE7UUFDakJYLGFBQWEsRUFBRUEsYUFBYTtRQUM1QitDLFFBQVEsRUFBRWpDLFlBQVk7UUFBQWYsUUFBQSxFQUVyQkE7TUFBUSxDQUFBLENBQUE7SUFDRyxDQUFBO0VBQ0gsQ0FBQSxDQUNOO0FBRWIsQ0FBQztBQUVELE9BQU8sSUFBTWlELFVBQVUsR0FBR0gsTUFBTSxDQUFDQyxNQUFNLENBQUN6RCxlQUFlLEVBQUU7RUFBRTRELEtBQUssRUFBRWhFO0FBQVMsQ0FBRSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0RpYWxvZy9Gb3JtRGlhbG9nL0Zvcm1EaWFsb2cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgQWN0aW9uQmFyIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9BY3Rpb25CYXInO1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9EaWFsb2cnO1xuaW1wb3J0IHsgRk9STV9MQVlPVVRfQ09ORklHLCBGb3JtTGF5b3V0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9Gb3JtTGF5b3V0JztcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBCYXNlUHJvRm9ybSwgRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm1Db3JlL0Jhc2VQcm9Gb3JtJztcbmltcG9ydCB7IHVzZUZvcm1Eb21JZCB9IGZyb20gJy4uLy4uL3NoYXJlZC9mb3JtQ29yZS91c2VGb3JtRG9tSWQnO1xuaW1wb3J0IHsgdXNlUmVsYXllZEZvcm1SZWYgfSBmcm9tICcuLi8uLi9zaGFyZWQvZm9ybUNvcmUvdXNlUmVsYXllZEZvcm1SZWYnO1xuaW1wb3J0IHsgdXNlU3VibWl0QWN0aW9uIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm1Db3JlL3VzZVN1Ym1pdEFjdGlvbic7XG5pbXBvcnQgJy4vc3R5bGUnO1xuLyoqXG4gKiBGb3JtIGRpYWxvZyBzY2VuYXJpbyBzaGVsbCDigJQgdGhlIGZ1bGwgYXNzZW1ibHk6XG4gKlxuICogICBEaWFsb2coYmFyZSkgICAgICAgICAgICBvdmVybGF5IG1hY2hpbmVyeSBvbmx5IChtYXNrLCBFc2MsIGNsb3NlLCBtYXgtaGVpZ2h0KVxuICogICDilJTilIAgRm9ybUxheW91dChtb2RhbCkgICAgcGFuZWwgY2hyb21lICsgZGVuc2l0eSBjb25maWcgKyBwaW5uZWQgaGVhZGVyL2Zvb3RlclxuICogICAgICDilJzilIAgQmFzZVByb0Zvcm0gICAgICAgc2luZ2xlIFByb0Zvcm0gY29uZmlnIHBvaW50IChzcGFjaW5nIGZyb20gdGhlIHNhbWUgdGFibGUpXG4gKiAgICAgIOKUlOKUgCBBY3Rpb25CYXIoY29tcGFjdCkgZm9vdGVyIGVuZ2luZTsgc3VibWl0IGRyaXZlcyBgc3VibWl0Rm9ybSgpYFxuICpcbiAqIEJ1c2luZXNzIGNvZGUgc3VwcGxpZXMgY29weSwgZmllbGRzLCBhbmQgY2FsbGJhY2tzIOKAlCBub3RoaW5nIGVsc2UuXG4gKi9cbmNvbnN0IEZvcm1EaWFsb2dJbm5lciA9ICh7IG9wZW4sIG1hc2tDbG9zYWJsZSwgY2xhc3NOYW1lLCByb290Q2xhc3NOYW1lLCB0aXRsZSwgZXh0cmEsIGRlc2NyaXB0aW9uLCB3aWR0aCwgY2hpbGRyZW4sIGluaXRpYWxWYWx1ZXMsIG9uU3VibWl0LCBzdWJtaXRUZXh0LCBzdWJtaXRTbG90LCBzZWNvbmRhcnksIGZvb3Rub3RlLCBvbkNsb3NlLCBmb3JtUmVmLCBmb3JtUHJvcHMsIHNob3dDbG9zZUljb24gPSB0cnVlLCB9KSA9PiB7XG4gICAgY29uc3QgaW5uZXJSZWYgPSB1c2VSZWxheWVkRm9ybVJlZihmb3JtUmVmKTtcbiAgICBjb25zdCB7IHN1Ym1pdHRpbmcsIGhhbmRsZUZpbmlzaCB9ID0gdXNlU3VibWl0QWN0aW9uKG9uU3VibWl0LCBvbkNsb3NlKTtcbiAgICBjb25zdCBmb3JtSWQgPSB1c2VGb3JtRG9tSWQoZm9ybVByb3BzID09PSBudWxsIHx8IGZvcm1Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZm9ybVByb3BzLmlkKTtcbiAgICBjb25zdCByZXNvbHZlZFNlY29uZGFyeSA9IHNlY29uZGFyeSA9PT0gZmFsc2UgPyB1bmRlZmluZWQgOiAoc2Vjb25kYXJ5ICE9PSBudWxsICYmIHNlY29uZGFyeSAhPT0gdm9pZCAwID8gc2Vjb25kYXJ5IDogKG9uQ2xvc2UgPyB7IG9uQ2xpY2s6IG9uQ2xvc2UgfSA6IHVuZGVmaW5lZCkpO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKCdmb3JtLWRpYWxvZycpO1xuICAgIC8vIEZhbWlseSBzcGVjOiB0aXRsZSDihpQgZGVzY3JpcHRpb24gPSA4LiBUaGUgZGVzY3JpcHRpb24gaXMgaGVhZGVyIGNvcHksIHNvXG4gICAgLy8gaXQgbGl2ZXMgSU5TSURFIHRoZSBoZWFkZXIgcmVnaW9uIChwaW5uZWQsIG5ldmVyIHNjcm9sbC1jbGlwcGVkKSBpbnN0ZWFkXG4gICAgLy8gb2YgbGVhZGluZyB0aGUgZmllbGRzIHJlZ2lvbiwgd2hlcmUgdGhlIHJlZ2lvbiBnYXAgd291bGQgbGVhdmUgMTYuXG4gICAgY29uc3QgcmVzb2x2ZWRUaXRsZSA9IGRlc2NyaXB0aW9uID8gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdoZWFkZXItY29weScpLCBjaGlsZHJlbjogW3R5cGVvZiB0aXRsZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHRpdGxlID09PSAnbnVtYmVyJyA/IChfanN4KFR5cG9ncmFwaHkuSGVhZGxpbmUsIHsgc2l6ZTogJ3NtJywgYXM6ICdoMicsIGNvbG9yOiAnZGVmYXVsdCcsIGNoaWxkcmVuOiB0aXRsZSB9KSkgOiAodGl0bGUpLCBfanN4KFR5cG9ncmFwaHkuQm9keSwgeyBhczogJ3AnLCBzaXplOiAnbWQnLCBzdHJvbmc6IHRydWUsIGNvbG9yOiAnZGVmYXVsdC1zZWNvbmRhcnknLCBjaGlsZHJlbjogZGVzY3JpcHRpb24gfSldIH0pKSA6IHRpdGxlO1xuICAgIC8vIFRoZSBQQU5FTCBjYXJyaWVzIHRoZSB3aWR0aCAoZXhwbGljaXQgcHJvcCBvciB0aGUgbW9kYWwgY29uZmlnIGRlZmF1bHQpO1xuICAgIC8vIHRoZSBGb3JtTGF5b3V0IGZpbGxzIGl0LiBTaXppbmcgdGhlIGJhcmUgcGFuZWwgYnkgaXRzIGNoaWxkIHdvdWxkIGhpdFxuICAgIC8vIHRoZSBzaHJpbmstdG8tZml0IHBlcmNlbnRhZ2UgY2lyY3VsYXJpdHkgaW5zdGVhZC5cbiAgICBjb25zdCBwYW5lbFdpZHRoID0gd2lkdGggIT09IG51bGwgJiYgd2lkdGggIT09IHZvaWQgMCA/IHdpZHRoIDogRk9STV9MQVlPVVRfQ09ORklHLm1vZGFsLndpZHRoO1xuICAgIHJldHVybiAoX2pzeChEaWFsb2csIHsgYmFyZTogdHJ1ZSwgb3Blbjogb3Blbiwgd2lkdGg6IHBhbmVsV2lkdGgsIG1hc2tDbG9zYWJsZTogbWFza0Nsb3NhYmxlLCBzaG93Q2xvc2VJY29uOiBzaG93Q2xvc2VJY29uLCBjbGFzc05hbWU6IGNsYXNzTmFtZSwgcm9vdENsYXNzTmFtZTogcm9vdENsYXNzTmFtZSwgb25DYW5jZWw6IG9uQ2xvc2UsIFwiYXJpYS1sYWJlbFwiOiB0eXBlb2YgdGl0bGUgPT09ICdzdHJpbmcnID8gdGl0bGUgOiB1bmRlZmluZWQsIGNoaWxkcmVuOiBfanN4KEZvcm1MYXlvdXQsIHsgdmFyaWFudDogJ21vZGFsJywgd2lkdGg6ICcxMDAlJywgY2xhc3NOYW1lOiBqb2luQ2xzKGNsYXNzZXMoKSksIHRpdGxlOiByZXNvbHZlZFRpdGxlLCBleHRyYTogZXh0cmEsIGZvb3RlcjogX2pzeChBY3Rpb25CYXIsIHsgbGF5b3V0OiAnY29tcGFjdCcsIHNlY29uZGFyeTogcmVzb2x2ZWRTZWNvbmRhcnksIHByaW1hcnk6IHN1Ym1pdFNsb3QgPyB1bmRlZmluZWQgOiB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBzdWJtaXRUZXh0LFxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nOiBzdWJtaXR0aW5nLFxuICAgICAgICAgICAgICAgICAgICAvLyBBIFJFQUwgc3VibWl0IGJ1dHRvbiBhc3NvY2lhdGVkIHdpdGggdGhlIGZvcm06IGl0IGJlY29tZXMgdGhlXG4gICAgICAgICAgICAgICAgICAgIC8vIGZvcm0ncyBkZWZhdWx0IGJ1dHRvbiwgc28gRW50ZXIgYWN0aXZhdGVzIGl0IChhbmQgaXRzIGRpc2FibGVkXG4gICAgICAgICAgICAgICAgICAgIC8vIHN0YXRlKSBpbnN0ZWFkIG9mIHN1Ym1pdHRpbmcgdGhlIGZvcm0gZGlyZWN0bHkuXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdWJtaXQnLFxuICAgICAgICAgICAgICAgICAgICBmb3JtOiBmb3JtSWQsXG4gICAgICAgICAgICAgICAgfSwgcHJpbWFyeVNsb3Q6IHN1Ym1pdFNsb3QgPT09IG51bGwgfHwgc3VibWl0U2xvdCA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3VibWl0U2xvdCh7XG4gICAgICAgICAgICAgICAgICAgIHN1Ym1pdDogKCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBpbm5lclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc3VibWl0Rm9ybSgpOyB9LFxuICAgICAgICAgICAgICAgICAgICBzdWJtaXR0aW5nLFxuICAgICAgICAgICAgICAgICAgICBmb3JtSWQsXG4gICAgICAgICAgICAgICAgfSksIGZvb3Rub3RlOiBmb290bm90ZSB9KSwgY2hpbGRyZW46IF9qc3goQmFzZVByb0Zvcm0sIE9iamVjdC5hc3NpZ24oe30sIGZvcm1Qcm9wcywgeyBpZDogZm9ybUlkLCB2YXJpYW50OiAnbW9kYWwnLCBmb3JtUmVmOiBpbm5lclJlZiwgaW5pdGlhbFZhbHVlczogaW5pdGlhbFZhbHVlcywgb25GaW5pc2g6IGhhbmRsZUZpbmlzaCwgY2hpbGRyZW46IGNoaWxkcmVuIH0pKSB9KSB9KSk7XG59O1xuZXhwb3J0IGNvbnN0IEZvcm1EaWFsb2cgPSBPYmplY3QuYXNzaWduKEZvcm1EaWFsb2dJbm5lciwgeyBGaWVsZDogRm9ybUZpZWxkIH0pOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -29,13 +29,24 @@ export interface FormDialogProps<Values extends Record<string, any> = Record<str
29
29
  /**
30
30
  * Replace the built-in submit button with a custom node — for submits the
31
31
  * action model cannot express (Button2FA challenges, permission-gated
32
- * wrappers). Receives the internal validated-submit trigger and the
33
- * in-flight flag; the node takes the primary position in the ActionBar
34
- * (same width/track rules).
32
+ * wrappers); the node takes the primary position in the ActionBar (same
33
+ * width/track rules).
34
+ *
35
+ * A slot button that triggers the form's own submit MUST render as
36
+ * `type='submit' form={formId}` (no `onClick={submit}`): the association
37
+ * makes it the form's DEFAULT button, so Enter-to-submit activates it and
38
+ * respects its `disabled` state. A `type='button'` + `onClick` wiring
39
+ * leaves the native Enter path open past whatever gate disables the button.
40
+ * `submit` remains for flows that submit imperatively at another moment
41
+ * (e.g. after a Button2FA challenge).
35
42
  */
36
43
  submitSlot?: (ctx: {
44
+ /** Imperative validated-submit trigger (post-challenge flows). */
37
45
  submit: () => void;
46
+ /** True while the shell-owned `onSubmit` is in flight. */
38
47
  submitting: boolean;
48
+ /** DOM id of the underlying `<form>` — pair with `type='submit'`. */
49
+ formId: string;
39
50
  }) => ReactNode;
40
51
  /**
41
52
  * Secondary (left) action. Defaults to a Cancel button wired to `onClose`;
@@ -3,6 +3,7 @@ import { ActionBar } from '../../components/ActionBar';
3
3
  import { FormLayout } from '../../components/FormLayout';
4
4
  import { Typography } from '../../components/Typography';
5
5
  import { BaseProForm, FormField } from '../shared/formCore/BaseProForm';
6
+ import { useFormDomId } from '../shared/formCore/useFormDomId';
6
7
  import { useRelayedFormRef } from '../shared/formCore/useRelayedFormRef';
7
8
  import { useSubmitAction } from '../shared/formCore/useSubmitAction';
8
9
  /**
@@ -43,6 +44,7 @@ var PageFormInner = function PageFormInner(_ref) {
43
44
  var _useSubmitAction = useSubmitAction(onSubmit, onSuccess),
44
45
  submitting = _useSubmitAction.submitting,
45
46
  handleFinish = _useSubmitAction.handleFinish;
47
+ var formId = useFormDomId(formProps === null || formProps === void 0 ? void 0 : formProps.id);
46
48
  return _jsxs(FormLayout, {
47
49
  variant: 'page',
48
50
  size: size,
@@ -56,17 +58,19 @@ var PageFormInner = function PageFormInner(_ref) {
56
58
  primary: submitSlot ? undefined : {
57
59
  label: submitText,
58
60
  loading: submitting,
59
- onClick: function onClick() {
60
- var _a;
61
- return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.submitForm();
62
- }
61
+ // A REAL submit button associated with the form: it becomes the
62
+ // form's default button, so Enter activates it (and its disabled
63
+ // state) instead of submitting the form directly.
64
+ type: 'submit',
65
+ form: formId
63
66
  },
64
67
  primarySlot: submitSlot === null || submitSlot === void 0 ? void 0 : submitSlot({
65
68
  submit: function submit() {
66
69
  var _a;
67
70
  return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.submitForm();
68
71
  },
69
- submitting: submitting
72
+ submitting: submitting,
73
+ formId: formId
70
74
  }),
71
75
  footnote: footnote
72
76
  }),
@@ -77,6 +81,7 @@ var PageFormInner = function PageFormInner(_ref) {
77
81
  color: 'default-secondary',
78
82
  children: description
79
83
  }), _jsx(BaseProForm, Object.assign({}, formProps, {
84
+ id: formId,
80
85
  variant: 'page',
81
86
  size: size,
82
87
  formRef: innerRef,
@@ -89,4 +94,4 @@ var PageFormInner = function PageFormInner(_ref) {
89
94
  export var PageForm = Object.assign(PageFormInner, {
90
95
  Field: FormField
91
96
  });
92
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1BhZ2VGb3JtL1BhZ2VGb3JtLmpzIiwiYnVzaW5lc3Mvc3JjL2J1c2luZXNzL1BhZ2VGb3JtL1BhZ2VGb3JtLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQWN0aW9uQmFyIiwiRm9ybUxheW91dCIsIlR5cG9ncmFwaHkiLCJCYXNlUHJvRm9ybSIsIkZvcm1GaWVsZCIsInVzZVJlbGF5ZWRGb3JtUmVmIiwidXNlU3VibWl0QWN0aW9uIiwiUGFnZUZvcm1Jbm5lciIsIl9yZWYiLCJfcmVmJHNpemUiLCJzaXplIiwid2lkdGgiLCJjbGFzc05hbWUiLCJ0aXRsZSIsImV4dHJhIiwiZGVzY3JpcHRpb24iLCJjaGlsZHJlbiIsImluaXRpYWxWYWx1ZXMiLCJvblN1Ym1pdCIsIm9uU3VjY2VzcyIsInN1Ym1pdFRleHQiLCJzdWJtaXRTbG90Iiwic2Vjb25kYXJ5IiwiZm9vdG5vdGUiLCJmb3JtUmVmIiwiZm9ybVByb3BzIiwiaW5uZXJSZWYiLCJfdXNlU3VibWl0QWN0aW9uIiwic3VibWl0dGluZyIsImhhbmRsZUZpbmlzaCIsInZhcmlhbnQiLCJmb290ZXIiLCJsYXlvdXQiLCJwcmltYXJ5IiwidW5kZWZpbmVkIiwibGFiZWwiLCJsb2FkaW5nIiwib25DbGljayIsIl9hIiwiY3VycmVudCIsInN1Ym1pdEZvcm0iLCJwcmltYXJ5U2xvdCIsInN1Ym1pdCIsIkJvZHkiLCJhcyIsInN0cm9uZyIsImNvbG9yIiwiT2JqZWN0IiwiYXNzaWduIiwib25GaW5pc2giLCJQYWdlRm9ybSIsIkZpZWxkIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQTlELFNBQVNDLFNBQVMsUUFBUSw0QkFBNEI7QUFDdEQsU0FBU0MsVUFBVSxRQUFRLDZCQUE2QjtBQUN4RCxTQUFTQyxVQUFVLFFBQVEsNkJBQTZCO0FBQ3hELFNBQVNDLFdBQVcsRUFB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QUFWQTtNRC9CQSxDQ2dDRCxDQUFDO01BQ0ZMLFFBQVEsRUFBRUE7SUFBUSxDQUFBLENBQ2xCO0lBQUFQLFFBQUEsRUFBQSxDQUdIRCxXQUFXLElBQ1ZsQixJQUFBLENBQUNLLFVBQVUsQ0FBQ3lDLElBQUksRUFBQTtNQUFDQyxFQUFFLEVBQUMsR0FBRztNQUFDbEMsSUFBSSxFQUFDLElBQUk7TUFBQ21DLE1BQU0sRUFBQSxJQUFBO01BQUNDLEtBQUssRUFBQyxtQkFBbUI7TUFBQTlCLFFBQUEsRUFDL0REO0lBQVcsQ0FBQSxDQUVmLEVBQ0RsQixJQUFBLENBQUNNLFdBQVcsRUFBQTRDLE1BQUEsQ0FBQUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNOdkIsU0FBUyxFQUFBO01BQ2JLLE9BQU8sRUFBQyxNQUFNO01BQ2RwQixJQUFJLEVBQUVBLElBQUk7TUFDVmMsT0FBTyxFQUFFRSxRQUFRO01BQ2pCVCxhQUFhLEVBQUVBLGFBQWE7TUFDNUJnQyxRQUFRLEVBQUVwQixZQUFZO01BQUFiLFFBQUEsRUFFckJBO0lBQVEsQ0FBQSxDQUFBLENBQ0c7RUFBQSxDQUFBLENBQ0g7QUFFakIsQ0FBQztBQUVELE9BQU8sSUFBTWtDLFFBQVEsR0FBR0gsTUFBTSxDQUFDQyxNQUFNLENBQUN6QyxhQUFhLEVBQUU7RUFBRTRDLEtBQUssRUFBRS9DO0FBQVMsQ0FBRSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL1BhZ2VGb3JtL1BhZ2VGb3JtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEFjdGlvbkJhciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvQWN0aW9uQmFyJztcbmltcG9ydCB7IEZvcm1MYXlvdXQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL0Zvcm1MYXlvdXQnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBCYXNlUHJvRm9ybSwgRm9ybUZpZWxkIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm1Db3JlL0Jhc2VQcm9Gb3JtJztcbmltcG9ydCB7IHVzZVJlbGF5ZWRGb3JtUmVmIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm1Db3JlL3VzZVJlbGF5ZWRGb3JtUmVmJztcbmltcG9ydCB7IHVzZVN1Ym1pdEFjdGlvbiB9IGZyb20gJy4uL3NoYXJlZC9mb3JtQ29yZS91c2VTdWJtaXRBY3Rpb24nO1xuLyoqXG4gKiBGb3JtIHNjZW5hcmlvIHNoZWxsIGZvciB0aGUgUEFHRSBob3N0IOKAlCB0aGUgaW4tZG9jdW1lbnQgY291bnRlcnBhcnQgb2ZcbiAqIGBGb3JtRGlhbG9nYDpcbiAqXG4gKiAgIEZvcm1MYXlvdXQocGFnZSkgICBjYXJkIGNocm9tZSArIHBhZ2UgZGVuc2l0eSwgbm8gb3ZlcmxheSwgbmV2ZXIgc2Nyb2xsc1xuICogICAgICAgICAgICAgICAgICAgICAgaW50ZXJuYWxseS4gYHNpemVgIHNlbGVjdHMgdGhlIGRlbnNpdHk6IGBsYXJnZWAgKDczOCAvXG4gKiAgICAgICAgICAgICAgICAgICAgICAzMiAvIDI0LCBkZWZhdWx0KSBvciBgc21hbGxgICg0NDggLyAyNCAvIDE2IOKAlCB0aGVcbiAqICAgICAgICAgICAgICAgICAgICAgIGNvbXBhY3QgYXV0aCBjYXJkKS4gQm90aCByZXNvbHZlIGluc2lkZSBGb3JtTGF5b3V0O1xuICogICAgICAgICAgICAgICAgICAgICAgdGhpcyBzaGVsbCBvbmx5IGZvcndhcmRzIGBzaXplYC5cbiAqICAg4pSc4pSAIEJhc2VQcm9Gb3JtICAgICBzYW1lIHNpbmdsZSBQcm9Gb3JtIGNvbmZpZyBwb2ludCAodmFyaWFudD0ncGFnZScgKyB0aGVcbiAqICAg4pSCICAgICAgICAgICAgICAgICAgc2FtZSBgc2l6ZWAsIHNvIGNvbnRyb2wgc2l6ZSAvIGd1dHRlciAvIHJvdyBnYXAgbWF0Y2gpXG4gKiAgIOKUlOKUgCBBY3Rpb25CYXIoZmlsbCkgZnVsbC13aWR0aCBzdWJtaXQgKHBhZ2UgZm9ybXMgcGVyIHRoZSBEUylcbiAqXG4gKiBUaGUgU0FNRSBmaWVsZHMgcmVuZGVyIGlkZW50aWNhbGx5IGhlcmUgYW5kIGluIEZvcm1EaWFsb2cg4oCUIG9ubHkgdGhlXG4gKiBjb250YWluZXIgZGlmZmVycy5cbiAqL1xuY29uc3QgUGFnZUZvcm1Jbm5lciA9ICh7IHNpemUgPSAnbGFyZ2UnLCB3aWR0aCwgY2xhc3NOYW1lLCB0aXRsZSwgZXh0cmEsIGRlc2NyaXB0aW9uLCBjaGlsZHJlbiwgaW5pdGlhbFZhbHVlcywgb25TdWJtaXQsIG9uU3VjY2Vzcywgc3VibWl0VGV4dCwgc3VibWl0U2xvdCwgc2Vjb25kYXJ5LCBmb290bm90ZSwgZm9ybVJlZiwgZm9ybVByb3BzLCB9KSA9PiB7XG4gICAgY29uc3QgaW5uZXJSZWYgPSB1c2VSZWxheWVkRm9ybVJlZihmb3JtUmVmKTtcbiAgICBjb25zdCB7IHN1Ym1pdHRpbmcsIGhhbmRsZUZpbmlzaCB9ID0gdXNlU3VibWl0QWN0aW9uKG9uU3VibWl0LCBvblN1Y2Nlc3MpO1xuICAgIHJldHVybiAoX2pzeHMoRm9ybUxheW91dCwgeyB2YXJpYW50OiAncGFnZScsIHNpemU6IHNpemUsIHdpZHRoOiB3aWR0aCwgY2xhc3NOYW1lOiBjbGFzc05hbWUsIHRpdGxlOiB0aXRsZSwgZXh0cmE6IGV4dHJhLCBmb290ZXI6IF9qc3goQWN0aW9uQmFyLCB7IGxheW91dDogJ2ZpbGwnLCBzZWNvbmRhcnk6IHNlY29uZGFyeSwgcHJpbWFyeTogc3VibWl0U2xvdCA/IHVuZGVmaW5lZCA6IHtcbiAgICAgICAgICAgICAgICBsYWJlbDogc3VibWl0VGV4dCxcbiAgICAgICAgICAgICAgICBsb2FkaW5nOiBzdWJtaXR0aW5nLFxuICAgICAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gaW5uZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnN1Ym1pdEZvcm0oKTsgfSxcbiAgICAgICAgICAgIH0sIHByaW1hcnlTbG90OiBzdWJtaXRTbG90ID09PSBudWxsIHx8IHN1Ym1pdFNsb3QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHN1Ym1pdFNsb3Qoe1xuICAgICAgICAgICAgICAgIHN1Ym1pdDogKCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBpbm5lclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Euc3VibWl0Rm9ybSgpOyB9LFxuICAgICAgICAgICAgICAgIHN1Ym1pdHRpbmcsXG4gICAgICAgICAgICB9KSwgZm9vdG5vdGU6IGZvb3Rub3RlIH0pLCBjaGlsZHJlbjogW2Rlc2NyaXB0aW9uICYmIChfanN4KFR5cG9ncmFwaHkuQm9keSwgeyBhczogJ3AnLCBzaXplOiAnbWQnLCBzdHJvbmc6IHRydWUsIGNvbG9yOiAnZGVmYXVsdC1zZWNvbmRhcnknLCBjaGlsZHJlbjogZGVzY3JpcHRpb24gfSkpLCBfanN4KEJhc2VQcm9Gb3JtLCBPYmplY3QuYXNzaWduKHt9LCBmb3JtUHJvcHMsIHsgdmFyaWFudDogJ3BhZ2UnLCBzaXplOiBzaXplLCBmb3JtUmVmOiBpbm5lclJlZiwgaW5pdGlhbFZhbHVlczogaW5pdGlhbFZhbHVlcywgb25GaW5pc2g6IGhhbmRsZUZpbmlzaCwgY2hpbGRyZW46IGNoaWxkcmVuIH0pKV0gfSkpO1xufTtcbmV4cG9ydCBjb25zdCBQYWdlRm9ybSA9IE9iamVjdC5hc3NpZ24oUGFnZUZvcm1Jbm5lciwgeyBGaWVsZDogRm9ybUZpZWxkIH0pOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
97
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1BhZ2VGb3JtL1BhZ2VGb3JtLmpzIiwiYnVzaW5lc3Mvc3JjL2J1c2luZXNzL1BhZ2VGb3JtL1BhZ2VGb3JtLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQWN0aW9uQmFyIiwiRm9ybUxheW91dCIsIlR5cG9ncmFwaHkiLCJCYXNlUHJvRm9ybSIsIkZvcm1GaWVsZCIsInVzZUZvcm1Eb21JZCIsInVzZVJlbGF5ZWRGb3JtUmVmIiwidXNlU3VibWl0QWN0aW9uIiwiUGFnZUZvcm1Jbm5lciIsIl9yZWYiLCJfcmVmJHNpemUiLCJzaXplIiwid2lkdGgiLCJjbGFzc05hbWUiLCJ0aXRsZSIsImV4dHJhIiwiZGVzY3JpcHRpb24iLCJjaGlsZHJlbiIsImluaXRpYWxWYWx1ZXMiLCJvblN1Ym1pdCIsIm9uU3VjY2VzcyIsInN1Ym1pdFRleHQiLCJzdWJtaXRTbG90Iiwic2Vjb25kYXJ5IiwiZm9vdG5vdGUiLCJmb3JtUmVmIiwiZm9ybVByb3BzIiwiaW5uZXJSZWYiLCJfdXNlU3VibWl0QWN0aW9uIiwic3VibWl0dGluZyIsImhhbmRsZUZpbmlzaCIsImZvcm1JZCIsImlkIiwidmFyaWFudCIsImZvb3RlciIsImxheW91dCIsInByaW1hcnkiLCJ1bmRlZmluZWQiLCJsYWJlbCIsImxvYWRpbmciLCJ0eXBlIiwiZm9ybSIsInByaW1hcnlTbG90Iiwic3VibWl0IiwiX2EiLCJjdXJyZW50Iiwic3VibWl0Rm9ybSIsIkJvZHkiLCJhcyIsInN0cm9uZyIsImNvbG9yIiwiT2JqZWN0IiwiYXNzaWduIiwib25GaW5pc2giLCJQYWdlRm9ybSIsIkZpZWxkIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQTlELFNBQVNDLFNBQVMsUUFBUSw0QkFBNEI7QUFDdEQsU0FBU0MsVUFBVSxRQUFRLDZCQUE2QjtBQUN4RCxTQUFTQyxVQUFV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QSxFQUFBLENBQUVFLFVBQVUsQ0FBQSxDQUFFO1FBQUEsQ0FBQTtRQUM1Q2pCLFVBQVUsRUFBVkEsVUFBVTtRQUNWRSxNQUFNLEVBQU5BO01EL0JBLENDZ0NELENBQUM7TUFDRlAsUUFBUSxFQUFFQTtJQUFRLENBQUEsQ0FDbEI7SUFBQVAsUUFBQSxFQUFBLENBR0hELFdBQVcsSUFDVm5CLElBQUEsQ0FBQ0ssVUFBVSxDQUFDNkMsSUFBSSxFQUFBO01BQUNDLEVBQUUsRUFBQyxHQUFHO01BQUNyQyxJQUFJLEVBQUMsSUFBSTtNQUFDc0MsTUFBTSxFQUFBLElBQUE7TUFBQ0MsS0FBSyxFQUFDLG1CQUFtQjtNQUFBakMsUUFBQSxFQUMvREQ7SUFBVyxDQUFBLENBRWYsRUFDRG5CLElBQUEsQ0FBQ00sV0FBVyxFQUFBZ0QsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ04xQixTQUFTLEVBQUE7TUFDYk0sRUFBRSxFQUFFRCxNQUFNO01BQ1ZFLE9BQU8sRUFBQyxNQUFNO01BQ2R0QixJQUFJLEVBQUVBLElBQUk7TUFDVmMsT0FBTyxFQUFFRSxRQUFRO01BQ2pCVCxhQUFhLEVBQUVBLGFBQWE7TUFDNUJtQyxRQUFRLEVBQUV2QixZQUFZO01BQUFiLFFBQUEsRUFFckJBO0lBQVEsQ0FBQSxDQUFBLENBQ0c7RUFBQSxDQUFBLENBQ0g7QUFFakIsQ0FBQztBQUVELE9BQU8sSUFBTXFDLFFBQVEsR0FBR0gsTUFBTSxDQUFDQyxNQUFNLENBQUM1QyxhQUFhLEVBQUU7RUFBRStDLEtBQUssRUFBRW5EO0FBQVMsQ0FBRSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL1BhZ2VGb3JtL1BhZ2VGb3JtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEFjdGlvbkJhciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvQWN0aW9uQmFyJztcbmltcG9ydCB7IEZvcm1MYXlvdXQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL0Zvcm1MYXlvdXQnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBCYXNlUHJvRm9ybSwgRm9ybUZpZWxkIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm1Db3JlL0Jhc2VQcm9Gb3JtJztcbmltcG9ydCB7IHVzZUZvcm1Eb21JZCB9IGZyb20gJy4uL3NoYXJlZC9mb3JtQ29yZS91c2VGb3JtRG9tSWQnO1xuaW1wb3J0IHsgdXNlUmVsYXllZEZvcm1SZWYgfSBmcm9tICcuLi9zaGFyZWQvZm9ybUNvcmUvdXNlUmVsYXllZEZvcm1SZWYnO1xuaW1wb3J0IHsgdXNlU3VibWl0QWN0aW9uIH0gZnJvbSAnLi4vc2hhcmVkL2Zvcm1Db3JlL3VzZVN1Ym1pdEFjdGlvbic7XG4vKipcbiAqIEZvcm0gc2NlbmFyaW8gc2hlbGwgZm9yIHRoZSBQQUdFIGhvc3Qg4oCUIHRoZSBpbi1kb2N1bWVudCBjb3VudGVycGFydCBvZlxuICogYEZvcm1EaWFsb2dgOlxuICpcbiAqICAgRm9ybUxheW91dChwYWdlKSAgIGNhcmQgY2hyb21lICsgcGFnZSBkZW5zaXR5LCBubyBvdmVybGF5LCBuZXZlciBzY3JvbGxzXG4gKiAgICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbGx5LiBgc2l6ZWAgc2VsZWN0cyB0aGUgZGVuc2l0eTogYGxhcmdlYCAoNzM4IC9cbiAqICAgICAgICAgICAgICAgICAgICAgIDMyIC8gMjQsIGRlZmF1bHQpIG9yIGBzbWFsbGAgKDQ0OCAvIDI0IC8gMTYg4oCUIHRoZVxuICogICAgICAgICAgICAgICAgICAgICAgY29tcGFjdCBhdXRoIGNhcmQpLiBCb3RoIHJlc29sdmUgaW5zaWRlIEZvcm1MYXlvdXQ7XG4gKiAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNoZWxsIG9ubHkgZm9yd2FyZHMgYHNpemVgLlxuICogICDilJzilIAgQmFzZVByb0Zvcm0gICAgIHNhbWUgc2luZ2xlIFByb0Zvcm0gY29uZmlnIHBvaW50ICh2YXJpYW50PSdwYWdlJyArIHRoZVxuICogICDilIIgICAgICAgICAgICAgICAgICBzYW1lIGBzaXplYCwgc28gY29udHJvbCBzaXplIC8gZ3V0dGVyIC8gcm93IGdhcCBtYXRjaClcbiAqICAg4pSU4pSAIEFjdGlvbkJhcihmaWxsKSBmdWxsLXdpZHRoIHN1Ym1pdCAocGFnZSBmb3JtcyBwZXIgdGhlIERTKVxuICpcbiAqIFRoZSBTQU1FIGZpZWxkcyByZW5kZXIgaWRlbnRpY2FsbHkgaGVyZSBhbmQgaW4gRm9ybURpYWxvZyDigJQgb25seSB0aGVcbiAqIGNvbnRhaW5lciBkaWZmZXJzLlxuICovXG5jb25zdCBQYWdlRm9ybUlubmVyID0gKHsgc2l6ZSA9ICdsYXJnZScsIHdpZHRoLCBjbGFzc05hbWUsIHRpdGxlLCBleHRyYSwgZGVzY3JpcHRpb24sIGNoaWxkcmVuLCBpbml0aWFsVmFsdWVzLCBvblN1Ym1pdCwgb25TdWNjZXNzLCBzdWJtaXRUZXh0LCBzdWJtaXRTbG90LCBzZWNvbmRhcnksIGZvb3Rub3RlLCBmb3JtUmVmLCBmb3JtUHJvcHMsIH0pID0+IHtcbiAgICBjb25zdCBpbm5lclJlZiA9IHVzZVJlbGF5ZWRGb3JtUmVmKGZvcm1SZWYpO1xuICAgIGNvbnN0IHsgc3VibWl0dGluZywgaGFuZGxlRmluaXNoIH0gPSB1c2VTdWJtaXRBY3Rpb24ob25TdWJtaXQsIG9uU3VjY2Vzcyk7XG4gICAgY29uc3QgZm9ybUlkID0gdXNlRm9ybURvbUlkKGZvcm1Qcm9wcyA9PT0gbnVsbCB8fCBmb3JtUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZvcm1Qcm9wcy5pZCk7XG4gICAgcmV0dXJuIChfanN4cyhGb3JtTGF5b3V0LCB7IHZhcmlhbnQ6ICdwYWdlJywgc2l6ZTogc2l6ZSwgd2lkdGg6IHdpZHRoLCBjbGFzc05hbWU6IGNsYXNzTmFtZSwgdGl0bGU6IHRpdGxlLCBleHRyYTogZXh0cmEsIGZvb3RlcjogX2pzeChBY3Rpb25CYXIsIHsgbGF5b3V0OiAnZmlsbCcsIHNlY29uZGFyeTogc2Vjb25kYXJ5LCBwcmltYXJ5OiBzdWJtaXRTbG90ID8gdW5kZWZpbmVkIDoge1xuICAgICAgICAgICAgICAgIGxhYmVsOiBzdWJtaXRUZXh0LFxuICAgICAgICAgICAgICAgIGxvYWRpbmc6IHN1Ym1pdHRpbmcsXG4gICAgICAgICAgICAgICAgLy8gQSBSRUFMIHN1Ym1pdCBidXR0b24gYXNzb2NpYXRlZCB3aXRoIHRoZSBmb3JtOiBpdCBiZWNvbWVzIHRoZVxuICAgICAgICAgICAgICAgIC8vIGZvcm0ncyBkZWZhdWx0IGJ1dHRvbiwgc28gRW50ZXIgYWN0aXZhdGVzIGl0IChhbmQgaXRzIGRpc2FibGVkXG4gICAgICAgICAgICAgICAgLy8gc3RhdGUpIGluc3RlYWQgb2Ygc3VibWl0dGluZyB0aGUgZm9ybSBkaXJlY3RseS5cbiAgICAgICAgICAgICAgICB0eXBlOiAnc3VibWl0JyxcbiAgICAgICAgICAgICAgICBmb3JtOiBmb3JtSWQsXG4gICAgICAgICAgICB9LCBwcmltYXJ5U2xvdDogc3VibWl0U2xvdCA9PT0gbnVsbCB8fCBzdWJtaXRTbG90ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzdWJtaXRTbG90KHtcbiAgICAgICAgICAgICAgICBzdWJtaXQ6ICgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gaW5uZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnN1Ym1pdEZvcm0oKTsgfSxcbiAgICAgICAgICAgICAgICBzdWJtaXR0aW5nLFxuICAgICAgICAgICAgICAgIGZvcm1JZCxcbiAgICAgICAgICAgIH0pLCBmb290bm90ZTogZm9vdG5vdGUgfSksIGNoaWxkcmVuOiBbZGVzY3JpcHRpb24gJiYgKF9qc3goVHlwb2dyYXBoeS5Cb2R5LCB7IGFzOiAncCcsIHNpemU6ICdtZCcsIHN0cm9uZzogdHJ1ZSwgY29sb3I6ICdkZWZhdWx0LXNlY29uZGFyeScsIGNoaWxkcmVuOiBkZXNjcmlwdGlvbiB9KSksIF9qc3goQmFzZVByb0Zvcm0sIE9iamVjdC5hc3NpZ24oe30sIGZvcm1Qcm9wcywgeyBpZDogZm9ybUlkLCB2YXJpYW50OiAncGFnZScsIHNpemU6IHNpemUsIGZvcm1SZWY6IGlubmVyUmVmLCBpbml0aWFsVmFsdWVzOiBpbml0aWFsVmFsdWVzLCBvbkZpbmlzaDogaGFuZGxlRmluaXNoLCBjaGlsZHJlbjogY2hpbGRyZW4gfSkpXSB9KSk7XG59O1xuZXhwb3J0IGNvbnN0IFBhZ2VGb3JtID0gT2JqZWN0LmFzc2lnbihQYWdlRm9ybUlubmVyLCB7IEZpZWxkOiBGb3JtRmllbGQgfSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -34,13 +34,24 @@ export interface PageFormProps<Values extends Record<string, any> = Record<strin
34
34
  /**
35
35
  * Replace the built-in submit button with a custom node — for submits the
36
36
  * action model cannot express (Button2FA challenges, permission-gated
37
- * wrappers). Receives the internal validated-submit trigger and the
38
- * in-flight flag; the node takes the primary position in the ActionBar
39
- * (same width/track rules).
37
+ * wrappers); the node takes the primary position in the ActionBar (same
38
+ * width/track rules).
39
+ *
40
+ * A slot button that triggers the form's own submit MUST render as
41
+ * `type='submit' form={formId}` (no `onClick={submit}`): the association
42
+ * makes it the form's DEFAULT button, so Enter-to-submit activates it and
43
+ * respects its `disabled` state. A `type='button'` + `onClick` wiring
44
+ * leaves the native Enter path open past whatever gate disables the button.
45
+ * `submit` remains for flows that submit imperatively at another moment
46
+ * (e.g. after a Button2FA challenge).
40
47
  */
41
48
  submitSlot?: (ctx: {
49
+ /** Imperative validated-submit trigger (post-challenge flows). */
42
50
  submit: () => void;
51
+ /** True while the shell-owned `onSubmit` is in flight. */
43
52
  submitting: boolean;
53
+ /** DOM id of the underlying `<form>` — pair with `type='submit'`. */
54
+ formId: string;
44
55
  }) => ReactNode;
45
56
  /** Optional secondary (left) action. */
46
57
  secondary?: ActionBarAction;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Stable DOM id for the shell's `<form>` element.
3
+ *
4
+ * The ActionBar footer lives OUTSIDE the `<form>` (it is FormLayout footer
5
+ * content), so its submit button associates with the form via the native
6
+ * `form` attribute. That association makes the button the form's DEFAULT
7
+ * button: Enter-to-submit then activates the button — and respects its
8
+ * `disabled` state — instead of submitting the form directly. Without a
9
+ * default button, a form with exactly one blocking field submits itself on
10
+ * Enter, bypassing whatever gate wraps the button.
11
+ *
12
+ * Respects a consumer-provided id (`formProps.id`) so external labels or
13
+ * tests can pin their own.
14
+ */
15
+ export declare const useFormDomId: (explicitId?: string) => string;
@@ -0,0 +1,21 @@
1
+ import { useId } from 'react';
2
+ /**
3
+ * Stable DOM id for the shell's `<form>` element.
4
+ *
5
+ * The ActionBar footer lives OUTSIDE the `<form>` (it is FormLayout footer
6
+ * content), so its submit button associates with the form via the native
7
+ * `form` attribute. That association makes the button the form's DEFAULT
8
+ * button: Enter-to-submit then activates the button — and respects its
9
+ * `disabled` state — instead of submitting the form directly. Without a
10
+ * default button, a form with exactly one blocking field submits itself on
11
+ * Enter, bypassing whatever gate wraps the button.
12
+ *
13
+ * Respects a consumer-provided id (`formProps.id`) so external labels or
14
+ * tests can pin their own.
15
+ */
16
+ export var useFormDomId = function useFormDomId(explicitId) {
17
+ var reactId = useId();
18
+ // useId returns `:r0:` — sanitize for getElementById / CSS selectors
19
+ return explicitId !== null && explicitId !== void 0 ? explicitId : "om-form-".concat(reactId.replace(/[^a-zA-Z0-9_-]/g, ''));
20
+ };
21
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL3NoYXJlZC9zcmMvYnVzaW5lc3Mvc2hhcmVkL2Zvcm1Db3JlL3VzZUZvcm1Eb21JZC50cyIsImJ1c2luZXNzL3NoYXJlZC9mb3JtQ29yZS91c2VGb3JtRG9tSWQuanMiXSwibmFtZXMiOlsidXNlSWQiLCJ1c2VGb3JtRG9tSWQiLCJleHBsaWNpdElkIiwicmVhY3RJZCIsImNvbmNhdCIsInJlcGxhY2UiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEtBQUssUUFBUSxPQUFPO0FBRTdCO0FDQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QURFQSxPQUFPLElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFJQyxVQUFtQixFQUFZO0VBQzFELElBQU1DLE9BQU8sR0FBR0gsS0FBSyxDQUFBLENBQUU7RUFDdkI7RUFDQSxPQUFPRSxVQUFVLEtBQUEsSUFBQSxJQUFWQSxVQUFVLEtBQUEsS0FBQSxDQUFBLEdBQVZBLFVBQVUsY0FBQUUsTUFBQSxDQUFlRCxPQUFPLENBQUNFLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBRTtBQUMxRSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL3NoYXJlZC9mb3JtQ29yZS91c2VGb3JtRG9tSWQuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZUlkIH0gZnJvbSAncmVhY3QnO1xuLyoqXG4gKiBTdGFibGUgRE9NIGlkIGZvciB0aGUgc2hlbGwncyBgPGZvcm0+YCBlbGVtZW50LlxuICpcbiAqIFRoZSBBY3Rpb25CYXIgZm9vdGVyIGxpdmVzIE9VVFNJREUgdGhlIGA8Zm9ybT5gIChpdCBpcyBGb3JtTGF5b3V0IGZvb3RlclxuICogY29udGVudCksIHNvIGl0cyBzdWJtaXQgYnV0dG9uIGFzc29jaWF0ZXMgd2l0aCB0aGUgZm9ybSB2aWEgdGhlIG5hdGl2ZVxuICogYGZvcm1gIGF0dHJpYnV0ZS4gVGhhdCBhc3NvY2lhdGlvbiBtYWtlcyB0aGUgYnV0dG9uIHRoZSBmb3JtJ3MgREVGQVVMVFxuICogYnV0dG9uOiBFbnRlci10by1zdWJtaXQgdGhlbiBhY3RpdmF0ZXMgdGhlIGJ1dHRvbiDigJQgYW5kIHJlc3BlY3RzIGl0c1xuICogYGRpc2FibGVkYCBzdGF0ZSDigJQgaW5zdGVhZCBvZiBzdWJtaXR0aW5nIHRoZSBmb3JtIGRpcmVjdGx5LiBXaXRob3V0IGFcbiAqIGRlZmF1bHQgYnV0dG9uLCBhIGZvcm0gd2l0aCBleGFjdGx5IG9uZSBibG9ja2luZyBmaWVsZCBzdWJtaXRzIGl0c2VsZiBvblxuICogRW50ZXIsIGJ5cGFzc2luZyB3aGF0ZXZlciBnYXRlIHdyYXBzIHRoZSBidXR0b24uXG4gKlxuICogUmVzcGVjdHMgYSBjb25zdW1lci1wcm92aWRlZCBpZCAoYGZvcm1Qcm9wcy5pZGApIHNvIGV4dGVybmFsIGxhYmVscyBvclxuICogdGVzdHMgY2FuIHBpbiB0aGVpciBvd24uXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VGb3JtRG9tSWQgPSAoZXhwbGljaXRJZCkgPT4ge1xuICAgIGNvbnN0IHJlYWN0SWQgPSB1c2VJZCgpO1xuICAgIC8vIHVzZUlkIHJldHVybnMgYDpyMDpgIOKAlCBzYW5pdGl6ZSBmb3IgZ2V0RWxlbWVudEJ5SWQgLyBDU1Mgc2VsZWN0b3JzXG4gICAgcmV0dXJuIGV4cGxpY2l0SWQgIT09IG51bGwgJiYgZXhwbGljaXRJZCAhPT0gdm9pZCAwID8gZXhwbGljaXRJZCA6IGBvbS1mb3JtLSR7cmVhY3RJZC5yZXBsYWNlKC9bXmEtekEtWjAtOV8tXS9nLCAnJyl9YDtcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -18,6 +18,8 @@ var renderAction = function renderAction(action, fallbackLabel, defaultColor, si
18
18
  loading: action.loading,
19
19
  disabled: action.disabled,
20
20
  onClick: action.onClick,
21
+ type: action.type,
22
+ form: action.form,
21
23
  children: (_b = action.label) !== null && _b !== void 0 ? _b : fallbackLabel
22
24
  });
23
25
  };
@@ -112,4 +114,4 @@ var ActionBarBase = function ActionBarBase(_ref2) {
112
114
  });
113
115
  };
114
116
  export var ActionBar = /*#__PURE__*/memo(ActionBarBase);
115
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwibWVtbyIsIkJ1dHRvbiIsIkRpdmlkZXIiLCJGbGV4IiwiVHlwb2dyYXBoeSIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsIkFDVElPTl9CQVJfQlVUVE9OX1NJWkUiLCJBQ1RJT05fQkFSX0RFRkFVTFRTIiwiQUNUSU9OX0JBUl9QUkVGSVgiLCJBQ1RJT05fQkFSX1NMT1QiLCJBQ1RJVkFUSU9OX0tFWVMiLCJyZW5kZXJBY3Rpb24iLCJhY3Rpb24iLCJmYWxsYmFja0xhYmVsIiwiZGVmYXVsdENvbG9yIiwic2l6ZSIsIl9hIiwiX2IiLCJ2YXJpYW50IiwiY29sb3IiLCJpY29uU3RhcnQiLCJpY29uIiwibG9hZGluZyIsImRpc2FibGVkIiwib25DbGljayIsImNoaWxkcmVuIiwibGFiZWwiLCJGb290bm90ZSIsIl9yZWYiLCJwcm9tcHQiLCJkaXZpZGVkIiwiY2xhc3NlcyIsImhhbmRsZUtleURvd24iLCJldmVudCIsImluY2x1ZGVzIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJjbGFzc05hbWUiLCJmb290bm90ZSIsImFsaWduIiwianVzdGlmeSIsImdhcCIsIkJvZHkiLCJzdHJvbmciLCJMaW5rIiwicm9sZSIsInRhYkluZGV4Iiwib25LZXlEb3duIiwiQWN0aW9uQmFyQmFzZSIsIl9yZWYyIiwiX3JlZjIkbGF5b3V0IiwibGF5b3V0IiwiX3JlZjIkZGlyZWN0aW9uIiwiZGlyZWN0aW9uIiwicHJpbWFyeSIsInByaW1hcnlTbG90Iiwic2Vjb25kYXJ5IiwiX3JlZjIkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiX2MiLCJfZCIsInZlcnRpY2FsIiwiYnV0dG9uU2l6ZSIsIml0ZW1zIiwib3JkZXIiLCJub2RlIiwic2Vjb25kYXJ5TGFiZWwiLCJzZWNvbmRhcnlDb2xvciIsInByaW1hcnlMYWJlbCIsInByaW1hcnlDb2xvciIsInVuZGVmaW5lZCIsImZpbHRlciIsIml0ZW0iLCJCb29sZWFuIiwic29ydCIsImEiLCJiIiwibGVuZ3RoIiwiYWN0aW9ucyIsIm1hcCIsIk9iamVjdCIsImFzc2lnbiIsIkFjdGlvbkJhciJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLEVBQUVDLElBQUksSUFBSUMsS0FBSyxRQUFRLG1CQUFtQjtBQ0E5RCxTQUFTQyxRQUFRLEVBQUVDLElBQUksUUFBUSxPQUFPO0FBQ3RDLFNBQVNDLE1BQU0sUUFBUSxXQUFXO0FBQ2xDLFNBQVNDLE9BQU8sUUFBUSxZQUFZO0FBQ3BDLFNBQVNDLElBQUksUUFBUSxTQUFTO0FBQzlCLFNBQVNDLFVBQVUsUUFBUSxlQUFlO0FBQzFDLFNBQVNDLE9BQU8sSUFBSUMsVUFBVSxFQUFFQyxPQUFPLFFBQVEsd0JBQXdCO0FBQ3ZFLFNBQ0VDLHNCQUFzQixFQUN0QkMsbUJBQW1CLEVBQ25CQyxpQkFBaUIsRUFDakJDLGVBQWUsUUFDVixhQUFhO0FBS3BCLE9BQU8sU0FBUztBQUVoQixJQUFNQyxlQUFlLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO0FBRXRDLElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUNoQkMsTUFBdUIsRUFDdkJDLGFBQXdCLEVBQ3hCQyxZQUF5QixFQUN6QkMsSUFBZ0IsRUFDZDtFRGRBLElBQUlDLEVBQUUsRUFBRUMsRUFBRTtFQ2NULE9BQ0h2QixJQUFBLENBQUNLLE1BQU0sRUFBQTtJQUNMZ0IsSUFBSSxFQUFFQSxJQUFJO0lBQ1ZHLE9BQU8sRUFBRU4sTUFBTSxDQUFDTSxPQUFPO0lBQ3ZCQyxLQUFLLEVBQUUsQ0FBQUgsRUFBQSxHQUFBSixNQUFNLENBQUNPLEtBQUssTUFBQSxJQUFBLElBQUFILEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJRixZQUFZO0lB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QU8sQ0FBQztNQUFBckQsUUFBQSxFQUNsRXNDLEtBQUssQ0FBQ2dCLEdBQUcsQ0FBQyxVQUFDUCxJQUFJO1FBQUEsT0FDZDlFLElBQUEsQ0FBQ0csUUFBUSxFQUFBO1VBQUE0QixRQUFBLEVBQWlCK0MsSUFBSSxDQUFDUDtRQUFJLENBQUEsRUFBcEJPLElBQUksQ0FBQ3JDLEdBQUcsQ0FBd0I7TUFBQSxDQUNoRDtJQUFDLENBQUEsQ0FFTCxFQUNBRyxRQUFRLElBQUk1QyxJQUFBLENBQUNpQyxRQUFRLEVBQUFxRCxNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBSzNDLFFBQVEsRUFBQTtNQUFFUCxPQUFPLEVBQUVBO0lBQU8sQ0FBQSxDQUFBLENBQUk7RUFBQSxDQUFBLENBQ3BEO0FBRVgsQ0FBQztBQUVELE9BQU8sSUFBTW1ELFNBQVMsZ0JBQUdwRixJQUFJLENBQUNrRCxhQUFhLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9BY3Rpb25CYXIvQWN0aW9uQmFyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJztcbmltcG9ydCB7IERpdmlkZXIgfSBmcm9tICcuLi9EaXZpZGVyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi9GbGV4JztcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQUNUSU9OX0JBUl9CVVRUT05fU0laRSwgQUNUSU9OX0JBUl9ERUZBVUxUUywgQUNUSU9OX0JBUl9QUkVGSVgsIEFDVElPTl9CQVJfU0xPVCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgQUNUSVZBVElPTl9LRVlTID0gWydFbnRlcicsICcgJ107XG5jb25zdCByZW5kZXJBY3Rpb24gPSAoYWN0aW9uLCBmYWxsYmFja0xhYmVsLCBkZWZhdWx0Q29sb3IsIHNpemUpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIHJldHVybiAoX2pzeChCdXR0b24sIHsgc2l6ZTogc2l6ZSwgdmFyaWFudDogYWN0aW9uLnZhcmlhbnQsIGNvbG9yOiAoX2EgPSBhY3Rpb24uY29sb3IpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGRlZmF1bHRDb2xvciwgaWNvblN0YXJ0OiBhY3Rpb24uaWNvbiwgbG9hZGluZzogYWN0aW9uLmxvYWRpbmcsIGRpc2FibGVkOiBhY3Rpb24uZGlzYWJsZWQsIG9uQ2xpY2s6IGFjdGlvbi5vbkNsaWNrLCBjaGlsZHJlbjogKF9iID0gYWN0aW9uLmxhYmVsKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBmYWxsYmFja0xhYmVsIH0pKTtcbn07XG5jb25zdCBGb290bm90ZSA9ICh7IHByb21wdCwgYWN0aW9uLCBvbkNsaWNrLCBkaXZpZGVkLCBjbGFzc2VzLCB9KSA9PiB7XG4gICAgY29uc3QgaGFuZGxlS2V5RG93biA9IChldmVudCkgPT4ge1xuICAgICAgICBpZiAoIUFDVElWQVRJT05fS0VZUy5pbmNsdWRlcyhldmVudC5rZXkpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBvbkNsaWNrID09PSBudWxsIHx8IG9uQ2xpY2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2xpY2soKTtcbiAgICB9O1xuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoQUNUSU9OX0JBUl9TTE9ULmZvb3Rub3RlKSwgY2hpbGRyZW46IFtkaXZpZGVkICYmIF9qc3goRGl2aWRlciwge30pLCBfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywganVzdGlmeTogJ2NlbnRlcicsIGdhcDogNCwgY2hpbGRyZW46IFtwcm9tcHQgJiYgKF9qc3goVHlwb2dyYXBoeS5Cb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogdHJ1ZSwgY29sb3I6ICdkZWZhdWx0LXRlcnRpYXJ5JywgY2hpbGRyZW46IHByb21wdCB9KSksIGFjdGlvbiAmJiAoX2pzeChUeXBvZ3JhcGh5LkxpbmssIHsgc2l6ZTogJ21kJywgY29sb3I6ICdicmFuZCcsIHJvbGU6ICdidXR0b24nLCB0YWJJbmRleDogMCwgb25DbGljazogb25DbGljaywgb25LZXlEb3duOiBoYW5kbGVLZXlEb3duLCBjaGlsZHJlbjogYWN0aW9uIH0pKV0gfSldIH0pKTtcbn07XG4vKipcbiAqIEZvb3RlciBhY3Rpb24gZW5naW5lIHNoYXJlZCBieSBldmVyeSBmb3JtL2RpYWxvZyBzdXJmYWNlLiBPcmRlciBhbmQgdG9uZXNcbiAqIGFyZSBsb2NrZWQgKHNlY29uZGFyeSBsZWZ0LCBwcmltYXJ5IHJpZ2h0KTsgdGhlIGBsYXlvdXRgIOKAlCBjaG9zZW4gYnkgdGhlXG4gKiBzY2VuYXJpbyBzaGVsbCwgbmV2ZXIgYnkgYnVzaW5lc3MgY29kZSDigJQgZGVjaWRlcyB0aGUgdHdvIERTIGZvb3RlciBzaGFwZXM6XG4gKiBgZmlsbGAgKHJvdy1zaGFyaW5nIGxhcmdlIGJ1dHRvbnMpIG9yIGBjb21wYWN0YCAoYXV0by13aWR0aCBtZWRpdW0gYnV0dG9ucyxcbiAqIGxlZnQtYWxpZ25lZCkuXG4gKi9cbmNvbnN0IEFjdGlvbkJhckJhc2UgPSAoeyBsYXlvdXQgPSAnZmlsbCcsIGRpcmVjdGlvbiA9ICdob3Jpem9udGFsJywgcHJpbWFyeSwgcHJpbWFyeVNsb3QsIHNlY29uZGFyeSwgZm9vdG5vdGUsIHByZWZpeENscyA9IEFDVElPTl9CQVJfUFJFRklYLCBjbGFzc05hbWUsIH0pID0+IHtcbiAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCB2ZXJ0aWNhbCA9IGRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJztcbiAgICBjb25zdCBidXR0b25TaXplID0gQUNUSU9OX0JBUl9CVVRUT05fU0laRVtsYXlvdXRdO1xuICAgIC8vIERlZmF1bHQgb3JkZXI6IGhvcml6b250YWwg4oaSIHNlY29uZGFyeSBsZWZ0IG9mIHByaW1hcnk7IHZlcnRpY2FsIOKGklxuICAgIC8vIHByaW1hcnkgb24gdG9wLiBBbiBleHBsaWNpdCBgYWN0aW9uLm9yZGVyYCBvdmVycmlkZXMgZWl0aGVyLlxuICAgIGNvbnN0IGl0ZW1zID0gW1xuICAgICAgICBzZWNvbmRhcnkgJiYge1xuICAgICAgICAgICAga2V5OiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgIG9yZGVyOiAoX2EgPSBzZWNvbmRhcnkub3JkZXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICh2ZXJ0aWNhbCA/IDEgOiAwKSxcbiAgICAgICAgICAgIG5vZGU6IHJlbmRlckFjdGlvbihzZWNvbmRhcnksIEFDVElPTl9CQVJfREVGQVVMVFMuc2Vjb25kYXJ5TGFiZWwsIEFDVElPTl9CQVJfREVGQVVMVFMuc2Vjb25kYXJ5Q29sb3IsIChfYiA9IHNlY29uZGFyeS5zaXplKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBidXR0b25TaXplKSxcbiAgICAgICAgfSxcbiAgICAgICAgKHByaW1hcnkgfHwgcHJpbWFyeVNsb3QgIT0gbnVsbCkgPyB7XG4gICAgICAgICAgICBrZXk6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgIG9yZGVyOiAoX2MgPSBwcmltYXJ5ID09PSBudWxsIHx8IHByaW1hcnkgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHByaW1hcnkub3JkZXIpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6ICh2ZXJ0aWNhbCA/IDAgOiAxKSxcbiAgICAgICAgICAgIG5vZGU6IHByaW1hcnlTbG90ICE9PSBudWxsICYmIHByaW1hcnlTbG90ICE9PSB2b2lkIDAgPyBwcmltYXJ5U2xvdCA6IHJlbmRlckFjdGlvbihwcmltYXJ5LCBBQ1RJT05fQkFSX0RFRkFVTFRTLnByaW1hcnlMYWJlbCwgQUNUSU9OX0JBUl9ERUZBVUxUUy5wcmltYXJ5Q29sb3IsIChfZCA9IHByaW1hcnkuc2l6ZSkgIT09IG51bGwgJiYgX2QgIT09IHZvaWQgMCA/IF9kIDogYnV0dG9uU2l6ZSksXG4gICAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgXVxuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBCb29sZWFuKGl0ZW0pKVxuICAgICAgICAuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuICAgIGlmICghaXRlbXMubGVuZ3RoICYmICFmb290bm90ZSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IHZlcnRpY2FsOiB0cnVlLCBnYXA6IDE2LCBjbGFzc05hbWU6IGpvaW5DbHMoY2xhc3NlcygpLCBjbGFzc2VzKGxheW91dCksIGNsYXNzZXMoZGlyZWN0aW9uKSwgY2xhc3NOYW1lKSwgY2hpbGRyZW46IFtpdGVtcy5sZW5ndGggPiAwICYmIChfanN4KEZsZXgsIHsgdmVydGljYWw6IHZlcnRpY2FsLCBjbGFzc05hbWU6IGNsYXNzZXMoQUNUSU9OX0JBUl9TTE9ULmFjdGlvbnMpLCBjaGlsZHJlbjogaXRlbXMubWFwKChpdGVtKSA9PiAoX2pzeChGcmFnbWVudCwgeyBjaGlsZHJlbjogaXRlbS5ub2RlIH0sIGl0ZW0ua2V5KSkpIH0pKSwgZm9vdG5vdGUgJiYgX2pzeChGb290bm90ZSwgT2JqZWN0LmFzc2lnbih7fSwgZm9vdG5vdGUsIHsgY2xhc3NlczogY2xhc3NlcyB9KSldIH0pKTtcbn07XG5leHBvcnQgY29uc3QgQWN0aW9uQmFyID0gbWVtbyhBY3Rpb25CYXJCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
117
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwibWVtbyIsIkJ1dHRvbiIsIkRpdmlkZXIiLCJGbGV4IiwiVHlwb2dyYXBoeSIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsIkFDVElPTl9CQVJfQlVUVE9OX1NJWkUiLCJBQ1RJT05fQkFSX0RFRkFVTFRTIiwiQUNUSU9OX0JBUl9QUkVGSVgiLCJBQ1RJT05fQkFSX1NMT1QiLCJBQ1RJVkFUSU9OX0tFWVMiLCJyZW5kZXJBY3Rpb24iLCJhY3Rpb24iLCJmYWxsYmFja0xhYmVsIiwiZGVmYXVsdENvbG9yIiwic2l6ZSIsIl9hIiwiX2IiLCJ2YXJpYW50IiwiY29sb3IiLCJpY29uU3RhcnQiLCJpY29uIiwibG9hZGluZyIsImRpc2FibGVkIiwib25DbGljayIsInR5cGUiLCJmb3JtIiwiY2hpbGRyZW4iLCJsYWJlbCIsIkZvb3Rub3RlIiwiX3JlZiIsInByb21wdCIsImRpdmlkZWQiLCJjbGFzc2VzIiwiaGFuZGxlS2V5RG93biIsImV2ZW50IiwiaW5jbHVkZXMiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsImNsYXNzTmFtZSIsImZvb3Rub3RlIiwiYWxpZ24iLCJqdXN0aWZ5IiwiZ2FwIiwiQm9keSIsInN0cm9uZyIsIkxpbmsiLCJyb2xlIiwidGFiSW5kZXgiLCJvbktleURvd24iLCJBY3Rpb25CYXJCYXNlIiwiX3JlZjIiLCJfcmVmMiRsYXlvdXQiLCJsYXlvdXQiLCJfcmVmMiRkaXJlY3Rpb24iLCJkaXJlY3Rpb24iLCJwcmltYXJ5IiwicHJpbWFyeVNsb3QiLCJzZWNvbmRhcnkiLCJfcmVmMiRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJfYyIsIl9kIiwidmVydGljYWwiLCJidXR0b25TaXplIiwiaXRlbXMiLCJvcmRlciIsIm5vZGUiLCJzZWNvbmRhcnlMYWJlbCIsInNlY29uZGFyeUNvbG9yIiwicHJpbWFyeUxhYmVsIiwicHJpbWFyeUNvbG9yIiwidW5kZWZpbmVkIiwiZmlsdGVyIiwiaXRlbSIsIkJvb2xlYW4iLCJzb3J0IiwiYSIsImIiLCJsZW5ndGgiLCJhY3Rpb25zIiwibWFwIiwiT2JqZWN0IiwiYXNzaWduIiwiQWN0aW9uQmFyIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQTlELFNBQVNDLFFBQVEsRUFBRUMsSUFBSSxRQUFRLE9BQU87QUFDdEMsU0FBU0MsTUFBTSxRQUFRLFdBQVc7QUFDbEMsU0FBU0MsT0FBTyxRQUFRLFlBQVk7QUFDcEMsU0FBU0MsSUFBSSxRQUFRLFNBQVM7QUFDOUIsU0FBU0MsVUFBVSxRQUFRLGVBQWU7QUFDMUMsU0FBU0MsT0FBTyxJQUFJQyxVQUFVLEVBQUVDLE9BQU8sUUFBUSx3QkFBd0I7QUFDdkUsU0FDRUMsc0JBQXNCLEVBQ3RCQyxtQkFBbUIsRUFDbkJDLGlCQUFpQixFQUNqQkMsZUFBZSxRQUNWLGFBQWE7QUFLcEIsT0FBTyxTQUFTO0FBRWhCLElBQU1DLGVBQWUsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7QUFFdEMsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQ2hCQyxNQUF1QixFQUN2QkMsYUFBd0IsRUFDeEJDLFlBQXlCLEVBQ3pCQyxJQUFnQixFQUNkO0VEZEEsSUFBSUMsRUFBRSxFQUFFQyxFQUFFO0VDY1QsT0FDSHZCLElBQUEsQ0FBQ0ssTUFBTSxFQUFBO0lBQ0xnQixJQUFJLEVBQUVBLElBQUk7SUFDVkcsT0FBTyxFQUFFTixNQUFNLENBQUNNLE9BQU87SUFDdkJDLEtBQUssRUFBRSxDQUFBSCxFQUFBLEdBQUFKLE1BQU0sQ0FBQ08sS0FBSyxNQUFBLElBQUEsSUFBQUgsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFB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LENBQUNPLElBQUksRUFBQTtNQUFDOEQsUUFBUSxFQUFFQSxRQUFRO01BQUV4QixTQUFTLEVBQUVOLE9BQU8sQ0FBQ3hCLGVBQWUsQ0FBQ3VFLE9BQU8sQ0FBQztNQUFBckQsUUFBQSxFQUNsRXNDLEtBQUssQ0FBQ2dCLEdBQUcsQ0FBQyxVQUFDUCxJQUFJO1FBQUEsT0FDZGhGLElBQUEsQ0FBQ0csUUFBUSxFQUFBO1VBQUE4QixRQUFBLEVBQWlCK0MsSUFBSSxDQUFDUDtRQUFJLENBQUEsRUFBcEJPLElBQUksQ0FBQ3JDLEdBQUcsQ0FBd0I7TUFBQSxDQUNoRDtJQUFDLENBQUEsQ0FFTCxFQUNBRyxRQUFRLElBQUk5QyxJQUFBLENBQUNtQyxRQUFRLEVBQUFxRCxNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBSzNDLFFBQVEsRUFBQTtNQUFFUCxPQUFPLEVBQUVBO0lBQU8sQ0FBQSxDQUFBLENBQUk7RUFBQSxDQUFBLENBQ3BEO0FBRVgsQ0FBQztBQUVELE9BQU8sSUFBTW1ELFNBQVMsZ0JBQUd0RixJQUFJLENBQUNvRCxhQUFhLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9BY3Rpb25CYXIvQWN0aW9uQmFyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IEZyYWdtZW50LCBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJztcbmltcG9ydCB7IERpdmlkZXIgfSBmcm9tICcuLi9EaXZpZGVyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi9GbGV4JztcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQUNUSU9OX0JBUl9CVVRUT05fU0laRSwgQUNUSU9OX0JBUl9ERUZBVUxUUywgQUNUSU9OX0JBUl9QUkVGSVgsIEFDVElPTl9CQVJfU0xPVCwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgQUNUSVZBVElPTl9LRVlTID0gWydFbnRlcicsICcgJ107XG5jb25zdCByZW5kZXJBY3Rpb24gPSAoYWN0aW9uLCBmYWxsYmFja0xhYmVsLCBkZWZhdWx0Q29sb3IsIHNpemUpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIHJldHVybiAoX2pzeChCdXR0b24sIHsgc2l6ZTogc2l6ZSwgdmFyaWFudDogYWN0aW9uLnZhcmlhbnQsIGNvbG9yOiAoX2EgPSBhY3Rpb24uY29sb3IpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGRlZmF1bHRDb2xvciwgaWNvblN0YXJ0OiBhY3Rpb24uaWNvbiwgbG9hZGluZzogYWN0aW9uLmxvYWRpbmcsIGRpc2FibGVkOiBhY3Rpb24uZGlzYWJsZWQsIG9uQ2xpY2s6IGFjdGlvbi5vbkNsaWNrLCB0eXBlOiBhY3Rpb24udHlwZSwgZm9ybTogYWN0aW9uLmZvcm0sIGNoaWxkcmVuOiAoX2IgPSBhY3Rpb24ubGFiZWwpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGZhbGxiYWNrTGFiZWwgfSkpO1xufTtcbmNvbnN0IEZvb3Rub3RlID0gKHsgcHJvbXB0LCBhY3Rpb24sIG9uQ2xpY2ssIGRpdmlkZWQsIGNsYXNzZXMsIH0pID0+IHtcbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghQUNUSVZBVElPTl9LRVlTLmluY2x1ZGVzKGV2ZW50LmtleSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljaygpO1xuICAgIH07XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcyhBQ1RJT05fQkFSX1NMT1QuZm9vdG5vdGUpLCBjaGlsZHJlbjogW2RpdmlkZWQgJiYgX2pzeChEaXZpZGVyLCB7fSksIF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnY2VudGVyJywgZ2FwOiA0LCBjaGlsZHJlbjogW3Byb21wdCAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjaGlsZHJlbjogcHJvbXB0IH0pKSwgYWN0aW9uICYmIChfanN4KFR5cG9ncmFwaHkuTGluaywgeyBzaXplOiAnbWQnLCBjb2xvcjogJ2JyYW5kJywgcm9sZTogJ2J1dHRvbicsIHRhYkluZGV4OiAwLCBvbkNsaWNrOiBvbkNsaWNrLCBvbktleURvd246IGhhbmRsZUtleURvd24sIGNoaWxkcmVuOiBhY3Rpb24gfSkpXSB9KV0gfSkpO1xufTtcbi8qKlxuICogRm9vdGVyIGFjdGlvbiBlbmdpbmUgc2hhcmVkIGJ5IGV2ZXJ5IGZvcm0vZGlhbG9nIHN1cmZhY2UuIE9yZGVyIGFuZCB0b25lc1xuICogYXJlIGxvY2tlZCAoc2Vjb25kYXJ5IGxlZnQsIHByaW1hcnkgcmlnaHQpOyB0aGUgYGxheW91dGAg4oCUIGNob3NlbiBieSB0aGVcbiAqIHNjZW5hcmlvIHNoZWxsLCBuZXZlciBieSBidXNpbmVzcyBjb2RlIOKAlCBkZWNpZGVzIHRoZSB0d28gRFMgZm9vdGVyIHNoYXBlczpcbiAqIGBmaWxsYCAocm93LXNoYXJpbmcgbGFyZ2UgYnV0dG9ucykgb3IgYGNvbXBhY3RgIChhdXRvLXdpZHRoIG1lZGl1bSBidXR0b25zLFxuICogbGVmdC1hbGlnbmVkKS5cbiAqL1xuY29uc3QgQWN0aW9uQmFyQmFzZSA9ICh7IGxheW91dCA9ICdmaWxsJywgZGlyZWN0aW9uID0gJ2hvcml6b250YWwnLCBwcmltYXJ5LCBwcmltYXJ5U2xvdCwgc2Vjb25kYXJ5LCBmb290bm90ZSwgcHJlZml4Q2xzID0gQUNUSU9OX0JBUl9QUkVGSVgsIGNsYXNzTmFtZSwgfSkgPT4ge1xuICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IHZlcnRpY2FsID0gZGlyZWN0aW9uID09PSAndmVydGljYWwnO1xuICAgIGNvbnN0IGJ1dHRvblNpemUgPSBBQ1RJT05fQkFSX0JVVFRPTl9TSVpFW2xheW91dF07XG4gICAgLy8gRGVmYXVsdCBvcmRlcjogaG9yaXpvbnRhbCDihpIgc2Vjb25kYXJ5IGxlZnQgb2YgcHJpbWFyeTsgdmVydGljYWwg4oaSXG4gICAgLy8gcHJpbWFyeSBvbiB0b3AuIEFuIGV4cGxpY2l0IGBhY3Rpb24ub3JkZXJgIG92ZXJyaWRlcyBlaXRoZXIuXG4gICAgY29uc3QgaXRlbXMgPSBbXG4gICAgICAgIHNlY29uZGFyeSAmJiB7XG4gICAgICAgICAgICBrZXk6ICdzZWNvbmRhcnknLFxuICAgICAgICAgICAgb3JkZXI6IChfYSA9IHNlY29uZGFyeS5vcmRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogKHZlcnRpY2FsID8gMSA6IDApLFxuICAgICAgICAgICAgbm9kZTogcmVuZGVyQWN0aW9uKHNlY29uZGFyeSwgQUNUSU9OX0JBUl9ERUZBVUxUUy5zZWNvbmRhcnlMYWJlbCwgQUNUSU9OX0JBUl9ERUZBVUxUUy5zZWNvbmRhcnlDb2xvciwgKF9iID0gc2Vjb25kYXJ5LnNpemUpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGJ1dHRvblNpemUpLFxuICAgICAgICB9LFxuICAgICAgICAocHJpbWFyeSB8fCBwcmltYXJ5U2xvdCAhPSBudWxsKSA/IHtcbiAgICAgICAgICAgIGtleTogJ3ByaW1hcnknLFxuICAgICAgICAgICAgb3JkZXI6IChfYyA9IHByaW1hcnkgPT09IG51bGwgfHwgcHJpbWFyeSA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJpbWFyeS5vcmRlcikgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogKHZlcnRpY2FsID8gMCA6IDEpLFxuICAgICAgICAgICAgbm9kZTogcHJpbWFyeVNsb3QgIT09IG51bGwgJiYgcHJpbWFyeVNsb3QgIT09IHZvaWQgMCA/IHByaW1hcnlTbG90IDogcmVuZGVyQWN0aW9uKHByaW1hcnksIEFDVElPTl9CQVJfREVGQVVMVFMucHJpbWFyeUxhYmVsLCBBQ1RJT05fQkFSX0RFRkFVTFRTLnByaW1hcnlDb2xvciwgKF9kID0gcHJpbWFyeS5zaXplKSAhPT0gbnVsbCAmJiBfZCAhPT0gdm9pZCAwID8gX2QgOiBidXR0b25TaXplKSxcbiAgICAgICAgfSA6IHVuZGVmaW5lZCxcbiAgICBdXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IEJvb2xlYW4oaXRlbSkpXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm9yZGVyIC0gYi5vcmRlcik7XG4gICAgaWYgKCFpdGVtcy5sZW5ndGggJiYgIWZvb3Rub3RlKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgdmVydGljYWw6IHRydWUsIGdhcDogMTYsIGNsYXNzTmFtZTogam9pbkNscyhjbGFzc2VzKCksIGNsYXNzZXMobGF5b3V0KSwgY2xhc3NlcyhkaXJlY3Rpb24pLCBjbGFzc05hbWUpLCBjaGlsZHJlbjogW2l0ZW1zLmxlbmd0aCA+IDAgJiYgKF9qc3goRmxleCwgeyB2ZXJ0aWNhbDogdmVydGljYWwsIGNsYXNzTmFtZTogY2xhc3NlcyhBQ1RJT05fQkFSX1NMT1QuYWN0aW9ucyksIGNoaWxkcmVuOiBpdGVtcy5tYXAoKGl0ZW0pID0+IChfanN4KEZyYWdtZW50LCB7IGNoaWxkcmVuOiBpdGVtLm5vZGUgfSwgaXRlbS5rZXkpKSkgfSkpLCBmb290bm90ZSAmJiBfanN4KEZvb3Rub3RlLCBPYmplY3QuYXNzaWduKHt9LCBmb290bm90ZSwgeyBjbGFzc2VzOiBjbGFzc2VzIH0pKV0gfSkpO1xufTtcbmV4cG9ydCBjb25zdCBBY3Rpb25CYXIgPSBtZW1vKEFjdGlvbkJhckJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -31,6 +31,14 @@ export interface ActionBarAction {
31
31
  variant?: ButtonProps['variant'];
32
32
  /** Leading icon node, forwarded to the Button's `iconStart`. */
33
33
  icon?: ReactNode;
34
+ /**
35
+ * Native button `type` pass-through. The bar sits outside the `<form>`, so
36
+ * `'submit'` only means something together with `form` — the pair makes
37
+ * this the form's default button (Enter activates it, `disabled` blocks it).
38
+ */
39
+ type?: ButtonProps['type'];
40
+ /** Native `form` attribute — associates the button with a `<form>` by id. */
41
+ form?: string;
34
42
  }
35
43
  /**
36
44
  * Custom node for the primary position — takes the primary Button's place in
@@ -3,10 +3,11 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import React, { memo, useEffect, useRef } from 'react';
5
5
  import { Col } from '../Grid';
6
+ import { Icons } from '../Icons';
6
7
  import { TypographyBody, TypographyLabel } from '../Typography';
7
8
  import { default as classnames, joinCls } from '../../utils/classnames';
8
9
  import { useFormItem } from './core/useFormItem';
9
- import { FORM_ERROR_COLOR, FORM_ERROR_SIZE, FORM_WARNING_COLOR, FORM_WARNING_SIZE, FORM_DESCRIPTION_COLOR, FORM_DESCRIPTION_SIZE, FORM_FEEDBACK_COLOR, FORM_FEEDBACK_SIZE, FORM_LABEL_COLOR, FORM_LABEL_SIZES } from './core/constants';
10
+ import { FORM_ERROR_COLOR, FORM_ERROR_SIZE, FORM_MESSAGE_ICON_SIZE, FORM_WARNING_COLOR, FORM_WARNING_SIZE, FORM_DESCRIPTION_COLOR, FORM_DESCRIPTION_SIZE, FORM_FEEDBACK_COLOR, FORM_FEEDBACK_SIZE, FORM_LABEL_COLOR, FORM_LABEL_SIZES } from './core/constants';
10
11
  import { useProFormStable, useProFormStore } from './context';
11
12
  import { useStoreSelector, shallowEqualArrays } from './core/formStore';
12
13
  import { resolveValue } from './core/pathUtils';
@@ -269,12 +270,18 @@ var ProFormItemBase = function ProFormItemBase(props) {
269
270
  })]
270
271
  }), _jsxs("div", {
271
272
  className: classes('control'),
272
- children: [controlChild, fieldError && _jsx(TypographyBody, {
273
- as: "div",
273
+ children: [controlChild, fieldError && _jsxs("div", {
274
274
  className: classes('error'),
275
- size: FORM_ERROR_SIZE,
276
- color: FORM_ERROR_COLOR,
277
- children: fieldError
275
+ children: [_jsx(Icons, {
276
+ className: classes('message-icon'),
277
+ name: "error",
278
+ size: FORM_MESSAGE_ICON_SIZE
279
+ }), _jsx(TypographyBody, {
280
+ as: "span",
281
+ size: FORM_ERROR_SIZE,
282
+ color: FORM_ERROR_COLOR,
283
+ children: fieldError
284
+ })]
278
285
  }), !fieldError && fieldWarning && _jsx(TypographyBody, {
279
286
  as: "div",
280
287
  className: classes('warning'),
@@ -310,4 +317,4 @@ var ProFormItemBase = function ProFormItemBase(props) {
310
317
  ProFormItemBase.displayName = 'ProFormItem';
311
318
  export var ProFormItem = /*#__PURE__*/memo(ProFormItemBase);
312
319
  export default ProFormItem;
313
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtSXRlbS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtSXRlbS50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIlJlYWN0IiwibWVtbyIsInVzZUVmZmVjdCIsInVzZVJlZiIsIkNvbCIsIlR5cG9ncmFwaHlCb2R5IiwiVHlwb2dyYXBoeUxhYmVsIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJqb2luQ2xzIiwidXNlRm9ybUl0ZW0iLCJGT1JNX0VSUk9SX0NPTE9SIiwiRk9STV9FUlJPUl9TSVpFIiwiRk9STV9XQVJOSU5HX0NPTE9SIiwiRk9STV9XQVJOSU5HX1NJWkUiLCJGT1JNX0RFU0NSSVBUSU9OX0NPTE9SIiwiRk9STV9ERVNDUklQVElPTl9TSVpFIiwiRk9STV9GRUVEQkFDS19DT0xPUiIsIkZPUk1fRkVFREJBQ0tfU0laRSIsIkZPUk1fTEFCRUxfQ09MT1IiLCJGT1JNX0xBQkVMX1NJWkVTIiwidXNlUHJvRm9ybVN0YWJsZSIsInVzZVByb0Zvcm1TdG9yZSIsInVzZVN0b3JlU2VsZWN0b3IiLCJzaGFsbG93RXF1YWxBcnJheXMiLCJyZXNvbHZlVmFsdWUiLCJERUZBVUxUX0NPTF9TUEFOIiwidmFsdWVFbnVtVG9PcHRpb25zIiwiZm9ybWF0RGF0ZUJ5UGF0dGVybiIsIkRBVEVfRk9STUFUIiwiREFURV9USU1FX0ZPUk1BVCIsIkVNUFRZX1RFWFRfREVGQVVMVCIsInJlbmRlckJ5VmFsdWVUeXBlIiwidmFsdWVUeXBlIiwidmFsdWUiLCJwcm9wcyIsInVuZGVmaW5lZCIsInJlcGVhdCIsIlN0cmluZyIsImxlbmd0aCIsIm51bSIsIk51bWJlciIsImlzTmFOIiwidG9Mb2NhbGVTdHJpbmciLCJ2YWx1ZUVudW0iLCJvcHRpb25zIiwibWF0Y2giLCJmaW5kIiwibyIsImxhYmVsIiwiRGF0ZSIsIlJlYWRvbmx5Q2hpbGRCYXNlIiwiX3JlZiIsIm5hbWUiLCJjb252ZXJ0VmFsdWUiLCJyZWFkb25seVJlbmRlciIsImVtcHR5VGV4dCIsInN0b3JlIiwiX3VzZVN0b3JlU2VsZWN0b3IiLCJzdGF0ZSIsInZhbHVlcyIsIl91c2VTdG9yZVNlbGVjdG9yMiIsIl9zbGljZWRUb0FycmF5IiwicmF3IiwiYWxsVmFsdWVzIiwibm9kZSIsImdldFN0YXRlIiwiY2hpbGRyZW4iLCJyZW5kZXJlZCIsImRpc3BsYXlOYW1lIiwiUmVhZG9ubHlDaGlsZCIsIkNvbnZlcnRWYWx1ZUNoaWxkQmFzZSIsIl9yZWYyIiwiX3JlZjIkdmFsdWVQcm9wTmFtZSIsInZhbHVlUHJvcE5hbWUiLCJjb252ZXJ0ZWQiLCJjbG9uZUVsZW1lbnQiLCJfZGVmaW5lUHJvcGVydHkiLCJDb252ZXJ0VmFsdWVDaGlsZCIsIlByb0Zvcm1JdGVtQmFzZSIsIl9hIiwiY3R4IiwibWVyZ2VkUHJvcHMiLCJmb3JtSXRlbVByb3BzIiwibWVyZ2VkIiwiT2JqZWN0IiwiYXNzaWduIiwiX2kiLCJfT2JqZWN0JGtleXMiLCJrZXlzIiwia2V5IiwiX21lcmdlZFByb3BzIiwiZGVzY3JpcHRpb24iLCJydWxlcyIsImZlZWRiYWNrIiwidmFsaWRhdGVTdGF0dXMiLCJfbWVyZ2VkUHJvcHMkY2xhc3NOYW0iLCJjbGFzc05hbWUiLCJfbWVyZ2VkUHJvcHMkcHJlZml4Q2wiLCJwcmVmaXhDbHMiLCJoaWRkZW4iLCJ0cmFuc2Zvcm0iLCJjb2xQcm9wcyIsIm1vZGVQcm9wIiwibW9kZSIsIl9tZXJnZWRQcm9wcyRlbXB0eVRleCIsInZhbGlkYXRlRGVib3VuY2UiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJtZXJnZWRNb2RlIiwiaXNSZWFkb25seSIsIl91c2VGb3JtSXRlbSIsImZpZWxkRXJyb3IiLCJmaWVsZFdhcm5pbmciLCJzaXplIiwibGFiZWxBbGlnbiIsImluamVjdEZpZWxkIiwib3duVHJhbnNmb3JtUmVmIiwib3duVmFsdWVUeXBlUmVmIiwicHJldlRyYW5zZm9ybSIsImN1cnJlbnQiLCJ1bnJlZ2lzdGVyVHJhbnNmb3JtIiwiZm4iLCJyZWdpc3RlclRyYW5zZm9ybSIsInByZXZWYWx1ZVR5cGUiLCJ1bnJlZ2lzdGVyVmFsdWVUeXBlIiwicmVnaXN0ZXJWYWx1ZVR5cGUiLCJ0cmFuc2Zvcm1SZWciLCJ2YWx1ZVR5cGVSZWciLCJ0IiwidiIsImNvbnRyb2xDaGlsZCIsImluamVjdGVkIiwiaXNWYWxpZEVsZW1lbnQiLCJjbGFzc2VzIiwiaXRlbUdhcCIsImxheW91dCIsImdhcFN0eWxlIiwibWFyZ2luQm90dG9tIiwiY29uY2F0Iiwic2hlbGwiLCJzdHlsZSIsImFzIiwic3Ryb25nIiwiY29sb3IiLCJncmlkIiwiX21lcmdlZCRzcGFuIiwic3BhbiIsInNtIiwibWQiLCJsZyIsIlByb0Zvcm1JdGVtIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxFQUFFQyxJQUFJLElBQUlDLEtBQUssUUFBUSxtQkFBbUI7QUNBOUQsT0FBT0MsS0FBSyxJQUFJQyxJQUFJLEVBQUVDLFNBQVMsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFFdEQsU0FBU0MsR0FBRyxRQUFRLFNBQVM7QUFDN0IsU0FBU0MsY0FBYyxFQUFFQyxlQUFlLFFBQVEsZUFBZTtBQUMvRCxTQUFTQyxPQUFPLElBQUlDLFVBQVUsRUFBRUMsT0FBTyxRQUFRLHdCQUF3QjtBQUN2RSxTQUFTQyxXQUFXLFFBQVEsb0JBQW9CO0FBQ2hELFNBQ0VDLGdCQUFnQixFQUNoQkMsZUFBZSxFQUNmQyxrQkFBa0IsRUFDbEJDLGlCQUFpQixFQUNqQkMsc0JBQXNCLEVBQ3RCQyxxQkFBcUIsRUFDckJDLG1CQUFtQixFQUNuQkMsa0JBQWtCLEVBQ2xCQyxnQkFBZ0IsRUFDaEJDLGdCQUFnQixRQUNYLGtCQUFrQjtBQUN6QixTQUFTQyxnQkFBZ0IsRUFBRUMsZUFBZSxRQUFRLFdBQVc7QUFDN0QsU0FBU0MsZ0JBQWdCLEVBQUVDLGtCQUFrQixRQUFRLGtCQUFrQjtBQUN2RSxTQUFTQyxZQUFZLFFBQVEsa0JBQWtCO0FBQy9DLFNBQVNDLGdCQUFnQixRQUFRLGFBQWE7QUFDOUMsU0FBU0Msa0JBQWtCLEVBQUVDLG1CQUFtQixFQUFFQyxXQUFXLEVBQUVDLGdCQUFnQixRQUFRLFNBQVM7QUFJaEcsSUFBTUMsa0JBQWtCLEdBQUcsR0FBRztBQUU5QjtBQUNBO0FBQ0E7QUFDQSxTQUFTQyxpQkFBaUJBLENBQ3hCQyxTQUF1QyxFQUN2Q0MsS0FBVSxFQUNWQyxLQUEwQyxFQUFBO0VBRTFDLElBQUlELEtBQUssS0FBSyxJQUFJLElBQUlBLEtBQUssS0FBS0UsU0FBUyxJQUFJRixLQUFLLEtBQUssRUFBRSxFQUFFLE9BQU8sSUFBSTtFQUV0RSxRQUFRRCxTQUFTO0lBQ2YsS0FBSyxVQUFVO01BQ2IsT0FBTyxHQUFHLENBQUNJLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDSixLQUFLLENBQUMsQ0FBQ0ssTUFBTSxDQUFDO0lBQ3pDLEtBQUssUUFBUTtNQUNYLE9BQU9MLEtBQUssR0FBRyxJQUFJLEdBQUcsS0FBSztJQUM3QixLQUFLLE9BQU87TUFBRTtRQUNaLElBQU1NLEdBQUcsR0FBR0MsTUFBTSxDQUFDUCxLQUFLLENBQUM7UUFDekIsSUFBSU8sTUFBTSxDQUFDQyxLQUFLLENBQUNGLEdBQUcsQ0FBQyxFQUFFLE9BQU9GLE1BQU0sQ0FBQ0osS0FBSyxDQUFDO1FBQzNDLE9BQU9NLEdBQUcsQ0FBQ0csY0FBYyxDQUFBLENBQUU7TUFDN0I7SUFDQSxLQUFLLFFBQVE7SUFDYixLQUFLLE9BQU87SUFDWixLQUFLLEtBQUs7TUFBRTtRQUNWLElBQUksQ0FBQ1IsS0FBSyxDQUFDUyxTQUFTLEVBQUUsT0FBT04sTUFBTSxDQUFDSixLQUFLLENBQUM7UUFDMUMsSUFBTVcsT0FBTyxHQUFHbEIsa0JBQWtCLENBQUNRLEtBQUssQ0FBQ1MsU0FBUyxDQUFDO1FBQ25ELElBQU1FLEtBQUssR0FBR0QsT0FBTyxDQUFDRSxJQUFJLENBQUMsVUFBQ0MsQ0FBQztVQUFBLE9BQUtWLE1BQU0sQ0FBQ1UsQ0FBQyxDQUFDZCxLQUFLLENBQUMsS0FBS0ksTUFBTSxDQUFDSixLQUFLLENBQUM7UUFBQSxFQUFDO1FBQ3BFLE9BQU9ZLEtBQUssR0FBR0EsS0FBSyxDQUFDRyxLQUFLLEdBQUdYLE1BQU0sQ0FBQ0osS0FBSyxDQUFDO01BQzVDO0lBQ0EsS0FBSyxNQUFNO01BQ1QsT0FBT0EsS0FBSyxZQUFZZ0IsSUFBSSxHQUFHdEIsbUJBQW1CLENBQUNNLEtBQUssRUFBRUwsV0FBVyxDQUFDLEdBQUdTLE1BQU0sQ0FBQ0osS0FBSyxDQUFDO0lBQ3hGLEtBQUssVUFBVTtNQUNiLE9BQU9BLEtBQUssWUFBWWdCLElBQUksR0FBR3RCLG1CQUFtQixDQUFDTSxLQUFLLEVBQUVKLGdCQUFnQixDQUFDLEdBQUdRLE1BQU0sQ0FBQ0osS0FBSyxDQUFDO0lBQzdGLEtBQUssTUFBTTtJQUNYO01BQ0UsT0FBT0ksTUFBTSxDQUFDSixLQUFLLENBQUM7RUFDeEI7QUFDRjtBQWNBLElBQU1pQixpQkFBaUIsR0FBMkIsU0FBNUNBLGlCQUFpQkEsQ0FBQUMsSUFBQSxFQU9sQjtFQUFBLElBTkhDLElBQUksR0FBQUQsSUFBQSxDQUFKQyxJQUFJO0lBQ0pwQixTQUFTLEdBQUFtQixJQUFBLENBQVRuQixTQUFTO0lBQ1RXLFNBQVMsR0FBQVEsSUFBQSxDQUFUUixTQUFTO0lBQ1RVLFlBQVksR0FBQUYsSUFBQSxDQUFaRSxZQUFZO0lBQ1pDLGNBQWMsR0FBQUgsSUFBQSxDQUFkRyxjQUFjO0lBQ2RDLFNBQVMsR0FBQUosSUFBQSxDQUFUSSxTQUFTO0VBRVQsSUFBTUMsS0FBSyxHQUFHbkMsZUFBZSxDQUFBLENBQUU7RUFDL0I7RUFDQTtFQUNBLElBQUFvQyxpQkFBQSxHQUF5Qm5DLGdCQUFnQixDQUN2Q2tDLEtBQUssRUFDTCxVQUFDRSxLQUFLO01BQUEsT0FBNkMsQ0FDakROLElBQUksR0FBRzVCLFlBQVksQ0FBQ2tDLEtBQUssQ0FBQ0MsTUFBTSxFQUFFUCxJQUFJLENBQUMsR0FBR2pCLFNBQVMsRUFDbkRtQixjQUFjLEdBQUdJLEtBQUssQ0FBQ0MsTUFBTSxHQUFHeEIsU0FBUyxDQUMxQztJQUFBLEdBQ0RaLGtCQUFrQixDQUNuQjtJQUFBcUMsa0JBQUEsR0FBQUMsY0FBQSxDQUFBSixpQkFBQTtJQVBNSyxHQUFHLEdBQUFGLGtCQUFBO0lBQUVHLFNBQVMsR0FBQUgsa0JBQUE7RUFRckIsSUFBTTNCLEtBQUssR0FBR29CLFlBQVksSUFBSUQsSUFBSSxHQUFHQyxZQUFZLENBQUNTLEdBQUcsRUFBRVYsSUFBSSxDQUFDLEdBQUdVLEdBQUc7RUFFbEUsSUFBSVIsY0FBYyxFQUFFO0lBQ2xCLElBQU1VLElBQUksR0FBR1YsY0FBYyxDQUFDckIsS0FBSyxFQUFFOEIsU0FBUyxLQUFBLElBQUEsSUFBVEEsU0FBUyxLQUFBLEtBQUEsQ0FBQSxHQUFUQSxTQUFTLEdBQUlQLEtBQUssQ0FBQ1MsUUFBUSxDQUFBLENBQUUsQ0FBQ04sTUFBTSxDQUFDO0lBQ3hFLE9BQU8vRCxJQUFBLENBQUEsTUFBQSxFQUFBO01BQUFzRSxRQUFBLEVBQU9GLElBQUksS0FBQSxJQUFBLElBQUpBLElBQUksS0FBQSxLQUFBLENBQUEsR0FBSkEsSUFBSSxHQUFJVDtJQUFTLENBQUEsQ0FBUTtFQUN6QztFQUVBLElBQUl0QixLQUFLLEtBQUssSUFBSSxJQUFJQSxLQUFLLEtBQUtFLFNBQVMsSUFBSUYsS0FBSyxLQUFLLEVBQUUsRUFBRTtJQUN6RCxPQUFPckMsSUFBQSxDQUFBLE1BQUEsRUFBQTtNQUFBc0UsUUFBQSxFQUFPWDtJQUFTLENBQUEsQ0FBUTtFQUNqQztFQUVBLElBQU1ZLFFBQVEsR0FBR3BDLGlCQUFpQixDQUFDQyxTQUFTLEVBQUVDLEtBQUssRUFBRTtJQUFFVSxTQUFTLEVBQVRBO0VBQVMsQ0FBRSxDQUFDO0VBQ25FLE9BQU8vQyxJQUFBLENBQUEsTUFBQSxFQUFBO0lBQUFzRSxRQUFBLEVBQU9DLFFBQVEsS0FBQSxJQUFBLElBQVJBLFFBQVEsS0FBQSxLQUFBLENBQUEsR0FBUkEsUUFBUSxHQUFJWjtFQUFTLENBQUEsQ0FBUTtBQUM3QyxDQUFDO0FBRURMLGlCQUFpQixDQUFDa0IsV0FBVyxHQUFHLHFCQUFxQjtBQUNyRCxJQUFNQyxhQUFhLGdCQUFHckUsSUFBSSxDQUFDa0QsaUJBQWlCLENBQUM7QUFhN0MsSUFBTW9CLHFCQUFxQixHQUErQixTQUFwREEscUJBQXFCQSxDQUFBQyxLQUFBLEVBS3RCO0VBQUEsSUFKSG5CLElBQUksR0FBQW1CLEtBQUEsQ0FBSm5CLElBQUk7SUFDSkMsWUFBWSxHQUFBa0IsS0FBQSxDQUFabEIsWUFBWTtJQUFBbUIsbUJBQUEsR0FBQUQsS0FBQSxDQUNaRSxhQUFhO0lBQWJBLGFBQWEsR0FBQUQsbUJBQUEsY0FBRyxPQUFPLEdBQUFBLG1CQUFBO0lBQ3ZCTixRQUFRLEdBQUFLLEtBQUEsQ0FBUkwsUUFBUTtFQUVSLElBQU1WLEtBQUssR0FBR25DLGVBQWUsQ0FBQSxDQUFFO0VBQy9CLElBQU15QyxHQUFHLEdBQUd4QyxnQkFBZ0IsQ0FBQ2tDLEtBQUssRUFBRSxVQUFDRSxLQUFLO0lBQUEsT0FBS2xDLFlBQVksQ0FBQ2tDLEtBQUssQ0FBQ0MsTUFBTSxFQUFFUCxJQUFJLENBQUM7RUFBQSxFQUFDO0VBQ2hGLElBQU1zQixTQUFTLEdBQUdyQixZQUFZLEdBQUdBLFlBQVksQ0FBQ1MsR0FBRyxFQUFFVixJQUFJLENBQUMsR0FBR1UsR0FBRztFQUM5RCxvQkFBTy9ELEtBQUssQ0FBQzRFLFlBQVksQ0FBQ1QsUUFBUSxFQUFBVSxlQUFBLEtBQUtILGFBQWEsRUFBR0MsU0FBUyxDQUF5QixDQUFDO0FBQzVGLENBQUM7QUFFREoscUJBQXFCLENBQUNGLFdBQVcsR0FBRyx5QkFBeUI7QUFDN0QsSUFBTVMsaUJBQWlCLGdCQUFHN0UsSUFBSSxDQUFDc0UscUJBQXFCLENBQUM7QUFFckQ7QUFDQTtBQUNBO0FBQ0EsSUFBTVEsZUFBZSxHQUF5QixTQUF4Q0EsZUFBZUEsQ0FBMEI1QyxLQUFLLEVBQUk7RUQvRHBELElBQUk2QyxFQUFFO0VDZ0VSO0VBQ0E7RUFDQSxJQUFNQyxHQUFHLEdBQUc1RCxnQkFBZ0IsQ0FBQSxDQUFFO0VBRTlCO0VBQ0E7RUFDQTtFQUNBLElBQUk2RCxXQUFXLEdBQUcvQyxLQUFLO0VBQ3ZCLElBQUk4QyxHQUFHLENBQUNFLGFBQWEsRUFBRTtJQUNyQixJQUFNQyxNQUFNLEdBQUFDLE1BQUEsQ0FBQUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUE2QkwsR0FBRyxDQUFDRSxhQUFhLENBQUU7SUFDNUQsU0FBQUksRUFBQSxNQUFBQyxZQUFBLEdBQWtCSCxNQUFNLENBQUNJLElBQUksQ0FBQ3RELEtBQUssQ0FBQyxFQUFBb0QsRUFBQSxHQUFBQyxZQUFBLENBQUFqRCxNQUFBLEVBQUFnRCxFQUFBLElBQUU7TUFBakMsSUFBTUcsR0FBRyxHQUFBRixZQUFBLENBQUFELEVBQUE7TUFDWixJQUFNckQsS0FBSyxHQUFJQyxLQUE2QixDQUFDdUQsR0FBRyxDQUFDO01BQ2pELElBQUl4RCxLQUFLLEtBQUtFLFNBQVMsRUFBRWdELE1BQU0sQ0FBQ00sR0FBRyxDQUFDLEdBQUd4RCxLQUFLO0lBQzlDO0lBQ0FnRCxXQUFXLEdBQUdFLE1BQTBCO0VBQzFDO0VBRUEsSUFBQU8sWUFBQSxHQXNCSVQsV0FBVztJQXJCYmYsUUFBUSxHQUFBd0IsWUFBQSxDQUFSeEIsUUFBUTtJQUNSZCxJQUFJLEdBQUFzQyxZQUFBLENBQUp0QyxJQUFJO0lBQ0pKLEtBQUssR0FBQTBDLFlBQUEsQ0FBTDFDLEtBQUs7SUFDTDJDLFdBQVcsR0FBQUQsWUFBQSxDQUFYQyxXQUFXO0lBQ1hDLEtBQUssR0FBQUYsWUFBQSxDQUFMRSxLQUFLO0lBQ0xDLFFBQVEsR0FBQUgsWUFBQSxDQUFSRyxRQUFRO0lBQ1JDLGNBQWMsR0FBQUosWUFBQSxDQUFkSSxjQUFjO0lBQUFDLHFCQUFBLEdBQUFMLFlBQUEsQ0FDZE0sU0FBUztJQUFUQSxTQUFTLEdBQUFELHFCQUFBLGNBQUcsRUFBRSxHQUFBQSxxQkFBQTtJQUFBRSxxQkFBQSxHQUFBUCxZQUFBLENBQ2RRLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxxQkFBQSxjQUFHLFdBQVcsR0FBQUEscUJBQUE7SUFDdkJFLE1BQU0sR0FBQVQsWUFBQSxDQUFOUyxNQUFNO0lBQ05DLFNBQVMsR0FBQVYsWUFBQSxDQUFUVSxTQUFTO0lBQ1QvQyxZQUFZLEdBQUFxQyxZQUFBLENBQVpyQyxZQUFZO0lBQ1pyQixTQUFTLEdBQUEwRCxZQUFBLENBQVQxRCxTQUFTO0lBQ1RzQixjQUFjLEdBQUFvQyxZQUFBLENBQWRwQyxjQUFjO0lBQ2QrQyxRQUFRLEdBQUFYLFlBQUEsQ0FBUlcsUUFBUTtJQUNGQyxRQUFRLEdBQUFaLFlBQUEsQ0FBZGEsSUFBSTtJQUFBQyxxQkFBQSxHQUFBZCxZQUFBLENBQ0puQyxTQUFTO0lBQVRBLFNBQVMsR0FBQWlELHFCQUFBLGNBQUcxRSxrQkFBa0IsR0FBQTBFLHFCQUFBO0lBQzlCN0QsU0FBUyxHQUFBK0MsWUFBQSxDQUFUL0MsU0FBUztJQUNUOEIsYUFBYSxHQUFBaUIsWUFBQSxDQUFiakIsYUFBYTtJQUNiZ0MsZ0JBQWdCLEdBQUFmLFlBQUEsQ0FBaEJlLGdCQUFnQjtJQUNoQkMsZUFBZSxHQUFBaEIsWUFBQSxDQUFmZ0IsZUFBZTtFQUdqQixJQUFNQyxVQUFVLEdBQUdMLFFBQVEsS0FBQSxJQUFBLElBQVJBLFFBQVEsS0FBQSxLQUFBLENBQUEsR0FBUkEsUUFBUSxHQUFJdEIsR0FBRyxDQUFDdUIsSUFBSTtFQUN2QyxJQUFNSyxVQUFVLEdBQUdELFVBQVUsS0FBSyxNQUFNO0VBRXhDLElBQUFFLFlBQUEsR0FNSXBHLFdBQVcsQ0FBQztNQUNkMkMsSUFBSSxFQUFKQSxJQUFJO01BQ0p3QyxLQUFLLEVBQUxBLEtBQUs7TUFDTEUsY0FBYyxFQUFkQSxjQUFjO01BQ2RyQixhQUFhLEVBQWJBLGFBQWE7TUFDYmdDLGdCQUFnQixFQUFoQkEsZ0JBQWdCO01BQ2hCQyxlQUFlLEVBQWZBO0lEN0ZBLENDOEZELENBQUM7SUFaQUksVUFBVSxHQUFBRCxZQUFBLENBQVZDLFVBQVU7SUFDVkMsWUFBWSxHQUFBRixZQUFBLENBQVpFLFlBQVk7SUFDWkMsSUFBSSxHQUFBSCxZQUFBLENBQUpHLElBQUk7SUFDSkMsVUFBVSxHQUFBSixZQUFBLENBQVZJLFVBQVU7SUFDVkMsV0FBVyxHQUFBTCxZQUFBLENBQVhLLFdBQVc7RUFVYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsSUFBTUMsZUFBZSxHQUFHakgsTUFBTSxDQUF1RCxJQUFJLENBQUM7RUFDMUYsSUFBTWtILGVBQWUsR0FBR2xILE1BQU0sQ0FBdUQsSUFBSSxDQUFDO0VBRTFGLElBQU1tSCxhQUFhLEdBQUdGLGVBQWUsQ0FBQ0csT0FBTztFQUM3QyxJQUFJRCxhQUFhLEtBQUtBLGFBQWEsQ0FBQ2pFLElBQUksS0FBS0EsSUFBSSxJQUFJLENBQUNnRCxTQUFTLENBQUMsRUFBRTtJQUNoRXBCLEdBQUcsQ0FBQ3VDLG1CQUFtQixDQUFDRixhQUFhLENBQUNqRSxJQUFJLEVBQUVpRSxhQUFhLENBQUNHLEVBQUUsQ0FBQztJQUM3REwsZUFBZSxDQUFDRyxPQUFPLEdBQUcsSUFBSTtFQUNoQztFQUNBLElBQUlsRSxJQUFJLElBQUlnRCxTQUFTLEVBQUU7SUFDckJwQixHQUFHLENBQUN5QyxpQkFBaUIsQ0FBQ3JFLElBQUksRUFBRWdELFNBQVMsQ0FBQztJQUN0Q2UsZUFBZSxDQUFDRyxPQUFPLEdBQUc7TUFBRWxFLElBQUksRUFBSkEsSUFBSTtNQUFFb0UsRUFBRSxFQUFFcEI7SUFBUyxDQUFFO0VBQ25EO0VBRUEsSUFBTXNCLGFBQWEsR0FBR04sZUFBZSxDQUFDRSxPQUFPO0VBQzdDLElBQUlJLGFBQWEsS0FBS0EsYUFBYSxDQUFDdEUsSUFBSSxLQUFLQSxJQUFJLElBQUksQ0FBQ3BCLFNBQVMsQ0FBQyxFQUFFO0lBQ2hFZ0QsR0FBRyxDQUFDMkMsbUJBQW1CLENBQUNELGFBQWEsQ0FBQ3RFLElBQUksRUFBRXNFLGFBQWEsQ0FBQzFGLFNBQVMsQ0FBQztJQUNwRW9GLGVBQWUsQ0FBQ0UsT0FBTyxHQUFHLElBQUk7RUFDaEM7RUFDQSxJQUFJbEUsSUFBSSxJQUFJcEIsU0FBUyxFQUFFO0lBQ3JCZ0QsR0FBRyxDQUFDNEMsaUJBQWlCLENBQUN4RSxJQUFJLEVBQUVwQixTQUFTLENBQUM7SUFDdENvRixlQUFlLENBQUNFLE9BQU8sR0FBRztNQUFFbEUsSUFBSSxFQUFKQSxJQUFJO01BQUVwQixTQUFTLEVBQVRBO0lBQVMsQ0FBRTtFQUMvQztFQUVBL0IsU0FBUyxDQUFDLFlBQUs7SUFDYjtJQUNBO0lBQ0E7SUFDQTtJQUNBLElBQU00SCxZQUFZLEdBQUdWLGVBQWUsQ0FBQ0csT0FBTztJQUM1QyxJQUFJTyxZQUFZLEVBQUU3QyxHQUFHLENBQUN5QyxpQkFBaUIsQ0FBQ0ksWUFBWSxDQUFDekUsSUFBSSxFQUFFeUUsWUFBWSxDQUFDTCxFQUFFLENBQUM7SUFDM0UsSUFBTU0sWUFBWSxHQUFHVixlQUFlLENBQUNFLE9BQU87SUFDNUMsSUFBSVEsWUFBWSxFQUFFOUMsR0FBRyxDQUFDNEMsaUJBQWlCLENBQUNFLFlBQVksQ0FBQzFFLElBQUksRUFBRTBFLFlBQVksQ0FBQzlGLFNBQVMsQ0FBQztJQUNsRixPQUFPLFlBQUs7TUFDVixJQUFNK0YsQ0FBQyxHQUFHWixlQUFlLENBQUNHLE9BQU87TUFDakMsSUFBSVMsQ0FBQyxFQUFFL0MsR0FBRyxDQUFDdUMsbUJBQW1CLENBQUNRLENBQUMsQ0FBQzNFLElBQUksRUFBRTJFLENBQUMsQ0FBQ1AsRUFBRSxDQUFDO01BQzVDLElBQU1RLENBQUMsR0FBR1osZUFBZSxDQUFDRSxPQUFPO01BQ2pDLElBQUlVLENBQUMsRUFBRWhELEdBQUcsQ0FBQzJDLG1CQUFtQixDQUFDSyxDQUFDLENBQUM1RSxJQUFJLEVBQUU0RSxDQUFDLENBQUNoRyxTQUFTLENBQUM7SUFDckQsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDb0IsSUFBSSxFQUFFNEIsR0FBRyxDQUFDeUMsaUJBQWlCLEVBQUV6QyxHQUFHLENBQUN1QyxtQkFBbUIsRUFBRXZDLEdBQUcsQ0FBQzRDLGlCQUFpQixFQUFFNUMsR0FBRyxDQUFDMkMsbUJBQW1CLENBQUMsQ0FBQztFQUUxRyxJQUFJeEIsTUFBTSxFQUFFLE9BQU8sSUFBSTtFQUV2QixJQUFJOEIsWUFBdUI7RUFDM0IsSUFBSXJCLFVBQVUsRUFBRTtJQUNkcUIsWUFBWSxHQUNWckksSUFBQSxDQUFDeUUsYUFBYSxFQUFBO01BQ1pqQixJQUFJLEVBQUVBLElBQUk7TUFDVnBCLFNBQVMsRUFBRUEsU0FBUztNQUNwQlcsU0FBUyxFQUFFQSxTQUFTO01BQ3BCVSxZQUFZLEVBQUVBLFlBQVk7TUFDMUJDLGNBQWMsRUFBRUEsY0FBYztNQUM5QkMsU0FBUyxFQUFFQTtJQUFTLENBQUEsQ0FFdkI7RUFDSCxDQUFDLE1BQU07SUFDTDtJQUNBO0lBQ0EsSUFBTTJFLFFBQVEsR0FBR2hCLFdBQVcsQ0FBQ2hELFFBQVEsQ0FBQztJQUN0QyxJQUFJYixZQUFZLElBQUlELElBQUksaUJBQUlyRCxLQUFLLENBQUNvSSxjQUFjLENBQUNELFFBQVEsQ0FBQyxFQUFFO01BQzFERCxZQUFZLEdBQ1ZySSxJQUFBLENBQUNpRixpQkFBaUIsRUFBQTtRQUFDekIsSUFBSSxFQUFFQSxJQUFJO1FBQUVDLFlBQVksRUFBRUEsWUFBWTtRQUFFb0IsYUFBYSxFQUFFQSxhQUFhO1FBQUFQLFFBQUEsRUFDcEZnRTtNQUE4QixDQUFBLENBRWxDO0lBQ0gsQ0FBQyxNQUFNO01BQ0xELFlBQVksR0FBR0MsUUFBUTtJQUN6QjtFQUNGO0VBRUEsSUFBTUUsT0FBTyxHQUFHN0gsVUFBVSxDQUFDMkYsU0FBUyxDQUFDO0VBRXJDO0VBQ0E7RUFDQSxJQUFNbUMsT0FBTyxHQUFHLENBQUF0RCxFQUFBLEdBQUFDLEdBQUcsQ0FBQ3NELE1BQU0sTUFBQSxJQUFBLElBQUF2RCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXNELE9BQU87RUFDbkMsSUFBTUUsUUFBUSxHQUNaRixPQUFPLEtBQUtsRyxTQUFTLEdBQ2pCO0lBQUVxRyxZQUFZLEVBQUUsT0FBT0gsT0FBTyxLQUFLLFFBQVEsTUFBQUksTUFBQSxDQUFNSixPQUFPLFVBQU9BO0VBQU8sQ0FBRSxHQUN4RWxHLFNBQVM7RUFFZixJQUFNdUcsS0FBSyxHQUNUNUksS0FBQSxDQUFBLEtBQUEsRUFBQTtJQUNFa0csU0FBUyxFQUFFb0MsT0FBTyxDQUNoQmpHLFNBQVMsRUFDVDNCLE9BQU8sQ0FBQzRILE9BQU8sQ0FBQ3BCLElBQUksQ0FBQyxFQUFFaEIsU0FBUyxDQUFDLENBQ2xDO0lBQ0QyQyxLQUFLLEVBQUVKLFFBQVE7SUFBQXJFLFFBQUEsRUFBQSxDQUVkbEIsS0FBSyxJQUNKbEQsS0FBQSxDQUFBLEtBQUEsRUFBQTtNQUNFa0csU0FBUyxFQUFFb0MsT0FBTyxDQUNoQixlQUFlLEVBQ2Y1SCxPQUFPLENBQ0w0SCxPQUFPLENBQUMsd0JBQXdCLENBQUMsRUFDakNuQixVQUFVLElBQUltQixPQUFPLGtCQUFBSyxNQUFBLENBQWtCeEIsVUFBVSxDQUFFLENBQUMsQ0FDckQsQ0FDRjtNQUFBL0MsUUFBQSxFQUFBLENBS0R0RSxJQUFBLENBQUNTLGVBQWUsRUFBQTtRQUNkdUksRUFBRSxFQUFDLE9BQU87UUFDVkMsTUFBTSxFQUFBLElBQUE7UUFDTjdCLElBQUksRUFBRTdGLGdCQUFnQixDQUFDNkYsSUFBSSxDQUFDO1FBQzVCOEIsS0FBSyxFQUFFNUgsZ0JBQWdCO1FBQ3ZCOEUsU0FBUyxFQUFFb0MsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUFBbEUsUUFBQSxFQUUxQmxCO01BQUssQ0FBQSxDQUNVLEVBQ2pCMkMsV0FBVyxJQUNWL0YsSUFBQSxDQUFDUSxjQUFjLEVBQUE7UUFDYndJLEVBQUUsRUFBQyxLQUFLO1FBQ1I1QyxTQUFTLEVBQUVvQyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ2pDcEIsSUFBSSxFQUFFakcscUJBQXFCO1FBQzNCK0gsS0FBSyxFQUFFaEksc0JBQXNCO1FBQUFvRCxRQUFBLEVBRTVCeUI7TUFBVyxDQUFBLENBRWY7SUFBQSxDQUFBLENBRUosRUFFRDdGLEtBQUEsQ0FBQSxLQUFBLEVBQUE7TUFBS2tHLFNBQVMsRUFBRW9DLE9BQU8sQ0FBQyxTQUFTLENBQUM7TUFBQWxFLFFBQUEsRUFBQSxDQUMvQitELFlBQVksRUFFWm5CLFVBQVUsSUFDVGxILElBQUEsQ0FBQ1EsY0FBYyxFQUFBO1FBQ2J3SSxFQUFFLEVBQUMsS0FBSztRQUNSNUMsU0FBUyxFQUFFb0MsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMzQnBCLElBQUksRUFBRXJHLGVBQWU7UUFDckJtSSxLQUFLLEVBQUVwSSxnQkFBZ0I7UUFBQXdELFFBQUEsRUFFdEI0QztNQUFVLENBQUEsQ0FFZCxFQUVBLENBQUNBLFVBQVUsSUFBSUMsWUFBWSxJQUMxQm5ILElBQUEsQ0FBQ1EsY0FBYyxFQUFBO1FBQ2J3SSxFQUFFLEVBQUMsS0FBSztRQUNSNUMsU0FBUyxFQUFFb0MsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUM3QnBCLElBQUksRUFBRW5HLGlCQUFpQjtRQUN2QmlJLEtBQUssRUFBRWxJLGtCQUFrQjtRQUFBc0QsUUFBQSxFQUV4QjZDO01BQVksQ0FBQSxDQUVoQixFQUVBLENBQUNELFVBQVUsSUFBSSxDQUFDQyxZQUFZLElBQUlsQixRQUFRLElBQ3ZDakcsSUFBQSxDQUFDUSxjQUFjLEVBQUE7UUFDYndJLEVBQUUsRUFBQyxLQUFLO1FBQ1I1QyxTQUFTLEVBQUVvQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQzlCcEIsSUFBSSxFQUFFL0Ysa0JBQWtCO1FBQ3hCNkgsS0FBSyxFQUFFOUgsbUJBQW1CO1FBQUFrRCxRQUFBLEVBRXpCMkI7TUFBUSxDQUFBLENBRVo7SUFBQSxDQUFBLENBQ0c7RUFBQSxDQUFBLENBRVQ7RUFFRCxJQUFJYixHQUFHLENBQUMrRCxJQUFJLEVBQUU7SUFDWixJQUFNNUQsT0FBTSxHQUFBQyxNQUFBLENBQUFDLE1BQUEsQ0FBQUQsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQVFMLEdBQUcsQ0FBQ3FCLFFBQVEsQ0FBQSxFQUFLQSxRQUFRLENBQUU7SUFDL0MsSUFBQTJDLFlBQUEsR0FBZ0Q3RCxPQUFNLENBQTlDOEQsSUFBSTtNQUFKQSxJQUFJLEdBQUFELFlBQUEsY0FBR3ZILGdCQUFnQixHQUFBdUgsWUFBQTtNQUFFRSxFQUFFLEdBQWEvRCxPQUFNLENBQXJCK0QsRUFBRTtNQUFFQyxFQUFFLEdBQVNoRSxPQUFNLENBQWpCZ0UsRUFBRTtNQUFFQyxFQUFFLEdBQUtqRSxPQUFNLENBQWJpRSxFQUFFO0lBQzNDLE9BQU94SixJQUFBLENBQUNPLEdBQUcsRUFBQTtNQUFDOEksSUFBSSxFQUFFQSxJQUFJO01BQUVDLEVBQUUsRUFBRUEsRUFBRTtNQUFFQyxFQUFFLEVBQUVBLEVBQUU7TUFBRUMsRUFBRSxFQUFFQSxFQUFFO01BQUFsRixRQUFBLEVBQUd3RTtJQUFLLENBQUEsQ0FBTztFQUMvRDtFQUVBLE9BQU9BLEtBQUs7QUFDZCxDQUFDO0FBRUQ1RCxlQUFlLENBQUNWLFdBQVcsR0FBRyxhQUFhO0FBWTNDLE9BQU8sSUFBTWlGLFdBQVcsZ0JBQUdySixJQUFJLENBQUM4RSxlQUFlLENBQWdDO0FBRS9FLGVBQWV1RSxXQUFXIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtSXRlbS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgUmVhY3QsIHsgbWVtbywgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb2wgfSBmcm9tICcuLi9HcmlkJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgdXNlRm9ybUl0ZW0gfSBmcm9tICcuL2NvcmUvdXNlRm9ybUl0ZW0nO1xuaW1wb3J0IHsgRk9STV9FUlJPUl9DT0xPUiwgRk9STV9FUlJPUl9TSVpFLCBGT1JNX1dBUk5JTkdfQ09MT1IsIEZPUk1fV0FSTklOR19TSVpFLCBGT1JNX0RFU0NSSVBUSU9OX0NPTE9SLCBGT1JNX0RFU0NSSVBUSU9OX1NJWkUsIEZPUk1fRkVFREJBQ0tfQ09MT1IsIEZPUk1fRkVFREJBQ0tfU0laRSwgRk9STV9MQUJFTF9DT0xPUiwgRk9STV9MQUJFTF9TSVpFUywgfSBmcm9tICcuL2NvcmUvY29uc3RhbnRzJztcbmltcG9ydCB7IHVzZVByb0Zvcm1TdGFibGUsIHVzZVByb0Zvcm1TdG9yZSB9IGZyb20gJy4vY29udGV4dCc7XG5pbXBvcnQgeyB1c2VTdG9yZVNlbGVjdG9yLCBzaGFsbG93RXF1YWxBcnJheXMgfSBmcm9tICcuL2NvcmUvZm9ybVN0b3JlJztcbmltcG9ydCB7IHJlc29sdmVWYWx1ZSB9IGZyb20gJy4vY29yZS9wYXRoVXRpbHMnO1xuaW1wb3J0IHsgREVGQVVMVF9DT0xfU1BBTiB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHZhbHVlRW51bVRvT3B0aW9ucywgZm9ybWF0RGF0ZUJ5UGF0dGVybiwgREFURV9GT1JNQVQsIERBVEVfVElNRV9GT1JNQVQgfSBmcm9tICcuL3V0aWxzJztcbmNvbnN0IEVNUFRZX1RFWFRfREVGQVVMVCA9ICctJztcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmVhZC1tb2RlIHJlbmRlcmluZyBmb3IgZWFjaCBzdXBwb3J0ZWQgdmFsdWVUeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZ1bmN0aW9uIHJlbmRlckJ5VmFsdWVUeXBlKHZhbHVlVHlwZSwgdmFsdWUsIHByb3BzKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBzd2l0Y2ggKHZhbHVlVHlwZSkge1xuICAgICAgICBjYXNlICdwYXNzd29yZCc6XG4gICAgICAgICAgICByZXR1cm4gJyonLnJlcGVhdChTdHJpbmcodmFsdWUpLmxlbmd0aCk7XG4gICAgICAgIGNhc2UgJ3N3aXRjaCc6XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgPyAnT24nIDogJ09mZic7XG4gICAgICAgIGNhc2UgJ2RpZ2l0Jzoge1xuICAgICAgICAgICAgY29uc3QgbnVtID0gTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChOdW1iZXIuaXNOYU4obnVtKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybiBudW0udG9Mb2NhbGVTdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgICBjYXNlICdyYWRpbyc6XG4gICAgICAgIGNhc2UgJ3RhZyc6IHtcbiAgICAgICAgICAgIGlmICghcHJvcHMudmFsdWVFbnVtKVxuICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHZhbHVlRW51bVRvT3B0aW9ucyhwcm9wcy52YWx1ZUVudW0pO1xuICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSBvcHRpb25zLmZpbmQoKG8pID0+IFN0cmluZyhvLnZhbHVlKSA9PT0gU3RyaW5nKHZhbHVlKSk7XG4gICAgICAgICAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaC5sYWJlbCA6IFN0cmluZyh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBEYXRlID8gZm9ybWF0RGF0ZUJ5UGF0dGVybih2YWx1ZSwgREFURV9GT1JNQVQpIDogU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgY2FzZSAnZGF0ZVRpbWUnOlxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRGF0ZSA/IGZvcm1hdERhdGVCeVBhdHRlcm4odmFsdWUsIERBVEVfVElNRV9GT1JNQVQpIDogU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICB9XG59XG5jb25zdCBSZWFkb25seUNoaWxkQmFzZSA9ICh7IG5hbWUsIHZhbHVlVHlwZSwgdmFsdWVFbnVtLCBjb252ZXJ0VmFsdWUsIHJlYWRvbmx5UmVuZGVyLCBlbXB0eVRleHQsIH0pID0+IHtcbiAgICBjb25zdCBzdG9yZSA9IHVzZVByb0Zvcm1TdG9yZSgpO1xuICAgIC8vIFN1YnNjcmliZSBwZXItZmllbGQ7IG9ubHkgYSBjdXN0b20gcmVhZG9ubHlSZW5kZXIgKHdoaWNoIHJlY2VpdmVzIEFMTFxuICAgIC8vIHZhbHVlcykgbmVlZHMgdG8gdHJhY2sgdGhlIHdob2xlIHZhbHVlcyBvYmplY3QuXG4gICAgY29uc3QgW3JhdywgYWxsVmFsdWVzXSA9IHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIChzdGF0ZSkgPT4gW1xuICAgICAgICBuYW1lID8gcmVzb2x2ZVZhbHVlKHN0YXRlLnZhbHVlcywgbmFtZSkgOiB1bmRlZmluZWQsXG4gICAgICAgIHJlYWRvbmx5UmVuZGVyID8gc3RhdGUudmFsdWVzIDogdW5kZWZpbmVkLFxuICAgIF0sIHNoYWxsb3dFcXVhbEFycmF5cyk7XG4gICAgY29uc3QgdmFsdWUgPSBjb252ZXJ0VmFsdWUgJiYgbmFtZSA/IGNvbnZlcnRWYWx1ZShyYXcsIG5hbWUpIDogcmF3O1xuICAgIGlmIChyZWFkb25seVJlbmRlcikge1xuICAgICAgICBjb25zdCBub2RlID0gcmVhZG9ubHlSZW5kZXIodmFsdWUsIGFsbFZhbHVlcyAhPT0gbnVsbCAmJiBhbGxWYWx1ZXMgIT09IHZvaWQgMCA/IGFsbFZhbHVlcyA6IHN0b3JlLmdldFN0YXRlKCkudmFsdWVzKTtcbiAgICAgICAgcmV0dXJuIF9qc3goXCJzcGFuXCIsIHsgY2hpbGRyZW46IG5vZGUgIT09IG51bGwgJiYgbm9kZSAhPT0gdm9pZCAwID8gbm9kZSA6IGVtcHR5VGV4dCB9KTtcbiAgICB9XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBfanN4KFwic3BhblwiLCB7IGNoaWxkcmVuOiBlbXB0eVRleHQgfSk7XG4gICAgfVxuICAgIGNvbnN0IHJlbmRlcmVkID0gcmVuZGVyQnlWYWx1ZVR5cGUodmFsdWVUeXBlLCB2YWx1ZSwgeyB2YWx1ZUVudW0gfSk7XG4gICAgcmV0dXJuIF9qc3goXCJzcGFuXCIsIHsgY2hpbGRyZW46IHJlbmRlcmVkICE9PSBudWxsICYmIHJlbmRlcmVkICE9PSB2b2lkIDAgPyByZW5kZXJlZCA6IGVtcHR5VGV4dCB9KTtcbn07XG5SZWFkb25seUNoaWxkQmFzZS5kaXNwbGF5TmFtZSA9ICdQcm9Gb3JtSXRlbVJlYWRvbmx5JztcbmNvbnN0IFJlYWRvbmx5Q2hpbGQgPSBtZW1vKFJlYWRvbmx5Q2hpbGRCYXNlKTtcbmNvbnN0IENvbnZlcnRWYWx1ZUNoaWxkQmFzZSA9ICh7IG5hbWUsIGNvbnZlcnRWYWx1ZSwgdmFsdWVQcm9wTmFtZSA9ICd2YWx1ZScsIGNoaWxkcmVuLCB9KSA9PiB7XG4gICAgY29uc3Qgc3RvcmUgPSB1c2VQcm9Gb3JtU3RvcmUoKTtcbiAgICBjb25zdCByYXcgPSB1c2VTdG9yZVNlbGVjdG9yKHN0b3JlLCAoc3RhdGUpID0+IHJlc29sdmVWYWx1ZShzdGF0ZS52YWx1ZXMsIG5hbWUpKTtcbiAgICBjb25zdCBjb252ZXJ0ZWQgPSBjb252ZXJ0VmFsdWUgPyBjb252ZXJ0VmFsdWUocmF3LCBuYW1lKSA6IHJhdztcbiAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkcmVuLCB7IFt2YWx1ZVByb3BOYW1lXTogY29udmVydGVkIH0pO1xufTtcbkNvbnZlcnRWYWx1ZUNoaWxkQmFzZS5kaXNwbGF5TmFtZSA9ICdQcm9Gb3JtSXRlbUNvbnZlcnRWYWx1ZSc7XG5jb25zdCBDb252ZXJ0VmFsdWVDaGlsZCA9IG1lbW8oQ29udmVydFZhbHVlQ2hpbGRCYXNlKTtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHJvRm9ybUl0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuY29uc3QgUHJvRm9ybUl0ZW1CYXNlID0gKHByb3BzKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIC8vIFN0YWJsZSBzbGljZSBvbmx5IOKAlCB2YWx1ZS9lcnJvciByZWFjdGl2aXR5IGxpdmVzIGluIHVzZUZvcm1JdGVtJ3NcbiAgICAvLyBwZXItZmllbGQgc3Vic2NyaXB0aW9uLCBzbyB0aGlzIHNoZWxsIG5ldmVyIHJlLXJlbmRlcnMgZm9yIHNpYmxpbmdzLlxuICAgIGNvbnN0IGN0eCA9IHVzZVByb0Zvcm1TdGFibGUoKTtcbiAgICAvLyBGb3JtLWxldmVsIGBmb3JtSXRlbVByb3BzYCBhY3QgYXMgREVGQVVMVFM7IHByb3BzIGV4cGxpY2l0bHkgc2V0IG9uIHRoZVxuICAgIC8vIGl0ZW0gd2luLiBKU1ggZnJlcXVlbnRseSBwYXNzZXMgYHVuZGVmaW5lZGAgZm9yIHVuc2V0IHByb3BzIChlLmcuIHRoZVxuICAgIC8vIGNyZWF0ZVByb0Zvcm1GaWVsZCBwYXNzLXRocm91Z2gpLCBzbyBvbmx5IGRlZmluZWQgdmFsdWVzIG1heSBvdmVycmlkZS5cbiAgICBsZXQgbWVyZ2VkUHJvcHMgPSBwcm9wcztcbiAgICBpZiAoY3R4LmZvcm1JdGVtUHJvcHMpIHtcbiAgICAgICAgY29uc3QgbWVyZ2VkID0gT2JqZWN0LmFzc2lnbih7fSwgY3R4LmZvcm1JdGVtUHJvcHMpO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhwcm9wcykpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcHJvcHNba2V5XTtcbiAgICAgICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIG1lcmdlZFtrZXldID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgbWVyZ2VkUHJvcHMgPSBtZXJnZWQ7XG4gICAgfVxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIG5hbWUsIGxhYmVsLCBkZXNjcmlwdGlvbiwgcnVsZXMsIGZlZWRiYWNrLCB2YWxpZGF0ZVN0YXR1cywgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9ICdmb3JtLWl0ZW0nLCBoaWRkZW4sIHRyYW5zZm9ybSwgY29udmVydFZhbHVlLCB2YWx1ZVR5cGUsIHJlYWRvbmx5UmVuZGVyLCBjb2xQcm9wcywgbW9kZTogbW9kZVByb3AsIGVtcHR5VGV4dCA9IEVNUFRZX1RFWFRfREVGQVVMVCwgdmFsdWVFbnVtLCB2YWx1ZVByb3BOYW1lLCB2YWxpZGF0ZURlYm91bmNlLCB2YWxpZGF0ZVRyaWdnZXIsIH0gPSBtZXJnZWRQcm9wcztcbiAgICBjb25zdCBtZXJnZWRNb2RlID0gbW9kZVByb3AgIT09IG51bGwgJiYgbW9kZVByb3AgIT09IHZvaWQgMCA/IG1vZGVQcm9wIDogY3R4Lm1vZGU7XG4gICAgY29uc3QgaXNSZWFkb25seSA9IG1lcmdlZE1vZGUgPT09ICdyZWFkJztcbiAgICBjb25zdCB7IGZpZWxkRXJyb3IsIGZpZWxkV2FybmluZywgc2l6ZSwgbGFiZWxBbGlnbiwgaW5qZWN0RmllbGQsIH0gPSB1c2VGb3JtSXRlbSh7XG4gICAgICAgIG5hbWUsXG4gICAgICAgIHJ1bGVzLFxuICAgICAgICB2YWxpZGF0ZVN0YXR1cyxcbiAgICAgICAgdmFsdWVQcm9wTmFtZSxcbiAgICAgICAgdmFsaWRhdGVEZWJvdW5jZSxcbiAgICAgICAgdmFsaWRhdGVUcmlnZ2VyLFxuICAgIH0pO1xuICAgIC8vIFJlZ2lzdGVyIHRyYW5zZm9ybSAvIHZhbHVlVHlwZSBEVVJJTkcgcmVuZGVyIChpZGVtcG90ZW50IHJlZiB3cml0ZXMsIGxpa2VcbiAgICAvLyByZWdpc3RlckZpZWxkKTogY29uc3VtZXJzIHJlbmRlcmVkIGxhdGVyIGluIHRoZSBzYW1lIHBhc3Mg4oCUIGUuZy4gYVxuICAgIC8vIERlcGVuZGVuY3kgcmVhZGluZyBmb3JtYXR0ZWQgdmFsdWVzIOKAlCBtdXN0IGFscmVhZHkgc2VlIHRoZW0uIEVmZmVjdHNcbiAgICAvLyB3b3VsZCByZWdpc3RlciB0b28gbGF0ZSAoYWZ0ZXIgdGhlIHdob2xlIHRyZWUgcmVuZGVyZWQpLlxuICAgIC8vXG4gICAgLy8gRWFjaCBpbnN0YW5jZSB0cmFja3MgdGhlIHtuYW1lLCB2YWx1ZX0gUEFJUiBpdCByZWdpc3RlcmVkLiBSZW1vdmFsIGlzXG4gICAgLy8gYWx3YXlzIHBlcmZvcm1lZCB3aXRoIHRoZSBwYWlyJ3Mgb3duIG5hbWUgQU5EIHZhbHVlOiBhbiBpdGVtIHdpdGhvdXQgYVxuICAgIC8vIHRyYW5zZm9ybSBuZXZlciB0b3VjaGVzIGEgc2FtZS1uYW1lIHNpYmxpbmcncyByZWdpc3RyYXRpb24sIGFuIHVubW91bnRcbiAgICAvLyBjbGVhbnVwIGNhbid0IHdpcGUgYSBzdWNjZXNzb3IncyAodmFsdWUtZ3VhcmRlZCksIGFuZCBhIE5BTUUgY2hhbmdlXG4gICAgLy8gcmVtb3ZlcyB0aGUgb2xkIG5hbWUncyBlbnRyeSB3aXRoIHRoZSBPTEQgdmFsdWUgYmVmb3JlIHRoZSByZWYgaXNcbiAgICAvLyBvdmVyd3JpdHRlbiAoYSBsaXZlIHNpbmdsZS12YWx1ZSByZWYgd291bGQgbGVhayBpdCkuXG4gICAgY29uc3Qgb3duVHJhbnNmb3JtUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IG93blZhbHVlVHlwZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBwcmV2VHJhbnNmb3JtID0gb3duVHJhbnNmb3JtUmVmLmN1cnJlbnQ7XG4gICAgaWYgKHByZXZUcmFuc2Zvcm0gJiYgKHByZXZUcmFuc2Zvcm0ubmFtZSAhPT0gbmFtZSB8fCAhdHJhbnNmb3JtKSkge1xuICAgICAgICBjdHgudW5yZWdpc3RlclRyYW5zZm9ybShwcmV2VHJhbnNmb3JtLm5hbWUsIHByZXZUcmFuc2Zvcm0uZm4pO1xuICAgICAgICBvd25UcmFuc2Zvcm1SZWYuY3VycmVudCA9IG51bGw7XG4gICAgfVxuICAgIGlmIChuYW1lICYmIHRyYW5zZm9ybSkge1xuICAgICAgICBjdHgucmVnaXN0ZXJUcmFuc2Zvcm0obmFtZSwgdHJhbnNmb3JtKTtcbiAgICAgICAgb3duVHJhbnNmb3JtUmVmLmN1cnJlbnQgPSB7IG5hbWUsIGZuOiB0cmFuc2Zvcm0gfTtcbiAgICB9XG4gICAgY29uc3QgcHJldlZhbHVlVHlwZSA9IG93blZhbHVlVHlwZVJlZi5jdXJyZW50O1xuICAgIGlmIChwcmV2VmFsdWVUeXBlICYmIChwcmV2VmFsdWVUeXBlLm5hbWUgIT09IG5hbWUgfHwgIXZhbHVlVHlwZSkpIHtcbiAgICAgICAgY3R4LnVucmVnaXN0ZXJWYWx1ZVR5cGUocHJldlZhbHVlVHlwZS5uYW1lLCBwcmV2VmFsdWVUeXBlLnZhbHVlVHlwZSk7XG4gICAgICAgIG93blZhbHVlVHlwZVJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKG5hbWUgJiYgdmFsdWVUeXBlKSB7XG4gICAgICAgIGN0eC5yZWdpc3RlclZhbHVlVHlwZShuYW1lLCB2YWx1ZVR5cGUpO1xuICAgICAgICBvd25WYWx1ZVR5cGVSZWYuY3VycmVudCA9IHsgbmFtZSwgdmFsdWVUeXBlIH07XG4gICAgfVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vIFJFLVJFR0lTVEVSIGluIHRoZSBib2R5OiBTdHJpY3RNb2RlJ3MgbW91bnTihpJjbGVhbnVw4oaScmUtcnVuIGN5Y2xlIGFuZFxuICAgICAgICAvLyBrZXllZCByZW1vdW50cyAob2xkIGluc3RhbmNlJ3MgY2xlYW51cCBydW5zIEFGVEVSIHRoZSBuZXcgcmVuZGVyXG4gICAgICAgIC8vIHJlZ2lzdGVyZWQpIGJvdGggZW5kIHdpdGggYSBjbGVhbnVwIGhhdmluZyBkZWxldGVkIHRoZSBlbnRyeSDigJQgdGhlXG4gICAgICAgIC8vIGVmZmVjdCBib2R5IG11c3QgcmVzdG9yZSB0aGUgbGF0ZXN0IHJlZ2lzdHJhdGlvbi5cbiAgICAgICAgY29uc3QgdHJhbnNmb3JtUmVnID0gb3duVHJhbnNmb3JtUmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmICh0cmFuc2Zvcm1SZWcpXG4gICAgICAgICAgICBjdHgucmVnaXN0ZXJUcmFuc2Zvcm0odHJhbnNmb3JtUmVnLm5hbWUsIHRyYW5zZm9ybVJlZy5mbik7XG4gICAgICAgIGNvbnN0IHZhbHVlVHlwZVJlZyA9IG93blZhbHVlVHlwZVJlZi5jdXJyZW50O1xuICAgICAgICBpZiAodmFsdWVUeXBlUmVnKVxuICAgICAgICAgICAgY3R4LnJlZ2lzdGVyVmFsdWVUeXBlKHZhbHVlVHlwZVJlZy5uYW1lLCB2YWx1ZVR5cGVSZWcudmFsdWVUeXBlKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHQgPSBvd25UcmFuc2Zvcm1SZWYuY3VycmVudDtcbiAgICAgICAgICAgIGlmICh0KVxuICAgICAgICAgICAgICAgIGN0eC51bnJlZ2lzdGVyVHJhbnNmb3JtKHQubmFtZSwgdC5mbik7XG4gICAgICAgICAgICBjb25zdCB2ID0gb3duVmFsdWVUeXBlUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICBpZiAodilcbiAgICAgICAgICAgICAgICBjdHgudW5yZWdpc3RlclZhbHVlVHlwZSh2Lm5hbWUsIHYudmFsdWVUeXBlKTtcbiAgICAgICAgfTtcbiAgICB9LCBbbmFtZSwgY3R4LnJlZ2lzdGVyVHJhbnNmb3JtLCBjdHgudW5yZWdpc3RlclRyYW5zZm9ybSwgY3R4LnJlZ2lzdGVyVmFsdWVUeXBlLCBjdHgudW5yZWdpc3RlclZhbHVlVHlwZV0pO1xuICAgIGlmIChoaWRkZW4pXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGxldCBjb250cm9sQ2hpbGQ7XG4gICAgaWYgKGlzUmVhZG9ubHkpIHtcbiAgICAgICAgY29udHJvbENoaWxkID0gKF9qc3goUmVhZG9ubHlDaGlsZCwgeyBuYW1lOiBuYW1lLCB2YWx1ZVR5cGU6IHZhbHVlVHlwZSwgdmFsdWVFbnVtOiB2YWx1ZUVudW0sIGNvbnZlcnRWYWx1ZTogY29udmVydFZhbHVlLCByZWFkb25seVJlbmRlcjogcmVhZG9ubHlSZW5kZXIsIGVtcHR5VGV4dDogZW1wdHlUZXh0IH0pKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIEluamVjdCBmaXJzdCBzbyB0aGUgcmVhbCBmaWVsZCByZWNlaXZlcyB2YWx1ZS9vbkNoYW5nZS9vbkJsdXIsXG4gICAgICAgIC8vIHRoZW4gb3B0aW9uYWxseSB3cmFwIGluIENvbnZlcnRWYWx1ZUNoaWxkIHRvIG92ZXJyaWRlIHRoZSBkaXNwbGF5ZWQgdmFsdWUuXG4gICAgICAgIGNvbnN0IGluamVjdGVkID0gaW5qZWN0RmllbGQoY2hpbGRyZW4pO1xuICAgICAgICBpZiAoY29udmVydFZhbHVlICYmIG5hbWUgJiYgUmVhY3QuaXNWYWxpZEVsZW1lbnQoaW5qZWN0ZWQpKSB7XG4gICAgICAgICAgICBjb250cm9sQ2hpbGQgPSAoX2pzeChDb252ZXJ0VmFsdWVDaGlsZCwgeyBuYW1lOiBuYW1lLCBjb252ZXJ0VmFsdWU6IGNvbnZlcnRWYWx1ZSwgdmFsdWVQcm9wTmFtZTogdmFsdWVQcm9wTmFtZSwgY2hpbGRyZW46IGluamVjdGVkIH0pKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnRyb2xDaGlsZCA9IGluamVjdGVkO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgLy8gRm9ybS1sZXZlbCBsYXlvdXQuaXRlbUdhcCBvdmVycmlkZXMgdGhlIHNpemUtY2xhc3MgbWFyZ2luIChpbmxpbmUgc3R5bGVcbiAgICAvLyB3aW5zKTsgaXRlbUdhcD0wIGlzIG1lYW5pbmdmdWwuXG4gICAgY29uc3QgaXRlbUdhcCA9IChfYSA9IGN0eC5sYXlvdXQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5pdGVtR2FwO1xuICAgIGNvbnN0IGdhcFN0eWxlID0gaXRlbUdhcCAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8geyBtYXJnaW5Cb3R0b206IHR5cGVvZiBpdGVtR2FwID09PSAnbnVtYmVyJyA/IGAke2l0ZW1HYXB9cHhgIDogaXRlbUdhcCB9XG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHNoZWxsID0gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHVuZGVmaW5lZCwgam9pbkNscyhjbGFzc2VzKHNpemUpLCBjbGFzc05hbWUpKSwgc3R5bGU6IGdhcFN0eWxlLCBjaGlsZHJlbjogW2xhYmVsICYmIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbGFiZWwtd3JhcHBlcicsIGpvaW5DbHMoY2xhc3NlcygnbGFiZWwtd3JhcHBlci12ZXJ0aWNhbCcpLCBsYWJlbEFsaWduICYmIGNsYXNzZXMoYGxhYmVsLXdyYXBwZXItJHtsYWJlbEFsaWdufWApKSksIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5TGFiZWwsIHsgYXM6IFwibGFiZWxcIiwgc3Ryb25nOiB0cnVlLCBzaXplOiBGT1JNX0xBQkVMX1NJWkVTW3NpemVdLCBjb2xvcjogRk9STV9MQUJFTF9DT0xPUiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbCcpLCBjaGlsZHJlbjogbGFiZWwgfSksIGRlc2NyaXB0aW9uICYmIChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IGFzOiBcImRpdlwiLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2Rlc2NyaXB0aW9uJyksIHNpemU6IEZPUk1fREVTQ1JJUFRJT05fU0laRSwgY29sb3I6IEZPUk1fREVTQ1JJUFRJT05fQ09MT1IsIGNoaWxkcmVuOiBkZXNjcmlwdGlvbiB9KSldIH0pKSwgX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRyb2wnKSwgY2hpbGRyZW46IFtjb250cm9sQ2hpbGQsIGZpZWxkRXJyb3IgJiYgKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgYXM6IFwiZGl2XCIsIGNsYXNzTmFtZTogY2xhc3NlcygnZXJyb3InKSwgc2l6ZTogRk9STV9FUlJPUl9TSVpFLCBjb2xvcjogRk9STV9FUlJPUl9DT0xPUiwgY2hpbGRyZW46IGZpZWxkRXJyb3IgfSkpLCAhZmllbGRFcnJvciAmJiBmaWVsZFdhcm5pbmcgJiYgKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgYXM6IFwiZGl2XCIsIGNsYXNzTmFtZTogY2xhc3Nlcygnd2FybmluZycpLCBzaXplOiBGT1JNX1dBUk5JTkdfU0laRSwgY29sb3I6IEZPUk1fV0FSTklOR19DT0xPUiwgY2hpbGRyZW46IGZpZWxkV2FybmluZyB9KSksICFmaWVsZEVycm9yICYmICFmaWVsZFdhcm5pbmcgJiYgZmVlZGJhY2sgJiYgKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgYXM6IFwiZGl2XCIsIGNsYXNzTmFtZTogY2xhc3NlcygnZmVlZGJhY2snKSwgc2l6ZTogRk9STV9GRUVEQkFDS19TSVpFLCBjb2xvcjogRk9STV9GRUVEQkFDS19DT0xPUiwgY2hpbGRyZW46IGZlZWRiYWNrIH0pKV0gfSldIH0pKTtcbiAgICBpZiAoY3R4LmdyaWQpIHtcbiAgICAgICAgY29uc3QgbWVyZ2VkID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjdHguY29sUHJvcHMpLCBjb2xQcm9wcyk7XG4gICAgICAgIGNvbnN0IHsgc3BhbiA9IERFRkFVTFRfQ09MX1NQQU4sIHNtLCBtZCwgbGcgfSA9IG1lcmdlZDtcbiAgICAgICAgcmV0dXJuIF9qc3goQ29sLCB7IHNwYW46IHNwYW4sIHNtOiBzbSwgbWQ6IG1kLCBsZzogbGcsIGNoaWxkcmVuOiBzaGVsbCB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHNoZWxsO1xufTtcblByb0Zvcm1JdGVtQmFzZS5kaXNwbGF5TmFtZSA9ICdQcm9Gb3JtSXRlbSc7XG5leHBvcnQgY29uc3QgUHJvRm9ybUl0ZW0gPSBtZW1vKFByb0Zvcm1JdGVtQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtSXRlbTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
320
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtSXRlbS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtSXRlbS50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIlJlYWN0IiwibWVtbyIsInVzZUVmZmVjdCIsInVzZVJlZiIsIkNvbCIsIkljb25zIiwiVHlwb2dyYXBoeUJvZHkiLCJUeXBvZ3JhcGh5TGFiZWwiLCJkZWZhdWx0IiwiY2xhc3NuYW1lcyIsImpvaW5DbHMiLCJ1c2VGb3JtSXRlbSIsIkZPUk1fRVJST1JfQ09MT1IiLCJGT1JNX0VSUk9SX1NJWkUiLCJGT1JNX01FU1NBR0VfSUNPTl9TSVpFIiwiRk9STV9XQVJOSU5HX0NPTE9SIiwiRk9STV9XQVJOSU5HX1NJWkUiLCJGT1JNX0RFU0NSSVBUSU9OX0NPTE9SIiwiRk9STV9ERVNDUklQVElPTl9TSVpFIiwiRk9STV9GRUVEQkFDS19DT0xPUiIsIkZPUk1fRkVFREJBQ0tfU0laRSIsIkZPUk1fTEFCRUxfQ09MT1IiLCJGT1JNX0xBQkVMX1NJWkVTIiwidXNlUHJvRm9ybVN0YWJsZSIsInVzZVByb0Zvcm1TdG9yZSIsInVzZVN0b3JlU2VsZWN0b3IiLCJzaGFsbG93RXF1YWxBcnJheXMiLCJyZXNvbHZlVmFsdWUiLCJERUZBVUxUX0NPTF9TUEFOIiwidmFsdWVFbnVtVG9PcHRpb25zIiwiZm9ybWF0RGF0ZUJ5UGF0dGVybiIsIkRBVEVfRk9STUFUIiwiREFURV9USU1FX0ZPUk1BVCIsIkVNUFRZX1RFWFRfREVGQVVMVCIsInJlbmRlckJ5VmFsdWVUeXBlIiwidmFsdWVUeXBlIiwidmFsdWUiLCJwcm9wcyIsInVuZGVmaW5lZCIsInJlcGVhdCIsIlN0cmluZyIsImxlbmd0aCIsIm51bSIsIk51bWJlciIsImlzTmFOIiwidG9Mb2NhbGVTdHJpbmciLCJ2YWx1ZUVudW0iLCJvcHRpb25zIiwibWF0Y2giLCJmaW5kIiwibyIsImxhYmVsIiwiRGF0ZSIsIlJlYWRvbmx5Q2hpbGRCYXNlIiwiX3JlZiIsIm5hbWUiLCJjb252ZXJ0VmFsdWUiLCJyZWFkb25seVJlbmRlciIsImVtcHR5VGV4dCIsInN0b3JlIiwiX3VzZVN0b3JlU2VsZWN0b3IiLCJzdGF0ZSIsInZhbHVlcyIsIl91c2VTdG9yZVNlbGVjdG9yMiIsIl9zbGljZWRUb0FycmF5IiwicmF3IiwiYWxsVmFsdWVzIiwibm9kZSIsImdldFN0YXRlIiwiY2hpbGRyZW4iLCJyZW5kZXJlZCIsImRpc3BsYXlOYW1lIiwiUmVhZG9ubHlDaGlsZCIsIkNvbnZlcnRWYWx1ZUNoaWxkQmFzZSIsIl9yZWYyIiwiX3JlZjIkdmFsdWVQcm9wTmFtZSIsInZhbHVlUHJvcE5hbWUiLCJjb252ZXJ0ZWQiLCJjbG9uZUVsZW1lbnQiLCJfZGVmaW5lUHJvcGVydHkiLCJDb252ZXJ0VmFsdWVDaGlsZCIsIlByb0Zvcm1JdGVtQmFzZSIsIl9hIiwiY3R4IiwibWVyZ2VkUHJvcHMiLCJmb3JtSXRlbVByb3BzIiwibWVyZ2VkIiwiT2JqZWN0IiwiYXNzaWduIiwiX2kiLCJfT2JqZWN0JGtleXMiLCJrZXlzIiwia2V5IiwiX21lcmdlZFByb3BzIiwiZGVzY3JpcHRpb24iLCJydWxlcyIsImZlZWRiYWNrIiwidmFsaWRhdGVTdGF0dXMiLCJfbWVyZ2VkUHJvcHMkY2xhc3NOYW0iLCJjbGFzc05hbWUiLCJfbWVyZ2VkUHJvcHMkcHJlZml4Q2wiLCJwcmVmaXhDbHMiLCJoaWRkZW4iLCJ0cmFuc2Zvcm0iLCJjb2xQcm9wcyIsIm1vZGVQcm9wIiwibW9kZSIsIl9tZXJnZWRQcm9wcyRlbXB0eVRleCIsInZhbGlkYXRlRGVib3VuY2UiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJtZXJnZWRNb2RlIiwiaXNSZWFkb25seSIsIl91c2VGb3JtSXRlbSIsImZpZWxkRXJyb3IiLCJmaWVsZFdhcm5pbmciLCJzaXplIiwibGFiZWxBbGlnbiIsImluamVjdEZpZWxkIiwib3duVHJhbnNmb3JtUmVmIiwib3duVmFsdWVUeXBlUmVmIiwicHJldlRyYW5zZm9ybSIsImN1cnJlbnQiLCJ1bnJlZ2lzdGVyVHJhbnNmb3JtIiwiZm4iLCJyZWdpc3RlclRyYW5zZm9ybSIsInByZXZWYWx1ZVR5cGUiLCJ1bnJlZ2lzdGVyVmFsdWVUeXBlIiwicmVnaXN0ZXJWYWx1ZVR5cGUiLCJ0cmFuc2Zvcm1SZWciLCJ2YWx1ZVR5cGVSZWciLCJ0IiwidiIsImNvbnRyb2xDaGlsZCIsImluamVjdGVkIiwiaXNWYWxpZEVsZW1lbnQiLCJjbGFzc2VzIiwiaXRlbUdhcCIsImxheW91dCIsImdhcFN0eWxlIiwibWFyZ2luQm90dG9tIiwiY29uY2F0Iiwic2hlbGwiLCJzdHlsZSIsImFzIiwic3Ryb25nIiwiY29sb3IiLCJncmlkIiwiX21lcmdlZCRzcGFuIiwic3BhbiIsInNtIiwibWQiLCJsZyIsIlByb0Zvcm1JdGVtIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxFQUFFQyxJQUFJLElBQUlDLEtBQUssUUFBUSxtQkFBbUI7QUNBOUQsT0FBT0MsS0FBSyxJQUFJQyxJQUFJLEVBQUVDLFNBQVMsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFFdEQsU0FBU0MsR0FBRyxRQUFRLFNBQVM7QUFDN0IsU0FBU0MsS0FBSyxRQUFRLFVBQVU7QUFDaEMsU0FBU0MsY0FBYyxFQUFFQyxlQUFlLFFBQVEsZUFBZTtBQUMvRCxTQUFTQyxPQUFPLElBQUlDLFVBQVUsRUFBRUMsT0FBTyxRQUFRLHdCQUF3QjtBQUN2RSxTQUFTQyxXQUFXLFFBQVEsb0JBQW9CO0FBQ2hELFNBQ0VDLGdCQUFnQixFQUNoQkMsZUFBZSxFQUNmQyxzQkFBc0IsRUFDdEJDLGtCQUFrQixFQUNsQkMsaUJBQWlCLEVBQ2pCQyxzQkFBc0IsRUFDdEJDLHFCQUFxQixFQUNyQkMsbUJBQW1CLEVBQ25CQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNoQkMsZ0JBQWdCLFFBQ1gsa0JBQWtCO0FBQ3pCLFNBQVNDLGdCQUFnQixFQUFFQyxlQUFlLFFBQVEsV0FBVztBQUM3RCxTQUFTQyxnQkFB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SUFDWixJQUFNNUQsT0FBTSxHQUFBQyxNQUFBLENBQUFDLE1BQUEsQ0FBQUQsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQVFMLEdBQUcsQ0FBQ3FCLFFBQVEsQ0FBQSxFQUFLQSxRQUFRLENBQUU7SUFDL0MsSUFBQTJDLFlBQUEsR0FBZ0Q3RCxPQUFNLENBQTlDOEQsSUFBSTtNQUFKQSxJQUFJLEdBQUFELFlBQUEsY0FBR3ZILGdCQUFnQixHQUFBdUgsWUFBQTtNQUFFRSxFQUFFLEdBQWEvRCxPQUFNLENBQXJCK0QsRUFBRTtNQUFFQyxFQUFFLEdBQVNoRSxPQUFNLENBQWpCZ0UsRUFBRTtNQUFFQyxFQUFFLEdBQUtqRSxPQUFNLENBQWJpRSxFQUFFO0lBQzNDLE9BQU8xSixJQUFBLENBQUNPLEdBQUcsRUFBQTtNQUFDZ0osSUFBSSxFQUFFQSxJQUFJO01BQUVDLEVBQUUsRUFBRUEsRUFBRTtNQUFFQyxFQUFFLEVBQUVBLEVBQUU7TUFBRUMsRUFBRSxFQUFFQSxFQUFFO01BQUFsRixRQUFBLEVBQUd3RTtJQUFLLENBQUEsQ0FBTztFQUMvRDtFQUVBLE9BQU9BLEtBQUs7QUFDZCxDQUFDO0FBRUQ1RCxlQUFlLENBQUNWLFdBQVcsR0FBRyxhQUFhO0FBWTNDLE9BQU8sSUFBTWlGLFdBQVcsZ0JBQUd2SixJQUFJLENBQUNnRixlQUFlLENBQWdDO0FBRS9FLGVBQWV1RSxXQUFXIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9Qcm9Gb3JtSXRlbS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgUmVhY3QsIHsgbWVtbywgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb2wgfSBmcm9tICcuLi9HcmlkJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHksIFR5cG9ncmFwaHlMYWJlbCB9IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyB1c2VGb3JtSXRlbSB9IGZyb20gJy4vY29yZS91c2VGb3JtSXRlbSc7XG5pbXBvcnQgeyBGT1JNX0VSUk9SX0NPTE9SLCBGT1JNX0VSUk9SX1NJWkUsIEZPUk1fTUVTU0FHRV9JQ09OX1NJWkUsIEZPUk1fV0FSTklOR19DT0xPUiwgRk9STV9XQVJOSU5HX1NJWkUsIEZPUk1fREVTQ1JJUFRJT05fQ09MT1IsIEZPUk1fREVTQ1JJUFRJT05fU0laRSwgRk9STV9GRUVEQkFDS19DT0xPUiwgRk9STV9GRUVEQkFDS19TSVpFLCBGT1JNX0xBQkVMX0NPTE9SLCBGT1JNX0xBQkVMX1NJWkVTLCB9IGZyb20gJy4vY29yZS9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlUHJvRm9ybVN0YWJsZSwgdXNlUHJvRm9ybVN0b3JlIH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCB7IHVzZVN0b3JlU2VsZWN0b3IsIHNoYWxsb3dFcXVhbEFycmF5cyB9IGZyb20gJy4vY29yZS9mb3JtU3RvcmUnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnLi9jb3JlL3BhdGhVdGlscyc7XG5pbXBvcnQgeyBERUZBVUxUX0NPTF9TUEFOIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdmFsdWVFbnVtVG9PcHRpb25zLCBmb3JtYXREYXRlQnlQYXR0ZXJuLCBEQVRFX0ZPUk1BVCwgREFURV9USU1FX0ZPUk1BVCB9IGZyb20gJy4vdXRpbHMnO1xuY29uc3QgRU1QVFlfVEVYVF9ERUZBVUxUID0gJy0nO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZWFkLW1vZGUgcmVuZGVyaW5nIGZvciBlYWNoIHN1cHBvcnRlZCB2YWx1ZVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuZnVuY3Rpb24gcmVuZGVyQnlWYWx1ZVR5cGUodmFsdWVUeXBlLCB2YWx1ZSwgcHJvcHMpIHtcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHN3aXRjaCAodmFsdWVUeXBlKSB7XG4gICAgICAgIGNhc2UgJ3Bhc3N3b3JkJzpcbiAgICAgICAgICAgIHJldHVybiAnKicucmVwZWF0KFN0cmluZyh2YWx1ZSkubGVuZ3RoKTtcbiAgICAgICAgY2FzZSAnc3dpdGNoJzpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA/ICdPbicgOiAnT2ZmJztcbiAgICAgICAgY2FzZSAnZGlnaXQnOiB7XG4gICAgICAgICAgICBjb25zdCBudW0gPSBOdW1iZXIodmFsdWUpO1xuICAgICAgICAgICAgaWYgKE51bWJlci5pc05hTihudW0pKVxuICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIG51bS50b0xvY2FsZVN0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICAgIGNhc2UgJ3JhZGlvJzpcbiAgICAgICAgY2FzZSAndGFnJzoge1xuICAgICAgICAgICAgaWYgKCFwcm9wcy52YWx1ZUVudW0pXG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gdmFsdWVFbnVtVG9PcHRpb25zKHByb3BzLnZhbHVlRW51bSk7XG4gICAgICAgICAgICBjb25zdCBtYXRjaCA9IG9wdGlvbnMuZmluZCgobykgPT4gU3RyaW5nKG8udmFsdWUpID09PSBTdHJpbmcodmFsdWUpKTtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaCA/IG1hdGNoLmxhYmVsIDogU3RyaW5nKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgPyBmb3JtYXREYXRlQnlQYXR0ZXJuKHZhbHVlLCBEQVRFX0ZPUk1BVCkgOiBTdHJpbmcodmFsdWUpO1xuICAgICAgICBjYXNlICdkYXRlVGltZSc6XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBEYXRlID8gZm9ybWF0RGF0ZUJ5UGF0dGVybih2YWx1ZSwgREFURV9USU1FX0ZPUk1BVCkgOiBTdHJpbmcodmFsdWUpO1xuICAgICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcodmFsdWUpO1xuICAgIH1cbn1cbmNvbnN0IFJlYWRvbmx5Q2hpbGRCYXNlID0gKHsgbmFtZSwgdmFsdWVUeXBlLCB2YWx1ZUVudW0sIGNvbnZlcnRWYWx1ZSwgcmVhZG9ubHlSZW5kZXIsIGVtcHR5VGV4dCwgfSkgPT4ge1xuICAgIGNvbnN0IHN0b3JlID0gdXNlUHJvRm9ybVN0b3JlKCk7XG4gICAgLy8gU3Vic2NyaWJlIHBlci1maWVsZDsgb25seSBhIGN1c3RvbSByZWFkb25seVJlbmRlciAod2hpY2ggcmVjZWl2ZXMgQUxMXG4gICAgLy8gdmFsdWVzKSBuZWVkcyB0byB0cmFjayB0aGUgd2hvbGUgdmFsdWVzIG9iamVjdC5cbiAgICBjb25zdCBbcmF3LCBhbGxWYWx1ZXNdID0gdXNlU3RvcmVTZWxlY3RvcihzdG9yZSwgKHN0YXRlKSA9PiBbXG4gICAgICAgIG5hbWUgPyByZXNvbHZlVmFsdWUoc3RhdGUudmFsdWVzLCBuYW1lKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgcmVhZG9ubHlSZW5kZXIgPyBzdGF0ZS52YWx1ZXMgOiB1bmRlZmluZWQsXG4gICAgXSwgc2hhbGxvd0VxdWFsQXJyYXlzKTtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnZlcnRWYWx1ZSAmJiBuYW1lID8gY29udmVydFZhbHVlKHJhdywgbmFtZSkgOiByYXc7XG4gICAgaWYgKHJlYWRvbmx5UmVuZGVyKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSByZWFkb25seVJlbmRlcih2YWx1ZSwgYWxsVmFsdWVzICE9PSBudWxsICYmIGFsbFZhbHVlcyAhPT0gdm9pZCAwID8gYWxsVmFsdWVzIDogc3RvcmUuZ2V0U3RhdGUoKS52YWx1ZXMpO1xuICAgICAgICByZXR1cm4gX2pzeChcInNwYW5cIiwgeyBjaGlsZHJlbjogbm9kZSAhPT0gbnVsbCAmJiBub2RlICE9PSB2b2lkIDAgPyBub2RlIDogZW1wdHlUZXh0IH0pO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIF9qc3goXCJzcGFuXCIsIHsgY2hpbGRyZW46IGVtcHR5VGV4dCB9KTtcbiAgICB9XG4gICAgY29uc3QgcmVuZGVyZWQgPSByZW5kZXJCeVZhbHVlVHlwZSh2YWx1ZVR5cGUsIHZhbHVlLCB7IHZhbHVlRW51bSB9KTtcbiAgICByZXR1cm4gX2pzeChcInNwYW5cIiwgeyBjaGlsZHJlbjogcmVuZGVyZWQgIT09IG51bGwgJiYgcmVuZGVyZWQgIT09IHZvaWQgMCA/IHJlbmRlcmVkIDogZW1wdHlUZXh0IH0pO1xufTtcblJlYWRvbmx5Q2hpbGRCYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1JdGVtUmVhZG9ubHknO1xuY29uc3QgUmVhZG9ubHlDaGlsZCA9IG1lbW8oUmVhZG9ubHlDaGlsZEJhc2UpO1xuY29uc3QgQ29udmVydFZhbHVlQ2hpbGRCYXNlID0gKHsgbmFtZSwgY29udmVydFZhbHVlLCB2YWx1ZVByb3BOYW1lID0gJ3ZhbHVlJywgY2hpbGRyZW4sIH0pID0+IHtcbiAgICBjb25zdCBzdG9yZSA9IHVzZVByb0Zvcm1TdG9yZSgpO1xuICAgIGNvbnN0IHJhdyA9IHVzZVN0b3JlU2VsZWN0b3Ioc3RvcmUsIChzdGF0ZSkgPT4gcmVzb2x2ZVZhbHVlKHN0YXRlLnZhbHVlcywgbmFtZSkpO1xuICAgIGNvbnN0IGNvbnZlcnRlZCA9IGNvbnZlcnRWYWx1ZSA/IGNvbnZlcnRWYWx1ZShyYXcsIG5hbWUpIDogcmF3O1xuICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGRyZW4sIHsgW3ZhbHVlUHJvcE5hbWVdOiBjb252ZXJ0ZWQgfSk7XG59O1xuQ29udmVydFZhbHVlQ2hpbGRCYXNlLmRpc3BsYXlOYW1lID0gJ1Byb0Zvcm1JdGVtQ29udmVydFZhbHVlJztcbmNvbnN0IENvbnZlcnRWYWx1ZUNoaWxkID0gbWVtbyhDb252ZXJ0VmFsdWVDaGlsZEJhc2UpO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQcm9Gb3JtSXRlbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jb25zdCBQcm9Gb3JtSXRlbUJhc2UgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgLy8gU3RhYmxlIHNsaWNlIG9ubHkg4oCUIHZhbHVlL2Vycm9yIHJlYWN0aXZpdHkgbGl2ZXMgaW4gdXNlRm9ybUl0ZW0nc1xuICAgIC8vIHBlci1maWVsZCBzdWJzY3JpcHRpb24sIHNvIHRoaXMgc2hlbGwgbmV2ZXIgcmUtcmVuZGVycyBmb3Igc2libGluZ3MuXG4gICAgY29uc3QgY3R4ID0gdXNlUHJvRm9ybVN0YWJsZSgpO1xuICAgIC8vIEZvcm0tbGV2ZWwgYGZvcm1JdGVtUHJvcHNgIGFjdCBhcyBERUZBVUxUUzsgcHJvcHMgZXhwbGljaXRseSBzZXQgb24gdGhlXG4gICAgLy8gaXRlbSB3aW4uIEpTWCBmcmVxdWVudGx5IHBhc3NlcyBgdW5kZWZpbmVkYCBmb3IgdW5zZXQgcHJvcHMgKGUuZy4gdGhlXG4gICAgLy8gY3JlYXRlUHJvRm9ybUZpZWxkIHBhc3MtdGhyb3VnaCksIHNvIG9ubHkgZGVmaW5lZCB2YWx1ZXMgbWF5IG92ZXJyaWRlLlxuICAgIGxldCBtZXJnZWRQcm9wcyA9IHByb3BzO1xuICAgIGlmIChjdHguZm9ybUl0ZW1Qcm9wcykge1xuICAgICAgICBjb25zdCBtZXJnZWQgPSBPYmplY3QuYXNzaWduKHt9LCBjdHguZm9ybUl0ZW1Qcm9wcyk7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHByb3BzKSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwcm9wc1trZXldO1xuICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgbWVyZ2VkW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBtZXJnZWRQcm9wcyA9IG1lcmdlZDtcbiAgICB9XG4gICAgY29uc3QgeyBjaGlsZHJlbiwgbmFtZSwgbGFiZWwsIGRlc2NyaXB0aW9uLCBydWxlcywgZmVlZGJhY2ssIHZhbGlkYXRlU3RhdHVzLCBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gJ2Zvcm0taXRlbScsIGhpZGRlbiwgdHJhbnNmb3JtLCBjb252ZXJ0VmFsdWUsIHZhbHVlVHlwZSwgcmVhZG9ubHlSZW5kZXIsIGNvbFByb3BzLCBtb2RlOiBtb2RlUHJvcCwgZW1wdHlUZXh0ID0gRU1QVFlfVEVYVF9ERUZBVUxULCB2YWx1ZUVudW0sIHZhbHVlUHJvcE5hbWUsIHZhbGlkYXRlRGVib3VuY2UsIHZhbGlkYXRlVHJpZ2dlciwgfSA9IG1lcmdlZFByb3BzO1xuICAgIGNvbnN0IG1lcmdlZE1vZGUgPSBtb2RlUHJvcCAhPT0gbnVsbCAmJiBtb2RlUHJvcCAhPT0gdm9pZCAwID8gbW9kZVByb3AgOiBjdHgubW9kZTtcbiAgICBjb25zdCBpc1JlYWRvbmx5ID0gbWVyZ2VkTW9kZSA9PT0gJ3JlYWQnO1xuICAgIGNvbnN0IHsgZmllbGRFcnJvciwgZmllbGRXYXJuaW5nLCBzaXplLCBsYWJlbEFsaWduLCBpbmplY3RGaWVsZCwgfSA9IHVzZUZvcm1JdGVtKHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgcnVsZXMsXG4gICAgICAgIHZhbGlkYXRlU3RhdHVzLFxuICAgICAgICB2YWx1ZVByb3BOYW1lLFxuICAgICAgICB2YWxpZGF0ZURlYm91bmNlLFxuICAgICAgICB2YWxpZGF0ZVRyaWdnZXIsXG4gICAgfSk7XG4gICAgLy8gUmVnaXN0ZXIgdHJhbnNmb3JtIC8gdmFsdWVUeXBlIERVUklORyByZW5kZXIgKGlkZW1wb3RlbnQgcmVmIHdyaXRlcywgbGlrZVxuICAgIC8vIHJlZ2lzdGVyRmllbGQpOiBjb25zdW1lcnMgcmVuZGVyZWQgbGF0ZXIgaW4gdGhlIHNhbWUgcGFzcyDigJQgZS5nLiBhXG4gICAgLy8gRGVwZW5kZW5jeSByZWFkaW5nIGZvcm1hdHRlZCB2YWx1ZXMg4oCUIG11c3QgYWxyZWFkeSBzZWUgdGhlbS4gRWZmZWN0c1xuICAgIC8vIHdvdWxkIHJlZ2lzdGVyIHRvbyBsYXRlIChhZnRlciB0aGUgd2hvbGUgdHJlZSByZW5kZXJlZCkuXG4gICAgLy9cbiAgICAvLyBFYWNoIGluc3RhbmNlIHRyYWNrcyB0aGUge25hbWUsIHZhbHVlfSBQQUlSIGl0IHJlZ2lzdGVyZWQuIFJlbW92YWwgaXNcbiAgICAvLyBhbHdheXMgcGVyZm9ybWVkIHdpdGggdGhlIHBhaXIncyBvd24gbmFtZSBBTkQgdmFsdWU6IGFuIGl0ZW0gd2l0aG91dCBhXG4gICAgLy8gdHJhbnNmb3JtIG5ldmVyIHRvdWNoZXMgYSBzYW1lLW5hbWUgc2libGluZydzIHJlZ2lzdHJhdGlvbiwgYW4gdW5tb3VudFxuICAgIC8vIGNsZWFudXAgY2FuJ3Qgd2lwZSBhIHN1Y2Nlc3NvcidzICh2YWx1ZS1ndWFyZGVkKSwgYW5kIGEgTkFNRSBjaGFuZ2VcbiAgICAvLyByZW1vdmVzIHRoZSBvbGQgbmFtZSdzIGVudHJ5IHdpdGggdGhlIE9MRCB2YWx1ZSBiZWZvcmUgdGhlIHJlZiBpc1xuICAgIC8vIG92ZXJ3cml0dGVuIChhIGxpdmUgc2luZ2xlLXZhbHVlIHJlZiB3b3VsZCBsZWFrIGl0KS5cbiAgICBjb25zdCBvd25UcmFuc2Zvcm1SZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3Qgb3duVmFsdWVUeXBlUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHByZXZUcmFuc2Zvcm0gPSBvd25UcmFuc2Zvcm1SZWYuY3VycmVudDtcbiAgICBpZiAocHJldlRyYW5zZm9ybSAmJiAocHJldlRyYW5zZm9ybS5uYW1lICE9PSBuYW1lIHx8ICF0cmFuc2Zvcm0pKSB7XG4gICAgICAgIGN0eC51bnJlZ2lzdGVyVHJhbnNmb3JtKHByZXZUcmFuc2Zvcm0ubmFtZSwgcHJldlRyYW5zZm9ybS5mbik7XG4gICAgICAgIG93blRyYW5zZm9ybVJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKG5hbWUgJiYgdHJhbnNmb3JtKSB7XG4gICAgICAgIGN0eC5yZWdpc3RlclRyYW5zZm9ybShuYW1lLCB0cmFuc2Zvcm0pO1xuICAgICAgICBvd25UcmFuc2Zvcm1SZWYuY3VycmVudCA9IHsgbmFtZSwgZm46IHRyYW5zZm9ybSB9O1xuICAgIH1cbiAgICBjb25zdCBwcmV2VmFsdWVUeXBlID0gb3duVmFsdWVUeXBlUmVmLmN1cnJlbnQ7XG4gICAgaWYgKHByZXZWYWx1ZVR5cGUgJiYgKHByZXZWYWx1ZVR5cGUubmFtZSAhPT0gbmFtZSB8fCAhdmFsdWVUeXBlKSkge1xuICAgICAgICBjdHgudW5yZWdpc3RlclZhbHVlVHlwZShwcmV2VmFsdWVUeXBlLm5hbWUsIHByZXZWYWx1ZVR5cGUudmFsdWVUeXBlKTtcbiAgICAgICAgb3duVmFsdWVUeXBlUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgICBpZiAobmFtZSAmJiB2YWx1ZVR5cGUpIHtcbiAgICAgICAgY3R4LnJlZ2lzdGVyVmFsdWVUeXBlKG5hbWUsIHZhbHVlVHlwZSk7XG4gICAgICAgIG93blZhbHVlVHlwZVJlZi5jdXJyZW50ID0geyBuYW1lLCB2YWx1ZVR5cGUgfTtcbiAgICB9XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgLy8gUkUtUkVHSVNURVIgaW4gdGhlIGJvZHk6IFN0cmljdE1vZGUncyBtb3VudOKGkmNsZWFudXDihpJyZS1ydW4gY3ljbGUgYW5kXG4gICAgICAgIC8vIGtleWVkIHJlbW91bnRzIChvbGQgaW5zdGFuY2UncyBjbGVhbnVwIHJ1bnMgQUZURVIgdGhlIG5ldyByZW5kZXJcbiAgICAgICAgLy8gcmVnaXN0ZXJlZCkgYm90aCBlbmQgd2l0aCBhIGNsZWFudXAgaGF2aW5nIGRlbGV0ZWQgdGhlIGVudHJ5IOKAlCB0aGVcbiAgICAgICAgLy8gZWZmZWN0IGJvZHkgbXVzdCByZXN0b3JlIHRoZSBsYXRlc3QgcmVnaXN0cmF0aW9uLlxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1SZWcgPSBvd25UcmFuc2Zvcm1SZWYuY3VycmVudDtcbiAgICAgICAgaWYgKHRyYW5zZm9ybVJlZylcbiAgICAgICAgICAgIGN0eC5yZWdpc3RlclRyYW5zZm9ybSh0cmFuc2Zvcm1SZWcubmFtZSwgdHJhbnNmb3JtUmVnLmZuKTtcbiAgICAgICAgY29uc3QgdmFsdWVUeXBlUmVnID0gb3duVmFsdWVUeXBlUmVmLmN1cnJlbnQ7XG4gICAgICAgIGlmICh2YWx1ZVR5cGVSZWcpXG4gICAgICAgICAgICBjdHgucmVnaXN0ZXJWYWx1ZVR5cGUodmFsdWVUeXBlUmVnLm5hbWUsIHZhbHVlVHlwZVJlZy52YWx1ZVR5cGUpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdCA9IG93blRyYW5zZm9ybVJlZi5jdXJyZW50O1xuICAgICAgICAgICAgaWYgKHQpXG4gICAgICAgICAgICAgICAgY3R4LnVucmVnaXN0ZXJUcmFuc2Zvcm0odC5uYW1lLCB0LmZuKTtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBvd25WYWx1ZVR5cGVSZWYuY3VycmVudDtcbiAgICAgICAgICAgIGlmICh2KVxuICAgICAgICAgICAgICAgIGN0eC51bnJlZ2lzdGVyVmFsdWVUeXBlKHYubmFtZSwgdi52YWx1ZVR5cGUpO1xuICAgICAgICB9O1xuICAgIH0sIFtuYW1lLCBjdHgucmVnaXN0ZXJUcmFuc2Zvcm0sIGN0eC51bnJlZ2lzdGVyVHJhbnNmb3JtLCBjdHgucmVnaXN0ZXJWYWx1ZVR5cGUsIGN0eC51bnJlZ2lzdGVyVmFsdWVUeXBlXSk7XG4gICAgaWYgKGhpZGRlbilcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgbGV0IGNvbnRyb2xDaGlsZDtcbiAgICBpZiAoaXNSZWFkb25seSkge1xuICAgICAgICBjb250cm9sQ2hpbGQgPSAoX2pzeChSZWFkb25seUNoaWxkLCB7IG5hbWU6IG5hbWUsIHZhbHVlVHlwZTogdmFsdWVUeXBlLCB2YWx1ZUVudW06IHZhbHVlRW51bSwgY29udmVydFZhbHVlOiBjb252ZXJ0VmFsdWUsIHJlYWRvbmx5UmVuZGVyOiByZWFkb25seVJlbmRlciwgZW1wdHlUZXh0OiBlbXB0eVRleHQgfSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy8gSW5qZWN0IGZpcnN0IHNvIHRoZSByZWFsIGZpZWxkIHJlY2VpdmVzIHZhbHVlL29uQ2hhbmdlL29uQmx1cixcbiAgICAgICAgLy8gdGhlbiBvcHRpb25hbGx5IHdyYXAgaW4gQ29udmVydFZhbHVlQ2hpbGQgdG8gb3ZlcnJpZGUgdGhlIGRpc3BsYXllZCB2YWx1ZS5cbiAgICAgICAgY29uc3QgaW5qZWN0ZWQgPSBpbmplY3RGaWVsZChjaGlsZHJlbik7XG4gICAgICAgIGlmIChjb252ZXJ0VmFsdWUgJiYgbmFtZSAmJiBSZWFjdC5pc1ZhbGlkRWxlbWVudChpbmplY3RlZCkpIHtcbiAgICAgICAgICAgIGNvbnRyb2xDaGlsZCA9IChfanN4KENvbnZlcnRWYWx1ZUNoaWxkLCB7IG5hbWU6IG5hbWUsIGNvbnZlcnRWYWx1ZTogY29udmVydFZhbHVlLCB2YWx1ZVByb3BOYW1lOiB2YWx1ZVByb3BOYW1lLCBjaGlsZHJlbjogaW5qZWN0ZWQgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29udHJvbENoaWxkID0gaW5qZWN0ZWQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICAvLyBGb3JtLWxldmVsIGxheW91dC5pdGVtR2FwIG92ZXJyaWRlcyB0aGUgc2l6ZS1jbGFzcyBtYXJnaW4gKGlubGluZSBzdHlsZVxuICAgIC8vIHdpbnMpOyBpdGVtR2FwPTAgaXMgbWVhbmluZ2Z1bC5cbiAgICBjb25zdCBpdGVtR2FwID0gKF9hID0gY3R4LmxheW91dCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLml0ZW1HYXA7XG4gICAgY29uc3QgZ2FwU3R5bGUgPSBpdGVtR2FwICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyB7IG1hcmdpbkJvdHRvbTogdHlwZW9mIGl0ZW1HYXAgPT09ICdudW1iZXInID8gYCR7aXRlbUdhcH1weGAgOiBpdGVtR2FwIH1cbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3Qgc2hlbGwgPSAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXModW5kZWZpbmVkLCBqb2luQ2xzKGNsYXNzZXMoc2l6ZSksIGNsYXNzTmFtZSkpLCBzdHlsZTogZ2FwU3R5bGUsIGNoaWxkcmVuOiBbbGFiZWwgJiYgKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdsYWJlbC13cmFwcGVyJywgam9pbkNscyhjbGFzc2VzKCdsYWJlbC13cmFwcGVyLXZlcnRpY2FsJyksIGxhYmVsQWxpZ24gJiYgY2xhc3NlcyhgbGFiZWwtd3JhcHBlci0ke2xhYmVsQWxpZ259YCkpKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBhczogXCJsYWJlbFwiLCBzdHJvbmc6IHRydWUsIHNpemU6IEZPUk1fTEFCRUxfU0laRVNbc2l6ZV0sIGNvbG9yOiBGT1JNX0xBQkVMX0NPTE9SLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2xhYmVsJyksIGNoaWxkcmVuOiBsYWJlbCB9KSwgZGVzY3JpcHRpb24gJiYgKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgYXM6IFwiZGl2XCIsIGNsYXNzTmFtZTogY2xhc3NlcygnZGVzY3JpcHRpb24nKSwgc2l6ZTogRk9STV9ERVNDUklQVElPTl9TSVpFLCBjb2xvcjogRk9STV9ERVNDUklQVElPTl9DT0xPUiwgY2hpbGRyZW46IGRlc2NyaXB0aW9uIH0pKV0gfSkpLCBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udHJvbCcpLCBjaGlsZHJlbjogW2NvbnRyb2xDaGlsZCwgZmllbGRFcnJvciAmJiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2Vycm9yJyksIGNoaWxkcmVuOiBbX2pzeChJY29ucywgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ21lc3NhZ2UtaWNvbicpLCBuYW1lOiBcImVycm9yXCIsIHNpemU6IEZPUk1fTUVTU0FHRV9JQ09OX1NJWkUgfSksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgYXM6IFwic3BhblwiLCBzaXplOiBGT1JNX0VSUk9SX1NJWkUsIGNvbG9yOiBGT1JNX0VSUk9SX0NPTE9SLCBjaGlsZHJlbjogZmllbGRFcnJvciB9KV0gfSkpLCAhZmllbGRFcnJvciAmJiBmaWVsZFdhcm5pbmcgJiYgKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgYXM6IFwiZGl2XCIsIGNsYXNzTmFtZTogY2xhc3Nlcygnd2FybmluZycpLCBzaXplOiBGT1JNX1dBUk5JTkdfU0laRSwgY29sb3I6IEZPUk1fV0FSTklOR19DT0xPUiwgY2hpbGRyZW46IGZpZWxkV2FybmluZyB9KSksICFmaWVsZEVycm9yICYmICFmaWVsZFdhcm5pbmcgJiYgZmVlZGJhY2sgJiYgKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgYXM6IFwiZGl2XCIsIGNsYXNzTmFtZTogY2xhc3NlcygnZmVlZGJhY2snKSwgc2l6ZTogRk9STV9GRUVEQkFDS19TSVpFLCBjb2xvcjogRk9STV9GRUVEQkFDS19DT0xPUiwgY2hpbGRyZW46IGZlZWRiYWNrIH0pKV0gfSldIH0pKTtcbiAgICBpZiAoY3R4LmdyaWQpIHtcbiAgICAgICAgY29uc3QgbWVyZ2VkID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjdHguY29sUHJvcHMpLCBjb2xQcm9wcyk7XG4gICAgICAgIGNvbnN0IHsgc3BhbiA9IERFRkFVTFRfQ09MX1NQQU4sIHNtLCBtZCwgbGcgfSA9IG1lcmdlZDtcbiAgICAgICAgcmV0dXJuIF9qc3goQ29sLCB7IHNwYW46IHNwYW4sIHNtOiBzbSwgbWQ6IG1kLCBsZzogbGcsIGNoaWxkcmVuOiBzaGVsbCB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHNoZWxsO1xufTtcblByb0Zvcm1JdGVtQmFzZS5kaXNwbGF5TmFtZSA9ICdQcm9Gb3JtSXRlbSc7XG5leHBvcnQgY29uc3QgUHJvRm9ybUl0ZW0gPSBtZW1vKFByb0Zvcm1JdGVtQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtSXRlbTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -17,6 +17,8 @@ export declare const FORM_ERROR_SIZE: TypographyBodySize;
17
17
  export declare const FORM_ERROR_COLOR: TypographyColor;
18
18
  export declare const FORM_WARNING_SIZE: TypographyBodySize;
19
19
  export declare const FORM_WARNING_COLOR: TypographyColor;
20
+ /** Leading icon on a validation message — matches FieldShell's feedback icon. */
21
+ export declare const FORM_MESSAGE_ICON_SIZE = 16;
20
22
  export declare const FORM_DESCRIPTION_SIZE: TypographyBodySize;
21
23
  export declare const FORM_DESCRIPTION_COLOR: TypographyColor;
22
24
  export declare const FORM_FEEDBACK_SIZE: TypographyBodySize;