@1money/component-ui 0.0.75 → 0.0.77

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.
Files changed (153) hide show
  1. package/es/components/ProForm/ProForm.d.ts +1 -1
  2. package/es/components/ProForm/ProForm.js +46 -34
  3. package/es/components/ProForm/ProFormDependency.d.ts +2 -1
  4. package/es/components/ProForm/ProFormDependency.js +6 -16
  5. package/es/components/ProForm/ProFormItem.d.ts +7 -2
  6. package/es/components/ProForm/ProFormItem.js +5 -7
  7. package/es/components/ProForm/ProFormList.d.ts +6 -1
  8. package/es/components/ProForm/ProFormList.js +122 -42
  9. package/es/components/ProForm/SchemaForm.d.ts +1 -1
  10. package/es/components/ProForm/SchemaForm.js +8 -5
  11. package/es/components/ProForm/context.d.ts +8 -7
  12. package/es/components/ProForm/context.js +1 -1
  13. package/es/components/ProForm/core/constants.d.ts +3 -1
  14. package/es/components/ProForm/core/constants.js +8 -2
  15. package/es/components/ProForm/core/devWarning.d.ts +3 -0
  16. package/es/components/ProForm/core/devWarning.js +22 -0
  17. package/es/components/ProForm/core/formStore.d.ts +14 -6
  18. package/es/components/ProForm/core/formStore.js +21 -2
  19. package/es/components/ProForm/core/hooks/useForm.d.ts +1 -1
  20. package/es/components/ProForm/core/hooks/useForm.js +275 -107
  21. package/es/components/ProForm/core/hooks/useFormCore.d.ts +2 -2
  22. package/es/components/ProForm/core/hooks/useFormCore.js +121 -121
  23. package/es/components/ProForm/core/interface.d.ts +157 -103
  24. package/es/components/ProForm/core/namePathType.d.ts +25 -0
  25. package/es/components/ProForm/core/namePathType.js +2 -0
  26. package/es/components/ProForm/core/pathUtils.d.ts +5 -3
  27. package/es/components/ProForm/core/pathUtils.js +19 -1
  28. package/es/components/ProForm/core/runRules.d.ts +40 -17
  29. package/es/components/ProForm/core/runRules.js +480 -136
  30. package/es/components/ProForm/core/useFormItem.d.ts +7 -8
  31. package/es/components/ProForm/core/useFormItem.js +52 -82
  32. package/es/components/ProForm/core/validationError.d.ts +13 -0
  33. package/es/components/ProForm/core/validationError.js +29 -0
  34. package/es/components/ProForm/fields/ProFormCheckbox.d.ts +1 -1
  35. package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +1 -1
  36. package/es/components/ProForm/fields/ProFormCheckboxGroup.js +19 -5
  37. package/es/components/ProForm/fields/ProFormDatePicker.d.ts +1 -1
  38. package/es/components/ProForm/fields/ProFormDatePicker.js +1 -1
  39. package/es/components/ProForm/fields/ProFormFieldSet.d.ts +7 -2
  40. package/es/components/ProForm/fields/ProFormFieldSet.js +49 -12
  41. package/es/components/ProForm/fields/ProFormPassword.d.ts +1 -1
  42. package/es/components/ProForm/fields/ProFormRadioGroup.d.ts +1 -1
  43. package/es/components/ProForm/fields/ProFormRadioGroup.js +8 -3
  44. package/es/components/ProForm/fields/ProFormSelect.d.ts +1 -1
  45. package/es/components/ProForm/fields/ProFormSelect.js +13 -7
  46. package/es/components/ProForm/fields/ProFormSlider.d.ts +1 -1
  47. package/es/components/ProForm/fields/ProFormSwitch.d.ts +1 -1
  48. package/es/components/ProForm/fields/ProFormText.d.ts +1 -1
  49. package/es/components/ProForm/fields/ProFormTextArea.d.ts +1 -1
  50. package/es/components/ProForm/fields/ProFormUpload.d.ts +1 -1
  51. package/es/components/ProForm/fields/ProFormUpload.js +1 -1
  52. package/es/components/ProForm/fields/createProFormField.d.ts +8 -2
  53. package/es/components/ProForm/fields/createProFormField.js +20 -27
  54. package/es/components/ProForm/hooks/useFieldRequest.d.ts +1 -1
  55. package/es/components/ProForm/hooks/useFieldRequest.js +10 -8
  56. package/es/components/ProForm/hooks/useUrlSync.d.ts +8 -7
  57. package/es/components/ProForm/hooks/useUrlSync.js +1 -1
  58. package/es/components/ProForm/index.d.ts +37 -27
  59. package/es/components/ProForm/index.js +4 -1
  60. package/es/components/ProForm/interface.d.ts +115 -119
  61. package/es/components/ProForm/layouts/DialogForm.d.ts +1 -1
  62. package/es/components/ProForm/layouts/DialogForm.js +1 -1
  63. package/es/components/ProForm/layouts/DrawerForm.d.ts +1 -1
  64. package/es/components/ProForm/layouts/DrawerForm.js +1 -1
  65. package/es/components/ProForm/layouts/QueryFilter.d.ts +1 -1
  66. package/es/components/ProForm/layouts/QueryFilter.js +24 -16
  67. package/es/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
  68. package/es/components/ProForm/layouts/useOverlayForm.js +1 -1
  69. package/es/components/ProForm/utils.d.ts +15 -7
  70. package/es/components/ProForm/utils.js +51 -3
  71. package/es/components/Table/core/useTableSetup.js +2 -2
  72. package/es/components/Table/interface.d.ts +1 -1
  73. package/es/index.css +1 -1
  74. package/es/index.d.ts +1 -1
  75. package/es/index.js +1 -1
  76. package/lib/components/ProForm/ProForm.d.ts +1 -1
  77. package/lib/components/ProForm/ProForm.js +45 -33
  78. package/lib/components/ProForm/ProFormDependency.d.ts +2 -1
  79. package/lib/components/ProForm/ProFormDependency.js +5 -15
  80. package/lib/components/ProForm/ProFormItem.d.ts +7 -2
  81. package/lib/components/ProForm/ProFormItem.js +5 -7
  82. package/lib/components/ProForm/ProFormList.d.ts +6 -1
  83. package/lib/components/ProForm/ProFormList.js +120 -40
  84. package/lib/components/ProForm/SchemaForm.d.ts +1 -1
  85. package/lib/components/ProForm/SchemaForm.js +8 -5
  86. package/lib/components/ProForm/context.d.ts +8 -7
  87. package/lib/components/ProForm/context.js +1 -1
  88. package/lib/components/ProForm/core/constants.d.ts +3 -1
  89. package/lib/components/ProForm/core/constants.js +9 -3
  90. package/lib/components/ProForm/core/devWarning.d.ts +3 -0
  91. package/lib/components/ProForm/core/devWarning.js +29 -0
  92. package/lib/components/ProForm/core/formStore.d.ts +14 -6
  93. package/lib/components/ProForm/core/formStore.js +23 -2
  94. package/lib/components/ProForm/core/hooks/useForm.d.ts +1 -1
  95. package/lib/components/ProForm/core/hooks/useForm.js +271 -103
  96. package/lib/components/ProForm/core/hooks/useFormCore.d.ts +2 -2
  97. package/lib/components/ProForm/core/hooks/useFormCore.js +119 -119
  98. package/lib/components/ProForm/core/interface.d.ts +157 -103
  99. package/lib/components/ProForm/core/namePathType.d.ts +25 -0
  100. package/lib/components/ProForm/core/namePathType.js +6 -0
  101. package/lib/components/ProForm/core/pathUtils.d.ts +5 -3
  102. package/lib/components/ProForm/core/pathUtils.js +20 -1
  103. package/lib/components/ProForm/core/runRules.d.ts +40 -17
  104. package/lib/components/ProForm/core/runRules.js +483 -137
  105. package/lib/components/ProForm/core/useFormItem.d.ts +7 -8
  106. package/lib/components/ProForm/core/useFormItem.js +54 -84
  107. package/lib/components/ProForm/core/validationError.d.ts +13 -0
  108. package/lib/components/ProForm/core/validationError.js +36 -0
  109. package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +1 -1
  110. package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +1 -1
  111. package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +18 -4
  112. package/lib/components/ProForm/fields/ProFormDatePicker.d.ts +1 -1
  113. package/lib/components/ProForm/fields/ProFormDatePicker.js +1 -1
  114. package/lib/components/ProForm/fields/ProFormFieldSet.d.ts +7 -2
  115. package/lib/components/ProForm/fields/ProFormFieldSet.js +49 -12
  116. package/lib/components/ProForm/fields/ProFormPassword.d.ts +1 -1
  117. package/lib/components/ProForm/fields/ProFormRadioGroup.d.ts +1 -1
  118. package/lib/components/ProForm/fields/ProFormRadioGroup.js +7 -2
  119. package/lib/components/ProForm/fields/ProFormSelect.d.ts +1 -1
  120. package/lib/components/ProForm/fields/ProFormSelect.js +13 -7
  121. package/lib/components/ProForm/fields/ProFormSlider.d.ts +1 -1
  122. package/lib/components/ProForm/fields/ProFormSwitch.d.ts +1 -1
  123. package/lib/components/ProForm/fields/ProFormText.d.ts +1 -1
  124. package/lib/components/ProForm/fields/ProFormTextArea.d.ts +1 -1
  125. package/lib/components/ProForm/fields/ProFormUpload.d.ts +1 -1
  126. package/lib/components/ProForm/fields/ProFormUpload.js +1 -1
  127. package/lib/components/ProForm/fields/createProFormField.d.ts +8 -2
  128. package/lib/components/ProForm/fields/createProFormField.js +20 -27
  129. package/lib/components/ProForm/hooks/useFieldRequest.d.ts +1 -1
  130. package/lib/components/ProForm/hooks/useFieldRequest.js +10 -8
  131. package/lib/components/ProForm/hooks/useUrlSync.d.ts +8 -7
  132. package/lib/components/ProForm/hooks/useUrlSync.js +1 -1
  133. package/lib/components/ProForm/index.d.ts +37 -27
  134. package/lib/components/ProForm/index.js +10 -1
  135. package/lib/components/ProForm/interface.d.ts +115 -119
  136. package/lib/components/ProForm/layouts/DialogForm.d.ts +1 -1
  137. package/lib/components/ProForm/layouts/DialogForm.js +1 -1
  138. package/lib/components/ProForm/layouts/DrawerForm.d.ts +1 -1
  139. package/lib/components/ProForm/layouts/DrawerForm.js +1 -1
  140. package/lib/components/ProForm/layouts/QueryFilter.d.ts +1 -1
  141. package/lib/components/ProForm/layouts/QueryFilter.js +24 -16
  142. package/lib/components/ProForm/layouts/useOverlayForm.d.ts +2 -2
  143. package/lib/components/ProForm/layouts/useOverlayForm.js +1 -1
  144. package/lib/components/ProForm/utils.d.ts +15 -7
  145. package/lib/components/ProForm/utils.js +52 -3
  146. package/lib/components/Table/core/useTableSetup.js +2 -2
  147. package/lib/components/Table/interface.d.ts +1 -1
  148. package/lib/index.css +1 -1
  149. package/lib/index.d.ts +1 -1
  150. package/lib/index.js +1 -1
  151. package/package.json +1 -1
  152. package/scripts/mcp-server/examples.generated.json +95 -53
  153. package/scripts/mcp-server/index.generated.json +1715 -185
@@ -97,14 +97,13 @@ export function useFieldRequest(request, params) {
97
97
  // Superseded requests (our own aborts always land here via the seq
98
98
  // mismatch) are swallowed. For the LATEST request, an AbortError can
99
99
  // only come from a CONSUMER-side abort (e.g. AbortSignal.timeout) —
100
- // also swallowed, mirroring fetch-cancellation conventions; genuine
101
- // failures propagate.
100
+ // also swallowed, mirroring fetch-cancellation conventions. Genuine
101
+ // failures are LOGGED, not rethrown: this runs from an effect, so a
102
+ // rethrow would only become an unhandled rejection.
102
103
  isAbort = _t instanceof Error && _t.name === 'AbortError';
103
- if (!(seq === seqRef.current && !isAbort)) {
104
- _context.next = 6;
105
- break;
104
+ if (seq === seqRef.current && !isAbort) {
105
+ console.error('[ProForm] field request failed:', _t);
106
106
  }
107
- throw _t;
108
107
  case 6:
109
108
  _context.prev = 6;
110
109
  if (seq === seqRef.current) {
@@ -118,10 +117,13 @@ export function useFieldRequest(request, params) {
118
117
  }, _callee, null, [[2, 5, 6, 7]]);
119
118
  }));
120
119
  });
120
+ // `hasRequest` is a dependency so a request that only becomes defined on a
121
+ // LATER render (e.g. behind a feature flag) still triggers its first fetch.
122
+ var hasRequest = !!request;
121
123
  useEffect(function () {
122
124
  if (!requestRef.current) return;
123
125
  fetchOptions();
124
- }, [serializedParams]);
126
+ }, [serializedParams, hasRequest]);
125
127
  // Honor the cancellation contract on unmount: abort the in-flight request
126
128
  // and bump the sequence so any late settle (result or error) is discarded.
127
129
  useEffect(function () {
@@ -134,4 +136,4 @@ export function useFieldRequest(request, params) {
134
136
  return [loading, options];
135
137
  }
136
138
  export default useFieldRequest;
137
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9ob29rcy91c2VGaWVsZFJlcXVlc3QuanMiLCJjb21wb25lbnRzL1Byb0Zvcm0vc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9ob29rcy91c2VGaWVsZFJlcXVlc3QudHMiXSwibmFtZXMiOlsiX19hd2FpdGVyIiwidGhpc0FyZyIsIl9hcmd1bWVudHMiLCJQIiwiZ2VuZXJhdG9yIiwiYWRvcHQiLCJ2YWx1ZSIsInJlc29sdmUiLCJQcm9taXNlIiwicmVqZWN0IiwiZnVsZmlsbGVkIiwic3RlcCIsIm5leHQiLCJlIiwicmVqZWN0ZWQiLCJyZXN1bHQiLCJkb25lIiwidGhlbiIsImFwcGx5IiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlU2FmZVN0YXRlIiwidXNlTWVtb2l6ZWRGbiIsInVzZUxhdGVzdCIsInN0YWJsZVNlcmlhbGl6ZSIsInVzZUZpZWxkUmVxdWVzdCIsInJlcXVlc3QiLCJwYXJhbXMiLCJfdGhpcyIsIl91c2VTYWZlU3RhdGUiLCJfdXNlU2FmZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibG9hZGluZyIsInNldExvYWRpbmciLCJfdXNlU2FmZVN0YXRlMyIsIl91c2VTYWZlU3RhdGU0Iiwib3B0aW9ucyIsInNldE9wdGlvbnMiLCJyZXF1ZXN0UmVmIiwic2VxUmVmIiwiYWJvcnRSZWYiLCJzZXJpYWxpemVkUGFyYW1zIiwiZmV0Y2hPcHRpb25zIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX2EiLCJmbiIsImNvbnRyb2xsZXIiLCJzZXEiLCJpc0Fib3J0IiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwiY3VycmVudCIsImFicnVwdCIsImFib3J0IiwiQWJvcnRDb250cm9sbGVyIiwic2lnbmFsIiwic2VudCIsIkFycmF5IiwiaXNBcnJheSIsIkVycm9yIiwibmFtZSIsImZpbmlzaCIsInN0b3AiXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBSUEsU0FBUyxHQUFJLElBQUks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O0FBQzNCO0FBRUEsZUFBZVgsZUFBZSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vaG9va3MvdXNlRmllbGRSZXF1ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VTYWZlU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VTYWZlU3RhdGUnO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnQDFtb25leS9ob29rcy91c2VNZW1vaXplZEZuJztcbmltcG9ydCB1c2VMYXRlc3QgZnJvbSAnQDFtb25leS9ob29rcy91c2VMYXRlc3QnO1xuaW1wb3J0IHsgc3RhYmxlU2VyaWFsaXplIH0gZnJvbSAnLi4vdXRpbHMnO1xuLyoqXG4gKiBIb29rIGZvciBhc3luYyBvcHRpb24gZmV0Y2hpbmcgd2l0aCBwYXJhbS1iYXNlZCByZS1mZXRjaGluZy5cbiAqIFJldHVybnMgW2xvYWRpbmcsIG9wdGlvbnNdLlxuICpcbiAqIFJhY2Utc2FmZTogZWFjaCBmZXRjaCB0YWtlcyBhIHNlcXVlbmNlIG51bWJlclxuICogYW5kIGFib3J0cyB0aGUgcHJldmlvdXMgaW4tZmxpZ2h0IHJlcXVlc3Qg4oCUIGEgc3RhbGUgcmVzcG9uc2UgdGhhdCByZXNvbHZlc1xuICogYWZ0ZXIgYSBuZXdlciByZXF1ZXN0IG5ldmVyIG92ZXJ3cml0ZXMgdGhlIG5ld2VzdCBvcHRpb25zLCBhbmQgb25seSB0aGVcbiAqIG5ld2VzdCByZXF1ZXN0IGNvbnRyb2xzIGBsb2FkaW5nYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUZpZWxkUmVxdWVzdChyZXF1ZXN0LCBwYXJhbXMpIHtcbiAgICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTYWZlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtvcHRpb25zLCBzZXRPcHRpb25zXSA9IHVzZVNhZmVTdGF0ZShbXSk7XG4gICAgLy8gQWx3YXlzIHJlYWQgdGhlIG5ld2VzdCBgcmVxdWVzdGAgd2l0aG91dCByZS1zdWJzY3JpYmluZyB0aGUgZWZmZWN0IGJlbG93LlxuICAgIGNvbnN0IHJlcXVlc3RSZWYgPSB1c2VMYXRlc3QocmVxdWVzdCk7XG4gICAgY29uc3Qgc2VxUmVmID0gdXNlUmVmKDApO1xuICAgIGNvbnN0IGFib3J0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRQYXJhbXMgPSBzdGFibGVTZXJpYWxpemUocGFyYW1zKTtcbiAgICBjb25zdCBmZXRjaE9wdGlvbnMgPSB1c2VNZW1vaXplZEZuKCgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCBmbiA9IHJlcXVlc3RSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKCFmbilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgKF9hID0gYWJvcnRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmFib3J0KCk7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICAgIGFib3J0UmVmLmN1cnJlbnQgPSBjb250cm9sbGVyO1xuICAgICAgICBjb25zdCBzZXEgPSArK3NlcVJlZi5jdXJyZW50O1xuICAgICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0geWllbGQgZm4ocGFyYW1zLCBjb250cm9sbGVyLnNpZ25hbCk7XG4gICAgICAgICAgICBpZiAoc2VxICE9PSBzZXFSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm47IC8vIHN1cGVyc2VkZWQg4oCUIGRpc2NhcmRcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdCkpIHtcbiAgICAgICAgICAgICAgICBzZXRPcHRpb25zKHJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyBTdXBlcnNlZGVkIHJlcXVlc3RzIChvdXIgb3duIGFib3J0cyBhbHdheXMgbGFuZCBoZXJlIHZpYSB0aGUgc2VxXG4gICAgICAgICAgICAvLyBtaXNtYXRjaCkgYXJlIHN3YWxsb3dlZC4gRm9yIHRoZSBMQVRFU1QgcmVxdWVzdCwgYW4gQWJvcnRFcnJvciBjYW5cbiAgICAgICAgICAgIC8vIG9ubHkgY29tZSBmcm9tIGEgQ09OU1VNRVItc2lkZSBhYm9ydCAoZS5nLiBBYm9ydFNpZ25hbC50aW1lb3V0KSDigJRcbiAgICAgICAgICAgIC8vIGFsc28gc3dhbGxvd2VkLCBtaXJyb3JpbmcgZmV0Y2gtY2FuY2VsbGF0aW9uIGNvbnZlbnRpb25zOyBnZW51aW5lXG4gICAgICAgICAgICAvLyBmYWlsdXJlcyBwcm9wYWdhdGUuXG4gICAgICAgICAgICBjb25zdCBpc0Fib3J0ID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnJvci5uYW1lID09PSAnQWJvcnRFcnJvcic7XG4gICAgICAgICAgICBpZiAoc2VxID09PSBzZXFSZWYuY3VycmVudCAmJiAhaXNBYm9ydCkge1xuICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgaWYgKHNlcSA9PT0gc2VxUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIXJlcXVlc3RSZWYuY3VycmVudClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgZmV0Y2hPcHRpb25zKCk7XG4gICAgfSwgW3NlcmlhbGl6ZWRQYXJhbXNdKTtcbiAgICAvLyBIb25vciB0aGUgY2FuY2VsbGF0aW9uIGNvbnRyYWN0IG9uIHVubW91bnQ6IGFib3J0IHRoZSBpbi1mbGlnaHQgcmVxdWVzdFxuICAgIC8vIGFuZCBidW1wIHRoZSBzZXF1ZW5jZSBzbyBhbnkgbGF0ZSBzZXR0bGUgKHJlc3VsdCBvciBlcnJvcikgaXMgZGlzY2FyZGVkLlxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBzZXFSZWYuY3VycmVudCArPSAxO1xuICAgICAgICAgICAgKF9hID0gYWJvcnRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmFib3J0KCk7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIHJldHVybiBbbG9hZGluZywgb3B0aW9uc107XG59XG5leHBvcnQgZGVmYXVsdCB1c2VGaWVsZFJlcXVlc3Q7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
139
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9ob29rcy91c2VGaWVsZFJlcXVlc3QuanMiLCJjb21wb25lbnRzL1Byb0Zvcm0vc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9ob29rcy91c2VGaWVsZFJlcXVlc3QudHMiXSwibmFtZXMiOlsiX19hd2FpdGVyIiwidGhpc0FyZyIsIl9hcmd1bWVudHMiLCJQIiwiZ2VuZXJhdG9yIiwiYWRvcHQiLCJ2YWx1ZSIsInJlc29sdmUiLCJQcm9taXNlIiwicmVqZWN0IiwiZnVsZmlsbGVkIiwic3RlcCIsIm5leHQiLCJlIiwicmVqZWN0ZWQiLCJyZXN1bHQiLCJkb25lIiwidGhlbiIsImFwcGx5IiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlU2FmZVN0YXRlIiwidXNlTWVtb2l6ZWRGbiIsInVzZUxhdGVzdCIsInN0YWJsZVNlcmlhbGl6ZSIsInVzZUZpZWxkUmVxdWVzdCIsInJlcXVlc3QiLCJwYXJhbXMiLCJfdGhpcyIsIl91c2VTYWZlU3RhdGUiLCJfdXNlU2FmZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibG9hZGluZyIsInNldExvYWRpbmciLCJfdXNlU2FmZVN0YXRlMyIsIl91c2VTYWZlU3RhdGU0Iiwib3B0aW9ucyIsInNldE9wdGlvbnMiLCJyZXF1ZXN0UmVmIiwic2VxUmVmIiwiYWJvcnRSZWYiLCJzZXJpYWxpemVkUGFyYW1zIiwiZmV0Y2hPcHRpb25zIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX2EiLCJmbiIsImNvbnRyb2xsZXIiLCJzZXEiLCJpc0Fib3J0IiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwiY3VycmVudCIsImFicnVwdCIsImFib3J0IiwiQWJvcnRDb250cm9sbGVyIiwic2lnbmFsIiwic2VudCIsIkFycmF5IiwiaXNBcnJheSIsIkVycm9yIiwibmFtZSIsImNvbnNvbGUiLCJlcnJvciIsImZpbmlzaCIsInN0b3AiLCJoYXNSZXF1ZXN0Il0sIm1hcHBpbmdz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QUEsR0FBQUEsRUFBQSxDQUFFVyxLQUFLLENBQUEsQ0FBRTtJQUMzQixDQUFDO0VBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE9BQU8sQ0FBQ3pCLE9BQU8sRUFBRUksT0FBTyxDQUFDO0FBQzNCO0FBRUEsZUFBZVgsZUFBZSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vaG9va3MvdXNlRmllbGRSZXF1ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VTYWZlU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VTYWZlU3RhdGUnO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnQDFtb25leS9ob29rcy91c2VNZW1vaXplZEZuJztcbmltcG9ydCB1c2VMYXRlc3QgZnJvbSAnQDFtb25leS9ob29rcy91c2VMYXRlc3QnO1xuaW1wb3J0IHsgc3RhYmxlU2VyaWFsaXplIH0gZnJvbSAnLi4vdXRpbHMnO1xuLyoqXG4gKiBIb29rIGZvciBhc3luYyBvcHRpb24gZmV0Y2hpbmcgd2l0aCBwYXJhbS1iYXNlZCByZS1mZXRjaGluZy5cbiAqIFJldHVybnMgW2xvYWRpbmcsIG9wdGlvbnNdLlxuICpcbiAqIFJhY2Utc2FmZTogZWFjaCBmZXRjaCB0YWtlcyBhIHNlcXVlbmNlIG51bWJlclxuICogYW5kIGFib3J0cyB0aGUgcHJldmlvdXMgaW4tZmxpZ2h0IHJlcXVlc3Qg4oCUIGEgc3RhbGUgcmVzcG9uc2UgdGhhdCByZXNvbHZlc1xuICogYWZ0ZXIgYSBuZXdlciByZXF1ZXN0IG5ldmVyIG92ZXJ3cml0ZXMgdGhlIG5ld2VzdCBvcHRpb25zLCBhbmQgb25seSB0aGVcbiAqIG5ld2VzdCByZXF1ZXN0IGNvbnRyb2xzIGBsb2FkaW5nYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUZpZWxkUmVxdWVzdChyZXF1ZXN0LCBwYXJhbXMpIHtcbiAgICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTYWZlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtvcHRpb25zLCBzZXRPcHRpb25zXSA9IHVzZVNhZmVTdGF0ZShbXSk7XG4gICAgLy8gQWx3YXlzIHJlYWQgdGhlIG5ld2VzdCBgcmVxdWVzdGAgd2l0aG91dCByZS1zdWJzY3JpYmluZyB0aGUgZWZmZWN0IGJlbG93LlxuICAgIGNvbnN0IHJlcXVlc3RSZWYgPSB1c2VMYXRlc3QocmVxdWVzdCk7XG4gICAgY29uc3Qgc2VxUmVmID0gdXNlUmVmKDApO1xuICAgIGNvbnN0IGFib3J0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWRQYXJhbXMgPSBzdGFibGVTZXJpYWxpemUocGFyYW1zKTtcbiAgICBjb25zdCBmZXRjaE9wdGlvbnMgPSB1c2VNZW1vaXplZEZuKCgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCBmbiA9IHJlcXVlc3RSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKCFmbilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgKF9hID0gYWJvcnRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmFib3J0KCk7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICAgIGFib3J0UmVmLmN1cnJlbnQgPSBjb250cm9sbGVyO1xuICAgICAgICBjb25zdCBzZXEgPSArK3NlcVJlZi5jdXJyZW50O1xuICAgICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0geWllbGQgZm4ocGFyYW1zLCBjb250cm9sbGVyLnNpZ25hbCk7XG4gICAgICAgICAgICBpZiAoc2VxICE9PSBzZXFSZWYuY3VycmVudClcbiAgICAgICAgICAgICAgICByZXR1cm47IC8vIHN1cGVyc2VkZWQg4oCUIGRpc2NhcmRcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdCkpIHtcbiAgICAgICAgICAgICAgICBzZXRPcHRpb25zKHJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyBTdXBlcnNlZGVkIHJlcXVlc3RzIChvdXIgb3duIGFib3J0cyBhbHdheXMgbGFuZCBoZXJlIHZpYSB0aGUgc2VxXG4gICAgICAgICAgICAvLyBtaXNtYXRjaCkgYXJlIHN3YWxsb3dlZC4gRm9yIHRoZSBMQVRFU1QgcmVxdWVzdCwgYW4gQWJvcnRFcnJvciBjYW5cbiAgICAgICAgICAgIC8vIG9ubHkgY29tZSBmcm9tIGEgQ09OU1VNRVItc2lkZSBhYm9ydCAoZS5nLiBBYm9ydFNpZ25hbC50aW1lb3V0KSDigJRcbiAgICAgICAgICAgIC8vIGFsc28gc3dhbGxvd2VkLCBtaXJyb3JpbmcgZmV0Y2gtY2FuY2VsbGF0aW9uIGNvbnZlbnRpb25zLiBHZW51aW5lXG4gICAgICAgICAgICAvLyBmYWlsdXJlcyBhcmUgTE9HR0VELCBub3QgcmV0aHJvd246IHRoaXMgcnVucyBmcm9tIGFuIGVmZmVjdCwgc28gYVxuICAgICAgICAgICAgLy8gcmV0aHJvdyB3b3VsZCBvbmx5IGJlY29tZSBhbiB1bmhhbmRsZWQgcmVqZWN0aW9uLlxuICAgICAgICAgICAgY29uc3QgaXNBYm9ydCA9IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgJiYgZXJyb3IubmFtZSA9PT0gJ0Fib3J0RXJyb3InO1xuICAgICAgICAgICAgaWYgKHNlcSA9PT0gc2VxUmVmLmN1cnJlbnQgJiYgIWlzQWJvcnQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdbUHJvRm9ybV0gZmllbGQgcmVxdWVzdCBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgaWYgKHNlcSA9PT0gc2VxUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pKTtcbiAgICAvLyBgaGFzUmVxdWVzdGAgaXMgYSBkZXBlbmRlbmN5IHNvIGEgcmVxdWVzdCB0aGF0IG9ubHkgYmVjb21lcyBkZWZpbmVkIG9uIGFcbiAgICAvLyBMQVRFUiByZW5kZXIgKGUuZy4gYmVoaW5kIGEgZmVhdHVyZSBmbGFnKSBzdGlsbCB0cmlnZ2VycyBpdHMgZmlyc3QgZmV0Y2guXG4gICAgY29uc3QgaGFzUmVxdWVzdCA9ICEhcmVxdWVzdDtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIXJlcXVlc3RSZWYuY3VycmVudClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgZmV0Y2hPcHRpb25zKCk7XG4gICAgfSwgW3NlcmlhbGl6ZWRQYXJhbXMsIGhhc1JlcXVlc3RdKTtcbiAgICAvLyBIb25vciB0aGUgY2FuY2VsbGF0aW9uIGNvbnRyYWN0IG9uIHVubW91bnQ6IGFib3J0IHRoZSBpbi1mbGlnaHQgcmVxdWVzdFxuICAgIC8vIGFuZCBidW1wIHRoZSBzZXF1ZW5jZSBzbyBhbnkgbGF0ZSBzZXR0bGUgKHJlc3VsdCBvciBlcnJvcikgaXMgZGlzY2FyZGVkLlxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBzZXFSZWYuY3VycmVudCArPSAxO1xuICAgICAgICAgICAgKF9hID0gYWJvcnRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmFib3J0KCk7XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIHJldHVybiBbbG9hZGluZywgb3B0aW9uc107XG59XG5leHBvcnQgZGVmYXVsdCB1c2VGaWVsZFJlcXVlc3Q7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -1,16 +1,17 @@
1
- export type ProFormSyncToUrl = boolean | ((values: Record<string, unknown>, type: 'get' | 'set') => Record<string, unknown>);
2
- export interface UseUrlSyncOptions {
3
- syncToUrl?: ProFormSyncToUrl;
1
+ import type { ProFormValuesPatch } from '../core/namePathType';
2
+ export type ProFormSyncToUrl<Values = Record<string, any>> = boolean | ((values: ProFormValuesPatch<Values> | Record<string, string>, type: 'get' | 'set') => Record<string, any>);
3
+ export interface UseUrlSyncOptions<Values = Record<string, any>> {
4
+ syncToUrl?: ProFormSyncToUrl<Values>;
4
5
  /** Extra params always written to the URL alongside the form values. */
5
- extraUrlParams?: Record<string, unknown>;
6
+ extraUrlParams?: Record<string, any>;
6
7
  }
7
8
  export interface UseUrlSyncResult {
8
9
  /** URL params captured at mount (after the `'get'` mapping) — merge into initialValues. */
9
- urlInitialValues: Record<string, unknown>;
10
+ urlInitialValues: Record<string, any>;
10
11
  /** Write submitted values (+ extraUrlParams) into the URL. */
11
- onUrlSyncFinish: (finalValues: Record<string, unknown>) => void;
12
+ onUrlSyncFinish: (finalValues: Record<string, any>) => void;
12
13
  /** Clear this form's own params; foreign params and extraUrlParams survive. */
13
14
  onUrlSyncReset: () => void;
14
15
  }
15
- export declare function useUrlSync({ syncToUrl, extraUrlParams }: UseUrlSyncOptions): UseUrlSyncResult;
16
+ export declare function useUrlSync({ syncToUrl, extraUrlParams, }: UseUrlSyncOptions): UseUrlSyncResult;
16
17
  export default useUrlSync;
@@ -167,4 +167,4 @@ export function useUrlSync(_ref) {
167
167
  };
168
168
  }
169
169
  export default useUrlSync;
170
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2hvb2tzL3VzZVVybFN5bmMudHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vaG9va3MvdXNlVXJsU3luYy5qcyJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VNZW1vaXplZEZuIiwic3RhYmxlU2VyaWFsaXplIiwiZ2V0VXJsUGFyYW1zIiwid2luZG93IiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJzZWFyY2giLCJmb3JFYWNoIiwidiIsImsiLCJzZXRVcmxQYXJhbXMiLCJtYW5hZ2VkS2V5cyIsIlNldCIsInNwIiwid3JpdHRlbiIsIl9pIiwiX09iamVjdCRlbnRyaWVzIiwiT2JqZWN0IiwiZW50cmllcyIsImxlbmd0aCIsIl9PYmplY3QkZW50cmllcyRfaSIsIl9zbGljZWRUb0FycmF5IiwidW5kZWZpbmVkIiwic2V0IiwiU3RyaW5nIiwiYWRkIiwidG9TdHJpbmciLCJ1cmwiLCJjb25jYXQiLCJwYXRobmFtZSIsImhhc2giLCJjdXJyZW50VXJsIiwiaGlzdG9yeSIsInJlcGxhY2VTdGF0ZSIsInVzZVVybFN5bmMiLCJfcmVmIiwic3luY1RvVXJsIiwiZXh0cmFVcmxQYXJhbXMiLCJ1cmxQYXJhbXNBdE1vdW50UmVmIiwiY3VycmVudCIsIm1vdW50UGF0aG5hbWVSZWYiLCJhY3RpdmVSZWYiLCJpc1dyaXRhYmxlIiwibWFuYWdlZEtleXNSZWYiLCJ1cmxTZWVkZWRSZWYiLCJ1cmxJbml0aWFsVmFsdWVzUmVmIiwiZnJvbVVybCIsImtleXMiLCJhc3NpZ24iLCJ3cml0ZVZhbHVlcyIsInZhbHVlcyIsInRvV3JpdGUiLCJ0b0NsZWFyIiwiX2kyIiwiX09iamVjdCRlbnRyaWVzMiIsIl9PYmplY3QkZW50cmllczIkX2kiLCJrZXkiLCJ2YWx1ZSIsInNlZWRlZCIsImhhcyIsIl9pMyIsIl9PYmplY3Qka2V5cyIsIm9uVXJsU3luY0ZpbmlzaCIsImZpbmFsVmFsdWVzIiwic2hvdWxkUHJlTWVyZ2UiLCJvblVybFN5bmNSZXNldCIsImV4dHJhS2V5c1JlZiIsInNlcmlhbGl6ZWRFeHRyYSIsIm5leHQiLCJzaXplIiwibWVyZ2VkIiwidXJsSW5pdGlhbFZhbHVlcyJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFNBQVMsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDekMsT0FBT0MsYUFBYSxNQUFNLDZCQUE2QjtBQUN2RCxTQUFTQyxlQUFlLFFBQVEsVUFBVTtBQWlCMUMsU0FBU0MsWUFBWUEsQ0FBQSxFQUFBO0VBQ25CLElBQUksT0FBT0MsTUFBTSxLQUFLLFdBQVcsRUFBRSxPQUFPLENBQUEsQ0FBRTtFQUM1QyxJQUFNQyxNQUFNLEdBQTJCLENBQUEsQ0FBRTtFQUN6QyxJQUFJQyxlQUFlLENBQUNGLE1BQU0sQ0FBQ0csUUFBUSxDQUFDQyxNQUFNLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLFVBQUNDLENBQUMsRUFBRUMsQ0FBQyxFQUFJO0lBQzNETixNQUFNLENBQUNNLENBQUMsQ0FBQyxHQUFHRCxDQUFDO0VBQ2YsQ0FBQyxDQUFDO0VBQ0YsT0FBT0wsTUFBTTtBQUNmO0FBRUE7QUNmQTtBQUNBO0FBQ0E7QUFDQTtBRGlCQSxTQUFTTyxZQUFZQSxDQUNuQlAsTUFBK0IsRUFDL0JRLFdBQWdDLEVBQUE7RUFFaEMsSUFBSSxPQUFPVCxNQUFNLEtBQUssV0FBVyxFQUFFLE9BQU8sSUFBSVUsR0FBRyxDQUFDRCxXQUFXLENBQUM7RUFDOUQsSUFBTUUsRUFBRSxHQUFHLElBQUlULGVBQWUsQ0FBQ0YsTUFBTSxDQUFDRyxRQUFRLENBQUNDLE1BQU0sQ0FBQztFQUN0REssV0FBVyxDQUFDSixPQUFPLENBQUMsVUFBQ0UsQ0FBQztJQUFBLE9BQUtJLEVBQUUsVUFBTyxDQUFDSixDQUFDLENBQUM7RUFBQSxFQUFDO0VBRXhDLElBQU1LLE9BQU8sR0FBRyxJQUFJRixHQUFHLENBQUEsQ0FBVTtFQUNqQyxTQUFBRyxFQUFBLE1BQUFDLGVBQUEsR0FBcUJDLE1BQU0s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ZUFBZS9CLFVBQVUiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2hvb2tzL3VzZVVybFN5bmMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnQDFtb25leS9ob29rcy91c2VNZW1vaXplZEZuJztcbmltcG9ydCB7IHN0YWJsZVNlcmlhbGl6ZSB9IGZyb20gJy4uL3V0aWxzJztcbmZ1bmN0aW9uIGdldFVybFBhcmFtcygpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgIHJldHVybiB7fTtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcbiAgICBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmZvckVhY2goKHYsIGspID0+IHtcbiAgICAgICAgcGFyYW1zW2tdID0gdjtcbiAgICB9KTtcbiAgICByZXR1cm4gcGFyYW1zO1xufVxuLyoqXG4gKiBXcml0ZSB0aGUgZ2l2ZW4gdmFsdWVzIGludG8gdGhlIFVSTCB3aGlsZSBQUkVTRVJWSU5HIHVucmVsYXRlZCBxdWVyeSBwYXJhbXMuXG4gKiBPbmx5IGtleXMgaW4gYG1hbmFnZWRLZXlzYCBhcmUgY2xlYXJlZCBiZWZvcmUgd3JpdGluZy4gUmV0dXJucyB0aGUgbmV3IHNldFxuICogb2YgbWFuYWdlZCBrZXlzLlxuICovXG5mdW5jdGlvbiBzZXRVcmxQYXJhbXMocGFyYW1zLCBtYW5hZ2VkS2V5cykge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgcmV0dXJuIG5ldyBTZXQobWFuYWdlZEtleXMpO1xuICAgIGNvbnN0IHNwID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcbiAgICBtYW5hZ2VkS2V5cy5mb3JFYWNoKChrKSA9PiBzcC5kZWxldGUoaykpO1xuICAgIGNvbnN0IHdyaXR0ZW4gPSBuZXcgU2V0KCk7XG4gICAgZm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMocGFyYW1zKSkge1xuICAgICAgICBpZiAodiAhPT0gbnVsbCAmJiB2ICE9PSB1bmRlZmluZWQgJiYgdiAhPT0gJycpIHtcbiAgICAgICAgICAgIHNwLnNldChrLCBTdHJpbmcodikpO1xuICAgICAgICAgICAgd3JpdHRlbi5hZGQoayk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgc2VhcmNoID0gc3AudG9TdHJpbmcoKTtcbiAgICAvLyBQUkVTRVJWRSB0aGUgaGFzaCDigJQgaGFzaCByb3V0ZXJzIGtlZXAgdGhlaXIgd2hvbGUgcm91dGUgdGhlcmU7IGRyb3BwaW5nXG4gICAgLy8gaXQgd291bGQgbmF2aWdhdGUgdGhlIFNQQSBhd2F5IG9uIGV2ZXJ5IHdyaXRlLlxuICAgIGNvbnN0IHVybCA9IChzZWFyY2ggPyBgJHt3aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9PyR7c2VhcmNofWAgOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpICtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhhc2g7XG4gICAgLy8gU2tpcCB0aGUgaGlzdG9yeSBjYWxsIHdoZW4gbm90aGluZyBjaGFuZ2VzIOKAlCBTYWZhcmkgdGhyb3R0bGVzIHRoZVxuICAgIC8vIGhpc3RvcnkgQVBJLCBzbyBpZGVudGljYWwgcmV3cml0ZXMgYXJlIHdhc3RlZCBidWRnZXQuXG4gICAgY29uc3QgY3VycmVudFVybCA9IGAke3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0ke3dpbmRvdy5sb2NhdGlvbi5zZWFyY2h9JHt3aW5kb3cubG9jYXRpb24uaGFzaH1gO1xuICAgIGlmICh1cmwgIT09IGN1cnJlbnRVcmwpIHtcbiAgICAgICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsICcnLCB1cmwpO1xuICAgIH1cbiAgICByZXR1cm4gd3JpdHRlbjtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1c2VVcmxTeW5jKHsgc3luY1RvVXJsLCBleHRyYVVybFBhcmFtcyB9KSB7XG4gICAgLy8gT25lLXRpbWUgbW91bnQgc25hcHNob3QuIExhenkgcmVmIGluaXQgaXMgSURFTVBPVEVOVCwgc28gaXQgaXMgc2FmZSB1bmRlclxuICAgIC8vIFN0cmljdE1vZGUncyBkb3VibGUgcmVuZGVyIChhbiBpbXB1cmUgXCJmaXJzdCBydW5cIiBmbGFnIGluc2lkZSB1c2VNZW1vXG4gICAgLy8gd291bGQgcmV0dXJuIHRoZSB1bm1lcmdlZCB2YWx1ZSBvbiB0aGUgcmVwbGF5IGludm9jYXRpb24pLlxuICAgIGNvbnN0IHVybFBhcmFtc0F0TW91bnRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgaWYgKHVybFBhcmFtc0F0TW91bnRSZWYuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICB1cmxQYXJhbXNBdE1vdW50UmVmLmN1cnJlbnQgPSBzeW5jVG9VcmwgPyBnZXRVcmxQYXJhbXMoKSA6IHt9O1xuICAgIH1cbiAgICAvLyBUaGUgcm91dGUgdGhpcyBmb3JtIG1vdW50ZWQgb24uIEFsbCBkZWZlcnJlZCBVUkwgd3JpdGVzIGFyZSBndWFyZGVkIGJ5XG4gICAgLy8gaXQ6IGFuIG9uRmluaXNoIHRoYXQgTkFWSUdBVEVTIG11c3Qgbm90IGdldCB0aGUgb2xkIGZvcm0ncyBwYXJhbXNcbiAgICAvLyBzdGFtcGVkIG9udG8gdGhlIG5ldyByb3V0ZSdzIFVSTC4gVGhlIHBhdGhuYW1lIGNoZWNrIGNvdmVycyBwYXRoXG4gICAgLy8gcm91dGVyczsgdGhlIGFjdGl2ZVJlZiBjb3ZlcnMgYW55IG5hdmlnYXRpb24gdGhhdCBVTk1PVU5UUyB0aGUgZm9ybVxuICAgIC8vIChpbmNsdWRpbmcgaGFzaCByb3V0ZXJzLCB3aGVyZSB0aGUgcGF0aG5hbWUgbmV2ZXIgY2hhbmdlcykuXG4gICAgY29uc3QgbW91bnRQYXRobmFtZVJlZiA9IHVzZVJlZih0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyA/ICcnIDogd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICBjb25zdCBhY3RpdmVSZWYgPSB1c2VSZWYodHJ1ZSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgYWN0aXZlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgYWN0aXZlUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaXNXcml0YWJsZSA9ICgpID0+IGFjdGl2ZVJlZi5jdXJyZW50ICYmXG4gICAgICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSA9PT0gbW91bnRQYXRobmFtZVJlZi5jdXJyZW50O1xuICAgIC8vIEtleXMgdGhpcyBmb3JtIGhhcyBXUklUVEVOIHRvIHRoZSBVUkwg4oCUIHRoZSBvbmx5IGtleXMgc3VibWl0L3Jlc2V0IG1heSBjbGVhci5cbiAgICBjb25zdCBtYW5hZ2VkS2V5c1JlZiA9IHVzZVJlZihuZXcgU2V0KCkpO1xuICAgIC8vIEJvb2xlYW4tbW9kZSBvbmx5OiBVUkwgcGFyYW1zIG1lcmdlZCBpbnRvIGluaXRpYWxWYWx1ZXMgYnV0IE5PVCB5ZXRcbiAgICAvLyBjbGFpbWVkICh0aGV5IG1heSBiZWxvbmcgdG8gc29tZW9uZSBlbHNlLCBlLmcuIGA/dGFiPeKApmApLlxuICAgIGNvbnN0IHVybFNlZWRlZFJlZiA9IHVzZVJlZih7fSk7XG4gICAgY29uc3QgdXJsSW5pdGlhbFZhbHVlc1JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBpZiAodXJsSW5pdGlhbFZhbHVlc1JlZi5jdXJyZW50ID09PSBudWxsKSB7XG4gICAgICAgIGlmICghc3luY1RvVXJsKSB7XG4gICAgICAgICAgICB1cmxJbml0aWFsVmFsdWVzUmVmLmN1cnJlbnQgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2Ygc3luY1RvVXJsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjb25zdCBmcm9tVXJsID0gc3luY1RvVXJsKHVybFBhcmFtc0F0TW91bnRSZWYuY3VycmVudCwgJ2dldCcpO1xuICAgICAgICAgICAgLy8gSWRlbXBvdGVudCByZWYgd3JpdGVzIOKAlCBzYW1lIGlucHV0IG9uIGV2ZXJ5IGludm9jYXRpb24uXG4gICAgICAgICAgICBtYW5hZ2VkS2V5c1JlZi5jdXJyZW50ID0gbmV3IFNldChPYmplY3Qua2V5cyhmcm9tVXJsKSk7XG4gICAgICAgICAgICB1cmxJbml0aWFsVmFsdWVzUmVmLmN1cnJlbnQgPSBmcm9tVXJsO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdXJsU2VlZGVkUmVmLmN1cnJlbnQgPSBPYmplY3QuYXNzaWduKHt9LCB1cmxQYXJhbXNBdE1vdW50UmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgdXJsSW5pdGlhbFZhbHVlc1JlZi5jdXJyZW50ID0gT2JqZWN0LmFzc2lnbih7fSwgdXJsUGFyYW1zQXRNb3VudFJlZi5jdXJyZW50KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB3cml0ZVZhbHVlcyA9IHVzZU1lbW9pemVkRm4oKHZhbHVlcykgPT4ge1xuICAgICAgICBpZiAoIXN5bmNUb1VybCB8fCAhaXNXcml0YWJsZSgpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBsZXQgdG9Xcml0ZTtcbiAgICAgICAgY29uc3QgdG9DbGVhciA9IG5ldyBTZXQobWFuYWdlZEtleXNSZWYuY3VycmVudCk7XG4gICAgICAgIGlmICh0eXBlb2Ygc3luY1RvVXJsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAvLyBleHRyYVVybFBhcmFtcyBieXBhc3MgdGhlIGNvbnN1bWVyJ3MgbWFwcGVyIChcImFsd2F5cyB3cml0dGVuXCIpOiB0aGV5XG4gICAgICAgICAgICAvLyBmb3JtIHRoZSBiYXNlIGFuZCB0aGUgbWFwcGVyJ3Mgb3V0cHV0IHdpbnMgb24ga2V5IGNvbGxpc2lvbnMuXG4gICAgICAgICAgICB0b1dyaXRlID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBleHRyYVVybFBhcmFtcyksIHN5bmNUb1VybCh2YWx1ZXMsICdzZXQnKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBTa2lwIFVSTC1zZWVkZWQga2V5cyB3ZSBuZXZlciB3cm90ZSB3aG9zZSB2YWx1ZSBpcyB1bmNoYW5nZWQg4oCUIHRoZXlcbiAgICAgICAgICAgIC8vIG1heSBiZWxvbmcgdG8gc29tZW9uZSBlbHNlOyBsZWF2ZSB0aGVtIGluIHRoZSBVUkwgdW50b3VjaGVkLiBBIHNlZWRlZFxuICAgICAgICAgICAgLy8ga2V5IHdob3NlIHZhbHVlIERJRCBjaGFuZ2UgaXMgY2xhaW1lZCBmcm9tIG5vdyBvbi5cbiAgICAgICAgICAgIHRvV3JpdGUgPSB7fTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlcykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWVkZWQgPSB1cmxTZWVkZWRSZWYuY3VycmVudFtrZXldO1xuICAgICAgICAgICAgICAgIGlmIChzZWVkZWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICAhbWFuYWdlZEtleXNSZWYuY3VycmVudC5oYXMoa2V5KSAmJlxuICAgICAgICAgICAgICAgICAgICBTdHJpbmcodmFsdWUpID09PSBzZWVkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlbGV0ZSB1cmxTZWVkZWRSZWYuY3VycmVudFtrZXldO1xuICAgICAgICAgICAgICAgIHRvQ2xlYXIuYWRkKGtleSk7XG4gICAgICAgICAgICAgICAgdG9Xcml0ZVtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBTZWVkZWQga2V5cyBtaXNzaW5nIGZyb20gdGhlIHN1Ym1pdHRlZCB2YWx1ZXMgd2VyZSBjbGVhcmVkIGJ5IHRoZVxuICAgICAgICAgICAgLy8gdXNlciAob21pdE5pbCBzdHJpcHMgZW1wdHkgdmFsdWVzKSDigJQgY2xhaW0gdGhlbSBhbmQgcmVtb3ZlIHRoZWlyXG4gICAgICAgICAgICAvLyBzdGFsZSBwYXJhbXMgZnJvbSB0aGUgVVJMLlxuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModXJsU2VlZGVkUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCEoa2V5IGluIHZhbHVlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHVybFNlZWRlZFJlZi5jdXJyZW50W2tleV07XG4gICAgICAgICAgICAgICAgICAgIHRvQ2xlYXIuYWRkKGtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG1hbmFnZWRLZXlzUmVmLmN1cnJlbnQgPSBzZXRVcmxQYXJhbXModG9Xcml0ZSwgdG9DbGVhcik7XG4gICAgfSk7XG4gICAgY29uc3Qgb25VcmxTeW5jRmluaXNoID0gdXNlTWVtb2l6ZWRGbigoZmluYWxWYWx1ZXMpID0+IHtcbiAgICAgICAgaWYgKCFzeW5jVG9VcmwpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIC8vIGV4dHJhVXJsUGFyYW1zIGFyZSBhcHBsaWVkIGV4YWN0bHkgb25jZSBwZXIgYnJhbmNoOiBwcmUtbWVyZ2VkIGhlcmUgZm9yXG4gICAgICAgIC8vIHRoZSBib29sZWFuIGZvcm0gKHZhbHVlcyB3aW4gb24gY29sbGlzaW9uKTsgdGhlIGZ1bmN0aW9uIGZvcm0gYXBwbGllc1xuICAgICAgICAvLyB0aGVtIEFGVEVSIHRoZSBjb25zdW1lcidzIG1hcHBlciBpbnNpZGUgd3JpdGVWYWx1ZXMsIHNvIHRoZSBtYXBwZXJcbiAgICAgICAgLy8gbmV2ZXIgc2VlcyBmb3JlaWduIGtleXMgaW4gaXRzIGlucHV0LlxuICAgICAgICBjb25zdCBzaG91bGRQcmVNZXJnZSA9IHR5cGVvZiBzeW5jVG9VcmwgIT09ICdmdW5jdGlvbicgJiYgZXh0cmFVcmxQYXJhbXM7XG4gICAgICAgIHdyaXRlVmFsdWVzKHNob3VsZFByZU1lcmdlID8gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBleHRyYVVybFBhcmFtcyksIGZpbmFsVmFsdWVzKSA6IGZpbmFsVmFsdWVzKTtcbiAgICB9KTtcbiAgICBjb25zdCBvblVybFN5bmNSZXNldCA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICBpZiAoIXN5bmNUb1VybCB8fCAhaXNXcml0YWJsZSgpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBDbGVhciBldmVyeSBtYW5hZ2VkIGtleSwgdGhlbiByZS13cml0ZSBleHRyYVVybFBhcmFtcyAodGhleSBwZXJzaXN0KS5cbiAgICAgICAgbWFuYWdlZEtleXNSZWYuY3VycmVudCA9IHNldFVybFBhcmFtcyhPYmplY3QuYXNzaWduKHt9LCBleHRyYVVybFBhcmFtcyksIG1hbmFnZWRLZXlzUmVmLmN1cnJlbnQpO1xuICAgIH0pO1xuICAgIC8vIEtlZXAgZXh0cmFVcmxQYXJhbXMgaW4gdGhlIFVSTCBhcyB0aGV5IGNoYW5nZSAodmFsdWUtY29tcGFyZWQpLiBUaGVcbiAgICAvLyBwcmV2aW91c2x5LXdyaXR0ZW4gZXh0cmEga2V5cyBhcmUgdHJhY2tlZCBzbyBhIGtleSBSRU1PVkVEIGZyb21cbiAgICAvLyBleHRyYVVybFBhcmFtcyBpcyBhbHNvIHJlbW92ZWQgZnJvbSB0aGUgVVJMIOKAlCBub3QganVzdCBvdmVyd3JpdHRlbi5cbiAgICBjb25zdCBleHRyYUtleXNSZWYgPSB1c2VSZWYobmV3IFNldCgpKTtcbiAgICBjb25zdCBzZXJpYWxpemVkRXh0cmEgPSBzeW5jVG9VcmwgPyBzdGFibGVTZXJpYWxpemUoZXh0cmFVcmxQYXJhbXMpIDogJyc7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFzeW5jVG9VcmwgfHwgIWlzV3JpdGFibGUoKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgbmV4dCA9IGV4dHJhVXJsUGFyYW1zICE9PSBudWxsICYmIGV4dHJhVXJsUGFyYW1zICE9PSB2b2lkIDAgPyBleHRyYVVybFBhcmFtcyA6IHt9O1xuICAgICAgICBpZiAoZXh0cmFLZXlzUmVmLmN1cnJlbnQuc2l6ZSA9PT0gMCAmJiBPYmplY3Qua2V5cyhuZXh0KS5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IHdyaXR0ZW4gPSBzZXRVcmxQYXJhbXMoT2JqZWN0LmFzc2lnbih7fSwgbmV4dCksIGV4dHJhS2V5c1JlZi5jdXJyZW50KTtcbiAgICAgICAgY29uc3QgbWVyZ2VkID0gbmV3IFNldChtYW5hZ2VkS2V5c1JlZi5jdXJyZW50KTtcbiAgICAgICAgZXh0cmFLZXlzUmVmLmN1cnJlbnQuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXdyaXR0ZW4uaGFzKGtleSkpXG4gICAgICAgICAgICAgICAgbWVyZ2VkLmRlbGV0ZShrZXkpO1xuICAgICAgICB9KTtcbiAgICAgICAgd3JpdHRlbi5mb3JFYWNoKChrZXkpID0+IG1lcmdlZC5hZGQoa2V5KSk7XG4gICAgICAgIG1hbmFnZWRLZXlzUmVmLmN1cnJlbnQgPSBtZXJnZWQ7XG4gICAgICAgIGV4dHJhS2V5c1JlZi5jdXJyZW50ID0gd3JpdHRlbjtcbiAgICB9LCBbc2VyaWFsaXplZEV4dHJhXSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdXJsSW5pdGlhbFZhbHVlczogdXJsSW5pdGlhbFZhbHVlc1JlZi5jdXJyZW50LFxuICAgICAgICBvblVybFN5bmNGaW5pc2gsXG4gICAgICAgIG9uVXJsU3luY1Jlc2V0LFxuICAgIH07XG59XG5leHBvcnQgZGVmYXVsdCB1c2VVcmxTeW5jOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
170
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2hvb2tzL3VzZVVybFN5bmMudHMiLCJjb21wb25lbnRzL1Byb0Zvcm0vaG9va3MvdXNlVXJsU3luYy5qcyJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VNZW1vaXplZEZuIiwic3RhYmxlU2VyaWFsaXplIiwiZ2V0VXJsUGFyYW1zIiwid2luZG93IiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJzZWFyY2giLCJmb3JFYWNoIiwidiIsImsiLCJzZXRVcmxQYXJhbXMiLCJtYW5hZ2VkS2V5cyIsIlNldCIsInNwIiwid3JpdHRlbiIsIl9pIiwiX09iamVjdCRlbnRyaWVzIiwiT2JqZWN0IiwiZW50cmllcyIsImxlbmd0aCIsIl9PYmplY3QkZW50cmllcyRfaSIsIl9zbGljZWRUb0FycmF5IiwidW5kZWZpbmVkIiwic2V0IiwiU3RyaW5nIiwiYWRkIiwidG9TdHJpbmciLCJ1cmwiLCJjb25jYXQiLCJwYXRobmFtZSIsImhhc2giLCJjdXJyZW50VXJsIiwiaGlzdG9yeSIsInJlcGxhY2VTdGF0ZSIsInVzZVVybFN5bmMiLCJfcmVmIiwic3luY1RvVXJsIiwiZXh0cmFVcmxQYXJhbXMiLCJ1cmxQYXJhbXNBdE1vdW50UmVmIiwiY3VycmVudCIsIm1vdW50UGF0aG5hbWVSZWYiLCJhY3RpdmVSZWYiLCJpc1dyaXRhYmxlIiwibWFuYWdlZEtleXNSZWYiLCJ1cmxTZWVkZWRSZWYiLCJ1cmxJbml0aWFsVmFsdWVzUmVmIiwiZnJvbVVybCIsImtleXMiLCJhc3NpZ24iLCJ3cml0ZVZhbHVlcyIsInZhbHVlcyIsInRvV3JpdGUiLCJ0b0NsZWFyIiwiX2kyIiwiX09iamVjdCRlbnRyaWVzMiIsIl9PYmplY3QkZW50cmllczIkX2kiLCJrZXkiLCJ2YWx1ZSIsInNlZWRlZCIsImhhcyIsIl9pMyIsIl9PYmplY3Qka2V5cyIsIm9uVXJsU3luY0ZpbmlzaCIsImZpbmFsVmFsdWVzIiwic2hvdWxkUHJlTWVyZ2UiLCJvblVybFN5bmNSZXNldCIsImV4dHJhS2V5c1JlZiIsInNlcmlhbGl6ZWRFeHRyYSIsIm5leHQiLCJzaXplIiwibWVyZ2VkIiwidXJsSW5pdGlhbFZhbHVlcyJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLFNBQVMsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDekMsT0FBT0MsYUFBYSxNQUFNLDZCQUE2QjtBQUN2RCxTQUFTQyxlQUFlLFFBQVEsVUFBVTtBQXFCMUMsU0FBU0MsWUFBWUEsQ0FBQSxFQUFBO0VBQ25CLElBQUksT0FBT0MsTUFBTSxLQUFLLFdBQVcsRUFBRSxPQUFPLENBQUEsQ0FBRTtFQUM1QyxJQUFNQyxNQUFNLEdBQTJCLENBQUEsQ0FBRTtFQUN6QyxJQUFJQyxlQUFlLENBQUNGLE1BQU0sQ0FBQ0csUUFBUSxDQUFDQyxNQUFNLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLFVBQUNDLENBQUMsRUFBRUMsQ0FBQyxFQUFJO0lBQzNETixNQUFNLENBQUNNLENBQUMsQ0FBQyxHQUFHRCxDQUFDO0VBQ2YsQ0FBQyxDQUFDO0VBQ0YsT0FBT0wsTUFBTTtBQUNmO0FBRUE7QUNuQkE7QUFDQTtBQUNBO0FBQ0E7QURxQkEsU0FBU08sWUFBWUEsQ0FDbkJQLE1BQTJCLEVBQzNCUSxXQUFnQyxFQUFBO0VBRWhDLElBQUksT0FBT1QsTUFBTSxLQUFLLFdBQVcsRUFBRSxPQUFPLElBQUlVLEdBQUcsQ0FBQ0QsV0FBVyxDQUFDO0VBQzlELElBQU1FLEVBQUUsR0FBRyxJQUFJVCxlQUFlLENBQUNGLE1BQU0sQ0FBQ0csUUFBUSxDQUFDQyxNQUFNLENBQUM7RUFDdERLLFdBQVcsQ0FBQ0osT0FBTyxDQUFDLFVBQUNFLENBQUM7SUFBQSxPQUFLSSxFQUFFLFVBQU8sQ0FBQ0osQ0FBQyxDQUFDO0VBQUEsRUFBQztFQUV4QyxJQUFNSyxPQUFPLEdBQUcsSUFBSUYsR0FBRyxDQUFBLENBQVU7RUFDakMsU0FBQUcsRUFBQSxNQUFBQyxlQUFBLEdBQXFCQyxNQUFN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QUFlL0IsVUFBVSIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vaG9va3MvdXNlVXJsU3luYy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZU1lbW9pemVkRm4nO1xuaW1wb3J0IHsgc3RhYmxlU2VyaWFsaXplIH0gZnJvbSAnLi4vdXRpbHMnO1xuZnVuY3Rpb24gZ2V0VXJsUGFyYW1zKCkge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgIG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCkuZm9yRWFjaCgodiwgaykgPT4ge1xuICAgICAgICBwYXJhbXNba10gPSB2O1xuICAgIH0pO1xuICAgIHJldHVybiBwYXJhbXM7XG59XG4vKipcbiAqIFdyaXRlIHRoZSBnaXZlbiB2YWx1ZXMgaW50byB0aGUgVVJMIHdoaWxlIFBSRVNFUlZJTkcgdW5yZWxhdGVkIHF1ZXJ5IHBhcmFtcy5cbiAqIE9ubHkga2V5cyBpbiBgbWFuYWdlZEtleXNgIGFyZSBjbGVhcmVkIGJlZm9yZSB3cml0aW5nLiBSZXR1cm5zIHRoZSBuZXcgc2V0XG4gKiBvZiBtYW5hZ2VkIGtleXMuXG4gKi9cbmZ1bmN0aW9uIHNldFVybFBhcmFtcyhwYXJhbXMsIG1hbmFnZWRLZXlzKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKVxuICAgICAgICByZXR1cm4gbmV3IFNldChtYW5hZ2VkS2V5cyk7XG4gICAgY29uc3Qgc3AgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICAgIG1hbmFnZWRLZXlzLmZvckVhY2goKGspID0+IHNwLmRlbGV0ZShrKSk7XG4gICAgY29uc3Qgd3JpdHRlbiA9IG5ldyBTZXQoKTtcbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhwYXJhbXMpKSB7XG4gICAgICAgIGlmICh2ICE9PSBudWxsICYmIHYgIT09IHVuZGVmaW5lZCAmJiB2ICE9PSAnJykge1xuICAgICAgICAgICAgc3Auc2V0KGssIFN0cmluZyh2KSk7XG4gICAgICAgICAgICB3cml0dGVuLmFkZChrKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBzZWFyY2ggPSBzcC50b1N0cmluZygpO1xuICAgIC8vIFBSRVNFUlZFIHRoZSBoYXNoIOKAlCBoYXNoIHJvdXRlcnMga2VlcCB0aGVpciB3aG9sZSByb3V0ZSB0aGVyZTsgZHJvcHBpbmdcbiAgICAvLyBpdCB3b3VsZCBuYXZpZ2F0ZSB0aGUgU1BBIGF3YXkgb24gZXZlcnkgd3JpdGUuXG4gICAgY29uc3QgdXJsID0gKHNlYXJjaCA/IGAke3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0/JHtzZWFyY2h9YCA6IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSkgK1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaGFzaDtcbiAgICAvLyBTa2lwIHRoZSBoaXN0b3J5IGNhbGwgd2hlbiBub3RoaW5nIGNoYW5nZXMg4oCUIFNhZmFyaSB0aHJvdHRsZXMgdGhlXG4gICAgLy8gaGlzdG9yeSBBUEksIHNvIGlkZW50aWNhbCByZXdyaXRlcyBhcmUgd2FzdGVkIGJ1ZGdldC5cbiAgICBjb25zdCBjdXJyZW50VXJsID0gYCR7d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfSR7d2luZG93LmxvY2F0aW9uLnNlYXJjaH0ke3dpbmRvdy5sb2NhdGlvbi5oYXNofWA7XG4gICAgaWYgKHVybCAhPT0gY3VycmVudFVybCkge1xuICAgICAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCwgJycsIHVybCk7XG4gICAgfVxuICAgIHJldHVybiB3cml0dGVuO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHVzZVVybFN5bmMoeyBzeW5jVG9VcmwsIGV4dHJhVXJsUGFyYW1zLCB9KSB7XG4gICAgLy8gT25lLXRpbWUgbW91bnQgc25hcHNob3QuIExhenkgcmVmIGluaXQgaXMgSURFTVBPVEVOVCwgc28gaXQgaXMgc2FmZSB1bmRlclxuICAgIC8vIFN0cmljdE1vZGUncyBkb3VibGUgcmVuZGVyIChhbiBpbXB1cmUgXCJmaXJzdCBydW5cIiBmbGFnIGluc2lkZSB1c2VNZW1vXG4gICAgLy8gd291bGQgcmV0dXJuIHRoZSB1bm1lcmdlZCB2YWx1ZSBvbiB0aGUgcmVwbGF5IGludm9jYXRpb24pLlxuICAgIGNvbnN0IHVybFBhcmFtc0F0TW91bnRSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgaWYgKHVybFBhcmFtc0F0TW91bnRSZWYuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICB1cmxQYXJhbXNBdE1vdW50UmVmLmN1cnJlbnQgPSBzeW5jVG9VcmwgPyBnZXRVcmxQYXJhbXMoKSA6IHt9O1xuICAgIH1cbiAgICAvLyBUaGUgcm91dGUgdGhpcyBmb3JtIG1vdW50ZWQgb24uIEFsbCBkZWZlcnJlZCBVUkwgd3JpdGVzIGFyZSBndWFyZGVkIGJ5XG4gICAgLy8gaXQ6IGFuIG9uRmluaXNoIHRoYXQgTkFWSUdBVEVTIG11c3Qgbm90IGdldCB0aGUgb2xkIGZvcm0ncyBwYXJhbXNcbiAgICAvLyBzdGFtcGVkIG9udG8gdGhlIG5ldyByb3V0ZSdzIFVSTC4gVGhlIHBhdGhuYW1lIGNoZWNrIGNvdmVycyBwYXRoXG4gICAgLy8gcm91dGVyczsgdGhlIGFjdGl2ZVJlZiBjb3ZlcnMgYW55IG5hdmlnYXRpb24gdGhhdCBVTk1PVU5UUyB0aGUgZm9ybVxuICAgIC8vIChpbmNsdWRpbmcgaGFzaCByb3V0ZXJzLCB3aGVyZSB0aGUgcGF0aG5hbWUgbmV2ZXIgY2hhbmdlcykuXG4gICAgY29uc3QgbW91bnRQYXRobmFtZVJlZiA9IHVzZVJlZih0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyA/ICcnIDogd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKTtcbiAgICBjb25zdCBhY3RpdmVSZWYgPSB1c2VSZWYodHJ1ZSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgYWN0aXZlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgYWN0aXZlUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaXNXcml0YWJsZSA9ICgpID0+IGFjdGl2ZVJlZi5jdXJyZW50ICYmXG4gICAgICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSA9PT0gbW91bnRQYXRobmFtZVJlZi5jdXJyZW50O1xuICAgIC8vIEtleXMgdGhpcyBmb3JtIGhhcyBXUklUVEVOIHRvIHRoZSBVUkwg4oCUIHRoZSBvbmx5IGtleXMgc3VibWl0L3Jlc2V0IG1heSBjbGVhci5cbiAgICBjb25zdCBtYW5hZ2VkS2V5c1JlZiA9IHVzZVJlZihuZXcgU2V0KCkpO1xuICAgIC8vIEJvb2xlYW4tbW9kZSBvbmx5OiBVUkwgcGFyYW1zIG1lcmdlZCBpbnRvIGluaXRpYWxWYWx1ZXMgYnV0IE5PVCB5ZXRcbiAgICAvLyBjbGFpbWVkICh0aGV5IG1heSBiZWxvbmcgdG8gc29tZW9uZSBlbHNlLCBlLmcuIGA/dGFiPeKApmApLlxuICAgIGNvbnN0IHVybFNlZWRlZFJlZiA9IHVzZVJlZih7fSk7XG4gICAgY29uc3QgdXJsSW5pdGlhbFZhbHVlc1JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBpZiAodXJsSW5pdGlhbFZhbHVlc1JlZi5jdXJyZW50ID09PSBudWxsKSB7XG4gICAgICAgIGlmICghc3luY1RvVXJsKSB7XG4gICAgICAgICAgICB1cmxJbml0aWFsVmFsdWVzUmVmLmN1cnJlbnQgPSB7fTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2Ygc3luY1RvVXJsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjb25zdCBmcm9tVXJsID0gc3luY1RvVXJsKHVybFBhcmFtc0F0TW91bnRSZWYuY3VycmVudCwgJ2dldCcpO1xuICAgICAgICAgICAgLy8gSWRlbXBvdGVudCByZWYgd3JpdGVzIOKAlCBzYW1lIGlucHV0IG9uIGV2ZXJ5IGludm9jYXRpb24uXG4gICAgICAgICAgICBtYW5hZ2VkS2V5c1JlZi5jdXJyZW50ID0gbmV3IFNldChPYmplY3Qua2V5cyhmcm9tVXJsKSk7XG4gICAgICAgICAgICB1cmxJbml0aWFsVmFsdWVzUmVmLmN1cnJlbnQgPSBmcm9tVXJsO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdXJsU2VlZGVkUmVmLmN1cnJlbnQgPSBPYmplY3QuYXNzaWduKHt9LCB1cmxQYXJhbXNBdE1vdW50UmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgdXJsSW5pdGlhbFZhbHVlc1JlZi5jdXJyZW50ID0gT2JqZWN0LmFzc2lnbih7fSwgdXJsUGFyYW1zQXRNb3VudFJlZi5jdXJyZW50KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB3cml0ZVZhbHVlcyA9IHVzZU1lbW9pemVkRm4oKHZhbHVlcykgPT4ge1xuICAgICAgICBpZiAoIXN5bmNUb1VybCB8fCAhaXNXcml0YWJsZSgpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBsZXQgdG9Xcml0ZTtcbiAgICAgICAgY29uc3QgdG9DbGVhciA9IG5ldyBTZXQobWFuYWdlZEtleXNSZWYuY3VycmVudCk7XG4gICAgICAgIGlmICh0eXBlb2Ygc3luY1RvVXJsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAvLyBleHRyYVVybFBhcmFtcyBieXBhc3MgdGhlIGNvbnN1bWVyJ3MgbWFwcGVyIChcImFsd2F5cyB3cml0dGVuXCIpOiB0aGV5XG4gICAgICAgICAgICAvLyBmb3JtIHRoZSBiYXNlIGFuZCB0aGUgbWFwcGVyJ3Mgb3V0cHV0IHdpbnMgb24ga2V5IGNvbGxpc2lvbnMuXG4gICAgICAgICAgICB0b1dyaXRlID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBleHRyYVVybFBhcmFtcyksIHN5bmNUb1VybCh2YWx1ZXMsICdzZXQnKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBTa2lwIFVSTC1zZWVkZWQga2V5cyB3ZSBuZXZlciB3cm90ZSB3aG9zZSB2YWx1ZSBpcyB1bmNoYW5nZWQg4oCUIHRoZXlcbiAgICAgICAgICAgIC8vIG1heSBiZWxvbmcgdG8gc29tZW9uZSBlbHNlOyBsZWF2ZSB0aGVtIGluIHRoZSBVUkwgdW50b3VjaGVkLiBBIHNlZWRlZFxuICAgICAgICAgICAgLy8ga2V5IHdob3NlIHZhbHVlIERJRCBjaGFuZ2UgaXMgY2xhaW1lZCBmcm9tIG5vdyBvbi5cbiAgICAgICAgICAgIHRvV3JpdGUgPSB7fTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlcykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWVkZWQgPSB1cmxTZWVkZWRSZWYuY3VycmVudFtrZXldO1xuICAgICAgICAgICAgICAgIGlmIChzZWVkZWQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICAhbWFuYWdlZEtleXNSZWYuY3VycmVudC5oYXMoa2V5KSAmJlxuICAgICAgICAgICAgICAgICAgICBTdHJpbmcodmFsdWUpID09PSBzZWVkZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlbGV0ZSB1cmxTZWVkZWRSZWYuY3VycmVudFtrZXldO1xuICAgICAgICAgICAgICAgIHRvQ2xlYXIuYWRkKGtleSk7XG4gICAgICAgICAgICAgICAgdG9Xcml0ZVtrZXldID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBTZWVkZWQga2V5cyBtaXNzaW5nIGZyb20gdGhlIHN1Ym1pdHRlZCB2YWx1ZXMgd2VyZSBjbGVhcmVkIGJ5IHRoZVxuICAgICAgICAgICAgLy8gdXNlciAob21pdE5pbCBzdHJpcHMgZW1wdHkgdmFsdWVzKSDigJQgY2xhaW0gdGhlbSBhbmQgcmVtb3ZlIHRoZWlyXG4gICAgICAgICAgICAvLyBzdGFsZSBwYXJhbXMgZnJvbSB0aGUgVVJMLlxuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModXJsU2VlZGVkUmVmLmN1cnJlbnQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCEoa2V5IGluIHZhbHVlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHVybFNlZWRlZFJlZi5jdXJyZW50W2tleV07XG4gICAgICAgICAgICAgICAgICAgIHRvQ2xlYXIuYWRkKGtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG1hbmFnZWRLZXlzUmVmLmN1cnJlbnQgPSBzZXRVcmxQYXJhbXModG9Xcml0ZSwgdG9DbGVhcik7XG4gICAgfSk7XG4gICAgY29uc3Qgb25VcmxTeW5jRmluaXNoID0gdXNlTWVtb2l6ZWRGbigoZmluYWxWYWx1ZXMpID0+IHtcbiAgICAgICAgaWYgKCFzeW5jVG9VcmwpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIC8vIGV4dHJhVXJsUGFyYW1zIGFyZSBhcHBsaWVkIGV4YWN0bHkgb25jZSBwZXIgYnJhbmNoOiBwcmUtbWVyZ2VkIGhlcmUgZm9yXG4gICAgICAgIC8vIHRoZSBib29sZWFuIGZvcm0gKHZhbHVlcyB3aW4gb24gY29sbGlzaW9uKTsgdGhlIGZ1bmN0aW9uIGZvcm0gYXBwbGllc1xuICAgICAgICAvLyB0aGVtIEFGVEVSIHRoZSBjb25zdW1lcidzIG1hcHBlciBpbnNpZGUgd3JpdGVWYWx1ZXMsIHNvIHRoZSBtYXBwZXJcbiAgICAgICAgLy8gbmV2ZXIgc2VlcyBmb3JlaWduIGtleXMgaW4gaXRzIGlucHV0LlxuICAgICAgICBjb25zdCBzaG91bGRQcmVNZXJnZSA9IHR5cGVvZiBzeW5jVG9VcmwgIT09ICdmdW5jdGlvbicgJiYgZXh0cmFVcmxQYXJhbXM7XG4gICAgICAgIHdyaXRlVmFsdWVzKHNob3VsZFByZU1lcmdlID8gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBleHRyYVVybFBhcmFtcyksIGZpbmFsVmFsdWVzKSA6IGZpbmFsVmFsdWVzKTtcbiAgICB9KTtcbiAgICBjb25zdCBvblVybFN5bmNSZXNldCA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICBpZiAoIXN5bmNUb1VybCB8fCAhaXNXcml0YWJsZSgpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBDbGVhciBldmVyeSBtYW5hZ2VkIGtleSwgdGhlbiByZS13cml0ZSBleHRyYVVybFBhcmFtcyAodGhleSBwZXJzaXN0KS5cbiAgICAgICAgbWFuYWdlZEtleXNSZWYuY3VycmVudCA9IHNldFVybFBhcmFtcyhPYmplY3QuYXNzaWduKHt9LCBleHRyYVVybFBhcmFtcyksIG1hbmFnZWRLZXlzUmVmLmN1cnJlbnQpO1xuICAgIH0pO1xuICAgIC8vIEtlZXAgZXh0cmFVcmxQYXJhbXMgaW4gdGhlIFVSTCBhcyB0aGV5IGNoYW5nZSAodmFsdWUtY29tcGFyZWQpLiBUaGVcbiAgICAvLyBwcmV2aW91c2x5LXdyaXR0ZW4gZXh0cmEga2V5cyBhcmUgdHJhY2tlZCBzbyBhIGtleSBSRU1PVkVEIGZyb21cbiAgICAvLyBleHRyYVVybFBhcmFtcyBpcyBhbHNvIHJlbW92ZWQgZnJvbSB0aGUgVVJMIOKAlCBub3QganVzdCBvdmVyd3JpdHRlbi5cbiAgICBjb25zdCBleHRyYUtleXNSZWYgPSB1c2VSZWYobmV3IFNldCgpKTtcbiAgICBjb25zdCBzZXJpYWxpemVkRXh0cmEgPSBzeW5jVG9VcmwgPyBzdGFibGVTZXJpYWxpemUoZXh0cmFVcmxQYXJhbXMpIDogJyc7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFzeW5jVG9VcmwgfHwgIWlzV3JpdGFibGUoKSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgbmV4dCA9IGV4dHJhVXJsUGFyYW1zICE9PSBudWxsICYmIGV4dHJhVXJsUGFyYW1zICE9PSB2b2lkIDAgPyBleHRyYVVybFBhcmFtcyA6IHt9O1xuICAgICAgICBpZiAoZXh0cmFLZXlzUmVmLmN1cnJlbnQuc2l6ZSA9PT0gMCAmJiBPYmplY3Qua2V5cyhuZXh0KS5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IHdyaXR0ZW4gPSBzZXRVcmxQYXJhbXMoT2JqZWN0LmFzc2lnbih7fSwgbmV4dCksIGV4dHJhS2V5c1JlZi5jdXJyZW50KTtcbiAgICAgICAgY29uc3QgbWVyZ2VkID0gbmV3IFNldChtYW5hZ2VkS2V5c1JlZi5jdXJyZW50KTtcbiAgICAgICAgZXh0cmFLZXlzUmVmLmN1cnJlbnQuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXdyaXR0ZW4uaGFzKGtleSkpXG4gICAgICAgICAgICAgICAgbWVyZ2VkLmRlbGV0ZShrZXkpO1xuICAgICAgICB9KTtcbiAgICAgICAgd3JpdHRlbi5mb3JFYWNoKChrZXkpID0+IG1lcmdlZC5hZGQoa2V5KSk7XG4gICAgICAgIG1hbmFnZWRLZXlzUmVmLmN1cnJlbnQgPSBtZXJnZWQ7XG4gICAgICAgIGV4dHJhS2V5c1JlZi5jdXJyZW50ID0gd3JpdHRlbjtcbiAgICB9LCBbc2VyaWFsaXplZEV4dHJhXSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdXJsSW5pdGlhbFZhbHVlczogdXJsSW5pdGlhbFZhbHVlc1JlZi5jdXJyZW50LFxuICAgICAgICBvblVybFN5bmNGaW5pc2gsXG4gICAgICAgIG9uVXJsU3luY1Jlc2V0LFxuICAgIH07XG59XG5leHBvcnQgZGVmYXVsdCB1c2VVcmxTeW5jOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,32 +1,41 @@
1
+ import { ProForm as ProFormBase } from './ProForm';
1
2
  import { ProFormItem } from './ProFormItem';
3
+ import { ProFormDependency } from './ProFormDependency';
4
+ import { ProFormList } from './ProFormList';
5
+ import { ProFormGroup } from './ProFormGroup';
6
+ import { SchemaForm } from './SchemaForm';
7
+ import { Submitter } from './Submitter';
8
+ import { ProFormText, ProFormPassword, ProFormTextArea, ProFormCheckbox, ProFormCheckboxGroup, ProFormSwitch, ProFormSelect, ProFormRadioGroup, ProFormSlider, ProFormDatePicker, ProFormUpload, ProFormFieldSet } from './fields';
2
9
  import type { FormInstance, UseFormConfig } from './core/interface';
10
+ import { useProFormContext, useFormInstance, useFormWatch } from './context';
3
11
  import './style';
4
- declare const ProForm: import("./ProForm").ProFormComponent & {
5
- Item: import("react").NamedExoticComponent<import("./interface").ProFormItemProps>;
6
- useForm: <Values = Record<string, unknown>>(config?: UseFormConfig<Values>) => [FormInstance<Values>];
7
- useInstance: <Values = Record<string, unknown>>() => import("./interface").ProFormFormInstance<Values>;
8
- useContext: () => import("./interface").ProFormContextValue;
9
- useWatch: import("./context").UseFormWatch;
10
- Dependency: import("./ProFormDependency").ProFormDependencyComponent;
11
- List: import("react").NamedExoticComponent<import("./interface").ProFormListProps>;
12
- Group: import("react").NamedExoticComponent<import("./interface").ProFormGroupProps>;
13
- FieldSet: import("react").NamedExoticComponent<import("./interface").ProFormFieldSetProps>;
14
- SchemaForm: (<Values = Record<string, unknown>>(props: import("./interface").SchemaFormProps<Values>) => import("react").ReactElement | null) & {
15
- displayName?: string;
16
- };
17
- Submitter: import("react").NamedExoticComponent<import("./Submitter").SubmitterInternalProps>;
18
- Text: import("react").FC<import("./interface").ProFormFieldProps<import("../Input").InputProps>>;
19
- Password: import("react").FC<import("./interface").ProFormFieldProps<import("../Input").InputPasswordProps>>;
20
- TextArea: import("react").FC<import("./interface").ProFormFieldProps<import("../Input").InputTextAreaProps>>;
21
- Checkbox: import("react").FC<import("./interface").ProFormFieldProps<import("../Checkbox").CheckboxProps>>;
22
- CheckboxGroup: import("react").FC<import("./interface").ProFormFieldProps<import("../Checkbox").CheckboxGroupProps>>;
23
- Switch: import("react").FC<import("./interface").ProFormFieldProps<import("../Switch").SwitchProps>>;
24
- Select: import("react").FC<import("./interface").ProFormFieldProps<import("../Select").SelectProps>>;
25
- RadioGroup: import("react").FC<import("./interface").ProFormFieldProps<import("../Radio").RadioGroupProps>>;
26
- Slider: import("react").FC<import("./interface").ProFormFieldProps<import("../Slider").SliderProps>>;
27
- DatePicker: import("react").FC<import("./interface").ProFormFieldProps<import("../Calendar").CalendarProps>>;
28
- Upload: import("react").FC<import("./interface").ProFormFieldProps<import("../Upload").UploadProps>>;
12
+ /** Public hook returns [FormInstance] for backward compatibility */
13
+ declare const useForm: <Values = Record<string, any>>(config?: UseFormConfig<Values>) => [FormInstance<Values>];
14
+ type ProFormStatic = typeof ProFormBase & {
15
+ Item: typeof ProFormItem;
16
+ useForm: typeof useForm;
17
+ useInstance: typeof useFormInstance;
18
+ useContext: typeof useProFormContext;
19
+ useWatch: typeof useFormWatch;
20
+ Dependency: typeof ProFormDependency;
21
+ List: typeof ProFormList;
22
+ Group: typeof ProFormGroup;
23
+ FieldSet: typeof ProFormFieldSet;
24
+ SchemaForm: typeof SchemaForm;
25
+ Submitter: typeof Submitter;
26
+ Text: typeof ProFormText;
27
+ Password: typeof ProFormPassword;
28
+ TextArea: typeof ProFormTextArea;
29
+ Checkbox: typeof ProFormCheckbox;
30
+ CheckboxGroup: typeof ProFormCheckboxGroup;
31
+ Switch: typeof ProFormSwitch;
32
+ Select: typeof ProFormSelect;
33
+ RadioGroup: typeof ProFormRadioGroup;
34
+ Slider: typeof ProFormSlider;
35
+ DatePicker: typeof ProFormDatePicker;
36
+ Upload: typeof ProFormUpload;
29
37
  };
38
+ declare const ProForm: ProFormStatic;
30
39
  export { ProForm, ProFormItem };
31
40
  export default ProForm;
32
41
  export { createProFormField, ProFormText, ProFormPassword, ProFormTextArea, ProFormCheckbox, ProFormCheckboxGroup, ProFormSwitch, ProFormSelect, ProFormRadioGroup, ProFormSlider, ProFormDatePicker, ProFormUpload, ProFormFieldSet, } from './fields';
@@ -39,7 +48,8 @@ export { DialogForm } from './layouts/DialogForm';
39
48
  export { QueryFilter } from './layouts/QueryFilter';
40
49
  export { useFormWatch } from './context';
41
50
  export type { UseFormWatch } from './context';
42
- export type { ProFormSyncToUrl, ProFormProps, ProFormItemProps, ProFormItemSharedProps, ProFormLayoutConfig, ProFormFieldProps, ProFormContextValue, ProFormStableContextValue, ProFormStateContextValue, ProFormFormInstance, ProFormValidateResult, ProFormFieldName, ProFormFieldTransformFn, ProFormFieldConvertValueFn, ProFormDateFormatter, ProFormValueEnumObj, ProFormRequestOption, ProFormValueType, FormListContextValue, ProFormColProps, ProFormFieldSetProps, ProFormGroupProps, SubmitterProps, ProFormDependencyProps, ProFormListProps, ProFormListAction, DrawerFormProps, DialogFormProps, QueryFilterProps, CreateProFormFieldConfig, ProFormSchemaColumn, ProFormSchemaValueType, SchemaFormProps, } from './interface';
51
+ export type { ProFormSyncToUrl, ProFormProps, ProFormItemProps, ProFormItemSharedProps, ProFormLayoutConfig, ProFormFieldProps, ProFormContextValue, ProFormStableContextValue, ProFormStateContextValue, ProFormFormInstance, ProFormValidateResult, ProFormFieldName, ProFormPathValue, ProFormFieldValueMap, ProFormRecursivePartial, ProFormValuesPatch, ProFormFieldTransformFn, ProFormFieldConvertValueFn, ProFormDateFormatter, ProFormValueEnumObj, ProFormFieldOptionValue, ProFormRequestOption, ProFormValueType, FormListContextValue, ProFormColProps, ProFormFieldSetProps, ProFormGroupProps, SubmitterProps, ProFormDependencyProps, ProFormListProps, ProFormListAction, DrawerFormProps, DialogFormProps, QueryFilterProps, CreateProFormFieldConfig, ProFormSchemaColumn, ProFormSchemaColumns, ProFormSchemaValueType, SchemaFormProps, } from './interface';
43
52
  export { CSS_PREFIX, WIDTH_SIZE_MAP, DEFAULT_COL_SPAN, DEFAULT_TEXT, PROFORM_MODES } from './constants';
44
53
  export type { ProFormMode } from './constants';
45
- export type { FormInstance, FormCoreInstance, Rule, ValidateTrigger, ValidateStatus, FormLayout, FormSize, LabelAlign, UseFormConfig, UseFormReturn, UseFormInternals, } from './core/interface';
54
+ export type { FormInstance, FormCoreInstance, Rule, RuleType, FormRule, RuleContext, ValidateTriggerProp, ValidateTrigger, ValidateStatus, FormLayout, FormSize, LabelAlign, UseFormConfig, UseFormReturn, UseFormInternals, } from './core/interface';
55
+ export { FormValidationError } from './core/validationError';
@@ -57,4 +57,7 @@ export { DialogForm } from './layouts/DialogForm';
57
57
  export { QueryFilter } from './layouts/QueryFilter';
58
58
  export { useFormWatch } from './context';
59
59
  export { CSS_PREFIX, WIDTH_SIZE_MAP, DEFAULT_COL_SPAN, DEFAULT_TEXT, PROFORM_MODES } from './constants';
60
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9pbmRleC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyJdLCJuYW1lcyI6WyJQcm9Gb3JtIiwiUHJvRm9ybUJhc2UiLCJQcm9Gb3JtSXRlbSIsIlByb0Zvcm1EZXBlbmRlbmN5IiwiUHJvRm9ybUxpc3QiLCJQcm9Gb3JtR3JvdXAiLCJTY2hlbWFGb3JtIiwiU3VibWl0dGVyIiwiUHJvRm9ybVRleHQiLCJQcm9Gb3JtUGFzc3dvcmQiLCJQcm9Gb3JtVGV4dEFyZWEiLCJQcm9Gb3JtQ2hlY2tib3giLCJQcm9Gb3JtQ2hlY2tib3hHcm91cCIsIlByb0Zvcm1Td2l0Y2giLCJQcm9Gb3JtU2VsZWN0IiwiUHJvRm9ybVJhZGlvR3JvdXAiLCJQcm9Gb3JtU2xpZGVyIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJQcm9Gb3JtVXBsb2FkIiwiUHJvRm9ybUZpZWxkU2V0IiwidXNlRm9ybSIsInVzZUZvcm1JbnRlcm5hbCIsInVzZVByb0Zvcm1Db250ZXh0IiwidXNlRm9ybUluc3RhbmNlIiwidXNlRm9ybVdhdGNoIiwiY29uZmlnIiwiX3VzZUZvcm1JbnRlcm5hbCIsImZvcm1JbnN0YW5jZSIsIk9iamVjdCIsImFzc2lnbiIsIkl0ZW0iLCJ1c2VJbnN0YW5jZSIsInVzZUNvbnRleHQiLCJ1c2VXYXRjaCIsIkRlcGVuZGVuY3kiLCJMaXN0IiwiR3JvdXAiLCJGaWVsZFNldCIsIlRleHQiLCJQYXNzd29yZCIsIlRleHRBcmVhIiwiQ2hlY2tib3giLCJDaGVja2JveEdyb3VwIiwiU3dpdGNoIiwiU2VsZWN0IiwiUmFkaW9Hcm91cCIsIlNsaWRlciIsIkRhdGVQaWNrZXIiLCJVcGxvYWQiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJEcmF3ZXJGb3JtIiwiRGlhbG9nRm9ybSIsIlF1ZXJ5RmlsdGVyIiwiQ1NTX1BSRUZJWCIsIldJRFRIX1NJWkVfTUFQIiwiREVGQVVMVF9DT0xfU1BBTiIsIkRFRkFVTFRfVEVY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LEVBQUVDLGdCQUFnQixFQUFFQyxZQUFZLEVBQUVDLGFBQWEsUUFBUSxhQUFhIiwiZmlsZSI6ImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgUHJvRm9ybSBhcyBQcm9Gb3JtQmFzZSB9IGZyb20gJy4vUHJvRm9ybSc7XG5pbXBvcnQgeyBQcm9Gb3JtSXRlbSB9IGZyb20gJy4vUHJvRm9ybUl0ZW0nO1xuaW1wb3J0IHsgUHJvRm9ybURlcGVuZGVuY3kgfSBmcm9tICcuL1Byb0Zvcm1EZXBlbmRlbmN5JztcbmltcG9ydCB7IFByb0Zvcm1MaXN0IH0gZnJvbSAnLi9Qcm9Gb3JtTGlzdCc7XG5pbXBvcnQgeyBQcm9Gb3JtR3JvdXAgfSBmcm9tICcuL1Byb0Zvcm1Hcm91cCc7XG5pbXBvcnQgeyBTY2hlbWFGb3JtIH0gZnJvbSAnLi9TY2hlbWFGb3JtJztcbmltcG9ydCB7IFN1Ym1pdHRlciB9IGZyb20gJy4vU3VibWl0dGVyJztcbmltcG9ydCB7IFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVJhZGlvR3JvdXAsIFByb0Zvcm1TbGlkZXIsIFByb0Zvcm1EYXRlUGlja2VyLCBQcm9Gb3JtVXBsb2FkLCBQcm9Gb3JtRmllbGRTZXQsIH0gZnJvbSAnLi9maWVsZHMnO1xuaW1wb3J0IHsgdXNlRm9ybSBhcyB1c2VGb3JtSW50ZXJuYWwgfSBmcm9tICcuL2NvcmUvaG9va3MvdXNlRm9ybSc7XG5pbXBvcnQgeyB1c2VQcm9Gb3JtQ29udGV4dCwgdXNlRm9ybUluc3RhbmNlLCB1c2VGb3JtV2F0Y2ggfSBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0ICcuL3N0eWxlJztcbi8qKiBQdWJsaWMgaG9vayDigJQgcmV0dXJucyBbRm9ybUluc3RhbmNlXSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqL1xuY29uc3QgdXNlRm9ybSA9IChjb25maWcpID0+IHtcbiAgICBjb25zdCB7IGZvcm1JbnN0YW5jZSB9ID0gdXNlRm9ybUludGVybmFsKGNvbmZpZyk7XG4gICAgcmV0dXJuIFtmb3JtSW5zdGFuY2VdO1xufTtcbi8vIENvbXBvc2UgUHJvRm9ybSB3aXRoIHN0YXRpYyBzdWItY29tcG9uZW50cyBhbmQgaG9va3NcbmNvbnN0IFByb0Zvcm0gPSBPYmplY3QuYXNzaWduKFByb0Zvcm1CYXNlLCB7XG4gICAgLy8gSXRlbSArIGNvcmUgaG9va3NcbiAgICBJdGVtOiBQcm9Gb3JtSXRlbSxcbiAgICB1c2VGb3JtLFxuICAgIHVzZUluc3RhbmNlOiB1c2VGb3JtSW5zdGFuY2UsXG4gICAgdXNlQ29udGV4dDogdXNlUHJvRm9ybUNvbnRleHQsXG4gICAgdXNlV2F0Y2g6IHVzZUZvcm1XYXRjaCxcbiAgICAvLyBDb21wb3NpdGlvblxuICAgIERlcGVuZGVuY3k6IFByb0Zvcm1EZXBlbmRlbmN5LFxuICAgIExpc3Q6IFByb0Zvcm1MaXN0LFxuICAgIEdyb3VwOiBQcm9Gb3JtR3JvdXAsXG4gICAgRmllbGRTZXQ6IFByb0Zvcm1GaWVsZFNldCxcbiAgICBTY2hlbWFGb3JtLFxuICAgIFN1Ym1pdHRlcixcbiAgICAvLyBGaWVsZHNcbiAgICBUZXh0OiBQcm9Gb3JtVGV4dCxcbiAgICBQYXNzd29yZDogUHJvRm9ybVBhc3N3b3JkLFxuICAgIFRleHRBcmVhOiBQcm9Gb3JtVGV4dEFyZWEsXG4gICAgQ2hlY2tib3g6IFByb0Zvcm1DaGVja2JveCxcbiAgICBDaGVja2JveEdyb3VwOiBQcm9Gb3JtQ2hlY2tib3hHcm91cCxcbiAgICBTd2l0Y2g6IFByb0Zvcm1Td2l0Y2gsXG4gICAgU2VsZWN0OiBQcm9Gb3JtU2VsZWN0LFxuICAgIFJhZGlvR3JvdXA6IFByb0Zvcm1SYWRpb0dyb3VwLFxuICAgIFNsaWRlcjogUHJvRm9ybVNsaWRlcixcbiAgICBEYXRlUGlja2VyOiBQcm9Gb3JtRGF0ZVBpY2tlcixcbiAgICBVcGxvYWQ6IFByb0Zvcm1VcGxvYWQsXG59KTtcbmV4cG9ydCB7IFByb0Zvcm0sIFByb0Zvcm1JdGVtIH07XG5leHBvcnQgZGVmYXVsdCBQcm9Gb3JtO1xuLy8gTmFtZWQgZXhwb3J0cyBmb3IgZmllbGRzXG5leHBvcnQgeyBjcmVhdGVQcm9Gb3JtRmllbGQsIFByb0Zvcm1UZXh0LCBQcm9Gb3JtUGFzc3dvcmQsIFByb0Zvcm1UZXh0QXJlYSwgUHJvRm9ybUNoZWNrYm94LCBQcm9Gb3JtQ2hlY2tib3hHcm91cCwgUHJvRm9ybVN3aXRjaCwgUHJvRm9ybVNlbGVjdCwgUHJvRm9ybVJhZGlvR3JvdXAsIFByb0Zvcm1TbGlkZXIsIFByb0Zvcm1EYXRlUGlja2VyLCBQcm9Gb3JtVXBsb2FkLCBQcm9Gb3JtRmllbGRTZXQsIH0gZnJvbSAnLi9maWVsZHMnO1xuLy8gQ29tcG9zaXRpb24gKyBsYXlvdXRzXG5leHBvcnQgeyBQcm9Gb3JtRGVwZW5kZW5jeSB9IGZyb20gJy4vUHJvRm9ybURlcGVuZGVuY3knO1xuZXhwb3J0IHsgUHJvRm9ybUxpc3QgfSBmcm9tICcuL1Byb0Zvcm1MaXN0JztcbmV4cG9ydCB7IFByb0Zvcm1Hcm91cCB9IGZyb20gJy4vUHJvRm9ybUdyb3VwJztcbmV4cG9ydCB7IFNjaGVtYUZvcm0gfSBmcm9tICcuL1NjaGVtYUZvcm0nO1xuZXhwb3J0IHsgRHJhd2VyRm9ybSB9IGZyb20gJy4vbGF5b3V0cy9EcmF3ZXJGb3JtJztcbmV4cG9ydCB7IERpYWxvZ0Zvcm0gfSBmcm9tICcuL2xheW91dHMvRGlhbG9nRm9ybSc7XG5leHBvcnQgeyBRdWVyeUZpbHRlciB9IGZyb20gJy4vbGF5b3V0cy9RdWVyeUZpbHRlcic7XG5leHBvcnQgeyB1c2VGb3JtV2F0Y2ggfSBmcm9tICcuL2NvbnRleHQnO1xuZXhwb3J0IHsgQ1NTX1BSRUZJWCwgV0lEVEhfU0laRV9NQVAsIERFRkFVTFRfQ09MX1NQQU4sIERFRkFVTFRfVEVYVCwgUFJPRk9STV9NT0RFUyB9IGZyb20gJy4vY29uc3RhbnRzJzsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
60
+ // Rejection type of `validateFields` — lets consumers (and submit handlers)
61
+ // distinguish a validation failure from other errors via `instanceof`.
62
+ export { FormValidationError } from './core/validationError';
63
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9pbmRleC50cyIsImNvbXBvbmVudHMvUHJvRm9ybS9pbmRleC5qcyJdLCJuYW1lcyI6WyJQcm9Gb3JtIiwiUHJvRm9ybUJhc2UiLCJQcm9Gb3JtSXRlbSIsIlByb0Zvcm1EZXBlbmRlbmN5IiwiUHJvRm9ybUxpc3QiLCJQcm9Gb3JtR3JvdXAiLCJTY2hlbWFGb3JtIiwiU3VibWl0dGVyIiwiUHJvRm9ybVRleHQiLCJQcm9Gb3JtUGFzc3dvcmQiLCJQcm9Gb3JtVGV4dEFyZWEiLCJQcm9Gb3JtQ2hlY2tib3giLCJQcm9Gb3JtQ2hlY2tib3hHcm91cCIsIlByb0Zvcm1Td2l0Y2giLCJQcm9Gb3JtU2VsZWN0IiwiUHJvRm9ybVJhZGlvR3JvdXAiLCJQcm9Gb3JtU2xpZGVyIiwiUHJvRm9ybURhdGVQaWNrZXIiLCJQcm9Gb3JtVXBsb2FkIiwiUHJvRm9ybUZpZWxkU2V0IiwidXNlRm9ybSIsInVzZUZvcm1JbnRlcm5hbCIsInVzZVByb0Zvcm1Db250ZXh0IiwidXNlRm9ybUluc3RhbmNlIiwidXNlRm9ybVdhdGNoIiwiY29uZmlnIiwiX3VzZUZvcm1JbnRlcm5hbCIsImZvcm1JbnN0YW5jZSIsIk9iamVjdCIsImFzc2lnbiIsIkl0ZW0iLCJ1c2VJbnN0YW5jZSIsInVzZUNvbnRleHQiLCJ1c2VXYXRjaCIsIkRlcGVuZGVuY3kiLCJMaXN0IiwiR3JvdXAiLCJGaWVsZFNldCIsIlRleHQiLCJQYXNzd29yZCIsIlRleHRBcmVhIiwiQ2hlY2tib3giLCJDaGVja2JveEdyb3VwIiwiU3dpdGNoIiwiU2VsZWN0IiwiUmFkaW9Hcm91cCIsIlNsaWRlciIsIkRhdGVQaWNrZXIiLCJVcGxvYWQiLCJjcmVhdGVQcm9Gb3JtRmllbGQiLCJEcmF3ZXJGb3JtIiwiRGlhbG9nRm9ybSIsIlF1ZXJ5RmlsdGVyIiwiQ1NTX1BSRUZJWCIsIldJRFRIX1NJWkVfTUFQIiwiREVGQVVMVF9DT0xfU1BBTiIsIkRFRkFVTFRfVEVY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LFNBQVM2QixVQUFVLEVBQUVDLGNBQWMsRUFBRUMsZ0JBQWdCLEVBQUVDLFlBQVksRUFBRUMsYUFBYSxRQUFRLGFBQWE7QUFzQnZHO0FBQ0E7QUFDQSxTQUFTQyxtQkFBbUIsUUFBUSx3QkFBd0IiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJpbXBvcnQgeyBQcm9Gb3JtIGFzIFByb0Zvcm1CYXNlIH0gZnJvbSAnLi9Qcm9Gb3JtJztcbmltcG9ydCB7IFByb0Zvcm1JdGVtIH0gZnJvbSAnLi9Qcm9Gb3JtSXRlbSc7XG5pbXBvcnQgeyBQcm9Gb3JtRGVwZW5kZW5jeSB9IGZyb20gJy4vUHJvRm9ybURlcGVuZGVuY3knO1xuaW1wb3J0IHsgUHJvRm9ybUxpc3QgfSBmcm9tICcuL1Byb0Zvcm1MaXN0JztcbmltcG9ydCB7IFByb0Zvcm1Hcm91cCB9IGZyb20gJy4vUHJvRm9ybUdyb3VwJztcbmltcG9ydCB7IFNjaGVtYUZvcm0gfSBmcm9tICcuL1NjaGVtYUZvcm0nO1xuaW1wb3J0IHsgU3VibWl0dGVyIH0gZnJvbSAnLi9TdWJtaXR0ZXInO1xuaW1wb3J0IHsgUHJvRm9ybVRleHQsIFByb0Zvcm1QYXNzd29yZCwgUHJvRm9ybVRleHRBcmVhLCBQcm9Gb3JtQ2hlY2tib3gsIFByb0Zvcm1DaGVja2JveEdyb3VwLCBQcm9Gb3JtU3dpdGNoLCBQcm9Gb3JtU2VsZWN0LCBQcm9Gb3JtUmFkaW9Hcm91cCwgUHJvRm9ybVNsaWRlciwgUHJvRm9ybURhdGVQaWNrZXIsIFByb0Zvcm1VcGxvYWQsIFByb0Zvcm1GaWVsZFNldCwgfSBmcm9tICcuL2ZpZWxkcyc7XG5pbXBvcnQgeyB1c2VGb3JtIGFzIHVzZUZvcm1JbnRlcm5hbCB9IGZyb20gJy4vY29yZS9ob29rcy91c2VGb3JtJztcbmltcG9ydCB7IHVzZVByb0Zvcm1Db250ZXh0LCB1c2VGb3JtSW5zdGFuY2UsIHVzZUZvcm1XYXRjaCB9IGZyb20gJy4vY29udGV4dCc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuLyoqIFB1YmxpYyBob29rIOKAlCByZXR1cm5zIFtGb3JtSW5zdGFuY2VdIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5ICovXG5jb25zdCB1c2VGb3JtID0gKGNvbmZpZykgPT4ge1xuICAgIGNvbnN0IHsgZm9ybUluc3RhbmNlIH0gPSB1c2VGb3JtSW50ZXJuYWwoY29uZmlnKTtcbiAgICByZXR1cm4gW2Zvcm1JbnN0YW5jZV07XG59O1xuLy8gQ29tcG9zZSBQcm9Gb3JtIHdpdGggc3RhdGljIHN1Yi1jb21wb25lbnRzIGFuZCBob29rc1xuY29uc3QgUHJvRm9ybSA9IE9iamVjdC5hc3NpZ24oUHJvRm9ybUJhc2UsIHtcbiAgICAvLyBJdGVtICsgY29yZSBob29rc1xuICAgIEl0ZW06IFByb0Zvcm1JdGVtLFxuICAgIHVzZUZvcm0sXG4gICAgdXNlSW5zdGFuY2U6IHVzZUZvcm1JbnN0YW5jZSxcbiAgICB1c2VDb250ZXh0OiB1c2VQcm9Gb3JtQ29udGV4dCxcbiAgICB1c2VXYXRjaDogdXNlRm9ybVdhdGNoLFxuICAgIC8vIENvbXBvc2l0aW9uXG4gICAgRGVwZW5kZW5jeTogUHJvRm9ybURlcGVuZGVuY3ksXG4gICAgTGlzdDogUHJvRm9ybUxpc3QsXG4gICAgR3JvdXA6IFByb0Zvcm1Hcm91cCxcbiAgICBGaWVsZFNldDogUHJvRm9ybUZpZWxkU2V0LFxuICAgIFNjaGVtYUZvcm0sXG4gICAgU3VibWl0dGVyLFxuICAgIC8vIEZpZWxkc1xuICAgIFRleHQ6IFByb0Zvcm1UZXh0LFxuICAgIFBhc3N3b3JkOiBQcm9Gb3JtUGFzc3dvcmQsXG4gICAgVGV4dEFyZWE6IFByb0Zvcm1UZXh0QXJlYSxcbiAgICBDaGVja2JveDogUHJvRm9ybUNoZWNrYm94LFxuICAgIENoZWNrYm94R3JvdXA6IFByb0Zvcm1DaGVja2JveEdyb3VwLFxuICAgIFN3aXRjaDogUHJvRm9ybVN3aXRjaCxcbiAgICBTZWxlY3Q6IFByb0Zvcm1TZWxlY3QsXG4gICAgUmFkaW9Hcm91cDogUHJvRm9ybVJhZGlvR3JvdXAsXG4gICAgU2xpZGVyOiBQcm9Gb3JtU2xpZGVyLFxuICAgIERhdGVQaWNrZXI6IFByb0Zvcm1EYXRlUGlja2VyLFxuICAgIFVwbG9hZDogUHJvRm9ybVVwbG9hZCxcbn0pO1xuZXhwb3J0IHsgUHJvRm9ybSwgUHJvRm9ybUl0ZW0gfTtcbmV4cG9ydCBkZWZhdWx0IFByb0Zvcm07XG4vLyBOYW1lZCBleHBvcnRzIGZvciBmaWVsZHNcbmV4cG9ydCB7IGNyZWF0ZVByb0Zvcm1GaWVsZCwgUHJvRm9ybVRleHQsIFByb0Zvcm1QYXNzd29yZCwgUHJvRm9ybVRleHRBcmVhLCBQcm9Gb3JtQ2hlY2tib3gsIFByb0Zvcm1DaGVja2JveEdyb3VwLCBQcm9Gb3JtU3dpdGNoLCBQcm9Gb3JtU2VsZWN0LCBQcm9Gb3JtUmFkaW9Hcm91cCwgUHJvRm9ybVNsaWRlciwgUHJvRm9ybURhdGVQaWNrZXIsIFByb0Zvcm1VcGxvYWQsIFByb0Zvcm1GaWVsZFNldCwgfSBmcm9tICcuL2ZpZWxkcyc7XG4vLyBDb21wb3NpdGlvbiArIGxheW91dHNcbmV4cG9ydCB7IFByb0Zvcm1EZXBlbmRlbmN5IH0gZnJvbSAnLi9Qcm9Gb3JtRGVwZW5kZW5jeSc7XG5leHBvcnQgeyBQcm9Gb3JtTGlzdCB9IGZyb20gJy4vUHJvRm9ybUxpc3QnO1xuZXhwb3J0IHsgUHJvRm9ybUdyb3VwIH0gZnJvbSAnLi9Qcm9Gb3JtR3JvdXAnO1xuZXhwb3J0IHsgU2NoZW1hRm9ybSB9IGZyb20gJy4vU2NoZW1hRm9ybSc7XG5leHBvcnQgeyBEcmF3ZXJGb3JtIH0gZnJvbSAnLi9sYXlvdXRzL0RyYXdlckZvcm0nO1xuZXhwb3J0IHsgRGlhbG9nRm9ybSB9IGZyb20gJy4vbGF5b3V0cy9EaWFsb2dGb3JtJztcbmV4cG9ydCB7IFF1ZXJ5RmlsdGVyIH0gZnJvbSAnLi9sYXlvdXRzL1F1ZXJ5RmlsdGVyJztcbmV4cG9ydCB7IHVzZUZvcm1XYXRjaCB9IGZyb20gJy4vY29udGV4dCc7XG5leHBvcnQgeyBDU1NfUFJFRklYLCBXSURUSF9TSVpFX01BUCwgREVGQVVMVF9DT0xfU1BBTiwgREVGQVVMVF9URVhULCBQUk9GT1JNX01PREVTIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuLy8gUmVqZWN0aW9uIHR5cGUgb2YgYHZhbGlkYXRlRmllbGRzYCDigJQgbGV0cyBjb25zdW1lcnMgKGFuZCBzdWJtaXQgaGFuZGxlcnMpXG4vLyBkaXN0aW5ndWlzaCBhIHZhbGlkYXRpb24gZmFpbHVyZSBmcm9tIG90aGVyIGVycm9ycyB2aWEgYGluc3RhbmNlb2ZgLlxuZXhwb3J0IHsgRm9ybVZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4vY29yZS92YWxpZGF0aW9uRXJyb3InOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=