@gnwebsoft/ui 4.0.21 → 4.0.23

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/package.json +1 -1
  2. package/dist/chunk-BWEFHFD4.js +0 -2399
  3. package/dist/chunk-FMN47XRJ.cjs +0 -72
  4. package/dist/chunk-FYU2OIMD.js +0 -15
  5. package/dist/chunk-HDL5E7XD.js +0 -523
  6. package/dist/chunk-LUW7V5GI.cjs +0 -15
  7. package/dist/chunk-PW777IOX.js +0 -140
  8. package/dist/chunk-QYHJIPSZ.cjs +0 -140
  9. package/dist/chunk-RVGPXTBE.js +0 -2535
  10. package/dist/chunk-T5H5X3VR.js +0 -72
  11. package/dist/chunk-TQQUGQTW.cjs +0 -2535
  12. package/dist/chunk-UZ2KNGOF.cjs +0 -523
  13. package/dist/chunk-W5EM6HLW.cjs +0 -2399
  14. package/dist/core/api/ApiClient.d.ts +0 -329
  15. package/dist/core/api/ApiClient.d.ts.map +0 -1
  16. package/dist/core/api/CorrelationIdGenerator.d.ts +0 -52
  17. package/dist/core/api/CorrelationIdGenerator.d.ts.map +0 -1
  18. package/dist/core/api/Errors/ErrorNormalizer.d.ts +0 -106
  19. package/dist/core/api/Errors/ErrorNormalizer.d.ts.map +0 -1
  20. package/dist/core/api/Interceptors/InterceptorManager.d.ts +0 -236
  21. package/dist/core/api/Interceptors/InterceptorManager.d.ts.map +0 -1
  22. package/dist/core/api/Models/FilterModel.d.ts +0 -22
  23. package/dist/core/api/Models/FilterModel.d.ts.map +0 -1
  24. package/dist/core/api/Models/QueryParams.d.ts +0 -13
  25. package/dist/core/api/Models/QueryParams.d.ts.map +0 -1
  26. package/dist/core/api/Models/index.d.ts +0 -3
  27. package/dist/core/api/Models/index.d.ts.map +0 -1
  28. package/dist/core/api/RequestManager.d.ts +0 -142
  29. package/dist/core/api/RequestManager.d.ts.map +0 -1
  30. package/dist/core/api/Retry/RetryHandler.d.ts +0 -100
  31. package/dist/core/api/Retry/RetryHandler.d.ts.map +0 -1
  32. package/dist/core/api/Signals/SignalManager.d.ts +0 -153
  33. package/dist/core/api/Signals/SignalManager.d.ts.map +0 -1
  34. package/dist/core/api/Utils/ResponseParser.d.ts +0 -105
  35. package/dist/core/api/Utils/ResponseParser.d.ts.map +0 -1
  36. package/dist/core/api/Utils/UrlBuilder.d.ts +0 -111
  37. package/dist/core/api/Utils/UrlBuilder.d.ts.map +0 -1
  38. package/dist/core/api/createApiClient.d.ts +0 -247
  39. package/dist/core/api/createApiClient.d.ts.map +0 -1
  40. package/dist/core/api/index.d.ts +0 -7
  41. package/dist/core/api/index.d.ts.map +0 -1
  42. package/dist/core/api/types/ApiError.d.ts +0 -17
  43. package/dist/core/api/types/ApiError.d.ts.map +0 -1
  44. package/dist/core/api/types/ApiResponse.d.ts +0 -76
  45. package/dist/core/api/types/ApiResponse.d.ts.map +0 -1
  46. package/dist/core/api/types/CancelToken.d.ts +0 -15
  47. package/dist/core/api/types/CancelToken.d.ts.map +0 -1
  48. package/dist/core/api/types/ErrorInterceptor.d.ts +0 -3
  49. package/dist/core/api/types/ErrorInterceptor.d.ts.map +0 -1
  50. package/dist/core/api/types/ErrorResponseData.d.ts +0 -68
  51. package/dist/core/api/types/ErrorResponseData.d.ts.map +0 -1
  52. package/dist/core/api/types/RequestConfig.d.ts +0 -21
  53. package/dist/core/api/types/RequestConfig.d.ts.map +0 -1
  54. package/dist/core/api/types/RequestInterceptor.d.ts +0 -3
  55. package/dist/core/api/types/RequestInterceptor.d.ts.map +0 -1
  56. package/dist/core/api/types/ResponseInterceptor.d.ts +0 -3
  57. package/dist/core/api/types/ResponseInterceptor.d.ts.map +0 -1
  58. package/dist/core/api/types/ValidationErrors.d.ts +0 -7
  59. package/dist/core/api/types/ValidationErrors.d.ts.map +0 -1
  60. package/dist/core/api/types/index.d.ts +0 -10
  61. package/dist/core/api/types/index.d.ts.map +0 -1
  62. package/dist/core/api/useValidationErrors.d.ts +0 -11
  63. package/dist/core/api/useValidationErrors.d.ts.map +0 -1
  64. package/dist/core/components/AuthorizedView/AuthorizedView.d.ts +0 -7
  65. package/dist/core/components/AuthorizedView/AuthorizedView.d.ts.map +0 -1
  66. package/dist/core/components/AuthorizedView/index.d.ts +0 -2
  67. package/dist/core/components/AuthorizedView/index.d.ts.map +0 -1
  68. package/dist/core/components/CancelButton/CancelButton.d.ts +0 -4
  69. package/dist/core/components/CancelButton/CancelButton.d.ts.map +0 -1
  70. package/dist/core/components/CancelButton/index.d.ts +0 -2
  71. package/dist/core/components/CancelButton/index.d.ts.map +0 -1
  72. package/dist/core/components/ClearButton/ClearButton.d.ts +0 -63
  73. package/dist/core/components/ClearButton/ClearButton.d.ts.map +0 -1
  74. package/dist/core/components/ClearButton/index.d.ts +0 -2
  75. package/dist/core/components/ClearButton/index.d.ts.map +0 -1
  76. package/dist/core/components/Containers/SimpleContainer.d.ts +0 -10
  77. package/dist/core/components/Containers/SimpleContainer.d.ts.map +0 -1
  78. package/dist/core/components/Containers/index.d.ts +0 -2
  79. package/dist/core/components/Containers/index.d.ts.map +0 -1
  80. package/dist/core/components/FilterButton/FilterButton.d.ts +0 -86
  81. package/dist/core/components/FilterButton/FilterButton.d.ts.map +0 -1
  82. package/dist/core/components/FilterButton/index.d.ts +0 -2
  83. package/dist/core/components/FilterButton/index.d.ts.map +0 -1
  84. package/dist/core/components/FilterDisplay/FilterChip.d.ts +0 -9
  85. package/dist/core/components/FilterDisplay/FilterChip.d.ts.map +0 -1
  86. package/dist/core/components/FilterDisplay/FilterDisplay.d.ts +0 -10
  87. package/dist/core/components/FilterDisplay/FilterDisplay.d.ts.map +0 -1
  88. package/dist/core/components/FilterDisplay/index.d.ts +0 -3
  89. package/dist/core/components/FilterDisplay/index.d.ts.map +0 -1
  90. package/dist/core/components/FilterWrapper/FilterWrapper.d.ts +0 -99
  91. package/dist/core/components/FilterWrapper/FilterWrapper.d.ts.map +0 -1
  92. package/dist/core/components/FilterWrapper/index.d.ts +0 -2
  93. package/dist/core/components/FilterWrapper/index.d.ts.map +0 -1
  94. package/dist/core/components/Footer/Footer.d.ts +0 -3
  95. package/dist/core/components/Footer/Footer.d.ts.map +0 -1
  96. package/dist/core/components/Footer/index.d.ts +0 -2
  97. package/dist/core/components/Footer/index.d.ts.map +0 -1
  98. package/dist/core/components/LabelText/LabelText.d.ts +0 -103
  99. package/dist/core/components/LabelText/LabelText.d.ts.map +0 -1
  100. package/dist/core/components/LabelText/index.d.ts +0 -2
  101. package/dist/core/components/LabelText/index.d.ts.map +0 -1
  102. package/dist/core/components/RenderIf/RenderIf.d.ts +0 -7
  103. package/dist/core/components/RenderIf/RenderIf.d.ts.map +0 -1
  104. package/dist/core/components/RenderIf/index.d.ts +0 -2
  105. package/dist/core/components/RenderIf/index.d.ts.map +0 -1
  106. package/dist/core/components/SectionBox/SectionBox.d.ts +0 -15
  107. package/dist/core/components/SectionBox/SectionBox.d.ts.map +0 -1
  108. package/dist/core/components/SectionBox/index.d.ts +0 -2
  109. package/dist/core/components/SectionBox/index.d.ts.map +0 -1
  110. package/dist/core/components/SimpleTabs/SimpleTabs.d.ts +0 -17
  111. package/dist/core/components/SimpleTabs/SimpleTabs.d.ts.map +0 -1
  112. package/dist/core/components/SimpleTabs/index.d.ts +0 -2
  113. package/dist/core/components/SimpleTabs/index.d.ts.map +0 -1
  114. package/dist/core/components/SubmitButton/SubmitButton.d.ts +0 -6
  115. package/dist/core/components/SubmitButton/SubmitButton.d.ts.map +0 -1
  116. package/dist/core/components/SubmitButton/index.d.ts +0 -2
  117. package/dist/core/components/SubmitButton/index.d.ts.map +0 -1
  118. package/dist/core/components/WithRef/WithRef.d.ts +0 -14
  119. package/dist/core/components/WithRef/WithRef.d.ts.map +0 -1
  120. package/dist/core/components/WithRef/index.d.ts +0 -2
  121. package/dist/core/components/WithRef/index.d.ts.map +0 -1
  122. package/dist/core/components/index.d.ts +0 -15
  123. package/dist/core/components/index.d.ts.map +0 -1
  124. package/dist/core/config.d.ts +0 -24
  125. package/dist/core/config.d.ts.map +0 -1
  126. package/dist/core/hooks/index.d.ts +0 -3
  127. package/dist/core/hooks/index.d.ts.map +0 -1
  128. package/dist/core/hooks/makeQuery.d.ts +0 -12
  129. package/dist/core/hooks/makeQuery.d.ts.map +0 -1
  130. package/dist/core/hooks/useApiClient.d.ts +0 -3
  131. package/dist/core/hooks/useApiClient.d.ts.map +0 -1
  132. package/dist/core/hooks/useFormErrorHandler.d.ts +0 -35
  133. package/dist/core/hooks/useFormErrorHandler.d.ts.map +0 -1
  134. package/dist/core/hooks/useListView.d.ts +0 -20
  135. package/dist/core/hooks/useListView.d.ts.map +0 -1
  136. package/dist/core/index.cjs +0 -123
  137. package/dist/core/index.d.ts +0 -8
  138. package/dist/core/index.d.ts.map +0 -1
  139. package/dist/core/index.js +0 -123
  140. package/dist/core/models.d.ts +0 -5
  141. package/dist/core/models.d.ts.map +0 -1
  142. package/dist/core/types/FilterLabel.d.ts +0 -6
  143. package/dist/core/types/FilterLabel.d.ts.map +0 -1
  144. package/dist/core/types/ListModels.d.ts +0 -18
  145. package/dist/core/types/ListModels.d.ts.map +0 -1
  146. package/dist/core/types/OptionsRequest.d.ts +0 -4
  147. package/dist/core/types/OptionsRequest.d.ts.map +0 -1
  148. package/dist/core/types/index.d.ts +0 -4
  149. package/dist/core/types/index.d.ts.map +0 -1
  150. package/dist/core/utils/CacheUtility/index.d.ts +0 -15
  151. package/dist/core/utils/CacheUtility/index.d.ts.map +0 -1
  152. package/dist/core/utils/calculateFilterCount.d.ts +0 -2
  153. package/dist/core/utils/calculateFilterCount.d.ts.map +0 -1
  154. package/dist/core/utils/format-time.d.ts +0 -79
  155. package/dist/core/utils/format-time.d.ts.map +0 -1
  156. package/dist/core/utils/getEmptyObject.d.ts +0 -7
  157. package/dist/core/utils/getEmptyObject.d.ts.map +0 -1
  158. package/dist/core/utils/index.d.ts +0 -7
  159. package/dist/core/utils/index.d.ts.map +0 -1
  160. package/dist/core/utils/useStableRowCount.d.ts +0 -9
  161. package/dist/core/utils/useStableRowCount.d.ts.map +0 -1
  162. package/dist/core/utils/watch/core.d.ts +0 -22
  163. package/dist/core/utils/watch/core.d.ts.map +0 -1
  164. package/dist/core/utils/watch/index.d.ts +0 -49
  165. package/dist/core/utils/watch/index.d.ts.map +0 -1
  166. package/dist/core/utils/watch/utilities.d.ts +0 -34
  167. package/dist/core/utils/watch/utilities.d.ts.map +0 -1
  168. package/dist/hooks/index.cjs +0 -11
  169. package/dist/hooks/index.d.ts +0 -3
  170. package/dist/hooks/index.d.ts.map +0 -1
  171. package/dist/hooks/index.js +0 -11
  172. package/dist/hooks/useTransform/enhanced.d.ts +0 -133
  173. package/dist/hooks/useTransform/enhanced.d.ts.map +0 -1
  174. package/dist/hooks/useTransform/index.d.ts +0 -93
  175. package/dist/hooks/useTransform/index.d.ts.map +0 -1
  176. package/dist/index.cjs +0 -265
  177. package/dist/index.d.ts +0 -6
  178. package/dist/index.d.ts.map +0 -1
  179. package/dist/index.js +0 -265
  180. package/dist/types/AsyncMultiSelectPayload.d.ts +0 -5
  181. package/dist/types/AsyncMultiSelectPayload.d.ts.map +0 -1
  182. package/dist/types/AsyncSelectPayload.d.ts +0 -5
  183. package/dist/types/AsyncSelectPayload.d.ts.map +0 -1
  184. package/dist/types/OperationResponse.d.ts +0 -5
  185. package/dist/types/OperationResponse.d.ts.map +0 -1
  186. package/dist/types/OptionItem.d.ts +0 -66
  187. package/dist/types/OptionItem.d.ts.map +0 -1
  188. package/dist/types/api.d.ts +0 -127
  189. package/dist/types/api.d.ts.map +0 -1
  190. package/dist/types/events.d.ts +0 -74
  191. package/dist/types/events.d.ts.map +0 -1
  192. package/dist/types/index.cjs +0 -31
  193. package/dist/types/index.d.ts +0 -14
  194. package/dist/types/index.d.ts.map +0 -1
  195. package/dist/types/index.js +0 -31
  196. package/dist/types/utilities.d.ts +0 -458
  197. package/dist/types/utilities.d.ts.map +0 -1
  198. package/dist/utils/flattenObjectKeys.d.ts +0 -63
  199. package/dist/utils/flattenObjectKeys.d.ts.map +0 -1
  200. package/dist/utils/getTimezone.d.ts +0 -4
  201. package/dist/utils/getTimezone.d.ts.map +0 -1
  202. package/dist/utils/handleServerErrors.d.ts +0 -70
  203. package/dist/utils/handleServerErrors.d.ts.map +0 -1
  204. package/dist/utils/index.cjs +0 -55
  205. package/dist/utils/index.d.ts +0 -9
  206. package/dist/utils/index.d.ts.map +0 -1
  207. package/dist/utils/index.js +0 -55
  208. package/dist/utils/propertyExists.d.ts +0 -35
  209. package/dist/utils/propertyExists.d.ts.map +0 -1
  210. package/dist/utils/readValueAsDate.d.ts +0 -4
  211. package/dist/utils/readValueAsDate.d.ts.map +0 -1
  212. package/dist/utils/removeLeadingTrailingSlashes.d.ts +0 -2
  213. package/dist/utils/removeLeadingTrailingSlashes.d.ts.map +0 -1
  214. package/dist/utils/schemaTools.d.ts +0 -209
  215. package/dist/utils/schemaTools.d.ts.map +0 -1
  216. package/dist/utils/typeGuards.d.ts +0 -316
  217. package/dist/utils/typeGuards.d.ts.map +0 -1
  218. package/dist/utils/watch/core.d.ts +0 -22
  219. package/dist/utils/watch/core.d.ts.map +0 -1
  220. package/dist/utils/watch/index.d.ts +0 -49
  221. package/dist/utils/watch/index.d.ts.map +0 -1
  222. package/dist/utils/watch/utilities.d.ts +0 -34
  223. package/dist/utils/watch/utilities.d.ts.map +0 -1
  224. package/dist/wrappers/AsyncMultiSelect/AsyncMultiSelect.d.ts +0 -9
  225. package/dist/wrappers/AsyncMultiSelect/AsyncMultiSelect.d.ts.map +0 -1
  226. package/dist/wrappers/AsyncMultiSelect/index.d.ts +0 -3
  227. package/dist/wrappers/AsyncMultiSelect/index.d.ts.map +0 -1
  228. package/dist/wrappers/AsyncMultiSelect/types.d.ts +0 -19
  229. package/dist/wrappers/AsyncMultiSelect/types.d.ts.map +0 -1
  230. package/dist/wrappers/AsyncSelect/index.d.ts +0 -9
  231. package/dist/wrappers/AsyncSelect/index.d.ts.map +0 -1
  232. package/dist/wrappers/AsyncSelect/types.d.ts +0 -20
  233. package/dist/wrappers/AsyncSelect/types.d.ts.map +0 -1
  234. package/dist/wrappers/Button.d.ts +0 -49
  235. package/dist/wrappers/Button.d.ts.map +0 -1
  236. package/dist/wrappers/CheckboxElement/CheckboxElement.d.ts +0 -102
  237. package/dist/wrappers/CheckboxElement/CheckboxElement.d.ts.map +0 -1
  238. package/dist/wrappers/CheckboxElement/index.d.ts +0 -3
  239. package/dist/wrappers/CheckboxElement/index.d.ts.map +0 -1
  240. package/dist/wrappers/CheckboxElement/types.d.ts +0 -76
  241. package/dist/wrappers/CheckboxElement/types.d.ts.map +0 -1
  242. package/dist/wrappers/CheckboxGroup/CheckboxGroup.d.ts +0 -98
  243. package/dist/wrappers/CheckboxGroup/CheckboxGroup.d.ts.map +0 -1
  244. package/dist/wrappers/CheckboxGroup/EnhancedCheckboxGroup.d.ts +0 -49
  245. package/dist/wrappers/CheckboxGroup/EnhancedCheckboxGroup.d.ts.map +0 -1
  246. package/dist/wrappers/CheckboxGroup/enhanced-types.d.ts +0 -171
  247. package/dist/wrappers/CheckboxGroup/enhanced-types.d.ts.map +0 -1
  248. package/dist/wrappers/CheckboxGroup/index.d.ts +0 -3
  249. package/dist/wrappers/CheckboxGroup/index.d.ts.map +0 -1
  250. package/dist/wrappers/CheckboxGroup/types.d.ts +0 -106
  251. package/dist/wrappers/CheckboxGroup/types.d.ts.map +0 -1
  252. package/dist/wrappers/DatePickerElement/DatePickerElement.d.ts +0 -131
  253. package/dist/wrappers/DatePickerElement/DatePickerElement.d.ts.map +0 -1
  254. package/dist/wrappers/DatePickerElement/DatePickerElementCore.d.ts +0 -57
  255. package/dist/wrappers/DatePickerElement/DatePickerElementCore.d.ts.map +0 -1
  256. package/dist/wrappers/DatePickerElement/hooks/index.d.ts +0 -24
  257. package/dist/wrappers/DatePickerElement/hooks/index.d.ts.map +0 -1
  258. package/dist/wrappers/DatePickerElement/hooks/useDatePickerStyles.d.ts +0 -63
  259. package/dist/wrappers/DatePickerElement/hooks/useDatePickerStyles.d.ts.map +0 -1
  260. package/dist/wrappers/DatePickerElement/hooks/useDatePickerValidation.d.ts +0 -79
  261. package/dist/wrappers/DatePickerElement/hooks/useDatePickerValidation.d.ts.map +0 -1
  262. package/dist/wrappers/DatePickerElement/hooks/useDatePickerValue.d.ts +0 -73
  263. package/dist/wrappers/DatePickerElement/hooks/useDatePickerValue.d.ts.map +0 -1
  264. package/dist/wrappers/DatePickerElement/index.d.ts +0 -47
  265. package/dist/wrappers/DatePickerElement/index.d.ts.map +0 -1
  266. package/dist/wrappers/DatePickerElement/types.d.ts +0 -183
  267. package/dist/wrappers/DatePickerElement/types.d.ts.map +0 -1
  268. package/dist/wrappers/DatePickerElement/utils.d.ts +0 -89
  269. package/dist/wrappers/DatePickerElement/utils.d.ts.map +0 -1
  270. package/dist/wrappers/DateTimePickerElement/index.d.ts +0 -1
  271. package/dist/wrappers/DateTimePickerElement/index.d.ts.map +0 -1
  272. package/dist/wrappers/DateTimePickerElement/types.d.ts +0 -1
  273. package/dist/wrappers/DateTimePickerElement/types.d.ts.map +0 -1
  274. package/dist/wrappers/Field/index.d.ts +0 -42
  275. package/dist/wrappers/Field/index.d.ts.map +0 -1
  276. package/dist/wrappers/NumberFieldElement/NumberFieldElement.d.ts +0 -177
  277. package/dist/wrappers/NumberFieldElement/NumberFieldElement.d.ts.map +0 -1
  278. package/dist/wrappers/NumberFieldElement/index.d.ts +0 -3
  279. package/dist/wrappers/NumberFieldElement/index.d.ts.map +0 -1
  280. package/dist/wrappers/OTPInputElement/HelperText.d.ts +0 -8
  281. package/dist/wrappers/OTPInputElement/HelperText.d.ts.map +0 -1
  282. package/dist/wrappers/OTPInputElement/OTPInputElement.d.ts +0 -32
  283. package/dist/wrappers/OTPInputElement/OTPInputElement.d.ts.map +0 -1
  284. package/dist/wrappers/OTPInputElement/index.d.ts +0 -3
  285. package/dist/wrappers/OTPInputElement/index.d.ts.map +0 -1
  286. package/dist/wrappers/PasswordElement/PasswordElement.d.ts +0 -104
  287. package/dist/wrappers/PasswordElement/PasswordElement.d.ts.map +0 -1
  288. package/dist/wrappers/PasswordElement/index.d.ts +0 -2
  289. package/dist/wrappers/PasswordElement/index.d.ts.map +0 -1
  290. package/dist/wrappers/RadioButtonGroup/RadioButtonGroup.d.ts +0 -38
  291. package/dist/wrappers/RadioButtonGroup/RadioButtonGroup.d.ts.map +0 -1
  292. package/dist/wrappers/RadioButtonGroup/index.d.ts +0 -2
  293. package/dist/wrappers/RadioButtonGroup/index.d.ts.map +0 -1
  294. package/dist/wrappers/SelectCascadeElement/SelectCascadeElement.d.ts +0 -22
  295. package/dist/wrappers/SelectCascadeElement/SelectCascadeElement.d.ts.map +0 -1
  296. package/dist/wrappers/SelectCascadeElement/index.d.ts +0 -2
  297. package/dist/wrappers/SelectCascadeElement/index.d.ts.map +0 -1
  298. package/dist/wrappers/SelectElement/SelectElement.d.ts +0 -93
  299. package/dist/wrappers/SelectElement/SelectElement.d.ts.map +0 -1
  300. package/dist/wrappers/SelectElement/index.d.ts +0 -2
  301. package/dist/wrappers/SelectElement/index.d.ts.map +0 -1
  302. package/dist/wrappers/SelectMultiElement/SelectMultiElement.d.ts +0 -21
  303. package/dist/wrappers/SelectMultiElement/SelectMultiElement.d.ts.map +0 -1
  304. package/dist/wrappers/SelectMultiElement/index.d.ts +0 -2
  305. package/dist/wrappers/SelectMultiElement/index.d.ts.map +0 -1
  306. package/dist/wrappers/TextFieldElement/TextFieldElement.d.ts +0 -179
  307. package/dist/wrappers/TextFieldElement/TextFieldElement.d.ts.map +0 -1
  308. package/dist/wrappers/TextFieldElement/index.d.ts +0 -3
  309. package/dist/wrappers/TextFieldElement/index.d.ts.map +0 -1
  310. package/dist/wrappers/TimePickerElement/TimePickerElement.d.ts +0 -30
  311. package/dist/wrappers/TimePickerElement/TimePickerElement.d.ts.map +0 -1
  312. package/dist/wrappers/TimePickerElement/index.d.ts +0 -2
  313. package/dist/wrappers/TimePickerElement/index.d.ts.map +0 -1
  314. package/dist/wrappers/index.cjs +0 -59
  315. package/dist/wrappers/index.d.ts +0 -15
  316. package/dist/wrappers/index.d.ts.map +0 -1
  317. package/dist/wrappers/index.js +0 -59
  318. package/dist/wrappers/types/common.d.ts +0 -87
  319. package/dist/wrappers/types/common.d.ts.map +0 -1
  320. package/dist/wrappers/types/index.d.ts +0 -8
  321. package/dist/wrappers/types/index.d.ts.map +0 -1
@@ -1,72 +0,0 @@
1
- // src/types/api.ts
2
- function isJsonObject(value) {
3
- return typeof value === "object" && value !== null && !Array.isArray(value) && !(value instanceof FormData);
4
- }
5
- function isJsonArray(value) {
6
- return Array.isArray(value);
7
- }
8
- function isFormData(value) {
9
- return value instanceof FormData;
10
- }
11
- function isRequestBody(value) {
12
- return isJsonObject(value) || isJsonArray(value) || isFormData(value);
13
- }
14
-
15
- // src/types/events.ts
16
- function isInputChangeEvent(value) {
17
- return typeof value === "object" && value !== null && "target" in value && typeof value.target === "object" && value.target !== null && "value" in value.target;
18
- }
19
- function isSelectChangeEvent(value) {
20
- return isInputChangeEvent(value);
21
- }
22
- function isFormChangeEvent(value) {
23
- return isInputChangeEvent(value) || isSelectChangeEvent(value);
24
- }
25
- function extractEventValue(eventOrValue, fallbackValue) {
26
- if (isFormChangeEvent(eventOrValue)) {
27
- return eventOrValue.target.value;
28
- }
29
- if (typeof eventOrValue === "object" && eventOrValue !== null && "target" in eventOrValue && typeof eventOrValue.target === "object" && eventOrValue.target !== null && "value" in eventOrValue.target) {
30
- return eventOrValue.target.value;
31
- }
32
- return eventOrValue ?? fallbackValue;
33
- }
34
- function createEventValueExtractor() {
35
- return (eventOrValue, directValue) => {
36
- if (directValue !== void 0) {
37
- return directValue;
38
- }
39
- return extractEventValue(eventOrValue);
40
- };
41
- }
42
-
43
- // src/types/utilities.ts
44
- function brand(value) {
45
- return value;
46
- }
47
- function typedKeys(obj) {
48
- return Object.keys(obj);
49
- }
50
- function typedEntries(obj) {
51
- return Object.entries(obj);
52
- }
53
- function typedValues(obj) {
54
- return Object.values(obj);
55
- }
56
-
57
- export {
58
- isJsonObject,
59
- isJsonArray,
60
- isFormData,
61
- isRequestBody,
62
- isInputChangeEvent,
63
- isSelectChangeEvent,
64
- isFormChangeEvent,
65
- extractEventValue,
66
- createEventValueExtractor,
67
- brand,
68
- typedKeys,
69
- typedEntries,
70
- typedValues
71
- };
72
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL3R5cGVzL2FwaS50cyIsICIuLi9zcmMvdHlwZXMvZXZlbnRzLnRzIiwgIi4uL3NyYy90eXBlcy91dGlsaXRpZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogVHlwZS1zYWZlIEFQSSByZXF1ZXN0IGFuZCByZXNwb25zZSB1dGlsaXRpZXNcbiAqIEBtb2R1bGUgdHlwZXMvYXBpXG4gKi9cblxuLyoqXG4gKiBIVFRQIG1ldGhvZHMgc3VwcG9ydGVkIGJ5IHRoZSBBUElcbiAqL1xuZXhwb3J0IHR5cGUgSHR0cE1ldGhvZCA9ICdHRVQnIHwgJ1BPU1QnIHwgJ1BVVCcgfCAnREVMRVRFJyB8ICdQQVRDSCc7XG5cbi8qKlxuICogVmFsaWQgSlNPTiBwcmltaXRpdmUgdHlwZXMgdGhhdCBjYW4gYmUgc2VudCBpbiByZXF1ZXN0IGJvZGllc1xuICovXG5leHBvcnQgdHlwZSBKc29uUHJpbWl0aXZlID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGw7XG5cbi8qKlxuICogVmFsaWQgSlNPTiB2YWx1ZXMgKHByaW1pdGl2ZXMsIG9iamVjdHMsIGFycmF5cylcbiAqL1xuZXhwb3J0IHR5cGUgSnNvblZhbHVlID0gSnNvblByaW1pdGl2ZSB8IEpzb25PYmplY3QgfCBKc29uQXJyYXk7XG5cbi8qKlxuICogSlNPTiBvYmplY3Qgd2l0aCBzdHJpbmcga2V5cyBhbmQgSlNPTiB2YWx1ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKc29uT2JqZWN0IHtcbiAgW2tleTogc3RyaW5nXTogSnNvblZhbHVlO1xufVxuXG4vKipcbiAqIEpTT04gYXJyYXkgY29udGFpbmluZyBKU09OIHZhbHVlc1xuICovXG5leHBvcnQgdHlwZSBKc29uQXJyYXkgPSBKc29uVmFsdWVbXTtcblxuLyoqXG4gKiBUeXBlLXNhZmUgcmVxdWVzdCBib2R5IC0gbXVzdCBiZSBKU09OLXNlcmlhbGl6YWJsZVxuICovXG5leHBvcnQgdHlwZSBSZXF1ZXN0Qm9keSA9IEpzb25PYmplY3QgfCBKc29uQXJyYXkgfCBGb3JtRGF0YTtcblxuLyoqXG4gKiBTdGFuZGFyZCBIVFRQIGhlYWRlcnMgd2l0aCBrbm93biBoZWFkZXIgbmFtZXNcbiAqL1xuZXhwb3J0IHR5cGUgSHR0cEhlYWRlcnMgPSBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIG1ha2luZyBIVFRQIHJlcXVlc3RzIChiYXNlZCBvbiBmZXRjaCBBUEkpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdE9wdGlvbnMge1xuICAvKipcbiAgICogSFRUUCBtZXRob2QgZm9yIHRoZSByZXF1ZXN0XG4gICAqL1xuICBtZXRob2Q6IEh0dHBNZXRob2Q7XG4gIC8qKlxuICAgKiBSZXF1ZXN0IGhlYWRlcnNcbiAgICovXG4gIGhlYWRlcnM/OiBIdHRwSGVhZGVycztcbiAgLyoqXG4gICAqIFJlcXVlc3QgYm9keSAoc3RyaW5nIGZvciBKU09OLCBGb3JtRGF0YSBmb3IgZmlsZSB1cGxvYWRzKVxuICAgKi9cbiAgYm9keT86IHN0cmluZyB8IEZvcm1EYXRhO1xuICAvKipcbiAgICogUmVxdWVzdCBjcmVkZW50aWFscyBtb2RlXG4gICAqL1xuICBjcmVkZW50aWFscz86IFJlcXVlc3RDcmVkZW50aWFscztcbiAgLyoqXG4gICAqIFJlcXVlc3QgbW9kZSAoY29ycywgbm8tY29ycywgc2FtZS1vcmlnaW4pXG4gICAqL1xuICBtb2RlPzogUmVxdWVzdE1vZGU7XG4gIC8qKlxuICAgKiBDYWNoZSBtb2RlIGZvciB0aGUgcmVxdWVzdFxuICAgKi9cbiAgY2FjaGU/OiBSZXF1ZXN0Q2FjaGU7XG4gIC8qKlxuICAgKiBSZWRpcmVjdCBtb2RlIGZvciB0aGUgcmVxdWVzdFxuICAgKi9cbiAgcmVkaXJlY3Q/OiBSZXF1ZXN0UmVkaXJlY3Q7XG4gIC8qKlxuICAgKiBSZWZlcnJlciBwb2xpY3kgZm9yIHRoZSByZXF1ZXN0XG4gICAqL1xuICByZWZlcnJlclBvbGljeT86IFJlZmVycmVyUG9saWN5O1xuICAvKipcbiAgICogQWJvcnRTaWduYWwgZm9yIHJlcXVlc3QgY2FuY2VsbGF0aW9uXG4gICAqL1xuICBzaWduYWw/OiBBYm9ydFNpZ25hbDtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIEFQSSBjYWxsc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaUNhbGxPcHRpb25zIHtcbiAgLyoqXG4gICAqIEN1c3RvbSBoZWFkZXJzIHRvIGluY2x1ZGUgaW4gdGhlIHJlcXVlc3RcbiAgICovXG4gIGhlYWRlcnM/OiBIdHRwSGVhZGVycztcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW5jbHVkZSBhdXRoZW50aWNhdGlvbiB0b2tlblxuICAgKiBAZGVmYXVsdFZhbHVlIHRydWVcbiAgICovXG4gIGluY2x1ZGVBdXRoPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFib3J0U2lnbmFsIGZvciByZXF1ZXN0IGNhbmNlbGxhdGlvblxuICAgKi9cbiAgc2lnbmFsPzogQWJvcnRTaWduYWw7XG4gIC8qKlxuICAgKiBDdXN0b20gYmFzZSBVUkwgKG92ZXJyaWRlcyBkZWZhdWx0KVxuICAgKi9cbiAgYmFzZVVybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBmZXRjaCBvcGVyYXRpb25zIHdpdGggYW55IGFkZGl0aW9uYWwgcGFyYW1ldGVyc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEZldGNoT3B0aW9ucyBleHRlbmRzIE9taXQ8UmVxdWVzdEluaXQsICdib2R5JyB8ICdoZWFkZXJzJz4ge1xuICAvKipcbiAgICogUmVxdWVzdCBoZWFkZXJzXG4gICAqL1xuICBoZWFkZXJzPzogSHR0cEhlYWRlcnM7XG4gIC8qKlxuICAgKiBSZXF1ZXN0IGJvZHlcbiAgICovXG4gIGJvZHk/OiBSZXF1ZXN0Qm9keTtcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgdmFsdWUgaXMgYSB2YWxpZCBKU09OIG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNKc29uT2JqZWN0KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgSnNvbk9iamVjdCB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgIUFycmF5LmlzQXJyYXkodmFsdWUpICYmXG4gICAgISh2YWx1ZSBpbnN0YW5jZW9mIEZvcm1EYXRhKVxuICApO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSB2YWx1ZSBpcyBhIHZhbGlkIEpTT04gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzSnNvbkFycmF5KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgSnNvbkFycmF5IHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpO1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSB2YWx1ZSBpcyBGb3JtRGF0YVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtRGF0YSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIEZvcm1EYXRhIHtcbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRm9ybURhdGE7XG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHZhbHVlIGlzIGEgdmFsaWQgcmVxdWVzdCBib2R5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1JlcXVlc3RCb2R5KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVxdWVzdEJvZHkge1xuICByZXR1cm4gaXNKc29uT2JqZWN0KHZhbHVlKSB8fCBpc0pzb25BcnJheSh2YWx1ZSkgfHwgaXNGb3JtRGF0YSh2YWx1ZSk7XG59XG4iLCAiLyoqXG4gKiBUeXBlLXNhZmUgRE9NIGV2ZW50IGFuZCBoYW5kbGVyIHV0aWxpdGllcyBmb3IgZm9ybSB0cmFuc2Zvcm1hdGlvbnNcbiAqIEBtb2R1bGUgdHlwZXMvZXZlbnRzXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBDaGFuZ2VFdmVudCwgU3ludGhldGljRXZlbnQgfSBmcm9tICdyZWFjdCc7XG5cbi8qKlxuICogSFRNTCBpbnB1dCBlbGVtZW50cyB0aGF0IHN1cHBvcnQgdGhlIG9uQ2hhbmdlIGV2ZW50IHdpdGggYSB2YWx1ZVxuICovXG5leHBvcnQgdHlwZSBJbnB1dEVsZW1lbnQgPSBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudDtcblxuLyoqXG4gKiBIVE1MIHNlbGVjdCBlbGVtZW50XG4gKi9cbmV4cG9ydCB0eXBlIEh0bWxTZWxlY3RFbGVtZW50ID0gSFRNTFNlbGVjdEVsZW1lbnQ7XG5cbi8qKlxuICogU3RhbmRhcmQgUmVhY3QgY2hhbmdlIGV2ZW50IGZvciBpbnB1dC90ZXh0YXJlYSBlbGVtZW50c1xuICovXG5leHBvcnQgdHlwZSBJbnB1dENoYW5nZUV2ZW50ID0gQ2hhbmdlRXZlbnQ8SW5wdXRFbGVtZW50PjtcblxuLyoqXG4gKiBTdGFuZGFyZCBSZWFjdCBjaGFuZ2UgZXZlbnQgZm9yIHNlbGVjdCBlbGVtZW50c1xuICovXG5leHBvcnQgdHlwZSBTZWxlY3RDaGFuZ2VFdmVudCA9IENoYW5nZUV2ZW50PEh0bWxTZWxlY3RFbGVtZW50PjtcblxuLyoqXG4gKiBVbmlvbiBvZiBhbGwgc3RhbmRhcmQgZm9ybSBjaGFuZ2UgZXZlbnRzXG4gKi9cbmV4cG9ydCB0eXBlIEZvcm1DaGFuZ2VFdmVudCA9IElucHV0Q2hhbmdlRXZlbnQgfCBTZWxlY3RDaGFuZ2VFdmVudDtcblxuLyoqXG4gKiBHZW5lcmljIHN5bnRoZXRpYyBldmVudCBmcm9tIFJlYWN0XG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNTeW50aGV0aWNFdmVudCA9IFN5bnRoZXRpY0V2ZW50PEVsZW1lbnQ+O1xuXG4vKipcbiAqIFZhbHVlIGV4dHJhY3RlZCBmcm9tIGFuIGV2ZW50IG9yIHBhc3NlZCBkaXJlY3RseVxuICogVGhpcyBjb3ZlcnMgTVVJJ3MgcGF0dGVybiBvZiAoZXZlbnQsIHZhbHVlKSBjYWxsYmFja3NcbiAqL1xuZXhwb3J0IHR5cGUgRXZlbnRPclZhbHVlPFRWYWx1ZSA9IHVua25vd24+ID1cbiAgfCBUVmFsdWVcbiAgfCBJbnB1dENoYW5nZUV2ZW50XG4gIHwgU2VsZWN0Q2hhbmdlRXZlbnRcbiAgfCBHZW5lcmljU3ludGhldGljRXZlbnQ7XG5cbi8qKlxuICogVHJhbnNmb3JtIG91dHB1dCBoYW5kbGVyIHRoYXQgYWNjZXB0cyB2YXJpb3VzIGV2ZW50IHBhdHRlcm5zXG4gKiBTdXBwb3J0czpcbiAqIC0gU3RhbmRhcmQgb25DaGFuZ2U6IChldmVudDogQ2hhbmdlRXZlbnQpID0+IHZvaWRcbiAqIC0gTVVJIG9uQ2hhbmdlOiAoZXZlbnQ6IENoYW5nZUV2ZW50LCB2YWx1ZTogVCkgPT4gdm9pZFxuICogLSBEaXJlY3QgdmFsdWU6ICh2YWx1ZTogVCkgPT4gdm9pZFxuICovXG5leHBvcnQgdHlwZSBUcmFuc2Zvcm1PdXRwdXRIYW5kbGVyPFRWYWx1ZSA9IHVua25vd24+ID0gKFxuICBldmVudE9yVmFsdWU6IEV2ZW50T3JWYWx1ZTxUVmFsdWU+LFxuICB2YWx1ZT86IFRWYWx1ZVxuKSA9PiBUVmFsdWU7XG5cbi8qKlxuICogVHJhbnNmb3JtIGlucHV0IGhhbmRsZXIgdGhhdCBjb252ZXJ0cyBhIHZhbHVlIHRvIGRpc3BsYXkgZm9ybWF0XG4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zZm9ybUlucHV0SGFuZGxlcjxUSW5wdXQgPSB1bmtub3duLCBUT3V0cHV0ID0gdW5rbm93bj4gPSAoXG4gIHZhbHVlOiBUSW5wdXRcbikgPT4gVE91dHB1dDtcblxuLyoqXG4gKiBHZW5lcmljIGV2ZW50IGhhbmRsZXIgdGhhdCBhY2NlcHRzIHJlc3QgcGFyYW1ldGVyc1xuICogVXNlZCBmb3IgZmxleGliaWxpdHkgaW4gZXZlbnQgaGFuZGxpbmdcbiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJpY0V2ZW50SGFuZGxlcjxUUmV0dXJuID0gdm9pZD4gPSAoXG4gIC4uLmFyZ3M6IHVua25vd25bXVxuKSA9PiBUUmV0dXJuO1xuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYSB2YWx1ZSBpcyBhbiBJbnB1dENoYW5nZUV2ZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0lucHV0Q2hhbmdlRXZlbnQodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBJbnB1dENoYW5nZUV2ZW50IHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAndGFyZ2V0JyBpbiB2YWx1ZSAmJlxuICAgIHR5cGVvZiAodmFsdWUgYXMgeyB0YXJnZXQ6IHVua25vd24gfSkudGFyZ2V0ID09PSAnb2JqZWN0JyAmJlxuICAgICh2YWx1ZSBhcyB7IHRhcmdldDogdW5rbm93biB9KS50YXJnZXQgIT09IG51bGwgJiZcbiAgICAndmFsdWUnIGluICh2YWx1ZSBhcyB7IHRhcmdldDogeyB2YWx1ZT86IHVua25vd24gfSB9KS50YXJnZXRcbiAgKTtcbn1cblxuLyoqXG4gKiBUeXBlIGd1YXJkIHRvIGNoZWNrIGlmIGEgdmFsdWUgaXMgYSBTZWxlY3RDaGFuZ2VFdmVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RDaGFuZ2VFdmVudChcbiAgdmFsdWU6IHVua25vd25cbik6IHZhbHVlIGlzIFNlbGVjdENoYW5nZUV2ZW50IHtcbiAgcmV0dXJuIGlzSW5wdXRDaGFuZ2VFdmVudCh2YWx1ZSk7IC8vIFNhbWUgc3RydWN0dXJlLCBkaWZmZXJlbnQgZWxlbWVudCB0eXBlXG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHZhbHVlIGlzIGFueSBmb3JtIGNoYW5nZSBldmVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGb3JtQ2hhbmdlRXZlbnQodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBGb3JtQ2hhbmdlRXZlbnQge1xuICByZXR1cm4gaXNJbnB1dENoYW5nZUV2ZW50KHZhbHVlKSB8fCBpc1NlbGVjdENoYW5nZUV2ZW50KHZhbHVlKTtcbn1cblxuLyoqXG4gKiBFeHRyYWN0IHZhbHVlIGZyb20gZXZlbnQgb3IgcmV0dXJuIHRoZSB2YWx1ZSBkaXJlY3RseVxuICogSGFuZGxlcyB0aGUgY29tbW9uIHBhdHRlcm46IHZhbHVlID8/IGV2ZW50Py50YXJnZXQ/LnZhbHVlID8/IGV2ZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0RXZlbnRWYWx1ZTxUVmFsdWUgPSB1bmtub3duPihcbiAgZXZlbnRPclZhbHVlOiBFdmVudE9yVmFsdWU8VFZhbHVlPixcbiAgZmFsbGJhY2tWYWx1ZT86IFRWYWx1ZVxuKTogVFZhbHVlIHtcbiAgLy8gSWYgaXQncyBhIGZvcm0gY2hhbmdlIGV2ZW50LCBleHRyYWN0IHRoZSB0YXJnZXQgdmFsdWVcbiAgaWYgKGlzRm9ybUNoYW5nZUV2ZW50KGV2ZW50T3JWYWx1ZSkpIHtcbiAgICByZXR1cm4gZXZlbnRPclZhbHVlLnRhcmdldC52YWx1ZSBhcyBUVmFsdWU7XG4gIH1cblxuICAvLyBJZiBpdCBoYXMgYSB0YXJnZXQudmFsdWUgKGJ1dCBkaWRuJ3QgbWF0Y2ggYWJvdmUgZ3VhcmRzKSwgdHJ5IHRvIGV4dHJhY3QgaXRcbiAgaWYgKFxuICAgIHR5cGVvZiBldmVudE9yVmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgZXZlbnRPclZhbHVlICE9PSBudWxsICYmXG4gICAgJ3RhcmdldCcgaW4gZXZlbnRPclZhbHVlICYmXG4gICAgdHlwZW9mIGV2ZW50T3JWYWx1ZS50YXJnZXQgPT09ICdvYmplY3QnICYmXG4gICAgZXZlbnRPclZhbHVlLnRhcmdldCAhPT0gbnVsbCAmJlxuICAgICd2YWx1ZScgaW4gZXZlbnRPclZhbHVlLnRhcmdldFxuICApIHtcbiAgICByZXR1cm4gKGV2ZW50T3JWYWx1ZS50YXJnZXQgYXMgeyB2YWx1ZTogVFZhbHVlIH0pLnZhbHVlO1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB0cmVhdCBpdCBhcyB0aGUgdmFsdWUgaXRzZWxmXG4gIHJldHVybiAoZXZlbnRPclZhbHVlID8/IGZhbGxiYWNrVmFsdWUpIGFzIFRWYWx1ZTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBzYWZlIGV2ZW50IHZhbHVlIGV4dHJhY3RvciB3aXRoIHR5cGUgbmFycm93aW5nXG4gKiBVc2VmdWwgZm9yIE1VSSBjb21wb25lbnRzIHRoYXQgcGFzcyAoZXZlbnQsIHZhbHVlKSBwYXR0ZXJuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFdmVudFZhbHVlRXh0cmFjdG9yPFRWYWx1ZSA9IHVua25vd24+KCkge1xuICByZXR1cm4gKGV2ZW50T3JWYWx1ZTogRXZlbnRPclZhbHVlPFRWYWx1ZT4sIGRpcmVjdFZhbHVlPzogVFZhbHVlKTogVFZhbHVlID0+IHtcbiAgICAvLyBJZiBhIGRpcmVjdCB2YWx1ZSBpcyBwcm92aWRlZCAoTVVJIHBhdHRlcm4pLCB1c2UgaXRcbiAgICBpZiAoZGlyZWN0VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGRpcmVjdFZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBleHRyYWN0RXZlbnRWYWx1ZShldmVudE9yVmFsdWUpO1xuICB9O1xufVxuIiwgIi8qKlxuICogVXRpbGl0eSB0eXBlcyBhbmQgdHlwZSBoZWxwZXJzIGZvciBlbmhhbmNlZCB0eXBlIHNhZmV0eVxuICogXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqL1xuXG4vKipcbiAqIE1ha2VzIGFsbCBwcm9wZXJ0aWVzIG9mIFQgcmVxdWlyZWQgYW5kIG5vbi1udWxsYWJsZVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZD86IHN0cmluZztcbiAqICAgbmFtZT86IHN0cmluZyB8IG51bGw7XG4gKiB9XG4gKiBcbiAqIHR5cGUgUmVxdWlyZWRVc2VyID0gRGVlcFJlcXVpcmVkPFVzZXI+O1xuICogLy8geyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgRGVlcFJlcXVpcmVkPFQ+ID0ge1xuICBbUCBpbiBrZXlvZiBUXS0/OiBOb25OdWxsYWJsZTxUW1BdPjtcbn07XG5cbi8qKlxuICogTWFrZXMgYWxsIHByb3BlcnRpZXMgb2YgVCBvcHRpb25hbFxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZDogc3RyaW5nO1xuICogICBuYW1lOiBzdHJpbmc7XG4gKiB9XG4gKiBcbiAqIHR5cGUgUGFydGlhbFVzZXIgPSBEZWVwUGFydGlhbDxVc2VyPjtcbiAqIC8vIHsgaWQ/OiBzdHJpbmc7IG5hbWU/OiBzdHJpbmcgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgRGVlcFBhcnRpYWw8VD4gPSB7XG4gIFtQIGluIGtleW9mIFRdPzogVFtQXSBleHRlbmRzIG9iamVjdFxuICAgID8gRGVlcFBhcnRpYWw8VFtQXT5cbiAgICA6IFRbUF07XG59O1xuXG4vKipcbiAqIE1ha2VzIGFsbCBwcm9wZXJ0aWVzIG9mIFQgcmVhZG9ubHkgZGVlcGx5XG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIHByb2ZpbGU6IHtcbiAqICAgICBuYW1lOiBzdHJpbmc7XG4gKiAgIH07XG4gKiB9XG4gKiBcbiAqIHR5cGUgUmVhZG9ubHlVc2VyID0gRGVlcFJlYWRvbmx5PFVzZXI+O1xuICogLy8geyByZWFkb25seSBpZDogc3RyaW5nOyByZWFkb25seSBwcm9maWxlOiB7IHJlYWRvbmx5IG5hbWU6IHN0cmluZyB9IH1cbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIERlZXBSZWFkb25seTxUPiA9IHtcbiAgcmVhZG9ubHkgW1AgaW4ga2V5b2YgVF06IFRbUF0gZXh0ZW5kcyBvYmplY3RcbiAgICA/IERlZXBSZWFkb25seTxUW1BdPlxuICAgIDogVFtQXTtcbn07XG5cbi8qKlxuICogRXh0cmFjdHMga2V5cyBmcm9tIFQgdGhhdCBhcmUgbm90IHVuZGVmaW5lZFxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZDogc3RyaW5nO1xuICogICBuYW1lPzogc3RyaW5nO1xuICogICBlbWFpbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICogfVxuICogXG4gKiB0eXBlIFJlcXVpcmVkS2V5cyA9IFJlcXVpcmVkS2V5czxVc2VyPjtcbiAqIC8vICdpZCdcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFJlcXVpcmVkS2V5czxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVF0tPzogdW5kZWZpbmVkIGV4dGVuZHMgVFtLXSA/IG5ldmVyIDogSztcbn1ba2V5b2YgVF07XG5cbi8qKlxuICogRXh0cmFjdHMga2V5cyBmcm9tIFQgdGhhdCBjYW4gYmUgdW5kZWZpbmVkXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIG5hbWU/OiBzdHJpbmc7XG4gKiAgIGVtYWlsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gKiB9XG4gKiBcbiAqIHR5cGUgT3B0S2V5cyA9IE9wdGlvbmFsS2V5czxVc2VyPjtcbiAqIC8vICduYW1lJyB8ICdlbWFpbCdcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIE9wdGlvbmFsS2V5czxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVF0tPzogdW5kZWZpbmVkIGV4dGVuZHMgVFtLXSA/IEsgOiBuZXZlcjtcbn1ba2V5b2YgVF07XG5cbi8qKlxuICogTWFrZXMgc3BlY2lmaWVkIGtleXMgSyBvZiB0eXBlIFQgcmVxdWlyZWRcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqICAgaWQ/OiBzdHJpbmc7XG4gKiAgIG5hbWU/OiBzdHJpbmc7XG4gKiAgIGVtYWlsPzogc3RyaW5nO1xuICogfVxuICogXG4gKiB0eXBlIFVzZXJXaXRoSWQgPSBSZXF1aXJlS2V5czxVc2VyLCAnaWQnIHwgJ2VtYWlsJz47XG4gKiAvLyB7IGlkOiBzdHJpbmc7IG5hbWU/OiBzdHJpbmc7IGVtYWlsOiBzdHJpbmcgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgUmVxdWlyZUtleXM8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmXG4gIFJlcXVpcmVkPFBpY2s8VCwgSz4+O1xuXG4vKipcbiAqIE1ha2VzIHNwZWNpZmllZCBrZXlzIEsgb2YgdHlwZSBUIG9wdGlvbmFsXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIG5hbWU6IHN0cmluZztcbiAqICAgZW1haWw6IHN0cmluZztcbiAqIH1cbiAqIFxuICogdHlwZSBVc2VyVXBkYXRlID0gUGFydGlhbEtleXM8VXNlciwgJ25hbWUnIHwgJ2VtYWlsJz47XG4gKiAvLyB7IGlkOiBzdHJpbmc7IG5hbWU/OiBzdHJpbmc7IGVtYWlsPzogc3RyaW5nIH1cbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFBhcnRpYWxLZXlzPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJlxuICBQYXJ0aWFsPFBpY2s8VCwgSz4+O1xuXG4vKipcbiAqIEV4Y2x1ZGVzIGtleXMgSyBmcm9tIHR5cGUgVFxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZDogc3RyaW5nO1xuICogICBwYXNzd29yZDogc3RyaW5nO1xuICogICBlbWFpbDogc3RyaW5nO1xuICogfVxuICogXG4gKiB0eXBlIFB1YmxpY1VzZXIgPSBFeGNsdWRlS2V5czxVc2VyLCAncGFzc3dvcmQnPjtcbiAqIC8vIHsgaWQ6IHN0cmluZzsgZW1haWw6IHN0cmluZyB9XG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBFeGNsdWRlS2V5czxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+O1xuXG4vKipcbiAqIFBpY2tzIG9ubHkga2V5cyBLIGZyb20gdHlwZSBUXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiAgIGlkOiBzdHJpbmc7XG4gKiAgIG5hbWU6IHN0cmluZztcbiAqICAgZW1haWw6IHN0cmluZztcbiAqIH1cbiAqIFxuICogdHlwZSBVc2VyQ3JlZGVudGlhbHMgPSBQaWNrS2V5czxVc2VyLCAnZW1haWwnPjtcbiAqIC8vIHsgZW1haWw6IHN0cmluZyB9XG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBQaWNrS2V5czxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBQaWNrPFQsIEs+O1xuXG4vKipcbiAqIEV4dHJhY3RzIHRoZSB2YWx1ZSB0eXBlIGZyb20gYW4gYXJyYXkgdHlwZVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBTdHJpbmdBcnJheSA9IHN0cmluZ1tdO1xuICogdHlwZSBJdGVtID0gQXJyYXlFbGVtZW50PFN0cmluZ0FycmF5PjtcbiAqIC8vIHN0cmluZ1xuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgQXJyYXlFbGVtZW50PFQ+ID0gVCBleHRlbmRzIFJlYWRvbmx5QXJyYXk8aW5mZXIgRT4gPyBFIDogbmV2ZXI7XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIHJldHVybiB0eXBlIG9mIGFuIGFzeW5jIGZ1bmN0aW9uXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhc3luYyBmdW5jdGlvbiBnZXRVc2VyKCk6IFByb21pc2U8VXNlcj4ge1xuICogICByZXR1cm4geyBpZDogJzEnLCBuYW1lOiAnSm9obicgfTtcbiAqIH1cbiAqIFxuICogdHlwZSBVc2VyID0gQXN5bmNSZXR1cm5UeXBlPHR5cGVvZiBnZXRVc2VyPjtcbiAqIC8vIFVzZXJcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIEFzeW5jUmV0dXJuVHlwZTxUIGV4dGVuZHMgKC4uLmFyZ3M6IHJlYWRvbmx5IHVua25vd25bXSkgPT4gUHJvbWlzZTx1bmtub3duPj4gPVxuICBUIGV4dGVuZHMgKC4uLmFyZ3M6IHJlYWRvbmx5IHVua25vd25bXSkgPT4gUHJvbWlzZTxpbmZlciBSPiA/IFIgOiBuZXZlcjtcblxuLyoqXG4gKiBNYWtlcyBhIHR5cGUgbnVsbGFibGUgKGFkZHMgbnVsbClcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHR5cGUgVXNlcm5hbWUgPSBzdHJpbmc7XG4gKiB0eXBlIE51bGxhYmxlVXNlcm5hbWUgPSBOdWxsYWJsZTxVc2VybmFtZT47XG4gKiAvLyBzdHJpbmcgfCBudWxsXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBOdWxsYWJsZTxUPiA9IFQgfCBudWxsO1xuXG4vKipcbiAqIE1ha2VzIGEgdHlwZSBvcHRpb25hbCAoYWRkcyB1bmRlZmluZWQpXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiB0eXBlIFVzZXJuYW1lID0gc3RyaW5nO1xuICogdHlwZSBPcHRpb25hbFVzZXJuYW1lID0gTWF5YmU8VXNlcm5hbWU+O1xuICogLy8gc3RyaW5nIHwgdW5kZWZpbmVkXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBNYXliZTxUPiA9IFQgfCB1bmRlZmluZWQ7XG5cbi8qKlxuICogTWFrZXMgYSB0eXBlIG51bGxpc2ggKGFkZHMgbnVsbCBhbmQgdW5kZWZpbmVkKVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBVc2VybmFtZSA9IHN0cmluZztcbiAqIHR5cGUgTnVsbGlzaFVzZXJuYW1lID0gTnVsbGlzaDxVc2VybmFtZT47XG4gKiAvLyBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBOdWxsaXNoPFQ+ID0gVCB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHVuaW9uIG9mIGFsbCBwb3NzaWJsZSBwYXRocyB0aHJvdWdoIGFuIG9iamVjdCB0eXBlXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiAgIHByb2ZpbGU6IHtcbiAqICAgICBuYW1lOiBzdHJpbmc7XG4gKiAgICAgYWRkcmVzczoge1xuICogICAgICAgY2l0eTogc3RyaW5nO1xuICogICAgIH07XG4gKiAgIH07XG4gKiB9XG4gKiBcbiAqIHR5cGUgUGF0aHMgPSBPYmplY3RQYXRoczxVc2VyPjtcbiAqIC8vICdwcm9maWxlJyB8ICdwcm9maWxlLm5hbWUnIHwgJ3Byb2ZpbGUuYWRkcmVzcycgfCAncHJvZmlsZS5hZGRyZXNzLmNpdHknXG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBPYmplY3RQYXRoczxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVCAmIHN0cmluZ106IFRbS10gZXh0ZW5kcyBvYmplY3RcbiAgICA/IEsgfCBgJHtLfS4ke09iamVjdFBhdGhzPFRbS10+fWBcbiAgICA6IEs7XG59W2tleW9mIFQgJiBzdHJpbmddO1xuXG4vKipcbiAqIE1lcmdlcyB0d28gdHlwZXMsIHdpdGggcHJvcGVydGllcyBmcm9tIEIgb3ZlcnJpZGluZyB0aG9zZSBpbiBBXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbnRlcmZhY2UgQSB7XG4gKiAgIGlkOiBudW1iZXI7XG4gKiAgIG5hbWU6IHN0cmluZztcbiAqIH1cbiAqIFxuICogaW50ZXJmYWNlIEIge1xuICogICBpZDogc3RyaW5nO1xuICogICBlbWFpbDogc3RyaW5nO1xuICogfVxuICogXG4gKiB0eXBlIE1lcmdlZCA9IE1lcmdlPEEsIEI+O1xuICogLy8geyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmc7IGVtYWlsOiBzdHJpbmcgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgTWVyZ2U8QSwgQj4gPSBPbWl0PEEsIGtleW9mIEI+ICYgQjtcblxuLyoqXG4gKiBFbnN1cmVzIGEgdHlwZSBpcyBzZXJpYWxpemFibGUgKG5vIGZ1bmN0aW9ucywgc3ltYm9scywgdW5kZWZpbmVkKVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIERhdGEge1xuICogICBpZDogc3RyaW5nO1xuICogICBjYWxsYmFjazogKCkgPT4gdm9pZDtcbiAqICAgdmFsdWU6IG51bWJlcjtcbiAqIH1cbiAqIFxuICogdHlwZSBTZXJpYWxpemFibGVEYXRhID0gU2VyaWFsaXphYmxlPERhdGE+O1xuICogLy8geyBpZDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH1cbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFNlcmlhbGl6YWJsZTxUPiA9IHtcbiAgW0sgaW4ga2V5b2YgVCBhcyBUW0tdIGV4dGVuZHMgKC4uLmFyZ3M6IHJlYWRvbmx5IHVua25vd25bXSkgPT4gdW5rbm93blxuICAgID8gbmV2ZXJcbiAgICA6IFRbS10gZXh0ZW5kcyBzeW1ib2xcbiAgICA/IG5ldmVyXG4gICAgOiBUW0tdIGV4dGVuZHMgdW5kZWZpbmVkXG4gICAgPyBuZXZlclxuICAgIDogS106IFRbS10gZXh0ZW5kcyBvYmplY3QgPyBTZXJpYWxpemFibGU8VFtLXT4gOiBUW0tdO1xufTtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIHVuaW9uIHR5cGUgdG8gYW4gaW50ZXJzZWN0aW9uIHR5cGVcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHR5cGUgVW5pb24gPSB7IGE6IHN0cmluZyB9IHwgeyBiOiBudW1iZXIgfTtcbiAqIHR5cGUgSW50ZXJzZWN0aW9uID0gVW5pb25Ub0ludGVyc2VjdGlvbjxVbmlvbj47XG4gKiAvLyB7IGE6IHN0cmluZyB9ICYgeyBiOiBudW1iZXIgfVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgVW5pb25Ub0ludGVyc2VjdGlvbjxVPiA9IChcbiAgVSBleHRlbmRzIHVua25vd24gPyAoazogVSkgPT4gdm9pZCA6IG5ldmVyXG4pIGV4dGVuZHMgKGs6IGluZmVyIEkpID0+IHZvaWRcbiAgPyBJXG4gIDogbmV2ZXI7XG5cbi8qKlxuICogR2V0cyBhbGwga2V5cyBvZiBUIHdob3NlIHZhbHVlcyBleHRlbmQgVlxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW50ZXJmYWNlIFVzZXIge1xuICogICBpZDogc3RyaW5nO1xuICogICBhZ2U6IG51bWJlcjtcbiAqICAgbmFtZTogc3RyaW5nO1xuICogICBhY3RpdmU6IGJvb2xlYW47XG4gKiB9XG4gKiBcbiAqIHR5cGUgU3RyaW5nS2V5cyA9IEtleXNPZlR5cGU8VXNlciwgc3RyaW5nPjtcbiAqIC8vICdpZCcgfCAnbmFtZSdcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIEtleXNPZlR5cGU8VCwgVj4gPSB7XG4gIFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgViA/IEsgOiBuZXZlcjtcbn1ba2V5b2YgVF07XG5cbi8qKlxuICogRW5zdXJlcyBhIHZhbHVlIGlzIGV4YWN0bHkgdGhlIHR5cGUgVCAobm8gd2lkZXIgdHlwZXMgYWxsb3dlZClcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNvbmZpZzogRXhhY3Q8eyBkZWJ1ZzogYm9vbGVhbiB9PiA9IHtcbiAqICAgZGVidWc6IHRydWUsXG4gKiAgIC8vIGV4dHJhOiAndmFsdWUnICAvLyBcdTI3NEMgRXJyb3I6IGV4dHJhIHByb3BlcnR5IG5vdCBhbGxvd2VkXG4gKiB9O1xuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgRXhhY3Q8VCwgU2hhcGUgPSBUPiA9IFQgZXh0ZW5kcyBTaGFwZVxuICA/IEV4Y2x1ZGU8a2V5b2YgVCwga2V5b2YgU2hhcGU+IGV4dGVuZHMgbmV2ZXJcbiAgICA/IFRcbiAgICA6IG5ldmVyXG4gIDogbmV2ZXI7XG5cbi8qKlxuICogQ3JlYXRlcyBhIGJyYW5kZWQgdHlwZSBmb3Igbm9taW5hbCB0eXBpbmdcbiAqIFRoaXMgcHJldmVudHMgbWl4aW5nIHZhbHVlcyBvZiB0aGUgc2FtZSBwcmltaXRpdmUgdHlwZVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBVc2VySWQgPSBCcmFuZDxzdHJpbmcsICdVc2VySWQnPjtcbiAqIHR5cGUgUHJvZHVjdElkID0gQnJhbmQ8c3RyaW5nLCAnUHJvZHVjdElkJz47XG4gKiBcbiAqIGNvbnN0IHVzZXJJZDogVXNlcklkID0gJzEyMycgYXMgVXNlcklkO1xuICogY29uc3QgcHJvZHVjdElkOiBQcm9kdWN0SWQgPSAnNDU2JyBhcyBQcm9kdWN0SWQ7XG4gKiBcbiAqIC8vIFx1Mjc0QyBUeXBlIGVycm9yOiBVc2VySWQgaXMgbm90IGFzc2lnbmFibGUgdG8gUHJvZHVjdElkXG4gKiBjb25zdCB0ZXN0OiBQcm9kdWN0SWQgPSB1c2VySWQ7XG4gKiBgYGBcbiAqIFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgdHlwZSBCcmFuZDxULCBUQnJhbmQgZXh0ZW5kcyBzdHJpbmc+ID0gVCAmIHtcbiAgcmVhZG9ubHkgX19icmFuZDogVEJyYW5kO1xufTtcblxuLyoqXG4gKiBIZWxwZXIgdG8gY3JlYXRlIGEgYnJhbmRlZCB2YWx1ZVxuICogXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gYnJhbmRcbiAqIEByZXR1cm5zIFRoZSB2YWx1ZSBhcyBhIGJyYW5kZWQgdHlwZVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBVc2VySWQgPSBCcmFuZDxzdHJpbmcsICdVc2VySWQnPjtcbiAqIGNvbnN0IGlkID0gYnJhbmQ8c3RyaW5nLCAnVXNlcklkJz4oJ3VzZXItMTIzJyk7XG4gKiAvLyBpZCBoYXMgdHlwZSBVc2VySWRcbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBicmFuZDxULCBUQnJhbmQgZXh0ZW5kcyBzdHJpbmc+KHZhbHVlOiBUKTogQnJhbmQ8VCwgVEJyYW5kPiB7XG4gIHJldHVybiB2YWx1ZSBhcyBCcmFuZDxULCBUQnJhbmQ+O1xufVxuXG4vKipcbiAqIFJlbW92ZXMgYnJhbmRpbmcgZnJvbSBhIGJyYW5kZWQgdHlwZVxuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdHlwZSBVc2VySWQgPSBCcmFuZDxzdHJpbmcsICdVc2VySWQnPjtcbiAqIHR5cGUgUGxhaW5JZCA9IFVuYnJhbmQ8VXNlcklkPjtcbiAqIC8vIHN0cmluZ1xuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgVW5icmFuZDxUPiA9IFQgZXh0ZW5kcyBpbmZlciBVICYgeyByZWFkb25seSBfX2JyYW5kOiBzdHJpbmcgfSA/IFUgOiBUO1xuXG4vKipcbiAqIFR5cGUtc2FmZSBPYmplY3Qua2V5cyB0aGF0IHByZXNlcnZlcyBrZXkgdHlwZXNcbiAqIFxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gZ2V0IGtleXMgZnJvbVxuICogQHJldHVybnMgQXJyYXkgb2Yga2V5cyB3aXRoIHByb3BlciB0eXBlXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB1c2VyID0geyBpZDogJzEnLCBuYW1lOiAnSm9obicgfSBhcyBjb25zdDtcbiAqIGNvbnN0IGtleXMgPSB0eXBlZEtleXModXNlcik7XG4gKiAvLyBrZXlzIGhhcyB0eXBlOiAoJ2lkJyB8ICduYW1lJylbXVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR5cGVkS2V5czxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICBvYmo6IFRcbik6IEFycmF5PGtleW9mIFQ+IHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikgYXMgQXJyYXk8a2V5b2YgVD47XG59XG5cbi8qKlxuICogVHlwZS1zYWZlIE9iamVjdC5lbnRyaWVzIHRoYXQgcHJlc2VydmVzIGtleSBhbmQgdmFsdWUgdHlwZXNcbiAqIFxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gZ2V0IGVudHJpZXMgZnJvbVxuICogQHJldHVybnMgQXJyYXkgb2YgW2tleSwgdmFsdWVdIHR1cGxlcyB3aXRoIHByb3BlciB0eXBlc1xuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdXNlciA9IHsgaWQ6ICcxJywgYWdlOiAzMCB9IGFzIGNvbnN0O1xuICogY29uc3QgZW50cmllcyA9IHR5cGVkRW50cmllcyh1c2VyKTtcbiAqIC8vIGVudHJpZXMgaGFzIHR5cGU6IFsnaWQnLCAnMSddIHwgWydhZ2UnLCAzMF1cbiAqIGBgYFxuICogXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0eXBlZEVudHJpZXM8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgb2JqOiBUXG4pOiBBcnJheTxba2V5b2YgVCwgVFtrZXlvZiBUXV0+IHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iaikgYXMgQXJyYXk8W2tleW9mIFQsIFRba2V5b2YgVF1dPjtcbn1cblxuLyoqXG4gKiBUeXBlLXNhZmUgT2JqZWN0LnZhbHVlcyB0aGF0IHByZXNlcnZlcyB2YWx1ZSB0eXBlc1xuICogXG4gKiBAcGFyYW0gb2JqIC0gVGhlIG9iamVjdCB0byBnZXQgdmFsdWVzIGZyb21cbiAqIEByZXR1cm5zIEFycmF5IG9mIHZhbHVlcyB3aXRoIHByb3BlciB0eXBlXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCB1c2VyID0geyBpZDogJzEnLCBhZ2U6IDMwIH07XG4gKiBjb25zdCB2YWx1ZXMgPSB0eXBlZFZhbHVlcyh1c2VyKTtcbiAqIC8vIHZhbHVlcyBoYXMgdHlwZTogKHN0cmluZyB8IG51bWJlcilbXVxuICogYGBgXG4gKiBcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR5cGVkVmFsdWVzPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gIG9iajogVFxuKTogQXJyYXk8VFtrZXlvZiBUXT4ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhvYmopIGFzIEFycmF5PFRba2V5b2YgVF0+O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQTRITyxTQUFTLGFBQWEsT0FBcUM7QUFDaEUsU0FDRSxPQUFPLFVBQVUsWUFDakIsVUFBVSxRQUNWLENBQUMsTUFBTSxRQUFRLEtBQUssS0FDcEIsRUFBRSxpQkFBaUI7QUFFdkI7QUFLTyxTQUFTLFlBQVksT0FBb0M7QUFDOUQsU0FBTyxNQUFNLFFBQVEsS0FBSztBQUM1QjtBQUtPLFNBQVMsV0FBVyxPQUFtQztBQUM1RCxTQUFPLGlCQUFpQjtBQUMxQjtBQUtPLFNBQVMsY0FBYyxPQUFzQztBQUNsRSxTQUFPLGFBQWEsS0FBSyxLQUFLLFlBQVksS0FBSyxLQUFLLFdBQVcsS0FBSztBQUN0RTs7O0FDM0VPLFNBQVMsbUJBQW1CLE9BQTJDO0FBQzVFLFNBQ0UsT0FBTyxVQUFVLFlBQ2pCLFVBQVUsUUFDVixZQUFZLFNBQ1osT0FBUSxNQUE4QixXQUFXLFlBQ2hELE1BQThCLFdBQVcsUUFDMUMsV0FBWSxNQUEwQztBQUUxRDtBQUtPLFNBQVMsb0JBQ2QsT0FDNEI7QUFDNUIsU0FBTyxtQkFBbUIsS0FBSztBQUNqQztBQUtPLFNBQVMsa0JBQWtCLE9BQTBDO0FBQzFFLFNBQU8sbUJBQW1CLEtBQUssS0FBSyxvQkFBb0IsS0FBSztBQUMvRDtBQU1PLFNBQVMsa0JBQ2QsY0FDQSxlQUNRO0FBRVIsTUFBSSxrQkFBa0IsWUFBWSxHQUFHO0FBQ25DLFdBQU8sYUFBYSxPQUFPO0FBQUEsRUFDN0I7QUFHQSxNQUNFLE9BQU8saUJBQWlCLFlBQ3hCLGlCQUFpQixRQUNqQixZQUFZLGdCQUNaLE9BQU8sYUFBYSxXQUFXLFlBQy9CLGFBQWEsV0FBVyxRQUN4QixXQUFXLGFBQWEsUUFDeEI7QUFDQSxXQUFRLGFBQWEsT0FBNkI7QUFBQSxFQUNwRDtBQUdBLFNBQVEsZ0JBQWdCO0FBQzFCO0FBTU8sU0FBUyw0QkFBOEM7QUFDNUQsU0FBTyxDQUFDLGNBQW9DLGdCQUFpQztBQUUzRSxRQUFJLGdCQUFnQixRQUFXO0FBQzdCLGFBQU87QUFBQSxJQUNUO0FBRUEsV0FBTyxrQkFBa0IsWUFBWTtBQUFBLEVBQ3ZDO0FBQ0Y7OztBQ29TTyxTQUFTLE1BQWdDLE9BQTRCO0FBQzFFLFNBQU87QUFDVDtBQStCTyxTQUFTLFVBQ2QsS0FDZ0I7QUFDaEIsU0FBTyxPQUFPLEtBQUssR0FBRztBQUN4QjtBQWlCTyxTQUFTLGFBQ2QsS0FDOEI7QUFDOUIsU0FBTyxPQUFPLFFBQVEsR0FBRztBQUMzQjtBQWlCTyxTQUFTLFlBQ2QsS0FDbUI7QUFDbkIsU0FBTyxPQUFPLE9BQU8sR0FBRztBQUMxQjsiLAogICJuYW1lcyI6IFtdCn0K