@gnwebsoft/ui 4.0.23 → 4.0.25

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 (321) hide show
  1. package/dist/chunk-3ABTOBSZ.cjs +2399 -0
  2. package/dist/chunk-443ILX4Y.js +2535 -0
  3. package/dist/chunk-FMN47XRJ.cjs +72 -0
  4. package/dist/chunk-FYU2OIMD.js +15 -0
  5. package/dist/chunk-HDL5E7XD.js +523 -0
  6. package/dist/chunk-LUW7V5GI.cjs +15 -0
  7. package/dist/chunk-OOYORGC6.cjs +2535 -0
  8. package/dist/chunk-PW777IOX.js +140 -0
  9. package/dist/chunk-QYHJIPSZ.cjs +140 -0
  10. package/dist/chunk-T5H5X3VR.js +72 -0
  11. package/dist/chunk-U52XIVRE.js +2399 -0
  12. package/dist/chunk-UZ2KNGOF.cjs +523 -0
  13. package/dist/core/api/ApiClient.d.ts +329 -0
  14. package/dist/core/api/ApiClient.d.ts.map +1 -0
  15. package/dist/core/api/CorrelationIdGenerator.d.ts +52 -0
  16. package/dist/core/api/CorrelationIdGenerator.d.ts.map +1 -0
  17. package/dist/core/api/Errors/ErrorNormalizer.d.ts +106 -0
  18. package/dist/core/api/Errors/ErrorNormalizer.d.ts.map +1 -0
  19. package/dist/core/api/Interceptors/InterceptorManager.d.ts +236 -0
  20. package/dist/core/api/Interceptors/InterceptorManager.d.ts.map +1 -0
  21. package/dist/core/api/Models/FilterModel.d.ts +22 -0
  22. package/dist/core/api/Models/FilterModel.d.ts.map +1 -0
  23. package/dist/core/api/Models/QueryParams.d.ts +13 -0
  24. package/dist/core/api/Models/QueryParams.d.ts.map +1 -0
  25. package/dist/core/api/Models/index.d.ts +3 -0
  26. package/dist/core/api/Models/index.d.ts.map +1 -0
  27. package/dist/core/api/RequestManager.d.ts +142 -0
  28. package/dist/core/api/RequestManager.d.ts.map +1 -0
  29. package/dist/core/api/Retry/RetryHandler.d.ts +100 -0
  30. package/dist/core/api/Retry/RetryHandler.d.ts.map +1 -0
  31. package/dist/core/api/Signals/SignalManager.d.ts +153 -0
  32. package/dist/core/api/Signals/SignalManager.d.ts.map +1 -0
  33. package/dist/core/api/Utils/ResponseParser.d.ts +105 -0
  34. package/dist/core/api/Utils/ResponseParser.d.ts.map +1 -0
  35. package/dist/core/api/Utils/UrlBuilder.d.ts +111 -0
  36. package/dist/core/api/Utils/UrlBuilder.d.ts.map +1 -0
  37. package/dist/core/api/createApiClient.d.ts +247 -0
  38. package/dist/core/api/createApiClient.d.ts.map +1 -0
  39. package/dist/core/api/index.d.ts +7 -0
  40. package/dist/core/api/index.d.ts.map +1 -0
  41. package/dist/core/api/types/ApiError.d.ts +17 -0
  42. package/dist/core/api/types/ApiError.d.ts.map +1 -0
  43. package/dist/core/api/types/ApiResponse.d.ts +76 -0
  44. package/dist/core/api/types/ApiResponse.d.ts.map +1 -0
  45. package/dist/core/api/types/CancelToken.d.ts +15 -0
  46. package/dist/core/api/types/CancelToken.d.ts.map +1 -0
  47. package/dist/core/api/types/ErrorInterceptor.d.ts +3 -0
  48. package/dist/core/api/types/ErrorInterceptor.d.ts.map +1 -0
  49. package/dist/core/api/types/ErrorResponseData.d.ts +68 -0
  50. package/dist/core/api/types/ErrorResponseData.d.ts.map +1 -0
  51. package/dist/core/api/types/RequestConfig.d.ts +21 -0
  52. package/dist/core/api/types/RequestConfig.d.ts.map +1 -0
  53. package/dist/core/api/types/RequestInterceptor.d.ts +3 -0
  54. package/dist/core/api/types/RequestInterceptor.d.ts.map +1 -0
  55. package/dist/core/api/types/ResponseInterceptor.d.ts +3 -0
  56. package/dist/core/api/types/ResponseInterceptor.d.ts.map +1 -0
  57. package/dist/core/api/types/ValidationErrors.d.ts +7 -0
  58. package/dist/core/api/types/ValidationErrors.d.ts.map +1 -0
  59. package/dist/core/api/types/index.d.ts +10 -0
  60. package/dist/core/api/types/index.d.ts.map +1 -0
  61. package/dist/core/api/useValidationErrors.d.ts +11 -0
  62. package/dist/core/api/useValidationErrors.d.ts.map +1 -0
  63. package/dist/core/components/AuthorizedView/AuthorizedView.d.ts +7 -0
  64. package/dist/core/components/AuthorizedView/AuthorizedView.d.ts.map +1 -0
  65. package/dist/core/components/AuthorizedView/index.d.ts +2 -0
  66. package/dist/core/components/AuthorizedView/index.d.ts.map +1 -0
  67. package/dist/core/components/CancelButton/CancelButton.d.ts +4 -0
  68. package/dist/core/components/CancelButton/CancelButton.d.ts.map +1 -0
  69. package/dist/core/components/CancelButton/index.d.ts +2 -0
  70. package/dist/core/components/CancelButton/index.d.ts.map +1 -0
  71. package/dist/core/components/ClearButton/ClearButton.d.ts +63 -0
  72. package/dist/core/components/ClearButton/ClearButton.d.ts.map +1 -0
  73. package/dist/core/components/ClearButton/index.d.ts +2 -0
  74. package/dist/core/components/ClearButton/index.d.ts.map +1 -0
  75. package/dist/core/components/Containers/SimpleContainer.d.ts +10 -0
  76. package/dist/core/components/Containers/SimpleContainer.d.ts.map +1 -0
  77. package/dist/core/components/Containers/index.d.ts +2 -0
  78. package/dist/core/components/Containers/index.d.ts.map +1 -0
  79. package/dist/core/components/FilterButton/FilterButton.d.ts +86 -0
  80. package/dist/core/components/FilterButton/FilterButton.d.ts.map +1 -0
  81. package/dist/core/components/FilterButton/index.d.ts +2 -0
  82. package/dist/core/components/FilterButton/index.d.ts.map +1 -0
  83. package/dist/core/components/FilterDisplay/FilterChip.d.ts +9 -0
  84. package/dist/core/components/FilterDisplay/FilterChip.d.ts.map +1 -0
  85. package/dist/core/components/FilterDisplay/FilterDisplay.d.ts +10 -0
  86. package/dist/core/components/FilterDisplay/FilterDisplay.d.ts.map +1 -0
  87. package/dist/core/components/FilterDisplay/index.d.ts +3 -0
  88. package/dist/core/components/FilterDisplay/index.d.ts.map +1 -0
  89. package/dist/core/components/FilterWrapper/FilterWrapper.d.ts +99 -0
  90. package/dist/core/components/FilterWrapper/FilterWrapper.d.ts.map +1 -0
  91. package/dist/core/components/FilterWrapper/index.d.ts +2 -0
  92. package/dist/core/components/FilterWrapper/index.d.ts.map +1 -0
  93. package/dist/core/components/Footer/Footer.d.ts +3 -0
  94. package/dist/core/components/Footer/Footer.d.ts.map +1 -0
  95. package/dist/core/components/Footer/index.d.ts +2 -0
  96. package/dist/core/components/Footer/index.d.ts.map +1 -0
  97. package/dist/core/components/LabelText/LabelText.d.ts +103 -0
  98. package/dist/core/components/LabelText/LabelText.d.ts.map +1 -0
  99. package/dist/core/components/LabelText/index.d.ts +2 -0
  100. package/dist/core/components/LabelText/index.d.ts.map +1 -0
  101. package/dist/core/components/RenderIf/RenderIf.d.ts +7 -0
  102. package/dist/core/components/RenderIf/RenderIf.d.ts.map +1 -0
  103. package/dist/core/components/RenderIf/index.d.ts +2 -0
  104. package/dist/core/components/RenderIf/index.d.ts.map +1 -0
  105. package/dist/core/components/SectionBox/SectionBox.d.ts +15 -0
  106. package/dist/core/components/SectionBox/SectionBox.d.ts.map +1 -0
  107. package/dist/core/components/SectionBox/index.d.ts +2 -0
  108. package/dist/core/components/SectionBox/index.d.ts.map +1 -0
  109. package/dist/core/components/SimpleTabs/SimpleTabs.d.ts +17 -0
  110. package/dist/core/components/SimpleTabs/SimpleTabs.d.ts.map +1 -0
  111. package/dist/core/components/SimpleTabs/index.d.ts +2 -0
  112. package/dist/core/components/SimpleTabs/index.d.ts.map +1 -0
  113. package/dist/core/components/SubmitButton/SubmitButton.d.ts +6 -0
  114. package/dist/core/components/SubmitButton/SubmitButton.d.ts.map +1 -0
  115. package/dist/core/components/SubmitButton/index.d.ts +2 -0
  116. package/dist/core/components/SubmitButton/index.d.ts.map +1 -0
  117. package/dist/core/components/WithRef/WithRef.d.ts +14 -0
  118. package/dist/core/components/WithRef/WithRef.d.ts.map +1 -0
  119. package/dist/core/components/WithRef/index.d.ts +2 -0
  120. package/dist/core/components/WithRef/index.d.ts.map +1 -0
  121. package/dist/core/components/index.d.ts +15 -0
  122. package/dist/core/components/index.d.ts.map +1 -0
  123. package/dist/core/config.d.ts +24 -0
  124. package/dist/core/config.d.ts.map +1 -0
  125. package/dist/core/hooks/index.d.ts +3 -0
  126. package/dist/core/hooks/index.d.ts.map +1 -0
  127. package/dist/core/hooks/makeQuery.d.ts +12 -0
  128. package/dist/core/hooks/makeQuery.d.ts.map +1 -0
  129. package/dist/core/hooks/useApiClient.d.ts +3 -0
  130. package/dist/core/hooks/useApiClient.d.ts.map +1 -0
  131. package/dist/core/hooks/useFormErrorHandler.d.ts +35 -0
  132. package/dist/core/hooks/useFormErrorHandler.d.ts.map +1 -0
  133. package/dist/core/hooks/useListView.d.ts +20 -0
  134. package/dist/core/hooks/useListView.d.ts.map +1 -0
  135. package/dist/core/index.cjs +123 -0
  136. package/dist/core/index.d.ts +8 -0
  137. package/dist/core/index.d.ts.map +1 -0
  138. package/dist/core/index.js +123 -0
  139. package/dist/core/models.d.ts +5 -0
  140. package/dist/core/models.d.ts.map +1 -0
  141. package/dist/core/types/FilterLabel.d.ts +6 -0
  142. package/dist/core/types/FilterLabel.d.ts.map +1 -0
  143. package/dist/core/types/ListModels.d.ts +18 -0
  144. package/dist/core/types/ListModels.d.ts.map +1 -0
  145. package/dist/core/types/OptionsRequest.d.ts +4 -0
  146. package/dist/core/types/OptionsRequest.d.ts.map +1 -0
  147. package/dist/core/types/index.d.ts +4 -0
  148. package/dist/core/types/index.d.ts.map +1 -0
  149. package/dist/core/utils/CacheUtility/index.d.ts +15 -0
  150. package/dist/core/utils/CacheUtility/index.d.ts.map +1 -0
  151. package/dist/core/utils/calculateFilterCount.d.ts +2 -0
  152. package/dist/core/utils/calculateFilterCount.d.ts.map +1 -0
  153. package/dist/core/utils/format-time.d.ts +79 -0
  154. package/dist/core/utils/format-time.d.ts.map +1 -0
  155. package/dist/core/utils/getEmptyObject.d.ts +7 -0
  156. package/dist/core/utils/getEmptyObject.d.ts.map +1 -0
  157. package/dist/core/utils/index.d.ts +7 -0
  158. package/dist/core/utils/index.d.ts.map +1 -0
  159. package/dist/core/utils/useStableRowCount.d.ts +9 -0
  160. package/dist/core/utils/useStableRowCount.d.ts.map +1 -0
  161. package/dist/core/utils/watch/core.d.ts +22 -0
  162. package/dist/core/utils/watch/core.d.ts.map +1 -0
  163. package/dist/core/utils/watch/index.d.ts +49 -0
  164. package/dist/core/utils/watch/index.d.ts.map +1 -0
  165. package/dist/core/utils/watch/utilities.d.ts +34 -0
  166. package/dist/core/utils/watch/utilities.d.ts.map +1 -0
  167. package/dist/hooks/index.cjs +11 -0
  168. package/dist/hooks/index.d.ts +3 -0
  169. package/dist/hooks/index.d.ts.map +1 -0
  170. package/dist/hooks/index.js +11 -0
  171. package/dist/hooks/useTransform/enhanced.d.ts +133 -0
  172. package/dist/hooks/useTransform/enhanced.d.ts.map +1 -0
  173. package/dist/hooks/useTransform/index.d.ts +93 -0
  174. package/dist/hooks/useTransform/index.d.ts.map +1 -0
  175. package/dist/index.cjs +265 -0
  176. package/dist/index.d.ts +6 -0
  177. package/dist/index.d.ts.map +1 -0
  178. package/dist/index.js +265 -0
  179. package/dist/types/AsyncMultiSelectPayload.d.ts +5 -0
  180. package/dist/types/AsyncMultiSelectPayload.d.ts.map +1 -0
  181. package/dist/types/AsyncSelectPayload.d.ts +5 -0
  182. package/dist/types/AsyncSelectPayload.d.ts.map +1 -0
  183. package/dist/types/OperationResponse.d.ts +5 -0
  184. package/dist/types/OperationResponse.d.ts.map +1 -0
  185. package/dist/types/OptionItem.d.ts +66 -0
  186. package/dist/types/OptionItem.d.ts.map +1 -0
  187. package/dist/types/api.d.ts +127 -0
  188. package/dist/types/api.d.ts.map +1 -0
  189. package/dist/types/events.d.ts +74 -0
  190. package/dist/types/events.d.ts.map +1 -0
  191. package/dist/types/index.cjs +31 -0
  192. package/dist/types/index.d.ts +14 -0
  193. package/dist/types/index.d.ts.map +1 -0
  194. package/dist/types/index.js +31 -0
  195. package/dist/types/utilities.d.ts +458 -0
  196. package/dist/types/utilities.d.ts.map +1 -0
  197. package/dist/utils/flattenObjectKeys.d.ts +63 -0
  198. package/dist/utils/flattenObjectKeys.d.ts.map +1 -0
  199. package/dist/utils/getTimezone.d.ts +4 -0
  200. package/dist/utils/getTimezone.d.ts.map +1 -0
  201. package/dist/utils/handleServerErrors.d.ts +70 -0
  202. package/dist/utils/handleServerErrors.d.ts.map +1 -0
  203. package/dist/utils/index.cjs +55 -0
  204. package/dist/utils/index.d.ts +9 -0
  205. package/dist/utils/index.d.ts.map +1 -0
  206. package/dist/utils/index.js +55 -0
  207. package/dist/utils/propertyExists.d.ts +35 -0
  208. package/dist/utils/propertyExists.d.ts.map +1 -0
  209. package/dist/utils/readValueAsDate.d.ts +4 -0
  210. package/dist/utils/readValueAsDate.d.ts.map +1 -0
  211. package/dist/utils/removeLeadingTrailingSlashes.d.ts +2 -0
  212. package/dist/utils/removeLeadingTrailingSlashes.d.ts.map +1 -0
  213. package/dist/utils/schemaTools.d.ts +209 -0
  214. package/dist/utils/schemaTools.d.ts.map +1 -0
  215. package/dist/utils/typeGuards.d.ts +316 -0
  216. package/dist/utils/typeGuards.d.ts.map +1 -0
  217. package/dist/utils/watch/core.d.ts +22 -0
  218. package/dist/utils/watch/core.d.ts.map +1 -0
  219. package/dist/utils/watch/index.d.ts +49 -0
  220. package/dist/utils/watch/index.d.ts.map +1 -0
  221. package/dist/utils/watch/utilities.d.ts +34 -0
  222. package/dist/utils/watch/utilities.d.ts.map +1 -0
  223. package/dist/wrappers/AsyncMultiSelect/AsyncMultiSelect.d.ts +9 -0
  224. package/dist/wrappers/AsyncMultiSelect/AsyncMultiSelect.d.ts.map +1 -0
  225. package/dist/wrappers/AsyncMultiSelect/index.d.ts +3 -0
  226. package/dist/wrappers/AsyncMultiSelect/index.d.ts.map +1 -0
  227. package/dist/wrappers/AsyncMultiSelect/types.d.ts +19 -0
  228. package/dist/wrappers/AsyncMultiSelect/types.d.ts.map +1 -0
  229. package/dist/wrappers/AsyncSelect/index.d.ts +9 -0
  230. package/dist/wrappers/AsyncSelect/index.d.ts.map +1 -0
  231. package/dist/wrappers/AsyncSelect/types.d.ts +20 -0
  232. package/dist/wrappers/AsyncSelect/types.d.ts.map +1 -0
  233. package/dist/wrappers/Button.d.ts +49 -0
  234. package/dist/wrappers/Button.d.ts.map +1 -0
  235. package/dist/wrappers/CheckboxElement/CheckboxElement.d.ts +102 -0
  236. package/dist/wrappers/CheckboxElement/CheckboxElement.d.ts.map +1 -0
  237. package/dist/wrappers/CheckboxElement/index.d.ts +3 -0
  238. package/dist/wrappers/CheckboxElement/index.d.ts.map +1 -0
  239. package/dist/wrappers/CheckboxElement/types.d.ts +76 -0
  240. package/dist/wrappers/CheckboxElement/types.d.ts.map +1 -0
  241. package/dist/wrappers/CheckboxGroup/CheckboxGroup.d.ts +98 -0
  242. package/dist/wrappers/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
  243. package/dist/wrappers/CheckboxGroup/EnhancedCheckboxGroup.d.ts +49 -0
  244. package/dist/wrappers/CheckboxGroup/EnhancedCheckboxGroup.d.ts.map +1 -0
  245. package/dist/wrappers/CheckboxGroup/enhanced-types.d.ts +171 -0
  246. package/dist/wrappers/CheckboxGroup/enhanced-types.d.ts.map +1 -0
  247. package/dist/wrappers/CheckboxGroup/index.d.ts +3 -0
  248. package/dist/wrappers/CheckboxGroup/index.d.ts.map +1 -0
  249. package/dist/wrappers/CheckboxGroup/types.d.ts +106 -0
  250. package/dist/wrappers/CheckboxGroup/types.d.ts.map +1 -0
  251. package/dist/wrappers/DatePickerElement/DatePickerElement.d.ts +131 -0
  252. package/dist/wrappers/DatePickerElement/DatePickerElement.d.ts.map +1 -0
  253. package/dist/wrappers/DatePickerElement/DatePickerElementCore.d.ts +57 -0
  254. package/dist/wrappers/DatePickerElement/DatePickerElementCore.d.ts.map +1 -0
  255. package/dist/wrappers/DatePickerElement/hooks/index.d.ts +24 -0
  256. package/dist/wrappers/DatePickerElement/hooks/index.d.ts.map +1 -0
  257. package/dist/wrappers/DatePickerElement/hooks/useDatePickerStyles.d.ts +63 -0
  258. package/dist/wrappers/DatePickerElement/hooks/useDatePickerStyles.d.ts.map +1 -0
  259. package/dist/wrappers/DatePickerElement/hooks/useDatePickerValidation.d.ts +79 -0
  260. package/dist/wrappers/DatePickerElement/hooks/useDatePickerValidation.d.ts.map +1 -0
  261. package/dist/wrappers/DatePickerElement/hooks/useDatePickerValue.d.ts +73 -0
  262. package/dist/wrappers/DatePickerElement/hooks/useDatePickerValue.d.ts.map +1 -0
  263. package/dist/wrappers/DatePickerElement/index.d.ts +47 -0
  264. package/dist/wrappers/DatePickerElement/index.d.ts.map +1 -0
  265. package/dist/wrappers/DatePickerElement/types.d.ts +183 -0
  266. package/dist/wrappers/DatePickerElement/types.d.ts.map +1 -0
  267. package/dist/wrappers/DatePickerElement/utils.d.ts +89 -0
  268. package/dist/wrappers/DatePickerElement/utils.d.ts.map +1 -0
  269. package/dist/wrappers/DateTimePickerElement/index.d.ts +1 -0
  270. package/dist/wrappers/DateTimePickerElement/index.d.ts.map +1 -0
  271. package/dist/wrappers/DateTimePickerElement/types.d.ts +1 -0
  272. package/dist/wrappers/DateTimePickerElement/types.d.ts.map +1 -0
  273. package/dist/wrappers/Field/index.d.ts +42 -0
  274. package/dist/wrappers/Field/index.d.ts.map +1 -0
  275. package/dist/wrappers/NumberFieldElement/NumberFieldElement.d.ts +177 -0
  276. package/dist/wrappers/NumberFieldElement/NumberFieldElement.d.ts.map +1 -0
  277. package/dist/wrappers/NumberFieldElement/index.d.ts +3 -0
  278. package/dist/wrappers/NumberFieldElement/index.d.ts.map +1 -0
  279. package/dist/wrappers/OTPInputElement/HelperText.d.ts +8 -0
  280. package/dist/wrappers/OTPInputElement/HelperText.d.ts.map +1 -0
  281. package/dist/wrappers/OTPInputElement/OTPInputElement.d.ts +32 -0
  282. package/dist/wrappers/OTPInputElement/OTPInputElement.d.ts.map +1 -0
  283. package/dist/wrappers/OTPInputElement/index.d.ts +3 -0
  284. package/dist/wrappers/OTPInputElement/index.d.ts.map +1 -0
  285. package/dist/wrappers/PasswordElement/PasswordElement.d.ts +104 -0
  286. package/dist/wrappers/PasswordElement/PasswordElement.d.ts.map +1 -0
  287. package/dist/wrappers/PasswordElement/index.d.ts +2 -0
  288. package/dist/wrappers/PasswordElement/index.d.ts.map +1 -0
  289. package/dist/wrappers/RadioButtonGroup/RadioButtonGroup.d.ts +38 -0
  290. package/dist/wrappers/RadioButtonGroup/RadioButtonGroup.d.ts.map +1 -0
  291. package/dist/wrappers/RadioButtonGroup/index.d.ts +2 -0
  292. package/dist/wrappers/RadioButtonGroup/index.d.ts.map +1 -0
  293. package/dist/wrappers/SelectCascadeElement/SelectCascadeElement.d.ts +22 -0
  294. package/dist/wrappers/SelectCascadeElement/SelectCascadeElement.d.ts.map +1 -0
  295. package/dist/wrappers/SelectCascadeElement/index.d.ts +2 -0
  296. package/dist/wrappers/SelectCascadeElement/index.d.ts.map +1 -0
  297. package/dist/wrappers/SelectElement/SelectElement.d.ts +93 -0
  298. package/dist/wrappers/SelectElement/SelectElement.d.ts.map +1 -0
  299. package/dist/wrappers/SelectElement/index.d.ts +2 -0
  300. package/dist/wrappers/SelectElement/index.d.ts.map +1 -0
  301. package/dist/wrappers/SelectMultiElement/SelectMultiElement.d.ts +21 -0
  302. package/dist/wrappers/SelectMultiElement/SelectMultiElement.d.ts.map +1 -0
  303. package/dist/wrappers/SelectMultiElement/index.d.ts +2 -0
  304. package/dist/wrappers/SelectMultiElement/index.d.ts.map +1 -0
  305. package/dist/wrappers/TextFieldElement/TextFieldElement.d.ts +179 -0
  306. package/dist/wrappers/TextFieldElement/TextFieldElement.d.ts.map +1 -0
  307. package/dist/wrappers/TextFieldElement/index.d.ts +3 -0
  308. package/dist/wrappers/TextFieldElement/index.d.ts.map +1 -0
  309. package/dist/wrappers/TimePickerElement/TimePickerElement.d.ts +30 -0
  310. package/dist/wrappers/TimePickerElement/TimePickerElement.d.ts.map +1 -0
  311. package/dist/wrappers/TimePickerElement/index.d.ts +2 -0
  312. package/dist/wrappers/TimePickerElement/index.d.ts.map +1 -0
  313. package/dist/wrappers/index.cjs +59 -0
  314. package/dist/wrappers/index.d.ts +15 -0
  315. package/dist/wrappers/index.d.ts.map +1 -0
  316. package/dist/wrappers/index.js +59 -0
  317. package/dist/wrappers/types/common.d.ts +87 -0
  318. package/dist/wrappers/types/common.d.ts.map +1 -0
  319. package/dist/wrappers/types/index.d.ts +8 -0
  320. package/dist/wrappers/types/index.d.ts.map +1 -0
  321. package/package.json +1 -1
@@ -0,0 +1,2399 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+
4
+ var _chunkQYHJIPSZcjs = require('./chunk-QYHJIPSZ.cjs');
5
+
6
+
7
+ var _chunkLUW7V5GIcjs = require('./chunk-LUW7V5GI.cjs');
8
+
9
+ // src/wrappers/types/common.ts
10
+ function isValidOption(value) {
11
+ return typeof value === "object" && value !== null && "Label" in value && "Value" in value && typeof value.Label === "string" && (typeof value.Value === "string" || typeof value.Value === "number" || typeof value.Value === "boolean");
12
+ }
13
+ function normalizeOptions(options, labelField = "Label", valueField = "Value") {
14
+ return options.map((option) => ({
15
+ Label: String(_nullishCoalesce(option[labelField], () => ( ""))),
16
+ Value: option[valueField],
17
+ disabled: Boolean(option.disabled)
18
+ }));
19
+ }
20
+
21
+ // src/wrappers/AsyncMultiSelect/AsyncMultiSelect.tsx
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+ var _material = require('@mui/material');
30
+ var _match = require('autosuggest-highlight/match'); var _match2 = _interopRequireDefault(_match);
31
+ var _parse = require('autosuggest-highlight/parse'); var _parse2 = _interopRequireDefault(_parse);
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+ var _react = require('react');
40
+ var _reacthookform = require('react-hook-form');
41
+ var _jsxruntime = require('react/jsx-runtime');
42
+ var Component = function AsyncSelectMultiElement(props) {
43
+ const {
44
+ name,
45
+ disabled,
46
+ control,
47
+ placeholder,
48
+ label,
49
+ queryFn,
50
+ variant,
51
+ labelField = "Label",
52
+ valueField = "Value",
53
+ ...rest
54
+ } = props;
55
+ const {
56
+ field,
57
+ fieldState: { error }
58
+ } = _reacthookform.useController.call(void 0, {
59
+ name,
60
+ control
61
+ });
62
+ const theme = _material.useTheme.call(void 0, );
63
+ const [selectedOptions, setSelectedOptions] = _react.useState.call(void 0, []);
64
+ const [inputValue, setInputValue] = _react.useState.call(void 0, "");
65
+ const [options, setOptions] = _react.useState.call(void 0, []);
66
+ const [loading, setLoading] = _react.useState.call(void 0, false);
67
+ const loadedValuesRef = _react.useRef.call(void 0, []);
68
+ const isInitialPopulationActive = _react.useRef.call(void 0, false);
69
+ const lastFetchedSearchTermRef = _react.useRef.call(void 0, null);
70
+ const initialLoadCompleteRef = _react.useRef.call(void 0, false);
71
+ const selectedOptionsRef = _react.useRef.call(void 0, []);
72
+ const getOptionValue = _react.useCallback.call(void 0,
73
+ (option) => option ? String(option[valueField]) : "",
74
+ [valueField]
75
+ );
76
+ const getOptionLabel = _react.useCallback.call(void 0,
77
+ (option) => option ? String(option[labelField]) : "",
78
+ [labelField]
79
+ );
80
+ const fetchData = _react.useMemo.call(void 0,
81
+ () => _material.debounce.call(void 0,
82
+ (payload, callback) => {
83
+ queryFn(payload).then((c) => {
84
+ if (Array.isArray(c)) {
85
+ callback(c);
86
+ } else if (c && Array.isArray(c.data)) {
87
+ callback(
88
+ c.data
89
+ );
90
+ } else if (c && Array.isArray(c.Data)) {
91
+ callback(
92
+ c.Data
93
+ );
94
+ } else {
95
+ callback([]);
96
+ }
97
+ });
98
+ },
99
+ 400
100
+ ),
101
+ [queryFn]
102
+ );
103
+ _react.useEffect.call(void 0, () => {
104
+ selectedOptionsRef.current = selectedOptions;
105
+ }, [selectedOptions]);
106
+ _react.useEffect.call(void 0, () => {
107
+ const formValues = Array.isArray(field.value) ? field.value : [];
108
+ if (initialLoadCompleteRef.current && JSON.stringify(formValues) === JSON.stringify(loadedValuesRef.current)) {
109
+ return;
110
+ }
111
+ if (formValues.length === 0) {
112
+ setSelectedOptions([]);
113
+ setOptions([]);
114
+ loadedValuesRef.current = [];
115
+ lastFetchedSearchTermRef.current = null;
116
+ initialLoadCompleteRef.current = true;
117
+ return;
118
+ }
119
+ let active = true;
120
+ setLoading(true);
121
+ isInitialPopulationActive.current = true;
122
+ loadedValuesRef.current = formValues;
123
+ initialLoadCompleteRef.current = true;
124
+ fetchData({ Query: null, SelectedValue: formValues }, (results) => {
125
+ if (active) {
126
+ const fetchedOptions = results || [];
127
+ setSelectedOptions([...fetchedOptions]);
128
+ setOptions(fetchedOptions);
129
+ }
130
+ setLoading(false);
131
+ isInitialPopulationActive.current = false;
132
+ });
133
+ return () => {
134
+ active = false;
135
+ };
136
+ }, [field.value, fetchData]);
137
+ _react.useEffect.call(void 0, () => {
138
+ if (isInitialPopulationActive.current || !initialLoadCompleteRef.current) {
139
+ return;
140
+ }
141
+ if (!inputValue) {
142
+ if (selectedOptionsRef.current.length === 0) {
143
+ setOptions([]);
144
+ } else {
145
+ setOptions(selectedOptionsRef.current);
146
+ }
147
+ lastFetchedSearchTermRef.current = null;
148
+ return;
149
+ }
150
+ if (inputValue === lastFetchedSearchTermRef.current) {
151
+ return;
152
+ }
153
+ let active = true;
154
+ setLoading(true);
155
+ fetchData({ Query: inputValue, SelectedValue: null }, (searchResults) => {
156
+ if (active) {
157
+ const results = searchResults || [];
158
+ const currentSelected = selectedOptionsRef.current;
159
+ const selectedOptionIds = new Set(
160
+ currentSelected.map((opt) => getOptionValue(opt))
161
+ );
162
+ const combined = [...currentSelected];
163
+ results.forEach((result) => {
164
+ if (!selectedOptionIds.has(getOptionValue(result))) {
165
+ combined.push(result);
166
+ }
167
+ });
168
+ setOptions(combined);
169
+ lastFetchedSearchTermRef.current = inputValue;
170
+ }
171
+ setLoading(false);
172
+ });
173
+ return () => {
174
+ active = false;
175
+ };
176
+ }, [inputValue, fetchData, getOptionValue]);
177
+ const handleChange = (_, newSelectedOptions) => {
178
+ setSelectedOptions(newSelectedOptions);
179
+ const newValues = newSelectedOptions.map((c) => c[valueField]);
180
+ field.onChange(newValues.length === 0 ? null : newValues);
181
+ loadedValuesRef.current = newValues;
182
+ setOptions(newSelectedOptions);
183
+ setInputValue("");
184
+ lastFetchedSearchTermRef.current = null;
185
+ };
186
+ const isDisabled = _react.useMemo.call(void 0, () => {
187
+ return _nullishCoalesce(disabled, () => ( false));
188
+ }, [disabled]);
189
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
190
+ _material.Autocomplete,
191
+ {
192
+ multiple: true,
193
+ loading,
194
+ getOptionLabel,
195
+ isOptionEqualToValue: (option, val) => getOptionValue(option) === getOptionValue(val),
196
+ options,
197
+ value: selectedOptions,
198
+ disabled,
199
+ filterSelectedOptions: true,
200
+ filterOptions: (x) => x,
201
+ noOptionsText: "Type Something...",
202
+ onChange: handleChange,
203
+ sx: {
204
+ "&.Mui-disabled": {
205
+ cursor: "not-allowed !important"
206
+ },
207
+ "& .MuiInputBase-root.Mui-disabled": {
208
+ backgroundColor: theme.palette.action.disabledBackground,
209
+ cursor: "not-allowed !important"
210
+ },
211
+ "&.Mui-disabled .MuiAutocomplete-popupIndicator": {
212
+ cursor: "not-allowed !important"
213
+ },
214
+ "& .MuiOutlinedInput-root.Mui-disabled .MuiOutlinedInput-notchedOutline": {
215
+ borderColor: error ? "red" : void 0
216
+ },
217
+ "& .MuiFilledInput-root.Mui-disabled": {
218
+ borderColor: error ? "red" : void 0
219
+ }
220
+ },
221
+ onInputChange: (_, newInputValue) => setInputValue(newInputValue),
222
+ renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
223
+ _material.TextField,
224
+ {
225
+ ...params,
226
+ label,
227
+ error: !!error,
228
+ helperText: error ? error.message : "",
229
+ placeholder,
230
+ InputProps: {
231
+ ...params.InputProps,
232
+ endAdornment: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
233
+ loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { color: "inherit", size: 20 }) : null,
234
+ params.InputProps.endAdornment
235
+ ] })
236
+ },
237
+ variant: variant ? variant : "outlined"
238
+ }
239
+ ),
240
+ renderOption: (props2, option, state) => {
241
+ const { key, ...optionProps } = props2;
242
+ const optionLabel = getOptionLabel(option);
243
+ const matches = _match2.default.call(void 0, optionLabel, state.inputValue, {
244
+ insideWords: true
245
+ });
246
+ const parts = _parse2.default.call(void 0, optionLabel, matches);
247
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { ...optionProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: parts.map((part, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
248
+ "span",
249
+ {
250
+ style: {
251
+ fontWeight: part.highlight ? 700 : 400
252
+ },
253
+ children: part.text
254
+ },
255
+ index
256
+ )) }) }, key);
257
+ },
258
+ ...rest
259
+ }
260
+ );
261
+ };
262
+ var AsyncSelectMultiElement2 = ({
263
+ gridProps,
264
+ ...props
265
+ }) => {
266
+ if (gridProps) {
267
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
268
+ _material.Grid,
269
+ {
270
+ ...{ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }, ...gridProps },
271
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
272
+ Component,
273
+ {
274
+ ...props
275
+ }
276
+ )
277
+ }
278
+ );
279
+ }
280
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component, { ...props });
281
+ };
282
+ AsyncSelectMultiElement2.displayName = "AsyncSelectMulti";
283
+
284
+ // src/wrappers/CheckboxElement/CheckboxElement.tsx
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+ var Component2 = function CheckboxElement(props) {
296
+ const {
297
+ name,
298
+ control,
299
+ label,
300
+ labelProps,
301
+ helperText,
302
+ parseError,
303
+ transform,
304
+ disabled,
305
+ onChange: customOnChange,
306
+ ...rest
307
+ } = props;
308
+ const {
309
+ field,
310
+ fieldState: { error }
311
+ } = _reacthookform.useController.call(void 0, {
312
+ name,
313
+ control,
314
+ disabled
315
+ });
316
+ if (field.value == null || field.value == void 0) {
317
+ field.onChange(false);
318
+ }
319
+ const customOutputTransform = _optionalChain([transform, 'optionalAccess', _2 => _2.output]);
320
+ const { value, onChange } = _chunkQYHJIPSZcjs.useTransform.call(void 0, {
321
+ value: field.value,
322
+ onChange: field.onChange,
323
+ transform: {
324
+ input: typeof _optionalChain([transform, 'optionalAccess', _3 => _3.input]) === "function" ? transform.input : (value2) => !!value2,
325
+ output: typeof customOutputTransform === "function" ? (eventOrValue, _value) => {
326
+ const event = eventOrValue;
327
+ const checked = _value;
328
+ return customOutputTransform(event, checked);
329
+ } : (eventOrValue, _value) => {
330
+ const checked = _value;
331
+ return checked;
332
+ }
333
+ }
334
+ });
335
+ const handleChange = (event, checked) => {
336
+ onChange(event, checked);
337
+ if (typeof customOnChange === "function") {
338
+ customOnChange(event, checked);
339
+ }
340
+ };
341
+ const displayError = error ? typeof parseError === "function" ? parseError(error) : error.message : null;
342
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.FormControl, { error: !!error, disabled, children: [
343
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormGroup, { row: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
344
+ _material.FormControlLabel,
345
+ {
346
+ label: label || "",
347
+ ...labelProps,
348
+ disabled,
349
+ control: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
350
+ _material.Checkbox,
351
+ {
352
+ ...rest,
353
+ color: rest.color || "primary",
354
+ checked: value,
355
+ disabled,
356
+ onChange: handleChange,
357
+ ref: field.ref
358
+ }
359
+ )
360
+ }
361
+ ) }),
362
+ (displayError || helperText) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormHelperText, { error: !!error, children: displayError || helperText })
363
+ ] });
364
+ };
365
+ var CheckboxElement2 = ({
366
+ gridProps = {},
367
+ ...props
368
+ }) => {
369
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component2, { ...props }) });
370
+ };
371
+
372
+ // src/wrappers/CheckboxGroup/CheckboxGroup.tsx
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+ var Component3 = function CheckboxGroup(props) {
386
+ const {
387
+ name,
388
+ control,
389
+ label,
390
+ required,
391
+ formLabelProps,
392
+ labelProps,
393
+ labelKey = "Label",
394
+ valueKey = "Value",
395
+ options,
396
+ ...rest
397
+ } = props;
398
+ const {
399
+ field,
400
+ fieldState: { error }
401
+ } = _reacthookform.useController.call(void 0, {
402
+ name,
403
+ control,
404
+ disabled: rest.disabled
405
+ });
406
+ const selectedValuesAsString = (Array.isArray(field.value) ? field.value : []).map(String);
407
+ const handleChange = _react.useCallback.call(void 0,
408
+ (event) => {
409
+ const changedValueString = event.target.value;
410
+ const isChecked = event.target.checked;
411
+ const newSelectedValuesString = isChecked ? [...selectedValuesAsString, changedValueString] : selectedValuesAsString.filter((v) => v !== changedValueString);
412
+ const optionsAreNumeric = options.length > 0 && typeof options[0][valueKey] === "number";
413
+ if (optionsAreNumeric) {
414
+ const newValuesAsNumbers = newSelectedValuesString.map((v) => parseInt(v, 10)).filter((v) => !isNaN(v));
415
+ field.onChange(newValuesAsNumbers);
416
+ } else {
417
+ field.onChange(newSelectedValuesString);
418
+ }
419
+ },
420
+ [field, options, valueKey, selectedValuesAsString]
421
+ );
422
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.FormControl, { error: !!error, children: [
423
+ label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormLabel, { ...formLabelProps, required, error: !!error, children: label }),
424
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormGroup, { row: true, children: options && options.map((option) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
425
+ _material.FormControlLabel,
426
+ {
427
+ label: option[labelKey],
428
+ ...labelProps,
429
+ control: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
430
+ _material.Checkbox,
431
+ {
432
+ ...rest,
433
+ color: rest.color || "primary",
434
+ value: option[valueKey],
435
+ checked: selectedValuesAsString.includes(
436
+ String(option[valueKey])
437
+ ),
438
+ onChange: handleChange
439
+ }
440
+ )
441
+ },
442
+ `${option[valueKey]}`
443
+ )) }),
444
+ error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormHelperText, { error: !!error, children: error.message })
445
+ ] });
446
+ };
447
+ var CheckboxGroupElement = ({
448
+ gridProps = {},
449
+ ...props
450
+ }) => {
451
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component3, { ...props }) });
452
+ };
453
+ CheckboxGroupElement.displayName = "CheckboxGroup";
454
+
455
+ // src/wrappers/DatePickerElement/DatePickerElement.tsx
456
+
457
+
458
+
459
+ // src/wrappers/DatePickerElement/DatePickerElementCore.tsx
460
+
461
+ var _xdatepickers = require('@mui/x-date-pickers');
462
+
463
+
464
+
465
+ // src/wrappers/DatePickerElement/hooks/useDatePickerValue.ts
466
+ var _internals = require('@mui/x-date-pickers/internals');
467
+
468
+ function readDatePickerValueAsDate(adapter, value) {
469
+ if (value === null || value === void 0) {
470
+ return null;
471
+ }
472
+ if (typeof value === "string") {
473
+ if (value === "") {
474
+ return null;
475
+ }
476
+ const parsedDate = adapter.utils.date(value);
477
+ return parsedDate;
478
+ }
479
+ return value;
480
+ }
481
+ function useDatePickerValue(options) {
482
+ const { field, transform } = options;
483
+ const adapter = _internals.useLocalizationContext.call(void 0, );
484
+ const value = _react.useMemo.call(void 0, () => {
485
+ if (typeof _optionalChain([transform, 'optionalAccess', _4 => _4.input]) === "function") {
486
+ return transform.input(field.value);
487
+ }
488
+ return readDatePickerValueAsDate(adapter, field.value);
489
+ }, [field.value, _optionalChain([transform, 'optionalAccess', _5 => _5.input]), adapter]);
490
+ const onChange = _react.useCallback.call(void 0,
491
+ (newValue, context) => {
492
+ if (typeof _optionalChain([transform, 'optionalAccess', _6 => _6.output]) === "function") {
493
+ const transformedValue = transform.output(newValue, context);
494
+ field.onChange(transformedValue);
495
+ } else {
496
+ field.onChange(newValue);
497
+ }
498
+ },
499
+ // eslint-disable-next-line react-hooks/exhaustive-deps
500
+ [field.onChange, _optionalChain([transform, 'optionalAccess', _7 => _7.output])]
501
+ );
502
+ return {
503
+ value,
504
+ onChange
505
+ };
506
+ }
507
+
508
+ // src/wrappers/DatePickerElement/hooks/useDatePickerValidation.ts
509
+
510
+ var DEFAULT_ERROR_MESSAGES = {
511
+ invalidDate: "Please enter a valid date",
512
+ minDate: "Date must be after the minimum allowed date",
513
+ maxDate: "Date must be before the maximum allowed date",
514
+ disabledDate: "This date is not allowed",
515
+ required: "This field is required"
516
+ };
517
+ function useDatePickerValidation(options) {
518
+ const { fieldState, validation, parseError, value } = options;
519
+ const validationResult = _react.useMemo.call(void 0, () => {
520
+ const { error: fieldError, invalid } = fieldState;
521
+ let currentError = fieldError;
522
+ if (!fieldError && value && validation) {
523
+ const { minDate, maxDate, shouldDisableDate, errorMessages } = validation;
524
+ if (minDate && value < minDate) {
525
+ currentError = {
526
+ type: "minDate",
527
+ message: _optionalChain([errorMessages, 'optionalAccess', _8 => _8.minDate]) || DEFAULT_ERROR_MESSAGES.minDate
528
+ };
529
+ } else if (maxDate && value > maxDate) {
530
+ currentError = {
531
+ type: "maxDate",
532
+ message: _optionalChain([errorMessages, 'optionalAccess', _9 => _9.maxDate]) || DEFAULT_ERROR_MESSAGES.maxDate
533
+ };
534
+ } else if (shouldDisableDate && shouldDisableDate(value)) {
535
+ currentError = {
536
+ type: "disabledDate",
537
+ message: _optionalChain([errorMessages, 'optionalAccess', _10 => _10.disabledDate]) || DEFAULT_ERROR_MESSAGES.disabledDate
538
+ };
539
+ }
540
+ }
541
+ const hasError = Boolean(currentError);
542
+ return {
543
+ hasError,
544
+ error: currentError,
545
+ invalid: invalid || hasError
546
+ };
547
+ }, [fieldState, validation, value]);
548
+ const errorMessage = _react.useMemo.call(void 0, () => {
549
+ if (!validationResult.error) {
550
+ return null;
551
+ }
552
+ if (parseError) {
553
+ return parseError(validationResult.error);
554
+ }
555
+ if (typeof validationResult.error === "string") {
556
+ return validationResult.error;
557
+ }
558
+ if ("message" in validationResult.error && validationResult.error.message) {
559
+ return validationResult.error.message;
560
+ }
561
+ if ("type" in validationResult.error) {
562
+ const errorType = validationResult.error.type;
563
+ switch (errorType) {
564
+ case "required":
565
+ return DEFAULT_ERROR_MESSAGES.required;
566
+ case "minDate":
567
+ return DEFAULT_ERROR_MESSAGES.minDate;
568
+ case "maxDate":
569
+ return DEFAULT_ERROR_MESSAGES.maxDate;
570
+ case "disabledDate":
571
+ return DEFAULT_ERROR_MESSAGES.disabledDate;
572
+ case "invalidDate":
573
+ default:
574
+ return DEFAULT_ERROR_MESSAGES.invalidDate;
575
+ }
576
+ }
577
+ return DEFAULT_ERROR_MESSAGES.invalidDate;
578
+ }, [validationResult.error, parseError]);
579
+ return {
580
+ ...validationResult,
581
+ errorMessage
582
+ };
583
+ }
584
+
585
+ // src/wrappers/DatePickerElement/hooks/useDatePickerStyles.ts
586
+
587
+
588
+ function useDatePickerStyles(options = {}) {
589
+ const { disabled, hasError, loading, textReadOnly, sx: customSx } = options;
590
+ const theme = _material.useTheme.call(void 0, );
591
+ const computedSx = _react.useMemo.call(void 0, () => {
592
+ const baseStyles = {
593
+ // Input field styling
594
+ "& .MuiOutlinedInput-root": {
595
+ backgroundColor: disabled ? theme.palette.action.disabledBackground : "transparent",
596
+ // Transition for smooth state changes
597
+ transition: theme.transitions.create([
598
+ "background-color",
599
+ "border-color",
600
+ "color"
601
+ ], {
602
+ duration: theme.transitions.duration.short
603
+ }),
604
+ // Error state styling
605
+ ...hasError && {
606
+ borderColor: theme.palette.error.main,
607
+ "&:hover": {
608
+ borderColor: theme.palette.error.main
609
+ },
610
+ "&.Mui-focused": {
611
+ borderColor: theme.palette.error.main,
612
+ boxShadow: `0 0 0 2px ${theme.palette.error.main}25`
613
+ // 25 is 15% opacity in hex
614
+ }
615
+ },
616
+ // Loading state styling
617
+ ...loading && {
618
+ opacity: 0.7,
619
+ pointerEvents: "none"
620
+ }
621
+ },
622
+ // Input element styling
623
+ "& .MuiInputBase-input": {
624
+ cursor: disabled ? "not-allowed" : textReadOnly ? "pointer" : "text",
625
+ // Read-only specific styling
626
+ ...textReadOnly && !disabled && {
627
+ cursor: "pointer",
628
+ userSelect: "none",
629
+ caretColor: "transparent"
630
+ // Hide text cursor in read-only mode
631
+ },
632
+ // Loading state
633
+ ...loading && {
634
+ cursor: "wait"
635
+ }
636
+ },
637
+ // Required field asterisk styling
638
+ "& .MuiInputLabel-asterisk": {
639
+ color: theme.palette.error.main,
640
+ fontSize: "1.2em"
641
+ },
642
+ // Label styling with better contrast
643
+ "& .MuiInputLabel-root": {
644
+ color: hasError ? theme.palette.error.main : theme.palette.text.secondary,
645
+ // Ensure proper contrast for disabled state
646
+ ...disabled && {
647
+ color: theme.palette.text.disabled
648
+ }
649
+ },
650
+ // Helper text styling
651
+ "& .MuiFormHelperText-root": {
652
+ marginLeft: theme.spacing(1),
653
+ marginRight: theme.spacing(1),
654
+ // Error state
655
+ ...hasError && {
656
+ color: theme.palette.error.main
657
+ }
658
+ },
659
+ // Calendar icon styling
660
+ "& .MuiInputAdornment-root": {
661
+ color: disabled ? theme.palette.action.disabled : hasError ? theme.palette.error.main : theme.palette.action.active
662
+ },
663
+ // Focus ring for accessibility
664
+ "& .MuiOutlinedInput-root.Mui-focused": {
665
+ outline: `2px solid ${theme.palette.primary.main}50`,
666
+ // 50 is 31% opacity
667
+ outlineOffset: "2px"
668
+ },
669
+ // Enhanced contrast for dark themes
670
+ ...theme.palette.mode === "dark" && {
671
+ "& .MuiOutlinedInput-root": {
672
+ borderWidth: 2
673
+ }
674
+ }
675
+ };
676
+ return customSx ? [baseStyles, customSx] : baseStyles;
677
+ }, [
678
+ theme,
679
+ disabled,
680
+ hasError,
681
+ loading,
682
+ textReadOnly,
683
+ customSx
684
+ ]);
685
+ const className = _react.useMemo.call(void 0, () => {
686
+ const classes = [];
687
+ if (disabled) classes.push("DatePickerElement--disabled");
688
+ if (hasError) classes.push("DatePickerElement--error");
689
+ if (loading) classes.push("DatePickerElement--loading");
690
+ if (textReadOnly) classes.push("DatePickerElement--readOnly");
691
+ return classes.length > 0 ? classes.join(" ") : void 0;
692
+ }, [disabled, hasError, loading, textReadOnly]);
693
+ return {
694
+ sx: computedSx,
695
+ className
696
+ };
697
+ }
698
+
699
+ // src/wrappers/DatePickerElement/DatePickerElementCore.tsx
700
+
701
+ var DatePickerElementCore = _react.forwardRef.call(void 0,
702
+ (props, ref) => {
703
+ const {
704
+ name,
705
+ required = false,
706
+ control,
707
+ parseError,
708
+ transform,
709
+ validation,
710
+ label,
711
+ placeholder,
712
+ textReadOnly = false,
713
+ helperText,
714
+ inputProps = {},
715
+ slotProps = {},
716
+ datePickerProps = {},
717
+ variant = "outlined",
718
+ loading = false,
719
+ LoadingComponent,
720
+ ...restProps
721
+ } = props;
722
+ const {
723
+ disabled,
724
+ inputRef: externalInputRef,
725
+ onClose,
726
+ ...restDatePickerProps
727
+ } = datePickerProps;
728
+ const { field, fieldState } = _reacthookform.useController.call(void 0, {
729
+ name,
730
+ control,
731
+ defaultValue: null
732
+ // Let react-hook-form handle the default value typing
733
+ });
734
+ const { value, onChange: onValueChange } = useDatePickerValue({
735
+ field,
736
+ transform
737
+ });
738
+ const { hasError, errorMessage, invalid } = useDatePickerValidation({
739
+ fieldState,
740
+ validation,
741
+ parseError,
742
+ value
743
+ });
744
+ const { className } = useDatePickerStyles({
745
+ disabled,
746
+ hasError,
747
+ loading,
748
+ textReadOnly
749
+ });
750
+ const handleInputRef = _material.useForkRef.call(void 0, field.ref, externalInputRef);
751
+ const handleChange = _react.useCallback.call(void 0,
752
+ (newValue, context) => {
753
+ onValueChange(newValue, context);
754
+ },
755
+ [onValueChange]
756
+ );
757
+ const handleClose = _react.useCallback.call(void 0,
758
+ (...args) => {
759
+ field.onBlur();
760
+ if (onClose) {
761
+ onClose(...args);
762
+ }
763
+ },
764
+ // eslint-disable-next-line react-hooks/exhaustive-deps
765
+ [field.onBlur, onClose]
766
+ );
767
+ const handleTextFieldBlur = _react.useCallback.call(void 0,
768
+ (event) => {
769
+ field.onBlur();
770
+ if (typeof inputProps.onBlur === "function") {
771
+ inputProps.onBlur(event);
772
+ }
773
+ },
774
+ // eslint-disable-next-line react-hooks/exhaustive-deps
775
+ [field.onBlur, inputProps.onBlur]
776
+ );
777
+ const memoizedSlotProps = _react.useMemo.call(void 0,
778
+ () => ({
779
+ ...slotProps,
780
+ actionBar: {
781
+ actions: ["clear", "today", "cancel", "accept"],
782
+ ...slotProps.actionBar
783
+ },
784
+ textField: {
785
+ ...inputProps,
786
+ required,
787
+ placeholder,
788
+ fullWidth: true,
789
+ variant,
790
+ onBlur: handleTextFieldBlur,
791
+ error: hasError,
792
+ helperText: hasError ? errorMessage : helperText,
793
+ inputProps: {
794
+ readOnly: textReadOnly,
795
+ "aria-invalid": invalid,
796
+ "aria-describedby": hasError ? `${name}-error` : void 0,
797
+ ...inputProps.inputProps
798
+ },
799
+ // Add loading indicator if provided
800
+ ...loading && LoadingComponent && {
801
+ InputProps: {
802
+ endAdornment: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadingComponent, {}),
803
+ ...inputProps.InputProps
804
+ }
805
+ },
806
+ ...slotProps.textField
807
+ }
808
+ }),
809
+ [
810
+ slotProps,
811
+ inputProps,
812
+ required,
813
+ placeholder,
814
+ variant,
815
+ handleTextFieldBlur,
816
+ hasError,
817
+ errorMessage,
818
+ helperText,
819
+ textReadOnly,
820
+ invalid,
821
+ name,
822
+ loading,
823
+ LoadingComponent
824
+ ]
825
+ );
826
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
827
+ _xdatepickers.DatePicker,
828
+ {
829
+ ...restProps,
830
+ ...restDatePickerProps,
831
+ ref,
832
+ name,
833
+ value,
834
+ onChange: handleChange,
835
+ onClose: handleClose,
836
+ inputRef: handleInputRef,
837
+ label,
838
+ disabled,
839
+ className,
840
+ slotProps: memoizedSlotProps,
841
+ "aria-invalid": invalid,
842
+ "aria-describedby": hasError ? `${name}-error` : void 0
843
+ }
844
+ );
845
+ }
846
+ );
847
+ DatePickerElementCore.displayName = "DatePickerElementCore";
848
+
849
+ // src/wrappers/DatePickerElement/DatePickerElement.tsx
850
+
851
+ var DatePickerElement = _react.forwardRef.call(void 0, (props, ref) => {
852
+ const {
853
+ gridProps = { size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 } },
854
+ ...coreProps
855
+ } = props;
856
+ if (gridProps === false) {
857
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
858
+ DatePickerElementCore,
859
+ {
860
+ ref,
861
+ ...coreProps
862
+ }
863
+ );
864
+ }
865
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
866
+ _material.Grid,
867
+ {
868
+ ref,
869
+ ...gridProps,
870
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
871
+ DatePickerElementCore,
872
+ {
873
+ ...coreProps
874
+ }
875
+ )
876
+ }
877
+ );
878
+ });
879
+ DatePickerElement.displayName = "DatePickerElement";
880
+
881
+ // src/wrappers/DatePickerElement/utils.ts
882
+ function isValidDate(value) {
883
+ if (value === null || value === void 0) {
884
+ return false;
885
+ }
886
+ if (value instanceof Date) {
887
+ return !isNaN(value.getTime());
888
+ }
889
+ if (typeof value === "object" && value !== null) {
890
+ if ("isValid" in value && typeof value.isValid === "function") {
891
+ return value.isValid();
892
+ }
893
+ if ("isValid" in value && typeof value.isValid === "boolean") {
894
+ return value.isValid;
895
+ }
896
+ }
897
+ return false;
898
+ }
899
+ function isParsableDateString(value) {
900
+ if (typeof value !== "string" || value === "") {
901
+ return false;
902
+ }
903
+ const isoDateRegex = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d{3})?(?:Z|[+-]\d{2}:\d{2})?)?$/;
904
+ if (isoDateRegex.test(value)) {
905
+ return true;
906
+ }
907
+ const parsed = new Date(value);
908
+ return !isNaN(parsed.getTime());
909
+ }
910
+ function createDateInputTransform(adapter) {
911
+ return (value) => {
912
+ if (value === null || value === void 0) {
913
+ return null;
914
+ }
915
+ if (typeof value === "string") {
916
+ if (value === "") {
917
+ return null;
918
+ }
919
+ try {
920
+ const parsed = adapter.utils.date(value);
921
+ return isValidDate(parsed) ? parsed : null;
922
+ } catch (e2) {
923
+ return null;
924
+ }
925
+ }
926
+ if (isValidDate(value)) {
927
+ return value;
928
+ }
929
+ return null;
930
+ };
931
+ }
932
+ function createDateOutputTransform(format) {
933
+ return (value) => {
934
+ if (value === null || value === void 0) {
935
+ return null;
936
+ }
937
+ if (!isValidDate(value)) {
938
+ return null;
939
+ }
940
+ if (!format) {
941
+ return value;
942
+ }
943
+ try {
944
+ if (value instanceof Date) {
945
+ if (format === "iso") {
946
+ return value.toISOString();
947
+ }
948
+ if (format === "date-only") {
949
+ return value.toISOString().split("T")[0];
950
+ }
951
+ }
952
+ if (typeof value.format === "function") {
953
+ return value.format(format);
954
+ }
955
+ if (typeof value.format === "function") {
956
+ return value.format(format);
957
+ }
958
+ if (typeof value.toFormat === "function") {
959
+ return value.toFormat(format);
960
+ }
961
+ return value;
962
+ } catch (e3) {
963
+ return null;
964
+ }
965
+ };
966
+ }
967
+ function createDefaultDatePickerConfig() {
968
+ return {
969
+ // Default slot props for consistent behavior
970
+ slotProps: {
971
+ actionBar: {
972
+ actions: ["clear", "today", "cancel", "accept"]
973
+ },
974
+ textField: {
975
+ fullWidth: true,
976
+ variant: "outlined"
977
+ }
978
+ },
979
+ // Default grid props for layout consistency
980
+ gridProps: {
981
+ size: { xs: 12, sm: 12, md: 12, lg: 12, xl: 12 }
982
+ },
983
+ // Default validation configuration
984
+ validation: {
985
+ errorMessages: {
986
+ invalidDate: "Please enter a valid date",
987
+ minDate: "Date must be after the minimum allowed date",
988
+ maxDate: "Date must be before the maximum allowed date",
989
+ disabledDate: "This date is not allowed"
990
+ }
991
+ }
992
+ };
993
+ }
994
+ function extractErrorMessage(error) {
995
+ if (error === null || error === void 0) {
996
+ return "";
997
+ }
998
+ if (typeof error === "string") {
999
+ return error;
1000
+ }
1001
+ if (typeof error === "object" && error !== null) {
1002
+ if ("message" in error && typeof error.message === "string") {
1003
+ return error.message;
1004
+ }
1005
+ if ("type" in error && typeof error.type === "string") {
1006
+ const errorType = error.type;
1007
+ switch (errorType) {
1008
+ case "invalidDate":
1009
+ return "Please enter a valid date";
1010
+ case "minDate":
1011
+ return "Date is too early";
1012
+ case "maxDate":
1013
+ return "Date is too late";
1014
+ case "disabledDate":
1015
+ return "This date is not available";
1016
+ default:
1017
+ return "Invalid date selection";
1018
+ }
1019
+ }
1020
+ }
1021
+ return "Invalid input";
1022
+ }
1023
+ function createStableKey(config) {
1024
+ try {
1025
+ return JSON.stringify(config, (key, value) => {
1026
+ if (typeof value === "object" && value !== null && !Array.isArray(value)) {
1027
+ const sorted = {};
1028
+ Object.keys(value).sort().forEach((k) => {
1029
+ sorted[k] = value[k];
1030
+ });
1031
+ return sorted;
1032
+ }
1033
+ return value;
1034
+ });
1035
+ } catch (e4) {
1036
+ return Object.keys(config).sort().join("-");
1037
+ }
1038
+ }
1039
+
1040
+ // src/wrappers/PasswordElement/PasswordElement.tsx
1041
+ var _Visibility = require('@mui/icons-material/Visibility'); var _Visibility2 = _interopRequireDefault(_Visibility);
1042
+ var _VisibilityOff = require('@mui/icons-material/VisibilityOff'); var _VisibilityOff2 = _interopRequireDefault(_VisibilityOff);
1043
+
1044
+
1045
+
1046
+
1047
+
1048
+
1049
+
1050
+
1051
+
1052
+
1053
+ var Component4 = function PasswordEl(props) {
1054
+ const {
1055
+ iconColor,
1056
+ renderIcon = (password2) => password2 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _Visibility2.default, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _VisibilityOff2.default, {}),
1057
+ slotProps,
1058
+ name,
1059
+ control,
1060
+ inputRef,
1061
+ onBlur,
1062
+ ...rest
1063
+ } = props;
1064
+ const [password, setPassword] = _react.useState.call(void 0, true);
1065
+ const endAdornment = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.InputAdornment, { position: "end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1066
+ _material.IconButton,
1067
+ {
1068
+ onMouseDown: (e) => e.preventDefault(),
1069
+ onClick: () => setPassword(!password),
1070
+ tabIndex: -1,
1071
+ color: _nullishCoalesce(iconColor, () => ( "default")),
1072
+ children: renderIcon(password)
1073
+ }
1074
+ ) });
1075
+ const {
1076
+ field,
1077
+ fieldState: { error }
1078
+ } = _reacthookform.useController.call(void 0, {
1079
+ name,
1080
+ control
1081
+ });
1082
+ const handleInputRef = _material.useForkRef.call(void 0, field.ref, inputRef);
1083
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1084
+ _material.TextField,
1085
+ {
1086
+ ...rest,
1087
+ inputRef: handleInputRef,
1088
+ type: password ? "password" : "text",
1089
+ value: _nullishCoalesce(field.value, () => ( "")),
1090
+ fullWidth: true,
1091
+ variant: _nullishCoalesce(rest.variant, () => ( "outlined")),
1092
+ onChange: (event) => {
1093
+ field.onChange(event);
1094
+ if (typeof rest.onChange === "function") {
1095
+ rest.onChange(event);
1096
+ }
1097
+ },
1098
+ onBlur: (event) => {
1099
+ field.onBlur();
1100
+ if (typeof onBlur === "function") {
1101
+ onBlur(event);
1102
+ }
1103
+ },
1104
+ ...typeof slotProps === "undefined" ? {
1105
+ InputProps: {
1106
+ endAdornment
1107
+ }
1108
+ } : {
1109
+ slotProps: {
1110
+ ...slotProps,
1111
+ input: {
1112
+ endAdornment,
1113
+ ..._optionalChain([slotProps, 'optionalAccess', _11 => _11.input])
1114
+ }
1115
+ }
1116
+ },
1117
+ error: !!error,
1118
+ helperText: error ? error.message : ""
1119
+ }
1120
+ );
1121
+ };
1122
+ var PasswordElement = ({
1123
+ gridProps = {},
1124
+ ...props
1125
+ }) => {
1126
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component4, { ...props }) });
1127
+ };
1128
+
1129
+ // src/wrappers/RadioButtonGroup/RadioButtonGroup.tsx
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+
1141
+ var Component5 = function RadioButtonGroup(props) {
1142
+ const {
1143
+ options,
1144
+ label,
1145
+ name,
1146
+ labelKey = "label",
1147
+ valueKey = "id",
1148
+ disabledKey = "disabled",
1149
+ required,
1150
+ emptyOptionLabel,
1151
+ returnObject,
1152
+ row = true,
1153
+ control,
1154
+ type,
1155
+ labelProps,
1156
+ disabled,
1157
+ formLabelProps,
1158
+ radioProps,
1159
+ transform,
1160
+ ...rest
1161
+ } = props;
1162
+ const {
1163
+ field,
1164
+ fieldState: { error }
1165
+ } = _reacthookform.useController.call(void 0, {
1166
+ name,
1167
+ disabled,
1168
+ control
1169
+ });
1170
+ const { value, onChange } = _chunkQYHJIPSZcjs.useTransform.call(void 0, {
1171
+ value: field.value,
1172
+ onChange: field.onChange,
1173
+ transform: {
1174
+ input: typeof _optionalChain([transform, 'optionalAccess', _12 => _12.input]) === "function" ? transform.input : (value2) => {
1175
+ return value2 || "";
1176
+ },
1177
+ output: typeof _optionalChain([transform, 'optionalAccess', _13 => _13.output]) === "function" ? _optionalChain([transform, 'optionalAccess', _14 => _14.output]) : (_event, value2) => {
1178
+ if (value2 && type === "number") {
1179
+ return Number(value2);
1180
+ }
1181
+ if (value2 && type === "boolean") {
1182
+ return Boolean(value2);
1183
+ }
1184
+ return value2;
1185
+ }
1186
+ }
1187
+ });
1188
+ const onRadioChange = (event, radioValue) => {
1189
+ const returnValue = returnObject ? options.find((option) => option[valueKey] === radioValue) : radioValue;
1190
+ onChange(event, returnValue);
1191
+ if (typeof rest.onChange === "function") {
1192
+ rest.onChange(returnValue);
1193
+ }
1194
+ };
1195
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.FormControl, { error: !!error, children: [
1196
+ label && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormLabel, { ...formLabelProps, required, error: !!error, children: label }),
1197
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _material.RadioGroup, { onChange: onRadioChange, name, row, value, children: [
1198
+ emptyOptionLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1199
+ _material.FormControlLabel,
1200
+ {
1201
+ ...labelProps,
1202
+ control: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1203
+ _material.Radio,
1204
+ {
1205
+ ...radioProps,
1206
+ checked: !value
1207
+ }
1208
+ ),
1209
+ label: emptyOptionLabel,
1210
+ value: ""
1211
+ }
1212
+ ),
1213
+ options.map((option) => {
1214
+ const optionKey = option[valueKey];
1215
+ const optionDisabled = option[disabledKey] || false;
1216
+ let val = returnObject ? _optionalChain([value, 'optionalAccess', _15 => _15[valueKey]]) : value;
1217
+ if (type === "number" && val !== void 0) {
1218
+ val = Number(val);
1219
+ } else if (type === "boolean" && val !== void 0) {
1220
+ val = Boolean(val);
1221
+ }
1222
+ const isChecked = val === optionKey;
1223
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1224
+ _material.FormControlLabel,
1225
+ {
1226
+ ...labelProps,
1227
+ control: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1228
+ _material.Radio,
1229
+ {
1230
+ ...radioProps,
1231
+ disabled: disabled || optionDisabled,
1232
+ checked: isChecked
1233
+ }
1234
+ ),
1235
+ value: optionKey,
1236
+ label: option[labelKey]
1237
+ },
1238
+ String(optionKey)
1239
+ );
1240
+ })
1241
+ ] }),
1242
+ error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.FormHelperText, { children: error.message })
1243
+ ] });
1244
+ };
1245
+ var RadioButtonGroup2 = ({
1246
+ gridProps = {},
1247
+ ...props
1248
+ }) => {
1249
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1250
+ Component5,
1251
+ {
1252
+ ...props
1253
+ }
1254
+ ) });
1255
+ };
1256
+ RadioButtonGroup2.displayName = "RadioButtonGroup";
1257
+
1258
+ // src/wrappers/SelectCascadeElement/SelectCascadeElement.tsx
1259
+
1260
+ var _styles = require('@mui/material/styles');
1261
+
1262
+
1263
+
1264
+ var Component6 = function SelectCascadeElement(props) {
1265
+ const theme = _styles.useTheme.call(void 0, );
1266
+ const {
1267
+ labelField = "Label",
1268
+ valueField = "Value",
1269
+ name,
1270
+ onBlur,
1271
+ onChange,
1272
+ disabled,
1273
+ options: optionsInput,
1274
+ control,
1275
+ loading = false,
1276
+ placeholder,
1277
+ label,
1278
+ dependsOn,
1279
+ textFieldProps = {},
1280
+ variant,
1281
+ isNullable = false,
1282
+ ...rest
1283
+ } = props;
1284
+ const { required, ...restTextProps } = textFieldProps;
1285
+ const options = _react.useMemo.call(void 0, () => optionsInput || [], [optionsInput]);
1286
+ const getOptionKey = _react.useCallback.call(void 0,
1287
+ (option) => {
1288
+ if (typeof option === "string" || typeof option === "number")
1289
+ return option;
1290
+ const key = option ? option[valueField] : void 0;
1291
+ return key !== void 0 && key !== null ? String(key) : "";
1292
+ },
1293
+ [valueField]
1294
+ );
1295
+ const getOptionLabel = _react.useCallback.call(void 0,
1296
+ (option) => {
1297
+ if (typeof option === "string") return option;
1298
+ return option ? String(option[labelField]) : "";
1299
+ },
1300
+ [labelField]
1301
+ );
1302
+ const isOptionEqualToValue = (option, value) => getOptionKey(option) === getOptionKey(value);
1303
+ const {
1304
+ field,
1305
+ fieldState: { error }
1306
+ } = _reacthookform.useController.call(void 0, {
1307
+ name,
1308
+ control
1309
+ });
1310
+ const { field: dependentField } = _reacthookform.useController.call(void 0, {
1311
+ name: dependsOn,
1312
+ control
1313
+ });
1314
+ const parentValueRef = _react.useRef.call(void 0, dependentField.value);
1315
+ _react.useEffect.call(void 0, () => {
1316
+ if (parentValueRef.current !== dependentField.value) {
1317
+ field.onChange(null);
1318
+ parentValueRef.current = dependentField.value;
1319
+ }
1320
+ }, [dependentField.value, field]);
1321
+ _react.useEffect.call(void 0, () => {
1322
+ const hasValue = field.value !== null && field.value !== void 0 && field.value !== "";
1323
+ if (options.length === 1 && !hasValue) {
1324
+ if (disabled) return;
1325
+ field.onChange(getOptionKey(options[0]));
1326
+ }
1327
+ }, [options, disabled, getOptionKey, field.onChange, dependentField.value]);
1328
+ const isDisabled = _react.useMemo.call(void 0, () => {
1329
+ if (disabled) return true;
1330
+ if (dependentField.value === null || dependentField.value === void 0 || dependentField.value === "")
1331
+ return true;
1332
+ if (options.length === 1 && !isNullable) {
1333
+ return true;
1334
+ }
1335
+ return false;
1336
+ }, [disabled, dependentField.value, options.length, isNullable]);
1337
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1338
+ _material.Autocomplete,
1339
+ {
1340
+ ...rest,
1341
+ value: options.map((option) => getOptionKey(option) === field.value ? option : null).find(Boolean) || null,
1342
+ loading,
1343
+ options,
1344
+ getOptionKey,
1345
+ getOptionLabel,
1346
+ isOptionEqualToValue,
1347
+ ref: field.ref,
1348
+ disabled: isDisabled,
1349
+ sx: {
1350
+ "&.Mui-disabled": {
1351
+ cursor: "not-allowed !important"
1352
+ },
1353
+ "& .MuiInputBase-root.Mui-disabled": {
1354
+ backgroundColor: theme.palette.action.disabledBackground,
1355
+ cursor: "not-allowed !important"
1356
+ },
1357
+ "&.Mui-disabled .MuiAutocomplete-popupIndicator": {
1358
+ cursor: "not-allowed !important"
1359
+ },
1360
+ "& .MuiOutlinedInput-root.Mui-disabled .MuiOutlinedInput-notchedOutline": {
1361
+ borderColor: error ? "red" : void 0
1362
+ },
1363
+ "& .MuiFilledInput-root.Mui-disabled": {
1364
+ borderColor: error ? "red" : void 0
1365
+ }
1366
+ },
1367
+ onChange: (event, newValue, reason) => {
1368
+ field.onChange(newValue ? getOptionKey(newValue) : null);
1369
+ if (onChange && typeof onChange === "function") {
1370
+ onChange(event, newValue, reason);
1371
+ }
1372
+ },
1373
+ onBlur: (event) => {
1374
+ field.onBlur();
1375
+ if (typeof onBlur === "function") {
1376
+ onBlur(event);
1377
+ }
1378
+ },
1379
+ fullWidth: true,
1380
+ renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1381
+ _material.TextField,
1382
+ {
1383
+ ...params,
1384
+ ...restTextProps,
1385
+ fullWidth: true,
1386
+ error: !!error,
1387
+ required,
1388
+ helperText: error ? error.message : "",
1389
+ placeholder,
1390
+ label,
1391
+ variant: variant ? variant : "outlined"
1392
+ }
1393
+ )
1394
+ }
1395
+ );
1396
+ };
1397
+ var SelectCascadeElement2 = ({
1398
+ gridProps = {},
1399
+ ...props
1400
+ }) => {
1401
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component6, { ...props }) });
1402
+ };
1403
+ SelectCascadeElement2.displayName = "SelectCascadeElement";
1404
+
1405
+ // src/wrappers/SelectElement/SelectElement.tsx
1406
+
1407
+
1408
+
1409
+
1410
+
1411
+ var Component7 = function SelectElement(props) {
1412
+ const theme = _styles.useTheme.call(void 0, );
1413
+ const {
1414
+ name,
1415
+ control,
1416
+ onChange,
1417
+ options: optionsInput,
1418
+ label,
1419
+ variant,
1420
+ disabled,
1421
+ labelField = "Label",
1422
+ valueField = "Value",
1423
+ placeholder,
1424
+ textFieldProps = {},
1425
+ isNullable = false,
1426
+ ...rest
1427
+ } = props;
1428
+ const { required, ...restTextProps } = textFieldProps;
1429
+ const options = _react.useMemo.call(void 0, () => optionsInput || [], [optionsInput]);
1430
+ const {
1431
+ field,
1432
+ fieldState: { error }
1433
+ } = _reacthookform.useController.call(void 0, {
1434
+ name,
1435
+ control
1436
+ });
1437
+ const getOptionValue = _react.useCallback.call(void 0,
1438
+ (option) => {
1439
+ if (typeof option === "string") return option;
1440
+ return option ? option[valueField] : null;
1441
+ },
1442
+ [valueField]
1443
+ );
1444
+ const getOptionLabel = _react.useCallback.call(void 0,
1445
+ (option) => {
1446
+ if (typeof option === "string") return option;
1447
+ return option ? String(option[labelField]) : "";
1448
+ },
1449
+ [labelField]
1450
+ );
1451
+ _react.useEffect.call(void 0, () => {
1452
+ const hasValue = field.value !== null && field.value !== void 0 && field.value !== "";
1453
+ if (options.length === 1 && !hasValue) {
1454
+ if (disabled) return;
1455
+ field.onChange(getOptionValue(options[0]));
1456
+ }
1457
+ }, [options, disabled, getOptionValue, field.onChange]);
1458
+ const isDisabled = _react.useMemo.call(void 0, () => {
1459
+ if (disabled) return true;
1460
+ if (options.length === 0) return true;
1461
+ if (options.length === 1 && !isNullable) return true;
1462
+ return false;
1463
+ }, [disabled, options.length, isNullable]);
1464
+ const autocompleteValue = _react.useMemo.call(void 0,
1465
+ () => _nullishCoalesce(options.find((option) => getOptionValue(option) === field.value), () => ( null)),
1466
+ [field.value, options, getOptionValue]
1467
+ );
1468
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1469
+ _material.Autocomplete,
1470
+ {
1471
+ ...rest,
1472
+ filterSelectedOptions: false,
1473
+ options,
1474
+ value: autocompleteValue,
1475
+ onChange: (event, newValue, reason) => {
1476
+ const option = newValue;
1477
+ field.onChange(option ? getOptionValue(option) : null);
1478
+ _optionalChain([onChange, 'optionalCall', _16 => _16(event, newValue, reason)]);
1479
+ },
1480
+ disabled: isDisabled,
1481
+ sx: {
1482
+ "&.Mui-disabled": {
1483
+ cursor: "not-allowed !important"
1484
+ },
1485
+ "& .MuiInputBase-root.Mui-disabled": {
1486
+ backgroundColor: theme.palette.action.disabledBackground,
1487
+ cursor: "not-allowed !important"
1488
+ },
1489
+ "&.Mui-disabled .MuiAutocomplete-popupIndicator": {
1490
+ cursor: "not-allowed !important"
1491
+ },
1492
+ "& .MuiOutlinedInput-root.Mui-disabled .MuiOutlinedInput-notchedOutline": {
1493
+ borderColor: error ? "red" : void 0
1494
+ },
1495
+ "& .MuiFilledInput-root.Mui-disabled": {
1496
+ borderColor: error ? "red" : void 0
1497
+ }
1498
+ },
1499
+ getOptionLabel: (option) => getOptionLabel(option),
1500
+ ref: field.ref,
1501
+ isOptionEqualToValue: (option, value) => getOptionValue(option) === getOptionValue(value),
1502
+ renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1503
+ _material.TextField,
1504
+ {
1505
+ ...params,
1506
+ ...restTextProps,
1507
+ fullWidth: true,
1508
+ required,
1509
+ error: !!error,
1510
+ helperText: error ? error.message : "",
1511
+ label,
1512
+ placeholder,
1513
+ variant: variant ? variant : "outlined"
1514
+ }
1515
+ )
1516
+ }
1517
+ );
1518
+ };
1519
+ var SelectElement2 = ({
1520
+ gridProps = {},
1521
+ ...props
1522
+ }) => {
1523
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component7, { ...props }) });
1524
+ };
1525
+ SelectElement2.displayName = "SelectElement";
1526
+
1527
+ // src/wrappers/SelectMultiElement/SelectMultiElement.tsx
1528
+ var _CheckBox = require('@mui/icons-material/CheckBox'); var _CheckBox2 = _interopRequireDefault(_CheckBox);
1529
+ var _CheckBoxOutlineBlank = require('@mui/icons-material/CheckBoxOutlineBlank'); var _CheckBoxOutlineBlank2 = _interopRequireDefault(_CheckBoxOutlineBlank);
1530
+
1531
+
1532
+
1533
+
1534
+
1535
+
1536
+
1537
+
1538
+
1539
+
1540
+
1541
+ var Component8 = function SelectMultiElement(props) {
1542
+ const {
1543
+ name,
1544
+ control,
1545
+ onBlur,
1546
+ disabled,
1547
+ options: optionsInput,
1548
+ loading = false,
1549
+ placeholder,
1550
+ label,
1551
+ isNullable,
1552
+ variant,
1553
+ labelField = "Label",
1554
+ valueField = "Value",
1555
+ ...rest
1556
+ } = props;
1557
+ const theme = _material.useTheme.call(void 0, );
1558
+ const options = _react.useMemo.call(void 0, () => optionsInput || [], [optionsInput]);
1559
+ const {
1560
+ field,
1561
+ fieldState: { error }
1562
+ } = _reacthookform.useController.call(void 0, {
1563
+ name,
1564
+ control
1565
+ });
1566
+ const getOptionValue = (option) => {
1567
+ if (typeof option === "string") return option;
1568
+ return option ? option[valueField] : null;
1569
+ };
1570
+ const getOptionLabel = (option) => {
1571
+ if (typeof option === "string") return option;
1572
+ return option ? String(option[labelField]) : "";
1573
+ };
1574
+ const isDisabled = _react.useMemo.call(void 0, () => {
1575
+ if (disabled) return true;
1576
+ if (options.length === 0) return true;
1577
+ if (options.length === 1 && !isNullable) return true;
1578
+ return false;
1579
+ }, [disabled, options.length, isNullable]);
1580
+ const selectedValue = field.value && Array.isArray(field.value) ? options.filter((option) => field.value.includes(getOptionValue(option))) : [];
1581
+ _react.useEffect.call(void 0, () => {
1582
+ const hasValue = Array.isArray(field.value) && field.value.length > 0;
1583
+ if (options.length === 1 && !hasValue && !isNullable) {
1584
+ field.onChange([getOptionValue(options[0])]);
1585
+ }
1586
+ }, [options, getOptionValue, field.onChange, isNullable]);
1587
+ const handleChange = (_, selectedOptions, reason) => {
1588
+ if (reason === "clear") {
1589
+ field.onChange(null);
1590
+ } else if (reason === "selectOption" || reason === "removeOption") {
1591
+ const newValues = selectedOptions.map((option) => getOptionValue(option));
1592
+ field.onChange(newValues.length === 0 ? null : newValues);
1593
+ }
1594
+ };
1595
+ const icon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CheckBoxOutlineBlank2.default, { fontSize: "small" });
1596
+ const checkedIcon = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _CheckBox2.default, { fontSize: "small" });
1597
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1598
+ _material.Autocomplete,
1599
+ {
1600
+ multiple: true,
1601
+ value: selectedValue,
1602
+ loading,
1603
+ options,
1604
+ getOptionLabel,
1605
+ isOptionEqualToValue: (option, value) => getOptionValue(option) === getOptionValue(value),
1606
+ filterSelectedOptions: true,
1607
+ disableCloseOnSelect: true,
1608
+ ref: field.ref,
1609
+ disabled: isDisabled,
1610
+ onChange: handleChange,
1611
+ onBlur: (event) => {
1612
+ field.onBlur();
1613
+ if (typeof onBlur === "function") {
1614
+ onBlur(event);
1615
+ }
1616
+ },
1617
+ sx: {
1618
+ "&.Mui-disabled": {
1619
+ cursor: "not-allowed !important"
1620
+ },
1621
+ "& .MuiInputBase-root.Mui-disabled": {
1622
+ backgroundColor: theme.palette.action.disabledBackground,
1623
+ cursor: "not-allowed !important"
1624
+ },
1625
+ "&.Mui-disabled .MuiAutocomplete-popupIndicator": {
1626
+ cursor: "not-allowed !important"
1627
+ },
1628
+ "& .MuiOutlinedInput-root.Mui-disabled .MuiOutlinedInput-notchedOutline": {
1629
+ borderColor: error ? "red" : void 0
1630
+ },
1631
+ "& .MuiFilledInput-root.Mui-disabled": {
1632
+ borderColor: error ? "red" : void 0
1633
+ }
1634
+ },
1635
+ fullWidth: true,
1636
+ renderOption: (props1, option, { selected }) => {
1637
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "li", { ...props1, children: [
1638
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1639
+ _material.Checkbox,
1640
+ {
1641
+ icon,
1642
+ checkedIcon,
1643
+ checked: selected
1644
+ }
1645
+ ),
1646
+ getOptionLabel(option)
1647
+ ] });
1648
+ },
1649
+ renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1650
+ _material.TextField,
1651
+ {
1652
+ ...params,
1653
+ label,
1654
+ error: !!error,
1655
+ helperText: error ? error.message : "",
1656
+ placeholder,
1657
+ InputProps: {
1658
+ ...params.InputProps,
1659
+ endAdornment: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
1660
+ loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { color: "inherit", size: 20 }) : null,
1661
+ params.InputProps.endAdornment
1662
+ ] })
1663
+ },
1664
+ variant: variant ? variant : "outlined"
1665
+ }
1666
+ ),
1667
+ ...rest
1668
+ }
1669
+ );
1670
+ };
1671
+ var SelectMultiElement2 = ({
1672
+ gridProps = {},
1673
+ ...props
1674
+ }) => {
1675
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component8, { ...props }) });
1676
+ };
1677
+ SelectMultiElement2.displayName = "SelectMultiElement";
1678
+
1679
+ // src/wrappers/TextFieldElement/TextFieldElement.tsx
1680
+
1681
+
1682
+
1683
+ var Component9 = function TextFieldElement(props) {
1684
+ const {
1685
+ parseError,
1686
+ name,
1687
+ control,
1688
+ component: TextFieldComponent = _material.TextField,
1689
+ transform,
1690
+ fieldType = "text",
1691
+ // Default to text type
1692
+ defaultValue,
1693
+ label,
1694
+ placeholder,
1695
+ textFieldProps = {},
1696
+ variant,
1697
+ onChange: customOnChange,
1698
+ enableWarnings = process.env.NODE_ENV === "development",
1699
+ ...rest
1700
+ } = props;
1701
+ const {
1702
+ type,
1703
+ required,
1704
+ helperText,
1705
+ inputRef,
1706
+ onInput,
1707
+ onBlur,
1708
+ disabled,
1709
+ ...restTextProps
1710
+ } = textFieldProps;
1711
+ const {
1712
+ field,
1713
+ fieldState: { error }
1714
+ } = _reacthookform.useController.call(void 0, {
1715
+ name,
1716
+ control
1717
+ });
1718
+ const { value, onChange } = _chunkQYHJIPSZcjs.useEnhancedTransform.call(void 0,
1719
+ {
1720
+ value: field.value,
1721
+ onChange: field.onChange,
1722
+ transform: transform ? {
1723
+ input: transform.input,
1724
+ output: transform.output
1725
+ } : void 0,
1726
+ fieldType: !transform ? type === "number" ? "number" : fieldType : void 0,
1727
+ // Auto-detect number type
1728
+ defaultValue,
1729
+ enableWarnings
1730
+ }
1731
+ );
1732
+ const handleInputRef = _material.useForkRef.call(void 0, field.ref, inputRef);
1733
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1734
+ TextFieldComponent,
1735
+ {
1736
+ ...rest,
1737
+ ...restTextProps,
1738
+ name: field.name,
1739
+ value,
1740
+ onChange: (event) => {
1741
+ const input = event.target.value;
1742
+ if (input === "") {
1743
+ field.onChange(null);
1744
+ } else {
1745
+ onChange(event);
1746
+ }
1747
+ if (typeof customOnChange === "function") {
1748
+ customOnChange(event);
1749
+ }
1750
+ return;
1751
+ },
1752
+ onBlur: (event) => {
1753
+ field.onBlur();
1754
+ if (typeof onBlur === "function") {
1755
+ onBlur(event);
1756
+ }
1757
+ },
1758
+ onInput: (event) => {
1759
+ if (typeof onInput === "function") {
1760
+ onInput(event);
1761
+ }
1762
+ },
1763
+ disabled,
1764
+ label,
1765
+ placeholder,
1766
+ fullWidth: true,
1767
+ required,
1768
+ type,
1769
+ error: !!error,
1770
+ helperText: error ? parseError ? parseError(error) : error.message : helperText,
1771
+ inputRef: handleInputRef,
1772
+ variant: variant ? variant : "outlined"
1773
+ }
1774
+ );
1775
+ };
1776
+ var TextFieldElement2 = ({
1777
+ gridProps = {},
1778
+ ...props
1779
+ }) => {
1780
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component9, { ...props }) });
1781
+ };
1782
+
1783
+ // src/wrappers/TimePickerElement/TimePickerElement.tsx
1784
+
1785
+
1786
+
1787
+ var _dayjs = require('dayjs'); var _dayjs2 = _interopRequireDefault(_dayjs);
1788
+
1789
+
1790
+ var Component10 = function TimePickerElement(props) {
1791
+ const {
1792
+ name,
1793
+ required,
1794
+ inputProps,
1795
+ control,
1796
+ textReadOnly,
1797
+ label,
1798
+ placeholder,
1799
+ slotProps,
1800
+ timePickerProps = {},
1801
+ transform,
1802
+ ...rest
1803
+ } = props;
1804
+ const adapter = _internals.useLocalizationContext.call(void 0, );
1805
+ const { disabled, inputRef, onClose, ...restTimePickerProps } = timePickerProps;
1806
+ const {
1807
+ field,
1808
+ fieldState: { error }
1809
+ } = _reacthookform.useController.call(void 0, {
1810
+ name,
1811
+ control,
1812
+ defaultValue: null
1813
+ });
1814
+ const { value, onChange } = _chunkQYHJIPSZcjs.useTransform.call(void 0, {
1815
+ value: field.value,
1816
+ onChange: field.onChange,
1817
+ transform: {
1818
+ input: typeof _optionalChain([transform, 'optionalAccess', _17 => _17.input]) === "function" ? transform.input : (newValue) => _chunkLUW7V5GIcjs.readValueAsDate.call(void 0, adapter, newValue),
1819
+ output: (data) => {
1820
+ if (data === null || !_dayjs2.default.isDayjs(data)) {
1821
+ return null;
1822
+ }
1823
+ return data;
1824
+ }
1825
+ }
1826
+ });
1827
+ const handleInputRef = _material.useForkRef.call(void 0, field.ref, inputRef);
1828
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1829
+ _xdatepickers.TimePicker,
1830
+ {
1831
+ ...rest,
1832
+ ...restTimePickerProps,
1833
+ ...field,
1834
+ value,
1835
+ label,
1836
+ disabled,
1837
+ ...timePickerProps,
1838
+ inputRef: handleInputRef,
1839
+ onClose: (...args) => {
1840
+ field.onBlur();
1841
+ if (onClose) {
1842
+ onClose(...args);
1843
+ }
1844
+ },
1845
+ onChange: (newValue, context) => {
1846
+ onChange(newValue);
1847
+ _optionalChain([timePickerProps, 'access', _18 => _18.onChange, 'optionalCall', _19 => _19(newValue, context)]);
1848
+ },
1849
+ slotProps: {
1850
+ ...slotProps,
1851
+ actionBar: {
1852
+ actions: ["clear", "cancel", "accept"]
1853
+ },
1854
+ textField: {
1855
+ ...inputProps,
1856
+ required,
1857
+ placeholder,
1858
+ fullWidth: true,
1859
+ onBlur: (event) => {
1860
+ field.onBlur();
1861
+ if (typeof _optionalChain([inputProps, 'optionalAccess', _20 => _20.onBlur]) === "function") {
1862
+ inputProps.onBlur(event);
1863
+ }
1864
+ },
1865
+ error: !!error,
1866
+ helperText: error ? error.message : _optionalChain([inputProps, 'optionalAccess', _21 => _21.helperText]) || rest.helperText,
1867
+ inputProps: {
1868
+ readOnly: !!textReadOnly,
1869
+ ..._optionalChain([inputProps, 'optionalAccess', _22 => _22.inputProps])
1870
+ }
1871
+ }
1872
+ }
1873
+ }
1874
+ );
1875
+ };
1876
+ var TimePickerElement2 = ({
1877
+ gridProps = {},
1878
+ ...props
1879
+ }) => {
1880
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component10, { ...props }) });
1881
+ };
1882
+ TimePickerElement2.displayName = "TimePickerElement";
1883
+
1884
+ // src/wrappers/AsyncSelect/index.tsx
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+
1891
+
1892
+ var _utils = require('@mui/material/utils');
1893
+
1894
+
1895
+
1896
+
1897
+
1898
+
1899
+
1900
+
1901
+
1902
+
1903
+
1904
+
1905
+ var Component11 = function AsyncSelectElement(props) {
1906
+ const {
1907
+ name,
1908
+ disabled,
1909
+ control,
1910
+ placeholder,
1911
+ // initialValue,
1912
+ // isNullable,
1913
+ label,
1914
+ queryFn,
1915
+ variant,
1916
+ labelField = "Label",
1917
+ valueField = "Value",
1918
+ ...rest
1919
+ } = props;
1920
+ const {
1921
+ field,
1922
+ fieldState: { error }
1923
+ } = _reacthookform.useController.call(void 0, {
1924
+ name,
1925
+ control
1926
+ });
1927
+ const theme = _material.useTheme.call(void 0, );
1928
+ const [loading, setLoading] = _react.useState.call(void 0, false);
1929
+ const [selectedOption, setSelectedOption] = _react.useState.call(void 0, null);
1930
+ const [inputValue, setInputValue] = _react.useState.call(void 0, "");
1931
+ const [options, setOptions] = _react.useState.call(void 0, []);
1932
+ const [open, setOpen] = _react.useState.call(void 0, false);
1933
+ const loadedValueRef = _react.useRef.call(void 0,
1934
+ void 0
1935
+ );
1936
+ const fetchData = _react.useMemo.call(void 0,
1937
+ () => _utils.debounce.call(void 0,
1938
+ (payload, callback) => {
1939
+ queryFn(payload).then((c) => callback(c));
1940
+ },
1941
+ 400
1942
+ ),
1943
+ [queryFn]
1944
+ );
1945
+ const getOptionValue = _react.useCallback.call(void 0,
1946
+ (option) => {
1947
+ return option ? String(option[valueField]) : "";
1948
+ },
1949
+ [valueField]
1950
+ );
1951
+ const getOptionLabel = _react.useCallback.call(void 0,
1952
+ (option) => {
1953
+ return option ? String(option[labelField]) : "";
1954
+ },
1955
+ [labelField]
1956
+ );
1957
+ _react.useEffect.call(void 0, () => {
1958
+ const currentValue = field.value;
1959
+ if (currentValue && loadedValueRef.current !== currentValue) {
1960
+ if (selectedOption && getOptionValue(selectedOption) === currentValue) {
1961
+ loadedValueRef.current = currentValue;
1962
+ return;
1963
+ }
1964
+ const active = true;
1965
+ setLoading(true);
1966
+ loadedValueRef.current = currentValue;
1967
+ fetchData({ Query: null, SelectedValue: currentValue }, (results) => {
1968
+ if (!active) return;
1969
+ setLoading(false);
1970
+ const matchedOption = _optionalChain([results, 'optionalAccess', _23 => _23.find, 'call', _24 => _24(
1971
+ (option) => String(getOptionValue(option)) === String(currentValue)
1972
+ )]);
1973
+ if (matchedOption) {
1974
+ setOptions([matchedOption]);
1975
+ setSelectedOption(matchedOption);
1976
+ setInputValue(getOptionLabel(matchedOption));
1977
+ }
1978
+ });
1979
+ return;
1980
+ }
1981
+ if (inputValue !== (selectedOption ? getOptionLabel(selectedOption) : "")) {
1982
+ if (inputValue === "") {
1983
+ setOptions([]);
1984
+ setLoading(false);
1985
+ return;
1986
+ }
1987
+ const active = true;
1988
+ setLoading(true);
1989
+ fetchData({ Query: inputValue, SelectedValue: null }, (results) => {
1990
+ if (!active) return;
1991
+ setLoading(false);
1992
+ setOptions(results || []);
1993
+ });
1994
+ return;
1995
+ }
1996
+ if (!currentValue && selectedOption) {
1997
+ setSelectedOption(null);
1998
+ setInputValue("");
1999
+ setOptions([]);
2000
+ loadedValueRef.current = void 0;
2001
+ }
2002
+ }, [
2003
+ field.value,
2004
+ inputValue,
2005
+ fetchData,
2006
+ getOptionLabel,
2007
+ getOptionValue,
2008
+ selectedOption,
2009
+ labelField,
2010
+ valueField
2011
+ ]);
2012
+ const isDisabled = _react.useMemo.call(void 0, () => {
2013
+ return _nullishCoalesce(disabled, () => ( false));
2014
+ }, [disabled]);
2015
+ const handleChange = _react.useCallback.call(void 0,
2016
+ (_, newSelectedOption) => {
2017
+ setSelectedOption(newSelectedOption);
2018
+ const newValue = newSelectedOption ? getOptionValue(newSelectedOption) : null;
2019
+ field.onChange(newValue);
2020
+ loadedValueRef.current = newValue;
2021
+ if (newSelectedOption) {
2022
+ setInputValue(getOptionLabel(newSelectedOption));
2023
+ } else {
2024
+ setInputValue("");
2025
+ setOptions([]);
2026
+ }
2027
+ },
2028
+ [field, getOptionValue, getOptionLabel]
2029
+ );
2030
+ const handleInputChange = _react.useCallback.call(void 0,
2031
+ (_, newInputValue) => {
2032
+ setInputValue(newInputValue);
2033
+ },
2034
+ []
2035
+ );
2036
+ const handleBlur = _react.useCallback.call(void 0, () => {
2037
+ if (selectedOption) {
2038
+ setInputValue(getOptionLabel(selectedOption));
2039
+ } else {
2040
+ setInputValue("");
2041
+ }
2042
+ }, [selectedOption, getOptionLabel]);
2043
+ const handleOpen = _react.useCallback.call(void 0, () => {
2044
+ setOpen(true);
2045
+ }, []);
2046
+ const handleClose = _react.useCallback.call(void 0, () => {
2047
+ setOpen(false);
2048
+ }, []);
2049
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2050
+ _material.Autocomplete,
2051
+ {
2052
+ ...rest,
2053
+ fullWidth: true,
2054
+ open,
2055
+ onOpen: handleOpen,
2056
+ onClose: handleClose,
2057
+ onBlur: handleBlur,
2058
+ loading,
2059
+ getOptionLabel,
2060
+ getOptionKey: getOptionValue,
2061
+ isOptionEqualToValue: (option, value) => getOptionValue(option) === getOptionValue(value),
2062
+ autoComplete: true,
2063
+ disabled: isDisabled,
2064
+ includeInputInList: true,
2065
+ options,
2066
+ value: selectedOption,
2067
+ filterSelectedOptions: true,
2068
+ filterOptions: (x) => x,
2069
+ onChange: handleChange,
2070
+ onInputChange: handleInputChange,
2071
+ sx: {
2072
+ "&.Mui-disabled": {
2073
+ cursor: "not-allowed !important"
2074
+ },
2075
+ "& .MuiInputBase-root.Mui-disabled": {
2076
+ backgroundColor: theme.palette.action.disabledBackground,
2077
+ cursor: "not-allowed !important"
2078
+ },
2079
+ "&.Mui-disabled .MuiAutocomplete-popupIndicator": {
2080
+ cursor: "not-allowed !important"
2081
+ },
2082
+ "& .MuiOutlinedInput-root.Mui-disabled .MuiOutlinedInput-notchedOutline": {
2083
+ borderColor: error ? "red" : void 0
2084
+ },
2085
+ "& .MuiFilledInput-root.Mui-disabled": {
2086
+ borderColor: error ? "red" : void 0
2087
+ }
2088
+ },
2089
+ noOptionsText: "Type Something...",
2090
+ renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2091
+ _material.TextField,
2092
+ {
2093
+ ...params,
2094
+ label,
2095
+ error: !!error,
2096
+ helperText: error ? error.message : "",
2097
+ placeholder,
2098
+ slotProps: {
2099
+ input: {
2100
+ ...params.InputProps,
2101
+ endAdornment: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _react.Fragment, { children: [
2102
+ loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.CircularProgress, { color: "inherit", size: 20 }) : null,
2103
+ params.InputProps.endAdornment
2104
+ ] })
2105
+ }
2106
+ },
2107
+ variant: variant ? variant : "outlined"
2108
+ }
2109
+ ),
2110
+ renderOption: (renderProps, option) => {
2111
+ const { key, ...optionProps } = renderProps;
2112
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { ...optionProps, children: option[labelField] }, key);
2113
+ }
2114
+ }
2115
+ );
2116
+ };
2117
+ var AsyncSelectElement2 = ({
2118
+ gridProps = {},
2119
+ ...props
2120
+ }) => {
2121
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2122
+ Component11,
2123
+ {
2124
+ ...props
2125
+ }
2126
+ ) });
2127
+ };
2128
+ AsyncSelectElement2.displayName = "AsyncSelectElement";
2129
+
2130
+ // src/wrappers/NumberFieldElement/NumberFieldElement.tsx
2131
+
2132
+
2133
+
2134
+ var Component12 = function NumberFieldElement(props) {
2135
+ const {
2136
+ parseError,
2137
+ name,
2138
+ control,
2139
+ component: TextFieldComponent = _material.TextField,
2140
+ transform,
2141
+ fieldType = "text",
2142
+ // Default to text type
2143
+ defaultValue,
2144
+ label,
2145
+ placeholder,
2146
+ textFieldProps = {},
2147
+ variant,
2148
+ onChange: customOnChange,
2149
+ enableWarnings = process.env.NODE_ENV === "development",
2150
+ maxLength,
2151
+ ...rest
2152
+ } = props;
2153
+ const {
2154
+ type = "number",
2155
+ required,
2156
+ helperText,
2157
+ inputRef,
2158
+ onInput,
2159
+ onBlur,
2160
+ disabled,
2161
+ ...restTextProps
2162
+ } = textFieldProps;
2163
+ const {
2164
+ field,
2165
+ fieldState: { error }
2166
+ } = _reacthookform.useController.call(void 0, {
2167
+ name,
2168
+ control
2169
+ });
2170
+ const { value, onChange } = _chunkQYHJIPSZcjs.useEnhancedTransform.call(void 0,
2171
+ {
2172
+ value: field.value,
2173
+ onChange: field.onChange,
2174
+ transform: transform ? {
2175
+ input: transform.input,
2176
+ output: transform.output
2177
+ } : void 0,
2178
+ fieldType: !transform ? type === "number" ? maxLength && maxLength > 5 ? "text" : "number" : fieldType : void 0,
2179
+ // Auto-detect number type
2180
+ defaultValue,
2181
+ enableWarnings
2182
+ }
2183
+ );
2184
+ const handleInputRef = _material.useForkRef.call(void 0, field.ref, inputRef);
2185
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2186
+ TextFieldComponent,
2187
+ {
2188
+ ...rest,
2189
+ ...restTextProps,
2190
+ name: field.name,
2191
+ value,
2192
+ onChange: (event) => {
2193
+ const input = event.target.value;
2194
+ if (input === "") {
2195
+ field.onChange(null);
2196
+ }
2197
+ onChange(event);
2198
+ if (typeof customOnChange === "function") {
2199
+ customOnChange(event);
2200
+ }
2201
+ },
2202
+ onBlur: (event) => {
2203
+ field.onBlur();
2204
+ if (typeof onBlur === "function") {
2205
+ onBlur(event);
2206
+ }
2207
+ },
2208
+ onInput: (event) => {
2209
+ if (type === "number" && maxLength && event.target.value.length > maxLength) {
2210
+ event.target.value = event.target.value.slice(0, maxLength);
2211
+ }
2212
+ if (typeof onInput === "function") {
2213
+ onInput(event);
2214
+ }
2215
+ },
2216
+ onWheel: (e) => {
2217
+ e.target.blur();
2218
+ },
2219
+ onKeyDown: (e) => {
2220
+ if (["e", "E", "ArrowDown", "ArrowUp"].includes(e.key)) {
2221
+ e.preventDefault();
2222
+ }
2223
+ },
2224
+ disabled,
2225
+ label,
2226
+ placeholder,
2227
+ fullWidth: true,
2228
+ required,
2229
+ type,
2230
+ error: !!error,
2231
+ helperText: error ? parseError ? parseError(error) : error.message : helperText,
2232
+ inputRef: handleInputRef,
2233
+ slotProps: { htmlInput: { maxLength } },
2234
+ variant: variant ? variant : "outlined"
2235
+ }
2236
+ );
2237
+ };
2238
+ var NumberFieldElement2 = ({
2239
+ gridProps = {},
2240
+ ...props
2241
+ }) => {
2242
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component12, { ...props }) });
2243
+ };
2244
+
2245
+ // src/wrappers/OTPInputElement/OTPInputElement.tsx
2246
+
2247
+
2248
+
2249
+ var _muionetimepasswordinput = require('mui-one-time-password-input');
2250
+
2251
+
2252
+ // src/wrappers/OTPInputElement/HelperText.tsx
2253
+ var _FormHelperText = require('@mui/material/FormHelperText'); var _FormHelperText2 = _interopRequireDefault(_FormHelperText);
2254
+
2255
+ function HelperText({
2256
+ sx,
2257
+ helperText,
2258
+ errorMessage,
2259
+ disableGutters,
2260
+ ...other
2261
+ }) {
2262
+ if (errorMessage || helperText) {
2263
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2264
+ _FormHelperText2.default,
2265
+ {
2266
+ error: !!errorMessage,
2267
+ sx: [
2268
+ {
2269
+ mx: disableGutters ? 0 : 1.75
2270
+ },
2271
+ ...Array.isArray(sx) ? sx : [sx]
2272
+ ],
2273
+ ...other,
2274
+ children: errorMessage || helperText
2275
+ }
2276
+ );
2277
+ }
2278
+ return null;
2279
+ }
2280
+
2281
+ // src/wrappers/OTPInputElement/OTPInputElement.tsx
2282
+
2283
+ var Component13 = function OTPInputElement(props) {
2284
+ const {
2285
+ // parseError,
2286
+ name,
2287
+ control,
2288
+ slotProps,
2289
+ helperText,
2290
+ maxSize = 56,
2291
+ placeholder = "-",
2292
+ ...rest
2293
+ } = props;
2294
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2295
+ _reacthookform.Controller,
2296
+ {
2297
+ name,
2298
+ control,
2299
+ render: ({ field, fieldState: { error } }) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2300
+ _material.Box,
2301
+ {
2302
+ ..._optionalChain([slotProps, 'optionalAccess', _25 => _25.wrapper]),
2303
+ sx: [
2304
+ {
2305
+ display: "flex",
2306
+ justifyContent: "center",
2307
+ [`& .${_material.inputBaseClasses.input}`]: {
2308
+ p: 0,
2309
+ height: "auto",
2310
+ aspectRatio: "1/1",
2311
+ maxWidth: maxSize
2312
+ }
2313
+ },
2314
+ ...Array.isArray(_optionalChain([slotProps, 'optionalAccess', _26 => _26.wrapper, 'optionalAccess', _27 => _27.sx])) ? _nullishCoalesce(_optionalChain([slotProps, 'optionalAccess', _28 => _28.wrapper, 'optionalAccess', _29 => _29.sx]), () => ( [])) : [_optionalChain([slotProps, 'optionalAccess', _30 => _30.wrapper, 'optionalAccess', _31 => _31.sx])]
2315
+ ],
2316
+ children: [
2317
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2318
+ _muionetimepasswordinput.MuiOtpInput,
2319
+ {
2320
+ ...field,
2321
+ autoFocus: true,
2322
+ gap: 1.5,
2323
+ length: 4,
2324
+ TextFieldsProps: {
2325
+ placeholder,
2326
+ error: !!error,
2327
+ ..._optionalChain([slotProps, 'optionalAccess', _32 => _32.textfield])
2328
+ },
2329
+ ...rest
2330
+ }
2331
+ ),
2332
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2333
+ HelperText,
2334
+ {
2335
+ ..._optionalChain([slotProps, 'optionalAccess', _33 => _33.helperText]),
2336
+ errorMessage: _optionalChain([error, 'optionalAccess', _34 => _34.message]),
2337
+ helperText
2338
+ }
2339
+ )
2340
+ ]
2341
+ }
2342
+ )
2343
+ }
2344
+ );
2345
+ };
2346
+ var OTPInputElement2 = ({
2347
+ gridProps = {},
2348
+ ...props
2349
+ }) => {
2350
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.Grid, { size: 12, ...gridProps, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Component13, { ...props }) });
2351
+ };
2352
+
2353
+ // src/wrappers/Field/index.ts
2354
+ var Field = {
2355
+ Text: TextFieldElement2,
2356
+ Number: NumberFieldElement2,
2357
+ Checkbox: CheckboxElement2,
2358
+ Date: DatePickerElement,
2359
+ RadioGroup: RadioButtonGroup2,
2360
+ Password: PasswordElement,
2361
+ Time: TimePickerElement2,
2362
+ Select: SelectElement2,
2363
+ SelectMulti: SelectMultiElement2,
2364
+ SelectCascade: SelectCascadeElement2,
2365
+ AsyncSelect: AsyncSelectElement2,
2366
+ AsyncMultiSelect: AsyncSelectMultiElement2,
2367
+ CheckboxGroup: CheckboxGroupElement,
2368
+ OTPInput: OTPInputElement2
2369
+ };
2370
+
2371
+
2372
+
2373
+
2374
+
2375
+
2376
+
2377
+
2378
+
2379
+
2380
+
2381
+
2382
+
2383
+
2384
+
2385
+
2386
+
2387
+
2388
+
2389
+
2390
+
2391
+
2392
+
2393
+
2394
+
2395
+
2396
+
2397
+
2398
+ exports.isValidOption = isValidOption; exports.normalizeOptions = normalizeOptions; exports.AsyncSelectMultiElement = AsyncSelectMultiElement2; exports.CheckboxElement = CheckboxElement2; exports.CheckboxGroupElement = CheckboxGroupElement; exports.readDatePickerValueAsDate = readDatePickerValueAsDate; exports.useDatePickerValue = useDatePickerValue; exports.useDatePickerValidation = useDatePickerValidation; exports.useDatePickerStyles = useDatePickerStyles; exports.DatePickerElementCore = DatePickerElementCore; exports.DatePickerElement = DatePickerElement; exports.isValidDate = isValidDate; exports.isParsableDateString = isParsableDateString; exports.createDateInputTransform = createDateInputTransform; exports.createDateOutputTransform = createDateOutputTransform; exports.createDefaultDatePickerConfig = createDefaultDatePickerConfig; exports.extractErrorMessage = extractErrorMessage; exports.createStableKey = createStableKey; exports.PasswordElement = PasswordElement; exports.RadioButtonGroup = RadioButtonGroup2; exports.SelectCascadeElement = SelectCascadeElement2; exports.SelectElement = SelectElement2; exports.SelectMultiElement = SelectMultiElement2; exports.TextFieldElement = TextFieldElement2; exports.TimePickerElement = TimePickerElement2; exports.Field = Field;
2399
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImQ6XFxQcm9qZWN0c1xcR05XZWJTb2Z0LlVJXFxwYWNrYWdlc1xcdWlcXGRpc3RcXGNodW5rLTNBQlRPQlNaLmNqcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNFO0FBQ0E7QUFDRix3REFBNkI7QUFDN0I7QUFDRTtBQUNGLHdEQUE2QjtBQUM3QjtBQUNBO0FBQ0EsU0FBUyxhQUFhLENBQUMsS0FBSyxFQUFFO0FBQzlCLEVBQUUsT0FBTyxPQUFPLE1BQU0sSUFBSSxTQUFTLEdBQUcsTUFBTSxJQUFJLEtBQUssR0FBRyxRQUFRLEdBQUcsTUFBTSxHQUFHLFFBQVEsR0FBRyxNQUFNLEdBQUcsT0FBTyxLQUFLLENBQUMsTUFBTSxJQUFJLFNBQVMsR0FBRyxDQUFDLE9BQU8sS0FBSyxDQUFDLE1BQU0sSUFBSSxTQUFTLEdBQUcsT0FBTyxLQUFLLENBQUMsTUFBTSxJQUFJLFNBQVMsR0FBRyxPQUFPLEtBQUssQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO0FBQzNPO0FBQ0EsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFO0FBQy9FLEVBQUUsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztBQUNsQyxJQUFJLEtBQUssRUFBRSxNQUFNLGtCQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUUsVUFBRyxJQUFFLENBQUM7QUFDM0MsSUFBSSxLQUFLLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQztBQUM3QixJQUFJLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVE7QUFDckMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0YseUNBQXNCO0FBQ3RCLGtHQUErQztBQUMvQyxrR0FBK0M7QUFDL0M7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QVE7QUFDUixNQUFNLENBQUM7QUFDUCxNQUFNLENBQUMsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0E7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0E7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0E7QUFDQSxRQUFBO0FBQ0E7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0E7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0E7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0E7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0E7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0E7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0E7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQTtBQUNBLFVBQUE7QUFDQSxZQUFBO0FBQ0EsY0FBQTtBQUNBLGNBQUE7QUFDQSxZQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxvQkFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxjQUFBO0FBQ0EsY0FBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLGNBQUE7QUFDQSxjQUFBO0FBQ0EsZ0JBQUE7QUFDQSxnQkFBQTtBQUNBLGdCQUFBO0FBQ0EsY0FBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLHdCQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsMEJBQUE7QUFDQSxZQUFBO0FBQ0EsWUFBQTtBQUNBLGNBQUE7QUFDQSxjQUFBO0FBQ0EsY0FBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxjQUFBO0FBQ0EsY0FBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0E7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSx3QkFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsY0FBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQTtBQUNBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLGNBQUE7QUFDQSxjQUFBO0FBQ0EsZ0JBQUE7QUFDQSxnQkFBQTtBQUNBLGNBQUE7QUFDQSxZQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxJQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsUUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxVQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsRUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsVUFBQTtBQUNBLFlBQUE7QUFDQSxVQUFBO0FBQ0EsVUFBQTtBQUNBLFFBQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLE1BQUE7QUFDQSxJQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBQTtBQUNBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxJQUFBO0FBQ0EsSUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsSUFBQTtBQUNBLElBQUE7QUFDQSxNQUFBO0FBQ0EsTUFBQTtBQUNBLE1BQUE7QUFDQSxRQUFBO0FBQ0EsUUFBQTtBQUNBLFVBQUE7QUFDQSxVQUFBO0FBQ0EsWUFBQTtBQUNBLGNBQUE7QUFDQSxjQUFBO0FBQ0EsY0FBQTtBQUNBLGdCQUFBO0FBQ0EsZ0JBQUE7QUFDQSxnQkFBQTtBQUNBLGdCQUFBO0FBQ0EsY0FBQTtBQUNBLFlBQUE7QUFDQSxZQUFBO0FBQ0EsVUFBQTtBQUNBLFVBQUE7QUFDQSw0QkFBQTtBQUNBLGNBQUE7QUFDQSxjQUFBO0FBQ0EsZ0JBQUE7QUFDQSxnQkFBQTtBQUNBLGdCQUFBO0FBQ0EsZ0JBQUE7QUFDQSxnQkFBQTtBQUNBLGtCQUFBO0FBQ0Esa0JBQUE7QUFDQSxrQkFBQTtBQUNBLGdCQUFBO0FBQ0EsZ0JBQUE7QUFDQSxjQUFBO0FBQ0EsWUFBQTtBQUNBLDRCQUFBO0FBQ0EsY0FBQTtBQUNBLGNBQUE7QUFDQSxnQkFBQTtBQUNBLGdCQUFBO0FBQ0EsZ0JBQUE7QUFDQSxjQUFBO0FBQ0EsWUFBQTtBQUNBLFVBQUE7QUFDQSxRQUFBO0FBQ0EsTUFBQTtBQUNBLElBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0E7QUFDQSxFQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBLEVBQUE7QUFDQSxFQUFBO0FBQ0EsRUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiJEOlxcUHJvamVjdHNcXEdOV2ViU29mdC5VSVxccGFja2FnZXNcXHVpXFxkaXN0XFxjaHVuay0zQUJUT0JTWi5janMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdfQ==