taxtank-core 0.29.0 → 0.29.2

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 (615) hide show
  1. package/bundles/taxtank-core.umd.js +393 -391
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/chart-accounts.collection.js +2 -1
  4. package/esm2015/lib/collections/collection.js +5 -2
  5. package/esm2015/lib/collections/depreciation.collection.js +1 -4
  6. package/esm2015/lib/collections/property/property-share.collection.js +12 -2
  7. package/esm2015/lib/collections/sole/sole-business-losses.collection.js +6 -5
  8. package/esm2015/lib/collections/tax-summary/report-item.collection.js +1 -1
  9. package/esm2015/lib/collections/transaction/index.js +1 -2
  10. package/esm2015/lib/collections/transaction/transaction.collection.js +12 -9
  11. package/esm2015/lib/forms/sole/bas-report.form.js +3 -9
  12. package/esm2015/lib/interceptors/basiq-client-id.interceptor.js +3 -3
  13. package/esm2015/lib/interceptors/basiq-token.interceptor.js +3 -3
  14. package/esm2015/lib/interceptors/corelogic-interceptor.js +3 -3
  15. package/esm2015/lib/interceptors/financial-year-interceptor.js +3 -3
  16. package/esm2015/lib/interceptors/interceptors.module.js +4 -4
  17. package/esm2015/lib/interceptors/jwt-interceptor.js +3 -3
  18. package/esm2015/lib/interceptors/preloader.interceptor.js +3 -3
  19. package/esm2015/lib/interceptors/user-switcher-interceptor.js +3 -3
  20. package/esm2015/lib/models/report/my-tax/my-tax-losses/my-tax-losses.js +5 -4
  21. package/esm2015/lib/models/report/sole/sole-business/sole-business-loss-report.js +7 -6
  22. package/esm2015/lib/models/sole/sole-invoice.js +1 -2
  23. package/esm2015/lib/models/tax-summary/tax-summary.js +13 -1
  24. package/esm2015/lib/models/transaction/transaction.js +7 -8
  25. package/esm2015/lib/services/account-setup/account-setup.service.js +4 -5
  26. package/esm2015/lib/services/affiliate/rewardful/rewardful.service.js +3 -3
  27. package/esm2015/lib/services/asset/assets.service.js +3 -3
  28. package/esm2015/lib/services/auth/auth.service.js +3 -3
  29. package/esm2015/lib/services/auth/jwt.service.js +3 -3
  30. package/esm2015/lib/services/bank/bank-account-calculation.service.js +3 -3
  31. package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +3 -3
  32. package/esm2015/lib/services/event/event-dispatcher.service.js +3 -3
  33. package/esm2015/lib/services/event/sse.service.js +3 -3
  34. package/esm2015/lib/services/export/export-formatter.service.js +3 -3
  35. package/esm2015/lib/services/header-title/header-title.service.js +3 -3
  36. package/esm2015/lib/services/http/address/address.service.js +3 -3
  37. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +3 -3
  38. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +7 -4
  39. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +3 -3
  40. package/esm2015/lib/services/http/bank/bank.service.js +3 -3
  41. package/esm2015/lib/services/http/bank/basiq/basiq-token.service.js +7 -6
  42. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +3 -3
  43. package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +3 -3
  44. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +3 -3
  45. package/esm2015/lib/services/http/chat/chat.service.js +3 -3
  46. package/esm2015/lib/services/http/chat/message-document.service.js +3 -3
  47. package/esm2015/lib/services/http/chat/message.service.js +3 -3
  48. package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +3 -3
  49. package/esm2015/lib/services/http/depreciation/depreciation-receipt/depreciation-receipt.service.js +3 -3
  50. package/esm2015/lib/services/http/depreciation/depreciation.service.js +3 -3
  51. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +3 -3
  52. package/esm2015/lib/services/http/document/document.service.js +3 -3
  53. package/esm2015/lib/services/http/facebook/facebook.service.js +3 -3
  54. package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +3 -3
  55. package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +3 -3
  56. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +3 -3
  57. package/esm2015/lib/services/http/firm/employee/employee.service.js +3 -3
  58. package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +3 -3
  59. package/esm2015/lib/services/http/firm/firm.service.js +3 -3
  60. package/esm2015/lib/services/http/firm/portfolio-report/client-portfolio-report.service.js +3 -3
  61. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +3 -3
  62. package/esm2015/lib/services/http/income-source/income-source.service.js +3 -3
  63. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +3 -3
  64. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +3 -3
  65. package/esm2015/lib/services/http/loan/borrowing-expense/borrowing-expense.service.js +3 -3
  66. package/esm2015/lib/services/http/loan/loan.service.js +8 -7
  67. package/esm2015/lib/services/http/property/property-category/property-category.service.js +3 -3
  68. package/esm2015/lib/services/http/property/property-category-movement/property-category-movement.service.js +3 -3
  69. package/esm2015/lib/services/http/property/property-document/property-document.service.js +3 -3
  70. package/esm2015/lib/services/http/property/property-sale/property-sale.service.js +3 -3
  71. package/esm2015/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.js +3 -3
  72. package/esm2015/lib/services/http/property/property-share/property-share.service.js +3 -3
  73. package/esm2015/lib/services/http/property/property.service.js +3 -3
  74. package/esm2015/lib/services/http/receipt/receipt.service.js +3 -3
  75. package/esm2015/lib/services/http/rest/rest-old.service.js +3 -3
  76. package/esm2015/lib/services/http/rest/rest.service.js +8 -4
  77. package/esm2015/lib/services/http/service-notification/service-notification.service.js +3 -3
  78. package/esm2015/lib/services/http/sole/bas-report/bas-report.service.js +3 -3
  79. package/esm2015/lib/services/http/sole/sole-business/sole-business.service.js +3 -3
  80. package/esm2015/lib/services/http/sole/sole-business-activity/sole-business-activity.service.js +3 -3
  81. package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.js +3 -3
  82. package/esm2015/lib/services/http/sole/sole-business-loss/sole-business-loss.service.js +3 -3
  83. package/esm2015/lib/services/http/sole/sole-contact/sole-contact.service.js +3 -3
  84. package/esm2015/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.js +3 -3
  85. package/esm2015/lib/services/http/sole/sole-details/sole-details.service.js +3 -3
  86. package/esm2015/lib/services/http/sole/sole-invoice/sole-invoice.service.js +3 -3
  87. package/esm2015/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.js +3 -3
  88. package/esm2015/lib/services/http/subscription/service-price.service.js +3 -3
  89. package/esm2015/lib/services/http/subscription/subscription.service.js +3 -3
  90. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +3 -3
  91. package/esm2015/lib/services/http/tax-review/tax-review.service.js +3 -3
  92. package/esm2015/lib/services/http/tax-summary/tax-summary.service.js +3 -3
  93. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +3 -3
  94. package/esm2015/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.js +3 -3
  95. package/esm2015/lib/services/http/transaction/transaction.service.js +3 -3
  96. package/esm2015/lib/services/http/tutorial-video/tutorial-video.service.js +3 -3
  97. package/esm2015/lib/services/http/user/occupation/occupation.service.js +3 -3
  98. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +3 -3
  99. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +3 -3
  100. package/esm2015/lib/services/http/user/user.service.js +3 -3
  101. package/esm2015/lib/services/http/user/users-invite/users-invite.service.js +3 -3
  102. package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +3 -3
  103. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +3 -3
  104. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +3 -3
  105. package/esm2015/lib/services/http/vehicle/vehicle.service.js +3 -3
  106. package/esm2015/lib/services/intercom/intercom.service.js +3 -3
  107. package/esm2015/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.js +3 -3
  108. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.js +3 -3
  109. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.js +3 -3
  110. package/esm2015/lib/services/pdf/pdf-from-table/pdf-from-table.service.js +3 -3
  111. package/esm2015/lib/services/preloader/preloader.service.js +3 -3
  112. package/esm2015/lib/services/property/corelogic/corelogic.service.js +3 -3
  113. package/esm2015/lib/services/property/equity-position-chart/equity-position-chart.service.js +3 -3
  114. package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +3 -3
  115. package/esm2015/lib/services/report/property/property-transaction-report.service.js +3 -3
  116. package/esm2015/lib/services/toast/toast.service.js +3 -3
  117. package/esm2015/lib/services/transaction/transaction-calculation.service.js +5 -6
  118. package/esm2015/lib/services/user/user-switcher.service.js +3 -3
  119. package/esm2015/lib/services/vehicle/logbook-best-period.service.js +3 -3
  120. package/esm2015/lib/services/xlsx/xlsx.service.js +3 -3
  121. package/esm2015/lib/tt-core.module.js +4 -4
  122. package/fesm2015/taxtank-core.js +391 -374
  123. package/fesm2015/taxtank-core.js.map +1 -1
  124. package/lib/collections/account-setup-item.collection.d.ts.map +1 -0
  125. package/lib/collections/bank-account.collection.d.ts.map +1 -0
  126. package/lib/collections/bank-transaction.collection.d.ts.map +1 -0
  127. package/lib/collections/chart-accounts.collection.d.ts.map +1 -0
  128. package/lib/collections/chat/chat.collection.d.ts.map +1 -0
  129. package/lib/collections/chat/index.d.ts.map +1 -0
  130. package/lib/collections/chat/message-document.collection.d.ts.map +1 -0
  131. package/lib/collections/chat/message.collection.d.ts.map +1 -0
  132. package/lib/collections/client-invite.collection.d.ts.map +1 -0
  133. package/lib/collections/client-movement.collection.d.ts.map +1 -0
  134. package/lib/collections/client-portfolio-report.collection.d.ts.map +1 -0
  135. package/lib/collections/client.collection.d.ts.map +1 -0
  136. package/lib/collections/collection.d.ts +1 -0
  137. package/lib/collections/depreciation-forecast.collection.d.ts.map +1 -0
  138. package/lib/collections/depreciation.collection.d.ts +0 -3
  139. package/lib/collections/depreciation.collection.d.ts.map +1 -0
  140. package/lib/collections/employee.collection.d.ts.map +1 -0
  141. package/lib/collections/income-source.collection.d.ts.map +1 -0
  142. package/lib/collections/index.d.ts.map +1 -0
  143. package/lib/collections/loan/index.d.ts.map +1 -0
  144. package/lib/collections/loan/loan.collection.d.ts.map +1 -0
  145. package/lib/collections/property/index.d.ts.map +1 -0
  146. package/lib/collections/property/property-category-movement.collection.d.ts.map +1 -0
  147. package/lib/collections/property/property-sale/index.d.ts.map +1 -0
  148. package/lib/collections/property/property-sale/property-sale.collection.d.ts.map +1 -0
  149. package/lib/collections/property/property-share.collection.d.ts +12 -2
  150. package/lib/collections/property/property-share.collection.d.ts.map +1 -0
  151. package/lib/collections/property/property.collection.d.ts.map +1 -0
  152. package/lib/collections/report/depreciation/depreciation-lvp-report-item.collection.d.ts.map +1 -0
  153. package/lib/collections/report/depreciation/depreciation-report-item.collection.d.ts.map +1 -0
  154. package/lib/collections/report/index.d.ts.map +1 -0
  155. package/lib/collections/report/property/property-report-item-depreciation.collection.d.ts.map +1 -0
  156. package/lib/collections/report/property/property-report-item-transaction.collection.d.ts.map +1 -0
  157. package/lib/collections/report/property/property-report-item.collection.d.ts.map +1 -0
  158. package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts.map +1 -0
  159. package/lib/collections/sole/index.d.ts.map +1 -0
  160. package/lib/collections/sole/sole-business-losses.collection.d.ts +2 -2
  161. package/lib/collections/sole/sole-business-losses.collection.d.ts.map +1 -0
  162. package/lib/collections/sole/sole-invoice-item.collection.d.ts.map +1 -0
  163. package/lib/collections/sole/sole-invoice.collection.d.ts.map +1 -0
  164. package/lib/collections/subscription/index.d.ts.map +1 -0
  165. package/lib/collections/subscription/service-subscription.collection.d.ts.map +1 -0
  166. package/lib/collections/tax-review.collection.d.ts.map +1 -0
  167. package/lib/collections/tax-summary/index.d.ts.map +1 -0
  168. package/lib/collections/tax-summary/report-item.collection.d.ts.map +1 -0
  169. package/lib/collections/tax-summary/tax-return-categories.const.d.ts.map +1 -0
  170. package/lib/collections/transaction/index.d.ts +0 -1
  171. package/lib/collections/transaction/index.d.ts.map +1 -0
  172. package/lib/collections/transaction/transaction-allocation.collection.d.ts.map +1 -0
  173. package/lib/collections/transaction/transaction.collection.d.ts +4 -2
  174. package/lib/collections/transaction/transaction.collection.d.ts.map +1 -0
  175. package/lib/collections/user-event-setting.collection.d.ts.map +1 -0
  176. package/lib/collections/user-event-type-collection.d.ts.map +1 -0
  177. package/lib/collections/vehicle/index.d.ts.map +1 -0
  178. package/lib/collections/vehicle/vehicle-claim.collection.d.ts.map +1 -0
  179. package/lib/collections/vehicle/vehicle-logbook.collection.d.ts.map +1 -0
  180. package/lib/db/Enums/depreciation-write-off-amount.enum.d.ts.map +1 -0
  181. package/lib/db/Enums/income-source-type-list-other.enum.d.ts.map +1 -0
  182. package/lib/db/Enums/income-source-type-list-sole.enum.d.ts.map +1 -0
  183. package/lib/db/Enums/income-source-type-list-work.enum.d.ts.map +1 -0
  184. package/lib/db/Enums/invite-status.enum.d.ts.map +1 -0
  185. package/lib/db/Enums/loan-bank-type.enum.d.ts.map +1 -0
  186. package/lib/db/Enums/loan-frequency.enum.d.ts.map +1 -0
  187. package/lib/db/Enums/service-notification-status.enum.d.ts.map +1 -0
  188. package/lib/db/Enums/service-notification-type.enum.d.ts.map +1 -0
  189. package/lib/db/Enums/tax-return-category-list.enum.d.ts.map +1 -0
  190. package/lib/db/Enums/tax-return-category-section.enum.d.ts.map +1 -0
  191. package/lib/db/Enums/tax-summary-list.enum.d.ts.map +1 -0
  192. package/lib/db/Enums/tax-summary-tax-summary.enum.d.ts.map +1 -0
  193. package/lib/db/Enums/ticket-types.enum.d.ts.map +1 -0
  194. package/lib/db/Enums/user-event-type-client-type.enum.d.ts.map +1 -0
  195. package/lib/db/Enums/user-event-type-employee-type.enum.d.ts.map +1 -0
  196. package/lib/db/Enums/user-event-type-type.enum.d.ts.map +1 -0
  197. package/lib/db/Enums/user-event-type-user-type.enum.d.ts.map +1 -0
  198. package/lib/db/Enums/user-medicare-exemption.enum.d.ts.map +1 -0
  199. package/lib/db/Enums/user-work-depreciation-calculation.enum.d.ts.map +1 -0
  200. package/lib/db/Enums/user-working-holiday-maker.enum.d.ts.map +1 -0
  201. package/lib/forms/abstract.form.d.ts.map +1 -0
  202. package/lib/forms/address/address.form.d.ts.map +1 -0
  203. package/lib/forms/address/index.d.ts.map +1 -0
  204. package/lib/forms/bank/bank-account/bank-account-add-manual.form.d.ts.map +1 -0
  205. package/lib/forms/bank/bank-account/bank-account-allocation.form.d.ts.map +1 -0
  206. package/lib/forms/bank/bank-account/bank-account-import.form.d.ts.map +1 -0
  207. package/lib/forms/bank/bank-account/bank-account-properties.form.d.ts.map +1 -0
  208. package/lib/forms/bank/bank-account/bank-accounts-import.form.d.ts.map +1 -0
  209. package/lib/forms/bank/bank-login.form.d.ts.map +1 -0
  210. package/lib/forms/client/client-income-types.form.d.ts.map +1 -0
  211. package/lib/forms/depreciation/depreciation.form.d.ts.map +1 -0
  212. package/lib/forms/depreciation/index.d.ts.map +1 -0
  213. package/lib/forms/form-validations.enum.d.ts.map +1 -0
  214. package/lib/forms/index.d.ts.map +1 -0
  215. package/lib/forms/loan/index.d.ts.map +1 -0
  216. package/lib/forms/loan/loan.form.d.ts.map +1 -0
  217. package/lib/forms/login/login.form.d.ts.map +1 -0
  218. package/lib/forms/phone/index.d.ts.map +1 -0
  219. package/lib/forms/phone/phone.form.d.ts.map +1 -0
  220. package/lib/forms/property/index.d.ts.map +1 -0
  221. package/lib/forms/property/property-sale/index.d.ts.map +1 -0
  222. package/lib/forms/property/property-sale/property-sale-cost-base.form.d.ts.map +1 -0
  223. package/lib/forms/property/property-sale/property-sale-cost-sale.form.d.ts.map +1 -0
  224. package/lib/forms/property/property-sale/property-sale-exemptions.form.d.ts.map +1 -0
  225. package/lib/forms/register/register-client.form.d.ts.map +1 -0
  226. package/lib/forms/register/register-firm.form.d.ts.map +1 -0
  227. package/lib/forms/report/my-tax/index.d.ts.map +1 -0
  228. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-details/my-tax-business-details.form.d.ts.map +1 -0
  229. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income/my-tax-business-income.form.d.ts.map +1 -0
  230. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-income-or-losses.form.d.ts.map +1 -0
  231. package/lib/forms/report/my-tax/my-tax-business-income-or-losses/my-tax-business-losses/my-tax-business-losses.form.d.ts.map +1 -0
  232. package/lib/forms/report/my-tax/my-tax-cgt.form.d.ts.map +1 -0
  233. package/lib/forms/report/my-tax/my-tax-deductions.form.d.ts.map +1 -0
  234. package/lib/forms/report/my-tax/my-tax-dividends.form.d.ts.map +1 -0
  235. package/lib/forms/report/my-tax/my-tax-income-statements.form.d.ts.map +1 -0
  236. package/lib/forms/report/my-tax/my-tax-income-tests.form.d.ts.map +1 -0
  237. package/lib/forms/report/my-tax/my-tax-interest.form.d.ts.map +1 -0
  238. package/lib/forms/report/my-tax/my-tax-losses.form.d.ts.map +1 -0
  239. package/lib/forms/report/my-tax/my-tax-medicare.form.d.ts.map +1 -0
  240. package/lib/forms/report/my-tax/my-tax-offsets.form.d.ts.map +1 -0
  241. package/lib/forms/report/my-tax/my-tax-other-income.form.d.ts.map +1 -0
  242. package/lib/forms/report/my-tax/my-tax-partnerships-and-trusts.form.d.ts.map +1 -0
  243. package/lib/forms/report/my-tax/my-tax-rent.form.d.ts.map +1 -0
  244. package/lib/forms/sole/bas-report.form.d.ts +0 -3
  245. package/lib/forms/sole/bas-report.form.d.ts.map +1 -0
  246. package/lib/forms/sole/index.d.ts.map +1 -0
  247. package/lib/forms/sole/sole-business-allocations.form.d.ts.map +1 -0
  248. package/lib/forms/sole/sole-business-loss.form.d.ts.map +1 -0
  249. package/lib/forms/sole/sole-business.form.d.ts.map +1 -0
  250. package/lib/forms/sole/sole-contact.form.d.ts.map +1 -0
  251. package/lib/forms/sole/sole-depreciation-method.form.d.ts.map +1 -0
  252. package/lib/forms/sole/sole-details.form.d.ts.map +1 -0
  253. package/lib/forms/sole/sole-invoice-item.form.d.ts.map +1 -0
  254. package/lib/forms/sole/sole-invoice-template.form.d.ts.map +1 -0
  255. package/lib/forms/sole/sole-invoice.form.d.ts.map +1 -0
  256. package/lib/forms/transaction/index.d.ts.map +1 -0
  257. package/lib/forms/transaction/messages.enum.d.ts.map +1 -0
  258. package/lib/forms/transaction/transaction-base.form.d.ts.map +1 -0
  259. package/lib/forms/transaction/transaction.form.d.ts.map +1 -0
  260. package/lib/forms/transaction/work-income.form.d.ts.map +1 -0
  261. package/lib/forms/user/index.d.ts.map +1 -0
  262. package/lib/forms/user/password.form.d.ts.map +1 -0
  263. package/lib/forms/user/reset-password.form.d.ts.map +1 -0
  264. package/lib/forms/user/user-invite.form.d.ts.map +1 -0
  265. package/lib/forms/vehicle/index.d.ts.map +1 -0
  266. package/lib/forms/vehicle/vehicle-claim-details.form.d.ts.map +1 -0
  267. package/lib/forms/vehicle/vehicle-claim.form.d.ts.map +1 -0
  268. package/lib/forms/vehicle/vehicle-logbook.form.d.ts.map +1 -0
  269. package/lib/forms/vehicle/vehicle.form.d.ts.map +1 -0
  270. package/lib/functions/clone-deep.d.ts.map +1 -0
  271. package/lib/functions/create-date.d.ts.map +1 -0
  272. package/lib/functions/enum-to-list.d.ts.map +1 -0
  273. package/lib/functions/get-doc-icon.d.ts.map +1 -0
  274. package/lib/functions/mat-options-functions.d.ts.map +1 -0
  275. package/lib/functions/mat-sort-options.d.ts.map +1 -0
  276. package/lib/functions/round-to.d.ts.map +1 -0
  277. package/lib/functions/tax-review-filter-predicate.d.ts.map +1 -0
  278. package/lib/interceptors/basiq-client-id.interceptor.d.ts.map +1 -0
  279. package/lib/interceptors/basiq-token.interceptor.d.ts.map +1 -0
  280. package/lib/interceptors/interceptors.module.d.ts.map +1 -0
  281. package/lib/interceptors/jwt-interceptor.d.ts.map +1 -0
  282. package/lib/interceptors/preloader.interceptor.d.ts.map +1 -0
  283. package/lib/interceptors/user-switcher-interceptor.d.ts.map +1 -0
  284. package/lib/interfaces/auth-tokens.interface.d.ts.map +1 -0
  285. package/lib/interfaces/chart-data.interface.d.ts.map +1 -0
  286. package/lib/interfaces/chart-serie.interface.d.ts.map +1 -0
  287. package/lib/interfaces/expense.interface.d.ts.map +1 -0
  288. package/lib/interfaces/income-source-forecast.interface.d.ts.map +1 -0
  289. package/lib/interfaces/index.d.ts.map +1 -0
  290. package/lib/interfaces/option.interface.d.ts.map +1 -0
  291. package/lib/interfaces/receipt.interface.d.ts.map +1 -0
  292. package/lib/interfaces/table-exportable.interface.d.ts.map +1 -0
  293. package/lib/interfaces/tank.interface.d.ts.map +1 -0
  294. package/lib/interfaces/updatable.interface.d.ts.map +1 -0
  295. package/lib/models/account-setup/account-setup-item.d.ts.map +1 -0
  296. package/lib/models/account-setup/account-setup-items.const.d.ts.map +1 -0
  297. package/lib/models/account-setup/account-setup-items.enum.d.ts.map +1 -0
  298. package/lib/models/badge/badge-color.enum.d.ts.map +1 -0
  299. package/lib/models/badge/badge.d.ts.map +1 -0
  300. package/lib/models/bank/bank-account-chart-data.d.ts.map +1 -0
  301. package/lib/models/bank/bank-account-property.d.ts.map +1 -0
  302. package/lib/models/bank/bank-account-types.const.d.ts.map +1 -0
  303. package/lib/models/bank/bank-account.d.ts.map +1 -0
  304. package/lib/models/bank/bank-connection.d.ts.map +1 -0
  305. package/lib/models/bank/bank-login-data.d.ts.map +1 -0
  306. package/lib/models/bank/bank-transaction-chart-data.d.ts.map +1 -0
  307. package/lib/models/bank/bank-transaction-summary-fields.enum.d.ts.map +1 -0
  308. package/lib/models/bank/bank-transaction.d.ts.map +1 -0
  309. package/lib/models/bank/index.d.ts.map +1 -0
  310. package/lib/models/bank/type-loan.const.d.ts.map +1 -0
  311. package/lib/models/borrowing-expense/borrowing-expense-loan.d.ts.map +1 -0
  312. package/lib/models/borrowing-expense/borrowing-expense.d.ts.map +1 -0
  313. package/lib/models/borrowing-expense/index.d.ts.map +1 -0
  314. package/lib/models/chart/chart-data.d.ts.map +1 -0
  315. package/lib/models/chart/chart-serie.d.ts.map +1 -0
  316. package/lib/models/chart-accounts/chart-accounts-depreciation.d.ts.map +1 -0
  317. package/lib/models/chart-accounts/chart-accounts-tax-labels.enum.d.ts.map +1 -0
  318. package/lib/models/chart-accounts/chart-accounts-value.d.ts.map +1 -0
  319. package/lib/models/chart-accounts/chart-accounts.d.ts.map +1 -0
  320. package/lib/models/chart-accounts/index.d.ts.map +1 -0
  321. package/lib/models/chat/chat-view-type.enum.d.ts.map +1 -0
  322. package/lib/models/chat/chat.d.ts.map +1 -0
  323. package/lib/models/chat/index.d.ts.map +1 -0
  324. package/lib/models/chat/message-document.d.ts.map +1 -0
  325. package/lib/models/chat/message.d.ts.map +1 -0
  326. package/lib/models/client/client-details.d.ts.map +1 -0
  327. package/lib/models/client/client-income-types.d.ts.map +1 -0
  328. package/lib/models/client/client-invite.d.ts.map +1 -0
  329. package/lib/models/client/client-movement.d.ts.map +1 -0
  330. package/lib/models/client/client-portfolio-chart-data.d.ts.map +1 -0
  331. package/lib/models/client/client-portfolio-report.d.ts.map +1 -0
  332. package/lib/models/color/alphabet-colors.enum.d.ts.map +1 -0
  333. package/lib/models/depreciation/depreciation-capital-project.d.ts.map +1 -0
  334. package/lib/models/depreciation/depreciation-forecast.d.ts.map +1 -0
  335. package/lib/models/depreciation/depreciation-group-item.d.ts.map +1 -0
  336. package/lib/models/depreciation/depreciation-group.d.ts.map +1 -0
  337. package/lib/models/depreciation/depreciation-group.enum.d.ts.map +1 -0
  338. package/lib/models/depreciation/depreciation-groups.const.d.ts.map +1 -0
  339. package/lib/models/depreciation/depreciation-lvp-rate.enum.d.ts.map +1 -0
  340. package/lib/models/depreciation/depreciation-receipt.d.ts.map +1 -0
  341. package/lib/models/depreciation/depreciation.d.ts.map +1 -0
  342. package/lib/models/depreciation/index.d.ts.map +1 -0
  343. package/lib/models/dictionary/dictionary.d.ts.map +1 -0
  344. package/lib/models/dictionary/index.d.ts.map +1 -0
  345. package/lib/models/document/document-api-url-prefix.enum.d.ts.map +1 -0
  346. package/lib/models/document/document-file-types.const.d.ts.map +1 -0
  347. package/lib/models/document/document-folder.d.ts.map +1 -0
  348. package/lib/models/document/document.d.ts.map +1 -0
  349. package/lib/models/document/index.d.ts.map +1 -0
  350. package/lib/models/employee/employee-details.d.ts.map +1 -0
  351. package/lib/models/employee/employee-invite.d.ts.map +1 -0
  352. package/lib/models/endpoint/endpoint.d.ts.map +1 -0
  353. package/lib/models/endpoint/endpoints.const.d.ts.map +1 -0
  354. package/lib/models/event/index.d.ts.map +1 -0
  355. package/lib/models/export/export-format.enum.d.ts.map +1 -0
  356. package/lib/models/export/export-row-data-type.enum.d.ts.map +1 -0
  357. package/lib/models/export/export-row.d.ts.map +1 -0
  358. package/lib/models/file/icons-file.enum.d.ts.map +1 -0
  359. package/lib/models/financial-year/index.d.ts.map +1 -0
  360. package/lib/models/financial-year/month-name-short.enum.d.ts.map +1 -0
  361. package/lib/models/financial-year/month-number.enum.d.ts.map +1 -0
  362. package/lib/models/financial-year/months.const.d.ts.map +1 -0
  363. package/lib/models/firm/firm.d.ts.map +1 -0
  364. package/lib/models/income-position/income-position.d.ts.map +1 -0
  365. package/lib/models/income-source/income-source-chart-data.d.ts.map +1 -0
  366. package/lib/models/income-source/income-source-forecast.d.ts.map +1 -0
  367. package/lib/models/income-source/income-source-type.d.ts.map +1 -0
  368. package/lib/models/income-source/income-source.d.ts.map +1 -0
  369. package/lib/models/income-source/salary-forecast.d.ts.map +1 -0
  370. package/lib/models/income-source/sole-forecast.d.ts.map +1 -0
  371. package/lib/models/index.d.ts.map +1 -0
  372. package/lib/models/loan/index.d.ts.map +1 -0
  373. package/lib/models/loan/loan-max-number-of-payments.enum.d.ts.map +1 -0
  374. package/lib/models/notification/index.d.ts.map +1 -0
  375. package/lib/models/notification/notification.d.ts.map +1 -0
  376. package/lib/models/pdf/pdf-orientation.enum.d.ts.map +1 -0
  377. package/lib/models/pdf/pdf-settings.d.ts.map +1 -0
  378. package/lib/models/phone/phone.d.ts.map +1 -0
  379. package/lib/models/property/calculation-form-item.d.ts.map +1 -0
  380. package/lib/models/property/calculation-form-type.enum.d.ts.map +1 -0
  381. package/lib/models/property/capital-costs-itmes.const.d.ts.map +1 -0
  382. package/lib/models/property/index.d.ts.map +1 -0
  383. package/lib/models/property/property-equity-chart-data.d.ts.map +1 -0
  384. package/lib/models/property/property-equity-chart-item.d.ts.map +1 -0
  385. package/lib/models/property/property-equity-chart-type.enum.d.ts.map +1 -0
  386. package/lib/models/property/property-share.d.ts.map +1 -0
  387. package/lib/models/property/property.d.ts.map +1 -0
  388. package/lib/models/property/share-filter-options.enum.d.ts.map +1 -0
  389. package/lib/models/registration-invite/registration-invite.d.ts.map +1 -0
  390. package/lib/models/report/index.d.ts.map +1 -0
  391. package/lib/models/report/my-tax/my-tax-losses/my-tax-losses.d.ts +4 -3
  392. package/lib/models/report/sole/sole-business/sole-business-loss-report.d.ts +3 -2
  393. package/lib/models/service-subscription/module-url-list.const.d.ts.map +1 -0
  394. package/lib/models/service-subscription/service-payment.d.ts.map +1 -0
  395. package/lib/models/service-subscription/service-price.d.ts.map +1 -0
  396. package/lib/models/service-subscription/service-product.d.ts.map +1 -0
  397. package/lib/models/service-subscription/service-subscription-item.d.ts.map +1 -0
  398. package/lib/models/service-subscription/service-subscription.d.ts.map +1 -0
  399. package/lib/models/sole/bas-report.d.ts.map +1 -0
  400. package/lib/models/sole/index.d.ts.map +1 -0
  401. package/lib/models/sole/sole-business-activity.d.ts.map +1 -0
  402. package/lib/models/sole/sole-business-allocation.d.ts.map +1 -0
  403. package/lib/models/sole/sole-business-loss-offset-rule.d.ts.map +1 -0
  404. package/lib/models/sole/sole-business-loss.d.ts.map +1 -0
  405. package/lib/models/sole/sole-business.d.ts.map +1 -0
  406. package/lib/models/sole/sole-contact.d.ts.map +1 -0
  407. package/lib/models/sole/sole-depreciation-method.d.ts.map +1 -0
  408. package/lib/models/sole/sole-details.d.ts.map +1 -0
  409. package/lib/models/sole/sole-invoice-item.d.ts.map +1 -0
  410. package/lib/models/sole/sole-invoice-template.d.ts.map +1 -0
  411. package/lib/models/sole/sole-invoice.d.ts.map +1 -0
  412. package/lib/models/tax-review/tax-review.d.ts.map +1 -0
  413. package/lib/models/tax-summary/report-item-details.d.ts.map +1 -0
  414. package/lib/models/tax-summary/report-item.d.ts.map +1 -0
  415. package/lib/models/tax-summary/tax-summary-section.d.ts.map +1 -0
  416. package/lib/models/tax-summary/tax-summary-type.enum.d.ts.map +1 -0
  417. package/lib/models/tax-summary/tax-summary.d.ts +3 -0
  418. package/lib/models/tax-summary/tax-summary.d.ts.map +1 -0
  419. package/lib/models/toast/toast-type.enum.d.ts.map +1 -0
  420. package/lib/models/toast/toast.d.ts.map +1 -0
  421. package/lib/models/transaction/income-amount-type.enum.d.ts.map +1 -0
  422. package/lib/models/transaction/index.d.ts.map +1 -0
  423. package/lib/models/transaction/transaction-allocation.d.ts.map +1 -0
  424. package/lib/models/transaction/transaction-category.enum.d.ts.map +1 -0
  425. package/lib/models/transaction/transaction-metadata.d.ts.map +1 -0
  426. package/lib/models/transaction/transaction.d.ts +1 -4
  427. package/lib/models/transaction/transaction.d.ts.map +1 -0
  428. package/lib/models/user/index.d.ts.map +1 -0
  429. package/lib/models/user/my-account-history-initiated-by.enum.d.ts.map +1 -0
  430. package/lib/models/user/my-account-history-status.enum.d.ts.map +1 -0
  431. package/lib/models/user/my-account-history-type.enum.d.ts.map +1 -0
  432. package/lib/models/user/my-account-history.d.ts.map +1 -0
  433. package/lib/models/user/occupation.d.ts.map +1 -0
  434. package/lib/models/user/user-roles.const.d.ts.map +1 -0
  435. package/lib/models/user/user-to-register.d.ts.map +1 -0
  436. package/lib/models/user/user-work-position.const.d.ts.map +1 -0
  437. package/lib/models/user/user.d.ts.map +1 -0
  438. package/lib/models/user-event/user-event-setting-field.enum.d.ts.map +1 -0
  439. package/lib/models/user-event/user-event-setting.d.ts.map +1 -0
  440. package/lib/models/user-event/user-event-type-category.d.ts.map +1 -0
  441. package/lib/models/user-event/user-event-type.d.ts.map +1 -0
  442. package/lib/models/vehicle/index.d.ts.map +1 -0
  443. package/lib/models/vehicle/logbook-period.d.ts.map +1 -0
  444. package/lib/models/vehicle/vehicle-claim-details.d.ts.map +1 -0
  445. package/lib/models/vehicle/vehicle-claim.d.ts.map +1 -0
  446. package/lib/models/vehicle/vehicle-logbook.d.ts.map +1 -0
  447. package/lib/models/vehicle/vehicle.d.ts.map +1 -0
  448. package/lib/services/account-setup/account-setup.service.d.ts.map +1 -0
  449. package/lib/services/account-setup/index.d.ts.map +1 -0
  450. package/lib/services/affiliate/index.d.ts.map +1 -0
  451. package/lib/services/affiliate/rewardful/index.d.ts.map +1 -0
  452. package/lib/services/affiliate/rewardful/rewardful.service.d.ts.map +1 -0
  453. package/lib/services/asset/assets.service.d.ts.map +1 -0
  454. package/lib/services/asset/index.d.ts.map +1 -0
  455. package/lib/services/auth/auth.service.d.ts.map +1 -0
  456. package/lib/services/auth/index.d.ts.map +1 -0
  457. package/lib/services/auth/jwt.service.d.ts.map +1 -0
  458. package/lib/services/bank/bank-account-calculation.service.d.ts.map +1 -0
  459. package/lib/services/bank/bank-transaction-calculation.service.d.ts.map +1 -0
  460. package/lib/services/bank/index.d.ts.map +1 -0
  461. package/lib/services/event/index.d.ts.map +1 -0
  462. package/lib/services/event/sse.service.d.ts.map +1 -0
  463. package/lib/services/export/export-formatter.service.d.ts.map +1 -0
  464. package/lib/services/export/index.d.ts.map +1 -0
  465. package/lib/services/header-title/header-title.service.d.ts.map +1 -0
  466. package/lib/services/header-title/index.d.ts.map +1 -0
  467. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +3 -0
  468. package/lib/services/http/bank/basiq/basiq-token.service.d.ts +2 -2
  469. package/lib/services/http/depreciation/index.d.ts.map +1 -0
  470. package/lib/services/http/document/document-folder/document-folder.service.d.ts.map +1 -0
  471. package/lib/services/http/document/document.service.d.ts.map +1 -0
  472. package/lib/services/http/document/index.d.ts.map +1 -0
  473. package/lib/services/http/facebook/facebook-auth-options.interface.d.ts.map +1 -0
  474. package/lib/services/http/facebook/facebook-auth-response.interface.d.ts.map +1 -0
  475. package/lib/services/http/facebook/facebook-status-response.interface.d.ts.map +1 -0
  476. package/lib/services/http/facebook/facebook.service.d.ts.map +1 -0
  477. package/lib/services/http/facebook/index.d.ts.map +1 -0
  478. package/lib/services/http/firm/client-income/client-income-types.service.d.ts.map +1 -0
  479. package/lib/services/http/firm/client-income/index.d.ts.map +1 -0
  480. package/lib/services/http/firm/client-invite/client-invite.service.d.ts.map +1 -0
  481. package/lib/services/http/firm/client-invite/index.d.ts.map +1 -0
  482. package/lib/services/http/firm/client-movement/client-movement.service.d.ts.map +1 -0
  483. package/lib/services/http/firm/client-movement/index.d.ts.map +1 -0
  484. package/lib/services/http/firm/employee/employee.service.d.ts.map +1 -0
  485. package/lib/services/http/firm/employee/index.d.ts.map +1 -0
  486. package/lib/services/http/firm/employee-invite/employee-invite.service.d.ts.map +1 -0
  487. package/lib/services/http/firm/employee-invite/index.d.ts.map +1 -0
  488. package/lib/services/http/firm/firm.service.d.ts.map +1 -0
  489. package/lib/services/http/firm/index.d.ts.map +1 -0
  490. package/lib/services/http/firm/portfolio-report/client-portfolio-report.service.d.ts.map +1 -0
  491. package/lib/services/http/firm/portfolio-report/index.d.ts.map +1 -0
  492. package/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.d.ts.map +1 -0
  493. package/lib/services/http/income-source/income-source-forecast/index.d.ts.map +1 -0
  494. package/lib/services/http/income-source/income-source.service.d.ts.map +1 -0
  495. package/lib/services/http/income-source/index.d.ts.map +1 -0
  496. package/lib/services/http/income-source/salary-forecast/index.d.ts.map +1 -0
  497. package/lib/services/http/income-source/salary-forecast/salary-forecast.service.d.ts.map +1 -0
  498. package/lib/services/http/income-source/sole-forecast/index.d.ts.map +1 -0
  499. package/lib/services/http/income-source/sole-forecast/sole-forecast.service.d.ts.map +1 -0
  500. package/lib/services/http/index.d.ts.map +1 -0
  501. package/lib/services/http/loan/borrowing-expense/borrowing-expense.service.d.ts.map +1 -0
  502. package/lib/services/http/loan/borrowing-expense/index.d.ts.map +1 -0
  503. package/lib/services/http/loan/index.d.ts.map +1 -0
  504. package/lib/services/http/loan/loan.service.d.ts +3 -3
  505. package/lib/services/http/loan/loan.service.d.ts.map +1 -0
  506. package/lib/services/http/property/index.d.ts.map +1 -0
  507. package/lib/services/http/property/property-category/index.d.ts.map +1 -0
  508. package/lib/services/http/property/property-category/property-category.service.d.ts.map +1 -0
  509. package/lib/services/http/property/property-category-movement/index.d.ts.map +1 -0
  510. package/lib/services/http/property/property-category-movement/property-category-movement.service.d.ts.map +1 -0
  511. package/lib/services/http/property/property-document/index.d.ts.map +1 -0
  512. package/lib/services/http/property/property-document/property-document.service.d.ts.map +1 -0
  513. package/lib/services/http/property/property-sale/index.d.ts.map +1 -0
  514. package/lib/services/http/property/property-sale/property-sale.service.d.ts.map +1 -0
  515. package/lib/services/http/property/property-sale/tax-exemption/tax-exemption.service.d.ts.map +1 -0
  516. package/lib/services/http/property/property-share/index.d.ts.map +1 -0
  517. package/lib/services/http/property/property-share/property-share.service.d.ts.map +1 -0
  518. package/lib/services/http/property/property.service.d.ts.map +1 -0
  519. package/lib/services/http/receipt/index.d.ts.map +1 -0
  520. package/lib/services/http/receipt/receipt.service.d.ts.map +1 -0
  521. package/lib/services/http/rest/rest-old.service.d.ts.map +1 -0
  522. package/lib/services/http/rest/rest.service.d.ts +1 -0
  523. package/lib/services/http/service-notification/index.d.ts.map +1 -0
  524. package/lib/services/http/service-notification/service-notification.service.d.ts.map +1 -0
  525. package/lib/services/http/sole/bas-report/bas-report.service.d.ts.map +1 -0
  526. package/lib/services/http/sole/index.d.ts.map +1 -0
  527. package/lib/services/http/sole/sole-business/messages.enum.d.ts.map +1 -0
  528. package/lib/services/http/sole/sole-business/sole-business.service.d.ts.map +1 -0
  529. package/lib/services/http/sole/sole-business-activity/sole-business-activity.service.d.ts.map +1 -0
  530. package/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.d.ts.map +1 -0
  531. package/lib/services/http/sole/sole-business-loss/sole-business-loss.service.d.ts.map +1 -0
  532. package/lib/services/http/sole/sole-contact/sole-contact.service.d.ts.map +1 -0
  533. package/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.d.ts.map +1 -0
  534. package/lib/services/http/sole/sole-details/sole-details.service.d.ts.map +1 -0
  535. package/lib/services/http/sole/sole-invoice/sole-invoice.service.d.ts.map +1 -0
  536. package/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.d.ts.map +1 -0
  537. package/lib/services/http/subscription/index.d.ts.map +1 -0
  538. package/lib/services/http/subscription/service-price.service.d.ts.map +1 -0
  539. package/lib/services/http/subscription/subscription.service.d.ts.map +1 -0
  540. package/lib/services/http/tax-review/index.d.ts.map +1 -0
  541. package/lib/services/http/tax-review/tax-review-history/tax-review-history.service.d.ts.map +1 -0
  542. package/lib/services/http/tax-review/tax-review.service.d.ts.map +1 -0
  543. package/lib/services/http/tax-summary/index.d.ts.map +1 -0
  544. package/lib/services/http/tax-summary/tax-summary.service.d.ts.map +1 -0
  545. package/lib/services/http/transaction/index.d.ts.map +1 -0
  546. package/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.d.ts.map +1 -0
  547. package/lib/services/http/transaction/transaction-receipt/transaction-receipt.service.d.ts.map +1 -0
  548. package/lib/services/http/transaction/transaction.service.d.ts.map +1 -0
  549. package/lib/services/http/tutorial-video/index.d.ts.map +1 -0
  550. package/lib/services/http/tutorial-video/tutorial-video-response.interface.d.ts.map +1 -0
  551. package/lib/services/http/tutorial-video/tutorial-video.service.d.ts.map +1 -0
  552. package/lib/services/http/tutorial-video/video-source.interface.d.ts.map +1 -0
  553. package/lib/services/http/user/index.d.ts.map +1 -0
  554. package/lib/services/http/user/occupation/occupation.service.d.ts.map +1 -0
  555. package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts.map +1 -0
  556. package/lib/services/http/user/user-event-type/user-event-type.service.d.ts.map +1 -0
  557. package/lib/services/http/user/users-invite/users-invite.service.d.ts.map +1 -0
  558. package/lib/services/http/vehicle/index.d.ts.map +1 -0
  559. package/lib/services/http/vehicle/vehicle-claim-details.service.d.ts.map +1 -0
  560. package/lib/services/http/vehicle/vehicle-claim.service.d.ts.map +1 -0
  561. package/lib/services/http/vehicle/vehicle-logbook.service.d.ts.map +1 -0
  562. package/lib/services/http/vehicle/vehicle.service.d.ts.map +1 -0
  563. package/lib/services/index.d.ts.map +1 -0
  564. package/lib/services/intercom/index.d.ts.map +1 -0
  565. package/lib/services/intercom/intercom.service.d.ts.map +1 -0
  566. package/lib/services/pdf/index.d.ts.map +1 -0
  567. package/lib/services/pdf/pdf-from-dom-element/file-settings.d.ts.map +1 -0
  568. package/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.d.ts.map +1 -0
  569. package/lib/services/pdf/pdf-from-table/file-settings.d.ts.map +1 -0
  570. package/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.d.ts.map +1 -0
  571. package/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.d.ts.map +1 -0
  572. package/lib/services/pdf/pdf-from-table/pdf-from-table.service.d.ts.map +1 -0
  573. package/lib/services/preloader/index.d.ts.map +1 -0
  574. package/lib/services/preloader/preloader.service.d.ts.map +1 -0
  575. package/lib/services/property/corelogic/index.d.ts.map +1 -0
  576. package/lib/services/property/equity-position-chart/equity-position-chart.service.d.ts.map +1 -0
  577. package/lib/services/property/equity-position-chart/index.d.ts.map +1 -0
  578. package/lib/services/property/index.d.ts.map +1 -0
  579. package/lib/services/property/property-calculation/index.d.ts.map +1 -0
  580. package/lib/services/property/property-calculation/property-calculation.service.d.ts.map +1 -0
  581. package/lib/services/report/index.d.ts.map +1 -0
  582. package/lib/services/report/property/property-transaction-report.service.d.ts.map +1 -0
  583. package/lib/services/toast/index.d.ts.map +1 -0
  584. package/lib/services/toast/toast.service.d.ts.map +1 -0
  585. package/lib/services/transaction/index.d.ts.map +1 -0
  586. package/lib/services/transaction/transaction-calculation.service.d.ts +2 -4
  587. package/lib/services/transaction/transaction-calculation.service.d.ts.map +1 -0
  588. package/lib/services/user/index.d.ts.map +1 -0
  589. package/lib/services/user/user-switcher.service.d.ts.map +1 -0
  590. package/lib/services/vehicle/index.d.ts.map +1 -0
  591. package/lib/services/vehicle/logbook-best-period.service.d.ts.map +1 -0
  592. package/lib/services/xlsx/index.d.ts.map +1 -0
  593. package/lib/services/xlsx/xlsx.service.d.ts.map +1 -0
  594. package/lib/tt-core.module.d.ts.map +1 -0
  595. package/lib/validators/address-corelogic.validator.d.ts.map +1 -0
  596. package/lib/validators/at-least-one-enabled.validator.d.ts.map +1 -0
  597. package/lib/validators/at-least-one.validator.d.ts.map +1 -0
  598. package/lib/validators/autocomplete.validator.d.ts.map +1 -0
  599. package/lib/validators/conditional.validator.d.ts.map +1 -0
  600. package/lib/validators/current-fin-year.validator.d.ts.map +1 -0
  601. package/lib/validators/date-range.validator.d.ts.map +1 -0
  602. package/lib/validators/fields-sum.validator.d.ts.map +1 -0
  603. package/lib/validators/file.validator.d.ts.map +1 -0
  604. package/lib/validators/index.d.ts.map +1 -0
  605. package/lib/validators/min-date/messages.enum.d.ts.map +1 -0
  606. package/lib/validators/min-date/min-date.validator.d.ts.map +1 -0
  607. package/lib/validators/password-match.validator.d.ts.map +1 -0
  608. package/lib/validators/password.validator.d.ts.map +1 -0
  609. package/lib/validators/phone-number.validator.d.ts.map +1 -0
  610. package/lib/validators/required-length.validator.d.ts.map +1 -0
  611. package/package.json +1 -1
  612. package/public-api.d.ts.map +1 -0
  613. package/taxtank-core.d.ts.map +1 -0
  614. package/esm2015/lib/collections/transaction/transaction-base.collection.js +0 -14
  615. package/lib/collections/transaction/transaction-base.collection.d.ts +0 -9
@@ -27,9 +27,9 @@ export class BasiqTokenInterceptor {
27
27
  });
28
28
  }
29
29
  }
30
- BasiqTokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqTokenInterceptor, deps: [{ token: i1.BasiqTokenService }], target: i0.ɵɵFactoryTarget.Injectable });
31
- BasiqTokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqTokenInterceptor });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: BasiqTokenInterceptor, decorators: [{
30
+ BasiqTokenInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqTokenInterceptor, deps: [{ token: i1.BasiqTokenService }], target: i0.ɵɵFactoryTarget.Injectable });
31
+ BasiqTokenInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqTokenInterceptor });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: BasiqTokenInterceptor, decorators: [{
33
33
  type: Injectable
34
34
  }], ctorParameters: function () { return [{ type: i1.BasiqTokenService }]; } });
35
35
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaXEtdG9rZW4uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvaW50ZXJjZXB0b3JzL2Jhc2lxLXRva2VuLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBRXpFOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQyxZQUNVLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBRTlDLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBNkIsRUFBRSxJQUFpQjtRQUN4RCwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNuRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0I7UUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQzVDLFFBQVEsQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUNuRCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVPLFFBQVEsQ0FBQyxPQUE2QixFQUFFLEtBQWlCO1FBQy9ELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztZQUNuQixVQUFVLEVBQUU7Z0JBQ1YsYUFBYSxFQUFFLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSzthQUN2QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O21IQTFCVSxxQkFBcUI7dUhBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cFJlcXVlc3QsIEh0dHBIYW5kbGVyLCBIdHRwRXZlbnQsIEh0dHBJbnRlcmNlcHRvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmFzaXFUb2tlbiB9IGZyb20gJy4uL21vZGVscy9iYW5rL2Jhc2lxL2Jhc2lxLXRva2VuJztcbmltcG9ydCB7IEJhc2lxVG9rZW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaHR0cC9iYW5rL2Jhc2lxL2Jhc2lxLXRva2VuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzaXFTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaHR0cC9iYW5rL2Jhc2lxL2Jhc2lxLnNlcnZpY2UnO1xuXG4vKipcbiAqIEludGVyY2VwdG9yIHdoaWNoIGFkZHMgdXNlcidzIGJhc2lxIHRva2VuIHRvIGFueSBodHRwIHJlcXVlc3QgdG8gYmFzaXEgYXBpXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCYXNpcVRva2VuSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYmFzaXFUb2tlblNlcnZpY2U6IEJhc2lxVG9rZW5TZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgLy8gc2tpcCBub24tYmFzaXEgcmVxdWVzdHNcbiAgICBpZiAoIXJlcXVlc3QudXJsLmluY2x1ZGVzKEJhc2lxU2VydmljZS5iYXNpcUFwaVVybCkpIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iYXNpcVRva2VuU2VydmljZS5nZXRTaW5nbGUoKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHRva2VuOiBCYXNpcVRva2VuKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLmFkZFRva2VuKHJlcXVlc3QsIHRva2VuKSlcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkVG9rZW4ocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIHRva2VuOiBCYXNpcVRva2VuKTogSHR0cFJlcXVlc3Q8dW5rbm93bj4ge1xuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHtcbiAgICAgIHNldEhlYWRlcnM6IHtcbiAgICAgICAgQXV0aG9yaXphdGlvbjogJ0JlYXJlciAnICsgdG9rZW4udmFsdWVcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -32,9 +32,9 @@ export class CorelogicInterceptor {
32
32
  });
33
33
  }
34
34
  }
35
- CorelogicInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: i1.CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
36
- CorelogicInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CorelogicInterceptor });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: CorelogicInterceptor, decorators: [{
35
+ CorelogicInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CorelogicInterceptor, deps: [{ token: i1.CorelogicService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
36
+ CorelogicInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CorelogicInterceptor });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: CorelogicInterceptor, decorators: [{
38
38
  type: Injectable
39
39
  }], ctorParameters: function () { return [{ type: i1.CorelogicService }, { type: undefined, decorators: [{
40
40
  type: Inject,
@@ -31,9 +31,9 @@ export class FinancialYearInterceptor {
31
31
  return next.handle(clonedReq);
32
32
  }
33
33
  }
34
- FinancialYearInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
35
- FinancialYearInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FinancialYearInterceptor });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
34
+ FinancialYearInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FinancialYearInterceptor, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
35
+ FinancialYearInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FinancialYearInterceptor });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FinancialYearInterceptor, decorators: [{
37
37
  type: Injectable
38
38
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
39
39
  type: Inject,
@@ -10,9 +10,9 @@ import { BasiqClientIdInterceptor } from './basiq-client-id.interceptor';
10
10
  import * as i0 from "@angular/core";
11
11
  export class InterceptorsModule {
12
12
  }
13
- InterceptorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- InterceptorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: InterceptorsModule });
15
- InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: InterceptorsModule, providers: [
13
+ InterceptorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: InterceptorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ InterceptorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: InterceptorsModule });
15
+ InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: InterceptorsModule, providers: [
16
16
  {
17
17
  provide: HTTP_INTERCEPTORS,
18
18
  useClass: CorelogicInterceptor,
@@ -50,7 +50,7 @@ InterceptorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
50
50
  multi: true
51
51
  }
52
52
  ] });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: InterceptorsModule, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: InterceptorsModule, decorators: [{
54
54
  type: NgModule,
55
55
  args: [{
56
56
  providers: [
@@ -131,9 +131,9 @@ export class JwtInterceptor {
131
131
  });
132
132
  }
133
133
  }
134
- JwtInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: JwtInterceptor, deps: [{ token: i1.JwtService }, { token: i2.AuthService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
135
- JwtInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: JwtInterceptor });
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: JwtInterceptor, decorators: [{
134
+ JwtInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtInterceptor, deps: [{ token: i1.JwtService }, { token: i2.AuthService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
135
+ JwtInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtInterceptor });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: JwtInterceptor, decorators: [{
137
137
  type: Injectable
138
138
  }], ctorParameters: function () { return [{ type: i1.JwtService }, { type: i2.AuthService }, { type: undefined, decorators: [{
139
139
  type: Inject,
@@ -24,9 +24,9 @@ export class PreloaderInterceptor {
24
24
  return Object.values(ENDPOINTS).find((endpoint) => endpoint.test(requestPath));
25
25
  }
26
26
  }
27
- PreloaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreloaderInterceptor, deps: [{ token: i1.PreloaderService }], target: i0.ɵɵFactoryTarget.Injectable });
28
- PreloaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreloaderInterceptor });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: PreloaderInterceptor, decorators: [{
27
+ PreloaderInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreloaderInterceptor, deps: [{ token: i1.PreloaderService }], target: i0.ɵɵFactoryTarget.Injectable });
28
+ PreloaderInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreloaderInterceptor });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PreloaderInterceptor, decorators: [{
30
30
  type: Injectable
31
31
  }], ctorParameters: function () { return [{ type: i1.PreloaderService }]; } });
32
32
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2ludGVyY2VwdG9ycy9wcmVsb2FkZXIuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFFL0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQ1UsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDekMsQ0FBQztJQUVKLFNBQVMsQ0FBQyxPQUE2QixFQUFFLElBQWlCO1FBQ3hELE1BQU0sUUFBUSxHQUFhLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDOUIsUUFBUSxDQUFDLEdBQVMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLFlBQVksQ0FBQyxXQUFtQjtRQUN0QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBa0IsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7O2tIQXZCVSxvQkFBb0I7c0hBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSHR0cFJlcXVlc3QsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBJbnRlcmNlcHRvclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFByZWxvYWRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcmVsb2FkZXIvcHJlbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW5kcG9pbnQgfSBmcm9tICcuLi9tb2RlbHMvZW5kcG9pbnQvZW5kcG9pbnQnO1xuaW1wb3J0IHsgRU5EUE9JTlRTIH0gZnJvbSAnLi4vbW9kZWxzL2VuZHBvaW50L2VuZHBvaW50cy5jb25zdCc7XG5cbi8qKlxuICogaW50ZXJjZXB0b3IgZm9yIHByZWxvYWRlciBoYW5kbGluZ1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUHJlbG9hZGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHJlbG9hZGVyU2VydmljZTogUHJlbG9hZGVyU2VydmljZVxuICApIHt9XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgY29uc3QgZW5kcG9pbnQ6IEVuZHBvaW50ID0gdGhpcy5maW5kRW5kcG9pbnQoYCR7cmVxdWVzdC5tZXRob2R9ICR7cmVxdWVzdC51cmx9YCk7XG4gICAgaWYgKCEhZW5kcG9pbnQpIHtcbiAgICAgIHRoaXMucHJlbG9hZGVyU2VydmljZS5hZGQoZW5kcG9pbnQpO1xuXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcbiAgICAgICAgZmluYWxpemUoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMucHJlbG9hZGVyU2VydmljZS5kZWxldGUoZW5kcG9pbnQpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRFbmRwb2ludChyZXF1ZXN0UGF0aDogc3RyaW5nKTogRW5kcG9pbnQge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKEVORFBPSU5UUykuZmluZCgoZW5kcG9pbnQ6IEVuZHBvaW50KTogYm9vbGVhbiA9PiBlbmRwb2ludC50ZXN0KHJlcXVlc3RQYXRoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -41,9 +41,9 @@ export class UserSwitcherInterceptor {
41
41
  return next.handle(this.switch(request, this.userSwitcherService.get()));
42
42
  }
43
43
  }
44
- UserSwitcherInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserSwitcherInterceptor, deps: [{ token: i1.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
45
- UserSwitcherInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserSwitcherInterceptor });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: UserSwitcherInterceptor, decorators: [{
44
+ UserSwitcherInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserSwitcherInterceptor, deps: [{ token: i1.UserSwitcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
45
+ UserSwitcherInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserSwitcherInterceptor });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: UserSwitcherInterceptor, decorators: [{
47
47
  type: Injectable
48
48
  }], ctorParameters: function () { return [{ type: i1.UserSwitcherService }, { type: undefined, decorators: [{
49
49
  type: Inject,
@@ -3,11 +3,12 @@
3
3
  * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form ("Losses" section)
4
4
  */
5
5
  export class MyTaxLosses {
6
- constructor(transactions, businessLosses) {
7
- this.transactions = transactions;
6
+ constructor(businessLosses, transactions, allocations) {
8
7
  this.businessLosses = businessLosses;
8
+ this.transactions = transactions;
9
+ this.allocations = allocations;
9
10
  this.businessLossDeferred = businessLosses.sumBy('openBalance');
10
- this.businessLossApplied = businessLosses.calculateBusinessLossApplied(transactions);
11
+ this.businessLossApplied = businessLosses.calculateBusinessLossApplied(transactions, allocations);
11
12
  }
12
13
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWxvc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L215LXRheC9teS10YXgtbG9zc2VzL215LXRheC1sb3NzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFXdEIsWUFDVSxZQUF1QyxFQUN2QyxjQUE0QztRQUQ1QyxpQkFBWSxHQUFaLFlBQVksQ0FBMkI7UUFDdkMsbUJBQWMsR0FBZCxjQUFjLENBQThCO1FBRXBELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxjQUFjLENBQUMsNEJBQTRCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25CYXNlQ29sbGVjdGlvbiwgU29sZUJ1c2luZXNzTG9zc2VzQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zJztcblxuLyoqXG4gKiBTb2xlIGJ1c2luZXNzIGxvc3NlcyByZXBvcnRcbiAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDY0NDExMDQ2Ni9UYXgrUmV0dXJuK015VGF4Ky0rT25saW5lK0Zvcm0gKFwiTG9zc2VzXCIgc2VjdGlvbilcbiAqL1xuZXhwb3J0IGNsYXNzIE15VGF4TG9zc2VzIHtcbiAgLyoqXG4gICAqIExvc3NlcyBjYXJyaWVkIGZvcndhcmQgZnJvbSBlYXJsaWVyIGluY29tZSB5ZWFyc1xuICAgKi9cbiAgYnVzaW5lc3NMb3NzRGVmZXJyZWQ6IG51bWJlcjtcblxuICAvKipcbiAgICogTG9zc2VzIGFwcGxpZWQgdG8gdGhlIGN1cnJlbnQgeWVhciAodW50aWwgcHJvZml0IGdldHMgdG8gJDApXG4gICAqL1xuICBidXNpbmVzc0xvc3NBcHBsaWVkOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQmFzZUNvbGxlY3Rpb24sXG4gICAgcHJpdmF0ZSBidXNpbmVzc0xvc3NlczogU29sZUJ1c2luZXNzTG9zc2VzQ29sbGVjdGlvblxuICApIHtcbiAgICB0aGlzLmJ1c2luZXNzTG9zc0RlZmVycmVkID0gYnVzaW5lc3NMb3NzZXMuc3VtQnkoJ29wZW5CYWxhbmNlJyk7XG4gICAgdGhpcy5idXNpbmVzc0xvc3NBcHBsaWVkID0gYnVzaW5lc3NMb3NzZXMuY2FsY3VsYXRlQnVzaW5lc3NMb3NzQXBwbGllZCh0cmFuc2FjdGlvbnMpO1xuICB9XG59XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktdGF4LWxvc3Nlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L215LXRheC9teS10YXgtbG9zc2VzL215LXRheC1sb3NzZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFXdEIsWUFDVSxjQUE0QyxFQUM1QyxZQUFtQyxFQUNuQyxXQUE0QztRQUY1QyxtQkFBYyxHQUFkLGNBQWMsQ0FBOEI7UUFDNUMsaUJBQVksR0FBWixZQUFZLENBQXVCO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUFpQztRQUVwRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsY0FBYyxDQUFDLDRCQUE0QixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNwRyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTb2xlQnVzaW5lc3NMb3NzZXNDb2xsZWN0aW9uLFxuICBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uLFxuICBUcmFuc2FjdGlvbkNvbGxlY3Rpb25cbn0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuXG4vKipcbiAqIFNvbGUgYnVzaW5lc3MgbG9zc2VzIHJlcG9ydFxuICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80NjQ0MTEwNDY2L1RheCtSZXR1cm4rTXlUYXgrLStPbmxpbmUrRm9ybSAoXCJMb3NzZXNcIiBzZWN0aW9uKVxuICovXG5leHBvcnQgY2xhc3MgTXlUYXhMb3NzZXMge1xuICAvKipcbiAgICogTG9zc2VzIGNhcnJpZWQgZm9yd2FyZCBmcm9tIGVhcmxpZXIgaW5jb21lIHllYXJzXG4gICAqL1xuICBidXNpbmVzc0xvc3NEZWZlcnJlZDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBMb3NzZXMgYXBwbGllZCB0byB0aGUgY3VycmVudCB5ZWFyICh1bnRpbCBwcm9maXQgZ2V0cyB0byAkMClcbiAgICovXG4gIGJ1c2luZXNzTG9zc0FwcGxpZWQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJ1c2luZXNzTG9zc2VzOiBTb2xlQnVzaW5lc3NMb3NzZXNDb2xsZWN0aW9uLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sXG4gICAgcHJpdmF0ZSBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbixcbiAgKSB7XG4gICAgdGhpcy5idXNpbmVzc0xvc3NEZWZlcnJlZCA9IGJ1c2luZXNzTG9zc2VzLnN1bUJ5KCdvcGVuQmFsYW5jZScpO1xuICAgIHRoaXMuYnVzaW5lc3NMb3NzQXBwbGllZCA9IGJ1c2luZXNzTG9zc2VzLmNhbGN1bGF0ZUJ1c2luZXNzTG9zc0FwcGxpZWQodHJhbnNhY3Rpb25zLCBhbGxvY2F0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,16 +1,17 @@
1
+ import { TransactionAllocationCollection, TransactionCollection } from '../../../../collections';
1
2
  import { AbstractModel } from '../../../../db/Models/abstract-model';
2
- import { SoleBusinessLossesCollection, TransactionBaseCollection } from '../../../../collections';
3
3
  /**
4
4
  * Class with business loss details
5
5
  * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4641357930/Rules+when+a+business+makes+a+loss+Tax+Summary
6
6
  */
7
7
  export class SoleBusinessLossReport extends AbstractModel {
8
- constructor(loss, transactions, depreciations) {
8
+ constructor(loss, transactions, depreciations, allocations) {
9
9
  super();
10
10
  this.openBalance = loss.openBalance;
11
- this.netIncome = transactions.sumBy('claimAmount') - depreciations.sumBy('claimAmount');
12
- this.closeBalance = new SoleBusinessLossesCollection([loss])
13
- .calculateBusinessLossApplied(new TransactionBaseCollection([...transactions, ...depreciations]));
11
+ const claimAmount = new TransactionCollection(transactions.toArray(), depreciations.toArray())
12
+ .getBusinessClaimAmount(loss.business.id, new TransactionAllocationCollection(allocations));
13
+ this.netIncome = claimAmount;
14
+ this.closeBalance = loss.offsetRule ? 0 : claimAmount - this.openBalance;
14
15
  }
15
16
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1idXNpbmVzcy1sb3NzLXJlcG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L3NvbGUvc29sZS1idXNpbmVzcy9zb2xlLWJ1c2luZXNzLWxvc3MtcmVwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVsRzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTtJQWF2RCxZQUFZLElBQXNCLEVBQUUsWUFBbUMsRUFBRSxhQUFxQztRQUM1RyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksNEJBQTRCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN6RCw0QkFBNEIsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29sZUJ1c2luZXNzTG9zcyB9IGZyb20gJy4uLy4uLy4uL3NvbGUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9hYnN0cmFjdC1tb2RlbCc7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3NMb3NzZXNDb2xsZWN0aW9uLCBUcmFuc2FjdGlvbkJhc2VDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMnO1xuXG4vKipcbiAqIENsYXNzIHdpdGggYnVzaW5lc3MgbG9zcyBkZXRhaWxzXG4gKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ2NDEzNTc5MzAvUnVsZXMrd2hlbithK2J1c2luZXNzK21ha2VzK2ErbG9zcytUYXgrU3VtbWFyeVxuICovXG5leHBvcnQgY2xhc3MgU29sZUJ1c2luZXNzTG9zc1JlcG9ydCBleHRlbmRzIEFic3RyYWN0TW9kZWwge1xuICAvKipcbiAgICogQnVzaW5lc3MgcHJpb3IgeWVhciBsb3NzZXNcbiAgICovXG4gIG9wZW5CYWxhbmNlOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE5ldCBpbmNvbWUgcmVkdWNlZCBieSB0aGUgb3BlbmluZyBiYWxhbmNlIGFtb3VudCwgdGhhdCB3aWxsIGJlIGNhcnJpZWQgb3ZlciB0byB0aGUgbmV4dCB5ZWFyLCBpZiBpdCBpcyBwb3NpdGl2ZVxuICAgKi9cbiAgY2xvc2VCYWxhbmNlOiBudW1iZXI7XG5cbiAgbmV0SW5jb21lOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IobG9zczogU29sZUJ1c2luZXNzTG9zcywgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMub3BlbkJhbGFuY2UgPSBsb3NzLm9wZW5CYWxhbmNlO1xuICAgIHRoaXMubmV0SW5jb21lID0gdHJhbnNhY3Rpb25zLnN1bUJ5KCdjbGFpbUFtb3VudCcpIC0gZGVwcmVjaWF0aW9ucy5zdW1CeSgnY2xhaW1BbW91bnQnKTtcbiAgICB0aGlzLmNsb3NlQmFsYW5jZSA9IG5ldyBTb2xlQnVzaW5lc3NMb3NzZXNDb2xsZWN0aW9uKFtsb3NzXSlcbiAgICAgIC5jYWxjdWxhdGVCdXNpbmVzc0xvc3NBcHBsaWVkKG5ldyBUcmFuc2FjdGlvbkJhc2VDb2xsZWN0aW9uKFsuLi50cmFuc2FjdGlvbnMsIC4uLmRlcHJlY2lhdGlvbnNdKSk7XG4gIH1cbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1idXNpbmVzcy1sb3NzLXJlcG9ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcmVwb3J0L3NvbGUvc29sZS1idXNpbmVzcy9zb2xlLWJ1c2luZXNzLWxvc3MtcmVwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQywrQkFBK0IsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRS9GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUdyRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTtJQWF2RCxZQUFZLElBQXNCLEVBQUUsWUFBbUMsRUFBRSxhQUFxQyxFQUFFLFdBQW9DO1FBQ2xKLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLElBQUkscUJBQXFCLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUMzRixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLCtCQUErQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDOUYsSUFBSSxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzNFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvbGVCdXNpbmVzc0xvc3MgfSBmcm9tICcuLi8uLi8uLi9zb2xlJztcbmltcG9ydCB7VHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbiwgVHJhbnNhY3Rpb25Db2xsZWN0aW9ufSBmcm9tICcuLi8uLi8uLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMvZGVwcmVjaWF0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9hYnN0cmFjdC1tb2RlbCc7XG5pbXBvcnQge1RyYW5zYWN0aW9uQWxsb2NhdGlvbn0gZnJvbSAnLi4vLi4vLi4vdHJhbnNhY3Rpb24nO1xuXG4vKipcbiAqIENsYXNzIHdpdGggYnVzaW5lc3MgbG9zcyBkZXRhaWxzXG4gKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQ2NDEzNTc5MzAvUnVsZXMrd2hlbithK2J1c2luZXNzK21ha2VzK2ErbG9zcytUYXgrU3VtbWFyeVxuICovXG5leHBvcnQgY2xhc3MgU29sZUJ1c2luZXNzTG9zc1JlcG9ydCBleHRlbmRzIEFic3RyYWN0TW9kZWwge1xuICAvKipcbiAgICogQnVzaW5lc3MgcHJpb3IgeWVhciBsb3NzZXNcbiAgICovXG4gIG9wZW5CYWxhbmNlOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE5ldCBpbmNvbWUgcmVkdWNlZCBieSB0aGUgb3BlbmluZyBiYWxhbmNlIGFtb3VudCwgdGhhdCB3aWxsIGJlIGNhcnJpZWQgb3ZlciB0byB0aGUgbmV4dCB5ZWFyLCBpZiBpdCBpcyBwb3NpdGl2ZVxuICAgKi9cbiAgY2xvc2VCYWxhbmNlOiBudW1iZXI7XG5cbiAgbmV0SW5jb21lOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IobG9zczogU29sZUJ1c2luZXNzTG9zcywgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24sIGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25bXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5vcGVuQmFsYW5jZSA9IGxvc3Mub3BlbkJhbGFuY2U7XG4gICAgY29uc3QgY2xhaW1BbW91bnQgPSBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKHRyYW5zYWN0aW9ucy50b0FycmF5KCksIGRlcHJlY2lhdGlvbnMudG9BcnJheSgpKVxuICAgICAgLmdldEJ1c2luZXNzQ2xhaW1BbW91bnQobG9zcy5idXNpbmVzcy5pZCwgbmV3IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24oYWxsb2NhdGlvbnMpKTtcbiAgICB0aGlzLm5ldEluY29tZSA9IGNsYWltQW1vdW50O1xuICAgIHRoaXMuY2xvc2VCYWxhbmNlID0gbG9zcy5vZmZzZXRSdWxlID8gMCA6IGNsYWltQW1vdW50IC0gdGhpcy5vcGVuQmFsYW5jZTtcbiAgfVxufVxuIl19
@@ -120,7 +120,6 @@ export class SoleInvoice extends SoleInvoiceBase {
120
120
  }
121
121
  getTransactionsIds() {
122
122
  return new Collection(this.items).mapBy('transaction.id');
123
- this.items.map((item) => item.transaction.id);
124
123
  }
125
124
  }
126
125
  SoleInvoice.NUMBER_LENGTH = 4;
@@ -148,4 +147,4 @@ __decorate([
148
147
  __decorate([
149
148
  Type(() => BankAccount)
150
149
  ], SoleInvoice.prototype, "bankAccount", void 0);
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9zb2xlL3NvbGUtaW52b2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsSUFBSSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDaEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUxRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQWU7SUFBaEQ7O1FBMkJFLFdBQU0sR0FBNEIsdUJBQXVCLENBQUMsS0FBSyxDQUFDO1FBQ2hFLFlBQU8sR0FBMkIsc0JBQXNCLENBQUMsTUFBTSxDQUFDO0lBK0hsRSxDQUFDO0lBN0hDOztPQUVHO0lBQ0gsSUFBSSxlQUFlO1FBQ2pCLE9B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SUFFRCxTQUFTO1FBQ1AsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLFdBQVcsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDM0MsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQXFCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQzs7QUF6Sk0seUJBQWEsR0FBRyxDQUFDLENBQUM7QUFHekI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzZDQUNGO0FBR2Y7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzJDQUNKO0FBR2I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNOO0FBR1g7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDOzZDQUNGO0FBR3ZCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQzswQ0FDSDtBQUd6QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7MENBQ0w7QUFHbkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7NkNBQ0Y7QUFHOUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO2dEQUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29sZUludm9pY2UgYXMgU29sZUludm9pY2VCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3NvbGUvc29sZS1pbnZvaWNlJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyL3VzZXInO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzIH0gZnJvbSAnLi9zb2xlLWJ1c2luZXNzJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlSXRlbSB9IGZyb20gJy4vc29sZS1pbnZvaWNlLWl0ZW0nO1xuaW1wb3J0IHsgU29sZUNvbnRhY3QgfSBmcm9tICcuL3NvbGUtY29udGFjdCc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZVRlbXBsYXRlIH0gZnJvbSAnLi9zb2xlLWludm9pY2UtdGVtcGxhdGUnO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFNvbGVJbnZvaWNlU3RhdHVzZXNFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvc29sZS1pbnZvaWNlLXN0YXR1c2VzLmVudW0nO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi9iYW5rL2JhbmstYWNjb3VudCc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZVRheFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvc29sZS1pbnZvaWNlLXRheC10eXBlLmVudW0nO1xuaW1wb3J0IHsgU29sZUludm9pY2VJdGVtQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL3NvbGUvc29sZS1pbnZvaWNlLWl0ZW0uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2NvbGxlY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgU29sZUludm9pY2UgZXh0ZW5kcyBTb2xlSW52b2ljZUJhc2Uge1xuICBzdGF0aWMgTlVNQkVSX0xFTkdUSCA9IDQ7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZUZyb206IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZVRvOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFVzZXIpXG4gIHVzZXI6IFVzZXI7XG5cbiAgQFR5cGUoKCkgPT4gU29sZUJ1c2luZXNzKVxuICBidXNpbmVzczogU29sZUJ1c2luZXNzO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVJbnZvaWNlSXRlbSlcbiAgaXRlbXM6IFNvbGVJbnZvaWNlSXRlbVtdO1xuXG4gIEBUeXBlKCgpID0+IFNvbGVDb250YWN0KVxuICBwYXllcjogU29sZUNvbnRhY3Q7XG5cbiAgQFR5cGUoKCkgPT4gU29sZUludm9pY2VUZW1wbGF0ZSlcbiAgdGVtcGxhdGU6IFNvbGVJbnZvaWNlVGVtcGxhdGU7XG5cbiAgQFR5cGUoKCkgPT4gQmFua0FjY291bnQpXG4gIGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudDtcblxuICBzdGF0dXM6IFNvbGVJbnZvaWNlU3RhdHVzZXNFbnVtID0gU29sZUludm9pY2VTdGF0dXNlc0VudW0uRFJBRlQ7XG4gIHRheFR5cGU6IFNvbGVJbnZvaWNlVGF4VHlwZUVudW0gPSBTb2xlSW52b2ljZVRheFR5cGVFbnVtLk5PX1RBWDtcblxuICAvKipcbiAgICogR2V0IGl0ZW1zIGFycmF5IGFzIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBpdGVtc0NvbGxlY3Rpb24oKTogU29sZUludm9pY2VJdGVtQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBTb2xlSW52b2ljZUl0ZW1Db2xsZWN0aW9uKHRoaXMuaXRlbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvdGFsIHByaWNlIG9mIGFsbCBpdGVtc1xuICAgKi9cbiAgcHJpdmF0ZSBnZXQgcHJpY2UoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtc0NvbGxlY3Rpb24uc3VtQnkoJ3RvdGFsUHJpY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb3RhbCBpbnZvaWNlIHByaWNlIHdpdGhvdXQgR1NUXG4gICAqL1xuICBnZXQgbmV0UHJpY2UoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5pc1RheEluY2x1c2l2ZSgpKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcmljZSAtIHRoaXMuR1NUQW1vdW50O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByaWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvdGFsIGZpbmFsIHByaWNlIChuZXQgKyBHU1QpXG4gICAqL1xuICBnZXQgZ3Jvc3NQcmljZSgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmlzVGF4RXhjbHVzaXZlKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByaWNlICsgdGhpcy5HU1RBbW91bnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHJpY2U7XG4gIH1cblxuICAvKipcbiAgICogVG90YWwgR1NUIGFtb3VudFxuICAgKi9cbiAgZ2V0IEdTVEFtb3VudCgpOiBudW1iZXIge1xuICAgIHN3aXRjaCAodGhpcy50YXhUeXBlKSB7XG4gICAgICBjYXNlIFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uVEFYX0lOQ0xVU0lWRTpcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5jbHVzaXZlR1NUQW1vdW50O1xuICAgICAgY2FzZSBTb2xlSW52b2ljZVRheFR5cGVFbnVtLlRBWF9FWENMVVNJVkU6XG4gICAgICAgIHJldHVybiB0aGlzLmV4Y2x1c2l2ZUdTVEFtb3VudDtcbiAgICAgIGNhc2UgU29sZUludm9pY2VUYXhUeXBlRW51bS5OT19UQVg6XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHRheCBpbmNsdXNpdmUsIEdTVCBhbW91bnQgaXMgaW5jbHVkZWQgdG8gdG90YWwgcHJpY2VcbiAgICovXG4gIHByaXZhdGUgZ2V0IGluY2x1c2l2ZUdTVEFtb3VudCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGdzdFByaWNlID0gdGhpcy5pdGVtc0NvbGxlY3Rpb24uZ3N0UHJpY2U7XG5cbiAgICByZXR1cm4gKyhnc3RQcmljZSAtIChnc3RQcmljZSAvICgxICsgQ2hhcnRBY2NvdW50cy5HU1RSYXRpbykpKS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdGF4IGV4Y2x1c2l2ZSwgR1NUIGFtb3VudCBzaG91bGQgYmUgYWRkZWQgYWRkaXRpb25hbGx5IHRvIHRvdGFsIHByaWNlXG4gICAqL1xuICBwcml2YXRlIGdldCBleGNsdXNpdmVHU1RBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKyh0aGlzLml0ZW1zQ29sbGVjdGlvbi5nc3RQcmljZSAqIENoYXJ0QWNjb3VudHMuR1NUUmF0aW8pLnRvRml4ZWQoMilcbiAgfVxuXG4gIGlzRHJhZnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBTb2xlSW52b2ljZVN0YXR1c2VzRW51bS5EUkFGVDtcbiAgfVxuXG4gIGlzQ2FuY2VsbGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU29sZUludm9pY2VTdGF0dXNlc0VudW0uQ0FOQ0VMRUQ7XG4gIH1cblxuICBpc1BlbmRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBTb2xlSW52b2ljZVN0YXR1c2VzRW51bS5QRU5ESU5HO1xuICB9XG5cbiAgaXNQYWlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU29sZUludm9pY2VTdGF0dXNlc0VudW0uUEFJRDtcbiAgfVxuXG4gIGlzT3ZlcmR1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1BlbmRpbmcoKSAmJiB0aGlzLmRhdGVUbyA8IG5ldyBEYXRlKCk7XG4gIH1cblxuICBpc1VucGFpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1BlbmRpbmcoKSAmJiB0aGlzLmRhdGVUbyA+PSBuZXcgRGF0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdTVCBpcyBub3QgYXZhaWxhYmxlIGZvciBpbnZvaWNlcyB3aXRob3V0IHRheGVzXG4gICAqL1xuICBpc05vVGF4KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRheFR5cGUgPT09IFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uTk9fVEFYO1xuICB9XG5cbiAgLyoqXG4gICAqIEdTVCBhbW91bnQgaXMgbm90IGluY2x1ZGVkIGluIGl0ZW1zIHByaWNlcyBmb3IgaW52b2ljZXMgd2l0aCB0YXggZXhjbHVzaXZlLFxuICAgKiB3ZSBzaG91bGQgYWRkIEdTVCBhbW91bnQgYWRkaXRpb25hbHkgdG8gc3VidG90YWwgcHJpY2UgdG8gZ2V0IHRvdGFsIHByaWNlXG4gICAqL1xuICBpc1RheEV4Y2x1c2l2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50YXhUeXBlID09PSBTb2xlSW52b2ljZVRheFR5cGVFbnVtLlRBWF9FWENMVVNJVkU7XG4gIH1cblxuICAvKipcbiAgICogR1NUIGFtb3VudCBhbHJlYWR5IGluY2x1ZGVkIGluIGl0ZW1zIHByaWNlcyBmb3IgaW52b2ljZXMgd2l0aCB0YXggaW5jbHVzaXZlLFxuICAgKiB3ZSBzaG91bGQgc3VidHJhY3QgR1NUIGFtb3VudCBmcm9tIHRvdGFsIHByaWNlIHRvIGdldCBzdWJ0b3RhbCBwcmljZVxuICAgKi9cbiAgaXNUYXhJbmNsdXNpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGF4VHlwZSA9PT0gU29sZUludm9pY2VUYXhUeXBlRW51bS5UQVhfSU5DTFVTSVZFO1xuICB9XG5cbiAgZ2V0TnVtYmVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZyh0aGlzLm51bWJlcikucGFkU3RhcnQoU29sZUludm9pY2UuTlVNQkVSX0xFTkdUSCwgJzAnKTtcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBpbnZvaWNlLSR7dGhpcy5nZXROdW1iZXIoKX0ucGRmYDtcbiAgfVxuXG4gIGdldFRyYW5zYWN0aW9uc0lkcygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKHRoaXMuaXRlbXMpLm1hcEJ5KCd0cmFuc2FjdGlvbi5pZCcpO1xuICAgIHRoaXMuaXRlbXMubWFwKChpdGVtOiBTb2xlSW52b2ljZUl0ZW0pID0+IGl0ZW0udHJhbnNhY3Rpb24uaWQpO1xuICB9XG59XG4iXX0=
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9zb2xlL3NvbGUtaW52b2ljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsSUFBSSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDaEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUxRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGVBQWU7SUFBaEQ7O1FBMkJFLFdBQU0sR0FBNEIsdUJBQXVCLENBQUMsS0FBSyxDQUFDO1FBQ2hFLFlBQU8sR0FBMkIsc0JBQXNCLENBQUMsTUFBTSxDQUFDO0lBOEhsRSxDQUFDO0lBNUhDOztPQUVHO0lBQ0gsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBWSxLQUFLO1FBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNwQztRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFVBQVU7UUFDWixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNwQztRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFNBQVM7UUFDWCxRQUFRLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDcEIsS0FBSyxzQkFBc0IsQ0FBQyxhQUFhO2dCQUN2QyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUNqQyxLQUFLLHNCQUFzQixDQUFDLGFBQWE7Z0JBQ3ZDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBQ2pDLEtBQUssc0JBQXNCLENBQUMsTUFBTTtnQkFDaEMsT0FBTyxDQUFDLENBQUM7U0FDWjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQVksa0JBQWtCO1FBQzVCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBRS9DLE9BQU8sQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFZLGtCQUFrQjtRQUM1QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLHVCQUF1QixDQUFDLEtBQUssQ0FBQztJQUN2RCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7SUFDMUQsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssdUJBQXVCLENBQUMsT0FBTyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLHVCQUF1QixDQUFDLElBQUksQ0FBQztJQUN0RCxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztJQUN4RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxzQkFBc0IsQ0FBQyxhQUFhLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssc0JBQXNCLENBQUMsYUFBYSxDQUFDO0lBQy9ELENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLFdBQVcsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDM0MsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1RCxDQUFDOztBQXhKTSx5QkFBYSxHQUFHLENBQUMsQ0FBQztBQUd6QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7NkNBQ0Y7QUFHZjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7MkNBQ0o7QUFHYjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7NkNBQ0Y7QUFHdkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDOzBDQUNIO0FBR3pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQzswQ0FDTDtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzs2Q0FDRjtBQUc5QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7Z0RBQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb2xlSW52b2ljZSBhcyBTb2xlSW52b2ljZUJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvc29sZS9zb2xlLWludm9pY2UnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3MgfSBmcm9tICcuL3NvbGUtYnVzaW5lc3MnO1xuaW1wb3J0IHsgU29sZUludm9pY2VJdGVtIH0gZnJvbSAnLi9zb2xlLWludm9pY2UtaXRlbSc7XG5pbXBvcnQgeyBTb2xlQ29udGFjdCB9IGZyb20gJy4vc29sZS1jb250YWN0JztcbmltcG9ydCB7IFNvbGVJbnZvaWNlVGVtcGxhdGUgfSBmcm9tICcuL3NvbGUtaW52b2ljZS10ZW1wbGF0ZSc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgU29sZUludm9pY2VTdGF0dXNlc0VudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9zb2xlLWludm9pY2Utc3RhdHVzZXMuZW51bSc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IFNvbGVJbnZvaWNlVGF4VHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9zb2xlLWludm9pY2UtdGF4LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZUl0ZW1Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvc29sZS9zb2xlLWludm9pY2UtaXRlbS5jb2xsZWN0aW9uJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29sbGVjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBTb2xlSW52b2ljZSBleHRlbmRzIFNvbGVJbnZvaWNlQmFzZSB7XG4gIHN0YXRpYyBOVU1CRVJfTEVOR1RIID0gNDtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlRnJvbTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlVG86IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcjogVXNlcjtcblxuICBAVHlwZSgoKSA9PiBTb2xlQnVzaW5lc3MpXG4gIGJ1c2luZXNzOiBTb2xlQnVzaW5lc3M7XG5cbiAgQFR5cGUoKCkgPT4gU29sZUludm9pY2VJdGVtKVxuICBpdGVtczogU29sZUludm9pY2VJdGVtW107XG5cbiAgQFR5cGUoKCkgPT4gU29sZUNvbnRhY3QpXG4gIHBheWVyOiBTb2xlQ29udGFjdDtcblxuICBAVHlwZSgoKSA9PiBTb2xlSW52b2ljZVRlbXBsYXRlKVxuICB0ZW1wbGF0ZTogU29sZUludm9pY2VUZW1wbGF0ZTtcblxuICBAVHlwZSgoKSA9PiBCYW5rQWNjb3VudClcbiAgYmFua0FjY291bnQ6IEJhbmtBY2NvdW50O1xuXG4gIHN0YXR1czogU29sZUludm9pY2VTdGF0dXNlc0VudW0gPSBTb2xlSW52b2ljZVN0YXR1c2VzRW51bS5EUkFGVDtcbiAgdGF4VHlwZTogU29sZUludm9pY2VUYXhUeXBlRW51bSA9IFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uTk9fVEFYO1xuXG4gIC8qKlxuICAgKiBHZXQgaXRlbXMgYXJyYXkgYXMgY29sbGVjdGlvblxuICAgKi9cbiAgZ2V0IGl0ZW1zQ29sbGVjdGlvbigpOiBTb2xlSW52b2ljZUl0ZW1Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFNvbGVJbnZvaWNlSXRlbUNvbGxlY3Rpb24odGhpcy5pdGVtcyk7XG4gIH1cblxuICAvKipcbiAgICogVG90YWwgcHJpY2Ugb2YgYWxsIGl0ZW1zXG4gICAqL1xuICBwcml2YXRlIGdldCBwcmljZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zQ29sbGVjdGlvbi5zdW1CeSgndG90YWxQcmljZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvdGFsIGludm9pY2UgcHJpY2Ugd2l0aG91dCBHU1RcbiAgICovXG4gIGdldCBuZXRQcmljZSgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmlzVGF4SW5jbHVzaXZlKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnByaWNlIC0gdGhpcy5HU1RBbW91bnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHJpY2U7XG4gIH1cblxuICAvKipcbiAgICogVG90YWwgZmluYWwgcHJpY2UgKG5ldCArIEdTVClcbiAgICovXG4gIGdldCBncm9zc1ByaWNlKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuaXNUYXhFeGNsdXNpdmUoKSkge1xuICAgICAgcmV0dXJuIHRoaXMucHJpY2UgKyB0aGlzLkdTVEFtb3VudDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wcmljZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb3RhbCBHU1QgYW1vdW50XG4gICAqL1xuICBnZXQgR1NUQW1vdW50KCk6IG51bWJlciB7XG4gICAgc3dpdGNoICh0aGlzLnRheFR5cGUpIHtcbiAgICAgIGNhc2UgU29sZUludm9pY2VUYXhUeXBlRW51bS5UQVhfSU5DTFVTSVZFOlxuICAgICAgICByZXR1cm4gdGhpcy5pbmNsdXNpdmVHU1RBbW91bnQ7XG4gICAgICBjYXNlIFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uVEFYX0VYQ0xVU0lWRTpcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhjbHVzaXZlR1NUQW1vdW50O1xuICAgICAgY2FzZSBTb2xlSW52b2ljZVRheFR5cGVFbnVtLk5PX1RBWDpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdGF4IGluY2x1c2l2ZSwgR1NUIGFtb3VudCBpcyBpbmNsdWRlZCB0byB0b3RhbCBwcmljZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXQgaW5jbHVzaXZlR1NUQW1vdW50KCk6IG51bWJlciB7XG4gICAgY29uc3QgZ3N0UHJpY2UgPSB0aGlzLml0ZW1zQ29sbGVjdGlvbi5nc3RQcmljZTtcblxuICAgIHJldHVybiArKGdzdFByaWNlIC0gKGdzdFByaWNlIC8gKDEgKyBDaGFydEFjY291bnRzLkdTVFJhdGlvKSkpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB0YXggZXhjbHVzaXZlLCBHU1QgYW1vdW50IHNob3VsZCBiZSBhZGRlZCBhZGRpdGlvbmFsbHkgdG8gdG90YWwgcHJpY2VcbiAgICovXG4gIHByaXZhdGUgZ2V0IGV4Y2x1c2l2ZUdTVEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiArKHRoaXMuaXRlbXNDb2xsZWN0aW9uLmdzdFByaWNlICogQ2hhcnRBY2NvdW50cy5HU1RSYXRpbykudG9GaXhlZCgyKVxuICB9XG5cbiAgaXNEcmFmdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFNvbGVJbnZvaWNlU3RhdHVzZXNFbnVtLkRSQUZUO1xuICB9XG5cbiAgaXNDYW5jZWxsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBTb2xlSW52b2ljZVN0YXR1c2VzRW51bS5DQU5DRUxFRDtcbiAgfVxuXG4gIGlzUGVuZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFNvbGVJbnZvaWNlU3RhdHVzZXNFbnVtLlBFTkRJTkc7XG4gIH1cblxuICBpc1BhaWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBTb2xlSW52b2ljZVN0YXR1c2VzRW51bS5QQUlEO1xuICB9XG5cbiAgaXNPdmVyZHVlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzUGVuZGluZygpICYmIHRoaXMuZGF0ZVRvIDwgbmV3IERhdGUoKTtcbiAgfVxuXG4gIGlzVW5wYWlkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzUGVuZGluZygpICYmIHRoaXMuZGF0ZVRvID49IG5ldyBEYXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogR1NUIGlzIG5vdCBhdmFpbGFibGUgZm9yIGludm9pY2VzIHdpdGhvdXQgdGF4ZXNcbiAgICovXG4gIGlzTm9UYXgoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudGF4VHlwZSA9PT0gU29sZUludm9pY2VUYXhUeXBlRW51bS5OT19UQVg7XG4gIH1cblxuICAvKipcbiAgICogR1NUIGFtb3VudCBpcyBub3QgaW5jbHVkZWQgaW4gaXRlbXMgcHJpY2VzIGZvciBpbnZvaWNlcyB3aXRoIHRheCBleGNsdXNpdmUsXG4gICAqIHdlIHNob3VsZCBhZGQgR1NUIGFtb3VudCBhZGRpdGlvbmFseSB0byBzdWJ0b3RhbCBwcmljZSB0byBnZXQgdG90YWwgcHJpY2VcbiAgICovXG4gIGlzVGF4RXhjbHVzaXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRheFR5cGUgPT09IFNvbGVJbnZvaWNlVGF4VHlwZUVudW0uVEFYX0VYQ0xVU0lWRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHU1QgYW1vdW50IGFscmVhZHkgaW5jbHVkZWQgaW4gaXRlbXMgcHJpY2VzIGZvciBpbnZvaWNlcyB3aXRoIHRheCBpbmNsdXNpdmUsXG4gICAqIHdlIHNob3VsZCBzdWJ0cmFjdCBHU1QgYW1vdW50IGZyb20gdG90YWwgcHJpY2UgdG8gZ2V0IHN1YnRvdGFsIHByaWNlXG4gICAqL1xuICBpc1RheEluY2x1c2l2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50YXhUeXBlID09PSBTb2xlSW52b2ljZVRheFR5cGVFbnVtLlRBWF9JTkNMVVNJVkU7XG4gIH1cblxuICBnZXROdW1iZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU3RyaW5nKHRoaXMubnVtYmVyKS5wYWRTdGFydChTb2xlSW52b2ljZS5OVU1CRVJfTEVOR1RILCAnMCcpO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGludm9pY2UtJHt0aGlzLmdldE51bWJlcigpfS5wZGZgO1xuICB9XG5cbiAgZ2V0VHJhbnNhY3Rpb25zSWRzKCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24odGhpcy5pdGVtcykubWFwQnkoJ3RyYW5zYWN0aW9uLmlkJyk7XG4gIH1cbn1cbiJdfQ==
@@ -98,6 +98,18 @@ export class TaxSummary {
98
98
  const lossCurrent = this.sole.items.sumByCategoriesAndSection(TAX_RETURN_CATEGORIES.sole.lossCurrent, TaxSummarySectionEnum.SOLE_TANK);
99
99
  return profit - lossCurrent;
100
100
  }
101
+ getDeferredBusinessLoss(business) {
102
+ var _a;
103
+ return (_a = this.sole.items
104
+ .findByCategory(TaxReturnCategoryListEnum.DEFERRED_BUSINESS_LOSSES).items
105
+ .findBy('title', `Item 15c - ${business.name}`)) === null || _a === void 0 ? void 0 : _a.amount;
106
+ }
107
+ getBusinessCloseBalance(business) {
108
+ var _a;
109
+ return (_a = this.sole.items
110
+ .findByCategory(TaxReturnCategoryListEnum.BUSINESS_INCOME_OR_LOSS).items
111
+ .findBy('title', `Item 15c - ${business.name}`)) === null || _a === void 0 ? void 0 : _a.amount;
112
+ }
101
113
  }
102
114
  __decorate([
103
115
  Type(() => TaxSummarySection)
@@ -114,4 +126,4 @@ __decorate([
114
126
  __decorate([
115
127
  Type(() => TaxSummarySection)
116
128
  ], TaxSummary.prototype, "summary", void 0);
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXN1bW1hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDaEcsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFFOUU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFrQnJCLElBQUksUUFBUTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUMzQixPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDeEgsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksV0FBVztRQUNiLE1BQU0sV0FBVyxHQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLHFCQUFxQixDQUFD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QyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs0Q0FDRjtBQUc1QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzt5Q0FDTDtBQUd6QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzt3Q0FDTjtBQUd4QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzsyQ0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGF4U3VtbWFyeVNlY3Rpb259IGZyb20gJy4vdGF4LXN1bW1hcnktc2VjdGlvbic7XG5pbXBvcnQge1R5cGV9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7VEFYX1JFVFVSTl9DQVRFR09SSUVTfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy90YXgtc3VtbWFyeS90YXgtcmV0dXJuLWNhdGVnb3JpZXMuY29uc3QnO1xuaW1wb3J0IHtUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YXgtcmV0dXJuLWNhdGVnb3J5LWxpc3QuZW51bSc7XG5pbXBvcnQge1RheFN1bW1hcnlTZWN0aW9uRW51bX0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGF4LXN1bW1hcnktc2VjdGlvbi5lbnVtJztcblxuLyoqXG4gKiBAVG9kbyByZWZhY3RvciB3aXRoIGJhc2UgbW9kZWwgd2hlbiBpdCB3aWxsIGJlIHByb3ZpZGVkXG4gKiBUYXggc3VtbWFyeSByZXBvcnQgc3RydWN0dXJlXG4gKi9cbmV4cG9ydCBjbGFzcyBUYXhTdW1tYXJ5IHtcbiAgQFR5cGUoKCkgPT4gVGF4U3VtbWFyeVNlY3Rpb24pXG4gIHdvcms6IFRheFN1bW1hcnlTZWN0aW9uO1xuXG4gIEBUeXBlKCgpID0+IFRheFN1bW1hcnlTZWN0aW9uKVxuICBwcm9wZXJ0eTogVGF4U3VtbWFyeVNlY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gVGF4U3VtbWFyeVNlY3Rpb24pXG4gIG90aGVyOiBUYXhTdW1tYXJ5U2VjdGlvbjtcblxuICBAVHlwZSgoKSA9PiBUYXhTdW1tYXJ5U2VjdGlvbilcbiAgc29sZTogVGF4U3VtbWFyeVNlY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gVGF4U3VtbWFyeVNlY3Rpb24pXG4gIHN1bW1hcnk6IFRheFN1bW1hcnlTZWN0aW9uO1xuXG4gIHByb2plY3RlZFRheFBvc2l0aW9uOiBudW1iZXI7XG5cbiAgZ2V0IHNlY3Rpb25zKCk6IFRheFN1bW1hcnlTZWN0aW9uW10ge1xuICAgIHJldHVybiBbdGhpcy53b3JrLCB0aGlzLnByb3BlcnR5LCB0aGlzLm90aGVyLCB0aGlzLnNvbGUsIHRoaXMuc3VtbWFyeV07XG4gIH1cblxuICBnZXQgdGF4UGVyY2VudCgpOiBudW1iZXIge1xuICAgIC8vIENoZWNrIGlmIG5ldEFtb3VudCBpcyBub3QgMCB0byBhdm9pZCBkaXZpc2lvbiBieSB6ZXJvXG4gICAgaWYgKCF0aGlzLnN1bW1hcnkubmV0QW1vdW50KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdW1tYXJ5Lml0ZW1zLmZpbmRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uR1JPU1NfVEFYX1BBWUFCTEUpLmFtb3VudCAvIHRoaXMuc3VtbWFyeS5uZXRBbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogV29yayBOZXQgQ2FzaCA9IEluY29tZSAtIHRheCB3aXRoaGVsZCAtIGV4cGVuc2VzIC0gaW50ZXJlc3RcbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTc2Nzc5OTAvRGFzaGJvYXJkK01haW5cbiAgICovXG4gIGdldCB3b3JrTmV0Q2FzaCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHRheFdpdGhoZWxkOiBudW1iZXIgPSB0aGlzLnN1bW1hcnkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMud29yay50YXhXaXRoaGVsZCwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLldPUktfVEFOSyk7XG5cbiAgICByZXR1cm4gdGhpcy53b3JrTmV0VG90YWwgLSBNYXRoLmFicyh0YXhXaXRoaGVsZCk7XG4gIH1cblxuICAvKipcbiAgICogV29yayBOZXQgVG90YWwgPSBJbmNvbWUgLSBleHBlbnNlcyAtIGludGVyZXN0XG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3Njc3OTkwL0Rhc2hib2FyZCtNYWluXG4gICAqL1xuICBnZXQgd29ya05ldFRvdGFsKCk6IG51bWJlciB7XG4gICAgY29uc3QgaW5jb21lOiBudW1iZXIgPSB0aGlzLndvcmsuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMud29yay5pbmNvbWUsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5XT1JLX1RBTkspO1xuICAgIGNvbnN0IGV4cGVuc2VzOiBudW1iZXIgPSB0aGlzLndvcmsuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMud29yay5leHBlbnNlcywgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLldPUktfVEFOSyk7XG4gICAgY29uc3QgaW50ZXJlc3Q6IG51bWJlciA9IHRoaXMuc3VtbWFyeS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFRBWF9SRVRVUk5fQ0FURUdPUklFUy53b3JrLmludGVyZXN0LCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uV09SS19UQU5LKTtcblxuICAgIHJldHVybiBpbmNvbWUgLSBNYXRoLmFicyhleHBlbnNlcykgLSBNYXRoLmFicyhpbnRlcmVzdCk7XG4gIH1cblxuICAvKipcbiAgICogUHJvcGVydHkgTmV0IENhc2ggKENhc2ggUG9zaXRpb24pID0gUmVudGFsIEluY29tZSAtIGV4cGVuc2VzIC0gaW50ZXJlc3RcbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTc2Nzc5OTAvRGFzaGJvYXJkK01haW5cbiAgICovXG4gIGdldCBwcm9wZXJ0eU5ldENhc2goKTogbnVtYmVyIHtcbiAgICBjb25zdCBpbmNvbWU6IG51bWJlciA9IHRoaXMucHJvcGVydHkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMucHJvcGVydHkuaW5jb21lLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uUFJPUEVSVFlfVEFOSyk7XG4gICAgY29uc3QgZXhwZW5zZXM6IG51bWJlciA9IHRoaXMucHJvcGVydHkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMucHJvcGVydHkuZXhwZW5zZXMsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5QUk9QRVJUWV9UQU5LKTtcbiAgICBjb25zdCBpbnRlcmVzdDogbnVtYmVyID0gdGhpcy5wcm9wZXJ0eS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFRBWF9SRVRVUk5fQ0FURUdPUklFUy5wcm9wZXJ0eS5pbnRlcmVzdCwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLlBST1BFUlRZX1RBTkspO1xuXG4gICAgcmV0dXJuIGluY29tZSAtIE1hdGguYWJzKGV4cGVuc2VzKSAtIE1hdGguYWJzKGludGVyZXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9wZXJ0eSBOZXQgVG90YWwgKFRheCBQb3NpdGlvbikgPSBSZW50YWwgSW5jb21lIC0gZXhwZW5zZXMgLSBpbnRlcmVzdCAtIGRlcHJlY2lhdGlvblxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxNzY3Nzk5MC9EYXNoYm9hcmQrTWFpblxuICAgKi9cbiAgZ2V0IHByb3BlcnR5TmV0VG90YWwoKTogbnVtYmVyIHtcbiAgICBjb25zdCBkZXByZWNpYXRpb246IG51bWJlciA9IHRoaXMucHJvcGVydHkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMucHJvcGVydHkuZGVwcmVjaWF0aW9uLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uUFJPUEVSVFlfVEFOSyk7XG5cbiAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eU5ldENhc2ggLSBNYXRoLmFicyhkZXByZWNpYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIE90aGVyIE5ldCBDYXNoID0gZ3Jvc3MgaW5jb21lIOKAkyBleHBlbnNlcyDigJMgdGF4IHdpdGhoZWxkIC0gdGF4IGluc3RhbG1lbnRzXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3Njc3OTkwL0Rhc2hib2FyZCtNYWluXG4gICAqL1xuICBnZXQgb3RoZXJOZXRDYXNoKCk6IG51bWJlciB7XG4gICAgY29uc3QgaW5jb21lOiBudW1iZXIgPSB0aGlzLm90aGVyLml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLm90aGVyLmluY29tZSwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLk9USEVSX1RBTkspO1xuICAgIGNvbnN0IGV4cGVuc2VzOiBudW1iZXIgPSB0aGlzLm90aGVyLml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLm90aGVyLmV4cGVuc2VzLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uT1RIRVJfVEFOSyk7XG4gICAgY29uc3QgdGF4V2l0aGhlbGQ6IG51bWJlciA9IHRoaXMuc3VtbWFyeS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFtUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9XSVRISEVMRF0sIFRheFN1bW1hcnlTZWN0aW9uRW51bS5PVEhFUl9UQU5LKTtcbiAgICBjb25zdCB0YXhJbnN0YWxtZW50czogbnVtYmVyID0gdGhpcy5zdW1tYXJ5Lml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oW1RheFJldHVybkNhdGVnb3J5TGlzdEVudW0uVEFYX0lOU1RBTE1FTlRTXSwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLk9USEVSX1RBTkspO1xuXG4gICAgcmV0dXJuIGluY29tZSAtIE1hdGguYWJzKGV4cGVuc2VzKSAtIE1hdGguYWJzKHRheFdpdGhoZWxkKSAtIE1hdGguYWJzKHRheEluc3RhbG1lbnRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdGhlciBOZXQgVG90YWwgPSBHcm9zcyBpbmNvbWUgLSBleHBlbnNlcyArIHRheCBvZmZzZXRzICsgdGF4IGluc3RhbG1lbnRzICsgZnJhbmtpbmcgY3JlZGl0c1xuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxNzY3Nzk5MC9EYXNoYm9hcmQrTWFpblxuICAgKi9cbiAgZ2V0IG90aGVyTmV0VG90YWwoKTogbnVtYmVyIHtcbiAgICBjb25zdCBpbmNvbWU6IG51bWJlciA9IHRoaXMub3RoZXIuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMub3RoZXIuaW5jb21lLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uT1RIRVJfVEFOSyk7XG4gICAgY29uc3QgZXhwZW5zZXM6IG51bWJlciA9IHRoaXMub3RoZXIuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMub3RoZXIuZXhwZW5zZXMsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5PVEhFUl9UQU5LKTtcbiAgICBjb25zdCB0YXhPZmZzZXRzOiBudW1iZXIgPSB0aGlzLnN1bW1hcnkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihbVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5UQVhfT0ZGU0VUU10sIFRheFN1bW1hcnlTZWN0aW9uRW51bS5TVU1NQVJZKTtcbiAgICBjb25zdCB0YXhJbnN0YWxsbWVudHM6IG51bWJlciA9IHRoaXMuc3VtbWFyeS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFtUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9JTlNUQUxNRU5UU10sIFRheFN1bW1hcnlTZWN0aW9uRW51bS5PVEhFUl9UQU5LKTtcbiAgICBjb25zdCBmcmFua2luZ0NyZWRpdHM6IG51bWJlciA9IHRoaXMuc3VtbWFyeS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFtUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkZSQU5LSU5HX0NSRURJVFNdLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uT1RIRVJfVEFOSyk7XG5cbiAgICByZXR1cm4gaW5jb21lIC0gTWF0aC5hYnMoZXhwZW5zZXMpICsgTWF0aC5hYnModGF4T2Zmc2V0cykgKyBNYXRoLmFicyh0YXhJbnN0YWxsbWVudHMpICsgTWF0aC5hYnMoZnJhbmtpbmdDcmVkaXRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTb2xlIE5ldCBDYXNoID0gZ3Jvc3MgaW5jb21lIOKAkyBleHBlbnNlc1xuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxNzY3Nzk5MC9EYXNoYm9hcmQrTWFpblxuICAgKi9cbiAgZ2V0IHNvbGVOZXRDYXNoKCk6IG51bWJlciB7XG4gICAgY29uc3QgZGVwcmVjaWF0aW9uOiBudW1iZXIgPSB0aGlzLnNvbGUuaXRlbXMuc3VtQnlDYXRlZ29yaWVzKFRBWF9SRVRVUk5fQ0FURUdPUklFUy5zb2xlLmRlcHJlY2lhdGlvbik7XG4gICAgY29uc3QgbG9zczogbnVtYmVyID0gdGhpcy5zb2xlLml0ZW1zLnN1bUJ5Q2F0ZWdvcmllcyhUQVhfUkVUVVJOX0NBVEVHT1JJRVMuc29sZS5sb3NzKTtcbiAgICBjb25zdCBsb3NzQ3VycmVudDogbnVtYmVyID0gdGhpcy5zb2xlLml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLnNvbGUubG9zc0N1cnJlbnQsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5TT0xFX1RBTkspO1xuXG4gICAgcmV0dXJuIHRoaXMuc29sZU5ldFRvdGFsIC0gZGVwcmVjaWF0aW9uIC0gbG9zcyArIGxvc3NDdXJyZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFNvbGUgTmV0IFRvdGFsID0gR3Jvc3MgaW5jb21lIC0gZXhwZW5zZXNcbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTc2Nzc5OTAvRGFzaGJvYXJkK01haW5cbiAgICovXG4gIGdldCBzb2xlTmV0VG90YWwoKTogbnVtYmVyIHtcbiAgICAvLyBpbmNvbWUgKyBleHBlbnNlcyArIGRlcHJlY2lhdGlvbiArIGxvc3NcbiAgICBjb25zdCBwcm9maXQ6IG51bWJlciA9IHRoaXMuc29sZS5pdGVtcy5zdW1CeUNhdGVnb3JpZXMoW1RheFJldHVybkNhdGVnb3J5TGlzdEVudW0uQlVTSU5FU1NfSU5DT01FX09SX0xPU1NdKTtcbiAgICBjb25zdCBsb3NzQ3VycmVudDogbnVtYmVyID0gdGhpcy5zb2xlLml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLnNvbGUubG9zc0N1cnJlbnQsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5TT0xFX1RBTkspO1xuXG4gICAgcmV0dXJuIHByb2ZpdCAtIGxvc3NDdXJyZW50O1xuICB9XG59XG4iXX0=
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXN1bW1hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RheC1zdW1tYXJ5L3RheC1zdW1tYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDdkMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDaEcsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFHOUU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFrQnJCLElBQUksUUFBUTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUMzQixPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDeEgsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksV0FBVztRQUNiLE1BQU0sV0FBVyxHQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLHFCQUFxQixDQUFD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QUMseUJBQXlCLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxLQUFLO2FBQ3hFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsY0FBYyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsMENBQUUsTUFBTSxDQUFDO0lBQzVELENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxRQUFzQjs7UUFDNUMsT0FBTyxNQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSzthQUNuQixjQUFjLENBQUMseUJBQXlCLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxLQUFLO2FBQ3ZFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsY0FBYyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsMENBQUUsTUFBTSxDQUFDO0lBQzVELENBQUM7Q0FDRjtBQXZJQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzt3Q0FDTjtBQUd4QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs0Q0FDRjtBQUc1QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzt5Q0FDTDtBQUd6QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzt3Q0FDTjtBQUd4QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzsyQ0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGF4U3VtbWFyeVNlY3Rpb259IGZyb20gJy4vdGF4LXN1bW1hcnktc2VjdGlvbic7XG5pbXBvcnQge1R5cGV9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7VEFYX1JFVFVSTl9DQVRFR09SSUVTfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy90YXgtc3VtbWFyeS90YXgtcmV0dXJuLWNhdGVnb3JpZXMuY29uc3QnO1xuaW1wb3J0IHtUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YXgtcmV0dXJuLWNhdGVnb3J5LWxpc3QuZW51bSc7XG5pbXBvcnQge1RheFN1bW1hcnlTZWN0aW9uRW51bX0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGF4LXN1bW1hcnktc2VjdGlvbi5lbnVtJztcbmltcG9ydCB7U29sZUJ1c2luZXNzfSBmcm9tICcuLi9zb2xlJztcblxuLyoqXG4gKiBAVG9kbyByZWZhY3RvciB3aXRoIGJhc2UgbW9kZWwgd2hlbiBpdCB3aWxsIGJlIHByb3ZpZGVkXG4gKiBUYXggc3VtbWFyeSByZXBvcnQgc3RydWN0dXJlXG4gKi9cbmV4cG9ydCBjbGFzcyBUYXhTdW1tYXJ5IHtcbiAgQFR5cGUoKCkgPT4gVGF4U3VtbWFyeVNlY3Rpb24pXG4gIHdvcms6IFRheFN1bW1hcnlTZWN0aW9uO1xuXG4gIEBUeXBlKCgpID0+IFRheFN1bW1hcnlTZWN0aW9uKVxuICBwcm9wZXJ0eTogVGF4U3VtbWFyeVNlY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gVGF4U3VtbWFyeVNlY3Rpb24pXG4gIG90aGVyOiBUYXhTdW1tYXJ5U2VjdGlvbjtcblxuICBAVHlwZSgoKSA9PiBUYXhTdW1tYXJ5U2VjdGlvbilcbiAgc29sZTogVGF4U3VtbWFyeVNlY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gVGF4U3VtbWFyeVNlY3Rpb24pXG4gIHN1bW1hcnk6IFRheFN1bW1hcnlTZWN0aW9uO1xuXG4gIHByb2plY3RlZFRheFBvc2l0aW9uOiBudW1iZXI7XG5cbiAgZ2V0IHNlY3Rpb25zKCk6IFRheFN1bW1hcnlTZWN0aW9uW10ge1xuICAgIHJldHVybiBbdGhpcy53b3JrLCB0aGlzLnByb3BlcnR5LCB0aGlzLm90aGVyLCB0aGlzLnNvbGUsIHRoaXMuc3VtbWFyeV07XG4gIH1cblxuICBnZXQgdGF4UGVyY2VudCgpOiBudW1iZXIge1xuICAgIC8vIENoZWNrIGlmIG5ldEFtb3VudCBpcyBub3QgMCB0byBhdm9pZCBkaXZpc2lvbiBieSB6ZXJvXG4gICAgaWYgKCF0aGlzLnN1bW1hcnkubmV0QW1vdW50KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdW1tYXJ5Lml0ZW1zLmZpbmRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uR1JPU1NfVEFYX1BBWUFCTEUpLmFtb3VudCAvIHRoaXMuc3VtbWFyeS5uZXRBbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogV29yayBOZXQgQ2FzaCA9IEluY29tZSAtIHRheCB3aXRoaGVsZCAtIGV4cGVuc2VzIC0gaW50ZXJlc3RcbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTc2Nzc5OTAvRGFzaGJvYXJkK01haW5cbiAgICovXG4gIGdldCB3b3JrTmV0Q2FzaCgpOiBudW1iZXIge1xuICAgIGNvbnN0IHRheFdpdGhoZWxkOiBudW1iZXIgPSB0aGlzLnN1bW1hcnkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMud29yay50YXhXaXRoaGVsZCwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLldPUktfVEFOSyk7XG5cbiAgICByZXR1cm4gdGhpcy53b3JrTmV0VG90YWwgLSBNYXRoLmFicyh0YXhXaXRoaGVsZCk7XG4gIH1cblxuICAvKipcbiAgICogV29yayBOZXQgVG90YWwgPSBJbmNvbWUgLSBleHBlbnNlcyAtIGludGVyZXN0XG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3Njc3OTkwL0Rhc2hib2FyZCtNYWluXG4gICAqL1xuICBnZXQgd29ya05ldFRvdGFsKCk6IG51bWJlciB7XG4gICAgY29uc3QgaW5jb21lOiBudW1iZXIgPSB0aGlzLndvcmsuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMud29yay5pbmNvbWUsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5XT1JLX1RBTkspO1xuICAgIGNvbnN0IGV4cGVuc2VzOiBudW1iZXIgPSB0aGlzLndvcmsuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMud29yay5leHBlbnNlcywgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLldPUktfVEFOSyk7XG4gICAgY29uc3QgaW50ZXJlc3Q6IG51bWJlciA9IHRoaXMuc3VtbWFyeS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFRBWF9SRVRVUk5fQ0FURUdPUklFUy53b3JrLmludGVyZXN0LCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uV09SS19UQU5LKTtcblxuICAgIHJldHVybiBpbmNvbWUgLSBNYXRoLmFicyhleHBlbnNlcykgLSBNYXRoLmFicyhpbnRlcmVzdCk7XG4gIH1cblxuICAvKipcbiAgICogUHJvcGVydHkgTmV0IENhc2ggKENhc2ggUG9zaXRpb24pID0gUmVudGFsIEluY29tZSAtIGV4cGVuc2VzIC0gaW50ZXJlc3RcbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTc2Nzc5OTAvRGFzaGJvYXJkK01haW5cbiAgICovXG4gIGdldCBwcm9wZXJ0eU5ldENhc2goKTogbnVtYmVyIHtcbiAgICBjb25zdCBpbmNvbWU6IG51bWJlciA9IHRoaXMucHJvcGVydHkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMucHJvcGVydHkuaW5jb21lLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uUFJPUEVSVFlfVEFOSyk7XG4gICAgY29uc3QgZXhwZW5zZXM6IG51bWJlciA9IHRoaXMucHJvcGVydHkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMucHJvcGVydHkuZXhwZW5zZXMsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5QUk9QRVJUWV9UQU5LKTtcbiAgICBjb25zdCBpbnRlcmVzdDogbnVtYmVyID0gdGhpcy5wcm9wZXJ0eS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFRBWF9SRVRVUk5fQ0FURUdPUklFUy5wcm9wZXJ0eS5pbnRlcmVzdCwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLlBST1BFUlRZX1RBTkspO1xuXG4gICAgcmV0dXJuIGluY29tZSAtIE1hdGguYWJzKGV4cGVuc2VzKSAtIE1hdGguYWJzKGludGVyZXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9wZXJ0eSBOZXQgVG90YWwgKFRheCBQb3NpdGlvbikgPSBSZW50YWwgSW5jb21lIC0gZXhwZW5zZXMgLSBpbnRlcmVzdCAtIGRlcHJlY2lhdGlvblxuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxNzY3Nzk5MC9EYXNoYm9hcmQrTWFpblxuICAgKi9cbiAgZ2V0IHByb3BlcnR5TmV0VG90YWwoKTogbnVtYmVyIHtcbiAgICBjb25zdCBkZXByZWNpYXRpb246IG51bWJlciA9IHRoaXMucHJvcGVydHkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMucHJvcGVydHkuZGVwcmVjaWF0aW9uLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uUFJPUEVSVFlfVEFOSyk7XG5cbiAgICByZXR1cm4gdGhpcy5wcm9wZXJ0eU5ldENhc2ggLSBNYXRoLmFicyhkZXByZWNpYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIE90aGVyIE5ldCBDYXNoID0gZ3Jvc3MgaW5jb21lIOKAkyBleHBlbnNlcyDigJMgdGF4IHdpdGhoZWxkIC0gdGF4IGluc3RhbG1lbnRzXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3Njc3OTkwL0Rhc2hib2FyZCtNYWluXG4gICAqL1xuICBnZXQgb3RoZXJOZXRDYXNoKCk6IG51bWJlciB7XG4gICAgY29uc3QgaW5jb21lOiBudW1iZXIgPSB0aGlzLm90aGVyLml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLm90aGVyLmluY29tZSwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLk9USEVSX1RBTkspO1xuICAgIGNvbnN0IGV4cGVuc2VzOiBudW1iZXIgPSB0aGlzLm90aGVyLml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLm90aGVyLmV4cGVuc2VzLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uT1RIRVJfVEFOSyk7XG4gICAgY29uc3QgdGF4V2l0aGhlbGQ6IG51bWJlciA9IHRoaXMuc3VtbWFyeS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFtUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9XSVRISEVMRF0sIFRheFN1bW1hcnlTZWN0aW9uRW51bS5PVEhFUl9UQU5LKTtcbiAgICBjb25zdCB0YXhJbnN0YWxtZW50czogbnVtYmVyID0gdGhpcy5zdW1tYXJ5Lml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oW1RheFJldHVybkNhdGVnb3J5TGlzdEVudW0uVEFYX0lOU1RBTE1FTlRTXSwgVGF4U3VtbWFyeVNlY3Rpb25FbnVtLk9USEVSX1RBTkspO1xuXG4gICAgcmV0dXJuIGluY29tZSAtIE1hdGguYWJzKGV4cGVuc2VzKSAtIE1hdGguYWJzKHRheFdpdGhoZWxkKSAtIE1hdGguYWJzKHRheEluc3RhbG1lbnRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdGhlciBOZXQgVG90YWwgPSBHcm9zcyBpbmNvbWUgLSBleHBlbnNlcyArIHRheCBvZmZzZXRzICsgdGF4IGluc3RhbG1lbnRzICsgZnJhbmtpbmcgY3JlZGl0c1xuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxNzY3Nzk5MC9EYXNoYm9hcmQrTWFpblxuICAgKi9cbiAgZ2V0IG90aGVyTmV0VG90YWwoKTogbnVtYmVyIHtcbiAgICBjb25zdCBpbmNvbWU6IG51bWJlciA9IHRoaXMub3RoZXIuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMub3RoZXIuaW5jb21lLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uT1RIRVJfVEFOSyk7XG4gICAgY29uc3QgZXhwZW5zZXM6IG51bWJlciA9IHRoaXMub3RoZXIuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihUQVhfUkVUVVJOX0NBVEVHT1JJRVMub3RoZXIuZXhwZW5zZXMsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5PVEhFUl9UQU5LKTtcbiAgICBjb25zdCB0YXhPZmZzZXRzOiBudW1iZXIgPSB0aGlzLnN1bW1hcnkuaXRlbXMuc3VtQnlDYXRlZ29yaWVzQW5kU2VjdGlvbihbVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5UQVhfT0ZGU0VUU10sIFRheFN1bW1hcnlTZWN0aW9uRW51bS5TVU1NQVJZKTtcbiAgICBjb25zdCB0YXhJbnN0YWxsbWVudHM6IG51bWJlciA9IHRoaXMuc3VtbWFyeS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFtUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9JTlNUQUxNRU5UU10sIFRheFN1bW1hcnlTZWN0aW9uRW51bS5PVEhFUl9UQU5LKTtcbiAgICBjb25zdCBmcmFua2luZ0NyZWRpdHM6IG51bWJlciA9IHRoaXMuc3VtbWFyeS5pdGVtcy5zdW1CeUNhdGVnb3JpZXNBbmRTZWN0aW9uKFtUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkZSQU5LSU5HX0NSRURJVFNdLCBUYXhTdW1tYXJ5U2VjdGlvbkVudW0uT1RIRVJfVEFOSyk7XG5cbiAgICByZXR1cm4gaW5jb21lIC0gTWF0aC5hYnMoZXhwZW5zZXMpICsgTWF0aC5hYnModGF4T2Zmc2V0cykgKyBNYXRoLmFicyh0YXhJbnN0YWxsbWVudHMpICsgTWF0aC5hYnMoZnJhbmtpbmdDcmVkaXRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTb2xlIE5ldCBDYXNoID0gZ3Jvc3MgaW5jb21lIOKAkyBleHBlbnNlc1xuICAgKiBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzIxNzY3Nzk5MC9EYXNoYm9hcmQrTWFpblxuICAgKi9cbiAgZ2V0IHNvbGVOZXRDYXNoKCk6IG51bWJlciB7XG4gICAgY29uc3QgZGVwcmVjaWF0aW9uOiBudW1iZXIgPSB0aGlzLnNvbGUuaXRlbXMuc3VtQnlDYXRlZ29yaWVzKFRBWF9SRVRVUk5fQ0FURUdPUklFUy5zb2xlLmRlcHJlY2lhdGlvbik7XG4gICAgY29uc3QgbG9zczogbnVtYmVyID0gdGhpcy5zb2xlLml0ZW1zLnN1bUJ5Q2F0ZWdvcmllcyhUQVhfUkVUVVJOX0NBVEVHT1JJRVMuc29sZS5sb3NzKTtcbiAgICBjb25zdCBsb3NzQ3VycmVudDogbnVtYmVyID0gdGhpcy5zb2xlLml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLnNvbGUubG9zc0N1cnJlbnQsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5TT0xFX1RBTkspO1xuXG4gICAgcmV0dXJuIHRoaXMuc29sZU5ldFRvdGFsIC0gZGVwcmVjaWF0aW9uIC0gbG9zcyArIGxvc3NDdXJyZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFNvbGUgTmV0IFRvdGFsID0gR3Jvc3MgaW5jb21lIC0gZXhwZW5zZXNcbiAgICogaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy8yMTc2Nzc5OTAvRGFzaGJvYXJkK01haW5cbiAgICovXG4gIGdldCBzb2xlTmV0VG90YWwoKTogbnVtYmVyIHtcbiAgICAvLyBpbmNvbWUgKyBleHBlbnNlcyArIGRlcHJlY2lhdGlvbiArIGxvc3NcbiAgICBjb25zdCBwcm9maXQ6IG51bWJlciA9IHRoaXMuc29sZS5pdGVtcy5zdW1CeUNhdGVnb3JpZXMoW1RheFJldHVybkNhdGVnb3J5TGlzdEVudW0uQlVTSU5FU1NfSU5DT01FX09SX0xPU1NdKTtcbiAgICBjb25zdCBsb3NzQ3VycmVudDogbnVtYmVyID0gdGhpcy5zb2xlLml0ZW1zLnN1bUJ5Q2F0ZWdvcmllc0FuZFNlY3Rpb24oVEFYX1JFVFVSTl9DQVRFR09SSUVTLnNvbGUubG9zc0N1cnJlbnQsIFRheFN1bW1hcnlTZWN0aW9uRW51bS5TT0xFX1RBTkspO1xuXG4gICAgcmV0dXJuIHByb2ZpdCAtIGxvc3NDdXJyZW50O1xuICB9XG5cbiAgZ2V0RGVmZXJyZWRCdXNpbmVzc0xvc3MoYnVzaW5lc3M6IFNvbGVCdXNpbmVzcyk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc29sZS5pdGVtc1xuICAgICAgLmZpbmRCeUNhdGVnb3J5KFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uREVGRVJSRURfQlVTSU5FU1NfTE9TU0VTKS5pdGVtc1xuICAgICAgLmZpbmRCeSgndGl0bGUnLCBgSXRlbSAxNWMgLSAke2J1c2luZXNzLm5hbWV9YCk/LmFtb3VudDtcbiAgfVxuXG4gIGdldEJ1c2luZXNzQ2xvc2VCYWxhbmNlKGJ1c2luZXNzOiBTb2xlQnVzaW5lc3MpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNvbGUuaXRlbXNcbiAgICAgIC5maW5kQnlDYXRlZ29yeShUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkJVU0lORVNTX0lOQ09NRV9PUl9MT1NTKS5pdGVtc1xuICAgICAgLmZpbmRCeSgndGl0bGUnLCBgSXRlbSAxNWMgLSAke2J1c2luZXNzLm5hbWV9YCk/LmFtb3VudDtcbiAgfVxufVxuIl19
@@ -73,12 +73,6 @@ export class Transaction extends TransactionBase {
73
73
  return CHART_ACCOUNTS_CATEGORIES.work;
74
74
  }
75
75
  }
76
- /**
77
- * Check if transaction has 'Kms travelled for work' chart accounts category
78
- */
79
- get isKmsChartAccountsCategory() {
80
- return this.chartAccounts.id === ChartAccountsListEnum.KLMS_TRAVELLED_FOR_WORK;
81
- }
82
76
  /**
83
77
  * Get transaction date
84
78
  */
@@ -161,7 +155,11 @@ export class Transaction extends TransactionBase {
161
155
  return allocations.filterBy('transaction.id', this.id).sumBy('amount');
162
156
  }
163
157
  getAllocatedClaimAmount(allocations) {
164
- return this.getAllocatedAmount(allocations) * this.claimRatio;
158
+ let coef = 1;
159
+ if (this.isSoleTank() && this.isIncome() && this.isGST) {
160
+ coef = ChartAccounts.GSTCoefficient;
161
+ }
162
+ return this.getAllocatedAmount(allocations) * this.claimRatio / coef;
165
163
  }
166
164
  getUnallocatedAmount(allocations) {
167
165
  return this.netAmount - this.getAllocatedAmount(allocations);
@@ -184,6 +182,7 @@ export class Transaction extends TransactionBase {
184
182
  return +(Math.round(grossAmount * 100) / 100).toFixed(2);
185
183
  }
186
184
  /**
185
+ * @TODO vik confusing logic demanded by Nicole, we need a better ux to fix it
187
186
  * netAmount matches received payment (bankTransaction amount), includes gst and salary included adjustments
188
187
  * ie user received 1000$ salary including 100$ tips. NetAmount=1000$, amount=900$, tips=100$
189
188
  */
@@ -231,4 +230,4 @@ __decorate([
231
230
  __decorate([
232
231
  Type(() => TransactionAllocation)
233
232
  ], Transaction.prototype, "allocations", void 0);
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFDc0IscUJBQXFCLEVBQ2hELHFCQUFxQixFQUNyQiw2QkFBNkIsR0FDOUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFakUsT0FBTyxF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QUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxFQUFFLEtBQUkscUJBQXFCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUFsUEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO2lEQUNTO0FBR2pDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQzs2Q0FDRjtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzs0Q0FDSDtBQUc1QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7a0RBQ0c7QUFHN0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO2lEQUNFO0FBRzNCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDOzZDQUNLO0FBR3JDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQzs2Q0FDRjtBQUd0QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7eUNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnREFDUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uIGFzIFRyYW5zYWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7XG4gIENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW0sIENoYXJ0QWNjb3VudHNLZWVwU2lnbixcbiAgQ2hhcnRBY2NvdW50c0xpc3RFbnVtLFxuICBDaGFydEFjY291bnRzTWV0YWRhdGFMaXN0RW51bSxcbn0gZnJvbSAnLi4vLi4vZGIvRW51bXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9kZXByZWNpYXRpb24tdHlwZS5lbnVtJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbkNhbGN1bGF0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi1jYWxjdWxhdGlvbi5lbnVtJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcywgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZWNlaXB0IH0gZnJvbSAnLi90cmFuc2FjdGlvbi1yZWNlaXB0JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMsIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMgfSBmcm9tICcuLi9jaGFydC1hY2NvdW50cyc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25NZXRhZGF0YSB9IGZyb20gJy4vdHJhbnNhY3Rpb24tbWV0YWRhdGEnO1xuaW1wb3J0IHsgTG9hbiB9IGZyb20gJy4uL2xvYW4vbG9hbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24nO1xuaW1wb3J0IHsgSVJlY2VpcHQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3JlY2VpcHQuaW50ZXJmYWNlJztcbmltcG9ydCB7Q29sbGVjdGlvbiwgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBFeHBlbnNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9leHBlbnNlLmludGVyZmFjZSc7XG5cbi8vIEBUT0RPIEFsZXg6IHJlZmFjdG9yOiBtb3ZlIGhlcmUgYWxsb2NhdGlvbnMgbWV0aG9kcywgbmV0QW1vdW50ID0gYW1vdW50LCBncm9zc0Ftb3VudCBjYWxjdWxhdGlvbiwgcmVtb3ZlIHVudXNlZCBtZXRob2RzLCBldGMuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBUcmFuc2FjdGlvbkJhc2UgaW1wbGVtZW50cyBFeHBlbnNlLCBJUmVjZWlwdCB7XG4gIC8vIGxpc3Qgb2YgY2hpbGQgdHJhbnNhY3Rpb25zIChmZWVzKVxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvbilcbiAgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHkpXG4gIHByb3BlcnR5OiBQcm9wZXJ0eTtcblxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvblJlY2VpcHQpXG4gIHJlY2VpcHQ6IFRyYW5zYWN0aW9uUmVjZWlwdDtcblxuICBAVHlwZSgoKSA9PiBDaGFydEFjY291bnRzKVxuICBjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzO1xuXG4gIEBUeXBlKCgpID0+IEluY29tZVNvdXJjZSlcbiAgaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2U7XG5cbiAgQFR5cGUoKCkgPT4gVHJhbnNhY3Rpb25NZXRhZGF0YSlcbiAgbWV0YWRhdGE6IFRyYW5zYWN0aW9uTWV0YWRhdGFbXSA9IFtdO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2ZlcjogVHJhbnNhY3Rpb247XG5cbiAgQFR5cGUoKCkgPT4gTG9hbilcbiAgbG9hbjogTG9hbjtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uQWxsb2NhdGlvbilcbiAgYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdID0gW107XG5cbiAgdGF4OiBudW1iZXIgPSAwO1xuICBvcGVyYXRpb246IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bSA9IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5GSU5EX0FORF9NQVRDSDtcbiAgYWxsb2NhdGVkQW1vdW50OiBudW1iZXI7XG4gIHVuYWxsb2NhdGVkQW1vdW50OiBudW1iZXI7XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gIGNsYWltUGVyY2VudDogbnVtYmVyID0gMTAwO1xuICBhbW91bnQ6IG51bWJlciA9IDA7XG5cbiAgaXNEZWJpdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBUcmFuc2FjdGlvblR5cGVFbnVtLkRFQklUO1xuICB9XG5cbiAgaXNDcmVkaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlRW51bS5DUkVESVQ7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gbW92ZSB0byBiYXNlIGNvbGxlY3Rpb25cbiAgICovXG4gIGlzSW5jb21lKCk6IGJvb2xlYW4ge1xuICAgIC8vIEBUT0RPIG5vdCB1c2VkXG4gICAgaWYgKCF0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzQ3JlZGl0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuaW5jb21lLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gbW92ZSB0byBiYXNlIGNvbGxlY3Rpb25cbiAgICovXG4gIGlzRXhwZW5zZSgpOiBib29sZWFuIHtcbiAgICAvLyBAVE9ETyBub3QgdXNlZFxuICAgIGlmICghdGhpcy5jaGFydEFjY291bnRzKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0RlYml0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuZXhwZW5zZS5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpO1xuICB9XG5cbiAgaXNQZXJzb25hbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wZXJzb25hbC5pbmNsdWRlcyh0aGlzLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpO1xuICB9XG5cbiAgaXNJbnRlcmVzdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGFydEFjY291bnRzLmlkID09PSBDaGFydEFjY291bnRzTGlzdEVudW0uSU5URVJFU1RfT05fTE9BTjtcbiAgfVxuXG4gIGdldCBjaGFydEFjY291bnRzQ2F0ZWdvcmllcygpOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10ge1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0aGlzLmlzUGVyc29uYWwoKTpcbiAgICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMucGVyc29uYWw7XG5cbiAgICAgIGNhc2UgdGhpcy5pc1Byb3BlcnR5VGFuaygpOlxuICAgICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wcm9wZXJ0eTtcblxuICAgICAgY2FzZSB0aGlzLmlzU29sZVRhbmsoKTpcbiAgICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMuc29sZTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMud29yaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgdHJhbnNhY3Rpb24gaGFzICdLbXMgdHJhdmVsbGVkIGZvciB3b3JrJyBjaGFydCBhY2NvdW50cyBjYXRlZ29yeVxuICAgKi9cbiAgZ2V0IGlzS21zQ2hhcnRBY2NvdW50c0NhdGVnb3J5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0QWNjb3VudHMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF9GT1JfV09SSztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb24gZGF0ZVxuICAgKi9cbiAgZ2V0RGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRyYW5zYWN0aW9uIHR5cGUgaXMgdmVoaWNsZVxuICAgKi9cbiAgaXNWZWhpY2xlVHJhbnNhY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnRBY2NvdW50cy5pc1ZlaGljbGVFeHBlbnNlKCk7XG4gIH1cblxuICBnZXQgdGF4RnJlZUNvbXBvbmVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YWRhdGFMaXN0RW51bS5UQVhfRlJFRV9DT01QT05FTlQpO1xuICB9XG5cbiAgZ2V0IGZyYW5raW5nQ3JlZGl0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhZGF0YUxpc3RFbnVtLkZSQU5LSU5HX0NSRURJVCk7XG4gIH1cblxuICBnZXQgZWxpZ2libGVGb3JSZWR1Y3Rpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhZGF0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFkYXRhTGlzdEVudW0uRUxJR0lCTEVfRk9SX1JFRFVDVElPTik7XG4gIH1cblxuICBnZXQgdW50YXhlZEVsZW1lbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhZGF0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFkYXRhTGlzdEVudW0uVU5UQVhFRF9FTEVNRU5UKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiByZWNvbmNpbGUgb3BlcmF0aW9uIGlmIFRSQU5TRkVSXG4gICAqIEBUT0RPIGJhZCB1c2FnZSBvZiBnZXQgKGFuZCBhbGwgaXMqIG1ldGhvZHMpLCBnZXR0ZXIgc2hvdWxkIHNvdW5kIGxpa2UgYSBub3VuXG4gICAqL1xuICBnZXQgaXNUcmFuc2ZlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb24gPT09IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5UUkFOU0ZFUjtcbiAgfVxuXG4gIGlzRmluZEFuZE1hdGNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLkZJTkRfQU5EX01BVENIO1xuICB9XG5cbiAgaXNNYXRjaEludm9pY2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uID09PSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uTUFUQ0hfSU5WT0lDRTtcbiAgfVxuXG4gIGdldCBkZWJpdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzRGViaXQoKSA/IE1hdGguYWJzKHRoaXMuZ3Jvc3NBbW91bnQpIDogMDtcbiAgfVxuXG4gIGdldCBjcmVkaXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pc0NyZWRpdCgpID8gTWF0aC5hYnModGhpcy5ncm9zc0Ftb3VudCkgOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB2YWx1ZSBvZiB0cmFuc2FjdGlvbiBtZXRhZGF0YSBmaWVsZFxuICAgKiBAcGFyYW0gZmllbGQgZm9yIHdoaWNoIHZhbHVlIHNob3VsZCBiZSByZXR1cm5lZFxuICAgKiBAVG9kbyBtb2RpZnkgJ21ldGFkYXRhJyBwcm9wZXJ0eSBmcm9tIGFycmF5IHRvIENvbGxlY3Rpb25cbiAgICovXG4gIGdldE1ldGFkYXRhRmllbGRWYWx1ZShmaWVsZDogQ2hhcnRBY2NvdW50c01ldGFkYXRhTGlzdEVudW0pOiBudW1iZXIge1xuICAgIHJldHVybiArdGhpcy5tZXRhZGF0YS5maW5kKCh0cmFuc2FjdGlvbk1ldGFkYXRhOiBUcmFuc2FjdGlvbk1ldGFkYXRhKTogYm9vbGVhbiA9PiB7XG4gICAgICByZXR1cm4gdHJhbnNhY3Rpb25NZXRhZGF0YS5jaGFydEFjY291bnRzTWV0YWRhdGEuaWQgPT09IGZpZWxkO1xuICAgIH0pPy52YWx1ZSB8fCAwO1xuICB9XG5cbiAgaXNDYXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZSA9PT0gVHJhbnNhY3Rpb25Tb3VyY2VFbnVtLkNBU0g7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIERlcHJlY2lhdGlvbiBpbnN0YW5jZSBiYXNlZCBvbiBUcmFuc2FjdGlvblxuICAgKi9cbiAgdG9EZXByZWNpYXRpb24oKTogRGVwcmVjaWF0aW9uIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKERlcHJlY2lhdGlvbiwge1xuICAgICAgZGF0ZTogdGhpcy5kYXRlLFxuICAgICAgYW1vdW50OiB0aGlzLmFtb3VudCxcbiAgICAgIGNoYXJ0QWNjb3VudHM6IHRoaXMuY2hhcnRBY2NvdW50cyxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgdHlwZTogRGVwcmVjaWF0aW9uVHlwZUVudW0uUExBTlRfRVFVSVBNRU5ULFxuICAgICAgY2xhaW1QZXJjZW50OiB0aGlzLmNsYWltUGVyY2VudCxcbiAgICAgIHByb3BlcnR5OiB0aGlzLnByb3BlcnR5LFxuICAgICAgY2FsY3VsYXRpb246IHRoaXMucHJvcGVydHkgPyB0aGlzLnByb3BlcnR5LmRlcHJlY2lhdGlvbkNhbGN1bGF0aW9uIDogRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLlBSSU1FX0NPU1RcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZWx5IGFsbG9jYXRlZFxuICAgKi9cbiAgaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uZXRBbW91bnQgPT09IHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zLmZpbHRlckJ5KCd0cmFuc2FjdGlvbi5pZCcsIHRoaXMuaWQpLnN1bUJ5KCdhbW91bnQnKTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZENsYWltQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpICogdGhpcy5jbGFpbVJhdGlvO1xuICB9XG5cbiAgZ2V0VW5hbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm5ldEFtb3VudCAtIHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb3RhbCB0cmFuc2FjdGlvbiBhbW91bnQgaW5jbHVkaW5nIHRheGVzIGFuZCBvdGhlciBhZGRpdGlvbmFsIGFtb3VudHNcbiAgICovXG4gIGdldCBncm9zc0Ftb3VudCgpOiBudW1iZXIge1xuICAgIGxldCBncm9zc0Ftb3VudCA9IHN1cGVyLmdyb3NzQW1vdW50ICsgdGhpcy50YXg7XG4gICAgaWYgKHRoaXMuaXNFeHBlbnNlKCkpIHtcbiAgICAgIHJldHVybiBncm9zc0Ftb3VudDtcbiAgICB9XG5cbiAgICAvLyBzYWxhcnkgaW5jbHVkZWQgdHJhbnNhY3Rpb25zIGFmZmVjdCBwYXJlbnQgdHJhbnNhY3Rpb24gYW1vdW50IGFuZCBhcyBhIHJlc3VsdCBncm9zc0Ftb3VudCwgc2tpcCB0byBhdm9pZCBkb3VibGUgc3VtXG4gICAgZ3Jvc3NBbW91bnQgKz0gbmV3IENvbGxlY3Rpb24odGhpcy50cmFuc2FjdGlvbnMpXG4gICAgICAuZmlsdGVyKCh0KSA9PiAhdC5jaGFydEFjY291bnRzPy5pc1NhbGFyeUluY2x1ZGVkKCkpXG4gICAgICAuc3VtQnkoJ2Ftb3VudCcsIHRydWUpO1xuXG4gICAgaWYgKHRoaXMuaXNXb3JrVGFuaygpKSB7XG4gICAgICBncm9zc0Ftb3VudCArPSB0aGlzLmZyYW5raW5nQ3JlZGl0IC0gdGhpcy50YXhGcmVlQ29tcG9uZW50IC0gdGhpcy5lbGlnaWJsZUZvclJlZHVjdGlvbjtcbiAgICB9XG5cbiAgICByZXR1cm4gKyhNYXRoLnJvdW5kKGdyb3NzQW1vdW50ICogMTAwKSAvIDEwMCkudG9GaXhlZCgyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBuZXRBbW91bnQgbWF0Y2hlcyByZWNlaXZlZCBwYXltZW50IChiYW5rVHJhbnNhY3Rpb24gYW1vdW50KSwgaW5jbHVkZXMgZ3N0IGFuZCBzYWxhcnkgaW5jbHVkZWQgYWRqdXN0bWVudHNcbiAgICogaWUgdXNlciByZWNlaXZlZCAxMDAwJCBzYWxhcnkgaW5jbHVkaW5nIDEwMCQgdGlwcy4gTmV0QW1vdW50PTEwMDAkLCBhbW91bnQ9OTAwJCwgdGlwcz0xMDAkXG4gICAqL1xuICBnZXQgbmV0QW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKHRoaXMudHJhbnNhY3Rpb25zKVxuICAgICAgLmZpbHRlcigodCkgPT4gdC5jaGFydEFjY291bnRzPy5pc1NhbGFyeUluY2x1ZGVkKCkpXG4gICAgICAuc3VtQnkoJ2Ftb3VudCcpICsgdGhpcy5hbW91bnRXaXRoR3N0O1xuICB9XG5cbiAgLyoqXG4gICAqIG1vc3Qgb2YgdGhlIHRyYW5zYWN0aW9ucyBjb3VsZCBoYXZlIG9ubHkgcG9zaXRpdmUgb3IgbmVnYXRpdmUgYW1vdW50IGRlcGVuZHMgb24gY2hhcnRBY2NvdW50cywgc28gd2UgaWdub3JlXG4gICAqIHVzZXIncyBjaG9pY2UgYW5kIHRyYW5zZm9ybSBhbW91bnQsIGJ1dCB0aGVyZSBhcmUgZXhjZXB0aW9ucyBsaWtlIGFkdmFuY2UgKG5lZ2F0aXZlIG9yIHBvc2l0aXZlIGFtb3VudClcbiAgICovXG4gIGlnbm9yZVNpZ24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEodGhpcy5jaGFydEFjY291bnRzPy5pZCBpbiBDaGFydEFjY291bnRzS2VlcFNpZ24pO1xuICB9XG59XG4iXX0=
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsV0FBVyxJQUFJLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFDc0IscUJBQXFCLEVBQ2hELHFCQUFxQixFQUNyQiw2QkFBNkIsR0FDOUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFakUsT0FBTyxF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QUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVU7O1FBQ1IsT0FBTyxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLEVBQUUsS0FBSSxxQkFBcUIsQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FDRjtBQWhQQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7aURBQ1M7QUFHakM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDOzZDQUNGO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDOzRDQUNIO0FBRzVCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztrREFDRztBQUc3QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7aURBQ0U7QUFHM0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7NkNBQ0s7QUFHckM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDOzZDQUNGO0FBR3RCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzt5Q0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dEQUNRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHtcbiAgQ2hhcnRBY2NvdW50c0NhdGVnb3J5RW51bSwgQ2hhcnRBY2NvdW50c0tlZXBTaWduLFxuICBDaGFydEFjY291bnRzTGlzdEVudW0sXG4gIENoYXJ0QWNjb3VudHNNZXRhZGF0YUxpc3RFbnVtLFxufSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblNvdXJjZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1zb3VyY2UuZW51bSc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2RlcHJlY2lhdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvZGVwcmVjaWF0aW9uLWNhbGN1bGF0aW9uLmVudW0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblJlY2VpcHQgfSBmcm9tICcuL3RyYW5zYWN0aW9uLXJlY2VpcHQnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50cywgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUyB9IGZyb20gJy4uL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4uL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk1ldGFkYXRhIH0gZnJvbSAnLi90cmFuc2FjdGlvbi1tZXRhZGF0YSc7XG5pbXBvcnQgeyBMb2FuIH0gZnJvbSAnLi4vbG9hbi9sb2FuJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbic7XG5pbXBvcnQgeyBJUmVjZWlwdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVjZWlwdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtDb2xsZWN0aW9uLCBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9ufSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gfSBmcm9tICcuLi9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uJztcbmltcG9ydCB7IEV4cGVuc2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2V4cGVuc2UuaW50ZXJmYWNlJztcblxuLy8gQFRPRE8gQWxleDogcmVmYWN0b3I6IG1vdmUgaGVyZSBhbGxvY2F0aW9ucyBtZXRob2RzLCBuZXRBbW91bnQgPSBhbW91bnQsIGdyb3NzQW1vdW50IGNhbGN1bGF0aW9uLCByZW1vdmUgdW51c2VkIG1ldGhvZHMsIGV0Yy5cbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZSBpbXBsZW1lbnRzIEV4cGVuc2UsIElSZWNlaXB0IHtcbiAgLy8gbGlzdCBvZiBjaGlsZCB0cmFuc2FjdGlvbnMgKGZlZXMpXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uKVxuICB0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSBbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eSlcbiAgcHJvcGVydHk6IFByb3BlcnR5O1xuXG4gIEBUeXBlKCgpID0+IFRyYW5zYWN0aW9uUmVjZWlwdClcbiAgcmVjZWlwdDogVHJhbnNhY3Rpb25SZWNlaXB0O1xuXG4gIEBUeXBlKCgpID0+IENoYXJ0QWNjb3VudHMpXG4gIGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHM7XG5cbiAgQFR5cGUoKCkgPT4gSW5jb21lU291cmNlKVxuICBpbmNvbWVTb3VyY2U6IEluY29tZVNvdXJjZTtcblxuICBAVHlwZSgoKSA9PiBUcmFuc2FjdGlvbk1ldGFkYXRhKVxuICBtZXRhZGF0YTogVHJhbnNhY3Rpb25NZXRhZGF0YVtdID0gW107XG5cbiAgQFR5cGUoKCkgPT4gVHJhbnNhY3Rpb24pXG4gIHRyYW5zZmVyOiBUcmFuc2FjdGlvbjtcblxuICBAVHlwZSgoKSA9PiBMb2FuKVxuICBsb2FuOiBMb2FuO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGRhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gVHJhbnNhY3Rpb25BbGxvY2F0aW9uKVxuICBhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uW10gPSBbXTtcblxuICB0YXg6IG51bWJlciA9IDA7XG4gIG9wZXJhdGlvbjogVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtID0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLkZJTkRfQU5EX01BVENIO1xuICBhbGxvY2F0ZWRBbW91bnQ6IG51bWJlcjtcbiAgdW5hbGxvY2F0ZWRBbW91bnQ6IG51bWJlcjtcbiAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgY2xhaW1QZXJjZW50OiBudW1iZXIgPSAxMDA7XG4gIGFtb3VudDogbnVtYmVyID0gMDtcblxuICBpc0RlYml0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZUVudW0uREVCSVQ7XG4gIH1cblxuICBpc0NyZWRpdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBUcmFuc2FjdGlvblR5cGVFbnVtLkNSRURJVDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBtb3ZlIHRvIGJhc2UgY29sbGVjdGlvblxuICAgKi9cbiAgaXNJbmNvbWUoKTogYm9vbGVhbiB7XG4gICAgLy8gQFRPRE8gbm90IHVzZWRcbiAgICBpZiAoIXRoaXMuY2hhcnRBY2NvdW50cykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNDcmVkaXQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5pbmNvbWUuaW5jbHVkZXModGhpcy5jaGFydEFjY291bnRzLmNhdGVnb3J5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBtb3ZlIHRvIGJhc2UgY29sbGVjdGlvblxuICAgKi9cbiAgaXNFeHBlbnNlKCk6IGJvb2xlYW4ge1xuICAgIC8vIEBUT0RPIG5vdCB1c2VkXG4gICAgaWYgKCF0aGlzLmNoYXJ0QWNjb3VudHMpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzRGViaXQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5leHBlbnNlLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc1BlcnNvbmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnBlcnNvbmFsLmluY2x1ZGVzKHRoaXMuY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk7XG4gIH1cblxuICBpc0ludGVyZXN0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoYXJ0QWNjb3VudHMuaWQgPT09IENoYXJ0QWNjb3VudHNMaXN0RW51bS5JTlRFUkVTVF9PTl9MT0FOO1xuICB9XG5cbiAgZ2V0IGNoYXJ0QWNjb3VudHNDYXRlZ29yaWVzKCk6IENoYXJ0QWNjb3VudHNDYXRlZ29yeUVudW1bXSB7XG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRoaXMuaXNQZXJzb25hbCgpOlxuICAgICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5wZXJzb25hbDtcblxuICAgICAgY2FzZSB0aGlzLmlzUHJvcGVydHlUYW5rKCk6XG4gICAgICAgIHJldHVybiBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLnByb3BlcnR5O1xuXG4gICAgICBjYXNlIHRoaXMuaXNTb2xlVGFuaygpOlxuICAgICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy5zb2xlO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy53b3JrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb24gZGF0ZVxuICAgKi9cbiAgZ2V0RGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRyYW5zYWN0aW9uIHR5cGUgaXMgdmVoaWNsZVxuICAgKi9cbiAgaXNWZWhpY2xlVHJhbnNhY3Rpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2hhcnRBY2NvdW50cy5pc1ZlaGljbGVFeHBlbnNlKCk7XG4gIH1cblxuICBnZXQgdGF4RnJlZUNvbXBvbmVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhRmllbGRWYWx1ZShDaGFydEFjY291bnRzTWV0YWRhdGFMaXN0RW51bS5UQVhfRlJFRV9DT01QT05FTlQpO1xuICB9XG5cbiAgZ2V0IGZyYW5raW5nQ3JlZGl0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFGaWVsZFZhbHVlKENoYXJ0QWNjb3VudHNNZXRhZGF0YUxpc3RFbnVtLkZSQU5LSU5HX0NSRURJVCk7XG4gIH1cblxuICBnZXQgZWxpZ2libGVGb3JSZWR1Y3Rpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhZGF0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFkYXRhTGlzdEVudW0uRUxJR0lCTEVfRk9SX1JFRFVDVElPTik7XG4gIH1cblxuICBnZXQgdW50YXhlZEVsZW1lbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRNZXRhZGF0YUZpZWxkVmFsdWUoQ2hhcnRBY2NvdW50c01ldGFkYXRhTGlzdEVudW0uVU5UQVhFRF9FTEVNRU5UKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiByZWNvbmNpbGUgb3BlcmF0aW9uIGlmIFRSQU5TRkVSXG4gICAqIEBUT0RPIGJhZCB1c2FnZSBvZiBnZXQgKGFuZCBhbGwgaXMqIG1ldGhvZHMpLCBnZXR0ZXIgc2hvdWxkIHNvdW5kIGxpa2UgYSBub3VuXG4gICAqL1xuICBnZXQgaXNUcmFuc2ZlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb24gPT09IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5UUkFOU0ZFUjtcbiAgfVxuXG4gIGlzRmluZEFuZE1hdGNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLkZJTkRfQU5EX01BVENIO1xuICB9XG5cbiAgaXNNYXRjaEludm9pY2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uID09PSBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0uTUFUQ0hfSU5WT0lDRTtcbiAgfVxuXG4gIGdldCBkZWJpdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlzRGViaXQoKSA/IE1hdGguYWJzKHRoaXMuZ3Jvc3NBbW91bnQpIDogMDtcbiAgfVxuXG4gIGdldCBjcmVkaXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pc0NyZWRpdCgpID8gTWF0aC5hYnModGhpcy5ncm9zc0Ftb3VudCkgOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB2YWx1ZSBvZiB0cmFuc2FjdGlvbiBtZXRhZGF0YSBmaWVsZFxuICAgKiBAcGFyYW0gZmllbGQgZm9yIHdoaWNoIHZhbHVlIHNob3VsZCBiZSByZXR1cm5lZFxuICAgKiBAVG9kbyBtb2RpZnkgJ21ldGFkYXRhJyBwcm9wZXJ0eSBmcm9tIGFycmF5IHRvIENvbGxlY3Rpb25cbiAgICovXG4gIGdldE1ldGFkYXRhRmllbGRWYWx1ZShmaWVsZDogQ2hhcnRBY2NvdW50c01ldGFkYXRhTGlzdEVudW0pOiBudW1iZXIge1xuICAgIHJldHVybiArdGhpcy5tZXRhZGF0YS5maW5kKCh0cmFuc2FjdGlvbk1ldGFkYXRhOiBUcmFuc2FjdGlvbk1ldGFkYXRhKTogYm9vbGVhbiA9PiB7XG4gICAgICByZXR1cm4gdHJhbnNhY3Rpb25NZXRhZGF0YS5jaGFydEFjY291bnRzTWV0YWRhdGEuaWQgPT09IGZpZWxkO1xuICAgIH0pPy52YWx1ZSB8fCAwO1xuICB9XG5cbiAgaXNDYXNoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZSA9PT0gVHJhbnNhY3Rpb25Tb3VyY2VFbnVtLkNBU0g7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIERlcHJlY2lhdGlvbiBpbnN0YW5jZSBiYXNlZCBvbiBUcmFuc2FjdGlvblxuICAgKi9cbiAgdG9EZXByZWNpYXRpb24oKTogRGVwcmVjaWF0aW9uIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKERlcHJlY2lhdGlvbiwge1xuICAgICAgZGF0ZTogdGhpcy5kYXRlLFxuICAgICAgYW1vdW50OiB0aGlzLmFtb3VudCxcbiAgICAgIGNoYXJ0QWNjb3VudHM6IHRoaXMuY2hhcnRBY2NvdW50cyxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgdHlwZTogRGVwcmVjaWF0aW9uVHlwZUVudW0uUExBTlRfRVFVSVBNRU5ULFxuICAgICAgY2xhaW1QZXJjZW50OiB0aGlzLmNsYWltUGVyY2VudCxcbiAgICAgIHByb3BlcnR5OiB0aGlzLnByb3BlcnR5LFxuICAgICAgY2FsY3VsYXRpb246IHRoaXMucHJvcGVydHkgPyB0aGlzLnByb3BlcnR5LmRlcHJlY2lhdGlvbkNhbGN1bGF0aW9uIDogRGVwcmVjaWF0aW9uQ2FsY3VsYXRpb25FbnVtLlBSSU1FX0NPU1RcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZWx5IGFsbG9jYXRlZFxuICAgKi9cbiAgaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5uZXRBbW91bnQgPT09IHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIGFsbG9jYXRpb25zLmZpbHRlckJ5KCd0cmFuc2FjdGlvbi5pZCcsIHRoaXMuaWQpLnN1bUJ5KCdhbW91bnQnKTtcbiAgfVxuXG4gIGdldEFsbG9jYXRlZENsYWltQW1vdW50KGFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICBsZXQgY29lZiA9IDE7XG4gICAgaWYgKHRoaXMuaXNTb2xlVGFuaygpICYmIHRoaXMuaXNJbmNvbWUoKSAmJiB0aGlzLmlzR1NUKSB7XG4gICAgICBjb2VmID0gQ2hhcnRBY2NvdW50cy5HU1RDb2VmZmljaWVudDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKSAqIHRoaXMuY2xhaW1SYXRpbyAvIGNvZWY7XG4gIH1cblxuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubmV0QW1vdW50IC0gdGhpcy5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvdGFsIHRyYW5zYWN0aW9uIGFtb3VudCBpbmNsdWRpbmcgdGF4ZXMgYW5kIG90aGVyIGFkZGl0aW9uYWwgYW1vdW50c1xuICAgKi9cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgbGV0IGdyb3NzQW1vdW50ID0gc3VwZXIuZ3Jvc3NBbW91bnQgKyB0aGlzLnRheDtcbiAgICBpZiAodGhpcy5pc0V4cGVuc2UoKSkge1xuICAgICAgcmV0dXJuIGdyb3NzQW1vdW50O1xuICAgIH1cblxuICAgIC8vIHNhbGFyeSBpbmNsdWRlZCB0cmFuc2FjdGlvbnMgYWZmZWN0IHBhcmVudCB0cmFuc2FjdGlvbiBhbW91bnQgYW5kIGFzIGEgcmVzdWx0IGdyb3NzQW1vdW50LCBza2lwIHRvIGF2b2lkIGRvdWJsZSBzdW1cbiAgICBncm9zc0Ftb3VudCArPSBuZXcgQ29sbGVjdGlvbih0aGlzLnRyYW5zYWN0aW9ucylcbiAgICAgIC5maWx0ZXIoKHQpID0+ICF0LmNoYXJ0QWNjb3VudHM/LmlzU2FsYXJ5SW5jbHVkZWQoKSlcbiAgICAgIC5zdW1CeSgnYW1vdW50JywgdHJ1ZSk7XG5cbiAgICBpZiAodGhpcy5pc1dvcmtUYW5rKCkpIHtcbiAgICAgIGdyb3NzQW1vdW50ICs9IHRoaXMuZnJhbmtpbmdDcmVkaXQgLSB0aGlzLnRheEZyZWVDb21wb25lbnQgLSB0aGlzLmVsaWdpYmxlRm9yUmVkdWN0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiArKE1hdGgucm91bmQoZ3Jvc3NBbW91bnQgKiAxMDApIC8gMTAwKS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIHZpayBjb25mdXNpbmcgbG9naWMgZGVtYW5kZWQgYnkgTmljb2xlLCB3ZSBuZWVkIGEgYmV0dGVyIHV4IHRvIGZpeCBpdFxuICAgKiBuZXRBbW91bnQgbWF0Y2hlcyByZWNlaXZlZCBwYXltZW50IChiYW5rVHJhbnNhY3Rpb24gYW1vdW50KSwgaW5jbHVkZXMgZ3N0IGFuZCBzYWxhcnkgaW5jbHVkZWQgYWRqdXN0bWVudHNcbiAgICogaWUgdXNlciByZWNlaXZlZCAxMDAwJCBzYWxhcnkgaW5jbHVkaW5nIDEwMCQgdGlwcy4gTmV0QW1vdW50PTEwMDAkLCBhbW91bnQ9OTAwJCwgdGlwcz0xMDAkXG4gICAqL1xuICBnZXQgbmV0QW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKHRoaXMudHJhbnNhY3Rpb25zKVxuICAgICAgLmZpbHRlcigodCkgPT4gdC5jaGFydEFjY291bnRzPy5pc1NhbGFyeUluY2x1ZGVkKCkpXG4gICAgICAuc3VtQnkoJ2Ftb3VudCcpICsgdGhpcy5hbW91bnRXaXRoR3N0O1xuICB9XG5cbiAgLyoqXG4gICAqIG1vc3Qgb2YgdGhlIHRyYW5zYWN0aW9ucyBjb3VsZCBoYXZlIG9ubHkgcG9zaXRpdmUgb3IgbmVnYXRpdmUgYW1vdW50IGRlcGVuZHMgb24gY2hhcnRBY2NvdW50cywgc28gd2UgaWdub3JlXG4gICAqIHVzZXIncyBjaG9pY2UgYW5kIHRyYW5zZm9ybSBhbW91bnQsIGJ1dCB0aGVyZSBhcmUgZXhjZXB0aW9ucyBsaWtlIGFkdmFuY2UgKG5lZ2F0aXZlIG9yIHBvc2l0aXZlIGFtb3VudClcbiAgICovXG4gIGlnbm9yZVNpZ24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEodGhpcy5jaGFydEFjY291bnRzPy5pZCBpbiBDaGFydEFjY291bnRzS2VlcFNpZ24pO1xuICB9XG59XG4iXX0=
@@ -97,7 +97,6 @@ export class AccountSetupService {
97
97
  }
98
98
  // Rental income item is completed when user added at least one property
99
99
  if (incomeTypes.property) {
100
- // @TODO Alex (TT-1777): remove pipe when all services refactored
101
100
  batch.push(this.create(AccountSetupItemsEnum.PROPERTY, this.propertyService.getArray()));
102
101
  }
103
102
  // Sole business item is completed when user added at least one business
@@ -140,12 +139,12 @@ export class AccountSetupService {
140
139
  }));
141
140
  }
142
141
  }
143
- AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleClaimService }, { token: i7.TransactionService }, { token: i8.SoleBusinessService }], target: i0.ɵɵFactoryTarget.Injectable });
144
- AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AccountSetupService, decorators: [{
142
+ AccountSetupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AccountSetupService, deps: [{ token: i1.ClientIncomeTypesService }, { token: i2.PropertyService }, { token: i3.IncomeSourceService }, { token: i4.BankAccountService }, { token: i5.TransactionAllocationService }, { token: i6.VehicleClaimService }, { token: i7.TransactionService }, { token: i8.SoleBusinessService }], target: i0.ɵɵFactoryTarget.Injectable });
143
+ AccountSetupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AccountSetupService, providedIn: 'root' });
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: AccountSetupService, decorators: [{
146
145
  type: Injectable,
147
146
  args: [{
148
147
  providedIn: 'root'
149
148
  }]
150
149
  }], ctorParameters: function () { return [{ type: i1.ClientIncomeTypesService }, { type: i2.PropertyService }, { type: i3.IncomeSourceService }, { type: i4.BankAccountService }, { type: i5.TransactionAllocationService }, { type: i6.VehicleClaimService }, { type: i7.TransactionService }, { type: i8.SoleBusinessService }]; } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFJcEYsT0FBTyxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTdGLE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7OztBQUc3Rjs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCLFlBQ1Usd0JBQWtELEVBQ2xELGVBQWdDLEVBQ2hDLG1CQUF3QyxFQUN4QyxtQkFBdUMsRUFDdkMsNEJBQTBELEVBQzFELG1CQUF3QyxFQUN4QyxrQkFBc0MsRUFDdEMsbUJBQXdDO1FBUHhDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUN2QyxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQThCO1FBQzFELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBWGxELGlCQUFZLEdBQThDLElBQUksYUFBYSxDQUE2QixDQUFDLENBQUMsQ0FBQztJQWEzRyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksMEJBQTBCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFaEQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsRUFBRTtpQkFDaEMsSUFBSTtZQUNILHlFQUF5RTtZQUN6RSxNQUFNLENBQUMsQ0FBQyxXQUE4QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUNoRSxRQUFRLENBQUMsQ0FBQyxXQUE4QixFQUFFLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUUxQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQ0g7aUJBQ0EsU0FBUyxDQUFDLENBQUMsS0FBaUMsRUFBRSxFQUFFO2dCQUMvQyxRQUFRLElBQUksRUFBRTtvQkFDWixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztvQkFDakIsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztvQkFDcEcsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTTt3QkFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDdEM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLElBQXNCO1FBQ3ZDLE9BQU8sWUFBWSxDQUNqQixpQkFBaUIsRUFDakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3RILENBQUE7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxNQUFNLENBQUMsUUFBK0IsRUFBRSxPQUE2QjtRQUMzRSxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLEdBQUcsQ0FBQyxDQUFDLE1BQWdCLEVBQW9CLEVBQUU7WUFDekMsTUFBTSxJQUFJLEdBQXFCLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTdELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtnQkFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDekI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7YUFDMUI7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssV0FBVyxDQUFDLFdBQThCO1FBQ2hELE1BQU0sS0FBSyxHQUFtQyxFQUFFLENBQUM7UUFFakQsZ0VBQWdFO1FBQ2hFLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUN0QixLQUFLLENBQUMsSUFBSSxDQUNSLElBQUksQ0FBQyxNQUFNLENBQ1QscUJBQXFCLENBQUMsTUFBTSxFQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQzVCLENBQ0YsQ0FBQztTQUNIO1FBRUQsa0ZBQWtGO1FBQ2xGLElBQUksV0FBVyxDQUFDLFNBQVMsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFO1lBQzlDLEtBQUssQ0FBQyxJQUFJLENBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FDVCxxQkFBcUIsQ0FBQyxZQUFZLEVBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUN4QixDQUNGLENBQUM7U0FDSDtRQUVELHdFQUF3RTtRQUN4RSxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDeEIsaUVBQWlFO1lBQ2pFLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDMUY7UUFFRCx3RUFBd0U7UUFDeEUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3BCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM5RjtRQUVELDJGQUEyRjtRQUMzRixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFL0Ysc0dBQXNHO1FBQ3RHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFFbEMsbUZBQW1GO1FBQ25GLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVwRyxPQUFPLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBeUIsRUFBRSxFQUFFLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGdCQUFnQixDQUFDLFdBQW9CLEtBQUs7UUFDaEQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUN4QyxHQUFHLENBQUMsQ0FBQyxhQUE2QixFQUFrQixFQUFFO1lBQ3BELE1BQU0sVUFBVSxHQUEyQixJQUFJLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3JGLElBQUksUUFBUSxFQUFFO2dCQUNaLE9BQU8sVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQy9CO1lBRUQsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDakksQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWM7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFO2FBQ2pDLElBQUk7UUFDSCxtRUFBbUU7UUFDbkUsR0FBRyxDQUFDLENBQUMsWUFBMkIsRUFBRSxFQUFFLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUM3RSxRQUFRLENBQUMsQ0FBQyxZQUFtQyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxZQUFZLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2hELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7YUFDeEY7WUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7aUhBaEtVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFDQ09VTlRfU0VUVVBfSVRFTVMgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW1zLmNvbnN0JztcbmltcG9ydCB7IEFjY291bnRTZXR1cEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW0nO1xuaW1wb3J0IHsgQWNjb3VudFNldHVwSXRlbXNFbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC1pdGVtcy5lbnVtJztcbmltcG9ydCB7IEJhbmtBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL2h0dHAvYmFuay9iYW5rLWFjY291bnQvYmFuay1hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpZW50SW5jb21lVHlwZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xpZW50L2NsaWVudC1pbmNvbWUtdHlwZXMnO1xuaW1wb3J0IHsgQ2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9maXJtL2NsaWVudC1pbmNvbWUvY2xpZW50LWluY29tZS10eXBlcy5zZXJ2aWNlJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2luY29tZS1zb3VyY2UuY29sbGVjdGlvbic7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNlcnZpY2UgfSBmcm9tICcuLi9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvYWNjb3VudC1zZXR1cC1pdGVtLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgVmVoaWNsZUNsYWltU2VydmljZSB9IGZyb20gJy4uL2h0dHAvdmVoaWNsZS92ZWhpY2xlLWNsYWltLnNlcnZpY2UnO1xuaW1wb3J0IGZyb21QYWlycyBmcm9tICdsb2Rhc2gvZnJvbVBhaXJzJztcbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoL2Nsb25lRGVlcCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3NTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cCc7XG5cbi8qKlxuICogU2VydmljZSBoYW5kbGluZyB1c2VyJ3MgYWNjb3VudCBzZXR1cCBwcm9jZXNzLlxuICogQ2hlY2tzIHJlcXVpcmVkIHN0ZXBzIGFuZCB0aGVpciBjb21wbGV0aW9uXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRTZXR1cFNlcnZpY2Uge1xuICBjYWNoZTogQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb247XG4gIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4gPSBuZXcgUmVwbGF5U3ViamVjdDxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4oMSk7XG4gIGNsaWVudEluY29tZVR5cGVzSWQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNsaWVudEluY29tZVR5cGVzU2VydmljZTogQ2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJvcGVydHlTZXJ2aWNlOiBQcm9wZXJ0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmNvbWVTb3VyY2VTZXJ2aWNlOiBJbmNvbWVTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFua0FjY291bnRzU2VydmljZTogQmFua0FjY291bnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZTogVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHZlaGljbGVDbGFpbVNlcnZpY2U6IFZlaGljbGVDbGFpbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHNvbGVCdXNpbmVzc1NlcnZpY2U6IFNvbGVCdXNpbmVzc1NlcnZpY2VcbiAgKSB7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgYWNjb3VudCBzZXR1cCBpdGVtcyBmb3IgY3VycmVudCB1c2VyXG4gICAqL1xuICBnZXQoKTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5jYWNoZSA9IG5ldyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbihbXSk7XG5cbiAgICAgIHRoaXMuY2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlLmdldCgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIC8vIHdlIG5lZWQgYWNjb3VudCBzZXR1cCBvbmx5IHdoZW4gdXNlciBzZWxlY3RlZCBhdCBsZWFzdCBvbmUgaW5jb21lIHR5cGVcbiAgICAgICAgICBmaWx0ZXIoKGluY29tZVR5cGVzOiBDbGllbnRJbmNvbWVUeXBlcykgPT4gISFpbmNvbWVUeXBlcy5sZW5ndGgpLFxuICAgICAgICAgIG1lcmdlTWFwKChpbmNvbWVUeXBlczogQ2xpZW50SW5jb21lVHlwZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2xpZW50SW5jb21lVHlwZXNJZCA9IGluY29tZVR5cGVzLmlkO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVCYXRjaChpbmNvbWVUeXBlcyk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChpdGVtczogQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICAgIGNhc2UgIXRoaXMuY2FjaGU6XG4gICAgICAgICAgICBjYXNlIHRoaXMuY2FjaGUuZmlsdGVyQnkoJ2lzQ29tcGxldGVkJywgdHJ1ZSkubGVuZ3RoICE9PSBpdGVtcy5maWx0ZXJCeSgnaXNDb21wbGV0ZWQnLCB0cnVlKS5sZW5ndGg6XG4gICAgICAgICAgICBjYXNlIHRoaXMuY2FjaGUubGVuZ3RoICE9PSBpdGVtcy5sZW5ndGg6XG4gICAgICAgICAgICAgIHRoaXMuY2FjaGUgPSBjbG9uZURlZXAoaXRlbXMpO1xuICAgICAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXBhcmUgY2xpZW50IGluY29tZSB0eXBlcyB0byB1cGRhdGUgdG8gaGlkZSBkZXBlbmRlZCBhY2NvdW50IHNldHVwIGl0ZW1zXG4gICAqL1xuICBwcmVwYXJlSW5jb21lVHlwZXMoaXRlbTogQWNjb3VudFNldHVwSXRlbSk6IENsaWVudEluY29tZVR5cGVzIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKFxuICAgICAgQ2xpZW50SW5jb21lVHlwZXMsXG4gICAgICBPYmplY3QuYXNzaWduKHtpZDogdGhpcy5jbGllbnRJbmNvbWVUeXBlc0lkfSwgZnJvbVBhaXJzKGl0ZW0uY2xpZW50SW5jb21lVHlwZXMubWFwKCh0eXBlOiBzdHJpbmcpID0+IFt0eXBlLCBmYWxzZV0pKSlcbiAgICApXG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc2luZ2xlIEFjY291bnRTZXR1cEl0ZW0gYW5kIGNoZWNrIGl0J3MgY29tcGxldGlvblxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGUoaXRlbVR5cGU6IEFjY291bnRTZXR1cEl0ZW1zRW51bSwgcmVxdWVzdDogT2JzZXJ2YWJsZTxvYmplY3RbXT4pOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+IHtcbiAgICByZXR1cm4gcmVxdWVzdC5waXBlKFxuICAgICAgbWFwKChyZXN1bHQ6IG9iamVjdFtdKTogQWNjb3VudFNldHVwSXRlbSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW06IEFjY291bnRTZXR1cEl0ZW0gPSBBQ0NPVU5UX1NFVFVQX0lURU1TW2l0ZW1UeXBlXTtcblxuICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCkge1xuICAgICAgICAgIGl0ZW0uaXNDb21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW0uaXNDb21wbGV0ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBiYXRjaCBvZiByZXF1ZXN0cyB0byBnZXQgbGlzdCBvZiByZXF1aXJlZCBBY2NvdW50U2V0dXBJdGVtJ3MuXG4gICAqIFNvbWUgaXRlbXMgYXJlIG9wdGlvbmFsIGFuZCBkZXBlbmRzIG9mIHVzZXIncyBjbGllbnQgaW5jb21lIHR5cGVzXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUJhdGNoKGluY29tZVR5cGVzOiBDbGllbnRJbmNvbWVUeXBlcyk6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24+IHtcbiAgICBjb25zdCBiYXRjaDogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtPltdID0gW107XG5cbiAgICAvLyBTYWxhcnkgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIHNhbGFyeSBpbmNvbWUgc291cmNlXG4gICAgaWYgKGluY29tZVR5cGVzLnNhbGFyeSkge1xuICAgICAgYmF0Y2gucHVzaChcbiAgICAgICAgdGhpcy5jcmVhdGUoXG4gICAgICAgICAgQWNjb3VudFNldHVwSXRlbXNFbnVtLlNBTEFSWSxcbiAgICAgICAgICB0aGlzLmdldEluY29tZVNvdXJjZXModHJ1ZSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBPdGhlciBpbmNvbWUgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBvdGhlciBpbmNvbWUgc291cmNlXG4gICAgaWYgKGluY29tZVR5cGVzLmRpdmlkZW5kcyB8fCBpbmNvbWVUeXBlcy5vdGhlcikge1xuICAgICAgYmF0Y2gucHVzaChcbiAgICAgICAgdGhpcy5jcmVhdGUoXG4gICAgICAgICAgQWNjb3VudFNldHVwSXRlbXNFbnVtLk9USEVSX0lOQ09NRSxcbiAgICAgICAgICB0aGlzLmdldEluY29tZVNvdXJjZXMoKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFJlbnRhbCBpbmNvbWUgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBwcm9wZXJ0eVxuICAgIGlmIChpbmNvbWVUeXBlcy5wcm9wZXJ0eSkge1xuICAgICAgLy8gQFRPRE8gQWxleCAoVFQtMTc3Nyk6IHJlbW92ZSBwaXBlIHdoZW4gYWxsIHNlcnZpY2VzIHJlZmFjdG9yZWRcbiAgICAgIGJhdGNoLnB1c2godGhpcy5jcmVhdGUoQWNjb3VudFNldHVwSXRlbXNFbnVtLlBST1BFUlRZLCB0aGlzLnByb3BlcnR5U2VydmljZS5nZXRBcnJheSgpKSk7XG4gICAgfVxuXG4gICAgLy8gU29sZSBidXNpbmVzcyBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIGJ1c2luZXNzXG4gICAgaWYgKGluY29tZVR5cGVzLnNvbGUpIHtcbiAgICAgIGJhdGNoLnB1c2godGhpcy5jcmVhdGUoQWNjb3VudFNldHVwSXRlbXNFbnVtLlNPTEVfQlVTSU5FU1MsIHRoaXMuc29sZUJ1c2luZXNzU2VydmljZS5nZXQoKSkpO1xuICAgIH1cblxuICAgIC8vIEJhbmsgZmVlZHMgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBiYW5rIGFjY291bnQgKGJhc2lxIG9yIG1hbnVhbClcbiAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5CQU5LX0ZFRURTLCB0aGlzLmJhbmtBY2NvdW50c1NlcnZpY2UuZ2V0QXJyYXkoKSkpO1xuXG4gICAgLy8gTG9nYm9vayBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgaGFzIGF0IGxlYXN0IG9uZSB2ZWhpY2xlIGNsYWltIHdpdGggYW55IG1ldGhvZCAoa21zIG9yIGxvZ2Jvb2spXG4gICAgYmF0Y2gucHVzaCh0aGlzLmdldExvZ2Jvb2tJdGVtKCkpO1xuXG4gICAgLy8gQWxsb2NhdGlvbiBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIHRyYW5zYWN0aW9uIGFsbG9jYXRpb25cbiAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5UUkFOU0FDVElPTiwgdGhpcy50cmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlLmdldCgpKSk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChiYXRjaCkucGlwZShtYXAoKGl0ZW1zOiBBY2NvdW50U2V0dXBJdGVtW10pID0+IG5ldyBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbihpdGVtcykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4OiB3b3JrIHdpdGggY29sbGVjdGlvbiB3aGVuIHNlcnZpY2VzIHJlZmFjdG9yZWRcbiAgICogQFRPRE8gVmlrOiB3YWl0aW5nIGZvciBpbmNvbWUgc291cmNlcyByZWZhY3RvcmluZ1xuICAgKi9cbiAgcHJpdmF0ZSBnZXRJbmNvbWVTb3VyY2VzKGlzU2FsYXJ5OiBib29sZWFuID0gZmFsc2UpOiBPYnNlcnZhYmxlPEluY29tZVNvdXJjZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaW5jb21lU291cmNlU2VydmljZS5nZXQoKS5waXBlKFxuICAgICAgbWFwKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IEluY29tZVNvdXJjZVtdID0+IHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbjogSW5jb21lU291cmNlQ29sbGVjdGlvbiA9IG5ldyBJbmNvbWVTb3VyY2VDb2xsZWN0aW9uKGluY29tZVNvdXJjZXMpO1xuICAgICAgICBpZiAoaXNTYWxhcnkpIHtcbiAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5nZXRTYWxhcnkoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb2xsZWN0aW9uLml0ZW1zLmZpbHRlcigoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpID0+ICFpbmNvbWVTb3VyY2UuaXNTYWxhcnlJbmNvbWUoKSAmJiAhaW5jb21lU291cmNlLmlzU29sZUluY29tZSgpKTtcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIFNob3cgbG9nYm9vayBpdGVtIHdoZW4gdXNlciBoYXMgYXQgbGVhc3QgMSB2ZWhpY2xlIHRyYW5zYWN0aW9uXG4gICAqL1xuICBwcml2YXRlIGdldExvZ2Jvb2tJdGVtKCk6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIEBUT0RPIEFsZXg6IHJlbW92ZSBtYXAgd2hlbiBzZXJ2aWNlcyBzdGFydCB3b3JrIHdpdGggY29sbGVjdGlvbnNcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pID0+IG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24odHJhbnNhY3Rpb25zKSksXG4gICAgICAgIG1lcmdlTWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgIGlmICh0cmFuc2FjdGlvbnMuZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5XT1JLX0xPR0JPT0ssIHRoaXMudmVoaWNsZUNsYWltU2VydmljZS5nZXQoKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxufVxuIl19
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC1zZXR1cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2FjY291bnQtc2V0dXAvYWNjb3VudC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFJcEYsT0FBTyxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTdGLE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sU0FBUyxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7OztBQUc3Rjs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sbUJBQW1CO0lBSzlCLFlBQ1Usd0JBQWtELEVBQ2xELGVBQWdDLEVBQ2hDLG1CQUF3QyxFQUN4QyxtQkFBdUMsRUFDdkMsNEJBQTBELEVBQzFELG1CQUF3QyxFQUN4QyxrQkFBc0MsRUFDdEMsbUJBQXdDO1FBUHhDLDZCQUF3QixH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QyxzQkFBc0IsRUFBRSxDQUFDLE1BQU0sRUFBRTtnQkFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQzthQUN4RjtZQUVELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOztpSEEvSlUsbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQUNDT1VOVF9TRVRVUF9JVEVNUyB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbXMuY29uc3QnO1xuaW1wb3J0IHsgQWNjb3VudFNldHVwSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9hY2NvdW50LXNldHVwL2FjY291bnQtc2V0dXAtaXRlbSc7XG5pbXBvcnQgeyBBY2NvdW50U2V0dXBJdGVtc0VudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWNjb3VudC1zZXR1cC9hY2NvdW50LXNldHVwLWl0ZW1zLmVudW0nO1xuaW1wb3J0IHsgQmFua0FjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC9iYW5rL2JhbmstYWNjb3VudC9iYW5rLWFjY291bnQuc2VydmljZSc7XG5pbXBvcnQgeyBDbGllbnRJbmNvbWVUeXBlcyB9IGZyb20gJy4uLy4uL21vZGVscy9jbGllbnQvY2xpZW50LWluY29tZS10eXBlcyc7XG5pbXBvcnQgeyBDbGllbnRJbmNvbWVUeXBlc1NlcnZpY2UgfSBmcm9tICcuLi9odHRwL2Zpcm0vY2xpZW50LWluY29tZS9jbGllbnQtaW5jb21lLXR5cGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2VDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvaW5jb21lLXNvdXJjZS5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEluY29tZVNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9odHRwL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7IFByb3BlcnR5U2VydmljZSB9IGZyb20gJy4uL2h0dHAvcHJvcGVydHkvcHJvcGVydHkuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9hY2NvdW50LXNldHVwLWl0ZW0uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW1TZXJ2aWNlIH0gZnJvbSAnLi4vaHR0cC92ZWhpY2xlL3ZlaGljbGUtY2xhaW0uc2VydmljZSc7XG5pbXBvcnQgZnJvbVBhaXJzIGZyb20gJ2xvZGFzaC9mcm9tUGFpcnMnO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFNvbGVCdXNpbmVzc1NlcnZpY2UgfSBmcm9tICcuLi9odHRwJztcblxuLyoqXG4gKiBTZXJ2aWNlIGhhbmRsaW5nIHVzZXIncyBhY2NvdW50IHNldHVwIHByb2Nlc3MuXG4gKiBDaGVja3MgcmVxdWlyZWQgc3RlcHMgYW5kIHRoZWlyIGNvbXBsZXRpb25cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3VudFNldHVwU2VydmljZSB7XG4gIGNhY2hlOiBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbjtcbiAgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiA9IG5ldyBSZXBsYXlTdWJqZWN0PEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPigxKTtcbiAgY2xpZW50SW5jb21lVHlwZXNJZDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2xpZW50SW5jb21lVHlwZXNTZXJ2aWNlOiBDbGllbnRJbmNvbWVUeXBlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwcm9wZXJ0eVNlcnZpY2U6IFByb3BlcnR5U2VydmljZSxcbiAgICBwcml2YXRlIGluY29tZVNvdXJjZVNlcnZpY2U6IEluY29tZVNvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYW5rQWNjb3VudHNTZXJ2aWNlOiBCYW5rQWNjb3VudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdmVoaWNsZUNsYWltU2VydmljZTogVmVoaWNsZUNsYWltU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgc29sZUJ1c2luZXNzU2VydmljZTogU29sZUJ1c2luZXNzU2VydmljZVxuICApIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBhY2NvdW50IHNldHVwIGl0ZW1zIGZvciBjdXJyZW50IHVzZXJcbiAgICovXG4gIGdldCgpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uPiB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICB0aGlzLmNhY2hlID0gbmV3IEFjY291bnRTZXR1cEl0ZW1Db2xsZWN0aW9uKFtdKTtcblxuICAgICAgdGhpcy5jbGllbnRJbmNvbWVUeXBlc1NlcnZpY2UuZ2V0KClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgLy8gd2UgbmVlZCBhY2NvdW50IHNldHVwIG9ubHkgd2hlbiB1c2VyIHNlbGVjdGVkIGF0IGxlYXN0IG9uZSBpbmNvbWUgdHlwZVxuICAgICAgICAgIGZpbHRlcigoaW5jb21lVHlwZXM6IENsaWVudEluY29tZVR5cGVzKSA9PiAhIWluY29tZVR5cGVzLmxlbmd0aCksXG4gICAgICAgICAgbWVyZ2VNYXAoKGluY29tZVR5cGVzOiBDbGllbnRJbmNvbWVUeXBlcykgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbGllbnRJbmNvbWVUeXBlc0lkID0gaW5jb21lVHlwZXMuaWQ7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUJhdGNoKGluY29tZVR5cGVzKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zOiBBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAgICAgY2FzZSAhdGhpcy5jYWNoZTpcbiAgICAgICAgICAgIGNhc2UgdGhpcy5jYWNoZS5maWx0ZXJCeSgnaXNDb21wbGV0ZWQnLCB0cnVlKS5sZW5ndGggIT09IGl0ZW1zLmZpbHRlckJ5KCdpc0NvbXBsZXRlZCcsIHRydWUpLmxlbmd0aDpcbiAgICAgICAgICAgIGNhc2UgdGhpcy5jYWNoZS5sZW5ndGggIT09IGl0ZW1zLmxlbmd0aDpcbiAgICAgICAgICAgICAgdGhpcy5jYWNoZSA9IGNsb25lRGVlcChpdGVtcyk7XG4gICAgICAgICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogUHJlcGFyZSBjbGllbnQgaW5jb21lIHR5cGVzIHRvIHVwZGF0ZSB0byBoaWRlIGRlcGVuZGVkIGFjY291bnQgc2V0dXAgaXRlbXNcbiAgICovXG4gIHByZXBhcmVJbmNvbWVUeXBlcyhpdGVtOiBBY2NvdW50U2V0dXBJdGVtKTogQ2xpZW50SW5jb21lVHlwZXMge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MoXG4gICAgICBDbGllbnRJbmNvbWVUeXBlcyxcbiAgICAgIE9iamVjdC5hc3NpZ24oe2lkOiB0aGlzLmNsaWVudEluY29tZVR5cGVzSWR9LCBmcm9tUGFpcnMoaXRlbS5jbGllbnRJbmNvbWVUeXBlcy5tYXAoKHR5cGU6IHN0cmluZykgPT4gW3R5cGUsIGZhbHNlXSkpKVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzaW5nbGUgQWNjb3VudFNldHVwSXRlbSBhbmQgY2hlY2sgaXQncyBjb21wbGV0aW9uXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZShpdGVtVHlwZTogQWNjb3VudFNldHVwSXRlbXNFbnVtLCByZXF1ZXN0OiBPYnNlcnZhYmxlPG9iamVjdFtdPik6IE9ic2VydmFibGU8QWNjb3VudFNldHVwSXRlbT4ge1xuICAgIHJldHVybiByZXF1ZXN0LnBpcGUoXG4gICAgICBtYXAoKHJlc3VsdDogb2JqZWN0W10pOiBBY2NvdW50U2V0dXBJdGVtID0+IHtcbiAgICAgICAgY29uc3QgaXRlbTogQWNjb3VudFNldHVwSXRlbSA9IEFDQ09VTlRfU0VUVVBfSVRFTVNbaXRlbVR5cGVdO1xuXG4gICAgICAgIGlmIChyZXN1bHQubGVuZ3RoKSB7XG4gICAgICAgICAgaXRlbS5pc0NvbXBsZXRlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbS5pc0NvbXBsZXRlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGJhdGNoIG9mIHJlcXVlc3RzIHRvIGdldCBsaXN0IG9mIHJlcXVpcmVkIEFjY291bnRTZXR1cEl0ZW0ncy5cbiAgICogU29tZSBpdGVtcyBhcmUgb3B0aW9uYWwgYW5kIGRlcGVuZHMgb2YgdXNlcidzIGNsaWVudCBpbmNvbWUgdHlwZXNcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQmF0Y2goaW5jb21lVHlwZXM6IENsaWVudEluY29tZVR5cGVzKTogT2JzZXJ2YWJsZTxBY2NvdW50U2V0dXBJdGVtQ29sbGVjdGlvbj4ge1xuICAgIGNvbnN0IGJhdGNoOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+W10gPSBbXTtcblxuICAgIC8vIFNhbGFyeSBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgc2FsYXJ5IGluY29tZSBzb3VyY2VcbiAgICBpZiAoaW5jb21lVHlwZXMuc2FsYXJ5KSB7XG4gICAgICBiYXRjaC5wdXNoKFxuICAgICAgICB0aGlzLmNyZWF0ZShcbiAgICAgICAgICBBY2NvdW50U2V0dXBJdGVtc0VudW0uU0FMQVJZLFxuICAgICAgICAgIHRoaXMuZ2V0SW5jb21lU291cmNlcyh0cnVlKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIE90aGVyIGluY29tZSBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIG90aGVyIGluY29tZSBzb3VyY2VcbiAgICBpZiAoaW5jb21lVHlwZXMuZGl2aWRlbmRzIHx8IGluY29tZVR5cGVzLm90aGVyKSB7XG4gICAgICBiYXRjaC5wdXNoKFxuICAgICAgICB0aGlzLmNyZWF0ZShcbiAgICAgICAgICBBY2NvdW50U2V0dXBJdGVtc0VudW0uT1RIRVJfSU5DT01FLFxuICAgICAgICAgIHRoaXMuZ2V0SW5jb21lU291cmNlcygpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUmVudGFsIGluY29tZSBpdGVtIGlzIGNvbXBsZXRlZCB3aGVuIHVzZXIgYWRkZWQgYXQgbGVhc3Qgb25lIHByb3BlcnR5XG4gICAgaWYgKGluY29tZVR5cGVzLnByb3BlcnR5KSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5QUk9QRVJUWSwgdGhpcy5wcm9wZXJ0eVNlcnZpY2UuZ2V0QXJyYXkoKSkpO1xuICAgIH1cblxuICAgIC8vIFNvbGUgYnVzaW5lc3MgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSBidXNpbmVzc1xuICAgIGlmIChpbmNvbWVUeXBlcy5zb2xlKSB7XG4gICAgICBiYXRjaC5wdXNoKHRoaXMuY3JlYXRlKEFjY291bnRTZXR1cEl0ZW1zRW51bS5TT0xFX0JVU0lORVNTLCB0aGlzLnNvbGVCdXNpbmVzc1NlcnZpY2UuZ2V0KCkpKTtcbiAgICB9XG5cbiAgICAvLyBCYW5rIGZlZWRzIGl0ZW0gaXMgY29tcGxldGVkIHdoZW4gdXNlciBhZGRlZCBhdCBsZWFzdCBvbmUgYmFuayBhY2NvdW50IChiYXNpcSBvciBtYW51YWwpXG4gICAgYmF0Y2gucHVzaCh0aGlzLmNyZWF0ZShBY2NvdW50U2V0dXBJdGVtc0VudW0uQkFOS19GRUVEUywgdGhpcy5iYW5rQWNjb3VudHNTZXJ2aWNlLmdldEFycmF5KCkpKTtcblxuICAgIC8vIExvZ2Jvb2sgaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGhhcyBhdCBsZWFzdCBvbmUgdmVoaWNsZSBjbGFpbSB3aXRoIGFueSBtZXRob2QgKGttcyBvciBsb2dib29rKVxuICAgIGJhdGNoLnB1c2godGhpcy5nZXRMb2dib29rSXRlbSgpKTtcblxuICAgIC8vIEFsbG9jYXRpb24gaXRlbSBpcyBjb21wbGV0ZWQgd2hlbiB1c2VyIGFkZGVkIGF0IGxlYXN0IG9uZSB0cmFuc2FjdGlvbiBhbGxvY2F0aW9uXG4gICAgYmF0Y2gucHVzaCh0aGlzLmNyZWF0ZShBY2NvdW50U2V0dXBJdGVtc0VudW0uVFJBTlNBQ1RJT04sIHRoaXMudHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZS5nZXQoKSkpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoYmF0Y2gpLnBpcGUobWFwKChpdGVtczogQWNjb3VudFNldHVwSXRlbVtdKSA9PiBuZXcgQWNjb3VudFNldHVwSXRlbUNvbGxlY3Rpb24oaXRlbXMpKSk7XG4gIH1cblxuICAvKipcbiAgICogQFRPRE8gQWxleDogd29yayB3aXRoIGNvbGxlY3Rpb24gd2hlbiBzZXJ2aWNlcyByZWZhY3RvcmVkXG4gICAqIEBUT0RPIFZpazogd2FpdGluZyBmb3IgaW5jb21lIHNvdXJjZXMgcmVmYWN0b3JpbmdcbiAgICovXG4gIHByaXZhdGUgZ2V0SW5jb21lU291cmNlcyhpc1NhbGFyeTogYm9vbGVhbiA9IGZhbHNlKTogT2JzZXJ2YWJsZTxJbmNvbWVTb3VyY2VbXT4ge1xuICAgIHJldHVybiB0aGlzLmluY29tZVNvdXJjZVNlcnZpY2UuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pOiBJbmNvbWVTb3VyY2VbXSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb246IEluY29tZVNvdXJjZUNvbGxlY3Rpb24gPSBuZXcgSW5jb21lU291cmNlQ29sbGVjdGlvbihpbmNvbWVTb3VyY2VzKTtcbiAgICAgICAgaWYgKGlzU2FsYXJ5KSB7XG4gICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb24uZ2V0U2FsYXJ5KCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5pdGVtcy5maWx0ZXIoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlKSA9PiAhaW5jb21lU291cmNlLmlzU2FsYXJ5SW5jb21lKCkgJiYgIWluY29tZVNvdXJjZS5pc1NvbGVJbmNvbWUoKSk7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93IGxvZ2Jvb2sgaXRlbSB3aGVuIHVzZXIgaGFzIGF0IGxlYXN0IDEgdmVoaWNsZSB0cmFuc2FjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBnZXRMb2dib29rSXRlbSgpOiBPYnNlcnZhYmxlPEFjY291bnRTZXR1cEl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyBAVE9ETyBBbGV4OiByZW1vdmUgbWFwIHdoZW4gc2VydmljZXMgc3RhcnQgd29yayB3aXRoIGNvbGxlY3Rpb25zXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKSA9PiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKHRyYW5zYWN0aW9ucykpLFxuICAgICAgICBtZXJnZU1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb25zLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZShBY2NvdW50U2V0dXBJdGVtc0VudW0uV09SS19MT0dCT09LLCB0aGlzLnZlaGljbGVDbGFpbVNlcnZpY2UuZ2V0KCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -20,9 +20,9 @@ export class RewardfulService {
20
20
  });
21
21
  }
22
22
  }
23
- RewardfulService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RewardfulService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
24
- RewardfulService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RewardfulService, providedIn: 'root' });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: RewardfulService, decorators: [{
23
+ RewardfulService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RewardfulService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
24
+ RewardfulService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RewardfulService, providedIn: 'root' });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: RewardfulService, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{
28
28
  providedIn: 'root'