payload 2.10.1 → 2.11.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 (220) hide show
  1. package/components/elements.js +29 -29
  2. package/components/fields/Blocks.js +4 -4
  3. package/components/forms.js +62 -62
  4. package/components/hooks.js +15 -13
  5. package/components/index.js +1 -1
  6. package/components/utilities.d.ts +1 -0
  7. package/components/utilities.js +8 -4
  8. package/components.js +16 -16
  9. package/config.js +7 -7
  10. package/database.js +10 -10
  11. package/dist/admin/components/elements/ArrayAction/index.js +4 -2
  12. package/dist/admin/components/elements/Autosave/index.js +4 -2
  13. package/dist/admin/components/elements/Button/index.js +4 -2
  14. package/dist/admin/components/elements/CodeEditor/index.js +4 -2
  15. package/dist/admin/components/elements/Collapsible/index.d.ts.map +1 -1
  16. package/dist/admin/components/elements/Collapsible/index.js +18 -9
  17. package/dist/admin/components/elements/Collapsible/provider.d.ts +10 -3
  18. package/dist/admin/components/elements/Collapsible/provider.d.ts.map +1 -1
  19. package/dist/admin/components/elements/Collapsible/provider.js +27 -9
  20. package/dist/admin/components/elements/ColumnSelector/index.js +4 -2
  21. package/dist/admin/components/elements/CopyToClipboard/index.js +4 -2
  22. package/dist/admin/components/elements/DatePicker/DatePicker.js +4 -2
  23. package/dist/admin/components/elements/DatePicker/index.js +4 -2
  24. package/dist/admin/components/elements/DeleteDocument/index.js +4 -2
  25. package/dist/admin/components/elements/DeleteMany/index.js +4 -2
  26. package/dist/admin/components/elements/DocumentControls/index.js +6 -4
  27. package/dist/admin/components/elements/DocumentDrawer/DrawerContent.js +4 -2
  28. package/dist/admin/components/elements/DocumentDrawer/index.js +8 -6
  29. package/dist/admin/components/elements/DocumentHeader/Tabs/Tab/index.js +5 -3
  30. package/dist/admin/components/elements/DocumentHeader/index.js +4 -2
  31. package/dist/admin/components/elements/DraggableSortable/DraggableSortableItem/index.js +4 -2
  32. package/dist/admin/components/elements/DraggableSortable/index.js +4 -2
  33. package/dist/admin/components/elements/Drawer/index.js +8 -6
  34. package/dist/admin/components/elements/DuplicateDocument/index.js +4 -2
  35. package/dist/admin/components/elements/EditMany/index.js +4 -2
  36. package/dist/admin/components/elements/EditUpload/index.js +4 -2
  37. package/dist/admin/components/elements/FieldSelect/index.js +4 -2
  38. package/dist/admin/components/elements/FileDetails/Meta/index.js +5 -3
  39. package/dist/admin/components/elements/Gutter/index.js +4 -2
  40. package/dist/admin/components/elements/Header/index.js +4 -2
  41. package/dist/admin/components/elements/IDLabel/index.js +2 -2
  42. package/dist/admin/components/elements/ListControls/index.js +4 -2
  43. package/dist/admin/components/elements/ListDrawer/DrawerContent.js +4 -2
  44. package/dist/admin/components/elements/ListDrawer/index.js +10 -8
  45. package/dist/admin/components/elements/ListSelection/index.js +4 -2
  46. package/dist/admin/components/elements/Loading/index.js +4 -4
  47. package/dist/admin/components/elements/Localizer/LocalizerLabel/index.js +3 -3
  48. package/dist/admin/components/elements/Localizer/index.js +4 -2
  49. package/dist/admin/components/elements/Nav/context.js +7 -5
  50. package/dist/admin/components/elements/Nav/index.js +4 -2
  51. package/dist/admin/components/elements/NavGroup/index.js +4 -2
  52. package/dist/admin/components/elements/PerPage/index.js +6 -4
  53. package/dist/admin/components/elements/Popup/PopupButtonList/index.js +7 -5
  54. package/dist/admin/components/elements/Popup/index.js +4 -2
  55. package/dist/admin/components/elements/PreviewButton/index.js +4 -2
  56. package/dist/admin/components/elements/PreviewSizes/index.js +4 -2
  57. package/dist/admin/components/elements/Publish/index.js +4 -2
  58. package/dist/admin/components/elements/PublishMany/index.js +4 -2
  59. package/dist/admin/components/elements/Save/index.js +4 -2
  60. package/dist/admin/components/elements/SaveDraft/index.js +4 -2
  61. package/dist/admin/components/elements/SearchFilter/index.js +4 -2
  62. package/dist/admin/components/elements/ShimmerEffect/index.js +4 -2
  63. package/dist/admin/components/elements/SortColumn/index.js +4 -2
  64. package/dist/admin/components/elements/SortComplex/index.js +4 -2
  65. package/dist/admin/components/elements/Status/index.js +7 -5
  66. package/dist/admin/components/elements/StepNav/index.js +7 -5
  67. package/dist/admin/components/elements/TableColumns/index.js +7 -5
  68. package/dist/admin/components/elements/Thumbnail/index.js +4 -2
  69. package/dist/admin/components/elements/ThumbnailCard/index.js +2 -2
  70. package/dist/admin/components/elements/Tooltip/index.js +4 -2
  71. package/dist/admin/components/elements/UnpublishMany/index.js +4 -2
  72. package/dist/admin/components/elements/WhereBuilder/Condition/Relationship/index.js +4 -2
  73. package/dist/admin/components/elements/WhereBuilder/Condition/index.js +4 -2
  74. package/dist/admin/components/elements/WhereBuilder/index.js +4 -2
  75. package/dist/admin/components/forms/Form/index.js +4 -2
  76. package/dist/admin/components/forms/Form/rows.js +4 -4
  77. package/dist/admin/components/forms/NullifyField/index.js +4 -2
  78. package/dist/admin/components/forms/RenderFields/index.js +4 -2
  79. package/dist/admin/components/forms/Submit/index.js +4 -2
  80. package/dist/admin/components/forms/field-types/Array/index.js +4 -2
  81. package/dist/admin/components/forms/field-types/Blocks/BlocksDrawer/index.js +4 -2
  82. package/dist/admin/components/forms/field-types/Blocks/index.js +4 -2
  83. package/dist/admin/components/forms/field-types/Checkbox/index.js +4 -2
  84. package/dist/admin/components/forms/field-types/Code/index.js +4 -2
  85. package/dist/admin/components/forms/field-types/Collapsible/index.js +4 -2
  86. package/dist/admin/components/forms/field-types/ConfirmPassword/index.js +4 -2
  87. package/dist/admin/components/forms/field-types/DateTime/index.js +4 -2
  88. package/dist/admin/components/forms/field-types/Email/index.js +4 -2
  89. package/dist/admin/components/forms/field-types/Group/index.js +4 -4
  90. package/dist/admin/components/forms/field-types/Group/provider.js +7 -5
  91. package/dist/admin/components/forms/field-types/HiddenInput/index.js +4 -2
  92. package/dist/admin/components/forms/field-types/JSON/index.js +4 -2
  93. package/dist/admin/components/forms/field-types/Number/index.js +4 -2
  94. package/dist/admin/components/forms/field-types/Password/index.js +4 -2
  95. package/dist/admin/components/forms/field-types/Point/index.js +4 -2
  96. package/dist/admin/components/forms/field-types/RadioGroup/index.js +4 -2
  97. package/dist/admin/components/forms/field-types/Relationship/AddNew/index.js +4 -2
  98. package/dist/admin/components/forms/field-types/Relationship/index.js +4 -2
  99. package/dist/admin/components/forms/field-types/Relationship/select-components/MultiValueLabel/index.js +4 -2
  100. package/dist/admin/components/forms/field-types/Relationship/select-components/SingleValue/index.js +4 -2
  101. package/dist/admin/components/forms/field-types/RichText/index.js +4 -2
  102. package/dist/admin/components/forms/field-types/Row/provider.js +7 -5
  103. package/dist/admin/components/forms/field-types/Select/index.js +4 -2
  104. package/dist/admin/components/forms/field-types/Tabs/index.js +6 -4
  105. package/dist/admin/components/forms/field-types/Tabs/provider.js +7 -5
  106. package/dist/admin/components/forms/field-types/Text/index.js +4 -2
  107. package/dist/admin/components/forms/field-types/Textarea/index.js +4 -2
  108. package/dist/admin/components/forms/field-types/Upload/Input.js +4 -2
  109. package/dist/admin/components/forms/field-types/Upload/index.js +4 -2
  110. package/dist/admin/components/graphics/DefaultBlockImage/index.js +4 -2
  111. package/dist/admin/components/icons/MinimizeMaximize/index.js +4 -2
  112. package/dist/admin/components/index.js +10 -10
  113. package/dist/admin/components/modals/LeaveWithoutSaving/index.js +4 -2
  114. package/dist/admin/components/templates/Default/index.js +4 -2
  115. package/dist/admin/components/utilities/ActionsProvider/index.js +7 -5
  116. package/dist/admin/components/utilities/Auth/index.js +4 -2
  117. package/dist/admin/components/utilities/Config/index.js +4 -2
  118. package/dist/admin/components/utilities/DocumentEvents/index.js +4 -2
  119. package/dist/admin/components/utilities/DocumentInfo/index.js +7 -5
  120. package/dist/admin/components/utilities/LoadingOverlay/index.js +7 -5
  121. package/dist/admin/components/utilities/Locale/index.js +8 -6
  122. package/dist/admin/components/utilities/Preferences/index.js +4 -2
  123. package/dist/admin/components/utilities/SearchParams/index.js +4 -2
  124. package/dist/admin/components/utilities/Theme/index.js +7 -5
  125. package/dist/admin/components/views/API/index.js +4 -2
  126. package/dist/admin/components/views/Account/Default.js +4 -2
  127. package/dist/admin/components/views/Account/ToggleTheme/index.js +4 -2
  128. package/dist/admin/components/views/Account/index.js +4 -2
  129. package/dist/admin/components/views/Dashboard/Default.js +4 -2
  130. package/dist/admin/components/views/Dashboard/index.js +4 -2
  131. package/dist/admin/components/views/ForgotPassword/index.js +4 -2
  132. package/dist/admin/components/views/Global/Default.js +4 -2
  133. package/dist/admin/components/views/Global/Routes/CustomComponent.js +4 -4
  134. package/dist/admin/components/views/Global/Routes/index.js +4 -2
  135. package/dist/admin/components/views/Global/index.js +4 -2
  136. package/dist/admin/components/views/LivePreview/Context/index.js +4 -2
  137. package/dist/admin/components/views/LivePreview/Device/index.js +4 -2
  138. package/dist/admin/components/views/LivePreview/IFrame/index.js +4 -2
  139. package/dist/admin/components/views/LivePreview/Preview/index.js +4 -2
  140. package/dist/admin/components/views/LivePreview/Toolbar/Controls/index.js +6 -4
  141. package/dist/admin/components/views/LivePreview/Toolbar/SizeInput/index.js +4 -2
  142. package/dist/admin/components/views/LivePreview/index.js +4 -2
  143. package/dist/admin/components/views/Logout/index.js +4 -2
  144. package/dist/admin/components/views/NotFound/index.js +4 -2
  145. package/dist/admin/components/views/Routes/collections.js +4 -2
  146. package/dist/admin/components/views/Routes/globals.js +4 -2
  147. package/dist/admin/components/views/Routes/index.js +4 -2
  148. package/dist/admin/components/views/Verify/index.js +4 -2
  149. package/dist/admin/components/views/Version/Compare/index.js +4 -2
  150. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Select/index.js +4 -2
  151. package/dist/admin/components/views/Version/RenderFieldsToDiff/fields/Text/index.js +4 -2
  152. package/dist/admin/components/views/Version/Restore/index.js +4 -2
  153. package/dist/admin/components/views/Version/Version.js +4 -2
  154. package/dist/admin/components/views/Version/index.js +4 -2
  155. package/dist/admin/components/views/Versions/columns.js +3 -3
  156. package/dist/admin/components/views/Versions/index.js +4 -2
  157. package/dist/admin/components/views/collections/Edit/Auth/APIKey.js +4 -2
  158. package/dist/admin/components/views/collections/Edit/Auth/index.js +4 -2
  159. package/dist/admin/components/views/collections/Edit/Default/index.js +4 -2
  160. package/dist/admin/components/views/collections/Edit/Default.js +4 -2
  161. package/dist/admin/components/views/collections/Edit/Routes/CustomComponent.js +4 -4
  162. package/dist/admin/components/views/collections/Edit/Routes/index.js +4 -2
  163. package/dist/admin/components/views/collections/Edit/Upload/index.js +10 -8
  164. package/dist/admin/components/views/collections/Edit/index.js +4 -2
  165. package/dist/admin/components/views/collections/List/Cell/field-types/Relationship/index.js +4 -2
  166. package/dist/admin/components/views/collections/List/Cell/field-types/Richtext/index.js +4 -2
  167. package/dist/admin/components/views/collections/List/Default.js +4 -2
  168. package/dist/admin/components/views/collections/List/RelationshipProvider/index.js +4 -2
  169. package/dist/admin/components/views/collections/List/SelectionProvider/index.js +21 -19
  170. package/dist/admin/components/views/collections/List/index.js +4 -2
  171. package/dist/admin/hooks/useDelay.js +4 -2
  172. package/dist/admin/hooks/useDelayedRender.js +4 -2
  173. package/dist/admin/hooks/useTitle.js +4 -4
  174. package/dist/admin/utilities/formatDate/index.js +4 -2
  175. package/dist/admin/utilities/groupNavItems.js +3 -3
  176. package/dist/auth/crypto.js +4 -4
  177. package/dist/collections/buildEndpoints.js +4 -2
  178. package/dist/collections/config/defaults.js +4 -4
  179. package/dist/collections/graphql/init.js +4 -2
  180. package/dist/collections/operations/findByID.d.ts.map +1 -1
  181. package/dist/collections/operations/findByID.js +2 -23
  182. package/dist/collections/requestHandlers/updateByID.js +4 -4
  183. package/dist/config/schema.js +4 -4
  184. package/dist/config/shared/componentSchema.js +4 -4
  185. package/dist/config/validate.js +4 -2
  186. package/dist/errors/index.js +4 -4
  187. package/dist/exports/components/elements.js +29 -29
  188. package/dist/exports/components/fields/Blocks.js +4 -4
  189. package/dist/exports/components/forms.js +62 -62
  190. package/dist/exports/components/hooks.js +15 -13
  191. package/dist/exports/components/utilities.d.ts +1 -0
  192. package/dist/exports/components/utilities.d.ts.map +1 -1
  193. package/dist/exports/components/utilities.js +8 -4
  194. package/dist/exports/components.js +16 -16
  195. package/dist/exports/config.js +7 -7
  196. package/dist/exports/database.js +10 -10
  197. package/dist/exports/graphql.js +4 -4
  198. package/dist/exports/types.js +4 -4
  199. package/dist/exports/utilities.js +22 -22
  200. package/dist/fields/config/schema.js +41 -41
  201. package/dist/fields/config/types.js +18 -18
  202. package/dist/fields/hooks/afterChange/promise.js +2 -2
  203. package/dist/fields/validations.d.ts.map +1 -1
  204. package/dist/fields/validations.js +77 -69
  205. package/dist/graphql/registerSchema.js +4 -2
  206. package/dist/graphql/schema/buildMutationInputType.js +4 -4
  207. package/dist/index.js +4 -4
  208. package/dist/uploads/cropImage.js +4 -4
  209. package/dist/uploads/getExternalFile.d.ts +3 -3
  210. package/dist/uploads/getExternalFile.d.ts.map +1 -1
  211. package/dist/uploads/getExternalFile.js +13 -8
  212. package/dist/utilities/configToJSONSchema.js +8 -8
  213. package/dist/utilities/formatLabels.js +4 -2
  214. package/dist/utilities/logger.js +4 -4
  215. package/dist/utilities/telemetry/index.js +4 -4
  216. package/dist/versions/baseFields.js +4 -4
  217. package/graphql.js +4 -4
  218. package/package.json +2 -3
  219. package/types.js +4 -4
  220. package/utilities.js +22 -22
@@ -9,11 +9,11 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- getCollectionIDType: function() {
13
- return getCollectionIDType;
14
- },
15
12
  default: function() {
16
13
  return _default;
14
+ },
15
+ getCollectionIDType: function() {
16
+ return getCollectionIDType;
17
17
  }
18
18
  });
19
19
  const _graphql = require("graphql");
@@ -274,4 +274,4 @@ function buildMutationInputType(payload, name, fields, parentName, forceNullable
274
274
  }
275
275
  const _default = buildMutationInputType;
276
276
 
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZE11dGF0aW9uSW5wdXRUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoUUxJbnB1dEZpZWxkQ29uZmlnLCBHcmFwaFFMU2NhbGFyVHlwZSwgR3JhcGhRTFR5cGUgfSBmcm9tICdncmFwaHFsJ1xuXG5pbXBvcnQge1xuICBHcmFwaFFMQm9vbGVhbixcbiAgR3JhcGhRTEVudW1UeXBlLFxuICBHcmFwaFFMRmxvYXQsXG4gIEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsXG4gIEdyYXBoUUxJbnQsXG4gIEdyYXBoUUxMaXN0LFxuICBHcmFwaFFMTm9uTnVsbCxcbiAgR3JhcGhRTFN0cmluZyxcbn0gZnJvbSAnZ3JhcGhxbCdcbmltcG9ydCB7IEdyYXBoUUxKU09OIH0gZnJvbSAnZ3JhcGhxbC10eXBlLWpzb24nXG5cbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHtcbiAgQXJyYXlGaWVsZCxcbiAgQmxvY2tGaWVsZCxcbiAgQ2hlY2tib3hGaWVsZCxcbiAgQ29kZUZpZWxkLFxuICBDb2xsYXBzaWJsZUZpZWxkLFxuICBEYXRlRmllbGQsXG4gIEVtYWlsRmllbGQsXG4gIEZpZWxkLFxuICBHcm91cEZpZWxkLFxuICBKU09ORmllbGQsXG4gIE51bWJlckZpZWxkLFxuICBQb2ludEZpZWxkLFxuICBSYWRpb0ZpZWxkLFxuICBSZWxhdGlvbnNoaXBGaWVsZCxcbiAgUmljaFRleHRGaWVsZCxcbiAgUm93RmllbGQsXG4gIFNlbGVjdEZpZWxkLFxuICBUYWJzRmllbGQsXG4gIFRleHRGaWVsZCxcbiAgVGV4dGFyZWFGaWVsZCxcbiAgVXBsb2FkRmllbGQsXG59IGZyb20gJy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICcuLi8uLi9wYXlsb2FkJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCBvcHRpb25Jc09iamVjdCwgdGFiSGFzTmFtZSB9IGZyb20gJy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgeyB0b1dvcmRzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2Zvcm1hdExhYmVscydcbmltcG9ydCB7IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2dyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkJ1xuaW1wb3J0IGNvbWJpbmVQYXJlbnROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9jb21iaW5lUGFyZW50TmFtZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IHdpdGhOdWxsYWJsZVR5cGUgZnJvbSAnLi93aXRoTnVsbGFibGVUeXBlJ1xuaW1wb3J0IGZsYXR0ZW5GaWVsZHMgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2ZsYXR0ZW5Ub3BMZXZlbEZpZWxkcydcblxuY29uc3QgaWRGaWVsZFR5cGVzID0ge1xuICBudW1iZXI6IEdyYXBoUUxJbnQsXG4gIHRleHQ6IEdyYXBoUUxTdHJpbmcsXG59XG5cbmV4cG9ydCBjb25zdCBnZXRDb2xsZWN0aW9uSURUeXBlID0gKFxuICBwYXlsb2FkOiBQYXlsb2FkLFxuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLFxuKTogR3JhcGhRTFNjYWxhclR5cGUgPT4ge1xuICBjb25zdCBpZEZpZWxkID0gZmxhdHRlbkZpZWxkcyhjb2xsZWN0aW9uLmZpZWxkcykuZmluZChcbiAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcsXG4gIClcblxuICBpZiAoIWlkRmllbGQpIHtcbiAgICByZXR1cm4gaWRGaWVsZFR5cGVzW3BheWxvYWQuZGIuZGVmYXVsdElEVHlwZV1cbiAgfVxuXG4gIHJldHVybiBpZEZpZWxkVHlwZXNbaWRGaWVsZC50eXBlXVxufVxuXG5leHBvcnQgdHlwZSBJbnB1dE9iamVjdFR5cGVDb25maWcgPSB7XG4gIFtwYXRoOiBzdHJpbmddOiBHcmFwaFFMSW5wdXRGaWVsZENvbmZpZ1xufVxuXG5mdW5jdGlvbiBidWlsZE11dGF0aW9uSW5wdXRUeXBlKFxuICBwYXlsb2FkOiBQYXlsb2FkLFxuICBuYW1lOiBzdHJpbmcsXG4gIGZpZWxkczogRmllbGRbXSxcbiAgcGFyZW50TmFtZTogc3RyaW5nLFxuICBmb3JjZU51bGxhYmxlID0gZmFsc2UsXG4pOiBHcmFwaFFMSW5wdXRPYmplY3RUeXBlIHwgbnVsbCB7XG4gIGNvbnN0IGZpZWxkVG9TY2hlbWFNYXAgPSB7XG4gICAgYXJyYXk6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEFycmF5RmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGZ1bGxOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcbiAgICAgIGxldCB0eXBlOiBHcmFwaFFMTGlzdDxHcmFwaFFMVHlwZT4gfCBHcmFwaFFMVHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoXG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIGZ1bGxOYW1lLFxuICAgICAgICBmaWVsZC5maWVsZHMsXG4gICAgICAgIGZ1bGxOYW1lLFxuICAgICAgKVxuXG4gICAgICBpZiAoIXR5cGUpIHJldHVybiBpbnB1dE9iamVjdFR5cGVDb25maWdcblxuICAgICAgdHlwZSA9IG5ldyBHcmFwaFFMTGlzdCh3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCB0eXBlLCBmb3JjZU51bGxhYmxlKSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGJsb2NrczogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQmxvY2tGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiBHcmFwaFFMSlNPTiB9LFxuICAgIH0pLFxuICAgIGNoZWNrYm94OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBDaGVja2JveEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgfSksXG4gICAgY29kZTogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQ29kZUZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgY29sbGFwc2libGU6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENvbGxhcHNpYmxlRmllbGQpID0+XG4gICAgICBmaWVsZC5maWVsZHMucmVkdWNlKChhY2MsIHN1YkZpZWxkOiBDb2xsYXBzaWJsZUZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChhY2MsIHN1YkZpZWxkKVxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBpbnB1dE9iamVjdFR5cGVDb25maWcpLFxuICAgIGRhdGU6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IERhdGVGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGVtYWlsOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBFbWFpbEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgZ3JvdXA6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEdyb3VwRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkID0gZ3JvdXBPclRhYkhhc1JlcXVpcmVkU3ViZmllbGQoZmllbGQpXG4gICAgICBjb25zdCBmdWxsTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHMoZmllbGQubmFtZSwgdHJ1ZSkpXG4gICAgICBsZXQgdHlwZTogR3JhcGhRTFR5cGUgPSBidWlsZE11dGF0aW9uSW5wdXRUeXBlKHBheWxvYWQsIGZ1bGxOYW1lLCBmaWVsZC5maWVsZHMsIGZ1bGxOYW1lKVxuXG4gICAgICBpZiAoIXR5cGUpIHJldHVybiBpbnB1dE9iamVjdFR5cGVDb25maWdcblxuICAgICAgaWYgKHJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkKSB0eXBlID0gbmV3IEdyYXBoUUxOb25OdWxsKHR5cGUpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICBqc29uOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBKU09ORmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTEpTT04sIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgbnVtYmVyOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBOdW1iZXJGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IGZpZWxkLm5hbWUgPT09ICdpZCcgPyBHcmFwaFFMSW50IDogR3JhcGhRTEZsb2F0XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICAgIFtmaWVsZC5uYW1lXToge1xuICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIGZpZWxkLmhhc01hbnkgPT09IHRydWUgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlLFxuICAgICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgcG9pbnQ6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFBvaW50RmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgbmV3IEdyYXBoUUxMaXN0KEdyYXBoUUxGbG9hdCksIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgcmFkaW86IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJhZGlvRmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICByZWxhdGlvbnNoaXA6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCB7IHJlbGF0aW9uVG8gfSA9IGZpZWxkXG4gICAgICB0eXBlIFBheWxvYWRHcmFwaFFMUmVsYXRpb25zaGlwVHlwZSA9XG4gICAgICAgIHwgR3JhcGhRTElucHV0T2JqZWN0VHlwZVxuICAgICAgICB8IEdyYXBoUUxMaXN0PEdyYXBoUUxTY2FsYXJUeXBlPlxuICAgICAgICB8IEdyYXBoUUxTY2FsYXJUeXBlXG4gICAgICBsZXQgdHlwZTogUGF5bG9hZEdyYXBoUUxSZWxhdGlvbnNoaXBUeXBlXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pKSB7XG4gICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gYCR7Y29tYmluZVBhcmVudE5hbWUoXG4gICAgICAgICAgcGFyZW50TmFtZSxcbiAgICAgICAgICB0b1dvcmRzKGZpZWxkLm5hbWUsIHRydWUpLFxuICAgICAgICApfVJlbGF0aW9uc2hpcElucHV0YFxuICAgICAgICB0eXBlID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGZ1bGxOYW1lLFxuICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBgJHtmdWxsTmFtZX1SZWxhdGlvblRvYCxcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IHJlbGF0aW9uVG8ucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgKHZhbHVlcywgb3B0aW9uKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtYXROYW1lKG9wdGlvbildOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdmFsdWU6IHsgdHlwZTogR3JhcGhRTEpTT04gfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHlwZSA9IGdldENvbGxlY3Rpb25JRFR5cGUocGF5bG9hZCwgcGF5bG9hZC5jb2xsZWN0aW9uc1tyZWxhdGlvblRvXS5jb25maWcpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IGZpZWxkLmhhc01hbnkgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICByaWNoVGV4dDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUmljaFRleHRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMSlNPTiwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICByb3c6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJvd0ZpZWxkKSA9PlxuICAgICAgZmllbGQuZmllbGRzLnJlZHVjZSgoYWNjLCBzdWJGaWVsZDogRmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgIGlmIChhZGRTdWJGaWVsZCkgcmV0dXJuIGFkZFN1YkZpZWxkKGFjYywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBhY2NcbiAgICAgIH0sIGlucHV0T2JqZWN0VHlwZUNvbmZpZyksXG4gICAgc2VsZWN0OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBTZWxlY3RGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgZm9ybWF0dGVkTmFtZSA9IGAke2NvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpfV9NdXRhdGlvbklucHV0YFxuICAgICAgbGV0IHR5cGU6IEdyYXBoUUxUeXBlID0gbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgIG5hbWU6IGZvcm1hdHRlZE5hbWUsXG4gICAgICAgIHZhbHVlczogZmllbGQub3B0aW9ucy5yZWR1Y2UoKHZhbHVlcywgb3B0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvbklzT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUob3B0aW9uLnZhbHVlKV06IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIH0pXG5cbiAgICAgIHR5cGUgPSBmaWVsZC5oYXNNYW55ID8gbmV3IEdyYXBoUUxMaXN0KHR5cGUpIDogdHlwZVxuICAgICAgdHlwZSA9IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIHR5cGUsIGZvcmNlTnVsbGFibGUpXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHRhYnM6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRhYnNGaWVsZCkgPT4ge1xuICAgICAgcmV0dXJuIGZpZWxkLnRhYnMucmVkdWNlKChhY2MsIHRhYikgPT4ge1xuICAgICAgICBpZiAodGFiSGFzTmFtZSh0YWIpKSB7XG4gICAgICAgICAgY29uc3QgZnVsbE5hbWUgPSBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKHRhYi5uYW1lLCB0cnVlKSlcbiAgICAgICAgICBjb25zdCByZXF1aXJlc0F0TGVhc3RPbmVGaWVsZCA9IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkKGZpZWxkKVxuICAgICAgICAgIGxldCB0eXBlOiBHcmFwaFFMVHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUocGF5bG9hZCwgZnVsbE5hbWUsIHRhYi5maWVsZHMsIGZ1bGxOYW1lKVxuXG4gICAgICAgICAgaWYgKCF0eXBlKSByZXR1cm4gYWNjXG5cbiAgICAgICAgICBpZiAocmVxdWlyZXNBdExlYXN0T25lRmllbGQpIHR5cGUgPSBuZXcgR3JhcGhRTE5vbk51bGwodHlwZSlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgW3RhYi5uYW1lXTogeyB0eXBlIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgLi4udGFiLmZpZWxkcy5yZWR1Y2UoKHN1YkZpZWxkU2NoZW1hLCBzdWJGaWVsZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChzdWJGaWVsZFNjaGVtYSwgc3ViRmllbGQpXG4gICAgICAgICAgICByZXR1cm4gc3ViRmllbGRTY2hlbWFcbiAgICAgICAgICB9LCBhY2MpLFxuICAgICAgICB9XG4gICAgICB9LCBpbnB1dE9iamVjdFR5cGVDb25maWcpXG4gICAgfSxcbiAgICB0ZXh0OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUZXh0RmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBmaWVsZC5oYXNNYW55ID09PSB0cnVlID8gbmV3IEdyYXBoUUxMaXN0KEdyYXBoUUxTdHJpbmcpIDogR3JhcGhRTFN0cmluZyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICB0ZXh0YXJlYTogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGV4dGFyZWFGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHVwbG9hZDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVXBsb2FkRmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgfVxuXG4gIGNvbnN0IGZpZWxkTmFtZSA9IGZvcm1hdE5hbWUobmFtZSlcblxuICBjb25zdCBmaWVsZFNjaGVtYXMgPSBmaWVsZHMucmVkdWNlKChpbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkKSA9PiB7XG4gICAgY29uc3QgZmllbGRTY2hlbWEgPSBmaWVsZFRvU2NoZW1hTWFwW2ZpZWxkLnR5cGVdXG5cbiAgICBpZiAodHlwZW9mIGZpZWxkU2NoZW1hICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gaW5wdXRPYmplY3RUeXBlQ29uZmlnXG4gICAgfVxuXG4gICAgY29uc3Qgc2NoZW1hID0gZmllbGRTY2hlbWEoaW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZClcbiAgICBpZiAoT2JqZWN0LmtleXMoc2NoZW1hKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBpbnB1dE9iamVjdFR5cGVDb25maWdcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgLi4uZmllbGRTY2hlbWEoaW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZCksXG4gICAgfVxuICB9LCB7fSlcblxuICBpZiAoT2JqZWN0LmtleXMoZmllbGRTY2hlbWFzKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICBuYW1lOiBgbXV0YXRpb24ke2ZpZWxkTmFtZX1JbnB1dGAsXG4gICAgZmllbGRzOiBmaWVsZFNjaGVtYXMsXG4gIH0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGVcbiJdLCJuYW1lcyI6WyJnZXRDb2xsZWN0aW9uSURUeXBlIiwiaWRGaWVsZFR5cGVzIiwibnVtYmVyIiwiR3JhcGhRTEludCIsInRleHQiLCJHcmFwaFFMU3RyaW5nIiwicGF5bG9hZCIsImNvbGxlY3Rpb24iLCJpZEZpZWxkIiwiZmxhdHRlbkZpZWxkcyIsImZpZWxkcyIsImZpbmQiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwidHlwZSIsImJ1aWxkTXV0YXRpb25JbnB1dFR5cGUiLCJwYXJlbnROYW1lIiwiZm9yY2VOdWxsYWJsZSIsImZpZWxkVG9TY2hlbWFNYXAiLCJhcnJheSIsImlucHV0T2JqZWN0VHlwZUNvbmZpZyIsImZ1bGxOYW1lIiwiY29tYmluZVBhcmVudE5hbWUiLCJ0b1dvcmRzIiwiR3JhcGhRTExpc3QiLCJ3aXRoTnVsbGFibGVUeXBlIiwiYmxvY2tzIiwiR3JhcGhRTEpTT04iLCJjaGVja2JveCIsIkdyYXBoUUxCb29sZWFuIiwiY29kZSIsImNvbGxhcHNpYmxlIiwicmVkdWNlIiwiYWNjIiwic3ViRmllbGQiLCJhZGRTdWJGaWVsZCIsImRhdGUiLCJlbWFpbCIsImdyb3VwIiwicmVxdWlyZXNBdExlYXN0T25lRmllbGQiLCJncm91cE9yVGFiSGFzUmVxdWlyZWRTdWJmaWVsZCIsIkdyYXBoUUxOb25OdWxsIiwianNvbiIsIkdyYXBoUUxGbG9hdCIsImhhc01hbnkiLCJwb2ludCIsInJhZGlvIiwicmVsYXRpb25zaGlwIiwicmVsYXRpb25UbyIsIkFycmF5IiwiaXNBcnJheSIsIkdyYXBoUUxJbnB1dE9iamVjdFR5cGUiLCJHcmFwaFFMRW51bVR5cGUiLCJ2YWx1ZXMiLCJvcHRpb24iLCJmb3JtYXROYW1lIiwidmFsdWUiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsInJpY2hUZXh0Iiwicm93Iiwic2VsZWN0IiwiZm9ybWF0dGVkTmFtZSIsIm9wdGlvbnMiLCJvcHRpb25Jc09iamVjdCIsInRhYnMiLCJ0YWIiLCJ0YWJIYXNOYW1lIiwic3ViRmllbGRTY2hlbWEiLCJ0ZXh0YXJlYSIsInVwbG9hZCIsImZpZWxkTmFtZSIsImZpZWxkU2NoZW1hcyIsImZpZWxkU2NoZW1hIiwic2NoZW1hIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCJdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDOzs7Ozs7Ozs7OztJQXNEMUJBLG1CQUFtQjtlQUFuQkE7O0lBMlFiLE9BQXFDO2VBQXJDOzs7eUJBclRPO2lDQUNxQjt1QkE0QmlDOzhCQUNyQzsrQ0FDc0I7MEVBQ2hCO21FQUNQO3lFQUNNOzhFQUNIOzs7Ozs7QUFFMUIsTUFBTUMsZUFBZTtJQUNuQkMsUUFBUUMsbUJBQVU7SUFDbEJDLE1BQU1DLHNCQUFhO0FBQ3JCO0FBRU8sTUFBTUwsc0JBQXNCLENBQ2pDTSxTQUNBQztJQUVBLE1BQU1DLFVBQVVDLElBQUFBLDhCQUFhLEVBQUNGLFdBQVdHLE1BQU0sRUFBRUMsSUFBSSxDQUNuRCxDQUFDQyxRQUFVQyxJQUFBQSx1QkFBZ0IsRUFBQ0QsVUFBVUEsTUFBTUUsSUFBSSxLQUFLO0lBR3ZELElBQUksQ0FBQ04sU0FBUztRQUNaLE9BQU9QLFlBQVksQ0FBQ0ssUUFBUVMsRUFBRSxDQUFDQyxhQUFhLENBQUM7SUFDL0M7SUFFQSxPQUFPZixZQUFZLENBQUNPLFFBQVFTLElBQUksQ0FBQztBQUNuQztBQU1BLFNBQVNDLHVCQUNQWixPQUFnQixFQUNoQlEsSUFBWSxFQUNaSixNQUFlLEVBQ2ZTLFVBQWtCLEVBQ2xCQyxnQkFBZ0Is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
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ncmFwaHFsL3NjaGVtYS9idWlsZE11dGF0aW9uSW5wdXRUeXBlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEdyYXBoUUxJbnB1dEZpZWxkQ29uZmlnLCBHcmFwaFFMU2NhbGFyVHlwZSwgR3JhcGhRTFR5cGUgfSBmcm9tICdncmFwaHFsJ1xuXG5pbXBvcnQge1xuICBHcmFwaFFMQm9vbGVhbixcbiAgR3JhcGhRTEVudW1UeXBlLFxuICBHcmFwaFFMRmxvYXQsXG4gIEdyYXBoUUxJbnB1dE9iamVjdFR5cGUsXG4gIEdyYXBoUUxJbnQsXG4gIEdyYXBoUUxMaXN0LFxuICBHcmFwaFFMTm9uTnVsbCxcbiAgR3JhcGhRTFN0cmluZyxcbn0gZnJvbSAnZ3JhcGhxbCdcbmltcG9ydCB7IEdyYXBoUUxKU09OIH0gZnJvbSAnZ3JhcGhxbC10eXBlLWpzb24nXG5cbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHtcbiAgQXJyYXlGaWVsZCxcbiAgQmxvY2tGaWVsZCxcbiAgQ2hlY2tib3hGaWVsZCxcbiAgQ29kZUZpZWxkLFxuICBDb2xsYXBzaWJsZUZpZWxkLFxuICBEYXRlRmllbGQsXG4gIEVtYWlsRmllbGQsXG4gIEZpZWxkLFxuICBHcm91cEZpZWxkLFxuICBKU09ORmllbGQsXG4gIE51bWJlckZpZWxkLFxuICBQb2ludEZpZWxkLFxuICBSYWRpb0ZpZWxkLFxuICBSZWxhdGlvbnNoaXBGaWVsZCxcbiAgUmljaFRleHRGaWVsZCxcbiAgUm93RmllbGQsXG4gIFNlbGVjdEZpZWxkLFxuICBUYWJzRmllbGQsXG4gIFRleHRGaWVsZCxcbiAgVGV4dGFyZWFGaWVsZCxcbiAgVXBsb2FkRmllbGQsXG59IGZyb20gJy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICcuLi8uLi9wYXlsb2FkJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCBvcHRpb25Jc09iamVjdCwgdGFiSGFzTmFtZSB9IGZyb20gJy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgeyB0b1dvcmRzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2Zvcm1hdExhYmVscydcbmltcG9ydCB7IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2dyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkJ1xuaW1wb3J0IGNvbWJpbmVQYXJlbnROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9jb21iaW5lUGFyZW50TmFtZSdcbmltcG9ydCBmb3JtYXROYW1lIGZyb20gJy4uL3V0aWxpdGllcy9mb3JtYXROYW1lJ1xuaW1wb3J0IHdpdGhOdWxsYWJsZVR5cGUgZnJvbSAnLi93aXRoTnVsbGFibGVUeXBlJ1xuaW1wb3J0IGZsYXR0ZW5GaWVsZHMgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2ZsYXR0ZW5Ub3BMZXZlbEZpZWxkcydcblxuY29uc3QgaWRGaWVsZFR5cGVzID0ge1xuICBudW1iZXI6IEdyYXBoUUxJbnQsXG4gIHRleHQ6IEdyYXBoUUxTdHJpbmcsXG59XG5cbmV4cG9ydCBjb25zdCBnZXRDb2xsZWN0aW9uSURUeXBlID0gKFxuICBwYXlsb2FkOiBQYXlsb2FkLFxuICBjb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnLFxuKTogR3JhcGhRTFNjYWxhclR5cGUgPT4ge1xuICBjb25zdCBpZEZpZWxkID0gZmxhdHRlbkZpZWxkcyhjb2xsZWN0aW9uLmZpZWxkcykuZmluZChcbiAgICAoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcsXG4gIClcblxuICBpZiAoIWlkRmllbGQpIHtcbiAgICByZXR1cm4gaWRGaWVsZFR5cGVzW3BheWxvYWQuZGIuZGVmYXVsdElEVHlwZV1cbiAgfVxuXG4gIHJldHVybiBpZEZpZWxkVHlwZXNbaWRGaWVsZC50eXBlXVxufVxuXG5leHBvcnQgdHlwZSBJbnB1dE9iamVjdFR5cGVDb25maWcgPSB7XG4gIFtwYXRoOiBzdHJpbmddOiBHcmFwaFFMSW5wdXRGaWVsZENvbmZpZ1xufVxuXG5mdW5jdGlvbiBidWlsZE11dGF0aW9uSW5wdXRUeXBlKFxuICBwYXlsb2FkOiBQYXlsb2FkLFxuICBuYW1lOiBzdHJpbmcsXG4gIGZpZWxkczogRmllbGRbXSxcbiAgcGFyZW50TmFtZTogc3RyaW5nLFxuICBmb3JjZU51bGxhYmxlID0gZmFsc2UsXG4pOiBHcmFwaFFMSW5wdXRPYmplY3RUeXBlIHwgbnVsbCB7XG4gIGNvbnN0IGZpZWxkVG9TY2hlbWFNYXAgPSB7XG4gICAgYXJyYXk6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEFycmF5RmllbGQpID0+IHtcbiAgICAgIGNvbnN0IGZ1bGxOYW1lID0gY29tYmluZVBhcmVudE5hbWUocGFyZW50TmFtZSwgdG9Xb3JkcyhmaWVsZC5uYW1lLCB0cnVlKSlcbiAgICAgIGxldCB0eXBlOiBHcmFwaFFMTGlzdDxHcmFwaFFMVHlwZT4gfCBHcmFwaFFMVHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUoXG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIGZ1bGxOYW1lLFxuICAgICAgICBmaWVsZC5maWVsZHMsXG4gICAgICAgIGZ1bGxOYW1lLFxuICAgICAgKVxuXG4gICAgICBpZiAoIXR5cGUpIHJldHVybiBpbnB1dE9iamVjdFR5cGVDb25maWdcblxuICAgICAgdHlwZSA9IG5ldyBHcmFwaFFMTGlzdCh3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCB0eXBlLCBmb3JjZU51bGxhYmxlKSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIGJsb2NrczogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQmxvY2tGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiBHcmFwaFFMSlNPTiB9LFxuICAgIH0pLFxuICAgIGNoZWNrYm94OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBDaGVja2JveEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IEdyYXBoUUxCb29sZWFuIH0sXG4gICAgfSksXG4gICAgY29kZTogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogQ29kZUZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgY29sbGFwc2libGU6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IENvbGxhcHNpYmxlRmllbGQpID0+XG4gICAgICBmaWVsZC5maWVsZHMucmVkdWNlKChhY2MsIHN1YkZpZWxkOiBDb2xsYXBzaWJsZUZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZFN1YkZpZWxkID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChhY2MsIHN1YkZpZWxkKVxuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9LCBpbnB1dE9iamVjdFR5cGVDb25maWcpLFxuICAgIGRhdGU6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IERhdGVGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIGVtYWlsOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBFbWFpbEZpZWxkKSA9PiAoe1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIEdyYXBoUUxTdHJpbmcsIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgZ3JvdXA6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IEdyb3VwRmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkID0gZ3JvdXBPclRhYkhhc1JlcXVpcmVkU3ViZmllbGQoZmllbGQpXG4gICAgICBjb25zdCBmdWxsTmFtZSA9IGNvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIHRvV29yZHMoZmllbGQubmFtZSwgdHJ1ZSkpXG4gICAgICBsZXQgdHlwZTogR3JhcGhRTFR5cGUgPSBidWlsZE11dGF0aW9uSW5wdXRUeXBlKHBheWxvYWQsIGZ1bGxOYW1lLCBmaWVsZC5maWVsZHMsIGZ1bGxOYW1lKVxuXG4gICAgICBpZiAoIXR5cGUpIHJldHVybiBpbnB1dE9iamVjdFR5cGVDb25maWdcblxuICAgICAgaWYgKHJlcXVpcmVzQXRMZWFzdE9uZUZpZWxkKSB0eXBlID0gbmV3IEdyYXBoUUxOb25OdWxsKHR5cGUpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICBqc29uOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBKU09ORmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTEpTT04sIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgbnVtYmVyOiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBOdW1iZXJGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgdHlwZSA9IGZpZWxkLm5hbWUgPT09ICdpZCcgPyBHcmFwaFFMSW50IDogR3JhcGhRTEZsb2F0XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICAgIFtmaWVsZC5uYW1lXToge1xuICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZVR5cGUoXG4gICAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICAgIGZpZWxkLmhhc01hbnkgPT09IHRydWUgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlLFxuICAgICAgICAgICAgZm9yY2VOdWxsYWJsZSxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH0sXG4gICAgcG9pbnQ6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFBvaW50RmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgbmV3IEdyYXBoUUxMaXN0KEdyYXBoUUxGbG9hdCksIGZvcmNlTnVsbGFibGUpIH0sXG4gICAgfSksXG4gICAgcmFkaW86IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJhZGlvRmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICByZWxhdGlvbnNoaXA6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCB7IHJlbGF0aW9uVG8gfSA9IGZpZWxkXG4gICAgICB0eXBlIFBheWxvYWRHcmFwaFFMUmVsYXRpb25zaGlwVHlwZSA9XG4gICAgICAgIHwgR3JhcGhRTElucHV0T2JqZWN0VHlwZVxuICAgICAgICB8IEdyYXBoUUxMaXN0PEdyYXBoUUxTY2FsYXJUeXBlPlxuICAgICAgICB8IEdyYXBoUUxTY2FsYXJUeXBlXG4gICAgICBsZXQgdHlwZTogUGF5bG9hZEdyYXBoUUxSZWxhdGlvbnNoaXBUeXBlXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pKSB7XG4gICAgICAgIGNvbnN0IGZ1bGxOYW1lID0gYCR7Y29tYmluZVBhcmVudE5hbWUoXG4gICAgICAgICAgcGFyZW50TmFtZSxcbiAgICAgICAgICB0b1dvcmRzKGZpZWxkLm5hbWUsIHRydWUpLFxuICAgICAgICApfVJlbGF0aW9uc2hpcElucHV0YFxuICAgICAgICB0eXBlID0gbmV3IEdyYXBoUUxJbnB1dE9iamVjdFR5cGUoe1xuICAgICAgICAgIG5hbWU6IGZ1bGxOYW1lLFxuICAgICAgICAgIGZpZWxkczoge1xuICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICB0eXBlOiBuZXcgR3JhcGhRTEVudW1UeXBlKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBgJHtmdWxsTmFtZX1SZWxhdGlvblRvYCxcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IHJlbGF0aW9uVG8ucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgKHZhbHVlcywgb3B0aW9uKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtYXROYW1lKG9wdGlvbildOiB7XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdmFsdWU6IHsgdHlwZTogR3JhcGhRTEpTT04gfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHlwZSA9IGdldENvbGxlY3Rpb25JRFR5cGUocGF5bG9hZCwgcGF5bG9hZC5jb2xsZWN0aW9uc1tyZWxhdGlvblRvXS5jb25maWcpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGU6IGZpZWxkLmhhc01hbnkgPyBuZXcgR3JhcGhRTExpc3QodHlwZSkgOiB0eXBlIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICByaWNoVGV4dDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogUmljaFRleHRGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMSlNPTiwgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgICByb3c6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFJvd0ZpZWxkKSA9PlxuICAgICAgZmllbGQuZmllbGRzLnJlZHVjZSgoYWNjLCBzdWJGaWVsZDogRmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgIGlmIChhZGRTdWJGaWVsZCkgcmV0dXJuIGFkZFN1YkZpZWxkKGFjYywgc3ViRmllbGQpXG4gICAgICAgIHJldHVybiBhY2NcbiAgICAgIH0sIGlucHV0T2JqZWN0VHlwZUNvbmZpZyksXG4gICAgc2VsZWN0OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBTZWxlY3RGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgZm9ybWF0dGVkTmFtZSA9IGAke2NvbWJpbmVQYXJlbnROYW1lKHBhcmVudE5hbWUsIGZpZWxkLm5hbWUpfV9NdXRhdGlvbklucHV0YFxuICAgICAgbGV0IHR5cGU6IEdyYXBoUUxUeXBlID0gbmV3IEdyYXBoUUxFbnVtVHlwZSh7XG4gICAgICAgIG5hbWU6IGZvcm1hdHRlZE5hbWUsXG4gICAgICAgIHZhbHVlczogZmllbGQub3B0aW9ucy5yZWR1Y2UoKHZhbHVlcywgb3B0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvbklzT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgW2Zvcm1hdE5hbWUob3B0aW9uLnZhbHVlKV06IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi52YWx1ZXMsXG4gICAgICAgICAgICBbZm9ybWF0TmFtZShvcHRpb24pXToge1xuICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIH0pXG5cbiAgICAgIHR5cGUgPSBmaWVsZC5oYXNNYW55ID8gbmV3IEdyYXBoUUxMaXN0KHR5cGUpIDogdHlwZVxuICAgICAgdHlwZSA9IHdpdGhOdWxsYWJsZVR5cGUoZmllbGQsIHR5cGUsIGZvcmNlTnVsbGFibGUpXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgICAgW2ZpZWxkLm5hbWVdOiB7IHR5cGUgfSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHRhYnM6IChpbnB1dE9iamVjdFR5cGVDb25maWc6IElucHV0T2JqZWN0VHlwZUNvbmZpZywgZmllbGQ6IFRhYnNGaWVsZCkgPT4ge1xuICAgICAgcmV0dXJuIGZpZWxkLnRhYnMucmVkdWNlKChhY2MsIHRhYikgPT4ge1xuICAgICAgICBpZiAodGFiSGFzTmFtZSh0YWIpKSB7XG4gICAgICAgICAgY29uc3QgZnVsbE5hbWUgPSBjb21iaW5lUGFyZW50TmFtZShwYXJlbnROYW1lLCB0b1dvcmRzKHRhYi5uYW1lLCB0cnVlKSlcbiAgICAgICAgICBjb25zdCByZXF1aXJlc0F0TGVhc3RPbmVGaWVsZCA9IGdyb3VwT3JUYWJIYXNSZXF1aXJlZFN1YmZpZWxkKGZpZWxkKVxuICAgICAgICAgIGxldCB0eXBlOiBHcmFwaFFMVHlwZSA9IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGUocGF5bG9hZCwgZnVsbE5hbWUsIHRhYi5maWVsZHMsIGZ1bGxOYW1lKVxuXG4gICAgICAgICAgaWYgKCF0eXBlKSByZXR1cm4gYWNjXG5cbiAgICAgICAgICBpZiAocmVxdWlyZXNBdExlYXN0T25lRmllbGQpIHR5cGUgPSBuZXcgR3JhcGhRTE5vbk51bGwodHlwZSlcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgW3RhYi5uYW1lXTogeyB0eXBlIH0sXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgLi4udGFiLmZpZWxkcy5yZWR1Y2UoKHN1YkZpZWxkU2NoZW1hLCBzdWJGaWVsZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWRkU3ViRmllbGQgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG4gICAgICAgICAgICBpZiAoYWRkU3ViRmllbGQpIHJldHVybiBhZGRTdWJGaWVsZChzdWJGaWVsZFNjaGVtYSwgc3ViRmllbGQpXG4gICAgICAgICAgICByZXR1cm4gc3ViRmllbGRTY2hlbWFcbiAgICAgICAgICB9LCBhY2MpLFxuICAgICAgICB9XG4gICAgICB9LCBpbnB1dE9iamVjdFR5cGVDb25maWcpXG4gICAgfSxcbiAgICB0ZXh0OiAoaW5wdXRPYmplY3RUeXBlQ29uZmlnOiBJbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkOiBUZXh0RmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHtcbiAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlVHlwZShcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICBmaWVsZC5oYXNNYW55ID09PSB0cnVlID8gbmV3IEdyYXBoUUxMaXN0KEdyYXBoUUxTdHJpbmcpIDogR3JhcGhRTFN0cmluZyxcbiAgICAgICAgICBmb3JjZU51bGxhYmxlLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICB0ZXh0YXJlYTogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVGV4dGFyZWFGaWVsZCkgPT4gKHtcbiAgICAgIC4uLmlucHV0T2JqZWN0VHlwZUNvbmZpZyxcbiAgICAgIFtmaWVsZC5uYW1lXTogeyB0eXBlOiB3aXRoTnVsbGFibGVUeXBlKGZpZWxkLCBHcmFwaFFMU3RyaW5nLCBmb3JjZU51bGxhYmxlKSB9LFxuICAgIH0pLFxuICAgIHVwbG9hZDogKGlucHV0T2JqZWN0VHlwZUNvbmZpZzogSW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZDogVXBsb2FkRmllbGQpID0+ICh7XG4gICAgICAuLi5pbnB1dE9iamVjdFR5cGVDb25maWcsXG4gICAgICBbZmllbGQubmFtZV06IHsgdHlwZTogd2l0aE51bGxhYmxlVHlwZShmaWVsZCwgR3JhcGhRTFN0cmluZywgZm9yY2VOdWxsYWJsZSkgfSxcbiAgICB9KSxcbiAgfVxuXG4gIGNvbnN0IGZpZWxkTmFtZSA9IGZvcm1hdE5hbWUobmFtZSlcblxuICBjb25zdCBmaWVsZFNjaGVtYXMgPSBmaWVsZHMucmVkdWNlKChpbnB1dE9iamVjdFR5cGVDb25maWcsIGZpZWxkKSA9PiB7XG4gICAgY29uc3QgZmllbGRTY2hlbWEgPSBmaWVsZFRvU2NoZW1hTWFwW2ZpZWxkLnR5cGVdXG5cbiAgICBpZiAodHlwZW9mIGZpZWxkU2NoZW1hICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gaW5wdXRPYmplY3RUeXBlQ29uZmlnXG4gICAgfVxuXG4gICAgY29uc3Qgc2NoZW1hID0gZmllbGRTY2hlbWEoaW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZClcbiAgICBpZiAoT2JqZWN0LmtleXMoc2NoZW1hKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBpbnB1dE9iamVjdFR5cGVDb25maWdcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uaW5wdXRPYmplY3RUeXBlQ29uZmlnLFxuICAgICAgLi4uZmllbGRTY2hlbWEoaW5wdXRPYmplY3RUeXBlQ29uZmlnLCBmaWVsZCksXG4gICAgfVxuICB9LCB7fSlcblxuICBpZiAoT2JqZWN0LmtleXMoZmllbGRTY2hlbWFzKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIG5ldyBHcmFwaFFMSW5wdXRPYmplY3RUeXBlKHtcbiAgICBuYW1lOiBgbXV0YXRpb24ke2ZpZWxkTmFtZX1JbnB1dGAsXG4gICAgZmllbGRzOiBmaWVsZFNjaGVtYXMsXG4gIH0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGJ1aWxkTXV0YXRpb25JbnB1dFR5cGVcbiJdLCJuYW1lcyI6WyJnZXRDb2xsZWN0aW9uSURUeXBlIiwiaWRGaWVsZFR5cGVzIiwibnVtYmVyIiwiR3JhcGhRTEludCIsInRleHQiLCJHcmFwaFFMU3RyaW5nIiwicGF5bG9hZCIsImNvbGxlY3Rpb24iLCJpZEZpZWxkIiwiZmxhdHRlbkZpZWxkcyIsImZpZWxkcyIsImZpbmQiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwidHlwZSIsImJ1aWxkTXV0YXRpb25JbnB1dFR5cGUiLCJwYXJlbnROYW1lIiwiZm9yY2VOdWxsYWJsZSIsImZpZWxkVG9TY2hlbWFNYXAiLCJhcnJheSIsImlucHV0T2JqZWN0VHlwZUNvbmZpZyIsImZ1bGxOYW1lIiwiY29tYmluZVBhcmVudE5hbWUiLCJ0b1dvcmRzIiwiR3JhcGhRTExpc3QiLCJ3aXRoTnVsbGFibGVUeXBlIiwiYmxvY2tzIiwiR3JhcGhRTEpTT04iLCJjaGVja2JveCIsIkdyYXBoUUxCb29sZWFuIiwiY29kZSIsImNvbGxhcHNpYmxlIiwicmVkdWNlIiwiYWNjIiwic3ViRmllbGQiLCJhZGRTdWJGaWVsZCIsImRhdGUiLCJlbWFpbCIsImdyb3VwIiwicmVxdWlyZXNBdExlYXN0T25lRmllbGQiLCJncm91cE9yVGFiSGFzUmVxdWlyZWRTdWJmaWVsZCIsIkdyYXBoUUxOb25OdWxsIiwianNvbiIsIkdyYXBoUUxGbG9hdCIsImhhc01hbnkiLCJwb2ludCIsInJhZGlvIiwicmVsYXRpb25zaGlwIiwicmVsYXRpb25UbyIsIkFycmF5IiwiaXNBcnJheSIsIkdyYXBoUUxJbnB1dE9iamVjdFR5cGUiLCJHcmFwaFFMRW51bVR5cGUiLCJ2YWx1ZXMiLCJvcHRpb24iLCJmb3JtYXROYW1lIiwidmFsdWUiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsInJpY2hUZXh0Iiwicm93Iiwic2VsZWN0IiwiZm9ybWF0dGVkTmFtZSIsIm9wdGlvbnMiLCJvcHRpb25Jc09iamVjdCIsInRhYnMiLCJ0YWIiLCJ0YWJIYXNOYW1lIiwic3ViRmllbGRTY2hlbWEiLCJ0ZXh0YXJlYSIsInVwbG9hZCIsImZpZWxkTmFtZSIsImZpZWxkU2NoZW1hcyIsImZpZWxkU2NoZW1hIiwic2NoZW1hIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCJdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDOzs7Ozs7Ozs7OztJQWlVdkMsT0FBcUM7ZUFBckM7O0lBM1FhQSxtQkFBbUI7ZUFBbkJBOzs7eUJBMUNOO2lDQUNxQjt1QkE0QmlDOzhCQUNyQzsrQ0FDc0I7MEVBQ2hCO21FQUNQO3lFQUNNOzhFQUNIOzs7Ozs7QUFFMUIsTUFBTUMsZUFBZTtJQUNuQkMsUUFBUUMsbUJBQVU7SUFDbEJDLE1BQU1DLHNCQUFhO0FBQ3JCO0FBRU8sTUFBTUwsc0JBQXNCLENBQ2pDTSxTQUNBQztJQUVBLE1BQU1DLFVBQVVDLElBQUFBLDhCQUFhLEVBQUNGLFdBQVdHLE1BQU0sRUFBRUMsSUFBSSxDQUNuRCxDQUFDQyxRQUFVQyxJQUFBQSx1QkFBZ0IsRUFBQ0QsVUFBVUEsTUFBTUUsSUFBSSxLQUFLO0lBR3ZELElBQUksQ0FBQ04sU0FBUztRQUNaLE9BQU9QLFlBQVksQ0FBQ0ssUUFBUVMsRUFBRSxDQUFDQyxhQUFhLENBQUM7SUFDL0M7SUFFQSxPQUFPZixZQUFZLENBQUNPLFFBQVFTLElBQUksQ0FBQztBQUNuQztBQU1BLFNBQVNDLHVCQUNQWixPQUFnQixFQUNoQlEsSUFBWSxFQUNaSixNQUFlLEVBQ2ZTLFVBQWtCLEVBQ2xCQyxnQkFBZ0Is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
package/dist/index.js CHANGED
@@ -9,14 +9,14 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- getPayload: function() {
13
- return _payload.getPayload;
14
- },
15
12
  Payload: function() {
16
13
  return Payload;
17
14
  },
18
15
  default: function() {
19
16
  return _default;
17
+ },
18
+ getPayload: function() {
19
+ return _payload.getPayload;
20
20
  }
21
21
  });
22
22
  const _initHTTP = require("./initHTTP");
@@ -37,4 +37,4 @@ const payload = new Payload();
37
37
  const _default = payload;
38
38
  module.exports = payload;
39
39
 
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgSW5pdE9wdGlvbnMgfSBmcm9tICcuL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgQmFzZURhdGFiYXNlQWRhcHRlciB9IGZyb20gJy4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aElEIGFzIEdsb2JhbFR5cGVXaXRoSUQgfSBmcm9tICcuL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIGFzIExvY2FsUGF5bG9hZCB9IGZyb20gJy4vcGF5bG9hZCdcblxuaW1wb3J0IHsgaW5pdEhUVFAgfSBmcm9tICcuL2luaXRIVFRQJ1xuaW1wb3J0IHsgQmFzZVBheWxvYWQgfSBmcm9tICcuL3BheWxvYWQnXG5cbmV4cG9ydCB7IGdldFBheWxvYWQgfSBmcm9tICcuL3BheWxvYWQnXG5cbnJlcXVpcmUoJ2lzb21vcnBoaWMtZmV0Y2gnKVxuXG5leHBvcnQgY2xhc3MgUGF5bG9hZCBleHRlbmRzIEJhc2VQYXlsb2FkPEdlbmVyYXRlZFR5cGVzPiB7XG4gIGFzeW5jIGluaXQob3B0aW9uczogSW5pdE9wdGlvbnMpOiBQcm9taXNlPExvY2FsUGF5bG9hZD4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSBhd2FpdCBpbml0SFRUUChvcHRpb25zKVxuICAgIE9iamVjdC5hc3NpZ24odGhpcywgcGF5bG9hZClcblxuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlT25Jbml0KSB7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnMub25Jbml0ID09PSAnZnVuY3Rpb24nKSBhd2FpdCBvcHRpb25zLm9uSW5pdCh0aGlzKVxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZy5vbkluaXQgPT09ICdmdW5jdGlvbicpIGF3YWl0IHRoaXMuY29uZmlnLm9uSW5pdCh0aGlzKVxuICAgIH1cblxuICAgIHJldHVybiBwYXlsb2FkXG4gIH1cbn1cblxuY29uc3QgcGF5bG9hZCA9IG5ldyBQYXlsb2FkKClcblxuZXhwb3J0IGRlZmF1bHQgcGF5bG9hZFxubW9kdWxlLmV4cG9ydHMgPSBwYXlsb2FkXG5cbnR5cGUgR2VuZXJhdGVkVHlwZXMgPSB7XG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IFR5cGVXaXRoSUQgJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9XG4gIGdsb2JhbHM6IHtcbiAgICBbc2x1ZzogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogR2xvYmFsVHlwZVdpdGhJRCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbn1cblxudHlwZSBEYXRhYmFzZUFkYXB0ZXIgPSBCYXNlRGF0YWJhc2VBZGFwdGVyXG5cbmV4cG9ydCB0eXBlIHsgRGF0YWJhc2VBZGFwdGVyLCBHZW5lcmF0ZWRUeXBlcywgUmVxdWVzdENvbnRleHQgfVxuIl0sIm5hbWVzIjpbImdldFBheWxvYWQiLCJQYXlsb2FkIiwicmVxdWlyZSIsIkJhc2VQYXlsb2FkIiwiaW5pdCIsIm9wdGlvbnMiLCJwYXlsb2FkIiwiaW5pdEhUVFAiLCJPYmplY3QiLCJhc3NpZ24iLCJkaXNhYmxlT25Jbml0Iiwib25Jbml0IiwiY29uZmlnIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFVU0EsVUFBVTtlQUFWQSxtQkFBVTs7SUFJTkMsT0FBTztlQUFQQTs7SUFnQmIsT0FBc0I7ZUFBdEI7OzswQkF2QnlCO3lCQUNHO0FBSTVCQyxRQUFRO0FBRUQsTUFBTUQsZ0JBQWdCRSxvQkFBVztJQUN0QyxNQUFNQyxLQUFLQyxPQUFvQixFQUF5QjtRQUN0RCxNQUFNQyxVQUFVLE1BQU1DLElBQUFBLGtCQUFRLEVBQUNGO1FBQy9CRyxPQUFPQyxNQUFNLENBQUMsSUFBSSxFQUFFSDtRQUVwQixJQUFJLENBQUNELFFBQVFLLGFBQWEsRUFBRTtZQUMxQixJQUFJLE9BQU9MLFFBQVFNLE1BQU0sS0FBSyxZQUFZLE1BQU1OLFFBQVFNLE1BQU0sQ0FBQyxJQUFJO1lBQ25FLElBQUksT0FBTyxJQUFJLENBQUNDLE1BQU0sQ0FBQ0QsTUFBTSxLQUFLLFlBQVksTUFBTSxJQUFJLENBQUNDLE1BQU0sQ0FBQ0QsTUFBTSxDQUFDLElBQUk7UUFDN0U7UUFFQSxPQUFPTDtJQUNUO0FBQ0Y7QUFFQSxNQUFNQSxVQUFVLElBQUlMO01BRXBCLFdBQWVLO0FBQ2ZPLE9BQU9DLE9BQU8sR0FBR1IifQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgfSBmcm9tICcuL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgSW5pdE9wdGlvbnMgfSBmcm9tICcuL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgQmFzZURhdGFiYXNlQWRhcHRlciB9IGZyb20gJy4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi9leHByZXNzL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aElEIGFzIEdsb2JhbFR5cGVXaXRoSUQgfSBmcm9tICcuL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIGFzIExvY2FsUGF5bG9hZCB9IGZyb20gJy4vcGF5bG9hZCdcblxuaW1wb3J0IHsgaW5pdEhUVFAgfSBmcm9tICcuL2luaXRIVFRQJ1xuaW1wb3J0IHsgQmFzZVBheWxvYWQgfSBmcm9tICcuL3BheWxvYWQnXG5cbmV4cG9ydCB7IGdldFBheWxvYWQgfSBmcm9tICcuL3BheWxvYWQnXG5cbnJlcXVpcmUoJ2lzb21vcnBoaWMtZmV0Y2gnKVxuXG5leHBvcnQgY2xhc3MgUGF5bG9hZCBleHRlbmRzIEJhc2VQYXlsb2FkPEdlbmVyYXRlZFR5cGVzPiB7XG4gIGFzeW5jIGluaXQob3B0aW9uczogSW5pdE9wdGlvbnMpOiBQcm9taXNlPExvY2FsUGF5bG9hZD4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSBhd2FpdCBpbml0SFRUUChvcHRpb25zKVxuICAgIE9iamVjdC5hc3NpZ24odGhpcywgcGF5bG9hZClcblxuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlT25Jbml0KSB7XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnMub25Jbml0ID09PSAnZnVuY3Rpb24nKSBhd2FpdCBvcHRpb25zLm9uSW5pdCh0aGlzKVxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZy5vbkluaXQgPT09ICdmdW5jdGlvbicpIGF3YWl0IHRoaXMuY29uZmlnLm9uSW5pdCh0aGlzKVxuICAgIH1cblxuICAgIHJldHVybiBwYXlsb2FkXG4gIH1cbn1cblxuY29uc3QgcGF5bG9hZCA9IG5ldyBQYXlsb2FkKClcblxuZXhwb3J0IGRlZmF1bHQgcGF5bG9hZFxubW9kdWxlLmV4cG9ydHMgPSBwYXlsb2FkXG5cbnR5cGUgR2VuZXJhdGVkVHlwZXMgPSB7XG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IFR5cGVXaXRoSUQgJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICB9XG4gIGdsb2JhbHM6IHtcbiAgICBbc2x1ZzogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogR2xvYmFsVHlwZVdpdGhJRCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbn1cblxudHlwZSBEYXRhYmFzZUFkYXB0ZXIgPSBCYXNlRGF0YWJhc2VBZGFwdGVyXG5cbmV4cG9ydCB0eXBlIHsgRGF0YWJhc2VBZGFwdGVyLCBHZW5lcmF0ZWRUeXBlcywgUmVxdWVzdENvbnRleHQgfVxuIl0sIm5hbWVzIjpbIlBheWxvYWQiLCJnZXRQYXlsb2FkIiwicmVxdWlyZSIsIkJhc2VQYXlsb2FkIiwiaW5pdCIsIm9wdGlvbnMiLCJwYXlsb2FkIiwiaW5pdEhUVFAiLCJPYmplY3QiLCJhc3NpZ24iLCJkaXNhYmxlT25Jbml0Iiwib25Jbml0IiwiY29uZmlnIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFjYUEsT0FBTztlQUFQQTs7SUFnQmIsT0FBc0I7ZUFBdEI7O0lBcEJTQyxVQUFVO2VBQVZBLG1CQUFVOzs7MEJBSE07eUJBQ0c7QUFJNUJDLFFBQVE7QUFFRCxNQUFNRixnQkFBZ0JHLG9CQUFXO0lBQ3RDLE1BQU1DLEtBQUtDLE9BQW9CLEVBQXlCO1FBQ3RELE1BQU1DLFVBQVUsTUFBTUMsSUFBQUEsa0JBQVEsRUFBQ0Y7UUFDL0JHLE9BQU9DLE1BQU0sQ0FBQyxJQUFJLEVBQUVIO1FBRXBCLElBQUksQ0FBQ0QsUUFBUUssYUFBYSxFQUFFO1lBQzFCLElBQUksT0FBT0wsUUFBUU0sTUFBTSxLQUFLLFlBQVksTUFBTU4sUUFBUU0sTUFBTSxDQUFDLElBQUk7WUFDbkUsSUFBSSxPQUFPLElBQUksQ0FBQ0MsTUFBTSxDQUFDRCxNQUFNLEtBQUssWUFBWSxNQUFNLElBQUksQ0FBQ0MsTUFBTSxDQUFDRCxNQUFNLENBQUMsSUFBSTtRQUM3RTtRQUVBLE9BQU9MO0lBQ1Q7QUFDRjtBQUVBLE1BQU1BLFVBQVUsSUFBSU47TUFFcEIsV0FBZU07QUFDZk8sT0FBT0MsT0FBTyxHQUFHUiJ9
@@ -9,11 +9,11 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- percentToPixel: function() {
13
- return percentToPixel;
14
- },
15
12
  default: function() {
16
13
  return cropImage;
14
+ },
15
+ percentToPixel: function() {
16
+ return percentToPixel;
17
17
  }
18
18
  });
19
19
  const _sharp = /*#__PURE__*/ _interop_require_default(require("sharp"));
@@ -44,4 +44,4 @@ async function cropImage({ cropData, dimensions, file }) {
44
44
  }
45
45
  }
46
46
 
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2Nyb3BJbWFnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hhcnAgZnJvbSAnc2hhcnAnXG5cbmV4cG9ydCBjb25zdCBwZXJjZW50VG9QaXhlbCA9ICh2YWx1ZSwgZGltZW5zaW9uKSA9PiB7XG4gIHJldHVybiBNYXRoLmZsb29yKChwYXJzZUZsb2F0KHZhbHVlKSAvIDEwMCkgKiBkaW1lbnNpb24pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIGNyb3BJbWFnZSh7IGNyb3BEYXRhLCBkaW1lbnNpb25zLCBmaWxlIH0pIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB7IGhlaWdodCwgd2lkdGgsIHgsIHkgfSA9IGNyb3BEYXRhXG5cbiAgICBjb25zdCBmb3JtYXR0ZWRDcm9wRGF0YSA9IHtcbiAgICAgIGhlaWdodDogcGVyY2VudFRvUGl4ZWwoaGVpZ2h0LCBkaW1lbnNpb25zLmhlaWdodCksXG4gICAgICBsZWZ0OiBwZXJjZW50VG9QaXhlbCh4LCBkaW1lbnNpb25zLndpZHRoKSxcbiAgICAgIHRvcDogcGVyY2VudFRvUGl4ZWwoeSwgZGltZW5zaW9ucy5oZWlnaHQpLFxuICAgICAgd2lkdGg6IHBlcmNlbnRUb1BpeGVsKHdpZHRoLCBkaW1lbnNpb25zLndpZHRoKSxcbiAgICB9XG5cbiAgICBjb25zdCBjcm9wcGVkID0gc2hhcnAoZmlsZS50ZW1wRmlsZVBhdGggfHwgZmlsZS5kYXRhKS5leHRyYWN0KGZvcm1hdHRlZENyb3BEYXRhKVxuXG4gICAgcmV0dXJuIGF3YWl0IGNyb3BwZWQudG9CdWZmZXIoe1xuICAgICAgcmVzb2x2ZVdpdGhPYmplY3Q6IHRydWUsXG4gICAgfSlcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGBFcnJvciBjcm9wcGluZyBpbWFnZTpgLCBlcnJvcilcbiAgICB0aHJvdyBlcnJvclxuICB9XG59XG4iXSwibmFtZXMiOlsicGVyY2VudFRvUGl4ZWwiLCJjcm9wSW1hZ2UiLCJ2YWx1ZSIsImRpbWVuc2lvbiIsIk1hdGgiLCJmbG9vciIsInBhcnNlRmxvYXQiLCJjcm9wRGF0YSIsImRpbWVuc2lvbnMiLCJmaWxlIiwiaGVpZ2h0Iiwid2lkdGgiLCJ4IiwieSIsImZvcm1hdHRlZENyb3BEYXRhIiwibGVmdCIsInRvcCIsImNyb3BwZWQiLCJzaGFycCIsInRlbXBGaWxlUGF0aCIsImRhdGEiLCJleHRyYWN0IiwidG9CdWZmZXIiLCJyZXNvbHZlV2l0aE9iamVjdCIsImVycm9yIiwiY29uc29sZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFFYUEsY0FBYztlQUFkQTs7SUFJYixPQW9CQztlQXBCNkJDOzs7OERBTlo7Ozs7OztBQUVYLE1BQU1ELGlCQUFpQixDQUFDRSxPQUFPQztJQUNwQyxPQUFPQyxLQUFLQyxLQUFLLENBQUMsQUFBQ0MsV0FBV0osU0FBUyxNQUFPQztBQUNoRDtBQUVlLGVBQWVGLFVBQVUsRUFBRU0sUUFBUSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRTtJQUNwRSxJQUFJO1FBQ0YsTUFBTSxFQUFFQyxNQUFNLEVBQUVDLEtBQUssRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUUsR0FBR047UUFFaEMsTUFBTU8sb0JBQW9CO1lBQ3hCSixRQUFRVixlQUFlVSxRQUFRRixXQUFXRSxNQUFNO1lBQ2hESyxNQUFNZixlQUFlWSxHQUFHSixXQUFXRyxLQUFLO1lBQ3hDSyxLQUFLaEIsZUFBZWEsR0FBR0wsV0FBV0UsTUFBTTtZQUN4Q0MsT0FBT1gsZUFBZVcsT0FBT0gsV0FBV0csS0FBSztRQUMvQztRQUVBLE1BQU1NLFVBQVVDLElBQUFBLGNBQUssRUFBQ1QsS0FBS1UsWUFBWSxJQUFJVixLQUFLVyxJQUFJLEVBQUVDLE9BQU8sQ0FBQ1A7UUFFOUQsT0FBTyxNQUFNRyxRQUFRSyxRQUFRLENBQUM7WUFDNUJDLG1CQUFtQjtRQUNyQjtJQUNGLEVBQUUsT0FBT0MsT0FBTztRQUNkQyxRQUFRRCxLQUFLLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFQTtRQUN2QyxNQUFNQTtJQUNSO0FBQ0YifQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2Nyb3BJbWFnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hhcnAgZnJvbSAnc2hhcnAnXG5cbmV4cG9ydCBjb25zdCBwZXJjZW50VG9QaXhlbCA9ICh2YWx1ZSwgZGltZW5zaW9uKSA9PiB7XG4gIHJldHVybiBNYXRoLmZsb29yKChwYXJzZUZsb2F0KHZhbHVlKSAvIDEwMCkgKiBkaW1lbnNpb24pXG59XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIGNyb3BJbWFnZSh7IGNyb3BEYXRhLCBkaW1lbnNpb25zLCBmaWxlIH0pIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB7IGhlaWdodCwgd2lkdGgsIHgsIHkgfSA9IGNyb3BEYXRhXG5cbiAgICBjb25zdCBmb3JtYXR0ZWRDcm9wRGF0YSA9IHtcbiAgICAgIGhlaWdodDogcGVyY2VudFRvUGl4ZWwoaGVpZ2h0LCBkaW1lbnNpb25zLmhlaWdodCksXG4gICAgICBsZWZ0OiBwZXJjZW50VG9QaXhlbCh4LCBkaW1lbnNpb25zLndpZHRoKSxcbiAgICAgIHRvcDogcGVyY2VudFRvUGl4ZWwoeSwgZGltZW5zaW9ucy5oZWlnaHQpLFxuICAgICAgd2lkdGg6IHBlcmNlbnRUb1BpeGVsKHdpZHRoLCBkaW1lbnNpb25zLndpZHRoKSxcbiAgICB9XG5cbiAgICBjb25zdCBjcm9wcGVkID0gc2hhcnAoZmlsZS50ZW1wRmlsZVBhdGggfHwgZmlsZS5kYXRhKS5leHRyYWN0KGZvcm1hdHRlZENyb3BEYXRhKVxuXG4gICAgcmV0dXJuIGF3YWl0IGNyb3BwZWQudG9CdWZmZXIoe1xuICAgICAgcmVzb2x2ZVdpdGhPYmplY3Q6IHRydWUsXG4gICAgfSlcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGBFcnJvciBjcm9wcGluZyBpbWFnZTpgLCBlcnJvcilcbiAgICB0aHJvdyBlcnJvclxuICB9XG59XG4iXSwibmFtZXMiOlsiY3JvcEltYWdlIiwicGVyY2VudFRvUGl4ZWwiLCJ2YWx1ZSIsImRpbWVuc2lvbiIsIk1hdGgiLCJmbG9vciIsInBhcnNlRmxvYXQiLCJjcm9wRGF0YSIsImRpbWVuc2lvbnMiLCJmaWxlIiwiaGVpZ2h0Iiwid2lkdGgiLCJ4IiwieSIsImZvcm1hdHRlZENyb3BEYXRhIiwibGVmdCIsInRvcCIsImNyb3BwZWQiLCJzaGFycCIsInRlbXBGaWxlUGF0aCIsImRhdGEiLCJleHRyYWN0IiwidG9CdWZmZXIiLCJyZXNvbHZlV2l0aE9iamVjdCIsImVycm9yIiwiY29uc29sZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFNQSxPQW9CQztlQXBCNkJBOztJQUpqQkMsY0FBYztlQUFkQTs7OzhEQUZLOzs7Ozs7QUFFWCxNQUFNQSxpQkFBaUIsQ0FBQ0MsT0FBT0M7SUFDcEMsT0FBT0MsS0FBS0MsS0FBSyxDQUFDLEFBQUNDLFdBQVdKLFNBQVMsTUFBT0M7QUFDaEQ7QUFFZSxlQUFlSCxVQUFVLEVBQUVPLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUU7SUFDcEUsSUFBSTtRQUNGLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFLEdBQUdOO1FBRWhDLE1BQU1PLG9CQUFvQjtZQUN4QkosUUFBUVQsZUFBZVMsUUFBUUYsV0FBV0UsTUFBTTtZQUNoREssTUFBTWQsZUFBZVcsR0FBR0osV0FBV0csS0FBSztZQUN4Q0ssS0FBS2YsZUFBZVksR0FBR0wsV0FBV0UsTUFBTTtZQUN4Q0MsT0FBT1YsZUFBZVUsT0FBT0gsV0FBV0csS0FBSztRQUMvQztRQUVBLE1BQU1NLFVBQVVDLElBQUFBLGNBQUssRUFBQ1QsS0FBS1UsWUFBWSxJQUFJVixLQUFLVyxJQUFJLEVBQUVDLE9BQU8sQ0FBQ1A7UUFFOUQsT0FBTyxNQUFNRyxRQUFRSyxRQUFRLENBQUM7WUFDNUJDLG1CQUFtQjtRQUNyQjtJQUNGLEVBQUUsT0FBT0MsT0FBTztRQUNkQyxRQUFRRCxLQUFLLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFQTtRQUN2QyxNQUFNQTtJQUNSO0FBQ0YifQ==
@@ -1,9 +1,9 @@
1
+ import type { Request } from 'express';
1
2
  import type { File, FileData } from './types';
2
- import { Request } from 'express';
3
3
  type Args = {
4
- req: Request;
5
4
  data: FileData;
5
+ req: Request;
6
6
  };
7
- export declare const getExternalFile: ({ req, data }: Args) => Promise<File>;
7
+ export declare const getExternalFile: ({ data, req }: Args) => Promise<File>;
8
8
  export {};
9
9
  //# sourceMappingURL=getExternalFile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getExternalFile.d.ts","sourceRoot":"","sources":["../../src/uploads/getExternalFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAGjC,KAAK,IAAI,GAAG;IACV,GAAG,EAAE,OAAO,CAAA;IACZ,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AACD,eAAO,MAAM,eAAe,kBAAyB,IAAI,KAAG,QAAQ,IAAI,CA6BvE,CAAA"}
1
+ {"version":3,"file":"getExternalFile.d.ts","sourceRoot":"","sources":["../../src/uploads/getExternalFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAI7C,KAAK,IAAI,GAAG;IACV,IAAI,EAAE,QAAQ,CAAA;IACd,GAAG,EAAE,OAAO,CAAA;CACb,CAAA;AACD,eAAO,MAAM,eAAe,kBAAyB,IAAI,KAAG,QAAQ,IAAI,CAiCvE,CAAA"}
@@ -30,7 +30,9 @@ function _interop_require_wildcard(obj, nodeInterop) {
30
30
  if (cache && cache.has(obj)) {
31
31
  return cache.get(obj);
32
32
  }
33
- var newObj = {};
33
+ var newObj = {
34
+ __proto__: null
35
+ };
34
36
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
35
37
  for(var key in obj){
36
38
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -48,18 +50,21 @@ function _interop_require_wildcard(obj, nodeInterop) {
48
50
  }
49
51
  return newObj;
50
52
  }
51
- const getExternalFile = async ({ req, data })=>{
52
- const baseUrl = req.get('origin') || `${req.protocol}://${req.get('host')}`;
53
- const { url, filename } = data;
53
+ const getExternalFile = async ({ data, req })=>{
54
+ const { filename, url } = data;
54
55
  if (typeof url === 'string') {
55
- const fileURL = `${baseUrl}${url}`;
56
+ let fileURL = url;
57
+ if (!url.startsWith('http')) {
58
+ const baseUrl = req.get('origin') || `${req.protocol}://${req.get('host')}`;
59
+ fileURL = `${baseUrl}${url}`;
60
+ }
56
61
  const { default: fetch } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("node-fetch")));
57
62
  const res = await fetch(fileURL, {
58
63
  credentials: 'include',
59
- method: 'GET',
60
64
  headers: {
61
65
  ...req.headers
62
- }
66
+ },
67
+ method: 'GET'
63
68
  });
64
69
  if (!res.ok) throw new _errors.APIError(`Failed to fetch file from ${fileURL}`, res.status);
65
70
  const data = await res.buffer();
@@ -73,4 +78,4 @@ const getExternalFile = async ({ req, data })=>{
73
78
  throw new _errors.APIError('Invalid file url', 400);
74
79
  };
75
80
 
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dldEV4dGVybmFsRmlsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEZpbGUsIEZpbGVEYXRhIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IFJlcXVlc3QgfSBmcm9tICdleHByZXNzJ1xuaW1wb3J0IHsgQVBJRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnXG5cbnR5cGUgQXJncyA9IHtcbiAgcmVxOiBSZXF1ZXN0XG4gIGRhdGE6IEZpbGVEYXRhXG59XG5leHBvcnQgY29uc3QgZ2V0RXh0ZXJuYWxGaWxlID0gYXN5bmMgKHsgcmVxLCBkYXRhIH06IEFyZ3MpOiBQcm9taXNlPEZpbGU+ID0+IHtcbiAgY29uc3QgYmFzZVVybCA9IHJlcS5nZXQoJ29yaWdpbicpIHx8IGAke3JlcS5wcm90b2NvbH06Ly8ke3JlcS5nZXQoJ2hvc3QnKX1gXG4gIGNvbnN0IHsgdXJsLCBmaWxlbmFtZSB9ID0gZGF0YVxuXG4gIGlmICh0eXBlb2YgdXJsID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IGZpbGVVUkwgPSBgJHtiYXNlVXJsfSR7dXJsfWBcbiAgICBjb25zdCB7IGRlZmF1bHQ6IGZldGNoIH0gPSAoYXdhaXQgaW1wb3J0KCdub2RlLWZldGNoJykpIGFzIGFueVxuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goZmlsZVVSTCwge1xuICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIC4uLnJlcS5oZWFkZXJzLFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgaWYgKCFyZXMub2spIHRocm93IG5ldyBBUElFcnJvcihgRmFpbGVkIHRvIGZldGNoIGZpbGUgZnJvbSAke2ZpbGVVUkx9YCwgcmVzLnN0YXR1cylcblxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXMuYnVmZmVyKClcblxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBmaWxlbmFtZSxcbiAgICAgIGRhdGEsXG4gICAgICBtaW1ldHlwZTogcmVzLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKSB8fCB1bmRlZmluZWQsXG4gICAgICBzaXplOiBOdW1iZXIocmVzLmhlYWRlcnMuZ2V0KCdjb250ZW50LWxlbmd0aCcpKSB8fCAwLFxuICAgIH1cbiAgfVxuXG4gIHRocm93IG5ldyBBUElFcnJvcignSW52YWxpZCBmaWxlIHVybCcsIDQwMClcbn1cbiJdLCJuYW1lcyI6WyJnZXRFeHRlcm5hbEZpbGUiLCJyZXEiLCJkYXRhIiwiYmFzZVVybCIsImdldCIsInByb3RvY29sIiwidXJsIiwiZmlsZW5hbWUiLCJmaWxlVVJMIiwiZGVmYXVsdCIsImZldGNoIiwicmVzIiwiY3JlZGVudGlhbHMiLCJtZXRob2QiLCJoZWFkZXJzIiwib2siLCJBUElFcnJvciIsInN0YXR1cyIsImJ1ZmZlciIsIm5hbWUiLCJtaW1ldHlwZSIsInVuZGVmaW5lZCIsInNpemUiLCJOdW1iZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUWFBOzs7ZUFBQUE7Ozt3QkFOWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1sQixNQUFNQSxrQkFBa0IsT0FBTyxFQUFFQyxHQUFHLEVBQUVDLElBQUksRUFBUTtJQUN2RCxNQUFNQyxVQUFVRixJQUFJRyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUVILElBQUlJLFFBQVEsQ0FBQyxHQUFHLEVBQUVKLElBQUlHLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDM0UsTUFBTSxFQUFFRSxHQUFHLEVBQUVDLFFBQVEsRUFBRSxHQUFHTDtJQUUxQixJQUFJLE9BQU9JLFFBQVEsVUFBVTtRQUMzQixNQUFNRSxVQUFVLENBQUMsRUFBRUwsUUFBUSxFQUFFRyxJQUFJLENBQUM7UUFDbEMsTUFBTSxFQUFFRyxTQUFTQyxLQUFLLEVBQUUsR0FBSSxNQUFNLG1FQUFBLFFBQU87UUFFekMsTUFBTUMsTUFBTSxNQUFNRCxNQUFNRixTQUFTO1lBQy9CSSxhQUFhO1lBQ2JDLFFBQVE7WUFDUkMsU0FBUztnQkFDUCxHQUFHYixJQUFJYSxPQUFPO1lBQ2hCO1FBQ0Y7UUFFQSxJQUFJLENBQUNILElBQUlJLEVBQUUsRUFBRSxNQUFNLElBQUlDLGdCQUFRLENBQUMsQ0FBQywwQkFBMEIsRUFBRVIsUUFBUSxDQUFDLEVBQUVHLElBQUlNLE1BQU07UUFFbEYsTUFBTWYsT0FBTyxNQUFNUyxJQUFJTyxNQUFNO1FBRTdCLE9BQU87WUFDTEMsTUFBTVo7WUFDTkw7WUFDQWtCLFVBQVVULElBQUlHLE9BQU8sQ0FBQ1YsR0FBRyxDQUFDLG1CQUFtQmlCO1lBQzdDQyxNQUFNQyxPQUFPWixJQUFJRyxPQUFPLENBQUNWLEdBQUcsQ0FBQyxzQkFBc0I7UUFDckQ7SUFDRjtJQUVBLE1BQU0sSUFBSVksZ0JBQVEsQ0FBQyxvQkFBb0I7QUFDekMifQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGxvYWRzL2dldEV4dGVybmFsRmlsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlcXVlc3QgfSBmcm9tICdleHByZXNzJ1xuXG5pbXBvcnQgdHlwZSB7IEZpbGUsIEZpbGVEYXRhIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgQVBJRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMnXG5cbnR5cGUgQXJncyA9IHtcbiAgZGF0YTogRmlsZURhdGFcbiAgcmVxOiBSZXF1ZXN0XG59XG5leHBvcnQgY29uc3QgZ2V0RXh0ZXJuYWxGaWxlID0gYXN5bmMgKHsgZGF0YSwgcmVxIH06IEFyZ3MpOiBQcm9taXNlPEZpbGU+ID0+IHtcbiAgY29uc3QgeyBmaWxlbmFtZSwgdXJsIH0gPSBkYXRhXG5cbiAgaWYgKHR5cGVvZiB1cmwgPT09ICdzdHJpbmcnKSB7XG4gICAgbGV0IGZpbGVVUkwgPSB1cmxcbiAgICBpZiAoIXVybC5zdGFydHNXaXRoKCdodHRwJykpIHtcbiAgICAgIGNvbnN0IGJhc2VVcmwgPSByZXEuZ2V0KCdvcmlnaW4nKSB8fCBgJHtyZXEucHJvdG9jb2x9Oi8vJHtyZXEuZ2V0KCdob3N0Jyl9YFxuICAgICAgZmlsZVVSTCA9IGAke2Jhc2VVcmx9JHt1cmx9YFxuICAgIH1cblxuICAgIGNvbnN0IHsgZGVmYXVsdDogZmV0Y2ggfSA9IChhd2FpdCBpbXBvcnQoJ25vZGUtZmV0Y2gnKSkgYXMgYW55XG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChmaWxlVVJMLCB7XG4gICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAuLi5yZXEuaGVhZGVycyxcbiAgICAgIH0sXG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgIH0pXG5cbiAgICBpZiAoIXJlcy5vaykgdGhyb3cgbmV3IEFQSUVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggZmlsZSBmcm9tICR7ZmlsZVVSTH1gLCByZXMuc3RhdHVzKVxuXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlcy5idWZmZXIoKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IGZpbGVuYW1lLFxuICAgICAgZGF0YSxcbiAgICAgIG1pbWV0eXBlOiByZXMuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpIHx8IHVuZGVmaW5lZCxcbiAgICAgIHNpemU6IE51bWJlcihyZXMuaGVhZGVycy5nZXQoJ2NvbnRlbnQtbGVuZ3RoJykpIHx8IDAsXG4gICAgfVxuICB9XG5cbiAgdGhyb3cgbmV3IEFQSUVycm9yKCdJbnZhbGlkIGZpbGUgdXJsJywgNDAwKVxufVxuIl0sIm5hbWVzIjpbImdldEV4dGVybmFsRmlsZSIsImRhdGEiLCJyZXEiLCJmaWxlbmFtZSIsInVybCIsImZpbGVVUkwiLCJzdGFydHNXaXRoIiwiYmFzZVVybCIsImdldCIsInByb3RvY29sIiwiZGVmYXVsdCIsImZldGNoIiwicmVzIiwiY3JlZGVudGlhbHMiLCJoZWFkZXJzIiwibWV0aG9kIiwib2siLCJBUElFcnJvciIsInN0YXR1cyIsImJ1ZmZlciIsIm5hbWUiLCJtaW1ldHlwZSIsInVuZGVmaW5lZCIsInNpemUiLCJOdW1iZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBVWFBOzs7ZUFBQUE7Ozt3QkFOWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTWxCLE1BQU1BLGtCQUFrQixPQUFPLEVBQUVDLElBQUksRUFBRUMsR0FBRyxFQUFRO0lBQ3ZELE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxHQUFHLEVBQUUsR0FBR0g7SUFFMUIsSUFBSSxPQUFPRyxRQUFRLFVBQVU7UUFDM0IsSUFBSUMsVUFBVUQ7UUFDZCxJQUFJLENBQUNBLElBQUlFLFVBQVUsQ0FBQyxTQUFTO1lBQzNCLE1BQU1DLFVBQVVMLElBQUlNLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRU4sSUFBSU8sUUFBUSxDQUFDLEdBQUcsRUFBRVAsSUFBSU0sR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUMzRUgsVUFBVSxDQUFDLEVBQUVFLFFBQVEsRUFBRUgsSUFBSSxDQUFDO1FBQzlCO1FBRUEsTUFBTSxFQUFFTSxTQUFTQyxLQUFLLEVBQUUsR0FBSSxNQUFNLG1FQUFBLFFBQU87UUFFekMsTUFBTUMsTUFBTSxNQUFNRCxNQUFNTixTQUFTO1lBQy9CUSxhQUFhO1lBQ2JDLFNBQVM7Z0JBQ1AsR0FBR1osSUFBSVksT0FBTztZQUNoQjtZQUNBQyxRQUFRO1FBQ1Y7UUFFQSxJQUFJLENBQUNILElBQUlJLEVBQUUsRUFBRSxNQUFNLElBQUlDLGdCQUFRLENBQUMsQ0FBQywwQkFBMEIsRUFBRVosUUFBUSxDQUFDLEVBQUVPLElBQUlNLE1BQU07UUFFbEYsTUFBTWpCLE9BQU8sTUFBTVcsSUFBSU8sTUFBTTtRQUU3QixPQUFPO1lBQ0xDLE1BQU1qQjtZQUNORjtZQUNBb0IsVUFBVVQsSUFBSUUsT0FBTyxDQUFDTixHQUFHLENBQUMsbUJBQW1CYztZQUM3Q0MsTUFBTUMsT0FBT1osSUFBSUUsT0FBTyxDQUFDTixHQUFHLENBQUMsc0JBQXNCO1FBQ3JEO0lBQ0Y7SUFFQSxNQUFNLElBQUlTLGdCQUFRLENBQUMsb0JBQW9CO0FBQ3pDIn0=
@@ -9,17 +9,17 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- withNullableJSONSchemaType: function() {
13
- return withNullableJSONSchemaType;
14
- },
15
- fieldsToJSONSchema: function() {
16
- return fieldsToJSONSchema;
12
+ configToJSONSchema: function() {
13
+ return configToJSONSchema;
17
14
  },
18
15
  entityToJSONSchema: function() {
19
16
  return entityToJSONSchema;
20
17
  },
21
- configToJSONSchema: function() {
22
- return configToJSONSchema;
18
+ fieldsToJSONSchema: function() {
19
+ return fieldsToJSONSchema;
20
+ },
21
+ withNullableJSONSchemaType: function() {
22
+ return withNullableJSONSchemaType;
23
23
  }
24
24
  });
25
25
  const _pluralize = require("pluralize");
@@ -514,4 +514,4 @@ function configToJSONSchema(config, defaultIDType) {
514
514
  };
515
515
  }
516
516
 
517
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSlNPTlNjaGVtYTQsIEpTT05TY2hlbWE0VHlwZU5hbWUgfSBmcm9tICdqc29uLXNjaGVtYSdcblxuaW1wb3J0IHsgc2luZ3VsYXIgfSBmcm9tICdwbHVyYWxpemUnXG5cbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAnLi4vZXhwb3J0cy9jb25maWcnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEsIE9wdGlvbiB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB7IGRlZXBDb3B5T2JqZWN0IH0gZnJvbSAnLi9kZWVwQ29weU9iamVjdCdcbmltcG9ydCB7IHRvV29yZHMgfSBmcm9tICcuL2Zvcm1hdExhYmVscydcblxuY29uc3QgZmllbGRJc1JlcXVpcmVkID0gKGZpZWxkOiBGaWVsZCkgPT4ge1xuICBjb25zdCBpc0NvbmRpdGlvbmFsID0gQm9vbGVhbihmaWVsZD8uYWRtaW4gJiYgZmllbGQ/LmFkbWluPy5jb25kaXRpb24pXG4gIGlmIChpc0NvbmRpdGlvbmFsKSByZXR1cm4gZmFsc2VcblxuICBjb25zdCBpc01hcmtlZFJlcXVpcmVkID0gJ3JlcXVpcmVkJyBpbiBmaWVsZCAmJiBmaWVsZC5yZXF1aXJlZCA9PT0gdHJ1ZVxuICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgaXNNYXJrZWRSZXF1aXJlZCkgcmV0dXJuIHRydWVcblxuICAvLyBpZiBhbnkgc3ViZmllbGRzIGFyZSByZXF1aXJlZCwgdGhpcyBmaWVsZCBpcyByZXF1aXJlZFxuICBpZiAoJ2ZpZWxkcycgaW4gZmllbGQgJiYgZmllbGQudHlwZSAhPT0gJ2FycmF5Jykge1xuICAgIHJldHVybiBmaWVsZC5maWVsZHMuc29tZSgoc3ViRmllbGQpID0+IGZpZWxkSXNSZXF1aXJlZChzdWJGaWVsZCkpXG4gIH1cblxuICAvLyBpZiBhbnkgdGFiIHN1YmZpZWxkcyBoYXZlIHJlcXVpcmVkIGZpZWxkcywgdGhpcyBmaWVsZCBpcyByZXF1aXJlZFxuICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgcmV0dXJuIGZpZWxkLnRhYnMuc29tZSgodGFiKSA9PiB7XG4gICAgICBpZiAoJ25hbWUnIGluIHRhYikge1xuICAgICAgICByZXR1cm4gdGFiLmZpZWxkcy5zb21lKChzdWJGaWVsZCkgPT4gZmllbGRJc1JlcXVpcmVkKHN1YkZpZWxkKSlcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gYnVpbGRPcHRpb25FbnVtcyhvcHRpb25zOiBPcHRpb25bXSk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIG9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcgJiYgJ3ZhbHVlJyBpbiBvcHRpb24pIHtcbiAgICAgIHJldHVybiBvcHRpb24udmFsdWVcbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9uXG4gIH0pXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlRW50aXR5U2NoZW1hcyhcbiAgZW50aXRpZXM6IChTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgU2FuaXRpemVkR2xvYmFsQ29uZmlnKVtdLFxuKTogSlNPTlNjaGVtYTQge1xuICBjb25zdCBwcm9wZXJ0aWVzID0gWy4uLmVudGl0aWVzXS5yZWR1Y2UoKGFjYywgeyBzbHVnIH0pID0+IHtcbiAgICBhY2Nbc2x1Z10gPSB7XG4gICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke3NsdWd9YCxcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjXG4gIH0sIHt9KVxuXG4gIHJldHVybiB7XG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgIHByb3BlcnRpZXMsXG4gICAgcmVxdWlyZWQ6IE9iamVjdC5rZXlzKHByb3BlcnRpZXMpLFxuICAgIHR5cGU6ICdvYmplY3QnLFxuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBhIEpTT04gU2NoZW1hIFR5cGUgd2l0aCAnbnVsbCcgYWRkZWQgaWYgdGhlIGZpZWxkIGlzIG5vdCByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKFxuICBmaWVsZFR5cGU6IEpTT05TY2hlbWE0VHlwZU5hbWUsXG4gIGlzUmVxdWlyZWQ6IGJvb2xlYW4sXG4pOiBKU09OU2NoZW1hNFR5cGVOYW1lIHwgSlNPTlNjaGVtYTRUeXBlTmFtZVtdIHtcbiAgY29uc3QgZmllbGRUeXBlcyA9IFtmaWVsZFR5cGVdXG4gIGlmIChpc1JlcXVpcmVkKSByZXR1cm4gZmllbGRUeXBlXG4gIGZpZWxkVHlwZXMucHVzaCgnbnVsbCcpXG4gIHJldHVybiBmaWVsZFR5cGVzXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZHNUb0pTT05TY2hlbWEoXG4gIGNvbGxlY3Rpb25JREZpZWxkVHlwZXM6IHsgW2tleTogc3RyaW5nXTogJ251bWJlcicgfCAnc3RyaW5nJyB9LFxuICBmaWVsZHM6IEZpZWxkW10sXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91IHRvIGRlZmluZSBuZXcgdG9wLWxldmVsIGludGVyZmFjZXMgdGhhdCBjYW4gYmUgcmUtdXNlZCBpbiB0aGUgb3V0cHV0IHNjaGVtYS5cbiAgICovXG4gIGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+LFxuKToge1xuICBwcm9wZXJ0aWVzOiB7XG4gICAgW2s6IHN0cmluZ106IEpTT05TY2hlbWE0XG4gIH1cbiAgcmVxdWlyZWQ6IHN0cmluZ1tdXG59IHtcbiAgY29uc3QgcmVxdWlyZWRGaWVsZE5hbWVzID0gbmV3IFNldDxzdHJpbmc+KClcblxuICByZXR1cm4ge1xuICAgIHByb3BlcnRpZXM6IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIGZpZWxkcy5yZWR1Y2UoKGZpZWxkU2NoZW1hcywgZmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgaXNSZXF1aXJlZCA9IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkSXNSZXF1aXJlZChmaWVsZClcbiAgICAgICAgaWYgKGlzUmVxdWlyZWQpIHJlcXVpcmVkRmllbGROYW1lcy5hZGQoZmllbGQubmFtZSlcblxuICAgICAgICBsZXQgZmllbGRTY2hlbWE6IEpTT05TY2hlbWE0XG4gICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgaXRlbXM6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7IHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdzdHJpbmcnLCBpc1JlcXVpcmVkKSB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgICAgICBjYXNlICdjb2RlJzpcbiAgICAgICAgICBjYXNlICdlbWFpbCc6XG4gICAgICAgICAgY2FzZSAnZGF0ZSc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnc3RyaW5nJywgaXNSZXF1aXJlZCkgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdudW1iZXInOiB7XG4gICAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICBpdGVtczogeyB0eXBlOiAnbnVtYmVyJyB9LFxuICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHsgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ251bWJlcicsIGlzUmVxdWlyZWQpIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnY2hlY2tib3gnOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHsgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ2Jvb2xlYW4nLCBpc1JlcXVpcmVkKSB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ2pzb24nOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgdHlwZTogWydvYmplY3QnLCAnYXJyYXknLCAnc3RyaW5nJywgJ251bWJlcicsICdib29sZWFuJywgJ251bGwnXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmljaFRleHQnOiB7XG4gICAgICAgICAgICBpZiAoZmllbGQuZWRpdG9yLm91dHB1dFNjaGVtYSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IGZpZWxkLmVkaXRvci5vdXRwdXRTY2hlbWEoe1xuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyxcbiAgICAgICAgICAgICAgICBpc1JlcXVpcmVkLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gTWFpbnRhaW4gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCBleGlzdGluZyByaWNoIHRleHQgZWRpdG9yc1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3JhZGlvJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIGVudW06IGJ1aWxkT3B0aW9uRW51bXMoZmllbGQub3B0aW9ucyksXG4gICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdzdHJpbmcnLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdzZWxlY3QnOiB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25FbnVtcyA9IGJ1aWxkT3B0aW9uRW51bXMoZmllbGQub3B0aW9ucylcblxuICAgICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgIGVudW06IG9wdGlvbkVudW1zLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgZW51bTogb3B0aW9uRW51bXMsXG4gICAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ3N0cmluZycsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncG9pbnQnOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIG1heEl0ZW1zOiAyLFxuICAgICAgICAgICAgICBtaW5JdGVtczogMixcbiAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ2FycmF5JywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3JlbGF0aW9uc2hpcCc6IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pKSB7XG4gICAgICAgICAgICAgIGlmIChmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgICBvbmVPZjogZmllbGQucmVsYXRpb25Uby5tYXAoKHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0OiByZWxhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd2YWx1ZScsICdyZWxhdGlvblRvJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICAgIG9uZU9mOiBmaWVsZC5yZWxhdGlvblRvLm1hcCgocmVsYXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdDogcmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3ZhbHVlJywgJ3JlbGF0aW9uVG8nXSxcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnb2JqZWN0JywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbklERmllbGRUeXBlc1tmaWVsZC5yZWxhdGlvblRvXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQucmVsYXRpb25Ub31gLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZShcbiAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW2ZpZWxkLnJlbGF0aW9uVG9dLFxuICAgICAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2ZpZWxkLnJlbGF0aW9uVG99YCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3VwbG9hZCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IGNvbGxlY3Rpb25JREZpZWxkVHlwZXNbZmllbGQucmVsYXRpb25Ub10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2ZpZWxkLnJlbGF0aW9uVG99YCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFpc1JlcXVpcmVkKSBmaWVsZFNjaGVtYS5vbmVPZi5wdXNoKHsgdHlwZTogJ251bGwnIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgIG9uZU9mOiBmaWVsZC5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tGaWVsZFNjaGVtYXMgPSBmaWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICBjb25zdCBibG9ja1NjaGVtYTogSlNPTlNjaGVtYTQgPSB7XG4gICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLmJsb2NrRmllbGRTY2hlbWFzLnByb3BlcnRpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgYmxvY2tUeXBlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdDogYmxvY2suc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWydibG9ja1R5cGUnLCAuLi5ibG9ja0ZpZWxkU2NoZW1hcy5yZXF1aXJlZF0sXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBpZiAoYmxvY2suaW50ZXJmYWNlTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMuc2V0KGJsb2NrLmludGVyZmFjZU5hbWUsIGJsb2NrU2NoZW1hKVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtibG9jay5pbnRlcmZhY2VOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGJsb2NrU2NoZW1hXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdhcnJheSc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAuLi5maWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICAgICAgZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQuaW50ZXJmYWNlTmFtZSkge1xuICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMuc2V0KGZpZWxkLmludGVyZmFjZU5hbWUsIGZpZWxkU2NoZW1hKVxuXG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQuaW50ZXJmYWNlTmFtZX1gLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3Jvdyc6XG4gICAgICAgICAgY2FzZSAnY29sbGFwc2libGUnOiB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZFNjaGVtYSA9IGZpZWxkc1RvSlNPTlNjaGVtYShcbiAgICAgICAgICAgICAgY29sbGVjdGlvbklERmllbGRUeXBlcyxcbiAgICAgICAgICAgICAgZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhjaGlsZFNjaGVtYS5wcm9wZXJ0aWVzKS5mb3JFYWNoKChbcHJvcE5hbWUsIHByb3BTY2hlbWFdKSA9PiB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hcy5zZXQocHJvcE5hbWUsIHByb3BTY2hlbWEpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgY2hpbGRTY2hlbWEucmVxdWlyZWQuZm9yRWFjaCgocHJvcE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgcmVxdWlyZWRGaWVsZE5hbWVzLmFkZChwcm9wTmFtZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICAgICAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjaGlsZFNjaGVtYSA9IGZpZWxkc1RvSlNPTlNjaGVtYShcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICAgIHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICAgICAgICAvLyBjb3VsZCBoYXZlIGludGVyZmFjZVxuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hcy5zZXQodGFiLm5hbWUsIHtcbiAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgICAgLi4uY2hpbGRTY2hlbWEsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICByZXF1aXJlZEZpZWxkTmFtZXMuYWRkKHRhYi5uYW1lKVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGNoaWxkU2NoZW1hLnByb3BlcnRpZXMpLmZvckVhY2goKFtwcm9wTmFtZSwgcHJvcFNjaGVtYV0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hcy5zZXQocHJvcE5hbWUsIHByb3BTY2hlbWEpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBjaGlsZFNjaGVtYS5yZXF1aXJlZC5mb3JFYWNoKChwcm9wTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmVxdWlyZWRGaWVsZE5hbWVzLmFkZChwcm9wTmFtZSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdncm91cCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAuLi5maWVsZHNUb0pTT05TY2hlbWEoY29sbGVjdGlvbklERmllbGRUeXBlcywgZmllbGQuZmllbGRzLCBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQuaW50ZXJmYWNlTmFtZSkge1xuICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMuc2V0KGZpZWxkLmludGVyZmFjZU5hbWUsIGZpZWxkU2NoZW1hKVxuXG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQuaW50ZXJmYWNlTmFtZX1gLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpZWxkU2NoZW1hICYmIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICAgICAgZmllbGRTY2hlbWFzLnNldChmaWVsZC5uYW1lLCBmaWVsZFNjaGVtYSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWVsZFNjaGVtYXNcbiAgICAgIH0sIG5ldyBNYXA8c3RyaW5nLCBKU09OU2NoZW1hND4oKSksXG4gICAgKSxcbiAgICByZXF1aXJlZDogQXJyYXkuZnJvbShyZXF1aXJlZEZpZWxkTmFtZXMpLFxuICB9XG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgcGFydCBvZiB0aGUgcHVibGljIEFQSSBhbmQgaXMgZXhwb3J0ZWQgdGhyb3VnaCBwYXlsb2FkL3V0aWxpdGllc1xuZXhwb3J0IGZ1bmN0aW9uIGVudGl0eVRvSlNPTlNjaGVtYShcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gIGluY29taW5nRW50aXR5OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgU2FuaXRpemVkR2xvYmFsQ29uZmlnLFxuICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnM6IE1hcDxzdHJpbmcsIEpTT05TY2hlbWE0PixcbiAgZGVmYXVsdElEVHlwZTogJ251bWJlcicgfCAndGV4dCcsXG4pOiBKU09OU2NoZW1hNCB7XG4gIGNvbnN0IGVudGl0eTogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IFNhbml0aXplZEdsb2JhbENvbmZpZyA9IGRlZXBDb3B5T2JqZWN0KGluY29taW5nRW50aXR5KVxuICBjb25zdCB0aXRsZSA9IGVudGl0eS50eXBlc2NyaXB0Py5pbnRlcmZhY2VcbiAgICA/IGVudGl0eS50eXBlc2NyaXB0LmludGVyZmFjZVxuICAgIDogc2luZ3VsYXIodG9Xb3JkcyhlbnRpdHkuc2x1ZywgdHJ1ZSkpXG5cbiAgY29uc3QgaWRGaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhID0geyBuYW1lOiAnaWQnLCByZXF1aXJlZDogdHJ1ZSwgdHlwZTogZGVmYXVsdElEVHlwZSBhcyAndGV4dCcgfVxuICBjb25zdCBjdXN0b21JZEZpZWxkID0gZW50aXR5LmZpZWxkcy5maW5kKFxuICAgIChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJyxcbiAgKSBhcyBGaWVsZEFmZmVjdGluZ0RhdGFcblxuICBpZiAoY3VzdG9tSWRGaWVsZCAmJiBjdXN0b21JZEZpZWxkLnR5cGUgIT09ICdncm91cCcgJiYgY3VzdG9tSWRGaWVsZC50eXBlICE9PSAndGFiJykge1xuICAgIGN1c3RvbUlkRmllbGQucmVxdWlyZWQgPSB0cnVlXG4gIH0gZWxzZSB7XG4gICAgZW50aXR5LmZpZWxkcy51bnNoaWZ0KGlkRmllbGQpXG4gIH1cblxuICAvLyBtYXJrIHRpbWVzdGFtcCBmaWVsZHMgcmVxdWlyZWRcbiAgaWYgKCd0aW1lc3RhbXBzJyBpbiBlbnRpdHkgJiYgZW50aXR5LnRpbWVzdGFtcHMgIT09IGZhbHNlKSB7XG4gICAgZW50aXR5LmZpZWxkcyA9IGVudGl0eS5maWVsZHMubWFwKChmaWVsZCkgPT4ge1xuICAgICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIChmaWVsZC5uYW1lID09PSAnY3JlYXRlZEF0JyB8fCBmaWVsZC5uYW1lID09PSAndXBkYXRlZEF0JykpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZpZWxkXG4gICAgfSlcbiAgfVxuXG4gIGlmICgnYXV0aCcgaW4gZW50aXR5ICYmIGVudGl0eS5hdXRoICYmICFlbnRpdHkuYXV0aD8uZGlzYWJsZUxvY2FsU3RyYXRlZ3kpIHtcbiAgICBlbnRpdHkuZmllbGRzLnB1c2goe1xuICAgICAgbmFtZTogJ3Bhc3N3b3JkJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICB9KVxuICB9XG5cbiAgLy8gdXNlZCBmb3IgcmVsYXRpb25zaGlwIGZpZWxkcywgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gdXNlIGEgc3RyaW5nIG9yIG51bWJlciB0eXBlIGZvciB0aGUgSURcbiAgY29uc3QgY29sbGVjdGlvbklERmllbGRUeXBlczogeyBba2V5OiBzdHJpbmddOiAnbnVtYmVyJyB8ICdzdHJpbmcnIH0gPSBjb25maWcuY29sbGVjdGlvbnMucmVkdWNlKFxuICAgIChhY2MsIGNvbGxlY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IGN1c3RvbUNvbGxlY3Rpb25JZEZpZWxkID0gY29sbGVjdGlvbi5maWVsZHMuZmluZChcbiAgICAgICAgKGZpZWxkKSA9PiAnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSA9PT0gJ2lkJyxcbiAgICAgIClcblxuICAgICAgYWNjW2NvbGxlY3Rpb24uc2x1Z10gPSBkZWZhdWx0SURUeXBlID09PSAndGV4dCcgPyAnc3RyaW5nJyA6ICdudW1iZXInXG5cbiAgICAgIGlmIChjdXN0b21Db2xsZWN0aW9uSWRGaWVsZCkge1xuICAgICAgICBhY2NbY29sbGVjdGlvbi5zbHVnXSA9IGN1c3RvbUNvbGxlY3Rpb25JZEZpZWxkLnR5cGUgPT09ICdudW1iZXInID8gJ251bWJlcicgOiAnc3RyaW5nJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSxcbiAgICB7fSxcbiAgKVxuXG4gIHJldHVybiB7XG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgIHRpdGxlLFxuICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIC4uLmZpZWxkc1RvSlNPTlNjaGVtYShjb2xsZWN0aW9uSURGaWVsZFR5cGVzLCBlbnRpdHkuZmllbGRzLCBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMpLFxuICB9XG59XG5cbi8qKlxuICogVGhpcyBpcyB1c2VkIGZvciBnZW5lcmF0aW5nIHRoZSBUeXBlU2NyaXB0IHR5cGVzIChwYXlsb2FkLXR5cGVzLnRzKSB3aXRoIHRoZSBwYXlsb2FkIGdlbmVyYXRlOnR5cGVzIGNvbW1hbmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25maWdUb0pTT05TY2hlbWEoXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICBkZWZhdWx0SURUeXBlPzogJ251bWJlcicgfCAndGV4dCcsXG4pOiBKU09OU2NoZW1hNCB7XG4gIC8vIGEgbXV0YWJsZSBNYXAgdG8gc3RvcmUgY3VzdG9tIHRvcC1sZXZlbCBgaW50ZXJmYWNlTmFtZWAgdHlwZXMuIEZpZWxkcyB3aXRoIGFuIGBpbnRlcmZhY2VOYW1lYCBwcm9wZXJ0eSB3aWxsIGJlIG1vdmVkIHRvIHRoZSB0b3AtbGV2ZWwgZGVmaW5pdGlvbnMgaGVyZVxuICBjb25zdCBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnM6IE1hcDxzdHJpbmcsIEpTT05TY2hlbWE0PiA9IG5ldyBNYXAoKVxuXG4gIC8vIENvbGxlY3Rpb25zIGFuZCBHbG9iYWxzIGhhdmUgdG8gYmUgbW92ZWQgdG8gdGhlIHRvcC1sZXZlbCBkZWZpbml0aW9ucyBhcyB3ZWxsLiBSZWFzb246IFRoZSB0b3AtbGV2ZWwgdHlwZSB3aWxsIGJlIHRoZSBgQ29uZmlnYCB0eXBlIC0gd2UgZG9uJ3Qgd2FudCBhbGwgY29sbGVjdGlvbiBhbmQgZ2xvYmFsXG4gIC8vIHR5cGVzIHRvIGJlIGlubGluZWQgaW5zaWRlIHRoZSBgQ29uZmlnYCB0eXBlXG4gIGNvbnN0IGVudGl0eURlZmluaXRpb25zOiB7IFtrOiBzdHJpbmddOiBKU09OU2NoZW1hNCB9ID0gW1xuICAgIC4uLmNvbmZpZy5nbG9iYWxzLFxuICAgIC4uLmNvbmZpZy5jb2xsZWN0aW9ucyxcbiAgXS5yZWR1Y2UoKGFjYywgZW50aXR5KSA9PiB7XG4gICAgYWNjW2VudGl0eS5zbHVnXSA9IGVudGl0eVRvSlNPTlNjaGVtYShjb25maWcsIGVudGl0eSwgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLCBkZWZhdWx0SURUeXBlKVxuICAgIHJldHVybiBhY2NcbiAgfSwge30pXG5cbiAgcmV0dXJuIHtcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgZGVmaW5pdGlvbnM6IHsgLi4uZW50aXR5RGVmaW5pdGlvbnMsIC4uLk9iamVjdC5mcm9tRW50cmllcyhpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMpIH0sXG4gICAgLy8gVGhlc2UgcHJvcGVydGllcyBoZXJlIHdpbGwgYmUgdmVyeSBzaW1wbGUsIGFzIGFsbCB0aGUgY29tcGxleGl0eSBpcyBpbiB0aGUgZGVmaW5pdGlvbnMuIFRoZXNlIGFyZSBqdXN0IHRoZSBwcm9wZXJ0aWVzIGZvciB0aGUgdG9wLWxldmVsIGBDb25maWdgIHR5cGVcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBjb2xsZWN0aW9uczogZ2VuZXJhdGVFbnRpdHlTY2hlbWFzKGNvbmZpZy5jb2xsZWN0aW9ucyB8fCBbXSksXG4gICAgICBnbG9iYWxzOiBnZW5lcmF0ZUVudGl0eVNjaGVtYXMoY29uZmlnLmdsb2JhbHMgfHwgW10pLFxuICAgIH0sXG4gICAgcmVxdWlyZWQ6IFsnY29sbGVjdGlvbnMnLCAnZ2xvYmFscyddLFxuICAgIHRpdGxlOiAnQ29uZmlnJyxcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgfVxufVxuIl0sIm5hbWVzIjpbIndpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlIiwiZmllbGRzVG9KU09OU2NoZW1hIiwiZW50aXR5VG9KU09OU2NoZW1hIiwiY29uZmlnVG9KU09OU2NoZW1hIiwiZmllbGRJc1JlcXVpcmVkIiwiZmllbGQiLCJpc0NvbmRpdGlvbmFsIiwiQm9vbGVhbiIsImFkbWluIiwiY29uZGl0aW9uIiwiaXNNYXJrZWRSZXF1aXJlZCIsInJlcXVpcmVkIiwiZmllbGRBZmZlY3RzRGF0YSIsInR5cGUiLCJmaWVsZHMiLCJzb21lIiwic3ViRmllbGQiLCJ0YWJzIiwidGFiIiwiYnVpbGRPcHRpb25FbnVtcyIsIm9wdGlvbnMiLCJtYXAiLCJvcHRpb24iLCJ2YWx1ZSIsImdlbmVyYXRlRW50aXR5U2NoZW1hcyIsImVudGl0aWVzIiwicHJvcGVydGllcyIsInJlZHVjZSIsImFjYyIsInNsdWciLCIkcmVmIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJPYmplY3QiLCJrZXlzIiwiZmllbGRUeXBlIiwiaXNSZXF1aXJlZCIsImZpZWxkVHlwZXMiLCJwdXNoIiwiY29sbGVjdGlvbklERmllbGRUeXBlcyIsImludGVyZmFjZU5hbWVEZWZpbml0aW9ucyIsInJlcXVpcmVkRmllbGROYW1lcyIsIlNldCIsImZyb21FbnRyaWVzIiwiZmllbGRTY2hlbWFzIiwiYWRkIiwibmFtZSIsImZpZWxkU2NoZW1hIiwiaGFzTWFueSIsIml0ZW1zIiwiZWRpdG9yIiwib3V0cHV0U2NoZW1hIiwiZW51bSIsIm9wdGlvbkVudW1zIiwibWF4SXRlbXMiLCJtaW5JdGVtcyIsIkFycmF5IiwiaXNBcnJheSIsInJlbGF0aW9uVG8iLCJvbmVPZiIsInJlbGF0aW9uIiwiY29uc3QiLCJibG9ja3MiLCJibG9jayIsImJsb2NrRmllbGRTY2hlbWFzIiwiYmxvY2tTY2hlbWEiLCJibG9ja1R5cGUiLCJpbnRlcmZhY2VOYW1lIiwic2V0IiwiY2hpbGRTY2hlbWEiLCJlbnRyaWVzIiwiZm9yRWFjaCIsInByb3BOYW1lIiwicHJvcFNjaGVtYSIsInRhYkhhc05hbWUiLCJNYXAiLCJmcm9tIiwiY29uZmlnIiwiaW5jb21pbmdFbnRpdHkiLCJkZWZhdWx0SURUeXBlIiwiZW50aXR5IiwiZGVlcENvcHlPYmplY3QiLCJ0aXRsZSIsInR5cGVzY3JpcHQiLCJpbnRlcmZhY2UiLCJzaW5ndWxhciIsInRvV29yZHMiLCJpZEZpZWxkIiwiY3VzdG9tSWRGaWVsZCIsImZpbmQiLCJ1bnNoaWZ0IiwidGltZXN0YW1wcyIsImF1dGgiLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsImNvbGxlY3Rpb25zIiwiY29sbGVjdGlvbiIsImN1c3RvbUNvbGxlY3Rpb25JZEZpZWxkIiwiZW50aXR5RGVmaW5pdGlvbnMiLCJnbG9iYWxzIiwiZGVmaW5pdGlvbnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBc0VnQkEsMEJBQTBCO2VBQTFCQTs7SUFVQUMsa0JBQWtCO2VBQWxCQTs7SUF1WEFDLGtCQUFrQjtlQUFsQkE7O0lBdUVBQyxrQkFBa0I7ZUFBbEJBOzs7MkJBNWdCUzt1QkFPb0I7Z0NBQ2Q7OEJBQ1A7QUFFeEIsTUFBTUMsa0JBQWtCLENBQUNDO0lBQ3ZCLE1BQU1DLGdCQUFnQkMsUUFBUUYsT0FBT0csU0FBU0gsT0FBT0csT0FBT0M7SUFDNUQsSUFBSUgsZUFBZSxPQUFPO0lBRTFCLE1BQU1JLG1CQUFtQixjQUFjTCxTQUFTQSxNQUFNTSxRQUFRLEtBQUs7SUFDbkUsSUFBSUMsSUFBQUEsdUJBQWdCLEVBQUNQLFVBQVVLLGtCQUFrQixPQUFPO0lBRXhELHdEQUF3RDtJQUN4RCxJQUFJLFlBQVlMLFNBQVNBLE1BQU1RLElBQUks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
517
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSlNPTlNjaGVtYTQsIEpTT05TY2hlbWE0VHlwZU5hbWUgfSBmcm9tICdqc29uLXNjaGVtYSdcblxuaW1wb3J0IHsgc2luZ3VsYXIgfSBmcm9tICdwbHVyYWxpemUnXG5cbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnIH0gZnJvbSAnLi4vZXhwb3J0cy9jb25maWcnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEsIE9wdGlvbiB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB7IGRlZXBDb3B5T2JqZWN0IH0gZnJvbSAnLi9kZWVwQ29weU9iamVjdCdcbmltcG9ydCB7IHRvV29yZHMgfSBmcm9tICcuL2Zvcm1hdExhYmVscydcblxuY29uc3QgZmllbGRJc1JlcXVpcmVkID0gKGZpZWxkOiBGaWVsZCkgPT4ge1xuICBjb25zdCBpc0NvbmRpdGlvbmFsID0gQm9vbGVhbihmaWVsZD8uYWRtaW4gJiYgZmllbGQ/LmFkbWluPy5jb25kaXRpb24pXG4gIGlmIChpc0NvbmRpdGlvbmFsKSByZXR1cm4gZmFsc2VcblxuICBjb25zdCBpc01hcmtlZFJlcXVpcmVkID0gJ3JlcXVpcmVkJyBpbiBmaWVsZCAmJiBmaWVsZC5yZXF1aXJlZCA9PT0gdHJ1ZVxuICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgaXNNYXJrZWRSZXF1aXJlZCkgcmV0dXJuIHRydWVcblxuICAvLyBpZiBhbnkgc3ViZmllbGRzIGFyZSByZXF1aXJlZCwgdGhpcyBmaWVsZCBpcyByZXF1aXJlZFxuICBpZiAoJ2ZpZWxkcycgaW4gZmllbGQgJiYgZmllbGQudHlwZSAhPT0gJ2FycmF5Jykge1xuICAgIHJldHVybiBmaWVsZC5maWVsZHMuc29tZSgoc3ViRmllbGQpID0+IGZpZWxkSXNSZXF1aXJlZChzdWJGaWVsZCkpXG4gIH1cblxuICAvLyBpZiBhbnkgdGFiIHN1YmZpZWxkcyBoYXZlIHJlcXVpcmVkIGZpZWxkcywgdGhpcyBmaWVsZCBpcyByZXF1aXJlZFxuICBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgcmV0dXJuIGZpZWxkLnRhYnMuc29tZSgodGFiKSA9PiB7XG4gICAgICBpZiAoJ25hbWUnIGluIHRhYikge1xuICAgICAgICByZXR1cm4gdGFiLmZpZWxkcy5zb21lKChzdWJGaWVsZCkgPT4gZmllbGRJc1JlcXVpcmVkKHN1YkZpZWxkKSlcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gYnVpbGRPcHRpb25FbnVtcyhvcHRpb25zOiBPcHRpb25bXSk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIG9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcgJiYgJ3ZhbHVlJyBpbiBvcHRpb24pIHtcbiAgICAgIHJldHVybiBvcHRpb24udmFsdWVcbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9uXG4gIH0pXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlRW50aXR5U2NoZW1hcyhcbiAgZW50aXRpZXM6IChTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgU2FuaXRpemVkR2xvYmFsQ29uZmlnKVtdLFxuKTogSlNPTlNjaGVtYTQge1xuICBjb25zdCBwcm9wZXJ0aWVzID0gWy4uLmVudGl0aWVzXS5yZWR1Y2UoKGFjYywgeyBzbHVnIH0pID0+IHtcbiAgICBhY2Nbc2x1Z10gPSB7XG4gICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke3NsdWd9YCxcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjXG4gIH0sIHt9KVxuXG4gIHJldHVybiB7XG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgIHByb3BlcnRpZXMsXG4gICAgcmVxdWlyZWQ6IE9iamVjdC5rZXlzKHByb3BlcnRpZXMpLFxuICAgIHR5cGU6ICdvYmplY3QnLFxuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyBhIEpTT04gU2NoZW1hIFR5cGUgd2l0aCAnbnVsbCcgYWRkZWQgaWYgdGhlIGZpZWxkIGlzIG5vdCByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKFxuICBmaWVsZFR5cGU6IEpTT05TY2hlbWE0VHlwZU5hbWUsXG4gIGlzUmVxdWlyZWQ6IGJvb2xlYW4sXG4pOiBKU09OU2NoZW1hNFR5cGVOYW1lIHwgSlNPTlNjaGVtYTRUeXBlTmFtZVtdIHtcbiAgY29uc3QgZmllbGRUeXBlcyA9IFtmaWVsZFR5cGVdXG4gIGlmIChpc1JlcXVpcmVkKSByZXR1cm4gZmllbGRUeXBlXG4gIGZpZWxkVHlwZXMucHVzaCgnbnVsbCcpXG4gIHJldHVybiBmaWVsZFR5cGVzXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZHNUb0pTT05TY2hlbWEoXG4gIGNvbGxlY3Rpb25JREZpZWxkVHlwZXM6IHsgW2tleTogc3RyaW5nXTogJ251bWJlcicgfCAnc3RyaW5nJyB9LFxuICBmaWVsZHM6IEZpZWxkW10sXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91IHRvIGRlZmluZSBuZXcgdG9wLWxldmVsIGludGVyZmFjZXMgdGhhdCBjYW4gYmUgcmUtdXNlZCBpbiB0aGUgb3V0cHV0IHNjaGVtYS5cbiAgICovXG4gIGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+LFxuKToge1xuICBwcm9wZXJ0aWVzOiB7XG4gICAgW2s6IHN0cmluZ106IEpTT05TY2hlbWE0XG4gIH1cbiAgcmVxdWlyZWQ6IHN0cmluZ1tdXG59IHtcbiAgY29uc3QgcmVxdWlyZWRGaWVsZE5hbWVzID0gbmV3IFNldDxzdHJpbmc+KClcblxuICByZXR1cm4ge1xuICAgIHByb3BlcnRpZXM6IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIGZpZWxkcy5yZWR1Y2UoKGZpZWxkU2NoZW1hcywgZmllbGQpID0+IHtcbiAgICAgICAgY29uc3QgaXNSZXF1aXJlZCA9IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkSXNSZXF1aXJlZChmaWVsZClcbiAgICAgICAgaWYgKGlzUmVxdWlyZWQpIHJlcXVpcmVkRmllbGROYW1lcy5hZGQoZmllbGQubmFtZSlcblxuICAgICAgICBsZXQgZmllbGRTY2hlbWE6IEpTT05TY2hlbWE0XG4gICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgaXRlbXM6IHsgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7IHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdzdHJpbmcnLCBpc1JlcXVpcmVkKSB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgICAgICBjYXNlICdjb2RlJzpcbiAgICAgICAgICBjYXNlICdlbWFpbCc6XG4gICAgICAgICAgY2FzZSAnZGF0ZSc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnc3RyaW5nJywgaXNSZXF1aXJlZCkgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdudW1iZXInOiB7XG4gICAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICBpdGVtczogeyB0eXBlOiAnbnVtYmVyJyB9LFxuICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHsgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ251bWJlcicsIGlzUmVxdWlyZWQpIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnY2hlY2tib3gnOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHsgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ2Jvb2xlYW4nLCBpc1JlcXVpcmVkKSB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ2pzb24nOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgdHlwZTogWydvYmplY3QnLCAnYXJyYXknLCAnc3RyaW5nJywgJ251bWJlcicsICdib29sZWFuJywgJ251bGwnXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmljaFRleHQnOiB7XG4gICAgICAgICAgICBpZiAoZmllbGQuZWRpdG9yLm91dHB1dFNjaGVtYSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IGZpZWxkLmVkaXRvci5vdXRwdXRTY2hlbWEoe1xuICAgICAgICAgICAgICAgIGZpZWxkLFxuICAgICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyxcbiAgICAgICAgICAgICAgICBpc1JlcXVpcmVkLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gTWFpbnRhaW4gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCBleGlzdGluZyByaWNoIHRleHQgZWRpdG9yc1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3JhZGlvJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIGVudW06IGJ1aWxkT3B0aW9uRW51bXMoZmllbGQub3B0aW9ucyksXG4gICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdzdHJpbmcnLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdzZWxlY3QnOiB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25FbnVtcyA9IGJ1aWxkT3B0aW9uRW51bXMoZmllbGQub3B0aW9ucylcblxuICAgICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgIGVudW06IG9wdGlvbkVudW1zLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgZW51bTogb3B0aW9uRW51bXMsXG4gICAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ3N0cmluZycsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncG9pbnQnOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIG1heEl0ZW1zOiAyLFxuICAgICAgICAgICAgICBtaW5JdGVtczogMixcbiAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ2FycmF5JywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3JlbGF0aW9uc2hpcCc6IHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pKSB7XG4gICAgICAgICAgICAgIGlmIChmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgICBvbmVPZjogZmllbGQucmVsYXRpb25Uby5tYXAoKHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0OiByZWxhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd2YWx1ZScsICdyZWxhdGlvblRvJ10sXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICAgIG9uZU9mOiBmaWVsZC5yZWxhdGlvblRvLm1hcCgocmVsYXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdDogcmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3ZhbHVlJywgJ3JlbGF0aW9uVG8nXSxcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnb2JqZWN0JywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbklERmllbGRUeXBlc1tmaWVsZC5yZWxhdGlvblRvXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQucmVsYXRpb25Ub31gLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZShcbiAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW2ZpZWxkLnJlbGF0aW9uVG9dLFxuICAgICAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2ZpZWxkLnJlbGF0aW9uVG99YCxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3VwbG9hZCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IGNvbGxlY3Rpb25JREZpZWxkVHlwZXNbZmllbGQucmVsYXRpb25Ub10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2ZpZWxkLnJlbGF0aW9uVG99YCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFpc1JlcXVpcmVkKSBmaWVsZFNjaGVtYS5vbmVPZi5wdXNoKHsgdHlwZTogJ251bGwnIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgIG9uZU9mOiBmaWVsZC5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tGaWVsZFNjaGVtYXMgPSBmaWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICBjb25zdCBibG9ja1NjaGVtYTogSlNPTlNjaGVtYTQgPSB7XG4gICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLmJsb2NrRmllbGRTY2hlbWFzLnByb3BlcnRpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgYmxvY2tUeXBlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdDogYmxvY2suc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWydibG9ja1R5cGUnLCAuLi5ibG9ja0ZpZWxkU2NoZW1hcy5yZXF1aXJlZF0sXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBpZiAoYmxvY2suaW50ZXJmYWNlTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMuc2V0KGJsb2NrLmludGVyZmFjZU5hbWUsIGJsb2NrU2NoZW1hKVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtibG9jay5pbnRlcmZhY2VOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGJsb2NrU2NoZW1hXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdhcnJheSc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAuLi5maWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICAgICAgZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQuaW50ZXJmYWNlTmFtZSkge1xuICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMuc2V0KGZpZWxkLmludGVyZmFjZU5hbWUsIGZpZWxkU2NoZW1hKVxuXG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQuaW50ZXJmYWNlTmFtZX1gLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3Jvdyc6XG4gICAgICAgICAgY2FzZSAnY29sbGFwc2libGUnOiB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZFNjaGVtYSA9IGZpZWxkc1RvSlNPTlNjaGVtYShcbiAgICAgICAgICAgICAgY29sbGVjdGlvbklERmllbGRUeXBlcyxcbiAgICAgICAgICAgICAgZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhjaGlsZFNjaGVtYS5wcm9wZXJ0aWVzKS5mb3JFYWNoKChbcHJvcE5hbWUsIHByb3BTY2hlbWFdKSA9PiB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hcy5zZXQocHJvcE5hbWUsIHByb3BTY2hlbWEpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgY2hpbGRTY2hlbWEucmVxdWlyZWQuZm9yRWFjaCgocHJvcE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgcmVxdWlyZWRGaWVsZE5hbWVzLmFkZChwcm9wTmFtZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICAgICAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjaGlsZFNjaGVtYSA9IGZpZWxkc1RvSlNPTlNjaGVtYShcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICAgIHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICAgICAgICAvLyBjb3VsZCBoYXZlIGludGVyZmFjZVxuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hcy5zZXQodGFiLm5hbWUsIHtcbiAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgICAgLi4uY2hpbGRTY2hlbWEsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICByZXF1aXJlZEZpZWxkTmFtZXMuYWRkKHRhYi5uYW1lKVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGNoaWxkU2NoZW1hLnByb3BlcnRpZXMpLmZvckVhY2goKFtwcm9wTmFtZSwgcHJvcFNjaGVtYV0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hcy5zZXQocHJvcE5hbWUsIHByb3BTY2hlbWEpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBjaGlsZFNjaGVtYS5yZXF1aXJlZC5mb3JFYWNoKChwcm9wTmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmVxdWlyZWRGaWVsZE5hbWVzLmFkZChwcm9wTmFtZSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdncm91cCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAuLi5maWVsZHNUb0pTT05TY2hlbWEoY29sbGVjdGlvbklERmllbGRUeXBlcywgZmllbGQuZmllbGRzLCBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZmllbGQuaW50ZXJmYWNlTmFtZSkge1xuICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMuc2V0KGZpZWxkLmludGVyZmFjZU5hbWUsIGZpZWxkU2NoZW1hKVxuXG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQuaW50ZXJmYWNlTmFtZX1gLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpZWxkU2NoZW1hICYmIGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICAgICAgZmllbGRTY2hlbWFzLnNldChmaWVsZC5uYW1lLCBmaWVsZFNjaGVtYSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWVsZFNjaGVtYXNcbiAgICAgIH0sIG5ldyBNYXA8c3RyaW5nLCBKU09OU2NoZW1hND4oKSksXG4gICAgKSxcbiAgICByZXF1aXJlZDogQXJyYXkuZnJvbShyZXF1aXJlZEZpZWxkTmFtZXMpLFxuICB9XG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgcGFydCBvZiB0aGUgcHVibGljIEFQSSBhbmQgaXMgZXhwb3J0ZWQgdGhyb3VnaCBwYXlsb2FkL3V0aWxpdGllc1xuZXhwb3J0IGZ1bmN0aW9uIGVudGl0eVRvSlNPTlNjaGVtYShcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gIGluY29taW5nRW50aXR5OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgU2FuaXRpemVkR2xvYmFsQ29uZmlnLFxuICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnM6IE1hcDxzdHJpbmcsIEpTT05TY2hlbWE0PixcbiAgZGVmYXVsdElEVHlwZTogJ251bWJlcicgfCAndGV4dCcsXG4pOiBKU09OU2NoZW1hNCB7XG4gIGNvbnN0IGVudGl0eTogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IFNhbml0aXplZEdsb2JhbENvbmZpZyA9IGRlZXBDb3B5T2JqZWN0KGluY29taW5nRW50aXR5KVxuICBjb25zdCB0aXRsZSA9IGVudGl0eS50eXBlc2NyaXB0Py5pbnRlcmZhY2VcbiAgICA/IGVudGl0eS50eXBlc2NyaXB0LmludGVyZmFjZVxuICAgIDogc2luZ3VsYXIodG9Xb3JkcyhlbnRpdHkuc2x1ZywgdHJ1ZSkpXG5cbiAgY29uc3QgaWRGaWVsZDogRmllbGRBZmZlY3RpbmdEYXRhID0geyBuYW1lOiAnaWQnLCByZXF1aXJlZDogdHJ1ZSwgdHlwZTogZGVmYXVsdElEVHlwZSBhcyAndGV4dCcgfVxuICBjb25zdCBjdXN0b21JZEZpZWxkID0gZW50aXR5LmZpZWxkcy5maW5kKFxuICAgIChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJyxcbiAgKSBhcyBGaWVsZEFmZmVjdGluZ0RhdGFcblxuICBpZiAoY3VzdG9tSWRGaWVsZCAmJiBjdXN0b21JZEZpZWxkLnR5cGUgIT09ICdncm91cCcgJiYgY3VzdG9tSWRGaWVsZC50eXBlICE9PSAndGFiJykge1xuICAgIGN1c3RvbUlkRmllbGQucmVxdWlyZWQgPSB0cnVlXG4gIH0gZWxzZSB7XG4gICAgZW50aXR5LmZpZWxkcy51bnNoaWZ0KGlkRmllbGQpXG4gIH1cblxuICAvLyBtYXJrIHRpbWVzdGFtcCBmaWVsZHMgcmVxdWlyZWRcbiAgaWYgKCd0aW1lc3RhbXBzJyBpbiBlbnRpdHkgJiYgZW50aXR5LnRpbWVzdGFtcHMgIT09IGZhbHNlKSB7XG4gICAgZW50aXR5LmZpZWxkcyA9IGVudGl0eS5maWVsZHMubWFwKChmaWVsZCkgPT4ge1xuICAgICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIChmaWVsZC5uYW1lID09PSAnY3JlYXRlZEF0JyB8fCBmaWVsZC5uYW1lID09PSAndXBkYXRlZEF0JykpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZpZWxkXG4gICAgfSlcbiAgfVxuXG4gIGlmICgnYXV0aCcgaW4gZW50aXR5ICYmIGVudGl0eS5hdXRoICYmICFlbnRpdHkuYXV0aD8uZGlzYWJsZUxvY2FsU3RyYXRlZ3kpIHtcbiAgICBlbnRpdHkuZmllbGRzLnB1c2goe1xuICAgICAgbmFtZTogJ3Bhc3N3b3JkJyxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICB9KVxuICB9XG5cbiAgLy8gdXNlZCBmb3IgcmVsYXRpb25zaGlwIGZpZWxkcywgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gdXNlIGEgc3RyaW5nIG9yIG51bWJlciB0eXBlIGZvciB0aGUgSURcbiAgY29uc3QgY29sbGVjdGlvbklERmllbGRUeXBlczogeyBba2V5OiBzdHJpbmddOiAnbnVtYmVyJyB8ICdzdHJpbmcnIH0gPSBjb25maWcuY29sbGVjdGlvbnMucmVkdWNlKFxuICAgIChhY2MsIGNvbGxlY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IGN1c3RvbUNvbGxlY3Rpb25JZEZpZWxkID0gY29sbGVjdGlvbi5maWVsZHMuZmluZChcbiAgICAgICAgKGZpZWxkKSA9PiAnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSA9PT0gJ2lkJyxcbiAgICAgIClcblxuICAgICAgYWNjW2NvbGxlY3Rpb24uc2x1Z10gPSBkZWZhdWx0SURUeXBlID09PSAndGV4dCcgPyAnc3RyaW5nJyA6ICdudW1iZXInXG5cbiAgICAgIGlmIChjdXN0b21Db2xsZWN0aW9uSWRGaWVsZCkge1xuICAgICAgICBhY2NbY29sbGVjdGlvbi5zbHVnXSA9IGN1c3RvbUNvbGxlY3Rpb25JZEZpZWxkLnR5cGUgPT09ICdudW1iZXInID8gJ251bWJlcicgOiAnc3RyaW5nJ1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSxcbiAgICB7fSxcbiAgKVxuXG4gIHJldHVybiB7XG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgIHRpdGxlLFxuICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIC4uLmZpZWxkc1RvSlNPTlNjaGVtYShjb2xsZWN0aW9uSURGaWVsZFR5cGVzLCBlbnRpdHkuZmllbGRzLCBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMpLFxuICB9XG59XG5cbi8qKlxuICogVGhpcyBpcyB1c2VkIGZvciBnZW5lcmF0aW5nIHRoZSBUeXBlU2NyaXB0IHR5cGVzIChwYXlsb2FkLXR5cGVzLnRzKSB3aXRoIHRoZSBwYXlsb2FkIGdlbmVyYXRlOnR5cGVzIGNvbW1hbmQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25maWdUb0pTT05TY2hlbWEoXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICBkZWZhdWx0SURUeXBlPzogJ251bWJlcicgfCAndGV4dCcsXG4pOiBKU09OU2NoZW1hNCB7XG4gIC8vIGEgbXV0YWJsZSBNYXAgdG8gc3RvcmUgY3VzdG9tIHRvcC1sZXZlbCBgaW50ZXJmYWNlTmFtZWAgdHlwZXMuIEZpZWxkcyB3aXRoIGFuIGBpbnRlcmZhY2VOYW1lYCBwcm9wZXJ0eSB3aWxsIGJlIG1vdmVkIHRvIHRoZSB0b3AtbGV2ZWwgZGVmaW5pdGlvbnMgaGVyZVxuICBjb25zdCBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnM6IE1hcDxzdHJpbmcsIEpTT05TY2hlbWE0PiA9IG5ldyBNYXAoKVxuXG4gIC8vIENvbGxlY3Rpb25zIGFuZCBHbG9iYWxzIGhhdmUgdG8gYmUgbW92ZWQgdG8gdGhlIHRvcC1sZXZlbCBkZWZpbml0aW9ucyBhcyB3ZWxsLiBSZWFzb246IFRoZSB0b3AtbGV2ZWwgdHlwZSB3aWxsIGJlIHRoZSBgQ29uZmlnYCB0eXBlIC0gd2UgZG9uJ3Qgd2FudCBhbGwgY29sbGVjdGlvbiBhbmQgZ2xvYmFsXG4gIC8vIHR5cGVzIHRvIGJlIGlubGluZWQgaW5zaWRlIHRoZSBgQ29uZmlnYCB0eXBlXG4gIGNvbnN0IGVudGl0eURlZmluaXRpb25zOiB7IFtrOiBzdHJpbmddOiBKU09OU2NoZW1hNCB9ID0gW1xuICAgIC4uLmNvbmZpZy5nbG9iYWxzLFxuICAgIC4uLmNvbmZpZy5jb2xsZWN0aW9ucyxcbiAgXS5yZWR1Y2UoKGFjYywgZW50aXR5KSA9PiB7XG4gICAgYWNjW2VudGl0eS5zbHVnXSA9IGVudGl0eVRvSlNPTlNjaGVtYShjb25maWcsIGVudGl0eSwgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLCBkZWZhdWx0SURUeXBlKVxuICAgIHJldHVybiBhY2NcbiAgfSwge30pXG5cbiAgcmV0dXJuIHtcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgZGVmaW5pdGlvbnM6IHsgLi4uZW50aXR5RGVmaW5pdGlvbnMsIC4uLk9iamVjdC5mcm9tRW50cmllcyhpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMpIH0sXG4gICAgLy8gVGhlc2UgcHJvcGVydGllcyBoZXJlIHdpbGwgYmUgdmVyeSBzaW1wbGUsIGFzIGFsbCB0aGUgY29tcGxleGl0eSBpcyBpbiB0aGUgZGVmaW5pdGlvbnMuIFRoZXNlIGFyZSBqdXN0IHRoZSBwcm9wZXJ0aWVzIGZvciB0aGUgdG9wLWxldmVsIGBDb25maWdgIHR5cGVcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBjb2xsZWN0aW9uczogZ2VuZXJhdGVFbnRpdHlTY2hlbWFzKGNvbmZpZy5jb2xsZWN0aW9ucyB8fCBbXSksXG4gICAgICBnbG9iYWxzOiBnZW5lcmF0ZUVudGl0eVNjaGVtYXMoY29uZmlnLmdsb2JhbHMgfHwgW10pLFxuICAgIH0sXG4gICAgcmVxdWlyZWQ6IFsnY29sbGVjdGlvbnMnLCAnZ2xvYmFscyddLFxuICAgIHRpdGxlOiAnQ29uZmlnJyxcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImNvbmZpZ1RvSlNPTlNjaGVtYSIsImVudGl0eVRvSlNPTlNjaGVtYSIsImZpZWxkc1RvSlNPTlNjaGVtYSIsIndpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlIiwiZmllbGRJc1JlcXVpcmVkIiwiZmllbGQiLCJpc0NvbmRpdGlvbmFsIiwiQm9vbGVhbiIsImFkbWluIiwiY29uZGl0aW9uIiwiaXNNYXJrZWRSZXF1aXJlZCIsInJlcXVpcmVkIiwiZmllbGRBZmZlY3RzRGF0YSIsInR5cGUiLCJmaWVsZHMiLCJzb21lIiwic3ViRmllbGQiLCJ0YWJzIiwidGFiIiwiYnVpbGRPcHRpb25FbnVtcyIsIm9wdGlvbnMiLCJtYXAiLCJvcHRpb24iLCJ2YWx1ZSIsImdlbmVyYXRlRW50aXR5U2NoZW1hcyIsImVudGl0aWVzIiwicHJvcGVydGllcyIsInJlZHVjZSIsImFjYyIsInNsdWciLCIkcmVmIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJPYmplY3QiLCJrZXlzIiwiZmllbGRUeXBlIiwiaXNSZXF1aXJlZCIsImZpZWxkVHlwZXMiLCJwdXNoIiwiY29sbGVjdGlvbklERmllbGRUeXBlcyIsImludGVyZmFjZU5hbWVEZWZpbml0aW9ucyIsInJlcXVpcmVkRmllbGROYW1lcyIsIlNldCIsImZyb21FbnRyaWVzIiwiZmllbGRTY2hlbWFzIiwiYWRkIiwibmFtZSIsImZpZWxkU2NoZW1hIiwiaGFzTWFueSIsIml0ZW1zIiwiZWRpdG9yIiwib3V0cHV0U2NoZW1hIiwiZW51bSIsIm9wdGlvbkVudW1zIiwibWF4SXRlbXMiLCJtaW5JdGVtcyIsIkFycmF5IiwiaXNBcnJheSIsInJlbGF0aW9uVG8iLCJvbmVPZiIsInJlbGF0aW9uIiwiY29uc3QiLCJibG9ja3MiLCJibG9jayIsImJsb2NrRmllbGRTY2hlbWFzIiwiYmxvY2tTY2hlbWEiLCJibG9ja1R5cGUiLCJpbnRlcmZhY2VOYW1lIiwic2V0IiwiY2hpbGRTY2hlbWEiLCJlbnRyaWVzIiwiZm9yRWFjaCIsInByb3BOYW1lIiwicHJvcFNjaGVtYSIsInRhYkhhc05hbWUiLCJNYXAiLCJmcm9tIiwiY29uZmlnIiwiaW5jb21pbmdFbnRpdHkiLCJkZWZhdWx0SURUeXBlIiwiZW50aXR5IiwiZGVlcENvcHlPYmplY3QiLCJ0aXRsZSIsInR5cGVzY3JpcHQiLCJpbnRlcmZhY2UiLCJzaW5ndWxhciIsInRvV29yZHMiLCJpZEZpZWxkIiwiY3VzdG9tSWRGaWVsZCIsImZpbmQiLCJ1bnNoaWZ0IiwidGltZXN0YW1wcyIsImF1dGgiLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsImNvbGxlY3Rpb25zIiwiY29sbGVjdGlvbiIsImN1c3RvbUNvbGxlY3Rpb25JZEZpZWxkIiwiZW50aXR5RGVmaW5pdGlvbnMiLCJnbG9iYWxzIiwiZGVmaW5pdGlvbnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBOGdCZ0JBLGtCQUFrQjtlQUFsQkE7O0lBdkVBQyxrQkFBa0I7ZUFBbEJBOztJQXZYQUMsa0JBQWtCO2VBQWxCQTs7SUFWQUMsMEJBQTBCO2VBQTFCQTs7OzJCQXBFUzt1QkFPb0I7Z0NBQ2Q7OEJBQ1A7QUFFeEIsTUFBTUMsa0JBQWtCLENBQUNDO0lBQ3ZCLE1BQU1DLGdCQUFnQkMsUUFBUUYsT0FBT0csU0FBU0gsT0FBT0csT0FBT0M7SUFDNUQsSUFBSUgsZUFBZSxPQUFPO0lBRTFCLE1BQU1JLG1CQUFtQixjQUFjTCxTQUFTQSxNQUFNTSxRQUFRLEtBQUs7SUFDbkUsSUFBSUMsSUFBQUEsdUJBQWdCLEVBQUNQLFVBQVVLLGtCQUFrQixPQUFPO0lBRXhELHdEQUF3RDtJQUN4RCxJQUFJLFlBQVlMLFNBQVNBLE1BQU1RLElBQUks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
@@ -41,7 +41,9 @@ function _interop_require_wildcard(obj, nodeInterop) {
41
41
  if (cache && cache.has(obj)) {
42
42
  return cache.get(obj);
43
43
  }
44
- var newObj = {};
44
+ var newObj = {
45
+ __proto__: null
46
+ };
45
47
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
46
48
  for(var key in obj){
47
49
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -94,4 +96,4 @@ const formatNames = (slug)=>{
94
96
  };
95
97
  };
96
98
 
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZm9ybWF0TGFiZWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwbHVyYWxpemUsIHsgaXNQbHVyYWwsIHNpbmd1bGFyIH0gZnJvbSAncGx1cmFsaXplJ1xuXG5jb25zdCBjYXBpdGFsaXplRmlyc3RMZXR0ZXIgPSAoc3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgc3RyaW5nLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgc3RyaW5nLnNsaWNlKDEpXG5cbmNvbnN0IHRvV29yZHMgPSAoaW5wdXRTdHJpbmc6IHN0cmluZywgam9pbldvcmRzID0gZmFsc2UpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBub3ROdWxsU3RyaW5nID0gaW5wdXRTdHJpbmcgfHwgJydcbiAgY29uc3QgdHJpbW1lZFN0cmluZyA9IG5vdE51bGxTdHJpbmcudHJpbSgpXG4gIGNvbnN0IGFycmF5T2ZTdHJpbmdzID0gdHJpbW1lZFN0cmluZy5zcGxpdCgvW1xccy1dLylcblxuICBjb25zdCBzcGxpdFN0cmluZ3NBcnJheSA9IFtdXG4gIGFycmF5T2ZTdHJpbmdzLmZvckVhY2goKHRlbXBTdHJpbmcpID0+IHtcbiAgICBpZiAodGVtcFN0cmluZyAhPT0gJycpIHtcbiAgICAgIGNvbnN0IHNwbGl0V29yZHMgPSB0ZW1wU3RyaW5nLnNwbGl0KC8oPz1bQS1aXSkvKS5qb2luKCcgJylcbiAgICAgIHNwbGl0U3RyaW5nc0FycmF5LnB1c2goY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHNwbGl0V29yZHMpKVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gam9pbldvcmRzID8gc3BsaXRTdHJpbmdzQXJyYXkuam9pbignJykucmVwbGFjZSgvXFxzL2csICcnKSA6IHNwbGl0U3RyaW5nc0FycmF5LmpvaW4oJyAnKVxufVxuXG5jb25zdCBmb3JtYXRMYWJlbHMgPSAoc2x1Zzogc3RyaW5nKTogeyBwbHVyYWw6IHN0cmluZzsgc2luZ3VsYXI6IHN0cmluZyB9ID0+IHtcbiAgY29uc3Qgd29yZHMgPSB0b1dvcmRzKHNsdWcpXG4gIHJldHVybiBpc1BsdXJhbChzbHVnKVxuICAgID8ge1xuICAgICAgICBwbHVyYWw6IHdvcmRzLFxuICAgICAgICBzaW5ndWxhcjogc2luZ3VsYXIod29yZHMpLFxuICAgICAgfVxuICAgIDoge1xuICAgICAgICBwbHVyYWw6IHBsdXJhbGl6ZSh3b3JkcyksXG4gICAgICAgIHNpbmd1bGFyOiB3b3JkcyxcbiAgICAgIH1cbn1cblxuY29uc3QgZm9ybWF0TmFtZXMgPSAoc2x1Zzogc3RyaW5nKTogeyBwbHVyYWw6IHN0cmluZzsgc2luZ3VsYXI6IHN0cmluZyB9ID0+IHtcbiAgY29uc3Qgd29yZHMgPSB0b1dvcmRzKHNsdWcsIHRydWUpXG4gIHJldHVybiBpc1BsdXJhbChzbHVnKVxuICAgID8ge1xuICAgICAgICBwbHVyYWw6IHdvcmRzLFxuICAgICAgICBzaW5ndWxhcjogc2luZ3VsYXIod29yZHMpLFxuICAgICAgfVxuICAgIDoge1xuICAgICAgICBwbHVyYWw6IHBsdXJhbGl6ZSh3b3JkcyksXG4gICAgICAgIHNpbmd1bGFyOiB3b3JkcyxcbiAgICAgIH1cbn1cblxuZXhwb3J0IHsgZm9ybWF0TGFiZWxzLCBmb3JtYXROYW1lcywgdG9Xb3JkcyB9XG4iXSwibmFtZXMiOlsiZm9ybWF0TGFiZWxzIiwiZm9ybWF0TmFtZXMiLCJ0b1dvcmRzIiwiY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwic3RyaW5nIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsImlucHV0U3RyaW5nIiwiam9pbldvcmRzIiwibm90TnVsbFN0cmluZyIsInRyaW1tZWRTdHJpbmciLCJ0cmltIiwiYXJyYXlPZlN0cmluZ3MiLCJzcGxpdCIsInNwbGl0U3RyaW5nc0FycmF5IiwiZm9yRWFjaCIsInRlbXBTdHJpbmciLCJzcGxpdFdvcmRzIiwiam9pbiIsInB1c2giLCJyZXBsYWNlIiwic2x1ZyIsIndvcmRzIiwiaXNQbHVyYWwiLCJwbHVyYWwiLCJzaW5ndWxhciIsInBsdXJhbGl6ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUErQ1NBLFlBQVk7ZUFBWkE7O0lBQWNDLFdBQVc7ZUFBWEE7O0lBQWFDLE9BQU87ZUFBUEE7OzttRUEvQ1U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUMsTUFBTUMsd0JBQXdCLENBQUNDLFNBQzdCQSxPQUFPQyxNQUFNLENBQUMsR0FBR0MsV0FBVyxLQUFLRixPQUFPRyxLQUFLLENBQUM7QUFFaEQsTUFBTUwsVUFBVSxDQUFDTSxhQUFxQkMsWUFBWSxLQUFLO0lBQ3JELE1BQU1DLGdCQUFnQkYsZUFBZTtJQUNyQyxNQUFNRyxnQkFBZ0JELGNBQWNFLElBQUk7SUFDeEMsTUFBTUMsaUJBQWlCRixjQUFjRyxLQUFLLENBQUM7SUFFM0MsTUFBTUMsb0JBQW9CLEVBQUU7SUFDNUJGLGVBQWVHLE9BQU8sQ0FBQyxDQUFDQztRQUN0QixJQUFJQSxlQUFlLElBQUk7WUFDckIsTUFBTUMsYUFBYUQsV0FBV0gsS0FBSyxDQUFDLGFBQWFLLElBQUksQ0FBQztZQUN0REosa0JBQWtCSyxJQUFJLENBQUNqQixzQkFBc0JlO1FBQy9DO0lBQ0Y7SUFFQSxPQUFPVCxZQUFZTSxrQkFBa0JJLElBQUksQ0FBQyxJQUFJRSxPQUFPLENBQUMsT0FBTyxNQUFNTixrQkFBa0JJLElBQUksQ0FBQztBQUM1RjtBQUVBLE1BQU1uQixlQUFlLENBQUNzQjtJQUNwQixNQUFNQyxRQUFRckIsUUFBUW9CO0lBQ3RCLE9BQU9FLElBQUFBLG1CQUFRLEVBQUNGLFFBQ1o7UUFDRUcsUUFBUUY7UUFDUkcsVUFBVUEsSUFBQUEsbUJBQVEsRUFBQ0g7SUFDckIsSUFDQTtRQUNFRSxRQUFRRSxJQUFBQSxrQkFBUyxFQUFDSjtRQUNsQkcsVUFBVUg7SUFDWjtBQUNOO0FBRUEsTUFBTXRCLGNBQWMsQ0FBQ3FCO0lBQ25CLE1BQU1DLFFBQVFyQixRQUFRb0IsTUFBTTtJQUM1QixPQUFPRSxJQUFBQSxtQkFBUSxFQUFDRixRQUNaO1FBQ0VHLFFBQVFGO1FBQ1JHLFVBQVVBLElBQUFBLG1CQUFRLEVBQUNIO0lBQ3JCLElBQ0E7UUFDRUUsUUFBUUUsSUFBQUEsa0JBQVMsRUFBQ0o7UUFDbEJHLFVBQVVIO0lBQ1o7QUFDTiJ9
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZm9ybWF0TGFiZWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwbHVyYWxpemUsIHsgaXNQbHVyYWwsIHNpbmd1bGFyIH0gZnJvbSAncGx1cmFsaXplJ1xuXG5jb25zdCBjYXBpdGFsaXplRmlyc3RMZXR0ZXIgPSAoc3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgc3RyaW5nLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgc3RyaW5nLnNsaWNlKDEpXG5cbmNvbnN0IHRvV29yZHMgPSAoaW5wdXRTdHJpbmc6IHN0cmluZywgam9pbldvcmRzID0gZmFsc2UpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBub3ROdWxsU3RyaW5nID0gaW5wdXRTdHJpbmcgfHwgJydcbiAgY29uc3QgdHJpbW1lZFN0cmluZyA9IG5vdE51bGxTdHJpbmcudHJpbSgpXG4gIGNvbnN0IGFycmF5T2ZTdHJpbmdzID0gdHJpbW1lZFN0cmluZy5zcGxpdCgvW1xccy1dLylcblxuICBjb25zdCBzcGxpdFN0cmluZ3NBcnJheSA9IFtdXG4gIGFycmF5T2ZTdHJpbmdzLmZvckVhY2goKHRlbXBTdHJpbmcpID0+IHtcbiAgICBpZiAodGVtcFN0cmluZyAhPT0gJycpIHtcbiAgICAgIGNvbnN0IHNwbGl0V29yZHMgPSB0ZW1wU3RyaW5nLnNwbGl0KC8oPz1bQS1aXSkvKS5qb2luKCcgJylcbiAgICAgIHNwbGl0U3RyaW5nc0FycmF5LnB1c2goY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHNwbGl0V29yZHMpKVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gam9pbldvcmRzID8gc3BsaXRTdHJpbmdzQXJyYXkuam9pbignJykucmVwbGFjZSgvXFxzL2csICcnKSA6IHNwbGl0U3RyaW5nc0FycmF5LmpvaW4oJyAnKVxufVxuXG5jb25zdCBmb3JtYXRMYWJlbHMgPSAoc2x1Zzogc3RyaW5nKTogeyBwbHVyYWw6IHN0cmluZzsgc2luZ3VsYXI6IHN0cmluZyB9ID0+IHtcbiAgY29uc3Qgd29yZHMgPSB0b1dvcmRzKHNsdWcpXG4gIHJldHVybiBpc1BsdXJhbChzbHVnKVxuICAgID8ge1xuICAgICAgICBwbHVyYWw6IHdvcmRzLFxuICAgICAgICBzaW5ndWxhcjogc2luZ3VsYXIod29yZHMpLFxuICAgICAgfVxuICAgIDoge1xuICAgICAgICBwbHVyYWw6IHBsdXJhbGl6ZSh3b3JkcyksXG4gICAgICAgIHNpbmd1bGFyOiB3b3JkcyxcbiAgICAgIH1cbn1cblxuY29uc3QgZm9ybWF0TmFtZXMgPSAoc2x1Zzogc3RyaW5nKTogeyBwbHVyYWw6IHN0cmluZzsgc2luZ3VsYXI6IHN0cmluZyB9ID0+IHtcbiAgY29uc3Qgd29yZHMgPSB0b1dvcmRzKHNsdWcsIHRydWUpXG4gIHJldHVybiBpc1BsdXJhbChzbHVnKVxuICAgID8ge1xuICAgICAgICBwbHVyYWw6IHdvcmRzLFxuICAgICAgICBzaW5ndWxhcjogc2luZ3VsYXIod29yZHMpLFxuICAgICAgfVxuICAgIDoge1xuICAgICAgICBwbHVyYWw6IHBsdXJhbGl6ZSh3b3JkcyksXG4gICAgICAgIHNpbmd1bGFyOiB3b3JkcyxcbiAgICAgIH1cbn1cblxuZXhwb3J0IHsgZm9ybWF0TGFiZWxzLCBmb3JtYXROYW1lcywgdG9Xb3JkcyB9XG4iXSwibmFtZXMiOlsiZm9ybWF0TGFiZWxzIiwiZm9ybWF0TmFtZXMiLCJ0b1dvcmRzIiwiY2FwaXRhbGl6ZUZpcnN0TGV0dGVyIiwic3RyaW5nIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsImlucHV0U3RyaW5nIiwiam9pbldvcmRzIiwibm90TnVsbFN0cmluZyIsInRyaW1tZWRTdHJpbmciLCJ0cmltIiwiYXJyYXlPZlN0cmluZ3MiLCJzcGxpdCIsInNwbGl0U3RyaW5nc0FycmF5IiwiZm9yRWFjaCIsInRlbXBTdHJpbmciLCJzcGxpdFdvcmRzIiwiam9pbiIsInB1c2giLCJyZXBsYWNlIiwic2x1ZyIsIndvcmRzIiwiaXNQbHVyYWwiLCJwbHVyYWwiLCJzaW5ndWxhciIsInBsdXJhbGl6ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUErQ1NBLFlBQVk7ZUFBWkE7O0lBQWNDLFdBQVc7ZUFBWEE7O0lBQWFDLE9BQU87ZUFBUEE7OzttRUEvQ1U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU5QyxNQUFNQyx3QkFBd0IsQ0FBQ0MsU0FDN0JBLE9BQU9DLE1BQU0sQ0FBQyxHQUFHQyxXQUFXLEtBQUtGLE9BQU9HLEtBQUssQ0FBQztBQUVoRCxNQUFNTCxVQUFVLENBQUNNLGFBQXFCQyxZQUFZLEtBQUs7SUFDckQsTUFBTUMsZ0JBQWdCRixlQUFlO0lBQ3JDLE1BQU1HLGdCQUFnQkQsY0FBY0UsSUFBSTtJQUN4QyxNQUFNQyxpQkFBaUJGLGNBQWNHLEtBQUssQ0FBQztJQUUzQyxNQUFNQyxvQkFBb0IsRUFBRTtJQUM1QkYsZUFBZUcsT0FBTyxDQUFDLENBQUNDO1FBQ3RCLElBQUlBLGVBQWUsSUFBSTtZQUNyQixNQUFNQyxhQUFhRCxXQUFXSCxLQUFLLENBQUMsYUFBYUssSUFBSSxDQUFDO1lBQ3RESixrQkFBa0JLLElBQUksQ0FBQ2pCLHNCQUFzQmU7UUFDL0M7SUFDRjtJQUVBLE9BQU9ULFlBQVlNLGtCQUFrQkksSUFBSSxDQUFDLElBQUlFLE9BQU8sQ0FBQyxPQUFPLE1BQU1OLGtCQUFrQkksSUFBSSxDQUFDO0FBQzVGO0FBRUEsTUFBTW5CLGVBQWUsQ0FBQ3NCO0lBQ3BCLE1BQU1DLFFBQVFyQixRQUFRb0I7SUFDdEIsT0FBT0UsSUFBQUEsbUJBQVEsRUFBQ0YsUUFDWjtRQUNFRyxRQUFRRjtRQUNSRyxVQUFVQSxJQUFBQSxtQkFBUSxFQUFDSDtJQUNyQixJQUNBO1FBQ0VFLFFBQVFFLElBQUFBLGtCQUFTLEVBQUNKO1FBQ2xCRyxVQUFVSDtJQUNaO0FBQ047QUFFQSxNQUFNdEIsY0FBYyxDQUFDcUI7SUFDbkIsTUFBTUMsUUFBUXJCLFFBQVFvQixNQUFNO0lBQzVCLE9BQU9FLElBQUFBLG1CQUFRLEVBQUNGLFFBQ1o7UUFDRUcsUUFBUUY7UUFDUkcsVUFBVUEsSUFBQUEsbUJBQVEsRUFBQ0g7SUFDckIsSUFDQTtRQUNFRSxRQUFRRSxJQUFBQSxrQkFBUyxFQUFDSjtRQUNsQkcsVUFBVUg7SUFDWjtBQUNOIn0=
@@ -9,14 +9,14 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
+ default: function() {
13
+ return _default;
14
+ },
12
15
  defaultLoggerOptions: function() {
13
16
  return defaultLoggerOptions;
14
17
  },
15
18
  prettySyncLoggerDestination: function() {
16
19
  return prettySyncLoggerDestination;
17
- },
18
- default: function() {
19
- return _default;
20
20
  }
21
21
  });
22
22
  const _pino = /*#__PURE__*/ _interop_require_default(require("pino"));
@@ -49,4 +49,4 @@ const getLogger = (name = 'payload', options, destination)=>(0, _pino.default)({
49
49
  }, destination);
50
50
  const _default = getLogger;
51
51
 
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbG9nZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwaW5vIGZyb20gJ3Bpbm8nXG5pbXBvcnQgcHJldHRpZmllciBmcm9tICdwaW5vLXByZXR0eSdcblxuZXhwb3J0IHR5cGUgUGF5bG9hZExvZ2dlciA9IHBpbm8uTG9nZ2VyXG5cbmNvbnN0IHByZXR0eU9wdGlvbnMgPSB7XG4gIGNvbG9yaXplOiB0cnVlLFxuICBpZ25vcmU6ICdwaWQsaG9zdG5hbWUnLFxuICB0cmFuc2xhdGVUaW1lOiAnU1lTOkhIOk1NOnNzJyxcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2dnZXJPcHRpb25zOiBwaW5vLkxvZ2dlck9wdGlvbnMgPSB7XG4gIHRyYW5zcG9ydDoge1xuICAgIG9wdGlvbnM6IHByZXR0eU9wdGlvbnMsXG4gICAgdGFyZ2V0OiAncGluby1wcmV0dHknLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgcHJldHR5U3luY0xvZ2dlckRlc3RpbmF0aW9uID0gcHJldHRpZmllcih7XG4gIC4uLnByZXR0eU9wdGlvbnMsXG4gIGRlc3RpbmF0aW9uOiAxLCAvLyBzdGRvdXRcbiAgc3luYzogdHJ1ZSxcbn0pXG5cbmNvbnN0IGdldExvZ2dlciA9IChcbiAgbmFtZSA9ICdwYXlsb2FkJyxcbiAgb3B0aW9ucz86IHBpbm8uTG9nZ2VyT3B0aW9ucyxcbiAgZGVzdGluYXRpb24/OiBwaW5vLkRlc3RpbmF0aW9uU3RyZWFtLFxuKTogUGF5bG9hZExvZ2dlciA9PlxuICBwaW5vKFxuICAgIHtcbiAgICAgIG5hbWU6IG9wdGlvbnM/Lm5hbWUgfHwgbmFtZSxcbiAgICAgIGVuYWJsZWQ6IHByb2Nlc3MuZW52LkRJU0FCTEVfTE9HR0lORyAhPT0gJ3RydWUnLFxuICAgICAgLi4uKG9wdGlvbnMgfHwgZGVmYXVsdExvZ2dlck9wdGlvbnMpLFxuICAgIH0sXG4gICAgZGVzdGluYXRpb24sXG4gIClcblxuZXhwb3J0IGRlZmF1bHQgZ2V0TG9nZ2VyXG4iXSwibmFtZXMiOlsiZGVmYXVsdExvZ2dlck9wdGlvbnMiLCJwcmV0dHlTeW5jTG9nZ2VyRGVzdGluYXRpb24iLCJwcmV0dHlPcHRpb25zIiwiY29sb3JpemUiLCJpZ25vcmUiLCJ0cmFuc2xhdGVUaW1lIiwidHJhbnNwb3J0Iiwib3B0aW9ucyIsInRhcmdldCIsInByZXR0aWZpZXIiLCJkZXN0aW5hdGlvbiIsInN5bmMiLCJnZXRMb2dnZXIiLCJuYW1lIiwicGlubyIsImVuYWJsZWQiLCJwcm9jZXNzIiwiZW52IiwiRElTQUJMRV9MT0dHSU5HIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQVdhQSxvQkFBb0I7ZUFBcEJBOztJQU9BQywyQkFBMkI7ZUFBM0JBOztJQW9CYixPQUF3QjtlQUF4Qjs7OzZEQXRDaUI7bUVBQ007Ozs7OztBQUl2QixNQUFNQyxnQkFBZ0I7SUFDcEJDLFVBQVU7SUFDVkMsUUFBUTtJQUNSQyxlQUFlO0FBQ2pCO0FBRU8sTUFBTUwsdUJBQTJDO0lBQ3RETSxXQUFXO1FBQ1RDLFNBQVNMO1FBQ1RNLFFBQVE7SUFDVjtBQUNGO0FBRU8sTUFBTVAsOEJBQThCUSxJQUFBQSxtQkFBVSxFQUFDO0lBQ3BELEdBQUdQLGFBQWE7SUFDaEJRLGFBQWE7SUFDYkMsTUFBTTtBQUNSO0FBRUEsTUFBTUMsWUFBWSxDQUNoQkMsT0FBTyxTQUFTLEVBQ2hCTixTQUNBRyxjQUVBSSxJQUFBQSxhQUFJLEVBQ0Y7UUFDRUQsTUFBTU4sU0FBU00sUUFBUUE7UUFDdkJFLFNBQVNDLFFBQVFDLEdBQUcsQ0FBQ0MsZUFBZSxLQUFLO1FBQ3pDLEdBQUlYLFdBQVdQLG9CQUFvQjtJQUNyQyxHQUNBVTtNQUdKLFdBQWVFIn0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbG9nZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwaW5vIGZyb20gJ3Bpbm8nXG5pbXBvcnQgcHJldHRpZmllciBmcm9tICdwaW5vLXByZXR0eSdcblxuZXhwb3J0IHR5cGUgUGF5bG9hZExvZ2dlciA9IHBpbm8uTG9nZ2VyXG5cbmNvbnN0IHByZXR0eU9wdGlvbnMgPSB7XG4gIGNvbG9yaXplOiB0cnVlLFxuICBpZ25vcmU6ICdwaWQsaG9zdG5hbWUnLFxuICB0cmFuc2xhdGVUaW1lOiAnU1lTOkhIOk1NOnNzJyxcbn1cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2dnZXJPcHRpb25zOiBwaW5vLkxvZ2dlck9wdGlvbnMgPSB7XG4gIHRyYW5zcG9ydDoge1xuICAgIG9wdGlvbnM6IHByZXR0eU9wdGlvbnMsXG4gICAgdGFyZ2V0OiAncGluby1wcmV0dHknLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgcHJldHR5U3luY0xvZ2dlckRlc3RpbmF0aW9uID0gcHJldHRpZmllcih7XG4gIC4uLnByZXR0eU9wdGlvbnMsXG4gIGRlc3RpbmF0aW9uOiAxLCAvLyBzdGRvdXRcbiAgc3luYzogdHJ1ZSxcbn0pXG5cbmNvbnN0IGdldExvZ2dlciA9IChcbiAgbmFtZSA9ICdwYXlsb2FkJyxcbiAgb3B0aW9ucz86IHBpbm8uTG9nZ2VyT3B0aW9ucyxcbiAgZGVzdGluYXRpb24/OiBwaW5vLkRlc3RpbmF0aW9uU3RyZWFtLFxuKTogUGF5bG9hZExvZ2dlciA9PlxuICBwaW5vKFxuICAgIHtcbiAgICAgIG5hbWU6IG9wdGlvbnM/Lm5hbWUgfHwgbmFtZSxcbiAgICAgIGVuYWJsZWQ6IHByb2Nlc3MuZW52LkRJU0FCTEVfTE9HR0lORyAhPT0gJ3RydWUnLFxuICAgICAgLi4uKG9wdGlvbnMgfHwgZGVmYXVsdExvZ2dlck9wdGlvbnMpLFxuICAgIH0sXG4gICAgZGVzdGluYXRpb24sXG4gIClcblxuZXhwb3J0IGRlZmF1bHQgZ2V0TG9nZ2VyXG4iXSwibmFtZXMiOlsiZGVmYXVsdExvZ2dlck9wdGlvbnMiLCJwcmV0dHlTeW5jTG9nZ2VyRGVzdGluYXRpb24iLCJwcmV0dHlPcHRpb25zIiwiY29sb3JpemUiLCJpZ25vcmUiLCJ0cmFuc2xhdGVUaW1lIiwidHJhbnNwb3J0Iiwib3B0aW9ucyIsInRhcmdldCIsInByZXR0aWZpZXIiLCJkZXN0aW5hdGlvbiIsInN5bmMiLCJnZXRMb2dnZXIiLCJuYW1lIiwicGlubyIsImVuYWJsZWQiLCJwcm9jZXNzIiwiZW52IiwiRElTQUJMRV9MT0dHSU5HIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQXNDQSxPQUF3QjtlQUF4Qjs7SUEzQmFBLG9CQUFvQjtlQUFwQkE7O0lBT0FDLDJCQUEyQjtlQUEzQkE7Ozs2REFsQkk7bUVBQ007Ozs7OztBQUl2QixNQUFNQyxnQkFBZ0I7SUFDcEJDLFVBQVU7SUFDVkMsUUFBUTtJQUNSQyxlQUFlO0FBQ2pCO0FBRU8sTUFBTUwsdUJBQTJDO0lBQ3RETSxXQUFXO1FBQ1RDLFNBQVNMO1FBQ1RNLFFBQVE7SUFDVjtBQUNGO0FBRU8sTUFBTVAsOEJBQThCUSxJQUFBQSxtQkFBVSxFQUFDO0lBQ3BELEdBQUdQLGFBQWE7SUFDaEJRLGFBQWE7SUFDYkMsTUFBTTtBQUNSO0FBRUEsTUFBTUMsWUFBWSxDQUNoQkMsT0FBTyxTQUFTLEVBQ2hCTixTQUNBRyxjQUVBSSxJQUFBQSxhQUFJLEVBQ0Y7UUFDRUQsTUFBTU4sU0FBU00sUUFBUUE7UUFDdkJFLFNBQVNDLFFBQVFDLEdBQUcsQ0FBQ0MsZUFBZSxLQUFLO1FBQ3pDLEdBQUlYLFdBQVdQLG9CQUFvQjtJQUNyQyxHQUNBVTtNQUdKLFdBQWVFIn0=
@@ -9,11 +9,11 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- sendEvent: function() {
13
- return sendEvent;
14
- },
15
12
  getPayloadVersion: function() {
16
13
  return getPayloadVersion;
14
+ },
15
+ sendEvent: function() {
16
+ return sendEvent;
17
17
  }
18
18
  });
19
19
  const _child_process = require("child_process");
@@ -96,4 +96,4 @@ const getPayloadVersion = (packageJSON)=>{
96
96
  return packageJSON?.dependencies?.payload ?? '';
97
97
  };
98
98
 
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvdGVsZW1ldHJ5L2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSAnY2hpbGRfcHJvY2VzcydcbmltcG9ydCBDb25mIGZyb20gJ2NvbmYnXG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0bydcbmltcG9ydCBmaW5kVXAgZnJvbSAnZmluZC11cCdcbmltcG9ydCBmcyBmcm9tICdmcydcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQWRtaW5Jbml0RXZlbnQgfSBmcm9tICcuL2V2ZW50cy9hZG1pbkluaXQnXG5pbXBvcnQgdHlwZSB7IFNlcnZlckluaXRFdmVudCB9IGZyb20gJy4vZXZlbnRzL3NlcnZlckluaXQnXG5cbmltcG9ydCB7IG9uZVdheUhhc2ggfSBmcm9tICcuL29uZVdheUhhc2gnXG5cbmV4cG9ydCB0eXBlIEJhc2VFdmVudCA9IHtcbiAgZW52SUQ6IHN0cmluZ1xuICBub2RlRW52OiBzdHJpbmdcbiAgbm9kZVZlcnNpb246IHN0cmluZ1xuICBwYXlsb2FkVmVyc2lvbjogc3RyaW5nXG4gIHByb2plY3RJRDogc3RyaW5nXG59XG5cbnR5cGUgUGFja2FnZUpTT04gPSB7XG4gIGRlcGVuZGVuY2llczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPlxuICBuYW1lOiBzdHJpbmdcbn1cblxudHlwZSBUZWxlbWV0cnlFdmVudCA9IEFkbWluSW5pdEV2ZW50IHwgU2VydmVySW5pdEV2ZW50XG5cbnR5cGUgQXJncyA9IHtcbiAgZXZlbnQ6IFRlbGVtZXRyeUV2ZW50XG4gIHBheWxvYWQ6IFBheWxvYWRcbn1cblxuZXhwb3J0IGNvbnN0IHNlbmRFdmVudCA9IGFzeW5jICh7IGV2ZW50LCBwYXlsb2FkIH06IEFyZ3MpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgaWYgKHBheWxvYWQuY29uZmlnLnRlbGVtZXRyeSAhPT0gZmFsc2UpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFja2FnZUpTT04gPSBhd2FpdCBnZXRQYWNrYWdlSlNPTigpXG5cbiAgICAgIGNvbnN0IGJhc2VFdmVudDogQmFzZUV2ZW50ID0ge1xuICAgICAgICBlbnZJRDogZ2V0RW52SUQoKSxcbiAgICAgICAgbm9kZUVudjogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgfHwgJ2RldmVsb3BtZW50JyxcbiAgICAgICAgbm9kZVZlcnNpb246IHByb2Nlc3MudmVyc2lvbixcbiAgICAgICAgcGF5bG9hZFZlcnNpb246IGdldFBheWxvYWRWZXJzaW9uKHBhY2thZ2VKU09OKSxcbiAgICAgICAgcHJvamVjdElEOiBnZXRQcm9qZWN0SUQocGF5bG9hZCwgcGFja2FnZUpTT04pLFxuICAgICAgfVxuXG4gICAgICBhd2FpdCBmZXRjaCgnaHR0cHM6Ly90ZWxlbWV0cnkucGF5bG9hZGNtcy5jb20vZXZlbnRzJywge1xuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IC4uLmJhc2VFdmVudCwgLi4uZXZlbnQgfSksXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICB9LFxuICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgLy8gRWF0IGFueSBlcnJvcnMgaW4gc2VuZGluZyB0ZWxlbWV0cnkgZXZlbnRcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGlzIGEgcXVhc2ktcGVyc2lzdGVudCBpZGVudGlmaWVyIHVzZWQgdG8gZGVkdXBlIHJlY3VycmluZyBldmVudHMuIEl0J3NcbiAqIGdlbmVyYXRlZCBmcm9tIHJhbmRvbSBkYXRhIGFuZCBjb21wbGV0ZWx5IGFub255bW91cy5cbiAqL1xuY29uc3QgZ2V0RW52SUQgPSAoKTogc3RyaW5nID0+IHtcbiAgY29uc3QgY29uZiA9IG5ldyBDb25mKClcbiAgY29uc3QgRU5WX0lEID0gJ2VudklEJ1xuXG4gIGNvbnN0IHZhbCA9IGNvbmYuZ2V0KEVOVl9JRClcbiAgaWYgKHZhbCkge1xuICAgIHJldHVybiB2YWwgYXMgc3RyaW5nXG4gIH1cblxuICBjb25zdCBnZW5lcmF0ZWQgPSByYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2hleCcpXG4gIGNvbmYuc2V0KEVOVl9JRCwgZ2VuZXJhdGVkKVxuICByZXR1cm4gZ2VuZXJhdGVkXG59XG5cbmNvbnN0IGdldFByb2plY3RJRCA9IChwYXlsb2FkOiBQYXlsb2FkLCBwYWNrYWdlSlNPTjogUGFja2FnZUpTT04pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBwcm9qZWN0SUQgPVxuICAgIGdldEdpdElEKHBheWxvYWQpIHx8XG4gICAgZ2V0UGFja2FnZUpTT05JRChwYXlsb2FkLCBwYWNrYWdlSlNPTikgfHxcbiAgICBwYXlsb2FkLmNvbmZpZy5zZXJ2ZXJVUkwgfHxcbiAgICBwcm9jZXNzLmN3ZCgpXG4gIHJldHVybiBvbmVXYXlIYXNoKHByb2plY3RJRCwgcGF5bG9hZC5zZWNyZXQpXG59XG5cbmNvbnN0IGdldEdpdElEID0gKHBheWxvYWQ6IFBheWxvYWQpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBvcmlnaW5CdWZmZXIgPSBleGVjU3luYygnZ2l0IGNvbmZpZyAtLWxvY2FsIC0tZ2V0IHJlbW90ZS5vcmlnaW4udXJsJywge1xuICAgICAgc3RkaW86ICdwaXBlJyxcbiAgICAgIHRpbWVvdXQ6IDEwMDAsXG4gICAgfSlcblxuICAgIHJldHVybiBvbmVXYXlIYXNoKFN0cmluZyhvcmlnaW5CdWZmZXIpLnRyaW0oKSwgcGF5bG9hZC5zZWNyZXQpXG4gIH0gY2F0Y2ggKF8pIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG5cbmNvbnN0IGdldFBhY2thZ2VKU09OID0gYXN5bmMgKCk6IFByb21pc2U8UGFja2FnZUpTT04+ID0+IHtcbiAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gYXdhaXQgZmluZFVwKCdwYWNrYWdlLmpzb24nLCB7IGN3ZDogX19kaXJuYW1lIH0pXG4gIGNvbnN0IGpzb25Db250ZW50OiBQYWNrYWdlSlNPTiA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhY2thZ2VKc29uUGF0aCwgJ3V0Zi04JykpXG4gIHJldHVybiBqc29uQ29udGVudFxufVxuXG5jb25zdCBnZXRQYWNrYWdlSlNPTklEID0gKHBheWxvYWQ6IFBheWxvYWQsIHBhY2thZ2VKU09OOiBQYWNrYWdlSlNPTik6IHN0cmluZyA9PiB7XG4gIHJldHVybiBvbmVXYXlIYXNoKHBhY2thZ2VKU09OLm5hbWUsIHBheWxvYWQuc2VjcmV0KVxufVxuXG5leHBvcnQgY29uc3QgZ2V0UGF5bG9hZFZlcnNpb24gPSAocGFja2FnZUpTT046IFBhY2thZ2VKU09OKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIHBhY2thZ2VKU09OPy5kZXBlbmRlbmNpZXM/LnBheWxvYWQgPz8gJydcbn1cbiJdLCJuYW1lcyI6WyJzZW5kRXZlbnQiLCJnZXRQYXlsb2FkVmVyc2lvbiIsImV2ZW50IiwicGF5bG9hZCIsImNvbmZpZyIsInRlbGVtZXRyeSIsInBhY2thZ2VKU09OIiwiZ2V0UGFja2FnZUpTT04iLCJiYXNlRXZlbnQiLCJlbnZJRCIsImdldEVudklEIiwibm9kZUVudiIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIm5vZGVWZXJzaW9uIiwidmVyc2lvbiIsInBheWxvYWRWZXJzaW9uIiwicHJvamVjdElEIiwiZ2V0UHJvamVjdElEIiwiZmV0Y2giLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImhlYWRlcnMiLCJtZXRob2QiLCJfIiwiY29uZiIsIkNvbmYiLCJFTlZfSUQiLCJ2YWwiLCJnZXQiLCJnZW5lcmF0ZWQiLCJyYW5kb21CeXRlcyIsInRvU3RyaW5nIiwic2V0IiwiZ2V0R2l0SUQiLCJnZXRQYWNrYWdlSlNPTklEIiwic2VydmVyVVJMIiwiY3dkIiwib25lV2F5SGFzaCIsInNlY3JldCIsIm9yaWdpbkJ1ZmZlciIsImV4ZWNTeW5jIiwic3RkaW8iLCJ0aW1lb3V0IiwiU3RyaW5nIiwidHJpbSIsInBhY2thZ2VKc29uUGF0aCIsImZpbmRVcCIsIl9fZGlybmFtZSIsImpzb25Db250ZW50IiwicGFyc2UiLCJmcyIsInJlYWRGaWxlU3luYyIsIm5hbWUiLCJkZXBlbmRlbmNpZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBZ0NhQSxTQUFTO2VBQVRBOztJQTRFQUMsaUJBQWlCO2VBQWpCQTs7OytCQTVHWTs2REFDUjt3QkFDVzsrREFDVDsyREFDSjs0QkFNWTs7Ozs7O0FBc0JwQixNQUFNRCxZQUFZLE9BQU8sRUFBRUUsS0FBSyxFQUFFQyxPQUFPLEVBQVE7SUFDdEQsSUFBSUEsUUFBUUMsTUFBTSxDQUFDQyxTQUFTLEtBQUssT0FBTztRQUN0QyxJQUFJO1lBQ0YsTUFBTUMsY0FBYyxNQUFNQztZQUUxQixNQUFNQyxZQUF1QjtnQkFDM0JDLE9BQU9DO2dCQUNQQyxTQUFTQyxRQUFRQyxHQUFHLENBQUNDLFFBQVEsSUFBSTtnQkFDakNDLGFBQWFILFFBQVFJLE9BQU87Z0JBQzVCQyxnQkFBZ0JoQixrQkFBa0JLO2dCQUNsQ1ksV0FBV0MsYUFBYWhCLFNBQVNHO1lBQ25DO1lBRUEsTUFBTWMsTUFBTSwyQ0FBMkM7Z0JBQ3JEQyxNQUFNQyxLQUFLQyxTQUFTLENBQUM7b0JBQUUsR0FBR2YsU0FBUztvQkFBRSxHQUFHTixLQUFLO2dCQUFDO2dCQUM5Q3NCLFNBQVM7b0JBQ1AsZ0JBQWdCO2dCQUNsQjtnQkFDQUMsUUFBUTtZQUNWO1FBQ0YsRUFBRSxPQUFPQyxHQUFHO1FBQ1YsNENBQTRDO1FBQzlDO0lBQ0Y7QUFDRjtBQUVBOzs7Q0FHQyxHQUNELE1BQU1oQixXQUFXO0lBQ2YsTUFBTWlCLE9BQU8sSUFBSUMsYUFBSTtJQUNyQixNQUFNQyxTQUFTO0lBRWYsTUFBTUMsTUFBTUgsS0FBS0ksR0FBRyxDQUFDRjtJQUNyQixJQUFJQyxLQUFLO1FBQ1AsT0FBT0E7SUFDVDtJQUVBLE1BQU1FLFlBQVlDLElBQUFBLG1CQUFXLEVBQUMsSUFBSUMsUUFBUSxDQUFDO0lBQzNDUCxLQUFLUSxHQUFHLENBQUNOLFFBQVFHO0lBQ2pCLE9BQU9BO0FBQ1Q7QUFFQSxNQUFNYixlQUFlLENBQUNoQixTQUFrQkc7SUFDdEMsTUFBTVksWUFDSmtCLFNBQVNqQyxZQUNUa0MsaUJBQWlCbEMsU0FBU0csZ0JBQzFCSCxRQUFRQyxNQUFNLENBQUNrQyxTQUFTLElBQ3hCMUIsUUFBUTJCLEdBQUc7SUFDYixPQUFPQyxJQUFBQSxzQkFBVSxFQUFDdEIsV0FBV2YsUUFBUXNDLE1BQU07QUFDN0M7QUFFQSxNQUFNTCxXQUFXLENBQUNqQztJQUNoQixJQUFJO1FBQ0YsTUFBTXVDLGVBQWVDLElBQUFBLHVCQUFRLEVBQUMsOENBQThDO1lBQzFFQyxPQUFPO1lBQ1BDLFNBQVM7UUFDWDtRQUVBLE9BQU9MLElBQUFBLHNCQUFVLEVBQUNNLE9BQU9KLGNBQWNLLElBQUksSUFBSTVDLFFBQVFzQyxNQUFNO0lBQy9ELEVBQUUsT0FBT2YsR0FBRztRQUNWLE9BQU87SUFDVDtBQUNGO0FBRUEsTUFBTW5CLGlCQUFpQjtJQUNyQixNQUFNeUMsa0JBQWtCLE1BQU1DLElBQUFBLGVBQU0sRUFBQyxnQkFBZ0I7UUFBRVYsS0FBS1c7SUFBVTtJQUN0RSxNQUFNQyxjQUEyQjdCLEtBQUs4QixLQUFLLENBQUNDLFdBQUUsQ0FBQ0MsWUFBWSxDQUFDTixpQkFBaUI7SUFDN0UsT0FBT0c7QUFDVDtBQUVBLE1BQU1kLG1CQUFtQixDQUFDbEMsU0FBa0JHO0lBQzFDLE9BQU9rQyxJQUFBQSxzQkFBVSxFQUFDbEMsWUFBWWlELElBQUksRUFBRXBELFFBQVFzQyxNQUFNO0FBQ3BEO0FBRU8sTUFBTXhDLG9CQUFvQixDQUFDSztJQUNoQyxPQUFPQSxhQUFha0QsY0FBY3JELFdBQVc7QUFDL0MifQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsaXRpZXMvdGVsZW1ldHJ5L2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSAnY2hpbGRfcHJvY2VzcydcbmltcG9ydCBDb25mIGZyb20gJ2NvbmYnXG5pbXBvcnQgeyByYW5kb21CeXRlcyB9IGZyb20gJ2NyeXB0bydcbmltcG9ydCBmaW5kVXAgZnJvbSAnZmluZC11cCdcbmltcG9ydCBmcyBmcm9tICdmcydcblxuaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4vLi4vcGF5bG9hZCdcbmltcG9ydCB0eXBlIHsgQWRtaW5Jbml0RXZlbnQgfSBmcm9tICcuL2V2ZW50cy9hZG1pbkluaXQnXG5pbXBvcnQgdHlwZSB7IFNlcnZlckluaXRFdmVudCB9IGZyb20gJy4vZXZlbnRzL3NlcnZlckluaXQnXG5cbmltcG9ydCB7IG9uZVdheUhhc2ggfSBmcm9tICcuL29uZVdheUhhc2gnXG5cbmV4cG9ydCB0eXBlIEJhc2VFdmVudCA9IHtcbiAgZW52SUQ6IHN0cmluZ1xuICBub2RlRW52OiBzdHJpbmdcbiAgbm9kZVZlcnNpb246IHN0cmluZ1xuICBwYXlsb2FkVmVyc2lvbjogc3RyaW5nXG4gIHByb2plY3RJRDogc3RyaW5nXG59XG5cbnR5cGUgUGFja2FnZUpTT04gPSB7XG4gIGRlcGVuZGVuY2llczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPlxuICBuYW1lOiBzdHJpbmdcbn1cblxudHlwZSBUZWxlbWV0cnlFdmVudCA9IEFkbWluSW5pdEV2ZW50IHwgU2VydmVySW5pdEV2ZW50XG5cbnR5cGUgQXJncyA9IHtcbiAgZXZlbnQ6IFRlbGVtZXRyeUV2ZW50XG4gIHBheWxvYWQ6IFBheWxvYWRcbn1cblxuZXhwb3J0IGNvbnN0IHNlbmRFdmVudCA9IGFzeW5jICh7IGV2ZW50LCBwYXlsb2FkIH06IEFyZ3MpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgaWYgKHBheWxvYWQuY29uZmlnLnRlbGVtZXRyeSAhPT0gZmFsc2UpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFja2FnZUpTT04gPSBhd2FpdCBnZXRQYWNrYWdlSlNPTigpXG5cbiAgICAgIGNvbnN0IGJhc2VFdmVudDogQmFzZUV2ZW50ID0ge1xuICAgICAgICBlbnZJRDogZ2V0RW52SUQoKSxcbiAgICAgICAgbm9kZUVudjogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgfHwgJ2RldmVsb3BtZW50JyxcbiAgICAgICAgbm9kZVZlcnNpb246IHByb2Nlc3MudmVyc2lvbixcbiAgICAgICAgcGF5bG9hZFZlcnNpb246IGdldFBheWxvYWRWZXJzaW9uKHBhY2thZ2VKU09OKSxcbiAgICAgICAgcHJvamVjdElEOiBnZXRQcm9qZWN0SUQocGF5bG9hZCwgcGFja2FnZUpTT04pLFxuICAgICAgfVxuXG4gICAgICBhd2FpdCBmZXRjaCgnaHR0cHM6Ly90ZWxlbWV0cnkucGF5bG9hZGNtcy5jb20vZXZlbnRzJywge1xuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IC4uLmJhc2VFdmVudCwgLi4uZXZlbnQgfSksXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICB9LFxuICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgLy8gRWF0IGFueSBlcnJvcnMgaW4gc2VuZGluZyB0ZWxlbWV0cnkgZXZlbnRcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGlzIGEgcXVhc2ktcGVyc2lzdGVudCBpZGVudGlmaWVyIHVzZWQgdG8gZGVkdXBlIHJlY3VycmluZyBldmVudHMuIEl0J3NcbiAqIGdlbmVyYXRlZCBmcm9tIHJhbmRvbSBkYXRhIGFuZCBjb21wbGV0ZWx5IGFub255bW91cy5cbiAqL1xuY29uc3QgZ2V0RW52SUQgPSAoKTogc3RyaW5nID0+IHtcbiAgY29uc3QgY29uZiA9IG5ldyBDb25mKClcbiAgY29uc3QgRU5WX0lEID0gJ2VudklEJ1xuXG4gIGNvbnN0IHZhbCA9IGNvbmYuZ2V0KEVOVl9JRClcbiAgaWYgKHZhbCkge1xuICAgIHJldHVybiB2YWwgYXMgc3RyaW5nXG4gIH1cblxuICBjb25zdCBnZW5lcmF0ZWQgPSByYW5kb21CeXRlcygzMikudG9TdHJpbmcoJ2hleCcpXG4gIGNvbmYuc2V0KEVOVl9JRCwgZ2VuZXJhdGVkKVxuICByZXR1cm4gZ2VuZXJhdGVkXG59XG5cbmNvbnN0IGdldFByb2plY3RJRCA9IChwYXlsb2FkOiBQYXlsb2FkLCBwYWNrYWdlSlNPTjogUGFja2FnZUpTT04pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBwcm9qZWN0SUQgPVxuICAgIGdldEdpdElEKHBheWxvYWQpIHx8XG4gICAgZ2V0UGFja2FnZUpTT05JRChwYXlsb2FkLCBwYWNrYWdlSlNPTikgfHxcbiAgICBwYXlsb2FkLmNvbmZpZy5zZXJ2ZXJVUkwgfHxcbiAgICBwcm9jZXNzLmN3ZCgpXG4gIHJldHVybiBvbmVXYXlIYXNoKHByb2plY3RJRCwgcGF5bG9hZC5zZWNyZXQpXG59XG5cbmNvbnN0IGdldEdpdElEID0gKHBheWxvYWQ6IFBheWxvYWQpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBvcmlnaW5CdWZmZXIgPSBleGVjU3luYygnZ2l0IGNvbmZpZyAtLWxvY2FsIC0tZ2V0IHJlbW90ZS5vcmlnaW4udXJsJywge1xuICAgICAgc3RkaW86ICdwaXBlJyxcbiAgICAgIHRpbWVvdXQ6IDEwMDAsXG4gICAgfSlcblxuICAgIHJldHVybiBvbmVXYXlIYXNoKFN0cmluZyhvcmlnaW5CdWZmZXIpLnRyaW0oKSwgcGF5bG9hZC5zZWNyZXQpXG4gIH0gY2F0Y2ggKF8pIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG59XG5cbmNvbnN0IGdldFBhY2thZ2VKU09OID0gYXN5bmMgKCk6IFByb21pc2U8UGFja2FnZUpTT04+ID0+IHtcbiAgY29uc3QgcGFja2FnZUpzb25QYXRoID0gYXdhaXQgZmluZFVwKCdwYWNrYWdlLmpzb24nLCB7IGN3ZDogX19kaXJuYW1lIH0pXG4gIGNvbnN0IGpzb25Db250ZW50OiBQYWNrYWdlSlNPTiA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhY2thZ2VKc29uUGF0aCwgJ3V0Zi04JykpXG4gIHJldHVybiBqc29uQ29udGVudFxufVxuXG5jb25zdCBnZXRQYWNrYWdlSlNPTklEID0gKHBheWxvYWQ6IFBheWxvYWQsIHBhY2thZ2VKU09OOiBQYWNrYWdlSlNPTik6IHN0cmluZyA9PiB7XG4gIHJldHVybiBvbmVXYXlIYXNoKHBhY2thZ2VKU09OLm5hbWUsIHBheWxvYWQuc2VjcmV0KVxufVxuXG5leHBvcnQgY29uc3QgZ2V0UGF5bG9hZFZlcnNpb24gPSAocGFja2FnZUpTT046IFBhY2thZ2VKU09OKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIHBhY2thZ2VKU09OPy5kZXBlbmRlbmNpZXM/LnBheWxvYWQgPz8gJydcbn1cbiJdLCJuYW1lcyI6WyJnZXRQYXlsb2FkVmVyc2lvbiIsInNlbmRFdmVudCIsImV2ZW50IiwicGF5bG9hZCIsImNvbmZpZyIsInRlbGVtZXRyeSIsInBhY2thZ2VKU09OIiwiZ2V0UGFja2FnZUpTT04iLCJiYXNlRXZlbnQiLCJlbnZJRCIsImdldEVudklEIiwibm9kZUVudiIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIm5vZGVWZXJzaW9uIiwidmVyc2lvbiIsInBheWxvYWRWZXJzaW9uIiwicHJvamVjdElEIiwiZ2V0UHJvamVjdElEIiwiZmV0Y2giLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsImhlYWRlcnMiLCJtZXRob2QiLCJfIiwiY29uZiIsIkNvbmYiLCJFTlZfSUQiLCJ2YWwiLCJnZXQiLCJnZW5lcmF0ZWQiLCJyYW5kb21CeXRlcyIsInRvU3RyaW5nIiwic2V0IiwiZ2V0R2l0SUQiLCJnZXRQYWNrYWdlSlNPTklEIiwic2VydmVyVVJMIiwiY3dkIiwib25lV2F5SGFzaCIsInNlY3JldCIsIm9yaWdpbkJ1ZmZlciIsImV4ZWNTeW5jIiwic3RkaW8iLCJ0aW1lb3V0IiwiU3RyaW5nIiwidHJpbSIsInBhY2thZ2VKc29uUGF0aCIsImZpbmRVcCIsIl9fZGlybmFtZSIsImpzb25Db250ZW50IiwicGFyc2UiLCJmcyIsInJlYWRGaWxlU3luYyIsIm5hbWUiLCJkZXBlbmRlbmNpZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBNEdhQSxpQkFBaUI7ZUFBakJBOztJQTVFQUMsU0FBUztlQUFUQTs7OytCQWhDWTs2REFDUjt3QkFDVzsrREFDVDsyREFDSjs0QkFNWTs7Ozs7O0FBc0JwQixNQUFNQSxZQUFZLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQVE7SUFDdEQsSUFBSUEsUUFBUUMsTUFBTSxDQUFDQyxTQUFTLEtBQUssT0FBTztRQUN0QyxJQUFJO1lBQ0YsTUFBTUMsY0FBYyxNQUFNQztZQUUxQixNQUFNQyxZQUF1QjtnQkFDM0JDLE9BQU9DO2dCQUNQQyxTQUFTQyxRQUFRQyxHQUFHLENBQUNDLFFBQVEsSUFBSTtnQkFDakNDLGFBQWFILFFBQVFJLE9BQU87Z0JBQzVCQyxnQkFBZ0JqQixrQkFBa0JNO2dCQUNsQ1ksV0FBV0MsYUFBYWhCLFNBQVNHO1lBQ25DO1lBRUEsTUFBTWMsTUFBTSwyQ0FBMkM7Z0JBQ3JEQyxNQUFNQyxLQUFLQyxTQUFTLENBQUM7b0JBQUUsR0FBR2YsU0FBUztvQkFBRSxHQUFHTixLQUFLO2dCQUFDO2dCQUM5Q3NCLFNBQVM7b0JBQ1AsZ0JBQWdCO2dCQUNsQjtnQkFDQUMsUUFBUTtZQUNWO1FBQ0YsRUFBRSxPQUFPQyxHQUFHO1FBQ1YsNENBQTRDO1FBQzlDO0lBQ0Y7QUFDRjtBQUVBOzs7Q0FHQyxHQUNELE1BQU1oQixXQUFXO0lBQ2YsTUFBTWlCLE9BQU8sSUFBSUMsYUFBSTtJQUNyQixNQUFNQyxTQUFTO0lBRWYsTUFBTUMsTUFBTUgsS0FBS0ksR0FBRyxDQUFDRjtJQUNyQixJQUFJQyxLQUFLO1FBQ1AsT0FBT0E7SUFDVDtJQUVBLE1BQU1FLFlBQVlDLElBQUFBLG1CQUFXLEVBQUMsSUFBSUMsUUFBUSxDQUFDO0lBQzNDUCxLQUFLUSxHQUFHLENBQUNOLFFBQVFHO0lBQ2pCLE9BQU9BO0FBQ1Q7QUFFQSxNQUFNYixlQUFlLENBQUNoQixTQUFrQkc7SUFDdEMsTUFBTVksWUFDSmtCLFNBQVNqQyxZQUNUa0MsaUJBQWlCbEMsU0FBU0csZ0JBQzFCSCxRQUFRQyxNQUFNLENBQUNrQyxTQUFTLElBQ3hCMUIsUUFBUTJCLEdBQUc7SUFDYixPQUFPQyxJQUFBQSxzQkFBVSxFQUFDdEIsV0FBV2YsUUFBUXNDLE1BQU07QUFDN0M7QUFFQSxNQUFNTCxXQUFXLENBQUNqQztJQUNoQixJQUFJO1FBQ0YsTUFBTXVDLGVBQWVDLElBQUFBLHVCQUFRLEVBQUMsOENBQThDO1lBQzFFQyxPQUFPO1lBQ1BDLFNBQVM7UUFDWDtRQUVBLE9BQU9MLElBQUFBLHNCQUFVLEVBQUNNLE9BQU9KLGNBQWNLLElBQUksSUFBSTVDLFFBQVFzQyxNQUFNO0lBQy9ELEVBQUUsT0FBT2YsR0FBRztRQUNWLE9BQU87SUFDVDtBQUNGO0FBRUEsTUFBTW5CLGlCQUFpQjtJQUNyQixNQUFNeUMsa0JBQWtCLE1BQU1DLElBQUFBLGVBQU0sRUFBQyxnQkFBZ0I7UUFBRVYsS0FBS1c7SUFBVTtJQUN0RSxNQUFNQyxjQUEyQjdCLEtBQUs4QixLQUFLLENBQUNDLFdBQUUsQ0FBQ0MsWUFBWSxDQUFDTixpQkFBaUI7SUFDN0UsT0FBT0c7QUFDVDtBQUVBLE1BQU1kLG1CQUFtQixDQUFDbEMsU0FBa0JHO0lBQzFDLE9BQU9rQyxJQUFBQSxzQkFBVSxFQUFDbEMsWUFBWWlELElBQUksRUFBRXBELFFBQVFzQyxNQUFNO0FBQ3BEO0FBRU8sTUFBTXpDLG9CQUFvQixDQUFDTTtJQUNoQyxPQUFPQSxhQUFha0QsY0FBY3JELFdBQVc7QUFDL0MifQ==