@kaspernj/api-maker 1.0.2160 → 1.0.2161

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 (524) hide show
  1. package/build/api.d.ts +46 -34
  2. package/build/api.d.ts.map +1 -1
  3. package/build/api.js +32 -25
  4. package/build/attribute-not-loaded-error.d.ts.map +1 -1
  5. package/build/attribute-not-loaded-error.js +2 -1
  6. package/build/base-error.d.ts +49 -60
  7. package/build/base-error.d.ts.map +1 -1
  8. package/build/base-error.js +3 -2
  9. package/build/base-model/column.d.ts +2 -2
  10. package/build/base-model/column.d.ts.map +1 -1
  11. package/build/base-model/column.js +3 -2
  12. package/build/base-model/reflection.d.ts +8 -3
  13. package/build/base-model/reflection.d.ts.map +1 -1
  14. package/build/base-model/reflection.js +8 -3
  15. package/build/base-model/scope.d.ts +1 -1
  16. package/build/base-model/scope.d.ts.map +1 -1
  17. package/build/base-model/scope.js +3 -2
  18. package/build/base-model.d.ts +3801 -117
  19. package/build/base-model.d.ts.map +1 -1
  20. package/build/base-model.js +271 -143
  21. package/build/bootstrap/attribute-row.d.ts +12 -0
  22. package/build/bootstrap/attribute-row.d.ts.map +1 -1
  23. package/build/bootstrap/attribute-row.js +23 -5
  24. package/build/bootstrap/attribute-rows.d.ts +8 -0
  25. package/build/bootstrap/attribute-rows.d.ts.map +1 -1
  26. package/build/bootstrap/attribute-rows.js +14 -5
  27. package/build/bootstrap/card.d.ts +17 -0
  28. package/build/bootstrap/card.d.ts.map +1 -1
  29. package/build/bootstrap/card.js +30 -10
  30. package/build/bootstrap/checkbox.d.ts +16 -0
  31. package/build/bootstrap/checkbox.d.ts.map +1 -1
  32. package/build/bootstrap/checkbox.js +20 -2
  33. package/build/bootstrap/checkboxes.d.ts +31 -0
  34. package/build/bootstrap/checkboxes.d.ts.map +1 -1
  35. package/build/bootstrap/checkboxes.js +35 -3
  36. package/build/bootstrap/index.js +2 -1
  37. package/build/bootstrap/input.d.ts +24 -0
  38. package/build/bootstrap/input.d.ts.map +1 -1
  39. package/build/bootstrap/input.js +27 -2
  40. package/build/bootstrap/invalid-feedback.d.ts.map +1 -1
  41. package/build/bootstrap/invalid-feedback.js +2 -1
  42. package/build/bootstrap/paginate.d.ts +5 -0
  43. package/build/bootstrap/paginate.d.ts.map +1 -1
  44. package/build/bootstrap/paginate.js +9 -4
  45. package/build/bootstrap/radio-buttons.js +2 -1
  46. package/build/bootstrap/select.js +2 -1
  47. package/build/bootstrap/sort-link.d.ts +10 -0
  48. package/build/bootstrap/sort-link.d.ts.map +1 -1
  49. package/build/bootstrap/sort-link.js +15 -4
  50. package/build/cable-connection-pool.d.ts +201 -24
  51. package/build/cable-connection-pool.d.ts.map +1 -1
  52. package/build/cable-connection-pool.js +76 -16
  53. package/build/cable-subscription-pool.d.ts +186 -20
  54. package/build/cable-subscription-pool.d.ts.map +1 -1
  55. package/build/cable-subscription-pool.js +61 -22
  56. package/build/cable-subscription.d.ts.map +1 -1
  57. package/build/cable-subscription.js +3 -2
  58. package/build/cache-key-generator.d.ts +194 -20
  59. package/build/cache-key-generator.d.ts.map +1 -1
  60. package/build/cache-key-generator.js +63 -12
  61. package/build/can-can.d.ts +146 -29
  62. package/build/can-can.d.ts.map +1 -1
  63. package/build/can-can.js +105 -19
  64. package/build/channels-consumer.d.ts +23 -1
  65. package/build/channels-consumer.d.ts.map +1 -1
  66. package/build/channels-consumer.js +26 -8
  67. package/build/collection-loader.js +2 -1
  68. package/build/collection.d.ts +361 -370
  69. package/build/collection.d.ts.map +1 -1
  70. package/build/collection.js +59 -19
  71. package/build/command-execution.d.ts +50 -26
  72. package/build/command-execution.d.ts.map +1 -1
  73. package/build/command-execution.js +31 -13
  74. package/build/command-submit-data.d.ts +50 -37
  75. package/build/command-submit-data.d.ts.map +1 -1
  76. package/build/command-submit-data.js +35 -22
  77. package/build/commands-pool.d.ts +65 -27
  78. package/build/commands-pool.d.ts.map +1 -1
  79. package/build/commands-pool.js +67 -20
  80. package/build/compose.d.ts +8 -2
  81. package/build/compose.d.ts.map +1 -1
  82. package/build/compose.js +9 -2
  83. package/build/config.d.ts +31 -15
  84. package/build/config.d.ts.map +1 -1
  85. package/build/config.js +60 -23
  86. package/build/custom-error.d.ts.map +1 -1
  87. package/build/custom-error.js +2 -1
  88. package/build/data-set-to-attributes.d.ts +14 -2
  89. package/build/data-set-to-attributes.d.ts.map +1 -1
  90. package/build/data-set-to-attributes.js +12 -3
  91. package/build/deserializer.d.ts +116 -2
  92. package/build/deserializer.d.ts.map +1 -1
  93. package/build/deserializer.js +13 -2
  94. package/build/destroy-error.d.ts.map +1 -1
  95. package/build/destroy-error.js +2 -1
  96. package/build/devise.d.ts +638 -39
  97. package/build/devise.d.ts.map +1 -1
  98. package/build/devise.js +97 -28
  99. package/build/draggable-sort/controller.d.ts +126 -35
  100. package/build/draggable-sort/controller.d.ts.map +1 -1
  101. package/build/draggable-sort/controller.js +100 -28
  102. package/build/draggable-sort/index.d.ts +55 -0
  103. package/build/draggable-sort/index.d.ts.map +1 -1
  104. package/build/draggable-sort/index.js +71 -3
  105. package/build/draggable-sort/item.d.ts +54 -0
  106. package/build/draggable-sort/item.d.ts.map +1 -1
  107. package/build/draggable-sort/item.js +94 -6
  108. package/build/error-logger.d.ts +30 -14
  109. package/build/error-logger.d.ts.map +1 -1
  110. package/build/error-logger.js +22 -11
  111. package/build/event-connection.d.ts.map +1 -1
  112. package/build/event-connection.js +3 -2
  113. package/build/event-emitter-listener.d.ts.map +1 -1
  114. package/build/event-emitter-listener.js +2 -1
  115. package/build/event-model-class.d.ts.map +1 -1
  116. package/build/event-model-class.js +2 -1
  117. package/build/events.d.ts.map +1 -1
  118. package/build/events.js +2 -1
  119. package/build/form.d.ts +23 -0
  120. package/build/form.d.ts.map +1 -1
  121. package/build/form.js +16 -4
  122. package/build/history-expo.d.ts +6 -2
  123. package/build/history-expo.d.ts.map +1 -1
  124. package/build/history-expo.js +5 -2
  125. package/build/history-react-native.d.ts +6 -2
  126. package/build/history-react-native.d.ts.map +1 -1
  127. package/build/history-react-native.js +5 -2
  128. package/build/history.js +2 -1
  129. package/build/index.d.ts.map +1 -1
  130. package/build/index.js +2 -1
  131. package/build/inputs/attachment.d.ts +11 -0
  132. package/build/inputs/attachment.d.ts.map +1 -1
  133. package/build/inputs/attachment.js +17 -4
  134. package/build/inputs/auto-submit.d.ts +41 -13
  135. package/build/inputs/auto-submit.d.ts.map +1 -1
  136. package/build/inputs/auto-submit.js +16 -4
  137. package/build/inputs/checkbox.d.ts +15 -0
  138. package/build/inputs/checkbox.d.ts.map +1 -1
  139. package/build/inputs/checkbox.js +22 -6
  140. package/build/inputs/checkboxes.d.ts +16 -0
  141. package/build/inputs/checkboxes.d.ts.map +1 -1
  142. package/build/inputs/checkboxes.js +20 -4
  143. package/build/inputs/id-for-component.d.ts +21 -2
  144. package/build/inputs/id-for-component.d.ts.map +1 -1
  145. package/build/inputs/id-for-component.js +9 -2
  146. package/build/inputs/input-wrapper.d.ts.map +1 -1
  147. package/build/inputs/input-wrapper.js +2 -1
  148. package/build/inputs/input.d.ts +36 -0
  149. package/build/inputs/input.d.ts.map +1 -1
  150. package/build/inputs/input.js +26 -7
  151. package/build/inputs/money.d.ts +2 -0
  152. package/build/inputs/money.d.ts.map +1 -1
  153. package/build/inputs/money.js +6 -3
  154. package/build/inputs/name-for-component.d.ts +21 -2
  155. package/build/inputs/name-for-component.d.ts.map +1 -1
  156. package/build/inputs/name-for-component.js +9 -2
  157. package/build/inputs/select.d.ts +33 -0
  158. package/build/inputs/select.d.ts.map +1 -1
  159. package/build/inputs/select.js +21 -4
  160. package/build/instance-of-class-name.d.ts +7 -2
  161. package/build/instance-of-class-name.d.ts.map +1 -1
  162. package/build/instance-of-class-name.js +8 -4
  163. package/build/is-expo.d.ts.map +1 -1
  164. package/build/is-expo.js +2 -1
  165. package/build/key-value-store.d.ts +24 -14
  166. package/build/key-value-store.d.ts.map +1 -1
  167. package/build/key-value-store.js +22 -12
  168. package/build/link.d.ts +30 -0
  169. package/build/link.d.ts.map +1 -1
  170. package/build/link.js +76 -30
  171. package/build/logger.d.ts +10 -6
  172. package/build/logger.d.ts.map +1 -1
  173. package/build/logger.js +7 -4
  174. package/build/merge-styles.d.ts +10 -2
  175. package/build/merge-styles.d.ts.map +1 -1
  176. package/build/merge-styles.js +10 -3
  177. package/build/modal.d.ts +2 -0
  178. package/build/modal.d.ts.map +1 -1
  179. package/build/modal.js +6 -4
  180. package/build/model-class-require.d.ts +4 -2
  181. package/build/model-class-require.d.ts.map +1 -1
  182. package/build/model-class-require.js +4 -2
  183. package/build/model-events.d.ts +139 -346
  184. package/build/model-events.d.ts.map +1 -1
  185. package/build/model-events.js +21 -9
  186. package/build/model-name.d.ts +21 -7
  187. package/build/model-name.d.ts.map +1 -1
  188. package/build/model-name.js +12 -2
  189. package/build/model-prop-type.d.ts +533 -26
  190. package/build/model-prop-type.d.ts.map +1 -1
  191. package/build/model-prop-type.js +69 -11
  192. package/build/model-recipes-loader.d.ts +7 -3
  193. package/build/model-recipes-loader.d.ts.map +1 -1
  194. package/build/model-recipes-loader.js +4 -2
  195. package/build/model-recipes-model-loader.d.ts +189 -1493
  196. package/build/model-recipes-model-loader.d.ts.map +1 -1
  197. package/build/model-recipes-model-loader.js +119 -17
  198. package/build/models-response-reader.d.ts +600 -195
  199. package/build/models-response-reader.d.ts.map +1 -1
  200. package/build/models-response-reader.js +12 -4
  201. package/build/models.d.ts +438 -1
  202. package/build/models.d.ts.map +1 -1
  203. package/build/models.js +2 -1
  204. package/build/money-formatter.d.ts +25 -31
  205. package/build/money-formatter.d.ts.map +1 -1
  206. package/build/money-formatter.js +11 -8
  207. package/build/not-loaded-error.d.ts.map +1 -1
  208. package/build/not-loaded-error.js +2 -1
  209. package/build/params.d.ts +25 -17
  210. package/build/params.d.ts.map +1 -1
  211. package/build/params.js +19 -15
  212. package/build/preloaded.d.ts +61 -64
  213. package/build/preloaded.d.ts.map +1 -1
  214. package/build/preloaded.js +10 -4
  215. package/build/reset-realtime-runtime-state.d.ts.map +1 -1
  216. package/build/reset-realtime-runtime-state.js +2 -1
  217. package/build/resize-observer.d.ts.map +1 -1
  218. package/build/resize-observer.js +2 -1
  219. package/build/rest-props-validator.d.ts +2 -2
  220. package/build/rest-props-validator.d.ts.map +1 -1
  221. package/build/rest-props-validator.js +3 -2
  222. package/build/result.d.ts +142 -175
  223. package/build/result.d.ts.map +1 -1
  224. package/build/result.js +3 -2
  225. package/build/router/route.d.ts +50 -0
  226. package/build/router/route.d.ts.map +1 -1
  227. package/build/router/route.js +39 -10
  228. package/build/router/switch.d.ts +37 -1
  229. package/build/router/switch.d.ts.map +1 -1
  230. package/build/router/switch.js +29 -7
  231. package/build/router.d.ts +20 -0
  232. package/build/router.d.ts.map +1 -1
  233. package/build/router.js +15 -4
  234. package/build/routes-native.d.ts +13 -13
  235. package/build/routes-native.d.ts.map +1 -1
  236. package/build/routes-native.js +23 -11
  237. package/build/routes.d.ts +17 -9
  238. package/build/routes.d.ts.map +1 -1
  239. package/build/routes.js +7 -2
  240. package/build/run-last.d.ts.map +1 -1
  241. package/build/run-last.js +2 -1
  242. package/build/serializer.d.ts +44 -12
  243. package/build/serializer.d.ts.map +1 -1
  244. package/build/serializer.js +36 -7
  245. package/build/services.d.ts +29 -4
  246. package/build/services.d.ts.map +1 -1
  247. package/build/services.js +16 -4
  248. package/build/session-status-updater.d.ts +73 -25
  249. package/build/session-status-updater.d.ts.map +1 -1
  250. package/build/session-status-updater.js +52 -14
  251. package/build/source-maps-loader.d.ts +88 -33
  252. package/build/source-maps-loader.d.ts.map +1 -1
  253. package/build/source-maps-loader.js +74 -18
  254. package/build/super-admin/config-reader.d.ts.map +1 -1
  255. package/build/super-admin/config-reader.js +11 -16
  256. package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts +10 -0
  257. package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts.map +1 -1
  258. package/build/super-admin/edit-page/edit-attribute-checkbox.js +16 -4
  259. package/build/super-admin/edit-page/edit-attribute-content.d.ts +9 -0
  260. package/build/super-admin/edit-page/edit-attribute-content.d.ts.map +1 -1
  261. package/build/super-admin/edit-page/edit-attribute-content.js +15 -4
  262. package/build/super-admin/edit-page/edit-attribute-input.d.ts +8 -0
  263. package/build/super-admin/edit-page/edit-attribute-input.d.ts.map +1 -1
  264. package/build/super-admin/edit-page/edit-attribute-input.js +13 -4
  265. package/build/super-admin/edit-page/edit-attribute.d.ts +6 -0
  266. package/build/super-admin/edit-page/edit-attribute.d.ts.map +1 -1
  267. package/build/super-admin/edit-page/edit-attribute.js +11 -4
  268. package/build/super-admin/edit-page.d.ts +5 -0
  269. package/build/super-admin/edit-page.d.ts.map +1 -1
  270. package/build/super-admin/edit-page.js +11 -5
  271. package/build/super-admin/has-edit-config.d.ts.map +1 -1
  272. package/build/super-admin/has-edit-config.js +2 -1
  273. package/build/super-admin/index-page.d.ts +4 -0
  274. package/build/super-admin/index-page.d.ts.map +1 -1
  275. package/build/super-admin/index-page.js +9 -4
  276. package/build/super-admin/index.d.ts +4 -0
  277. package/build/super-admin/index.d.ts.map +1 -1
  278. package/build/super-admin/index.js +12 -6
  279. package/build/super-admin/layout/header/index.d.ts +4 -0
  280. package/build/super-admin/layout/header/index.d.ts.map +1 -1
  281. package/build/super-admin/layout/header/index.js +13 -8
  282. package/build/super-admin/layout/index.d.ts +24 -0
  283. package/build/super-admin/layout/index.d.ts.map +1 -1
  284. package/build/super-admin/layout/index.js +33 -5
  285. package/build/super-admin/layout/menu/index.d.ts +2 -0
  286. package/build/super-admin/layout/menu/index.d.ts.map +1 -1
  287. package/build/super-admin/layout/menu/index.js +8 -6
  288. package/build/super-admin/layout/menu/menu-content.d.ts +2 -0
  289. package/build/super-admin/layout/menu/menu-content.d.ts.map +1 -1
  290. package/build/super-admin/layout/menu/menu-content.js +6 -4
  291. package/build/super-admin/layout/menu/menu-item.d.ts +9 -0
  292. package/build/super-admin/layout/menu/menu-item.d.ts.map +1 -1
  293. package/build/super-admin/layout/menu/menu-item.js +15 -4
  294. package/build/super-admin/layout/no-access.d.ts +2 -0
  295. package/build/super-admin/layout/no-access.d.ts.map +1 -1
  296. package/build/super-admin/layout/no-access.js +7 -5
  297. package/build/super-admin/model-class-table.d.ts +4 -0
  298. package/build/super-admin/model-class-table.d.ts.map +1 -1
  299. package/build/super-admin/model-class-table.js +9 -4
  300. package/build/super-admin/models.d.ts.map +1 -1
  301. package/build/super-admin/models.js +2 -1
  302. package/build/super-admin/show-nav.d.ts +2 -0
  303. package/build/super-admin/show-nav.d.ts.map +1 -1
  304. package/build/super-admin/show-nav.js +6 -4
  305. package/build/super-admin/show-page/belongs-to-attribute-row.d.ts +17 -1
  306. package/build/super-admin/show-page/belongs-to-attribute-row.d.ts.map +1 -1
  307. package/build/super-admin/show-page/belongs-to-attribute-row.js +14 -5
  308. package/build/super-admin/show-page/index.d.ts +4 -0
  309. package/build/super-admin/show-page/index.d.ts.map +1 -1
  310. package/build/super-admin/show-page/index.js +9 -4
  311. package/build/super-admin/show-reflection-actions.d.ts +6 -0
  312. package/build/super-admin/show-reflection-actions.d.ts.map +1 -1
  313. package/build/super-admin/show-reflection-actions.js +11 -4
  314. package/build/super-admin/show-reflection-link.d.ts +4 -0
  315. package/build/super-admin/show-reflection-link.d.ts.map +1 -1
  316. package/build/super-admin/show-reflection-link.js +9 -4
  317. package/build/super-admin/show-reflection-page.d.ts +5 -0
  318. package/build/super-admin/show-reflection-page.d.ts.map +1 -1
  319. package/build/super-admin/show-reflection-page.js +10 -4
  320. package/build/table/column-content.d.ts +155 -19
  321. package/build/table/column-content.d.ts.map +1 -1
  322. package/build/table/column-content.js +55 -12
  323. package/build/table/column-identifier.d.ts +11 -2
  324. package/build/table/column-identifier.d.ts.map +1 -1
  325. package/build/table/column-identifier.js +7 -2
  326. package/build/table/column-visible.d.ts +11 -2
  327. package/build/table/column-visible.d.ts.map +1 -1
  328. package/build/table/column-visible.js +8 -2
  329. package/build/table/components/column.d.ts +2 -0
  330. package/build/table/components/column.d.ts.map +1 -1
  331. package/build/table/components/column.js +6 -4
  332. package/build/table/components/flat-list.d.ts +2 -0
  333. package/build/table/components/flat-list.d.ts.map +1 -1
  334. package/build/table/components/flat-list.js +6 -4
  335. package/build/table/components/header.d.ts +2 -0
  336. package/build/table/components/header.d.ts.map +1 -1
  337. package/build/table/components/header.js +6 -4
  338. package/build/table/components/row.d.ts +2 -0
  339. package/build/table/components/row.d.ts.map +1 -1
  340. package/build/table/components/row.js +6 -4
  341. package/build/table/filters/attribute-element.d.ts +2 -0
  342. package/build/table/filters/attribute-element.d.ts.map +1 -1
  343. package/build/table/filters/attribute-element.js +7 -7
  344. package/build/table/filters/filter-form.d.ts +58 -0
  345. package/build/table/filters/filter-form.d.ts.map +1 -1
  346. package/build/table/filters/filter-form.js +72 -9
  347. package/build/table/filters/filter.d.ts +2 -0
  348. package/build/table/filters/filter.d.ts.map +1 -1
  349. package/build/table/filters/filter.js +6 -4
  350. package/build/table/filters/index.d.ts +127 -0
  351. package/build/table/filters/index.d.ts.map +1 -1
  352. package/build/table/filters/index.js +21 -4
  353. package/build/table/filters/load-search-modal.d.ts +130 -0
  354. package/build/table/filters/load-search-modal.d.ts.map +1 -1
  355. package/build/table/filters/load-search-modal.js +28 -6
  356. package/build/table/filters/reflection-element.d.ts +2 -0
  357. package/build/table/filters/reflection-element.d.ts.map +1 -1
  358. package/build/table/filters/reflection-element.js +6 -4
  359. package/build/table/filters/save-search-modal.d.ts +134 -0
  360. package/build/table/filters/save-search-modal.d.ts.map +1 -1
  361. package/build/table/filters/save-search-modal.js +36 -5
  362. package/build/table/filters/scope-element.d.ts +6 -0
  363. package/build/table/filters/scope-element.d.ts.map +1 -1
  364. package/build/table/filters/scope-element.js +13 -8
  365. package/build/table/header-column-content.d.ts +7 -0
  366. package/build/table/header-column-content.d.ts.map +1 -1
  367. package/build/table/header-column-content.js +12 -4
  368. package/build/table/header-column.d.ts +50 -0
  369. package/build/table/header-column.d.ts.map +1 -1
  370. package/build/table/header-column.js +32 -5
  371. package/build/table/header-select.d.ts +18 -0
  372. package/build/table/header-select.d.ts.map +1 -1
  373. package/build/table/header-select.js +19 -4
  374. package/build/table/model-callback-args.d.ts +116 -3
  375. package/build/table/model-callback-args.d.ts.map +1 -1
  376. package/build/table/model-callback-args.js +10 -3
  377. package/build/table/model-column.d.ts +136 -0
  378. package/build/table/model-column.d.ts.map +1 -1
  379. package/build/table/model-column.js +27 -4
  380. package/build/table/model-row.d.ts +19 -0
  381. package/build/table/model-row.d.ts.map +1 -1
  382. package/build/table/model-row.js +24 -4
  383. package/build/table/select-calculator.d.ts +37 -2
  384. package/build/table/select-calculator.d.ts.map +1 -1
  385. package/build/table/select-calculator.js +29 -6
  386. package/build/table/settings/column-row.d.ts +6 -0
  387. package/build/table/settings/column-row.d.ts.map +1 -1
  388. package/build/table/settings/column-row.js +13 -12
  389. package/build/table/settings/download-action.d.ts +5 -0
  390. package/build/table/settings/download-action.d.ts.map +1 -1
  391. package/build/table/settings/download-action.js +10 -4
  392. package/build/table/settings/index.d.ts +5 -0
  393. package/build/table/settings/index.d.ts.map +1 -1
  394. package/build/table/settings/index.js +10 -4
  395. package/build/table/should-render-loading-content.d.ts +2 -2
  396. package/build/table/should-render-loading-content.d.ts.map +1 -1
  397. package/build/table/should-render-loading-content.js +3 -2
  398. package/build/table/table-settings.d.ts +236 -43
  399. package/build/table/table-settings.d.ts.map +1 -1
  400. package/build/table/table-settings.js +104 -20
  401. package/build/table/table.d.ts +271 -0
  402. package/build/table/table.d.ts.map +1 -1
  403. package/build/table/table.js +167 -16
  404. package/build/table/use-sorting.d.ts +10 -8
  405. package/build/table/use-sorting.d.ts.map +1 -1
  406. package/build/table/use-sorting.js +16 -8
  407. package/build/table/widths.d.ts +55 -8
  408. package/build/table/widths.d.ts.map +1 -1
  409. package/build/table/widths.js +25 -2
  410. package/build/table/worker-plugins-check-all-checkbox.d.ts +18 -0
  411. package/build/table/worker-plugins-check-all-checkbox.d.ts.map +1 -1
  412. package/build/table/worker-plugins-check-all-checkbox.js +25 -5
  413. package/build/table/worker-plugins-checkbox.d.ts +5 -0
  414. package/build/table/worker-plugins-checkbox.d.ts.map +1 -1
  415. package/build/table/worker-plugins-checkbox.js +10 -4
  416. package/build/translated-attributes.d.ts +7 -2
  417. package/build/translated-attributes.d.ts.map +1 -1
  418. package/build/translated-attributes.js +8 -2
  419. package/build/translated-collections.d.ts +11 -2
  420. package/build/translated-collections.d.ts.map +1 -1
  421. package/build/translated-collections.js +9 -3
  422. package/build/updated-attribute.d.ts.map +1 -1
  423. package/build/updated-attribute.js +2 -1
  424. package/build/url-encode.d.ts.map +1 -1
  425. package/build/url-encode.js +2 -1
  426. package/build/use-can-can.d.ts +2 -2
  427. package/build/use-can-can.d.ts.map +1 -1
  428. package/build/use-can-can.js +27 -12
  429. package/build/use-collection.d.ts +167 -121
  430. package/build/use-collection.d.ts.map +1 -1
  431. package/build/use-collection.js +113 -44
  432. package/build/use-created-event.d.ts +120 -11
  433. package/build/use-created-event.d.ts.map +1 -1
  434. package/build/use-created-event.js +10 -7
  435. package/build/use-current-user-context.d.ts +2 -2
  436. package/build/use-current-user-context.d.ts.map +1 -1
  437. package/build/use-current-user-context.js +3 -2
  438. package/build/use-current-user.d.ts +86 -70
  439. package/build/use-current-user.d.ts.map +1 -1
  440. package/build/use-current-user.js +36 -8
  441. package/build/use-destroyed-event.d.ts +117 -8
  442. package/build/use-destroyed-event.d.ts.map +1 -1
  443. package/build/use-destroyed-event.js +29 -22
  444. package/build/use-input.d.ts +74 -12
  445. package/build/use-input.d.ts.map +1 -1
  446. package/build/use-input.js +33 -5
  447. package/build/use-model-class-event.d.ts +124 -10
  448. package/build/use-model-class-event.d.ts.map +1 -1
  449. package/build/use-model-class-event.js +26 -16
  450. package/build/use-model-event.d.ts +121 -8
  451. package/build/use-model-event.d.ts.map +1 -1
  452. package/build/use-model-event.js +24 -19
  453. package/build/use-model.d.ts +162 -244
  454. package/build/use-model.d.ts.map +1 -1
  455. package/build/use-model.js +85 -32
  456. package/build/use-resize-observer.d.ts.map +1 -1
  457. package/build/use-resize-observer.js +2 -1
  458. package/build/use-router.d.ts.map +1 -1
  459. package/build/use-router.js +2 -1
  460. package/build/use-screen-layout.d.ts +7 -2
  461. package/build/use-screen-layout.d.ts.map +1 -1
  462. package/build/use-screen-layout.js +8 -5
  463. package/build/use-shape.js +2 -1
  464. package/build/use-styles.d.ts +11 -5
  465. package/build/use-styles.d.ts.map +1 -1
  466. package/build/use-styles.js +16 -9
  467. package/build/use-updated-event.d.ts +66 -182
  468. package/build/use-updated-event.d.ts.map +1 -1
  469. package/build/use-updated-event.js +22 -18
  470. package/build/use-validation-errors.d.ts.map +1 -1
  471. package/build/use-validation-errors.js +2 -1
  472. package/build/utils/button.d.ts +14 -0
  473. package/build/utils/button.d.ts.map +1 -1
  474. package/build/utils/button.js +24 -7
  475. package/build/utils/card.d.ts +9 -0
  476. package/build/utils/card.d.ts.map +1 -1
  477. package/build/utils/card.js +13 -2
  478. package/build/utils/checkbox.d.ts +12 -0
  479. package/build/utils/checkbox.d.ts.map +1 -1
  480. package/build/utils/checkbox.js +18 -4
  481. package/build/utils/checkboxes.d.ts +25 -0
  482. package/build/utils/checkboxes.d.ts.map +1 -1
  483. package/build/utils/checkboxes.js +29 -3
  484. package/build/utils/default-style.d.ts +10 -4
  485. package/build/utils/default-style.d.ts.map +1 -1
  486. package/build/utils/default-style.js +12 -4
  487. package/build/utils/header.d.ts +6 -1
  488. package/build/utils/header.d.ts.map +1 -1
  489. package/build/utils/header.js +4 -2
  490. package/build/utils/icon.d.ts +7 -6
  491. package/build/utils/icon.d.ts.map +1 -1
  492. package/build/utils/icon.js +12 -11
  493. package/build/utils/invalid-feedback.d.ts +4 -0
  494. package/build/utils/invalid-feedback.d.ts.map +1 -1
  495. package/build/utils/invalid-feedback.js +8 -2
  496. package/build/utils/modal.d.ts +2 -0
  497. package/build/utils/modal.d.ts.map +1 -1
  498. package/build/utils/modal.js +9 -7
  499. package/build/utils/text.d.ts +8 -1
  500. package/build/utils/text.d.ts.map +1 -1
  501. package/build/utils/text.js +9 -2
  502. package/build/validation-error.d.ts +5 -2
  503. package/build/validation-error.d.ts.map +1 -1
  504. package/build/validation-error.js +5 -2
  505. package/build/validation-errors.d.ts +57 -15
  506. package/build/validation-errors.d.ts.map +1 -1
  507. package/build/validation-errors.js +37 -8
  508. package/build/websocket-request-client.d.ts +61 -15
  509. package/build/websocket-request-client.d.ts.map +1 -1
  510. package/build/websocket-request-client.js +35 -9
  511. package/build/with-api-maker.d.ts.map +1 -1
  512. package/build/with-api-maker.js +2 -1
  513. package/build/with-collection.d.ts.map +1 -1
  514. package/build/with-collection.js +2 -1
  515. package/build/with-current-user.d.ts.map +1 -1
  516. package/build/with-current-user.js +2 -1
  517. package/build/with-model.d.ts.map +1 -1
  518. package/build/with-model.js +2 -1
  519. package/build/with-router.d.ts.map +1 -1
  520. package/build/with-router.js +2 -1
  521. package/package.json +4 -3
  522. package/build/base-component.d.ts +0 -5
  523. package/build/base-component.d.ts.map +0 -1
  524. package/build/base-component.js +0 -4
@@ -1,3 +1,28 @@
1
+ /** @typedef {object | string | number | boolean | null | undefined | Array<object | string | number | boolean | null | undefined>} RequestValue */
2
+ /** @typedef {Record<string, RequestValue>} RequestData */
3
+ /**
4
+ * @typedef {object} WebsocketProgressData
5
+ * @property {number | undefined} count
6
+ * @property {number | undefined} progress
7
+ * @property {number | undefined} total
8
+ */
9
+ /**
10
+ * @typedef {RequestData & {
11
+ * command_event_sequence?: number,
12
+ * count?: number,
13
+ * message?: string,
14
+ * progress?: number,
15
+ * request_id: number,
16
+ * response?: RequestData,
17
+ * total?: number,
18
+ * type: string
19
+ * }} WebsocketResponseData
20
+ */
21
+ /**
22
+ * @typedef {object} WebsocketRequestSubscription
23
+ * @property {(action: string, data: RequestData) => void} perform
24
+ * @property {() => void} unsubscribe
25
+ */
1
26
  /** Shared websocket request client for ApiMaker command/service execution. */
2
27
  export default class ApiMakerWebsocketRequestClient {
3
28
  /** @returns {ApiMakerWebsocketRequestClient} */
@@ -26,24 +51,24 @@ export default class ApiMakerWebsocketRequestClient {
26
51
  /**
27
52
  * @param {object} args
28
53
  * @param {boolean} [args.cacheResponse]
29
- * @param {Record<string, any>} [args.global]
54
+ * @param {RequestData} [args.global]
30
55
  * @param {(value: string) => void} [args.onLog]
31
- * @param {(value: Record<string, any>) => void} [args.onProgress]
32
- * @param {(value: Record<string, any>) => void} [args.onReceived]
33
- * @param {Record<string, any>} args.request
34
- * @returns {Promise<Record<string, any>>}
56
+ * @param {(value: WebsocketProgressData) => void} [args.onProgress]
57
+ * @param {(value: WebsocketResponseData) => void} [args.onReceived]
58
+ * @param {RequestData} args.request
59
+ * @returns {Promise<RequestData>}
35
60
  */
36
61
  perform({ cacheResponse, global, onLog, onProgress, onReceived, request }: {
37
62
  cacheResponse?: boolean;
38
- global?: Record<string, any>;
63
+ global?: RequestData;
39
64
  onLog?: (value: string) => void;
40
- onProgress?: (value: Record<string, any>) => void;
41
- onReceived?: (value: Record<string, any>) => void;
42
- request: Record<string, any>;
43
- }): Promise<Record<string, any>>;
44
- /** @returns {any} */
45
- ensureSubscription(): any;
46
- subscription: any;
65
+ onProgress?: (value: WebsocketProgressData) => void;
66
+ onReceived?: (value: WebsocketResponseData) => void;
67
+ request: RequestData;
68
+ }): Promise<RequestData>;
69
+ /** @returns {WebsocketRequestSubscription} */
70
+ ensureSubscription(): WebsocketRequestSubscription;
71
+ subscription: import("./channels-consumer.js").ActionCableSubscription;
47
72
  /** @returns {Promise<void>} */
48
73
  waitForSubscription(): Promise<void>;
49
74
  /** @returns {void} */
@@ -70,10 +95,10 @@ export default class ApiMakerWebsocketRequestClient {
70
95
  /** @returns {void} */
71
96
  onRejected: () => void;
72
97
  /**
73
- * @param {Record<string, any>} data
98
+ * @param {WebsocketResponseData} data
74
99
  * @returns {void}
75
100
  */
76
- onReceived: (data: Record<string, any>) => void;
101
+ onReceived: (data: WebsocketResponseData) => void;
77
102
  /**
78
103
  * @param {Error} error
79
104
  * @returns {void}
@@ -84,4 +109,25 @@ export default class ApiMakerWebsocketRequestClient {
84
109
  /** @returns {void} */
85
110
  reset(): void;
86
111
  }
112
+ export type RequestValue = object | string | number | boolean | null | undefined | Array<object | string | number | boolean | null | undefined>;
113
+ export type RequestData = Record<string, RequestValue>;
114
+ export type WebsocketProgressData = {
115
+ count: number | undefined;
116
+ progress: number | undefined;
117
+ total: number | undefined;
118
+ };
119
+ export type WebsocketResponseData = RequestData & {
120
+ command_event_sequence?: number;
121
+ count?: number;
122
+ message?: string;
123
+ progress?: number;
124
+ request_id: number;
125
+ response?: RequestData;
126
+ total?: number;
127
+ type: string;
128
+ };
129
+ export type WebsocketRequestSubscription = {
130
+ perform: (action: string, data: RequestData) => void;
131
+ unsubscribe: () => void;
132
+ };
87
133
  //# sourceMappingURL=websocket-request-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-request-client.d.ts","sourceRoot":"/src/","sources":["websocket-request-client.js"],"names":[],"mappings":"AAOA,8EAA8E;AAC9E;IAGE,gDAAgD;IAChD,kBADc,8BAA8B,CAO3C;IAED,sBAAsB;IACtB,uBADc,IAAI,CAQjB;IAnBD,mBAAgB;IAuBd,yBAAyB;IACzB,uBAA0B;IAC1B,oBAAyB;IACzB,iCAAsC;IACtC,kBAAuB;IACvB,0BAA8B;IAGhC,wBAAwB;IACxB,wBADc,MAAM,CAGnB;IAED;;;;;;OAMG;IACH,4BAHG;QAAsB,SAAS,GAAvB,MAAM;KACd,GAAU,OAAO,CAAC,IAAI,CAAC,CAqBzB;IAED;;;;;;;;;OASG;IACH,2EARG;QAAuB,aAAa,GAA5B,OAAO;QACoB,MAAM,GAAjC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACY,KAAK,GAApC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;QACqB,UAAU,GAAtD,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI;QACQ,UAAU,GAAtD,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI;QACV,OAAO,EAAjC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;KAC3B,GAAU,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAmDxC;IAED,qBAAqB;IACrB,sBADc,GAAG,CAmBhB;IAZG,kBAQC;IAML,+BAA+B;IAC/B,uBADc,OAAO,CAAC,IAAI,CAAC,CAa1B;IAED,sBAAsB;IACtB,iCADc,IAAI,CAMjB;IAJC,uCAGE;IAFA,sDAA8C;IAC9C,uDAA4C;IAIhD;;;OAGG;IACH,8BAHW,MAAM,GACJ,MAAM,CAQlB;IAED;;;OAGG;IACH,8BAHW,MAAM,GACJ,IAAI,CAqDhB;IAED,sBAAsB;IACtB,wBADc,IAAI,CAOjB;IAED,sBAAsB;IACtB,mBADc,IAAI,CAMjB;IAED,sBAAsB;IACtB,sBADc,IAAI,CAmBjB;IAED,sBAAsB;IACtB,kBADc,IAAI,CAgBjB;IAED;;;OAGG;IACH,aAAc,MAHH,MAAM,CAAC,MAAM,EAAE,GAAG,CAGX,KAFL,IAAI,CA6ChB;IAED;;;OAGG;IACH,6BAHW,KAAK,GACH,IAAI,CAahB;IAED,sBAAsB;IACtB,4BADc,IAAI,CAUjB;IAED,sBAAsB;IACtB,SADc,IAAI,CAmBjB;CACF"}
1
+ {"version":3,"file":"websocket-request-client.d.ts","sourceRoot":"/src/","sources":["websocket-request-client.js"],"names":[],"mappings":"AAQA,mJAAmJ;AACnJ,0DAA0D;AAC1D;;;;;GAKG;AACH;;;;;;;;;;;GAWG;AACH;;;;GAIG;AAEH,8EAA8E;AAC9E;IAGE,gDAAgD;IAChD,kBADc,8BAA8B,CAO3C;IAED,sBAAsB;IACtB,uBADc,IAAI,CAQjB;IAnBD,mBAAgB;IAuBd,yBAAyB;IACzB,uBAA0B;IAC1B,oBAAyB;IACzB,iCAAsC;IACtC,kBAAuB;IACvB,0BAA8B;IAGhC,wBAAwB;IACxB,wBADc,MAAM,CAGnB;IAED;;;;;;OAMG;IACH,4BAHG;QAAsB,SAAS,GAAvB,MAAM;KACd,GAAU,OAAO,CAAC,IAAI,CAAC,CAqBzB;IAED;;;;;;;;;OASG;IACH,2EARG;QAAuB,aAAa,GAA5B,OAAO;QACY,MAAM,GAAzB,WAAW;QACoB,KAAK,GAApC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;QACuB,UAAU,GAAxD,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI;QACQ,UAAU,GAAxD,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI;QACpB,OAAO,EAAzB,WAAW;KACnB,GAAU,OAAO,CAAC,WAAW,CAAC,CAmDhC;IAED,8CAA8C;IAC9C,sBADc,4BAA4B,CAmBzC;IAZG,uEAQC;IAML,+BAA+B;IAC/B,uBADc,OAAO,CAAC,IAAI,CAAC,CAa1B;IAED,sBAAsB;IACtB,iCADc,IAAI,CAMjB;IAJC,uCAGE;IAFA,sDAA8C;IAC9C,uDAA4C;IAIhD;;;OAGG;IACH,8BAHW,MAAM,GACJ,MAAM,CAQlB;IAED;;;OAGG;IACH,8BAHW,MAAM,GACJ,IAAI,CAqDhB;IAED,sBAAsB;IACtB,wBADc,IAAI,CAOjB;IAED,sBAAsB;IACtB,mBADc,IAAI,CAMjB;IAED,sBAAsB;IACtB,sBADc,IAAI,CAmBjB;IAED,sBAAsB;IACtB,kBADc,IAAI,CAgBjB;IAED;;;OAGG;IACH,aAAc,MAHH,qBAGO,KAFL,IAAI,CA6ChB;IAED;;;OAGG;IACH,6BAHW,KAAK,GACH,IAAI,CAahB;IAED,sBAAsB;IACtB,4BADc,IAAI,CAUjB;IAED,sBAAsB;IACtB,SADc,IAAI,CAmBjB;CACF;2BApaa,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;0BACpH,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;;WAG5B,MAAM,GAAG,SAAS;cAClB,MAAM,GAAG,SAAS;WAClB,MAAM,GAAG,SAAS;;oCAGnB,WAAW,GAAG;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAA;CACb;;aAIU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,IAAI;iBAC3C,MAAM,IAAI"}
@@ -1,8 +1,34 @@
1
+ // @ts-check
1
2
  import CustomError from "./custom-error.js";
2
3
  import Logger from "./logger.js";
3
4
  import channelsConsumer from "./channels-consumer.js";
4
5
  const logger = new Logger({ name: "ApiMaker / WebsocketRequestClient" });
5
6
  const shared = {};
7
+ /** @typedef {object | string | number | boolean | null | undefined | Array<object | string | number | boolean | null | undefined>} RequestValue */
8
+ /** @typedef {Record<string, RequestValue>} RequestData */
9
+ /**
10
+ * @typedef {object} WebsocketProgressData
11
+ * @property {number | undefined} count
12
+ * @property {number | undefined} progress
13
+ * @property {number | undefined} total
14
+ */
15
+ /**
16
+ * @typedef {RequestData & {
17
+ * command_event_sequence?: number,
18
+ * count?: number,
19
+ * message?: string,
20
+ * progress?: number,
21
+ * request_id: number,
22
+ * response?: RequestData,
23
+ * total?: number,
24
+ * type: string
25
+ * }} WebsocketResponseData
26
+ */
27
+ /**
28
+ * @typedef {object} WebsocketRequestSubscription
29
+ * @property {(action: string, data: RequestData) => void} perform
30
+ * @property {() => void} unsubscribe
31
+ */
6
32
  /** Shared websocket request client for ApiMaker command/service execution. */
7
33
  export default class ApiMakerWebsocketRequestClient {
8
34
  idleWaiters = [];
@@ -21,7 +47,7 @@ export default class ApiMakerWebsocketRequestClient {
21
47
  shared.currentApiMakerWebsocketRequestClient.reset();
22
48
  delete shared.currentApiMakerWebsocketRequestClient;
23
49
  }
24
- /** Constructor. */
50
+ /** Initializes one websocket request client instance and its request caches. */
25
51
  constructor() {
26
52
  this.currentRequestId = 1;
27
53
  this.skipReconnect = false;
@@ -62,12 +88,12 @@ export default class ApiMakerWebsocketRequestClient {
62
88
  /**
63
89
  * @param {object} args
64
90
  * @param {boolean} [args.cacheResponse]
65
- * @param {Record<string, any>} [args.global]
91
+ * @param {RequestData} [args.global]
66
92
  * @param {(value: string) => void} [args.onLog]
67
- * @param {(value: Record<string, any>) => void} [args.onProgress]
68
- * @param {(value: Record<string, any>) => void} [args.onReceived]
69
- * @param {Record<string, any>} args.request
70
- * @returns {Promise<Record<string, any>>}
93
+ * @param {(value: WebsocketProgressData) => void} [args.onProgress]
94
+ * @param {(value: WebsocketResponseData) => void} [args.onReceived]
95
+ * @param {RequestData} args.request
96
+ * @returns {Promise<RequestData>}
71
97
  */
72
98
  perform({ cacheResponse, global, onLog, onProgress, onReceived, request }) {
73
99
  const fingerprint = JSON.stringify({ global, request });
@@ -112,7 +138,7 @@ export default class ApiMakerWebsocketRequestClient {
112
138
  });
113
139
  return promise;
114
140
  }
115
- /** @returns {any} */
141
+ /** @returns {WebsocketRequestSubscription} */
116
142
  ensureSubscription() {
117
143
  if (!this.subscription) {
118
144
  logger.debug("Creating websocket request subscription");
@@ -248,7 +274,7 @@ export default class ApiMakerWebsocketRequestClient {
248
274
  this.resetSubscriptionReadyPromise();
249
275
  };
250
276
  /**
251
- * @param {Record<string, any>} data
277
+ * @param {WebsocketResponseData} data
252
278
  * @returns {void}
253
279
  */
254
280
  onReceived = (data) => {
@@ -334,4 +360,4 @@ export default class ApiMakerWebsocketRequestClient {
334
360
  this.subscriptionReadyPromise = undefined;
335
361
  }
336
362
  }
337
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LXJlcXVlc3QtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ3ZWJzb2NrZXQtcmVxdWVzdC1jbGllbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sbUJBQW1CLENBQUE7QUFDM0MsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sZ0JBQWdCLE1BQU0sd0JBQXdCLENBQUE7QUFFckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsbUNBQW1DLEVBQUMsQ0FBQyxDQUFBO0FBQ3RFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQiw4RUFBOEU7QUFDOUUsTUFBTSxDQUFDLE9BQU8sT0FBTyw4QkFBOEI7SUFDakQsV0FBVyxHQUFHLEVBQUUsQ0FBQTtJQUVoQixnREFBZ0Q7SUFDaEQsTUFBTSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLHFDQUFxQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxDQUFDLHFDQUFxQyxHQUFHLElBQUksOEJBQThCLEVBQUUsQ0FBQTtRQUNyRixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMscUNBQXFDLENBQUE7SUFDckQsQ0FBQztJQUVELHNCQUFzQjtJQUN0QixNQUFNLENBQUMsWUFBWTtRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLHFDQUFxQyxFQUFFLENBQUM7WUFDbEQsT0FBTTtRQUNSLENBQUM7UUFFRCxNQUFNLENBQUMscUNBQXFDLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDcEQsT0FBTyxNQUFNLENBQUMscUNBQXFDLENBQUE7SUFDckQsQ0FBQztJQUVELG1CQUFtQjtJQUNuQjtRQUNFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUE7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUE7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUE7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Q0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQTtRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFBO1FBQ3pCLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRWpELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ2pDLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUN4QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFBO1FBQzlCLElBQUksQ0FBQywrQkFBK0IsR0FBRyxTQUFTLENBQUE7UUFDaEQsSUFBSSxDQUFDLDhCQUE4QixHQUFHLFNBQVMsQ0FBQTtRQUMvQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFBO0lBQzNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDdXN0b21FcnJvciBmcm9tIFwiLi9jdXN0b20tZXJyb3IuanNcIlxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi9sb2dnZXIuanNcIlxuaW1wb3J0IGNoYW5uZWxzQ29uc3VtZXIgZnJvbSBcIi4vY2hhbm5lbHMtY29uc3VtZXIuanNcIlxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKHtuYW1lOiBcIkFwaU1ha2VyIC8gV2Vic29ja2V0UmVxdWVzdENsaWVudFwifSlcbmNvbnN0IHNoYXJlZCA9IHt9XG5cbi8qKiBTaGFyZWQgd2Vic29ja2V0IHJlcXVlc3QgY2xpZW50IGZvciBBcGlNYWtlciBjb21tYW5kL3NlcnZpY2UgZXhlY3V0aW9uLiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50IHtcbiAgaWRsZVdhaXRlcnMgPSBbXVxuXG4gIC8qKiBAcmV0dXJucyB7QXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50fSAqL1xuICBzdGF0aWMgY3VycmVudCAoKSB7XG4gICAgaWYgKCFzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudCkge1xuICAgICAgc2hhcmVkLmN1cnJlbnRBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnQgPSBuZXcgQXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50KClcbiAgICB9XG5cbiAgICByZXR1cm4gc2hhcmVkLmN1cnJlbnRBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnRcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgc3RhdGljIHJlc2V0Q3VycmVudCAoKSB7XG4gICAgaWYgKCFzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgc2hhcmVkLmN1cnJlbnRBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnQucmVzZXQoKVxuICAgIGRlbGV0ZSBzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudFxuICB9XG5cbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdElkID0gMVxuICAgIHRoaXMuc2tpcFJlY29ubmVjdCA9IGZhbHNlXG4gICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMgPSB7fVxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludCA9IHt9XG4gICAgdGhpcy5yZXNwb25zZUNhY2hlID0ge31cbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJuZXdcIlxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtudW1iZXJ9ICovXG4gIHBlbmRpbmdSZXF1ZXN0c0NvdW50ICgpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5wZW5kaW5nUmVxdWVzdHMpLmxlbmd0aFxuICB9XG5cbiAgLyoqXG4gICAqIFdhaXRzIGZvciBhbGwgaW4tZmxpZ2h0IHdlYnNvY2tldCByZXF1ZXN0cyB0byBjb21wbGV0ZS5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IFthcmdzXVxuICAgKiBAcGFyYW0ge251bWJlcn0gW2FyZ3MudGltZW91dE1zXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIHdhaXRGb3JJZGxlICh7dGltZW91dE1zID0gNTAwMH0gPSB7fSkge1xuICAgIGlmICh0aGlzLnBlbmRpbmdSZXF1ZXN0c0NvdW50KCkgPT0gMCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pZGxlV2FpdGVycyA9IHRoaXMuaWRsZVdhaXRlcnMuZmlsdGVyKChpZGxlV2FpdGVyKSA9PiBpZGxlV2FpdGVyLnJlamVjdCAhPSByZWplY3QpXG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoYFRpbWVkIG91dCB3aGlsZSB3YWl0aW5nIGZvciB3ZWJzb2NrZXQgcmVxdWVzdHMgdG8gZmluaXNoLiBQZW5kaW5nIHJlcXVlc3RzOiAke3RoaXMucGVuZGluZ1JlcXVlc3RzQ291bnQoKX1gKSlcbiAgICAgIH0sIHRpbWVvdXRNcylcblxuICAgICAgdGhpcy5pZGxlV2FpdGVycy5wdXNoKHtcbiAgICAgICAgcmVqZWN0LFxuICAgICAgICByZXNvbHZlOiAoKSA9PiB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpXG4gICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmNhY2hlUmVzcG9uc2VdXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW2FyZ3MuZ2xvYmFsXVxuICAgKiBAcGFyYW0geyh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkfSBbYXJncy5vbkxvZ11cbiAgICogQHBhcmFtIHsodmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IHZvaWR9IFthcmdzLm9uUHJvZ3Jlc3NdXG4gICAqIEBwYXJhbSB7KHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiB2b2lkfSBbYXJncy5vblJlY2VpdmVkXVxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGFyZ3MucmVxdWVzdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn1cbiAgICovXG4gIHBlcmZvcm0gKHtjYWNoZVJlc3BvbnNlLCBnbG9iYWwsIG9uTG9nLCBvblByb2dyZXNzLCBvblJlY2VpdmVkLCByZXF1ZXN0fSkge1xuICAgIGNvbnN0IGZpbmdlcnByaW50ID0gSlNPTi5zdHJpbmdpZnkoe2dsb2JhbCwgcmVxdWVzdH0pXG5cbiAgICBpZiAoY2FjaGVSZXNwb25zZSAmJiB0aGlzLnJlc3BvbnNlQ2FjaGVbZmluZ2VycHJpbnRdKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMucmVzcG9uc2VDYWNoZVtmaW5nZXJwcmludF0pXG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludFtmaW5nZXJwcmludF0pIHtcbiAgICAgIGNvbnN0IHBlbmRpbmdSZXF1ZXN0RGF0YSA9IHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludFtmaW5nZXJwcmludF1cbiAgICAgIGNvbnN0IHBlbmRpbmdSZXF1ZXN0ID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNbcGVuZGluZ1JlcXVlc3REYXRhLnJlcXVlc3RJZF1cblxuICAgICAgaWYgKG9uTG9nKSBwZW5kaW5nUmVxdWVzdD8ub25Mb2dDYWxsYmFja3MucHVzaChvbkxvZylcbiAgICAgIGlmIChvblByb2dyZXNzKSBwZW5kaW5nUmVxdWVzdD8ub25Qcm9ncmVzc0NhbGxiYWNrcy5wdXNoKG9uUHJvZ3Jlc3MpXG4gICAgICBpZiAob25SZWNlaXZlZCkgcGVuZGluZ1JlcXVlc3Q/Lm9uUmVjZWl2ZWRDYWxsYmFja3MucHVzaChvblJlY2VpdmVkKVxuXG4gICAgICByZXR1cm4gcGVuZGluZ1JlcXVlc3REYXRhLnByb21pc2VcbiAgICB9XG5cbiAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgcmVxdWVzdElkID0gdGhpcy5jdXJyZW50UmVxdWVzdElkXG4gICAgICB0aGlzLmN1cnJlbnRSZXF1ZXN0SWQgKz0gMVxuXG4gICAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdID0ge1xuICAgICAgICBjYWNoZVJlc3BvbnNlLFxuICAgICAgICBkZWxpdmVyeVN0YXRlOiBcInF1ZXVlZFwiLFxuICAgICAgICBmaW5nZXJwcmludCxcbiAgICAgICAgbGFzdENvbW1hbmRFdmVudFNlcXVlbmNlOiAwLFxuICAgICAgICBvbkxvZ0NhbGxiYWNrczogb25Mb2cgPyBbb25Mb2ddIDogW10sXG4gICAgICAgIG9uUHJvZ3Jlc3NDYWxsYmFja3M6IG9uUHJvZ3Jlc3MgPyBbb25Qcm9ncmVzc10gOiBbXSxcbiAgICAgICAgb25SZWNlaXZlZENhbGxiYWNrczogb25SZWNlaXZlZCA/IFtvblJlY2VpdmVkXSA6IFtdLFxuICAgICAgICBnbG9iYWwsXG4gICAgICAgIHJlcXVlc3QsXG4gICAgICAgIHJlcXVlc3RVaWQ6IHRoaXMuZ2VuZXJhdGVSZXF1ZXN0VWlkKHJlcXVlc3RJZCksXG4gICAgICAgIHJlamVjdCxcbiAgICAgICAgcmVzb2x2ZVxuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbmRQZW5kaW5nUmVxdWVzdChyZXF1ZXN0SWQpXG4gICAgfSlcblxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludFtmaW5nZXJwcmludF0gPSB7cHJvbWlzZSwgcmVxdWVzdElkOiB0aGlzLmN1cnJlbnRSZXF1ZXN0SWQgLSAxfVxuXG4gICAgcHJvbWlzZS50aGVuKCgpID0+IHtcbiAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnRbZmluZ2VycHJpbnRdXG4gICAgfSwgKCkgPT4ge1xuICAgICAgZGVsZXRlIHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludFtmaW5nZXJwcmludF1cbiAgICB9KVxuXG4gICAgcmV0dXJuIHByb21pc2VcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7YW55fSAqL1xuICBlbnN1cmVTdWJzY3JpcHRpb24gKCkge1xuICAgIGlmICghdGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhcIkNyZWF0aW5nIHdlYnNvY2tldCByZXF1ZXN0IHN1YnNjcmlwdGlvblwiKVxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25TdGF0ZSA9IFwiY29ubmVjdGluZ1wiXG4gICAgICB0aGlzLnJlc2V0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlKClcblxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBjaGFubmVsc0NvbnN1bWVyKCkuc3Vic2NyaXB0aW9ucy5jcmVhdGUoXG4gICAgICAgIHtjaGFubmVsOiBcIkFwaU1ha2VyOjpSZXF1ZXN0c0NoYW5uZWxcIn0sXG4gICAgICAgIHtcbiAgICAgICAgICBjb25uZWN0ZWQ6IHRoaXMub25Db25uZWN0ZWQsXG4gICAgICAgICAgZGlzY29ubmVjdGVkOiB0aGlzLm9uRGlzY29ubmVjdGVkLFxuICAgICAgICAgIHJlY2VpdmVkOiB0aGlzLm9uUmVjZWl2ZWQsXG4gICAgICAgICAgcmVqZWN0ZWQ6IHRoaXMub25SZWplY3RlZFxuICAgICAgICB9XG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uXG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59ICovXG4gIHdhaXRGb3JTdWJzY3JpcHRpb24gKCkge1xuICAgIHRoaXMuZW5zdXJlU3Vic2NyaXB0aW9uKClcblxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvblN0YXRlID09IFwiY29ubmVjdGVkXCIpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxuICAgIH1cblxuICAgIGlmICghdGhpcy5zdWJzY3JpcHRpb25SZWFkeVByb21pc2UpIHtcbiAgICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb25SZWFkeVByb21pc2UoKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICByZXNldFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSAoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25SZWFkeVByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLnJlc29sdmVTdWJzY3JpcHRpb25SZWFkeVByb21pc2UgPSByZXNvbHZlXG4gICAgICB0aGlzLnJlamVjdFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSA9IHJlamVjdFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJlcXVlc3RJZFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgZ2VuZXJhdGVSZXF1ZXN0VWlkIChyZXF1ZXN0SWQpIHtcbiAgICBpZiAoZ2xvYmFsVGhpcy5jcnlwdG8/LnJhbmRvbVVVSUQpIHtcbiAgICAgIHJldHVybiBnbG9iYWxUaGlzLmNyeXB0by5yYW5kb21VVUlEKClcbiAgICB9XG5cbiAgICByZXR1cm4gYGFwaS1tYWtlci1yZXF1ZXN0LSR7RGF0ZS5ub3coKX0tJHtyZXF1ZXN0SWR9YFxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSByZXF1ZXN0SWRcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzZW5kUGVuZGluZ1JlcXVlc3QgKHJlcXVlc3RJZCkge1xuICAgIGNvbnN0IHBlbmRpbmdSZXF1ZXN0ID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNbcmVxdWVzdElkXVxuXG4gICAgaWYgKCFwZW5kaW5nUmVxdWVzdCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHBlbmRpbmdSZXF1ZXN0LmRlbGl2ZXJ5U3RhdGUgIT0gXCJxdWV1ZWRcIikge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgcGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSA9IFwid2FpdGluZ19mb3JfY29ubmVjdGlvblwiXG5cbiAgICB0aGlzLndhaXRGb3JTdWJzY3JpcHRpb24oKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBsYXRlc3RQZW5kaW5nUmVxdWVzdCA9IHRoaXMucGVuZGluZ1JlcXVlc3RzW3JlcXVlc3RJZF1cblxuICAgICAgICBpZiAoIWxhdGVzdFBlbmRpbmdSZXF1ZXN0KSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGF0ZXN0UGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSAhPSBcIndhaXRpbmdfZm9yX2Nvbm5lY3Rpb25cIikge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgbGF0ZXN0UGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSA9IFwic2VudFwiXG5cbiAgICAgICAgdGhpcy5lbnN1cmVTdWJzY3JpcHRpb24oKS5wZXJmb3JtKFwiZXhlY3V0ZVwiLCB7XG4gICAgICAgICAgY2FjaGVfcmVzcG9uc2U6IGxhdGVzdFBlbmRpbmdSZXF1ZXN0LmNhY2hlUmVzcG9uc2UsXG4gICAgICAgICAgZ2xvYmFsOiBsYXRlc3RQZW5kaW5nUmVxdWVzdC5nbG9iYWwsXG4gICAgICAgICAgbGFzdF9jb21tYW5kX2V2ZW50X3NlcXVlbmNlOiBsYXRlc3RQZW5kaW5nUmVxdWVzdC5sYXN0Q29tbWFuZEV2ZW50U2VxdWVuY2UsXG4gICAgICAgICAgcmVxdWVzdDogbGF0ZXN0UGVuZGluZ1JlcXVlc3QucmVxdWVzdCxcbiAgICAgICAgICByZXF1ZXN0X2lkOiByZXF1ZXN0SWQsXG4gICAgICAgICAgcmVxdWVzdF91aWQ6IGxhdGVzdFBlbmRpbmdSZXF1ZXN0LnJlcXVlc3RVaWRcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnN0IGxhdGVzdFBlbmRpbmdSZXF1ZXN0ID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNbcmVxdWVzdElkXVxuXG4gICAgICAgIGlmICghbGF0ZXN0UGVuZGluZ1JlcXVlc3QpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvblN0YXRlID09IFwicmVqZWN0ZWRcIikge1xuICAgICAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdXG4gICAgICAgICAgbGF0ZXN0UGVuZGluZ1JlcXVlc3QucmVqZWN0KGVycm9yKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgbGF0ZXN0UGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSA9IFwicXVldWVkXCJcbiAgICAgIH0pXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIHJlc2VuZFF1ZXVlZFJlcXVlc3RzICgpIHtcbiAgICBPYmplY3QuZW50cmllcyh0aGlzLnBlbmRpbmdSZXF1ZXN0cykuZm9yRWFjaCgoW3JlcXVlc3RJZCwgcGVuZGluZ1JlcXVlc3RdKSA9PiB7XG4gICAgICBpZiAocGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSA9PSBcInF1ZXVlZFwiKSB7XG4gICAgICAgIHRoaXMuc2VuZFBlbmRpbmdSZXF1ZXN0KHBhcnNlSW50KHJlcXVlc3RJZCwgMTApKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIG9uQ29ubmVjdGVkID0gKCkgPT4ge1xuICAgIGxvZ2dlci5kZWJ1ZyhcIldlYnNvY2tldCByZXF1ZXN0IHN1YnNjcmlwdGlvbiBjb25uZWN0ZWRcIilcbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJjb25uZWN0ZWRcIlxuICAgIHRoaXMucmVzb2x2ZVN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZT8uKClcbiAgICB0aGlzLnJlc2VuZFF1ZXVlZFJlcXVlc3RzKClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgb25EaXNjb25uZWN0ZWQgPSAoKSA9PiB7XG4gICAgbG9nZ2VyLmRlYnVnKFwiV2Vic29ja2V0IHJlcXVlc3Qgc3Vic2NyaXB0aW9uIGRpc2Nvbm5lY3RlZFwiKVxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gbnVsbFxuXG4gICAgaWYgKHRoaXMuc2tpcFJlY29ubmVjdCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25TdGF0ZSA9IFwicmVzZXRcIlxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLnBlbmRpbmdSZXF1ZXN0cykuZm9yRWFjaCgocGVuZGluZ1JlcXVlc3QpID0+IHtcbiAgICAgIGlmIChwZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlICE9IFwiY29tcGxldGVkXCIpIHtcbiAgICAgICAgcGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSA9IFwicXVldWVkXCJcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25TdGF0ZSA9IFwiZGlzY29ubmVjdGVkXCJcbiAgICB0aGlzLnJlc2V0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlKClcbiAgICB0aGlzLmVuc3VyZVN1YnNjcmlwdGlvbigpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIG9uUmVqZWN0ZWQgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMuc2tpcFJlY29ubmVjdCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25TdGF0ZSA9IFwicmVzZXRcIlxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihcIldlYnNvY2tldCByZXF1ZXN0IHN1YnNjcmlwdGlvbiB3YXMgcmVqZWN0ZWRcIilcblxuICAgIGxvZ2dlci5lcnJvcihlcnJvcilcbiAgICB0aGlzLnJlamVjdFBlbmRpbmdSZXF1ZXN0cyhlcnJvcilcbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJyZWplY3RlZFwiXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsXG4gICAgdGhpcy5yZWplY3RTdWJzY3JpcHRpb25SZWFkeVByb21pc2U/LihlcnJvcilcbiAgICB0aGlzLnJlc2V0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGRhdGFcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBvblJlY2VpdmVkID0gKGRhdGEpID0+IHtcbiAgICBjb25zdCBwZW5kaW5nUmVxdWVzdCA9IHRoaXMucGVuZGluZ1JlcXVlc3RzW2RhdGEucmVxdWVzdF9pZF1cblxuICAgIGlmICghcGVuZGluZ1JlcXVlc3QpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBbXCJJZ25vcmluZyB3ZWJzb2NrZXQgcmVzcG9uc2Ugd2l0aG91dCBhIHBlbmRpbmcgcmVxdWVzdFwiLCB7ZGF0YX1dKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKGRhdGEuY29tbWFuZF9ldmVudF9zZXF1ZW5jZSAmJiBkYXRhLmNvbW1hbmRfZXZlbnRfc2VxdWVuY2UgPiBwZW5kaW5nUmVxdWVzdC5sYXN0Q29tbWFuZEV2ZW50U2VxdWVuY2UpIHtcbiAgICAgIHBlbmRpbmdSZXF1ZXN0Lmxhc3RDb21tYW5kRXZlbnRTZXF1ZW5jZSA9IGRhdGEuY29tbWFuZF9ldmVudF9zZXF1ZW5jZVxuICAgIH1cblxuICAgIGlmIChkYXRhLnR5cGUgPT0gXCJhcGlfbWFrZXJfY29tbWFuZF9sb2dcIikge1xuICAgICAgcGVuZGluZ1JlcXVlc3Qub25Mb2dDYWxsYmFja3MuZm9yRWFjaCgoY2FsbGJhY2spID0+IGNhbGxiYWNrKGRhdGEubWVzc2FnZSkpXG4gICAgfSBlbHNlIGlmIChkYXRhLnR5cGUgPT0gXCJhcGlfbWFrZXJfY29tbWFuZF9wcm9ncmVzc1wiKSB7XG4gICAgICBjb25zdCBwcm9ncmVzc0RhdGEgPSB7XG4gICAgICAgIGNvdW50OiBkYXRhLmNvdW50LFxuICAgICAgICBwcm9ncmVzczogZGF0YS5wcm9ncmVzcyxcbiAgICAgICAgdG90YWw6IGRhdGEudG90YWxcbiAgICAgIH1cblxuICAgICAgcGVuZGluZ1JlcXVlc3Qub25Qcm9ncmVzc0NhbGxiYWNrcy5mb3JFYWNoKChjYWxsYmFjaykgPT4gY2FsbGJhY2socHJvZ3Jlc3NEYXRhKSlcbiAgICB9IGVsc2UgaWYgKGRhdGEudHlwZSA9PSBcImFwaV9tYWtlcl9yZXF1ZXN0X3JlY2VpdmVkXCIpIHtcbiAgICAgIHBlbmRpbmdSZXF1ZXN0LmRlbGl2ZXJ5U3RhdGUgPSBcInJlY2VpdmVkXCJcbiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uUmVjZWl2ZWRDYWxsYmFja3MuZm9yRWFjaCgoY2FsbGJhY2spID0+IGNhbGxiYWNrKGRhdGEpKVxuICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09IFwiYXBpX21ha2VyX3JlcXVlc3RfcmVzcG9uc2VcIikge1xuICAgICAgZGVsZXRlIHRoaXMucGVuZGluZ1JlcXVlc3RzW2RhdGEucmVxdWVzdF9pZF1cblxuICAgICAgaWYgKHBlbmRpbmdSZXF1ZXN0LmNhY2hlUmVzcG9uc2UpIHtcbiAgICAgICAgdGhpcy5yZXNwb25zZUNhY2hlW3BlbmRpbmdSZXF1ZXN0LmZpbmdlcnByaW50XSA9IGRhdGEucmVzcG9uc2VcbiAgICAgIH1cblxuICAgICAgcGVuZGluZ1JlcXVlc3QucmVzb2x2ZShkYXRhLnJlc3BvbnNlKVxuICAgICAgdGhpcy5yZXNvbHZlSWRsZVdhaXRlcnNJZklkbGUoKVxuICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09IFwiYXBpX21ha2VyX3JlcXVlc3RfZXJyb3JcIikge1xuICAgICAgZGVsZXRlIHRoaXMucGVuZGluZ1JlcXVlc3RzW2RhdGEucmVxdWVzdF9pZF1cbiAgICAgIHBlbmRpbmdSZXF1ZXN0LnJlamVjdChuZXcgQ3VzdG9tRXJyb3IoXCJXZWJzb2NrZXQgcmVxdWVzdCBmYWlsZWRcIiwge3Jlc3BvbnNlOiBkYXRhLnJlc3BvbnNlfSkpXG4gICAgICB0aGlzLnJlc29sdmVJZGxlV2FpdGVyc0lmSWRsZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tkYXRhLnJlcXVlc3RfaWRdXG4gICAgICBwZW5kaW5nUmVxdWVzdC5yZWplY3QobmV3IEVycm9yKGBVbmtub3duIHdlYnNvY2tldCByZXF1ZXN0IHJlc3BvbnNlIHR5cGU6ICR7ZGF0YS50eXBlfWApKVxuICAgICAgdGhpcy5yZXNvbHZlSWRsZVdhaXRlcnNJZklkbGUoKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0Vycm9yfSBlcnJvclxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHJlamVjdFBlbmRpbmdSZXF1ZXN0cyAoZXJyb3IpIHtcbiAgICBjb25zdCBwZW5kaW5nUmVxdWVzdHMgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1xuXG4gICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMgPSB7fVxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludCA9IHt9XG5cbiAgICBPYmplY3QudmFsdWVzKHBlbmRpbmdSZXF1ZXN0cykuZm9yRWFjaCgocGVuZGluZ1JlcXVlc3QpID0+IHtcbiAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHBlbmRpbmdSZXF1ZXN0LnJlamVjdChlcnJvcikpXG4gICAgfSlcblxuICAgIHRoaXMucmVzb2x2ZUlkbGVXYWl0ZXJzSWZJZGxlKClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgcmVzb2x2ZUlkbGVXYWl0ZXJzSWZJZGxlICgpIHtcbiAgICBpZiAodGhpcy5wZW5kaW5nUmVxdWVzdHNDb3VudCgpID4gMCB8fCB0aGlzLmlkbGVXYWl0ZXJzLmxlbmd0aCA9PSAwKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBpZGxlV2FpdGVycyA9IHRoaXMuaWRsZVdhaXRlcnNcblxuICAgIHRoaXMuaWRsZVdhaXRlcnMgPSBbXVxuICAgIGlkbGVXYWl0ZXJzLmZvckVhY2goKGlkbGVXYWl0ZXIpID0+IGlkbGVXYWl0ZXIucmVzb2x2ZSgpKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICByZXNldCAoKSB7XG4gICAgY29uc3QgcmVzZXRFcnJvciA9IG5ldyBFcnJvcihcIldlYnNvY2tldCByZXF1ZXN0IGNsaWVudCB3YXMgcmVzZXRcIilcblxuICAgIHRoaXMuc2tpcFJlY29ubmVjdCA9IHRydWVcbiAgICB0aGlzLnJlamVjdFBlbmRpbmdSZXF1ZXN0cyhyZXNldEVycm9yKVxuICAgIHRoaXMucmVzcG9uc2VDYWNoZSA9IHt9XG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdElkID0gMVxuICAgIHRoaXMucmVqZWN0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlPy4ocmVzZXRFcnJvcilcblxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGxcbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJuZXdcIlxuICAgIHRoaXMucmVzb2x2ZVN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSA9IHVuZGVmaW5lZFxuICAgIHRoaXMucmVqZWN0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlID0gdW5kZWZpbmVkXG4gICAgdGhpcy5zdWJzY3JpcHRpb25SZWFkeVByb21pc2UgPSB1bmRlZmluZWRcbiAgfVxufVxuIl19
363
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LXJlcXVlc3QtY2xpZW50LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ3ZWJzb2NrZXQtcmVxdWVzdC1jbGllbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUNaLE9BQU8sV0FBVyxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLGdCQUFnQixNQUFNLHdCQUF3QixDQUFBO0FBRXJELE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEVBQUMsSUFBSSxFQUFFLG1DQUFtQyxFQUFDLENBQUMsQ0FBQTtBQUN0RSxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUE7QUFFakIsbUpBQW1KO0FBQ25KLDBEQUEwRDtBQUMxRDs7Ozs7R0FLRztBQUNIOzs7Ozs7Ozs7OztHQVdHO0FBQ0g7Ozs7R0FJRztBQUVILDhFQUE4RTtBQUM5RSxNQUFNLENBQUMsT0FBTyxPQUFPLDhCQUE4QjtJQUNqRCxXQUFXLEdBQUcsRUFBRSxDQUFBO0lBRWhCLGdEQUFnRDtJQUNoRCxNQUFNLENBQUMsT0FBTztRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMscUNBQXFDLEVBQUUsQ0FBQztZQUNsRCxNQUFNLENBQUMscUNBQXFDLEdBQUcsSUFBSSw4QkFBOEIsRUFBRSxDQUFBO1FBQ3JGLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLE1BQU0sQ0FBQyxZQUFZO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMscUNBQXFDLEVBQUUsQ0FBQztZQUNsRCxPQUFNO1FBQ1IsQ0FBQztRQUVELE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNwRCxPQUFPLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQTtJQUNyRCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGO1FBQ0UsSUFBSSxDQUFDLGdCQUFnQixHQUFH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QUFHLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7UUFFbEUsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUE7UUFDekIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUE7UUFDekIsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFakQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDakMsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUE7UUFDOUIsSUFBSSxDQUFDLCtCQUErQixHQUFHLFNBQVMsQ0FBQTtRQUNoRCxJQUFJLENBQUMsOEJBQThCLEdBQUcsU0FBUyxDQUFBO1FBQy9DLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxTQUFTLENBQUE7SUFDM0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5pbXBvcnQgQ3VzdG9tRXJyb3IgZnJvbSBcIi4vY3VzdG9tLWVycm9yLmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyLmpzXCJcbmltcG9ydCBjaGFubmVsc0NvbnN1bWVyIGZyb20gXCIuL2NoYW5uZWxzLWNvbnN1bWVyLmpzXCJcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIFdlYnNvY2tldFJlcXVlc3RDbGllbnRcIn0pXG5jb25zdCBzaGFyZWQgPSB7fVxuXG4vKiogQHR5cGVkZWYge29iamVjdCB8IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkIHwgQXJyYXk8b2JqZWN0IHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQ+fSBSZXF1ZXN0VmFsdWUgKi9cbi8qKiBAdHlwZWRlZiB7UmVjb3JkPHN0cmluZywgUmVxdWVzdFZhbHVlPn0gUmVxdWVzdERhdGEgKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gV2Vic29ja2V0UHJvZ3Jlc3NEYXRhXG4gKiBAcHJvcGVydHkge251bWJlciB8IHVuZGVmaW5lZH0gY291bnRcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyIHwgdW5kZWZpbmVkfSBwcm9ncmVzc1xuICogQHByb3BlcnR5IHtudW1iZXIgfCB1bmRlZmluZWR9IHRvdGFsXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge1JlcXVlc3REYXRhICYge1xuICogICBjb21tYW5kX2V2ZW50X3NlcXVlbmNlPzogbnVtYmVyLFxuICogICBjb3VudD86IG51bWJlcixcbiAqICAgbWVzc2FnZT86IHN0cmluZyxcbiAqICAgcHJvZ3Jlc3M/OiBudW1iZXIsXG4gKiAgIHJlcXVlc3RfaWQ6IG51bWJlcixcbiAqICAgcmVzcG9uc2U/OiBSZXF1ZXN0RGF0YSxcbiAqICAgdG90YWw/OiBudW1iZXIsXG4gKiAgIHR5cGU6IHN0cmluZ1xuICogfX0gV2Vic29ja2V0UmVzcG9uc2VEYXRhXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gV2Vic29ja2V0UmVxdWVzdFN1YnNjcmlwdGlvblxuICogQHByb3BlcnR5IHsoYWN0aW9uOiBzdHJpbmcsIGRhdGE6IFJlcXVlc3REYXRhKSA9PiB2b2lkfSBwZXJmb3JtXG4gKiBAcHJvcGVydHkgeygpID0+IHZvaWR9IHVuc3Vic2NyaWJlXG4gKi9cblxuLyoqIFNoYXJlZCB3ZWJzb2NrZXQgcmVxdWVzdCBjbGllbnQgZm9yIEFwaU1ha2VyIGNvbW1hbmQvc2VydmljZSBleGVjdXRpb24uICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnQge1xuICBpZGxlV2FpdGVycyA9IFtdXG5cbiAgLyoqIEByZXR1cm5zIHtBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnR9ICovXG4gIHN0YXRpYyBjdXJyZW50ICgpIHtcbiAgICBpZiAoIXNoYXJlZC5jdXJyZW50QXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50KSB7XG4gICAgICBzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudCA9IG5ldyBBcGlNYWtlcldlYnNvY2tldFJlcXVlc3RDbGllbnQoKVxuICAgIH1cblxuICAgIHJldHVybiBzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudFxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBzdGF0aWMgcmVzZXRDdXJyZW50ICgpIHtcbiAgICBpZiAoIXNoYXJlZC5jdXJyZW50QXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBzaGFyZWQuY3VycmVudEFwaU1ha2VyV2Vic29ja2V0UmVxdWVzdENsaWVudC5yZXNldCgpXG4gICAgZGVsZXRlIHNoYXJlZC5jdXJyZW50QXBpTWFrZXJXZWJzb2NrZXRSZXF1ZXN0Q2xpZW50XG4gIH1cblxuICAvKiogSW5pdGlhbGl6ZXMgb25lIHdlYnNvY2tldCByZXF1ZXN0IGNsaWVudCBpbnN0YW5jZSBhbmQgaXRzIHJlcXVlc3QgY2FjaGVzLiAqL1xuICBjb25zdHJ1Y3RvciAoKSB7XG4gICAgdGhpcy5jdXJyZW50UmVxdWVzdElkID0gMVxuICAgIHRoaXMuc2tpcFJlY29ubmVjdCA9IGZhbHNlXG4gICAgdGhpcy5wZW5kaW5nUmVxdWVzdHMgPSB7fVxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzQnlGaW5nZXJwcmludCA9IHt9XG4gICAgdGhpcy5yZXNwb25zZUNhY2hlID0ge31cbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJuZXdcIlxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtudW1iZXJ9ICovXG4gIHBlbmRpbmdSZXF1ZXN0c0NvdW50ICgpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5wZW5kaW5nUmVxdWVzdHMpLmxlbmd0aFxuICB9XG5cbiAgLyoqXG4gICAqIFdhaXRzIGZvciBhbGwgaW4tZmxpZ2h0IHdlYnNvY2tldCByZXF1ZXN0cyB0byBjb21wbGV0ZS5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IFthcmdzXVxuICAgKiBAcGFyYW0ge251bWJlcn0gW2FyZ3MudGltZW91dE1zXVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIHdhaXRGb3JJZGxlICh7dGltZW91dE1zID0gNTAwMH0gPSB7fSkge1xuICAgIGlmICh0aGlzLnBlbmRpbmdSZXF1ZXN0c0NvdW50KCkgPT0gMCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pZGxlV2FpdGVycyA9IHRoaXMuaWRsZVdhaXRlcnMuZmlsdGVyKChpZGxlV2FpdGVyKSA9PiBpZGxlV2FpdGVyLnJlamVjdCAhPSByZWplY3QpXG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoYFRpbWVkIG91dCB3aGlsZSB3YWl0aW5nIGZvciB3ZWJzb2NrZXQgcmVxdWVzdHMgdG8gZmluaXNoLiBQZW5kaW5nIHJlcXVlc3RzOiAke3RoaXMucGVuZGluZ1JlcXVlc3RzQ291bnQoKX1gKSlcbiAgICAgIH0sIHRpbWVvdXRNcylcblxuICAgICAgdGhpcy5pZGxlV2FpdGVycy5wdXNoKHtcbiAgICAgICAgcmVqZWN0LFxuICAgICAgICByZXNvbHZlOiAoKSA9PiB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpXG4gICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmNhY2hlUmVzcG9uc2VdXG4gICAqIEBwYXJhbSB7UmVxdWVzdERhdGF9IFthcmdzLmdsb2JhbF1cbiAgICogQHBhcmFtIHsodmFsdWU6IHN0cmluZykgPT4gdm9pZH0gW2FyZ3Mub25Mb2ddXG4gICAqIEBwYXJhbSB7KHZhbHVlOiBXZWJzb2NrZXRQcm9ncmVzc0RhdGEpID0+IHZvaWR9IFthcmdzLm9uUHJvZ3Jlc3NdXG4gICAqIEBwYXJhbSB7KHZhbHVlOiBXZWJzb2NrZXRSZXNwb25zZURhdGEpID0+IHZvaWR9IFthcmdzLm9uUmVjZWl2ZWRdXG4gICAqIEBwYXJhbSB7UmVxdWVzdERhdGF9IGFyZ3MucmVxdWVzdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSZXF1ZXN0RGF0YT59XG4gICAqL1xuICBwZXJmb3JtICh7Y2FjaGVSZXNwb25zZSwgZ2xvYmFsLCBvbkxvZywgb25Qcm9ncmVzcywgb25SZWNlaXZlZCwgcmVxdWVzdH0pIHtcbiAgICBjb25zdCBmaW5nZXJwcmludCA9IEpTT04uc3RyaW5naWZ5KHtnbG9iYWwsIHJlcXVlc3R9KVxuXG4gICAgaWYgKGNhY2hlUmVzcG9uc2UgJiYgdGhpcy5yZXNwb25zZUNhY2hlW2ZpbmdlcnByaW50XSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLnJlc3BvbnNlQ2FjaGVbZmluZ2VycHJpbnRdKVxuICAgIH1cblxuICAgIGlmICh0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnRbZmluZ2VycHJpbnRdKSB7XG4gICAgICBjb25zdCBwZW5kaW5nUmVxdWVzdERhdGEgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnRbZmluZ2VycHJpbnRdXG4gICAgICBjb25zdCBwZW5kaW5nUmVxdWVzdCA9IHRoaXMucGVuZGluZ1JlcXVlc3RzW3BlbmRpbmdSZXF1ZXN0RGF0YS5yZXF1ZXN0SWRdXG5cbiAgICAgIGlmIChvbkxvZykgcGVuZGluZ1JlcXVlc3Q/Lm9uTG9nQ2FsbGJhY2tzLnB1c2gob25Mb2cpXG4gICAgICBpZiAob25Qcm9ncmVzcykgcGVuZGluZ1JlcXVlc3Q/Lm9uUHJvZ3Jlc3NDYWxsYmFja3MucHVzaChvblByb2dyZXNzKVxuICAgICAgaWYgKG9uUmVjZWl2ZWQpIHBlbmRpbmdSZXF1ZXN0Py5vblJlY2VpdmVkQ2FsbGJhY2tzLnB1c2gob25SZWNlaXZlZClcblxuICAgICAgcmV0dXJuIHBlbmRpbmdSZXF1ZXN0RGF0YS5wcm9taXNlXG4gICAgfVxuXG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3RJZCA9IHRoaXMuY3VycmVudFJlcXVlc3RJZFxuICAgICAgdGhpcy5jdXJyZW50UmVxdWVzdElkICs9IDFcblxuICAgICAgdGhpcy5wZW5kaW5nUmVxdWVzdHNbcmVxdWVzdElkXSA9IHtcbiAgICAgICAgY2FjaGVSZXNwb25zZSxcbiAgICAgICAgZGVsaXZlcnlTdGF0ZTogXCJxdWV1ZWRcIixcbiAgICAgICAgZmluZ2VycHJpbnQsXG4gICAgICAgIGxhc3RDb21tYW5kRXZlbnRTZXF1ZW5jZTogMCxcbiAgICAgICAgb25Mb2dDYWxsYmFja3M6IG9uTG9nID8gW29uTG9nXSA6IFtdLFxuICAgICAgICBvblByb2dyZXNzQ2FsbGJhY2tzOiBvblByb2dyZXNzID8gW29uUHJvZ3Jlc3NdIDogW10sXG4gICAgICAgIG9uUmVjZWl2ZWRDYWxsYmFja3M6IG9uUmVjZWl2ZWQgPyBbb25SZWNlaXZlZF0gOiBbXSxcbiAgICAgICAgZ2xvYmFsLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgICByZXF1ZXN0VWlkOiB0aGlzLmdlbmVyYXRlUmVxdWVzdFVpZChyZXF1ZXN0SWQpLFxuICAgICAgICByZWplY3QsXG4gICAgICAgIHJlc29sdmVcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZW5kUGVuZGluZ1JlcXVlc3QocmVxdWVzdElkKVxuICAgIH0pXG5cbiAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnRbZmluZ2VycHJpbnRdID0ge3Byb21pc2UsIHJlcXVlc3RJZDogdGhpcy5jdXJyZW50UmVxdWVzdElkIC0gMX1cblxuICAgIHByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICBkZWxldGUgdGhpcy5wZW5kaW5nUmVxdWVzdHNCeUZpbmdlcnByaW50W2ZpbmdlcnByaW50XVxuICAgIH0sICgpID0+IHtcbiAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnRbZmluZ2VycHJpbnRdXG4gICAgfSlcblxuICAgIHJldHVybiBwcm9taXNlXG4gIH1cblxuICAvKiogQHJldHVybnMge1dlYnNvY2tldFJlcXVlc3RTdWJzY3JpcHRpb259ICovXG4gIGVuc3VyZVN1YnNjcmlwdGlvbiAoKSB7XG4gICAgaWYgKCF0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgbG9nZ2VyLmRlYnVnKFwiQ3JlYXRpbmcgd2Vic29ja2V0IHJlcXVlc3Qgc3Vic2NyaXB0aW9uXCIpXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJjb25uZWN0aW5nXCJcbiAgICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb25SZWFkeVByb21pc2UoKVxuXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGNoYW5uZWxzQ29uc3VtZXIoKS5zdWJzY3JpcHRpb25zLmNyZWF0ZShcbiAgICAgICAge2NoYW5uZWw6IFwiQXBpTWFrZXI6OlJlcXVlc3RzQ2hhbm5lbFwifSxcbiAgICAgICAge1xuICAgICAgICAgIGNvbm5lY3RlZDogdGhpcy5vbkNvbm5lY3RlZCxcbiAgICAgICAgICBkaXNjb25uZWN0ZWQ6IHRoaXMub25EaXNjb25uZWN0ZWQsXG4gICAgICAgICAgcmVjZWl2ZWQ6IHRoaXMub25SZWNlaXZlZCxcbiAgICAgICAgICByZWplY3RlZDogdGhpcy5vblJlamVjdGVkXG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gKi9cbiAgd2FpdEZvclN1YnNjcmlwdGlvbiAoKSB7XG4gICAgdGhpcy5lbnN1cmVTdWJzY3JpcHRpb24oKVxuXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uU3RhdGUgPT0gXCJjb25uZWN0ZWRcIikge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSkge1xuICAgICAgdGhpcy5yZXNldFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIHJlc2V0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlICgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucmVzb2x2ZVN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSA9IHJlc29sdmVcbiAgICAgIHRoaXMucmVqZWN0U3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlID0gcmVqZWN0XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge251bWJlcn0gcmVxdWVzdElkXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBnZW5lcmF0ZVJlcXVlc3RVaWQgKHJlcXVlc3RJZCkge1xuICAgIGlmIChnbG9iYWxUaGlzLmNyeXB0bz8ucmFuZG9tVVVJRCkge1xuICAgICAgcmV0dXJuIGdsb2JhbFRoaXMuY3J5cHRvLnJhbmRvbVVVSUQoKVxuICAgIH1cblxuICAgIHJldHVybiBgYXBpLW1ha2VyLXJlcXVlc3QtJHtEYXRlLm5vdygpfS0ke3JlcXVlc3RJZH1gXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJlcXVlc3RJZFxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHNlbmRQZW5kaW5nUmVxdWVzdCAocmVxdWVzdElkKSB7XG4gICAgY29uc3QgcGVuZGluZ1JlcXVlc3QgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdXG5cbiAgICBpZiAoIXBlbmRpbmdSZXF1ZXN0KSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAocGVuZGluZ1JlcXVlc3QuZGVsaXZlcnlTdGF0ZSAhPSBcInF1ZXVlZFwiKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBwZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlID0gXCJ3YWl0aW5nX2Zvcl9jb25uZWN0aW9uXCJcblxuICAgIHRoaXMud2FpdEZvclN1YnNjcmlwdGlvbigpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGxhdGVzdFBlbmRpbmdSZXF1ZXN0ID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNbcmVxdWVzdElkXVxuXG4gICAgICAgIGlmICghbGF0ZXN0UGVuZGluZ1JlcXVlc3QpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsYXRlc3RQZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlICE9IFwid2FpdGluZ19mb3JfY29ubmVjdGlvblwiKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBsYXRlc3RQZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlID0gXCJzZW50XCJcblxuICAgICAgICB0aGlzLmVuc3VyZVN1YnNjcmlwdGlvbigpLnBlcmZvcm0oXCJleGVjdXRlXCIsIHtcbiAgICAgICAgICBjYWNoZV9yZXNwb25zZTogbGF0ZXN0UGVuZGluZ1JlcXVlc3QuY2FjaGVSZXNwb25zZSxcbiAgICAgICAgICBnbG9iYWw6IGxhdGVzdFBlbmRpbmdSZXF1ZXN0Lmdsb2JhbCxcbiAgICAgICAgICBsYXN0X2NvbW1hbmRfZXZlbnRfc2VxdWVuY2U6IGxhdGVzdFBlbmRpbmdSZXF1ZXN0Lmxhc3RDb21tYW5kRXZlbnRTZXF1ZW5jZSxcbiAgICAgICAgICByZXF1ZXN0OiBsYXRlc3RQZW5kaW5nUmVxdWVzdC5yZXF1ZXN0LFxuICAgICAgICAgIHJlcXVlc3RfaWQ6IHJlcXVlc3RJZCxcbiAgICAgICAgICByZXF1ZXN0X3VpZDogbGF0ZXN0UGVuZGluZ1JlcXVlc3QucmVxdWVzdFVpZFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc3QgbGF0ZXN0UGVuZGluZ1JlcXVlc3QgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tyZXF1ZXN0SWRdXG5cbiAgICAgICAgaWYgKCFsYXRlc3RQZW5kaW5nUmVxdWVzdCkge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uU3RhdGUgPT0gXCJyZWplY3RlZFwiKSB7XG4gICAgICAgICAgZGVsZXRlIHRoaXMucGVuZGluZ1JlcXVlc3RzW3JlcXVlc3RJZF1cbiAgICAgICAgICBsYXRlc3RQZW5kaW5nUmVxdWVzdC5yZWplY3QoZXJyb3IpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBsYXRlc3RQZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlID0gXCJxdWV1ZWRcIlxuICAgICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgcmVzZW5kUXVldWVkUmVxdWVzdHMgKCkge1xuICAgIE9iamVjdC5lbnRyaWVzKHRoaXMucGVuZGluZ1JlcXVlc3RzKS5mb3JFYWNoKChbcmVxdWVzdElkLCBwZW5kaW5nUmVxdWVzdF0pID0+IHtcbiAgICAgIGlmIChwZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlID09IFwicXVldWVkXCIpIHtcbiAgICAgICAgdGhpcy5zZW5kUGVuZGluZ1JlcXVlc3QocGFyc2VJbnQocmVxdWVzdElkLCAxMCkpXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgb25Db25uZWN0ZWQgPSAoKSA9PiB7XG4gICAgbG9nZ2VyLmRlYnVnKFwiV2Vic29ja2V0IHJlcXVlc3Qgc3Vic2NyaXB0aW9uIGNvbm5lY3RlZFwiKVxuICAgIHRoaXMuc3Vic2NyaXB0aW9uU3RhdGUgPSBcImNvbm5lY3RlZFwiXG4gICAgdGhpcy5yZXNvbHZlU3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlPy4oKVxuICAgIHRoaXMucmVzZW5kUXVldWVkUmVxdWVzdHMoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICBvbkRpc2Nvbm5lY3RlZCA9ICgpID0+IHtcbiAgICBsb2dnZXIuZGVidWcoXCJXZWJzb2NrZXQgcmVxdWVzdCBzdWJzY3JpcHRpb24gZGlzY29ubmVjdGVkXCIpXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsXG5cbiAgICBpZiAodGhpcy5za2lwUmVjb25uZWN0KSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJyZXNldFwiXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBPYmplY3QudmFsdWVzKHRoaXMucGVuZGluZ1JlcXVlc3RzKS5mb3JFYWNoKChwZW5kaW5nUmVxdWVzdCkgPT4ge1xuICAgICAgaWYgKHBlbmRpbmdSZXF1ZXN0LmRlbGl2ZXJ5U3RhdGUgIT0gXCJjb21wbGV0ZWRcIikge1xuICAgICAgICBwZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlID0gXCJxdWV1ZWRcIlxuICAgICAgfVxuICAgIH0pXG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJkaXNjb25uZWN0ZWRcIlxuICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb25SZWFkeVByb21pc2UoKVxuICAgIHRoaXMuZW5zdXJlU3Vic2NyaXB0aW9uKClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgb25SZWplY3RlZCA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5za2lwUmVjb25uZWN0KSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvblN0YXRlID0gXCJyZXNldFwiXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGxcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFwiV2Vic29ja2V0IHJlcXVlc3Qgc3Vic2NyaXB0aW9uIHdhcyByZWplY3RlZFwiKVxuXG4gICAgbG9nZ2VyLmVycm9yKGVycm9yKVxuICAgIHRoaXMucmVqZWN0UGVuZGluZ1JlcXVlc3RzKGVycm9yKVxuICAgIHRoaXMuc3Vic2NyaXB0aW9uU3RhdGUgPSBcInJlamVjdGVkXCJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGxcbiAgICB0aGlzLnJlamVjdFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZT8uKGVycm9yKVxuICAgIHRoaXMucmVzZXRTdWJzY3JpcHRpb25SZWFkeVByb21pc2UoKVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7V2Vic29ja2V0UmVzcG9uc2VEYXRhfSBkYXRhXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgb25SZWNlaXZlZCA9IChkYXRhKSA9PiB7XG4gICAgY29uc3QgcGVuZGluZ1JlcXVlc3QgPSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tkYXRhLnJlcXVlc3RfaWRdXG5cbiAgICBpZiAoIXBlbmRpbmdSZXF1ZXN0KSB7XG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gW1wiSWdub3Jpbmcgd2Vic29ja2V0IHJlc3BvbnNlIHdpdGhvdXQgYSBwZW5kaW5nIHJlcXVlc3RcIiwge2RhdGF9XSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChkYXRhLmNvbW1hbmRfZXZlbnRfc2VxdWVuY2UgJiYgZGF0YS5jb21tYW5kX2V2ZW50X3NlcXVlbmNlID4gcGVuZGluZ1JlcXVlc3QubGFzdENvbW1hbmRFdmVudFNlcXVlbmNlKSB7XG4gICAgICBwZW5kaW5nUmVxdWVzdC5sYXN0Q29tbWFuZEV2ZW50U2VxdWVuY2UgPSBkYXRhLmNvbW1hbmRfZXZlbnRfc2VxdWVuY2VcbiAgICB9XG5cbiAgICBpZiAoZGF0YS50eXBlID09IFwiYXBpX21ha2VyX2NvbW1hbmRfbG9nXCIpIHtcbiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uTG9nQ2FsbGJhY2tzLmZvckVhY2goKGNhbGxiYWNrKSA9PiBjYWxsYmFjayhkYXRhLm1lc3NhZ2UpKVxuICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09IFwiYXBpX21ha2VyX2NvbW1hbmRfcHJvZ3Jlc3NcIikge1xuICAgICAgY29uc3QgcHJvZ3Jlc3NEYXRhID0ge1xuICAgICAgICBjb3VudDogZGF0YS5jb3VudCxcbiAgICAgICAgcHJvZ3Jlc3M6IGRhdGEucHJvZ3Jlc3MsXG4gICAgICAgIHRvdGFsOiBkYXRhLnRvdGFsXG4gICAgICB9XG5cbiAgICAgIHBlbmRpbmdSZXF1ZXN0Lm9uUHJvZ3Jlc3NDYWxsYmFja3MuZm9yRWFjaCgoY2FsbGJhY2spID0+IGNhbGxiYWNrKHByb2dyZXNzRGF0YSkpXG4gICAgfSBlbHNlIGlmIChkYXRhLnR5cGUgPT0gXCJhcGlfbWFrZXJfcmVxdWVzdF9yZWNlaXZlZFwiKSB7XG4gICAgICBwZW5kaW5nUmVxdWVzdC5kZWxpdmVyeVN0YXRlID0gXCJyZWNlaXZlZFwiXG4gICAgICBwZW5kaW5nUmVxdWVzdC5vblJlY2VpdmVkQ2FsbGJhY2tzLmZvckVhY2goKGNhbGxiYWNrKSA9PiBjYWxsYmFjayhkYXRhKSlcbiAgICB9IGVsc2UgaWYgKGRhdGEudHlwZSA9PSBcImFwaV9tYWtlcl9yZXF1ZXN0X3Jlc3BvbnNlXCIpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tkYXRhLnJlcXVlc3RfaWRdXG5cbiAgICAgIGlmIChwZW5kaW5nUmVxdWVzdC5jYWNoZVJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMucmVzcG9uc2VDYWNoZVtwZW5kaW5nUmVxdWVzdC5maW5nZXJwcmludF0gPSBkYXRhLnJlc3BvbnNlXG4gICAgICB9XG5cbiAgICAgIHBlbmRpbmdSZXF1ZXN0LnJlc29sdmUoZGF0YS5yZXNwb25zZSlcbiAgICAgIHRoaXMucmVzb2x2ZUlkbGVXYWl0ZXJzSWZJZGxlKClcbiAgICB9IGVsc2UgaWYgKGRhdGEudHlwZSA9PSBcImFwaV9tYWtlcl9yZXF1ZXN0X2Vycm9yXCIpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnBlbmRpbmdSZXF1ZXN0c1tkYXRhLnJlcXVlc3RfaWRdXG4gICAgICBwZW5kaW5nUmVxdWVzdC5yZWplY3QobmV3IEN1c3RvbUVycm9yKFwiV2Vic29ja2V0IHJlcXVlc3QgZmFpbGVkXCIsIHtyZXNwb25zZTogZGF0YS5yZXNwb25zZX0pKVxuICAgICAgdGhpcy5yZXNvbHZlSWRsZVdhaXRlcnNJZklkbGUoKVxuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgdGhpcy5wZW5kaW5nUmVxdWVzdHNbZGF0YS5yZXF1ZXN0X2lkXVxuICAgICAgcGVuZGluZ1JlcXVlc3QucmVqZWN0KG5ldyBFcnJvcihgVW5rbm93biB3ZWJzb2NrZXQgcmVxdWVzdCByZXNwb25zZSB0eXBlOiAke2RhdGEudHlwZX1gKSlcbiAgICAgIHRoaXMucmVzb2x2ZUlkbGVXYWl0ZXJzSWZJZGxlKClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtFcnJvcn0gZXJyb3JcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICByZWplY3RQZW5kaW5nUmVxdWVzdHMgKGVycm9yKSB7XG4gICAgY29uc3QgcGVuZGluZ1JlcXVlc3RzID0gdGhpcy5wZW5kaW5nUmVxdWVzdHNcblxuICAgIHRoaXMucGVuZGluZ1JlcXVlc3RzID0ge31cbiAgICB0aGlzLnBlbmRpbmdSZXF1ZXN0c0J5RmluZ2VycHJpbnQgPSB7fVxuXG4gICAgT2JqZWN0LnZhbHVlcyhwZW5kaW5nUmVxdWVzdHMpLmZvckVhY2goKHBlbmRpbmdSZXF1ZXN0KSA9PiB7XG4gICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiBwZW5kaW5nUmVxdWVzdC5yZWplY3QoZXJyb3IpKVxuICAgIH0pXG5cbiAgICB0aGlzLnJlc29sdmVJZGxlV2FpdGVyc0lmSWRsZSgpXG4gIH1cblxuICAvKiogQHJldHVybnMge3ZvaWR9ICovXG4gIHJlc29sdmVJZGxlV2FpdGVyc0lmSWRsZSAoKSB7XG4gICAgaWYgKHRoaXMucGVuZGluZ1JlcXVlc3RzQ291bnQoKSA+IDAgfHwgdGhpcy5pZGxlV2FpdGVycy5sZW5ndGggPT0gMCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgaWRsZVdhaXRlcnMgPSB0aGlzLmlkbGVXYWl0ZXJzXG5cbiAgICB0aGlzLmlkbGVXYWl0ZXJzID0gW11cbiAgICBpZGxlV2FpdGVycy5mb3JFYWNoKChpZGxlV2FpdGVyKSA9PiBpZGxlV2FpdGVyLnJlc29sdmUoKSlcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgcmVzZXQgKCkge1xuICAgIGNvbnN0IHJlc2V0RXJyb3IgPSBuZXcgRXJyb3IoXCJXZWJzb2NrZXQgcmVxdWVzdCBjbGllbnQgd2FzIHJlc2V0XCIpXG5cbiAgICB0aGlzLnNraXBSZWNvbm5lY3QgPSB0cnVlXG4gICAgdGhpcy5yZWplY3RQZW5kaW5nUmVxdWVzdHMocmVzZXRFcnJvcilcbiAgICB0aGlzLnJlc3BvbnNlQ2FjaGUgPSB7fVxuICAgIHRoaXMuY3VycmVudFJlcXVlc3RJZCA9IDFcbiAgICB0aGlzLnJlamVjdFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZT8uKHJlc2V0RXJyb3IpXG5cbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgfVxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBudWxsXG4gICAgdGhpcy5zdWJzY3JpcHRpb25TdGF0ZSA9IFwibmV3XCJcbiAgICB0aGlzLnJlc29sdmVTdWJzY3JpcHRpb25SZWFkeVByb21pc2UgPSB1bmRlZmluZWRcbiAgICB0aGlzLnJlamVjdFN1YnNjcmlwdGlvblJlYWR5UHJvbWlzZSA9IHVuZGVmaW5lZFxuICAgIHRoaXMuc3Vic2NyaXB0aW9uUmVhZHlQcm9taXNlID0gdW5kZWZpbmVkXG4gIH1cbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"with-api-maker.d.ts","sourceRoot":"/src/","sources":["with-api-maker.jsx"],"names":[],"mappings":"AAKA,mCAUC;AAED,2EAWE;kBA5BsD,OAAO"}
1
+ {"version":3,"file":"with-api-maker.d.ts","sourceRoot":"/src/","sources":["with-api-maker.jsx"],"names":[],"mappings":"AAMA,mCAUC;AAED,2EAWE;kBA5BsD,OAAO"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @ts-check
2
3
  import React, { createContext, useContext, useMemo } from "react";
3
4
  import ApiMakerConfig from "./config.js";
4
5
  import memo from "set-state-compare/build/memo.js";
@@ -20,4 +21,4 @@ const WithApiMaker = memo(({ children, config, ...restProps }) => {
20
21
  return (_jsx(ApiMakerContext.Provider, { value: value, children: children }));
21
22
  });
22
23
  export { useApiMaker, WithApiMaker };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hcGktbWFrZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIndpdGgtYXBpLW1ha2VyLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLEVBQUUsRUFBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUMvRCxPQUFPLGNBQWMsTUFBTSxhQUFhLENBQUE7QUFDeEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFFbEQsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0FBQ2hELE1BQU0sV0FBVyxHQUFHLEdBQUcsRUFBRTtJQUN2QixNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUE7SUFFbkQsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNwQixPQUFPLGVBQWUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sRUFBRSxjQUFjO0tBQ3ZCLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLEVBQUMsRUFBRSxFQUFFO0lBQzdELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDNUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUVqRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRTdGLE9BQU8sQ0FDTCxLQUFDLGVBQWUsQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFFLEtBQUssWUFDbkMsUUFBUSxHQUNnQixDQUM1QixDQUFBO0FBQ0gsQ0FBQyxDQUFDLENBQUE7QUFFRixPQUFPLEVBQUMsV0FBVyxFQUFFLFlBQVksRUFBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7Y3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBBcGlNYWtlckNvbmZpZyBmcm9tIFwiLi9jb25maWcuanNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuXG5jb25zdCBBcGlNYWtlckNvbnRleHQgPSBjcmVhdGVDb250ZXh0KHVuZGVmaW5lZClcbmNvbnN0IHVzZUFwaU1ha2VyID0gKCkgPT4ge1xuICBjb25zdCBhcGlNYWtlckNvbnRleHQgPSB1c2VDb250ZXh0KEFwaU1ha2VyQ29udGV4dClcblxuICBpZiAoYXBpTWFrZXJDb250ZXh0KSB7XG4gICAgcmV0dXJuIGFwaU1ha2VyQ29udGV4dFxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjb25maWc6IEFwaU1ha2VyQ29uZmlnXG4gIH1cbn1cblxuY29uc3QgV2l0aEFwaU1ha2VyID0gbWVtbygoe2NoaWxkcmVuLCBjb25maWcsIC4uLnJlc3RQcm9wc30pID0+IHtcbiAgY29uc3QgcmVzdFByb3BzS2V5cyA9IE9iamVjdC5rZXlzKHJlc3RQcm9wcylcbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKCgpID0+ICh7Y29uZmlnfSksIFtjb25maWddKVxuXG4gIGlmIChyZXN0UHJvcHNLZXlzLmxlbmd0aCA+IDApIHRocm93IG5ldyBFcnJvcihgVW5oYW5kbGVkIHByb3BzOiAke3Jlc3RQcm9wc0tleXMuam9pbihcIiwgXCIpfWApXG5cbiAgcmV0dXJuIChcbiAgICA8QXBpTWFrZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9BcGlNYWtlckNvbnRleHQuUHJvdmlkZXI+XG4gIClcbn0pXG5cbmV4cG9ydCB7dXNlQXBpTWFrZXIsIFdpdGhBcGlNYWtlcn1cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hcGktbWFrZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIndpdGgtYXBpLW1ha2VyLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLE9BQU8sS0FBSyxFQUFFLEVBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDL0QsT0FBTyxjQUFjLE1BQU0sYUFBYSxDQUFBO0FBQ3hDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBRWxELE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUNoRCxNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUU7SUFDdkIsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBRW5ELElBQUksZUFBZSxFQUFFLENBQUM7UUFDcEIsT0FBTyxlQUFlLENBQUE7SUFDeEIsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLEVBQUUsY0FBYztLQUN2QixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsU0FBUyxFQUFDLEVBQUUsRUFBRTtJQUM3RCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzVDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFFakQsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUU3RixPQUFPLENBQ0wsS0FBQyxlQUFlLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxLQUFLLFlBQ25DLFFBQVEsR0FDZ0IsQ0FDNUIsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBO0FBRUYsT0FBTyxFQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuaW1wb3J0IFJlYWN0LCB7Y3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBBcGlNYWtlckNvbmZpZyBmcm9tIFwiLi9jb25maWcuanNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuXG5jb25zdCBBcGlNYWtlckNvbnRleHQgPSBjcmVhdGVDb250ZXh0KHVuZGVmaW5lZClcbmNvbnN0IHVzZUFwaU1ha2VyID0gKCkgPT4ge1xuICBjb25zdCBhcGlNYWtlckNvbnRleHQgPSB1c2VDb250ZXh0KEFwaU1ha2VyQ29udGV4dClcblxuICBpZiAoYXBpTWFrZXJDb250ZXh0KSB7XG4gICAgcmV0dXJuIGFwaU1ha2VyQ29udGV4dFxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjb25maWc6IEFwaU1ha2VyQ29uZmlnXG4gIH1cbn1cblxuY29uc3QgV2l0aEFwaU1ha2VyID0gbWVtbygoe2NoaWxkcmVuLCBjb25maWcsIC4uLnJlc3RQcm9wc30pID0+IHtcbiAgY29uc3QgcmVzdFByb3BzS2V5cyA9IE9iamVjdC5rZXlzKHJlc3RQcm9wcylcbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKCgpID0+ICh7Y29uZmlnfSksIFtjb25maWddKVxuXG4gIGlmIChyZXN0UHJvcHNLZXlzLmxlbmd0aCA+IDApIHRocm93IG5ldyBFcnJvcihgVW5oYW5kbGVkIHByb3BzOiAke3Jlc3RQcm9wc0tleXMuam9pbihcIiwgXCIpfWApXG5cbiAgcmV0dXJuIChcbiAgICA8QXBpTWFrZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9BcGlNYWtlckNvbnRleHQuUHJvdmlkZXI+XG4gIClcbn0pXG5cbmV4cG9ydCB7dXNlQXBpTWFrZXIsIFdpdGhBcGlNYWtlcn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"with-collection.d.ts","sourceRoot":"/src/","sources":["with-collection.jsx"],"names":[],"mappings":"AAOe,2HAYb;;kBAfgB,OAAO"}
1
+ {"version":3,"file":"with-collection.d.ts","sourceRoot":"/src/","sources":["with-collection.jsx"],"names":[],"mappings":"AAQe,2HAYb;;kBAfgB,OAAO"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @ts-check
2
3
  /* eslint-disable no-invalid-this, sort-imports */
3
4
  import { digg } from "diggerize";
4
5
  import * as inflection from "inflection";
@@ -15,4 +16,4 @@ export default (WrappedComponent, withCollectionArgs) => memo(() => {
15
16
  // @ts-expect-error Legacy this.props in arrow function
16
17
  _jsx(WrappedComponent, { ...forwardArgs, ...this.props }));
17
18
  });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ3aXRoLWNvbGxlY3Rpb24uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxrREFBa0Q7QUFDbEQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxhQUFhLE1BQU0scUJBQXFCLENBQUE7QUFFL0MsZUFBZSxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO0lBQ2pFLE1BQU0sbUJBQW1CLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDN0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ2xELE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNuSCxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUE7SUFFdEIsV0FBVyxDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sQ0FBQTtJQUVuQyxPQUFPO0lBQ0wsdURBQXVEO0lBQ3ZELEtBQUMsZ0JBQWdCLE9BQUssV0FBVyxLQUFNLElBQUksQ0FBQyxLQUFLLEdBQUksQ0FDdEQsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8taW52YWxpZC10aGlzLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUNvbGxlY3Rpb24gZnJvbSBcIi4vdXNlLWNvbGxlY3Rpb24uanNcIlxuXG5leHBvcnQgZGVmYXVsdCAoV3JhcHBlZENvbXBvbmVudCwgd2l0aENvbGxlY3Rpb25BcmdzKSA9PiBtZW1vKCgpID0+IHtcbiAgY29uc3QgdXNlQ29sbGVjdGlvblJlc3VsdCA9IHVzZUNvbGxlY3Rpb24od2l0aENvbGxlY3Rpb25BcmdzKVxuICBjb25zdCBtb2RlbHMgPSBkaWdnKHVzZUNvbGxlY3Rpb25SZXN1bHQsIFwibW9kZWxzXCIpXG4gIGNvbnN0IG1vZGVsc0FyZ05hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGRpZ2cod2l0aENvbGxlY3Rpb25BcmdzLm1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJwbHVyYWxOYW1lXCIpLCB0cnVlKVxuICBjb25zdCBmb3J3YXJkQXJncyA9IHt9XG5cbiAgZm9yd2FyZEFyZ3NbbW9kZWxzQXJnTmFtZV0gPSBtb2RlbHNcblxuICByZXR1cm4gKFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgTGVnYWN5IHRoaXMucHJvcHMgaW4gYXJyb3cgZnVuY3Rpb25cbiAgICA8V3JhcHBlZENvbXBvbmVudCB7Li4uZm9yd2FyZEFyZ3N9IHsuLi50aGlzLnByb3BzfSAvPlxuICApXG59KVxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ3aXRoLWNvbGxlY3Rpb24uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxZQUFZO0FBQ1osa0RBQWtEO0FBQ2xELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDOUIsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sYUFBYSxNQUFNLHFCQUFxQixDQUFBO0FBRS9DLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUNqRSxNQUFNLG1CQUFtQixHQUFHLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzdELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNsRCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQUUsWUFBWSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDbkgsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFBO0lBRXRCLFdBQVcsQ0FBQyxhQUFhLENBQUMsR0FBRyxNQUFNLENBQUE7SUFFbkMsT0FBTztJQUNMLHVEQUF1RDtJQUN2RCxLQUFDLGdCQUFnQixPQUFLLFdBQVcsS0FBTSxJQUFJLENBQUMsS0FBSyxHQUFJLENBQ3RELENBQUE7QUFDSCxDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuLyogZXNsaW50LWRpc2FibGUgbm8taW52YWxpZC10aGlzLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUNvbGxlY3Rpb24gZnJvbSBcIi4vdXNlLWNvbGxlY3Rpb24uanNcIlxuXG5leHBvcnQgZGVmYXVsdCAoV3JhcHBlZENvbXBvbmVudCwgd2l0aENvbGxlY3Rpb25BcmdzKSA9PiBtZW1vKCgpID0+IHtcbiAgY29uc3QgdXNlQ29sbGVjdGlvblJlc3VsdCA9IHVzZUNvbGxlY3Rpb24od2l0aENvbGxlY3Rpb25BcmdzKVxuICBjb25zdCBtb2RlbHMgPSBkaWdnKHVzZUNvbGxlY3Rpb25SZXN1bHQsIFwibW9kZWxzXCIpXG4gIGNvbnN0IG1vZGVsc0FyZ05hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGRpZ2cod2l0aENvbGxlY3Rpb25BcmdzLm1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJwbHVyYWxOYW1lXCIpLCB0cnVlKVxuICBjb25zdCBmb3J3YXJkQXJncyA9IHt9XG5cbiAgZm9yd2FyZEFyZ3NbbW9kZWxzQXJnTmFtZV0gPSBtb2RlbHNcblxuICByZXR1cm4gKFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgTGVnYWN5IHRoaXMucHJvcHMgaW4gYXJyb3cgZnVuY3Rpb25cbiAgICA8V3JhcHBlZENvbXBvbmVudCB7Li4uZm9yd2FyZEFyZ3N9IHsuLi50aGlzLnByb3BzfSAvPlxuICApXG59KVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"with-current-user.d.ts","sourceRoot":"/src/","sources":["with-current-user.jsx"],"names":[],"mappings":"AAIe,mDAAuB,UAAK,6CAM1C"}
1
+ {"version":3,"file":"with-current-user.d.ts","sourceRoot":"/src/","sources":["with-current-user.jsx"],"names":[],"mappings":"AAKe,mDAAuB,UAAK,6CAM1C"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @ts-check
2
3
  /* eslint-disable react/display-name, react/function-component-definition */
3
4
  import React from "react";
4
5
  import useCurrentUser from "./use-current-user.js";
@@ -6,4 +7,4 @@ export default (WrappedComponent) => (props) => {
6
7
  const currentUser = useCurrentUser();
7
8
  return (_jsx(WrappedComponent, { ...props, currentUser: currentUser }));
8
9
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jdXJyZW50LXVzZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIndpdGgtY3VycmVudC11c2VyLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNEVBQTRFO0FBQzVFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUN6QixPQUFPLGNBQWMsTUFBTSx1QkFBdUIsQ0FBQTtBQUVsRCxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7SUFDN0MsTUFBTSxXQUFXLEdBQUcsY0FBYyxFQUFFLENBQUE7SUFFcEMsT0FBTyxDQUNMLEtBQUMsZ0JBQWdCLE9BQUssS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEdBQUksQ0FDMUQsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Rpc3BsYXktbmFtZSwgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUN1cnJlbnRVc2VyIGZyb20gXCIuL3VzZS1jdXJyZW50LXVzZXIuanNcIlxuXG5leHBvcnQgZGVmYXVsdCAoV3JhcHBlZENvbXBvbmVudCkgPT4gKHByb3BzKSA9PiB7XG4gIGNvbnN0IGN1cnJlbnRVc2VyID0gdXNlQ3VycmVudFVzZXIoKVxuXG4gIHJldHVybiAoXG4gICAgPFdyYXBwZWRDb21wb25lbnQgey4uLnByb3BzfSBjdXJyZW50VXNlcj17Y3VycmVudFVzZXJ9IC8+XG4gIClcbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1jdXJyZW50LXVzZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIndpdGgtY3VycmVudC11c2VyLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLDRFQUE0RTtBQUM1RSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxjQUFjLE1BQU0sdUJBQXVCLENBQUE7QUFFbEQsZUFBZSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQzdDLE1BQU0sV0FBVyxHQUFHLGNBQWMsRUFBRSxDQUFBO0lBRXBDLE9BQU8sQ0FDTCxLQUFDLGdCQUFnQixPQUFLLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxHQUFJLENBQzFELENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Rpc3BsYXktbmFtZSwgcmVhY3QvZnVuY3Rpb24tY29tcG9uZW50LWRlZmluaXRpb24gKi9cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUN1cnJlbnRVc2VyIGZyb20gXCIuL3VzZS1jdXJyZW50LXVzZXIuanNcIlxuXG5leHBvcnQgZGVmYXVsdCAoV3JhcHBlZENvbXBvbmVudCkgPT4gKHByb3BzKSA9PiB7XG4gIGNvbnN0IGN1cnJlbnRVc2VyID0gdXNlQ3VycmVudFVzZXIoKVxuXG4gIHJldHVybiAoXG4gICAgPFdyYXBwZWRDb21wb25lbnQgey4uLnByb3BzfSBjdXJyZW50VXNlcj17Y3VycmVudFVzZXJ9IC8+XG4gIClcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"with-model.d.ts","sourceRoot":"/src/","sources":["with-model.jsx"],"names":[],"mappings":"AAKe,mHAWd;;kBAdiB,OAAO"}
1
+ {"version":3,"file":"with-model.d.ts","sourceRoot":"/src/","sources":["with-model.jsx"],"names":[],"mappings":"AAMe,mHAWd;;kBAdiB,OAAO"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @ts-check
2
3
  /* eslint-disable prefer-object-spread, react/function-component-definition, sort-imports */
3
4
  import memo from "set-state-compare/build/memo.js";
4
5
  import React from "react";
@@ -11,4 +12,4 @@ export default (WrappedComponent, modelClass, givenArgs) => {
11
12
  };
12
13
  return memo(ApiMakerWithModel);
13
14
  };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsid2l0aC1tb2RlbC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDRGQUE0RjtBQUM1RixPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxRQUFRLE1BQU0sZ0JBQWdCLENBQUE7QUFFckMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsRUFBRTtJQUN6RCxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDbEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFDLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFDM0QsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUVqRCxPQUFPLENBQ0wsS0FBQyxnQkFBZ0IsT0FBSyxjQUFjLEtBQU0sS0FBSyxHQUFJLENBQ3BELENBQUE7SUFDSCxDQUFDLENBQUE7SUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0FBQ2hDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHByZWZlci1vYmplY3Qtc3ByZWFkLCByZWFjdC9mdW5jdGlvbi1jb21wb25lbnQtZGVmaW5pdGlvbiwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB1c2VNb2RlbCBmcm9tIFwiLi91c2UtbW9kZWwuanNcIlxuXG5leHBvcnQgZGVmYXVsdCAoV3JhcHBlZENvbXBvbmVudCwgbW9kZWxDbGFzcywgZ2l2ZW5BcmdzKSA9PiB7XG4gIGNvbnN0IEFwaU1ha2VyV2l0aE1vZGVsID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgYXJncyA9IE9iamVjdC5hc3NpZ24oe21hdGNoOiBwcm9wcy5tYXRjaH0sIGdpdmVuQXJncylcbiAgICBjb25zdCB1c2VNb2RlbFJlc3VsdCA9IHVzZU1vZGVsKG1vZGVsQ2xhc3MsIGFyZ3MpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFdyYXBwZWRDb21wb25lbnQgey4uLnVzZU1vZGVsUmVzdWx0fSB7Li4ucHJvcHN9IC8+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG1lbW8oQXBpTWFrZXJXaXRoTW9kZWwpXG59XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsid2l0aC1tb2RlbC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFlBQVk7QUFDWiw0RkFBNEY7QUFDNUYsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sUUFBUSxNQUFNLGdCQUFnQixDQUFBO0FBRXJDLGVBQWUsQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEVBQUU7SUFDekQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBQyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQzNELE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFFakQsT0FBTyxDQUNMLEtBQUMsZ0JBQWdCLE9BQUssY0FBYyxLQUFNLEtBQUssR0FBSSxDQUNwRCxDQUFBO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUNoQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHByZWZlci1vYmplY3Qtc3ByZWFkLCByZWFjdC9mdW5jdGlvbi1jb21wb25lbnQtZGVmaW5pdGlvbiwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB1c2VNb2RlbCBmcm9tIFwiLi91c2UtbW9kZWwuanNcIlxuXG5leHBvcnQgZGVmYXVsdCAoV3JhcHBlZENvbXBvbmVudCwgbW9kZWxDbGFzcywgZ2l2ZW5BcmdzKSA9PiB7XG4gIGNvbnN0IEFwaU1ha2VyV2l0aE1vZGVsID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgYXJncyA9IE9iamVjdC5hc3NpZ24oe21hdGNoOiBwcm9wcy5tYXRjaH0sIGdpdmVuQXJncylcbiAgICBjb25zdCB1c2VNb2RlbFJlc3VsdCA9IHVzZU1vZGVsKG1vZGVsQ2xhc3MsIGFyZ3MpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFdyYXBwZWRDb21wb25lbnQgey4uLnVzZU1vZGVsUmVzdWx0fSB7Li4ucHJvcHN9IC8+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG1lbW8oQXBpTWFrZXJXaXRoTW9kZWwpXG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"with-router.d.ts","sourceRoot":"/src/","sources":["with-router.jsx"],"names":[],"mappings":";AAGA;;;EAaC"}
1
+ {"version":3,"file":"with-router.d.ts","sourceRoot":"/src/","sources":["with-router.jsx"],"names":[],"mappings":";AAIA;;;EAaC"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @ts-check
2
3
  import React from "react";
3
4
  import useRouter from "./use-router";
4
5
  const withRouter = (WrapperComponent) => {
@@ -11,4 +12,4 @@ const withRouter = (WrapperComponent) => {
11
12
  return WithRouter;
12
13
  };
13
14
  export default withRouter;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIndpdGgtcm91dGVyLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sU0FBUyxNQUFNLGNBQWMsQ0FBQTtBQUVwQyxNQUFNLFVBQVUsR0FBRyxDQUFDLGdCQUFnQixFQUFFLEVBQUU7SUFDdEMsU0FBUyxVQUFVLENBQUMsS0FBSztRQUN2QixNQUFNLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLFNBQVMsRUFBQyxHQUFHLEtBQUssQ0FBQTtRQUM1RCxNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUE7UUFFM0QsT0FBTyxDQUNMLEtBQUMsZ0JBQWdCLElBQUMsS0FBSyxFQUFFLEtBQUssS0FBTSxTQUFTLEdBQUksQ0FDbEQsQ0FBQTtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsV0FBVyxHQUFHLGNBQWMsZ0JBQWdCLENBQUMsV0FBVyxJQUFJLGdCQUFnQixDQUFDLElBQUksSUFBSSxXQUFXLEdBQUcsQ0FBQTtJQUU5RyxPQUFPLFVBQVUsQ0FBQTtBQUNuQixDQUFDLENBQUE7QUFFRCxlQUFlLFVBQVUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZVJvdXRlciBmcm9tIFwiLi91c2Utcm91dGVyXCJcblxuY29uc3Qgd2l0aFJvdXRlciA9IChXcmFwcGVyQ29tcG9uZW50KSA9PiB7XG4gIGZ1bmN0aW9uIFdpdGhSb3V0ZXIocHJvcHMpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBmdW5jLXN0eWxlXG4gICAgY29uc3Qge3BhdGgsIHJvdXRlcywgcm91dGVEZWZpbml0aW9ucywgLi4ucmVzdFByb3BzfSA9IHByb3BzXG4gICAgY29uc3Qge21hdGNofSA9IHVzZVJvdXRlcih7cGF0aCwgcm91dGVzLCByb3V0ZURlZmluaXRpb25zfSlcblxuICAgIHJldHVybiAoXG4gICAgICA8V3JhcHBlckNvbXBvbmVudCBtYXRjaD17bWF0Y2h9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgKVxuICB9XG5cbiAgV2l0aFJvdXRlci5kaXNwbGF5TmFtZSA9IGBXaXRoUm91dGVyKCR7V3JhcHBlckNvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBXcmFwcGVyQ29tcG9uZW50Lm5hbWUgfHwgXCJDb21wb25lbnRcIn0pYFxuXG4gIHJldHVybiBXaXRoUm91dGVyXG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhSb3V0ZXJcbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1yb3V0ZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIndpdGgtcm91dGVyLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUN6QixPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUE7QUFFcEMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO0lBQ3RDLFNBQVMsVUFBVSxDQUFDLEtBQUs7UUFDdkIsTUFBTSxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxTQUFTLEVBQUMsR0FBRyxLQUFLLENBQUE7UUFDNUQsTUFBTSxFQUFDLEtBQUssRUFBQyxHQUFHLFNBQVMsQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFBO1FBRTNELE9BQU8sQ0FDTCxLQUFDLGdCQUFnQixJQUFDLEtBQUssRUFBRSxLQUFLLEtBQU0sU0FBUyxHQUFJLENBQ2xELENBQUE7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLFdBQVcsR0FBRyxjQUFjLGdCQUFnQixDQUFDLFdBQVcsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksV0FBVyxHQUFHLENBQUE7SUFFOUcsT0FBTyxVQUFVLENBQUE7QUFDbkIsQ0FBQyxDQUFBO0FBRUQsZUFBZSxVQUFVLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZVJvdXRlciBmcm9tIFwiLi91c2Utcm91dGVyXCJcblxuY29uc3Qgd2l0aFJvdXRlciA9IChXcmFwcGVyQ29tcG9uZW50KSA9PiB7XG4gIGZ1bmN0aW9uIFdpdGhSb3V0ZXIocHJvcHMpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBmdW5jLXN0eWxlXG4gICAgY29uc3Qge3BhdGgsIHJvdXRlcywgcm91dGVEZWZpbml0aW9ucywgLi4ucmVzdFByb3BzfSA9IHByb3BzXG4gICAgY29uc3Qge21hdGNofSA9IHVzZVJvdXRlcih7cGF0aCwgcm91dGVzLCByb3V0ZURlZmluaXRpb25zfSlcblxuICAgIHJldHVybiAoXG4gICAgICA8V3JhcHBlckNvbXBvbmVudCBtYXRjaD17bWF0Y2h9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgKVxuICB9XG5cbiAgV2l0aFJvdXRlci5kaXNwbGF5TmFtZSA9IGBXaXRoUm91dGVyKCR7V3JhcHBlckNvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBXcmFwcGVyQ29tcG9uZW50Lm5hbWUgfHwgXCJDb21wb25lbnRcIn0pYFxuXG4gIHJldHVybiBXaXRoUm91dGVyXG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhSb3V0ZXJcbiJdfQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kaspernj/api-maker",
3
3
  "type": "module",
4
- "version": "1.0.2160",
4
+ "version": "1.0.2161",
5
5
  "description": "My new module",
6
6
  "files": [
7
7
  "build/**"
@@ -73,16 +73,17 @@
73
73
  "ya-use-event-listener": ">= 0.1.1"
74
74
  },
75
75
  "devDependencies": {
76
+ "@eslint/js": "^10.0.1",
76
77
  "@babel/preset-env": "^7.12.11",
77
78
  "@babel/preset-react": "^7.26.3",
78
79
  "@eslint/compat": "^2.0.3",
79
80
  "@jest/globals": "~30.3.0",
80
81
  "@types/react": "~19.0.10",
81
82
  "babel-jest": "~30.3.0",
82
- "eslint": "^10.0.3",
83
+ "eslint": "^10.2.1",
83
84
  "eslint-config-expo": "~9.2.0",
84
85
  "eslint-plugin-jest": "^29.15.0",
85
- "eslint-plugin-jsdoc": "^62.8.0",
86
+ "eslint-plugin-jsdoc": "^62.9.0",
86
87
  "eslint-plugin-react": "^7.23.2",
87
88
  "expo": "~53.0.27",
88
89
  "expo-module-scripts": "^55.0.2",
@@ -1,5 +0,0 @@
1
- export default class BaseComponent extends ShapeComponent<Record<string, any>, Record<string, any>> {
2
- constructor(props: Record<string, any>);
3
- }
4
- import { ShapeComponent } from "set-state-compare/build/shape-component.js";
5
- //# sourceMappingURL=base-component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-component.d.ts","sourceRoot":"/src/","sources":["base-component.jsx"],"names":[],"mappings":"AAEA;;CAEC;+BAJ4B,4CAA4C"}
@@ -1,4 +0,0 @@
1
- import { ShapeComponent } from "set-state-compare/build/shape-component.js";
2
- export default class BaseComponent extends ShapeComponent {
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImJhc2UtY29tcG9uZW50LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFFekUsTUFBTSxDQUFDLE9BQU8sT0FBTyxhQUFjLFNBQVEsY0FBYztDQUV4RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYXNlQ29tcG9uZW50IGV4dGVuZHMgU2hhcGVDb21wb25lbnQge1xuICAvLyBOb3RoaW5nIHlldC5cbn1cbiJdfQ==