@colijnit/transaction 12.1.58 → 12.1.60

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 (337) hide show
  1. package/bundles/colijnit-transaction.umd.js +2705 -2160
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +223 -203
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +224 -204
  6. package/esm2015/lib/assets/dictionary/text.properties.js +9 -1
  7. package/esm2015/lib/cache/parameter-cache-field.js +2 -2
  8. package/esm2015/lib/cache/service/business-object-cache-manager.service.js +2 -2
  9. package/esm2015/lib/cache/service/select-multiple-cache.service.js +1 -1
  10. package/esm2015/lib/cache/service/select-multiple-parameterized-cache.service.js +1 -1
  11. package/esm2015/lib/cache/service/select-single-cache.service.js +1 -1
  12. package/esm2015/lib/component/animated-checkbox/animated-checkbox.component.js +27 -0
  13. package/esm2015/lib/component/animated-checkbox/animated-checkbox.module.js +21 -0
  14. package/esm2015/lib/component/avatar/avatar.component.js +8 -5
  15. package/esm2015/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.js +1 -1
  16. package/esm2015/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.js +85 -94
  17. package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +2 -2
  18. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +54 -163
  19. package/esm2015/lib/component/checkout/checkout.component.js +6 -3
  20. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +2 -2
  21. package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.js +2 -2
  22. package/esm2015/lib/component/core/base/components/warehouse/warehouse.component.js +2 -2
  23. package/esm2015/lib/component/core/base/dialog-transaction-line-base.component.js +6 -2
  24. package/esm2015/lib/component/core/base/transaction-filter-popup-base.component.js +8 -7
  25. package/esm2015/lib/component/core/base/transaction-header-base.component.js +3 -3
  26. package/esm2015/lib/component/core/base/transaction-header-filter-popup-base.component.js +111 -0
  27. package/esm2015/lib/component/core/base/transaction-line-base.component.js +2 -4
  28. package/esm2015/lib/component/core/base/transaction-lines-line-base.component.js +5 -3
  29. package/esm2015/lib/component/core/core.module.js +1 -4
  30. package/esm2015/lib/component/core/relation/customer-groups.component.js +4 -1
  31. package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.js +2 -2
  32. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/dialog-transaction-line-commission-code.component.js +2 -2
  33. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.js +2 -2
  34. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.js +3 -7
  35. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/dialog-transaction-line-price-list.component.js +2 -2
  36. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.js +37 -0
  37. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.js +28 -0
  38. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.js +2 -2
  39. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/dialog-transaction-line-warehouse.component.js +2 -2
  40. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +2 -2
  41. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/dialog-transaction-line-warehouse-location.component.js +2 -2
  42. package/esm2015/lib/component/down-payment/down-payment.component.js +2 -2
  43. package/esm2015/lib/component/down-payment/down-payment.module.js +4 -2
  44. package/esm2015/lib/component/editable-label/editable-label.component.js +4 -1
  45. package/esm2015/lib/component/loader/loader.component.js +51 -0
  46. package/esm2015/lib/component/loader/loader.module.js +19 -0
  47. package/esm2015/lib/component/payment/payment.component.js +14 -11
  48. package/esm2015/lib/component/payment/payment.module.js +4 -2
  49. package/esm2015/lib/component/payment-qr-code/payment-qr-code.component.js +2 -2
  50. package/esm2015/lib/component/payment-qr-code/payment-qr-code.module.js +4 -2
  51. package/esm2015/lib/component/quick-send-button/quick-send-button.component.js +116 -0
  52. package/esm2015/lib/component/quick-send-button/quick-send-button.module.js +27 -0
  53. package/esm2015/lib/component/relation/relation-address/relation-address.component.js +4 -4
  54. package/esm2015/lib/component/relation/relation-address-select/relation-address-select.component.js +7 -8
  55. package/esm2015/lib/component/relation/relation-address-tile/relation-address-tile.component.js +6 -2
  56. package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +37 -43
  57. package/esm2015/lib/component/relation/relation-addresses/relation-addresses.module.js +5 -3
  58. package/esm2015/lib/component/relation/relation-base.component.js +2 -2
  59. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +10 -8
  60. package/esm2015/lib/component/relation/relation-general/relation-general.component.js +40 -16
  61. package/esm2015/lib/component/relation/relation-preferences/relation-preferences.component.js +6 -3
  62. package/esm2015/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.js +1 -1
  63. package/esm2015/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.js +1 -1
  64. package/esm2015/lib/component/relation/relation-type/relation-type.component.js +7 -3
  65. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.js +5 -6
  66. package/esm2015/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.module.js +1 -5
  67. package/esm2015/lib/component/shopping-cart/shopping-cart.component.js +2 -2
  68. package/esm2015/lib/component/tile/tile.component.js +2 -2
  69. package/esm2015/lib/component/transaction/transaction.component.js +7 -3
  70. package/esm2015/lib/component/transaction/transaction.module.js +6 -2
  71. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.js +37 -0
  72. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.js +55 -11
  73. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.js +40 -0
  74. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.component.js +4 -1
  75. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.module.js +10 -3
  76. package/esm2015/lib/component/transaction-header/transaction-header/transaction-header.component.js +2 -2
  77. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +4 -9
  78. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +125 -57
  79. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.module.js +5 -3
  80. package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +9 -6
  81. package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +8 -5
  82. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.component.js +16 -6
  83. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.module.js +4 -3
  84. package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +9 -3
  85. package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +10 -8
  86. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.js +15 -0
  87. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +56 -30
  88. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.js +4 -3
  89. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +6 -31
  90. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.js +4 -2
  91. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +87 -0
  92. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.js +45 -0
  93. package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.js +2 -2
  94. package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.component.js +47 -0
  95. package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.module.js +21 -0
  96. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.component.js +1 -1
  97. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +3 -3
  98. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +3 -3
  99. package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.component.js +3 -3
  100. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.component.js +50 -0
  101. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.module.js +28 -0
  102. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.component.js +27 -26
  103. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.module.js +4 -2
  104. package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +3 -3
  105. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.js +3 -3
  106. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +3 -3
  107. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +1 -2
  108. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.js +10 -7
  109. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +4 -2
  110. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +24 -22
  111. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.module.js +4 -2
  112. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.js +52 -0
  113. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.js +28 -0
  114. package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +2 -2
  115. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.js +9 -6
  116. package/esm2015/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.js +7 -4
  117. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +9 -6
  118. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +9 -6
  119. package/esm2015/lib/component/transaction-send-button-dialog/transaction-send-button-dialog.component.js +75 -0
  120. package/esm2015/lib/component/transaction-send-button-dialog/transaction-send-button-dialog.module.js +25 -0
  121. package/esm2015/lib/enum/icon.enum.js +2 -1
  122. package/esm2015/lib/model/icon-svg.js +2 -1
  123. package/esm2015/lib/model/relation-any-type.js +1 -1
  124. package/esm2015/lib/model/transaction-bar-button.js +2 -3
  125. package/esm2015/lib/pipe/co-currency.pipe.js +2 -2
  126. package/esm2015/lib/pipe/date-duration.pipe.js +2 -2
  127. package/esm2015/lib/pipe/delivery-time.pipe.js +2 -2
  128. package/esm2015/lib/service/article-connector.service.js +10 -6
  129. package/esm2015/lib/service/dictionary.service.js +2 -2
  130. package/esm2015/lib/service/error.service.js +1 -1
  131. package/esm2015/lib/service/payment.service.js +1 -1
  132. package/esm2015/lib/service/pending-reason.service.js +31 -31
  133. package/esm2015/lib/service/relation-connector.service.js +192 -0
  134. package/esm2015/lib/service/relation.service.js +120 -0
  135. package/esm2015/lib/service/shared-connector.service.js +2 -2
  136. package/esm2015/lib/service/shared.service.js +10 -6
  137. package/esm2015/lib/service/transaction-connector-adapter.service.js +108 -93
  138. package/esm2015/lib/service/transaction-connector.service.js +36 -45
  139. package/esm2015/lib/service/transaction-event.service.js +6 -2
  140. package/esm2015/lib/service/transaction-mapping.service.js +8 -2
  141. package/esm2015/lib/service/transaction.service.js +68 -75
  142. package/esm2015/public_api.js +3 -1
  143. package/fesm2015/colijnit-transaction.js +2487 -1995
  144. package/fesm2015/colijnit-transaction.js.map +1 -1
  145. package/lib/cache/service/business-object-cache-manager.service.d.ts +2 -1
  146. package/lib/cache/service/select-multiple-cache.service.d.ts +1 -1
  147. package/lib/cache/service/select-multiple-parameterized-cache.service.d.ts +1 -1
  148. package/lib/cache/service/select-single-cache.service.d.ts +2 -1
  149. package/lib/component/animated-checkbox/animated-checkbox.component.d.ts +5 -0
  150. package/lib/component/animated-checkbox/animated-checkbox.module.d.ts +2 -0
  151. package/lib/component/animated-checkbox/style/_layout.scss +78 -0
  152. package/lib/component/animated-checkbox/style/_material-definition.scss +13 -0
  153. package/lib/component/animated-checkbox/style/_theme.scss +4 -0
  154. package/lib/component/animated-checkbox/style/material.scss +4 -0
  155. package/lib/component/avatar/avatar.component.d.ts +5 -3
  156. package/lib/component/checkout/checkout-overview-delivery-address/checkout-overview-delivery-address.component.d.ts +1 -1
  157. package/lib/component/checkout/checkout-overview-delivery-edit/checkout-overview-delivery-edit.component.d.ts +3 -5
  158. package/lib/component/checkout/checkout-overview-delivery-edit/style/_layout.scss +95 -90
  159. package/lib/component/checkout/checkout-overview-delivery-edit/style/_material-definition.scss +0 -10
  160. package/lib/component/checkout/checkout-overview-delivery-edit/style/_theme.scss +0 -8
  161. package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +2 -2
  162. package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +9 -18
  163. package/lib/component/checkout/checkout-overview-relation-edit/style/_layout.scss +0 -84
  164. package/lib/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +0 -16
  165. package/lib/component/checkout/style/_layout.scss +86 -1
  166. package/lib/component/checkout/style/_material-definition.scss +7 -0
  167. package/lib/component/core/base/components/characteristic-answer/style/_layout.scss +0 -4
  168. package/lib/component/core/base/components/warehouse/style/_layout.scss +0 -4
  169. package/lib/component/core/base/dialog-transaction-line-base.component.d.ts +3 -0
  170. package/lib/component/core/base/transaction-filter-popup-base.component.d.ts +3 -5
  171. package/lib/component/core/base/transaction-header-base.component.d.ts +4 -5
  172. package/lib/component/core/base/transaction-header-filter-popup-base.component.d.ts +38 -0
  173. package/lib/component/core/base/transaction-line-base.component.d.ts +2 -3
  174. package/lib/component/core/base/transaction-lines-line-base.component.d.ts +1 -1
  175. package/lib/component/core/relation/customer-groups.component.d.ts +2 -1
  176. package/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/style/_layout.scss +0 -4
  177. package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/style/_layout.scss +4 -5
  178. package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/style/_material-definition.scss +5 -3
  179. package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_layout.scss +0 -4
  180. package/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/style/_layout.scss +0 -4
  181. package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/style/_layout.scss +4 -5
  182. package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/style/_material-definition.scss +5 -3
  183. package/lib/component/dialog/transaction-line/dialog-transaction-line-price-list/style/_layout.scss +0 -4
  184. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.d.ts +4 -0
  185. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.module.d.ts +2 -0
  186. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_layout.scss +11 -0
  187. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_material-definition.scss +2 -0
  188. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/_theme.scss +4 -0
  189. package/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/style/material.scss +4 -0
  190. package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/_layout.scss +0 -4
  191. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse/style/_layout.scss +0 -4
  192. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_layout.scss +0 -4
  193. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-location/style/_layout.scss +0 -4
  194. package/lib/component/editable-label/editable-label.component.d.ts +1 -0
  195. package/lib/component/editable-label/style/_layout.scss +9 -0
  196. package/lib/component/editable-label/style/_material-definition.scss +1 -0
  197. package/lib/component/editable-label/style/material.scss +1 -1
  198. package/lib/component/{core → loader}/loader.component.d.ts +1 -0
  199. package/lib/component/loader/loader.module.d.ts +2 -0
  200. package/lib/component/loader/style/_layout.scss +8 -0
  201. package/lib/component/loader/style/_material-definition.scss +1 -0
  202. package/lib/component/loader/style/_theme.scss +10 -0
  203. package/lib/component/loader/style/material.scss +4 -0
  204. package/lib/component/quick-send-button/quick-send-button.component.d.ts +31 -0
  205. package/lib/component/quick-send-button/quick-send-button.module.d.ts +2 -0
  206. package/lib/component/quick-send-button/style/_layout.scss +52 -1
  207. package/lib/component/quick-send-button/style/_material-definition.scss +4 -0
  208. package/lib/component/relation/relation-address/relation-address.component.d.ts +2 -2
  209. package/lib/component/relation/relation-address/style/_layout.scss +3 -0
  210. package/lib/component/relation/relation-address-select/relation-address-select.component.d.ts +3 -4
  211. package/lib/component/relation/relation-address-tile/relation-address-tile.component.d.ts +3 -2
  212. package/lib/component/relation/relation-addresses/relation-addresses.component.d.ts +10 -9
  213. package/lib/component/relation/relation-addresses/style/_layout.scss +2 -6
  214. package/lib/component/relation/relation-base.component.d.ts +2 -2
  215. package/lib/component/relation/relation-contact-details/relation-contact-details.component.d.ts +2 -1
  216. package/lib/component/relation/relation-general/relation-general.component.d.ts +11 -4
  217. package/lib/component/relation/relation-preferences/relation-preferences.component.d.ts +2 -1
  218. package/lib/component/relation/relation-suggestions-list/relation-suggestions-list.component.d.ts +1 -1
  219. package/lib/component/relation/relation-suggestions-list-item/relation-suggestions-list-item.component.d.ts +1 -1
  220. package/lib/component/relation/relation-type/relation-type.component.d.ts +3 -2
  221. package/lib/component/shared/transaction-article-text-overview/transaction-article-text-overview.component.d.ts +2 -3
  222. package/lib/component/tile/style/_layout.scss +10 -7
  223. package/lib/component/tile/style/_material-definition.scss +2 -1
  224. package/lib/component/transaction/style/_layout.scss +4 -21
  225. package/lib/component/transaction/style/_material-definition.scss +1 -4
  226. package/lib/component/transaction-button-bar/style/_layout.scss +25 -0
  227. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.d.ts +16 -0
  228. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.d.ts +14 -5
  229. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-purchase-button-bar-button.component.d.ts +12 -0
  230. package/lib/component/transaction-button-bar/transaction-button-bar.component.d.ts +2 -0
  231. package/lib/component/transaction-header/transaction-header/transaction-header.component.d.ts +1 -1
  232. package/lib/component/transaction-header/transaction-header-payment/style/_material-definition.scss +2 -1
  233. package/lib/component/transaction-header/transaction-header-payment/style/_theme.scss +5 -2
  234. package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +21 -12
  235. package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +4 -2
  236. package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +5 -3
  237. package/lib/component/transaction-header-fields/transaction-header-delivery-method.component.d.ts +1 -0
  238. package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +3 -1
  239. package/lib/component/transaction-line/transaction-base-line/style/_layout.scss +2 -93
  240. package/lib/component/transaction-line/transaction-base-line/style/_material-definition.scss +6 -0
  241. package/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.d.ts +4 -2
  242. package/lib/component/transaction-line/transaction-line/style/_layout.scss +170 -0
  243. package/lib/component/transaction-line/transaction-line/style/_material-definition.scss +24 -0
  244. package/lib/component/transaction-line/transaction-line/style/_theme.scss +4 -0
  245. package/lib/component/transaction-line/transaction-line/style/material.scss +13 -0
  246. package/lib/component/transaction-line/transaction-order-delivery-line/service/transaction-order-delivery.service.d.ts +4 -0
  247. package/lib/component/transaction-line/transaction-order-delivery-line/style/_layout.scss +4 -4
  248. package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.d.ts +9 -4
  249. package/lib/component/transaction-line/transaction-overview-line/style/_layout.scss +0 -97
  250. package/lib/component/transaction-line/transaction-overview-line/style/_material-definition.scss +0 -36
  251. package/lib/component/transaction-line/transaction-overview-line/style/_theme.scss +0 -27
  252. package/lib/component/transaction-line/transaction-overview-line/style/material.scss +0 -11
  253. package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.d.ts +4 -11
  254. package/lib/component/transaction-line/transaction-purchase-line/style/_layout.scss +7 -0
  255. package/lib/component/transaction-line/transaction-purchase-line/style/_material-definition.scss +0 -0
  256. package/lib/component/transaction-line/transaction-purchase-line/style/_theme.scss +4 -0
  257. package/lib/component/transaction-line/transaction-purchase-line/style/material.scss +4 -0
  258. package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.d.ts +19 -0
  259. package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.d.ts +2 -0
  260. package/lib/component/transaction-line-checkbox-list/style/_layout.scss +8 -4
  261. package/lib/component/transaction-line-checkbox-list/style/_material-definition.scss +1 -0
  262. package/lib/component/transaction-line-fields/transaction-line-amount.component.d.ts +10 -0
  263. package/lib/component/transaction-line-fields/transaction-line-amount.module.d.ts +2 -0
  264. package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +3 -3
  265. package/lib/component/transaction-line-fields/transaction-line-delivery-method.component.d.ts +2 -2
  266. package/lib/component/transaction-line-fields/transaction-line-price-list.component.d.ts +2 -2
  267. package/lib/component/transaction-line-fields/transaction-line-supplier-button.component.d.ts +11 -0
  268. package/lib/component/transaction-line-fields/transaction-line-supplier-button.module.d.ts +2 -0
  269. package/lib/component/transaction-line-fields/transaction-line-supplier.component.d.ts +10 -7
  270. package/lib/component/transaction-line-fields/transaction-line-vat.component.d.ts +2 -2
  271. package/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.d.ts +2 -2
  272. package/lib/component/transaction-line-fields/transaction-line-warehouse.component.d.ts +2 -2
  273. package/lib/component/transaction-line-image-and-description/style/_layout.scss +16 -13
  274. package/lib/component/transaction-line-image-and-description/style/_material-definition.scss +21 -1
  275. package/lib/component/transaction-line-image-and-description/style/_theme.scss +18 -1
  276. package/lib/component/transaction-line-statusbar/style/_layout.scss +4 -0
  277. package/lib/component/transaction-lines/style/material.scss +2 -0
  278. package/lib/component/transaction-quick-access/transaction-quick-access/style/_layout.scss +5 -1
  279. package/lib/component/transaction-quick-access/transaction-quick-access/style/_material-definition.scss +2 -1
  280. package/lib/component/transaction-quick-access/transaction-quick-access/style/material.scss +1 -0
  281. package/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.d.ts +5 -3
  282. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_layout.scss +5 -48
  283. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +10 -7
  284. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_layout.scss +8 -0
  285. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_material-definition.scss +0 -0
  286. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/_theme.scss +4 -0
  287. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/style/material.scss +5 -0
  288. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.d.ts +13 -0
  289. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.module.d.ts +2 -0
  290. package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-article/transaction-purchase-order-filter-content-article.component.d.ts +3 -1
  291. package/lib/component/transaction-search/transaction-filter-content/purchase-order-filter-content/transaction-purchase-order-filter-content-order/transaction-purchase-order-filter-content-order.component.d.ts +3 -1
  292. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.d.ts +3 -1
  293. package/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.d.ts +3 -1
  294. package/lib/component/transaction-send-button-dialog/style/_layout.scss +47 -0
  295. package/lib/component/transaction-send-button-dialog/style/_material-definition.scss +13 -0
  296. package/lib/component/transaction-send-button-dialog/style/_theme.scss +24 -0
  297. package/lib/component/transaction-send-button-dialog/style/material.scss +4 -0
  298. package/lib/component/transaction-send-button-dialog/transaction-send-button-dialog.component.d.ts +16 -0
  299. package/lib/component/transaction-send-button-dialog/transaction-send-button-dialog.module.d.ts +2 -0
  300. package/lib/enum/icon.enum.d.ts +1 -0
  301. package/lib/model/relation-any-type.d.ts +2 -2
  302. package/lib/model/transaction-bar-button.d.ts +4 -1
  303. package/lib/service/article-connector.service.d.ts +3 -1
  304. package/lib/service/error.service.d.ts +1 -1
  305. package/lib/service/pending-reason.service.d.ts +9 -5
  306. package/lib/service/relation-connector.service.d.ts +34 -0
  307. package/lib/service/relation.service.d.ts +37 -0
  308. package/lib/service/shared.service.d.ts +3 -1
  309. package/lib/service/transaction-connector-adapter.service.d.ts +20 -18
  310. package/lib/service/transaction-connector.service.d.ts +18 -18
  311. package/lib/service/transaction-event.service.d.ts +6 -2
  312. package/lib/service/transaction.service.d.ts +13 -15
  313. package/lib/style/_variables.scss +6 -3
  314. package/lib/style/transaction-globals.scss +12 -1
  315. package/package.json +9 -3
  316. package/public_api.d.ts +2 -0
  317. package/esm2015/lib/component/core/loader.component.js +0 -44
  318. package/esm2015/lib/factory/business-object-factory.js +0 -120
  319. package/esm2015/lib/factory/decorators/boolean.decorator.js +0 -102
  320. package/esm2015/lib/factory/decorators/complex-array.decorator.js +0 -55
  321. package/esm2015/lib/factory/decorators/complex-field.decorator.js +0 -57
  322. package/esm2015/lib/factory/decorators/date-field.decorator.js +0 -36
  323. package/esm2015/lib/factory/decorators/string-number.decorator.js +0 -43
  324. package/esm2015/lib/model/business-object.js +0 -81
  325. package/esm2015/lib/utils/array-utils.js +0 -183
  326. package/esm2015/lib/utils/is-nill.function.js +0 -5
  327. package/esm2015/lib/utils/string-utils.js +0 -64
  328. package/lib/factory/business-object-factory.d.ts +0 -23
  329. package/lib/factory/decorators/boolean.decorator.d.ts +0 -43
  330. package/lib/factory/decorators/complex-array.decorator.d.ts +0 -25
  331. package/lib/factory/decorators/complex-field.decorator.d.ts +0 -25
  332. package/lib/factory/decorators/date-field.decorator.d.ts +0 -17
  333. package/lib/factory/decorators/string-number.decorator.d.ts +0 -22
  334. package/lib/model/business-object.d.ts +0 -7
  335. package/lib/utils/array-utils.d.ts +0 -57
  336. package/lib/utils/is-nill.function.d.ts +0 -1
  337. package/lib/utils/string-utils.d.ts +0 -22
@@ -1,17 +1,15 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
3
- import { AddressType } from "@colijnit/transactionapi/build/enum/address-type.enum";
4
3
  import { TransactionService } from "../../../service/transaction.service";
5
4
  import { FormMasterService } from "@colijnit/corecomponents_v12";
6
5
  import { animate, state, style, transition, trigger } from "@angular/animations";
7
- import { BusinessObjectFactory } from "../../../factory/business-object-factory";
8
6
  import { Icon } from "../../../enum/icon.enum";
9
- import { RelationKind } from "@colijnit/transactionapi/build/enum/relation-kind.enum";
10
- import { CustomerFullObject } from "@colijnit/transactionapi/build/model/customer-full-object.bo";
7
+ import { CustomerFullObject } from "@colijnit/relationapi/build/model/customer-full-object.bo";
8
+ import { RelationKind } from "@colijnit/relationapi/build/enum/relation-kind.enum";
9
+ import { AddressType } from "@colijnit/relationapi/build/enum/address-type.enum";
11
10
  export class CheckoutOverviewRelationEditComponent {
12
- constructor(_formMaster, _boFactory, service) {
11
+ constructor(_formMaster, service) {
13
12
  this._formMaster = _formMaster;
14
- this._boFactory = _boFactory;
15
13
  this.service = service;
16
14
  this.relationKind = RelationKind;
17
15
  this.icons = Icon;
@@ -21,59 +19,23 @@ export class CheckoutOverviewRelationEditComponent {
21
19
  this.deliveryAddressChange = new EventEmitter();
22
20
  this.invoiceAddressChange = new EventEmitter();
23
21
  this.relationChange = new EventEmitter();
24
- // public formRelation: FormGroup;
25
- // public accountPassword: string = "";
26
- // public hide: boolean = true;
27
- // public gender: GenderType = GenderType.Unspecified;
28
- // public privacySettings: RelationPrivacySetting[];
29
- // public addresses: Address[] = [];
30
22
  this._relation = new CustomerFullObject();
31
- this.deliveryAddressIdx = 0;
32
- this.invoiceAddressIdx = 0;
33
- this.editAddressType = AddressType.DeliveryAddress;
34
23
  }
35
- // @ViewChild(FormComponent, {static: true})
36
- // public relationForm: FormComponent;
37
24
  set relation(value) {
38
25
  this._relation = value;
39
26
  if (this._relation) {
40
27
  this.address = this._relation.getFirstAddressOrCreateNew();
28
+ const firstActiveAddress = this._relation.activeAddresses.length > 0 ? this._relation.activeAddresses[0] : undefined;
29
+ this.deliveryAddressNawNr = firstActiveAddress ? firstActiveAddress.nawNr : 0;
30
+ this.invoiceAddressNawNr = firstActiveAddress ? firstActiveAddress.nawNr : 0;
41
31
  }
42
32
  }
43
33
  get relation() {
44
34
  return this._relation;
45
35
  }
46
- set deliveryAddressNawNr(value) {
47
- if (value && this.relation && this.relation.addresses) {
48
- this.deliveryAddressIdx = this.relation.addresses.findIndex(a => a.nawNr === value);
49
- }
50
- }
51
- set invoiceAddressNawNr(value) {
52
- if (value && this.relation && this.relation.addresses) {
53
- this.invoiceAddressIdx = this.relation.addresses.findIndex(a => a.nawNr === value);
54
- }
55
- }
56
36
  showClass() {
57
37
  return true;
58
38
  }
59
- // public addressToEdit: Address;
60
- // public showSelectAddressDialog: boolean = false;
61
- // public showCreateAddressDialog: boolean = false;
62
- // public readonly relType: typeof RelationNameKind = RelationNameKind;
63
- // public readonly genderType: typeof GenderType = GenderType;
64
- // public get editFirstAddress(): Address {
65
- // const firstAddress: Address = this.service.getFirstAddress(this.relation);
66
- // if (firstAddress) {
67
- // return firstAddress;
68
- // } else if (this._relation) {
69
- // const address: Address = new Address();
70
- // address.addressType = AddressType.DeliveryAddress;
71
- // address.startDate = new Date();
72
- // address.sequence = this._relation.getNextAddressSequence();
73
- // this._relation.addresses.push(address);
74
- // return address;
75
- // }
76
- // }
77
39
  get applicationUser() {
78
40
  return this.service.applicationUser;
79
41
  }
@@ -82,10 +44,6 @@ export class CheckoutOverviewRelationEditComponent {
82
44
  if (this._relation) {
83
45
  this.address = this._relation.getFirstAddressOrCreateNew();
84
46
  }
85
- // this._initForm();
86
- // this._relation.type = this.relType.Private;
87
- // this._relation.gender = this.gender;
88
- // await this.loadPrivacySettings();
89
47
  });
90
48
  }
91
49
  updateRelation(rel) {
@@ -93,101 +51,20 @@ export class CheckoutOverviewRelationEditComponent {
93
51
  this.relationChange.emit(this._relation);
94
52
  }
95
53
  submit() {
96
- // return this.relationForm.submit();
97
54
  return this._formMaster.submitSlaves();
98
55
  }
99
- // public showNewAddressDialog(deliveryAddress: boolean = true): void {
100
- // this.editAddressType = deliveryAddress ? AddressType.DeliveryAddress : AddressType.BillingAddress;
101
- // this.showCreateAddressDialog = true;
102
- // }
103
- // public showEditAddressDialog(deliveryAddress: boolean = true): void {
104
- // this.editAddressType = deliveryAddress ? AddressType.DeliveryAddress : AddressType.BillingAddress;
105
- // this.showSelectAddressDialog = true;
106
- // }
107
- setIndexDeliveryAddress(idx) {
108
- this.deliveryAddressIdx = idx;
109
- this.editAddressType = AddressType.DeliveryAddress;
110
- }
111
- setIndexInvoiceAddress(idx) {
112
- this.invoiceAddressIdx = idx;
113
- this.editAddressType = AddressType.BillingAddress;
114
- // this.selectAddress(this.relation.addresses[idx]);
56
+ handleNewAddress(type, address) {
57
+ if (!address.nawNr) { // new address
58
+ address.addressType = type;
59
+ address.startDate = new Date();
60
+ address.sequence = this.relation.getNextAddressSequence();
61
+ this.relation.addresses.push(address);
62
+ }
115
63
  }
116
- // public editAddress(addr: Address): void {
117
- // this.addressToEdit = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, addr);
118
- // this.showEditAddressDialog()
119
- // }
120
64
  checkSameAddress(checked) {
121
- if (checked) {
122
- this.editAddressType = AddressType.DeliveryAddress;
123
- // this.selectAddress(this.deliveryAddress);
124
- }
65
+ this.invoiceAddressNawNr = this.deliveryAddressNawNr;
66
+ this.invoiceAddressChange.next(this.invoiceAddressNawNr);
125
67
  }
126
- // public saveNewAddress(address: Address): void {
127
- // address.addressType = this.editAddressType;
128
- // this.relation.addresses.push(address);
129
- // this.selectAddress(address);
130
- // this.showCreateAddressDialog = false;
131
- // }
132
- // public saveAddress(address: Address): void {
133
- // const idx: number = this.relation.addresses.findIndex(a => a.nawNr === address.nawNr);
134
- // if (idx > -1) {
135
- // this.relation.addresses[idx] = <Address><unknown>this._boFactory.makeWithRawBackendData(Address, address);
136
- // }
137
- // this.showSelectAddressDialog = false;
138
- // }
139
- // public selectAddress(address?: Address): void {
140
- // // if (!this.deliveryOptionsRequest) {
141
- // // return;
142
- // // }
143
- // // if (!address) {
144
- // // address = this.service.getFirstAddress(this.relation);
145
- // // }
146
- // // if (!address) {
147
- // // return;
148
- // // }
149
- // // this._setCountryNameToAddress(address);
150
- // // if (this.editAddressType === AddressType.DeliveryAddress) {
151
- // // this.deliveryOptionsRequest.transactionAddress = address.nawNr;
152
- // // this.deliveryAddress = address;
153
- // // this.deliveryAddressIdx = this.relation.addresses.findIndex(a => a.nawNr === this.deliveryAddress.nawNr);
154
- // // }
155
- // // if (this.invoiceAddressSameAsDeliveryAddress || this.editAddressType !== AddressType.DeliveryAddress) {
156
- // // this.deliveryOptionsRequest.invoiceAddress = address.nawNr;
157
- // // this.invoiceAddress = address;
158
- // // this.invoiceAddressIdx = this.relation.addresses.findIndex(a => a.nawNr === this.invoiceAddress.nawNr);
159
- // // }
160
- // this.showSelectAddressDialog = false;
161
- // }
162
- // public async loadPrivacySettings(): Promise<void> {
163
- // this.privacySettings = await this.service.getRelationPrivacySettings();
164
- // }
165
- // public async loadMarketing(): Promise<void> {
166
- // await this.service.getMarketingCodes();
167
- // }
168
- // public isShared(relationPrivacySetting: RelationPrivacySetting): boolean {
169
- // const ownSetting: RelationPrivacySetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());
170
- // if (ownSetting) {
171
- // return ownSetting.allowToShare;
172
- // }
173
- // return false;
174
- // }
175
- // public changeRelationType(value: RelationNameKind): void {
176
- // this.relation.type = value;
177
- // }
178
- // public changePrivacySetting(relationPrivacySetting: RelationPrivacySetting, value: boolean): void {
179
- // const ownSetting: RelationPrivacySetting = BusinessObjectUtils.FindItemById(this.relationAsCustomer.relationPrivacySettings, relationPrivacySetting.getId());
180
- // if (ownSetting) {
181
- // ownSetting.allowToShare = value;
182
- // } else {
183
- // this.relationAsCustomer.relationPrivacySettings.push(relationPrivacySetting);
184
- // }
185
- // }
186
- // private _initForm(): void {
187
- // if (this.relationForm) {
188
- // this.formRelation = this.relationForm.formGroup;
189
- // }
190
- // }
191
68
  _setCountryNameToAddress(address) {
192
69
  return __awaiter(this, void 0, void 0, function* () {
193
70
  if (address.countryId && !address.countryName) {
@@ -209,23 +86,32 @@ CheckoutOverviewRelationEditComponent.decorators = [
209
86
  <span class="label" [textContent]="'PERSONAL_DATA' | localize"></span>
210
87
  </div>
211
88
  <div class="checkout-data-column">
212
- <co-relation-type
213
- [relation]="relation"
214
- ></co-relation-type>
215
- <div class="default-data-row">
89
+ <div class="checkout-data-row">
90
+ <co-relation-type
91
+ [relation]="relation"
92
+ ></co-relation-type>
93
+ </div>
94
+ <div class="checkout-data-row">
216
95
  <relation-customer-groups [(model)]="relation.customerGroup" required></relation-customer-groups>
217
96
  </div>
218
- <co-relation-general [relation]="relation" (relationChange)="updateRelation($event)"></co-relation-general>
219
- <co-relation-address [address]="address"></co-relation-address>
97
+ <div class="checkout-data-row">
98
+ <co-relation-general [relation]="relation" (relationChange)="updateRelation($event)"></co-relation-general>
99
+ </div>
100
+ <div class="checkout-data-row">
101
+ <co-relation-address [address]="address"></co-relation-address>
102
+ </div>
220
103
  </div>
221
104
  <div class="checkout-data-column">
222
- <co-relation-addresses
223
- [addresses]="relation.activeAddresses"
224
- [type]="addressType.DeliveryAddress"
225
- [selectedAddressIdx]="deliveryAddressIdx"
226
- (selectedAddressChange)="setIndexDeliveryAddress($event)"
227
- (selectedAddressNawNrChange)="deliveryAddressChange.emit($event)"
228
- ></co-relation-addresses>
105
+ <div class="checkout-data-row">
106
+ <co-relation-addresses
107
+ [relation]="relation"
108
+ [addresses]="relation.addresses"
109
+ [type]="addressType.DeliveryAddress"
110
+ [selectedNawNr]="deliveryAddressNawNr"
111
+ (selectedNawNrChange)="deliveryAddressChange.emit($event)"
112
+ (addressSaved)="handleNewAddress(addressType.DeliveryAddress, $event)"
113
+ ></co-relation-addresses>
114
+ </div>
229
115
  </div>
230
116
  <div class="checkout-label-column">
231
117
  <span>02</span>
@@ -236,13 +122,15 @@ CheckoutOverviewRelationEditComponent.decorators = [
236
122
  <co-input-checkbox [(model)]="service.invoiceAddressSameAsDelivery" (modelChange)="checkSameAddress($event)" [label]="'SAME_AS_DELIVERY' | localize"></co-input-checkbox>
237
123
  </div>
238
124
  <div class="overview-delivery-invoice-address" *ngIf="!service.invoiceAddressSameAsDelivery" @showHideInvoiceAddress>
239
- <co-relation-addresses
240
- [addresses]="relation.activeAddresses"
241
- [type]="addressType.BillingAddress"
242
- [selectedAddressIdx]="invoiceAddressIdx"
243
- (selectedAddressChange)="setIndexInvoiceAddress($event)"
244
- (selectedAddressNawNrChange)="invoiceAddressChange.emit($event)"
245
- ></co-relation-addresses>
125
+ <div class="checkout-data-row">
126
+ <co-relation-addresses
127
+ [addresses]="relation.activeAddresses"
128
+ [type]="addressType.BillingAddress"
129
+ [selectedNawNr]="invoiceAddressNawNr"
130
+ (selectedNawNrChange)="invoiceAddressChange.emit($event)"
131
+ (addressSaved)="handleNewAddress(addressType.BillingAddress, $event)"
132
+ ></co-relation-addresses>
133
+ </div>
246
134
  </div>
247
135
  </div>
248
136
  <div class="checkout-label-column">
@@ -250,14 +138,18 @@ CheckoutOverviewRelationEditComponent.decorators = [
250
138
  <span class="label" [textContent]="'CONTACT_DETAILS' | localize"></span>
251
139
  </div>
252
140
  <div class="checkout-data-column">
253
- <co-relation-contact-details [relation]="relation"></co-relation-contact-details>
141
+ <div class="checkout-data-row">
142
+ <co-relation-contact-details [relation]="relation"></co-relation-contact-details>
143
+ </div>
254
144
  </div>
255
145
  <div class="checkout-label-column">
256
146
  <span>04</span>
257
147
  <span class="label" [textContent]="'PRIVACY_PREFERENCES' | localize"></span>
258
148
  </div>
259
149
  <div class="checkout-data-column">
260
- <co-relation-preferences [relation]="relation"></co-relation-preferences>
150
+ <div class="checkout-data-row">
151
+ <co-relation-preferences [relation]="relation"></co-relation-preferences>
152
+ </div>
261
153
  </div>
262
154
  </div>
263
155
  </co-form>
@@ -296,7 +188,6 @@ CheckoutOverviewRelationEditComponent.decorators = [
296
188
  ];
297
189
  CheckoutOverviewRelationEditComponent.ctorParameters = () => [
298
190
  { type: FormMasterService },
299
- { type: BusinessObjectFactory },
300
191
  { type: TransactionService }
301
192
  ];
302
193
  CheckoutOverviewRelationEditComponent.propDecorators = {
@@ -310,4 +201,4 @@ CheckoutOverviewRelationEditComponent.propDecorators = {
310
201
  relationChange: [{ type: Output }],
311
202
  showClass: [{ type: HostBinding, args: ["class.co-checkout-overview-relation-edit",] }]
312
203
  };
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3RyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDbEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFL0QsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUUvRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBaUdoRyxNQUFNLE9BQU8scUNBQXFDO0lBZ0doRCxZQUNVLFdBQThCLEVBQzlCLFVBQWlDLEVBQ2xDLE9BQTJCO1FBRjFCLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixlQUFVLEdBQVYsVUFBVSxDQUF1QjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFvQjtR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d0JBQXdCLEVBQUU7d0JBQ2hDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDN0MsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUM1QyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3dCQUNyRCxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3FCQUNuRCxDQUFDO2lCQUNIO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF2R08saUJBQWlCO1lBR2pCLHFCQUFxQjtZQUpyQixrQkFBa0I7Ozt1QkFpSHZCLEtBQUs7bUNBWUwsS0FBSztrQ0FPTCxLQUFLOzBCQU9MLE1BQU07NEJBR04sTUFBTTtvQ0FHTixNQUFNO21DQUdOLE1BQU07NkJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsMENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1JlbGF0aW9uQW55VHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZVwiO1xuaW1wb3J0IHtBZGRyZXNzVHlwZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL2FkZHJlc3MtdHlwZS5lbnVtXCI7XG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xuaW1wb3J0IHtGb3JtTWFzdGVyU2VydmljZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcbmltcG9ydCB7QWRkcmVzc30gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9hZGRyZXNzLmJvXCI7XG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcbmltcG9ydCB7QnVzaW5lc3NPYmplY3RGYWN0b3J5fSBmcm9tIFwiLi4vLi4vLi4vZmFjdG9yeS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeVwiO1xuaW1wb3J0IHtDb3VudHJ5fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvdW50cnkuYm9cIjtcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XG5pbXBvcnQge1JlbGF0aW9uS2luZH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLWtpbmQuZW51bVwiO1xuaW1wb3J0IHtDdXN0b21lckZ1bGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3VzdG9tZXItZnVsbC1vYmplY3QuYm9cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvLWNoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXRcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tZWRpdC1jb250ZW50XCI+XG4gICAgICA8Y28tZm9ybT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWZvcm0td3JhcHBlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1sYWJlbC1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxzcGFuPjAxPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFt0ZXh0Q29udGVudF09XCInUEVSU09OQUxfREFUQScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxjby1yZWxhdGlvbi10eXBlXG4gICAgICAgICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXG4gICAgICAgICAgICA+PC9jby1yZWxhdGlvbi10eXBlPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgPHJlbGF0aW9uLWN1c3RvbWVyLWdyb3VwcyBbKG1vZGVsKV09XCJyZWxhdGlvbi5jdXN0b21lckdyb3VwXCIgcmVxdWlyZWQ+PC9yZWxhdGlvbi1jdXN0b21lci1ncm91cHM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxjby1yZWxhdGlvbi1nZW5lcmFsIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiIChyZWxhdGlvbkNoYW5nZSk9XCJ1cGRhdGVSZWxhdGlvbigkZXZlbnQpXCI+PC9jby1yZWxhdGlvbi1nZW5lcmFsPlxuICAgICAgICAgICAgPGNvLXJlbGF0aW9uLWFkZHJlc3MgW2FkZHJlc3NdPVwiYWRkcmVzc1wiPjwvY28tcmVsYXRpb24tYWRkcmVzcz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxjby1yZWxhdGlvbi1hZGRyZXNzZXNcbiAgICAgICAgICAgICAgW2FkZHJlc3Nlc109XCJyZWxhdGlvbi5hY3RpdmVBZGRyZXNzZXNcIlxuICAgICAgICAgICAgICBbdHlwZV09XCJhZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3NcIlxuICAgICAgICAgICAgICBbc2VsZWN0ZWRBZGRyZXNzSWR4XT1cImRlbGl2ZXJ5QWRkcmVzc0lkeFwiXG4gICAgICAgICAgICAgIChzZWxlY3RlZEFkZHJlc3NDaGFuZ2UpPVwic2V0SW5kZXhEZWxpdmVyeUFkZHJlc3MoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChzZWxlY3RlZEFkZHJlc3NOYXdOckNoYW5nZSk9XCJkZWxpdmVyeUFkZHJlc3NDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWFkZHJlc3Nlcz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCI+XG4gICAgICAgICAgICA8c3Bhbj4wMjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0lOVk9JQ0VfQUREUkVTUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggWyhtb2RlbCldPVwic2VydmljZS5pbnZvaWNlQWRkcmVzc1NhbWVBc0RlbGl2ZXJ5XCIgKG1vZGVsQ2hhbmdlKT1cImNoZWNrU2FtZUFkZHJlc3MoJGV2ZW50KVwiIFtsYWJlbF09XCInU0FNRV9BU19ERUxJVkVSWScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtY2hlY2tib3g+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVydmlldy1kZWxpdmVyeS1pbnZvaWNlLWFkZHJlc3NcIiAqbmdJZj1cIiFzZXJ2aWNlLmludm9pY2VBZGRyZXNzU2FtZUFzRGVsaXZlcnlcIiBAc2hvd0hpZGVJbnZvaWNlQWRkcmVzcz5cbiAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLWFkZHJlc3Nlc1xuICAgICAgICAgICAgICAgIFthZGRyZXNzZXNdPVwicmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJhZGRyZXNzVHlwZS5CaWxsaW5nQWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkQWRkcmVzc0lkeF09XCJpbnZvaWNlQWRkcmVzc0lkeFwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkQWRkcmVzc0NoYW5nZSk9XCJzZXRJbmRleEludm9pY2VBZGRyZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RlZEFkZHJlc3NOYXdOckNoYW5nZSk9XCJpbnZvaWNlQWRkcmVzc0NoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICA+PC9jby1yZWxhdGlvbi1hZGRyZXNzZXM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCI+XG4gICAgICAgICAgICA8c3Bhbj4wMzwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ0NPTlRBQ1RfREVUQUlMUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxjby1yZWxhdGlvbi1jb250YWN0LWRldGFpbHMgW3JlbGF0aW9uXT1cInJlbGF0aW9uXCI+PC9jby1yZWxhdGlvbi1jb250YWN0LWRldGFpbHM+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgICAgPHNwYW4+MDQ8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW3RleHRDb250ZW50XT1cIidQUklWQUNZX1BSRUZFUkVOQ0VTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxuICAgICAgICAgICAgPGNvLXJlbGF0aW9uLXByZWZlcmVuY2VzIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiPjwvY28tcmVsYXRpb24tcHJlZmVyZW5jZXM+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9jby1mb3JtPlxuICAgIDwvZGl2PlxuICBgLFxuICBwcm92aWRlcnM6IFtcbiAgICBGb3JtTWFzdGVyU2VydmljZVxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcihcInNob3dIaWRlUHJpdmF0ZVJlbGF0aW9uRmllbGRzXCIsIFtcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7aGVpZ2h0OiAwfSkpLFxuICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtoZWlnaHQ6IFwiKlwifSkpLFxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxuICAgICAgdHJhbnNpdGlvbihcIiogPT4gdm9pZFwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1vdXRcIikpXG4gICAgXSksXG4gICAgdHJpZ2dlcihcInNob3dIaWRlQ29tcGFueVJlbGF0aW9uRmllbGRzXCIsIFtcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7aGVpZ2h0OiAwfSkpLFxuICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtoZWlnaHQ6IFwiKlwifSkpLFxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxuICAgICAgdHJhbnNpdGlvbihcIiogPT4gdm9pZFwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1vdXRcIikpXG4gICAgXSksXG4gICAgdHJpZ2dlcihcInNob3dIaWRlU2lkZWJhclwiLCBbXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDEwMCUpXCJ9KSksXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDApXCJ9KSksXG4gICAgICB0cmFuc2l0aW9uKFwidm9pZCA8PT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpXG4gICAgXSksXG4gICAgdHJpZ2dlcihcInNob3dIaWRlSW52b2ljZUFkZHJlc3NcIiwgW1xuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtoZWlnaHQ6IDAsIG9wYWNpdHk6IDB9KSksXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe2hlaWdodDogXCIqXCIsIG9wYWNpdHk6IDF9KSksXG4gICAgICB0cmFuc2l0aW9uKFwidm9pZCA9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXG4gICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcbiAgICBdKVxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrb3V0T3ZlcnZpZXdSZWxhdGlvbkVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgcmVhZG9ubHkgcmVsYXRpb25LaW5kOiB0eXBlb2YgUmVsYXRpb25LaW5kID0gUmVsYXRpb25LaW5kO1xuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcbiAgcHVibGljIHJlYWRvbmx5IGFkZHJlc3NUeXBlOiB0eXBlb2YgQWRkcmVzc1R5cGUgPSBBZGRyZXNzVHlwZTtcblxuICAvLyBAVmlld0NoaWxkKEZvcm1Db21wb25lbnQsIHtzdGF0aWM6IHRydWV9KVxuICAvLyBwdWJsaWMgcmVsYXRpb25Gb3JtOiBGb3JtQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcmVsYXRpb24odmFsdWU6IEN1c3RvbWVyRnVsbE9iamVjdCkge1xuICAgIHRoaXMuX3JlbGF0aW9uID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uKSB7XG4gICAgICB0aGlzLmFkZHJlc3MgPSB0aGlzLl9yZWxhdGlvbi5nZXRGaXJzdEFkZHJlc3NPckNyZWF0ZU5ldygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVsYXRpb24oKTogQ3VzdG9tZXJGdWxsT2JqZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fcmVsYXRpb247XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlbGl2ZXJ5QWRkcmVzc05hd05yKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUgJiYgdGhpcy5yZWxhdGlvbiAmJiB0aGlzLnJlbGF0aW9uLmFkZHJlc3Nlcykge1xuICAgICAgdGhpcy5kZWxpdmVyeUFkZHJlc3NJZHggPSB0aGlzLnJlbGF0aW9uLmFkZHJlc3Nlcy5maW5kSW5kZXgoYSA9PiBhLm5hd05yID09PSB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpbnZvaWNlQWRkcmVzc05hd05yKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWUgJiYgdGhpcy5yZWxhdGlvbiAmJiB0aGlzLnJlbGF0aW9uLmFkZHJlc3Nlcykge1xuICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc0lkeCA9IHRoaXMucmVsYXRpb24uYWRkcmVzc2VzLmZpbmRJbmRleChhID0+IGEubmF3TnIgPT09IHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIHZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkZWxpdmVyeUFkZHJlc3NDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZvaWNlQWRkcmVzc0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlbGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPigpO1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXRcIilcbiAgcHVibGljIHNob3dDbGFzcygpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIHB1YmxpYyBmb3JtUmVsYXRpb246IEZvcm1Hcm91cDtcblxuICAvLyBwdWJsaWMgYWNjb3VudFBhc3N3b3JkOiBzdHJpbmcgPSBcIlwiO1xuICAvLyBwdWJsaWMgaGlkZTogYm9vbGVhbiA9IHRydWU7XG4gIC8vIHB1YmxpYyBnZW5kZXI6IEdlbmRlclR5cGUgPSBHZW5kZXJUeXBlLlVuc3BlY2lmaWVkO1xuICAvLyBwdWJsaWMgcHJpdmFjeVNldHRpbmdzOiBSZWxhdGlvblByaXZhY3lTZXR0aW5nW107XG5cbiAgLy8gcHVibGljIGFkZHJlc3NlczogQWRkcmVzc1tdID0gW107XG4gIHByaXZhdGUgX3JlbGF0aW9uOiBDdXN0b21lckZ1bGxPYmplY3QgPSBuZXcgQ3VzdG9tZXJGdWxsT2JqZWN0KCk7XG5cbiAgcHVibGljIGFkZHJlc3M6IEFkZHJlc3M7XG4gIHB1YmxpYyBzZWxlY3RlZEFkZHJlc3M6IEFkZHJlc3M7XG4gIHB1YmxpYyBkZWxpdmVyeUFkZHJlc3M6IEFkZHJlc3M7XG4gIHB1YmxpYyBpbnZvaWNlQWRkcmVzczogQWRkcmVzcztcbiAgcHVibGljIGRlbGl2ZXJ5QWRkcmVzc0lkeDogbnVtYmVyID0gMDtcbiAgcHVibGljIGludm9pY2VBZGRyZXNzSWR4OiBudW1iZXIgPSAwO1xuICBwdWJsaWMgZWRpdEFkZHJlc3NUeXBlOiBBZGRyZXNzVHlwZSA9IEFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzcztcbiAgLy8gcHVibGljIGFkZHJlc3NUb0VkaXQ6IEFkZHJlc3M7XG4gIC8vIHB1YmxpYyBzaG93U2VsZWN0QWRkcmVzc0RpYWxvZzogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyBwdWJsaWMgc2hvd0NyZWF0ZUFkZHJlc3NEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBwdWJsaWMgcmVhZG9ubHkgcmVsVHlwZTogdHlwZW9mIFJlbGF0aW9uTmFtZUtpbmQgPSBSZWxhdGlvbk5hbWVLaW5kO1xuICAvLyBwdWJsaWMgcmVhZG9ubHkgZ2VuZGVyVHlwZTogdHlwZW9mIEdlbmRlclR5cGUgPSBHZW5kZXJUeXBlO1xuXG4gIC8vIHB1YmxpYyBnZXQgZWRpdEZpcnN0QWRkcmVzcygpOiBBZGRyZXNzIHtcbiAgLy8gICBjb25zdCBmaXJzdEFkZHJlc3M6IEFkZHJlc3MgPSB0aGlzLnNlcnZpY2UuZ2V0Rmlyc3RBZGRyZXNzKHRoaXMucmVsYXRpb24pO1xuICAvLyAgIGlmIChmaXJzdEFkZHJlc3MpIHtcbiAgLy8gICAgIHJldHVybiBmaXJzdEFkZHJlc3M7XG4gIC8vICAgfSBlbHNlIGlmICh0aGlzLl9yZWxhdGlvbikge1xuICAvLyAgICAgY29uc3QgYWRkcmVzczogQWRkcmVzcyA9IG5ldyBBZGRyZXNzKCk7XG4gIC8vICAgICBhZGRyZXNzLmFkZHJlc3NUeXBlID0gQWRkcmVzc1R5cGUuRGVsaXZlcnlBZGRyZXNzO1xuICAvLyAgICAgYWRkcmVzcy5zdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xuICAvLyAgICAgYWRkcmVzcy5zZXF1ZW5jZSA9IHRoaXMuX3JlbGF0aW9uLmdldE5leHRBZGRyZXNzU2VxdWVuY2UoKTtcbiAgLy8gICAgIHRoaXMuX3JlbGF0aW9uLmFkZHJlc3Nlcy5wdXNoKGFkZHJlc3MpO1xuICAvLyAgICAgcmV0dXJuIGFkZHJlc3M7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgcHVibGljIGdldCBhcHBsaWNhdGlvblVzZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5hcHBsaWNhdGlvblVzZXI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9mb3JtTWFzdGVyOiBGb3JtTWFzdGVyU2VydmljZSxcbiAgICBwcml2YXRlIF9ib0ZhY3Rvcnk6IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSxcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uKSB7XG4gICAgICB0aGlzLmFkZHJlc3MgPSB0aGlzLl9yZWxhdGlvbi5nZXRGaXJzdEFkZHJlc3NPckNyZWF0ZU5ldygpO1xuICAgIH1cbiAgICAvLyB0aGlzLl9pbml0Rm9ybSgpO1xuICAgIC8vIHRoaXMuX3JlbGF0aW9uLnR5cGUgPSB0aGlzLnJlbFR5cGUuUHJpdmF0ZTtcbiAgICAvLyB0aGlzLl9yZWxhdGlvbi5nZW5kZXIgPSB0aGlzLmdlbmRlcjtcbiAgICAvLyBhd2FpdCB0aGlzLmxvYWRQcml2YWN5U2V0dGluZ3MoKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVSZWxhdGlvbihyZWw6IEN1c3RvbWVyRnVsbE9iamVjdCk6IHZvaWQge1xuICAgIHRoaXMuX3JlbGF0aW9uID0gcmVsO1xuICAgIHRoaXMucmVsYXRpb25DaGFuZ2UuZW1pdCh0aGlzLl9yZWxhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc3VibWl0KCk6IGJvb2xlYW4ge1xuICAgIC8vIHJldHVybiB0aGlzLnJlbGF0aW9uRm9ybS5zdWJtaXQoKTtcbiAgICByZXR1cm4gdGhpcy5fZm9ybU1hc3Rlci5zdWJtaXRTbGF2ZXMoKTtcbiAgfVxuXG4gIC8vIHB1YmxpYyBzaG93TmV3QWRkcmVzc0RpYWxvZyhkZWxpdmVyeUFkZHJlc3M6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gIC8vICAgdGhpcy5lZGl0QWRkcmVzc1R5cGUgPSBkZWxpdmVyeUFkZHJlc3MgPyBBZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3MgOiBBZGRyZXNzVHlwZS5CaWxsaW5nQWRkcmVzcztcbiAgLy8gICB0aGlzLnNob3dDcmVhdGVBZGRyZXNzRGlhbG9nID0gdHJ1ZTtcbiAgLy8gfVxuXG4gIC8vIHB1YmxpYyBzaG93RWRpdEFkZHJlc3NEaWFsb2coZGVsaXZlcnlBZGRyZXNzOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAvLyAgIHRoaXMuZWRpdEFkZHJlc3NUeXBlID0gZGVsaXZlcnlBZGRyZXNzID8gQWRkcmVzc1R5cGUuRGVsaXZlcnlBZGRyZXNzIDogQWRkcmVzc1R5cGUuQmlsbGluZ0FkZHJlc3M7XG4gIC8vICAgdGhpcy5zaG93U2VsZWN0QWRkcmVzc0RpYWxvZyA9IHRydWU7XG4gIC8vIH1cblxuICBwdWJsaWMgc2V0SW5kZXhEZWxpdmVyeUFkZHJlc3MoaWR4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc0lkeCA9IGlkeDtcbiAgICB0aGlzLmVkaXRBZGRyZXNzVHlwZSA9IEFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRJbmRleEludm9pY2VBZGRyZXNzKGlkeDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5pbnZvaWNlQWRkcmVzc0lkeCA9IGlkeDtcbiAgICB0aGlzLmVkaXRBZGRyZXNzVHlwZSA9IEFkZHJlc3NUeXBlLkJpbGxpbmdBZGRyZXNzO1xuICAgIC8vIHRoaXMuc2VsZWN0QWRkcmVzcyh0aGlzLnJlbGF0aW9uLmFkZHJlc3Nlc1tpZHhdKTtcbiAgfVxuXG4gIC8vIHB1YmxpYyBlZGl0QWRkcmVzcyhhZGRyOiBBZGRyZXNzKTogdm9pZCB7XG4gIC8vICAgdGhpcy5hZGRyZXNzVG9FZGl0ID0gPEFkZHJlc3M+PHVua25vd24+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQWRkcmVzcywgYWRkcik7XG4gIC8vICAgdGhpcy5zaG93RWRpdEFkZHJlc3NEaWFsb2coKVxuICAvLyB9XG5cbiAgcHVibGljIGNoZWNrU2FtZUFkZHJlc3MoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChjaGVja2VkKSB7XG4gICAgICB0aGlzLmVkaXRBZGRyZXNzVHlwZSA9IEFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzcztcbiAgICAgIC8vIHRoaXMuc2VsZWN0QWRkcmVzcyh0aGlzLmRlbGl2ZXJ5QWRkcmVzcyk7XG4gICAgfVxuICB9XG5cbiAgLy8gcHVibGljIHNhdmVOZXdBZGRyZXNzKGFkZHJlc3M6IEFkZHJlc3MpOiB2b2lkIHtcbiAgLy8gICBhZGRyZXNzLmFkZHJlc3NUeXBlID0gdGhpcy5lZGl0QWRkcmVzc1R5cGU7XG4gIC8vICAgdGhpcy5yZWxhdGlvbi5hZGRyZXNzZXMucHVzaChhZGRyZXNzKTtcbiAgLy8gICB0aGlzLnNlbGVjdEFkZHJlc3MoYWRkcmVzcyk7XG4gIC8vICAgdGhpcy5zaG93Q3JlYXRlQWRkcmVzc0RpYWxvZyA9IGZhbHNlO1xuICAvLyB9XG5cbiAgLy8gcHVibGljIHNhdmVBZGRyZXNzKGFkZHJlc3M6IEFkZHJlc3MpOiB2b2lkIHtcbiAgLy8gICBjb25zdCBpZHg6IG51bWJlciA9IHRoaXMucmVsYXRpb24uYWRkcmVzc2VzLmZpbmRJbmRleChhID0+IGEubmF3TnIgPT09IGFkZHJlc3MubmF3TnIpO1xuICAvLyAgIGlmIChpZHggPiAtMSkge1xuICAvLyAgICAgdGhpcy5yZWxhdGlvbi5hZGRyZXNzZXNbaWR4XSA9IDxBZGRyZXNzPjx1bmtub3duPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEFkZHJlc3MsIGFkZHJlc3MpO1xuICAvLyAgIH1cbiAgLy8gICB0aGlzLnNob3dTZWxlY3RBZGRyZXNzRGlhbG9nID0gZmFsc2U7XG4gIC8vIH1cblxuICAvLyBwdWJsaWMgc2VsZWN0QWRkcmVzcyhhZGRyZXNzPzogQWRkcmVzcyk6IHZvaWQge1xuICAvLyAgIC8vIGlmICghdGhpcy5kZWxpdmVyeU9wdGlvbnNSZXF1ZXN0KSB7XG4gIC8vICAgLy8gICByZXR1cm47XG4gIC8vICAgLy8gfVxuICAvLyAgIC8vIGlmICghYWRkcmVzcykge1xuICAvLyAgIC8vICAgYWRkcmVzcyA9IHRoaXMuc2VydmljZS5nZXRGaXJzdEFkZHJlc3ModGhpcy5yZWxhdGlvbik7XG4gIC8vICAgLy8gfVxuICAvLyAgIC8vIGlmICghYWRkcmVzcykge1xuICAvLyAgIC8vICAgcmV0dXJuO1xuICAvLyAgIC8vIH1cbiAgLy8gICAvLyB0aGlzLl9zZXRDb3VudHJ5TmFtZVRvQWRkcmVzcyhhZGRyZXNzKTtcbiAgLy8gICAvLyBpZiAodGhpcy5lZGl0QWRkcmVzc1R5cGUgPT09IEFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzcykge1xuICAvLyAgIC8vICAgdGhpcy5kZWxpdmVyeU9wdGlvbnNSZXF1ZXN0LnRyYW5zYWN0aW9uQWRkcmVzcyA9IGFkZHJlc3MubmF3TnI7XG4gIC8vICAgLy8gICB0aGlzLmRlbGl2ZXJ5QWRkcmVzcyA9IGFkZHJlc3M7XG4gIC8vICAgLy8gICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc0lkeCA9IHRoaXMucmVsYXRpb24uYWRkcmVzc2VzLmZpbmRJbmRleChhID0+IGEubmF3TnIgPT09IHRoaXMuZGVsaXZlcnlBZGRyZXNzLm5hd05yKTtcbiAgLy8gICAvLyB9XG4gIC8vICAgLy8gaWYgKHRoaXMuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeUFkZHJlc3MgfHwgdGhpcy5lZGl0QWRkcmVzc1R5cGUgIT09IEFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzcykge1xuICAvLyAgIC8vICAgdGhpcy5kZWxpdmVyeU9wdGlvbnNSZXF1ZXN0Lmludm9pY2VBZGRyZXNzID0gYWRkcmVzcy5uYXdOcjtcbiAgLy8gICAvLyAgIHRoaXMuaW52b2ljZUFkZHJlc3MgPSBhZGRyZXNzO1xuICAvLyAgIC8vICAgdGhpcy5pbnZvaWNlQWRkcmVzc0lkeCA9IHRoaXMucmVsYXRpb24uYWRkcmVzc2VzLmZpbmRJbmRleChhID0+IGEubmF3TnIgPT09IHRoaXMuaW52b2ljZUFkZHJlc3MubmF3TnIpO1xuICAvLyAgIC8vIH1cbiAgLy8gICB0aGlzLnNob3dTZWxlY3RBZGRyZXNzRGlhbG9nID0gZmFsc2U7XG4gIC8vIH1cblxuICAvLyBwdWJsaWMgYXN5bmMgbG9hZFByaXZhY3lTZXR0aW5ncygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gICB0aGlzLnByaXZhY3lTZXR0aW5ncyA9IGF3YWl0IHRoaXMuc2VydmljZS5nZXRSZWxhdGlvblByaXZhY3lTZXR0aW5ncygpO1xuICAvLyB9XG5cbiAgLy8gcHVibGljIGFzeW5jIGxvYWRNYXJrZXRpbmcoKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmdldE1hcmtldGluZ0NvZGVzKCk7XG4gIC8vIH1cblxuICAvLyBwdWJsaWMgaXNTaGFyZWQocmVsYXRpb25Qcml2YWN5U2V0dGluZzogUmVsYXRpb25Qcml2YWN5U2V0dGluZyk6IGJvb2xlYW4ge1xuICAvLyAgIGNvbnN0IG93blNldHRpbmc6IFJlbGF0aW9uUHJpdmFjeVNldHRpbmcgPSBCdXNpbmVzc09iamVjdFV0aWxzLkZpbmRJdGVtQnlJZCh0aGlzLnJlbGF0aW9uQXNDdXN0b21lci5yZWxhdGlvblByaXZhY3lTZXR0aW5ncywgcmVsYXRpb25Qcml2YWN5U2V0dGluZy5nZXRJZCgpKTtcbiAgLy8gICBpZiAob3duU2V0dGluZykge1xuICAvLyAgICAgcmV0dXJuIG93blNldHRpbmcuYWxsb3dUb1NoYXJlO1xuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gZmFsc2U7XG4gIC8vIH1cblxuICAvLyBwdWJsaWMgY2hhbmdlUmVsYXRpb25UeXBlKHZhbHVlOiBSZWxhdGlvbk5hbWVLaW5kKTogdm9pZCB7XG4gIC8vICAgdGhpcy5yZWxhdGlvbi50eXBlID0gdmFsdWU7XG4gIC8vIH1cblxuICAvLyBwdWJsaWMgY2hhbmdlUHJpdmFjeVNldHRpbmcocmVsYXRpb25Qcml2YWN5U2V0dGluZzogUmVsYXRpb25Qcml2YWN5U2V0dGluZywgdmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgLy8gICBjb25zdCBvd25TZXR0aW5nOiBSZWxhdGlvblByaXZhY3lTZXR0aW5nID0gQnVzaW5lc3NPYmplY3RVdGlscy5GaW5kSXRlbUJ5SWQodGhpcy5yZWxhdGlvbkFzQ3VzdG9tZXIucmVsYXRpb25Qcml2YWN5U2V0dGluZ3MsIHJlbGF0aW9uUHJpdmFjeVNldHRpbmcuZ2V0SWQoKSk7XG4gIC8vICAgaWYgKG93blNldHRpbmcpIHtcbiAgLy8gICAgIG93blNldHRpbmcuYWxsb3dUb1NoYXJlID0gdmFsdWU7XG4gIC8vICAgfSBlbHNlIHtcbiAgLy8gICAgIHRoaXMucmVsYXRpb25Bc0N1c3RvbWVyLnJlbGF0aW9uUHJpdmFjeVNldHRpbmdzLnB1c2gocmVsYXRpb25Qcml2YWN5U2V0dGluZyk7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLy8gcHJpdmF0ZSBfaW5pdEZvcm0oKTogdm9pZCB7XG4gIC8vICAgaWYgKHRoaXMucmVsYXRpb25Gb3JtKSB7XG4gIC8vICAgICB0aGlzLmZvcm1SZWxhdGlvbiA9IHRoaXMucmVsYXRpb25Gb3JtLmZvcm1Hcm91cDtcbiAgLy8gICB9XG4gIC8vIH1cblxuICBwcml2YXRlIGFzeW5jIF9zZXRDb3VudHJ5TmFtZVRvQWRkcmVzcyhhZGRyZXNzOiBBZGRyZXNzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGFkZHJlc3MuY291bnRyeUlkICYmICFhZGRyZXNzLmNvdW50cnlOYW1lKSB7XG4gICAgICBjb25zdCBjb3VudHJ5OiBDb3VudHJ5ID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldENvdW50cnkoYWRkcmVzcy5jb3VudHJ5SWQpO1xuICAgICAgYWRkcmVzcy5jb3VudHJ5TmFtZSA9IGNvdW50cnkuZGVzY3JpcHRpb247XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9FLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUM3RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDakYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBa0gvRSxNQUFNLE9BQU8scUNBQXFDO0lBc0RoRCxZQUNVLFdBQThCLEVBQy9CLE9BQTJCO1FBRDFCLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQXZEcEIsaUJBQVksR0FBd0IsWUFBWSxDQUFDO1FBQ2pELFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBQzFCLGdCQUFXLEdBQXVCLFdBQVcsQ0FBQztR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TyxDQUFDLGlCQUFpQixFQUFFO3dCQUN6QixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxDQUFDLENBQUM7d0JBQ3JELEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7d0JBQy9DLFVBQVUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7cUJBQ3ZELENBQUM7b0JBQ0YsT0FBTyxDQUFDLHdCQUF3QixFQUFFO3dCQUNoQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQzdDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDNUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzt3QkFDckQsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztxQkFDbkQsQ0FBQztpQkFDSDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBdkhPLGlCQUFpQjtZQURqQixrQkFBa0I7Ozt1QkE4SHZCLEtBQUs7bUNBZUwsS0FBSztrQ0FHTCxLQUFLOzBCQUdMLE1BQU07NEJBR04sTUFBTTtvQ0FHTixNQUFNO21DQUdOLE1BQU07NkJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsMENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xuaW1wb3J0IHtGb3JtTWFzdGVyU2VydmljZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHtDb3VudHJ5fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvdW50cnkuYm9cIjtcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XG5pbXBvcnQge0N1c3RvbWVyRnVsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1mdWxsLW9iamVjdC5ib1wiO1xuaW1wb3J0IHtSZWxhdGlvbktpbmR9IGZyb20gXCJAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW1cIjtcbmltcG9ydCB7QWRkcmVzc1R5cGV9IGZyb20gXCJAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9hZGRyZXNzLXR5cGUuZW51bVwiO1xuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZVwiO1xuaW1wb3J0IHtBZGRyZXNzfSBmcm9tIFwiQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2FkZHJlc3MuYm9cIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImNvLWNoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXRcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicmVsYXRpb24tZWRpdC1jb250ZW50XCI+XG4gICAgICA8Y28tZm9ybT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWZvcm0td3JhcHBlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1sYWJlbC1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxzcGFuPjAxPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFt0ZXh0Q29udGVudF09XCInUEVSU09OQUxfREFUQScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tdHlwZVxuICAgICAgICAgICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXG4gICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLXR5cGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICA8cmVsYXRpb24tY3VzdG9tZXItZ3JvdXBzIFsobW9kZWwpXT1cInJlbGF0aW9uLmN1c3RvbWVyR3JvdXBcIiByZXF1aXJlZD48L3JlbGF0aW9uLWN1c3RvbWVyLWdyb3Vwcz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1nZW5lcmFsIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiIChyZWxhdGlvbkNoYW5nZSk9XCJ1cGRhdGVSZWxhdGlvbigkZXZlbnQpXCI+PC9jby1yZWxhdGlvbi1nZW5lcmFsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLWFkZHJlc3MgW2FkZHJlc3NdPVwiYWRkcmVzc1wiPjwvY28tcmVsYXRpb24tYWRkcmVzcz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1hZGRyZXNzZXNcbiAgICAgICAgICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxuICAgICAgICAgICAgICAgIFthZGRyZXNzZXNdPVwicmVsYXRpb24uYWRkcmVzc2VzXCJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJhZGRyZXNzVHlwZS5EZWxpdmVyeUFkZHJlc3NcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZE5hd05yXT1cImRlbGl2ZXJ5QWRkcmVzc05hd05yXCJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWROYXdOckNoYW5nZSk9XCJkZWxpdmVyeUFkZHJlc3NDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoYWRkcmVzc1NhdmVkKT1cImhhbmRsZU5ld0FkZHJlc3MoYWRkcmVzc1R5cGUuRGVsaXZlcnlBZGRyZXNzLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPjwvY28tcmVsYXRpb24tYWRkcmVzc2VzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgICAgPHNwYW4+MDI8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCIgW3RleHRDb250ZW50XT1cIidJTlZPSUNFX0FERFJFU1MnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IFsobW9kZWwpXT1cInNlcnZpY2UuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeVwiIChtb2RlbENoYW5nZSk9XCJjaGVja1NhbWVBZGRyZXNzKCRldmVudClcIiBbbGFiZWxdPVwiJ1NBTUVfQVNfREVMSVZFUlknIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctZGVsaXZlcnktaW52b2ljZS1hZGRyZXNzXCIgKm5nSWY9XCIhc2VydmljZS5pbnZvaWNlQWRkcmVzc1NhbWVBc0RlbGl2ZXJ5XCIgQHNob3dIaWRlSW52b2ljZUFkZHJlc3M+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1hZGRyZXNzZXNcbiAgICAgICAgICAgICAgICAgIFthZGRyZXNzZXNdPVwicmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzXCJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImFkZHJlc3NUeXBlLkJpbGxpbmdBZGRyZXNzXCJcbiAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZE5hd05yXT1cImludm9pY2VBZGRyZXNzTmF3TnJcIlxuICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkTmF3TnJDaGFuZ2UpPVwiaW52b2ljZUFkZHJlc3NDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIChhZGRyZXNzU2F2ZWQpPVwiaGFuZGxlTmV3QWRkcmVzcyhhZGRyZXNzVHlwZS5CaWxsaW5nQWRkcmVzcywgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvY28tcmVsYXRpb24tYWRkcmVzc2VzPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1sYWJlbC1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxzcGFuPjAzPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiIFt0ZXh0Q29udGVudF09XCInQ09OVEFDVF9ERVRBSUxTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1jb250YWN0LWRldGFpbHMgW3JlbGF0aW9uXT1cInJlbGF0aW9uXCI+PC9jby1yZWxhdGlvbi1jb250YWN0LWRldGFpbHM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCI+XG4gICAgICAgICAgICA8c3Bhbj4wNDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1BSSVZBQ1lfUFJFRkVSRU5DRVMnIHwgbG9jYWxpemVcIj48L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLXByZWZlcmVuY2VzIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiPjwvY28tcmVsYXRpb24tcHJlZmVyZW5jZXM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2NvLWZvcm0+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHByb3ZpZGVyczogW1xuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVQcml2YXRlUmVsYXRpb25GaWVsZHNcIiwgW1xuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtoZWlnaHQ6IDB9KSksXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe2hlaWdodDogXCIqXCJ9KSksXG4gICAgICB0cmFuc2l0aW9uKFwidm9pZCA9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXG4gICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcbiAgICBdKSxcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVDb21wYW55UmVsYXRpb25GaWVsZHNcIiwgW1xuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtoZWlnaHQ6IDB9KSksXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe2hlaWdodDogXCIqXCJ9KSksXG4gICAgICB0cmFuc2l0aW9uKFwidm9pZCA9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXG4gICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcbiAgICBdKSxcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVTaWRlYmFyXCIsIFtcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInRyYW5zbGF0ZVgoMTAwJSlcIn0pKSxcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInRyYW5zbGF0ZVgoMClcIn0pKSxcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkIDw9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSlcbiAgICBdKSxcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVJbnZvaWNlQWRkcmVzc1wiLCBbXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe2hlaWdodDogMCwgb3BhY2l0eTogMH0pKSxcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7aGVpZ2h0OiBcIipcIiwgb3BhY2l0eTogMX0pKSxcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkID0+ICpcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKSxcbiAgICAgIHRyYW5zaXRpb24oXCIqID0+IHZvaWRcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2Utb3V0XCIpKVxuICAgIF0pXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSByZWxhdGlvbktpbmQ6IHR5cGVvZiBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQ7XG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xuICBwdWJsaWMgcmVhZG9ubHkgYWRkcmVzc1R5cGU6IHR5cGVvZiBBZGRyZXNzVHlwZSA9IEFkZHJlc3NUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcmVsYXRpb24odmFsdWU6IEN1c3RvbWVyRnVsbE9iamVjdCkge1xuICAgIHRoaXMuX3JlbGF0aW9uID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uKSB7XG4gICAgICB0aGlzLmFkZHJlc3MgPSB0aGlzLl9yZWxhdGlvbi5nZXRGaXJzdEFkZHJlc3NPckNyZWF0ZU5ldygpO1xuICAgICAgY29uc3QgZmlyc3RBY3RpdmVBZGRyZXNzOiBBZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzLmxlbmd0aCA+IDAgPyB0aGlzLl9yZWxhdGlvbi5hY3RpdmVBZGRyZXNzZXNbMF0gOiB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yID0gZmlyc3RBY3RpdmVBZGRyZXNzID8gZmlyc3RBY3RpdmVBZGRyZXNzLm5hd05yIDogMDtcbiAgICAgIHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOciA9IGZpcnN0QWN0aXZlQWRkcmVzcyA/IGZpcnN0QWN0aXZlQWRkcmVzcy5uYXdOciA6IDA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCByZWxhdGlvbigpOiBDdXN0b21lckZ1bGxPYmplY3Qge1xuICAgIHJldHVybiB0aGlzLl9yZWxhdGlvbjtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWxpdmVyeUFkZHJlc3NOYXdOcjogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbnZvaWNlQWRkcmVzc05hd05yOiBudW1iZXI7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB2YWxpZFN1Ym1pdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaW52YWxpZFN1Ym1pdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZGVsaXZlcnlBZGRyZXNzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaW52b2ljZUFkZHJlc3NDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZWxhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFJlbGF0aW9uQW55VHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlbGF0aW9uQW55VHlwZT4oKTtcblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0XCIpXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIF9yZWxhdGlvbjogQ3VzdG9tZXJGdWxsT2JqZWN0ID0gbmV3IEN1c3RvbWVyRnVsbE9iamVjdCgpO1xuXG4gIHB1YmxpYyBhZGRyZXNzOiBBZGRyZXNzO1xuXG4gIHB1YmxpYyBnZXQgYXBwbGljYXRpb25Vc2VyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2UuYXBwbGljYXRpb25Vc2VyO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZm9ybU1hc3RlcjogRm9ybU1hc3RlclNlcnZpY2UsXG4gICAgcHVibGljIHNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZVxuICApIHtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbikge1xuICAgICAgdGhpcy5hZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uZ2V0Rmlyc3RBZGRyZXNzT3JDcmVhdGVOZXcoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUmVsYXRpb24ocmVsOiBDdXN0b21lckZ1bGxPYmplY3QpOiB2b2lkIHtcbiAgICB0aGlzLl9yZWxhdGlvbiA9IHJlbDtcbiAgICB0aGlzLnJlbGF0aW9uQ2hhbmdlLmVtaXQodGhpcy5fcmVsYXRpb24pO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybU1hc3Rlci5zdWJtaXRTbGF2ZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVOZXdBZGRyZXNzKHR5cGU6IEFkZHJlc3NUeXBlLCBhZGRyZXNzOiBBZGRyZXNzKTogdm9pZCB7XG4gICAgaWYgKCFhZGRyZXNzLm5hd05yKSB7IC8vIG5ldyBhZGRyZXNzXG4gICAgICBhZGRyZXNzLmFkZHJlc3NUeXBlID0gdHlwZTtcbiAgICAgIGFkZHJlc3Muc3RhcnREYXRlID0gbmV3IERhdGUoKTtcbiAgICAgIGFkZHJlc3Muc2VxdWVuY2UgPSB0aGlzLnJlbGF0aW9uLmdldE5leHRBZGRyZXNzU2VxdWVuY2UoKTtcbiAgICAgIHRoaXMucmVsYXRpb24uYWRkcmVzc2VzLnB1c2goYWRkcmVzcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoZWNrU2FtZUFkZHJlc3MoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOciA9IHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnI7XG4gICAgdGhpcy5pbnZvaWNlQWRkcmVzc0NoYW5nZS5uZXh0KHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOcik7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9zZXRDb3VudHJ5TmFtZVRvQWRkcmVzcyhhZGRyZXNzOiBBZGRyZXNzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGFkZHJlc3MuY291bnRyeUlkICYmICFhZGRyZXNzLmNvdW50cnlOYW1lKSB7XG4gICAgICBjb25zdCBjb3VudHJ5OiBDb3VudHJ5ID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldENvdW50cnkoYWRkcmVzcy5jb3VudHJ5SWQpO1xuICAgICAgYWRkcmVzcy5jb3VudHJ5TmFtZSA9IGNvdW50cnkuZGVzY3JpcHRpb247XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -4,7 +4,7 @@ import { TransactionService } from "../../service/transaction.service";
4
4
  import { DictionaryService } from "../../service/dictionary.service";
5
5
  import { TransactionInfoResponse } from "@colijnit/transactionapi/build/model/transaction-info-response.bo";
6
6
  import { DialogService } from "../../service/dialog.service";
7
- import { CustomerFullObject } from "@colijnit/transactionapi/build/model/customer-full-object.bo";
7
+ import { CustomerFullObject } from "@colijnit/relationapi/build/model/customer-full-object.bo";
8
8
  export class CheckoutComponent {
9
9
  constructor(service, _dictionary, _dialogService) {
10
10
  this.service = service;
@@ -41,7 +41,10 @@ export class CheckoutComponent {
41
41
  if (valid) {
42
42
  const response = yield this.service.saveTransaction();
43
43
  if (response && response.isSuccess) {
44
- this.stepDelivery.completed = yield this.handleSaveDelivery();
44
+ const lockSuccess = yield this.service.tryToLockTransaction(this.service.currentTransaction.transactionInfo.id, this.service.currentTransaction.transactionInfo.version);
45
+ if (lockSuccess) {
46
+ this.stepDelivery.completed = yield this.handleSaveDelivery();
47
+ }
45
48
  }
46
49
  }
47
50
  }
@@ -144,4 +147,4 @@ CheckoutComponent.propDecorators = {
144
147
  transactionFinished: [{ type: Output }],
145
148
  showClass: [{ type: HostBinding, args: ["class.co-checkout",] }]
146
149
  };
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvY2hlY2tvdXQvY2hlY2tvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFJMUcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRzNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBdUNoRyxNQUFNLE9BQU8saUJBQWlCO0lBNkM1QixZQUNTLE9BQTJCLEVBQzFCLFdBQThCLEVBQzlCLGNBQTZCO1FBRjlCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQW5CaEMsd0JBQW1CLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFhdkUseUJBQW9CLEdBQVcsQ0FBQyxDQUFDO1FBQ2pDLHdCQUFtQixHQUFXLENBQUMsQ0FBQztJQU92QyxDQUFDO0lBbEJNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFXLHFCQUFxQjtRQUM5QixtREFBbUQ7UUFDbkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBYUQsd0JBQXdCO0lBQ3hCLDZFQUE2RTtJQUM3RSxJ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QztJQUNwQyxDQUFDOzs7WUF2SkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFoRE8sa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQU1qQixhQUFhOzs7c0JBMkNsQixTQUFTLFNBQUMsU0FBUzsyQkFHbkIsU0FBUyxTQUFDLGNBQWM7MkJBR3hCLFNBQVMsU0FBQyxjQUFjOzJCQUd4QixTQUFTLFNBQUMsY0FBYztzQkFHeEIsU0FBUyxTQUFDLFNBQVM7K0JBR25CLFNBQVMsU0FBQyxrQkFBa0I7K0JBRzVCLFNBQVMsU0FBQyxrQkFBa0I7OEJBRzVCLFNBQVMsU0FBQyxpQkFBaUI7dUJBRzNCLEtBQUs7a0NBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVzcG9uc2VCYXNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXJlc3BvbnNlLWJhc2UuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7Q2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudH0gZnJvbSBcIi4vY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0NoZWNrb3V0T3ZlcnZpZXdEZWxpdmVyeUVkaXRDb21wb25lbnR9IGZyb20gXCIuL2NoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQvY2hlY2tvdXQtb3ZlcnZpZXctZGVsaXZlcnktZWRpdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTdGVwcGVyU3RlcENvbXBvbmVudH0gZnJvbSBcIi4uL3N0ZXBwZXIvY29tcG9uZW50L3N0ZXBwZXItc3RlcC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZVwiO1xyXG5pbXBvcnQge1BheW1lbnRDb21wb25lbnR9IGZyb20gXCIuLi9wYXltZW50L3BheW1lbnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3RlcHBlckNvbXBvbmVudH0gZnJvbSBcIi4uL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtDdXN0b21lckZ1bGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3VzdG9tZXItZnVsbC1vYmplY3QuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWNoZWNrb3V0XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1zdGVwcGVyICNzdGVwcGVyIFtmaW5pc2hCdXR0b25MYWJlbF09XCInQ0hFQ0tPVVRfRklOSVNIJyB8IGxvY2FsaXplXCIgKGZpbmlzaFN0ZXApPVwiaGFuZGxlRmluaXNoU3RlcCgpXCI+XHJcbiAgICAgIDxjby1zdGVwcGVyLXN0ZXAgI3N0ZXBSZWxhdGlvbiBbaW5kZXhdPVwiMVwiIFtsYWJlbF09XCInWU9VUl9EQVRBJyB8IGxvY2FsaXplXCIgKHZhbGlkYXRlU3RlcCk9XCJoYW5kbGVSZWxhdGlvblZhbGlkYXRpb24oKVwiPlxyXG4gICAgICAgIDxjby1jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0ICNjaGVja291dFJlbGF0aW9uICpuZ0lmPVwic3RlcFJlbGF0aW9uLnNob3dcIiBbKHJlbGF0aW9uKV09XCJzZXJ2aWNlLnJlbGF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsaXZlcnlBZGRyZXNzTmF3TnJdPVwiZGVsaXZlcnlBZGRyZXNzTmF3TnJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnZvaWNlQWRkcmVzc05hd05yXT1cImludm9pY2VBZGRyZXNzTmF3TnJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxpdmVyeUFkZHJlc3NDaGFuZ2UpPVwiaGFuZGxlRGVsaXZlcnlBZGRyZXNzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnZvaWNlQWRkcmVzc0NoYW5nZSk9XCJoYW5kbGVJbnZvaWNlQWRkcmVzc0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVsYXRpb25DaGFuZ2UpPVwic2VydmljZS5yZWxhdGlvbiA9ICRldmVudFwiXHJcbiAgICAgICAgPjwvY28tY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdD5cclxuICAgICAgPC9jby1zdGVwcGVyLXN0ZXA+XHJcbiAgICAgIDxjby1zdGVwcGVyLXN0ZXAgI3N0ZXBEZWxpdmVyeSBbaW5kZXhdPVwiMlwiIFtsYWJlbF09XCInREVMSVZFUlknIHwgbG9jYWxpemVcIiAodmFsaWRhdGVTdGVwKT1cImhhbmRsZURlbGl2ZXJ5VmFsaWRhdGlvbigpXCI+XHJcbiAgICAgICAgPGNvLWNoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQgI2NoZWNrb3V0RGVsaXZlcnkgKm5nSWY9XCJzdGVwRGVsaXZlcnkuc2hvd1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uXCJcclxuICAgICAgICA+PC9jby1jaGVja291dC1vdmVydmlldy1kZWxpdmVyeS1lZGl0PlxyXG4gICAgICA8L2NvLXN0ZXBwZXItc3RlcD5cclxuICAgICAgPGNvLXN0ZXBwZXItc3RlcCAjc3RlcE92ZXJ2aWV3IFtpbmRleF09XCIzXCIgW2xhYmVsXT1cIidPVkVSVklFV19BTkRfUEFZTUVOVCcgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgIDxjby1jaGVja291dC1vdmVydmlldy1wYXltZW50ICpuZ0lmPVwic3RlcE92ZXJ2aWV3LnNob3dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWxhdGlvbl09XCJzZXJ2aWNlLnJlbGF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwic2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2VZb3VyRGF0YUNsaWNrKT1cInN0ZXBwZXIuZ290bygwKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZURlbGl2ZXJ5Q2xpY2spPVwic3RlcHBlci5nb3RvKDEpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGF5ZWQpPVwiaGFuZGxlVHJhbnNhY3Rpb25GaW5pc2hlZCgkZXZlbnQpXCJcclxuICAgICAgICA+PC9jby1jaGVja291dC1vdmVydmlldy1wYXltZW50PlxyXG4gICAgICA8L2NvLXN0ZXBwZXItc3RlcD5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvLWNoZWNrb3V0LXJpZ2h0LXBhbmVsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvLWNoZWNrb3V0LXJpZ2h0LXBhbmVsLXJlbGF0aW9uXCI+XHJcbiAgICAgICAgICA8Y28tYXZhdGFyIFtyZWxhdGlvbklkXT1cInNlbGxlcklkXCI+PC9jby1hdmF0YXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGNvLXNob3BwaW5nLWNhcnQtcHJldmlldyBbc2hvd0NoZWNrb3V0QnV0dG9uXT1cImZhbHNlXCIgW3dpdGhvdXRCb3JkZXJdPVwidHJ1ZVwiPjwvY28tc2hvcHBpbmctY2FydC1wcmV2aWV3PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvY28tc3RlcHBlcj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrb3V0Q29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKFwic3RlcHBlclwiKVxyXG4gIHB1YmxpYyBzdGVwcGVyOiBTdGVwcGVyQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKFwic3RlcFJlbGF0aW9uXCIpXHJcbiAgcHVibGljIHN0ZXBSZWxhdGlvbjogU3RlcHBlclN0ZXBDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJzdGVwRGVsaXZlcnlcIilcclxuICBwdWJsaWMgc3RlcERlbGl2ZXJ5OiBTdGVwcGVyU3RlcENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcInN0ZXBPdmVydmlld1wiKVxyXG4gIHB1YmxpYyBzdGVwT3ZlcnZpZXc6IFN0ZXBwZXJTdGVwQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKFwic3RlcFBheVwiKVxyXG4gIHB1YmxpYyBzdGVwUGF5OiBTdGVwcGVyU3RlcENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcImNoZWNrb3V0UmVsYXRpb25cIilcclxuICBwdWJsaWMgY2hlY2tvdXRSZWxhdGlvbjogQ2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcImNoZWNrb3V0RGVsaXZlcnlcIilcclxuICBwdWJsaWMgY2hlY2tvdXREZWxpdmVyeTogQ2hlY2tvdXRPdmVydmlld0RlbGl2ZXJ5RWRpdENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcImNoZWNrb3V0UGF5bWVudFwiKVxyXG4gIHB1YmxpYyBjaGVja291dFBheW1lbnQ6IFBheW1lbnRDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGxlcklkOiBudW1iZXI7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkZpbmlzaGVkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1jaGVja291dFwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdXNlcklzQXBwbGljYXRpb25Vc2VyKCk6IGJvb2xlYW4ge1xyXG4gICAgLy8gVE9ETzogcmV0dXJuIHRoaXMudXNlclNlcnZpY2UuaXNBcHBsaWNhdGlvblVzZXI7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U7XHJcbiAgcHVibGljIGRlbGl2ZXJ5QWRkcmVzc05hd05yOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBpbnZvaWNlQWRkcmVzc05hd05yOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIC8vIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIC8vICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlUmVsYXRpb25WYWxpZGF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuY2hlY2tvdXRSZWxhdGlvbiAmJiB0aGlzLnN0ZXBSZWxhdGlvbikge1xyXG4gICAgICBjb25zdCB2YWxpZCA9IHRoaXMuY2hlY2tvdXRSZWxhdGlvbi5zdWJtaXQoKTtcclxuICAgICAgaWYgKHZhbGlkKSB7XHJcbiAgICAgICAgdGhpcy5zdGVwUmVsYXRpb24uY29tcGxldGVkID0gYXdhaXQgdGhpcy5zYXZlUmVsYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZURlbGl2ZXJ5VmFsaWRhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmNoZWNrb3V0RGVsaXZlcnkgJiYgdGhpcy5zdGVwRGVsaXZlcnkpIHtcclxuICAgICAgY29uc3QgdmFsaWQgPSB0aGlzLmNoZWNrb3V0RGVsaXZlcnkuc3VibWl0KCk7XHJcbiAgICAgIGlmICh2YWxpZCkge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBUcmFuc2FjdGlvblJlc3BvbnNlQmFzZSA9IGF3YWl0IHRoaXMuc2VydmljZS5zYXZlVHJhbnNhY3Rpb24oKTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuaXNTdWNjZXNzKSB7XHJcbiAgICAgICAgICB0aGlzLnN0ZXBEZWxpdmVyeS5jb21wbGV0ZWQgPSBhd2FpdCB0aGlzLmhhbmRsZVNhdmVEZWxpdmVyeSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUZpbmlzaFN0ZXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoLyp0aGlzLmNoZWNrb3V0RGVsaXZlcnkgJiYgKi90aGlzLnN0ZXBQYXkpIHtcclxuICAgICAgdGhpcy5zdGVwUGF5LmNvbXBsZXRlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2F2ZVJlbGF0aW9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3Qgc3VjY2VzczogYm9vbGVhbiA9IGF3YWl0IHRoaXMuc2VydmljZS5zYXZlUmVsYXRpb24oKTtcclxuICAgIGlmIChzdWNjZXNzKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbkFkZHJlc3MgIT09IHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlSGVhZGVyRGVsaXZlcnlBZGRyZXNzKHRoaXMuc2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQsIHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGludm9pY2VBZGRyZXNzTmF3TnI6IG51bWJlciA9IHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOciA/IHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOciA6IHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnI7XHJcbiAgICAgIGlmICh0aGlzLnNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5pbnZvaWNlQWRkcmVzcyAhPT0gaW52b2ljZUFkZHJlc3NOYXdOcikge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc2VydmljZS51cGRhdGVIZWFkZXJJbnZvaWNlQWRkcmVzcyh0aGlzLnNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkLCBpbnZvaWNlQWRkcmVzc05hd05yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1Y2Nlc3M7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2F2ZURlbGl2ZXJ5KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVsaXZlcnlBZGRyZXNzQ2hhbmdlKG5hd05yOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIgPSBuYXdOcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVJbnZvaWNlQWRkcmVzc0NoYW5nZShuYXdOcjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIgPSBuYXdOcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVUcmFuc2FjdGlvbkZpbmlzaGVkKGlkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UoKTtcclxuICAgIHRoaXMuc2VydmljZS5yZWxhdGlvbiA9IG5ldyBDdXN0b21lckZ1bGxPYmplY3QoKTtcclxuICAgIHRoaXMuc2VydmljZS5hcnRpY2xlQW1vdW50ID0gMDtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25GaW5pc2hlZC5lbWl0KGlkKTtcclxuICB9XHJcbn1cclxuIl19
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvY2hlY2tvdXQvY2hlY2tvdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sbUVBQW1FLENBQUM7QUFJMUcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRzNELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBdUM3RixNQUFNLE9BQU8saUJBQWlCO0lBNkM1QixZQUNTLE9BQTJCLEVBQzFCLFdBQThCLEVBQzlCLGNBQTZCO1FBRjlCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQW5CaEMsd0JBQW1CLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFhdkUseUJBQW9CLEdBQVcsQ0FBQyxDQUFDO1FBQ2pDLHdCQUFtQixHQUFXLENBQUMsQ0FBQztJQU92QyxDQUFDO0lBbEJNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFXLHFCQUFxQjtRQUM5QixtREFBbUQ7UUFDbkQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBYUQsd0JBQXdCO0lBQ3hCLDZFQUE2RTtJQUM3RSxJ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LENBQUMsa0JBQWtCLEdBQUcsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7WUEzSkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUFoRE8sa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQU1qQixhQUFhOzs7c0JBMkNsQixTQUFTLFNBQUMsU0FBUzsyQkFHbkIsU0FBUyxTQUFDLGNBQWM7MkJBR3hCLFNBQVMsU0FBQyxjQUFjOzJCQUd4QixTQUFTLFNBQUMsY0FBYztzQkFHeEIsU0FBUyxTQUFDLFNBQVM7K0JBR25CLFNBQVMsU0FBQyxrQkFBa0I7K0JBRzVCLFNBQVMsU0FBQyxrQkFBa0I7OEJBRzVCLFNBQVMsU0FBQyxpQkFBaUI7dUJBRzNCLEtBQUs7a0NBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUmVzcG9uc2VCYXNlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXJlc3BvbnNlLWJhc2UuYm9cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7Q2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudH0gZnJvbSBcIi4vY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0NoZWNrb3V0T3ZlcnZpZXdEZWxpdmVyeUVkaXRDb21wb25lbnR9IGZyb20gXCIuL2NoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQvY2hlY2tvdXQtb3ZlcnZpZXctZGVsaXZlcnktZWRpdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTdGVwcGVyU3RlcENvbXBvbmVudH0gZnJvbSBcIi4uL3N0ZXBwZXIvY29tcG9uZW50L3N0ZXBwZXItc3RlcC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZVwiO1xyXG5pbXBvcnQge1BheW1lbnRDb21wb25lbnR9IGZyb20gXCIuLi9wYXltZW50L3BheW1lbnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3RlcHBlckNvbXBvbmVudH0gZnJvbSBcIi4uL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtDdXN0b21lckZ1bGxPYmplY3R9IGZyb20gXCJAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvY3VzdG9tZXItZnVsbC1vYmplY3QuYm9cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWNoZWNrb3V0XCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1zdGVwcGVyICNzdGVwcGVyIFtmaW5pc2hCdXR0b25MYWJlbF09XCInQ0hFQ0tPVVRfRklOSVNIJyB8IGxvY2FsaXplXCIgKGZpbmlzaFN0ZXApPVwiaGFuZGxlRmluaXNoU3RlcCgpXCI+XHJcbiAgICAgIDxjby1zdGVwcGVyLXN0ZXAgI3N0ZXBSZWxhdGlvbiBbaW5kZXhdPVwiMVwiIFtsYWJlbF09XCInWU9VUl9EQVRBJyB8IGxvY2FsaXplXCIgKHZhbGlkYXRlU3RlcCk9XCJoYW5kbGVSZWxhdGlvblZhbGlkYXRpb24oKVwiPlxyXG4gICAgICAgIDxjby1jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0ICNjaGVja291dFJlbGF0aW9uICpuZ0lmPVwic3RlcFJlbGF0aW9uLnNob3dcIiBbKHJlbGF0aW9uKV09XCJzZXJ2aWNlLnJlbGF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsaXZlcnlBZGRyZXNzTmF3TnJdPVwiZGVsaXZlcnlBZGRyZXNzTmF3TnJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnZvaWNlQWRkcmVzc05hd05yXT1cImludm9pY2VBZGRyZXNzTmF3TnJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxpdmVyeUFkZHJlc3NDaGFuZ2UpPVwiaGFuZGxlRGVsaXZlcnlBZGRyZXNzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnZvaWNlQWRkcmVzc0NoYW5nZSk9XCJoYW5kbGVJbnZvaWNlQWRkcmVzc0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVsYXRpb25DaGFuZ2UpPVwic2VydmljZS5yZWxhdGlvbiA9ICRldmVudFwiXHJcbiAgICAgICAgPjwvY28tY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdD5cclxuICAgICAgPC9jby1zdGVwcGVyLXN0ZXA+XHJcbiAgICAgIDxjby1zdGVwcGVyLXN0ZXAgI3N0ZXBEZWxpdmVyeSBbaW5kZXhdPVwiMlwiIFtsYWJlbF09XCInREVMSVZFUlknIHwgbG9jYWxpemVcIiAodmFsaWRhdGVTdGVwKT1cImhhbmRsZURlbGl2ZXJ5VmFsaWRhdGlvbigpXCI+XHJcbiAgICAgICAgPGNvLWNoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQgI2NoZWNrb3V0RGVsaXZlcnkgKm5nSWY9XCJzdGVwRGVsaXZlcnkuc2hvd1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uXCJcclxuICAgICAgICA+PC9jby1jaGVja291dC1vdmVydmlldy1kZWxpdmVyeS1lZGl0PlxyXG4gICAgICA8L2NvLXN0ZXBwZXItc3RlcD5cclxuICAgICAgPGNvLXN0ZXBwZXItc3RlcCAjc3RlcE92ZXJ2aWV3IFtpbmRleF09XCIzXCIgW2xhYmVsXT1cIidPVkVSVklFV19BTkRfUEFZTUVOVCcgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgIDxjby1jaGVja291dC1vdmVydmlldy1wYXltZW50ICpuZ0lmPVwic3RlcE92ZXJ2aWV3LnNob3dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWxhdGlvbl09XCJzZXJ2aWNlLnJlbGF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwic2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2VZb3VyRGF0YUNsaWNrKT1cInN0ZXBwZXIuZ290bygwKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZURlbGl2ZXJ5Q2xpY2spPVwic3RlcHBlci5nb3RvKDEpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGF5ZWQpPVwiaGFuZGxlVHJhbnNhY3Rpb25GaW5pc2hlZCgkZXZlbnQpXCJcclxuICAgICAgICA+PC9jby1jaGVja291dC1vdmVydmlldy1wYXltZW50PlxyXG4gICAgICA8L2NvLXN0ZXBwZXItc3RlcD5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvLWNoZWNrb3V0LXJpZ2h0LXBhbmVsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvLWNoZWNrb3V0LXJpZ2h0LXBhbmVsLXJlbGF0aW9uXCI+XHJcbiAgICAgICAgICA8Y28tYXZhdGFyIFtyZWxhdGlvbklkXT1cInNlbGxlcklkXCI+PC9jby1hdmF0YXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGNvLXNob3BwaW5nLWNhcnQtcHJldmlldyBbc2hvd0NoZWNrb3V0QnV0dG9uXT1cImZhbHNlXCIgW3dpdGhvdXRCb3JkZXJdPVwidHJ1ZVwiPjwvY28tc2hvcHBpbmctY2FydC1wcmV2aWV3PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvY28tc3RlcHBlcj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIENoZWNrb3V0Q29tcG9uZW50IHtcclxuICBAVmlld0NoaWxkKFwic3RlcHBlclwiKVxyXG4gIHB1YmxpYyBzdGVwcGVyOiBTdGVwcGVyQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKFwic3RlcFJlbGF0aW9uXCIpXHJcbiAgcHVibGljIHN0ZXBSZWxhdGlvbjogU3RlcHBlclN0ZXBDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJzdGVwRGVsaXZlcnlcIilcclxuICBwdWJsaWMgc3RlcERlbGl2ZXJ5OiBTdGVwcGVyU3RlcENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcInN0ZXBPdmVydmlld1wiKVxyXG4gIHB1YmxpYyBzdGVwT3ZlcnZpZXc6IFN0ZXBwZXJTdGVwQ29tcG9uZW50O1xyXG5cclxuICBAVmlld0NoaWxkKFwic3RlcFBheVwiKVxyXG4gIHB1YmxpYyBzdGVwUGF5OiBTdGVwcGVyU3RlcENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcImNoZWNrb3V0UmVsYXRpb25cIilcclxuICBwdWJsaWMgY2hlY2tvdXRSZWxhdGlvbjogQ2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcImNoZWNrb3V0RGVsaXZlcnlcIilcclxuICBwdWJsaWMgY2hlY2tvdXREZWxpdmVyeTogQ2hlY2tvdXRPdmVydmlld0RlbGl2ZXJ5RWRpdENvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChcImNoZWNrb3V0UGF5bWVudFwiKVxyXG4gIHB1YmxpYyBjaGVja291dFBheW1lbnQ6IFBheW1lbnRDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGxlcklkOiBudW1iZXI7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkZpbmlzaGVkOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1jaGVja291dFwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdXNlcklzQXBwbGljYXRpb25Vc2VyKCk6IGJvb2xlYW4ge1xyXG4gICAgLy8gVE9ETzogcmV0dXJuIHRoaXMudXNlclNlcnZpY2UuaXNBcHBsaWNhdGlvblVzZXI7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2U7XHJcbiAgcHVibGljIGRlbGl2ZXJ5QWRkcmVzc05hd05yOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBpbnZvaWNlQWRkcmVzc05hd05yOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIC8vIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gIC8vICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlUmVsYXRpb25WYWxpZGF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuY2hlY2tvdXRSZWxhdGlvbiAmJiB0aGlzLnN0ZXBSZWxhdGlvbikge1xyXG4gICAgICBjb25zdCB2YWxpZCA9IHRoaXMuY2hlY2tvdXRSZWxhdGlvbi5zdWJtaXQoKTtcclxuICAgICAgaWYgKHZhbGlkKSB7XHJcbiAgICAgICAgdGhpcy5zdGVwUmVsYXRpb24uY29tcGxldGVkID0gYXdhaXQgdGhpcy5zYXZlUmVsYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZURlbGl2ZXJ5VmFsaWRhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmNoZWNrb3V0RGVsaXZlcnkgJiYgdGhpcy5zdGVwRGVsaXZlcnkpIHtcclxuICAgICAgY29uc3QgdmFsaWQgPSB0aGlzLmNoZWNrb3V0RGVsaXZlcnkuc3VibWl0KCk7XHJcbiAgICAgIGlmICh2YWxpZCkge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBUcmFuc2FjdGlvblJlc3BvbnNlQmFzZSA9IGF3YWl0IHRoaXMuc2VydmljZS5zYXZlVHJhbnNhY3Rpb24oKTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuaXNTdWNjZXNzKSB7XHJcbiAgICAgICAgICBjb25zdCBsb2NrU3VjY2VzczogYm9vbGVhbiA9XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc2VydmljZS50cnlUb0xvY2tUcmFuc2FjdGlvbih0aGlzLnNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby5pZCwgdGhpcy5zZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udmVyc2lvbik7XHJcbiAgICAgICAgICBpZiAobG9ja1N1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgdGhpcy5zdGVwRGVsaXZlcnkuY29tcGxldGVkID0gYXdhaXQgdGhpcy5oYW5kbGVTYXZlRGVsaXZlcnkoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVGaW5pc2hTdGVwKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKC8qdGhpcy5jaGVja291dERlbGl2ZXJ5ICYmICovdGhpcy5zdGVwUGF5KSB7XHJcbiAgICAgIHRoaXMuc3RlcFBheS5jb21wbGV0ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNhdmVSZWxhdGlvbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHN1Y2Nlc3M6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLnNlcnZpY2Uuc2F2ZVJlbGF0aW9uKCk7XHJcbiAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICBpZiAodGhpcy5zZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25BZGRyZXNzICE9PSB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnVwZGF0ZUhlYWRlckRlbGl2ZXJ5QWRkcmVzcyh0aGlzLnNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mby51dWlkLCB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yKTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBpbnZvaWNlQWRkcmVzc05hd05yOiBudW1iZXIgPSB0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIgPyB0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIgOiB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yO1xyXG4gICAgICBpZiAodGhpcy5zZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8uaW52b2ljZUFkZHJlc3MgIT09IGludm9pY2VBZGRyZXNzTmF3TnIpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2UudXBkYXRlSGVhZGVySW52b2ljZUFkZHJlc3ModGhpcy5zZXJ2aWNlLmN1cnJlbnRUcmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udXVpZCwgaW52b2ljZUFkZHJlc3NOYXdOcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBzdWNjZXNzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVNhdmVEZWxpdmVyeSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURlbGl2ZXJ5QWRkcmVzc0NoYW5nZShuYXdOcjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yID0gbmF3TnI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlSW52b2ljZUFkZHJlc3NDaGFuZ2UobmF3TnI6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5pbnZvaWNlQWRkcmVzc05hd05yID0gbmF3TnI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVHJhbnNhY3Rpb25GaW5pc2hlZChpZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2UuY3VycmVudFRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlKCk7XHJcbiAgICB0aGlzLnNlcnZpY2UucmVsYXRpb24gPSBuZXcgQ3VzdG9tZXJGdWxsT2JqZWN0KCk7XHJcbiAgICB0aGlzLnNlcnZpY2UuYXJ0aWNsZUFtb3VudCA9IDA7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uRmluaXNoZWQuZW1pdChpZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -40,7 +40,7 @@ ConfirmationDialogComponent.decorators = [
40
40
  <div class="co-transaction-dialog-header-title" [textContent]="title | localize"></div>
41
41
  </ng-template>
42
42
  <ng-template #footerTemplate>
43
- <div class="button-wrapper">
43
+ <div class="co-transaction-dialog-footer-button-wrapper">
44
44
  <ng-container *ngIf="type === ptype.Confirmation">
45
45
  <co-button [label]="'YES' | localize" (click)="handleYesClick($event)"></co-button>
46
46
  <co-button [label]="'NO' | localize" (click)="handleNoClick($event)"></co-button>
@@ -64,4 +64,4 @@ ConfirmationDialogComponent.propDecorators = {
64
64
  type: [{ type: Input }],
65
65
  showClass: [{ type: HostBinding, args: ["class.co-confirmation-dialog",] }]
66
66
  };
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBOEJsRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQW1CO0lBcUJsRSxZQUFtQixnQkFBa0M7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEUyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBcEJyQyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUMxQixVQUFLLEdBQXdCLFlBQVksQ0FBQztJQXFCMUQsQ0FBQztJQU5NLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFNTSxjQUFjLENBQUMsS0FBaUI7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFpQjtRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OztZQS9ERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBN0JPLGdCQUFnQjs7O29CQWtDckIsS0FBSzttQkFHTCxLQUFLO3NCQUdMLEtBQUs7bUJBR0wsS0FBSzt3QkFHTCxXQUFXLFNBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7RGlhbG9nQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uL2NvcmUvYmFzZS9kaWFsb2ctYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtBcHBQb3B1cEJ1dHRvblR5cGV9IGZyb20gXCIuLi9jb3JlL2VudW0vYXBwLXBvcHVwLWJ1dHRvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtBcHBQb3B1cFR5cGV9IGZyb20gXCIuLi9jb3JlL2VudW0vYXBwLXBvcHVwLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tY29uZmlybWF0aW9uLWRpYWxvZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nIFtzaG93Q2xvc2VJY29uXT1cImZhbHNlXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCIgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb25maXJtYXRpb24tZGlhbG9nLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiIFtpbm5lckhUTUxdPVwidGV4dFwiPjwvZGl2PlxyXG4gICAgICAgIDxjby1jb2xsYXBzaWJsZSBbaGVhZGVyVGl0bGVdPVwiJ0RFVEFJTFMnIHwgbG9jYWxpemVcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRyaWFuZ2xlRG93bilcIiAqbmdJZj1cImRldGFpbHNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctZGV0YWlsc1wiIFtpbm5lckhUTUxdPVwiZGV0YWlsc1wiPjwvZGl2PlxyXG4gICAgICAgIDwvY28tY29sbGFwc2libGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9jby1kaWFsb2c+XHJcbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY28tdHJhbnNhY3Rpb24tZGlhbG9nLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJ0aXRsZSB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09IHB0eXBlLkNvbmZpcm1hdGlvblwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ1lFUycgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJoYW5kbGVZZXNDbGljaygkZXZlbnQpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInTk8nIHwgbG9jYWxpemVcIiAoY2xpY2spPVwiaGFuZGxlTm9DbGljaygkZXZlbnQpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09IHB0eXBlLkluZm9ybWF0aW9uIHx8IHR5cGUgPT09IHB0eXBlLkVycm9yXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInT0snIHwgbG9jYWxpemVcIiAoY2xpY2spPVwiaGFuZGxlT2tDbGljaygkZXZlbnQpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCBleHRlbmRzIERpYWxvZ0Jhc2VDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBwdHlwZTogdHlwZW9mIEFwcFBvcHVwVHlwZSA9IEFwcFBvcHVwVHlwZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGV4dDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZXRhaWxzOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHR5cGU6IEFwcFBvcHVwVHlwZVxyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1jb25maXJtYXRpb24tZGlhbG9nXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlWWVzQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DbG9zZShBcHBQb3B1cEJ1dHRvblR5cGUuWWVzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVOb0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2xvc2UoQXBwUG9wdXBCdXR0b25UeXBlLk5vKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVPa0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2xvc2UoQXBwUG9wdXBCdXR0b25UeXBlLk9rKTtcclxuICB9XHJcbn1cclxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBOEJsRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQW1CO0lBcUJsRSxZQUFtQixnQkFBa0M7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEUyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBcEJyQyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUMxQixVQUFLLEdBQXdCLFlBQVksQ0FBQztJQXFCMUQsQ0FBQztJQU5NLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFNTSxjQUFjLENBQUMsS0FBaUI7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFpQjtRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OztZQS9ERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBN0JPLGdCQUFnQjs7O29CQWtDckIsS0FBSzttQkFHTCxLQUFLO3NCQUdMLEtBQUs7bUJBR0wsS0FBSzt3QkFHTCxXQUFXLFNBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7RGlhbG9nQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uL2NvcmUvYmFzZS9kaWFsb2ctYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtBcHBQb3B1cEJ1dHRvblR5cGV9IGZyb20gXCIuLi9jb3JlL2VudW0vYXBwLXBvcHVwLWJ1dHRvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtBcHBQb3B1cFR5cGV9IGZyb20gXCIuLi9jb3JlL2VudW0vYXBwLXBvcHVwLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tY29uZmlybWF0aW9uLWRpYWxvZ1wiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28tZGlhbG9nIFtzaG93Q2xvc2VJY29uXT1cImZhbHNlXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCIgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb25maXJtYXRpb24tZGlhbG9nLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiIFtpbm5lckhUTUxdPVwidGV4dFwiPjwvZGl2PlxyXG4gICAgICAgIDxjby1jb2xsYXBzaWJsZSBbaGVhZGVyVGl0bGVdPVwiJ0RFVEFJTFMnIHwgbG9jYWxpemVcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRyaWFuZ2xlRG93bilcIiAqbmdJZj1cImRldGFpbHNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctZGV0YWlsc1wiIFtpbm5lckhUTUxdPVwiZGV0YWlsc1wiPjwvZGl2PlxyXG4gICAgICAgIDwvY28tY29sbGFwc2libGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9jby1kaWFsb2c+XHJcbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY28tdHJhbnNhY3Rpb24tZGlhbG9nLWhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJ0aXRsZSB8IGxvY2FsaXplXCI+PC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICNmb290ZXJUZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvLXRyYW5zYWN0aW9uLWRpYWxvZy1mb290ZXItYnV0dG9uLXdyYXBwZXJcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gcHR5cGUuQ29uZmlybWF0aW9uXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInWUVTJyB8IGxvY2FsaXplXCIgKGNsaWNrKT1cImhhbmRsZVllc0NsaWNrKCRldmVudClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidOTycgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJoYW5kbGVOb0NsaWNrKCRldmVudClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gcHR5cGUuSW5mb3JtYXRpb24gfHwgdHlwZSA9PT0gcHR5cGUuRXJyb3JcIj5cclxuICAgICAgICAgIDxjby1idXR0b24gW2xhYmVsXT1cIidPSycgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJoYW5kbGVPa0NsaWNrKCRldmVudClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgRGlhbG9nQmFzZUNvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgcHVibGljIHJlYWRvbmx5IHB0eXBlOiB0eXBlb2YgQXBwUG9wdXBUeXBlID0gQXBwUG9wdXBUeXBlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRldGFpbHM6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHlwZTogQXBwUG9wdXBUeXBlXHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNvbmZpcm1hdGlvbi1kaWFsb2dcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVZZXNDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNsb3NlKEFwcFBvcHVwQnV0dG9uVHlwZS5ZZXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU5vQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DbG9zZShBcHBQb3B1cEJ1dHRvblR5cGUuTm8pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DbG9zZShBcHBQb3B1cEJ1dHRvblR5cGUuT2spO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -62,7 +62,7 @@ CharacteristicAnswerComponent.decorators = [
62
62
  <div class="co-transaction-dialog-header-title" [textContent]="title"></div>
63
63
  </ng-template>
64
64
  <ng-template #footerTemplate>
65
- <div class="dialog-footer-button-wrapper">
65
+ <div class="co-transaction-dialog-footer-button-wrapper">
66
66
  <co-button [label]="'OK' | localize" (click)="handleOkClick()"></co-button>
67
67
  </div>
68
68
  </ng-template>
@@ -80,4 +80,4 @@ CharacteristicAnswerComponent.propDecorators = {
80
80
  okClick: [{ type: Output }],
81
81
  showClass: [{ type: HostBinding, args: ['class.co-characteristic-answer',] }]
82
82
  };
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmFjdGVyaXN0aWMtYW5zd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2NvcmUvYmFzZS9jb21wb25lbnRzL2NoYXJhY3RlcmlzdGljLWFuc3dlci9jaGFyYWN0ZXJpc3RpYy1hbnN3ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBNkI1RSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsbUJBQW1CO0lBNkJwRSxZQUFvQixlQUFrQztRQUNwRCxLQUFLLEVBQUUsQ0FBQztRQURVLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQTNCL0MsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQWFuQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBR1YsWUFBTyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBT3BFLGVBQVUsR0FBd0MsRUFBRSxDQUFDO1FBRXBELGFBQVEsR0FBMEMsRUFBRSxDQUFDO0lBSTdELENBQUM7SUEzQkQsSUFDVyxPQUFPLENBQUMsS0FBNEM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQVNNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFVTSxhQUFhLENBQUMsS0FBaUIsRUFBRSxNQUFjO1FBQ3BELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQixDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzdDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxDQUFDO2FBQ3pFO1NBQ0Y7SUFDSCxDQUFDOzs7WUFoRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBL0JPLGlCQUFpQjs7O29CQWlDdEIsS0FBSztzQkFHTCxLQUFLO29CQVVMLEtBQUs7c0JBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lQ2hhcmFjdGVyaXN0aWNDaG9pY2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb25MaW5lQ2hhcmFjdGVyaXN0aWNDaG9pY2UuYm9cIjtcbmltcG9ydCB7RGlhbG9nQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2RpYWxvZy1iYXNlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtBcHBQb3B1cEJ1dHRvblR5cGV9IGZyb20gXCIuLi8uLi8uLi9lbnVtL2FwcC1wb3B1cC1idXR0b24tdHlwZS5lbnVtXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjby1jaGFyYWN0ZXJpc3RpYy1hbnN3ZXJcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8Y28tZGlhbG9nIFtzaG93Q2xvc2VJY29uXT1cImZhbHNlXCIgW21vZGFsXT1cInRydWVcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaG9pY2VzICYmIGNob2ljZXMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY28tdHJhbnNhY3Rpb24tZGVmYXVsdC1wb3B1cC1yb3dcIiAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIHZpZXdNb2RlbHNcIj5cbiAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW21vZGVsXT1cImNob2ljZS5jaGVja2VkXCIgW2xhYmVsXT1cImNob2ljZS52YWx1ZVwiIChjbGljayk9XCJoYW5kbGVDaGVja2VkKCRldmVudCwgY2hvaWNlLnZhbHVlKVwiPjwvY28taW5wdXQtY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNob2ljZXMgfHwgY2hvaWNlcy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgPGNvLWlucHV0LXRleHRcbiAgICAgICAgICBbKG1vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgKGVudGVyKT1cImhhbmRsZU9rQ2xpY2soKVwiXG4gICAgICAgID48L2NvLWlucHV0LXRleHQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2NvLWRpYWxvZz5cbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz1cImNvLXRyYW5zYWN0aW9uLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwidGl0bGVcIj48L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWZvb3Rlci1idXR0b24td3JhcHBlclwiPlxuICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInT0snIHwgbG9jYWxpemVcIiAoY2xpY2spPVwiaGFuZGxlT2tDbGljaygpXCI+PC9jby1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENoYXJhY3RlcmlzdGljQW5zd2VyQ29tcG9uZW50IGV4dGVuZHMgRGlhbG9nQmFzZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gXCJcIjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNob2ljZXModmFsdWU6IFRyYW5zYWN0aW9uTGluZUNoYXJhY3RlcmlzdGljQ2hvaWNlW10pIHtcbiAgICB0aGlzLl9jaG9pY2VzID0gdmFsdWU7XG4gICAgdGhpcy5fcHJlcGFyZVZpZXdNb2RlbHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hvaWNlcygpOiBUcmFuc2FjdGlvbkxpbmVDaGFyYWN0ZXJpc3RpY0Nob2ljZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fY2hvaWNlcztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWx1ZTogc3RyaW5nID0gXCJcIjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IG9rQ2xpY2s6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1jaGFyYWN0ZXJpc3RpYy1hbnN3ZXInKVxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIHZpZXdNb2RlbHM6IHt2YWx1ZTogc3RyaW5nLCBjaGVja2VkOiBib29sZWFufVtdID0gW107XG5cbiAgcHJpdmF0ZSBfY2hvaWNlczogVHJhbnNhY3Rpb25MaW5lQ2hhcmFjdGVyaXN0aWNDaG9pY2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ2hlY2tlZChldmVudDogTW91c2VFdmVudCwgY2hvaWNlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMudmFsdWUgPSBjaG9pY2U7XG4gICAgdGhpcy52aWV3TW9kZWxzLmZvckVhY2godiA9PiB7XG4gICAgICB2LmNoZWNrZWQgPSB2LnZhbHVlID09PSBjaG9pY2U7XG4gICAgfSlcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVPa0NsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMub25DbG9zZShBcHBQb3B1cEJ1dHRvblR5cGUuT2ssIHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGFyZVZpZXdNb2RlbHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2Nob2ljZXMgJiYgdGhpcy5fY2hvaWNlcy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX2Nob2ljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy52aWV3TW9kZWxzLnB1c2goe3ZhbHVlOiB0aGlzLl9jaG9pY2VzW2ldLnZhbHVlLCBjaGVja2VkOiBpID09PSAwfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmFjdGVyaXN0aWMtYW5zd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2NvcmUvYmFzZS9jb21wb25lbnRzL2NoYXJhY3RlcmlzdGljLWFuc3dlci9jaGFyYWN0ZXJpc3RpYy1hbnN3ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBNkI1RSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsbUJBQW1CO0lBNkJwRSxZQUFvQixlQUFrQztRQUNwRCxLQUFLLEVBQUUsQ0FBQztRQURVLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQTNCL0MsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQWFuQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBR1YsWUFBTyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBT3BFLGVBQVUsR0FBd0MsRUFBRSxDQUFDO1FBRXBELGFBQVEsR0FBMEMsRUFBRSxDQUFDO0lBSTdELENBQUM7SUEzQkQsSUFDVyxPQUFPLENBQUMsS0FBNEM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQVNNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFVTSxhQUFhLENBQUMsS0FBaUIsRUFBRSxNQUFjO1FBQ3BELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQixDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzdDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxDQUFDO2FBQ3pFO1NBQ0Y7SUFDSCxDQUFDOzs7WUFoRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBL0JPLGlCQUFpQjs7O29CQWlDdEIsS0FBSztzQkFHTCxLQUFLO29CQVVMLEtBQUs7c0JBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lQ2hhcmFjdGVyaXN0aWNDaG9pY2V9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb25MaW5lQ2hhcmFjdGVyaXN0aWNDaG9pY2UuYm9cIjtcbmltcG9ydCB7RGlhbG9nQmFzZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2RpYWxvZy1iYXNlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtBcHBQb3B1cEJ1dHRvblR5cGV9IGZyb20gXCIuLi8uLi8uLi9lbnVtL2FwcC1wb3B1cC1idXR0b24tdHlwZS5lbnVtXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjby1jaGFyYWN0ZXJpc3RpYy1hbnN3ZXJcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8Y28tZGlhbG9nIFtzaG93Q2xvc2VJY29uXT1cImZhbHNlXCIgW21vZGFsXT1cInRydWVcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaG9pY2VzICYmIGNob2ljZXMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY28tdHJhbnNhY3Rpb24tZGVmYXVsdC1wb3B1cC1yb3dcIiAqbmdGb3I9XCJsZXQgY2hvaWNlIG9mIHZpZXdNb2RlbHNcIj5cbiAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW21vZGVsXT1cImNob2ljZS5jaGVja2VkXCIgW2xhYmVsXT1cImNob2ljZS52YWx1ZVwiIChjbGljayk9XCJoYW5kbGVDaGVja2VkKCRldmVudCwgY2hvaWNlLnZhbHVlKVwiPjwvY28taW5wdXQtY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNob2ljZXMgfHwgY2hvaWNlcy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgPGNvLWlucHV0LXRleHRcbiAgICAgICAgICBbKG1vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgKGVudGVyKT1cImhhbmRsZU9rQ2xpY2soKVwiXG4gICAgICAgID48L2NvLWlucHV0LXRleHQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2NvLWRpYWxvZz5cbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz1cImNvLXRyYW5zYWN0aW9uLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwidGl0bGVcIj48L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XG4gICAgICA8ZGl2IGNsYXNzPVwiY28tdHJhbnNhY3Rpb24tZGlhbG9nLWZvb3Rlci1idXR0b24td3JhcHBlclwiPlxuICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInT0snIHwgbG9jYWxpemVcIiAoY2xpY2spPVwiaGFuZGxlT2tDbGljaygpXCI+PC9jby1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENoYXJhY3RlcmlzdGljQW5zd2VyQ29tcG9uZW50IGV4dGVuZHMgRGlhbG9nQmFzZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gXCJcIjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNob2ljZXModmFsdWU6IFRyYW5zYWN0aW9uTGluZUNoYXJhY3RlcmlzdGljQ2hvaWNlW10pIHtcbiAgICB0aGlzLl9jaG9pY2VzID0gdmFsdWU7XG4gICAgdGhpcy5fcHJlcGFyZVZpZXdNb2RlbHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hvaWNlcygpOiBUcmFuc2FjdGlvbkxpbmVDaGFyYWN0ZXJpc3RpY0Nob2ljZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fY2hvaWNlcztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWx1ZTogc3RyaW5nID0gXCJcIjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlYWRvbmx5IG9rQ2xpY2s6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1jaGFyYWN0ZXJpc3RpYy1hbnN3ZXInKVxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIHZpZXdNb2RlbHM6IHt2YWx1ZTogc3RyaW5nLCBjaGVja2VkOiBib29sZWFufVtdID0gW107XG5cbiAgcHJpdmF0ZSBfY2hvaWNlczogVHJhbnNhY3Rpb25MaW5lQ2hhcmFjdGVyaXN0aWNDaG9pY2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ2hlY2tlZChldmVudDogTW91c2VFdmVudCwgY2hvaWNlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMudmFsdWUgPSBjaG9pY2U7XG4gICAgdGhpcy52aWV3TW9kZWxzLmZvckVhY2godiA9PiB7XG4gICAgICB2LmNoZWNrZWQgPSB2LnZhbHVlID09PSBjaG9pY2U7XG4gICAgfSlcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVPa0NsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMub25DbG9zZShBcHBQb3B1cEJ1dHRvblR5cGUuT2ssIHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGFyZVZpZXdNb2RlbHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2Nob2ljZXMgJiYgdGhpcy5fY2hvaWNlcy5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX2Nob2ljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy52aWV3TW9kZWxzLnB1c2goe3ZhbHVlOiB0aGlzLl9jaG9pY2VzW2ldLnZhbHVlLCBjaGVja2VkOiBpID09PSAwfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=