@payloadcms/ui 3.0.0-alpha.14 → 3.0.0-alpha.16

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 (409) hide show
  1. package/dist/@types/assets.d.js +0 -1
  2. package/dist/config.js +2 -12
  3. package/dist/elements/ArrayAction/index.js +25 -81
  4. package/dist/elements/ArrayAction/types.js +2 -5
  5. package/dist/elements/Autosave/index.js +37 -92
  6. package/dist/elements/Autosave/types.js +2 -5
  7. package/dist/elements/Banner/index.js +10 -34
  8. package/dist/elements/Banner/types.js +2 -5
  9. package/dist/elements/Button/index.js +30 -89
  10. package/dist/elements/Button/types.js +2 -5
  11. package/dist/elements/Card/index.js +9 -24
  12. package/dist/elements/Card/types.js +2 -5
  13. package/dist/elements/CodeEditor/CodeEditor.js +10 -25
  14. package/dist/elements/CodeEditor/index.js +8 -59
  15. package/dist/elements/CodeEditor/types.js +2 -5
  16. package/dist/elements/Collapsible/index.js +26 -82
  17. package/dist/elements/Collapsible/provider.js +7 -66
  18. package/dist/elements/Collapsible/types.js +2 -5
  19. package/dist/elements/ColumnSelector/index.js +20 -76
  20. package/dist/elements/ColumnSelector/types.js +2 -5
  21. package/dist/elements/CopyToClipboard/index.js +14 -65
  22. package/dist/elements/CopyToClipboard/types.js +2 -5
  23. package/dist/elements/DatePicker/DatePicker.js +19 -75
  24. package/dist/elements/DatePicker/index.js +8 -59
  25. package/dist/elements/DatePicker/types.js +2 -5
  26. package/dist/elements/DeleteDocument/index.js +36 -86
  27. package/dist/elements/DeleteDocument/types.js +2 -5
  28. package/dist/elements/DeleteMany/index.js +38 -102
  29. package/dist/elements/DeleteMany/types.js +2 -5
  30. package/dist/elements/DocumentControls/index.js +46 -102
  31. package/dist/elements/DocumentDrawer/DrawerContent.js +62 -114
  32. package/dist/elements/DocumentDrawer/index.js +33 -98
  33. package/dist/elements/DocumentDrawer/types.js +2 -5
  34. package/dist/elements/DocumentFields/index.js +16 -31
  35. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +4 -14
  36. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +9 -24
  37. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +9 -68
  38. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +5 -15
  39. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +2 -12
  40. package/dist/elements/DocumentHeader/Tabs/index.js +18 -33
  41. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +8 -23
  42. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +5 -23
  43. package/dist/elements/DocumentHeader/index.js +10 -66
  44. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +7 -66
  45. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -5
  46. package/dist/elements/DraggableSortable/index.js +15 -66
  47. package/dist/elements/DraggableSortable/types.js +2 -5
  48. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +4 -14
  49. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -5
  50. package/dist/elements/Drawer/index.js +32 -94
  51. package/dist/elements/Drawer/types.js +2 -5
  52. package/dist/elements/Drawer/useDrawerSlug.js +8 -18
  53. package/dist/elements/Dropzone/index.js +20 -35
  54. package/dist/elements/DuplicateDocument/index.js +33 -83
  55. package/dist/elements/DuplicateDocument/types.js +2 -5
  56. package/dist/elements/EditMany/index.js +72 -128
  57. package/dist/elements/EditMany/types.js +2 -5
  58. package/dist/elements/EditUpload/index.js +66 -122
  59. package/dist/elements/ErrorPill/index.js +7 -22
  60. package/dist/elements/ErrorPill/types.js +2 -5
  61. package/dist/elements/FieldSelect/index.js +23 -79
  62. package/dist/elements/FileDetails/FileMeta/index.js +19 -75
  63. package/dist/elements/FileDetails/FileMeta/types.js +2 -5
  64. package/dist/elements/FileDetails/index.js +15 -30
  65. package/dist/elements/FileDetails/types.js +2 -5
  66. package/dist/elements/GenerateConfirmation/index.js +22 -37
  67. package/dist/elements/GenerateConfirmation/types.js +2 -5
  68. package/dist/elements/GetFilterOptions/index.js +18 -33
  69. package/dist/elements/Gutter/index.js +5 -56
  70. package/dist/elements/Hamburger/index.js +18 -33
  71. package/dist/elements/Header/index.js +39 -95
  72. package/dist/elements/HydrateClientUser/index.js +6 -16
  73. package/dist/elements/IDLabel/index.js +5 -20
  74. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +6 -16
  75. package/dist/elements/ListControls/index.js +52 -104
  76. package/dist/elements/ListControls/types.js +2 -5
  77. package/dist/elements/ListDrawer/DrawerContent.js +72 -128
  78. package/dist/elements/ListDrawer/index.js +32 -100
  79. package/dist/elements/ListDrawer/types.js +2 -5
  80. package/dist/elements/ListSelection/index.js +11 -62
  81. package/dist/elements/Loading/index.js +25 -51
  82. package/dist/elements/LoadingOverlay/index.js +17 -79
  83. package/dist/elements/LoadingOverlay/reducer.js +3 -21
  84. package/dist/elements/LoadingOverlay/types.js +2 -5
  85. package/dist/elements/Localizer/LocalizerLabel/index.js +15 -30
  86. package/dist/elements/Localizer/index.js +24 -80
  87. package/dist/elements/Logout/index.js +13 -28
  88. package/dist/elements/Nav/NavHamburger/index.js +8 -23
  89. package/dist/elements/Nav/NavToggler/index.js +13 -28
  90. package/dist/elements/Nav/NavWrapper/index.js +8 -23
  91. package/dist/elements/Nav/context.js +20 -82
  92. package/dist/elements/Nav/index.js +36 -51
  93. package/dist/elements/NavGroup/index.js +21 -77
  94. package/dist/elements/Pagination/ClickableArrow/index.js +7 -22
  95. package/dist/elements/Pagination/ClickableArrow/types.js +2 -5
  96. package/dist/elements/Pagination/Page/index.js +4 -19
  97. package/dist/elements/Pagination/Page/types.js +2 -5
  98. package/dist/elements/Pagination/Separator/index.js +4 -19
  99. package/dist/elements/Pagination/index.js +20 -35
  100. package/dist/elements/Pagination/types.js +2 -5
  101. package/dist/elements/PerPage/index.js +28 -83
  102. package/dist/elements/Pill/index.js +16 -40
  103. package/dist/elements/Pill/types.js +2 -5
  104. package/dist/elements/Popup/PopupButtonList/index.js +10 -75
  105. package/dist/elements/Popup/PopupTrigger/index.js +6 -21
  106. package/dist/elements/Popup/PopupTrigger/types.js +2 -5
  107. package/dist/elements/Popup/index.js +29 -80
  108. package/dist/elements/Popup/types.js +2 -5
  109. package/dist/elements/PreviewButton/index.js +22 -73
  110. package/dist/elements/PreviewSizes/index.js +24 -80
  111. package/dist/elements/Publish/index.js +23 -79
  112. package/dist/elements/PublishMany/index.js +37 -93
  113. package/dist/elements/PublishMany/types.js +2 -5
  114. package/dist/elements/ReactSelect/ClearIndicator/index.js +7 -22
  115. package/dist/elements/ReactSelect/Control/index.js +5 -20
  116. package/dist/elements/ReactSelect/MultiValue/index.js +8 -23
  117. package/dist/elements/ReactSelect/MultiValueLabel/index.js +7 -22
  118. package/dist/elements/ReactSelect/MultiValueRemove/index.js +12 -27
  119. package/dist/elements/ReactSelect/SingleValue/index.js +5 -20
  120. package/dist/elements/ReactSelect/ValueContainer/index.js +7 -22
  121. package/dist/elements/ReactSelect/index.js +45 -60
  122. package/dist/elements/ReactSelect/types.js +2 -5
  123. package/dist/elements/RenderCustomComponent/index.js +5 -20
  124. package/dist/elements/RenderCustomComponent/types.js +2 -5
  125. package/dist/elements/RenderTitle/index.js +9 -24
  126. package/dist/elements/RenderTitle/types.js +2 -5
  127. package/dist/elements/Save/index.js +16 -72
  128. package/dist/elements/SaveDraft/index.js +24 -80
  129. package/dist/elements/SearchFilter/index.js +31 -86
  130. package/dist/elements/SearchFilter/types.js +2 -5
  131. package/dist/elements/SelectAll/index.js +13 -28
  132. package/dist/elements/SelectRow/index.js +10 -25
  133. package/dist/elements/ShimmerEffect/index.js +12 -71
  134. package/dist/elements/SortColumn/index.js +27 -90
  135. package/dist/elements/SortColumn/types.js +2 -5
  136. package/dist/elements/SortComplex/index.js +35 -90
  137. package/dist/elements/SortComplex/types.js +2 -5
  138. package/dist/elements/Status/index.js +38 -88
  139. package/dist/elements/StayLoggedIn/index.js +20 -34
  140. package/dist/elements/StayLoggedIn/types.js +2 -5
  141. package/dist/elements/StepNav/SetStepNav.js +6 -16
  142. package/dist/elements/StepNav/index.js +27 -93
  143. package/dist/elements/StepNav/types.js +2 -5
  144. package/dist/elements/Table/TableCellProvider/index.js +7 -30
  145. package/dist/elements/Table/index.js +15 -38
  146. package/dist/elements/Table/types.js +2 -5
  147. package/dist/elements/TableColumns/buildColumns.js +7 -22
  148. package/dist/elements/TableColumns/columnReducer.js +2 -12
  149. package/dist/elements/TableColumns/index.js +24 -86
  150. package/dist/elements/Thumbnail/index.js +12 -68
  151. package/dist/elements/Thumbnail/types.js +2 -5
  152. package/dist/elements/ThumbnailCard/index.js +13 -28
  153. package/dist/elements/ThumbnailCard/types.js +2 -5
  154. package/dist/elements/Tooltip/index.js +14 -65
  155. package/dist/elements/Tooltip/types.js +2 -5
  156. package/dist/elements/Translation/index.js +7 -58
  157. package/dist/elements/UnpublishMany/index.js +37 -93
  158. package/dist/elements/UnpublishMany/types.js +2 -5
  159. package/dist/elements/Upload/index.js +57 -127
  160. package/dist/elements/Upload/types.js +2 -5
  161. package/dist/elements/ViewDescription/index.js +12 -27
  162. package/dist/elements/ViewDescription/types.js +4 -19
  163. package/dist/elements/WhereBuilder/Condition/Date/index.js +6 -21
  164. package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -5
  165. package/dist/elements/WhereBuilder/Condition/Number/index.js +7 -22
  166. package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -5
  167. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +28 -84
  168. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +5 -15
  169. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -5
  170. package/dist/elements/WhereBuilder/Condition/Select/index.js +15 -30
  171. package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -5
  172. package/dist/elements/WhereBuilder/Condition/Text/index.js +7 -22
  173. package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -5
  174. package/dist/elements/WhereBuilder/Condition/index.js +37 -93
  175. package/dist/elements/WhereBuilder/Condition/types.js +2 -5
  176. package/dist/elements/WhereBuilder/field-types.js +2 -12
  177. package/dist/elements/WhereBuilder/index.js +43 -98
  178. package/dist/elements/WhereBuilder/reducer.js +2 -12
  179. package/dist/elements/WhereBuilder/transformWhereQuery.js +6 -12
  180. package/dist/elements/WhereBuilder/types.js +2 -5
  181. package/dist/elements/WhereBuilder/validateWhereQuery.js +4 -14
  182. package/dist/exports/assets.js +3 -26
  183. package/dist/exports/elements.js +48 -249
  184. package/dist/exports/forms.js +38 -173
  185. package/dist/exports/graphics.js +3 -26
  186. package/dist/exports/hooks.js +10 -54
  187. package/dist/exports/icons.js +18 -81
  188. package/dist/exports/index.js +10 -27
  189. package/dist/exports/providers.js +24 -118
  190. package/dist/exports/templates.js +3 -21
  191. package/dist/exports/types.js +2 -5
  192. package/dist/exports/utilities.js +11 -61
  193. package/dist/forms/Error/index.js +11 -26
  194. package/dist/forms/FieldDescription/index.js +9 -24
  195. package/dist/forms/FieldDescription/types.js +2 -5
  196. package/dist/forms/FieldPathProvider/index.js +7 -30
  197. package/dist/forms/FieldPathProvider/types.js +2 -5
  198. package/dist/forms/Form/buildFieldSchemaMap.js +14 -14
  199. package/dist/forms/Form/buildInitialState.js +2 -12
  200. package/dist/forms/Form/context.js +17 -67
  201. package/dist/forms/Form/createNestedFieldPath.js +5 -15
  202. package/dist/forms/Form/errorMessages.js +2 -12
  203. package/dist/forms/Form/fieldReducer.js +25 -38
  204. package/dist/forms/Form/getDataByPath.js +4 -14
  205. package/dist/forms/Form/getSiblingData.js +6 -21
  206. package/dist/forms/Form/index.js +84 -140
  207. package/dist/forms/Form/initContextState.js +2 -12
  208. package/dist/forms/Form/mergeServerFormState.js +4 -14
  209. package/dist/forms/Form/reduceFieldsToValues.js +4 -14
  210. package/dist/forms/Form/rows.js +3 -21
  211. package/dist/forms/Form/types.js +2 -5
  212. package/dist/forms/Label/index.js +9 -24
  213. package/dist/forms/NullifyField/index.js +15 -71
  214. package/dist/forms/RenderFields/RenderField.js +6 -21
  215. package/dist/forms/RenderFields/index.js +13 -28
  216. package/dist/forms/RenderFields/types.js +2 -5
  217. package/dist/forms/RowLabel/index.js +13 -28
  218. package/dist/forms/RowLabel/types.js +4 -19
  219. package/dist/forms/Submit/index.js +11 -62
  220. package/dist/forms/WatchChildErrors/buildPathSegments.js +2 -12
  221. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js +2 -12
  222. package/dist/forms/WatchChildErrors/getNestedFieldState.js +5 -14
  223. package/dist/forms/WatchChildErrors/index.js +11 -26
  224. package/dist/forms/fields/Array/ArrayRow.js +24 -39
  225. package/dist/forms/fields/Array/index.js +59 -115
  226. package/dist/forms/fields/Array/types.js +2 -5
  227. package/dist/forms/fields/Blocks/BlockRow.js +27 -42
  228. package/dist/forms/fields/Blocks/BlocksDrawer/BlockSearch/index.js +10 -25
  229. package/dist/forms/fields/Blocks/BlocksDrawer/index.js +29 -85
  230. package/dist/forms/fields/Blocks/BlocksDrawer/types.js +2 -5
  231. package/dist/forms/fields/Blocks/RowActions.js +12 -27
  232. package/dist/forms/fields/Blocks/SectionTitle/index.js +10 -25
  233. package/dist/forms/fields/Blocks/SectionTitle/types.js +2 -5
  234. package/dist/forms/fields/Blocks/index.js +64 -120
  235. package/dist/forms/fields/Blocks/types.js +2 -5
  236. package/dist/forms/fields/Checkbox/Input.js +11 -34
  237. package/dist/forms/fields/Checkbox/index.js +19 -75
  238. package/dist/forms/fields/Checkbox/types.js +2 -5
  239. package/dist/forms/fields/Code/index.js +15 -71
  240. package/dist/forms/fields/Code/types.js +2 -5
  241. package/dist/forms/fields/Collapsible/index.js +31 -87
  242. package/dist/forms/fields/Collapsible/types.js +2 -5
  243. package/dist/forms/fields/ConfirmPassword/index.js +19 -75
  244. package/dist/forms/fields/ConfirmPassword/types.js +2 -5
  245. package/dist/forms/fields/DateTime/index.js +18 -74
  246. package/dist/forms/fields/DateTime/types.js +2 -5
  247. package/dist/forms/fields/Email/index.js +19 -83
  248. package/dist/forms/fields/Email/types.js +2 -5
  249. package/dist/forms/fields/Group/index.js +32 -88
  250. package/dist/forms/fields/Group/provider.js +7 -69
  251. package/dist/forms/fields/Group/types.js +2 -5
  252. package/dist/forms/fields/HiddenInput/index.js +8 -64
  253. package/dist/forms/fields/HiddenInput/types.js +2 -5
  254. package/dist/forms/fields/JSON/index.js +20 -76
  255. package/dist/forms/fields/JSON/types.js +2 -5
  256. package/dist/forms/fields/Number/index.js +26 -82
  257. package/dist/forms/fields/Number/types.js +2 -5
  258. package/dist/forms/fields/Password/index.js +15 -79
  259. package/dist/forms/fields/Password/types.js +2 -5
  260. package/dist/forms/fields/Point/index.js +24 -80
  261. package/dist/forms/fields/Point/types.js +2 -5
  262. package/dist/forms/fields/RadioGroup/Radio/index.js +13 -28
  263. package/dist/forms/fields/RadioGroup/index.js +23 -79
  264. package/dist/forms/fields/RadioGroup/types.js +2 -5
  265. package/dist/forms/fields/Relationship/AddNew/index.js +43 -99
  266. package/dist/forms/fields/Relationship/AddNew/types.js +2 -5
  267. package/dist/forms/fields/Relationship/AddNew/useRelatedCollections.js +6 -16
  268. package/dist/forms/fields/Relationship/createRelationMap.js +2 -12
  269. package/dist/forms/fields/Relationship/findOptionsByValue.js +2 -12
  270. package/dist/forms/fields/Relationship/index.js +64 -120
  271. package/dist/forms/fields/Relationship/optionsReducer.js +7 -17
  272. package/dist/forms/fields/Relationship/select-components/MultiValueLabel/index.js +21 -72
  273. package/dist/forms/fields/Relationship/select-components/SingleValue/index.js +22 -73
  274. package/dist/forms/fields/Relationship/types.js +2 -5
  275. package/dist/forms/fields/RichText/index.js +2 -12
  276. package/dist/forms/fields/RichText/types.js +2 -5
  277. package/dist/forms/fields/Row/index.js +11 -26
  278. package/dist/forms/fields/Row/provider.js +7 -69
  279. package/dist/forms/fields/Row/types.js +2 -5
  280. package/dist/forms/fields/Select/index.js +24 -88
  281. package/dist/forms/fields/Select/types.js +2 -5
  282. package/dist/forms/fields/Tabs/Tab/index.js +13 -64
  283. package/dist/forms/fields/Tabs/index.js +35 -91
  284. package/dist/forms/fields/Tabs/provider.js +7 -69
  285. package/dist/forms/fields/Tabs/types.js +2 -5
  286. package/dist/forms/fields/Text/Input.js +14 -29
  287. package/dist/forms/fields/Text/index.js +23 -79
  288. package/dist/forms/fields/Text/types.js +2 -5
  289. package/dist/forms/fields/Textarea/Input.js +15 -30
  290. package/dist/forms/fields/Textarea/index.js +20 -76
  291. package/dist/forms/fields/Textarea/types.js +2 -5
  292. package/dist/forms/fields/UI/index.js +2 -12
  293. package/dist/forms/fields/Upload/Input.js +35 -91
  294. package/dist/forms/fields/Upload/index.js +14 -70
  295. package/dist/forms/fields/Upload/types.js +2 -5
  296. package/dist/forms/fields/getFilterOptionsQuery.js +2 -12
  297. package/dist/forms/fields/index.js +50 -65
  298. package/dist/forms/fields/shared.js +7 -21
  299. package/dist/forms/useField/index.js +25 -40
  300. package/dist/forms/useField/types.js +2 -5
  301. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js +21 -33
  302. package/dist/forms/utilities/buildStateFromSchema/buildStateFromSchema.spec.js +5 -14
  303. package/dist/forms/utilities/buildStateFromSchema/index.js +4 -14
  304. package/dist/forms/utilities/buildStateFromSchema/iterateFields.js +8 -16
  305. package/dist/forms/withCondition/WatchCondition.js +7 -57
  306. package/dist/forms/withCondition/index.js +8 -23
  307. package/dist/graphics/Account/Default/index.js +7 -22
  308. package/dist/graphics/Account/Gravatar/index.js +10 -25
  309. package/dist/graphics/Account/index.js +15 -30
  310. package/dist/graphics/DefaultBlockImage/index.js +11 -62
  311. package/dist/graphics/ExternalLink/index.js +5 -20
  312. package/dist/graphics/File/index.js +7 -22
  313. package/dist/graphics/Icon/index.js +13 -28
  314. package/dist/graphics/Logo/index.js +15 -30
  315. package/dist/graphics/Search/index.js +6 -21
  316. package/dist/hooks/useAdminThumbnail.js +5 -15
  317. package/dist/hooks/useDebounce.js +6 -16
  318. package/dist/hooks/useDebouncedCallback.js +10 -15
  319. package/dist/hooks/useDebouncedEffect.js +6 -16
  320. package/dist/hooks/useDelay.js +7 -58
  321. package/dist/hooks/useDelayedRender.js +11 -62
  322. package/dist/hooks/useHotkey.js +10 -20
  323. package/dist/hooks/useIntersect.js +7 -17
  324. package/dist/hooks/usePayloadAPI.js +17 -32
  325. package/dist/hooks/useResize.js +5 -15
  326. package/dist/hooks/useThrottledEffect.js +5 -15
  327. package/dist/hooks/useThumbnail.js +8 -18
  328. package/dist/hooks/useUseAsTitle.js +6 -16
  329. package/dist/icons/Calendar/index.js +8 -23
  330. package/dist/icons/Check/index.js +6 -21
  331. package/dist/icons/Chevron/index.js +5 -20
  332. package/dist/icons/CloseMenu/index.js +6 -21
  333. package/dist/icons/CodeBlock/index.js +5 -20
  334. package/dist/icons/Copy/index.js +6 -21
  335. package/dist/icons/DragHandle/index.js +10 -25
  336. package/dist/icons/Edit/index.js +7 -22
  337. package/dist/icons/Line/index.js +5 -20
  338. package/dist/icons/Link/index.js +6 -21
  339. package/dist/icons/LogOut/index.js +7 -22
  340. package/dist/icons/Menu/index.js +7 -22
  341. package/dist/icons/MinimizeMaximize/index.js +12 -63
  342. package/dist/icons/More/index.js +7 -22
  343. package/dist/icons/Plus/index.js +6 -21
  344. package/dist/icons/Search/index.js +6 -21
  345. package/dist/icons/Swap/index.js +8 -23
  346. package/dist/icons/X/index.js +6 -21
  347. package/dist/index.js +2 -19
  348. package/dist/providers/ActionsProvider/SetViewActions/index.js +6 -16
  349. package/dist/providers/ActionsProvider/index.js +11 -70
  350. package/dist/providers/Auth/HydrateClientUser/index.js +6 -16
  351. package/dist/providers/Auth/index.js +52 -116
  352. package/dist/providers/Auth/types.js +2 -5
  353. package/dist/providers/ClientFunction/index.js +14 -40
  354. package/dist/providers/ComponentMapProvider/index.js +9 -68
  355. package/dist/providers/Config/index.js +6 -65
  356. package/dist/providers/CustomProvider/index.js +9 -24
  357. package/dist/providers/DocumentEvents/index.js +7 -66
  358. package/dist/providers/DocumentEvents/types.js +2 -5
  359. package/dist/providers/DocumentInfo/SetDocumentInfo/index.js +9 -19
  360. package/dist/providers/DocumentInfo/index.js +42 -100
  361. package/dist/providers/DocumentInfo/types.js +2 -5
  362. package/dist/providers/EditDepth/index.js +5 -67
  363. package/dist/providers/FormQueryParams/index.js +7 -69
  364. package/dist/providers/ListInfo/index.js +9 -68
  365. package/dist/providers/ListInfo/types.js +2 -5
  366. package/dist/providers/Locale/index.js +28 -87
  367. package/dist/providers/OperationProvider/index.js +5 -67
  368. package/dist/providers/Params/index.js +9 -67
  369. package/dist/providers/Portal/index.js +4 -19
  370. package/dist/providers/Preferences/index.js +25 -89
  371. package/dist/providers/Root/index.js +31 -82
  372. package/dist/providers/SearchParams/index.js +14 -77
  373. package/dist/providers/SearchParams/types.js +2 -5
  374. package/dist/providers/SelectionProvider/index.js +23 -90
  375. package/dist/providers/Theme/index.js +11 -73
  376. package/dist/providers/Theme/types.js +2 -5
  377. package/dist/providers/Theme/utilities.js +3 -21
  378. package/dist/providers/Translation/index.js +8 -67
  379. package/dist/templates/Default/NavHamburger/index.js +7 -22
  380. package/dist/templates/Default/Wrapper/index.js +7 -22
  381. package/dist/templates/Default/index.js +17 -68
  382. package/dist/templates/Default/types.js +2 -5
  383. package/dist/templates/Minimal/index.js +6 -21
  384. package/dist/templates/Minimal/types.js +2 -5
  385. package/dist/utilities/api.js +4 -19
  386. package/dist/utilities/arraysHaveSameStrings.js +2 -12
  387. package/dist/utilities/buildComponentMap/index.js +16 -31
  388. package/dist/utilities/buildComponentMap/mapActions.js +5 -20
  389. package/dist/utilities/buildComponentMap/mapFields.js +34 -90
  390. package/dist/utilities/buildComponentMap/types.js +2 -5
  391. package/dist/utilities/buildFieldSchemaMap/index.js +5 -15
  392. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +9 -19
  393. package/dist/utilities/buildFieldSchemaMap/types.js +2 -5
  394. package/dist/utilities/canUseDOM.js +2 -12
  395. package/dist/utilities/findLocaleFromCode.js +4 -12
  396. package/dist/utilities/formatDate/getSupportedDateLocale.js +2 -12
  397. package/dist/utilities/formatDate/index.js +10 -69
  398. package/dist/utilities/formatDocTitle.js +6 -16
  399. package/dist/utilities/formatFields.js +3 -13
  400. package/dist/utilities/getFormState.js +2 -12
  401. package/dist/utilities/getOffsetTop.js +2 -12
  402. package/dist/utilities/getRequestLanguage.js +2 -12
  403. package/dist/utilities/getSupportedMonacoLocale.js +2 -12
  404. package/dist/utilities/groupNavItems.js +7 -25
  405. package/dist/utilities/scrollToID.js +2 -12
  406. package/dist/utilities/setsAreEqual.js +2 -12
  407. package/dist/utilities/withMergedProps/index.js +23 -21
  408. package/dist/views/Global/RenderCustomView.js +0 -1
  409. package/package.json +4 -4
@@ -1,86 +1,30 @@
1
1
  'use client';
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "EditMany", {
7
- enumerable: true,
8
- get: function() {
9
- return EditMany;
10
- }
11
- });
12
- const _modal = require("@faceless-ui/modal");
13
- const _translations = require("@payloadcms/translations");
14
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
15
- const _FieldPathProvider = require("../../forms/FieldPathProvider");
16
- const _Form = /*#__PURE__*/ _interop_require_default(require("../../forms/Form"));
17
- const _context = require("../../forms/Form/context");
18
- const _RenderFields = /*#__PURE__*/ _interop_require_default(require("../../forms/RenderFields"));
19
- const _Submit = /*#__PURE__*/ _interop_require_default(require("../../forms/Submit"));
20
- const _X = require("../../icons/X");
21
- const _Auth = require("../../providers/Auth");
22
- const _ComponentMapProvider = require("../../providers/ComponentMapProvider");
23
- const _Config = require("../../providers/Config");
24
- const _DocumentInfo = require("../../providers/DocumentInfo");
25
- const _OperationProvider = require("../../providers/OperationProvider");
26
- const _SearchParams = require("../../providers/SearchParams");
27
- const _SelectionProvider = require("../../providers/SelectionProvider");
28
- const _Translation = require("../../providers/Translation");
29
- const _getFormState = require("../../utilities/getFormState");
30
- const _Drawer = require("../Drawer");
31
- const _FieldSelect = require("../FieldSelect");
32
- require("./index.scss");
33
- function _interop_require_default(obj) {
34
- return obj && obj.__esModule ? obj : {
35
- default: obj
36
- };
37
- }
38
- function _getRequireWildcardCache(nodeInterop) {
39
- if (typeof WeakMap !== "function") return null;
40
- var cacheBabelInterop = new WeakMap();
41
- var cacheNodeInterop = new WeakMap();
42
- return (_getRequireWildcardCache = function(nodeInterop) {
43
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
44
- })(nodeInterop);
45
- }
46
- function _interop_require_wildcard(obj, nodeInterop) {
47
- if (!nodeInterop && obj && obj.__esModule) {
48
- return obj;
49
- }
50
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
51
- return {
52
- default: obj
53
- };
54
- }
55
- var cache = _getRequireWildcardCache(nodeInterop);
56
- if (cache && cache.has(obj)) {
57
- return cache.get(obj);
58
- }
59
- var newObj = {
60
- __proto__: null
61
- };
62
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
63
- for(var key in obj){
64
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
65
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
66
- if (desc && (desc.get || desc.set)) {
67
- Object.defineProperty(newObj, key, desc);
68
- } else {
69
- newObj[key] = obj[key];
70
- }
71
- }
72
- }
73
- newObj.default = obj;
74
- if (cache) {
75
- cache.set(obj, newObj);
76
- }
77
- return newObj;
78
- }
2
+ import { useModal } from '@faceless-ui/modal';
3
+ import { getTranslation } from '@payloadcms/translations';
4
+ import React, { useCallback, useState } from 'react';
5
+ import { FieldPathProvider } from '../../forms/FieldPathProvider';
6
+ import Form from '../../forms/Form';
7
+ import { useForm } from '../../forms/Form/context';
8
+ import RenderFields from '../../forms/RenderFields';
9
+ import FormSubmit from '../../forms/Submit';
10
+ import { X } from '../../icons/X';
11
+ import { useAuth } from '../../providers/Auth';
12
+ import { useComponentMap } from '../../providers/ComponentMapProvider';
13
+ import { useConfig } from '../../providers/Config';
14
+ import { DocumentInfoProvider } from '../../providers/DocumentInfo';
15
+ import { OperationContext } from '../../providers/OperationProvider';
16
+ import { useSearchParams } from '../../providers/SearchParams';
17
+ import { SelectAllStatus, useSelection } from '../../providers/SelectionProvider';
18
+ import { useTranslation } from '../../providers/Translation';
19
+ import { getFormState } from '../../utilities/getFormState';
20
+ import { Drawer, DrawerToggler } from '../Drawer';
21
+ import { FieldSelect } from '../FieldSelect';
22
+ import './index.scss';
79
23
  const baseClass = 'edit-many';
80
24
  const Submit = ({ action, disabled })=>{
81
- const { submit } = (0, _context.useForm)();
82
- const { t } = (0, _Translation.useTranslation)();
83
- const save = (0, _react.useCallback)(()=>{
25
+ const { submit } = useForm();
26
+ const { t } = useTranslation();
27
+ const save = useCallback(()=>{
84
28
  submit({
85
29
  action,
86
30
  method: 'PATCH',
@@ -90,16 +34,16 @@ const Submit = ({ action, disabled })=>{
90
34
  action,
91
35
  submit
92
36
  ]);
93
- return /*#__PURE__*/ _react.default.createElement(_Submit.default, {
37
+ return /*#__PURE__*/ React.createElement(FormSubmit, {
94
38
  className: `${baseClass}__save`,
95
39
  disabled: disabled,
96
40
  onClick: save
97
41
  }, t('general:save'));
98
42
  };
99
43
  const Publish = ({ action, disabled })=>{
100
- const { submit } = (0, _context.useForm)();
101
- const { t } = (0, _Translation.useTranslation)();
102
- const save = (0, _react.useCallback)(()=>{
44
+ const { submit } = useForm();
45
+ const { t } = useTranslation();
46
+ const save = useCallback(()=>{
103
47
  submit({
104
48
  action,
105
49
  method: 'PATCH',
@@ -112,16 +56,16 @@ const Publish = ({ action, disabled })=>{
112
56
  action,
113
57
  submit
114
58
  ]);
115
- return /*#__PURE__*/ _react.default.createElement(_Submit.default, {
59
+ return /*#__PURE__*/ React.createElement(FormSubmit, {
116
60
  className: `${baseClass}__publish`,
117
61
  disabled: disabled,
118
62
  onClick: save
119
63
  }, t('version:publishChanges'));
120
64
  };
121
65
  const SaveDraft = ({ action, disabled })=>{
122
- const { submit } = (0, _context.useForm)();
123
- const { t } = (0, _Translation.useTranslation)();
124
- const save = (0, _react.useCallback)(()=>{
66
+ const { submit } = useForm();
67
+ const { t } = useTranslation();
68
+ const save = useCallback(()=>{
125
69
  submit({
126
70
  action,
127
71
  method: 'PATCH',
@@ -134,29 +78,29 @@ const SaveDraft = ({ action, disabled })=>{
134
78
  action,
135
79
  submit
136
80
  ]);
137
- return /*#__PURE__*/ _react.default.createElement(_Submit.default, {
81
+ return /*#__PURE__*/ React.createElement(FormSubmit, {
138
82
  className: `${baseClass}__draft`,
139
83
  disabled: disabled,
140
84
  onClick: save
141
85
  }, t('version:saveDraft'));
142
86
  };
143
- const EditMany = (props)=>{
87
+ export const EditMany = (props)=>{
144
88
  const { collection: { slug, fields, labels: { plural } } = {}, collection } = props;
145
- const { permissions } = (0, _Auth.useAuth)();
146
- const { closeModal } = (0, _modal.useModal)();
147
- const { routes: { api: apiRoute }, serverURL } = (0, _Config.useConfig)();
148
- const { count, getQueryParams, selectAll } = (0, _SelectionProvider.useSelection)();
149
- const { i18n, t } = (0, _Translation.useTranslation)();
150
- const [selected, setSelected] = (0, _react.useState)([]);
151
- const { dispatchSearchParams } = (0, _SearchParams.useSearchParams)();
152
- const { componentMap } = (0, _ComponentMapProvider.useComponentMap)();
153
- const [reducedFieldMap, setReducedFieldMap] = (0, _react.useState)([]);
154
- const [initialState, setInitialState] = (0, _react.useState)();
155
- const hasInitializedState = _react.default.useRef(false);
89
+ const { permissions } = useAuth();
90
+ const { closeModal } = useModal();
91
+ const { routes: { api: apiRoute }, serverURL } = useConfig();
92
+ const { count, getQueryParams, selectAll } = useSelection();
93
+ const { i18n, t } = useTranslation();
94
+ const [selected, setSelected] = useState([]);
95
+ const { dispatchSearchParams } = useSearchParams();
96
+ const { componentMap } = useComponentMap();
97
+ const [reducedFieldMap, setReducedFieldMap] = useState([]);
98
+ const [initialState, setInitialState] = useState();
99
+ const hasInitializedState = React.useRef(false);
156
100
  const collectionPermissions = permissions?.collections?.[slug];
157
101
  const hasUpdatePermission = collectionPermissions?.update?.permission;
158
102
  const drawerSlug = `edit-${slug}`;
159
- _react.default.useEffect(()=>{
103
+ React.useEffect(()=>{
160
104
  if (componentMap?.collections?.[slug]?.fieldMap) {
161
105
  const fieldMap = componentMap.collections[slug].fieldMap;
162
106
  const reducedFieldMap = [];
@@ -175,10 +119,10 @@ const EditMany = (props)=>{
175
119
  slug,
176
120
  selected
177
121
  ]);
178
- _react.default.useEffect(()=>{
122
+ React.useEffect(()=>{
179
123
  if (!hasInitializedState.current) {
180
124
  const getInitialState = async ()=>{
181
- const result = await (0, _getFormState.getFormState)({
125
+ const result = await getFormState({
182
126
  apiRoute,
183
127
  body: {
184
128
  collectionSlug: slug,
@@ -199,7 +143,7 @@ const EditMany = (props)=>{
199
143
  serverURL,
200
144
  slug
201
145
  ]);
202
- if (selectAll === _SelectionProvider.SelectAllStatus.None || !hasUpdatePermission) {
146
+ if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {
203
147
  return null;
204
148
  }
205
149
  const onSuccess = ()=>{
@@ -207,71 +151,71 @@ const EditMany = (props)=>{
207
151
  type: 'set',
208
152
  browserHistory: 'replace',
209
153
  params: {
210
- page: selectAll === _SelectionProvider.SelectAllStatus.AllAvailable ? '1' : undefined
154
+ page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined
211
155
  }
212
156
  });
213
157
  };
214
- return /*#__PURE__*/ _react.default.createElement("div", {
158
+ return /*#__PURE__*/ React.createElement("div", {
215
159
  className: baseClass
216
- }, /*#__PURE__*/ _react.default.createElement(_Drawer.DrawerToggler, {
160
+ }, /*#__PURE__*/ React.createElement(DrawerToggler, {
217
161
  "aria-label": t('general:edit'),
218
162
  className: `${baseClass}__toggle`,
219
163
  onClick: ()=>{
220
164
  setSelected([]);
221
165
  },
222
166
  slug: drawerSlug
223
- }, t('general:edit')), /*#__PURE__*/ _react.default.createElement(_Drawer.Drawer, {
167
+ }, t('general:edit')), /*#__PURE__*/ React.createElement(Drawer, {
224
168
  Header: null,
225
169
  slug: drawerSlug
226
- }, /*#__PURE__*/ _react.default.createElement(_DocumentInfo.DocumentInfoProvider, {
170
+ }, /*#__PURE__*/ React.createElement(DocumentInfoProvider, {
227
171
  collection: collection
228
- }, /*#__PURE__*/ _react.default.createElement(_OperationProvider.OperationContext.Provider, {
172
+ }, /*#__PURE__*/ React.createElement(OperationContext.Provider, {
229
173
  value: "update"
230
- }, /*#__PURE__*/ _react.default.createElement("div", {
174
+ }, /*#__PURE__*/ React.createElement("div", {
231
175
  className: `${baseClass}__main`
232
- }, /*#__PURE__*/ _react.default.createElement("div", {
176
+ }, /*#__PURE__*/ React.createElement("div", {
233
177
  className: `${baseClass}__header`
234
- }, /*#__PURE__*/ _react.default.createElement("h2", {
178
+ }, /*#__PURE__*/ React.createElement("h2", {
235
179
  className: `${baseClass}__header__title`
236
180
  }, t('general:editingLabel', {
237
181
  count,
238
- label: (0, _translations.getTranslation)(plural, i18n)
239
- })), /*#__PURE__*/ _react.default.createElement("button", {
182
+ label: getTranslation(plural, i18n)
183
+ })), /*#__PURE__*/ React.createElement("button", {
240
184
  "aria-label": t('general:close'),
241
185
  className: `${baseClass}__header__close`,
242
186
  id: `close-drawer__${drawerSlug}`,
243
187
  onClick: ()=>closeModal(drawerSlug),
244
188
  type: "button"
245
- }, /*#__PURE__*/ _react.default.createElement(_X.X, null))), /*#__PURE__*/ _react.default.createElement(_FieldPathProvider.FieldPathProvider, {
189
+ }, /*#__PURE__*/ React.createElement(X, null))), /*#__PURE__*/ React.createElement(FieldPathProvider, {
246
190
  path: "",
247
191
  schemaPath: slug
248
- }, /*#__PURE__*/ _react.default.createElement(_Form.default, {
192
+ }, /*#__PURE__*/ React.createElement(Form, {
249
193
  className: `${baseClass}__form`,
250
194
  initialState: initialState,
251
195
  onSuccess: onSuccess
252
- }, /*#__PURE__*/ _react.default.createElement(_FieldSelect.FieldSelect, {
196
+ }, /*#__PURE__*/ React.createElement(FieldSelect, {
253
197
  fields: fields,
254
198
  setSelected: setSelected
255
- }), reducedFieldMap.length === 0 ? null : /*#__PURE__*/ _react.default.createElement(_RenderFields.default, {
199
+ }), reducedFieldMap.length === 0 ? null : /*#__PURE__*/ React.createElement(RenderFields, {
256
200
  fieldMap: reducedFieldMap
257
- }), /*#__PURE__*/ _react.default.createElement("div", {
201
+ }), /*#__PURE__*/ React.createElement("div", {
258
202
  className: `${baseClass}__sidebar-wrap`
259
- }, /*#__PURE__*/ _react.default.createElement("div", {
203
+ }, /*#__PURE__*/ React.createElement("div", {
260
204
  className: `${baseClass}__sidebar`
261
- }, /*#__PURE__*/ _react.default.createElement("div", {
205
+ }, /*#__PURE__*/ React.createElement("div", {
262
206
  className: `${baseClass}__sidebar-sticky-wrap`
263
- }, /*#__PURE__*/ _react.default.createElement("div", {
207
+ }, /*#__PURE__*/ React.createElement("div", {
264
208
  className: `${baseClass}__document-actions`
265
- }, collection?.versions?.drafts ? /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(Publish, {
209
+ }, collection?.versions?.drafts ? /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(Publish, {
266
210
  action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}`,
267
211
  disabled: selected.length === 0
268
- }), /*#__PURE__*/ _react.default.createElement(SaveDraft, {
212
+ }), /*#__PURE__*/ React.createElement(SaveDraft, {
269
213
  action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}`,
270
214
  disabled: selected.length === 0
271
- })) : /*#__PURE__*/ _react.default.createElement(Submit, {
215
+ })) : /*#__PURE__*/ React.createElement(Submit, {
272
216
  action: `${serverURL}${apiRoute}/${slug}${getQueryParams()}`,
273
217
  disabled: selected.length === 0
274
218
  }))))))))))));
275
219
  };
276
220
 
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9FZGl0TWFueS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgdHlwZSB7IEZvcm1TdGF0ZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHVzZU1vZGFsIH0gZnJvbSAnQGZhY2VsZXNzLXVpL21vZGFsJ1xuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMnXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBGaWVsZFBhdGhQcm92aWRlciB9IGZyb20gJy4uLy4uL2Zvcm1zL0ZpZWxkUGF0aFByb3ZpZGVyJ1xuaW1wb3J0IEZvcm0gZnJvbSAnLi4vLi4vZm9ybXMvRm9ybSdcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tICcuLi8uLi9mb3Jtcy9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgUmVuZGVyRmllbGRzIGZyb20gJy4uLy4uL2Zvcm1zL1JlbmRlckZpZWxkcydcbmltcG9ydCBGb3JtU3VibWl0IGZyb20gJy4uLy4uL2Zvcm1zL1N1Ym1pdCdcbmltcG9ydCB7IFggfSBmcm9tICcuLi8uLi9pY29ucy9YJ1xuaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9BdXRoJ1xuaW1wb3J0IHsgdXNlQ29tcG9uZW50TWFwIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0NvbXBvbmVudE1hcFByb3ZpZGVyJ1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0NvbmZpZydcbmltcG9ydCB7IERvY3VtZW50SW5mb1Byb3ZpZGVyIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0RvY3VtZW50SW5mbydcbmltcG9ydCB7IE9wZXJhdGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvT3BlcmF0aW9uUHJvdmlkZXInXG5pbXBvcnQgeyB1c2VTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvU2VhcmNoUGFyYW1zJ1xuaW1wb3J0IHsgU2VsZWN0QWxsU3RhdHVzLCB1c2VTZWxlY3Rpb24gfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvU2VsZWN0aW9uUHJvdmlkZXInXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9UcmFuc2xhdGlvbidcbmltcG9ydCB7IGdldEZvcm1TdGF0ZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9nZXRGb3JtU3RhdGUnXG5pbXBvcnQgeyBEcmF3ZXIsIERyYXdlclRvZ2dsZXIgfSBmcm9tICcuLi9EcmF3ZXInXG5pbXBvcnQgeyBGaWVsZFNlbGVjdCB9IGZyb20gJy4uL0ZpZWxkU2VsZWN0J1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdlZGl0LW1hbnknXG5cbmNvbnN0IFN1Ym1pdDogUmVhY3QuRkM8eyBhY3Rpb246IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW4gfT4gPSAoeyBhY3Rpb24sIGRpc2FibGVkIH0pID0+IHtcbiAgY29uc3QgeyBzdWJtaXQgfSA9IHVzZUZvcm0oKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcblxuICBjb25zdCBzYXZlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHN1Ym1pdCh7XG4gICAgICBhY3Rpb24sXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBza2lwVmFsaWRhdGlvbjogdHJ1ZSxcbiAgICB9KVxuICB9LCBbYWN0aW9uLCBzdWJtaXRdKVxuXG4gIHJldHVybiAoXG4gICAgPEZvcm1TdWJtaXQgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zYXZlYH0gZGlzYWJsZWQ9e2Rpc2FibGVkfSBvbkNsaWNrPXtzYXZlfT5cbiAgICAgIHt0KCdnZW5lcmFsOnNhdmUnKX1cbiAgICA8L0Zvcm1TdWJtaXQ+XG4gIClcbn1cbmNvbnN0IFB1Ymxpc2g6IFJlYWN0LkZDPHsgYWN0aW9uOiBzdHJpbmc7IGRpc2FibGVkOiBib29sZWFuIH0+ID0gKHsgYWN0aW9uLCBkaXNhYmxlZCB9KSA9PiB7XG4gIGNvbnN0IHsgc3VibWl0IH0gPSB1c2VGb3JtKClcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG5cbiAgY29uc3Qgc2F2ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzdWJtaXQoe1xuICAgICAgYWN0aW9uLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIF9zdGF0dXM6ICdwdWJsaXNoZWQnLFxuICAgICAgfSxcbiAgICAgIHNraXBWYWxpZGF0aW9uOiB0cnVlLFxuICAgIH0pXG4gIH0sIFthY3Rpb24sIHN1Ym1pdF0pXG5cbiAgcmV0dXJuIChcbiAgICA8Rm9ybVN1Ym1pdCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3B1Ymxpc2hgfSBkaXNhYmxlZD17ZGlzYWJsZWR9IG9uQ2xpY2s9e3NhdmV9PlxuICAgICAge3QoJ3ZlcnNpb246cHVibGlzaENoYW5nZXMnKX1cbiAgICA8L0Zvcm1TdWJtaXQ+XG4gIClcbn1cbmNvbnN0IFNhdmVEcmFmdDogUmVhY3QuRkM8eyBhY3Rpb246IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW4gfT4gPSAoeyBhY3Rpb24sIGRpc2FibGVkIH0pID0+IHtcbiAgY29uc3QgeyBzdWJtaXQgfSA9IHVzZUZvcm0oKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcblxuICBjb25zdCBzYXZlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHN1Ym1pdCh7XG4gICAgICBhY3Rpb24sXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgX3N0YXR1czogJ2RyYWZ0JyxcbiAgICAgIH0sXG4gICAgICBza2lwVmFsaWRhdGlvbjogdHJ1ZSxcbiAgICB9KVxuICB9LCBbYWN0aW9uLCBzdWJtaXRdKVxuXG4gIHJldHVybiAoXG4gICAgPEZvcm1TdWJtaXQgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19kcmFmdGB9IGRpc2FibGVkPXtkaXNhYmxlZH0gb25DbGljaz17c2F2ZX0+XG4gICAgICB7dCgndmVyc2lvbjpzYXZlRHJhZnQnKX1cbiAgICA8L0Zvcm1TdWJtaXQ+XG4gIClcbn1cbmV4cG9ydCBjb25zdCBFZGl0TWFueTogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbjogeyBzbHVnLCBmaWVsZHMsIGxhYmVsczogeyBwbHVyYWwgfSB9ID0ge30sIGNvbGxlY3Rpb24gfSA9IHByb3BzXG5cbiAgY29uc3QgeyBwZXJtaXNzaW9ucyB9ID0gdXNlQXV0aCgpXG4gIGNvbnN0IHsgY2xvc2VNb2RhbCB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCB7XG4gICAgcm91dGVzOiB7IGFwaTogYXBpUm91dGUgfSxcbiAgICBzZXJ2ZXJVUkwsXG4gIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCB7IGNvdW50LCBnZXRRdWVyeVBhcmFtcywgc2VsZWN0QWxsIH0gPSB1c2VTZWxlY3Rpb24oKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgW3NlbGVjdGVkLCBzZXRTZWxlY3RlZF0gPSB1c2VTdGF0ZShbXSlcbiAgY29uc3QgeyBkaXNwYXRjaFNlYXJjaFBhcmFtcyB9ID0gdXNlU2VhcmNoUGFyYW1zKClcbiAgY29uc3QgeyBjb21wb25lbnRNYXAgfSA9IHVzZUNvbXBvbmVudE1hcCgpXG4gIGNvbnN0IFtyZWR1Y2VkRmllbGRNYXAsIHNldFJlZHVjZWRGaWVsZE1hcF0gPSB1c2VTdGF0ZShbXSlcbiAgY29uc3QgW2luaXRpYWxTdGF0ZSwgc2V0SW5pdGlhbFN0YXRlXSA9IHVzZVN0YXRlPEZvcm1TdGF0ZT4oKVxuICBjb25zdCBoYXNJbml0aWFsaXplZFN0YXRlID0gUmVhY3QudXNlUmVmKGZhbHNlKVxuXG4gIGNvbnN0IGNvbGxlY3Rpb25QZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zPy5jb2xsZWN0aW9ucz8uW3NsdWddXG4gIGNvbnN0IGhhc1VwZGF0ZVBlcm1pc3Npb24gPSBjb2xsZWN0aW9uUGVybWlzc2lvbnM/LnVwZGF0ZT8ucGVybWlzc2lvblxuXG4gIGNvbnN0IGRyYXdlclNsdWcgPSBgZWRpdC0ke3NsdWd9YFxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNvbXBvbmVudE1hcD8uY29sbGVjdGlvbnM/LltzbHVnXT8uZmllbGRNYXApIHtcbiAgICAgIGNvbnN0IGZpZWxkTWFwID0gY29tcG9uZW50TWFwLmNvbGxlY3Rpb25zW3NsdWddLmZpZWxkTWFwXG4gICAgICBjb25zdCByZWR1Y2VkRmllbGRNYXAgPSBbXVxuICAgICAgZmllbGRNYXAubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBzZWxlY3RlZC5tYXAoKHNlbGVjdGVkRmllbGQpID0+IHtcbiAgICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gc2VsZWN0ZWRGaWVsZC5uYW1lKSB7XG4gICAgICAgICAgICByZWR1Y2VkRmllbGRNYXAucHVzaChmaWVsZClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgICAgc2V0UmVkdWNlZEZpZWxkTWFwKHJlZHVjZWRGaWVsZE1hcClcbiAgICB9XG4gIH0sIFtjb21wb25lbnRNYXAuY29sbGVjdGlvbnMsIGZpZWxkcywgc2x1Zywgc2VsZWN0ZWRdKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFoYXNJbml0aWFsaXplZFN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IGdldEluaXRpYWxTdGF0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0Rm9ybVN0YXRlKHtcbiAgICAgICAgICBhcGlSb3V0ZSxcbiAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICBjb2xsZWN0aW9uU2x1Zzogc2x1ZyxcbiAgICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgICAgICAgIHNjaGVtYVBhdGg6IHNsdWcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgIH0pXG5cbiAgICAgICAgc2V0SW5pdGlhbFN0YXRlKHJlc3VsdClcbiAgICAgICAgaGFzSW5pdGlhbGl6ZWRTdGF0ZS5jdXJyZW50ID0gdHJ1ZVxuICAgICAgfVxuXG4gICAgICB2b2lkIGdldEluaXRpYWxTdGF0ZSgpXG4gICAgfVxuICB9LCBbYXBpUm91dGUsIGhhc0luaXRpYWxpemVkU3RhdGUsIHNlcnZlclVSTCwgc2x1Z10pXG5cbiAgaWYgKHNlbGVjdEFsbCA9PT0gU2VsZWN0QWxsU3RhdHVzLk5vbmUgfHwgIWhhc1VwZGF0ZVBlcm1pc3Npb24pIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3Qgb25TdWNjZXNzID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoU2VhcmNoUGFyYW1zKHtcbiAgICAgIHR5cGU6ICdzZXQnLFxuICAgICAgYnJvd3Nlckhpc3Rvcnk6ICdyZXBsYWNlJyxcbiAgICAgIHBhcmFtczogeyBwYWdlOiBzZWxlY3RBbGwgPT09IFNlbGVjdEFsbFN0YXR1cy5BbGxBdmFpbGFibGUgPyAnMScgOiB1bmRlZmluZWQgfSxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgIDxEcmF3ZXJUb2dnbGVyXG4gICAgICAgIGFyaWEtbGFiZWw9e3QoJ2dlbmVyYWw6ZWRpdCcpfVxuICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3RvZ2dsZWB9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBzZXRTZWxlY3RlZChbXSlcbiAgICAgICAgfX1cbiAgICAgICAgc2x1Zz17ZHJhd2VyU2x1Z31cbiAgICAgID5cbiAgICAgICAge3QoJ2dlbmVyYWw6ZWRpdCcpfVxuICAgICAgPC9EcmF3ZXJUb2dnbGVyPlxuICAgICAgPERyYXdlciBIZWFkZXI9e251bGx9IHNsdWc9e2RyYXdlclNsdWd9PlxuICAgICAgICB7LyogQHRzLWV4cGVjdC1lcnJvciAqL31cbiAgICAgICAgPERvY3VtZW50SW5mb1Byb3ZpZGVyIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259PlxuICAgICAgICAgIDxPcGVyYXRpb25Db250ZXh0LlByb3ZpZGVyIHZhbHVlPVwidXBkYXRlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbWFpbmB9PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyYH0+XG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyX190aXRsZWB9PlxuICAgICAgICAgICAgICAgICAge3QoJ2dlbmVyYWw6ZWRpdGluZ0xhYmVsJywgeyBjb3VudCwgbGFiZWw6IGdldFRyYW5zbGF0aW9uKHBsdXJhbCwgaTE4bikgfSl9XG4gICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdnZW5lcmFsOmNsb3NlJyl9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2hlYWRlcl9fY2xvc2VgfVxuICAgICAgICAgICAgICAgICAgaWQ9e2BjbG9zZS1kcmF3ZXJfXyR7ZHJhd2VyU2x1Z31gfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gY2xvc2VNb2RhbChkcmF3ZXJTbHVnKX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxYIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8RmllbGRQYXRoUHJvdmlkZXIgcGF0aD1cIlwiIHNjaGVtYVBhdGg9e3NsdWd9PlxuICAgICAgICAgICAgICAgIDxGb3JtXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Zvcm1gfVxuICAgICAgICAgICAgICAgICAgaW5pdGlhbFN0YXRlPXtpbml0aWFsU3RhdGV9XG4gICAgICAgICAgICAgICAgICBvblN1Y2Nlc3M9e29uU3VjY2Vzc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RmllbGRTZWxlY3QgZmllbGRzPXtmaWVsZHN9IHNldFNlbGVjdGVkPXtzZXRTZWxlY3RlZH0gLz5cbiAgICAgICAgICAgICAgICAgIHtyZWR1Y2VkRmllbGRNYXAubGVuZ3RoID09PSAwID8gbnVsbCA6IChcbiAgICAgICAgICAgICAgICAgICAgPFJlbmRlckZpZWxkcyBmaWVsZE1hcD17cmVkdWNlZEZpZWxkTWFwfSAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaWRlYmFyLXdyYXBgfT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3NpZGViYXJgfT5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fc2lkZWJhci1zdGlja3ktd3JhcGB9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2RvY3VtZW50LWFjdGlvbnNgfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbGxlY3Rpb24/LnZlcnNpb25zPy5kcmFmdHMgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFB1Ymxpc2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPXtgJHtzZXJ2ZXJVUkx9JHthcGlSb3V0ZX0vJHtzbHVnfSR7Z2V0UXVlcnlQYXJhbXMoKX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17c2VsZWN0ZWQubGVuZ3RoID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTYXZlRHJhZnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPXtgJHtzZXJ2ZXJVUkx9JHthcGlSb3V0ZX0vJHtzbHVnfSR7Z2V0UXVlcnlQYXJhbXMoKX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17c2VsZWN0ZWQubGVuZ3RoID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdWJtaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj17YCR7c2VydmVyVVJMfSR7YXBpUm91dGV9LyR7c2x1Z30ke2dldFF1ZXJ5UGFyYW1zKCl9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzZWxlY3RlZC5sZW5ndGggPT09IDB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvRm9ybT5cbiAgICAgICAgICAgICAgPC9GaWVsZFBhdGhQcm92aWRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvT3BlcmF0aW9uQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgPC9Eb2N1bWVudEluZm9Qcm92aWRlcj5cbiAgICAgIDwvRHJhd2VyPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsiRWRpdE1hbnkiLCJiYXNlQ2xhc3MiLCJTdWJtaXQiLCJhY3Rpb24iLCJkaXNhYmxlZCIsInN1Ym1pdCIsInVzZUZvcm0iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJzYXZlIiwidXNlQ2FsbGJhY2siLCJtZXRob2QiLCJza2lwVmFsaWRhdGlvbiIsIkZvcm1TdWJtaXQiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwiUHVibGlzaCIsIm92ZXJyaWRlcyIsIl9zdGF0dXMiLCJTYXZlRHJhZnQiLCJwcm9wcyIsImNvbGxlY3Rpb24iLCJzbHVnIiwiZmllbGRzIiwibGFiZWxzIiwicGx1cmFsIiwicGVybWlzc2lvbnMiLCJ1c2VBdXRoIiwiY2xvc2VNb2RhbCIsInVzZU1vZGFsIiwicm91dGVzIiwiYXBpIiwiYXBpUm91dGUiLCJzZXJ2ZXJVUkwiLCJ1c2VDb25maWciLCJjb3VudCIsImdldFF1ZXJ5UGFyYW1zIiwic2VsZWN0QWxsIiwidXNlU2VsZWN0aW9uIiwiaTE4biIsInNlbGVjdGVkIiwic2V0U2VsZWN0ZWQiLCJ1c2VTdGF0ZSIsImRpc3BhdGNoU2VhcmNoUGFyYW1zIiwidXNlU2VhcmNoUGFyYW1zIiwiY29tcG9uZW50TWFwIiwidXNlQ29tcG9uZW50TWFwIiwicmVkdWNlZEZpZWxkTWFwIiwic2V0UmVkdWNlZEZpZWxkTWFwIiwiaW5pdGlhbFN0YXRlIiwic2V0SW5pdGlhbFN0YXRlIiwiaGFzSW5pdGlhbGl6ZWRTdGF0ZSIsIlJlYWN0IiwidXNlUmVmIiwiY29sbGVjdGlvblBlcm1pc3Npb25zIiwiY29sbGVjdGlvbnMiLCJoYXNVcGRhdGVQZXJtaXNzaW9uIiwidXBkYXRlIiwicGVybWlzc2lvbiIsImRyYXdlclNsdWciLCJ1c2VFZmZlY3QiLCJmaWVsZE1hcCIsIm1hcCIsImZpZWxkIiwic2VsZWN0ZWRGaWVsZCIsIm5hbWUiLCJwdXNoIiwiY3VycmVudCIsImdldEluaXRpYWxTdGF0ZSIsInJlc3VsdCIsImdldEZvcm1TdGF0ZSIsImJvZHkiLCJjb2xsZWN0aW9uU2x1ZyIsImRhdGEiLCJvcGVyYXRpb24iLCJzY2hlbWFQYXRoIiwiU2VsZWN0QWxsU3RhdHVzIiwiTm9uZSIsIm9uU3VjY2VzcyIsInR5cGUiLCJicm93c2VySGlzdG9yeSIsInBhcmFtcyIsInBhZ2UiLCJBbGxBdmFpbGFibGUiLCJ1bmRlZmluZWQiLCJkaXYiLCJEcmF3ZXJUb2dnbGVyIiwiYXJpYS1sYWJlbCIsIkRyYXdlciIsIkhlYWRlciIsIkRvY3VtZW50SW5mb1Byb3ZpZGVyIiwiT3BlcmF0aW9uQ29udGV4dCIsIlByb3ZpZGVyIiwidmFsdWUiLCJoMiIsImxhYmVsIiwiZ2V0VHJhbnNsYXRpb24iLCJidXR0b24iLCJpZCIsIlgiLCJGaWVsZFBhdGhQcm92aWRlciIsInBhdGgiLCJGb3JtIiwiRmllbGRTZWxlY3QiLCJsZW5ndGgiLCJSZW5kZXJGaWVsZHMiLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsIkZyYWdtZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBMEZhQTs7O2VBQUFBOzs7dUJBdkZZOzhCQUNNOytEQUNjO21DQUlYOzZEQUNqQjt5QkFDTztxRUFDQzsrREFDRjttQkFDTDtzQkFDTTtzQ0FDUTt3QkFDTjs4QkFDVzttQ0FDSjs4QkFDRDttQ0FDYzs2QkFDZjs4QkFDRjt3QkFDUzs2QkFDVjtRQUNyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUCxNQUFNQyxZQUFZO0FBRWxCLE1BQU1DLFNBQTBELENBQUMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUU7SUFDbkYsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR0MsSUFBQUEsZ0JBQU87SUFDMUIsTUFBTSxFQUFFQyxDQUFDLEVBQUUsR0FBR0MsSUFBQUEsMkJBQWM7SUFFNUIsTUFBTUMsT0FBT0MsSUFBQUEsa0JBQVcsRUFBQztRQUN2QkwsT0FBTztZQUNMRjtZQUNBUSxRQUFRO1lBQ1JDLGdCQUFnQjtRQUNsQjtJQUNGLEdBQUc7UUFBQ1Q7UUFBUUU7S0FBTztJQUVuQixxQkFDRSw2QkFBQ1EsZUFBVTtRQUFDQyxXQUFXLENBQUMsRUFBRWIsVUFBVSxNQUFNLENBQUM7UUFBRUcsVUFBVUE7UUFBVVcsU0FBU047T0FDdkVGLEVBQUU7QUFHVDtBQUNBLE1BQU1TLFVBQTJELENBQUMsRUFBRWIsTUFBTSxFQUFFQyxRQUFRLEVBQUU7SUFDcEYsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR0MsSUFBQUEsZ0JBQU87SUFDMUIsTUFBTSxFQUFFQyxDQUFDLEVBQUUsR0FBR0MsSUFBQUEsMkJBQWM7SUFFNUIsTUFBTUMsT0FBT0MsSUFBQUEsa0JBQVcsRUFBQztRQUN2QkwsT0FBTztZQUNMRjtZQUNBUSxRQUFRO1lBQ1JNLFdBQVc7Z0JBQ1RDLFNBQVM7WUFDWDtZQUNBTixnQkFBZ0I7UUFDbEI7SUFDRixHQUFHO1FBQUNUO1FBQVFFO0tBQU87SUFFbkIscUJBQ0UsNkJBQUNRLGVBQVU7UUFBQ0MsV0FBVyxDQUFDLEVBQUViLFVBQVUsU0FBUyxDQUFDO1FBQUVHLFVBQVVBO1FBQVVXLFNBQVNOO09BQzFFRixFQUFFO0FBR1Q7QUFDQSxNQUFNWSxZQUE2RCxDQUFDLEVBQUVoQixNQUFNLEVBQUVDLFFBQVEsRUFBRTtJQUN0RixNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHQyxJQUFBQSxnQkFBTztJQUMxQixNQUFNLEVBQUVDLENBQUMsRUFBRSxHQUFHQyxJQUFBQSwyQkFBYztJQUU1QixNQUFNQyxPQUFPQyxJQUFBQSxrQkFBVyxFQUFDO1FBQ3ZCTCxPQUFPO1lBQ0xGO1lBQ0FRLFFBQVE7WUFDUk0sV0FBVztnQkFDVEMsU0FBUztZQUNYO1lBQ0FOLGdCQUFnQjtRQUNsQjtJQUNGLEdBQUc7UUFBQ1Q7UUFBUUU7S0FBTztJQUVuQixxQkFDRSw2QkFBQ1EsZUFBVTtRQUFDQyxXQUFXLENBQUMsRUFBRWIsVUFBVSxPQUFPLENBQUM7UUFBRUcsVUFBVUE7UUFBVVcsU0FBU047T0FDeEVGLEVBQUU7QUFHVDtBQUNPLE1BQU1QLFdBQTRCLENBQUNvQjtJQUN4QyxNQUFNLEVBQUVDLFlBQVksRUFBRUMsSUFBSSxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRUosVUFBVSxFQUFFLEdBQUdEO0lBRTlFLE1BQU0sRUFBRU0sV0FBVyxFQUFFLEdBQUdDLElBQUFBLGFBQU87SUFDL0IsTUFBTSxFQUFFQyxVQUFVLEVBQUUsR0FBR0MsSUFBQUEsZUFBUTtJQUMvQixNQUFNLEVBQ0pDLFFBQVEsRUFBRUMsS0FBS0MsUUFBUSxFQUFFLEVBQ3pCQyxTQUFTLEVBQ1YsR0FBR0MsSUFBQUEsaUJBQVM7SUFDYixNQUFNLEVBQUVDLEtBQUssRUFBRUMsY0FBYyxFQUFFQyxTQUFTLEVBQUUsR0FBR0MsSUFBQUEsK0JBQVk7SUFDekQsTUFBTSxFQUFFQyxJQUFJLEVBQUVoQyxDQUFDLEVBQUUsR0FBR0MsSUFBQUEsMkJBQWM7SUFDbEMsTUFBTSxDQUFDZ0MsVUFBVUMsWUFBWSxHQUFHQyxJQUFBQSxlQUFRLEVBQUMsRUFBRTtJQUMzQyxNQUFNLEVBQUVDLG9CQUFvQixFQUFFLEdBQUdDLElBQUFBLDZCQUFlO0lBQ2hELE1BQU0sRUFBRUMsWUFBWSxFQUFFLEdBQUdDLElBQUFBLHFDQUFlO0lBQ3hDLE1BQU0sQ0FBQ0MsaUJBQWlCQyxtQkFBbUIsR0FBR04sSUFBQUEsZUFBUSxFQUFDLEVBQUU7SUFDekQsTUFBTSxDQUFDTyxjQUFjQyxnQkFBZ0IsR0FBR1IsSUFBQUEsZUFBUTtJQUNoRCxNQUFNUyxzQkFBc0JDLGNBQUssQ0FBQ0MsTUFBTSxDQUFDO0lBRXpDLE1BQU1DLHdCQUF3QjVCLGFBQWE2QixhQUFhLENBQUNqQyxLQUFLO0lBQzlELE1BQU1rQyxzQkFBc0JGLHVCQUF1QkcsUUFBUUM7SUFFM0QsTUFBTUMsYUFBYSxDQUFDLEtBQUssRUFBRXJDLEtBQUssQ0FBQztJQUVqQzhCLGNBQUssQ0FBQ1EsU0FBUyxDQUFDO1FBQ2QsSUFBSWYsY0FBY1UsYUFBYSxDQUFDakMsS0FBSyxFQUFFdUMsVUFBVTtZQUMvQyxNQUFNQSxXQUFXaEIsYUFBYVUsV0FBVyxDQUFDakMsS0FBSyxDQUFDdUMsUUFBUTtZQUN4RCxNQUFNZCxrQkFBa0IsRUFBRTtZQUMxQmMsU0FBU0MsR0FBRyxDQUFDLENBQUNDO2dCQUNadkIsU0FBU3NCLEdBQUcsQ0FBQyxDQUFDRTtvQkFDWixJQUFJRCxNQUFNRSxJQUFJLEtBQUtELGNBQWNDLElBQUksRUFBRTt3QkFDckNsQixnQkFBZ0JtQixJQUFJLENBQUNIO29CQUN2QjtnQkFDRjtZQUNGO1lBQ0FmLG1CQUFtQkQ7UUFDckI7SUFDRixHQUFHO1FBQUNGLGFBQWFVLFdBQVc7UUFBRWhDO1FBQVFEO1FBQU1rQjtLQUFTO0lBRXJEWSxjQUFLLENBQUNRLFNBQVMsQ0FBQztRQUNkLElBQUksQ0FBQ1Qsb0JBQW9CZ0IsT0FBTyxFQUFFO1lBQ2hDLE1BQU1DLGtCQUFrQjtnQkFDdEIsTUFBTUMsU0FBUyxNQUFNQyxJQUFBQSwwQkFBWSxFQUFDO29CQUNoQ3RDO29CQUNBdUMsTUFBTTt3QkFDSkMsZ0JBQWdCbEQ7d0JBQ2hCbUQsTUFBTSxDQUFDO3dCQUNQQyxXQUFXO3dCQUNYQyxZQUFZckQ7b0JBQ2Q7b0JBQ0FXO2dCQUNGO2dCQUVBaUIsZ0JBQWdCbUI7Z0JBQ2hCbEIsb0JBQW9CZ0IsT0FBTyxHQUFHO1lBQ2hDO1lBRUEsS0FBS0M7UUFDUDtJQUNGLEdBQUc7UUFBQ3BDO1FBQVVtQjtRQUFxQmxCO1FBQVdYO0tBQUs7SUFFbkQsSUFBSWUsY0FBY3VDLGtDQUFlLENBQUNDLElBQUksSUFBSSxDQUFDckIscUJBQXFCO1FBQzlELE9BQU87SUFDVDtJQUVBLE1BQU1zQixZQUFZO1FBQ2hCbkMscUJBQXFCO1lBQ25Cb0MsTUFBTTtZQUNOQyxnQkFBZ0I7WUFDaEJDLFFBQVE7Z0JBQUVDLE1BQU03QyxjQUFjdUMsa0NBQWUsQ0FBQ08sWUFBWSxHQUFHLE1BQU1DO1lBQVU7UUFDL0U7SUFDRjtJQUVBLHFCQUNFLDZCQUFDQztRQUFJdkUsV0FBV2I7cUJBQ2QsNkJBQUNxRixxQkFBYTtRQUNaQyxjQUFZaEYsRUFBRTtRQUNkTyxXQUFXLENBQUMsRUFBRWIsVUFBVSxRQUFRLENBQUM7UUFDakNjLFNBQVM7WUFDUDBCLFlBQVksRUFBRTtRQUNoQjtRQUNBbkIsTUFBTXFDO09BRUxwRCxFQUFFLGdDQUVMLDZCQUFDaUYsY0FBTTtRQUFDQyxRQUFRO1FBQU1uRSxNQUFNcUM7cUJBRTFCLDZCQUFDK0Isa0NBQW9CO1FBQUNyRSxZQUFZQTtxQkFDaEMsNkJBQUNzRSxtQ0FBZ0IsQ0FBQ0MsUUFBUTtRQUFDQyxPQUFNO3FCQUMvQiw2QkFBQ1I7UUFBSXZFLFdBQVcsQ0FBQyxFQUFFYixVQUFVLE1BQU0sQ0FBQztxQkFDbEMsNkJBQUNvRjtRQUFJdkUsV0FBVyxDQUFDLEVBQUViLFVBQVUsUUFBUSxDQUFDO3FCQUNwQyw2QkFBQzZGO1FBQUdoRixXQUFXLENBQUMsRUFBRWIsVUFBVSxlQUFlLENBQUM7T0FDekNNLEVBQUUsd0JBQXdCO1FBQUU0QjtRQUFPNEQsT0FBT0MsSUFBQUEsNEJBQWMsRUFBQ3ZFLFFBQVFjO0lBQU0sbUJBRTFFLDZCQUFDMEQ7UUFDQ1YsY0FBWWhGLEVBQUU7UUFDZE8sV0FBVyxDQUFDLEVBQUViLFVBQVUsZUFBZSxDQUFDO1FBQ3hDaUcsSUFBSSxDQUFDLGNBQWMsRUFBRXZDLFdBQVcsQ0FBQztRQUNqQzVDLFNBQVMsSUFBTWEsV0FBVytCO1FBQzFCb0IsTUFBSztxQkFFTCw2QkFBQ29CLElBQUMseUJBR04sNkJBQUNDLG9DQUFpQjtRQUFDQyxNQUFLO1FBQUcxQixZQUFZckQ7cUJBQ3JDLDZCQUFDZ0YsYUFBSTtRQUNIeEYsV0FBVyxDQUFDLEVBQUViLFVBQVUsTUFBTSxDQUFDO1FBQy9CZ0QsY0FBY0E7UUFDZDZCLFdBQVdBO3FCQUVYLDZCQUFDeUIsd0JBQVc7UUFBQ2hGLFFBQVFBO1FBQVFrQixhQUFhQTtRQUN6Q00sZ0JBQWdCeUQsTUFBTSxLQUFLLElBQUkscUJBQzlCLDZCQUFDQyxxQkFBWTtRQUFDNUMsVUFBVWQ7c0JBRTFCLDZCQUFDc0M7UUFBSXZFLFdBQVcsQ0FBQyxFQUFFYixVQUFVLGNBQWMsQ0FBQztxQkFDMUMsNkJBQUNvRjtRQUFJdkUsV0FBVyxDQUFDLEVBQUViLFVBQVUsU0FBUyxDQUFDO3FCQUNyQyw2QkFBQ29GO1FBQUl2RSxXQUFXLENBQUMsRUFBRWIsVUFBVSxxQkFBcUIsQ0FBQztxQkFDakQsNkJBQUNvRjtRQUFJdkUsV0FBVyxDQUFDLEVBQUViLFVBQVUsa0JBQWtCLENBQUM7T0FDN0NvQixZQUFZcUYsVUFBVUMsdUJBQ3JCLDZCQUFDdkQsY0FBSyxDQUFDd0QsUUFBUSxzQkFDYiw2QkFBQzVGO1FBQ0NiLFFBQVEsQ0FBQyxFQUFFOEIsVUFBVSxFQUFFRCxTQUFTLENBQUMsRUFBRVYsS0FBSyxFQUFFYyxpQkFBaUIsQ0FBQztRQUM1RGhDLFVBQVVvQyxTQUFTZ0UsTUFBTSxLQUFLO3NCQUVoQyw2QkFBQ3JGO1FBQ0NoQixRQUFRLENBQUMsRUFBRThCLFVBQVUsRUFBRUQsU0FBUyxDQUFDLEVBQUVWLEtBQUssRUFBRWMsaUJBQWlCLENBQUM7UUFDNURoQyxVQUFVb0MsU0FBU2dFLE1BQU0sS0FBSzt3QkFJbEMsNkJBQUN0RztRQUNDQyxRQUFRLENBQUMsRUFBRThCLFVBQVUsRUFBRUQsU0FBUyxDQUFDLEVBQUVWLEtBQUssRUFBRWMsaUJBQWlCLENBQUM7UUFDNURoQyxVQUFVb0MsU0FBU2dFLE1BQU0sS0FBSzs7QUFlNUQifQ==
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9FZGl0TWFueS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgdHlwZSB7IEZvcm1TdGF0ZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHVzZU1vZGFsIH0gZnJvbSAnQGZhY2VsZXNzLXVpL21vZGFsJ1xuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMnXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBGaWVsZFBhdGhQcm92aWRlciB9IGZyb20gJy4uLy4uL2Zvcm1zL0ZpZWxkUGF0aFByb3ZpZGVyJ1xuaW1wb3J0IEZvcm0gZnJvbSAnLi4vLi4vZm9ybXMvRm9ybSdcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tICcuLi8uLi9mb3Jtcy9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgUmVuZGVyRmllbGRzIGZyb20gJy4uLy4uL2Zvcm1zL1JlbmRlckZpZWxkcydcbmltcG9ydCBGb3JtU3VibWl0IGZyb20gJy4uLy4uL2Zvcm1zL1N1Ym1pdCdcbmltcG9ydCB7IFggfSBmcm9tICcuLi8uLi9pY29ucy9YJ1xuaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9BdXRoJ1xuaW1wb3J0IHsgdXNlQ29tcG9uZW50TWFwIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0NvbXBvbmVudE1hcFByb3ZpZGVyJ1xuaW1wb3J0IHsgdXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0NvbmZpZydcbmltcG9ydCB7IERvY3VtZW50SW5mb1Byb3ZpZGVyIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL0RvY3VtZW50SW5mbydcbmltcG9ydCB7IE9wZXJhdGlvbkNvbnRleHQgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvT3BlcmF0aW9uUHJvdmlkZXInXG5pbXBvcnQgeyB1c2VTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvU2VhcmNoUGFyYW1zJ1xuaW1wb3J0IHsgU2VsZWN0QWxsU3RhdHVzLCB1c2VTZWxlY3Rpb24gfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvU2VsZWN0aW9uUHJvdmlkZXInXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9UcmFuc2xhdGlvbidcbmltcG9ydCB7IGdldEZvcm1TdGF0ZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9nZXRGb3JtU3RhdGUnXG5pbXBvcnQgeyBEcmF3ZXIsIERyYXdlclRvZ2dsZXIgfSBmcm9tICcuLi9EcmF3ZXInXG5pbXBvcnQgeyBGaWVsZFNlbGVjdCB9IGZyb20gJy4uL0ZpZWxkU2VsZWN0J1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdlZGl0LW1hbnknXG5cbmNvbnN0IFN1Ym1pdDogUmVhY3QuRkM8eyBhY3Rpb246IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW4gfT4gPSAoeyBhY3Rpb24sIGRpc2FibGVkIH0pID0+IHtcbiAgY29uc3QgeyBzdWJtaXQgfSA9IHVzZUZvcm0oKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcblxuICBjb25zdCBzYXZlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHN1Ym1pdCh7XG4gICAgICBhY3Rpb24sXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBza2lwVmFsaWRhdGlvbjogdHJ1ZSxcbiAgICB9KVxuICB9LCBbYWN0aW9uLCBzdWJtaXRdKVxuXG4gIHJldHVybiAoXG4gICAgPEZvcm1TdWJtaXQgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zYXZlYH0gZGlzYWJsZWQ9e2Rpc2FibGVkfSBvbkNsaWNrPXtzYXZlfT5cbiAgICAgIHt0KCdnZW5lcmFsOnNhdmUnKX1cbiAgICA8L0Zvcm1TdWJtaXQ+XG4gIClcbn1cbmNvbnN0IFB1Ymxpc2g6IFJlYWN0LkZDPHsgYWN0aW9uOiBzdHJpbmc7IGRpc2FibGVkOiBib29sZWFuIH0+ID0gKHsgYWN0aW9uLCBkaXNhYmxlZCB9KSA9PiB7XG4gIGNvbnN0IHsgc3VibWl0IH0gPSB1c2VGb3JtKClcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG5cbiAgY29uc3Qgc2F2ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzdWJtaXQoe1xuICAgICAgYWN0aW9uLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIF9zdGF0dXM6ICdwdWJsaXNoZWQnLFxuICAgICAgfSxcbiAgICAgIHNraXBWYWxpZGF0aW9uOiB0cnVlLFxuICAgIH0pXG4gIH0sIFthY3Rpb24sIHN1Ym1pdF0pXG5cbiAgcmV0dXJuIChcbiAgICA8Rm9ybVN1Ym1pdCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3B1Ymxpc2hgfSBkaXNhYmxlZD17ZGlzYWJsZWR9IG9uQ2xpY2s9e3NhdmV9PlxuICAgICAge3QoJ3ZlcnNpb246cHVibGlzaENoYW5nZXMnKX1cbiAgICA8L0Zvcm1TdWJtaXQ+XG4gIClcbn1cbmNvbnN0IFNhdmVEcmFmdDogUmVhY3QuRkM8eyBhY3Rpb246IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW4gfT4gPSAoeyBhY3Rpb24sIGRpc2FibGVkIH0pID0+IHtcbiAgY29uc3QgeyBzdWJtaXQgfSA9IHVzZUZvcm0oKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcblxuICBjb25zdCBzYXZlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHN1Ym1pdCh7XG4gICAgICBhY3Rpb24sXG4gICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgX3N0YXR1czogJ2RyYWZ0JyxcbiAgICAgIH0sXG4gICAgICBza2lwVmFsaWRhdGlvbjogdHJ1ZSxcbiAgICB9KVxuICB9LCBbYWN0aW9uLCBzdWJtaXRdKVxuXG4gIHJldHVybiAoXG4gICAgPEZvcm1TdWJtaXQgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19kcmFmdGB9IGRpc2FibGVkPXtkaXNhYmxlZH0gb25DbGljaz17c2F2ZX0+XG4gICAgICB7dCgndmVyc2lvbjpzYXZlRHJhZnQnKX1cbiAgICA8L0Zvcm1TdWJtaXQ+XG4gIClcbn1cbmV4cG9ydCBjb25zdCBFZGl0TWFueTogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbjogeyBzbHVnLCBmaWVsZHMsIGxhYmVsczogeyBwbHVyYWwgfSB9ID0ge30sIGNvbGxlY3Rpb24gfSA9IHByb3BzXG5cbiAgY29uc3QgeyBwZXJtaXNzaW9ucyB9ID0gdXNlQXV0aCgpXG4gIGNvbnN0IHsgY2xvc2VNb2RhbCB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCB7XG4gICAgcm91dGVzOiB7IGFwaTogYXBpUm91dGUgfSxcbiAgICBzZXJ2ZXJVUkwsXG4gIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCB7IGNvdW50LCBnZXRRdWVyeVBhcmFtcywgc2VsZWN0QWxsIH0gPSB1c2VTZWxlY3Rpb24oKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgW3NlbGVjdGVkLCBzZXRTZWxlY3RlZF0gPSB1c2VTdGF0ZShbXSlcbiAgY29uc3QgeyBkaXNwYXRjaFNlYXJjaFBhcmFtcyB9ID0gdXNlU2VhcmNoUGFyYW1zKClcbiAgY29uc3QgeyBjb21wb25lbnRNYXAgfSA9IHVzZUNvbXBvbmVudE1hcCgpXG4gIGNvbnN0IFtyZWR1Y2VkRmllbGRNYXAsIHNldFJlZHVjZWRGaWVsZE1hcF0gPSB1c2VTdGF0ZShbXSlcbiAgY29uc3QgW2luaXRpYWxTdGF0ZSwgc2V0SW5pdGlhbFN0YXRlXSA9IHVzZVN0YXRlPEZvcm1TdGF0ZT4oKVxuICBjb25zdCBoYXNJbml0aWFsaXplZFN0YXRlID0gUmVhY3QudXNlUmVmKGZhbHNlKVxuXG4gIGNvbnN0IGNvbGxlY3Rpb25QZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zPy5jb2xsZWN0aW9ucz8uW3NsdWddXG4gIGNvbnN0IGhhc1VwZGF0ZVBlcm1pc3Npb24gPSBjb2xsZWN0aW9uUGVybWlzc2lvbnM/LnVwZGF0ZT8ucGVybWlzc2lvblxuXG4gIGNvbnN0IGRyYXdlclNsdWcgPSBgZWRpdC0ke3NsdWd9YFxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNvbXBvbmVudE1hcD8uY29sbGVjdGlvbnM/LltzbHVnXT8uZmllbGRNYXApIHtcbiAgICAgIGNvbnN0IGZpZWxkTWFwID0gY29tcG9uZW50TWFwLmNvbGxlY3Rpb25zW3NsdWddLmZpZWxkTWFwXG4gICAgICBjb25zdCByZWR1Y2VkRmllbGRNYXAgPSBbXVxuICAgICAgZmllbGRNYXAubWFwKChmaWVsZCkgPT4ge1xuICAgICAgICBzZWxlY3RlZC5tYXAoKHNlbGVjdGVkRmllbGQpID0+IHtcbiAgICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gc2VsZWN0ZWRGaWVsZC5uYW1lKSB7XG4gICAgICAgICAgICByZWR1Y2VkRmllbGRNYXAucHVzaChmaWVsZClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgICAgc2V0UmVkdWNlZEZpZWxkTWFwKHJlZHVjZWRGaWVsZE1hcClcbiAgICB9XG4gIH0sIFtjb21wb25lbnRNYXAuY29sbGVjdGlvbnMsIGZpZWxkcywgc2x1Zywgc2VsZWN0ZWRdKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFoYXNJbml0aWFsaXplZFN0YXRlLmN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IGdldEluaXRpYWxTdGF0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0Rm9ybVN0YXRlKHtcbiAgICAgICAgICBhcGlSb3V0ZSxcbiAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICBjb2xsZWN0aW9uU2x1Zzogc2x1ZyxcbiAgICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICAgICAgb3BlcmF0aW9uOiAndXBkYXRlJyxcbiAgICAgICAgICAgIHNjaGVtYVBhdGg6IHNsdWcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXJ2ZXJVUkwsXG4gICAgICAgIH0pXG5cbiAgICAgICAgc2V0SW5pdGlhbFN0YXRlKHJlc3VsdClcbiAgICAgICAgaGFzSW5pdGlhbGl6ZWRTdGF0ZS5jdXJyZW50ID0gdHJ1ZVxuICAgICAgfVxuXG4gICAgICB2b2lkIGdldEluaXRpYWxTdGF0ZSgpXG4gICAgfVxuICB9LCBbYXBpUm91dGUsIGhhc0luaXRpYWxpemVkU3RhdGUsIHNlcnZlclVSTCwgc2x1Z10pXG5cbiAgaWYgKHNlbGVjdEFsbCA9PT0gU2VsZWN0QWxsU3RhdHVzLk5vbmUgfHwgIWhhc1VwZGF0ZVBlcm1pc3Npb24pIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3Qgb25TdWNjZXNzID0gKCkgPT4ge1xuICAgIGRpc3BhdGNoU2VhcmNoUGFyYW1zKHtcbiAgICAgIHR5cGU6ICdzZXQnLFxuICAgICAgYnJvd3Nlckhpc3Rvcnk6ICdyZXBsYWNlJyxcbiAgICAgIHBhcmFtczogeyBwYWdlOiBzZWxlY3RBbGwgPT09IFNlbGVjdEFsbFN0YXR1cy5BbGxBdmFpbGFibGUgPyAnMScgOiB1bmRlZmluZWQgfSxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgIDxEcmF3ZXJUb2dnbGVyXG4gICAgICAgIGFyaWEtbGFiZWw9e3QoJ2dlbmVyYWw6ZWRpdCcpfVxuICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3RvZ2dsZWB9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBzZXRTZWxlY3RlZChbXSlcbiAgICAgICAgfX1cbiAgICAgICAgc2x1Zz17ZHJhd2VyU2x1Z31cbiAgICAgID5cbiAgICAgICAge3QoJ2dlbmVyYWw6ZWRpdCcpfVxuICAgICAgPC9EcmF3ZXJUb2dnbGVyPlxuICAgICAgPERyYXdlciBIZWFkZXI9e251bGx9IHNsdWc9e2RyYXdlclNsdWd9PlxuICAgICAgICB7LyogQHRzLWV4cGVjdC1lcnJvciAqL31cbiAgICAgICAgPERvY3VtZW50SW5mb1Byb3ZpZGVyIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259PlxuICAgICAgICAgIDxPcGVyYXRpb25Db250ZXh0LlByb3ZpZGVyIHZhbHVlPVwidXBkYXRlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbWFpbmB9PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyYH0+XG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faGVhZGVyX190aXRsZWB9PlxuICAgICAgICAgICAgICAgICAge3QoJ2dlbmVyYWw6ZWRpdGluZ0xhYmVsJywgeyBjb3VudCwgbGFiZWw6IGdldFRyYW5zbGF0aW9uKHBsdXJhbCwgaTE4bikgfSl9XG4gICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0KCdnZW5lcmFsOmNsb3NlJyl9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2hlYWRlcl9fY2xvc2VgfVxuICAgICAgICAgICAgICAgICAgaWQ9e2BjbG9zZS1kcmF3ZXJfXyR7ZHJhd2VyU2x1Z31gfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gY2xvc2VNb2RhbChkcmF3ZXJTbHVnKX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxYIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8RmllbGRQYXRoUHJvdmlkZXIgcGF0aD1cIlwiIHNjaGVtYVBhdGg9e3NsdWd9PlxuICAgICAgICAgICAgICAgIDxGb3JtXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Zvcm1gfVxuICAgICAgICAgICAgICAgICAgaW5pdGlhbFN0YXRlPXtpbml0aWFsU3RhdGV9XG4gICAgICAgICAgICAgICAgICBvblN1Y2Nlc3M9e29uU3VjY2Vzc31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RmllbGRTZWxlY3QgZmllbGRzPXtmaWVsZHN9IHNldFNlbGVjdGVkPXtzZXRTZWxlY3RlZH0gLz5cbiAgICAgICAgICAgICAgICAgIHtyZWR1Y2VkRmllbGRNYXAubGVuZ3RoID09PSAwID8gbnVsbCA6IChcbiAgICAgICAgICAgICAgICAgICAgPFJlbmRlckZpZWxkcyBmaWVsZE1hcD17cmVkdWNlZEZpZWxkTWFwfSAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaWRlYmFyLXdyYXBgfT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3NpZGViYXJgfT5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fc2lkZWJhci1zdGlja3ktd3JhcGB9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2RvY3VtZW50LWFjdGlvbnNgfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbGxlY3Rpb24/LnZlcnNpb25zPy5kcmFmdHMgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFB1Ymxpc2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPXtgJHtzZXJ2ZXJVUkx9JHthcGlSb3V0ZX0vJHtzbHVnfSR7Z2V0UXVlcnlQYXJhbXMoKX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17c2VsZWN0ZWQubGVuZ3RoID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTYXZlRHJhZnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPXtgJHtzZXJ2ZXJVUkx9JHthcGlSb3V0ZX0vJHtzbHVnfSR7Z2V0UXVlcnlQYXJhbXMoKX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17c2VsZWN0ZWQubGVuZ3RoID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTdWJtaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj17YCR7c2VydmVyVVJMfSR7YXBpUm91dGV9LyR7c2x1Z30ke2dldFF1ZXJ5UGFyYW1zKCl9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzZWxlY3RlZC5sZW5ndGggPT09IDB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvRm9ybT5cbiAgICAgICAgICAgICAgPC9GaWVsZFBhdGhQcm92aWRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvT3BlcmF0aW9uQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgICAgPC9Eb2N1bWVudEluZm9Qcm92aWRlcj5cbiAgICAgIDwvRHJhd2VyPlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibmFtZXMiOlsidXNlTW9kYWwiLCJnZXRUcmFuc2xhdGlvbiIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJ1c2VTdGF0ZSIsIkZpZWxkUGF0aFByb3ZpZGVyIiwiRm9ybSIsInVzZUZvcm0iLCJSZW5kZXJGaWVsZHMiLCJGb3JtU3VibWl0IiwiWCIsInVzZUF1dGgiLCJ1c2VDb21wb25lbnRNYXAiLCJ1c2VDb25maWciLCJEb2N1bWVudEluZm9Qcm92aWRlciIsIk9wZXJhdGlvbkNvbnRleHQiLCJ1c2VTZWFyY2hQYXJhbXMiLCJTZWxlY3RBbGxTdGF0dXMiLCJ1c2VTZWxlY3Rpb24iLCJ1c2VUcmFuc2xhdGlvbiIsImdldEZvcm1TdGF0ZSIsIkRyYXdlciIsIkRyYXdlclRvZ2dsZXIiLCJGaWVsZFNlbGVjdCIsImJhc2VDbGFzcyIsIlN1Ym1pdCIsImFjdGlvbiIsImRpc2FibGVkIiwic3VibWl0IiwidCIsInNhdmUiLCJtZXRob2QiLCJza2lwVmFsaWRhdGlvbiIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJQdWJsaXNoIiwib3ZlcnJpZGVzIiwiX3N0YXR1cyIsIlNhdmVEcmFmdCIsIkVkaXRNYW55IiwicHJvcHMiLCJjb2xsZWN0aW9uIiwic2x1ZyIsImZpZWxkcyIsImxhYmVscyIsInBsdXJhbCIsInBlcm1pc3Npb25zIiwiY2xvc2VNb2RhbCIsInJvdXRlcyIsImFwaSIsImFwaVJvdXRlIiwic2VydmVyVVJMIiwiY291bnQiLCJnZXRRdWVyeVBhcmFtcyIsInNlbGVjdEFsbCIsImkxOG4iLCJzZWxlY3RlZCIsInNldFNlbGVjdGVkIiwiZGlzcGF0Y2hTZWFyY2hQYXJhbXMiLCJjb21wb25lbnRNYXAiLCJyZWR1Y2VkRmllbGRNYXAiLCJzZXRSZWR1Y2VkRmllbGRNYXAiLCJpbml0aWFsU3RhdGUiLCJzZXRJbml0aWFsU3RhdGUiLCJoYXNJbml0aWFsaXplZFN0YXRlIiwidXNlUmVmIiwiY29sbGVjdGlvblBlcm1pc3Npb25zIiwiY29sbGVjdGlvbnMiLCJoYXNVcGRhdGVQZXJtaXNzaW9uIiwidXBkYXRlIiwicGVybWlzc2lvbiIsImRyYXdlclNsdWciLCJ1c2VFZmZlY3QiLCJmaWVsZE1hcCIsIm1hcCIsImZpZWxkIiwic2VsZWN0ZWRGaWVsZCIsIm5hbWUiLCJwdXNoIiwiY3VycmVudCIsImdldEluaXRpYWxTdGF0ZSIsInJlc3VsdCIsImJvZHkiLCJjb2xsZWN0aW9uU2x1ZyIsImRhdGEiLCJvcGVyYXRpb24iLCJzY2hlbWFQYXRoIiwiTm9uZSIsIm9uU3VjY2VzcyIsInR5cGUiLCJicm93c2VySGlzdG9yeSIsInBhcmFtcyIsInBhZ2UiLCJBbGxBdmFpbGFibGUiLCJ1bmRlZmluZWQiLCJkaXYiLCJhcmlhLWxhYmVsIiwiSGVhZGVyIiwiUHJvdmlkZXIiLCJ2YWx1ZSIsImgyIiwibGFiZWwiLCJidXR0b24iLCJpZCIsInBhdGgiLCJsZW5ndGgiLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsIkZyYWdtZW50Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUdBLFNBQVNBLFFBQVEsUUFBUSxxQkFBb0I7QUFDN0MsU0FBU0MsY0FBYyxRQUFRLDJCQUEwQjtBQUN6RCxPQUFPQyxTQUFTQyxXQUFXLEVBQUVDLFFBQVEsUUFBUSxRQUFPO0FBSXBELFNBQVNDLGlCQUFpQixRQUFRLGdDQUErQjtBQUNqRSxPQUFPQyxVQUFVLG1CQUFrQjtBQUNuQyxTQUFTQyxPQUFPLFFBQVEsMkJBQTBCO0FBQ2xELE9BQU9DLGtCQUFrQiwyQkFBMEI7QUFDbkQsT0FBT0MsZ0JBQWdCLHFCQUFvQjtBQUMzQyxTQUFTQyxDQUFDLFFBQVEsZ0JBQWU7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
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
1
+ export { };
5
2
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9FZGl0TWFueS90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5leHBvcnQgdHlwZSBQcm9wcyA9IHtcbiAgY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLFdBRUMifQ==