@vendasta/billing 8.0.0 → 9.0.0

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 (574) hide show
  1. package/esm2020/lib/_generated/host.service.mjs +25 -0
  2. package/esm2020/lib/_generated/index.mjs +2 -0
  3. package/esm2020/lib/_internal/bank-reconciliation.api.service.mjs +46 -0
  4. package/esm2020/lib/_internal/billing.api.service.mjs +216 -0
  5. package/esm2020/lib/_internal/bundle.api.service.mjs +50 -0
  6. package/esm2020/lib/_internal/contract-document.api.service.mjs +45 -0
  7. package/esm2020/lib/_internal/contract.api.service.mjs +55 -0
  8. package/esm2020/lib/_internal/credit.api.service.mjs +45 -0
  9. package/esm2020/lib/_internal/discount.api.service.mjs +53 -0
  10. package/esm2020/lib/_internal/enums/applied-discount.enum.mjs +14 -0
  11. package/esm2020/lib/_internal/enums/card.enum.mjs +17 -0
  12. package/esm2020/lib/_internal/enums/contract.enum.mjs +14 -0
  13. package/esm2020/lib/_internal/enums/currency.enum.mjs +35 -0
  14. package/esm2020/lib/_internal/enums/frequency.enum.mjs +14 -0
  15. package/esm2020/lib/_internal/enums/index.mjs +31 -0
  16. package/esm2020/lib/_internal/enums/invoice.enum.mjs +18 -0
  17. package/esm2020/lib/_internal/enums/merchant-report.enum.mjs +13 -0
  18. package/{esm2015/lib/_internal/enums/merchant.enum.js → esm2020/lib/_internal/enums/merchant.enum.mjs} +1 -1
  19. package/esm2020/lib/_internal/enums/month.enum.mjs +23 -0
  20. package/esm2020/lib/_internal/enums/payment-card.enum.mjs +24 -0
  21. package/esm2020/lib/_internal/enums/payment-processor.enum.mjs +13 -0
  22. package/{esm2015/lib/_internal/enums/payment.enum.js → esm2020/lib/_internal/enums/payment.enum.mjs} +1 -1
  23. package/esm2020/lib/_internal/enums/payout.enum.mjs +22 -0
  24. package/esm2020/lib/_internal/enums/pricing-plan.enum.mjs +22 -0
  25. package/{esm2015/lib/_internal/enums/product-summary.enum.js → esm2020/lib/_internal/enums/product-summary.enum.mjs} +1 -1
  26. package/esm2020/lib/_internal/enums/product.enum.mjs +17 -0
  27. package/esm2020/lib/_internal/enums/purchase.enum.mjs +27 -0
  28. package/esm2020/lib/_internal/enums/recurring-invoice.enum.mjs +29 -0
  29. package/esm2020/lib/_internal/enums/refund.enum.mjs +25 -0
  30. package/esm2020/lib/_internal/enums/sales-credit-note.enum.mjs +14 -0
  31. package/{esm2015/lib/_internal/enums/sales-invoice.enum.js → esm2020/lib/_internal/enums/sales-invoice.enum.mjs} +1 -1
  32. package/esm2020/lib/_internal/enums/sort-direction.enum.mjs +12 -0
  33. package/{esm2015/lib/_internal/enums/subscribe-validation.enum.js → esm2020/lib/_internal/enums/subscribe-validation.enum.mjs} +1 -1
  34. package/esm2020/lib/_internal/enums/subscription.enum.mjs +12 -0
  35. package/esm2020/lib/_internal/index.mjs +33 -0
  36. package/esm2020/lib/_internal/interfaces/api.interface.mjs +2 -0
  37. package/esm2020/lib/_internal/interfaces/applied-bundle.interface.mjs +8 -0
  38. package/esm2020/lib/_internal/interfaces/applied-discount.interface.mjs +8 -0
  39. package/esm2020/lib/_internal/interfaces/applied-tax-rate.interface.mjs +8 -0
  40. package/esm2020/lib/_internal/interfaces/balance.interface.mjs +8 -0
  41. package/esm2020/lib/_internal/interfaces/billable-item.interface.mjs +2 -0
  42. package/esm2020/lib/_internal/interfaces/bundle.interface.mjs +2 -0
  43. package/esm2020/lib/_internal/interfaces/card.interface.mjs +8 -0
  44. package/esm2020/lib/_internal/interfaces/commitment.interface.mjs +8 -0
  45. package/esm2020/lib/_internal/interfaces/common.interface.mjs +8 -0
  46. package/esm2020/lib/_internal/interfaces/contract-document.interface.mjs +2 -0
  47. package/esm2020/lib/_internal/interfaces/contract.interface.mjs +2 -0
  48. package/esm2020/lib/_internal/interfaces/credit.interface.mjs +8 -0
  49. package/esm2020/lib/_internal/interfaces/currency.interface.mjs +8 -0
  50. package/esm2020/lib/_internal/interfaces/customer-summary.interface.mjs +8 -0
  51. package/esm2020/lib/_internal/interfaces/date-range.interface.mjs +8 -0
  52. package/esm2020/lib/_internal/interfaces/discount.interface.mjs +2 -0
  53. package/esm2020/lib/_internal/interfaces/external-account.interface.mjs +8 -0
  54. package/esm2020/lib/_internal/interfaces/field-mask.interface.mjs +8 -0
  55. package/esm2020/lib/_internal/interfaces/frequency.interface.mjs +8 -0
  56. package/esm2020/lib/_internal/interfaces/index.mjs +2 -0
  57. package/esm2020/lib/_internal/interfaces/invoice-template.interface.mjs +2 -0
  58. package/esm2020/lib/_internal/interfaces/invoice.interface.mjs +2 -0
  59. package/esm2020/lib/_internal/interfaces/merchant-report.interface.mjs +2 -0
  60. package/esm2020/lib/_internal/interfaces/merchant.interface.mjs +2 -0
  61. package/esm2020/lib/_internal/interfaces/metered-component.interface.mjs +8 -0
  62. package/esm2020/lib/_internal/interfaces/month.interface.mjs +8 -0
  63. package/esm2020/lib/_internal/interfaces/payment-card.interface.mjs +8 -0
  64. package/esm2020/lib/_internal/interfaces/payment-processor.interface.mjs +8 -0
  65. package/esm2020/lib/_internal/interfaces/payment.interface.mjs +2 -0
  66. package/esm2020/lib/_internal/interfaces/payout.interface.mjs +2 -0
  67. package/esm2020/lib/_internal/interfaces/pricing-plan-product.interface.mjs +2 -0
  68. package/esm2020/lib/_internal/interfaces/pricing-plan.interface.mjs +2 -0
  69. package/esm2020/lib/_internal/interfaces/product-pricing.interface.mjs +2 -0
  70. package/esm2020/lib/_internal/interfaces/product-summary.interface.mjs +2 -0
  71. package/esm2020/lib/_internal/interfaces/product.interface.mjs +2 -0
  72. package/esm2020/lib/_internal/interfaces/purchase.interface.mjs +2 -0
  73. package/esm2020/lib/_internal/interfaces/recurring-invoice.interface.mjs +2 -0
  74. package/esm2020/lib/_internal/interfaces/refund.interface.mjs +8 -0
  75. package/esm2020/lib/_internal/interfaces/retail-customer-configuration.interface.mjs +8 -0
  76. package/esm2020/lib/_internal/interfaces/sales-credit-note.interface.mjs +2 -0
  77. package/esm2020/lib/_internal/interfaces/sales-invoice.interface.mjs +2 -0
  78. package/esm2020/lib/_internal/interfaces/sort-direction.interface.mjs +8 -0
  79. package/esm2020/lib/_internal/interfaces/subscribe-validation.interface.mjs +8 -0
  80. package/esm2020/lib/_internal/interfaces/subscription.interface.mjs +2 -0
  81. package/esm2020/lib/_internal/interfaces/tax-rate.interface.mjs +2 -0
  82. package/esm2020/lib/_internal/invoice-template.api.service.mjs +85 -0
  83. package/esm2020/lib/_internal/invoice.api.service.mjs +116 -0
  84. package/esm2020/lib/_internal/merchant.api.service.mjs +159 -0
  85. package/esm2020/lib/_internal/objects/api.mjs +841 -0
  86. package/esm2020/lib/_internal/objects/applied-bundle.mjs +77 -0
  87. package/esm2020/lib/_internal/objects/applied-discount.mjs +46 -0
  88. package/esm2020/lib/_internal/objects/applied-tax-rate.mjs +39 -0
  89. package/esm2020/lib/_internal/objects/balance.mjs +45 -0
  90. package/esm2020/lib/_internal/objects/billable-item.mjs +562 -0
  91. package/esm2020/lib/_internal/objects/bundle.mjs +390 -0
  92. package/esm2020/lib/_internal/objects/card.mjs +7 -0
  93. package/esm2020/lib/_internal/objects/commitment.mjs +36 -0
  94. package/esm2020/lib/_internal/objects/common.mjs +56 -0
  95. package/esm2020/lib/_internal/objects/contract-document.mjs +141 -0
  96. package/esm2020/lib/_internal/objects/contract.mjs +474 -0
  97. package/esm2020/lib/_internal/objects/credit.mjs +114 -0
  98. package/esm2020/lib/_internal/objects/currency.mjs +7 -0
  99. package/esm2020/lib/_internal/objects/customer-summary.mjs +104 -0
  100. package/esm2020/lib/_internal/objects/date-range.mjs +36 -0
  101. package/esm2020/lib/_internal/objects/discount.mjs +299 -0
  102. package/esm2020/lib/_internal/objects/external-account.mjs +160 -0
  103. package/esm2020/lib/_internal/objects/field-mask.mjs +27 -0
  104. package/esm2020/lib/_internal/objects/frequency.mjs +7 -0
  105. package/esm2020/lib/_internal/objects/index.mjs +46 -0
  106. package/esm2020/lib/_internal/objects/invoice-template.mjs +707 -0
  107. package/esm2020/lib/_internal/objects/invoice.mjs +1117 -0
  108. package/esm2020/lib/_internal/objects/merchant-report.mjs +108 -0
  109. package/esm2020/lib/_internal/objects/merchant.mjs +991 -0
  110. package/esm2020/lib/_internal/objects/metered-component.mjs +97 -0
  111. package/esm2020/lib/_internal/objects/month.mjs +7 -0
  112. package/esm2020/lib/_internal/objects/payment-card.mjs +211 -0
  113. package/esm2020/lib/_internal/objects/payment-processor.mjs +7 -0
  114. package/esm2020/lib/_internal/objects/payment.mjs +1219 -0
  115. package/esm2020/lib/_internal/objects/payout.mjs +258 -0
  116. package/esm2020/lib/_internal/objects/pricing-plan-product.mjs +565 -0
  117. package/esm2020/lib/_internal/objects/pricing-plan.mjs +290 -0
  118. package/esm2020/lib/_internal/objects/product-pricing.mjs +107 -0
  119. package/esm2020/lib/_internal/objects/product-summary.mjs +538 -0
  120. package/esm2020/lib/_internal/objects/product.mjs +302 -0
  121. package/esm2020/lib/_internal/objects/purchase.mjs +524 -0
  122. package/esm2020/lib/_internal/objects/recurring-invoice.mjs +324 -0
  123. package/esm2020/lib/_internal/objects/refund.mjs +181 -0
  124. package/esm2020/lib/_internal/objects/retail-customer-configuration.mjs +159 -0
  125. package/esm2020/lib/_internal/objects/sales-credit-note.mjs +211 -0
  126. package/esm2020/lib/_internal/objects/sales-invoice.mjs +300 -0
  127. package/esm2020/lib/_internal/objects/sort-direction.mjs +7 -0
  128. package/esm2020/lib/_internal/objects/subscribe-validation.mjs +31 -0
  129. package/esm2020/lib/_internal/objects/subscription.mjs +555 -0
  130. package/esm2020/lib/_internal/objects/tax-rate.mjs +342 -0
  131. package/esm2020/lib/_internal/payment-method.api.service.mjs +49 -0
  132. package/esm2020/lib/_internal/payment.api.service.mjs +102 -0
  133. package/esm2020/lib/_internal/pricing.api.service.mjs +76 -0
  134. package/esm2020/lib/_internal/product-summary.api.service.mjs +46 -0
  135. package/esm2020/lib/_internal/product.api.service.mjs +47 -0
  136. package/esm2020/lib/_internal/purchase.api.service.mjs +59 -0
  137. package/esm2020/lib/_internal/recurring-invoice.api.service.mjs +60 -0
  138. package/esm2020/lib/_internal/refund.api.service.mjs +45 -0
  139. package/esm2020/lib/_internal/retail-customer-configuration.api.service.mjs +45 -0
  140. package/esm2020/lib/_internal/sales-credit-note.api.service.mjs +45 -0
  141. package/esm2020/lib/_internal/sales-invoice.api.service.mjs +50 -0
  142. package/esm2020/lib/_internal/tax.api.service.mjs +63 -0
  143. package/esm2020/lib/_internal/vendor.api.service.mjs +46 -0
  144. package/esm2020/lib/index.mjs +3 -0
  145. package/esm2020/public_api.mjs +2 -0
  146. package/esm2020/vendasta-billing.mjs +5 -0
  147. package/fesm2015/{vendasta-billing.js → vendasta-billing.mjs} +1094 -4972
  148. package/fesm2015/vendasta-billing.mjs.map +1 -0
  149. package/fesm2020/vendasta-billing.mjs +14368 -0
  150. package/fesm2020/vendasta-billing.mjs.map +1 -0
  151. package/lib/_generated/host.service.d.ts +5 -9
  152. package/lib/_internal/bank-reconciliation.api.service.d.ts +4 -0
  153. package/lib/_internal/billing.api.service.d.ts +4 -0
  154. package/lib/_internal/bundle.api.service.d.ts +4 -0
  155. package/lib/_internal/contract-document.api.service.d.ts +4 -0
  156. package/lib/_internal/contract.api.service.d.ts +4 -0
  157. package/lib/_internal/credit.api.service.d.ts +4 -0
  158. package/lib/_internal/discount.api.service.d.ts +4 -0
  159. package/lib/_internal/enums/index.d.ts +2 -0
  160. package/lib/_internal/enums/payment-processor.enum.d.ts +5 -0
  161. package/lib/_internal/enums/recurring-invoice.enum.d.ts +19 -0
  162. package/lib/_internal/index.d.ts +1 -0
  163. package/lib/_internal/interfaces/billable-item.interface.d.ts +1 -0
  164. package/lib/_internal/interfaces/index.d.ts +2 -0
  165. package/lib/_internal/interfaces/payment-processor.interface.d.ts +1 -0
  166. package/lib/_internal/interfaces/recurring-invoice.interface.d.ts +54 -0
  167. package/lib/_internal/invoice-template.api.service.d.ts +4 -0
  168. package/lib/_internal/invoice.api.service.d.ts +4 -0
  169. package/lib/_internal/merchant.api.service.d.ts +4 -0
  170. package/lib/_internal/objects/billable-item.d.ts +1 -0
  171. package/lib/_internal/objects/index.d.ts +2 -0
  172. package/lib/_internal/objects/payment-processor.d.ts +1 -0
  173. package/lib/_internal/objects/recurring-invoice.d.ts +83 -0
  174. package/lib/_internal/payment-method.api.service.d.ts +4 -0
  175. package/lib/_internal/payment.api.service.d.ts +4 -0
  176. package/lib/_internal/pricing.api.service.d.ts +4 -0
  177. package/lib/_internal/product-summary.api.service.d.ts +4 -0
  178. package/lib/_internal/product.api.service.d.ts +4 -0
  179. package/lib/_internal/purchase.api.service.d.ts +4 -0
  180. package/lib/_internal/recurring-invoice.api.service.d.ts +20 -0
  181. package/lib/_internal/refund.api.service.d.ts +4 -0
  182. package/lib/_internal/retail-customer-configuration.api.service.d.ts +4 -0
  183. package/lib/_internal/sales-credit-note.api.service.d.ts +4 -0
  184. package/lib/_internal/sales-invoice.api.service.d.ts +4 -0
  185. package/lib/_internal/tax.api.service.d.ts +4 -0
  186. package/lib/_internal/vendor.api.service.d.ts +4 -0
  187. package/lib/index.d.ts +2 -36
  188. package/package.json +26 -15
  189. package/src/README.md +1 -0
  190. package/vendasta-billing.d.ts +1 -0
  191. package/bundles/vendasta-billing.umd.js +0 -19163
  192. package/bundles/vendasta-billing.umd.js.map +0 -1
  193. package/bundles/vendasta-billing.umd.min.js +0 -16
  194. package/bundles/vendasta-billing.umd.min.js.map +0 -1
  195. package/esm2015/lib/_generated/host.service.js +0 -65
  196. package/esm2015/lib/_generated/index.js +0 -2
  197. package/esm2015/lib/_internal/bank-reconciliation.api.service.js +0 -47
  198. package/esm2015/lib/_internal/billing.api.service.js +0 -217
  199. package/esm2015/lib/_internal/bundle.api.service.js +0 -51
  200. package/esm2015/lib/_internal/contract-document.api.service.js +0 -46
  201. package/esm2015/lib/_internal/contract.api.service.js +0 -56
  202. package/esm2015/lib/_internal/credit.api.service.js +0 -46
  203. package/esm2015/lib/_internal/discount.api.service.js +0 -54
  204. package/esm2015/lib/_internal/enums/applied-discount.enum.js +0 -14
  205. package/esm2015/lib/_internal/enums/card.enum.js +0 -17
  206. package/esm2015/lib/_internal/enums/contract.enum.js +0 -14
  207. package/esm2015/lib/_internal/enums/currency.enum.js +0 -35
  208. package/esm2015/lib/_internal/enums/frequency.enum.js +0 -14
  209. package/esm2015/lib/_internal/enums/index.js +0 -29
  210. package/esm2015/lib/_internal/enums/invoice.enum.js +0 -18
  211. package/esm2015/lib/_internal/enums/merchant-report.enum.js +0 -13
  212. package/esm2015/lib/_internal/enums/month.enum.js +0 -23
  213. package/esm2015/lib/_internal/enums/payment-card.enum.js +0 -24
  214. package/esm2015/lib/_internal/enums/payout.enum.js +0 -22
  215. package/esm2015/lib/_internal/enums/pricing-plan.enum.js +0 -22
  216. package/esm2015/lib/_internal/enums/product.enum.js +0 -17
  217. package/esm2015/lib/_internal/enums/purchase.enum.js +0 -27
  218. package/esm2015/lib/_internal/enums/refund.enum.js +0 -25
  219. package/esm2015/lib/_internal/enums/sales-credit-note.enum.js +0 -14
  220. package/esm2015/lib/_internal/enums/sort-direction.enum.js +0 -12
  221. package/esm2015/lib/_internal/enums/subscription.enum.js +0 -12
  222. package/esm2015/lib/_internal/index.js +0 -32
  223. package/esm2015/lib/_internal/interfaces/api.interface.js +0 -2
  224. package/esm2015/lib/_internal/interfaces/applied-bundle.interface.js +0 -8
  225. package/esm2015/lib/_internal/interfaces/applied-discount.interface.js +0 -8
  226. package/esm2015/lib/_internal/interfaces/applied-tax-rate.interface.js +0 -8
  227. package/esm2015/lib/_internal/interfaces/balance.interface.js +0 -8
  228. package/esm2015/lib/_internal/interfaces/billable-item.interface.js +0 -2
  229. package/esm2015/lib/_internal/interfaces/bundle.interface.js +0 -2
  230. package/esm2015/lib/_internal/interfaces/card.interface.js +0 -8
  231. package/esm2015/lib/_internal/interfaces/commitment.interface.js +0 -8
  232. package/esm2015/lib/_internal/interfaces/common.interface.js +0 -8
  233. package/esm2015/lib/_internal/interfaces/contract-document.interface.js +0 -2
  234. package/esm2015/lib/_internal/interfaces/contract.interface.js +0 -2
  235. package/esm2015/lib/_internal/interfaces/credit.interface.js +0 -8
  236. package/esm2015/lib/_internal/interfaces/currency.interface.js +0 -8
  237. package/esm2015/lib/_internal/interfaces/customer-summary.interface.js +0 -8
  238. package/esm2015/lib/_internal/interfaces/date-range.interface.js +0 -8
  239. package/esm2015/lib/_internal/interfaces/discount.interface.js +0 -2
  240. package/esm2015/lib/_internal/interfaces/external-account.interface.js +0 -8
  241. package/esm2015/lib/_internal/interfaces/field-mask.interface.js +0 -8
  242. package/esm2015/lib/_internal/interfaces/frequency.interface.js +0 -8
  243. package/esm2015/lib/_internal/interfaces/index.js +0 -2
  244. package/esm2015/lib/_internal/interfaces/invoice-template.interface.js +0 -2
  245. package/esm2015/lib/_internal/interfaces/invoice.interface.js +0 -2
  246. package/esm2015/lib/_internal/interfaces/merchant-report.interface.js +0 -2
  247. package/esm2015/lib/_internal/interfaces/merchant.interface.js +0 -2
  248. package/esm2015/lib/_internal/interfaces/metered-component.interface.js +0 -8
  249. package/esm2015/lib/_internal/interfaces/month.interface.js +0 -8
  250. package/esm2015/lib/_internal/interfaces/payment-card.interface.js +0 -8
  251. package/esm2015/lib/_internal/interfaces/payment.interface.js +0 -2
  252. package/esm2015/lib/_internal/interfaces/payout.interface.js +0 -2
  253. package/esm2015/lib/_internal/interfaces/pricing-plan-product.interface.js +0 -2
  254. package/esm2015/lib/_internal/interfaces/pricing-plan.interface.js +0 -2
  255. package/esm2015/lib/_internal/interfaces/product-pricing.interface.js +0 -2
  256. package/esm2015/lib/_internal/interfaces/product-summary.interface.js +0 -2
  257. package/esm2015/lib/_internal/interfaces/product.interface.js +0 -2
  258. package/esm2015/lib/_internal/interfaces/purchase.interface.js +0 -2
  259. package/esm2015/lib/_internal/interfaces/refund.interface.js +0 -8
  260. package/esm2015/lib/_internal/interfaces/retail-customer-configuration.interface.js +0 -8
  261. package/esm2015/lib/_internal/interfaces/sales-credit-note.interface.js +0 -2
  262. package/esm2015/lib/_internal/interfaces/sales-invoice.interface.js +0 -2
  263. package/esm2015/lib/_internal/interfaces/sort-direction.interface.js +0 -8
  264. package/esm2015/lib/_internal/interfaces/subscribe-validation.interface.js +0 -8
  265. package/esm2015/lib/_internal/interfaces/subscription.interface.js +0 -2
  266. package/esm2015/lib/_internal/interfaces/tax-rate.interface.js +0 -2
  267. package/esm2015/lib/_internal/invoice-template.api.service.js +0 -86
  268. package/esm2015/lib/_internal/invoice.api.service.js +0 -117
  269. package/esm2015/lib/_internal/merchant.api.service.js +0 -160
  270. package/esm2015/lib/_internal/objects/api.js +0 -841
  271. package/esm2015/lib/_internal/objects/applied-bundle.js +0 -77
  272. package/esm2015/lib/_internal/objects/applied-discount.js +0 -46
  273. package/esm2015/lib/_internal/objects/applied-tax-rate.js +0 -39
  274. package/esm2015/lib/_internal/objects/balance.js +0 -45
  275. package/esm2015/lib/_internal/objects/billable-item.js +0 -556
  276. package/esm2015/lib/_internal/objects/bundle.js +0 -390
  277. package/esm2015/lib/_internal/objects/card.js +0 -7
  278. package/esm2015/lib/_internal/objects/commitment.js +0 -36
  279. package/esm2015/lib/_internal/objects/common.js +0 -56
  280. package/esm2015/lib/_internal/objects/contract-document.js +0 -141
  281. package/esm2015/lib/_internal/objects/contract.js +0 -474
  282. package/esm2015/lib/_internal/objects/credit.js +0 -114
  283. package/esm2015/lib/_internal/objects/currency.js +0 -7
  284. package/esm2015/lib/_internal/objects/customer-summary.js +0 -104
  285. package/esm2015/lib/_internal/objects/date-range.js +0 -36
  286. package/esm2015/lib/_internal/objects/discount.js +0 -299
  287. package/esm2015/lib/_internal/objects/external-account.js +0 -160
  288. package/esm2015/lib/_internal/objects/field-mask.js +0 -27
  289. package/esm2015/lib/_internal/objects/frequency.js +0 -7
  290. package/esm2015/lib/_internal/objects/index.js +0 -45
  291. package/esm2015/lib/_internal/objects/invoice-template.js +0 -707
  292. package/esm2015/lib/_internal/objects/invoice.js +0 -1117
  293. package/esm2015/lib/_internal/objects/merchant-report.js +0 -108
  294. package/esm2015/lib/_internal/objects/merchant.js +0 -991
  295. package/esm2015/lib/_internal/objects/metered-component.js +0 -97
  296. package/esm2015/lib/_internal/objects/month.js +0 -7
  297. package/esm2015/lib/_internal/objects/payment-card.js +0 -211
  298. package/esm2015/lib/_internal/objects/payment.js +0 -1219
  299. package/esm2015/lib/_internal/objects/payout.js +0 -258
  300. package/esm2015/lib/_internal/objects/pricing-plan-product.js +0 -565
  301. package/esm2015/lib/_internal/objects/pricing-plan.js +0 -290
  302. package/esm2015/lib/_internal/objects/product-pricing.js +0 -107
  303. package/esm2015/lib/_internal/objects/product-summary.js +0 -538
  304. package/esm2015/lib/_internal/objects/product.js +0 -302
  305. package/esm2015/lib/_internal/objects/purchase.js +0 -524
  306. package/esm2015/lib/_internal/objects/refund.js +0 -181
  307. package/esm2015/lib/_internal/objects/retail-customer-configuration.js +0 -159
  308. package/esm2015/lib/_internal/objects/sales-credit-note.js +0 -211
  309. package/esm2015/lib/_internal/objects/sales-invoice.js +0 -300
  310. package/esm2015/lib/_internal/objects/sort-direction.js +0 -7
  311. package/esm2015/lib/_internal/objects/subscribe-validation.js +0 -31
  312. package/esm2015/lib/_internal/objects/subscription.js +0 -555
  313. package/esm2015/lib/_internal/objects/tax-rate.js +0 -342
  314. package/esm2015/lib/_internal/payment-method.api.service.js +0 -50
  315. package/esm2015/lib/_internal/payment.api.service.js +0 -103
  316. package/esm2015/lib/_internal/pricing.api.service.js +0 -77
  317. package/esm2015/lib/_internal/product-summary.api.service.js +0 -47
  318. package/esm2015/lib/_internal/product.api.service.js +0 -48
  319. package/esm2015/lib/_internal/purchase.api.service.js +0 -60
  320. package/esm2015/lib/_internal/refund.api.service.js +0 -46
  321. package/esm2015/lib/_internal/retail-customer-configuration.api.service.js +0 -46
  322. package/esm2015/lib/_internal/sales-credit-note.api.service.js +0 -46
  323. package/esm2015/lib/_internal/sales-invoice.api.service.js +0 -51
  324. package/esm2015/lib/_internal/tax.api.service.js +0 -64
  325. package/esm2015/lib/_internal/vendor.api.service.js +0 -47
  326. package/esm2015/lib/applied_bundle/applied_bundle.js +0 -12
  327. package/esm2015/lib/applied_bundle/index.js +0 -2
  328. package/esm2015/lib/applied_discount/applied_discount.js +0 -48
  329. package/esm2015/lib/applied_discount/index.js +0 -2
  330. package/esm2015/lib/bank_account/bank-account.service.js +0 -38
  331. package/esm2015/lib/bank_account/bank_account.js +0 -13
  332. package/esm2015/lib/bank_account/index.js +0 -3
  333. package/esm2015/lib/bank_reconciliation/bank-reconciliation.service.js +0 -54
  334. package/esm2015/lib/bank_reconciliation/index.js +0 -3
  335. package/esm2015/lib/bank_reconciliation/payout.js +0 -53
  336. package/esm2015/lib/billable-item/billable-item.js +0 -39
  337. package/esm2015/lib/billable-item/billable-item.service.js +0 -31
  338. package/esm2015/lib/billable-item/index.js +0 -2
  339. package/esm2015/lib/billing-host.service.js +0 -41
  340. package/esm2015/lib/billing.service.js +0 -376
  341. package/esm2015/lib/bundle/bundle.js +0 -37
  342. package/esm2015/lib/bundle/bundle.service.js +0 -56
  343. package/esm2015/lib/bundle/index.js +0 -2
  344. package/esm2015/lib/contract/contract.js +0 -21
  345. package/esm2015/lib/contract/contract.service.js +0 -39
  346. package/esm2015/lib/contract/dimension.js +0 -21
  347. package/esm2015/lib/contract/index.js +0 -5
  348. package/esm2015/lib/contract/mutations.js +0 -11
  349. package/esm2015/lib/contract-document/contract-document.js +0 -9
  350. package/esm2015/lib/contract-document/contract-document.service.js +0 -68
  351. package/esm2015/lib/contract-document/index.js +0 -2
  352. package/esm2015/lib/contract-document/list-contract-document.js +0 -2
  353. package/esm2015/lib/core/index.js +0 -3
  354. package/esm2015/lib/core/paged-response.js +0 -8
  355. package/esm2015/lib/core/sort-direction.js +0 -6
  356. package/esm2015/lib/credit/credit.js +0 -8
  357. package/esm2015/lib/credit/credit.service.js +0 -33
  358. package/esm2015/lib/credit/index.js +0 -2
  359. package/esm2015/lib/customer_summary/customer-summary.js +0 -15
  360. package/esm2015/lib/discount/discount.js +0 -18
  361. package/esm2015/lib/discount/discount.service.js +0 -73
  362. package/esm2015/lib/discount/discount_type.js +0 -32
  363. package/esm2015/lib/discount/index.js +0 -3
  364. package/esm2015/lib/discount/list-discount.js +0 -2
  365. package/esm2015/lib/http-shared/error-handlers.js +0 -20
  366. package/esm2015/lib/index.js +0 -37
  367. package/esm2015/lib/invoice/index.js +0 -3
  368. package/esm2015/lib/invoice/invoice.js +0 -198
  369. package/esm2015/lib/invoice/invoice.service.js +0 -254
  370. package/esm2015/lib/invoice/list-invoice.js +0 -2
  371. package/esm2015/lib/invoice-template/index.js +0 -2
  372. package/esm2015/lib/invoice-template/invoice-template.js +0 -38
  373. package/esm2015/lib/invoice-template/invoice-template.service.js +0 -78
  374. package/esm2015/lib/merchant/balance.js +0 -2
  375. package/esm2015/lib/merchant/index.js +0 -5
  376. package/esm2015/lib/merchant/merchant.interface.js +0 -2
  377. package/esm2015/lib/merchant/merchant.js +0 -20
  378. package/esm2015/lib/merchant/merchant.service.js +0 -212
  379. package/esm2015/lib/merchant/payout-summary.js +0 -32
  380. package/esm2015/lib/merchant/retail-configuration.js +0 -57
  381. package/esm2015/lib/merchant-report/index.js +0 -2
  382. package/esm2015/lib/merchant-report/merchant-report-status.js +0 -2
  383. package/esm2015/lib/merchant-report/merchant-report.interfaces.js +0 -2
  384. package/esm2015/lib/merchant-report/merchant-report.js +0 -2
  385. package/esm2015/lib/merchant-report/merchant-report.service.js +0 -38
  386. package/esm2015/lib/payment/dispute.js +0 -92
  387. package/esm2015/lib/payment/index.js +0 -10
  388. package/esm2015/lib/payment/payment-allocation-type.js +0 -18
  389. package/esm2015/lib/payment/payment-source.js +0 -18
  390. package/esm2015/lib/payment/payment-status.js +0 -17
  391. package/esm2015/lib/payment/payment.js +0 -292
  392. package/esm2015/lib/payment/payment.service.js +0 -138
  393. package/esm2015/lib/payment/retail-payment.js +0 -70
  394. package/esm2015/lib/payment/retail-status.js +0 -50
  395. package/esm2015/lib/payment-card/index.js +0 -3
  396. package/esm2015/lib/payment-card/payment-card.js +0 -60
  397. package/esm2015/lib/payment-card/payment-card.service.js +0 -45
  398. package/esm2015/lib/payment-method/index.js +0 -2
  399. package/esm2015/lib/payment-method/payment-method.service.js +0 -43
  400. package/esm2015/lib/pricing/billing-strategy.js +0 -39
  401. package/esm2015/lib/pricing/commitment.js +0 -7
  402. package/esm2015/lib/pricing/currency.js +0 -86
  403. package/esm2015/lib/pricing/frequency.js +0 -42
  404. package/esm2015/lib/pricing/index.js +0 -12
  405. package/esm2015/lib/pricing/list-pricing-plan-product-filter.js +0 -2
  406. package/esm2015/lib/pricing/pricing-plan-product.js +0 -53
  407. package/esm2015/lib/pricing/pricing-plan.js +0 -14
  408. package/esm2015/lib/pricing/pricing-plan.service.js +0 -287
  409. package/esm2015/lib/pricing/product-pricing-rules.js +0 -10
  410. package/esm2015/lib/pricing/product-pricing-type.js +0 -31
  411. package/esm2015/lib/pricing/product-pricing.js +0 -44
  412. package/esm2015/lib/pricing/wholesale-pricing.service.js +0 -61
  413. package/esm2015/lib/product/index.js +0 -3
  414. package/esm2015/lib/product/list-products.js +0 -30
  415. package/esm2015/lib/product/product.js +0 -10
  416. package/esm2015/lib/product-summary/index.js +0 -3
  417. package/esm2015/lib/product-summary/product-summary.service.js +0 -42
  418. package/esm2015/lib/product-summary/subscription-retention.js +0 -19
  419. package/esm2015/lib/purchase/index.js +0 -4
  420. package/esm2015/lib/purchase/list-purchases.js +0 -17
  421. package/esm2015/lib/purchase/purchase.js +0 -79
  422. package/esm2015/lib/purchase/purchase.service.js +0 -31
  423. package/esm2015/lib/purchase/purchase_status.js +0 -26
  424. package/esm2015/lib/refund/index.js +0 -3
  425. package/esm2015/lib/refund/refund.js +0 -81
  426. package/esm2015/lib/refund/refund.service.js +0 -53
  427. package/esm2015/lib/retail-customer-configuration/index.js +0 -3
  428. package/esm2015/lib/retail-customer-configuration/retail-customer-configuration.js +0 -44
  429. package/esm2015/lib/retail-customer-configuration/retail-customer-configuration.service.js +0 -39
  430. package/esm2015/lib/revenue/index.js +0 -2
  431. package/esm2015/lib/revenue/revenue.interfaces.js +0 -2
  432. package/esm2015/lib/revenue/revenue.service.js +0 -34
  433. package/esm2015/lib/sales-credit-note/index.js +0 -3
  434. package/esm2015/lib/sales-credit-note/sales-credit-note.js +0 -53
  435. package/esm2015/lib/sales-credit-note/sales-credit-note.service.js +0 -72
  436. package/esm2015/lib/sales-invoice/index.js +0 -3
  437. package/esm2015/lib/sales-invoice/sales-invoice.js +0 -87
  438. package/esm2015/lib/sales-invoice/sales-invoice.service.js +0 -77
  439. package/esm2015/lib/sku.js +0 -4
  440. package/esm2015/lib/stripe-file/file.js +0 -2
  441. package/esm2015/lib/stripe-file/index.js +0 -3
  442. package/esm2015/lib/stripe-file/purpose.js +0 -13
  443. package/esm2015/lib/stripe-file/stripe-file.service.js +0 -35
  444. package/esm2015/lib/subscription/can-create-subscriptions-item.js +0 -2
  445. package/esm2015/lib/subscription/index.js +0 -2
  446. package/esm2015/lib/tax-rate/index.js +0 -2
  447. package/esm2015/lib/tax-rate/tax-rate.js +0 -13
  448. package/esm2015/lib/tax-rate/tax-rate.service.js +0 -86
  449. package/esm2015/public_api.js +0 -2
  450. package/esm2015/vendasta-billing.js +0 -5
  451. package/fesm2015/vendasta-billing.js.map +0 -1
  452. package/lib/applied_bundle/applied_bundle.d.ts +0 -15
  453. package/lib/applied_bundle/index.d.ts +0 -1
  454. package/lib/applied_discount/applied_discount.d.ts +0 -26
  455. package/lib/applied_discount/index.d.ts +0 -1
  456. package/lib/bank_account/bank-account.service.d.ts +0 -11
  457. package/lib/bank_account/bank_account.d.ts +0 -12
  458. package/lib/bank_account/index.d.ts +0 -3
  459. package/lib/bank_reconciliation/bank-reconciliation.service.d.ts +0 -10
  460. package/lib/bank_reconciliation/index.d.ts +0 -2
  461. package/lib/bank_reconciliation/payout.d.ts +0 -37
  462. package/lib/billable-item/billable-item.d.ts +0 -39
  463. package/lib/billable-item/billable-item.service.d.ts +0 -10
  464. package/lib/billable-item/index.d.ts +0 -2
  465. package/lib/billing-host.service.d.ts +0 -11
  466. package/lib/billing.service.d.ts +0 -88
  467. package/lib/bundle/bundle.d.ts +0 -26
  468. package/lib/bundle/bundle.service.d.ts +0 -14
  469. package/lib/bundle/index.d.ts +0 -2
  470. package/lib/contract/contract.d.ts +0 -20
  471. package/lib/contract/contract.service.d.ts +0 -23
  472. package/lib/contract/dimension.d.ts +0 -11
  473. package/lib/contract/index.d.ts +0 -5
  474. package/lib/contract/mutations.d.ts +0 -11
  475. package/lib/contract-document/contract-document.d.ts +0 -8
  476. package/lib/contract-document/contract-document.service.d.ts +0 -17
  477. package/lib/contract-document/index.d.ts +0 -3
  478. package/lib/contract-document/list-contract-document.d.ts +0 -3
  479. package/lib/core/index.d.ts +0 -2
  480. package/lib/core/paged-response.d.ts +0 -6
  481. package/lib/core/sort-direction.d.ts +0 -4
  482. package/lib/credit/credit.d.ts +0 -7
  483. package/lib/credit/credit.service.d.ts +0 -9
  484. package/lib/credit/index.d.ts +0 -2
  485. package/lib/customer_summary/customer-summary.d.ts +0 -9
  486. package/lib/discount/discount.d.ts +0 -17
  487. package/lib/discount/discount.service.d.ts +0 -15
  488. package/lib/discount/discount_type.d.ts +0 -9
  489. package/lib/discount/index.d.ts +0 -4
  490. package/lib/discount/list-discount.d.ts +0 -5
  491. package/lib/http-shared/error-handlers.d.ts +0 -4
  492. package/lib/invoice/index.d.ts +0 -3
  493. package/lib/invoice/invoice.d.ts +0 -86
  494. package/lib/invoice/invoice.service.d.ts +0 -40
  495. package/lib/invoice/list-invoice.d.ts +0 -15
  496. package/lib/invoice-template/index.d.ts +0 -2
  497. package/lib/invoice-template/invoice-template.d.ts +0 -35
  498. package/lib/invoice-template/invoice-template.service.d.ts +0 -14
  499. package/lib/merchant/balance.d.ts +0 -5
  500. package/lib/merchant/index.d.ts +0 -7
  501. package/lib/merchant/merchant.d.ts +0 -19
  502. package/lib/merchant/merchant.interface.d.ts +0 -3
  503. package/lib/merchant/merchant.service.d.ts +0 -59
  504. package/lib/merchant/payout-summary.d.ts +0 -19
  505. package/lib/merchant/retail-configuration.d.ts +0 -24
  506. package/lib/merchant-report/index.d.ts +0 -4
  507. package/lib/merchant-report/merchant-report-status.d.ts +0 -1
  508. package/lib/merchant-report/merchant-report.d.ts +0 -8
  509. package/lib/merchant-report/merchant-report.interfaces.d.ts +0 -5
  510. package/lib/merchant-report/merchant-report.service.d.ts +0 -12
  511. package/lib/payment/dispute.d.ts +0 -61
  512. package/lib/payment/index.d.ts +0 -9
  513. package/lib/payment/payment-allocation-type.d.ts +0 -7
  514. package/lib/payment/payment-source.d.ts +0 -7
  515. package/lib/payment/payment-status.d.ts +0 -7
  516. package/lib/payment/payment.d.ts +0 -42
  517. package/lib/payment/payment.service.d.ts +0 -24
  518. package/lib/payment/retail-payment.d.ts +0 -33
  519. package/lib/payment/retail-status.d.ts +0 -24
  520. package/lib/payment-card/index.d.ts +0 -2
  521. package/lib/payment-card/payment-card.d.ts +0 -41
  522. package/lib/payment-card/payment-card.service.d.ts +0 -13
  523. package/lib/payment-method/index.d.ts +0 -1
  524. package/lib/payment-method/payment-method.service.d.ts +0 -10
  525. package/lib/pricing/billing-strategy.d.ts +0 -11
  526. package/lib/pricing/commitment.d.ts +0 -6
  527. package/lib/pricing/currency.d.ts +0 -29
  528. package/lib/pricing/frequency.d.ts +0 -10
  529. package/lib/pricing/index.d.ts +0 -11
  530. package/lib/pricing/list-pricing-plan-product-filter.d.ts +0 -4
  531. package/lib/pricing/pricing-plan-product.d.ts +0 -34
  532. package/lib/pricing/pricing-plan.d.ts +0 -13
  533. package/lib/pricing/pricing-plan.service.d.ts +0 -17
  534. package/lib/pricing/product-pricing-rules.d.ts +0 -7
  535. package/lib/pricing/product-pricing-type.d.ts +0 -9
  536. package/lib/pricing/product-pricing.d.ts +0 -37
  537. package/lib/pricing/wholesale-pricing.service.d.ts +0 -19
  538. package/lib/product/index.d.ts +0 -2
  539. package/lib/product/list-products.d.ts +0 -16
  540. package/lib/product/product.d.ts +0 -9
  541. package/lib/product-summary/index.d.ts +0 -2
  542. package/lib/product-summary/product-summary.service.d.ts +0 -10
  543. package/lib/product-summary/subscription-retention.d.ts +0 -20
  544. package/lib/purchase/index.d.ts +0 -4
  545. package/lib/purchase/list-purchases.d.ts +0 -27
  546. package/lib/purchase/purchase.d.ts +0 -56
  547. package/lib/purchase/purchase.service.d.ts +0 -10
  548. package/lib/purchase/purchase_status.d.ts +0 -10
  549. package/lib/refund/index.d.ts +0 -2
  550. package/lib/refund/refund.d.ts +0 -36
  551. package/lib/refund/refund.service.d.ts +0 -11
  552. package/lib/retail-customer-configuration/index.d.ts +0 -2
  553. package/lib/retail-customer-configuration/retail-customer-configuration.d.ts +0 -20
  554. package/lib/retail-customer-configuration/retail-customer-configuration.service.d.ts +0 -9
  555. package/lib/revenue/index.d.ts +0 -2
  556. package/lib/revenue/revenue.interfaces.d.ts +0 -3
  557. package/lib/revenue/revenue.service.d.ts +0 -11
  558. package/lib/sales-credit-note/index.d.ts +0 -2
  559. package/lib/sales-credit-note/sales-credit-note.d.ts +0 -30
  560. package/lib/sales-credit-note/sales-credit-note.service.d.ts +0 -16
  561. package/lib/sales-invoice/index.d.ts +0 -2
  562. package/lib/sales-invoice/sales-invoice.d.ts +0 -42
  563. package/lib/sales-invoice/sales-invoice.service.d.ts +0 -16
  564. package/lib/sku.d.ts +0 -3
  565. package/lib/stripe-file/file.d.ts +0 -6
  566. package/lib/stripe-file/index.d.ts +0 -3
  567. package/lib/stripe-file/purpose.d.ts +0 -11
  568. package/lib/stripe-file/stripe-file.service.d.ts +0 -12
  569. package/lib/subscription/can-create-subscriptions-item.d.ts +0 -6
  570. package/lib/subscription/index.d.ts +0 -1
  571. package/lib/tax-rate/index.d.ts +0 -2
  572. package/lib/tax-rate/tax-rate.d.ts +0 -20
  573. package/lib/tax-rate/tax-rate.service.d.ts +0 -15
  574. package/vendasta-billing.metadata.json +0 -1
@@ -0,0 +1,342 @@
1
+ import { PagedRequestOptions, PagedResponseMetadata } from './common';
2
+ export function enumStringToValue(enumRef, value) {
3
+ if (typeof value === 'number') {
4
+ return value;
5
+ }
6
+ return enumRef[value];
7
+ }
8
+ export class ArchiveTaxRequest {
9
+ constructor(kwargs) {
10
+ if (!kwargs) {
11
+ return;
12
+ }
13
+ Object.assign(this, kwargs);
14
+ }
15
+ static fromProto(proto) {
16
+ let m = new ArchiveTaxRequest();
17
+ m = Object.assign(m, proto);
18
+ return m;
19
+ }
20
+ toApiJson() {
21
+ const toReturn = {};
22
+ if (typeof this.merchantId !== 'undefined') {
23
+ toReturn['merchantId'] = this.merchantId;
24
+ }
25
+ if (typeof this.id !== 'undefined') {
26
+ toReturn['id'] = this.id;
27
+ }
28
+ return toReturn;
29
+ }
30
+ }
31
+ export class CalculateTaxRequest {
32
+ constructor(kwargs) {
33
+ if (!kwargs) {
34
+ return;
35
+ }
36
+ Object.assign(this, kwargs);
37
+ }
38
+ static fromProto(proto) {
39
+ let m = new CalculateTaxRequest();
40
+ m = Object.assign(m, proto);
41
+ if (proto.amount) {
42
+ m.amount = parseInt(proto.amount, 10);
43
+ }
44
+ return m;
45
+ }
46
+ toApiJson() {
47
+ const toReturn = {};
48
+ if (typeof this.merchantId !== 'undefined') {
49
+ toReturn['merchantId'] = this.merchantId;
50
+ }
51
+ if (typeof this.customerId !== 'undefined') {
52
+ toReturn['customerId'] = this.customerId;
53
+ }
54
+ if (typeof this.amount !== 'undefined') {
55
+ toReturn['amount'] = this.amount;
56
+ }
57
+ return toReturn;
58
+ }
59
+ }
60
+ export class CalculateTaxResponse {
61
+ constructor(kwargs) {
62
+ if (!kwargs) {
63
+ return;
64
+ }
65
+ Object.assign(this, kwargs);
66
+ }
67
+ static fromProto(proto) {
68
+ let m = new CalculateTaxResponse();
69
+ m = Object.assign(m, proto);
70
+ if (proto.taxableAmount) {
71
+ m.taxableAmount = parseInt(proto.taxableAmount, 10);
72
+ }
73
+ if (proto.taxRates) {
74
+ m.taxRates = proto.taxRates.map(TaxRate.fromProto);
75
+ }
76
+ return m;
77
+ }
78
+ toApiJson() {
79
+ const toReturn = {};
80
+ if (typeof this.taxableAmount !== 'undefined') {
81
+ toReturn['taxableAmount'] = this.taxableAmount;
82
+ }
83
+ if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {
84
+ toReturn['taxRates'] = 'toApiJson' in this.taxRates ? this.taxRates.toApiJson() : this.taxRates;
85
+ }
86
+ return toReturn;
87
+ }
88
+ }
89
+ export class CreateTaxRequest {
90
+ constructor(kwargs) {
91
+ if (!kwargs) {
92
+ return;
93
+ }
94
+ Object.assign(this, kwargs);
95
+ }
96
+ static fromProto(proto) {
97
+ let m = new CreateTaxRequest();
98
+ m = Object.assign(m, proto);
99
+ return m;
100
+ }
101
+ toApiJson() {
102
+ const toReturn = {};
103
+ if (typeof this.merchantId !== 'undefined') {
104
+ toReturn['merchantId'] = this.merchantId;
105
+ }
106
+ if (typeof this.countryCode !== 'undefined') {
107
+ toReturn['countryCode'] = this.countryCode;
108
+ }
109
+ if (typeof this.stateCode !== 'undefined') {
110
+ toReturn['stateCode'] = this.stateCode;
111
+ }
112
+ if (typeof this.name !== 'undefined') {
113
+ toReturn['name'] = this.name;
114
+ }
115
+ if (typeof this.description !== 'undefined') {
116
+ toReturn['description'] = this.description;
117
+ }
118
+ if (typeof this.percentage !== 'undefined') {
119
+ toReturn['percentage'] = this.percentage;
120
+ }
121
+ if (typeof this.accountingSystemId !== 'undefined') {
122
+ toReturn['accountingSystemId'] = this.accountingSystemId;
123
+ }
124
+ return toReturn;
125
+ }
126
+ }
127
+ export class ListTaxRequestFilters {
128
+ constructor(kwargs) {
129
+ if (!kwargs) {
130
+ return;
131
+ }
132
+ Object.assign(this, kwargs);
133
+ }
134
+ static fromProto(proto) {
135
+ let m = new ListTaxRequestFilters();
136
+ m = Object.assign(m, proto);
137
+ return m;
138
+ }
139
+ toApiJson() {
140
+ const toReturn = {};
141
+ if (typeof this.merchantId !== 'undefined') {
142
+ toReturn['merchantId'] = this.merchantId;
143
+ }
144
+ if (typeof this.includeArchived !== 'undefined') {
145
+ toReturn['includeArchived'] = this.includeArchived;
146
+ }
147
+ return toReturn;
148
+ }
149
+ }
150
+ export class GetMultiTaxRequest {
151
+ constructor(kwargs) {
152
+ if (!kwargs) {
153
+ return;
154
+ }
155
+ Object.assign(this, kwargs);
156
+ }
157
+ static fromProto(proto) {
158
+ let m = new GetMultiTaxRequest();
159
+ m = Object.assign(m, proto);
160
+ return m;
161
+ }
162
+ toApiJson() {
163
+ const toReturn = {};
164
+ if (typeof this.merchantId !== 'undefined') {
165
+ toReturn['merchantId'] = this.merchantId;
166
+ }
167
+ if (typeof this.ids !== 'undefined') {
168
+ toReturn['ids'] = this.ids;
169
+ }
170
+ return toReturn;
171
+ }
172
+ }
173
+ export class GetMultiTaxResponse {
174
+ constructor(kwargs) {
175
+ if (!kwargs) {
176
+ return;
177
+ }
178
+ Object.assign(this, kwargs);
179
+ }
180
+ static fromProto(proto) {
181
+ let m = new GetMultiTaxResponse();
182
+ m = Object.assign(m, proto);
183
+ if (proto.taxRates) {
184
+ m.taxRates = proto.taxRates.map(TaxRate.fromProto);
185
+ }
186
+ return m;
187
+ }
188
+ toApiJson() {
189
+ const toReturn = {};
190
+ if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {
191
+ toReturn['taxRates'] = 'toApiJson' in this.taxRates ? this.taxRates.toApiJson() : this.taxRates;
192
+ }
193
+ return toReturn;
194
+ }
195
+ }
196
+ export class ListTaxRequest {
197
+ constructor(kwargs) {
198
+ if (!kwargs) {
199
+ return;
200
+ }
201
+ Object.assign(this, kwargs);
202
+ }
203
+ static fromProto(proto) {
204
+ let m = new ListTaxRequest();
205
+ m = Object.assign(m, proto);
206
+ if (proto.filters) {
207
+ m.filters = ListTaxRequestFilters.fromProto(proto.filters);
208
+ }
209
+ if (proto.pagingOptions) {
210
+ m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);
211
+ }
212
+ return m;
213
+ }
214
+ toApiJson() {
215
+ const toReturn = {};
216
+ if (typeof this.filters !== 'undefined' && this.filters !== null) {
217
+ toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;
218
+ }
219
+ if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {
220
+ toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;
221
+ }
222
+ return toReturn;
223
+ }
224
+ }
225
+ export class ListTaxResponse {
226
+ constructor(kwargs) {
227
+ if (!kwargs) {
228
+ return;
229
+ }
230
+ Object.assign(this, kwargs);
231
+ }
232
+ static fromProto(proto) {
233
+ let m = new ListTaxResponse();
234
+ m = Object.assign(m, proto);
235
+ if (proto.taxRates) {
236
+ m.taxRates = proto.taxRates.map(TaxRate.fromProto);
237
+ }
238
+ if (proto.pagingMetadata) {
239
+ m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);
240
+ }
241
+ return m;
242
+ }
243
+ toApiJson() {
244
+ const toReturn = {};
245
+ if (typeof this.taxRates !== 'undefined' && this.taxRates !== null) {
246
+ toReturn['taxRates'] = 'toApiJson' in this.taxRates ? this.taxRates.toApiJson() : this.taxRates;
247
+ }
248
+ if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {
249
+ toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;
250
+ }
251
+ return toReturn;
252
+ }
253
+ }
254
+ export class TaxRate {
255
+ constructor(kwargs) {
256
+ if (!kwargs) {
257
+ return;
258
+ }
259
+ Object.assign(this, kwargs);
260
+ }
261
+ static fromProto(proto) {
262
+ let m = new TaxRate();
263
+ m = Object.assign(m, proto);
264
+ if (proto.archived) {
265
+ m.archived = new Date(proto.archived);
266
+ }
267
+ return m;
268
+ }
269
+ toApiJson() {
270
+ const toReturn = {};
271
+ if (typeof this.id !== 'undefined') {
272
+ toReturn['id'] = this.id;
273
+ }
274
+ if (typeof this.merchantId !== 'undefined') {
275
+ toReturn['merchantId'] = this.merchantId;
276
+ }
277
+ if (typeof this.countryCode !== 'undefined') {
278
+ toReturn['countryCode'] = this.countryCode;
279
+ }
280
+ if (typeof this.stateCode !== 'undefined') {
281
+ toReturn['stateCode'] = this.stateCode;
282
+ }
283
+ if (typeof this.name !== 'undefined') {
284
+ toReturn['name'] = this.name;
285
+ }
286
+ if (typeof this.description !== 'undefined') {
287
+ toReturn['description'] = this.description;
288
+ }
289
+ if (typeof this.percentage !== 'undefined') {
290
+ toReturn['percentage'] = this.percentage;
291
+ }
292
+ if (typeof this.accountingSystemId !== 'undefined') {
293
+ toReturn['accountingSystemId'] = this.accountingSystemId;
294
+ }
295
+ if (typeof this.archived !== 'undefined' && this.archived !== null) {
296
+ toReturn['archived'] = 'toApiJson' in this.archived ? this.archived.toApiJson() : this.archived;
297
+ }
298
+ return toReturn;
299
+ }
300
+ }
301
+ export class UpdateTaxRequest {
302
+ constructor(kwargs) {
303
+ if (!kwargs) {
304
+ return;
305
+ }
306
+ Object.assign(this, kwargs);
307
+ }
308
+ static fromProto(proto) {
309
+ let m = new UpdateTaxRequest();
310
+ m = Object.assign(m, proto);
311
+ return m;
312
+ }
313
+ toApiJson() {
314
+ const toReturn = {};
315
+ if (typeof this.merchantId !== 'undefined') {
316
+ toReturn['merchantId'] = this.merchantId;
317
+ }
318
+ if (typeof this.id !== 'undefined') {
319
+ toReturn['id'] = this.id;
320
+ }
321
+ if (typeof this.countryCode !== 'undefined') {
322
+ toReturn['countryCode'] = this.countryCode;
323
+ }
324
+ if (typeof this.stateCode !== 'undefined') {
325
+ toReturn['stateCode'] = this.stateCode;
326
+ }
327
+ if (typeof this.name !== 'undefined') {
328
+ toReturn['name'] = this.name;
329
+ }
330
+ if (typeof this.description !== 'undefined') {
331
+ toReturn['description'] = this.description;
332
+ }
333
+ if (typeof this.percentage !== 'undefined') {
334
+ toReturn['percentage'] = this.percentage;
335
+ }
336
+ if (typeof this.accountingSystemId !== 'undefined') {
337
+ toReturn['accountingSystemId'] = this.accountingSystemId;
338
+ }
339
+ return toReturn;
340
+ }
341
+ }
342
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL3RheC1yYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUd0RSxNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBVTFCLFlBQVksTUFBcUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFYRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFTRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FBQztRQUN2RixJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FB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QVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQUM7UUFDcEYsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7U0FBQztRQUNyRSxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUFDO1FBQzFGLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQUM7UUFDdkYsSUFBSSxPQUFPLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7U0FBQztRQUMvRyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQYWdlZFJlcXVlc3RPcHRpb25zLCBQYWdlZFJlc3BvbnNlTWV0YWRhdGEgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1TdHJpbmdUb1ZhbHVlPEU+KGVudW1SZWY6IGFueSwgdmFsdWU6IHN0cmluZyk6IEUge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZW51bVJlZlt2YWx1ZV07XG59XG5cbmV4cG9ydCBjbGFzcyBBcmNoaXZlVGF4UmVxdWVzdCBpbXBsZW1lbnRzIGkuQXJjaGl2ZVRheFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG1lcmNoYW50SWQ6IHN0cmluZztcbiAgICBpZDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQXJjaGl2ZVRheFJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBBcmNoaXZlVGF4UmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXJjaGl2ZVRheFJlcXVlc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZXJjaGFudElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtZXJjaGFudElkJ10gPSB0aGlzLm1lcmNoYW50SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZVRheFJlcXVlc3QgaW1wbGVtZW50cyBpLkNhbGN1bGF0ZVRheFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG1lcmNoYW50SWQ6IHN0cmluZztcbiAgICBjdXN0b21lcklkOiBzdHJpbmc7XG4gICAgYW1vdW50OiBudW1iZXI7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDYWxjdWxhdGVUYXhSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ2FsY3VsYXRlVGF4UmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5hbW91bnQpIHttLmFtb3VudCA9IHBhcnNlSW50KHByb3RvLmFtb3VudCwgMTApO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DYWxjdWxhdGVUYXhSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVyY2hhbnRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVyY2hhbnRJZCddID0gdGhpcy5tZXJjaGFudElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmN1c3RvbWVySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2N1c3RvbWVySWQnXSA9IHRoaXMuY3VzdG9tZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hbW91bnQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Ftb3VudCddID0gdGhpcy5hbW91bnQ7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlVGF4UmVzcG9uc2UgaW1wbGVtZW50cyBpLkNhbGN1bGF0ZVRheFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB0YXhhYmxlQW1vdW50OiBudW1iZXI7XG4gICAgdGF4UmF0ZXM6IFRheFJhdGVbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENhbGN1bGF0ZVRheFJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ2FsY3VsYXRlVGF4UmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udGF4YWJsZUFtb3VudCkge20udGF4YWJsZUFtb3VudCA9IHBhcnNlSW50KHByb3RvLnRheGFibGVBbW91bnQsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by50YXhSYXRlcykge20udGF4UmF0ZXMgPSBwcm90by50YXhSYXRlcy5tYXAoVGF4UmF0ZS5mcm9tUHJvdG8pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DYWxjdWxhdGVUYXhSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRheGFibGVBbW91bnQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RheGFibGVBbW91bnQnXSA9IHRoaXMudGF4YWJsZUFtb3VudDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50YXhSYXRlcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50YXhSYXRlcyAhPT0gbnVsbCkge3RvUmV0dXJuWyd0YXhSYXRlcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50YXhSYXRlcyA/ICh0aGlzLnRheFJhdGVzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRheFJhdGVzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENyZWF0ZVRheFJlcXVlc3QgaW1wbGVtZW50cyBpLkNyZWF0ZVRheFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG1lcmNoYW50SWQ6IHN0cmluZztcbiAgICBjb3VudHJ5Q29kZTogc3RyaW5nO1xuICAgIHN0YXRlQ29kZTogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHBlcmNlbnRhZ2U6IG51bWJlcjtcbiAgICBhY2NvdW50aW5nU3lzdGVtSWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENyZWF0ZVRheFJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBDcmVhdGVUYXhSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DcmVhdGVUYXhSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVyY2hhbnRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVyY2hhbnRJZCddID0gdGhpcy5tZXJjaGFudElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvdW50cnlDb2RlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb3VudHJ5Q29kZSddID0gdGhpcy5jb3VudHJ5Q29kZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdGF0ZUNvZGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N0YXRlQ29kZSddID0gdGhpcy5zdGF0ZUNvZGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbmFtZSddID0gdGhpcy5uYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlc2NyaXB0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkZXNjcmlwdGlvbiddID0gdGhpcy5kZXNjcmlwdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wZXJjZW50YWdlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwZXJjZW50YWdlJ10gPSB0aGlzLnBlcmNlbnRhZ2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWNjb3VudGluZ1N5c3RlbUlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhY2NvdW50aW5nU3lzdGVtSWQnXSA9IHRoaXMuYWNjb3VudGluZ1N5c3RlbUlkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIExpc3RUYXhSZXF1ZXN0RmlsdGVycyBpbXBsZW1lbnRzIGkuTGlzdFRheFJlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlIHtcbiAgICBtZXJjaGFudElkOiBzdHJpbmc7XG4gICAgaW5jbHVkZUFyY2hpdmVkOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTGlzdFRheFJlcXVlc3RGaWx0ZXJzIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdFRheFJlcXVlc3RGaWx0ZXJzKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5MaXN0VGF4UmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZXJjaGFudElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtZXJjaGFudElkJ10gPSB0aGlzLm1lcmNoYW50SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW5jbHVkZUFyY2hpdmVkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpbmNsdWRlQXJjaGl2ZWQnXSA9IHRoaXMuaW5jbHVkZUFyY2hpdmVkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdldE11bHRpVGF4UmVxdWVzdCBpbXBsZW1lbnRzIGkuR2V0TXVsdGlUYXhSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXJjaGFudElkOiBzdHJpbmc7XG4gICAgaWRzOiBzdHJpbmdbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEdldE11bHRpVGF4UmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IEdldE11bHRpVGF4UmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0TXVsdGlUYXhSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVyY2hhbnRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVyY2hhbnRJZCddID0gdGhpcy5tZXJjaGFudElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkcyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWRzJ10gPSB0aGlzLmlkczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBHZXRNdWx0aVRheFJlc3BvbnNlIGltcGxlbWVudHMgaS5HZXRNdWx0aVRheFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB0YXhSYXRlczogVGF4UmF0ZVtdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogR2V0TXVsdGlUYXhSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IEdldE11bHRpVGF4UmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udGF4UmF0ZXMpIHttLnRheFJhdGVzID0gcHJvdG8udGF4UmF0ZXMubWFwKFRheFJhdGUuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuR2V0TXVsdGlUYXhSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRheFJhdGVzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRheFJhdGVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ3RheFJhdGVzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRheFJhdGVzID8gKHRoaXMudGF4UmF0ZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudGF4UmF0ZXM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTGlzdFRheFJlcXVlc3QgaW1wbGVtZW50cyBpLkxpc3RUYXhSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBmaWx0ZXJzOiBMaXN0VGF4UmVxdWVzdEZpbHRlcnM7XG4gICAgcGFnaW5nT3B0aW9uczogUGFnZWRSZXF1ZXN0T3B0aW9ucztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IExpc3RUYXhSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdFRheFJlcXVlc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZmlsdGVycykge20uZmlsdGVycyA9IExpc3RUYXhSZXF1ZXN0RmlsdGVycy5mcm9tUHJvdG8ocHJvdG8uZmlsdGVycyk7fVxuICAgICAgICBpZiAocHJvdG8ucGFnaW5nT3B0aW9ucykge20ucGFnaW5nT3B0aW9ucyA9IFBhZ2VkUmVxdWVzdE9wdGlvbnMuZnJvbVByb3RvKHByb3RvLnBhZ2luZ09wdGlvbnMpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5MaXN0VGF4UmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpbHRlcnMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZmlsdGVycyAhPT0gbnVsbCkge3RvUmV0dXJuWydmaWx0ZXJzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmZpbHRlcnMgPyAodGhpcy5maWx0ZXJzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZpbHRlcnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFnaW5nT3B0aW9ucyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wYWdpbmdPcHRpb25zICE9PSBudWxsKSB7dG9SZXR1cm5bJ3BhZ2luZ09wdGlvbnMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucGFnaW5nT3B0aW9ucyA/ICh0aGlzLnBhZ2luZ09wdGlvbnMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucGFnaW5nT3B0aW9uczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0VGF4UmVzcG9uc2UgaW1wbGVtZW50cyBpLkxpc3RUYXhSZXNwb25zZUludGVyZmFjZSB7XG4gICAgdGF4UmF0ZXM6IFRheFJhdGVbXTtcbiAgICBwYWdpbmdNZXRhZGF0YTogUGFnZWRSZXNwb25zZU1ldGFkYXRhO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTGlzdFRheFJlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTGlzdFRheFJlc3BvbnNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnRheFJhdGVzKSB7bS50YXhSYXRlcyA9IHByb3RvLnRheFJhdGVzLm1hcChUYXhSYXRlLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8ucGFnaW5nTWV0YWRhdGEpIHttLnBhZ2luZ01ldGFkYXRhID0gUGFnZWRSZXNwb25zZU1ldGFkYXRhLmZyb21Qcm90byhwcm90by5wYWdpbmdNZXRhZGF0YSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkxpc3RUYXhSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRheFJhdGVzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRheFJhdGVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ3RheFJhdGVzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRheFJhdGVzID8gKHRoaXMudGF4UmF0ZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudGF4UmF0ZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFnaW5nTWV0YWRhdGEgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucGFnaW5nTWV0YWRhdGEgIT09IG51bGwpIHt0b1JldHVyblsncGFnaW5nTWV0YWRhdGEnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucGFnaW5nTWV0YWRhdGEgPyAodGhpcy5wYWdpbmdNZXRhZGF0YSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5wYWdpbmdNZXRhZGF0YTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUYXhSYXRlIGltcGxlbWVudHMgaS5UYXhSYXRlSW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG1lcmNoYW50SWQ6IHN0cmluZztcbiAgICBjb3VudHJ5Q29kZTogc3RyaW5nO1xuICAgIHN0YXRlQ29kZTogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHBlcmNlbnRhZ2U6IG51bWJlcjtcbiAgICBhY2NvdW50aW5nU3lzdGVtSWQ6IHN0cmluZztcbiAgICBhcmNoaXZlZDogRGF0ZTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFRheFJhdGUge1xuICAgICAgICBsZXQgbSA9IG5ldyBUYXhSYXRlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmFyY2hpdmVkKSB7bS5hcmNoaXZlZCA9IG5ldyBEYXRlKHByb3RvLmFyY2hpdmVkKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVGF4UmF0ZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZXJjaGFudElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtZXJjaGFudElkJ10gPSB0aGlzLm1lcmNoYW50SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY291bnRyeUNvZGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NvdW50cnlDb2RlJ10gPSB0aGlzLmNvdW50cnlDb2RlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN0YXRlQ29kZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3RhdGVDb2RlJ10gPSB0aGlzLnN0YXRlQ29kZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduYW1lJ10gPSB0aGlzLm5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVzY3JpcHRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rlc2NyaXB0aW9uJ10gPSB0aGlzLmRlc2NyaXB0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBlcmNlbnRhZ2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BlcmNlbnRhZ2UnXSA9IHRoaXMucGVyY2VudGFnZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hY2NvdW50aW5nU3lzdGVtSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FjY291bnRpbmdTeXN0ZW1JZCddID0gdGhpcy5hY2NvdW50aW5nU3lzdGVtSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXJjaGl2ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuYXJjaGl2ZWQgIT09IG51bGwpIHt0b1JldHVyblsnYXJjaGl2ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYXJjaGl2ZWQgPyAodGhpcy5hcmNoaXZlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hcmNoaXZlZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVUYXhSZXF1ZXN0IGltcGxlbWVudHMgaS5VcGRhdGVUYXhSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXJjaGFudElkOiBzdHJpbmc7XG4gICAgaWQ6IHN0cmluZztcbiAgICBjb3VudHJ5Q29kZTogc3RyaW5nO1xuICAgIHN0YXRlQ29kZTogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHBlcmNlbnRhZ2U6IG51bWJlcjtcbiAgICBhY2NvdW50aW5nU3lzdGVtSWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFVwZGF0ZVRheFJlcXVlc3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBVcGRhdGVUYXhSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5VcGRhdGVUYXhSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVyY2hhbnRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVyY2hhbnRJZCddID0gdGhpcy5tZXJjaGFudElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb3VudHJ5Q29kZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY291bnRyeUNvZGUnXSA9IHRoaXMuY291bnRyeUNvZGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc3RhdGVDb2RlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzdGF0ZUNvZGUnXSA9IHRoaXMuc3RhdGVDb2RlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25hbWUnXSA9IHRoaXMubmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZXNjcmlwdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGVzY3JpcHRpb24nXSA9IHRoaXMuZGVzY3JpcHRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGVyY2VudGFnZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGVyY2VudGFnZSddID0gdGhpcy5wZXJjZW50YWdlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFjY291bnRpbmdTeXN0ZW1JZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYWNjb3VudGluZ1N5c3RlbUlkJ10gPSB0aGlzLmFjY291bnRpbmdTeXN0ZW1JZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ // *********************************
2
+ // Code generated by sdkgen
3
+ // DO NOT EDIT!.
4
+ //
5
+ // API Service.
6
+ // *********************************
7
+ import { Injectable } from '@angular/core';
8
+ import { DeletePaymentCardRequest, ListPaymentCardsRequest, ListPaymentCardsResponse, SetDefaultPaymentMethodRequest, } from './objects/';
9
+ import { HttpHeaders, HttpClient } from '@angular/common/http';
10
+ import { HostService } from '../_generated/host.service';
11
+ import { map } from 'rxjs/operators';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/common/http";
14
+ import * as i2 from "../_generated/host.service";
15
+ export class PaymentMethodApiService {
16
+ constructor(http, hostService) {
17
+ this.http = http;
18
+ this.hostService = hostService;
19
+ this._host = this.hostService.hostWithScheme;
20
+ }
21
+ apiOptions() {
22
+ return {
23
+ headers: new HttpHeaders({
24
+ 'Content-Type': 'application/json'
25
+ }),
26
+ withCredentials: true
27
+ };
28
+ }
29
+ listPaymentCards(r) {
30
+ const request = (r.toApiJson) ? r : new ListPaymentCardsRequest(r);
31
+ return this.http.post(this._host + "/billing.v1.PaymentMethodService/ListPaymentCards", request.toApiJson(), this.apiOptions())
32
+ .pipe(map(resp => ListPaymentCardsResponse.fromProto(resp)));
33
+ }
34
+ deletePaymentCard(r) {
35
+ const request = (r.toApiJson) ? r : new DeletePaymentCardRequest(r);
36
+ return this.http.post(this._host + "/billing.v1.PaymentMethodService/DeletePaymentCard", request.toApiJson(), { ...this.apiOptions(), observe: 'response' });
37
+ }
38
+ setDefaultPaymentMethod(r) {
39
+ const request = (r.toApiJson) ? r : new SetDefaultPaymentMethodRequest(r);
40
+ return this.http.post(this._host + "/billing.v1.PaymentMethodService/SetDefaultPaymentMethod", request.toApiJson(), { ...this.apiOptions(), observe: 'response' });
41
+ }
42
+ }
43
+ PaymentMethodApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: PaymentMethodApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable });
44
+ PaymentMethodApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: PaymentMethodApiService, providedIn: 'root' });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: PaymentMethodApiService, decorators: [{
46
+ type: Injectable,
47
+ args: [{ providedIn: 'root' }]
48
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HostService }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1tZXRob2QuYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9iaWxsaW5nX3Nkay9zcmMvbGliL19pbnRlcm5hbC9wYXltZW50LW1ldGhvZC5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyx3QkFBd0IsRUFDeEIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qiw4QkFBOEIsR0FDckMsTUFBTSxZQUFZLENBQUM7QUFPcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7O0FBR25DLE1BQU0sT0FBTyx1QkFBdUI7SUFHaEMsWUFBb0IsSUFBZ0IsRUFBVSxXQUF3QjtRQUFsRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFGOUQsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO0lBR2hELENBQUM7SUFFTyxVQUFVO1FBQ2QsT0FBTztZQUNILE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDckIsY0FBYyxFQUFFLGtCQUFrQjthQUNyQyxDQUFDO1lBQ0YsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQztJQUNOLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxDQUE2RDtRQUMxRSxNQUFNLE9BQU8sR0FBRyxDQUEyQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUEyQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBb0MsSUFBSSxDQUFDLEtBQUssR0FBRyxtREFBbUQsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzdKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDeEQsQ0FBQztJQUNWLENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxDQUErRDtRQUM3RSxNQUFNLE9BQU8sR0FBRyxDQUE0QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE0QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLG9EQUFvRCxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQ3JLLENBQUM7SUFDRCx1QkFBdUIsQ0FBQyxDQUEyRTtRQUMvRixNQUFNLE9BQU8sR0FBRyxDQUFrQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFrQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksOEJBQThCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLDBEQUEwRCxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQzNLLENBQUM7O29IQTdCUSx1QkFBdUI7d0hBQXZCLHVCQUF1QixjQURYLE1BQU07MkZBQ2xCLHVCQUF1QjtrQkFEbkMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgRGVsZXRlUGF5bWVudENhcmRSZXF1ZXN0LFxuICAgICAgICBMaXN0UGF5bWVudENhcmRzUmVxdWVzdCxcbiAgICAgICAgTGlzdFBheW1lbnRDYXJkc1Jlc3BvbnNlLFxuICAgICAgICBTZXREZWZhdWx0UGF5bWVudE1ldGhvZFJlcXVlc3QsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgRGVsZXRlUGF5bWVudENhcmRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0UGF5bWVudENhcmRzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFBheW1lbnRDYXJkc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBTZXREZWZhdWx0UGF5bWVudE1ldGhvZFJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUGF5bWVudE1ldGhvZEFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGhvc3RTZXJ2aWNlOiBIb3N0U2VydmljZSkge1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGxpc3RQYXltZW50Q2FyZHMocjogTGlzdFBheW1lbnRDYXJkc1JlcXVlc3QgfCBMaXN0UGF5bWVudENhcmRzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFBheW1lbnRDYXJkc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0UGF5bWVudENhcmRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0UGF5bWVudENhcmRzUmVxdWVzdD5yKSA6IG5ldyBMaXN0UGF5bWVudENhcmRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RQYXltZW50Q2FyZHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuUGF5bWVudE1ldGhvZFNlcnZpY2UvTGlzdFBheW1lbnRDYXJkc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RQYXltZW50Q2FyZHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBkZWxldGVQYXltZW50Q2FyZChyOiBEZWxldGVQYXltZW50Q2FyZFJlcXVlc3QgfCBEZWxldGVQYXltZW50Q2FyZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlUGF5bWVudENhcmRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZVBheW1lbnRDYXJkUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVQYXltZW50Q2FyZFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5QYXltZW50TWV0aG9kU2VydmljZS9EZWxldGVQYXltZW50Q2FyZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgc2V0RGVmYXVsdFBheW1lbnRNZXRob2QocjogU2V0RGVmYXVsdFBheW1lbnRNZXRob2RSZXF1ZXN0IHwgU2V0RGVmYXVsdFBheW1lbnRNZXRob2RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNldERlZmF1bHRQYXltZW50TWV0aG9kUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZXREZWZhdWx0UGF5bWVudE1ldGhvZFJlcXVlc3Q+cikgOiBuZXcgU2V0RGVmYXVsdFBheW1lbnRNZXRob2RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuUGF5bWVudE1ldGhvZFNlcnZpY2UvU2V0RGVmYXVsdFBheW1lbnRNZXRob2RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIFxufVxuIl19
@@ -0,0 +1,102 @@
1
+ // *********************************
2
+ // Code generated by sdkgen
3
+ // DO NOT EDIT!.
4
+ //
5
+ // API Service.
6
+ // *********************************
7
+ import { Injectable } from '@angular/core';
8
+ import { CloseRetailDisputeRequest, ConfigureRetailPaymentProviderRequest, ConfigureRetailPaymentProviderResponse, ConfirmRetailPaymentRequest, GetRetailDisputeRequest, GetRetailDisputeResponse, GetRetailPaymentProviderRequest, GetRetailPaymentProviderResponse, GetRetailPaymentRequest, GetRetailPaymentResponse, ListPaymentRequest, ListPaymentResponse, ListRetailDisputesRequest, ListRetailDisputesResponse, ListRetailPaymentsRequest, ListRetailPaymentsResponse, PrepareRetailPaymentRequest, PrepareRetailPaymentResponse, RetailPaymentsEnabledRequest, RetailPaymentsEnabledResponse, RetailStatusRequest, RetailStatusResponse, SubmitEvidenceRequest, UpdateRetailPaymentProviderRequest, } from './objects/';
9
+ import { HttpHeaders, HttpClient } from '@angular/common/http';
10
+ import { HostService } from '../_generated/host.service';
11
+ import { map } from 'rxjs/operators';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/common/http";
14
+ import * as i2 from "../_generated/host.service";
15
+ export class PaymentApiService {
16
+ constructor(http, hostService) {
17
+ this.http = http;
18
+ this.hostService = hostService;
19
+ this._host = this.hostService.hostWithScheme;
20
+ }
21
+ apiOptions() {
22
+ return {
23
+ headers: new HttpHeaders({
24
+ 'Content-Type': 'application/json'
25
+ }),
26
+ withCredentials: true
27
+ };
28
+ }
29
+ list(r) {
30
+ const request = (r.toApiJson) ? r : new ListPaymentRequest(r);
31
+ return this.http.post(this._host + "/billing.v1.PaymentService/List", request.toApiJson(), this.apiOptions())
32
+ .pipe(map(resp => ListPaymentResponse.fromProto(resp)));
33
+ }
34
+ getRetail(r) {
35
+ const request = (r.toApiJson) ? r : new GetRetailPaymentRequest(r);
36
+ return this.http.post(this._host + "/billing.v1.PaymentService/GetRetail", request.toApiJson(), this.apiOptions())
37
+ .pipe(map(resp => GetRetailPaymentResponse.fromProto(resp)));
38
+ }
39
+ listRetail(r) {
40
+ const request = (r.toApiJson) ? r : new ListRetailPaymentsRequest(r);
41
+ return this.http.post(this._host + "/billing.v1.PaymentService/ListRetail", request.toApiJson(), this.apiOptions())
42
+ .pipe(map(resp => ListRetailPaymentsResponse.fromProto(resp)));
43
+ }
44
+ listRetailDisputes(r) {
45
+ const request = (r.toApiJson) ? r : new ListRetailDisputesRequest(r);
46
+ return this.http.post(this._host + "/billing.v1.PaymentService/ListRetailDisputes", request.toApiJson(), this.apiOptions())
47
+ .pipe(map(resp => ListRetailDisputesResponse.fromProto(resp)));
48
+ }
49
+ getRetailDispute(r) {
50
+ const request = (r.toApiJson) ? r : new GetRetailDisputeRequest(r);
51
+ return this.http.post(this._host + "/billing.v1.PaymentService/GetRetailDispute", request.toApiJson(), this.apiOptions())
52
+ .pipe(map(resp => GetRetailDisputeResponse.fromProto(resp)));
53
+ }
54
+ closeRetailDispute(r) {
55
+ const request = (r.toApiJson) ? r : new CloseRetailDisputeRequest(r);
56
+ return this.http.post(this._host + "/billing.v1.PaymentService/CloseRetailDispute", request.toApiJson(), { ...this.apiOptions(), observe: 'response' });
57
+ }
58
+ prepareRetail(r) {
59
+ const request = (r.toApiJson) ? r : new PrepareRetailPaymentRequest(r);
60
+ return this.http.post(this._host + "/billing.v1.PaymentService/PrepareRetail", request.toApiJson(), this.apiOptions())
61
+ .pipe(map(resp => PrepareRetailPaymentResponse.fromProto(resp)));
62
+ }
63
+ confirmRetail(r) {
64
+ const request = (r.toApiJson) ? r : new ConfirmRetailPaymentRequest(r);
65
+ return this.http.post(this._host + "/billing.v1.PaymentService/ConfirmRetail", request.toApiJson(), { ...this.apiOptions(), observe: 'response' });
66
+ }
67
+ retailStatus(r) {
68
+ const request = (r.toApiJson) ? r : new RetailStatusRequest(r);
69
+ return this.http.post(this._host + "/billing.v1.PaymentService/RetailStatus", request.toApiJson(), this.apiOptions())
70
+ .pipe(map(resp => RetailStatusResponse.fromProto(resp)));
71
+ }
72
+ retailPaymentsEnabled(r) {
73
+ const request = (r.toApiJson) ? r : new RetailPaymentsEnabledRequest(r);
74
+ return this.http.post(this._host + "/billing.v1.PaymentService/RetailPaymentsEnabled", request.toApiJson(), this.apiOptions())
75
+ .pipe(map(resp => RetailPaymentsEnabledResponse.fromProto(resp)));
76
+ }
77
+ configureRetailProvider(r) {
78
+ const request = (r.toApiJson) ? r : new ConfigureRetailPaymentProviderRequest(r);
79
+ return this.http.post(this._host + "/billing.v1.PaymentService/ConfigureRetailProvider", request.toApiJson(), this.apiOptions())
80
+ .pipe(map(resp => ConfigureRetailPaymentProviderResponse.fromProto(resp)));
81
+ }
82
+ updateRetailProvider(r) {
83
+ const request = (r.toApiJson) ? r : new UpdateRetailPaymentProviderRequest(r);
84
+ return this.http.post(this._host + "/billing.v1.PaymentService/UpdateRetailProvider", request.toApiJson(), { ...this.apiOptions(), observe: 'response' });
85
+ }
86
+ getRetailProvider(r) {
87
+ const request = (r.toApiJson) ? r : new GetRetailPaymentProviderRequest(r);
88
+ return this.http.post(this._host + "/billing.v1.PaymentService/GetRetailProvider", request.toApiJson(), this.apiOptions())
89
+ .pipe(map(resp => GetRetailPaymentProviderResponse.fromProto(resp)));
90
+ }
91
+ submitEvidence(r) {
92
+ const request = (r.toApiJson) ? r : new SubmitEvidenceRequest(r);
93
+ return this.http.post(this._host + "/billing.v1.PaymentService/SubmitEvidence", request.toApiJson(), { ...this.apiOptions(), observe: 'response' });
94
+ }
95
+ }
96
+ PaymentApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: PaymentApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable });
97
+ PaymentApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: PaymentApiService, providedIn: 'root' });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: PaymentApiService, decorators: [{
99
+ type: Injectable,
100
+ args: [{ providedIn: 'root' }]
101
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HostService }]; } });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2JpbGxpbmdfc2RrL3NyYy9saWIvX2ludGVybmFsL3BheW1lbnQuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0MseUJBQXlCLEVBQ3pCLHFDQUFxQyxFQUNyQyxzQ0FBc0MsRUFDdEMsMkJBQTJCLEVBQzNCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyx1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixrQ0FBa0MsR0FDekMsTUFBTSxZQUFZLENBQUM7QUEyQnBCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUduQyxNQUFNLE9BQU8saUJBQWlCO0lBRzFCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0I7UUFBbEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRjlELFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxD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QyxDQUFDO1FBQ2pKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTRDLElBQUksQ0FBQyxLQUFLLEdBQUcsOENBQThDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNoSyxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2hFLENBQUM7SUFDVixDQUFDO0lBQ0QsY0FBYyxDQUFDLENBQXlEO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLENBQXlCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQXlCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsMkNBQTJDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7SUFDNUosQ0FBQzs7OEdBcEdRLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBREwsTUFBTTsyRkFDbEIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gQVBJIFNlcnZpY2UuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgICAgICBDbG9zZVJldGFpbERpc3B1dGVSZXF1ZXN0LFxuICAgICAgICBDb25maWd1cmVSZXRhaWxQYXltZW50UHJvdmlkZXJSZXF1ZXN0LFxuICAgICAgICBDb25maWd1cmVSZXRhaWxQYXltZW50UHJvdmlkZXJSZXNwb25zZSxcbiAgICAgICAgQ29uZmlybVJldGFpbFBheW1lbnRSZXF1ZXN0LFxuICAgICAgICBHZXRSZXRhaWxEaXNwdXRlUmVxdWVzdCxcbiAgICAgICAgR2V0UmV0YWlsRGlzcHV0ZVJlc3BvbnNlLFxuICAgICAgICBHZXRSZXRhaWxQYXltZW50UHJvdmlkZXJSZXF1ZXN0LFxuICAgICAgICBHZXRSZXRhaWxQYXltZW50UHJvdmlkZXJSZXNwb25zZSxcbiAgICAgICAgR2V0UmV0YWlsUGF5bWVudFJlcXVlc3QsXG4gICAgICAgIEdldFJldGFpbFBheW1lbnRSZXNwb25zZSxcbiAgICAgICAgTGlzdFBheW1lbnRSZXF1ZXN0LFxuICAgICAgICBMaXN0UGF5bWVudFJlc3BvbnNlLFxuICAgICAgICBMaXN0UmV0YWlsRGlzcHV0ZXNSZXF1ZXN0LFxuICAgICAgICBMaXN0UmV0YWlsRGlzcHV0ZXNSZXNwb25zZSxcbiAgICAgICAgTGlzdFJldGFpbFBheW1lbnRzUmVxdWVzdCxcbiAgICAgICAgTGlzdFJldGFpbFBheW1lbnRzUmVzcG9uc2UsXG4gICAgICAgIFByZXBhcmVSZXRhaWxQYXltZW50UmVxdWVzdCxcbiAgICAgICAgUHJlcGFyZVJldGFpbFBheW1lbnRSZXNwb25zZSxcbiAgICAgICAgUmV0YWlsUGF5bWVudHNFbmFibGVkUmVxdWVzdCxcbiAgICAgICAgUmV0YWlsUGF5bWVudHNFbmFibGVkUmVzcG9uc2UsXG4gICAgICAgIFJldGFpbFN0YXR1c1JlcXVlc3QsXG4gICAgICAgIFJldGFpbFN0YXR1c1Jlc3BvbnNlLFxuICAgICAgICBTdWJtaXRFdmlkZW5jZVJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZVJldGFpbFBheW1lbnRQcm92aWRlclJlcXVlc3QsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgQ2xvc2VSZXRhaWxEaXNwdXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ29uZmlndXJlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ29uZmlndXJlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENvbmZpcm1SZXRhaWxQYXltZW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0UmV0YWlsRGlzcHV0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFJldGFpbERpc3B1dGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0UmV0YWlsUGF5bWVudFByb3ZpZGVyUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0UmV0YWlsUGF5bWVudFByb3ZpZGVyUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFJldGFpbFBheW1lbnRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRSZXRhaWxQYXltZW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RQYXltZW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFBheW1lbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFJldGFpbERpc3B1dGVzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFJldGFpbERpc3B1dGVzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RSZXRhaWxQYXltZW50c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RSZXRhaWxQYXltZW50c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBQcmVwYXJlUmV0YWlsUGF5bWVudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFByZXBhcmVSZXRhaWxQYXltZW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFJldGFpbFBheW1lbnRzRW5hYmxlZFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFJldGFpbFBheW1lbnRzRW5hYmxlZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBSZXRhaWxTdGF0dXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBSZXRhaWxTdGF0dXNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgU3VibWl0RXZpZGVuY2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVSZXRhaWxQYXltZW50UHJvdmlkZXJSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL2ludGVyZmFjZXMvJztcbmltcG9ydCB7SHR0cEhlYWRlcnMsIEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtIb3N0U2VydmljZX0gZnJvbSAnLi4vX2dlbmVyYXRlZC9ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFBheW1lbnRBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBob3N0U2VydmljZTogSG9zdFNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBsaXN0KHI6IExpc3RQYXltZW50UmVxdWVzdCB8IExpc3RQYXltZW50UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFBheW1lbnRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFBheW1lbnRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RQYXltZW50UmVxdWVzdD5yKSA6IG5ldyBMaXN0UGF5bWVudFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UGF5bWVudFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5QYXltZW50U2VydmljZS9MaXN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFBheW1lbnRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRSZXRhaWwocjogR2V0UmV0YWlsUGF5bWVudFJlcXVlc3QgfCBHZXRSZXRhaWxQYXltZW50UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0UmV0YWlsUGF5bWVudFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRSZXRhaWxQYXltZW50UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRSZXRhaWxQYXltZW50UmVxdWVzdD5yKSA6IG5ldyBHZXRSZXRhaWxQYXltZW50UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFJldGFpbFBheW1lbnRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuUGF5bWVudFNlcnZpY2UvR2V0UmV0YWlsXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0UmV0YWlsUGF5bWVudFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RSZXRhaWwocjogTGlzdFJldGFpbFBheW1lbnRzUmVxdWVzdCB8IExpc3RSZXRhaWxQYXltZW50c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RSZXRhaWxQYXltZW50c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0UmV0YWlsUGF5bWVudHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RSZXRhaWxQYXltZW50c1JlcXVlc3Q+cikgOiBuZXcgTGlzdFJldGFpbFBheW1lbnRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RSZXRhaWxQYXltZW50c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5QYXltZW50U2VydmljZS9MaXN0UmV0YWlsXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFJldGFpbFBheW1lbnRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdFJldGFpbERpc3B1dGVzKHI6IExpc3RSZXRhaWxEaXNwdXRlc1JlcXVlc3QgfCBMaXN0UmV0YWlsRGlzcHV0ZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0UmV0YWlsRGlzcHV0ZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFJldGFpbERpc3B1dGVzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0UmV0YWlsRGlzcHV0ZXNSZXF1ZXN0PnIpIDogbmV3IExpc3RSZXRhaWxEaXNwdXRlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UmV0YWlsRGlzcHV0ZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuUGF5bWVudFNlcnZpY2UvTGlzdFJldGFpbERpc3B1dGVzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFJldGFpbERpc3B1dGVzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0UmV0YWlsRGlzcHV0ZShyOiBHZXRSZXRhaWxEaXNwdXRlUmVxdWVzdCB8IEdldFJldGFpbERpc3B1dGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRSZXRhaWxEaXNwdXRlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFJldGFpbERpc3B1dGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFJldGFpbERpc3B1dGVSZXF1ZXN0PnIpIDogbmV3IEdldFJldGFpbERpc3B1dGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0UmV0YWlsRGlzcHV0ZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5QYXltZW50U2VydmljZS9HZXRSZXRhaWxEaXNwdXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0UmV0YWlsRGlzcHV0ZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNsb3NlUmV0YWlsRGlzcHV0ZShyOiBDbG9zZVJldGFpbERpc3B1dGVSZXF1ZXN0IHwgQ2xvc2VSZXRhaWxEaXNwdXRlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDbG9zZVJldGFpbERpc3B1dGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENsb3NlUmV0YWlsRGlzcHV0ZVJlcXVlc3Q+cikgOiBuZXcgQ2xvc2VSZXRhaWxEaXNwdXRlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLlBheW1lbnRTZXJ2aWNlL0Nsb3NlUmV0YWlsRGlzcHV0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgcHJlcGFyZVJldGFpbChyOiBQcmVwYXJlUmV0YWlsUGF5bWVudFJlcXVlc3QgfCBQcmVwYXJlUmV0YWlsUGF5bWVudFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFByZXBhcmVSZXRhaWxQYXltZW50UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFByZXBhcmVSZXRhaWxQYXltZW50UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxQcmVwYXJlUmV0YWlsUGF5bWVudFJlcXVlc3Q+cikgOiBuZXcgUHJlcGFyZVJldGFpbFBheW1lbnRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UHJlcGFyZVJldGFpbFBheW1lbnRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2JpbGxpbmcudjEuUGF5bWVudFNlcnZpY2UvUHJlcGFyZVJldGFpbFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFByZXBhcmVSZXRhaWxQYXltZW50UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY29uZmlybVJldGFpbChyOiBDb25maXJtUmV0YWlsUGF5bWVudFJlcXVlc3QgfCBDb25maXJtUmV0YWlsUGF5bWVudFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q29uZmlybVJldGFpbFBheW1lbnRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENvbmZpcm1SZXRhaWxQYXltZW50UmVxdWVzdD5yKSA6IG5ldyBDb25maXJtUmV0YWlsUGF5bWVudFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5QYXltZW50U2VydmljZS9Db25maXJtUmV0YWlsXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICByZXRhaWxTdGF0dXMocjogUmV0YWlsU3RhdHVzUmVxdWVzdCB8IFJldGFpbFN0YXR1c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFJldGFpbFN0YXR1c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxSZXRhaWxTdGF0dXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFJldGFpbFN0YXR1c1JlcXVlc3Q+cikgOiBuZXcgUmV0YWlsU3RhdHVzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJldGFpbFN0YXR1c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5QYXltZW50U2VydmljZS9SZXRhaWxTdGF0dXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBSZXRhaWxTdGF0dXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICByZXRhaWxQYXltZW50c0VuYWJsZWQocjogUmV0YWlsUGF5bWVudHNFbmFibGVkUmVxdWVzdCB8IFJldGFpbFBheW1lbnRzRW5hYmxlZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFJldGFpbFBheW1lbnRzRW5hYmxlZFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxSZXRhaWxQYXltZW50c0VuYWJsZWRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFJldGFpbFBheW1lbnRzRW5hYmxlZFJlcXVlc3Q+cikgOiBuZXcgUmV0YWlsUGF5bWVudHNFbmFibGVkUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJldGFpbFBheW1lbnRzRW5hYmxlZFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5QYXltZW50U2VydmljZS9SZXRhaWxQYXltZW50c0VuYWJsZWRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBSZXRhaWxQYXltZW50c0VuYWJsZWRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjb25maWd1cmVSZXRhaWxQcm92aWRlcihyOiBDb25maWd1cmVSZXRhaWxQYXltZW50UHJvdmlkZXJSZXF1ZXN0IHwgQ29uZmlndXJlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q29uZmlndXJlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENvbmZpZ3VyZVJldGFpbFBheW1lbnRQcm92aWRlclJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q29uZmlndXJlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVxdWVzdD5yKSA6IG5ldyBDb25maWd1cmVSZXRhaWxQYXltZW50UHJvdmlkZXJSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q29uZmlndXJlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLlBheW1lbnRTZXJ2aWNlL0NvbmZpZ3VyZVJldGFpbFByb3ZpZGVyXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ29uZmlndXJlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlUmV0YWlsUHJvdmlkZXIocjogVXBkYXRlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVxdWVzdCB8IFVwZGF0ZVJldGFpbFBheW1lbnRQcm92aWRlclJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlUmV0YWlsUGF5bWVudFByb3ZpZGVyUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVSZXRhaWxQYXltZW50UHJvdmlkZXJSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZVJldGFpbFBheW1lbnRQcm92aWRlclJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5QYXltZW50U2VydmljZS9VcGRhdGVSZXRhaWxQcm92aWRlclwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZ2V0UmV0YWlsUHJvdmlkZXIocjogR2V0UmV0YWlsUGF5bWVudFByb3ZpZGVyUmVxdWVzdCB8IEdldFJldGFpbFBheW1lbnRQcm92aWRlclJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFJldGFpbFBheW1lbnRQcm92aWRlclJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRSZXRhaWxQYXltZW50UHJvdmlkZXJSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFJldGFpbFBheW1lbnRQcm92aWRlclJlcXVlc3Q+cikgOiBuZXcgR2V0UmV0YWlsUGF5bWVudFByb3ZpZGVyUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFJldGFpbFBheW1lbnRQcm92aWRlclJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYmlsbGluZy52MS5QYXltZW50U2VydmljZS9HZXRSZXRhaWxQcm92aWRlclwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFJldGFpbFBheW1lbnRQcm92aWRlclJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHN1Ym1pdEV2aWRlbmNlKHI6IFN1Ym1pdEV2aWRlbmNlUmVxdWVzdCB8IFN1Ym1pdEV2aWRlbmNlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTdWJtaXRFdmlkZW5jZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U3VibWl0RXZpZGVuY2VSZXF1ZXN0PnIpIDogbmV3IFN1Ym1pdEV2aWRlbmNlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9iaWxsaW5nLnYxLlBheW1lbnRTZXJ2aWNlL1N1Ym1pdEV2aWRlbmNlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==