@vendure/admin-ui 2.0.0-next.2 → 2.0.0-next.21

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 (341) hide show
  1. package/catalog/catalog.module.d.ts +15 -11
  2. package/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.d.ts +22 -0
  3. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +41 -0
  4. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.d.ts +4 -0
  5. package/catalog/components/collection-contents/collection-contents.component.d.ts +10 -2
  6. package/catalog/components/collection-detail/collection-detail.component.d.ts +13 -4
  7. package/catalog/components/collection-list/collection-list-bulk-actions.d.ts +6 -0
  8. package/catalog/components/collection-list/collection-list.component.d.ts +9 -5
  9. package/catalog/components/collection-tree/array-to-tree.d.ts +1 -1
  10. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +14 -6
  11. package/catalog/components/collection-tree/collection-tree.component.d.ts +4 -1
  12. package/catalog/components/facet-list/facet-list-bulk-actions.d.ts +5 -0
  13. package/catalog/components/facet-list/facet-list.component.d.ts +2 -1
  14. package/catalog/components/generate-product-variants/generate-product-variants.component.d.ts +3 -3
  15. package/catalog/components/option-value-input/option-value-input.component.d.ts +21 -9
  16. package/catalog/components/product-detail/product-detail.component.d.ts +1 -1
  17. package/catalog/components/product-list/product-list-bulk-actions.d.ts +6 -0
  18. package/catalog/components/product-list/product-list.component.d.ts +4 -2
  19. package/catalog/components/product-variants-editor/product-variants-editor.component.d.ts +22 -12
  20. package/catalog/components/product-variants-list/product-variants-list.component.d.ts +1 -0
  21. package/catalog/public_api.d.ts +6 -1
  22. package/core/common/component-registry-types.d.ts +1 -1
  23. package/core/common/generated-types.d.ts +3184 -195
  24. package/core/common/utilities/bulk-action-utils.d.ts +19 -0
  25. package/core/common/utilities/configurable-operation-utils.d.ts +7 -2
  26. package/core/common/utilities/selection-manager.d.ts +30 -0
  27. package/core/common/version.d.ts +1 -1
  28. package/core/components/app-shell/app-shell.component.d.ts +1 -0
  29. package/core/data/definitions/collection-definitions.d.ts +4 -0
  30. package/core/data/definitions/facet-definitions.d.ts +3 -0
  31. package/core/data/definitions/order-definitions.d.ts +14 -0
  32. package/core/data/definitions/product-definitions.d.ts +2 -0
  33. package/core/data/providers/collection-data.service.d.ts +7 -0
  34. package/core/data/providers/facet-data.service.d.ts +3 -0
  35. package/core/data/providers/order-data.service.d.ts +18 -0
  36. package/core/data/providers/product-data.service.d.ts +2 -0
  37. package/core/providers/bulk-action-registry/bulk-action-registry.service.d.ts +9 -0
  38. package/core/providers/bulk-action-registry/bulk-action-types.d.ts +149 -0
  39. package/core/providers/bulk-action-registry/register-bulk-action.d.ts +53 -0
  40. package/core/providers/local-storage/local-storage.service.d.ts +1 -0
  41. package/core/providers/modal/modal.types.d.ts +2 -0
  42. package/core/providers/nav-builder/nav-builder-types.d.ts +1 -0
  43. package/core/public_api.d.ts +24 -1
  44. package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +27 -3
  45. package/core/shared/components/bulk-action-menu/bulk-action-menu.component.d.ts +32 -0
  46. package/core/shared/components/configurable-input/configurable-input.component.d.ts +8 -3
  47. package/core/shared/components/custom-field-control/custom-field-control.component.d.ts +6 -2
  48. package/core/shared/components/data-table/data-table.component.d.ts +29 -7
  49. package/core/shared/components/dropdown/dropdown-menu.component.d.ts +2 -1
  50. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +3 -2
  51. package/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.d.ts +38 -0
  52. package/{catalog → core/shared}/components/product-search-input/product-search-input.component.d.ts +1 -1
  53. package/core/shared/components/radio-card/radio-card-fieldset.component.d.ts +24 -0
  54. package/core/shared/components/radio-card/radio-card.component.d.ts +22 -0
  55. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.d.ts +31 -0
  56. package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.d.ts +34 -0
  57. package/core/shared/components/rich-text-editor/prosemirror/custom-nodes.d.ts +4 -0
  58. package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +5 -5
  59. package/core/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +1 -1
  60. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +12 -0
  61. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.d.ts +9 -0
  62. package/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.d.ts +14 -0
  63. package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +7 -0
  64. package/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +1 -1
  65. package/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.d.ts +7 -0
  66. package/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.d.ts +13 -0
  67. package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +7 -3
  68. package/core/shared/components/rich-text-editor/prosemirror/types.d.ts +0 -2
  69. package/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.d.ts +21 -0
  70. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +6 -2
  71. package/core/shared/components/select-toggle/select-toggle.component.d.ts +2 -1
  72. package/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.d.ts +30 -0
  73. package/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.d.ts +22 -0
  74. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +5 -17
  75. package/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.d.ts +28 -0
  76. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +2 -0
  77. package/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.d.ts +23 -0
  78. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +5 -1
  79. package/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +6 -3
  80. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +10 -2
  81. package/core/shared/pipes/custom-field-description.pipe.d.ts +11 -0
  82. package/core/shared/pipes/custom-field-label.pipe.d.ts +4 -10
  83. package/core/shared/shared.module.d.ts +68 -57
  84. package/customer/components/customer-group-list/customer-group-list.component.d.ts +6 -4
  85. package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +11 -4
  86. package/esm2020/catalog/catalog.module.mjs +31 -10
  87. package/esm2020/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +1 -1
  88. package/esm2020/catalog/components/assets/assets.component.mjs +2 -2
  89. package/esm2020/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +4 -1
  90. package/esm2020/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +50 -0
  91. package/esm2020/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.mjs +84 -0
  92. package/esm2020/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.mjs +69 -0
  93. package/esm2020/catalog/components/collection-contents/collection-contents.component.mjs +61 -13
  94. package/esm2020/catalog/components/collection-detail/collection-detail.component.mjs +70 -32
  95. package/esm2020/catalog/components/collection-list/collection-list-bulk-actions.mjs +143 -0
  96. package/esm2020/catalog/components/collection-list/collection-list.component.mjs +46 -12
  97. package/esm2020/catalog/components/collection-tree/array-to-tree.mjs +3 -3
  98. package/esm2020/catalog/components/collection-tree/collection-tree-node.component.mjs +36 -10
  99. package/esm2020/catalog/components/collection-tree/collection-tree.component.mjs +9 -4
  100. package/esm2020/catalog/components/facet-detail/facet-detail.component.mjs +3 -3
  101. package/esm2020/catalog/components/facet-list/facet-list-bulk-actions.mjs +202 -0
  102. package/esm2020/catalog/components/facet-list/facet-list.component.mjs +14 -5
  103. package/esm2020/catalog/components/generate-product-variants/generate-product-variants.component.mjs +12 -4
  104. package/esm2020/catalog/components/option-value-input/option-value-input.component.mjs +70 -11
  105. package/esm2020/catalog/components/product-detail/product-detail.component.mjs +36 -24
  106. package/esm2020/catalog/components/product-list/product-list-bulk-actions.mjs +168 -0
  107. package/esm2020/catalog/components/product-list/product-list.component.mjs +13 -9
  108. package/esm2020/catalog/components/product-variants-editor/product-variants-editor.component.mjs +130 -19
  109. package/esm2020/catalog/components/product-variants-list/product-variants-list.component.mjs +9 -3
  110. package/esm2020/catalog/providers/routing/collection-resolver.mjs +2 -1
  111. package/esm2020/catalog/public_api.mjs +7 -2
  112. package/esm2020/core/app.component.module.mjs +1 -1
  113. package/esm2020/core/common/base-detail.component.mjs +1 -1
  114. package/esm2020/core/common/component-registry-types.mjs +1 -1
  115. package/esm2020/core/common/deactivate-aware.mjs +1 -1
  116. package/esm2020/core/common/generated-types.mjs +31 -1
  117. package/esm2020/core/common/introspection-result.mjs +296 -189
  118. package/esm2020/core/common/utilities/bulk-action-utils.mjs +35 -0
  119. package/esm2020/core/common/utilities/configurable-operation-utils.mjs +37 -10
  120. package/esm2020/core/common/utilities/selection-manager.mjs +96 -0
  121. package/esm2020/core/common/version.mjs +2 -2
  122. package/esm2020/core/components/app-shell/app-shell.component.mjs +6 -5
  123. package/esm2020/core/components/breadcrumb/breadcrumb.component.mjs +2 -2
  124. package/esm2020/core/components/channel-switcher/channel-switcher.component.mjs +1 -1
  125. package/esm2020/core/components/main-nav/main-nav.component.mjs +3 -3
  126. package/esm2020/core/components/user-menu/user-menu.component.mjs +1 -1
  127. package/esm2020/core/core.module.mjs +1 -1
  128. package/esm2020/core/data/definitions/collection-definitions.mjs +47 -1
  129. package/esm2020/core/data/definitions/facet-definitions.mjs +31 -1
  130. package/esm2020/core/data/definitions/order-definitions.mjs +583 -455
  131. package/esm2020/core/data/definitions/product-definitions.mjs +23 -1
  132. package/esm2020/core/data/definitions/shared-definitions.mjs +29 -28
  133. package/esm2020/core/data/providers/collection-data.service.mjs +20 -2
  134. package/esm2020/core/data/providers/customer-data.service.mjs +6 -1
  135. package/esm2020/core/data/providers/facet-data.service.mjs +18 -2
  136. package/esm2020/core/data/providers/order-data.service.mjs +43 -2
  137. package/esm2020/core/data/providers/product-data.service.mjs +10 -2
  138. package/esm2020/core/data/providers/promotion-data.service.mjs +1 -1
  139. package/esm2020/core/data/utils/remove-readonly-custom-fields.mjs +8 -1
  140. package/esm2020/core/providers/bulk-action-registry/bulk-action-registry.service.mjs +28 -0
  141. package/esm2020/core/providers/bulk-action-registry/bulk-action-types.mjs +2 -0
  142. package/esm2020/core/providers/bulk-action-registry/register-bulk-action.mjs +63 -0
  143. package/esm2020/core/providers/dashboard-widget/dashboard-widget.service.mjs +1 -4
  144. package/esm2020/core/providers/local-storage/local-storage.service.mjs +1 -1
  145. package/esm2020/core/providers/modal/modal.service.mjs +2 -1
  146. package/esm2020/core/providers/modal/modal.types.mjs +1 -1
  147. package/esm2020/core/providers/nav-builder/nav-builder-types.mjs +1 -1
  148. package/esm2020/core/public_api.mjs +25 -2
  149. package/esm2020/core/shared/components/action-bar/action-bar.component.mjs +7 -15
  150. package/esm2020/core/shared/components/address-form/address-form.component.mjs +3 -3
  151. package/esm2020/core/shared/components/asset-gallery/asset-gallery.component.mjs +34 -51
  152. package/esm2020/core/shared/components/asset-preview/asset-preview.component.mjs +4 -4
  153. package/esm2020/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +1 -1
  154. package/esm2020/core/shared/components/bulk-action-menu/bulk-action-menu.component.mjs +97 -0
  155. package/esm2020/core/shared/components/configurable-input/configurable-input.component.mjs +22 -10
  156. package/esm2020/core/shared/components/custom-field-control/custom-field-control.component.mjs +18 -10
  157. package/esm2020/core/shared/components/data-table/data-table.component.mjs +64 -14
  158. package/esm2020/core/shared/components/datetime-picker/datetime-picker.component.mjs +1 -1
  159. package/esm2020/core/shared/components/dropdown/dropdown-menu.component.mjs +26 -23
  160. package/esm2020/core/shared/components/dropdown/dropdown-trigger.directive.mjs +1 -1
  161. package/esm2020/core/shared/components/entity-info/entity-info.component.mjs +1 -1
  162. package/esm2020/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +13 -6
  163. package/esm2020/core/shared/components/formatted-address/formatted-address.component.mjs +3 -3
  164. package/esm2020/core/shared/components/help-tooltip/help-tooltip.component.mjs +2 -2
  165. package/esm2020/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +1 -1
  166. package/esm2020/core/shared/components/language-selector/language-selector.component.mjs +3 -3
  167. package/esm2020/core/shared/components/object-tree/object-tree.component.mjs +1 -1
  168. package/esm2020/core/shared/components/order-state-label/order-state-label.component.mjs +2 -1
  169. package/esm2020/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +135 -0
  170. package/esm2020/core/shared/components/product-search-input/product-search-input.component.mjs +108 -0
  171. package/esm2020/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +2 -2
  172. package/esm2020/core/shared/components/radio-card/radio-card-fieldset.component.mjs +54 -0
  173. package/esm2020/core/shared/components/radio-card/radio-card.component.mjs +53 -0
  174. package/esm2020/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +3 -3
  175. package/esm2020/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +136 -0
  176. package/esm2020/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +46 -0
  177. package/esm2020/core/shared/components/rich-text-editor/prosemirror/custom-nodes.mjs +57 -0
  178. package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/links.mjs +4 -4
  179. package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.mjs +22 -1
  180. package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.mjs +12 -0
  181. package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu.mjs +73 -18
  182. package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.mjs +16 -0
  183. package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.mjs +100 -0
  184. package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.mjs +96 -0
  185. package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.mjs +166 -0
  186. package/esm2020/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +47 -18
  187. package/esm2020/core/shared/components/rich-text-editor/prosemirror/types.mjs +1 -1
  188. package/esm2020/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +59 -0
  189. package/esm2020/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +22 -10
  190. package/esm2020/core/shared/components/select-toggle/select-toggle.component.mjs +6 -3
  191. package/esm2020/core/shared/components/simple-dialog/simple-dialog.component.mjs +3 -3
  192. package/esm2020/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +1 -1
  193. package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +57 -0
  194. package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +63 -0
  195. package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +48 -83
  196. package/esm2020/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.mjs +45 -0
  197. package/esm2020/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +3 -3
  198. package/esm2020/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +12 -3
  199. package/esm2020/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +48 -0
  200. package/esm2020/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +7 -1
  201. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +11 -9
  202. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +1 -1
  203. package/esm2020/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +21 -11
  204. package/esm2020/core/shared/pipes/custom-field-description.pipe.mjs +30 -0
  205. package/esm2020/core/shared/pipes/custom-field-label.pipe.mjs +7 -19
  206. package/esm2020/core/shared/pipes/locale-currency.pipe.mjs +10 -2
  207. package/esm2020/core/shared/pipes/state-i18n-token.pipe.mjs +2 -1
  208. package/esm2020/core/shared/shared.module.mjs +49 -5
  209. package/esm2020/customer/components/address-card/address-card.component.mjs +1 -1
  210. package/esm2020/customer/components/customer-detail/customer-detail.component.mjs +1 -1
  211. package/esm2020/customer/components/customer-group-list/customer-group-list.component.mjs +33 -18
  212. package/esm2020/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +3 -3
  213. package/esm2020/customer/components/customer-history/customer-history.component.mjs +1 -1
  214. package/esm2020/customer/components/customer-list/customer-list.component.mjs +3 -3
  215. package/esm2020/dashboard/components/dashboard/dashboard.component.mjs +2 -2
  216. package/esm2020/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +2 -2
  217. package/esm2020/dashboard/dashboard.module.mjs +6 -2
  218. package/esm2020/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +1 -1
  219. package/esm2020/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +2 -2
  220. package/esm2020/login/components/login/login.component.mjs +3 -3
  221. package/esm2020/marketing/components/promotion-detail/promotion-detail.component.mjs +3 -3
  222. package/esm2020/marketing/components/promotion-list/promotion-list.component.mjs +1 -1
  223. package/esm2020/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +1 -1
  224. package/esm2020/order/components/coupon-code-selector/coupon-code-selector.component.mjs +42 -0
  225. package/esm2020/order/components/draft-order-detail/draft-order-detail.component.mjs +187 -0
  226. package/esm2020/order/components/draft-order-variant-selector/draft-order-variant-selector.component.mjs +59 -0
  227. package/esm2020/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +7 -3
  228. package/esm2020/order/components/fulfillment-card/fulfillment-card.component.mjs +1 -1
  229. package/esm2020/order/components/fulfillment-detail/fulfillment-detail.component.mjs +8 -17
  230. package/esm2020/order/components/line-fulfillment/line-fulfillment.component.mjs +8 -22
  231. package/esm2020/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +30 -6
  232. package/esm2020/order/components/order-detail/order-detail.component.mjs +80 -40
  233. package/esm2020/order/components/order-editor/order-editor.component.mjs +15 -14
  234. package/esm2020/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +1 -1
  235. package/esm2020/order/components/order-history/order-history.component.mjs +1 -1
  236. package/esm2020/order/components/order-list/order-list.component.mjs +40 -17
  237. package/esm2020/order/components/order-payment-card/order-payment-card.component.mjs +3 -3
  238. package/esm2020/order/components/order-table/order-table.component.mjs +29 -6
  239. package/esm2020/order/components/refund-order-dialog/refund-order-dialog.component.mjs +2 -2
  240. package/esm2020/order/components/select-address-dialog/select-address-dialog.component.mjs +89 -0
  241. package/esm2020/order/components/select-address-dialog/select-address-dialog.graphql.mjs +14 -0
  242. package/esm2020/order/components/select-customer-dialog/select-customer-dialog.component.mjs +59 -0
  243. package/esm2020/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.mjs +31 -0
  244. package/esm2020/order/order.module.mjs +20 -2
  245. package/esm2020/order/order.routes.mjs +23 -4
  246. package/esm2020/order/providers/routing/order-resolver.mjs +29 -11
  247. package/esm2020/order/providers/routing/order.guard.mjs +37 -0
  248. package/esm2020/order/public_api.mjs +9 -1
  249. package/esm2020/settings/components/administrator-list/administrator-list.component.mjs +1 -1
  250. package/esm2020/settings/components/channel-list/channel-list.component.mjs +1 -1
  251. package/esm2020/settings/components/country-list/country-list.component.mjs +3 -3
  252. package/esm2020/settings/components/payment-method-detail/payment-method-detail.component.mjs +1 -1
  253. package/esm2020/settings/components/payment-method-list/payment-method-list.component.mjs +1 -1
  254. package/esm2020/settings/components/permission-grid/permission-grid.component.mjs +1 -1
  255. package/esm2020/settings/components/profile/profile.component.mjs +3 -3
  256. package/esm2020/settings/components/role-list/role-list.component.mjs +1 -1
  257. package/esm2020/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +4 -2
  258. package/esm2020/settings/components/shipping-method-list/shipping-method-list.component.mjs +1 -1
  259. package/esm2020/settings/components/tax-category-list/tax-category-list.component.mjs +1 -1
  260. package/esm2020/settings/components/tax-rate-list/tax-rate-list.component.mjs +1 -1
  261. package/esm2020/settings/components/zone-detail-dialog/zone-detail-dialog.component.mjs +2 -2
  262. package/esm2020/settings/components/zone-list/zone-list.component.mjs +3 -3
  263. package/esm2020/settings/components/zone-member-list/zone-member-list.component.mjs +3 -3
  264. package/esm2020/system/components/health-check/health-check.component.mjs +2 -2
  265. package/esm2020/system/components/job-list/job-list.component.mjs +1 -1
  266. package/fesm2015/vendure-admin-ui-catalog.mjs +1206 -228
  267. package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -1
  268. package/fesm2015/vendure-admin-ui-core.mjs +9451 -7332
  269. package/fesm2015/vendure-admin-ui-core.mjs.map +1 -1
  270. package/fesm2015/vendure-admin-ui-customer.mjs +36 -23
  271. package/fesm2015/vendure-admin-ui-customer.mjs.map +1 -1
  272. package/fesm2015/vendure-admin-ui-dashboard.mjs +11 -7
  273. package/fesm2015/vendure-admin-ui-dashboard.mjs.map +1 -1
  274. package/fesm2015/vendure-admin-ui-login.mjs +2 -2
  275. package/fesm2015/vendure-admin-ui-login.mjs.map +1 -1
  276. package/fesm2015/vendure-admin-ui-marketing.mjs +3 -3
  277. package/fesm2015/vendure-admin-ui-marketing.mjs.map +1 -1
  278. package/fesm2015/vendure-admin-ui-order.mjs +1184 -599
  279. package/fesm2015/vendure-admin-ui-order.mjs.map +1 -1
  280. package/fesm2015/vendure-admin-ui-settings.mjs +21 -19
  281. package/fesm2015/vendure-admin-ui-settings.mjs.map +1 -1
  282. package/fesm2015/vendure-admin-ui-system.mjs +3 -3
  283. package/fesm2020/vendure-admin-ui-catalog.mjs +1190 -230
  284. package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -1
  285. package/fesm2020/vendure-admin-ui-core.mjs +9539 -7437
  286. package/fesm2020/vendure-admin-ui-core.mjs.map +1 -1
  287. package/fesm2020/vendure-admin-ui-customer.mjs +36 -23
  288. package/fesm2020/vendure-admin-ui-customer.mjs.map +1 -1
  289. package/fesm2020/vendure-admin-ui-dashboard.mjs +11 -7
  290. package/fesm2020/vendure-admin-ui-dashboard.mjs.map +1 -1
  291. package/fesm2020/vendure-admin-ui-login.mjs +2 -2
  292. package/fesm2020/vendure-admin-ui-login.mjs.map +1 -1
  293. package/fesm2020/vendure-admin-ui-marketing.mjs +3 -3
  294. package/fesm2020/vendure-admin-ui-marketing.mjs.map +1 -1
  295. package/fesm2020/vendure-admin-ui-order.mjs +1194 -614
  296. package/fesm2020/vendure-admin-ui-order.mjs.map +1 -1
  297. package/fesm2020/vendure-admin-ui-settings.mjs +21 -19
  298. package/fesm2020/vendure-admin-ui-settings.mjs.map +1 -1
  299. package/fesm2020/vendure-admin-ui-system.mjs +3 -3
  300. package/order/components/coupon-code-selector/coupon-code-selector.component.d.ts +21 -0
  301. package/order/components/draft-order-detail/draft-order-detail.component.d.ts +52 -0
  302. package/order/components/draft-order-variant-selector/draft-order-variant-selector.component.d.ts +24 -0
  303. package/order/components/order-custom-fields-card/order-custom-fields-card.component.d.ts +4 -2
  304. package/order/components/order-editor/order-editor.component.d.ts +1 -6
  305. package/order/components/order-list/order-list.component.d.ts +2 -0
  306. package/order/components/order-table/order-table.component.d.ts +12 -2
  307. package/order/components/select-address-dialog/select-address-dialog.component.d.ts +27 -0
  308. package/order/components/select-address-dialog/select-address-dialog.graphql.d.ts +1 -0
  309. package/order/components/select-customer-dialog/select-customer-dialog.component.d.ts +25 -0
  310. package/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.d.ts +19 -0
  311. package/order/order.module.d.ts +9 -3
  312. package/order/providers/routing/order-resolver.d.ts +8 -3
  313. package/order/providers/routing/order.guard.d.ts +12 -0
  314. package/order/public_api.d.ts +8 -0
  315. package/package.json +13 -12
  316. package/settings/components/zone-member-list/zone-member-list.component.d.ts +3 -1
  317. package/static/i18n-messages/cs.json +50 -3
  318. package/static/i18n-messages/de.json +53 -3
  319. package/static/i18n-messages/en.json +55 -8
  320. package/static/i18n-messages/es.json +50 -3
  321. package/static/i18n-messages/fr.json +50 -3
  322. package/static/i18n-messages/it.json +50 -3
  323. package/static/i18n-messages/pl.json +50 -3
  324. package/static/i18n-messages/pt_BR.json +50 -3
  325. package/static/i18n-messages/pt_PT.json +50 -3
  326. package/static/i18n-messages/ru.json +50 -3
  327. package/static/i18n-messages/uk.json +50 -3
  328. package/static/i18n-messages/zh_Hans.json +50 -3
  329. package/static/i18n-messages/zh_Hant.json +50 -3
  330. package/static/styles/_variables.scss +4 -0
  331. package/static/styles/global/_forms.scss +8 -7
  332. package/static/styles/global/_overrides.scss +11 -1
  333. package/static/styles/global/_sass-overrides.scss +3 -0
  334. package/static/styles/global/_utilities.scss +14 -0
  335. package/static/styles/styles.scss +1 -0
  336. package/static/styles/theme/default.scss +13 -1
  337. package/static/styles/ui-extension-theme.scss +1 -0
  338. package/static/theme.min.css +1 -1
  339. package/core/shared/components/rich-text-editor/prosemirror/menu/images.d.ts +0 -4
  340. package/esm2020/catalog/components/product-search-input/product-search-input.component.mjs +0 -107
  341. package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/images.mjs +0 -36
@@ -217,6 +217,14 @@ export const DELETE_PRODUCT = gql `
217
217
  }
218
218
  }
219
219
  `;
220
+ export const DELETE_PRODUCTS = gql `
221
+ mutation DeleteProducts($ids: [ID!]!) {
222
+ deleteProducts(ids: $ids) {
223
+ result
224
+ message
225
+ }
226
+ }
227
+ `;
220
228
  export const CREATE_PRODUCT_VARIANTS = gql `
221
229
  mutation CreateProductVariants($input: [CreateProductVariantInput!]!) {
222
230
  createProductVariants(input: $input) {
@@ -532,6 +540,14 @@ export const UPDATE_PRODUCT_OPTION = gql `
532
540
  }
533
541
  ${PRODUCT_OPTION_FRAGMENT}
534
542
  `;
543
+ export const DELETE_PRODUCT_OPTION = gql `
544
+ mutation DeleteProductOption($id: ID!) {
545
+ deleteProductOption(id: $id) {
546
+ result
547
+ message
548
+ }
549
+ }
550
+ `;
535
551
  export const DELETE_PRODUCT_VARIANT = gql `
536
552
  mutation DeleteProductVariant($id: ID!) {
537
553
  deleteProductVariant(id: $id) {
@@ -627,6 +643,10 @@ export const GET_PRODUCT_VARIANT = gql `
627
643
  id
628
644
  name
629
645
  sku
646
+ stockOnHand
647
+ stockAllocated
648
+ stockLevel
649
+ useGlobalOutOfStockThreshold
630
650
  featuredAsset {
631
651
  id
632
652
  preview
@@ -635,6 +655,8 @@ export const GET_PRODUCT_VARIANT = gql `
635
655
  y
636
656
  }
637
657
  }
658
+ price
659
+ priceWithTax
638
660
  product {
639
661
  id
640
662
  featuredAsset {
@@ -734,4 +756,4 @@ export const DELETE_TAG = gql `
734
756
  }
735
757
  }
736
758
  `;
737
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZWZpbml0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvZGF0YS9kZWZpbml0aW9ucy9wcm9kdWN0LWRlZmluaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FrQmhDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFBOzs7OztDQUs5QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7OztDQWMvQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Q0FlekMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01Bc0RyQyx1QkFBdUI7TUFDdkIsY0FBYztDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01Bd0NwQyw2QkFBNkI7TUFDN0IsY0FBYztDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0I1RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7O01BWTNCLHVCQUF1QjtNQUN2Qix3QkFBd0I7Q0FDN0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7OztNQVkzQix1QkFBdUI7TUFDdkIsd0JBQXdCO0NBQzdCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O0NBT2hDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU1wQyx3QkFBd0I7Q0FDN0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTXBDLHdCQUF3QjtDQUM3QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNeEMsMENBQTBDO0NBQy9DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU1yQywwQ0FBMEM7Q0FDL0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Q0FXckMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FvQjdDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BdUI3QyxxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7O01BWXRDLHVCQUF1QjtNQUN2Qix3QkFBd0I7Q0FDN0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7OztNQVUvQixjQUFjO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFCbEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW1CM0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7OztNQVkzQixjQUFjO01BQ2QsWUFBWTtDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7O01BU3RCLGNBQWM7TUFDZCxZQUFZO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7OztNQWMxQixjQUFjO01BQ2QsWUFBWTtDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7O01BU3pCLGNBQWM7TUFDZCxZQUFZO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O0NBTy9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBOENqQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNEJ6QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNeEMsNkJBQTZCO0NBQ2xDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU1sQyx1QkFBdUI7Q0FDNUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQTs7Ozs7OztDQU94QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01Ba0N4Qyw2QkFBNkI7TUFDN0IsdUJBQXVCO0NBQzVCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Q0FVNUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7OztDQVU1QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7O0NBVTlDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Q0FVOUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMkJyQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E4QmpELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7OztNQVNyQyx3QkFBd0I7Q0FDN0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUE7Ozs7Ozs7OztNQVN6QixZQUFZO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNcEIsWUFBWTtDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTXZCLFlBQVk7Q0FDakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU12QixZQUFZO0NBQ2pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O0NBTzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XHJcblxyXG5pbXBvcnQgeyBFUlJPUl9SRVNVTFRfRlJBR01FTlQgfSBmcm9tICcuL3NoYXJlZC1kZWZpbml0aW9ucyc7XHJcblxyXG5leHBvcnQgY29uc3QgQVNTRVRfRlJBR01FTlQgPSBncWxgXHJcbiAgICBmcmFnbWVudCBBc3NldCBvbiBBc3NldCB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICBuYW1lXHJcbiAgICAgICAgZmlsZVNpemVcclxuICAgICAgICBtaW1lVHlwZVxyXG4gICAgICAgIHR5cGVcclxuICAgICAgICBwcmV2aWV3XHJcbiAgICAgICAgc291cmNlXHJcbiAgICAgICAgd2lkdGhcclxuICAgICAgICBoZWlnaHRcclxuICAgICAgICBmb2NhbFBvaW50IHtcclxuICAgICAgICAgICAgeFxyXG4gICAgICAgICAgICB5XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFRBR19GUkFHTUVOVCA9IGdxbGBcclxuICAgIGZyYWdtZW50IFRhZyBvbiBUYWcge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgdmFsdWVcclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBQUk9EVUNUX09QVElPTl9HUk9VUF9GUkFHTUVOVCA9IGdxbGBcclxuICAgIGZyYWdtZW50IFByb2R1Y3RPcHRpb25Hcm91cCBvbiBQcm9kdWN0T3B0aW9uR3JvdXAge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgY29kZVxyXG4gICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgIG5hbWVcclxuICAgICAgICB0cmFuc2xhdGlvbnMge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBsYW5ndWFnZUNvZGVcclxuICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBQUk9EVUNUX09QVElPTl9GUkFHTUVOVCA9IGdxbGBcclxuICAgIGZyYWdtZW50IFByb2R1Y3RPcHRpb24gb24gUHJvZHVjdE9wdGlvbiB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICBjb2RlXHJcbiAgICAgICAgbGFuZ3VhZ2VDb2RlXHJcbiAgICAgICAgbmFtZVxyXG4gICAgICAgIGdyb3VwSWRcclxuICAgICAgICB0cmFuc2xhdGlvbnMge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBsYW5ndWFnZUNvZGVcclxuICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBQUk9EVUNUX1ZBUklBTlRfRlJBR01FTlQgPSBncWxgXHJcbiAgICBmcmFnbWVudCBQcm9kdWN0VmFyaWFudCBvbiBQcm9kdWN0VmFyaWFudCB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICBlbmFibGVkXHJcbiAgICAgICAgbGFuZ3VhZ2VDb2RlXHJcbiAgICAgICAgbmFtZVxyXG4gICAgICAgIHByaWNlXHJcbiAgICAgICAgY3VycmVuY3lDb2RlXHJcbiAgICAgICAgcHJpY2VXaXRoVGF4XHJcbiAgICAgICAgc3RvY2tPbkhhbmRcclxuICAgICAgICBzdG9ja0FsbG9jYXRlZFxyXG4gICAgICAgIHRyYWNrSW52ZW50b3J5XHJcbiAgICAgICAgb3V0T2ZTdG9ja1RocmVzaG9sZFxyXG4gICAgICAgIHVzZUdsb2JhbE91dE9mU3RvY2tUaHJlc2hvbGRcclxuICAgICAgICB0YXhSYXRlQXBwbGllZCB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICB9XHJcbiAgICAgICAgdGF4Q2F0ZWdvcnkge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNrdVxyXG4gICAgICAgIG9wdGlvbnMge1xyXG4gICAgICAgICAgICAuLi5Qcm9kdWN0T3B0aW9uXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZhY2V0VmFsdWVzIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIGZhY2V0IHtcclxuICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZmVhdHVyZWRBc3NldCB7XHJcbiAgICAgICAgICAgIC4uLkFzc2V0XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFzc2V0cyB7XHJcbiAgICAgICAgICAgIC4uLkFzc2V0XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zbGF0aW9ucyB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNoYW5uZWxzIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgY29kZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7UFJPRFVDVF9PUFRJT05fRlJBR01FTlR9XHJcbiAgICAke0FTU0VUX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBST0RVQ1RfREVUQUlMX0ZSQUdNRU5UID0gZ3FsYFxyXG4gICAgZnJhZ21lbnQgUHJvZHVjdERldGFpbCBvbiBQcm9kdWN0IHtcclxuICAgICAgICBpZFxyXG4gICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgIGVuYWJsZWRcclxuICAgICAgICBsYW5ndWFnZUNvZGVcclxuICAgICAgICBuYW1lXHJcbiAgICAgICAgc2x1Z1xyXG4gICAgICAgIGRlc2NyaXB0aW9uXHJcbiAgICAgICAgZmVhdHVyZWRBc3NldCB7XHJcbiAgICAgICAgICAgIC4uLkFzc2V0XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFzc2V0cyB7XHJcbiAgICAgICAgICAgIC4uLkFzc2V0XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zbGF0aW9ucyB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIHNsdWdcclxuICAgICAgICAgICAgZGVzY3JpcHRpb25cclxuICAgICAgICB9XHJcbiAgICAgICAgb3B0aW9uR3JvdXBzIHtcclxuICAgICAgICAgICAgLi4uUHJvZHVjdE9wdGlvbkdyb3VwXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZhY2V0VmFsdWVzIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIGZhY2V0IHtcclxuICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY2hhbm5lbHMge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtQUk9EVUNUX09QVElPTl9HUk9VUF9GUkFHTUVOVH1cclxuICAgICR7QVNTRVRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgUFJPRFVDVF9PUFRJT05fR1JPVVBfV0lUSF9PUFRJT05TX0ZSQUdNRU5UID0gZ3FsYFxyXG4gICAgZnJhZ21lbnQgUHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnMgb24gUHJvZHVjdE9wdGlvbkdyb3VwIHtcclxuICAgICAgICBpZFxyXG4gICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgIGNvZGVcclxuICAgICAgICBuYW1lXHJcbiAgICAgICAgdHJhbnNsYXRpb25zIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgIH1cclxuICAgICAgICBvcHRpb25zIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgbGFuZ3VhZ2VDb2RlXHJcbiAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICB0cmFuc2xhdGlvbnMge1xyXG4gICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVQREFURV9QUk9EVUNUID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVXBkYXRlUHJvZHVjdCgkaW5wdXQ6IFVwZGF0ZVByb2R1Y3RJbnB1dCEsICR2YXJpYW50TGlzdE9wdGlvbnM6IFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMpIHtcclxuICAgICAgICB1cGRhdGVQcm9kdWN0KGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgLi4uUHJvZHVjdERldGFpbFxyXG4gICAgICAgICAgICB2YXJpYW50TGlzdChvcHRpb25zOiAkdmFyaWFudExpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgLi4uUHJvZHVjdFZhcmlhbnRcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRvdGFsSXRlbXNcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7UFJPRFVDVF9ERVRBSUxfRlJBR01FTlR9XHJcbiAgICAke1BST0RVQ1RfVkFSSUFOVF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBDUkVBVEVfUFJPRFVDVCA9IGdxbGBcclxuICAgIG11dGF0aW9uIENyZWF0ZVByb2R1Y3QoJGlucHV0OiBDcmVhdGVQcm9kdWN0SW5wdXQhLCAkdmFyaWFudExpc3RPcHRpb25zOiBQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgY3JlYXRlUHJvZHVjdChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLlByb2R1Y3REZXRhaWxcclxuICAgICAgICAgICAgdmFyaWFudExpc3Qob3B0aW9uczogJHZhcmlhbnRMaXN0T3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLlByb2R1Y3RWYXJpYW50XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1BST0RVQ1RfREVUQUlMX0ZSQUdNRU5UfVxyXG4gICAgJHtQUk9EVUNUX1ZBUklBTlRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgREVMRVRFX1BST0RVQ1QgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBEZWxldGVQcm9kdWN0KCRpZDogSUQhKSB7XHJcbiAgICAgICAgZGVsZXRlUHJvZHVjdChpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdFxyXG4gICAgICAgICAgICBtZXNzYWdlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENSRUFURV9QUk9EVUNUX1ZBUklBTlRTID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gQ3JlYXRlUHJvZHVjdFZhcmlhbnRzKCRpbnB1dDogW0NyZWF0ZVByb2R1Y3RWYXJpYW50SW5wdXQhXSEpIHtcclxuICAgICAgICBjcmVhdGVQcm9kdWN0VmFyaWFudHMoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5Qcm9kdWN0VmFyaWFudFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7UFJPRFVDVF9WQVJJQU5UX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVQREFURV9QUk9EVUNUX1ZBUklBTlRTID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVXBkYXRlUHJvZHVjdFZhcmlhbnRzKCRpbnB1dDogW1VwZGF0ZVByb2R1Y3RWYXJpYW50SW5wdXQhXSEpIHtcclxuICAgICAgICB1cGRhdGVQcm9kdWN0VmFyaWFudHMoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5Qcm9kdWN0VmFyaWFudFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7UFJPRFVDVF9WQVJJQU5UX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENSRUFURV9QUk9EVUNUX09QVElPTl9HUk9VUCA9IGdxbGBcclxuICAgIG11dGF0aW9uIENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cCgkaW5wdXQ6IENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cElucHV0ISkge1xyXG4gICAgICAgIGNyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLlByb2R1Y3RPcHRpb25Hcm91cFdpdGhPcHRpb25zXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtQUk9EVUNUX09QVElPTl9HUk9VUF9XSVRIX09QVElPTlNfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX1BST0RVQ1RfT1BUSU9OX0dST1VQID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0UHJvZHVjdE9wdGlvbkdyb3VwKCRpZDogSUQhKSB7XHJcbiAgICAgICAgcHJvZHVjdE9wdGlvbkdyb3VwKGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgLi4uUHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1BST0RVQ1RfT1BUSU9OX0dST1VQX1dJVEhfT1BUSU9OU19GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBBRERfT1BUSU9OX1RPX0dST1VQID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gQWRkT3B0aW9uVG9Hcm91cCgkaW5wdXQ6IENyZWF0ZVByb2R1Y3RPcHRpb25JbnB1dCEpIHtcclxuICAgICAgICBjcmVhdGVQcm9kdWN0T3B0aW9uKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIGNvZGVcclxuICAgICAgICAgICAgZ3JvdXBJZFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBBRERfT1BUSU9OX0dST1VQX1RPX1BST0RVQ1QgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBBZGRPcHRpb25Hcm91cFRvUHJvZHVjdCgkcHJvZHVjdElkOiBJRCEsICRvcHRpb25Hcm91cElkOiBJRCEpIHtcclxuICAgICAgICBhZGRPcHRpb25Hcm91cFRvUHJvZHVjdChwcm9kdWN0SWQ6ICRwcm9kdWN0SWQsIG9wdGlvbkdyb3VwSWQ6ICRvcHRpb25Hcm91cElkKSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgb3B0aW9uR3JvdXBzIHtcclxuICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICAgICAgb3B0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgUkVNT1ZFX09QVElPTl9HUk9VUF9GUk9NX1BST0RVQ1QgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0KCRwcm9kdWN0SWQ6IElEISwgJG9wdGlvbkdyb3VwSWQ6IElEISkge1xyXG4gICAgICAgIHJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3QocHJvZHVjdElkOiAkcHJvZHVjdElkLCBvcHRpb25Hcm91cElkOiAkb3B0aW9uR3JvdXBJZCkge1xyXG4gICAgICAgICAgICAuLi4gb24gUHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgIG9wdGlvbkdyb3VwcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9QUk9EVUNUX1dJVEhfVkFSSUFOVFMgPSBncWxgXHJcbiAgICBxdWVyeSBHZXRQcm9kdWN0V2l0aFZhcmlhbnRzKCRpZDogSUQhLCAkdmFyaWFudExpc3RPcHRpb25zOiBQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcHJvZHVjdChpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIC4uLlByb2R1Y3REZXRhaWxcclxuICAgICAgICAgICAgdmFyaWFudExpc3Qob3B0aW9uczogJHZhcmlhbnRMaXN0T3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLlByb2R1Y3RWYXJpYW50XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1BST0RVQ1RfREVUQUlMX0ZSQUdNRU5UfVxyXG4gICAgJHtQUk9EVUNUX1ZBUklBTlRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX1BST0RVQ1RfU0lNUExFID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0UHJvZHVjdFNpbXBsZSgkaWQ6IElEISkge1xyXG4gICAgICAgIHByb2R1Y3QoaWQ6ICRpZCkge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIGZlYXR1cmVkQXNzZXQge1xyXG4gICAgICAgICAgICAgICAgLi4uQXNzZXRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7QVNTRVRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX1BST0RVQ1RfTElTVCA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldFByb2R1Y3RMaXN0KCRvcHRpb25zOiBQcm9kdWN0TGlzdE9wdGlvbnMpIHtcclxuICAgICAgICBwcm9kdWN0cyhvcHRpb25zOiAkb3B0aW9ucykge1xyXG4gICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgIGVuYWJsZWRcclxuICAgICAgICAgICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICAgICAgc2x1Z1xyXG4gICAgICAgICAgICAgICAgZmVhdHVyZWRBc3NldCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aWV3XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdG90YWxJdGVtc1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBHRVRfUFJPRFVDVF9PUFRJT05fR1JPVVBTID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0UHJvZHVjdE9wdGlvbkdyb3VwcygkZmlsdGVyVGVybTogU3RyaW5nKSB7XHJcbiAgICAgICAgcHJvZHVjdE9wdGlvbkdyb3VwcyhmaWx0ZXJUZXJtOiAkZmlsdGVyVGVybSkge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgb3B0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9BU1NFVF9MSVNUID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0QXNzZXRMaXN0KCRvcHRpb25zOiBBc3NldExpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgYXNzZXRzKG9wdGlvbnM6ICRvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIGl0ZW1zIHtcclxuICAgICAgICAgICAgICAgIC4uLkFzc2V0XHJcbiAgICAgICAgICAgICAgICB0YWdzIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5UYWdcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtBU1NFVF9GUkFHTUVOVH1cclxuICAgICR7VEFHX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9BU1NFVCA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldEFzc2V0KCRpZDogSUQhKSB7XHJcbiAgICAgICAgYXNzZXQoaWQ6ICRpZCkge1xyXG4gICAgICAgICAgICAuLi5Bc3NldFxyXG4gICAgICAgICAgICB0YWdzIHtcclxuICAgICAgICAgICAgICAgIC4uLlRhZ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtBU1NFVF9GUkFHTUVOVH1cclxuICAgICR7VEFHX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENSRUFURV9BU1NFVFMgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBDcmVhdGVBc3NldHMoJGlucHV0OiBbQ3JlYXRlQXNzZXRJbnB1dCFdISkge1xyXG4gICAgICAgIGNyZWF0ZUFzc2V0cyhpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLkFzc2V0XHJcbiAgICAgICAgICAgIC4uLiBvbiBBc3NldCB7XHJcbiAgICAgICAgICAgICAgICB0YWdzIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5UYWdcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuLi4gb24gRXJyb3JSZXN1bHQge1xyXG4gICAgICAgICAgICAgICAgbWVzc2FnZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtBU1NFVF9GUkFHTUVOVH1cclxuICAgICR7VEFHX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVQREFURV9BU1NFVCA9IGdxbGBcclxuICAgIG11dGF0aW9uIFVwZGF0ZUFzc2V0KCRpbnB1dDogVXBkYXRlQXNzZXRJbnB1dCEpIHtcclxuICAgICAgICB1cGRhdGVBc3NldChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLkFzc2V0XHJcbiAgICAgICAgICAgIHRhZ3Mge1xyXG4gICAgICAgICAgICAgICAgLi4uVGFnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke0FTU0VUX0ZSQUdNRU5UfVxyXG4gICAgJHtUQUdfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgREVMRVRFX0FTU0VUUyA9IGdxbGBcclxuICAgIG11dGF0aW9uIERlbGV0ZUFzc2V0cygkaW5wdXQ6IERlbGV0ZUFzc2V0c0lucHV0ISkge1xyXG4gICAgICAgIGRlbGV0ZUFzc2V0cyhpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIHJlc3VsdFxyXG4gICAgICAgICAgICBtZXNzYWdlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNFQVJDSF9QUk9EVUNUUyA9IGdxbGBcclxuICAgIHF1ZXJ5IFNlYXJjaFByb2R1Y3RzKCRpbnB1dDogU2VhcmNoSW5wdXQhKSB7XHJcbiAgICAgICAgc2VhcmNoKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgdG90YWxJdGVtc1xyXG4gICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICBlbmFibGVkXHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0SWRcclxuICAgICAgICAgICAgICAgIHByb2R1Y3ROYW1lXHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0QXNzZXQge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICAgICAgcHJldmlld1xyXG4gICAgICAgICAgICAgICAgICAgIGZvY2FsUG9pbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0VmFyaWFudElkXHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0VmFyaWFudE5hbWVcclxuICAgICAgICAgICAgICAgIHByb2R1Y3RWYXJpYW50QXNzZXQge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICAgICAgcHJldmlld1xyXG4gICAgICAgICAgICAgICAgICAgIGZvY2FsUG9pbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBza3VcclxuICAgICAgICAgICAgICAgIGNoYW5uZWxJZHNcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmYWNldFZhbHVlcyB7XHJcbiAgICAgICAgICAgICAgICBjb3VudFxyXG4gICAgICAgICAgICAgICAgZmFjZXRWYWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgZmFjZXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgUFJPRFVDVF9TRUxFQ1RPUl9TRUFSQ0ggPSBncWxgXHJcbiAgICBxdWVyeSBQcm9kdWN0U2VsZWN0b3JTZWFyY2goJHRlcm06IFN0cmluZyEsICR0YWtlOiBJbnQhKSB7XHJcbiAgICAgICAgc2VhcmNoKGlucHV0OiB7IGdyb3VwQnlQcm9kdWN0OiBmYWxzZSwgdGVybTogJHRlcm0sIHRha2U6ICR0YWtlIH0pIHtcclxuICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgcHJvZHVjdFZhcmlhbnRJZFxyXG4gICAgICAgICAgICAgICAgcHJvZHVjdFZhcmlhbnROYW1lXHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0QXNzZXQge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICAgICAgcHJldmlld1xyXG4gICAgICAgICAgICAgICAgICAgIGZvY2FsUG9pbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLi4uIG9uIFNpbmdsZVByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwcmljZVdpdGhUYXgge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLiBvbiBTaW5nbGVQcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc2t1XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVVBEQVRFX1BST0RVQ1RfT1BUSU9OX0dST1VQID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwKCRpbnB1dDogVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQhKSB7XHJcbiAgICAgICAgdXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgLi4uUHJvZHVjdE9wdGlvbkdyb3VwXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtQUk9EVUNUX09QVElPTl9HUk9VUF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBVUERBVEVfUFJPRFVDVF9PUFRJT04gPSBncWxgXHJcbiAgICBtdXRhdGlvbiBVcGRhdGVQcm9kdWN0T3B0aW9uKCRpbnB1dDogVXBkYXRlUHJvZHVjdE9wdGlvbklucHV0ISkge1xyXG4gICAgICAgIHVwZGF0ZVByb2R1Y3RPcHRpb24oaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5Qcm9kdWN0T3B0aW9uXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtQUk9EVUNUX09QVElPTl9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBERUxFVEVfUFJPRFVDVF9WQVJJQU5UID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gRGVsZXRlUHJvZHVjdFZhcmlhbnQoJGlkOiBJRCEpIHtcclxuICAgICAgICBkZWxldGVQcm9kdWN0VmFyaWFudChpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdFxyXG4gICAgICAgICAgICBtZXNzYWdlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9QUk9EVUNUX1ZBUklBTlRfT1BUSU9OUyA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldFByb2R1Y3RWYXJpYW50T3B0aW9ucygkaWQ6IElEISkge1xyXG4gICAgICAgIHByb2R1Y3QoaWQ6ICRpZCkge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgb3B0aW9uR3JvdXBzIHtcclxuICAgICAgICAgICAgICAgIC4uLlByb2R1Y3RPcHRpb25Hcm91cFxyXG4gICAgICAgICAgICAgICAgb3B0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgLi4uUHJvZHVjdE9wdGlvblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHZhcmlhbnRzIHtcclxuICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgICAgICAgICAgZW5hYmxlZFxyXG4gICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICAgICAgc2t1XHJcbiAgICAgICAgICAgICAgICBwcmljZVxyXG4gICAgICAgICAgICAgICAgc3RvY2tPbkhhbmRcclxuICAgICAgICAgICAgICAgIGVuYWJsZWRcclxuICAgICAgICAgICAgICAgIG9wdGlvbnMge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICAgICAgICAgIGNvZGVcclxuICAgICAgICAgICAgICAgICAgICBncm91cElkXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1BST0RVQ1RfT1BUSU9OX0dST1VQX0ZSQUdNRU5UfVxyXG4gICAgJHtQUk9EVUNUX09QVElPTl9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBBU1NJR05fUFJPRFVDVFNfVE9fQ0hBTk5FTCA9IGdxbGBcclxuICAgIG11dGF0aW9uIEFzc2lnblByb2R1Y3RzVG9DaGFubmVsKCRpbnB1dDogQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxJbnB1dCEpIHtcclxuICAgICAgICBhc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGNoYW5uZWxzIHtcclxuICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgQVNTSUdOX1ZBUklBTlRTX1RPX0NIQU5ORUwgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbCgkaW5wdXQ6IEFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbElucHV0ISkge1xyXG4gICAgICAgIGFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGNoYW5uZWxzIHtcclxuICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgUkVNT1ZFX1BST0RVQ1RTX0ZST01fQ0hBTk5FTCA9IGdxbGBcclxuICAgIG11dGF0aW9uIFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWwoJGlucHV0OiBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsSW5wdXQhKSB7XHJcbiAgICAgICAgcmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGNoYW5uZWxzIHtcclxuICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgUkVNT1ZFX1ZBUklBTlRTX0ZST01fQ0hBTk5FTCA9IGdxbGBcclxuICAgIG11dGF0aW9uIFJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWwoJGlucHV0OiBSZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbElucHV0ISkge1xyXG4gICAgICAgIHJlbW92ZVByb2R1Y3RWYXJpYW50c0Zyb21DaGFubmVsKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgY2hhbm5lbHMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIGNvZGVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBHRVRfUFJPRFVDVF9WQVJJQU5UID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0UHJvZHVjdFZhcmlhbnQoJGlkOiBJRCEpIHtcclxuICAgICAgICBwcm9kdWN0VmFyaWFudChpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgc2t1XHJcbiAgICAgICAgICAgIGZlYXR1cmVkQXNzZXQge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIHByZXZpZXdcclxuICAgICAgICAgICAgICAgIGZvY2FsUG9pbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIHhcclxuICAgICAgICAgICAgICAgICAgICB5XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgZmVhdHVyZWRBc3NldCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aWV3XHJcbiAgICAgICAgICAgICAgICAgICAgZm9jYWxQb2ludCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhcclxuICAgICAgICAgICAgICAgICAgICAgICAgeVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBHRVRfUFJPRFVDVF9WQVJJQU5UX0xJU1RfU0lNUExFID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlKCRvcHRpb25zOiBQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zISwgJHByb2R1Y3RJZDogSUQpIHtcclxuICAgICAgICBwcm9kdWN0VmFyaWFudHMob3B0aW9uczogJG9wdGlvbnMsIHByb2R1Y3RJZDogJHByb2R1Y3RJZCkge1xyXG4gICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICAgICAgc2t1XHJcbiAgICAgICAgICAgICAgICBmZWF0dXJlZEFzc2V0IHtcclxuICAgICAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgICAgIHByZXZpZXdcclxuICAgICAgICAgICAgICAgICAgICBmb2NhbFBvaW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgeFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB5XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlZEFzc2V0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlld1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb2NhbFBvaW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9QUk9EVUNUX1ZBUklBTlRfTElTVCA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldFByb2R1Y3RWYXJpYW50TGlzdCgkb3B0aW9uczogUHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucyEsICRwcm9kdWN0SWQ6IElEKSB7XHJcbiAgICAgICAgcHJvZHVjdFZhcmlhbnRzKG9wdGlvbnM6ICRvcHRpb25zLCBwcm9kdWN0SWQ6ICRwcm9kdWN0SWQpIHtcclxuICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgLi4uUHJvZHVjdFZhcmlhbnRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtQUk9EVUNUX1ZBUklBTlRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX1RBR19MSVNUID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0VGFnTGlzdCgkb3B0aW9uczogVGFnTGlzdE9wdGlvbnMpIHtcclxuICAgICAgICB0YWdzKG9wdGlvbnM6ICRvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIGl0ZW1zIHtcclxuICAgICAgICAgICAgICAgIC4uLlRhZ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRvdGFsSXRlbXNcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1RBR19GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBHRVRfVEFHID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0VGFnKCRpZDogSUQhKSB7XHJcbiAgICAgICAgdGFnKGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgLi4uVGFnXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtUQUdfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgQ1JFQVRFX1RBRyA9IGdxbGBcclxuICAgIG11dGF0aW9uIENyZWF0ZVRhZygkaW5wdXQ6IENyZWF0ZVRhZ0lucHV0ISkge1xyXG4gICAgICAgIGNyZWF0ZVRhZyhpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLlRhZ1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7VEFHX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVQREFURV9UQUcgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBVcGRhdGVUYWcoJGlucHV0OiBVcGRhdGVUYWdJbnB1dCEpIHtcclxuICAgICAgICB1cGRhdGVUYWcoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5UYWdcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1RBR19GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBERUxFVEVfVEFHID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gRGVsZXRlVGFnKCRpZDogSUQhKSB7XHJcbiAgICAgICAgZGVsZXRlVGFnKGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgbWVzc2FnZVxyXG4gICAgICAgICAgICByZXN1bHRcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcbiJdfQ==
759
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZWZpbml0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvZGF0YS9kZWZpbml0aW9ucy9wcm9kdWN0LWRlZmluaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FrQmhDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFBOzs7OztDQUs5QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7OztDQWMvQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Q0FlekMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01Bc0RyQyx1QkFBdUI7TUFDdkIsY0FBYztDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01Bd0NwQyw2QkFBNkI7TUFDN0IsY0FBYztDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0I1RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7O01BWTNCLHVCQUF1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VSxHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTXZCLFlBQVk7Q0FDakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Q0FPNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcclxuXHJcbmltcG9ydCB7IEVSUk9SX1JFU1VMVF9GUkFHTUVOVCB9IGZyb20gJy4vc2hhcmVkLWRlZmluaXRpb25zJztcclxuXHJcbmV4cG9ydCBjb25zdCBBU1NFVF9GUkFHTUVOVCA9IGdxbGBcclxuICAgIGZyYWdtZW50IEFzc2V0IG9uIEFzc2V0IHtcclxuICAgICAgICBpZFxyXG4gICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgIG5hbWVcclxuICAgICAgICBmaWxlU2l6ZVxyXG4gICAgICAgIG1pbWVUeXBlXHJcbiAgICAgICAgdHlwZVxyXG4gICAgICAgIHByZXZpZXdcclxuICAgICAgICBzb3VyY2VcclxuICAgICAgICB3aWR0aFxyXG4gICAgICAgIGhlaWdodFxyXG4gICAgICAgIGZvY2FsUG9pbnQge1xyXG4gICAgICAgICAgICB4XHJcbiAgICAgICAgICAgIHlcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVEFHX0ZSQUdNRU5UID0gZ3FsYFxyXG4gICAgZnJhZ21lbnQgVGFnIG9uIFRhZyB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICB2YWx1ZVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBST0RVQ1RfT1BUSU9OX0dST1VQX0ZSQUdNRU5UID0gZ3FsYFxyXG4gICAgZnJhZ21lbnQgUHJvZHVjdE9wdGlvbkdyb3VwIG9uIFByb2R1Y3RPcHRpb25Hcm91cCB7XHJcbiAgICAgICAgaWRcclxuICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICBjb2RlXHJcbiAgICAgICAgbGFuZ3VhZ2VDb2RlXHJcbiAgICAgICAgbmFtZVxyXG4gICAgICAgIHRyYW5zbGF0aW9ucyB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBST0RVQ1RfT1BUSU9OX0ZSQUdNRU5UID0gZ3FsYFxyXG4gICAgZnJhZ21lbnQgUHJvZHVjdE9wdGlvbiBvbiBQcm9kdWN0T3B0aW9uIHtcclxuICAgICAgICBpZFxyXG4gICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgIGNvZGVcclxuICAgICAgICBsYW5ndWFnZUNvZGVcclxuICAgICAgICBuYW1lXHJcbiAgICAgICAgZ3JvdXBJZFxyXG4gICAgICAgIHRyYW5zbGF0aW9ucyB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBST0RVQ1RfVkFSSUFOVF9GUkFHTUVOVCA9IGdxbGBcclxuICAgIGZyYWdtZW50IFByb2R1Y3RWYXJpYW50IG9uIFByb2R1Y3RWYXJpYW50IHtcclxuICAgICAgICBpZFxyXG4gICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgIGVuYWJsZWRcclxuICAgICAgICBsYW5ndWFnZUNvZGVcclxuICAgICAgICBuYW1lXHJcbiAgICAgICAgcHJpY2VcclxuICAgICAgICBjdXJyZW5jeUNvZGVcclxuICAgICAgICBwcmljZVdpdGhUYXhcclxuICAgICAgICBzdG9ja09uSGFuZFxyXG4gICAgICAgIHN0b2NrQWxsb2NhdGVkXHJcbiAgICAgICAgdHJhY2tJbnZlbnRvcnlcclxuICAgICAgICBvdXRPZlN0b2NrVGhyZXNob2xkXHJcbiAgICAgICAgdXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZFxyXG4gICAgICAgIHRheFJhdGVBcHBsaWVkIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICB2YWx1ZVxyXG4gICAgICAgIH1cclxuICAgICAgICB0YXhDYXRlZ29yeSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIG5hbWVcclxuICAgICAgICB9XHJcbiAgICAgICAgc2t1XHJcbiAgICAgICAgb3B0aW9ucyB7XHJcbiAgICAgICAgICAgIC4uLlByb2R1Y3RPcHRpb25cclxuICAgICAgICB9XHJcbiAgICAgICAgZmFjZXRWYWx1ZXMge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgZmFjZXQge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBmZWF0dXJlZEFzc2V0IHtcclxuICAgICAgICAgICAgLi4uQXNzZXRcclxuICAgICAgICB9XHJcbiAgICAgICAgYXNzZXRzIHtcclxuICAgICAgICAgICAgLi4uQXNzZXRcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNsYXRpb25zIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgbGFuZ3VhZ2VDb2RlXHJcbiAgICAgICAgICAgIG5hbWVcclxuICAgICAgICB9XHJcbiAgICAgICAgY2hhbm5lbHMge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtQUk9EVUNUX09QVElPTl9GUkFHTUVOVH1cclxuICAgICR7QVNTRVRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgUFJPRFVDVF9ERVRBSUxfRlJBR01FTlQgPSBncWxgXHJcbiAgICBmcmFnbWVudCBQcm9kdWN0RGV0YWlsIG9uIFByb2R1Y3Qge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgZW5hYmxlZFxyXG4gICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgIG5hbWVcclxuICAgICAgICBzbHVnXHJcbiAgICAgICAgZGVzY3JpcHRpb25cclxuICAgICAgICBmZWF0dXJlZEFzc2V0IHtcclxuICAgICAgICAgICAgLi4uQXNzZXRcclxuICAgICAgICB9XHJcbiAgICAgICAgYXNzZXRzIHtcclxuICAgICAgICAgICAgLi4uQXNzZXRcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNsYXRpb25zIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgbGFuZ3VhZ2VDb2RlXHJcbiAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgc2x1Z1xyXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxyXG4gICAgICAgIH1cclxuICAgICAgICBvcHRpb25Hcm91cHMge1xyXG4gICAgICAgICAgICAuLi5Qcm9kdWN0T3B0aW9uR3JvdXBcclxuICAgICAgICB9XHJcbiAgICAgICAgZmFjZXRWYWx1ZXMge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgZmFjZXQge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjaGFubmVscyB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGNvZGVcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1BST0RVQ1RfT1BUSU9OX0dST1VQX0ZSQUdNRU5UfVxyXG4gICAgJHtBU1NFVF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBQUk9EVUNUX09QVElPTl9HUk9VUF9XSVRIX09QVElPTlNfRlJBR01FTlQgPSBncWxgXHJcbiAgICBmcmFnbWVudCBQcm9kdWN0T3B0aW9uR3JvdXBXaXRoT3B0aW9ucyBvbiBQcm9kdWN0T3B0aW9uR3JvdXAge1xyXG4gICAgICAgIGlkXHJcbiAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgbGFuZ3VhZ2VDb2RlXHJcbiAgICAgICAgY29kZVxyXG4gICAgICAgIG5hbWVcclxuICAgICAgICB0cmFuc2xhdGlvbnMge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgfVxyXG4gICAgICAgIG9wdGlvbnMge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBsYW5ndWFnZUNvZGVcclxuICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgIHRyYW5zbGF0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVVBEQVRFX1BST0RVQ1QgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBVcGRhdGVQcm9kdWN0KCRpbnB1dDogVXBkYXRlUHJvZHVjdElucHV0ISwgJHZhcmlhbnRMaXN0T3B0aW9uczogUHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucykge1xyXG4gICAgICAgIHVwZGF0ZVByb2R1Y3QoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5Qcm9kdWN0RGV0YWlsXHJcbiAgICAgICAgICAgIHZhcmlhbnRMaXN0KG9wdGlvbnM6ICR2YXJpYW50TGlzdE9wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGl0ZW1zIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5Qcm9kdWN0VmFyaWFudFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdG90YWxJdGVtc1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtQUk9EVUNUX0RFVEFJTF9GUkFHTUVOVH1cclxuICAgICR7UFJPRFVDVF9WQVJJQU5UX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENSRUFURV9QUk9EVUNUID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gQ3JlYXRlUHJvZHVjdCgkaW5wdXQ6IENyZWF0ZVByb2R1Y3RJbnB1dCEsICR2YXJpYW50TGlzdE9wdGlvbnM6IFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMpIHtcclxuICAgICAgICBjcmVhdGVQcm9kdWN0KGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgLi4uUHJvZHVjdERldGFpbFxyXG4gICAgICAgICAgICB2YXJpYW50TGlzdChvcHRpb25zOiAkdmFyaWFudExpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgLi4uUHJvZHVjdFZhcmlhbnRcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRvdGFsSXRlbXNcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7UFJPRFVDVF9ERVRBSUxfRlJBR01FTlR9XHJcbiAgICAke1BST0RVQ1RfVkFSSUFOVF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBERUxFVEVfUFJPRFVDVCA9IGdxbGBcclxuICAgIG11dGF0aW9uIERlbGV0ZVByb2R1Y3QoJGlkOiBJRCEpIHtcclxuICAgICAgICBkZWxldGVQcm9kdWN0KGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgcmVzdWx0XHJcbiAgICAgICAgICAgIG1lc3NhZ2VcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgREVMRVRFX1BST0RVQ1RTID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gRGVsZXRlUHJvZHVjdHMoJGlkczogW0lEIV0hKSB7XHJcbiAgICAgICAgZGVsZXRlUHJvZHVjdHMoaWRzOiAkaWRzKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdFxyXG4gICAgICAgICAgICBtZXNzYWdlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENSRUFURV9QUk9EVUNUX1ZBUklBTlRTID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gQ3JlYXRlUHJvZHVjdFZhcmlhbnRzKCRpbnB1dDogW0NyZWF0ZVByb2R1Y3RWYXJpYW50SW5wdXQhXSEpIHtcclxuICAgICAgICBjcmVhdGVQcm9kdWN0VmFyaWFudHMoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5Qcm9kdWN0VmFyaWFudFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7UFJPRFVDVF9WQVJJQU5UX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVQREFURV9QUk9EVUNUX1ZBUklBTlRTID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVXBkYXRlUHJvZHVjdFZhcmlhbnRzKCRpbnB1dDogW1VwZGF0ZVByb2R1Y3RWYXJpYW50SW5wdXQhXSEpIHtcclxuICAgICAgICB1cGRhdGVQcm9kdWN0VmFyaWFudHMoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5Qcm9kdWN0VmFyaWFudFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7UFJPRFVDVF9WQVJJQU5UX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENSRUFURV9QUk9EVUNUX09QVElPTl9HUk9VUCA9IGdxbGBcclxuICAgIG11dGF0aW9uIENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cCgkaW5wdXQ6IENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cElucHV0ISkge1xyXG4gICAgICAgIGNyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLlByb2R1Y3RPcHRpb25Hcm91cFdpdGhPcHRpb25zXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtQUk9EVUNUX09QVElPTl9HUk9VUF9XSVRIX09QVElPTlNfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX1BST0RVQ1RfT1BUSU9OX0dST1VQID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0UHJvZHVjdE9wdGlvbkdyb3VwKCRpZDogSUQhKSB7XHJcbiAgICAgICAgcHJvZHVjdE9wdGlvbkdyb3VwKGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgLi4uUHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1BST0RVQ1RfT1BUSU9OX0dST1VQX1dJVEhfT1BUSU9OU19GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBBRERfT1BUSU9OX1RPX0dST1VQID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gQWRkT3B0aW9uVG9Hcm91cCgkaW5wdXQ6IENyZWF0ZVByb2R1Y3RPcHRpb25JbnB1dCEpIHtcclxuICAgICAgICBjcmVhdGVQcm9kdWN0T3B0aW9uKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIGNvZGVcclxuICAgICAgICAgICAgZ3JvdXBJZFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBBRERfT1BUSU9OX0dST1VQX1RPX1BST0RVQ1QgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBBZGRPcHRpb25Hcm91cFRvUHJvZHVjdCgkcHJvZHVjdElkOiBJRCEsICRvcHRpb25Hcm91cElkOiBJRCEpIHtcclxuICAgICAgICBhZGRPcHRpb25Hcm91cFRvUHJvZHVjdChwcm9kdWN0SWQ6ICRwcm9kdWN0SWQsIG9wdGlvbkdyb3VwSWQ6ICRvcHRpb25Hcm91cElkKSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgb3B0aW9uR3JvdXBzIHtcclxuICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgIHVwZGF0ZWRBdFxyXG4gICAgICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICAgICAgb3B0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgUkVNT1ZFX09QVElPTl9HUk9VUF9GUk9NX1BST0RVQ1QgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0KCRwcm9kdWN0SWQ6IElEISwgJG9wdGlvbkdyb3VwSWQ6IElEISkge1xyXG4gICAgICAgIHJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3QocHJvZHVjdElkOiAkcHJvZHVjdElkLCBvcHRpb25Hcm91cElkOiAkb3B0aW9uR3JvdXBJZCkge1xyXG4gICAgICAgICAgICAuLi4gb24gUHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgIG9wdGlvbkdyb3VwcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9QUk9EVUNUX1dJVEhfVkFSSUFOVFMgPSBncWxgXHJcbiAgICBxdWVyeSBHZXRQcm9kdWN0V2l0aFZhcmlhbnRzKCRpZDogSUQhLCAkdmFyaWFudExpc3RPcHRpb25zOiBQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcHJvZHVjdChpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIC4uLlByb2R1Y3REZXRhaWxcclxuICAgICAgICAgICAgdmFyaWFudExpc3Qob3B0aW9uczogJHZhcmlhbnRMaXN0T3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLlByb2R1Y3RWYXJpYW50XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1BST0RVQ1RfREVUQUlMX0ZSQUdNRU5UfVxyXG4gICAgJHtQUk9EVUNUX1ZBUklBTlRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX1BST0RVQ1RfU0lNUExFID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0UHJvZHVjdFNpbXBsZSgkaWQ6IElEISkge1xyXG4gICAgICAgIHByb2R1Y3QoaWQ6ICRpZCkge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIGZlYXR1cmVkQXNzZXQge1xyXG4gICAgICAgICAgICAgICAgLi4uQXNzZXRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7QVNTRVRfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX1BST0RVQ1RfTElTVCA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldFByb2R1Y3RMaXN0KCRvcHRpb25zOiBQcm9kdWN0TGlzdE9wdGlvbnMpIHtcclxuICAgICAgICBwcm9kdWN0cyhvcHRpb25zOiAkb3B0aW9ucykge1xyXG4gICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgIGVuYWJsZWRcclxuICAgICAgICAgICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICAgICAgc2x1Z1xyXG4gICAgICAgICAgICAgICAgZmVhdHVyZWRBc3NldCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aWV3XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdG90YWxJdGVtc1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBHRVRfUFJPRFVDVF9PUFRJT05fR1JPVVBTID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0UHJvZHVjdE9wdGlvbkdyb3VwcygkZmlsdGVyVGVybTogU3RyaW5nKSB7XHJcbiAgICAgICAgcHJvZHVjdE9wdGlvbkdyb3VwcyhmaWx0ZXJUZXJtOiAkZmlsdGVyVGVybSkge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgICAgICBjb2RlXHJcbiAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgb3B0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0XHJcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgIGxhbmd1YWdlQ29kZVxyXG4gICAgICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9BU1NFVF9MSVNUID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0QXNzZXRMaXN0KCRvcHRpb25zOiBBc3NldExpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgYXNzZXRzKG9wdGlvbnM6ICRvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIGl0ZW1zIHtcclxuICAgICAgICAgICAgICAgIC4uLkFzc2V0XHJcbiAgICAgICAgICAgICAgICB0YWdzIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5UYWdcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtBU1NFVF9GUkFHTUVOVH1cclxuICAgICR7VEFHX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9BU1NFVCA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldEFzc2V0KCRpZDogSUQhKSB7XHJcbiAgICAgICAgYXNzZXQoaWQ6ICRpZCkge1xyXG4gICAgICAgICAgICAuLi5Bc3NldFxyXG4gICAgICAgICAgICB0YWdzIHtcclxuICAgICAgICAgICAgICAgIC4uLlRhZ1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtBU1NFVF9GUkFHTUVOVH1cclxuICAgICR7VEFHX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENSRUFURV9BU1NFVFMgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBDcmVhdGVBc3NldHMoJGlucHV0OiBbQ3JlYXRlQXNzZXRJbnB1dCFdISkge1xyXG4gICAgICAgIGNyZWF0ZUFzc2V0cyhpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLkFzc2V0XHJcbiAgICAgICAgICAgIC4uLiBvbiBBc3NldCB7XHJcbiAgICAgICAgICAgICAgICB0YWdzIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5UYWdcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuLi4gb24gRXJyb3JSZXN1bHQge1xyXG4gICAgICAgICAgICAgICAgbWVzc2FnZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtBU1NFVF9GUkFHTUVOVH1cclxuICAgICR7VEFHX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFVQREFURV9BU1NFVCA9IGdxbGBcclxuICAgIG11dGF0aW9uIFVwZGF0ZUFzc2V0KCRpbnB1dDogVXBkYXRlQXNzZXRJbnB1dCEpIHtcclxuICAgICAgICB1cGRhdGVBc3NldChpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIC4uLkFzc2V0XHJcbiAgICAgICAgICAgIHRhZ3Mge1xyXG4gICAgICAgICAgICAgICAgLi4uVGFnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke0FTU0VUX0ZSQUdNRU5UfVxyXG4gICAgJHtUQUdfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgREVMRVRFX0FTU0VUUyA9IGdxbGBcclxuICAgIG11dGF0aW9uIERlbGV0ZUFzc2V0cygkaW5wdXQ6IERlbGV0ZUFzc2V0c0lucHV0ISkge1xyXG4gICAgICAgIGRlbGV0ZUFzc2V0cyhpbnB1dDogJGlucHV0KSB7XHJcbiAgICAgICAgICAgIHJlc3VsdFxyXG4gICAgICAgICAgICBtZXNzYWdlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNFQVJDSF9QUk9EVUNUUyA9IGdxbGBcclxuICAgIHF1ZXJ5IFNlYXJjaFByb2R1Y3RzKCRpbnB1dDogU2VhcmNoSW5wdXQhKSB7XHJcbiAgICAgICAgc2VhcmNoKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgdG90YWxJdGVtc1xyXG4gICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICBlbmFibGVkXHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0SWRcclxuICAgICAgICAgICAgICAgIHByb2R1Y3ROYW1lXHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0QXNzZXQge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICAgICAgcHJldmlld1xyXG4gICAgICAgICAgICAgICAgICAgIGZvY2FsUG9pbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0VmFyaWFudElkXHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0VmFyaWFudE5hbWVcclxuICAgICAgICAgICAgICAgIHByb2R1Y3RWYXJpYW50QXNzZXQge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICAgICAgcHJldmlld1xyXG4gICAgICAgICAgICAgICAgICAgIGZvY2FsUG9pbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBza3VcclxuICAgICAgICAgICAgICAgIGNoYW5uZWxJZHNcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmYWNldFZhbHVlcyB7XHJcbiAgICAgICAgICAgICAgICBjb3VudFxyXG4gICAgICAgICAgICAgICAgZmFjZXRWYWx1ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgZmFjZXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgUFJPRFVDVF9TRUxFQ1RPUl9TRUFSQ0ggPSBncWxgXHJcbiAgICBxdWVyeSBQcm9kdWN0U2VsZWN0b3JTZWFyY2goJHRlcm06IFN0cmluZyEsICR0YWtlOiBJbnQhKSB7XHJcbiAgICAgICAgc2VhcmNoKGlucHV0OiB7IGdyb3VwQnlQcm9kdWN0OiBmYWxzZSwgdGVybTogJHRlcm0sIHRha2U6ICR0YWtlIH0pIHtcclxuICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgcHJvZHVjdFZhcmlhbnRJZFxyXG4gICAgICAgICAgICAgICAgcHJvZHVjdFZhcmlhbnROYW1lXHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0QXNzZXQge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICAgICAgcHJldmlld1xyXG4gICAgICAgICAgICAgICAgICAgIGZvY2FsUG9pbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLi4uIG9uIFNpbmdsZVByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwcmljZVdpdGhUYXgge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLiBvbiBTaW5nbGVQcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc2t1XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgVVBEQVRFX1BST0RVQ1RfT1BUSU9OX0dST1VQID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwKCRpbnB1dDogVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQhKSB7XHJcbiAgICAgICAgdXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgLi4uUHJvZHVjdE9wdGlvbkdyb3VwXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtQUk9EVUNUX09QVElPTl9HUk9VUF9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBVUERBVEVfUFJPRFVDVF9PUFRJT04gPSBncWxgXHJcbiAgICBtdXRhdGlvbiBVcGRhdGVQcm9kdWN0T3B0aW9uKCRpbnB1dDogVXBkYXRlUHJvZHVjdE9wdGlvbklucHV0ISkge1xyXG4gICAgICAgIHVwZGF0ZVByb2R1Y3RPcHRpb24oaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5Qcm9kdWN0T3B0aW9uXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtQUk9EVUNUX09QVElPTl9GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBERUxFVEVfUFJPRFVDVF9PUFRJT04gPSBncWxgXHJcbiAgICBtdXRhdGlvbiBEZWxldGVQcm9kdWN0T3B0aW9uKCRpZDogSUQhKSB7XHJcbiAgICAgICAgZGVsZXRlUHJvZHVjdE9wdGlvbihpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdFxyXG4gICAgICAgICAgICBtZXNzYWdlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IERFTEVURV9QUk9EVUNUX1ZBUklBTlQgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBEZWxldGVQcm9kdWN0VmFyaWFudCgkaWQ6IElEISkge1xyXG4gICAgICAgIGRlbGV0ZVByb2R1Y3RWYXJpYW50KGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgcmVzdWx0XHJcbiAgICAgICAgICAgIG1lc3NhZ2VcclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX1BST0RVQ1RfVkFSSUFOVF9PUFRJT05TID0gZ3FsYFxyXG4gICAgcXVlcnkgR2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zKCRpZDogSUQhKSB7XHJcbiAgICAgICAgcHJvZHVjdChpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICBvcHRpb25Hcm91cHMge1xyXG4gICAgICAgICAgICAgICAgLi4uUHJvZHVjdE9wdGlvbkdyb3VwXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zIHtcclxuICAgICAgICAgICAgICAgICAgICAuLi5Qcm9kdWN0T3B0aW9uXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdmFyaWFudHMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIGNyZWF0ZWRBdFxyXG4gICAgICAgICAgICAgICAgdXBkYXRlZEF0XHJcbiAgICAgICAgICAgICAgICBlbmFibGVkXHJcbiAgICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgICAgICBza3VcclxuICAgICAgICAgICAgICAgIHByaWNlXHJcbiAgICAgICAgICAgICAgICBzdG9ja09uSGFuZFxyXG4gICAgICAgICAgICAgICAgZW5hYmxlZFxyXG4gICAgICAgICAgICAgICAgb3B0aW9ucyB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICB1cGRhdGVkQXRcclxuICAgICAgICAgICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICAgICAgICAgIGdyb3VwSWRcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7UFJPRFVDVF9PUFRJT05fR1JPVVBfRlJBR01FTlR9XHJcbiAgICAke1BST0RVQ1RfT1BUSU9OX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFTU0lHTl9QUk9EVUNUU19UT19DSEFOTkVMID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gQXNzaWduUHJvZHVjdHNUb0NoYW5uZWwoJGlucHV0OiBBc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbElucHV0ISkge1xyXG4gICAgICAgIGFzc2lnblByb2R1Y3RzVG9DaGFubmVsKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgY2hhbm5lbHMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIGNvZGVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBBU1NJR05fVkFSSUFOVFNfVE9fQ0hBTk5FTCA9IGdxbGBcclxuICAgIG11dGF0aW9uIEFzc2lnblZhcmlhbnRzVG9DaGFubmVsKCRpbnB1dDogQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsSW5wdXQhKSB7XHJcbiAgICAgICAgYXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgY2hhbm5lbHMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIGNvZGVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBSRU1PVkVfUFJPRFVDVFNfRlJPTV9DSEFOTkVMID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbCgkaW5wdXQ6IFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxJbnB1dCEpIHtcclxuICAgICAgICByZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgY2hhbm5lbHMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIGNvZGVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBSRU1PVkVfVkFSSUFOVFNfRlJPTV9DSEFOTkVMID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gUmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbCgkaW5wdXQ6IFJlbW92ZVByb2R1Y3RWYXJpYW50c0Zyb21DaGFubmVsSW5wdXQhKSB7XHJcbiAgICAgICAgcmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWwoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICBjaGFubmVscyB7XHJcbiAgICAgICAgICAgICAgICBpZFxyXG4gICAgICAgICAgICAgICAgY29kZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9QUk9EVUNUX1ZBUklBTlQgPSBncWxgXHJcbiAgICBxdWVyeSBHZXRQcm9kdWN0VmFyaWFudCgkaWQ6IElEISkge1xyXG4gICAgICAgIHByb2R1Y3RWYXJpYW50KGlkOiAkaWQpIHtcclxuICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgbmFtZVxyXG4gICAgICAgICAgICBza3VcclxuICAgICAgICAgICAgc3RvY2tPbkhhbmRcclxuICAgICAgICAgICAgc3RvY2tBbGxvY2F0ZWRcclxuICAgICAgICAgICAgc3RvY2tMZXZlbFxyXG4gICAgICAgICAgICB1c2VHbG9iYWxPdXRPZlN0b2NrVGhyZXNob2xkXHJcbiAgICAgICAgICAgIGZlYXR1cmVkQXNzZXQge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIHByZXZpZXdcclxuICAgICAgICAgICAgICAgIGZvY2FsUG9pbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIHhcclxuICAgICAgICAgICAgICAgICAgICB5XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcHJpY2VcclxuICAgICAgICAgICAgcHJpY2VXaXRoVGF4XHJcbiAgICAgICAgICAgIHByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIGZlYXR1cmVkQXNzZXQge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICAgICAgcHJldmlld1xyXG4gICAgICAgICAgICAgICAgICAgIGZvY2FsUG9pbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX1BST0RVQ1RfVkFSSUFOVF9MSVNUX1NJTVBMRSA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZSgkb3B0aW9uczogUHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucyEsICRwcm9kdWN0SWQ6IElEKSB7XHJcbiAgICAgICAgcHJvZHVjdFZhcmlhbnRzKG9wdGlvbnM6ICRvcHRpb25zLCBwcm9kdWN0SWQ6ICRwcm9kdWN0SWQpIHtcclxuICAgICAgICAgICAgaXRlbXMge1xyXG4gICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgICAgIHNrdVxyXG4gICAgICAgICAgICAgICAgZmVhdHVyZWRBc3NldCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWRcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aWV3XHJcbiAgICAgICAgICAgICAgICAgICAgZm9jYWxQb2ludCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhcclxuICAgICAgICAgICAgICAgICAgICAgICAgeVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHByb2R1Y3Qge1xyXG4gICAgICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICAgICAgZmVhdHVyZWRBc3NldCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpZXdcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9jYWxQb2ludCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdG90YWxJdGVtc1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBHRVRfUFJPRFVDVF9WQVJJQU5UX0xJU1QgPSBncWxgXHJcbiAgICBxdWVyeSBHZXRQcm9kdWN0VmFyaWFudExpc3QoJG9wdGlvbnM6IFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMhLCAkcHJvZHVjdElkOiBJRCkge1xyXG4gICAgICAgIHByb2R1Y3RWYXJpYW50cyhvcHRpb25zOiAkb3B0aW9ucywgcHJvZHVjdElkOiAkcHJvZHVjdElkKSB7XHJcbiAgICAgICAgICAgIGl0ZW1zIHtcclxuICAgICAgICAgICAgICAgIC4uLlByb2R1Y3RWYXJpYW50XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdG90YWxJdGVtc1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7UFJPRFVDVF9WQVJJQU5UX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IEdFVF9UQUdfTElTVCA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldFRhZ0xpc3QoJG9wdGlvbnM6IFRhZ0xpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgdGFncyhvcHRpb25zOiAkb3B0aW9ucykge1xyXG4gICAgICAgICAgICBpdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAuLi5UYWdcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0b3RhbEl0ZW1zXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtUQUdfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgR0VUX1RBRyA9IGdxbGBcclxuICAgIHF1ZXJ5IEdldFRhZygkaWQ6IElEISkge1xyXG4gICAgICAgIHRhZyhpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIC4uLlRhZ1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICR7VEFHX0ZSQUdNRU5UfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENSRUFURV9UQUcgPSBncWxgXHJcbiAgICBtdXRhdGlvbiBDcmVhdGVUYWcoJGlucHV0OiBDcmVhdGVUYWdJbnB1dCEpIHtcclxuICAgICAgICBjcmVhdGVUYWcoaW5wdXQ6ICRpbnB1dCkge1xyXG4gICAgICAgICAgICAuLi5UYWdcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAke1RBR19GUkFHTUVOVH1cclxuYDtcclxuXHJcbmV4cG9ydCBjb25zdCBVUERBVEVfVEFHID0gZ3FsYFxyXG4gICAgbXV0YXRpb24gVXBkYXRlVGFnKCRpbnB1dDogVXBkYXRlVGFnSW5wdXQhKSB7XHJcbiAgICAgICAgdXBkYXRlVGFnKGlucHV0OiAkaW5wdXQpIHtcclxuICAgICAgICAgICAgLi4uVGFnXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJHtUQUdfRlJBR01FTlR9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgREVMRVRFX1RBRyA9IGdxbGBcclxuICAgIG11dGF0aW9uIERlbGV0ZVRhZygkaWQ6IElEISkge1xyXG4gICAgICAgIGRlbGV0ZVRhZyhpZDogJGlkKSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2VcclxuICAgICAgICAgICAgcmVzdWx0XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5gO1xyXG4iXX0=
@@ -1,32 +1,33 @@
1
1
  import { gql } from 'apollo-angular';
2
- export const CONFIGURABLE_OPERATION_FRAGMENT = gql `
3
- fragment ConfigurableOperation on ConfigurableOperation {
4
- args {
5
- name
6
- value
7
- }
8
- code
9
- }
2
+ export const CONFIGURABLE_OPERATION_FRAGMENT = gql `
3
+ fragment ConfigurableOperation on ConfigurableOperation {
4
+ args {
5
+ name
6
+ value
7
+ }
8
+ code
9
+ }
10
10
  `;
11
- export const CONFIGURABLE_OPERATION_DEF_FRAGMENT = gql `
12
- fragment ConfigurableOperationDef on ConfigurableOperationDefinition {
13
- args {
14
- name
15
- type
16
- required
17
- defaultValue
18
- list
19
- ui
20
- label
21
- }
22
- code
23
- description
24
- }
11
+ export const CONFIGURABLE_OPERATION_DEF_FRAGMENT = gql `
12
+ fragment ConfigurableOperationDef on ConfigurableOperationDefinition {
13
+ args {
14
+ name
15
+ type
16
+ required
17
+ defaultValue
18
+ list
19
+ ui
20
+ label
21
+ description
22
+ }
23
+ code
24
+ description
25
+ }
25
26
  `;
26
- export const ERROR_RESULT_FRAGMENT = gql `
27
- fragment ErrorResult on ErrorResult {
28
- errorCode
29
- message
30
- }
27
+ export const ERROR_RESULT_FRAGMENT = gql `
28
+ fragment ErrorResult on ErrorResult {
29
+ errorCode
30
+ message
31
+ }
31
32
  `;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWRlZmluaXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9kYXRhL2RlZmluaXRpb25zL3NoYXJlZC1kZWZpbml0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7OztDQVFqRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7OztDQWNyRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFBOzs7OztDQUt2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuXG5leHBvcnQgY29uc3QgQ09ORklHVVJBQkxFX09QRVJBVElPTl9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBDb25maWd1cmFibGVPcGVyYXRpb24gb24gQ29uZmlndXJhYmxlT3BlcmF0aW9uIHtcbiAgICAgICAgYXJncyB7XG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICB9XG4gICAgICAgIGNvZGVcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ09ORklHVVJBQkxFX09QRVJBVElPTl9ERUZfRlJBR01FTlQgPSBncWxgXG4gICAgZnJhZ21lbnQgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmIG9uIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24ge1xuICAgICAgICBhcmdzIHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWVcbiAgICAgICAgICAgIGxpc3RcbiAgICAgICAgICAgIHVpXG4gICAgICAgICAgICBsYWJlbFxuICAgICAgICB9XG4gICAgICAgIGNvZGVcbiAgICAgICAgZGVzY3JpcHRpb25cbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgRVJST1JfUkVTVUxUX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IEVycm9yUmVzdWx0IG9uIEVycm9yUmVzdWx0IHtcbiAgICAgICAgZXJyb3JDb2RlXG4gICAgICAgIG1lc3NhZ2VcbiAgICB9XG5gO1xuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWRlZmluaXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9kYXRhL2RlZmluaXRpb25zL3NoYXJlZC1kZWZpbml0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7OztDQVFqRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Q0FlckQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Q0FLdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcclxuXHJcbmV4cG9ydCBjb25zdCBDT05GSUdVUkFCTEVfT1BFUkFUSU9OX0ZSQUdNRU5UID0gZ3FsYFxyXG4gICAgZnJhZ21lbnQgQ29uZmlndXJhYmxlT3BlcmF0aW9uIG9uIENvbmZpZ3VyYWJsZU9wZXJhdGlvbiB7XHJcbiAgICAgICAgYXJncyB7XHJcbiAgICAgICAgICAgIG5hbWVcclxuICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICB9XHJcbiAgICAgICAgY29kZVxyXG4gICAgfVxyXG5gO1xyXG5cclxuZXhwb3J0IGNvbnN0IENPTkZJR1VSQUJMRV9PUEVSQVRJT05fREVGX0ZSQUdNRU5UID0gZ3FsYFxyXG4gICAgZnJhZ21lbnQgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmIG9uIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24ge1xyXG4gICAgICAgIGFyZ3Mge1xyXG4gICAgICAgICAgICBuYW1lXHJcbiAgICAgICAgICAgIHR5cGVcclxuICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgICAgIGxpc3RcclxuICAgICAgICAgICAgdWlcclxuICAgICAgICAgICAgbGFiZWxcclxuICAgICAgICAgICAgZGVzY3JpcHRpb25cclxuICAgICAgICB9XHJcbiAgICAgICAgY29kZVxyXG4gICAgICAgIGRlc2NyaXB0aW9uXHJcbiAgICB9XHJcbmA7XHJcblxyXG5leHBvcnQgY29uc3QgRVJST1JfUkVTVUxUX0ZSQUdNRU5UID0gZ3FsYFxyXG4gICAgZnJhZ21lbnQgRXJyb3JSZXN1bHQgb24gRXJyb3JSZXN1bHQge1xyXG4gICAgICAgIGVycm9yQ29kZVxyXG4gICAgICAgIG1lc3NhZ2VcclxuICAgIH1cclxuYDtcclxuIl19
@@ -1,7 +1,7 @@
1
1
  import { pick } from '@vendure/common/lib/pick';
2
2
  import { from } from 'rxjs';
3
3
  import { bufferCount, concatMap } from 'rxjs/operators';
4
- import { CREATE_COLLECTION, DELETE_COLLECTION, GET_COLLECTION, GET_COLLECTION_CONTENTS, GET_COLLECTION_FILTERS, GET_COLLECTION_LIST, MOVE_COLLECTION, UPDATE_COLLECTION, } from '../definitions/collection-definitions';
4
+ import { ASSIGN_COLLECTIONS_TO_CHANNEL, CREATE_COLLECTION, DELETE_COLLECTION, DELETE_COLLECTIONS, GET_COLLECTION, GET_COLLECTION_CONTENTS, GET_COLLECTION_FILTERS, GET_COLLECTION_LIST, MOVE_COLLECTION, PREVIEW_COLLECTION_CONTENTS, REMOVE_COLLECTIONS_FROM_CHANNEL, UPDATE_COLLECTION, } from '../definitions/collection-definitions';
5
5
  export class CollectionDataService {
6
6
  constructor(baseDataService) {
7
7
  this.baseDataService = baseDataService;
@@ -57,6 +57,14 @@ export class CollectionDataService {
57
57
  id,
58
58
  });
59
59
  }
60
+ deleteCollections(ids) {
61
+ return this.baseDataService.mutate(DELETE_COLLECTIONS, {
62
+ ids,
63
+ });
64
+ }
65
+ previewCollectionVariants(input, options) {
66
+ return this.baseDataService.query(PREVIEW_COLLECTION_CONTENTS, { input, options });
67
+ }
60
68
  getCollectionContents(id, take = 10, skip = 0, filterTerm) {
61
69
  const filter = filterTerm
62
70
  ? { name: { contains: filterTerm } }
@@ -70,5 +78,15 @@ export class CollectionDataService {
70
78
  },
71
79
  });
72
80
  }
81
+ assignCollectionsToChannel(input) {
82
+ return this.baseDataService.mutate(ASSIGN_COLLECTIONS_TO_CHANNEL, {
83
+ input,
84
+ });
85
+ }
86
+ removeCollectionsFromChannel(input) {
87
+ return this.baseDataService.mutate(REMOVE_COLLECTIONS_FROM_CHANNEL, {
88
+ input,
89
+ });
90
+ }
73
91
  }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL2NvbGxlY3Rpb24tZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUNILGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixpQkFBaUIsR0FDcEIsTUFBTSx1Q0FBdUMsQ0FBQztBQUkvQyxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQsb0JBQW9CO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQW9DLHNCQUFzQixDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFlLEVBQUUsRUFBRSxPQUFlLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FHL0IsbUJBQW1CLEVBQUU7WUFDbkIsT0FBTyxFQUFFO2dCQUNMLElBQUk7Z0JBQ0osSUFBSTthQUNQO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQzdCLGNBQWMsRUFDZDtZQUNJLEVBQUU7U0FDTCxDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBb0M7UUFDakQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsaUJBQWlCLEVBQUU7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2YsY0FBYztnQkFDZCxVQUFVO2dCQUNWLFVBQVU7Z0JBQ1YsaUJBQWlCO2dCQUNqQixnQkFBZ0I7Z0JBQ2hCLFNBQVM7Z0JBQ1QsY0FBYzthQUNqQixDQUFDO1NBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQW9DO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLGlCQUFpQixFQUFFO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNmLElBQUk7Z0JBQ0osV0FBVztnQkFDWCxjQUFjO2dCQUNkLFVBQVU7Z0JBQ1YsaUJBQWlCO2dCQUNqQixnQkFBZ0I7Z0JBQ2hCLFNBQVM7Z0JBQ1QsY0FBYzthQUNqQixDQUFDO1NBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFxQztRQUNoRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3BCLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUd6QixlQUFlLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUNoQyxFQUNELFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQzdCLENBQUM7SUFDTixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBVTtRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxpQkFBaUIsRUFBRTtZQUNqQixFQUFFO1NBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHFCQUFxQixDQUFDLEVBQVUsRUFBRSxPQUFlLEVBQUUsRUFBRSxPQUFlLENBQUMsRUFBRSxVQUFtQjtRQUN0RixNQUFNLE1BQU0sR0FBRyxVQUFVO1lBQ3JCLENBQUMsQ0FBRSxFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsRUFBd0M7WUFDM0UsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUcvQix1QkFBdUIsRUFBRTtZQUN2QixFQUFFO1lBQ0YsT0FBTyxFQUFFO2dCQUNMLElBQUk7Z0JBQ0osSUFBSTtnQkFDSixNQUFNO2FBQ1Q7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwaWNrIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9waWNrJztcbmltcG9ydCB7IGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGJ1ZmZlckNvdW50LCBjb25jYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCAqIGFzIENvZGVnZW4gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XG5pbXBvcnQge1xuICAgIENSRUFURV9DT0xMRUNUSU9OLFxuICAgIERFTEVURV9DT0xMRUNUSU9OLFxuICAgIEdFVF9DT0xMRUNUSU9OLFxuICAgIEdFVF9DT0xMRUNUSU9OX0NPTlRFTlRTLFxuICAgIEdFVF9DT0xMRUNUSU9OX0ZJTFRFUlMsXG4gICAgR0VUX0NPTExFQ1RJT05fTElTVCxcbiAgICBNT1ZFX0NPTExFQ1RJT04sXG4gICAgVVBEQVRFX0NPTExFQ1RJT04sXG59IGZyb20gJy4uL2RlZmluaXRpb25zL2NvbGxlY3Rpb24tZGVmaW5pdGlvbnMnO1xuXG5pbXBvcnQgeyBCYXNlRGF0YVNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtZGF0YS5zZXJ2aWNlJztcblxuZXhwb3J0IGNsYXNzIENvbGxlY3Rpb25EYXRhU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlRGF0YVNlcnZpY2U6IEJhc2VEYXRhU2VydmljZSkge31cblxuICAgIGdldENvbGxlY3Rpb25GaWx0ZXJzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8Q29kZWdlbi5HZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5PihHRVRfQ09MTEVDVElPTl9GSUxURVJTKTtcbiAgICB9XG5cbiAgICBnZXRDb2xsZWN0aW9ucyh0YWtlOiBudW1iZXIgPSAxMCwgc2tpcDogbnVtYmVyID0gMCkge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XG4gICAgICAgICAgICBDb2RlZ2VuLkdldENvbGxlY3Rpb25MaXN0UXVlcnksXG4gICAgICAgICAgICBDb2RlZ2VuLkdldENvbGxlY3Rpb25MaXN0UXVlcnlWYXJpYWJsZXNcbiAgICAgICAgPihHRVRfQ09MTEVDVElPTl9MSVNULCB7XG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgdGFrZSxcbiAgICAgICAgICAgICAgICBza2lwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0Q29sbGVjdGlvbihpZDogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxDb2RlZ2VuLkdldENvbGxlY3Rpb25RdWVyeSwgQ29kZWdlbi5HZXRDb2xsZWN0aW9uUXVlcnlWYXJpYWJsZXM+KFxuICAgICAgICAgICAgR0VUX0NPTExFQ1RJT04sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNyZWF0ZUNvbGxlY3Rpb24oaW5wdXQ6IENvZGVnZW4uQ3JlYXRlQ29sbGVjdGlvbklucHV0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLkNyZWF0ZUNvbGxlY3Rpb25NdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oQ1JFQVRFX0NPTExFQ1RJT04sIHtcbiAgICAgICAgICAgIGlucHV0OiBwaWNrKGlucHV0LCBbXG4gICAgICAgICAgICAgICAgJ3RyYW5zbGF0aW9ucycsXG4gICAgICAgICAgICAgICAgJ3BhcmVudElkJyxcbiAgICAgICAgICAgICAgICAnYXNzZXRJZHMnLFxuICAgICAgICAgICAgICAgICdmZWF0dXJlZEFzc2V0SWQnLFxuICAgICAgICAgICAgICAgICdpbmhlcml0RmlsdGVycycsXG4gICAgICAgICAgICAgICAgJ2ZpbHRlcnMnLFxuICAgICAgICAgICAgICAgICdjdXN0b21GaWVsZHMnLFxuICAgICAgICAgICAgXSksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHVwZGF0ZUNvbGxlY3Rpb24oaW5wdXQ6IENvZGVnZW4uVXBkYXRlQ29sbGVjdGlvbklucHV0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUNvbGxlY3Rpb25NdXRhdGlvbixcbiAgICAgICAgICAgIENvZGVnZW4uVXBkYXRlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzXG4gICAgICAgID4oVVBEQVRFX0NPTExFQ1RJT04sIHtcbiAgICAgICAgICAgIGlucHV0OiBwaWNrKGlucHV0LCBbXG4gICAgICAgICAgICAgICAgJ2lkJyxcbiAgICAgICAgICAgICAgICAnaXNQcml2YXRlJyxcbiAgICAgICAgICAgICAgICAndHJhbnNsYXRpb25zJyxcbiAgICAgICAgICAgICAgICAnYXNzZXRJZHMnLFxuICAgICAgICAgICAgICAgICdmZWF0dXJlZEFzc2V0SWQnLFxuICAgICAgICAgICAgICAgICdpbmhlcml0RmlsdGVycycsXG4gICAgICAgICAgICAgICAgJ2ZpbHRlcnMnLFxuICAgICAgICAgICAgICAgICdjdXN0b21GaWVsZHMnLFxuICAgICAgICAgICAgXSksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG1vdmVDb2xsZWN0aW9uKGlucHV0czogQ29kZWdlbi5Nb3ZlQ29sbGVjdGlvbklucHV0W10pIHtcbiAgICAgICAgcmV0dXJuIGZyb20oaW5wdXRzKS5waXBlKFxuICAgICAgICAgICAgY29uY2F0TWFwKGlucHV0ID0+XG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxuICAgICAgICAgICAgICAgICAgICBDb2RlZ2VuLk1vdmVDb2xsZWN0aW9uTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgICAgIENvZGVnZW4uTW92ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlc1xuICAgICAgICAgICAgICAgID4oTU9WRV9DT0xMRUNUSU9OLCB7IGlucHV0IH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGJ1ZmZlckNvdW50KGlucHV0cy5sZW5ndGgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZUNvbGxlY3Rpb24oaWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVDb2xsZWN0aW9uTXV0YXRpb24sXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlc1xuICAgICAgICA+KERFTEVURV9DT0xMRUNUSU9OLCB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0Q29sbGVjdGlvbkNvbnRlbnRzKGlkOiBzdHJpbmcsIHRha2U6IG51bWJlciA9IDEwLCBza2lwOiBudW1iZXIgPSAwLCBmaWx0ZXJUZXJtPzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGZpbHRlciA9IGZpbHRlclRlcm1cbiAgICAgICAgICAgID8gKHsgbmFtZTogeyBjb250YWluczogZmlsdGVyVGVybSB9IH0gYXMgQ29kZWdlbi5Db2xsZWN0aW9uRmlsdGVyUGFyYW1ldGVyKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcbiAgICAgICAgICAgIENvZGVnZW4uR2V0Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnksXG4gICAgICAgICAgICBDb2RlZ2VuLkdldENvbGxlY3Rpb25Db250ZW50c1F1ZXJ5VmFyaWFibGVzXG4gICAgICAgID4oR0VUX0NPTExFQ1RJT05fQ09OVEVOVFMsIHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHNraXAsXG4gICAgICAgICAgICAgICAgdGFrZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvcHJvdmlkZXJzL2NvbGxlY3Rpb24tZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEQsT0FBTyxFQUNILDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLDJCQUEyQixFQUMzQiwrQkFBK0IsRUFDL0IsaUJBQWlCLEdBQ3BCLE1BQU0sdUNBQXVDLENBQUM7QUFJL0MsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFBRyxDQUFDO0lBRXhELG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFvQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBZSxFQUFFLEVBQUUsT0FBZSxDQUFDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBRy9CLG1CQUFtQixFQUFFO1lBQ25CLE9BQU8sRUFBRTtnQkFDTCxJQUFJO2dCQUNKLElBQUk7YUFDUDtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxhQUFhLENBQUMsRUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUM3QixjQUFjLEVBQ2Q7WUFDSSxFQUFFO1NBQ0wsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQW9DO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLGlCQUFpQixFQUFFO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNmLGNBQWM7Z0JBQ2QsVUFBVTtnQkFDVixVQUFVO2dCQUNWLGlCQUFpQjtnQkFDakIsZ0JBQWdCO2dCQUNoQixTQUFTO2dCQUNULGNBQWM7YUFDakIsQ0FBQztTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFvQztRQUNqRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxpQkFBaUIsRUFBRTtZQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZixJQUFJO2dCQUNKLFdBQVc7Z0JBQ1gsY0FBYztnQkFDZCxVQUFVO2dCQUNWLGlCQUFpQjtnQkFDakIsZ0JBQWdCO2dCQUNoQixTQUFTO2dCQUNULGNBQWM7YUFDakIsQ0FBQztTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBcUM7UUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNwQixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDZCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHekIsZUFBZSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDaEMsRUFDRCxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVU7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsaUJBQWlCLEVBQUU7WUFDakIsRUFBRTtTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLGtCQUFrQixFQUFFO1lBQ2xCLEdBQUc7U0FDTixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQseUJBQXlCLENBQ3JCLEtBQTZDLEVBQzdDLE9BQTBDO1FBRTFDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBRy9CLDJCQUEyQixFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELHFCQUFxQixDQUFDLEVBQVUsRUFBRSxPQUFlLEVBQUUsRUFBRSxPQUFlLENBQUMsRUFBRSxVQUFtQjtRQUN0RixNQUFNLE1BQU0sR0FBRyxVQUFVO1lBQ3JCLENBQUMsQ0FBRSxFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsRUFBd0M7WUFDM0UsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUcvQix1QkFBdUIsRUFBRTtZQUN2QixFQUFFO1lBQ0YsT0FBTyxFQUFFO2dCQUNMLElBQUk7Z0JBQ0osSUFBSTtnQkFDSixNQUFNO2FBQ1Q7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsS0FBOEM7UUFDckUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsNkJBQTZCLEVBQUU7WUFDN0IsS0FBSztTQUNSLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCw0QkFBNEIsQ0FBQyxLQUFnRDtRQUN6RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQywrQkFBK0IsRUFBRTtZQUMvQixLQUFLO1NBQ1IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGljayB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvcGljayc7XHJcbmltcG9ydCB7IGZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgYnVmZmVyQ291bnQsIGNvbmNhdE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCAqIGFzIENvZGVnZW4gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7XHJcbiAgICBBU1NJR05fQ09MTEVDVElPTlNfVE9fQ0hBTk5FTCxcclxuICAgIENSRUFURV9DT0xMRUNUSU9OLFxyXG4gICAgREVMRVRFX0NPTExFQ1RJT04sXHJcbiAgICBERUxFVEVfQ09MTEVDVElPTlMsXHJcbiAgICBHRVRfQ09MTEVDVElPTixcclxuICAgIEdFVF9DT0xMRUNUSU9OX0NPTlRFTlRTLFxyXG4gICAgR0VUX0NPTExFQ1RJT05fRklMVEVSUyxcclxuICAgIEdFVF9DT0xMRUNUSU9OX0xJU1QsXHJcbiAgICBNT1ZFX0NPTExFQ1RJT04sXHJcbiAgICBQUkVWSUVXX0NPTExFQ1RJT05fQ09OVEVOVFMsXHJcbiAgICBSRU1PVkVfQ09MTEVDVElPTlNfRlJPTV9DSEFOTkVMLFxyXG4gICAgVVBEQVRFX0NPTExFQ1RJT04sXHJcbn0gZnJvbSAnLi4vZGVmaW5pdGlvbnMvY29sbGVjdGlvbi1kZWZpbml0aW9ucyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlRGF0YVNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtZGF0YS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDb2xsZWN0aW9uRGF0YVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlRGF0YVNlcnZpY2U6IEJhc2VEYXRhU2VydmljZSkge31cclxuXHJcbiAgICBnZXRDb2xsZWN0aW9uRmlsdGVycygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8Q29kZWdlbi5HZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5PihHRVRfQ09MTEVDVElPTl9GSUxURVJTKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDb2xsZWN0aW9ucyh0YWtlOiBudW1iZXIgPSAxMCwgc2tpcDogbnVtYmVyID0gMCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5LFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldENvbGxlY3Rpb25MaXN0UXVlcnlWYXJpYWJsZXNcclxuICAgICAgICA+KEdFVF9DT0xMRUNUSU9OX0xJU1QsIHtcclxuICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgdGFrZSxcclxuICAgICAgICAgICAgICAgIHNraXAsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q29sbGVjdGlvbihpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PENvZGVnZW4uR2V0Q29sbGVjdGlvblF1ZXJ5LCBDb2RlZ2VuLkdldENvbGxlY3Rpb25RdWVyeVZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIEdFVF9DT0xMRUNUSU9OLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUNvbGxlY3Rpb24oaW5wdXQ6IENvZGVnZW4uQ3JlYXRlQ29sbGVjdGlvbklucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVDb2xsZWN0aW9uTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihDUkVBVEVfQ09MTEVDVElPTiwge1xyXG4gICAgICAgICAgICBpbnB1dDogcGljayhpbnB1dCwgW1xyXG4gICAgICAgICAgICAgICAgJ3RyYW5zbGF0aW9ucycsXHJcbiAgICAgICAgICAgICAgICAncGFyZW50SWQnLFxyXG4gICAgICAgICAgICAgICAgJ2Fzc2V0SWRzJyxcclxuICAgICAgICAgICAgICAgICdmZWF0dXJlZEFzc2V0SWQnLFxyXG4gICAgICAgICAgICAgICAgJ2luaGVyaXRGaWx0ZXJzJyxcclxuICAgICAgICAgICAgICAgICdmaWx0ZXJzJyxcclxuICAgICAgICAgICAgICAgICdjdXN0b21GaWVsZHMnLFxyXG4gICAgICAgICAgICBdKSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVDb2xsZWN0aW9uKGlucHV0OiBDb2RlZ2VuLlVwZGF0ZUNvbGxlY3Rpb25JbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uVXBkYXRlQ29sbGVjdGlvbk11dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oVVBEQVRFX0NPTExFQ1RJT04sIHtcclxuICAgICAgICAgICAgaW5wdXQ6IHBpY2soaW5wdXQsIFtcclxuICAgICAgICAgICAgICAgICdpZCcsXHJcbiAgICAgICAgICAgICAgICAnaXNQcml2YXRlJyxcclxuICAgICAgICAgICAgICAgICd0cmFuc2xhdGlvbnMnLFxyXG4gICAgICAgICAgICAgICAgJ2Fzc2V0SWRzJyxcclxuICAgICAgICAgICAgICAgICdmZWF0dXJlZEFzc2V0SWQnLFxyXG4gICAgICAgICAgICAgICAgJ2luaGVyaXRGaWx0ZXJzJyxcclxuICAgICAgICAgICAgICAgICdmaWx0ZXJzJyxcclxuICAgICAgICAgICAgICAgICdjdXN0b21GaWVsZHMnLFxyXG4gICAgICAgICAgICBdKSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBtb3ZlQ29sbGVjdGlvbihpbnB1dHM6IENvZGVnZW4uTW92ZUNvbGxlY3Rpb25JbnB1dFtdKSB7XHJcbiAgICAgICAgcmV0dXJuIGZyb20oaW5wdXRzKS5waXBlKFxyXG4gICAgICAgICAgICBjb25jYXRNYXAoaW5wdXQgPT5cclxuICAgICAgICAgICAgICAgIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgICAgICAgICBDb2RlZ2VuLk1vdmVDb2xsZWN0aW9uTXV0YXRpb24sXHJcbiAgICAgICAgICAgICAgICAgICAgQ29kZWdlbi5Nb3ZlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgICAgICAgICA+KE1PVkVfQ09MTEVDVElPTiwgeyBpbnB1dCB9KSxcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgYnVmZmVyQ291bnQoaW5wdXRzLmxlbmd0aCksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVDb2xsZWN0aW9uKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUNvbGxlY3Rpb25NdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KERFTEVURV9DT0xMRUNUSU9OLCB7XHJcbiAgICAgICAgICAgIGlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZUNvbGxlY3Rpb25zKGlkczogc3RyaW5nW10pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUNvbGxlY3Rpb25zTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ29sbGVjdGlvbnNNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oREVMRVRFX0NPTExFQ1RJT05TLCB7XHJcbiAgICAgICAgICAgIGlkcyxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcmV2aWV3Q29sbGVjdGlvblZhcmlhbnRzKFxyXG4gICAgICAgIGlucHV0OiBDb2RlZ2VuLlByZXZpZXdDb2xsZWN0aW9uVmFyaWFudHNJbnB1dCxcclxuICAgICAgICBvcHRpb25zOiBDb2RlZ2VuLlByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMsXHJcbiAgICApIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XHJcbiAgICAgICAgICAgIENvZGVnZW4uUHJldmlld0NvbGxlY3Rpb25Db250ZW50c1F1ZXJ5LFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlByZXZpZXdDb2xsZWN0aW9uQ29udGVudHNRdWVyeVZhcmlhYmxlc1xyXG4gICAgICAgID4oUFJFVklFV19DT0xMRUNUSU9OX0NPTlRFTlRTLCB7IGlucHV0LCBvcHRpb25zIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldENvbGxlY3Rpb25Db250ZW50cyhpZDogc3RyaW5nLCB0YWtlOiBudW1iZXIgPSAxMCwgc2tpcDogbnVtYmVyID0gMCwgZmlsdGVyVGVybT86IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IGZpbHRlciA9IGZpbHRlclRlcm1cclxuICAgICAgICAgICAgPyAoeyBuYW1lOiB7IGNvbnRhaW5zOiBmaWx0ZXJUZXJtIH0gfSBhcyBDb2RlZ2VuLkNvbGxlY3Rpb25GaWx0ZXJQYXJhbWV0ZXIpXHJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeVZhcmlhYmxlc1xyXG4gICAgICAgID4oR0VUX0NPTExFQ1RJT05fQ09OVEVOVFMsIHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIHNraXAsXHJcbiAgICAgICAgICAgICAgICB0YWtlLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsKGlucHV0OiBDb2RlZ2VuLkFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkFzc2lnbkNvbGxlY3Rpb25zVG9DaGFubmVsTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQXNzaWduQ29sbGVjdGlvbnNUb0NoYW5uZWxNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oQVNTSUdOX0NPTExFQ1RJT05TX1RPX0NIQU5ORUwsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlQ29sbGVjdGlvbnNGcm9tQ2hhbm5lbChpbnB1dDogQ29kZWdlbi5SZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlJlbW92ZUNvbGxlY3Rpb25zRnJvbUNoYW5uZWxNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5SZW1vdmVDb2xsZWN0aW9uc0Zyb21DaGFubmVsTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KFJFTU9WRV9DT0xMRUNUSU9OU19GUk9NX0NIQU5ORUwsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,3 +1,4 @@
1
+ import { LogicalOperator } from '../../common/generated-types';
1
2
  import { ADD_CUSTOMERS_TO_GROUP, ADD_NOTE_TO_CUSTOMER, CREATE_CUSTOMER, CREATE_CUSTOMER_ADDRESS, CREATE_CUSTOMER_GROUP, DELETE_CUSTOMER, DELETE_CUSTOMER_ADDRESS, DELETE_CUSTOMER_GROUP, DELETE_CUSTOMER_NOTE, GET_CUSTOMER, GET_CUSTOMER_GROUPS, GET_CUSTOMER_GROUP_WITH_CUSTOMERS, GET_CUSTOMER_HISTORY, GET_CUSTOMER_LIST, REMOVE_CUSTOMERS_FROM_GROUP, UPDATE_CUSTOMER, UPDATE_CUSTOMER_ADDRESS, UPDATE_CUSTOMER_GROUP, UPDATE_CUSTOMER_NOTE, } from '../definitions/customer-definitions';
2
3
  export class CustomerDataService {
3
4
  constructor(baseDataService) {
@@ -10,6 +11,9 @@ export class CustomerDataService {
10
11
  emailAddress: {
11
12
  contains: filterTerm,
12
13
  },
14
+ lastName: {
15
+ contains: filterTerm,
16
+ },
13
17
  },
14
18
  }
15
19
  : {};
@@ -18,6 +22,7 @@ export class CustomerDataService {
18
22
  take,
19
23
  skip,
20
24
  ...filter,
25
+ filterOperator: LogicalOperator.OR,
21
26
  },
22
27
  });
23
28
  }
@@ -117,4 +122,4 @@ export class CustomerDataService {
117
122
  });
118
123
  }
119
124
  }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9kYXRhL3Byb3ZpZGVycy9jdXN0b21lci1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsaUNBQWlDLEVBQ2pDLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsMkJBQTJCLEVBQzNCLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLG9CQUFvQixHQUN2QixNQUFNLHFDQUFxQyxDQUFDO0FBSTdDLE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUcsQ0FBQztJQUV4RCxlQUFlLENBQUMsT0FBZSxFQUFFLEVBQUUsT0FBZSxDQUFDLEVBQUUsVUFBbUI7UUFDcEUsTUFBTSxNQUFNLEdBQUcsVUFBVTtZQUNyQixDQUFDLENBQUM7Z0JBQ0ksTUFBTSxFQUFFO29CQUNKLFlBQVksRUFBRTt3QkFDVixRQUFRLEVBQUUsVUFBVTtxQkFDdkI7aUJBQ0o7YUFDSjtZQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDVCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUcvQixpQkFBaUIsRUFBRTtZQUNqQixPQUFPLEVBQUU7Z0JBQ0wsSUFBSTtnQkFDSixJQUFJO2dCQUNKLEdBQUcsTUFBTTthQUNaO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFVLEVBQUUsZ0JBQTJDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLGVB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OUMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsb0JBQW9CLEVBQUU7WUFDcEIsS0FBSyxFQUFFO2dCQUNILElBQUk7Z0JBQ0osUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsRUFBRSxFQUFFLFVBQVU7YUFDakI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBc0M7UUFDckQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsb0JBQW9CLEVBQUU7WUFDcEIsS0FBSztTQUNSLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxFQUFVO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLG9CQUFvQixFQUFFO1lBQ3BCLEVBQUU7U0FDTCxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBDb2RlZ2VuIGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQge1xyXG4gICAgQUREX0NVU1RPTUVSU19UT19HUk9VUCxcclxuICAgIEFERF9OT1RFX1RPX0NVU1RPTUVSLFxyXG4gICAgQ1JFQVRFX0NVU1RPTUVSLFxyXG4gICAgQ1JFQVRFX0NVU1RPTUVSX0FERFJFU1MsXHJcbiAgICBDUkVBVEVfQ1VTVE9NRVJfR1JPVVAsXHJcbiAgICBERUxFVEVfQ1VTVE9NRVIsXHJcbiAgICBERUxFVEVfQ1VTVE9NRVJfQUREUkVTUyxcclxuICAgIERFTEVURV9DVVNUT01FUl9HUk9VUCxcclxuICAgIERFTEVURV9DVVNUT01FUl9OT1RFLFxyXG4gICAgR0VUX0NVU1RPTUVSLFxyXG4gICAgR0VUX0NVU1RPTUVSX0dST1VQUyxcclxuICAgIEdFVF9DVVNUT01FUl9HUk9VUF9XSVRIX0NVU1RPTUVSUyxcclxuICAgIEdFVF9DVVNUT01FUl9ISVNUT1JZLFxyXG4gICAgR0VUX0NVU1RPTUVSX0xJU1QsXHJcbiAgICBSRU1PVkVfQ1VTVE9NRVJTX0ZST01fR1JPVVAsXHJcbiAgICBVUERBVEVfQ1VTVE9NRVIsXHJcbiAgICBVUERBVEVfQ1VTVE9NRVJfQUREUkVTUyxcclxuICAgIFVQREFURV9DVVNUT01FUl9HUk9VUCxcclxuICAgIFVQREFURV9DVVNUT01FUl9OT1RFLFxyXG59IGZyb20gJy4uL2RlZmluaXRpb25zL2N1c3RvbWVyLWRlZmluaXRpb25zJztcclxuXHJcbmltcG9ydCB7IEJhc2VEYXRhU2VydmljZSB9IGZyb20gJy4vYmFzZS1kYXRhLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEN1c3RvbWVyRGF0YVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlRGF0YVNlcnZpY2U6IEJhc2VEYXRhU2VydmljZSkge31cclxuXHJcbiAgICBnZXRDdXN0b21lckxpc3QodGFrZTogbnVtYmVyID0gMTAsIHNraXA6IG51bWJlciA9IDAsIGZpbHRlclRlcm0/OiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJUZXJtXHJcbiAgICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGVtYWlsQWRkcmVzczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5zOiBmaWx0ZXJUZXJtLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDoge307XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldEN1c3RvbWVyTGlzdFF1ZXJ5LFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldEN1c3RvbWVyTGlzdFF1ZXJ5VmFyaWFibGVzXHJcbiAgICAgICAgPihHRVRfQ1VTVE9NRVJfTElTVCwge1xyXG4gICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICB0YWtlLFxyXG4gICAgICAgICAgICAgICAgc2tpcCxcclxuICAgICAgICAgICAgICAgIC4uLmZpbHRlcixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDdXN0b21lcihpZDogc3RyaW5nLCBvcmRlckxpc3RPcHRpb25zPzogQ29kZWdlbi5PcmRlckxpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PENvZGVnZW4uR2V0Q3VzdG9tZXJRdWVyeSwgQ29kZWdlbi5HZXRDdXN0b21lclF1ZXJ5VmFyaWFibGVzPihcclxuICAgICAgICAgICAgR0VUX0NVU1RPTUVSLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgICAgIG9yZGVyTGlzdE9wdGlvbnMsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVDdXN0b21lcihpbnB1dDogQ29kZWdlbi5DcmVhdGVDdXN0b21lcklucHV0LCBwYXNzd29yZD86IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ3VzdG9tZXJNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVDdXN0b21lck11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihDUkVBVEVfQ1VTVE9NRVIsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgICAgIHBhc3N3b3JkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUN1c3RvbWVyKGlucHV0OiBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVySW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVyTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uVXBkYXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oVVBEQVRFX0NVU1RPTUVSLCB7XHJcbiAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZUN1c3RvbWVyKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUN1c3RvbWVyTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oREVMRVRFX0NVU1RPTUVSLCB7IGlkIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUN1c3RvbWVyQWRkcmVzcyhjdXN0b21lcklkOiBzdHJpbmcsIGlucHV0OiBDb2RlZ2VuLkNyZWF0ZUFkZHJlc3NJbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KENSRUFURV9DVVNUT01FUl9BRERSRVNTLCB7XHJcbiAgICAgICAgICAgIGN1c3RvbWVySWQsXHJcbiAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUN1c3RvbWVyQWRkcmVzcyhpbnB1dDogQ29kZWdlbi5VcGRhdGVBZGRyZXNzSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihVUERBVEVfQ1VTVE9NRVJfQUREUkVTUywge1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVDdXN0b21lckFkZHJlc3MoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KERFTEVURV9DVVNUT01FUl9BRERSRVNTLCB7IGlkIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUN1c3RvbWVyR3JvdXAoaW5wdXQ6IENvZGVnZW4uQ3JlYXRlQ3VzdG9tZXJHcm91cElucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVDdXN0b21lckdyb3VwTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihDUkVBVEVfQ1VTVE9NRVJfR1JPVVAsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQ3VzdG9tZXJHcm91cChpbnB1dDogQ29kZWdlbi5VcGRhdGVDdXN0b21lckdyb3VwSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KFVQREFURV9DVVNUT01FUl9HUk9VUCwge1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVDdXN0b21lckdyb3VwKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KERFTEVURV9DVVNUT01FUl9HUk9VUCwgeyBpZCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDdXN0b21lckdyb3VwTGlzdChvcHRpb25zPzogQ29kZWdlbi5DdXN0b21lckdyb3VwTGlzdE9wdGlvbnMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0Q3VzdG9tZXJHcm91cHNRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDdXN0b21lckdyb3Vwc1F1ZXJ5VmFyaWFibGVzXHJcbiAgICAgICAgPihHRVRfQ1VTVE9NRVJfR1JPVVBTLCB7XHJcbiAgICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnMoaWQ6IHN0cmluZywgb3B0aW9uczogQ29kZWdlbi5DdXN0b21lckxpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldEN1c3RvbWVyR3JvdXBXaXRoQ3VzdG9tZXJzUXVlcnksXHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnNRdWVyeVZhcmlhYmxlc1xyXG4gICAgICAgID4oR0VUX0NVU1RPTUVSX0dST1VQX1dJVEhfQ1VTVE9NRVJTLCB7XHJcbiAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICBvcHRpb25zLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEN1c3RvbWVyc1RvR3JvdXAoZ3JvdXBJZDogc3RyaW5nLCBjdXN0b21lcklkczogc3RyaW5nW10pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkFkZEN1c3RvbWVyc1RvR3JvdXBNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5BZGRDdXN0b21lcnNUb0dyb3VwTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KEFERF9DVVNUT01FUlNfVE9fR1JPVVAsIHtcclxuICAgICAgICAgICAgZ3JvdXBJZCxcclxuICAgICAgICAgICAgY3VzdG9tZXJJZHMsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwKGdyb3VwSWQ6IHN0cmluZywgY3VzdG9tZXJJZHM6IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5SZW1vdmVDdXN0b21lcnNGcm9tR3JvdXBNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5SZW1vdmVDdXN0b21lcnNGcm9tR3JvdXBNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oUkVNT1ZFX0NVU1RPTUVSU19GUk9NX0dST1VQLCB7XHJcbiAgICAgICAgICAgIGdyb3VwSWQsXHJcbiAgICAgICAgICAgIGN1c3RvbWVySWRzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEN1c3RvbWVySGlzdG9yeShpZDogc3RyaW5nLCBvcHRpb25zPzogQ29kZWdlbi5IaXN0b3J5RW50cnlMaXN0T3B0aW9ucykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDdXN0b21lckhpc3RvcnlRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDdXN0b21lckhpc3RvcnlRdWVyeVZhcmlhYmxlc1xyXG4gICAgICAgID4oR0VUX0NVU1RPTUVSX0hJU1RPUlksIHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkTm90ZVRvQ3VzdG9tZXIoY3VzdG9tZXJJZDogc3RyaW5nLCBub3RlOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkFkZE5vdGVUb0N1c3RvbWVyTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQWRkTm90ZVRvQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oQUREX05PVEVfVE9fQ1VTVE9NRVIsIHtcclxuICAgICAgICAgICAgaW5wdXQ6IHtcclxuICAgICAgICAgICAgICAgIG5vdGUsXHJcbiAgICAgICAgICAgICAgICBpc1B1YmxpYzogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBpZDogY3VzdG9tZXJJZCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVDdXN0b21lck5vdGUoaW5wdXQ6IENvZGVnZW4uVXBkYXRlQ3VzdG9tZXJOb3RlSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVyTm90ZU11dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVyTm90ZU11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihVUERBVEVfQ1VTVE9NRVJfTk9URSwge1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVDdXN0b21lck5vdGUoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ3VzdG9tZXJOb3RlTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ3VzdG9tZXJOb3RlTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KERFTEVURV9DVVNUT01FUl9OT1RFLCB7XHJcbiAgICAgICAgICAgIGlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9kYXRhL3Byb3ZpZGVycy9jdXN0b21lci1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLDJCQUEyQixFQUMzQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixvQkFBb0IsR0FDdkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUk3QyxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFHLENBQUM7SUFFeEQsZUFBZSxDQUFDLE9BQWUsRUFBRSxFQUFFLE9BQWUsQ0FBQyxFQUFFLFVBQW1CO1FBQ3BFLE1BQU0sTUFBTSxHQUFHLFVBQVU7WUFDckIsQ0FBQyxDQUFDO2dCQUNJLE1BQU0sRUFBRTtvQkFDSixZQUFZLEVBQUU7d0JBQ1YsUUFBUSxFQUFFLFVBQVU7cUJBQ3ZCO29CQUNELFFBQVEsRUFBRTt3QkFDTixRQUFRLEVBQUUsVUFBVTtxQkFDdkI7aUJBQ0o7YUFDSjtZQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDVCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUcvQixpQkFBaUIsRUFBRTtZQUNqQixPQUFPLEVBQUU7Z0JBQ0wsSUFBSTtnQkFDSixJQUFJO2dCQUNKLEdBQUcsTUFBTTtnQkFDVCxjQUFjLEVBQUUsZUFBZSxDQUFDLEVBQUU7YUFDckM7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQVUsRUFBRSxnQkFBMkM7UUFDL0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FDN0IsWUFBWSxFQUNaO1lBQ0ksRUFBRTtZQUNGLGdCQUFnQjtTQUNuQixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWtDLEVBQUUsUUFBaUI7UUFDaEUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsZUFBZSxFQUFFO1lBQ2YsS0FBSztZQUNMLFFBQVE7U0FDWCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWtDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLGVBQWUsRUFBRTtZQUNmLEtBQUs7U0FDUixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYyxDQUFDLEVBQVU7UUFDckIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsZUFBZSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQscUJBQXFCLENBQUMsVUFBa0IsRUFBRSxLQUFpQztRQUN2RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyx1QkFBdUIsRUFBRTtZQUN2QixVQUFVO1lBQ1YsS0FBSztTQUNSLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFpQztRQUNuRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyx1QkFBdUIsRUFBRTtZQUN2QixLQUFLO1NBQ1IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHFCQUFxQixDQUFDLEVBQVU7UUFDNUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsdUJBQXVCLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUF1QztRQUN2RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxxQkFBcUIsRUFBRTtZQUNyQixLQUFLO1NBQ1IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQXVDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLHFCQUFxQixFQUFFO1lBQ3JCLEtBQUs7U0FDUixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsRUFBVTtRQUMxQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxxQkFBcUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQTBDO1FBQzNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBRy9CLG1CQUFtQixFQUFFO1lBQ25CLE9BQU87U0FDVixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsNkJBQTZCLENBQUMsRUFBVSxFQUFFLE9BQW9DO1FBQzFFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBRy9CLGlDQUFpQyxFQUFFO1lBQ2pDLEVBQUU7WUFDRixPQUFPO1NBQ1YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELG1CQUFtQixDQUFDLE9BQWUsRUFBRSxXQUFxQjtRQUN0RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxzQkFBc0IsRUFBRTtZQUN0QixPQUFPO1lBQ1AsV0FBVztTQUNkLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxPQUFlLEVBQUUsV0FBcUI7UUFDM0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsMkJBQTJCLEVBQUU7WUFDM0IsT0FBTztZQUNQLFdBQVc7U0FDZCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsRUFBVSxFQUFFLE9BQXlDO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBRy9CLG9CQUFvQixFQUFFO1lBQ3BCLEVBQUU7WUFDRixPQUFPO1NBQ1YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGlCQUFpQixDQUFDLFVBQWtCLEVBQUUsSUFBWTtRQUM5QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxvQkFBb0IsRUFBRTtZQUNwQixLQUFLLEVBQUU7Z0JBQ0gsSUFBSTtnQkFDSixRQUFRLEVBQUUsS0FBSztnQkFDZixFQUFFLEVBQUUsVUFBVTthQUNqQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFzQztRQUNyRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxvQkFBb0IsRUFBRTtZQUNwQixLQUFLO1NBQ1IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQVU7UUFDekIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsb0JBQW9CLEVBQUU7WUFDcEIsRUFBRTtTQUNMLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2ljYWxPcGVyYXRvciB9IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgKiBhcyBDb2RlZ2VuIGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQge1xyXG4gICAgQUREX0NVU1RPTUVSU19UT19HUk9VUCxcclxuICAgIEFERF9OT1RFX1RPX0NVU1RPTUVSLFxyXG4gICAgQ1JFQVRFX0NVU1RPTUVSLFxyXG4gICAgQ1JFQVRFX0NVU1RPTUVSX0FERFJFU1MsXHJcbiAgICBDUkVBVEVfQ1VTVE9NRVJfR1JPVVAsXHJcbiAgICBERUxFVEVfQ1VTVE9NRVIsXHJcbiAgICBERUxFVEVfQ1VTVE9NRVJfQUREUkVTUyxcclxuICAgIERFTEVURV9DVVNUT01FUl9HUk9VUCxcclxuICAgIERFTEVURV9DVVNUT01FUl9OT1RFLFxyXG4gICAgR0VUX0NVU1RPTUVSLFxyXG4gICAgR0VUX0NVU1RPTUVSX0dST1VQUyxcclxuICAgIEdFVF9DVVNUT01FUl9HUk9VUF9XSVRIX0NVU1RPTUVSUyxcclxuICAgIEdFVF9DVVNUT01FUl9ISVNUT1JZLFxyXG4gICAgR0VUX0NVU1RPTUVSX0xJU1QsXHJcbiAgICBSRU1PVkVfQ1VTVE9NRVJTX0ZST01fR1JPVVAsXHJcbiAgICBVUERBVEVfQ1VTVE9NRVIsXHJcbiAgICBVUERBVEVfQ1VTVE9NRVJfQUREUkVTUyxcclxuICAgIFVQREFURV9DVVNUT01FUl9HUk9VUCxcclxuICAgIFVQREFURV9DVVNUT01FUl9OT1RFLFxyXG59IGZyb20gJy4uL2RlZmluaXRpb25zL2N1c3RvbWVyLWRlZmluaXRpb25zJztcclxuXHJcbmltcG9ydCB7IEJhc2VEYXRhU2VydmljZSB9IGZyb20gJy4vYmFzZS1kYXRhLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEN1c3RvbWVyRGF0YVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlRGF0YVNlcnZpY2U6IEJhc2VEYXRhU2VydmljZSkge31cclxuXHJcbiAgICBnZXRDdXN0b21lckxpc3QodGFrZTogbnVtYmVyID0gMTAsIHNraXA6IG51bWJlciA9IDAsIGZpbHRlclRlcm0/OiBzdHJpbmcpIHtcclxuICAgICAgICBjb25zdCBmaWx0ZXIgPSBmaWx0ZXJUZXJtXHJcbiAgICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGVtYWlsQWRkcmVzczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5zOiBmaWx0ZXJUZXJtLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgIGxhc3ROYW1lOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbnM6IGZpbHRlclRlcm0sXHJcbiAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgOiB7fTtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0Q3VzdG9tZXJMaXN0UXVlcnksXHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0Q3VzdG9tZXJMaXN0UXVlcnlWYXJpYWJsZXNcclxuICAgICAgICA+KEdFVF9DVVNUT01FUl9MSVNULCB7XHJcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgIHRha2UsXHJcbiAgICAgICAgICAgICAgICBza2lwLFxyXG4gICAgICAgICAgICAgICAgLi4uZmlsdGVyLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyT3BlcmF0b3I6IExvZ2ljYWxPcGVyYXRvci5PUixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDdXN0b21lcihpZDogc3RyaW5nLCBvcmRlckxpc3RPcHRpb25zPzogQ29kZWdlbi5PcmRlckxpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PENvZGVnZW4uR2V0Q3VzdG9tZXJRdWVyeSwgQ29kZWdlbi5HZXRDdXN0b21lclF1ZXJ5VmFyaWFibGVzPihcclxuICAgICAgICAgICAgR0VUX0NVU1RPTUVSLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpZCxcclxuICAgICAgICAgICAgICAgIG9yZGVyTGlzdE9wdGlvbnMsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVDdXN0b21lcihpbnB1dDogQ29kZWdlbi5DcmVhdGVDdXN0b21lcklucHV0LCBwYXNzd29yZD86IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ3VzdG9tZXJNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVDdXN0b21lck11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihDUkVBVEVfQ1VTVE9NRVIsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgICAgIHBhc3N3b3JkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUN1c3RvbWVyKGlucHV0OiBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVySW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVyTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uVXBkYXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oVVBEQVRFX0NVU1RPTUVSLCB7XHJcbiAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRlbGV0ZUN1c3RvbWVyKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUN1c3RvbWVyTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oREVMRVRFX0NVU1RPTUVSLCB7IGlkIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUN1c3RvbWVyQWRkcmVzcyhjdXN0b21lcklkOiBzdHJpbmcsIGlucHV0OiBDb2RlZ2VuLkNyZWF0ZUFkZHJlc3NJbnB1dCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KENSRUFURV9DVVNUT01FUl9BRERSRVNTLCB7XHJcbiAgICAgICAgICAgIGN1c3RvbWVySWQsXHJcbiAgICAgICAgICAgIGlucHV0LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUN1c3RvbWVyQWRkcmVzcyhpbnB1dDogQ29kZWdlbi5VcGRhdGVBZGRyZXNzSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihVUERBVEVfQ1VTVE9NRVJfQUREUkVTUywge1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVDdXN0b21lckFkZHJlc3MoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KERFTEVURV9DVVNUT01FUl9BRERSRVNTLCB7IGlkIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUN1c3RvbWVyR3JvdXAoaW5wdXQ6IENvZGVnZW4uQ3JlYXRlQ3VzdG9tZXJHcm91cElucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVDdXN0b21lckdyb3VwTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihDUkVBVEVfQ1VTVE9NRVJfR1JPVVAsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlQ3VzdG9tZXJHcm91cChpbnB1dDogQ29kZWdlbi5VcGRhdGVDdXN0b21lckdyb3VwSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KFVQREFURV9DVVNUT01FUl9HUk9VUCwge1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVDdXN0b21lckdyb3VwKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkRlbGV0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KERFTEVURV9DVVNUT01FUl9HUk9VUCwgeyBpZCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDdXN0b21lckdyb3VwTGlzdChvcHRpb25zPzogQ29kZWdlbi5DdXN0b21lckdyb3VwTGlzdE9wdGlvbnMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0Q3VzdG9tZXJHcm91cHNRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDdXN0b21lckdyb3Vwc1F1ZXJ5VmFyaWFibGVzXHJcbiAgICAgICAgPihHRVRfQ1VTVE9NRVJfR1JPVVBTLCB7XHJcbiAgICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnMoaWQ6IHN0cmluZywgb3B0aW9uczogQ29kZWdlbi5DdXN0b21lckxpc3RPcHRpb25zKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLnF1ZXJ5PFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkdldEN1c3RvbWVyR3JvdXBXaXRoQ3VzdG9tZXJzUXVlcnksXHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnNRdWVyeVZhcmlhYmxlc1xyXG4gICAgICAgID4oR0VUX0NVU1RPTUVSX0dST1VQX1dJVEhfQ1VTVE9NRVJTLCB7XHJcbiAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICBvcHRpb25zLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEN1c3RvbWVyc1RvR3JvdXAoZ3JvdXBJZDogc3RyaW5nLCBjdXN0b21lcklkczogc3RyaW5nW10pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkFkZEN1c3RvbWVyc1RvR3JvdXBNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5BZGRDdXN0b21lcnNUb0dyb3VwTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KEFERF9DVVNUT01FUlNfVE9fR1JPVVAsIHtcclxuICAgICAgICAgICAgZ3JvdXBJZCxcclxuICAgICAgICAgICAgY3VzdG9tZXJJZHMsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwKGdyb3VwSWQ6IHN0cmluZywgY3VzdG9tZXJJZHM6IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5SZW1vdmVDdXN0b21lcnNGcm9tR3JvdXBNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5SZW1vdmVDdXN0b21lcnNGcm9tR3JvdXBNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oUkVNT1ZFX0NVU1RPTUVSU19GUk9NX0dST1VQLCB7XHJcbiAgICAgICAgICAgIGdyb3VwSWQsXHJcbiAgICAgICAgICAgIGN1c3RvbWVySWRzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEN1c3RvbWVySGlzdG9yeShpZDogc3RyaW5nLCBvcHRpb25zPzogQ29kZWdlbi5IaXN0b3J5RW50cnlMaXN0T3B0aW9ucykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5xdWVyeTxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDdXN0b21lckhpc3RvcnlRdWVyeSxcclxuICAgICAgICAgICAgQ29kZWdlbi5HZXRDdXN0b21lckhpc3RvcnlRdWVyeVZhcmlhYmxlc1xyXG4gICAgICAgID4oR0VUX0NVU1RPTUVSX0hJU1RPUlksIHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkTm90ZVRvQ3VzdG9tZXIoY3VzdG9tZXJJZDogc3RyaW5nLCBub3RlOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLkFkZE5vdGVUb0N1c3RvbWVyTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uQWRkTm90ZVRvQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oQUREX05PVEVfVE9fQ1VTVE9NRVIsIHtcclxuICAgICAgICAgICAgaW5wdXQ6IHtcclxuICAgICAgICAgICAgICAgIG5vdGUsXHJcbiAgICAgICAgICAgICAgICBpc1B1YmxpYzogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBpZDogY3VzdG9tZXJJZCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVDdXN0b21lck5vdGUoaW5wdXQ6IENvZGVnZW4uVXBkYXRlQ3VzdG9tZXJOb3RlSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVyTm90ZU11dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUN1c3RvbWVyTm90ZU11dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihVUERBVEVfQ1VTVE9NRVJfTk9URSwge1xyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVDdXN0b21lck5vdGUoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ3VzdG9tZXJOb3RlTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlQ3VzdG9tZXJOb3RlTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KERFTEVURV9DVVNUT01FUl9OT1RFLCB7XHJcbiAgICAgICAgICAgIGlkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { pick } from '@vendure/common/lib/pick';
2
- import { CREATE_FACET, CREATE_FACET_VALUES, DELETE_FACET, DELETE_FACET_VALUES, GET_FACET_LIST, GET_FACET_WITH_VALUES, UPDATE_FACET, UPDATE_FACET_VALUES, } from '../definitions/facet-definitions';
2
+ import { ASSIGN_FACETS_TO_CHANNEL, CREATE_FACET, CREATE_FACET_VALUES, DELETE_FACET, DELETE_FACET_VALUES, DELETE_FACETS, GET_FACET_LIST, GET_FACET_WITH_VALUES, REMOVE_FACETS_FROM_CHANNEL, UPDATE_FACET, UPDATE_FACET_VALUES, } from '../definitions/facet-definitions';
3
3
  export class FacetDataService {
4
4
  constructor(baseDataService) {
5
5
  this.baseDataService = baseDataService;
@@ -38,6 +38,12 @@ export class FacetDataService {
38
38
  force,
39
39
  });
40
40
  }
41
+ deleteFacets(ids, force) {
42
+ return this.baseDataService.mutate(DELETE_FACETS, {
43
+ ids,
44
+ force,
45
+ });
46
+ }
41
47
  createFacetValues(facetValues) {
42
48
  const input = {
43
49
  input: facetValues.map(pick(['facetId', 'code', 'translations', 'customFields'])),
@@ -56,5 +62,15 @@ export class FacetDataService {
56
62
  force,
57
63
  });
58
64
  }
65
+ assignFacetsToChannel(input) {
66
+ return this.baseDataService.mutate(ASSIGN_FACETS_TO_CHANNEL, {
67
+ input,
68
+ });
69
+ }
70
+ removeFacetsFromChannel(input) {
71
+ return this.baseDataService.mutate(REMOVE_FACETS_FROM_CHANNEL, {
72
+ input,
73
+ });
74
+ }
59
75
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9kYXRhL3Byb3ZpZGVycy9mYWNldC1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR2hELE9BQU8sRUFDSCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osbUJBQW1CLEdBQ3RCLE1BQU0sa0NBQWtDLENBQUM7QUFJMUMsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFBRyxDQUFDO0lBRXhELFNBQVMsQ0FBQyxPQUFlLEVBQUUsRUFBRSxPQUFlLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FDN0IsY0FBYyxFQUNkO1lBQ0ksT0FBTyxFQUFFO2dCQUNMLElBQUk7Z0JBQ0osSUFBSTthQUNQO1NBQ0osQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQVk7UUFDUixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUM3QixjQUFjLEVBQ2QsRUFBRSxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUcvQixxQkFBcUIsRUFBRTtZQUNyQixFQUFFO1NBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUErQjtRQUN2QyxNQUFNLEtBQUssR0FBeUM7WUFDaEQsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDdEYsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQzlCLFlBQVksRUFDWixLQUFLLENBQ1IsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBK0I7UUFDdkMsTUFBTSxLQUFLLEdBQXlDO1lBQ2hELEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1NBQ2xGLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUM5QixZQUFZLEVBQ1osS0FBSyxDQUNSLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQVUsRUFBRSxLQUFjO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQzlCLFlBQVksRUFDWjtZQUNJLEVBQUU7WUFDRixLQUFLO1NBQ1IsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELGlCQUFpQixDQUFDLFdBQTRDO1FBQzFELE1BQU0sS0FBSyxHQUErQztZQUN0RCxLQUFLLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO1NBQ3BGLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBNEM7UUFDMUQsTUFBTSxLQUFLLEdBQStDO1lBQ3RELEtBQUssRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7U0FDL0UsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFhLEVBQUUsS0FBYztRQUMzQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUdoQyxtQkFBbUIsRUFBRTtZQUNuQixHQUFHO1lBQ0gsS0FBSztTQUNSLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBpY2sgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3BpY2snO1xyXG5cclxuaW1wb3J0ICogYXMgQ29kZWdlbiBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHtcclxuICAgIENSRUFURV9GQUNFVCxcclxuICAgIENSRUFURV9GQUNFVF9WQUxVRVMsXHJcbiAgICBERUxFVEVfRkFDRVQsXHJcbiAgICBERUxFVEVfRkFDRVRfVkFMVUVTLFxyXG4gICAgR0VUX0ZBQ0VUX0xJU1QsXHJcbiAgICBHRVRfRkFDRVRfV0lUSF9WQUxVRVMsXHJcbiAgICBVUERBVEVfRkFDRVQsXHJcbiAgICBVUERBVEVfRkFDRVRfVkFMVUVTLFxyXG59IGZyb20gJy4uL2RlZmluaXRpb25zL2ZhY2V0LWRlZmluaXRpb25zJztcclxuXHJcbmltcG9ydCB7IEJhc2VEYXRhU2VydmljZSB9IGZyb20gJy4vYmFzZS1kYXRhLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEZhY2V0RGF0YVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlRGF0YVNlcnZpY2U6IEJhc2VEYXRhU2VydmljZSkge31cclxuXHJcbiAgICBnZXRGYWNldHModGFrZTogbnVtYmVyID0gMTAsIHNraXA6IG51bWJlciA9IDApIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8Q29kZWdlbi5HZXRGYWNldExpc3RRdWVyeSwgQ29kZWdlbi5HZXRGYWNldExpc3RRdWVyeVZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIEdFVF9GQUNFVF9MSVNULFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFrZSxcclxuICAgICAgICAgICAgICAgICAgICBza2lwLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEFsbEZhY2V0cygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8Q29kZWdlbi5HZXRGYWNldExpc3RRdWVyeSwgQ29kZWdlbi5HZXRGYWNldExpc3RRdWVyeVZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIEdFVF9GQUNFVF9MSVNULFxyXG4gICAgICAgICAgICB7fSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZhY2V0KGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0RmFjZXRXaXRoVmFsdWVzUXVlcnksXHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0RmFjZXRXaXRoVmFsdWVzUXVlcnlWYXJpYWJsZXNcclxuICAgICAgICA+KEdFVF9GQUNFVF9XSVRIX1ZBTFVFUywge1xyXG4gICAgICAgICAgICBpZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVGYWNldChmYWNldDogQ29kZWdlbi5DcmVhdGVGYWNldElucHV0KSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQ6IENvZGVnZW4uQ3JlYXRlRmFjZXRNdXRhdGlvblZhcmlhYmxlcyA9IHtcclxuICAgICAgICAgICAgaW5wdXQ6IHBpY2soZmFjZXQsIFsnY29kZScsICdpc1ByaXZhdGUnLCAndHJhbnNsYXRpb25zJywgJ3ZhbHVlcycsICdjdXN0b21GaWVsZHMnXSksXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPENvZGVnZW4uQ3JlYXRlRmFjZXRNdXRhdGlvbiwgQ29kZWdlbi5DcmVhdGVGYWNldE11dGF0aW9uVmFyaWFibGVzPihcclxuICAgICAgICAgICAgQ1JFQVRFX0ZBQ0VULFxyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUZhY2V0KGZhY2V0OiBDb2RlZ2VuLlVwZGF0ZUZhY2V0SW5wdXQpIHtcclxuICAgICAgICBjb25zdCBpbnB1dDogQ29kZWdlbi5VcGRhdGVGYWNldE11dGF0aW9uVmFyaWFibGVzID0ge1xyXG4gICAgICAgICAgICBpbnB1dDogcGljayhmYWNldCwgWydpZCcsICdjb2RlJywgJ2lzUHJpdmF0ZScsICd0cmFuc2xhdGlvbnMnLCAnY3VzdG9tRmllbGRzJ10pLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxDb2RlZ2VuLlVwZGF0ZUZhY2V0TXV0YXRpb24sIENvZGVnZW4uVXBkYXRlRmFjZXRNdXRhdGlvblZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIFVQREFURV9GQUNFVCxcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVGYWNldChpZDogc3RyaW5nLCBmb3JjZTogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8Q29kZWdlbi5EZWxldGVGYWNldE11dGF0aW9uLCBDb2RlZ2VuLkRlbGV0ZUZhY2V0TXV0YXRpb25WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBERUxFVEVfRkFDRVQsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICAgICAgZm9yY2UsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVGYWNldFZhbHVlcyhmYWNldFZhbHVlczogQ29kZWdlbi5DcmVhdGVGYWNldFZhbHVlSW5wdXRbXSkge1xyXG4gICAgICAgIGNvbnN0IGlucHV0OiBDb2RlZ2VuLkNyZWF0ZUZhY2V0VmFsdWVzTXV0YXRpb25WYXJpYWJsZXMgPSB7XHJcbiAgICAgICAgICAgIGlucHV0OiBmYWNldFZhbHVlcy5tYXAocGljayhbJ2ZhY2V0SWQnLCAnY29kZScsICd0cmFuc2xhdGlvbnMnLCAnY3VzdG9tRmllbGRzJ10pKSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlRmFjZXRWYWx1ZXNNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihDUkVBVEVfRkFDRVRfVkFMVUVTLCBpbnB1dCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlRmFjZXRWYWx1ZXMoZmFjZXRWYWx1ZXM6IENvZGVnZW4uVXBkYXRlRmFjZXRWYWx1ZUlucHV0W10pIHtcclxuICAgICAgICBjb25zdCBpbnB1dDogQ29kZWdlbi5VcGRhdGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzID0ge1xyXG4gICAgICAgICAgICBpbnB1dDogZmFjZXRWYWx1ZXMubWFwKHBpY2soWydpZCcsICdjb2RlJywgJ3RyYW5zbGF0aW9ucycsICdjdXN0b21GaWVsZHMnXSkpLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVGYWNldFZhbHVlc011dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUZhY2V0VmFsdWVzTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KFVQREFURV9GQUNFVF9WQUxVRVMsIGlucHV0KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVGYWNldFZhbHVlcyhpZHM6IHN0cmluZ1tdLCBmb3JjZTogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlRmFjZXRWYWx1ZXNNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihERUxFVEVfRkFDRVRfVkFMVUVTLCB7XHJcbiAgICAgICAgICAgIGlkcyxcclxuICAgICAgICAgICAgZm9yY2UsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9kYXRhL3Byb3ZpZGVycy9mYWNldC1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR2hELE9BQU8sRUFDSCx3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLDBCQUEwQixFQUMxQixZQUFZLEVBQ1osbUJBQW1CLEdBQ3RCLE1BQU0sa0NBQWtDLENBQUM7QUFJMUMsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixZQUFvQixlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFBRyxDQUFDO0lBRXhELFNBQVMsQ0FBQyxPQUFlLEVBQUUsRUFBRSxPQUFlLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FDN0IsY0FBYyxFQUNkO1lBQ0ksT0FBTyxFQUFFO2dCQUNMLElBQUk7Z0JBQ0osSUFBSTthQUNQO1NBQ0osQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQVk7UUFDUixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUM3QixjQUFjLEVBQ2QsRUFBRSxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUcvQixxQkFBcUIsRUFBRTtZQUNyQixFQUFFO1NBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUErQjtRQUN2QyxNQUFNLEtBQUssR0FBeUM7WUFDaEQsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDdEYsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQzlCLFlBQVksRUFDWixLQUFLLENBQ1IsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBK0I7UUFDdkMsTUFBTSxLQUFLLEdBQXlDO1lBQ2hELEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1NBQ2xGLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUM5QixZQUFZLEVBQ1osS0FBSyxDQUNSLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQVUsRUFBRSxLQUFjO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQzlCLFlBQVksRUFDWjtZQUNJLEVBQUU7WUFDRixLQUFLO1NBQ1IsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFhLEVBQUUsS0FBYztRQUN0QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFzRSxhQUFhLEVBQUU7WUFDbkgsR0FBRztZQUNILEtBQUs7U0FDUixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBNEM7UUFDMUQsTUFBTSxLQUFLLEdBQStDO1lBQ3RELEtBQUssRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7U0FDcEYsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxXQUE0QztRQUMxRCxNQUFNLEtBQUssR0FBK0M7WUFDdEQsS0FBSyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztTQUMvRSxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQWEsRUFBRSxLQUFjO1FBQzNDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBR2hDLG1CQUFtQixFQUFFO1lBQ25CLEdBQUc7WUFDSCxLQUFLO1NBQ1IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQXlDO1FBQzNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQzlCLHdCQUF3QixFQUN4QjtZQUNJLEtBQUs7U0FDUixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBMkM7UUFDL0QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FHaEMsMEJBQTBCLEVBQUU7WUFDMUIsS0FBSztTQUNSLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBpY2sgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3BpY2snO1xyXG5cclxuaW1wb3J0ICogYXMgQ29kZWdlbiBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHtcclxuICAgIEFTU0lHTl9GQUNFVFNfVE9fQ0hBTk5FTCxcclxuICAgIENSRUFURV9GQUNFVCxcclxuICAgIENSRUFURV9GQUNFVF9WQUxVRVMsXHJcbiAgICBERUxFVEVfRkFDRVQsXHJcbiAgICBERUxFVEVfRkFDRVRfVkFMVUVTLFxyXG4gICAgREVMRVRFX0ZBQ0VUUyxcclxuICAgIEdFVF9GQUNFVF9MSVNULFxyXG4gICAgR0VUX0ZBQ0VUX1dJVEhfVkFMVUVTLFxyXG4gICAgUkVNT1ZFX0ZBQ0VUU19GUk9NX0NIQU5ORUwsXHJcbiAgICBVUERBVEVfRkFDRVQsXHJcbiAgICBVUERBVEVfRkFDRVRfVkFMVUVTLFxyXG59IGZyb20gJy4uL2RlZmluaXRpb25zL2ZhY2V0LWRlZmluaXRpb25zJztcclxuXHJcbmltcG9ydCB7IEJhc2VEYXRhU2VydmljZSB9IGZyb20gJy4vYmFzZS1kYXRhLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEZhY2V0RGF0YVNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBiYXNlRGF0YVNlcnZpY2U6IEJhc2VEYXRhU2VydmljZSkge31cclxuXHJcbiAgICBnZXRGYWNldHModGFrZTogbnVtYmVyID0gMTAsIHNraXA6IG51bWJlciA9IDApIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8Q29kZWdlbi5HZXRGYWNldExpc3RRdWVyeSwgQ29kZWdlbi5HZXRGYWNldExpc3RRdWVyeVZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIEdFVF9GQUNFVF9MSVNULFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGFrZSxcclxuICAgICAgICAgICAgICAgICAgICBza2lwLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEFsbEZhY2V0cygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8Q29kZWdlbi5HZXRGYWNldExpc3RRdWVyeSwgQ29kZWdlbi5HZXRGYWNldExpc3RRdWVyeVZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIEdFVF9GQUNFVF9MSVNULFxyXG4gICAgICAgICAgICB7fSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEZhY2V0KGlkOiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UucXVlcnk8XHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0RmFjZXRXaXRoVmFsdWVzUXVlcnksXHJcbiAgICAgICAgICAgIENvZGVnZW4uR2V0RmFjZXRXaXRoVmFsdWVzUXVlcnlWYXJpYWJsZXNcclxuICAgICAgICA+KEdFVF9GQUNFVF9XSVRIX1ZBTFVFUywge1xyXG4gICAgICAgICAgICBpZCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVGYWNldChmYWNldDogQ29kZWdlbi5DcmVhdGVGYWNldElucHV0KSB7XHJcbiAgICAgICAgY29uc3QgaW5wdXQ6IENvZGVnZW4uQ3JlYXRlRmFjZXRNdXRhdGlvblZhcmlhYmxlcyA9IHtcclxuICAgICAgICAgICAgaW5wdXQ6IHBpY2soZmFjZXQsIFsnY29kZScsICdpc1ByaXZhdGUnLCAndHJhbnNsYXRpb25zJywgJ3ZhbHVlcycsICdjdXN0b21GaWVsZHMnXSksXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPENvZGVnZW4uQ3JlYXRlRmFjZXRNdXRhdGlvbiwgQ29kZWdlbi5DcmVhdGVGYWNldE11dGF0aW9uVmFyaWFibGVzPihcclxuICAgICAgICAgICAgQ1JFQVRFX0ZBQ0VULFxyXG4gICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUZhY2V0KGZhY2V0OiBDb2RlZ2VuLlVwZGF0ZUZhY2V0SW5wdXQpIHtcclxuICAgICAgICBjb25zdCBpbnB1dDogQ29kZWdlbi5VcGRhdGVGYWNldE11dGF0aW9uVmFyaWFibGVzID0ge1xyXG4gICAgICAgICAgICBpbnB1dDogcGljayhmYWNldCwgWydpZCcsICdjb2RlJywgJ2lzUHJpdmF0ZScsICd0cmFuc2xhdGlvbnMnLCAnY3VzdG9tRmllbGRzJ10pLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxDb2RlZ2VuLlVwZGF0ZUZhY2V0TXV0YXRpb24sIENvZGVnZW4uVXBkYXRlRmFjZXRNdXRhdGlvblZhcmlhYmxlcz4oXHJcbiAgICAgICAgICAgIFVQREFURV9GQUNFVCxcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVGYWNldChpZDogc3RyaW5nLCBmb3JjZTogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8Q29kZWdlbi5EZWxldGVGYWNldE11dGF0aW9uLCBDb2RlZ2VuLkRlbGV0ZUZhY2V0TXV0YXRpb25WYXJpYWJsZXM+KFxyXG4gICAgICAgICAgICBERUxFVEVfRkFDRVQsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICAgICAgZm9yY2UsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVGYWNldHMoaWRzOiBzdHJpbmdbXSwgZm9yY2U6IGJvb2xlYW4pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPENvZGVnZW4uRGVsZXRlRmFjZXRzTXV0YXRpb24sIENvZGVnZW4uRGVsZXRlRmFjZXRzTXV0YXRpb25WYXJpYWJsZXM+KERFTEVURV9GQUNFVFMsIHtcclxuICAgICAgICAgICAgaWRzLFxyXG4gICAgICAgICAgICBmb3JjZSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVGYWNldFZhbHVlcyhmYWNldFZhbHVlczogQ29kZWdlbi5DcmVhdGVGYWNldFZhbHVlSW5wdXRbXSkge1xyXG4gICAgICAgIGNvbnN0IGlucHV0OiBDb2RlZ2VuLkNyZWF0ZUZhY2V0VmFsdWVzTXV0YXRpb25WYXJpYWJsZXMgPSB7XHJcbiAgICAgICAgICAgIGlucHV0OiBmYWNldFZhbHVlcy5tYXAocGljayhbJ2ZhY2V0SWQnLCAnY29kZScsICd0cmFuc2xhdGlvbnMnLCAnY3VzdG9tRmllbGRzJ10pKSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uQ3JlYXRlRmFjZXRWYWx1ZXNNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5DcmVhdGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihDUkVBVEVfRkFDRVRfVkFMVUVTLCBpbnB1dCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlRmFjZXRWYWx1ZXMoZmFjZXRWYWx1ZXM6IENvZGVnZW4uVXBkYXRlRmFjZXRWYWx1ZUlucHV0W10pIHtcclxuICAgICAgICBjb25zdCBpbnB1dDogQ29kZWdlbi5VcGRhdGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzID0ge1xyXG4gICAgICAgICAgICBpbnB1dDogZmFjZXRWYWx1ZXMubWFwKHBpY2soWydpZCcsICdjb2RlJywgJ3RyYW5zbGF0aW9ucycsICdjdXN0b21GaWVsZHMnXSkpLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxcclxuICAgICAgICAgICAgQ29kZWdlbi5VcGRhdGVGYWNldFZhbHVlc011dGF0aW9uLFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlVwZGF0ZUZhY2V0VmFsdWVzTXV0YXRpb25WYXJpYWJsZXNcclxuICAgICAgICA+KFVQREFURV9GQUNFVF9WQUxVRVMsIGlucHV0KTtcclxuICAgIH1cclxuXHJcbiAgICBkZWxldGVGYWNldFZhbHVlcyhpZHM6IHN0cmluZ1tdLCBmb3JjZTogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmJhc2VEYXRhU2VydmljZS5tdXRhdGU8XHJcbiAgICAgICAgICAgIENvZGVnZW4uRGVsZXRlRmFjZXRWYWx1ZXNNdXRhdGlvbixcclxuICAgICAgICAgICAgQ29kZWdlbi5EZWxldGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzXHJcbiAgICAgICAgPihERUxFVEVfRkFDRVRfVkFMVUVTLCB7XHJcbiAgICAgICAgICAgIGlkcyxcclxuICAgICAgICAgICAgZm9yY2UsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXNzaWduRmFjZXRzVG9DaGFubmVsKGlucHV0OiBDb2RlZ2VuLkFzc2lnbkZhY2V0c1RvQ2hhbm5lbElucHV0KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZURhdGFTZXJ2aWNlLm11dGF0ZTxDb2RlZ2VuLkFzc2lnbkZhY2V0c1RvQ2hhbm5lbE11dGF0aW9uLCBDb2RlZ2VuLkFzc2lnbkZhY2V0c1RvQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzPihcclxuICAgICAgICAgICAgQVNTSUdOX0ZBQ0VUU19UT19DSEFOTkVMLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpbnB1dCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUZhY2V0c0Zyb21DaGFubmVsKGlucHV0OiBDb2RlZ2VuLlJlbW92ZUZhY2V0c0Zyb21DaGFubmVsSW5wdXQpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5iYXNlRGF0YVNlcnZpY2UubXV0YXRlPFxyXG4gICAgICAgICAgICBDb2RlZ2VuLlJlbW92ZUZhY2V0c0Zyb21DaGFubmVsTXV0YXRpb24sXHJcbiAgICAgICAgICAgIENvZGVnZW4uUmVtb3ZlRmFjZXRzRnJvbUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlc1xyXG4gICAgICAgID4oUkVNT1ZFX0ZBQ0VUU19GUk9NX0NIQU5ORUwsIHtcclxuICAgICAgICAgICAgaW5wdXQsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIl19