payload 2.13.0 → 2.14.1

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 (1036) hide show
  1. package/auth.js +1 -1
  2. package/components/elements.js +1 -1
  3. package/components/fields/Array.js +1 -1
  4. package/components/fields/Blocks.js +1 -1
  5. package/components/fields/Cell.js +1 -1
  6. package/components/fields/Checkbox.js +1 -1
  7. package/components/fields/Code.js +1 -1
  8. package/components/fields/DateTime.js +1 -1
  9. package/components/fields/Email.js +1 -1
  10. package/components/fields/Group.js +1 -1
  11. package/components/fields/Json.js +1 -1
  12. package/components/fields/Number.js +1 -1
  13. package/components/fields/Password.js +1 -1
  14. package/components/fields/RadioGroup/RadioInput.js +1 -1
  15. package/components/fields/RadioGroup/index.js +1 -1
  16. package/components/fields/Relationship.js +1 -1
  17. package/components/fields/RichText.js +1 -1
  18. package/components/fields/Row.js +1 -1
  19. package/components/fields/Select.js +1 -1
  20. package/components/fields/Text.js +1 -1
  21. package/components/fields/Textarea.js +1 -1
  22. package/components/fields/Upload.js +1 -1
  23. package/components/forms.js +1 -1
  24. package/components/graphics.js +1 -1
  25. package/components/hooks.js +1 -1
  26. package/components/icons.js +1 -1
  27. package/components/index.js +2 -2
  28. package/components/preferences.js +1 -1
  29. package/components/root.js +1 -1
  30. package/components/templates.js +1 -1
  31. package/components/utilities.js +1 -1
  32. package/components/views/Cell.js +1 -1
  33. package/components/views/Dashboard.js +1 -1
  34. package/components/views/Edit.js +1 -1
  35. package/components/views/List.js +1 -1
  36. package/components.js +1 -1
  37. package/config.js +1 -1
  38. package/database.d.ts +1 -1
  39. package/database.js +7 -1
  40. package/dist/admin/Root.js +1 -1
  41. package/dist/admin/api.js +1 -1
  42. package/dist/admin/assets/assets.d.js +1 -1
  43. package/dist/admin/components/elements/ArrayAction/index.js +1 -1
  44. package/dist/admin/components/elements/ArrayAction/types.js +1 -1
  45. package/dist/admin/components/elements/Autosave/index.js +1 -1
  46. package/dist/admin/components/elements/Autosave/types.js +1 -1
  47. package/dist/admin/components/elements/Banner/index.js +1 -1
  48. package/dist/admin/components/elements/Banner/types.js +1 -1
  49. package/dist/admin/components/elements/Button/index.js +1 -1
  50. package/dist/admin/components/elements/Button/types.js +1 -1
  51. package/dist/admin/components/elements/Card/index.js +1 -1
  52. package/dist/admin/components/elements/Card/types.js +1 -1
  53. package/dist/admin/components/elements/CodeEditor/CodeEditor.js +1 -1
  54. package/dist/admin/components/elements/CodeEditor/index.js +1 -1
  55. package/dist/admin/components/elements/CodeEditor/types.js +1 -1
  56. package/dist/admin/components/elements/Collapsible/index.js +1 -1
  57. package/dist/admin/components/elements/Collapsible/provider.js +1 -1
  58. package/dist/admin/components/elements/Collapsible/types.js +1 -1
  59. package/dist/admin/components/elements/ColumnSelector/index.js +1 -1
  60. package/dist/admin/components/elements/ColumnSelector/types.js +1 -1
  61. package/dist/admin/components/elements/CopyToClipboard/index.js +1 -1
  62. package/dist/admin/components/elements/CopyToClipboard/types.js +1 -1
  63. package/dist/admin/components/elements/DatePicker/DatePicker.js +1 -1
  64. package/dist/admin/components/elements/DatePicker/index.js +1 -1
  65. package/dist/admin/components/elements/DatePicker/types.js +1 -1
  66. package/dist/admin/components/elements/DeleteDocument/index.js +1 -1
  67. package/dist/admin/components/elements/DeleteDocument/types.js +1 -1
  68. package/dist/admin/components/elements/DeleteMany/index.js +1 -1
  69. package/dist/admin/components/elements/DeleteMany/types.js +1 -1
  70. package/dist/admin/components/elements/DocumentControls/index.js +1 -1
  71. package/dist/admin/components/elements/DocumentDrawer/DrawerContent.js +1 -1
  72. package/dist/admin/components/elements/DocumentDrawer/index.js +1 -1
  73. package/dist/admin/components/elements/DocumentDrawer/types.js +1 -1
  74. package/dist/admin/components/elements/DocumentFields/index.js +1 -1
  75. package/dist/admin/components/elements/DocumentHeader/Tabs/Tab/index.js +1 -1
  76. package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.d.ts +0 -1
  77. package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.d.ts.map +1 -1
  78. package/dist/admin/components/elements/DocumentHeader/Tabs/getCustomViews.js +1 -1
  79. package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.d.ts +0 -1
  80. package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.d.ts.map +1 -1
  81. package/dist/admin/components/elements/DocumentHeader/Tabs/getViewConfig.js +1 -1
  82. package/dist/admin/components/elements/DocumentHeader/Tabs/index.js +1 -1
  83. package/dist/admin/components/elements/DocumentHeader/Tabs/tabs.js +1 -1
  84. package/dist/admin/components/elements/DocumentHeader/Tabs/types.js +1 -1
  85. package/dist/admin/components/elements/DocumentHeader/index.js +1 -1
  86. package/dist/admin/components/elements/DraggableSortable/DraggableSortableItem/index.js +1 -1
  87. package/dist/admin/components/elements/DraggableSortable/DraggableSortableItem/types.js +1 -1
  88. package/dist/admin/components/elements/DraggableSortable/index.js +1 -1
  89. package/dist/admin/components/elements/DraggableSortable/types.js +1 -1
  90. package/dist/admin/components/elements/DraggableSortable/useDraggableSortable/index.js +1 -1
  91. package/dist/admin/components/elements/DraggableSortable/useDraggableSortable/types.js +1 -1
  92. package/dist/admin/components/elements/Drawer/index.d.ts.map +1 -1
  93. package/dist/admin/components/elements/Drawer/index.js +1 -1
  94. package/dist/admin/components/elements/Drawer/types.js +1 -1
  95. package/dist/admin/components/elements/Drawer/useDrawerSlug.js +1 -1
  96. package/dist/admin/components/elements/Dropzone/index.js +1 -1
  97. package/dist/admin/components/elements/DuplicateDocument/index.js +1 -1
  98. package/dist/admin/components/elements/DuplicateDocument/types.js +1 -1
  99. package/dist/admin/components/elements/EditMany/index.js +1 -1
  100. package/dist/admin/components/elements/EditMany/types.js +1 -1
  101. package/dist/admin/components/elements/EditUpload/index.js +1 -1
  102. package/dist/admin/components/elements/ErrorPill/index.js +1 -1
  103. package/dist/admin/components/elements/ErrorPill/types.js +1 -1
  104. package/dist/admin/components/elements/Eyebrow/index.js +1 -1
  105. package/dist/admin/components/elements/Eyebrow/types.js +1 -1
  106. package/dist/admin/components/elements/FieldSelect/index.js +1 -1
  107. package/dist/admin/components/elements/FileDetails/Meta/index.js +1 -1
  108. package/dist/admin/components/elements/FileDetails/Meta/types.js +1 -1
  109. package/dist/admin/components/elements/FileDetails/index.js +1 -1
  110. package/dist/admin/components/elements/FileDetails/types.js +1 -1
  111. package/dist/admin/components/elements/GenerateConfirmation/index.js +1 -1
  112. package/dist/admin/components/elements/GenerateConfirmation/types.js +1 -1
  113. package/dist/admin/components/elements/Gutter/index.js +1 -1
  114. package/dist/admin/components/elements/Hamburger/index.js +1 -1
  115. package/dist/admin/components/elements/Header/index.js +1 -1
  116. package/dist/admin/components/elements/IDLabel/index.js +1 -1
  117. package/dist/admin/components/elements/ListControls/getTextFieldsToBeSearched.js +1 -1
  118. package/dist/admin/components/elements/ListControls/index.js +1 -1
  119. package/dist/admin/components/elements/ListControls/types.js +1 -1
  120. package/dist/admin/components/elements/ListDrawer/DrawerContent.js +1 -1
  121. package/dist/admin/components/elements/ListDrawer/index.d.ts.map +1 -1
  122. package/dist/admin/components/elements/ListDrawer/index.js +1 -1
  123. package/dist/admin/components/elements/ListDrawer/types.js +1 -1
  124. package/dist/admin/components/elements/ListSelection/index.js +1 -1
  125. package/dist/admin/components/elements/Loading/index.js +1 -1
  126. package/dist/admin/components/elements/Localizer/LocalizerLabel/index.js +1 -1
  127. package/dist/admin/components/elements/Localizer/index.js +1 -1
  128. package/dist/admin/components/elements/Logout/index.js +1 -1
  129. package/dist/admin/components/elements/Nav/NavToggler/index.js +1 -1
  130. package/dist/admin/components/elements/Nav/context.js +1 -1
  131. package/dist/admin/components/elements/Nav/index.js +1 -1
  132. package/dist/admin/components/elements/NavGroup/index.js +1 -1
  133. package/dist/admin/components/elements/Paginator/ClickableArrow/index.js +1 -1
  134. package/dist/admin/components/elements/Paginator/ClickableArrow/types.js +1 -1
  135. package/dist/admin/components/elements/Paginator/Page/index.js +1 -1
  136. package/dist/admin/components/elements/Paginator/Page/types.js +1 -1
  137. package/dist/admin/components/elements/Paginator/Separator/index.js +1 -1
  138. package/dist/admin/components/elements/Paginator/index.js +1 -1
  139. package/dist/admin/components/elements/Paginator/types.js +1 -1
  140. package/dist/admin/components/elements/PerPage/index.js +1 -1
  141. package/dist/admin/components/elements/Pill/index.js +1 -1
  142. package/dist/admin/components/elements/Pill/types.js +1 -1
  143. package/dist/admin/components/elements/Popup/PopupButtonList/index.js +1 -1
  144. package/dist/admin/components/elements/Popup/PopupTrigger/index.js +1 -1
  145. package/dist/admin/components/elements/Popup/PopupTrigger/types.js +1 -1
  146. package/dist/admin/components/elements/Popup/index.js +1 -1
  147. package/dist/admin/components/elements/Popup/types.js +1 -1
  148. package/dist/admin/components/elements/PreviewButton/index.js +1 -1
  149. package/dist/admin/components/elements/PreviewSizes/index.js +1 -1
  150. package/dist/admin/components/elements/Publish/index.js +1 -1
  151. package/dist/admin/components/elements/PublishMany/index.js +1 -1
  152. package/dist/admin/components/elements/PublishMany/types.js +1 -1
  153. package/dist/admin/components/elements/ReactSelect/ClearIndicator/index.js +1 -1
  154. package/dist/admin/components/elements/ReactSelect/Control/index.js +1 -1
  155. package/dist/admin/components/elements/ReactSelect/MultiValue/index.js +1 -1
  156. package/dist/admin/components/elements/ReactSelect/MultiValueLabel/index.js +1 -1
  157. package/dist/admin/components/elements/ReactSelect/MultiValueRemove/index.js +1 -1
  158. package/dist/admin/components/elements/ReactSelect/SingleValue/index.js +1 -1
  159. package/dist/admin/components/elements/ReactSelect/ValueContainer/index.js +1 -1
  160. package/dist/admin/components/elements/ReactSelect/index.js +1 -1
  161. package/dist/admin/components/elements/ReactSelect/types.js +1 -1
  162. package/dist/admin/components/elements/RenderTitle/index.js +1 -1
  163. package/dist/admin/components/elements/RenderTitle/types.js +1 -1
  164. package/dist/admin/components/elements/Save/index.js +1 -1
  165. package/dist/admin/components/elements/SaveDraft/index.js +1 -1
  166. package/dist/admin/components/elements/SearchFilter/index.js +1 -1
  167. package/dist/admin/components/elements/SearchFilter/types.js +1 -1
  168. package/dist/admin/components/elements/ShimmerEffect/index.js +1 -1
  169. package/dist/admin/components/elements/SortColumn/index.js +1 -1
  170. package/dist/admin/components/elements/SortColumn/types.js +1 -1
  171. package/dist/admin/components/elements/SortComplex/index.js +1 -1
  172. package/dist/admin/components/elements/SortComplex/types.js +1 -1
  173. package/dist/admin/components/elements/Status/index.js +1 -1
  174. package/dist/admin/components/elements/StepNav/index.js +1 -1
  175. package/dist/admin/components/elements/StepNav/types.js +1 -1
  176. package/dist/admin/components/elements/Table/index.js +1 -1
  177. package/dist/admin/components/elements/Table/types.js +1 -1
  178. package/dist/admin/components/elements/TableColumns/buildColumns.d.ts.map +1 -1
  179. package/dist/admin/components/elements/TableColumns/buildColumns.js +1 -1
  180. package/dist/admin/components/elements/TableColumns/columnReducer.js +1 -1
  181. package/dist/admin/components/elements/TableColumns/getInitialColumns.js +1 -1
  182. package/dist/admin/components/elements/TableColumns/index.js +1 -1
  183. package/dist/admin/components/elements/Thumbnail/index.js +1 -1
  184. package/dist/admin/components/elements/Thumbnail/types.js +1 -1
  185. package/dist/admin/components/elements/ThumbnailCard/index.js +1 -1
  186. package/dist/admin/components/elements/ThumbnailCard/types.js +1 -1
  187. package/dist/admin/components/elements/Tooltip/index.js +1 -1
  188. package/dist/admin/components/elements/Tooltip/types.js +1 -1
  189. package/dist/admin/components/elements/UnpublishMany/index.js +1 -1
  190. package/dist/admin/components/elements/UnpublishMany/types.js +1 -1
  191. package/dist/admin/components/elements/ViewDescription/index.js +1 -1
  192. package/dist/admin/components/elements/ViewDescription/types.js +1 -1
  193. package/dist/admin/components/elements/WhereBuilder/Condition/Date/index.js +1 -1
  194. package/dist/admin/components/elements/WhereBuilder/Condition/Date/types.js +1 -1
  195. package/dist/admin/components/elements/WhereBuilder/Condition/Number/index.js +1 -1
  196. package/dist/admin/components/elements/WhereBuilder/Condition/Number/types.js +1 -1
  197. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.js +1 -1
  198. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +1 -1
  199. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/types.js +1 -1
  200. package/dist/admin/components/elements/WhereBuilder/Condition/Select/index.js +1 -1
  201. package/dist/admin/components/elements/WhereBuilder/Condition/Select/types.js +1 -1
  202. package/dist/admin/components/elements/WhereBuilder/Condition/Text/index.js +1 -1
  203. package/dist/admin/components/elements/WhereBuilder/Condition/Text/types.js +1 -1
  204. package/dist/admin/components/elements/WhereBuilder/Condition/index.js +1 -1
  205. package/dist/admin/components/elements/WhereBuilder/Condition/types.js +1 -1
  206. package/dist/admin/components/elements/WhereBuilder/field-types.d.ts +3 -12
  207. package/dist/admin/components/elements/WhereBuilder/field-types.d.ts.map +1 -1
  208. package/dist/admin/components/elements/WhereBuilder/field-types.js +19 -13
  209. package/dist/admin/components/elements/WhereBuilder/index.d.ts.map +1 -1
  210. package/dist/admin/components/elements/WhereBuilder/index.js +38 -33
  211. package/dist/admin/components/elements/WhereBuilder/reducer.js +1 -1
  212. package/dist/admin/components/elements/WhereBuilder/transformWhereQuery.js +1 -1
  213. package/dist/admin/components/elements/WhereBuilder/types.js +1 -1
  214. package/dist/admin/components/elements/WhereBuilder/validateWhereQuery.js +1 -1
  215. package/dist/admin/components/elements/elements.spec.js +1 -1
  216. package/dist/admin/components/elements/types.js +1 -1
  217. package/dist/admin/components/forms/Error/index.js +1 -1
  218. package/dist/admin/components/forms/Error/types.js +1 -1
  219. package/dist/admin/components/forms/FieldDescription/index.js +1 -1
  220. package/dist/admin/components/forms/FieldDescription/types.js +1 -1
  221. package/dist/admin/components/forms/Form/WatchFormErrors.js +1 -1
  222. package/dist/admin/components/forms/Form/buildFieldSchemaMap.js +1 -1
  223. package/dist/admin/components/forms/Form/buildInitialState.js +1 -1
  224. package/dist/admin/components/forms/Form/buildStateFromSchema/addFieldStatePromise.js +1 -1
  225. package/dist/admin/components/forms/Form/buildStateFromSchema/buildStateFromSchema.spec.js +1 -1
  226. package/dist/admin/components/forms/Form/buildStateFromSchema/index.js +1 -1
  227. package/dist/admin/components/forms/Form/buildStateFromSchema/iterateFields.js +1 -1
  228. package/dist/admin/components/forms/Form/context.d.ts.map +1 -1
  229. package/dist/admin/components/forms/Form/context.js +1 -1
  230. package/dist/admin/components/forms/Form/createNestedFieldPath.js +1 -1
  231. package/dist/admin/components/forms/Form/errorMessages.js +1 -1
  232. package/dist/admin/components/forms/Form/fieldReducer.js +1 -1
  233. package/dist/admin/components/forms/Form/getDataByPath.d.ts.map +1 -1
  234. package/dist/admin/components/forms/Form/getDataByPath.js +1 -1
  235. package/dist/admin/components/forms/Form/getSiblingData.js +1 -1
  236. package/dist/admin/components/forms/Form/index.js +1 -1
  237. package/dist/admin/components/forms/Form/initContextState.js +1 -1
  238. package/dist/admin/components/forms/Form/reduceFieldsToValues.js +1 -1
  239. package/dist/admin/components/forms/Form/rows.js +1 -1
  240. package/dist/admin/components/forms/Form/types.js +1 -1
  241. package/dist/admin/components/forms/Label/index.js +1 -1
  242. package/dist/admin/components/forms/Label/types.js +1 -1
  243. package/dist/admin/components/forms/NullifyField/index.js +1 -1
  244. package/dist/admin/components/forms/RenderFields/filterFields.d.ts +2 -2
  245. package/dist/admin/components/forms/RenderFields/filterFields.d.ts.map +1 -1
  246. package/dist/admin/components/forms/RenderFields/filterFields.js +1 -1
  247. package/dist/admin/components/forms/RenderFields/index.js +1 -1
  248. package/dist/admin/components/forms/RenderFields/types.js +1 -1
  249. package/dist/admin/components/forms/RowLabel/index.js +1 -1
  250. package/dist/admin/components/forms/RowLabel/types.js +1 -1
  251. package/dist/admin/components/forms/Submit/index.js +1 -1
  252. package/dist/admin/components/forms/WatchChildErrors/index.js +1 -1
  253. package/dist/admin/components/forms/field-types/Array/ArrayRow.js +1 -1
  254. package/dist/admin/components/forms/field-types/Array/index.js +1 -1
  255. package/dist/admin/components/forms/field-types/Array/types.js +1 -1
  256. package/dist/admin/components/forms/field-types/Blocks/BlockRow.js +1 -1
  257. package/dist/admin/components/forms/field-types/Blocks/BlocksDrawer/BlockSearch/index.js +1 -1
  258. package/dist/admin/components/forms/field-types/Blocks/BlocksDrawer/index.js +1 -1
  259. package/dist/admin/components/forms/field-types/Blocks/BlocksDrawer/types.js +1 -1
  260. package/dist/admin/components/forms/field-types/Blocks/RowActions.js +1 -1
  261. package/dist/admin/components/forms/field-types/Blocks/SectionTitle/index.js +1 -1
  262. package/dist/admin/components/forms/field-types/Blocks/SectionTitle/types.js +1 -1
  263. package/dist/admin/components/forms/field-types/Blocks/index.js +1 -1
  264. package/dist/admin/components/forms/field-types/Blocks/types.js +1 -1
  265. package/dist/admin/components/forms/field-types/Checkbox/Input.js +1 -1
  266. package/dist/admin/components/forms/field-types/Checkbox/index.js +1 -1
  267. package/dist/admin/components/forms/field-types/Checkbox/types.js +1 -1
  268. package/dist/admin/components/forms/field-types/Code/index.js +1 -1
  269. package/dist/admin/components/forms/field-types/Code/types.js +1 -1
  270. package/dist/admin/components/forms/field-types/Collapsible/index.js +1 -1
  271. package/dist/admin/components/forms/field-types/Collapsible/types.js +1 -1
  272. package/dist/admin/components/forms/field-types/ConfirmPassword/index.js +1 -1
  273. package/dist/admin/components/forms/field-types/ConfirmPassword/types.js +1 -1
  274. package/dist/admin/components/forms/field-types/DateTime/Input.js +1 -1
  275. package/dist/admin/components/forms/field-types/DateTime/index.js +1 -1
  276. package/dist/admin/components/forms/field-types/DateTime/types.js +1 -1
  277. package/dist/admin/components/forms/field-types/Email/index.js +1 -1
  278. package/dist/admin/components/forms/field-types/Email/types.js +1 -1
  279. package/dist/admin/components/forms/field-types/Group/index.js +1 -1
  280. package/dist/admin/components/forms/field-types/Group/provider.js +1 -1
  281. package/dist/admin/components/forms/field-types/Group/types.js +1 -1
  282. package/dist/admin/components/forms/field-types/HiddenInput/index.js +1 -1
  283. package/dist/admin/components/forms/field-types/HiddenInput/types.js +1 -1
  284. package/dist/admin/components/forms/field-types/JSON/index.js +1 -1
  285. package/dist/admin/components/forms/field-types/JSON/types.js +1 -1
  286. package/dist/admin/components/forms/field-types/Number/index.d.ts.map +1 -1
  287. package/dist/admin/components/forms/field-types/Number/index.js +3 -1
  288. package/dist/admin/components/forms/field-types/Number/types.js +1 -1
  289. package/dist/admin/components/forms/field-types/Password/index.js +1 -1
  290. package/dist/admin/components/forms/field-types/Password/types.js +1 -1
  291. package/dist/admin/components/forms/field-types/Point/index.js +1 -1
  292. package/dist/admin/components/forms/field-types/Point/types.js +1 -1
  293. package/dist/admin/components/forms/field-types/RadioGroup/Input.js +1 -1
  294. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/index.js +1 -1
  295. package/dist/admin/components/forms/field-types/RadioGroup/RadioInput/types.js +1 -1
  296. package/dist/admin/components/forms/field-types/RadioGroup/index.js +1 -1
  297. package/dist/admin/components/forms/field-types/RadioGroup/types.js +1 -1
  298. package/dist/admin/components/forms/field-types/Relationship/AddNew/index.js +1 -1
  299. package/dist/admin/components/forms/field-types/Relationship/AddNew/types.js +1 -1
  300. package/dist/admin/components/forms/field-types/Relationship/AddNew/useRelatedCollections.js +1 -1
  301. package/dist/admin/components/forms/field-types/Relationship/createRelationMap.js +1 -1
  302. package/dist/admin/components/forms/field-types/Relationship/findOptionsByValue.js +1 -1
  303. package/dist/admin/components/forms/field-types/Relationship/index.js +1 -1
  304. package/dist/admin/components/forms/field-types/Relationship/optionsReducer.js +1 -1
  305. package/dist/admin/components/forms/field-types/Relationship/select-components/MultiValueLabel/index.js +1 -1
  306. package/dist/admin/components/forms/field-types/Relationship/select-components/SingleValue/index.js +1 -1
  307. package/dist/admin/components/forms/field-types/Relationship/types.js +1 -1
  308. package/dist/admin/components/forms/field-types/RichText/index.js +1 -1
  309. package/dist/admin/components/forms/field-types/RichText/types.js +1 -1
  310. package/dist/admin/components/forms/field-types/Row/index.js +1 -1
  311. package/dist/admin/components/forms/field-types/Row/provider.js +1 -1
  312. package/dist/admin/components/forms/field-types/Row/types.js +1 -1
  313. package/dist/admin/components/forms/field-types/Select/Input.js +1 -1
  314. package/dist/admin/components/forms/field-types/Select/index.js +1 -1
  315. package/dist/admin/components/forms/field-types/Select/types.js +1 -1
  316. package/dist/admin/components/forms/field-types/Tabs/index.js +1 -1
  317. package/dist/admin/components/forms/field-types/Tabs/provider.js +1 -1
  318. package/dist/admin/components/forms/field-types/Tabs/types.js +1 -1
  319. package/dist/admin/components/forms/field-types/Text/Input.js +1 -1
  320. package/dist/admin/components/forms/field-types/Text/index.js +1 -1
  321. package/dist/admin/components/forms/field-types/Text/types.js +1 -1
  322. package/dist/admin/components/forms/field-types/Textarea/Input.js +1 -1
  323. package/dist/admin/components/forms/field-types/Textarea/index.js +1 -1
  324. package/dist/admin/components/forms/field-types/Textarea/types.js +1 -1
  325. package/dist/admin/components/forms/field-types/UI/index.js +1 -1
  326. package/dist/admin/components/forms/field-types/Upload/Input.js +1 -1
  327. package/dist/admin/components/forms/field-types/Upload/index.js +1 -1
  328. package/dist/admin/components/forms/field-types/Upload/types.js +1 -1
  329. package/dist/admin/components/forms/field-types/getFilterOptionsQuery.d.ts.map +1 -1
  330. package/dist/admin/components/forms/field-types/getFilterOptionsQuery.js +1 -1
  331. package/dist/admin/components/forms/field-types/index.js +1 -1
  332. package/dist/admin/components/forms/field-types/shared.js +1 -1
  333. package/dist/admin/components/forms/useField/index.d.ts.map +1 -1
  334. package/dist/admin/components/forms/useField/index.js +1 -1
  335. package/dist/admin/components/forms/useField/types.js +1 -1
  336. package/dist/admin/components/forms/withCondition/WatchCondition.js +1 -1
  337. package/dist/admin/components/forms/withCondition/index.d.ts.map +1 -1
  338. package/dist/admin/components/forms/withCondition/index.js +1 -1
  339. package/dist/admin/components/graphics/Account/Default/index.js +1 -1
  340. package/dist/admin/components/graphics/Account/Gravatar/index.js +1 -1
  341. package/dist/admin/components/graphics/Account/index.js +1 -1
  342. package/dist/admin/components/graphics/DefaultBlockImage/index.js +1 -1
  343. package/dist/admin/components/graphics/ExternalLink/index.js +1 -1
  344. package/dist/admin/components/graphics/File/index.js +1 -1
  345. package/dist/admin/components/graphics/Icon/index.js +1 -1
  346. package/dist/admin/components/graphics/Logo/index.js +1 -1
  347. package/dist/admin/components/graphics/Search/index.js +1 -1
  348. package/dist/admin/components/icons/Calendar/index.js +1 -1
  349. package/dist/admin/components/icons/Check/index.js +1 -1
  350. package/dist/admin/components/icons/Chevron/index.js +1 -1
  351. package/dist/admin/components/icons/CloseMenu/index.js +1 -1
  352. package/dist/admin/components/icons/CodeBlock/index.js +1 -1
  353. package/dist/admin/components/icons/Copy/index.js +1 -1
  354. package/dist/admin/components/icons/Drag/index.js +1 -1
  355. package/dist/admin/components/icons/Edit/index.js +1 -1
  356. package/dist/admin/components/icons/Line/index.js +1 -1
  357. package/dist/admin/components/icons/Link/index.js +1 -1
  358. package/dist/admin/components/icons/LogOut/index.js +1 -1
  359. package/dist/admin/components/icons/Menu/index.js +1 -1
  360. package/dist/admin/components/icons/MinimizeMaximize/index.js +1 -1
  361. package/dist/admin/components/icons/More/index.js +1 -1
  362. package/dist/admin/components/icons/Plus/index.js +1 -1
  363. package/dist/admin/components/icons/Search/index.js +1 -1
  364. package/dist/admin/components/icons/Swap/index.js +1 -1
  365. package/dist/admin/components/icons/X/index.js +1 -1
  366. package/dist/admin/components/index.js +1 -1
  367. package/dist/admin/components/modals/LeaveWithoutSaving/index.js +1 -1
  368. package/dist/admin/components/modals/StayLoggedIn/index.js +1 -1
  369. package/dist/admin/components/modals/StayLoggedIn/types.js +1 -1
  370. package/dist/admin/components/templates/Default/index.js +1 -1
  371. package/dist/admin/components/templates/Default/types.js +1 -1
  372. package/dist/admin/components/templates/Minimal/index.js +1 -1
  373. package/dist/admin/components/templates/Minimal/types.js +1 -1
  374. package/dist/admin/components/utilities/ActionsProvider/index.js +1 -1
  375. package/dist/admin/components/utilities/Auth/index.d.ts.map +1 -1
  376. package/dist/admin/components/utilities/Auth/index.js +1 -1
  377. package/dist/admin/components/utilities/Auth/types.js +1 -1
  378. package/dist/admin/components/utilities/Config/index.js +1 -1
  379. package/dist/admin/components/utilities/CustomProvider/index.js +1 -1
  380. package/dist/admin/components/utilities/DocumentEvents/index.js +1 -1
  381. package/dist/admin/components/utilities/DocumentEvents/types.js +1 -1
  382. package/dist/admin/components/utilities/DocumentInfo/index.js +1 -1
  383. package/dist/admin/components/utilities/DocumentInfo/types.js +1 -1
  384. package/dist/admin/components/utilities/EditDepth/index.js +1 -1
  385. package/dist/admin/components/utilities/FormQueryParams/index.d.ts.map +1 -1
  386. package/dist/admin/components/utilities/FormQueryParams/index.js +1 -1
  387. package/dist/admin/components/utilities/GetFilterOptions/index.js +1 -1
  388. package/dist/admin/components/utilities/I18n/index.js +1 -1
  389. package/dist/admin/components/utilities/LoadingOverlay/index.js +1 -1
  390. package/dist/admin/components/utilities/LoadingOverlay/reducer.js +1 -1
  391. package/dist/admin/components/utilities/LoadingOverlay/types.js +1 -1
  392. package/dist/admin/components/utilities/Locale/index.js +1 -1
  393. package/dist/admin/components/utilities/Meta/index.js +1 -1
  394. package/dist/admin/components/utilities/Meta/types.js +1 -1
  395. package/dist/admin/components/utilities/OperationProvider/index.js +1 -1
  396. package/dist/admin/components/utilities/Portal/index.d.ts.map +1 -1
  397. package/dist/admin/components/utilities/Portal/index.js +1 -1
  398. package/dist/admin/components/utilities/Preferences/index.js +1 -1
  399. package/dist/admin/components/utilities/RenderCustomComponent/index.js +1 -1
  400. package/dist/admin/components/utilities/RenderCustomComponent/types.js +1 -1
  401. package/dist/admin/components/utilities/SearchParams/index.js +1 -1
  402. package/dist/admin/components/utilities/Theme/index.js +1 -1
  403. package/dist/admin/components/utilities/WithMergedProps/index.js +1 -1
  404. package/dist/admin/components/views/API/index.js +1 -1
  405. package/dist/admin/components/views/Account/Default.js +1 -1
  406. package/dist/admin/components/views/Account/Settings/index.js +1 -1
  407. package/dist/admin/components/views/Account/ToggleTheme/index.js +1 -1
  408. package/dist/admin/components/views/Account/index.js +1 -1
  409. package/dist/admin/components/views/Account/types.js +1 -1
  410. package/dist/admin/components/views/CreateFirstUser/index.js +1 -1
  411. package/dist/admin/components/views/CreateFirstUser/types.js +1 -1
  412. package/dist/admin/components/views/Dashboard/Default.js +1 -1
  413. package/dist/admin/components/views/Dashboard/index.js +1 -1
  414. package/dist/admin/components/views/Dashboard/types.js +1 -1
  415. package/dist/admin/components/views/ForgotPassword/index.js +1 -1
  416. package/dist/admin/components/views/Global/Default/index.js +1 -1
  417. package/dist/admin/components/views/Global/Default.js +1 -1
  418. package/dist/admin/components/views/Global/Routes/CustomComponent.js +1 -1
  419. package/dist/admin/components/views/Global/Routes/custom.d.ts +1 -2
  420. package/dist/admin/components/views/Global/Routes/custom.d.ts.map +1 -1
  421. package/dist/admin/components/views/Global/Routes/custom.js +1 -1
  422. package/dist/admin/components/views/Global/Routes/index.js +1 -1
  423. package/dist/admin/components/views/Global/index.js +1 -1
  424. package/dist/admin/components/views/Global/types.js +1 -1
  425. package/dist/admin/components/views/LivePreview/Context/collisionDetection.js +1 -1
  426. package/dist/admin/components/views/LivePreview/Context/context.js +1 -1
  427. package/dist/admin/components/views/LivePreview/Context/index.js +1 -1
  428. package/dist/admin/components/views/LivePreview/Context/sizeReducer.js +1 -1
  429. package/dist/admin/components/views/LivePreview/Device/index.js +1 -1
  430. package/dist/admin/components/views/LivePreview/DeviceContainer/index.js +1 -1
  431. package/dist/admin/components/views/LivePreview/IFrame/index.js +1 -1
  432. package/dist/admin/components/views/LivePreview/Preview/index.js +1 -1
  433. package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.js +1 -1
  434. package/dist/admin/components/views/LivePreview/Toolbar/SizeInput/index.js +1 -1
  435. package/dist/admin/components/views/LivePreview/Toolbar/index.js +1 -1
  436. package/dist/admin/components/views/LivePreview/ToolbarArea/index.js +1 -1
  437. package/dist/admin/components/views/LivePreview/index.js +1 -1
  438. package/dist/admin/components/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  439. package/dist/admin/components/views/LivePreview/usePopupWindow.js +1 -1
  440. package/dist/admin/components/views/Login/index.js +1 -1
  441. package/dist/admin/components/views/Logout/index.js +1 -1
  442. package/dist/admin/components/views/NotFound/index.js +1 -1
  443. package/dist/admin/components/views/ResetPassword/index.js +1 -1
  444. package/dist/admin/components/views/Routes/collections.d.ts +1 -1
  445. package/dist/admin/components/views/Routes/collections.d.ts.map +1 -1
  446. package/dist/admin/components/views/Routes/collections.js +1 -1
  447. package/dist/admin/components/views/Routes/custom.js +1 -1
  448. package/dist/admin/components/views/Routes/globals.d.ts +1 -1
  449. package/dist/admin/components/views/Routes/globals.d.ts.map +1 -1
  450. package/dist/admin/components/views/Routes/globals.js +1 -1
  451. package/dist/admin/components/views/Routes/index.js +1 -1
  452. package/dist/admin/components/views/Unauthorized/index.js +1 -1
  453. package/dist/admin/components/views/Verify/index.js +1 -1
  454. package/dist/admin/components/views/Version/Compare/index.js +1 -1
  455. package/dist/admin/components/views/Version/Compare/types.js +1 -1
  456. package/dist/admin/components/views/Version/RenderFieldsToDiff/Label/index.js +1 -1
  457. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +1 -1
  458. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Nested/index.js +1 -1
  459. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +1 -1
  460. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Select/index.js +1 -1
  461. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +1 -1
  462. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Text/index.js +1 -1
  463. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/diffMethods.js +1 -1
  464. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/index.js +1 -1
  465. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/styles.js +1 -1
  466. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/types.js +1 -1
  467. package/dist/admin/components/views/Version/RenderFieldsToDiff/index.js +1 -1
  468. package/dist/admin/components/views/Version/RenderFieldsToDiff/types.js +1 -1
  469. package/dist/admin/components/views/Version/Restore/index.js +1 -1
  470. package/dist/admin/components/views/Version/Restore/types.js +1 -1
  471. package/dist/admin/components/views/Version/SelectLocales/index.js +1 -1
  472. package/dist/admin/components/views/Version/SelectLocales/types.js +1 -1
  473. package/dist/admin/components/views/Version/Version.js +1 -1
  474. package/dist/admin/components/views/Version/index.js +1 -1
  475. package/dist/admin/components/views/Version/shared.js +1 -1
  476. package/dist/admin/components/views/Version/types.js +1 -1
  477. package/dist/admin/components/views/Versions/Default.js +1 -1
  478. package/dist/admin/components/views/Versions/columns.js +1 -1
  479. package/dist/admin/components/views/Versions/index.js +1 -1
  480. package/dist/admin/components/views/Versions/types.js +1 -1
  481. package/dist/admin/components/views/collections/Edit/Auth/APIKey.d.ts +1 -0
  482. package/dist/admin/components/views/collections/Edit/Auth/APIKey.d.ts.map +1 -1
  483. package/dist/admin/components/views/collections/Edit/Auth/APIKey.js +12 -8
  484. package/dist/admin/components/views/collections/Edit/Auth/index.js +3 -2
  485. package/dist/admin/components/views/collections/Edit/Auth/types.js +1 -1
  486. package/dist/admin/components/views/collections/Edit/Default/index.js +1 -1
  487. package/dist/admin/components/views/collections/Edit/Default.js +1 -1
  488. package/dist/admin/components/views/collections/Edit/Routes/CustomComponent.js +1 -1
  489. package/dist/admin/components/views/collections/Edit/Routes/custom.d.ts +1 -1
  490. package/dist/admin/components/views/collections/Edit/Routes/custom.d.ts.map +1 -1
  491. package/dist/admin/components/views/collections/Edit/Routes/custom.js +1 -1
  492. package/dist/admin/components/views/collections/Edit/Routes/index.js +1 -1
  493. package/dist/admin/components/views/collections/Edit/SetStepNav.js +1 -1
  494. package/dist/admin/components/views/collections/Edit/Upload/index.js +1 -1
  495. package/dist/admin/components/views/collections/Edit/Upload/types.js +1 -1
  496. package/dist/admin/components/views/collections/Edit/formatFields.js +1 -1
  497. package/dist/admin/components/views/collections/Edit/index.js +1 -1
  498. package/dist/admin/components/views/collections/Edit/types.js +1 -1
  499. package/dist/admin/components/views/collections/List/Cell/cellTypes.spec.js +1 -1
  500. package/dist/admin/components/views/collections/List/Cell/field-types/Array/index.js +1 -1
  501. package/dist/admin/components/views/collections/List/Cell/field-types/Blocks/index.js +1 -1
  502. package/dist/admin/components/views/collections/List/Cell/field-types/Checkbox/index.js +1 -1
  503. package/dist/admin/components/views/collections/List/Cell/field-types/Code/index.js +1 -1
  504. package/dist/admin/components/views/collections/List/Cell/field-types/Date/index.js +1 -1
  505. package/dist/admin/components/views/collections/List/Cell/field-types/File/index.js +1 -1
  506. package/dist/admin/components/views/collections/List/Cell/field-types/JSON/index.js +1 -1
  507. package/dist/admin/components/views/collections/List/Cell/field-types/Relationship/index.js +1 -1
  508. package/dist/admin/components/views/collections/List/Cell/field-types/Richtext/index.js +1 -1
  509. package/dist/admin/components/views/collections/List/Cell/field-types/Select/index.js +1 -1
  510. package/dist/admin/components/views/collections/List/Cell/field-types/Textarea/index.js +1 -1
  511. package/dist/admin/components/views/collections/List/Cell/field-types/index.js +1 -1
  512. package/dist/admin/components/views/collections/List/Cell/index.js +1 -1
  513. package/dist/admin/components/views/collections/List/Cell/types.js +1 -1
  514. package/dist/admin/components/views/collections/List/Default.js +1 -1
  515. package/dist/admin/components/views/collections/List/RelationshipProvider/index.js +1 -1
  516. package/dist/admin/components/views/collections/List/RelationshipProvider/reducer.js +1 -1
  517. package/dist/admin/components/views/collections/List/SelectAll/index.js +1 -1
  518. package/dist/admin/components/views/collections/List/SelectRow/index.js +1 -1
  519. package/dist/admin/components/views/collections/List/SelectionProvider/index.js +1 -1
  520. package/dist/admin/components/views/collections/List/formatFields.js +1 -1
  521. package/dist/admin/components/views/collections/List/index.js +1 -1
  522. package/dist/admin/components/views/collections/List/types.js +1 -1
  523. package/dist/admin/components/views/types.js +1 -1
  524. package/dist/admin/components.config.js +1 -1
  525. package/dist/admin/hooks/useDebounce.js +1 -1
  526. package/dist/admin/hooks/useDebouncedCallback.js +1 -1
  527. package/dist/admin/hooks/useDelay.js +1 -1
  528. package/dist/admin/hooks/useDelayedRender.js +1 -1
  529. package/dist/admin/hooks/useHotkey.d.ts.map +1 -1
  530. package/dist/admin/hooks/useHotkey.js +1 -1
  531. package/dist/admin/hooks/useIntersect.js +1 -1
  532. package/dist/admin/hooks/useMountEffect.js +1 -1
  533. package/dist/admin/hooks/usePayloadAPI.js +1 -1
  534. package/dist/admin/hooks/useThrottledEffect.js +1 -1
  535. package/dist/admin/hooks/useThumbnail.js +1 -1
  536. package/dist/admin/hooks/useTitle.d.ts +0 -1
  537. package/dist/admin/hooks/useTitle.d.ts.map +1 -1
  538. package/dist/admin/hooks/useTitle.js +1 -1
  539. package/dist/admin/hooks/useUseAsTitle.js +1 -1
  540. package/dist/admin/index.js +1 -1
  541. package/dist/admin/utilities/formatDate/getSupportedDateLocale.js +1 -1
  542. package/dist/admin/utilities/formatDate/index.js +1 -1
  543. package/dist/admin/utilities/getOffsetTop.js +1 -1
  544. package/dist/admin/utilities/getSupportedMonacoLocale.js +1 -1
  545. package/dist/admin/utilities/groupNavItems.js +1 -1
  546. package/dist/admin/utilities/scrollToID.js +1 -1
  547. package/dist/admin/utilities/setsAreEqual.d.ts.map +1 -1
  548. package/dist/admin/utilities/setsAreEqual.js +1 -1
  549. package/dist/admin/utilities/useResize.js +1 -1
  550. package/dist/auth/baseFields/accountLock.js +1 -1
  551. package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
  552. package/dist/auth/baseFields/apiKey.js +8 -6
  553. package/dist/auth/baseFields/auth.js +1 -1
  554. package/dist/auth/baseFields/verification.js +1 -1
  555. package/dist/auth/crypto.js +1 -1
  556. package/dist/auth/defaultAccess.js +1 -1
  557. package/dist/auth/defaultUser.js +1 -1
  558. package/dist/auth/executeAccess.js +1 -1
  559. package/dist/auth/getExecuteStaticAccess.js +1 -1
  560. package/dist/auth/getExtractJWT.js +1 -1
  561. package/dist/auth/graphql/resolvers/access.js +1 -1
  562. package/dist/auth/graphql/resolvers/forgotPassword.js +1 -1
  563. package/dist/auth/graphql/resolvers/init.js +1 -1
  564. package/dist/auth/graphql/resolvers/login.js +1 -1
  565. package/dist/auth/graphql/resolvers/logout.js +1 -1
  566. package/dist/auth/graphql/resolvers/me.js +1 -1
  567. package/dist/auth/graphql/resolvers/refresh.js +1 -1
  568. package/dist/auth/graphql/resolvers/resetPassword.js +1 -1
  569. package/dist/auth/graphql/resolvers/unlock.js +1 -1
  570. package/dist/auth/graphql/resolvers/verifyEmail.js +1 -1
  571. package/dist/auth/index.js +1 -1
  572. package/dist/auth/init.js +1 -1
  573. package/dist/auth/isLocked.js +1 -1
  574. package/dist/auth/operations/access.js +1 -1
  575. package/dist/auth/operations/forgotPassword.js +1 -1
  576. package/dist/auth/operations/getFieldsToSign.js +1 -1
  577. package/dist/auth/operations/init.js +1 -1
  578. package/dist/auth/operations/local/forgotPassword.js +1 -1
  579. package/dist/auth/operations/local/index.js +1 -1
  580. package/dist/auth/operations/local/login.js +1 -1
  581. package/dist/auth/operations/local/resetPassword.js +1 -1
  582. package/dist/auth/operations/local/unlock.js +1 -1
  583. package/dist/auth/operations/local/verifyEmail.js +1 -1
  584. package/dist/auth/operations/login.js +1 -1
  585. package/dist/auth/operations/logout.js +1 -1
  586. package/dist/auth/operations/me.js +1 -1
  587. package/dist/auth/operations/refresh.js +1 -1
  588. package/dist/auth/operations/registerFirstUser.js +1 -1
  589. package/dist/auth/operations/resetPassword.js +1 -1
  590. package/dist/auth/operations/unlock.js +1 -1
  591. package/dist/auth/operations/verifyEmail.js +1 -1
  592. package/dist/auth/requestHandlers/access.js +1 -1
  593. package/dist/auth/requestHandlers/forgotPassword.js +1 -1
  594. package/dist/auth/requestHandlers/init.js +1 -1
  595. package/dist/auth/requestHandlers/login.js +1 -1
  596. package/dist/auth/requestHandlers/logout.js +1 -1
  597. package/dist/auth/requestHandlers/me.js +1 -1
  598. package/dist/auth/requestHandlers/refresh.js +1 -1
  599. package/dist/auth/requestHandlers/registerFirstUser.js +1 -1
  600. package/dist/auth/requestHandlers/resetPassword.js +1 -1
  601. package/dist/auth/requestHandlers/unlock.js +1 -1
  602. package/dist/auth/requestHandlers/verifyEmail.js +1 -1
  603. package/dist/auth/sendVerificationEmail.js +1 -1
  604. package/dist/auth/strategies/apiKey.js +1 -1
  605. package/dist/auth/strategies/jwt.js +1 -1
  606. package/dist/auth/strategies/local/authenticate.js +1 -1
  607. package/dist/auth/strategies/local/generatePasswordSaltHash.d.ts.map +1 -1
  608. package/dist/auth/strategies/local/generatePasswordSaltHash.js +1 -1
  609. package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
  610. package/dist/auth/strategies/local/register.js +1 -1
  611. package/dist/auth/strategies/local/resetLoginAttempts.js +1 -1
  612. package/dist/auth/types.js +1 -1
  613. package/dist/bin/build.js +1 -1
  614. package/dist/bin/generateGraphQLSchema.js +1 -1
  615. package/dist/bin/generateTypes.js +1 -1
  616. package/dist/bin/index.js +1 -1
  617. package/dist/bin/migrate.js +1 -1
  618. package/dist/bundlers/mocks/db-mongodb.js +1 -1
  619. package/dist/bundlers/mocks/db-postgres.js +1 -1
  620. package/dist/bundlers/mocks/dotENV.js +1 -1
  621. package/dist/bundlers/mocks/emptyModule.js +1 -1
  622. package/dist/bundlers/mocks/fileMock.js +1 -1
  623. package/dist/bundlers/types.js +1 -1
  624. package/dist/collections/bindCollection.d.ts +1 -1
  625. package/dist/collections/bindCollection.d.ts.map +1 -1
  626. package/dist/collections/bindCollection.js +1 -1
  627. package/dist/collections/buildEndpoints.d.ts.map +1 -1
  628. package/dist/collections/buildEndpoints.js +6 -1
  629. package/dist/collections/config/build.js +1 -1
  630. package/dist/collections/config/defaults.js +1 -1
  631. package/dist/collections/config/sanitize.js +1 -1
  632. package/dist/collections/config/schema.js +1 -1
  633. package/dist/collections/config/types.d.ts +2 -1
  634. package/dist/collections/config/types.d.ts.map +1 -1
  635. package/dist/collections/config/types.js +1 -1
  636. package/dist/collections/dataloader.js +1 -1
  637. package/dist/collections/graphql/init.d.ts.map +1 -1
  638. package/dist/collections/graphql/init.js +99 -74
  639. package/dist/collections/graphql/resolvers/count.d.ts +15 -0
  640. package/dist/collections/graphql/resolvers/count.d.ts.map +1 -0
  641. package/dist/collections/graphql/resolvers/count.js +37 -0
  642. package/dist/collections/graphql/resolvers/create.js +1 -1
  643. package/dist/collections/graphql/resolvers/delete.js +1 -1
  644. package/dist/collections/graphql/resolvers/docAccess.js +1 -1
  645. package/dist/collections/graphql/resolvers/find.js +1 -1
  646. package/dist/collections/graphql/resolvers/findByID.js +1 -1
  647. package/dist/collections/graphql/resolvers/findVersionByID.js +1 -1
  648. package/dist/collections/graphql/resolvers/findVersions.js +1 -1
  649. package/dist/collections/graphql/resolvers/restoreVersion.js +1 -1
  650. package/dist/collections/graphql/resolvers/update.js +1 -1
  651. package/dist/collections/graphql/types.js +1 -1
  652. package/dist/collections/initHTTP.js +1 -1
  653. package/dist/collections/initLocal.js +1 -1
  654. package/dist/collections/operations/count.d.ts +14 -0
  655. package/dist/collections/operations/count.d.ts.map +1 -0
  656. package/dist/collections/operations/count.js +91 -0
  657. package/dist/collections/operations/create.js +1 -1
  658. package/dist/collections/operations/delete.js +1 -1
  659. package/dist/collections/operations/deleteByID.js +1 -1
  660. package/dist/collections/operations/docAccess.js +1 -1
  661. package/dist/collections/operations/find.js +1 -1
  662. package/dist/collections/operations/findByID.js +1 -1
  663. package/dist/collections/operations/findVersionByID.js +1 -1
  664. package/dist/collections/operations/findVersions.js +1 -1
  665. package/dist/collections/operations/local/count.d.ts +21 -0
  666. package/dist/collections/operations/local/count.d.ts.map +1 -0
  667. package/dist/collections/operations/local/count.js +35 -0
  668. package/dist/collections/operations/local/create.js +1 -1
  669. package/dist/collections/operations/local/delete.js +1 -1
  670. package/dist/collections/operations/local/find.js +1 -1
  671. package/dist/collections/operations/local/findByID.js +1 -1
  672. package/dist/collections/operations/local/findVersionByID.js +1 -1
  673. package/dist/collections/operations/local/findVersions.js +1 -1
  674. package/dist/collections/operations/local/index.d.ts +2 -0
  675. package/dist/collections/operations/local/index.d.ts.map +1 -1
  676. package/dist/collections/operations/local/index.js +3 -1
  677. package/dist/collections/operations/local/restoreVersion.js +1 -1
  678. package/dist/collections/operations/local/update.js +1 -1
  679. package/dist/collections/operations/restoreVersion.js +1 -1
  680. package/dist/collections/operations/update.js +2 -2
  681. package/dist/collections/operations/updateByID.js +2 -2
  682. package/dist/collections/operations/utils.d.ts +7 -1
  683. package/dist/collections/operations/utils.d.ts.map +1 -1
  684. package/dist/collections/operations/utils.js +1 -1
  685. package/dist/collections/requestHandlers/count.d.ts +6 -0
  686. package/dist/collections/requestHandlers/count.d.ts.map +1 -0
  687. package/dist/collections/requestHandlers/count.js +31 -0
  688. package/dist/collections/requestHandlers/create.js +1 -1
  689. package/dist/collections/requestHandlers/delete.js +1 -1
  690. package/dist/collections/requestHandlers/deleteByID.js +1 -1
  691. package/dist/collections/requestHandlers/docAccess.js +1 -1
  692. package/dist/collections/requestHandlers/find.js +1 -1
  693. package/dist/collections/requestHandlers/findByID.js +1 -1
  694. package/dist/collections/requestHandlers/findVersionByID.js +1 -1
  695. package/dist/collections/requestHandlers/findVersions.js +1 -1
  696. package/dist/collections/requestHandlers/restoreVersion.js +1 -1
  697. package/dist/collections/requestHandlers/update.js +1 -1
  698. package/dist/collections/requestHandlers/updateByID.js +1 -1
  699. package/dist/config/build.js +1 -1
  700. package/dist/config/clientFiles.js +1 -1
  701. package/dist/config/defaults.js +1 -1
  702. package/dist/config/find.js +1 -1
  703. package/dist/config/load.d.ts +0 -1
  704. package/dist/config/load.d.ts.map +1 -1
  705. package/dist/config/load.js +1 -1
  706. package/dist/config/sanitize.js +1 -1
  707. package/dist/config/schema.js +1 -1
  708. package/dist/config/shared/adminViewSchema.js +1 -1
  709. package/dist/config/shared/componentSchema.js +1 -1
  710. package/dist/config/types.js +1 -1
  711. package/dist/config/validate.js +1 -1
  712. package/dist/database/combineQueries.js +1 -1
  713. package/dist/database/createDatabaseAdapter.js +1 -1
  714. package/dist/database/flattenWhereToOperators.js +1 -1
  715. package/dist/database/getLocalizedPaths.js +1 -1
  716. package/dist/database/migrations/createMigration.js +1 -1
  717. package/dist/database/migrations/getMigrations.js +1 -1
  718. package/dist/database/migrations/migrate.js +1 -1
  719. package/dist/database/migrations/migrateDown.js +1 -1
  720. package/dist/database/migrations/migrateRefresh.js +1 -1
  721. package/dist/database/migrations/migrateReset.js +1 -1
  722. package/dist/database/migrations/migrateStatus.js +1 -1
  723. package/dist/database/migrations/migrationTemplate.js +1 -1
  724. package/dist/database/migrations/migrationsCollection.js +1 -1
  725. package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
  726. package/dist/database/migrations/readMigrationFiles.js +1 -1
  727. package/dist/database/queryValidation/types.js +1 -1
  728. package/dist/database/queryValidation/validateQueryPaths.js +1 -1
  729. package/dist/database/queryValidation/validateSearchParams.js +1 -1
  730. package/dist/database/types.d.ts +10 -0
  731. package/dist/database/types.d.ts.map +1 -1
  732. package/dist/database/types.js +1 -1
  733. package/dist/email/build.js +1 -1
  734. package/dist/email/defaults.js +1 -1
  735. package/dist/email/mockHandler.js +1 -1
  736. package/dist/email/sendEmail.js +1 -1
  737. package/dist/email/types.js +1 -1
  738. package/dist/errors/APIError.js +1 -1
  739. package/dist/errors/AuthenticationError.js +1 -1
  740. package/dist/errors/DuplicateCollection.js +1 -1
  741. package/dist/errors/DuplicateFieldName.js +1 -1
  742. package/dist/errors/DuplicateGlobal.js +1 -1
  743. package/dist/errors/ErrorDeletingFile.js +1 -1
  744. package/dist/errors/FileRetrievalError.d.ts +7 -0
  745. package/dist/errors/FileRetrievalError.d.ts.map +1 -0
  746. package/dist/errors/FileRetrievalError.js +29 -0
  747. package/dist/errors/FileUploadError.js +1 -1
  748. package/dist/errors/Forbidden.js +1 -1
  749. package/dist/errors/InvalidConfiguration.js +1 -1
  750. package/dist/errors/InvalidFieldName.js +1 -1
  751. package/dist/errors/InvalidFieldRelationship.js +1 -1
  752. package/dist/errors/InvalidSchema.js +1 -1
  753. package/dist/errors/LockedAuth.js +1 -1
  754. package/dist/errors/MissingCollectionLabel.js +1 -1
  755. package/dist/errors/MissingEditorProps.js +1 -1
  756. package/dist/errors/MissingFieldInputOptions.js +1 -1
  757. package/dist/errors/MissingFieldType.js +1 -1
  758. package/dist/errors/MissingFile.js +1 -1
  759. package/dist/errors/NotFound.js +1 -1
  760. package/dist/errors/QueryError.js +1 -1
  761. package/dist/errors/TimestampsRequired.js +1 -1
  762. package/dist/errors/UnathorizedError.js +1 -1
  763. package/dist/errors/ValidationError.js +1 -1
  764. package/dist/errors/index.js +1 -1
  765. package/dist/errors/types.js +1 -1
  766. package/dist/exports/auth.js +1 -1
  767. package/dist/exports/components/elements.js +1 -1
  768. package/dist/exports/components/fields/Array.js +1 -1
  769. package/dist/exports/components/fields/Blocks.js +1 -1
  770. package/dist/exports/components/fields/Cell.js +1 -1
  771. package/dist/exports/components/fields/Checkbox.js +1 -1
  772. package/dist/exports/components/fields/Code.js +1 -1
  773. package/dist/exports/components/fields/DateTime.js +1 -1
  774. package/dist/exports/components/fields/Email.js +1 -1
  775. package/dist/exports/components/fields/Group.js +1 -1
  776. package/dist/exports/components/fields/Json.js +1 -1
  777. package/dist/exports/components/fields/Number.js +1 -1
  778. package/dist/exports/components/fields/Password.js +1 -1
  779. package/dist/exports/components/fields/RadioGroup/RadioInput.js +1 -1
  780. package/dist/exports/components/fields/RadioGroup/index.js +1 -1
  781. package/dist/exports/components/fields/Relationship.js +1 -1
  782. package/dist/exports/components/fields/RichText.js +1 -1
  783. package/dist/exports/components/fields/Row.js +1 -1
  784. package/dist/exports/components/fields/Select.js +1 -1
  785. package/dist/exports/components/fields/Text.js +1 -1
  786. package/dist/exports/components/fields/Textarea.js +1 -1
  787. package/dist/exports/components/fields/Upload.js +1 -1
  788. package/dist/exports/components/forms.js +1 -1
  789. package/dist/exports/components/graphics.js +1 -1
  790. package/dist/exports/components/hooks.js +1 -1
  791. package/dist/exports/components/icons.js +1 -1
  792. package/dist/exports/components/preferences.js +1 -1
  793. package/dist/exports/components/root.js +1 -1
  794. package/dist/exports/components/templates.js +1 -1
  795. package/dist/exports/components/utilities.js +1 -1
  796. package/dist/exports/components/views/Cell.js +1 -1
  797. package/dist/exports/components/views/Dashboard.js +1 -1
  798. package/dist/exports/components/views/Edit.js +1 -1
  799. package/dist/exports/components/views/List.js +1 -1
  800. package/dist/exports/components.js +1 -1
  801. package/dist/exports/config.js +1 -1
  802. package/dist/exports/database.d.ts +1 -1
  803. package/dist/exports/database.d.ts.map +1 -1
  804. package/dist/exports/database.js +7 -1
  805. package/dist/exports/errors.js +1 -1
  806. package/dist/exports/fields/validations.js +1 -1
  807. package/dist/exports/graphql.js +1 -1
  808. package/dist/exports/types.js +1 -1
  809. package/dist/exports/utilities.js +1 -1
  810. package/dist/exports/versions.js +1 -1
  811. package/dist/express/admin.js +1 -1
  812. package/dist/express/middleware/authenticate.js +1 -1
  813. package/dist/express/middleware/convertPayload.js +1 -1
  814. package/dist/express/middleware/corsHeaders.js +1 -1
  815. package/dist/express/middleware/defaultPayload.js +1 -1
  816. package/dist/express/middleware/errorHandler.js +1 -1
  817. package/dist/express/middleware/i18n.js +1 -1
  818. package/dist/express/middleware/identifyAPI.js +1 -1
  819. package/dist/express/middleware/index.js +1 -1
  820. package/dist/express/mountEndpoints.js +1 -1
  821. package/dist/express/responses/formatError.d.ts +2 -4
  822. package/dist/express/responses/formatError.d.ts.map +1 -1
  823. package/dist/express/responses/formatError.js +1 -1
  824. package/dist/express/responses/formatSuccess.js +1 -1
  825. package/dist/express/setRequestContext.js +1 -1
  826. package/dist/express/static.js +1 -1
  827. package/dist/express/types.js +1 -1
  828. package/dist/fields/baseFields/baseBlockFields.js +1 -1
  829. package/dist/fields/baseFields/baseIDField.js +1 -1
  830. package/dist/fields/config/sanitize.js +1 -1
  831. package/dist/fields/config/sanitize.spec.js +1 -1
  832. package/dist/fields/config/schema.js +1 -1
  833. package/dist/fields/config/types.js +1 -1
  834. package/dist/fields/getDefaultValue.js +1 -1
  835. package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
  836. package/dist/fields/hooks/afterChange/index.js +1 -1
  837. package/dist/fields/hooks/afterChange/promise.js +1 -1
  838. package/dist/fields/hooks/afterChange/traverseFields.js +1 -1
  839. package/dist/fields/hooks/afterRead/index.js +1 -1
  840. package/dist/fields/hooks/afterRead/promise.js +1 -1
  841. package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +1 -1
  842. package/dist/fields/hooks/afterRead/traverseFields.js +1 -1
  843. package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +1 -1
  844. package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +1 -1
  845. package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
  846. package/dist/fields/hooks/beforeChange/index.js +1 -1
  847. package/dist/fields/hooks/beforeChange/promise.js +1 -1
  848. package/dist/fields/hooks/beforeChange/traverseFields.js +1 -1
  849. package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
  850. package/dist/fields/hooks/beforeValidate/index.js +1 -1
  851. package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
  852. package/dist/fields/hooks/beforeValidate/promise.js +1 -1
  853. package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
  854. package/dist/fields/hooks/beforeValidate/traverseFields.js +1 -1
  855. package/dist/fields/mergeBaseFields.js +1 -1
  856. package/dist/fields/sortableFieldTypes.js +1 -1
  857. package/dist/fields/validations.js +1 -1
  858. package/dist/fields/validations.spec.js +1 -1
  859. package/dist/globals/buildEndpoints.js +1 -1
  860. package/dist/globals/config/build.js +1 -1
  861. package/dist/globals/config/sanitize.js +1 -1
  862. package/dist/globals/config/schema.js +1 -1
  863. package/dist/globals/config/types.js +1 -1
  864. package/dist/globals/graphql/init.js +1 -1
  865. package/dist/globals/graphql/resolvers/docAccess.js +1 -1
  866. package/dist/globals/graphql/resolvers/findOne.js +1 -1
  867. package/dist/globals/graphql/resolvers/findVersionByID.js +1 -1
  868. package/dist/globals/graphql/resolvers/findVersions.js +1 -1
  869. package/dist/globals/graphql/resolvers/index.js +1 -1
  870. package/dist/globals/graphql/resolvers/restoreVersion.js +1 -1
  871. package/dist/globals/graphql/resolvers/update.js +1 -1
  872. package/dist/globals/initHTTP.js +1 -1
  873. package/dist/globals/initLocal.js +1 -1
  874. package/dist/globals/operations/docAccess.js +1 -1
  875. package/dist/globals/operations/findOne.js +1 -1
  876. package/dist/globals/operations/findVersionByID.js +1 -1
  877. package/dist/globals/operations/findVersions.js +1 -1
  878. package/dist/globals/operations/local/findOne.js +1 -1
  879. package/dist/globals/operations/local/findVersionByID.js +1 -1
  880. package/dist/globals/operations/local/findVersions.js +1 -1
  881. package/dist/globals/operations/local/index.js +1 -1
  882. package/dist/globals/operations/local/restoreVersion.js +1 -1
  883. package/dist/globals/operations/local/update.js +1 -1
  884. package/dist/globals/operations/restoreVersion.js +1 -1
  885. package/dist/globals/operations/update.js +1 -1
  886. package/dist/globals/requestHandlers/docAccess.js +1 -1
  887. package/dist/globals/requestHandlers/findOne.js +1 -1
  888. package/dist/globals/requestHandlers/findVersionByID.js +1 -1
  889. package/dist/globals/requestHandlers/findVersions.d.ts +1 -1
  890. package/dist/globals/requestHandlers/findVersions.d.ts.map +1 -1
  891. package/dist/globals/requestHandlers/findVersions.js +1 -1
  892. package/dist/globals/requestHandlers/restoreVersion.js +1 -1
  893. package/dist/globals/requestHandlers/update.js +1 -1
  894. package/dist/graphql/errorHandler.js +1 -1
  895. package/dist/graphql/graphQLHandler.js +1 -1
  896. package/dist/graphql/initPlayground.js +1 -1
  897. package/dist/graphql/registerSchema.js +1 -1
  898. package/dist/graphql/schema/buildFallbackLocaleInputType.js +1 -1
  899. package/dist/graphql/schema/buildLocaleInputType.js +1 -1
  900. package/dist/graphql/schema/buildMutationInputType.js +1 -1
  901. package/dist/graphql/schema/buildObjectType.js +1 -1
  902. package/dist/graphql/schema/buildPaginatedListType.js +1 -1
  903. package/dist/graphql/schema/buildPoliciesType.js +1 -1
  904. package/dist/graphql/schema/buildWhereInputType.js +1 -1
  905. package/dist/graphql/schema/fieldToWhereInputSchemaMap.js +1 -1
  906. package/dist/graphql/schema/isFieldNullable.js +1 -1
  907. package/dist/graphql/schema/operators.js +1 -1
  908. package/dist/graphql/schema/recursivelyBuildNestedPaths.js +1 -1
  909. package/dist/graphql/schema/withNullableType.js +1 -1
  910. package/dist/graphql/schema/withOperators.js +1 -1
  911. package/dist/graphql/utilities/combineParentName.js +1 -1
  912. package/dist/graphql/utilities/formatName.js +1 -1
  913. package/dist/graphql/utilities/formatName.spec.js +1 -1
  914. package/dist/graphql/utilities/formatOptions.js +1 -1
  915. package/dist/graphql/utilities/getCheckIfLocaleObject.js +1 -1
  916. package/dist/graphql/utilities/uppercase.js +1 -1
  917. package/dist/graphql/utilities/wrapCustomResolver.js +1 -1
  918. package/dist/index.js +1 -1
  919. package/dist/initHTTP.js +1 -1
  920. package/dist/localization/middleware.js +1 -1
  921. package/dist/localization/sanitizeFallbackLocale.js +1 -1
  922. package/dist/payload.d.ts +21 -12
  923. package/dist/payload.d.ts.map +1 -1
  924. package/dist/payload.js +9 -1
  925. package/dist/preferences/deleteUserPreferences.js +1 -1
  926. package/dist/preferences/operations/delete.js +1 -1
  927. package/dist/preferences/operations/findOne.js +1 -1
  928. package/dist/preferences/operations/update.js +1 -1
  929. package/dist/preferences/preferencesCollection.js +1 -1
  930. package/dist/preferences/requestHandlers/delete.js +1 -1
  931. package/dist/preferences/requestHandlers/findOne.js +1 -1
  932. package/dist/preferences/requestHandlers/update.js +1 -1
  933. package/dist/preferences/types.js +1 -1
  934. package/dist/translations/defaultOptions.js +1 -1
  935. package/dist/translations/extractTranslations.js +1 -1
  936. package/dist/translations/index.js +1 -1
  937. package/dist/translations/init.js +1 -1
  938. package/dist/translations/type.js +1 -1
  939. package/dist/types/constants.js +1 -1
  940. package/dist/types/index.js +1 -1
  941. package/dist/uploads/canResizeImage.js +1 -1
  942. package/dist/uploads/cropImage.js +1 -1
  943. package/dist/uploads/deleteAssociatedFiles.js +1 -1
  944. package/dist/uploads/docWithFilenameExists.js +1 -1
  945. package/dist/uploads/fileExists.js +1 -1
  946. package/dist/uploads/formatFilesize.js +1 -1
  947. package/dist/uploads/generateFileData.d.ts.map +1 -1
  948. package/dist/uploads/generateFileData.js +5 -2
  949. package/dist/uploads/getBaseFields.js +1 -1
  950. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  951. package/dist/uploads/getExternalFile.js +8 -14
  952. package/dist/uploads/getFileByPath.js +1 -1
  953. package/dist/uploads/getImageSize.js +1 -1
  954. package/dist/uploads/getSafeFilename.js +1 -1
  955. package/dist/uploads/imageResizer.js +1 -1
  956. package/dist/uploads/isImage.js +1 -1
  957. package/dist/uploads/mimeTypeValidator.js +1 -1
  958. package/dist/uploads/mimeTypeValidator.spec.js +1 -1
  959. package/dist/uploads/saveBufferToFile.js +1 -1
  960. package/dist/uploads/types.js +1 -1
  961. package/dist/uploads/unlinkTempFiles.js +1 -1
  962. package/dist/uploads/uploadFiles.js +1 -1
  963. package/dist/utilities/canUseDOM.js +1 -1
  964. package/dist/utilities/checkDuplicateCollections.js +1 -1
  965. package/dist/utilities/combineMerge.js +1 -1
  966. package/dist/utilities/commitTransaction.js +1 -1
  967. package/dist/utilities/configToJSONSchema.js +1 -1
  968. package/dist/utilities/configToJSONSchema.spec.js +1 -1
  969. package/dist/utilities/convertData.js +1 -1
  970. package/dist/utilities/createArrayFromCommaDelineated.js +1 -1
  971. package/dist/utilities/createLocalReq.js +1 -1
  972. package/dist/utilities/deepCopyObject.js +1 -1
  973. package/dist/utilities/deepMerge.js +1 -1
  974. package/dist/utilities/fieldSchemaToJSON.js +1 -1
  975. package/dist/utilities/findLocaleFromCode.js +1 -1
  976. package/dist/utilities/flattenTopLevelFields.js +1 -1
  977. package/dist/utilities/formatLabels.d.ts +0 -1
  978. package/dist/utilities/formatLabels.d.ts.map +1 -1
  979. package/dist/utilities/formatLabels.js +1 -1
  980. package/dist/utilities/formatLabels.spec.js +1 -1
  981. package/dist/utilities/getCSSVariable.js +1 -1
  982. package/dist/utilities/getCollectionIDFieldTypes.js +1 -1
  983. package/dist/utilities/getCookieExpiration.js +1 -1
  984. package/dist/utilities/getEntityPolicies.js +1 -1
  985. package/dist/utilities/getIDType.js +1 -1
  986. package/dist/utilities/getObjectDotNotation.d.ts.map +1 -1
  987. package/dist/utilities/getObjectDotNotation.js +1 -1
  988. package/dist/utilities/getTranslation.js +1 -1
  989. package/dist/utilities/getUniqueListBy.js +1 -1
  990. package/dist/utilities/groupOrTabHasRequiredSubfield.js +1 -1
  991. package/dist/utilities/initTransaction.js +1 -1
  992. package/dist/utilities/isNumber.js +1 -1
  993. package/dist/utilities/isValidID.js +1 -1
  994. package/dist/utilities/isolateObjectProperty.js +1 -1
  995. package/dist/utilities/killTransaction.js +1 -1
  996. package/dist/utilities/logger.js +1 -1
  997. package/dist/utilities/mapAsync.js +1 -1
  998. package/dist/utilities/overwriteMerge.js +1 -1
  999. package/dist/utilities/parseCookies.js +1 -1
  1000. package/dist/utilities/sanitizeCollectionID.js +1 -1
  1001. package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -1
  1002. package/dist/utilities/sanitizeInternalFields.js +1 -1
  1003. package/dist/utilities/setsAreEqual.js +1 -1
  1004. package/dist/utilities/splitPathByArrayFields.js +1 -1
  1005. package/dist/utilities/telemetry/events/adminInit.js +1 -1
  1006. package/dist/utilities/telemetry/events/serverInit.js +1 -1
  1007. package/dist/utilities/telemetry/index.js +1 -1
  1008. package/dist/utilities/telemetry/oneWayHash.d.ts +1 -0
  1009. package/dist/utilities/telemetry/oneWayHash.d.ts.map +1 -1
  1010. package/dist/utilities/telemetry/oneWayHash.js +1 -1
  1011. package/dist/utilities/timestamp.js +1 -1
  1012. package/dist/utilities/toKebabCase.js +1 -1
  1013. package/dist/utilities/wait.js +1 -1
  1014. package/dist/utilities/wordBoundariesRegex.js +1 -1
  1015. package/dist/versions/baseFields.js +1 -1
  1016. package/dist/versions/buildCollectionFields.js +1 -1
  1017. package/dist/versions/buildGlobalFields.js +1 -1
  1018. package/dist/versions/deleteCollectionVersions.js +1 -1
  1019. package/dist/versions/drafts/appendVersionToQueryKey.js +1 -1
  1020. package/dist/versions/drafts/getQueryDraftsSort.js +1 -1
  1021. package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
  1022. package/dist/versions/drafts/replaceWithDraftIfAvailable.js +1 -1
  1023. package/dist/versions/enforceMaxVersions.js +1 -1
  1024. package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
  1025. package/dist/versions/getLatestCollectionVersion.js +1 -1
  1026. package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
  1027. package/dist/versions/getLatestGlobalVersion.js +1 -1
  1028. package/dist/versions/getVersionsModelName.js +1 -1
  1029. package/dist/versions/saveVersion.js +1 -1
  1030. package/dist/versions/types.js +1 -1
  1031. package/errors.js +1 -1
  1032. package/graphql.js +1 -1
  1033. package/package.json +1 -1
  1034. package/types.js +1 -1
  1035. package/utilities.js +1 -1
  1036. package/versions.js +1 -1
@@ -25,8 +25,10 @@ const _buildPaginatedListType = /*#__PURE__*/ _interop_require_default(require("
25
25
  const _buildPoliciesType = require("../../graphql/schema/buildPoliciesType");
26
26
  const _buildWhereInputType = /*#__PURE__*/ _interop_require_default(require("../../graphql/schema/buildWhereInputType"));
27
27
  const _formatName = /*#__PURE__*/ _interop_require_default(require("../../graphql/utilities/formatName"));
28
+ const _flattenTopLevelFields = /*#__PURE__*/ _interop_require_default(require("../../utilities/flattenTopLevelFields"));
28
29
  const _formatLabels = require("../../utilities/formatLabels");
29
30
  const _buildCollectionFields = require("../../versions/buildCollectionFields");
31
+ const _count = /*#__PURE__*/ _interop_require_default(require("./resolvers/count"));
30
32
  const _create = /*#__PURE__*/ _interop_require_default(require("./resolvers/create"));
31
33
  const _delete = /*#__PURE__*/ _interop_require_default(require("./resolvers/delete"));
32
34
  const _docAccess = require("./resolvers/docAccess");
@@ -36,7 +38,6 @@ const _findVersionByID = /*#__PURE__*/ _interop_require_default(require("./resol
36
38
  const _findVersions = /*#__PURE__*/ _interop_require_default(require("./resolvers/findVersions"));
37
39
  const _restoreVersion = /*#__PURE__*/ _interop_require_default(require("./resolvers/restoreVersion"));
38
40
  const _update = /*#__PURE__*/ _interop_require_default(require("./resolvers/update"));
39
- const _flattenTopLevelFields = /*#__PURE__*/ _interop_require_default(require("../../utilities/flattenTopLevelFields"));
40
41
  function _interop_require_default(obj) {
41
42
  return obj && obj.__esModule ? obj : {
42
43
  default: obj
@@ -143,9 +144,9 @@ function initCollectionsGraphQL(payload) {
143
144
  if (config.auth && !config.auth.disableLocalStrategy) {
144
145
  fields.push({
145
146
  name: 'password',
147
+ type: 'text',
146
148
  label: 'Password',
147
- required: true,
148
- type: 'text'
149
+ required: true
149
150
  });
150
151
  }
151
152
  const createMutationInputType = (0, _buildMutationInputType.default)(payload, singularName, fields, singularName);
@@ -157,6 +158,7 @@ function initCollectionsGraphQL(payload) {
157
158
  collection.graphQL.updateMutationInputType = new _graphql.GraphQLNonNull(updateMutationInputType);
158
159
  }
159
160
  payload.Query.fields[singularName] = {
161
+ type: collection.graphQL.type,
160
162
  args: {
161
163
  id: {
162
164
  type: new _graphql.GraphQLNonNull(idType)
@@ -173,10 +175,10 @@ function initCollectionsGraphQL(payload) {
173
175
  }
174
176
  } : {}
175
177
  },
176
- resolve: (0, _findByID.default)(collection),
177
- type: collection.graphQL.type
178
+ resolve: (0, _findByID.default)(collection)
178
179
  };
179
180
  payload.Query.fields[pluralName] = {
181
+ type: (0, _buildPaginatedListType.default)(pluralName, collection.graphQL.type),
180
182
  args: {
181
183
  draft: {
182
184
  type: _graphql.GraphQLBoolean
@@ -202,24 +204,48 @@ function initCollectionsGraphQL(payload) {
202
204
  type: _graphql.GraphQLString
203
205
  }
204
206
  },
205
- resolve: (0, _find.default)(collection),
206
- type: (0, _buildPaginatedListType.default)(pluralName, collection.graphQL.type)
207
+ resolve: (0, _find.default)(collection)
207
208
  };
208
- payload.Query.fields[`docAccess${singularName}`] = {
209
- args: {
210
- id: {
211
- type: new _graphql.GraphQLNonNull(idType)
209
+ payload.Query.fields[`count${pluralName}`] = {
210
+ type: new _graphql.GraphQLObjectType({
211
+ name: `count${pluralName}`,
212
+ fields: {
213
+ totalDocs: {
214
+ type: _graphql.GraphQLInt
215
+ }
212
216
  }
217
+ }),
218
+ args: {
219
+ draft: {
220
+ type: _graphql.GraphQLBoolean
221
+ },
222
+ where: {
223
+ type: collection.graphQL.whereInputType
224
+ },
225
+ ...payload.config.localization ? {
226
+ locale: {
227
+ type: payload.types.localeInputType
228
+ }
229
+ } : {}
213
230
  },
214
- resolve: (0, _docAccess.docAccessResolver)(),
231
+ resolve: (0, _count.default)(collection)
232
+ };
233
+ payload.Query.fields[`docAccess${singularName}`] = {
215
234
  type: (0, _buildPoliciesType.buildPolicyType)({
235
+ type: 'collection',
216
236
  entity: config,
217
237
  scope: 'docAccess',
218
- type: 'collection',
219
238
  typeSuffix: 'DocAccess'
220
- })
239
+ }),
240
+ args: {
241
+ id: {
242
+ type: new _graphql.GraphQLNonNull(idType)
243
+ }
244
+ },
245
+ resolve: (0, _docAccess.docAccessResolver)()
221
246
  };
222
247
  payload.Mutation.fields[`create${singularName}`] = {
248
+ type: collection.graphQL.type,
223
249
  args: {
224
250
  ...createMutationInputType ? {
225
251
  data: {
@@ -235,10 +261,10 @@ function initCollectionsGraphQL(payload) {
235
261
  }
236
262
  } : {}
237
263
  },
238
- resolve: (0, _create.default)(collection),
239
- type: collection.graphQL.type
264
+ resolve: (0, _create.default)(collection)
240
265
  };
241
266
  payload.Mutation.fields[`update${singularName}`] = {
267
+ type: collection.graphQL.type,
242
268
  args: {
243
269
  id: {
244
270
  type: new _graphql.GraphQLNonNull(idType)
@@ -260,17 +286,16 @@ function initCollectionsGraphQL(payload) {
260
286
  }
261
287
  } : {}
262
288
  },
263
- resolve: (0, _update.default)(collection),
264
- type: collection.graphQL.type
289
+ resolve: (0, _update.default)(collection)
265
290
  };
266
291
  payload.Mutation.fields[`delete${singularName}`] = {
292
+ type: collection.graphQL.type,
267
293
  args: {
268
294
  id: {
269
295
  type: new _graphql.GraphQLNonNull(idType)
270
296
  }
271
297
  },
272
- resolve: (0, _delete.default)(collection),
273
- type: collection.graphQL.type
298
+ resolve: (0, _delete.default)(collection)
274
299
  };
275
300
  if (config.versions) {
276
301
  const versionIDType = payload.db.defaultIDType === 'text' ? _graphql.GraphQLString : _graphql.GraphQLInt;
@@ -282,13 +307,13 @@ function initCollectionsGraphQL(payload) {
282
307
  },
283
308
  {
284
309
  name: 'createdAt',
285
- label: 'Created At',
286
- type: 'date'
310
+ type: 'date',
311
+ label: 'Created At'
287
312
  },
288
313
  {
289
314
  name: 'updatedAt',
290
- label: 'Updated At',
291
- type: 'date'
315
+ type: 'date',
316
+ label: 'Updated At'
292
317
  }
293
318
  ];
294
319
  collection.graphQL.versionType = (0, _buildObjectType.default)({
@@ -299,6 +324,7 @@ function initCollectionsGraphQL(payload) {
299
324
  payload
300
325
  });
301
326
  payload.Query.fields[`version${(0, _formatName.default)(singularName)}`] = {
327
+ type: collection.graphQL.versionType,
302
328
  args: {
303
329
  id: {
304
330
  type: versionIDType
@@ -312,10 +338,10 @@ function initCollectionsGraphQL(payload) {
312
338
  }
313
339
  } : {}
314
340
  },
315
- resolve: (0, _findVersionByID.default)(collection),
316
- type: collection.graphQL.versionType
341
+ resolve: (0, _findVersionByID.default)(collection)
317
342
  };
318
343
  payload.Query.fields[`versions${pluralName}`] = {
344
+ type: (0, _buildPaginatedListType.default)(`versions${(0, _formatName.default)(pluralName)}`, collection.graphQL.versionType),
319
345
  args: {
320
346
  where: {
321
347
  type: (0, _buildWhereInputType.default)({
@@ -343,25 +369,24 @@ function initCollectionsGraphQL(payload) {
343
369
  type: _graphql.GraphQLString
344
370
  }
345
371
  },
346
- resolve: (0, _findVersions.default)(collection),
347
- type: (0, _buildPaginatedListType.default)(`versions${(0, _formatName.default)(pluralName)}`, collection.graphQL.versionType)
372
+ resolve: (0, _findVersions.default)(collection)
348
373
  };
349
374
  payload.Mutation.fields[`restoreVersion${(0, _formatName.default)(singularName)}`] = {
375
+ type: collection.graphQL.type,
350
376
  args: {
351
377
  id: {
352
378
  type: versionIDType
353
379
  }
354
380
  },
355
- resolve: (0, _restoreVersion.default)(collection),
356
- type: collection.graphQL.type
381
+ resolve: (0, _restoreVersion.default)(collection)
357
382
  };
358
383
  }
359
384
  if (config.auth) {
360
385
  const authFields = config.auth.disableLocalStrategy ? [] : [
361
386
  {
362
387
  name: 'email',
363
- required: true,
364
- type: 'email'
388
+ type: 'email',
389
+ required: true
365
390
  }
366
391
  ];
367
392
  collection.graphQL.JWT = (0, _buildObjectType.default)({
@@ -371,15 +396,14 @@ function initCollectionsGraphQL(payload) {
371
396
  ...authFields,
372
397
  {
373
398
  name: 'collection',
374
- required: true,
375
- type: 'text'
399
+ type: 'text',
400
+ required: true
376
401
  }
377
402
  ],
378
403
  parentName: (0, _formatName.default)(`${slug}JWT`),
379
404
  payload
380
405
  });
381
406
  payload.Query.fields[`me${singularName}`] = {
382
- resolve: (0, _me.default)(collection),
383
407
  type: new _graphql.GraphQLObjectType({
384
408
  name: (0, _formatName.default)(`${slug}Me`),
385
409
  fields: {
@@ -396,19 +420,14 @@ function initCollectionsGraphQL(payload) {
396
420
  type: collection.graphQL.type
397
421
  }
398
422
  }
399
- })
423
+ }),
424
+ resolve: (0, _me.default)(collection)
400
425
  };
401
426
  payload.Query.fields[`initialized${singularName}`] = {
402
- resolve: (0, _init.default)(collection.config.slug),
403
- type: _graphql.GraphQLBoolean
427
+ type: _graphql.GraphQLBoolean,
428
+ resolve: (0, _init.default)(collection.config.slug)
404
429
  };
405
430
  payload.Mutation.fields[`refreshToken${singularName}`] = {
406
- args: {
407
- token: {
408
- type: _graphql.GraphQLString
409
- }
410
- },
411
- resolve: (0, _refresh.default)(collection),
412
431
  type: new _graphql.GraphQLObjectType({
413
432
  name: (0, _formatName.default)(`${slug}Refreshed${singularName}`),
414
433
  fields: {
@@ -422,34 +441,31 @@ function initCollectionsGraphQL(payload) {
422
441
  type: collection.graphQL.JWT
423
442
  }
424
443
  }
425
- })
444
+ }),
445
+ args: {
446
+ token: {
447
+ type: _graphql.GraphQLString
448
+ }
449
+ },
450
+ resolve: (0, _refresh.default)(collection)
426
451
  };
427
452
  payload.Mutation.fields[`logout${singularName}`] = {
428
- resolve: (0, _logout.default)(collection),
429
- type: _graphql.GraphQLString
453
+ type: _graphql.GraphQLString,
454
+ resolve: (0, _logout.default)(collection)
430
455
  };
431
456
  if (!config.auth.disableLocalStrategy) {
432
457
  if (config.auth.maxLoginAttempts > 0) {
433
458
  payload.Mutation.fields[`unlock${singularName}`] = {
459
+ type: new _graphql.GraphQLNonNull(_graphql.GraphQLBoolean),
434
460
  args: {
435
461
  email: {
436
462
  type: new _graphql.GraphQLNonNull(_graphql.GraphQLString)
437
463
  }
438
464
  },
439
- resolve: (0, _unlock.default)(collection),
440
- type: new _graphql.GraphQLNonNull(_graphql.GraphQLBoolean)
465
+ resolve: (0, _unlock.default)(collection)
441
466
  };
442
467
  }
443
468
  payload.Mutation.fields[`login${singularName}`] = {
444
- args: {
445
- email: {
446
- type: _graphql.GraphQLString
447
- },
448
- password: {
449
- type: _graphql.GraphQLString
450
- }
451
- },
452
- resolve: (0, _login.default)(collection),
453
469
  type: new _graphql.GraphQLObjectType({
454
470
  name: (0, _formatName.default)(`${slug}LoginResult`),
455
471
  fields: {
@@ -463,9 +479,19 @@ function initCollectionsGraphQL(payload) {
463
479
  type: collection.graphQL.type
464
480
  }
465
481
  }
466
- })
482
+ }),
483
+ args: {
484
+ email: {
485
+ type: _graphql.GraphQLString
486
+ },
487
+ password: {
488
+ type: _graphql.GraphQLString
489
+ }
490
+ },
491
+ resolve: (0, _login.default)(collection)
467
492
  };
468
493
  payload.Mutation.fields[`forgotPassword${singularName}`] = {
494
+ type: new _graphql.GraphQLNonNull(_graphql.GraphQLBoolean),
469
495
  args: {
470
496
  disableEmail: {
471
497
  type: _graphql.GraphQLBoolean
@@ -477,19 +503,9 @@ function initCollectionsGraphQL(payload) {
477
503
  type: _graphql.GraphQLInt
478
504
  }
479
505
  },
480
- resolve: (0, _forgotPassword.default)(collection),
481
- type: new _graphql.GraphQLNonNull(_graphql.GraphQLBoolean)
506
+ resolve: (0, _forgotPassword.default)(collection)
482
507
  };
483
508
  payload.Mutation.fields[`resetPassword${singularName}`] = {
484
- args: {
485
- password: {
486
- type: _graphql.GraphQLString
487
- },
488
- token: {
489
- type: _graphql.GraphQLString
490
- }
491
- },
492
- resolve: (0, _resetPassword.default)(collection),
493
509
  type: new _graphql.GraphQLObjectType({
494
510
  name: (0, _formatName.default)(`${slug}ResetPassword`),
495
511
  fields: {
@@ -500,16 +516,25 @@ function initCollectionsGraphQL(payload) {
500
516
  type: collection.graphQL.type
501
517
  }
502
518
  }
503
- })
519
+ }),
520
+ args: {
521
+ password: {
522
+ type: _graphql.GraphQLString
523
+ },
524
+ token: {
525
+ type: _graphql.GraphQLString
526
+ }
527
+ },
528
+ resolve: (0, _resetPassword.default)(collection)
504
529
  };
505
530
  payload.Mutation.fields[`verifyEmail${singularName}`] = {
531
+ type: _graphql.GraphQLBoolean,
506
532
  args: {
507
533
  token: {
508
534
  type: _graphql.GraphQLString
509
535
  }
510
536
  },
511
- resolve: (0, _verifyEmail.default)(collection),
512
- type: _graphql.GraphQLBoolean
537
+ resolve: (0, _verifyEmail.default)(collection)
513
538
  };
514
539
  }
515
540
  }
@@ -517,4 +542,4 @@ function initCollectionsGraphQL(payload) {
517
542
  }
518
543
  const _default = initCollectionsGraphQL;
519
544
 
520
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL2luaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB7XG4gIEdyYXBoUUxCb29sZWFuLFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTm9uTnVsbCxcbiAgR3JhcGhRTE9iamVjdFR5cGUsXG4gIEdyYXBoUUxTdHJpbmcsXG59IGZyb20gJ2dyYXBocWwnXG5cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPYmplY3RUeXBlQ29uZmlnIH0gZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRPYmplY3RUeXBlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiwgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGZvcmdvdFBhc3N3b3JkIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvZm9yZ290UGFzc3dvcmQnXG5pbXBvcnQgaW5pdCBmcm9tICcuLi8uLi9hdXRoL2dyYXBocWwvcmVzb2x2ZXJzL2luaXQnXG5pbXBvcnQgbG9naW4gZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9sb2dpbidcbmltcG9ydCBsb2dvdXQgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9sb2dvdXQnXG5pbXBvcnQgbWUgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9tZSdcbmltcG9ydCByZWZyZXNoIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvcmVmcmVzaCdcbmltcG9ydCByZXNldFBhc3N3b3JkIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB1bmxvY2sgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy91bmxvY2snXG5pbXBvcnQgdmVyaWZ5RW1haWwgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy92ZXJpZnlFbWFpbCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUsIHtcbiAgZ2V0Q29sbGVjdGlvbklEVHlwZSxcbn0gZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRNdXRhdGlvbklucHV0VHlwZSdcbmltcG9ydCBidWlsZE9iamVjdFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRPYmplY3RUeXBlJ1xuaW1wb3J0IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRQYWdpbmF0ZWRMaXN0VHlwZSdcbmltcG9ydCB7IGJ1aWxkUG9saWN5VHlwZSB9IGZyb20gJy4uLy4uL2dyYXBocWwvc2NoZW1hL2J1aWxkUG9saWNpZXNUeXBlJ1xuaW1wb3J0IGJ1aWxkV2hlcmVJbnB1dFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRXaGVyZUlucHV0VHlwZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uLy4uL2dyYXBocWwvdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgeyBmb3JtYXROYW1lcywgdG9Xb3JkcyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9mb3JtYXRMYWJlbHMnXG5pbXBvcnQgeyBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIH0gZnJvbSAnLi4vLi4vdmVyc2lvbnMvYnVpbGRDb2xsZWN0aW9uRmllbGRzJ1xuaW1wb3J0IGNyZWF0ZVJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2NyZWF0ZSdcbmltcG9ydCBnZXREZWxldGVSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9kZWxldGUnXG5pbXBvcnQgeyBkb2NBY2Nlc3NSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXJzL2RvY0FjY2VzcydcbmltcG9ydCBmaW5kUmVzb2x2ZXIgZnJvbSAnLi9yZXNvbHZlcnMvZmluZCdcbmltcG9ydCBmaW5kQnlJRFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2ZpbmRCeUlEJ1xuaW1wb3J0IGZpbmRWZXJzaW9uQnlJRFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2ZpbmRWZXJzaW9uQnlJRCdcbmltcG9ydCBmaW5kVmVyc2lvbnNSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9maW5kVmVyc2lvbnMnXG5pbXBvcnQgcmVzdG9yZVZlcnNpb25SZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB1cGRhdGVSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy91cGRhdGUnXG5pbXBvcnQgZmxhdHRlbkZpZWxkcyBmcm9tICcuLi8uLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzJ1xuXG5mdW5jdGlvbiBpbml0Q29sbGVjdGlvbnNHcmFwaFFMKHBheWxvYWQ6IFBheWxvYWQpOiB2b2lkIHtcbiAgT2JqZWN0LmtleXMocGF5bG9hZC5jb2xsZWN0aW9ucykuZm9yRWFjaCgoc2x1ZykgPT4ge1xuICAgIGNvbnN0IGNvbGxlY3Rpb246IENvbGxlY3Rpb24gPSBwYXlsb2FkLmNvbGxlY3Rpb25zW3NsdWddXG4gICAgY29uc3Qge1xuICAgICAgY29uZmlnLFxuICAgICAgY29uZmlnOiB7IGZpZWxkcywgZ3JhcGhRTCA9IHt9IGFzIFNhbml0aXplZENvbGxlY3Rpb25Db25maWdbJ2dyYXBoUUwnXSwgdmVyc2lvbnMgfSxcbiAgICB9ID0gY29sbGVjdGlvblxuXG4gICAgaWYgKCFncmFwaFFMKSByZXR1cm5cblxuICAgIGxldCBzaW5ndWxhck5hbWVcbiAgICBsZXQgcGx1cmFsTmFtZVxuICAgIGNvbnN0IGZyb21TbHVnID0gZm9ybWF0TmFtZXMoY29sbGVjdGlvbi5jb25maWcuc2x1ZylcbiAgICBpZiAoZ3JhcGhRTC5zaW5ndWxhck5hbWUpIHtcbiAgICAgIHNpbmd1bGFyTmFtZSA9IHRvV29yZHMoZ3JhcGhRTC5zaW5ndWxhck5hbWUsIHRydWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNpbmd1bGFyTmFtZSA9IGZyb21TbHVnLnNpbmd1bGFyXG4gICAgfVxuICAgIGlmIChncmFwaFFMLnBsdXJhbE5hbWUpIHtcbiAgICAgIHBsdXJhbE5hbWUgPSB0b1dvcmRzKGdyYXBoUUwucGx1cmFsTmFtZSwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgcGx1cmFsTmFtZSA9IGZyb21TbHVnLnBsdXJhbFxuICAgIH1cblxuICAgIC8vIEZvciBjb2xsZWN0aW9ucyBuYW1lZCAnTWVkaWEnIG9yIHNpbWlsYXIsXG4gICAgLy8gdGhlcmUgaXMgYSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBzaW5ndWxhciBuYW1lXG4gICAgLy8gd2lsbCBlcXVhbCB0aGUgcGx1cmFsIG5hbWUuIEFwcGVuZCBgYWxsYCB0byB0aGUgYmVnaW5uaW5nXG4gICAgLy8gb2YgcG90ZW50aWFsIGNvbmZsaWN0c1xuICAgIGlmIChzaW5ndWxhck5hbWUgPT09IHBsdXJhbE5hbWUpIHtcbiAgICAgIHBsdXJhbE5hbWUgPSBgYWxsJHtzaW5ndWxhck5hbWV9YFxuICAgIH1cblxuICAgIGNvbGxlY3Rpb24uZ3JhcGhRTCA9IHt9IGFzIENvbGxlY3Rpb25bJ2dyYXBoUUwnXVxuXG4gICAgY29uc3QgaGFzSURGaWVsZCA9XG4gICAgICBmbGF0dGVuRmllbGRzKGZpZWxkcykuZmluZEluZGV4KChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJykgPlxuICAgICAgLTFcblxuICAgIGNvbnN0IGlkVHlwZSA9IGdldENvbGxlY3Rpb25JRFR5cGUocGF5bG9hZCwgY29uZmlnKVxuXG4gICAgY29uc3QgYmFzZUZpZWxkczogT2JqZWN0VHlwZUNvbmZpZyA9IHt9XG5cbiAgICBjb25zdCB3aGVyZUlucHV0RmllbGRzID0gWy4uLmZpZWxkc11cblxuICAgIGlmICghaGFzSURGaWVsZCkge1xuICAgICAgYmFzZUZpZWxkcy5pZCA9IHsgdHlwZTogaWRUeXBlIH1cbiAgICAgIHdoZXJlSW5wdXRGaWVsZHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgIHR5cGU6IHBheWxvYWQuZGIuZGVmYXVsdElEVHlwZSBhcyAndGV4dCcsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlID0gQm9vbGVhbih2ZXJzaW9ucz8uZHJhZnRzKVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUgPSBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgbmFtZTogc2luZ3VsYXJOYW1lLFxuICAgICAgYmFzZUZpZWxkcyxcbiAgICAgIGZpZWxkcyxcbiAgICAgIGZvcmNlTnVsbGFibGU6IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlLFxuICAgICAgcGFyZW50TmFtZTogc2luZ3VsYXJOYW1lLFxuICAgICAgcGF5bG9hZCxcbiAgICB9KVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMLnBhZ2luYXRlZFR5cGUgPSBidWlsZFBhZ2luYXRlZExpc3RUeXBlKHBsdXJhbE5hbWUsIGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlKVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMLndoZXJlSW5wdXRUeXBlID0gYnVpbGRXaGVyZUlucHV0VHlwZSh7XG4gICAgICBuYW1lOiBzaW5ndWxhck5hbWUsXG4gICAgICBmaWVsZHM6IHdoZXJlSW5wdXRGaWVsZHMsXG4gICAgICBwYXJlbnROYW1lOiBzaW5ndWxhck5hbWUsXG4gICAgICBwYXlsb2FkLFxuICAgIH0pXG5cbiAgICBpZiAoY29uZmlnLmF1dGggJiYgIWNvbmZpZy5hdXRoLmRpc2FibGVMb2NhbFN0cmF0ZWd5KSB7XG4gICAgICBmaWVsZHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdwYXNzd29yZCcsXG4gICAgICAgIGxhYmVsOiAnUGFzc3dvcmQnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBjb25zdCBjcmVhdGVNdXRhdGlvbklucHV0VHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoXG4gICAgICBwYXlsb2FkLFxuICAgICAgc2luZ3VsYXJOYW1lLFxuICAgICAgZmllbGRzLFxuICAgICAgc2luZ3VsYXJOYW1lLFxuICAgIClcbiAgICBpZiAoY3JlYXRlTXV0YXRpb25JbnB1dFR5cGUpIHtcbiAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC5tdXRhdGlvbklucHV0VHlwZSA9IG5ldyBHcmFwaFFMTm9uTnVsbChjcmVhdGVNdXRhdGlvbklucHV0VHlwZSlcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGVNdXRhdGlvbklucHV0VHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoXG4gICAgICBwYXlsb2FkLFxuICAgICAgYCR7c2luZ3VsYXJOYW1lfVVwZGF0ZWAsXG4gICAgICBmaWVsZHMuZmlsdGVyKChmaWVsZCkgPT4gIShmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKSksXG4gICAgICBgJHtzaW5ndWxhck5hbWV9VXBkYXRlYCxcbiAgICAgIHRydWUsXG4gICAgKVxuICAgIGlmICh1cGRhdGVNdXRhdGlvbklucHV0VHlwZSkge1xuICAgICAgY29sbGVjdGlvbi5ncmFwaFFMLnVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlID0gbmV3IEdyYXBoUUxOb25OdWxsKHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlKVxuICAgIH1cblxuICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW3Npbmd1bGFyTmFtZV0gPSB7XG4gICAgICBhcmdzOiB7XG4gICAgICAgIGlkOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChpZFR5cGUpIH0sXG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICBsb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5sb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KSxcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiBmaW5kQnlJRFJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgfVxuXG4gICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbcGx1cmFsTmFtZV0gPSB7XG4gICAgICBhcmdzOiB7XG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIHdoZXJlOiB7IHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC53aGVyZUlucHV0VHlwZSB9LFxuICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMuZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIGxpbWl0OiB7IHR5cGU6IEdyYXBoUUxJbnQgfSxcbiAgICAgICAgcGFnZTogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgIHNvcnQ6IHsgdHlwZTogR3JhcGhRTFN0cmluZyB9LFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IGZpbmRSZXNvbHZlcihjb2xsZWN0aW9uKSxcbiAgICAgIHR5cGU6IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUocGx1cmFsTmFtZSwgY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUpLFxuICAgIH1cblxuICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2Bkb2NBY2Nlc3Mke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgaWQ6IHsgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKGlkVHlwZSkgfSxcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiBkb2NBY2Nlc3NSZXNvbHZlcigpLFxuICAgICAgdHlwZTogYnVpbGRQb2xpY3lUeXBlKHtcbiAgICAgICAgZW50aXR5OiBjb25maWcsXG4gICAgICAgIHNjb3BlOiAnZG9jQWNjZXNzJyxcbiAgICAgICAgdHlwZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgICB0eXBlU3VmZml4OiAnRG9jQWNjZXNzJyxcbiAgICAgIH0pLFxuICAgIH1cblxuICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2BjcmVhdGUke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgLi4uKGNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlXG4gICAgICAgICAgPyB7IGRhdGE6IHsgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLm11dGF0aW9uSW5wdXRUeXBlIH0gfVxuICAgICAgICAgIDoge30pLFxuICAgICAgICBkcmFmdDogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IGNyZWF0ZVJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgfVxuXG4gICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHVwZGF0ZSR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgYXJnczoge1xuICAgICAgICBpZDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoaWRUeXBlKSB9LFxuICAgICAgICBhdXRvc2F2ZTogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAuLi4odXBkYXRlTXV0YXRpb25JbnB1dFR5cGVcbiAgICAgICAgICA/IHsgZGF0YTogeyB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudXBkYXRlTXV0YXRpb25JbnB1dFR5cGUgfSB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogdXBkYXRlUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICB9XG5cbiAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgZGVsZXRlJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICBhcmdzOiB7XG4gICAgICAgIGlkOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChpZFR5cGUpIH0sXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogZ2V0RGVsZXRlUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLnZlcnNpb25zKSB7XG4gICAgICBjb25zdCB2ZXJzaW9uSURUeXBlID0gcGF5bG9hZC5kYi5kZWZhdWx0SURUeXBlID09PSAndGV4dCcgPyBHcmFwaFFMU3RyaW5nIDogR3JhcGhRTEludFxuICAgICAgY29uc3QgdmVyc2lvbkNvbGxlY3Rpb25GaWVsZHM6IEZpZWxkW10gPSBbXG4gICAgICAgIC4uLmJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMoY29uZmlnKSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgICAgdHlwZTogcGF5bG9hZC5kYi5kZWZhdWx0SURUeXBlIGFzICd0ZXh0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdjcmVhdGVkQXQnLFxuICAgICAgICAgIGxhYmVsOiAnQ3JlYXRlZCBBdCcsXG4gICAgICAgICAgdHlwZTogJ2RhdGUnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3VwZGF0ZWRBdCcsXG4gICAgICAgICAgbGFiZWw6ICdVcGRhdGVkIEF0JyxcbiAgICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgIH0sXG4gICAgICBdXG5cbiAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC52ZXJzaW9uVHlwZSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IGAke3Npbmd1bGFyTmFtZX1WZXJzaW9uYCxcbiAgICAgICAgZmllbGRzOiB2ZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyxcbiAgICAgICAgZm9yY2VOdWxsYWJsZTogZm9yY2VOdWxsYWJsZU9iamVjdFR5cGUsXG4gICAgICAgIHBhcmVudE5hbWU6IGAke3Npbmd1bGFyTmFtZX1WZXJzaW9uYCxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgIH0pXG5cbiAgICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2B2ZXJzaW9uJHtmb3JtYXROYW1lKHNpbmd1bGFyTmFtZSl9YF0gPSB7XG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBpZDogeyB0eXBlOiB2ZXJzaW9uSURUeXBlIH0sXG4gICAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzb2x2ZTogZmluZFZlcnNpb25CeUlEUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICAgIHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC52ZXJzaW9uVHlwZSxcbiAgICAgIH1cbiAgICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2B2ZXJzaW9ucyR7cGx1cmFsTmFtZX1gXSA9IHtcbiAgICAgICAgYXJnczoge1xuICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICB0eXBlOiBidWlsZFdoZXJlSW5wdXRUeXBlKHtcbiAgICAgICAgICAgICAgbmFtZTogYHZlcnNpb25zJHtzaW5ndWxhck5hbWV9YCxcbiAgICAgICAgICAgICAgZmllbGRzOiB2ZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyxcbiAgICAgICAgICAgICAgcGFyZW50TmFtZTogYHZlcnNpb25zJHtzaW5ndWxhck5hbWV9YCxcbiAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgICBsaW1pdDogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgcGFnZTogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgc29ydDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlc29sdmU6IGZpbmRWZXJzaW9uc1Jlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgICB0eXBlOiBidWlsZFBhZ2luYXRlZExpc3RUeXBlKFxuICAgICAgICAgIGB2ZXJzaW9ucyR7Zm9ybWF0TmFtZShwbHVyYWxOYW1lKX1gLFxuICAgICAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC52ZXJzaW9uVHlwZSxcbiAgICAgICAgKSxcbiAgICAgIH1cbiAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2ByZXN0b3JlVmVyc2lvbiR7Zm9ybWF0TmFtZShzaW5ndWxhck5hbWUpfWBdID0ge1xuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgaWQ6IHsgdHlwZTogdmVyc2lvbklEVHlwZSB9LFxuICAgICAgICB9LFxuICAgICAgICByZXNvbHZlOiByZXN0b3JlVmVyc2lvblJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmF1dGgpIHtcbiAgICAgIGNvbnN0IGF1dGhGaWVsZHM6IEZpZWxkW10gPSBjb25maWcuYXV0aC5kaXNhYmxlTG9jYWxTdHJhdGVneVxuICAgICAgICA/IFtdXG4gICAgICAgIDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnZW1haWwnLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgdHlwZTogJ2VtYWlsJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgY29sbGVjdGlvbi5ncmFwaFFMLkpXVCA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31KV1RgKSxcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgLi4uY29uZmlnLmZpZWxkcy5maWx0ZXIoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5zYXZlVG9KV1QpLFxuICAgICAgICAgIC4uLmF1dGhGaWVsZHMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2NvbGxlY3Rpb24nLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcGFyZW50TmFtZTogZm9ybWF0TmFtZShgJHtzbHVnfUpXVGApLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgfSlcblxuICAgICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbYG1lJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgIHJlc29sdmU6IG1lKGNvbGxlY3Rpb24pLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31NZWApLFxuICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4cDoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMSW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRva2VuOiB7XG4gICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICB9XG5cbiAgICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2Bpbml0aWFsaXplZCR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICByZXNvbHZlOiBpbml0KGNvbGxlY3Rpb24uY29uZmlnLnNsdWcpLFxuICAgICAgICB0eXBlOiBHcmFwaFFMQm9vbGVhbixcbiAgICAgIH1cblxuICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHJlZnJlc2hUb2tlbiR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgdG9rZW46IHsgdHlwZTogR3JhcGhRTFN0cmluZyB9LFxuICAgICAgICB9LFxuICAgICAgICByZXNvbHZlOiByZWZyZXNoKGNvbGxlY3Rpb24pLFxuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31SZWZyZXNoZWQke3Npbmd1bGFyTmFtZX1gKSxcbiAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgIGV4cDoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMSW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlZnJlc2hlZFRva2VuOiB7XG4gICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwuSldULFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgIH1cblxuICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYGxvZ291dCR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICByZXNvbHZlOiBsb2dvdXQoY29sbGVjdGlvbiksXG4gICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICB9XG5cbiAgICAgIGlmICghY29uZmlnLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kpIHtcbiAgICAgICAgaWYgKGNvbmZpZy5hdXRoLm1heExvZ2luQXR0ZW1wdHMgPiAwKSB7XG4gICAgICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHVubG9jayR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICAgICAgYXJnczoge1xuICAgICAgICAgICAgICBlbWFpbDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTFN0cmluZykgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNvbHZlOiB1bmxvY2soY29sbGVjdGlvbiksXG4gICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2Bsb2dpbiR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc29sdmU6IGxvZ2luKGNvbGxlY3Rpb24pLFxuICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9TG9naW5SZXN1bHRgKSxcbiAgICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgICBleHA6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMSW50LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0b2tlbjoge1xuICAgICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSksXG4gICAgICAgIH1cblxuICAgICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgZm9yZ290UGFzc3dvcmQke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICBkaXNhYmxlRW1haWw6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMU3RyaW5nKSB9LFxuICAgICAgICAgICAgZXhwaXJhdGlvbjogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvbHZlOiBmb3Jnb3RQYXNzd29yZChjb2xsZWN0aW9uKSxcbiAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoR3JhcGhRTEJvb2xlYW4pLFxuICAgICAgICB9XG5cbiAgICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYHJlc2V0UGFzc3dvcmQke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICBwYXNzd29yZDogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgICAgICB0b2tlbjogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvbHZlOiByZXNldFBhc3N3b3JkKGNvbGxlY3Rpb24pLFxuICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICBuYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9UmVzZXRQYXNzd29yZGApLFxuICAgICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICAgIHRva2VuOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICAgICAgdXNlcjogeyB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfVxuXG4gICAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2B2ZXJpZnlFbWFpbCR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgIHRva2VuOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc29sdmU6IHZlcmlmeUVtYWlsKGNvbGxlY3Rpb24pLFxuICAgICAgICAgIHR5cGU6IEdyYXBoUUxCb29sZWFuLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KVxufVxuXG5leHBvcnQgZGVmYXVsdCBpbml0Q29sbGVjdGlvbnNHcmFwaFFMXG4iXSwibmFtZXMiOlsiaW5pdENvbGxlY3Rpb25zR3JhcGhRTCIsInBheWxvYWQiLCJPYmplY3QiLCJrZXlzIiwiY29sbGVjdGlvbnMiLCJmb3JFYWNoIiwic2x1ZyIsImNvbGxlY3Rpb24iLCJjb25maWciLCJmaWVsZHMiLCJncmFwaFFMIiwidmVyc2lvbnMiLCJzaW5ndWxhck5hbWUiLCJwbHVyYWxOYW1lIiwiZnJvbVNsdWciLCJmb3JtYXROYW1lcyIsInRvV29yZHMiLCJzaW5ndWxhciIsInBsdXJhbCIsImhhc0lERmllbGQiLCJmbGF0dGVuRmllbGRzIiwiZmluZEluZGV4IiwiZmllbGQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsImlkVHlwZSIsImdldENvbGxlY3Rpb25JRFR5cGUiLCJiYXNlRmllbGRzIiwid2hlcmVJbnB1dEZpZWxkcyIsImlkIiwidHlwZSIsInB1c2giLCJkYiIsImRlZmF1bHRJRFR5cGUiLCJmb3JjZU51bGxhYmxlT2JqZWN0VHlwZSIsIkJvb2xlYW4iLCJkcmFmdHMiLCJidWlsZE9iamVjdFR5cGUiLCJmb3JjZU51bGxhYmxlIiwicGFyZW50TmFtZSIsInBhZ2luYXRlZFR5cGUiLCJidWlsZFBhZ2luYXRlZExpc3RUeXBlIiwid2hlcmVJbnB1dFR5cGUiLCJidWlsZFdoZXJlSW5wdXRUeXBlIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwibGFiZWwiLCJyZXF1aXJlZCIsImNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlIiwiYnVpbGRNdXRhdGlvbklucHV0VHlwZSIsIm11dGF0aW9uSW5wdXRUeXBlIiwiR3JhcGhRTE5vbk51bGwiLCJ1cGRhdGVNdXRhdGlvbklucHV0VHlwZSIsImZpbHRlciIsIlF1ZXJ5IiwiYXJncyIsImRyYWZ0IiwiR3JhcGhRTEJvb2xlYW4iLCJsb2NhbGl6YXRpb24iLCJmYWxsYmFja0xvY2FsZSIsInR5cGVzIiwiZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUiLCJsb2NhbGUiLCJsb2NhbGVJbnB1dFR5cGUiLCJyZXNvbHZlIiwiZmluZEJ5SURSZXNvbHZlciIsIndoZXJlIiwibGltaXQiLCJHcmFwaFFMSW50IiwicGFnZSIsInNvcnQiLCJHcmFwaFFMU3RyaW5nIiwiZmluZFJlc29sdmVyIiwiZG9jQWNjZXNzUmVzb2x2ZXIiLCJidWlsZFBvbGljeVR5cGUiLCJlbnRpdHkiLCJzY29wZSIsInR5cGVTdWZmaXgiLCJNdXRhdGlvbiIsImRhdGEiLCJjcmVhdGVSZXNvbHZlciIsImF1dG9zYXZlIiwidXBkYXRlUmVzb2x2ZXIiLCJnZXREZWxldGVSZXNvbHZlciIsInZlcnNpb25JRFR5cGUiLCJ2ZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJ2ZXJzaW9uVHlwZSIsImZvcm1hdE5hbWUiLCJmaW5kVmVyc2lvbkJ5SURSZXNvbHZlciIsImZpbmRWZXJzaW9uc1Jlc29sdmVyIiwicmVzdG9yZVZlcnNpb25SZXNvbHZlciIsImF1dGhGaWVsZHMiLCJKV1QiLCJzYXZlVG9KV1QiLCJtZSIsIkdyYXBoUUxPYmplY3RUeXBlIiwiZXhwIiwidG9rZW4iLCJ1c2VyIiwiaW5pdCIsInJlZnJlc2giLCJyZWZyZXNoZWRUb2tlbiIsImxvZ291dCIsIm1heExvZ2luQXR0ZW1wdHMiLCJlbWFpbCIsInVubG9jayIsInBhc3N3b3JkIiwibG9naW4iLCJkaXNhYmxlRW1haWwiLCJleHBpcmF0aW9uIiwiZm9yZ290UGFzc3dvcmQiLCJyZXNldFBhc3N3b3JkIiwidmVyaWZ5RW1haWwiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQTBjcEM7OztlQUFBOzs7eUJBbmNPO3VFQU9vQjs2REFDVjs4REFDQzsrREFDQzsyREFDSjtnRUFDSztzRUFDTTsrREFDUDtvRUFDSzt1QkFDUztnRkFH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
545
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL2luaXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB7XG4gIEdyYXBoUUxCb29sZWFuLFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTm9uTnVsbCxcbiAgR3JhcGhRTE9iamVjdFR5cGUsXG4gIEdyYXBoUUxTdHJpbmcsXG59IGZyb20gJ2dyYXBocWwnXG5cbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBPYmplY3RUeXBlQ29uZmlnIH0gZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRPYmplY3RUeXBlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiwgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGZvcmdvdFBhc3N3b3JkIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvZm9yZ290UGFzc3dvcmQnXG5pbXBvcnQgaW5pdCBmcm9tICcuLi8uLi9hdXRoL2dyYXBocWwvcmVzb2x2ZXJzL2luaXQnXG5pbXBvcnQgbG9naW4gZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9sb2dpbidcbmltcG9ydCBsb2dvdXQgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9sb2dvdXQnXG5pbXBvcnQgbWUgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy9tZSdcbmltcG9ydCByZWZyZXNoIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvcmVmcmVzaCdcbmltcG9ydCByZXNldFBhc3N3b3JkIGZyb20gJy4uLy4uL2F1dGgvZ3JhcGhxbC9yZXNvbHZlcnMvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB1bmxvY2sgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy91bmxvY2snXG5pbXBvcnQgdmVyaWZ5RW1haWwgZnJvbSAnLi4vLi4vYXV0aC9ncmFwaHFsL3Jlc29sdmVycy92ZXJpZnlFbWFpbCdcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUsIHtcbiAgZ2V0Q29sbGVjdGlvbklEVHlwZSxcbn0gZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRNdXRhdGlvbklucHV0VHlwZSdcbmltcG9ydCBidWlsZE9iamVjdFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRPYmplY3RUeXBlJ1xuaW1wb3J0IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRQYWdpbmF0ZWRMaXN0VHlwZSdcbmltcG9ydCB7IGJ1aWxkUG9saWN5VHlwZSB9IGZyb20gJy4uLy4uL2dyYXBocWwvc2NoZW1hL2J1aWxkUG9saWNpZXNUeXBlJ1xuaW1wb3J0IGJ1aWxkV2hlcmVJbnB1dFR5cGUgZnJvbSAnLi4vLi4vZ3JhcGhxbC9zY2hlbWEvYnVpbGRXaGVyZUlucHV0VHlwZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uLy4uL2dyYXBocWwvdXRpbGl0aWVzL2Zvcm1hdE5hbWUnXG5pbXBvcnQgZmxhdHRlbkZpZWxkcyBmcm9tICcuLi8uLi91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzJ1xuaW1wb3J0IHsgZm9ybWF0TmFtZXMsIHRvV29yZHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZm9ybWF0TGFiZWxzJ1xuaW1wb3J0IHsgYnVpbGRWZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyB9IGZyb20gJy4uLy4uL3ZlcnNpb25zL2J1aWxkQ29sbGVjdGlvbkZpZWxkcydcbmltcG9ydCBjb3VudFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2NvdW50J1xuaW1wb3J0IGNyZWF0ZVJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2NyZWF0ZSdcbmltcG9ydCBnZXREZWxldGVSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9kZWxldGUnXG5pbXBvcnQgeyBkb2NBY2Nlc3NSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXJzL2RvY0FjY2VzcydcbmltcG9ydCBmaW5kUmVzb2x2ZXIgZnJvbSAnLi9yZXNvbHZlcnMvZmluZCdcbmltcG9ydCBmaW5kQnlJRFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2ZpbmRCeUlEJ1xuaW1wb3J0IGZpbmRWZXJzaW9uQnlJRFJlc29sdmVyIGZyb20gJy4vcmVzb2x2ZXJzL2ZpbmRWZXJzaW9uQnlJRCdcbmltcG9ydCBmaW5kVmVyc2lvbnNSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9maW5kVmVyc2lvbnMnXG5pbXBvcnQgcmVzdG9yZVZlcnNpb25SZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB1cGRhdGVSZXNvbHZlciBmcm9tICcuL3Jlc29sdmVycy91cGRhdGUnXG5cbmZ1bmN0aW9uIGluaXRDb2xsZWN0aW9uc0dyYXBoUUwocGF5bG9hZDogUGF5bG9hZCk6IHZvaWQge1xuICBPYmplY3Qua2V5cyhwYXlsb2FkLmNvbGxlY3Rpb25zKS5mb3JFYWNoKChzbHVnKSA9PiB7XG4gICAgY29uc3QgY29sbGVjdGlvbjogQ29sbGVjdGlvbiA9IHBheWxvYWQuY29sbGVjdGlvbnNbc2x1Z11cbiAgICBjb25zdCB7XG4gICAgICBjb25maWcsXG4gICAgICBjb25maWc6IHsgZmllbGRzLCBncmFwaFFMID0ge30gYXMgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1snZ3JhcGhRTCddLCB2ZXJzaW9ucyB9LFxuICAgIH0gPSBjb2xsZWN0aW9uXG5cbiAgICBpZiAoIWdyYXBoUUwpIHJldHVyblxuXG4gICAgbGV0IHNpbmd1bGFyTmFtZVxuICAgIGxldCBwbHVyYWxOYW1lXG4gICAgY29uc3QgZnJvbVNsdWcgPSBmb3JtYXROYW1lcyhjb2xsZWN0aW9uLmNvbmZpZy5zbHVnKVxuICAgIGlmIChncmFwaFFMLnNpbmd1bGFyTmFtZSkge1xuICAgICAgc2luZ3VsYXJOYW1lID0gdG9Xb3JkcyhncmFwaFFMLnNpbmd1bGFyTmFtZSwgdHJ1ZSlcbiAgICB9IGVsc2Uge1xuICAgICAgc2luZ3VsYXJOYW1lID0gZnJvbVNsdWcuc2luZ3VsYXJcbiAgICB9XG4gICAgaWYgKGdyYXBoUUwucGx1cmFsTmFtZSkge1xuICAgICAgcGx1cmFsTmFtZSA9IHRvV29yZHMoZ3JhcGhRTC5wbHVyYWxOYW1lLCB0cnVlKVxuICAgIH0gZWxzZSB7XG4gICAgICBwbHVyYWxOYW1lID0gZnJvbVNsdWcucGx1cmFsXG4gICAgfVxuXG4gICAgLy8gRm9yIGNvbGxlY3Rpb25zIG5hbWVkICdNZWRpYScgb3Igc2ltaWxhcixcbiAgICAvLyB0aGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRoYXQgdGhlIHNpbmd1bGFyIG5hbWVcbiAgICAvLyB3aWxsIGVxdWFsIHRoZSBwbHVyYWwgbmFtZS4gQXBwZW5kIGBhbGxgIHRvIHRoZSBiZWdpbm5pbmdcbiAgICAvLyBvZiBwb3RlbnRpYWwgY29uZmxpY3RzXG4gICAgaWYgKHNpbmd1bGFyTmFtZSA9PT0gcGx1cmFsTmFtZSkge1xuICAgICAgcGx1cmFsTmFtZSA9IGBhbGwke3Npbmd1bGFyTmFtZX1gXG4gICAgfVxuXG4gICAgY29sbGVjdGlvbi5ncmFwaFFMID0ge30gYXMgQ29sbGVjdGlvblsnZ3JhcGhRTCddXG5cbiAgICBjb25zdCBoYXNJREZpZWxkID1cbiAgICAgIGZsYXR0ZW5GaWVsZHMoZmllbGRzKS5maW5kSW5kZXgoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKSA+XG4gICAgICAtMVxuXG4gICAgY29uc3QgaWRUeXBlID0gZ2V0Q29sbGVjdGlvbklEVHlwZShwYXlsb2FkLCBjb25maWcpXG5cbiAgICBjb25zdCBiYXNlRmllbGRzOiBPYmplY3RUeXBlQ29uZmlnID0ge31cblxuICAgIGNvbnN0IHdoZXJlSW5wdXRGaWVsZHMgPSBbLi4uZmllbGRzXVxuXG4gICAgaWYgKCFoYXNJREZpZWxkKSB7XG4gICAgICBiYXNlRmllbGRzLmlkID0geyB0eXBlOiBpZFR5cGUgfVxuICAgICAgd2hlcmVJbnB1dEZpZWxkcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgdHlwZTogcGF5bG9hZC5kYi5kZWZhdWx0SURUeXBlIGFzICd0ZXh0JyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc3QgZm9yY2VOdWxsYWJsZU9iamVjdFR5cGUgPSBCb29sZWFuKHZlcnNpb25zPy5kcmFmdHMpXG5cbiAgICBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSA9IGJ1aWxkT2JqZWN0VHlwZSh7XG4gICAgICBuYW1lOiBzaW5ndWxhck5hbWUsXG4gICAgICBiYXNlRmllbGRzLFxuICAgICAgZmllbGRzLFxuICAgICAgZm9yY2VOdWxsYWJsZTogZm9yY2VOdWxsYWJsZU9iamVjdFR5cGUsXG4gICAgICBwYXJlbnROYW1lOiBzaW5ndWxhck5hbWUsXG4gICAgICBwYXlsb2FkLFxuICAgIH0pXG5cbiAgICBjb2xsZWN0aW9uLmdyYXBoUUwucGFnaW5hdGVkVHlwZSA9IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUocGx1cmFsTmFtZSwgY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUpXG5cbiAgICBjb2xsZWN0aW9uLmdyYXBoUUwud2hlcmVJbnB1dFR5cGUgPSBidWlsZFdoZXJlSW5wdXRUeXBlKHtcbiAgICAgIG5hbWU6IHNpbmd1bGFyTmFtZSxcbiAgICAgIGZpZWxkczogd2hlcmVJbnB1dEZpZWxkcyxcbiAgICAgIHBhcmVudE5hbWU6IHNpbmd1bGFyTmFtZSxcbiAgICAgIHBheWxvYWQsXG4gICAgfSlcblxuICAgIGlmIChjb25maWcuYXV0aCAmJiAhY29uZmlnLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kpIHtcbiAgICAgIGZpZWxkcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ3Bhc3N3b3JkJyxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICBsYWJlbDogJ1Bhc3N3b3JkJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IGNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlID0gYnVpbGRNdXRhdGlvbklucHV0VHlwZShcbiAgICAgIHBheWxvYWQsXG4gICAgICBzaW5ndWxhck5hbWUsXG4gICAgICBmaWVsZHMsXG4gICAgICBzaW5ndWxhck5hbWUsXG4gICAgKVxuICAgIGlmIChjcmVhdGVNdXRhdGlvbklucHV0VHlwZSkge1xuICAgICAgY29sbGVjdGlvbi5ncmFwaFFMLm11dGF0aW9uSW5wdXRUeXBlID0gbmV3IEdyYXBoUUxOb25OdWxsKGNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlKVxuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlID0gYnVpbGRNdXRhdGlvbklucHV0VHlwZShcbiAgICAgIHBheWxvYWQsXG4gICAgICBgJHtzaW5ndWxhck5hbWV9VXBkYXRlYCxcbiAgICAgIGZpZWxkcy5maWx0ZXIoKGZpZWxkKSA9PiAhKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpKSxcbiAgICAgIGAke3Npbmd1bGFyTmFtZX1VcGRhdGVgLFxuICAgICAgdHJ1ZSxcbiAgICApXG4gICAgaWYgKHVwZGF0ZU11dGF0aW9uSW5wdXRUeXBlKSB7XG4gICAgICBjb2xsZWN0aW9uLmdyYXBoUUwudXBkYXRlTXV0YXRpb25JbnB1dFR5cGUgPSBuZXcgR3JhcGhRTE5vbk51bGwodXBkYXRlTXV0YXRpb25JbnB1dFR5cGUpXG4gICAgfVxuXG4gICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbc2luZ3VsYXJOYW1lXSA9IHtcbiAgICAgIHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlLFxuICAgICAgYXJnczoge1xuICAgICAgICBpZDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoaWRUeXBlKSB9LFxuICAgICAgICBkcmFmdDogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGZhbGxiYWNrTG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMuZmFsbGJhY2tMb2NhbGVJbnB1dFR5cGUgfSxcbiAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogZmluZEJ5SURSZXNvbHZlcihjb2xsZWN0aW9uKSxcbiAgICB9XG5cbiAgICBwYXlsb2FkLlF1ZXJ5LmZpZWxkc1twbHVyYWxOYW1lXSA9IHtcbiAgICAgIHR5cGU6IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUocGx1cmFsTmFtZSwgY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUpLFxuICAgICAgYXJnczoge1xuICAgICAgICBkcmFmdDogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICB3aGVyZTogeyB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwud2hlcmVJbnB1dFR5cGUgfSxcbiAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgICBsaW1pdDogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgIHBhZ2U6IHsgdHlwZTogR3JhcGhRTEludCB9LFxuICAgICAgICBzb3J0OiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgIH0sXG4gICAgICByZXNvbHZlOiBmaW5kUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgfVxuXG4gICAgcGF5bG9hZC5RdWVyeS5maWVsZHNbYGNvdW50JHtwbHVyYWxOYW1lfWBdID0ge1xuICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgbmFtZTogYGNvdW50JHtwbHVyYWxOYW1lfWAsXG4gICAgICAgIGZpZWxkczoge1xuICAgICAgICAgIHRvdGFsRG9jczogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgZHJhZnQ6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgd2hlcmU6IHsgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLndoZXJlSW5wdXRUeXBlIH0sXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogY291bnRSZXNvbHZlcihjb2xsZWN0aW9uKSxcbiAgICB9XG5cbiAgICBwYXlsb2FkLlF1ZXJ5LmZpZWxkc1tgZG9jQWNjZXNzJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICB0eXBlOiBidWlsZFBvbGljeVR5cGUoe1xuICAgICAgICB0eXBlOiAnY29sbGVjdGlvbicsXG4gICAgICAgIGVudGl0eTogY29uZmlnLFxuICAgICAgICBzY29wZTogJ2RvY0FjY2VzcycsXG4gICAgICAgIHR5cGVTdWZmaXg6ICdEb2NBY2Nlc3MnLFxuICAgICAgfSksXG4gICAgICBhcmdzOiB7XG4gICAgICAgIGlkOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChpZFR5cGUpIH0sXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogZG9jQWNjZXNzUmVzb2x2ZXIoKSxcbiAgICB9XG5cbiAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgY3JlYXRlJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgIGFyZ3M6IHtcbiAgICAgICAgLi4uKGNyZWF0ZU11dGF0aW9uSW5wdXRUeXBlXG4gICAgICAgICAgPyB7IGRhdGE6IHsgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLm11dGF0aW9uSW5wdXRUeXBlIH0gfVxuICAgICAgICAgIDoge30pLFxuICAgICAgICBkcmFmdDogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge30pLFxuICAgICAgfSxcbiAgICAgIHJlc29sdmU6IGNyZWF0ZVJlc29sdmVyKGNvbGxlY3Rpb24pLFxuICAgIH1cblxuICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2B1cGRhdGUke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgIHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlLFxuICAgICAgYXJnczoge1xuICAgICAgICBpZDogeyB0eXBlOiBuZXcgR3JhcGhRTE5vbk51bGwoaWRUeXBlKSB9LFxuICAgICAgICBhdXRvc2F2ZTogeyB0eXBlOiBHcmFwaFFMQm9vbGVhbiB9LFxuICAgICAgICAuLi4odXBkYXRlTXV0YXRpb25JbnB1dFR5cGVcbiAgICAgICAgICA/IHsgZGF0YTogeyB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudXBkYXRlTXV0YXRpb25JbnB1dFR5cGUgfSB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICAgIGRyYWZ0OiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb25cbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSksXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogdXBkYXRlUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgfVxuXG4gICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYGRlbGV0ZSR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgICBhcmdzOiB7XG4gICAgICAgIGlkOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChpZFR5cGUpIH0sXG4gICAgICB9LFxuICAgICAgcmVzb2x2ZTogZ2V0RGVsZXRlUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy52ZXJzaW9ucykge1xuICAgICAgY29uc3QgdmVyc2lvbklEVHlwZSA9IHBheWxvYWQuZGIuZGVmYXVsdElEVHlwZSA9PT0gJ3RleHQnID8gR3JhcGhRTFN0cmluZyA6IEdyYXBoUUxJbnRcbiAgICAgIGNvbnN0IHZlcnNpb25Db2xsZWN0aW9uRmllbGRzOiBGaWVsZFtdID0gW1xuICAgICAgICAuLi5idWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzKGNvbmZpZyksXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnaWQnLFxuICAgICAgICAgIHR5cGU6IHBheWxvYWQuZGIuZGVmYXVsdElEVHlwZSBhcyAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnY3JlYXRlZEF0JyxcbiAgICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgICAgbGFiZWw6ICdDcmVhdGVkIEF0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICd1cGRhdGVkQXQnLFxuICAgICAgICAgIHR5cGU6ICdkYXRlJyxcbiAgICAgICAgICBsYWJlbDogJ1VwZGF0ZWQgQXQnLFxuICAgICAgICB9LFxuICAgICAgXVxuXG4gICAgICBjb2xsZWN0aW9uLmdyYXBoUUwudmVyc2lvblR5cGUgPSBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgICBuYW1lOiBgJHtzaW5ndWxhck5hbWV9VmVyc2lvbmAsXG4gICAgICAgIGZpZWxkczogdmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMsXG4gICAgICAgIGZvcmNlTnVsbGFibGU6IGZvcmNlTnVsbGFibGVPYmplY3RUeXBlLFxuICAgICAgICBwYXJlbnROYW1lOiBgJHtzaW5ndWxhck5hbWV9VmVyc2lvbmAsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICB9KVxuXG4gICAgICBwYXlsb2FkLlF1ZXJ5LmZpZWxkc1tgdmVyc2lvbiR7Zm9ybWF0TmFtZShzaW5ndWxhck5hbWUpfWBdID0ge1xuICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudmVyc2lvblR5cGUsXG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBpZDogeyB0eXBlOiB2ZXJzaW9uSURUeXBlIH0sXG4gICAgICAgICAgLi4uKHBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvblxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgZmFsbGJhY2tMb2NhbGU6IHsgdHlwZTogcGF5bG9hZC50eXBlcy5mYWxsYmFja0xvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmxvY2FsZUlucHV0VHlwZSB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzb2x2ZTogZmluZFZlcnNpb25CeUlEUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICB9XG4gICAgICBwYXlsb2FkLlF1ZXJ5LmZpZWxkc1tgdmVyc2lvbnMke3BsdXJhbE5hbWV9YF0gPSB7XG4gICAgICAgIHR5cGU6IGJ1aWxkUGFnaW5hdGVkTGlzdFR5cGUoXG4gICAgICAgICAgYHZlcnNpb25zJHtmb3JtYXROYW1lKHBsdXJhbE5hbWUpfWAsXG4gICAgICAgICAgY29sbGVjdGlvbi5ncmFwaFFMLnZlcnNpb25UeXBlLFxuICAgICAgICApLFxuICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIHR5cGU6IGJ1aWxkV2hlcmVJbnB1dFR5cGUoe1xuICAgICAgICAgICAgICBuYW1lOiBgdmVyc2lvbnMke3Npbmd1bGFyTmFtZX1gLFxuICAgICAgICAgICAgICBmaWVsZHM6IHZlcnNpb25Db2xsZWN0aW9uRmllbGRzLFxuICAgICAgICAgICAgICBwYXJlbnROYW1lOiBgdmVyc2lvbnMke3Npbmd1bGFyTmFtZX1gLFxuICAgICAgICAgICAgICBwYXlsb2FkLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgICAuLi4ocGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICBmYWxsYmFja0xvY2FsZTogeyB0eXBlOiBwYXlsb2FkLnR5cGVzLmZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICAgICAgbG9jYWxlOiB7IHR5cGU6IHBheWxvYWQudHlwZXMubG9jYWxlSW5wdXRUeXBlIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgIGxpbWl0OiB7IHR5cGU6IEdyYXBoUUxJbnQgfSxcbiAgICAgICAgICBwYWdlOiB7IHR5cGU6IEdyYXBoUUxJbnQgfSxcbiAgICAgICAgICBzb3J0OiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzb2x2ZTogZmluZFZlcnNpb25zUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICB9XG4gICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgcmVzdG9yZVZlcnNpb24ke2Zvcm1hdE5hbWUoc2luZ3VsYXJOYW1lKX1gXSA9IHtcbiAgICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICBpZDogeyB0eXBlOiB2ZXJzaW9uSURUeXBlIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlc29sdmU6IHJlc3RvcmVWZXJzaW9uUmVzb2x2ZXIoY29sbGVjdGlvbiksXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5hdXRoKSB7XG4gICAgICBjb25zdCBhdXRoRmllbGRzOiBGaWVsZFtdID0gY29uZmlnLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3lcbiAgICAgICAgPyBbXVxuICAgICAgICA6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ2VtYWlsJyxcbiAgICAgICAgICAgICAgdHlwZTogJ2VtYWlsJyxcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgIGNvbGxlY3Rpb24uZ3JhcGhRTC5KV1QgPSBidWlsZE9iamVjdFR5cGUoe1xuICAgICAgICBuYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9SldUYCksXG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgIC4uLmNvbmZpZy5maWVsZHMuZmlsdGVyKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQuc2F2ZVRvSldUKSxcbiAgICAgICAgICAuLi5hdXRoRmllbGRzLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdjb2xsZWN0aW9uJyxcbiAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBhcmVudE5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31KV1RgKSxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgIH0pXG5cbiAgICAgIHBheWxvYWQuUXVlcnkuZmllbGRzW2BtZSR7c2luZ3VsYXJOYW1lfWBdID0ge1xuICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31NZWApLFxuICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgY29sbGVjdGlvbjoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4cDoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMSW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRva2VuOiB7XG4gICAgICAgICAgICAgIHR5cGU6IEdyYXBoUUxTdHJpbmcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uLmdyYXBoUUwudHlwZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICAgIHJlc29sdmU6IG1lKGNvbGxlY3Rpb24pLFxuICAgICAgfVxuXG4gICAgICBwYXlsb2FkLlF1ZXJ5LmZpZWxkc1tgaW5pdGlhbGl6ZWQke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgdHlwZTogR3JhcGhRTEJvb2xlYW4sXG4gICAgICAgIHJlc29sdmU6IGluaXQoY29sbGVjdGlvbi5jb25maWcuc2x1ZyksXG4gICAgICB9XG5cbiAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2ByZWZyZXNoVG9rZW4ke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICBuYW1lOiBmb3JtYXROYW1lKGAke3NsdWd9UmVmcmVzaGVkJHtzaW5ndWxhck5hbWV9YCksXG4gICAgICAgICAgZmllbGRzOiB7XG4gICAgICAgICAgICBleHA6IHtcbiAgICAgICAgICAgICAgdHlwZTogR3JhcGhRTEludCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWZyZXNoZWRUb2tlbjoge1xuICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVzZXI6IHtcbiAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLkpXVCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICB0b2tlbjogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlc29sdmU6IHJlZnJlc2goY29sbGVjdGlvbiksXG4gICAgICB9XG5cbiAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2Bsb2dvdXQke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgdHlwZTogR3JhcGhRTFN0cmluZyxcbiAgICAgICAgcmVzb2x2ZTogbG9nb3V0KGNvbGxlY3Rpb24pLFxuICAgICAgfVxuXG4gICAgICBpZiAoIWNvbmZpZy5hdXRoLmRpc2FibGVMb2NhbFN0cmF0ZWd5KSB7XG4gICAgICAgIGlmIChjb25maWcuYXV0aC5tYXhMb2dpbkF0dGVtcHRzID4gMCkge1xuICAgICAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2B1bmxvY2ske3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgICAgIHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMQm9vbGVhbiksXG4gICAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMU3RyaW5nKSB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlc29sdmU6IHVubG9jayhjb2xsZWN0aW9uKSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgbG9naW4ke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTE9iamVjdFR5cGUoe1xuICAgICAgICAgICAgbmFtZTogZm9ybWF0TmFtZShgJHtzbHVnfUxvZ2luUmVzdWx0YCksXG4gICAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgICAgZXhwOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogR3JhcGhRTEludCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdG9rZW46IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBHcmFwaFFMU3RyaW5nLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbi5ncmFwaFFMLnR5cGUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc29sdmU6IGxvZ2luKGNvbGxlY3Rpb24pLFxuICAgICAgICB9XG5cbiAgICAgICAgcGF5bG9hZC5NdXRhdGlvbi5maWVsZHNbYGZvcmdvdFBhc3N3b3JkJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxOb25OdWxsKEdyYXBoUUxCb29sZWFuKSxcbiAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICBkaXNhYmxlRW1haWw6IHsgdHlwZTogR3JhcGhRTEJvb2xlYW4gfSxcbiAgICAgICAgICAgIGVtYWlsOiB7IHR5cGU6IG5ldyBHcmFwaFFMTm9uTnVsbChHcmFwaFFMU3RyaW5nKSB9LFxuICAgICAgICAgICAgZXhwaXJhdGlvbjogeyB0eXBlOiBHcmFwaFFMSW50IH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvbHZlOiBmb3Jnb3RQYXNzd29yZChjb2xsZWN0aW9uKSxcbiAgICAgICAgfVxuXG4gICAgICAgIHBheWxvYWQuTXV0YXRpb24uZmllbGRzW2ByZXNldFBhc3N3b3JkJHtzaW5ndWxhck5hbWV9YF0gPSB7XG4gICAgICAgICAgdHlwZTogbmV3IEdyYXBoUUxPYmplY3RUeXBlKHtcbiAgICAgICAgICAgIG5hbWU6IGZvcm1hdE5hbWUoYCR7c2x1Z31SZXNldFBhc3N3b3JkYCksXG4gICAgICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICAgICAgdG9rZW46IHsgdHlwZTogR3JhcGhRTFN0cmluZyB9LFxuICAgICAgICAgICAgICB1c2VyOiB7IHR5cGU6IGNvbGxlY3Rpb24uZ3JhcGhRTC50eXBlIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGFyZ3M6IHtcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICAgIHRva2VuOiB7IHR5cGU6IEdyYXBoUUxTdHJpbmcgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc29sdmU6IHJlc2V0UGFzc3dvcmQoY29sbGVjdGlvbiksXG4gICAgICAgIH1cblxuICAgICAgICBwYXlsb2FkLk11dGF0aW9uLmZpZWxkc1tgdmVyaWZ5RW1haWwke3Npbmd1bGFyTmFtZX1gXSA9IHtcbiAgICAgICAgICB0eXBlOiBHcmFwaFFMQm9vbGVhbixcbiAgICAgICAgICBhcmdzOiB7XG4gICAgICAgICAgICB0b2tlbjogeyB0eXBlOiBHcmFwaFFMU3RyaW5nIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvbHZlOiB2ZXJpZnlFbWFpbChjb2xsZWN0aW9uKSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgaW5pdENvbGxlY3Rpb25zR3JhcGhRTFxuIl0sIm5hbWVzIjpbImluaXRDb2xsZWN0aW9uc0dyYXBoUUwiLCJwYXlsb2FkIiwiT2JqZWN0Iiwia2V5cyIsImNvbGxlY3Rpb25zIiwiZm9yRWFjaCIsInNsdWciLCJjb2xsZWN0aW9uIiwiY29uZmlnIiwiZmllbGRzIiwiZ3JhcGhRTCIsInZlcnNpb25zIiwic2luZ3VsYXJOYW1lIiwicGx1cmFsTmFtZSIsImZyb21TbHVnIiwiZm9ybWF0TmFtZXMiLCJ0b1dvcmRzIiwic2luZ3VsYXIiLCJwbHVyYWwiLCJoYXNJREZpZWxkIiwiZmxhdHRlbkZpZWxkcyIsImZpbmRJbmRleCIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsIm5hbWUiLCJpZFR5cGUiLCJnZXRDb2xsZWN0aW9uSURUeXBlIiwiYmFzZUZpZWxkcyIsIndoZXJlSW5wdXRGaWVsZHMiLCJpZCIsInR5cGUiLCJwdXNoIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwiZm9yY2VOdWxsYWJsZU9iamVjdFR5cGUiLCJCb29sZWFuIiwiZHJhZnRzIiwiYnVpbGRPYmplY3RUeXBlIiwiZm9yY2VOdWxsYWJsZSIsInBhcmVudE5hbWUiLCJwYWdpbmF0ZWRUeXBlIiwiYnVpbGRQYWdpbmF0ZWRMaXN0VHlwZSIsIndoZXJlSW5wdXRUeXBlIiwiYnVpbGRXaGVyZUlucHV0VHlwZSIsImF1dGgiLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsImxhYmVsIiwicmVxdWlyZWQiLCJjcmVhdGVNdXRhdGlvbklucHV0VHlwZSIsImJ1aWxkTXV0YXRpb25JbnB1dFR5cGUiLCJtdXRhdGlvbklucHV0VHlwZSIsIkdyYXBoUUxOb25OdWxsIiwidXBkYXRlTXV0YXRpb25JbnB1dFR5cGUiLCJmaWx0ZXIiLCJRdWVyeSIsImFyZ3MiLCJkcmFmdCIsIkdyYXBoUUxCb29sZWFuIiwibG9jYWxpemF0aW9uIiwiZmFsbGJhY2tMb2NhbGUiLCJ0eXBlcyIsImZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlIiwibG9jYWxlIiwibG9jYWxlSW5wdXRUeXBlIiwicmVzb2x2ZSIsImZpbmRCeUlEUmVzb2x2ZXIiLCJ3aGVyZSIsImxpbWl0IiwiR3JhcGhRTEludCIsInBhZ2UiLCJzb3J0IiwiR3JhcGhRTFN0cmluZyIsImZpbmRSZXNvbHZlciIsIkdyYXBoUUxPYmplY3RUeXBlIiwidG90YWxEb2NzIiwiY291bnRSZXNvbHZlciIsImJ1aWxkUG9saWN5VHlwZSIsImVudGl0eSIsInNjb3BlIiwidHlwZVN1ZmZpeCIsImRvY0FjY2Vzc1Jlc29sdmVyIiwiTXV0YXRpb24iLCJkYXRhIiwiY3JlYXRlUmVzb2x2ZXIiLCJhdXRvc2F2ZSIsInVwZGF0ZVJlc29sdmVyIiwiZ2V0RGVsZXRlUmVzb2x2ZXIiLCJ2ZXJzaW9uSURUeXBlIiwidmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIiwidmVyc2lvblR5cGUiLCJmb3JtYXROYW1lIiwiZmluZFZlcnNpb25CeUlEUmVzb2x2ZXIiLCJmaW5kVmVyc2lvbnNSZXNvbHZlciIsInJlc3RvcmVWZXJzaW9uUmVzb2x2ZXIiLCJhdXRoRmllbGRzIiwiSldUIiwic2F2ZVRvSldUIiwiZXhwIiwidG9rZW4iLCJ1c2VyIiwibWUiLCJpbml0IiwicmVmcmVzaGVkVG9rZW4iLCJyZWZyZXNoIiwibG9nb3V0IiwibWF4TG9naW5BdHRlbXB0cyIsImVtYWlsIiwidW5sb2NrIiwicGFzc3dvcmQiLCJsb2dpbiIsImRpc2FibGVFbWFpbCIsImV4cGlyYXRpb24iLCJmb3Jnb3RQYXNzd29yZCIsInJlc2V0UGFzc3dvcmQiLCJ2ZXJpZnlFbWFpbCJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQThk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
@@ -0,0 +1,15 @@
1
+ import type { PayloadRequest } from '../../../express/types';
2
+ import type { Where } from '../../../types';
3
+ import type { Collection } from '../../config/types';
4
+ export type Resolver = (_: unknown, args: {
5
+ data: Record<string, unknown>;
6
+ locale?: string;
7
+ where?: Where;
8
+ }, context: {
9
+ req: PayloadRequest;
10
+ res: Response;
11
+ }) => Promise<{
12
+ totalDocs: number;
13
+ }>;
14
+ export default function findResolver(collection: Collection): Resolver;
15
+ //# sourceMappingURL=count.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../../src/collections/graphql/resolvers/count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAKpD,MAAM,MAAM,QAAQ,GAAG,CACrB,CAAC,EAAE,OAAO,EACV,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,EACD,OAAO,EAAE;IACP,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;CACd,KACE,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEnC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ,CAmBrE"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return findResolver;
9
+ }
10
+ });
11
+ const _isolateObjectProperty = /*#__PURE__*/ _interop_require_default(require("../../../utilities/isolateObjectProperty"));
12
+ const _count = /*#__PURE__*/ _interop_require_default(require("../../operations/count"));
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ function findResolver(collection) {
19
+ return async function resolver(_, args, context) {
20
+ let { req } = context;
21
+ const locale = req.locale;
22
+ const fallbackLocale = req.fallbackLocale;
23
+ req = (0, _isolateObjectProperty.default)(req, 'locale');
24
+ req = (0, _isolateObjectProperty.default)(req, 'fallbackLocale');
25
+ req.locale = args.locale || locale;
26
+ req.fallbackLocale = fallbackLocale;
27
+ const options = {
28
+ collection,
29
+ req: (0, _isolateObjectProperty.default)(req, 'transactionID'),
30
+ where: args.where
31
+ };
32
+ const results = await (0, _count.default)(options);
33
+ return results;
34
+ };
35
+ }
36
+
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL3Jlc29sdmVycy9jb3VudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZXhwcmVzcy90eXBlcydcbmltcG9ydCB0eXBlIHsgV2hlcmUgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcydcblxuaW1wb3J0IGlzb2xhdGVPYmplY3RQcm9wZXJ0eSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvaXNvbGF0ZU9iamVjdFByb3BlcnR5J1xuaW1wb3J0IGNvdW50IGZyb20gJy4uLy4uL29wZXJhdGlvbnMvY291bnQnXG5cbmV4cG9ydCB0eXBlIFJlc29sdmVyID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICBsb2NhbGU/OiBzdHJpbmdcbiAgICB3aGVyZT86IFdoZXJlXG4gIH0sXG4gIGNvbnRleHQ6IHtcbiAgICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gICAgcmVzOiBSZXNwb25zZVxuICB9LFxuKSA9PiBQcm9taXNlPHsgdG90YWxEb2NzOiBudW1iZXIgfT5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZmluZFJlc29sdmVyKGNvbGxlY3Rpb246IENvbGxlY3Rpb24pOiBSZXNvbHZlciB7XG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiByZXNvbHZlcihfLCBhcmdzLCBjb250ZXh0KSB7XG4gICAgbGV0IHsgcmVxIH0gPSBjb250ZXh0XG4gICAgY29uc3QgbG9jYWxlID0gcmVxLmxvY2FsZVxuICAgIGNvbnN0IGZhbGxiYWNrTG9jYWxlID0gcmVxLmZhbGxiYWNrTG9jYWxlXG4gICAgcmVxID0gaXNvbGF0ZU9iamVjdFByb3BlcnR5KHJlcSwgJ2xvY2FsZScpXG4gICAgcmVxID0gaXNvbGF0ZU9iamVjdFByb3BlcnR5KHJlcSwgJ2ZhbGxiYWNrTG9jYWxlJylcbiAgICByZXEubG9jYWxlID0gYXJncy5sb2NhbGUgfHwgbG9jYWxlXG4gICAgcmVxLmZhbGxiYWNrTG9jYWxlID0gZmFsbGJhY2tMb2NhbGVcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBjb2xsZWN0aW9uLFxuICAgICAgcmVxOiBpc29sYXRlT2JqZWN0UHJvcGVydHk8UGF5bG9hZFJlcXVlc3Q+KHJlcSwgJ3RyYW5zYWN0aW9uSUQnKSxcbiAgICAgIHdoZXJlOiBhcmdzLndoZXJlLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBjb3VudChvcHRpb25zKVxuICAgIHJldHVybiByZXN1bHRzXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJmaW5kUmVzb2x2ZXIiLCJjb2xsZWN0aW9uIiwicmVzb2x2ZXIiLCJfIiwiYXJncyIsImNvbnRleHQiLCJyZXEiLCJsb2NhbGUiLCJmYWxsYmFja0xvY2FsZSIsImlzb2xhdGVPYmplY3RQcm9wZXJ0eSIsIm9wdGlvbnMiLCJ3aGVyZSIsInJlc3VsdHMiLCJjb3VudCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFvQkE7OztlQUF3QkE7Ozs4RUFoQlU7OERBQ2hCOzs7Ozs7QUFlSCxTQUFTQSxhQUFhQyxVQUFzQjtJQUN6RCxPQUFPLGVBQWVDLFNBQVNDLENBQUMsRUFBRUMsSUFBSSxFQUFFQyxPQUFPO1FBQzdDLElBQUksRUFBRUMsR0FBRyxFQUFFLEdBQUdEO1FBQ2QsTUFBTUUsU0FBU0QsSUFBSUMsTUFBTTtRQUN6QixNQUFNQyxpQkFBaUJGLElBQUlFLGNBQWM7UUFDekNGLE1BQU1HLElBQUFBLDhCQUFxQixFQUFDSCxLQUFLO1FBQ2pDQSxNQUFNRyxJQUFBQSw4QkFBcUIsRUFBQ0gsS0FBSztRQUNqQ0EsSUFBSUMsTUFBTSxHQUFHSCxLQUFLRyxNQUFNLElBQUlBO1FBQzVCRCxJQUFJRSxjQUFjLEdBQUdBO1FBRXJCLE1BQU1FLFVBQVU7WUFDZFQ7WUFDQUssS0FBS0csSUFBQUEsOEJBQXFCLEVBQWlCSCxLQUFLO1lBQ2hESyxPQUFPUCxLQUFLTyxLQUFLO1FBQ25CO1FBRUEsTUFBTUMsVUFBVSxNQUFNQyxJQUFBQSxjQUFLLEVBQUNIO1FBQzVCLE9BQU9FO0lBQ1Q7QUFDRiJ9
@@ -33,4 +33,4 @@ function createResolver(collection) {
33
33
  };
34
34
  }
35
35
 
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL3Jlc29sdmVycy9jcmVhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJ1xuaW1wb3J0IHR5cGUgeyBNYXJrT3B0aW9uYWwgfSBmcm9tICd0cy1lc3NlbnRpYWxzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBpc29sYXRlT2JqZWN0UHJvcGVydHkgZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2lzb2xhdGVPYmplY3RQcm9wZXJ0eSdcbmltcG9ydCBjcmVhdGUgZnJvbSAnLi4vLi4vb3BlcmF0aW9ucy9jcmVhdGUnXG5cbmV4cG9ydCB0eXBlIFJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+ID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgZGF0YTogTWFya09wdGlvbmFsPFxuICAgICAgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddLFxuICAgICAgJ2NyZWF0ZWRBdCcgfCAnaWQnIHwgJ3NpemVzJyB8ICd1cGRhdGVkQXQnXG4gICAgPlxuICAgIGRyYWZ0OiBib29sZWFuXG4gICAgbG9jYWxlPzogc3RyaW5nXG4gIH0sXG4gIGNvbnRleHQ6IHtcbiAgICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gICAgcmVzOiBSZXNwb25zZVxuICB9LFxuKSA9PiBQcm9taXNlPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVzb2x2ZXI8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb24sXG4pOiBSZXNvbHZlcjxUU2x1Zz4ge1xuICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZXIoXywgYXJncywgY29udGV4dCkge1xuICAgIGxldCB7IHJlcSB9ID0gY29udGV4dFxuICAgIGNvbnN0IGxvY2FsZSA9IHJlcS5sb2NhbGVcbiAgICByZXEgPSBpc29sYXRlT2JqZWN0UHJvcGVydHkocmVxLCAnbG9jYWxlJylcbiAgICByZXEubG9jYWxlID0gYXJncy5sb2NhbGUgfHwgbG9jYWxlXG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGRhdGE6IGFyZ3MuZGF0YSxcbiAgICAgIGRlcHRoOiAwLFxuICAgICAgZHJhZnQ6IGFyZ3MuZHJhZnQsXG4gICAgICByZXE6IGlzb2xhdGVPYmplY3RQcm9wZXJ0eTxQYXlsb2FkUmVxdWVzdD4ocmVxLCAndHJhbnNhY3Rpb25JRCcpLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNyZWF0ZShvcHRpb25zKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUmVzb2x2ZXIiLCJjb2xsZWN0aW9uIiwicmVzb2x2ZXIiLCJfIiwiYXJncyIsImNvbnRleHQiLCJyZXEiLCJsb2NhbGUiLCJpc29sYXRlT2JqZWN0UHJvcGVydHkiLCJvcHRpb25zIiwiZGF0YSIsImRlcHRoIiwiZHJhZnQiLCJyZXN1bHQiLCJjcmVhdGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBMkJwQzs7O2VBQXdCQTs7OzhFQW5CVTsrREFDZjs7Ozs7O0FBa0JKLFNBQVNBLGVBQ3RCQyxVQUFzQjtJQUV0QixPQUFPLGVBQWVDLFNBQVNDLENBQUMsRUFBRUMsSUFBSSxFQUFFQyxPQUFPO1FBQzdDLElBQUksRUFBRUMsR0FBRyxFQUFFLEdBQUdEO1FBQ2QsTUFBTUUsU0FBU0QsSUFBSUMsTUFBTTtRQUN6QkQsTUFBTUUsSUFBQUEsOEJBQXFCLEVBQUNGLEtBQUs7UUFDakNBLElBQUlDLE1BQU0sR0FBR0gsS0FBS0csTUFBTSxJQUFJQTtRQUU1QixNQUFNRSxVQUFVO1lBQ2RSO1lBQ0FTLE1BQU1OLEtBQUtNLElBQUk7WUFDZkMsT0FBTztZQUNQQyxPQUFPUixLQUFLUSxLQUFLO1lBQ2pCTixLQUFLRSxJQUFBQSw4QkFBcUIsRUFBaUJGLEtBQUs7UUFDbEQ7UUFFQSxNQUFNTyxTQUFTLE1BQU1DLElBQUFBLGVBQU0sRUFBQ0w7UUFFNUIsT0FBT0k7SUFDVDtBQUNGIn0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL3Jlc29sdmVycy9jcmVhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJ1xuaW1wb3J0IHR5cGUgeyBNYXJrT3B0aW9uYWwgfSBmcm9tICd0cy1lc3NlbnRpYWxzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBpc29sYXRlT2JqZWN0UHJvcGVydHkgZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2lzb2xhdGVPYmplY3RQcm9wZXJ0eSdcbmltcG9ydCBjcmVhdGUgZnJvbSAnLi4vLi4vb3BlcmF0aW9ucy9jcmVhdGUnXG5cbmV4cG9ydCB0eXBlIFJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+ID0gKFxuICBfOiB1bmtub3duLFxuICBhcmdzOiB7XG4gICAgZGF0YTogTWFya09wdGlvbmFsPFxuICAgICAgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVFNsdWddLFxuICAgICAgJ2NyZWF0ZWRBdCcgfCAnaWQnIHwgJ3NpemVzJyB8ICd1cGRhdGVkQXQnXG4gICAgPlxuICAgIGRyYWZ0OiBib29sZWFuXG4gICAgbG9jYWxlPzogc3RyaW5nXG4gIH0sXG4gIGNvbnRleHQ6IHtcbiAgICByZXE6IFBheWxvYWRSZXF1ZXN0XG4gICAgcmVzOiBSZXNwb25zZVxuICB9LFxuKSA9PiBQcm9taXNlPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RTbHVnXT5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlUmVzb2x2ZXI8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb24sXG4pOiBSZXNvbHZlcjxUU2x1Zz4ge1xuICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZXIoXywgYXJncywgY29udGV4dCkge1xuICAgIGxldCB7IHJlcSB9ID0gY29udGV4dFxuICAgIGNvbnN0IGxvY2FsZSA9IHJlcS5sb2NhbGVcbiAgICByZXEgPSBpc29sYXRlT2JqZWN0UHJvcGVydHkocmVxLCAnbG9jYWxlJylcbiAgICByZXEubG9jYWxlID0gYXJncy5sb2NhbGUgfHwgbG9jYWxlXG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGRhdGE6IGFyZ3MuZGF0YSxcbiAgICAgIGRlcHRoOiAwLFxuICAgICAgZHJhZnQ6IGFyZ3MuZHJhZnQsXG4gICAgICByZXE6IGlzb2xhdGVPYmplY3RQcm9wZXJ0eTxQYXlsb2FkUmVxdWVzdD4ocmVxLCAndHJhbnNhY3Rpb25JRCcpLFxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNyZWF0ZShvcHRpb25zKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUmVzb2x2ZXIiLCJjb2xsZWN0aW9uIiwicmVzb2x2ZXIiLCJfIiwiYXJncyIsImNvbnRleHQiLCJyZXEiLCJsb2NhbGUiLCJpc29sYXRlT2JqZWN0UHJvcGVydHkiLCJvcHRpb25zIiwiZGF0YSIsImRlcHRoIiwiZHJhZnQiLCJyZXN1bHQiLCJjcmVhdGUiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkEyQnBDOzs7ZUFBd0JBOzs7OEVBbkJVOytEQUNmOzs7Ozs7QUFrQkosU0FBU0EsZUFDdEJDLFVBQXNCO0lBRXRCLE9BQU8sZUFBZUMsU0FBU0MsQ0FBQyxFQUFFQyxJQUFJLEVBQUVDLE9BQU87UUFDN0MsSUFBSSxFQUFFQyxHQUFHLEVBQUUsR0FBR0Q7UUFDZCxNQUFNRSxTQUFTRCxJQUFJQyxNQUFNO1FBQ3pCRCxNQUFNRSxJQUFBQSw4QkFBcUIsRUFBQ0YsS0FBSztRQUNqQ0EsSUFBSUMsTUFBTSxHQUFHSCxLQUFLRyxNQUFNLElBQUlBO1FBRTVCLE1BQU1FLFVBQVU7WUFDZFI7WUFDQVMsTUFBTU4sS0FBS00sSUFBSTtZQUNmQyxPQUFPO1lBQ1BDLE9BQU9SLEtBQUtRLEtBQUs7WUFDakJOLEtBQUtFLElBQUFBLDhCQUFxQixFQUFpQkYsS0FBSztRQUNsRDtRQUVBLE1BQU1PLFNBQVMsTUFBTUMsSUFBQUEsZUFBTSxFQUFDTDtRQUU1QixPQUFPSTtJQUNUO0FBQ0YifQ==
@@ -36,4 +36,4 @@ function getDeleteResolver(collection) {
36
36
  return resolver;
37
37
  }
38
38
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL3Jlc29sdmVycy9kZWxldGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBpc29sYXRlT2JqZWN0UHJvcGVydHkgZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2lzb2xhdGVPYmplY3RQcm9wZXJ0eSdcbmltcG9ydCBkZWxldGVCeUlEIGZyb20gJy4uLy4uL29wZXJhdGlvbnMvZGVsZXRlQnlJRCdcblxuZXhwb3J0IHR5cGUgUmVzb2x2ZXI8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4gPSAoXG4gIF86IHVua25vd24sXG4gIGFyZ3M6IHtcbiAgICBmYWxsYmFja0xvY2FsZT86IHN0cmluZ1xuICAgIGxvY2FsZT86IHN0cmluZ1xuICB9LFxuICBjb250ZXh0OiB7XG4gICAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIHJlczogUmVzcG9uc2VcbiAgfSxcbikgPT4gUHJvbWlzZTxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERlbGV0ZVJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uLFxuKTogUmVzb2x2ZXI8VFNsdWc+IHtcbiAgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZXIoXywgYXJncywgY29udGV4dCkge1xuICAgIGxldCB7IHJlcSB9ID0gY29udGV4dFxuICAgIGNvbnN0IGxvY2FsZSA9IHJlcS5sb2NhbGVcbiAgICBjb25zdCBmYWxsYmFja0xvY2FsZSA9IHJlcS5mYWxsYmFja0xvY2FsZVxuICAgIHJlcSA9IGlzb2xhdGVPYmplY3RQcm9wZXJ0eShyZXEsICdsb2NhbGUnKVxuICAgIHJlcSA9IGlzb2xhdGVPYmplY3RQcm9wZXJ0eShyZXEsICdmYWxsYmFja0xvY2FsZScpXG4gICAgcmVxLmxvY2FsZSA9IGFyZ3MubG9jYWxlIHx8IGxvY2FsZVxuICAgIHJlcS5mYWxsYmFja0xvY2FsZSA9IGFyZ3MuZmFsbGJhY2tMb2NhbGUgfHwgZmFsbGJhY2tMb2NhbGVcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBpZDogYXJncy5pZCxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBkZXB0aDogMCxcbiAgICAgIHJlcTogaXNvbGF0ZU9iamVjdFByb3BlcnR5PFBheWxvYWRSZXF1ZXN0PihyZXEsICd0cmFuc2FjdGlvbklEJyksXG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZGVsZXRlQnlJRChvcHRpb25zKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVyXG59XG4iXSwibmFtZXMiOlsiZ2V0RGVsZXRlUmVzb2x2ZXIiLCJjb2xsZWN0aW9uIiwicmVzb2x2ZXIiLCJfIiwiYXJncyIsImNvbnRleHQiLCJyZXEiLCJsb2NhbGUiLCJmYWxsYmFja0xvY2FsZSIsImlzb2xhdGVPYmplY3RQcm9wZXJ0eSIsIm9wdGlvbnMiLCJpZCIsImRlcHRoIiwicmVzdWx0IiwiZGVsZXRlQnlJRCJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkFzQnBDOzs7ZUFBd0JBOzs7OEVBZlU7bUVBQ1g7Ozs7OztBQWNSLFNBQVNBLGtCQUN0QkMsVUFBc0I7SUFFdEIsZUFBZUMsU0FBU0MsQ0FBQyxFQUFFQyxJQUFJLEVBQUVDLE9BQU87UUFDdEMsSUFBSSxFQUFFQyxHQUFHLEVBQUUsR0FBR0Q7UUFDZCxNQUFNRSxTQUFTRCxJQUFJQyxNQUFNO1FBQ3pCLE1BQU1DLGlCQUFpQkYsSUFBSUUsY0FBYztRQUN6Q0YsTUFBTUcsSUFBQUEsOEJBQXFCLEVBQUNILEtBQUs7UUFDakNBLE1BQU1HLElBQUFBLDhCQUFxQixFQUFDSCxLQUFLO1FBQ2pDQSxJQUFJQyxNQUFNLEdBQUdILEtBQUtHLE1BQU0sSUFBSUE7UUFDNUJELElBQUlFLGNBQWMsR0FBR0osS0FBS0ksY0FBYyxJQUFJQTtRQUU1QyxNQUFNRSxVQUFVO1lBQ2RDLElBQUlQLEtBQUtPLEVBQUU7WUFDWFY7WUFDQVcsT0FBTztZQUNQTixLQUFLRyxJQUFBQSw4QkFBcUIsRUFBaUJILEtBQUs7UUFDbEQ7UUFFQSxNQUFNTyxTQUFTLE1BQU1DLElBQUFBLG1CQUFVLEVBQUNKO1FBRWhDLE9BQU9HO0lBQ1Q7SUFFQSxPQUFPWDtBQUNUIn0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9ncmFwaHFsL3Jlc29sdmVycy9kZWxldGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJ1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyYXRlZFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCBpc29sYXRlT2JqZWN0UHJvcGVydHkgZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2lzb2xhdGVPYmplY3RQcm9wZXJ0eSdcbmltcG9ydCBkZWxldGVCeUlEIGZyb20gJy4uLy4uL29wZXJhdGlvbnMvZGVsZXRlQnlJRCdcblxuZXhwb3J0IHR5cGUgUmVzb2x2ZXI8VFNsdWcgZXh0ZW5kcyBrZXlvZiBHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4gPSAoXG4gIF86IHVua25vd24sXG4gIGFyZ3M6IHtcbiAgICBmYWxsYmFja0xvY2FsZT86IHN0cmluZ1xuICAgIGxvY2FsZT86IHN0cmluZ1xuICB9LFxuICBjb250ZXh0OiB7XG4gICAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICAgIHJlczogUmVzcG9uc2VcbiAgfSxcbikgPT4gUHJvbWlzZTxHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUU2x1Z10+XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldERlbGV0ZVJlc29sdmVyPFRTbHVnIGV4dGVuZHMga2V5b2YgR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICBjb2xsZWN0aW9uOiBDb2xsZWN0aW9uLFxuKTogUmVzb2x2ZXI8VFNsdWc+IHtcbiAgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZXIoXywgYXJncywgY29udGV4dCkge1xuICAgIGxldCB7IHJlcSB9ID0gY29udGV4dFxuICAgIGNvbnN0IGxvY2FsZSA9IHJlcS5sb2NhbGVcbiAgICBjb25zdCBmYWxsYmFja0xvY2FsZSA9IHJlcS5mYWxsYmFja0xvY2FsZVxuICAgIHJlcSA9IGlzb2xhdGVPYmplY3RQcm9wZXJ0eShyZXEsICdsb2NhbGUnKVxuICAgIHJlcSA9IGlzb2xhdGVPYmplY3RQcm9wZXJ0eShyZXEsICdmYWxsYmFja0xvY2FsZScpXG4gICAgcmVxLmxvY2FsZSA9IGFyZ3MubG9jYWxlIHx8IGxvY2FsZVxuICAgIHJlcS5mYWxsYmFja0xvY2FsZSA9IGFyZ3MuZmFsbGJhY2tMb2NhbGUgfHwgZmFsbGJhY2tMb2NhbGVcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICBpZDogYXJncy5pZCxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBkZXB0aDogMCxcbiAgICAgIHJlcTogaXNvbGF0ZU9iamVjdFByb3BlcnR5PFBheWxvYWRSZXF1ZXN0PihyZXEsICd0cmFuc2FjdGlvbklEJyksXG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZGVsZXRlQnlJRChvcHRpb25zKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgcmV0dXJuIHJlc29sdmVyXG59XG4iXSwibmFtZXMiOlsiZ2V0RGVsZXRlUmVzb2x2ZXIiLCJjb2xsZWN0aW9uIiwicmVzb2x2ZXIiLCJfIiwiYXJncyIsImNvbnRleHQiLCJyZXEiLCJsb2NhbGUiLCJmYWxsYmFja0xvY2FsZSIsImlzb2xhdGVPYmplY3RQcm9wZXJ0eSIsIm9wdGlvbnMiLCJpZCIsImRlcHRoIiwicmVzdWx0IiwiZGVsZXRlQnlJRCJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQXNCcEM7OztlQUF3QkE7Ozs4RUFmVTttRUFDWDs7Ozs7O0FBY1IsU0FBU0Esa0JBQ3RCQyxVQUFzQjtJQUV0QixlQUFlQyxTQUFTQyxDQUFDLEVBQUVDLElBQUksRUFBRUMsT0FBTztRQUN0QyxJQUFJLEVBQUVDLEdBQUcsRUFBRSxHQUFHRDtRQUNkLE1BQU1FLFNBQVNELElBQUlDLE1BQU07UUFDekIsTUFBTUMsaUJBQWlCRixJQUFJRSxjQUFjO1FBQ3pDRixNQUFNRyxJQUFBQSw4QkFBcUIsRUFBQ0gsS0FBSztRQUNqQ0EsTUFBTUcsSUFBQUEsOEJBQXFCLEVBQUNILEtBQUs7UUFDakNBLElBQUlDLE1BQU0sR0FBR0gsS0FBS0csTUFBTSxJQUFJQTtRQUM1QkQsSUFBSUUsY0FBYyxHQUFHSixLQUFLSSxjQUFjLElBQUlBO1FBRTVDLE1BQU1FLFVBQVU7WUFDZEMsSUFBSVAsS0FBS08sRUFBRTtZQUNYVjtZQUNBVyxPQUFPO1lBQ1BOLEtBQUtHLElBQUFBLDhCQUFxQixFQUFpQkgsS0FBSztRQUNsRDtRQUVBLE1BQU1PLFNBQVMsTUFBTUMsSUFBQUEsbUJBQVUsRUFBQ0o7UUFFaEMsT0FBT0c7SUFDVDtJQUVBLE9BQU9YO0FBQ1QifQ==