taxtank-core 0.33.2 → 0.33.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (450) hide show
  1. package/common/src/db/enums/user/user-roles.enum.d.ts +1 -0
  2. package/common/src/services/mixpanel.service.d.ts +1 -0
  3. package/esm2022/common/src/common.module.mjs +7 -5
  4. package/esm2022/common/src/db/enums/user/user-roles.enum.mjs +2 -1
  5. package/esm2022/common/src/interceptors/interceptors.module.mjs +5 -5
  6. package/esm2022/common/src/interceptors/jwt-interceptor.mjs +6 -6
  7. package/esm2022/common/src/services/auth/auth.service.mjs +6 -6
  8. package/esm2022/common/src/services/auth/jwt.service.mjs +4 -4
  9. package/esm2022/common/src/services/mixpanel.service.mjs +13 -7
  10. package/esm2022/public-api.mjs +2 -3
  11. package/esm2022/src/lib/collections/bank-transaction.collection.mjs +2 -2
  12. package/esm2022/src/lib/collections/chat/chat.collection.mjs +1 -19
  13. package/esm2022/src/lib/collections/client-movement.collection.mjs +5 -4
  14. package/esm2022/src/lib/collections/client.collection.mjs +1 -1
  15. package/esm2022/src/lib/collections/collection-dictionary.mjs +4 -1
  16. package/esm2022/src/lib/collections/collection.mjs +14 -3
  17. package/esm2022/src/lib/collections/firm/employee-invite.collection.mjs +10 -0
  18. package/esm2022/src/lib/collections/firm/employee.collection.mjs +18 -0
  19. package/esm2022/src/lib/collections/firm/index.mjs +3 -0
  20. package/esm2022/src/lib/collections/holding/holding-sale.collection.mjs +2 -2
  21. package/esm2022/src/lib/collections/income-source/income-source.collection.mjs +2 -2
  22. package/esm2022/src/lib/collections/index.mjs +3 -2
  23. package/esm2022/src/lib/collections/property/property-valuation.collection.mjs +11 -1
  24. package/esm2022/src/lib/collections/report/property/property-report-item-depreciation.collection.mjs +2 -2
  25. package/esm2022/src/lib/collections/report/property/property-report-item-transaction.collection.mjs +2 -2
  26. package/esm2022/src/lib/collections/report/property/property-report-item.collection.mjs +1 -1
  27. package/esm2022/src/lib/collections/tax-review.collection.mjs +1 -7
  28. package/esm2022/src/lib/collections/transaction/transaction.collection.mjs +4 -1
  29. package/esm2022/src/lib/collections/user/user.collection.mjs +4 -0
  30. package/esm2022/src/lib/collections/vehicle/vehicle-logbook.collection.mjs +13 -1
  31. package/esm2022/src/lib/core.module.mjs +7 -6
  32. package/esm2022/src/lib/db/Enums/bank/bank-connection-status.enum.mjs +2 -1
  33. package/esm2022/src/lib/db/Enums/chart-accounts/chart-accounts-property-adjustments-list.enum.mjs +2 -2
  34. package/esm2022/src/lib/db/Enums/firm/employee-invite-role.enum.mjs +6 -0
  35. package/esm2022/src/lib/db/Enums/firm/firm-type.enum.mjs +6 -0
  36. package/esm2022/src/lib/db/Enums/firm/index.mjs +3 -0
  37. package/esm2022/src/lib/db/Enums/holding/holding-type-exchange-list.enum.mjs +6 -5
  38. package/esm2022/src/lib/db/Enums/index.mjs +3 -1
  39. package/esm2022/src/lib/db/Enums/user/gender.enum.mjs +14 -0
  40. package/esm2022/src/lib/db/Enums/user/index.mjs +2 -0
  41. package/esm2022/src/lib/db/Json/chart-accounts/chart-accounts-value.json +59 -4
  42. package/esm2022/src/lib/db/Models/bank/bank-account.mjs +1 -1
  43. package/esm2022/src/lib/db/Models/bank/bank-connection.mjs +1 -1
  44. package/esm2022/src/lib/db/Models/client/annual-client-details.mjs +1 -1
  45. package/esm2022/src/lib/db/Models/client/client-details.mjs +1 -1
  46. package/esm2022/src/lib/db/Models/firm/accountant/tax-review.mjs +1 -1
  47. package/esm2022/src/lib/db/Models/firm/chat.mjs +1 -1
  48. package/esm2022/src/lib/db/Models/firm/client-invite.mjs +1 -1
  49. package/esm2022/src/lib/db/Models/firm/client-movement.mjs +1 -1
  50. package/esm2022/src/lib/db/Models/firm/employee-invite.mjs +1 -1
  51. package/esm2022/src/lib/db/Models/firm/firm.mjs +1 -1
  52. package/esm2022/src/lib/db/Models/firm/message-document.mjs +1 -1
  53. package/esm2022/src/lib/db/Models/incomeSource/income-source-forecast.mjs +1 -1
  54. package/esm2022/src/lib/db/Models/incomeSource/income-source.mjs +1 -1
  55. package/esm2022/src/lib/db/Models/incomeSource/salary-forecast.mjs +1 -1
  56. package/esm2022/src/lib/db/Models/property/property-forecast.mjs +1 -1
  57. package/esm2022/src/lib/db/Models/sole/sole-business-loss.mjs +1 -1
  58. package/esm2022/src/lib/db/Models/sole/sole-business.mjs +3 -3
  59. package/esm2022/src/lib/db/Models/sole/sole-forecast.mjs +1 -1
  60. package/esm2022/src/lib/db/Models/transaction/transaction-base.mjs +3 -4
  61. package/esm2022/src/lib/db/Models/user/employee-details.mjs +1 -1
  62. package/esm2022/src/lib/db/Models/user/user.mjs +1 -1
  63. package/esm2022/src/lib/db/Models/vehicle/vehicle-claim-details.mjs +1 -1
  64. package/esm2022/src/lib/forms/abstract.form.mjs +9 -4
  65. package/esm2022/src/lib/forms/address/address.form.mjs +1 -1
  66. package/esm2022/src/lib/forms/bank/bank-account/bank-accounts-import.form.mjs +2 -2
  67. package/esm2022/src/lib/forms/chat/chat-filter.form.mjs +36 -0
  68. package/esm2022/src/lib/forms/chat/index.mjs +2 -0
  69. package/esm2022/src/lib/forms/client/annual-client-details.form.mjs +1 -2
  70. package/esm2022/src/lib/forms/client/capital-loss.form.mjs +13 -0
  71. package/esm2022/src/lib/forms/client/index.mjs +2 -1
  72. package/esm2022/src/lib/forms/collection.form.mjs +29 -0
  73. package/esm2022/src/lib/forms/firm/client-invite-put.form.mjs +13 -0
  74. package/esm2022/src/lib/forms/firm/client-invite.form.mjs +18 -0
  75. package/esm2022/src/lib/forms/firm/client-movement.form.mjs +22 -0
  76. package/esm2022/src/lib/forms/firm/employee-details.form.mjs +21 -0
  77. package/esm2022/src/lib/forms/firm/employee-invite.form.mjs +24 -0
  78. package/esm2022/src/lib/forms/firm/firm-branch.form.mjs +13 -0
  79. package/esm2022/src/lib/forms/firm/firm-invite.form.mjs +18 -0
  80. package/esm2022/src/lib/forms/firm/index.mjs +8 -1
  81. package/esm2022/src/lib/forms/holding/holding-reinvest.form.mjs +30 -4
  82. package/esm2022/src/lib/forms/index.mjs +4 -1
  83. package/esm2022/src/lib/forms/loan/loan.form.mjs +3 -7
  84. package/esm2022/src/lib/forms/register/register-client.form.mjs +9 -6
  85. package/esm2022/src/lib/forms/register/register-firm.form.mjs +4 -4
  86. package/esm2022/src/lib/forms/report/my-tax/my-tax-deductions.form.mjs +1 -1
  87. package/esm2022/src/lib/forms/report/my-tax/my-tax-rent.form.mjs +1 -1
  88. package/esm2022/src/lib/forms/sole/bas-report.form.mjs +3 -2
  89. package/esm2022/src/lib/forms/sole/sole-contact.form.mjs +4 -3
  90. package/esm2022/src/lib/forms/sole/sole-invoice.form.mjs +3 -2
  91. package/esm2022/src/lib/forms/tax-review/index.mjs +3 -0
  92. package/esm2022/src/lib/forms/tax-review/tax-review-filter-status.enum.mjs +6 -0
  93. package/esm2022/src/lib/forms/tax-review/tax-review-filter.form.mjs +49 -0
  94. package/esm2022/src/lib/forms/transaction/holding/holding-income.form.mjs +19 -9
  95. package/esm2022/src/lib/forms/transaction/index.mjs +2 -1
  96. package/esm2022/src/lib/forms/transaction/sole/sole-income.form.mjs +1 -1
  97. package/esm2022/src/lib/forms/transaction/transaction-base-filter.form.mjs +35 -0
  98. package/esm2022/src/lib/forms/transaction/transaction.form.mjs +1 -1
  99. package/esm2022/src/lib/forms/transaction/work/work-transaction.form.mjs +2 -4
  100. package/esm2022/src/lib/forms/user/client-details.form.mjs +2 -2
  101. package/esm2022/src/lib/forms/user/user-invite.form.mjs +3 -2
  102. package/esm2022/src/lib/forms/user/user.form.mjs +11 -8
  103. package/esm2022/src/lib/forms/vehicle/vehicle-claim-details.form.mjs +1 -1
  104. package/esm2022/src/lib/forms/vehicle/vehicle-claim.form.mjs +1 -3
  105. package/esm2022/src/lib/forms/vehicle/vehicle-logbook.form.mjs +3 -4
  106. package/esm2022/src/lib/interceptors/basiq-client-id.interceptor.mjs +5 -5
  107. package/esm2022/src/lib/interceptors/basiq-token.interceptor.mjs +5 -5
  108. package/esm2022/src/lib/interceptors/corelogic-interceptor.mjs +6 -6
  109. package/esm2022/src/lib/interceptors/financial-year-interceptor.mjs +6 -6
  110. package/esm2022/src/lib/interceptors/interceptors.module.mjs +5 -5
  111. package/esm2022/src/lib/interceptors/preloader.interceptor.mjs +5 -5
  112. package/esm2022/src/lib/interceptors/rewardful.interceptor.mjs +7 -6
  113. package/esm2022/src/lib/interceptors/user-switcher-interceptor.mjs +6 -6
  114. package/esm2022/src/lib/models/bank/bank-connection.mjs +22 -1
  115. package/esm2022/src/lib/models/chat/chat.mjs +6 -2
  116. package/esm2022/src/lib/models/chat/message-document.mjs +4 -4
  117. package/esm2022/src/lib/models/client/annual-client-details.mjs +1 -1
  118. package/esm2022/src/lib/models/client/capital-loss.interface.mjs +2 -0
  119. package/esm2022/src/lib/models/client/capital-loss.mjs +15 -0
  120. package/esm2022/src/lib/models/client/client-details.mjs +27 -1
  121. package/esm2022/src/lib/models/client/client-invite.mjs +8 -5
  122. package/esm2022/src/lib/models/client/client-movement.mjs +8 -5
  123. package/esm2022/src/lib/models/client/index.mjs +3 -1
  124. package/esm2022/src/lib/models/depreciation/depreciation.mjs +4 -2
  125. package/esm2022/src/lib/models/employee/employee-details.mjs +8 -2
  126. package/esm2022/src/lib/models/employee/employee-invite.mjs +18 -2
  127. package/esm2022/src/lib/models/endpoint/endpoints.const.mjs +22 -13
  128. package/esm2022/src/lib/models/event/app-event-type.enum.mjs +20 -21
  129. package/esm2022/src/lib/models/file/file.mjs +4 -1
  130. package/esm2022/src/lib/models/financial-year/financial-year.mjs +3 -3
  131. package/esm2022/src/lib/models/firm/firm-branch.interface.mjs +2 -0
  132. package/esm2022/src/lib/models/firm/firm-branch.mjs +22 -0
  133. package/esm2022/src/lib/models/firm/firm.mjs +2 -2
  134. package/esm2022/src/lib/models/firm/index.mjs +3 -0
  135. package/esm2022/src/lib/models/holding/holding.mjs +4 -4
  136. package/esm2022/src/lib/models/income-source/salary-forecast.mjs +1 -1
  137. package/esm2022/src/lib/models/income-source/sole-forecast.mjs +1 -1
  138. package/esm2022/src/lib/models/index.mjs +2 -1
  139. package/esm2022/src/lib/models/property/property-equity-chart-data.mjs +11 -7
  140. package/esm2022/src/lib/models/property/property-forecast.mjs +1 -7
  141. package/esm2022/src/lib/models/property/property.mjs +6 -2
  142. package/esm2022/src/lib/models/registration-invite/registration-invite.mjs +5 -1
  143. package/esm2022/src/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.mjs +4 -4
  144. package/esm2022/src/lib/models/report/my-tax/my-tax-income-statements/my-tax-income-statements.mjs +2 -1
  145. package/esm2022/src/lib/models/report/my-tax/my-tax-rent/my-tax-rent.mjs +4 -9
  146. package/esm2022/src/lib/models/report/property/property-report-item-transaction.mjs +1 -1
  147. package/esm2022/src/lib/models/sole/bas-report.mjs +4 -1
  148. package/esm2022/src/lib/models/sole/sole-business-loss.mjs +1 -1
  149. package/esm2022/src/lib/models/sole/sole-invoice.mjs +7 -6
  150. package/esm2022/src/lib/models/tax-review/tax-review.mjs +12 -2
  151. package/esm2022/src/lib/models/tax-summary/tax-summary.mjs +3 -2
  152. package/esm2022/src/lib/models/transaction/transaction.mjs +1 -1
  153. package/esm2022/src/lib/models/user/user.mjs +8 -5
  154. package/esm2022/src/lib/models/vehicle/vehicle-claim-details.mjs +3 -3
  155. package/esm2022/src/lib/models/vehicle/vehicle-claim.mjs +1 -1
  156. package/esm2022/src/lib/pipes/app-currency.pipe.mjs +4 -4
  157. package/esm2022/src/lib/pipes/safe-url.pipe.mjs +5 -5
  158. package/esm2022/src/lib/services/account-setup/account-setup.service.mjs +9 -9
  159. package/esm2022/src/lib/services/asset/assets.service.mjs +6 -6
  160. package/esm2022/src/lib/services/bank/bank-account-calculation.service.mjs +4 -4
  161. package/esm2022/src/lib/services/data.service.mjs +4 -4
  162. package/esm2022/src/lib/services/event/event-dispatcher.service.mjs +4 -4
  163. package/esm2022/src/lib/services/event/sse.service.mjs +6 -6
  164. package/esm2022/src/lib/services/export/export-formatter.service.mjs +5 -5
  165. package/esm2022/src/lib/services/firm/current-firm-branch.service.mjs +26 -0
  166. package/esm2022/src/lib/services/firm/index.mjs +2 -0
  167. package/esm2022/src/lib/services/header-title/header-title.service.mjs +5 -5
  168. package/esm2022/src/lib/services/http/address/address.service.mjs +6 -6
  169. package/esm2022/src/lib/services/http/bank/bank-account/bank-account.service.mjs +6 -6
  170. package/esm2022/src/lib/services/http/bank/bank-connection/bank-connection-messages.enum.mjs +5 -2
  171. package/esm2022/src/lib/services/http/bank/bank-connection/bank-connection.service.mjs +11 -7
  172. package/esm2022/src/lib/services/http/bank/bank-transaction/bank-transaction.service.mjs +6 -6
  173. package/esm2022/src/lib/services/http/bank/bank.service.mjs +4 -4
  174. package/esm2022/src/lib/services/http/bank/basiq/basiq-token.service.mjs +4 -4
  175. package/esm2022/src/lib/services/http/bank/basiq/basiq.service.mjs +22 -6
  176. package/esm2022/src/lib/services/http/budget/budget.service.mjs +4 -4
  177. package/esm2022/src/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.mjs +4 -4
  178. package/esm2022/src/lib/services/http/chart-accounts/chart-accounts.service.mjs +4 -4
  179. package/esm2022/src/lib/services/http/chat/chat.service.mjs +10 -10
  180. package/esm2022/src/lib/services/http/chat/message-document.service.mjs +6 -6
  181. package/esm2022/src/lib/services/http/chat/message.service.mjs +10 -6
  182. package/esm2022/src/lib/services/http/client/annual-client-details.service.mjs +23 -0
  183. package/esm2022/src/lib/services/http/client/capital-loss/capital-loss-messages.enum.mjs +7 -0
  184. package/esm2022/src/lib/services/http/client/capital-loss/capital-loss.service.mjs +23 -0
  185. package/esm2022/src/lib/services/http/client/capital-loss/index.mjs +3 -0
  186. package/esm2022/src/lib/services/http/client/client-coupon.service.mjs +4 -4
  187. package/esm2022/src/lib/services/http/client/index.mjs +3 -2
  188. package/esm2022/src/lib/services/http/client/occupation/occupation.service.mjs +6 -6
  189. package/esm2022/src/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.mjs +4 -4
  190. package/esm2022/src/lib/services/http/depreciation/depreciation.service.mjs +6 -6
  191. package/esm2022/src/lib/services/http/document/document-folder/document-folder.service.mjs +4 -4
  192. package/esm2022/src/lib/services/http/document/document.service.mjs +4 -4
  193. package/esm2022/src/lib/services/http/facebook/facebook.service.mjs +6 -6
  194. package/esm2022/src/lib/services/http/file/file.service.mjs +4 -4
  195. package/esm2022/src/lib/services/http/firm/client-invite/client-invite-messages.enum.mjs +2 -2
  196. package/esm2022/src/lib/services/http/firm/client-invite/client-invite.service.mjs +9 -12
  197. package/esm2022/src/lib/services/http/firm/client-movement/client-movement-messages.enum.mjs +8 -0
  198. package/esm2022/src/lib/services/http/firm/client-movement/client-movement.service.mjs +8 -7
  199. package/esm2022/src/lib/services/http/firm/client-movement/index.mjs +2 -1
  200. package/esm2022/src/lib/services/http/firm/employee/employee-messages.enum.mjs +2 -1
  201. package/esm2022/src/lib/services/http/firm/employee/employee.service.mjs +14 -8
  202. package/esm2022/src/lib/services/http/firm/employee-invite/employee-invite.service.mjs +9 -9
  203. package/esm2022/src/lib/services/http/firm/firm-branch/firm-branch-messages.enum.mjs +9 -0
  204. package/esm2022/src/lib/services/http/firm/firm-branch/firm-branch.service.mjs +23 -0
  205. package/esm2022/src/lib/services/http/firm/firm-branch/index.mjs +3 -0
  206. package/esm2022/src/lib/services/http/firm/firm.service.mjs +7 -7
  207. package/esm2022/src/lib/services/http/firm/index.mjs +2 -1
  208. package/esm2022/src/lib/services/http/firm/portfolio-report/client-portfolio-report.service.mjs +6 -6
  209. package/esm2022/src/lib/services/http/google/google.service.mjs +6 -6
  210. package/esm2022/src/lib/services/http/holding/holding-import/holding-import.service.mjs +4 -4
  211. package/esm2022/src/lib/services/http/holding/holding-sale.service.mjs +4 -4
  212. package/esm2022/src/lib/services/http/holding/holding-type.service.mjs +4 -4
  213. package/esm2022/src/lib/services/http/holding/holding.service.mjs +7 -7
  214. package/esm2022/src/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.mjs +6 -6
  215. package/esm2022/src/lib/services/http/income-source/income-source.service.mjs +8 -8
  216. package/esm2022/src/lib/services/http/income-source/salary-forecast/salary-forecast.service.mjs +6 -6
  217. package/esm2022/src/lib/services/http/income-source/sole-forecast/sole-forecast.service.mjs +9 -8
  218. package/esm2022/src/lib/services/http/loan/borrowing-expense/borrowing-expense.service.mjs +6 -6
  219. package/esm2022/src/lib/services/http/loan/loan.service.mjs +6 -6
  220. package/esm2022/src/lib/services/http/pdf/pdf.service.mjs +6 -6
  221. package/esm2022/src/lib/services/http/property/borrowing-report/borrowing-report.service.mjs +4 -4
  222. package/esm2022/src/lib/services/http/property/property-category/property-category.service.mjs +4 -4
  223. package/esm2022/src/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +4 -4
  224. package/esm2022/src/lib/services/http/property/property-document/property-document.service.mjs +4 -4
  225. package/esm2022/src/lib/services/http/property/property-sale/property-sale.service.mjs +4 -4
  226. package/esm2022/src/lib/services/http/property/property-share/property-share.service.mjs +6 -6
  227. package/esm2022/src/lib/services/http/property/property-valuation/property-valuation.service.mjs +6 -6
  228. package/esm2022/src/lib/services/http/property/property.service.mjs +7 -6
  229. package/esm2022/src/lib/services/http/rest/rest-old.service.mjs +6 -6
  230. package/esm2022/src/lib/services/http/rest/rest.service.mjs +12 -7
  231. package/esm2022/src/lib/services/http/service-notification/service-notification.service.mjs +6 -6
  232. package/esm2022/src/lib/services/http/setup-item/setup-item.service.mjs +4 -4
  233. package/esm2022/src/lib/services/http/sole/bas-report/bas-report-messages.enum.mjs +8 -0
  234. package/esm2022/src/lib/services/http/sole/bas-report/bas-report.service.mjs +4 -4
  235. package/esm2022/src/lib/services/http/sole/bas-report/index.mjs +3 -0
  236. package/esm2022/src/lib/services/http/sole/index.mjs +2 -2
  237. package/esm2022/src/lib/services/http/sole/sole-business/sole-business.service.mjs +10 -14
  238. package/esm2022/src/lib/services/http/sole/sole-business-activity/sole-business-activity.service.mjs +4 -4
  239. package/esm2022/src/lib/services/http/sole/sole-business-loss/sole-business-loss-rules/sole-business-loss-offset-rule.service.mjs +4 -4
  240. package/esm2022/src/lib/services/http/sole/sole-business-loss/sole-business-loss.service.mjs +8 -9
  241. package/esm2022/src/lib/services/http/sole/sole-contact/sole-contact.service.mjs +4 -4
  242. package/esm2022/src/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.mjs +6 -6
  243. package/esm2022/src/lib/services/http/sole/sole-details/sole-details.service.mjs +6 -6
  244. package/esm2022/src/lib/services/http/sole/sole-invoice/sole-invoice.service.mjs +6 -6
  245. package/esm2022/src/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.mjs +4 -4
  246. package/esm2022/src/lib/services/http/subscription/service-payment/service-payment.service.mjs +4 -4
  247. package/esm2022/src/lib/services/http/subscription/service-payment-method/service-payment-method.service.mjs +6 -6
  248. package/esm2022/src/lib/services/http/subscription/service-price/service-price.service.mjs +4 -4
  249. package/esm2022/src/lib/services/http/subscription/service-product/service-product.service.mjs +4 -4
  250. package/esm2022/src/lib/services/http/subscription/service-subscription/subscription.service.mjs +6 -6
  251. package/esm2022/src/lib/services/http/tax-review/tax-review-history/tax-review-history.service.mjs +6 -6
  252. package/esm2022/src/lib/services/http/tax-review/tax-review.service.mjs +6 -6
  253. package/esm2022/src/lib/services/http/tax-summary/tax-summary.service.mjs +6 -6
  254. package/esm2022/src/lib/services/http/transaction/transaction-allocation/allocation-rule/allocation-rule.service.mjs +4 -4
  255. package/esm2022/src/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.mjs +6 -6
  256. package/esm2022/src/lib/services/http/transaction/transaction.service.mjs +6 -6
  257. package/esm2022/src/lib/services/http/user/financial-year/financial-year.service.mjs +6 -6
  258. package/esm2022/src/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +4 -4
  259. package/esm2022/src/lib/services/http/user/user-event-type/user-event-type.service.mjs +4 -4
  260. package/esm2022/src/lib/services/http/user/user.service.mjs +6 -6
  261. package/esm2022/src/lib/services/http/user/users-invite/users-invite.service.mjs +4 -4
  262. package/esm2022/src/lib/services/http/vehicle/vehicle-claim-details.service.mjs +6 -6
  263. package/esm2022/src/lib/services/http/vehicle/vehicle-claim.service.mjs +19 -8
  264. package/esm2022/src/lib/services/http/vehicle/vehicle-logbook/vehicle-logbook.service.mjs +6 -5
  265. package/esm2022/src/lib/services/http/vehicle/vehicle.service.mjs +4 -4
  266. package/esm2022/src/lib/services/http/youtube/youtube.service.mjs +6 -6
  267. package/esm2022/src/lib/services/index.mjs +2 -1
  268. package/esm2022/src/lib/services/intercom/intercom.service.mjs +6 -6
  269. package/esm2022/src/lib/services/json/chart-accounts/chart-accounts-value.service.mjs +5 -5
  270. package/esm2022/src/lib/services/json/holding/holding-type-exchange.service.mjs +5 -5
  271. package/esm2022/src/lib/services/json/income-source/income-source-type.service.mjs +5 -5
  272. package/esm2022/src/lib/services/json/tax-exemption/tax-exemption.service.mjs +5 -5
  273. package/esm2022/src/lib/services/json/tax-return/tax-return-item.service.mjs +5 -5
  274. package/esm2022/src/lib/services/pdf/pdf-from-dom-element/pdf-from-dom-element.service.mjs +4 -4
  275. package/esm2022/src/lib/services/pdf/pdf-from-table/pdf-from-data-table/pdf-from-data-table.service.mjs +5 -5
  276. package/esm2022/src/lib/services/pdf/pdf-from-table/pdf-from-html-table/pdf-from-html-table.service.mjs +4 -4
  277. package/esm2022/src/lib/services/pdf/pdf-from-table/pdf-from-table.service.mjs +4 -4
  278. package/esm2022/src/lib/services/preloader/preloader.service.mjs +5 -5
  279. package/esm2022/src/lib/services/property/corelogic/corelogic.service.mjs +6 -6
  280. package/esm2022/src/lib/services/property/equity-position-chart/equity-position-chart.service.mjs +6 -6
  281. package/esm2022/src/lib/services/property/property-calculation/property-calculation.service.mjs +4 -4
  282. package/esm2022/src/lib/services/report/property/property-transaction-report.service.mjs +17 -12
  283. package/esm2022/src/lib/services/toast/toast.service.mjs +4 -4
  284. package/esm2022/src/lib/services/user/user-switcher.service.mjs +4 -4
  285. package/esm2022/src/lib/services/xlsx/xlsx.service.mjs +4 -4
  286. package/esm2022/src/lib/validators/date-range.validator.mjs +1 -1
  287. package/esm2022/src/lib/validators/fields-sum.validator.mjs +1 -1
  288. package/esm2022/src/lib/validators/greater-than.validator.mjs +1 -1
  289. package/esm2022/src/lib/validators/index.mjs +3 -1
  290. package/esm2022/src/lib/validators/match-sum.validator.mjs +16 -0
  291. package/esm2022/src/lib/validators/string/alpha-space.validator.mjs +10 -0
  292. package/esm2022/src/lib/validators/unique-email.validator.mjs +5 -5
  293. package/fesm2022/taxtank-core-common.mjs +36 -27
  294. package/fesm2022/taxtank-core-common.mjs.map +1 -1
  295. package/fesm2022/taxtank-core.mjs +1545 -870
  296. package/fesm2022/taxtank-core.mjs.map +1 -1
  297. package/package.json +1 -1
  298. package/public-api.d.ts +1 -2
  299. package/src/lib/collections/bank-transaction.collection.d.ts +3 -2
  300. package/src/lib/collections/chat/chat.collection.d.ts +1 -5
  301. package/src/lib/collections/client-movement.collection.d.ts +2 -2
  302. package/src/lib/collections/client.collection.d.ts +1 -1
  303. package/src/lib/collections/collection-dictionary.d.ts +1 -0
  304. package/src/lib/collections/collection.d.ts +5 -1
  305. package/src/lib/collections/firm/employee-invite.collection.d.ts +5 -0
  306. package/src/lib/collections/firm/employee.collection.d.ts +6 -0
  307. package/src/lib/collections/firm/index.d.ts +2 -0
  308. package/src/lib/collections/income-source/income-source.collection.d.ts +1 -1
  309. package/src/lib/collections/index.d.ts +2 -1
  310. package/src/lib/collections/property/property-valuation.collection.d.ts +4 -0
  311. package/src/lib/collections/report/property/property-report-item-depreciation.collection.d.ts +2 -2
  312. package/src/lib/collections/report/property/property-report-item-transaction.collection.d.ts +3 -3
  313. package/src/lib/collections/report/property/property-report-item.collection.d.ts +1 -1
  314. package/src/lib/collections/tax-review.collection.d.ts +0 -4
  315. package/src/lib/collections/transaction/transaction.collection.d.ts +1 -0
  316. package/src/lib/collections/user/user.collection.d.ts +4 -0
  317. package/src/lib/collections/vehicle/vehicle-logbook.collection.d.ts +6 -0
  318. package/src/lib/core.module.d.ts +2 -1
  319. package/src/lib/db/Enums/bank/bank-connection-status.enum.d.ts +1 -0
  320. package/src/lib/db/Enums/chart-accounts/chart-accounts-property-adjustments-list.enum.d.ts +1 -1
  321. package/src/lib/db/Enums/firm/employee-invite-role.enum.d.ts +4 -0
  322. package/src/lib/db/Enums/firm/index.d.ts +2 -0
  323. package/src/lib/db/Enums/holding/holding-type-exchange-list.enum.d.ts +5 -4
  324. package/src/lib/db/Enums/index.d.ts +2 -0
  325. package/src/lib/db/Enums/user/gender.enum.d.ts +12 -0
  326. package/src/lib/db/Enums/user/index.d.ts +1 -0
  327. package/src/lib/db/Models/bank/bank-connection.d.ts +1 -0
  328. package/src/lib/db/Models/client/annual-client-details.d.ts +0 -1
  329. package/src/lib/db/Models/client/client-details.d.ts +1 -0
  330. package/src/lib/db/Models/firm/accountant/tax-review.d.ts +2 -0
  331. package/src/lib/db/Models/firm/chat.d.ts +2 -0
  332. package/src/lib/db/Models/firm/client-invite.d.ts +5 -2
  333. package/src/lib/db/Models/firm/client-movement.d.ts +2 -2
  334. package/src/lib/db/Models/firm/employee-invite.d.ts +4 -2
  335. package/src/lib/db/Models/firm/firm.d.ts +1 -1
  336. package/src/lib/db/Models/firm/message-document.d.ts +2 -6
  337. package/src/lib/db/Models/incomeSource/income-source-forecast.d.ts +2 -1
  338. package/src/lib/db/Models/incomeSource/income-source.d.ts +1 -1
  339. package/src/lib/db/Models/incomeSource/salary-forecast.d.ts +1 -0
  340. package/src/lib/db/Models/property/property-forecast.d.ts +1 -0
  341. package/src/lib/db/Models/sole/sole-business-loss.d.ts +1 -0
  342. package/src/lib/db/Models/sole/sole-business.d.ts +2 -2
  343. package/src/lib/db/Models/sole/sole-forecast.d.ts +1 -0
  344. package/src/lib/db/Models/user/employee-details.d.ts +2 -0
  345. package/src/lib/db/Models/user/user.d.ts +2 -0
  346. package/src/lib/db/Models/vehicle/vehicle-claim-details.d.ts +1 -1
  347. package/src/lib/forms/abstract.form.d.ts +14 -7
  348. package/src/lib/forms/bank/bank-account/bank-accounts-import.form.d.ts +1 -1
  349. package/src/lib/forms/chat/chat-filter.form.d.ts +18 -0
  350. package/src/lib/forms/chat/index.d.ts +1 -0
  351. package/src/lib/forms/client/capital-loss.form.d.ts +6 -0
  352. package/src/lib/forms/client/index.d.ts +1 -0
  353. package/src/lib/forms/collection.form.d.ts +14 -0
  354. package/src/lib/forms/firm/client-invite-put.form.d.ts +11 -0
  355. package/src/lib/forms/firm/client-invite.form.d.ts +15 -0
  356. package/src/lib/forms/firm/client-movement.form.d.ts +14 -0
  357. package/src/lib/forms/firm/employee-details.form.d.ts +14 -0
  358. package/src/lib/forms/firm/employee-invite.form.d.ts +17 -0
  359. package/src/lib/forms/firm/firm-branch.form.d.ts +5 -0
  360. package/src/lib/forms/firm/firm-invite.form.d.ts +15 -0
  361. package/src/lib/forms/firm/index.d.ts +7 -0
  362. package/src/lib/forms/holding/holding-reinvest.form.d.ts +7 -0
  363. package/src/lib/forms/index.d.ts +3 -0
  364. package/src/lib/forms/loan/loan.form.d.ts +2 -2
  365. package/src/lib/forms/register/register-client.form.d.ts +1 -1
  366. package/src/lib/forms/register/register-firm.form.d.ts +2 -2
  367. package/src/lib/forms/report/my-tax/my-tax-deductions.form.d.ts +1 -1
  368. package/src/lib/forms/report/my-tax/my-tax-rent.form.d.ts +1 -1
  369. package/src/lib/forms/tax-review/index.d.ts +2 -0
  370. package/src/lib/forms/tax-review/tax-review-filter-status.enum.d.ts +4 -0
  371. package/src/lib/forms/tax-review/tax-review-filter.form.d.ts +21 -0
  372. package/src/lib/forms/transaction/holding/holding-income.form.d.ts +8 -1
  373. package/src/lib/forms/transaction/index.d.ts +1 -0
  374. package/src/lib/forms/transaction/transaction-base-filter.form.d.ts +19 -0
  375. package/src/lib/forms/transaction/work/work-transaction.form.d.ts +1 -1
  376. package/src/lib/forms/user/user.form.d.ts +15 -3
  377. package/src/lib/forms/vehicle/vehicle-claim.form.d.ts +0 -2
  378. package/src/lib/models/bank/bank-connection.d.ts +8 -0
  379. package/src/lib/models/chat/chat.d.ts +3 -1
  380. package/src/lib/models/chat/message-document.d.ts +4 -4
  381. package/src/lib/models/client/annual-client-details.d.ts +0 -1
  382. package/src/lib/models/client/capital-loss.d.ts +9 -0
  383. package/src/lib/models/client/capital-loss.interface.d.ts +6 -0
  384. package/src/lib/models/client/client-details.d.ts +8 -0
  385. package/src/lib/models/client/client-invite.d.ts +3 -2
  386. package/src/lib/models/client/client-movement.d.ts +3 -2
  387. package/src/lib/models/client/index.d.ts +2 -0
  388. package/src/lib/models/employee/employee-details.d.ts +3 -1
  389. package/src/lib/models/employee/employee-invite.d.ts +7 -1
  390. package/src/lib/models/event/app-event-type.enum.d.ts +19 -20
  391. package/src/lib/models/file/file.d.ts +1 -0
  392. package/src/lib/models/firm/firm-branch.d.ts +12 -0
  393. package/src/lib/models/firm/firm-branch.interface.d.ts +7 -0
  394. package/src/lib/models/firm/index.d.ts +2 -0
  395. package/src/lib/models/holding/holding.d.ts +0 -1
  396. package/src/lib/models/index.d.ts +1 -0
  397. package/src/lib/models/property/property-equity-chart-data.d.ts +7 -7
  398. package/src/lib/models/property/property-forecast.d.ts +0 -4
  399. package/src/lib/models/registration-invite/registration-invite.d.ts +2 -0
  400. package/src/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.d.ts +1 -1
  401. package/src/lib/models/report/property/property-report-item-transaction.d.ts +3 -3
  402. package/src/lib/models/tax-review/tax-review.d.ts +5 -1
  403. package/src/lib/models/user/user.d.ts +2 -3
  404. package/src/lib/models/vehicle/vehicle-claim-details.d.ts +1 -1
  405. package/src/lib/services/firm/current-firm-branch.service.d.ts +11 -0
  406. package/src/lib/services/firm/index.d.ts +1 -0
  407. package/src/lib/services/http/bank/bank-connection/bank-connection-messages.enum.d.ts +5 -2
  408. package/src/lib/services/http/bank/basiq/basiq.service.d.ts +8 -0
  409. package/src/lib/services/http/chat/message.service.d.ts +2 -0
  410. package/src/lib/services/http/client/{capital-gain/annual-client-details.service.d.ts → annual-client-details.service.d.ts} +4 -4
  411. package/src/lib/services/http/client/capital-loss/capital-loss-messages.enum.d.ts +5 -0
  412. package/src/lib/services/http/client/capital-loss/capital-loss.service.d.ts +12 -0
  413. package/src/lib/services/http/client/capital-loss/index.d.ts +2 -0
  414. package/src/lib/services/http/client/index.d.ts +2 -1
  415. package/src/lib/services/http/firm/client-invite/client-invite-messages.enum.d.ts +1 -1
  416. package/src/lib/services/http/firm/client-invite/client-invite.service.d.ts +0 -1
  417. package/src/lib/services/http/firm/client-movement/client-movement-messages.enum.d.ts +6 -0
  418. package/src/lib/services/http/firm/client-movement/client-movement.service.d.ts +2 -1
  419. package/src/lib/services/http/firm/client-movement/index.d.ts +1 -0
  420. package/src/lib/services/http/firm/employee/employee-messages.enum.d.ts +2 -1
  421. package/src/lib/services/http/firm/employee/employee.service.d.ts +4 -3
  422. package/src/lib/services/http/firm/employee-invite/employee-invite.service.d.ts +3 -3
  423. package/src/lib/services/http/firm/firm-branch/firm-branch-messages.enum.d.ts +7 -0
  424. package/src/lib/services/http/firm/firm-branch/firm-branch.service.d.ts +13 -0
  425. package/src/lib/services/http/firm/firm-branch/index.d.ts +2 -0
  426. package/src/lib/services/http/firm/firm.service.d.ts +2 -2
  427. package/src/lib/services/http/firm/index.d.ts +1 -0
  428. package/src/lib/services/http/holding/holding-sale.service.d.ts +1 -2
  429. package/src/lib/services/http/property/property-valuation/property-valuation.service.d.ts +1 -2
  430. package/src/lib/services/http/rest/rest.service.d.ts +5 -0
  431. package/src/lib/services/http/sole/bas-report/bas-report-messages.enum.d.ts +6 -0
  432. package/src/lib/services/http/sole/bas-report/index.d.ts +2 -0
  433. package/src/lib/services/http/sole/index.d.ts +1 -1
  434. package/src/lib/services/http/sole/sole-business/sole-business.service.d.ts +7 -5
  435. package/src/lib/services/http/vehicle/vehicle-claim.service.d.ts +5 -1
  436. package/src/lib/services/http/vehicle/vehicle-logbook/vehicle-logbook.service.d.ts +2 -1
  437. package/src/lib/services/index.d.ts +1 -0
  438. package/src/lib/services/report/property/property-transaction-report.service.d.ts +4 -7
  439. package/src/lib/validators/index.d.ts +2 -0
  440. package/src/lib/validators/match-sum.validator.d.ts +6 -0
  441. package/src/lib/validators/string/alpha-space.validator.d.ts +5 -0
  442. package/esm2022/src/lib/collections/employee.collection.mjs +0 -11
  443. package/esm2022/src/lib/db/Enums/firm-type.enum.mjs +0 -6
  444. package/esm2022/src/lib/functions/tax-review-filter-predicate.mjs +0 -10
  445. package/esm2022/src/lib/services/http/client/capital-gain/annual-client-details.service.mjs +0 -23
  446. package/esm2022/src/lib/validators/transactions-meta-fields.validator.mjs +0 -33
  447. package/src/lib/collections/employee.collection.d.ts +0 -6
  448. package/src/lib/functions/tax-review-filter-predicate.d.ts +0 -7
  449. package/src/lib/validators/transactions-meta-fields.validator.d.ts +0 -5
  450. /package/src/lib/db/Enums/{firm-type.enum.d.ts → firm/firm-type.enum.d.ts} +0 -0
@@ -42,25 +42,24 @@ export var AppEventTypeEnum;
42
42
  AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_ADDED"] = 36] = "PROPERTY_SUBSCRIPTION_ADDED";
43
43
  AppEventTypeEnum[AppEventTypeEnum["PROPERTY_SUBSCRIPTION_DELETED"] = 37] = "PROPERTY_SUBSCRIPTION_DELETED";
44
44
  AppEventTypeEnum[AppEventTypeEnum["PROPERTY_VALUATION_DOCUMENT_CREATED"] = 38] = "PROPERTY_VALUATION_DOCUMENT_CREATED";
45
- AppEventTypeEnum[AppEventTypeEnum["SOLE_BUSINESS_CREATED"] = 39] = "SOLE_BUSINESS_CREATED";
46
- AppEventTypeEnum[AppEventTypeEnum["SOLE_DEPRECIATION_METHOD_UPDATED"] = 40] = "SOLE_DEPRECIATION_METHOD_UPDATED";
47
- AppEventTypeEnum[AppEventTypeEnum["SOLE_DETAILS_CREATED"] = 41] = "SOLE_DETAILS_CREATED";
48
- AppEventTypeEnum[AppEventTypeEnum["SOLE_DETAILS_UPDATED"] = 42] = "SOLE_DETAILS_UPDATED";
49
- AppEventTypeEnum[AppEventTypeEnum["SOLE_INVOICE_PUBLISHED"] = 43] = "SOLE_INVOICE_PUBLISHED";
50
- AppEventTypeEnum[AppEventTypeEnum["TAX_REVIEW_UPDATED"] = 44] = "TAX_REVIEW_UPDATED";
51
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_ALLOCATION_CREATED"] = 45] = "TRANSACTION_ALLOCATION_CREATED";
52
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_ALLOCATION_DELETED"] = 46] = "TRANSACTION_ALLOCATION_DELETED";
53
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_CREATED"] = 47] = "TRANSACTION_CREATED";
54
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_DELETED"] = 48] = "TRANSACTION_DELETED";
55
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED"] = 49] = "TRANSACTION_UPDATED";
56
- AppEventTypeEnum[AppEventTypeEnum["TRANSACTIONS_CREATED"] = 50] = "TRANSACTIONS_CREATED";
57
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_UPDATED"] = 51] = "VEHICLE_CLAIM_UPDATED";
58
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_CREATED"] = 52] = "VEHICLE_CLAIM_CREATED";
59
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_DETAILS_UPDATED"] = 53] = "VEHICLE_CLAIM_DETAILS_UPDATED";
60
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_DETAILS_CREATED"] = 54] = "VEHICLE_CLAIM_DETAILS_CREATED";
61
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_CREATED"] = 55] = "VEHICLE_LOGBOOK_CREATED";
62
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_UPDATED"] = 56] = "VEHICLE_LOGBOOK_UPDATED";
63
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_DELETED"] = 57] = "VEHICLE_LOGBOOK_DELETED";
64
- AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED"] = 58] = "VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED";
45
+ AppEventTypeEnum[AppEventTypeEnum["SOLE_DEPRECIATION_METHOD_UPDATED"] = 39] = "SOLE_DEPRECIATION_METHOD_UPDATED";
46
+ AppEventTypeEnum[AppEventTypeEnum["SOLE_DETAILS_CREATED"] = 40] = "SOLE_DETAILS_CREATED";
47
+ AppEventTypeEnum[AppEventTypeEnum["SOLE_DETAILS_UPDATED"] = 41] = "SOLE_DETAILS_UPDATED";
48
+ AppEventTypeEnum[AppEventTypeEnum["SOLE_INVOICE_PUBLISHED"] = 42] = "SOLE_INVOICE_PUBLISHED";
49
+ AppEventTypeEnum[AppEventTypeEnum["TAX_REVIEW_UPDATED"] = 43] = "TAX_REVIEW_UPDATED";
50
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_ALLOCATION_CREATED"] = 44] = "TRANSACTION_ALLOCATION_CREATED";
51
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_ALLOCATION_DELETED"] = 45] = "TRANSACTION_ALLOCATION_DELETED";
52
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_CREATED"] = 46] = "TRANSACTION_CREATED";
53
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_DELETED"] = 47] = "TRANSACTION_DELETED";
54
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTION_UPDATED"] = 48] = "TRANSACTION_UPDATED";
55
+ AppEventTypeEnum[AppEventTypeEnum["TRANSACTIONS_CREATED"] = 49] = "TRANSACTIONS_CREATED";
56
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_UPDATED"] = 50] = "VEHICLE_CLAIM_UPDATED";
57
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_CREATED"] = 51] = "VEHICLE_CLAIM_CREATED";
58
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_DETAILS_UPDATED"] = 52] = "VEHICLE_CLAIM_DETAILS_UPDATED";
59
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_CLAIM_DETAILS_CREATED"] = 53] = "VEHICLE_CLAIM_DETAILS_CREATED";
60
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_CREATED"] = 54] = "VEHICLE_LOGBOOK_CREATED";
61
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_UPDATED"] = 55] = "VEHICLE_LOGBOOK_UPDATED";
62
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_DELETED"] = 56] = "VEHICLE_LOGBOOK_DELETED";
63
+ AppEventTypeEnum[AppEventTypeEnum["VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED"] = 57] = "VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED";
65
64
  })(AppEventTypeEnum || (AppEventTypeEnum = {}));
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWV2ZW50LXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLGdCQTREWDtBQTVERCxXQUFZLGdCQUFnQjtJQUMxQiwyRkFBc0IsQ0FBQTtJQUN0Qix5RkFBcUIsQ0FBQTtJQUNyQixtR0FBMEIsQ0FBQTtJQUMxQiw2RkFBdUIsQ0FBQTtJQUN2QixpR0FBeUIsQ0FBQTtJQUN6QiwrRkFBd0IsQ0FBQTtJQUN4QixpRkFBaUIsQ0FBQTtJQUNqQixxRkFBbUIsQ0FBQTtJQUNuQixtRkFBa0IsQ0FBQTtJQUNsQiwrRkFBd0IsQ0FBQTtJQUN4Qiw0RkFBc0IsQ0FBQTtJQUN0QixnRkFBZ0IsQ0FBQTtJQUNoQixrSEFBaUMsQ0FBQTtJQUNqQyw4RkFBdUIsQ0FBQTtJQUN2Qix3RkFBb0IsQ0FBQTtJQUNwQiwwRkFBcUIsQ0FBQTtJQUNyQiw0RkFBc0IsQ0FBQTtJQUN0Qiw0RkFBc0IsQ0FBQTtJQUN0QixnSEFBZ0MsQ0FBQTtJQUNoQyxnSEFBZ0MsQ0FBQTtJQUNoQyx3RUFBWSxDQUFBO0lBQ1osc0ZBQW1CLENBQUE7SUFDbkIsOEVBQWUsQ0FBQTtJQUNmLHdGQUFvQixDQUFBO0lBQ3BCLHdGQUFvQixDQUFBO0lBQ3BCLG9GQUFrQixDQUFBO0lBQ2xCLGtJQUF5QyxDQUFBO0lBQ3pDLGdGQUFnQixDQUFBO0lBQ2hCLDRHQUE4QixDQUFBO0lBQzlCLDhGQUF1QixDQUFBO0lBQ3ZCLGtHQUF5QixDQUFBO0lBQ3pCLGtHQUF5QixDQUFBO0lBQ3pCLGtHQUF5QixDQUFBO0lBQ3pCLDRGQUFzQixDQUFBO0lBQ3RCLHNGQUFtQixDQUFBO0lBQ25CLDBGQUFxQixDQUFBO0lBQ3JCLHNHQUEyQixDQUFBO0lBQzNCLDBHQUE2QixDQUFBO0lBQzdCLHNIQUFtQyxDQUFBO0lBQ25DLDBGQUFxQixDQUFBO0lBQ3JCLGdIQUFnQyxDQUFBO0lBQ2hDLHdGQUFvQixDQUFBO0lBQ3BCLHdGQUFvQixDQUFBO0lBQ3BCLDRGQUFzQixDQUFBO0lBQ3RCLG9GQUFrQixDQUFBO0lBQ2xCLDRHQUE4QixDQUFBO0lBQzlCLDRHQUE4QixDQUFBO0lBQzlCLHNGQUFtQixDQUFBO0lBQ25CLHNGQUFtQixDQUFBO0lBQ25CLHNGQUFtQixDQUFBO0lBQ25CLHdGQUFvQixDQUFBO0lBQ3BCLDBGQUFxQixDQUFBO0lBQ3JCLDBGQUFxQixDQUFBO0lBQ3JCLDBHQUE2QixDQUFBO0lBQzdCLDBHQUE2QixDQUFBO0lBQzdCLDhGQUF1QixDQUFBO0lBQ3ZCLDhGQUF1QixDQUFBO0lBQ3ZCLDhGQUF1QixDQUFBO0lBQ3ZCLHNIQUFtQyxDQUFBO0FBQ3JDLENBQUMsRUE1RFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQTREM0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBUT0RPIEFsZXggcmVtb3ZlXG4gKi9cbmV4cG9ydCBlbnVtIEFwcEV2ZW50VHlwZUVudW0ge1xuICBDTElFTlRfTU9WRU1FTlRfQ0xPU0VELFxuICBCQU5LX0NPTk5FQ1RJT05fQURERUQsXG4gIEJBTktfVFJBTlNBQ1RJT05fQUxMT0NBVEVELFxuICBCQU5LX1RSQU5TQUNUSU9OU19BRERFRCxcbiAgQkFOS19UUkFOU0FDVElPTlNfREVMRVRFRCxcbiAgQkFTSVFfQ09OTkVDVElPTl9VUERBVEVELFxuICBCQVNJUV9KT0JfQ1JFQVRFRCxcbiAgQkFTSVFfTE9HSU5fU1VDQ0VTUyxcbiAgQkFTSVFfTE9HSU5fRkFJTEVELFxuICBCQVNJUV9BQ0NPVU5UU19SRVRSSUVWRUQsXG4gIENMSUVOVF9JTlZJVEVfQUNDRVBURUQsXG4gIENMSUVOVF9PUEVOX0NIQVQsXG4gIENMSUVOVF9UUkFOU0ZFUl9UT19PVEhFUl9FTVBMT1lFRSxcbiAgQ1VSUkVOVF9VU0VSX0dFVF9GQUlMRUQsXG4gIERFUFJFQ0lBVElPTl9ERUxFVEVELFxuICBERVBSRUNJQVRJT05TX0NSRUFURUQsXG4gIElOQ09NRV9TT1VSQ0VTX0NSRUFURUQsXG4gIElOQ09NRV9TT1VSQ0VTX1VQREFURUQsXG4gIElOQ09NRV9TT1VSQ0VTX0ZPUkVDQVNUU19DUkVBVEVELFxuICBJTkNPTUVfU09VUkNFU19GT1JFQ0FTVFNfVVBEQVRFRCxcbiAgTE9BTl9VUERBVEVELFxuICBMT0FOX1BBWU9VVF9VUERBVEVELFxuICBNRVNTQUdFX0NSRUFURUQsXG4gIE1FU1NBR0VfRklMRV9DUkVBVEVELFxuICBNRVNTQUdFX0ZJTEVfREVMRVRFRCxcbiAgTk9USUZJQ0FUSU9OX0FEREVELFxuICBQUk9QRVJUWV9ERVBSRUNJQVRJT05fQ0FMQ1VMQVRJT05fVVBEQVRFRCxcbiAgUFJPUEVSVFlfVVBEQVRFRCxcbiAgUFJPUEVSVFlfVVBEQVRFRF9XSVRIX0RPQ1VNRU5ULFxuICBQUk9QRVJUWV9ET0NVTUVOVF9BRERFRCxcbiAgUFJPUEVSVFlfTU9WRU1FTlRfQ1JFQVRFRCxcbiAgUFJPUEVSVFlfTU9WRU1FTlRfVVBEQVRFRCxcbiAgUFJPUEVSVFlfTU9WRU1FTlRfREVMRVRFRCxcbiAgUFJPUEVSVFlfU0hBUkVfVVBEQVRFRCxcbiAgUFJPUEVSVFlfU0FMRV9BRERFRCxcbiAgUFJPUEVSVFlfU0FMRV9ERUxFVEVELFxuICBQUk9QRVJUWV9TVUJTQ1JJUFRJT05fQURERUQsXG4gIFBST1BFUlRZX1NVQlNDUklQVElPTl9ERUxFVEVELFxuICBQUk9QRVJUWV9WQUxVQVRJT05fRE9DVU1FTlRfQ1JFQVRFRCxcbiAgU09MRV9CVVNJTkVTU19DUkVBVEVELFxuICBTT0xFX0RFUFJFQ0lBVElPTl9NRVRIT0RfVVBEQVRFRCxcbiAgU09MRV9ERVRBSUxTX0NSRUFURUQsXG4gIFNPTEVfREVUQUlMU19VUERBVEVELFxuICBTT0xFX0lOVk9JQ0VfUFVCTElTSEVELFxuICBUQVhfUkVWSUVXX1VQREFURUQsXG4gIFRSQU5TQUNUSU9OX0FMTE9DQVRJT05fQ1JFQVRFRCxcbiAgVFJBTlNBQ1RJT05fQUxMT0NBVElPTl9ERUxFVEVELFxuICBUUkFOU0FDVElPTl9DUkVBVEVELFxuICBUUkFOU0FDVElPTl9ERUxFVEVELFxuICBUUkFOU0FDVElPTl9VUERBVEVELFxuICBUUkFOU0FDVElPTlNfQ1JFQVRFRCxcbiAgVkVISUNMRV9DTEFJTV9VUERBVEVELFxuICBWRUhJQ0xFX0NMQUlNX0NSRUFURUQsXG4gIFZFSElDTEVfQ0xBSU1fREVUQUlMU19VUERBVEVELFxuICBWRUhJQ0xFX0NMQUlNX0RFVEFJTFNfQ1JFQVRFRCxcbiAgVkVISUNMRV9MT0dCT09LX0NSRUFURUQsXG4gIFZFSElDTEVfTE9HQk9PS19VUERBVEVELFxuICBWRUhJQ0xFX0xPR0JPT0tfREVMRVRFRCxcbiAgVkVISUNMRV9MT0dCT09LX0JFU1RfUEVSSU9EX1VQREFURURcbn1cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWV2ZW50LXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLGdCQTJEWDtBQTNERCxXQUFZLGdCQUFnQjtJQUMxQiwyRkFBc0IsQ0FBQTtJQUN0Qix5RkFBcUIsQ0FBQTtJQUNyQixtR0FBMEIsQ0FBQTtJQUMxQiw2RkFBdUIsQ0FBQTtJQUN2QixpR0FBeUIsQ0FBQTtJQUN6QiwrRkFBd0IsQ0FBQTtJQUN4QixpRkFBaUIsQ0FBQTtJQUNqQixxRkFBbUIsQ0FBQTtJQUNuQixtRkFBa0IsQ0FBQTtJQUNsQiwrRkFBd0IsQ0FBQTtJQUN4Qiw0RkFBc0IsQ0FBQTtJQUN0QixnRkFBZ0IsQ0FBQTtJQUNoQixrSEFBaUMsQ0FBQTtJQUNqQyw4RkFBdUIsQ0FBQTtJQUN2Qix3RkFBb0IsQ0FBQTtJQUNwQiwwRkFBcUIsQ0FBQTtJQUNyQiw0RkFBc0IsQ0FBQTtJQUN0Qiw0RkFBc0IsQ0FBQTtJQUN0QixnSEFBZ0MsQ0FBQTtJQUNoQyxnSEFBZ0MsQ0FBQTtJQUNoQyx3RUFBWSxDQUFBO0lBQ1osc0ZBQW1CLENBQUE7SUFDbkIsOEVBQWUsQ0FBQTtJQUNmLHdGQUFvQixDQUFBO0lBQ3BCLHdGQUFvQixDQUFBO0lBQ3BCLG9GQUFrQixDQUFBO0lBQ2xCLGtJQUF5QyxDQUFBO0lBQ3pDLGdGQUFnQixDQUFBO0lBQ2hCLDRHQUE4QixDQUFBO0lBQzlCLDhGQUF1QixDQUFBO0lBQ3ZCLGtHQUF5QixDQUFBO0lBQ3pCLGtHQUF5QixDQUFBO0lBQ3pCLGtHQUF5QixDQUFBO0lBQ3pCLDRGQUFzQixDQUFBO0lBQ3RCLHNGQUFtQixDQUFBO0lBQ25CLDBGQUFxQixDQUFBO0lBQ3JCLHNHQUEyQixDQUFBO0lBQzNCLDBHQUE2QixDQUFBO0lBQzdCLHNIQUFtQyxDQUFBO0lBQ25DLGdIQUFnQyxDQUFBO0lBQ2hDLHdGQUFvQixDQUFBO0lBQ3BCLHdGQUFvQixDQUFBO0lBQ3BCLDRGQUFzQixDQUFBO0lBQ3RCLG9GQUFrQixDQUFBO0lBQ2xCLDRHQUE4QixDQUFBO0lBQzlCLDRHQUE4QixDQUFBO0lBQzlCLHNGQUFtQixDQUFBO0lBQ25CLHNGQUFtQixDQUFBO0lBQ25CLHNGQUFtQixDQUFBO0lBQ25CLHdGQUFvQixDQUFBO0lBQ3BCLDBGQUFxQixDQUFBO0lBQ3JCLDBGQUFxQixDQUFBO0lBQ3JCLDBHQUE2QixDQUFBO0lBQzdCLDBHQUE2QixDQUFBO0lBQzdCLDhGQUF1QixDQUFBO0lBQ3ZCLDhGQUF1QixDQUFBO0lBQ3ZCLDhGQUF1QixDQUFBO0lBQ3ZCLHNIQUFtQyxDQUFBO0FBQ3JDLENBQUMsRUEzRFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQTJEM0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBUT0RPIEFsZXggcmVtb3ZlXG4gKi9cbmV4cG9ydCBlbnVtIEFwcEV2ZW50VHlwZUVudW0ge1xuICBDTElFTlRfTU9WRU1FTlRfQ0xPU0VELFxuICBCQU5LX0NPTk5FQ1RJT05fQURERUQsXG4gIEJBTktfVFJBTlNBQ1RJT05fQUxMT0NBVEVELFxuICBCQU5LX1RSQU5TQUNUSU9OU19BRERFRCxcbiAgQkFOS19UUkFOU0FDVElPTlNfREVMRVRFRCxcbiAgQkFTSVFfQ09OTkVDVElPTl9VUERBVEVELFxuICBCQVNJUV9KT0JfQ1JFQVRFRCxcbiAgQkFTSVFfTE9HSU5fU1VDQ0VTUyxcbiAgQkFTSVFfTE9HSU5fRkFJTEVELFxuICBCQVNJUV9BQ0NPVU5UU19SRVRSSUVWRUQsXG4gIENMSUVOVF9JTlZJVEVfQUNDRVBURUQsXG4gIENMSUVOVF9PUEVOX0NIQVQsXG4gIENMSUVOVF9UUkFOU0ZFUl9UT19PVEhFUl9FTVBMT1lFRSxcbiAgQ1VSUkVOVF9VU0VSX0dFVF9GQUlMRUQsXG4gIERFUFJFQ0lBVElPTl9ERUxFVEVELFxuICBERVBSRUNJQVRJT05TX0NSRUFURUQsXG4gIElOQ09NRV9TT1VSQ0VTX0NSRUFURUQsXG4gIElOQ09NRV9TT1VSQ0VTX1VQREFURUQsXG4gIElOQ09NRV9TT1VSQ0VTX0ZPUkVDQVNUU19DUkVBVEVELFxuICBJTkNPTUVfU09VUkNFU19GT1JFQ0FTVFNfVVBEQVRFRCxcbiAgTE9BTl9VUERBVEVELFxuICBMT0FOX1BBWU9VVF9VUERBVEVELFxuICBNRVNTQUdFX0NSRUFURUQsXG4gIE1FU1NBR0VfRklMRV9DUkVBVEVELFxuICBNRVNTQUdFX0ZJTEVfREVMRVRFRCxcbiAgTk9USUZJQ0FUSU9OX0FEREVELFxuICBQUk9QRVJUWV9ERVBSRUNJQVRJT05fQ0FMQ1VMQVRJT05fVVBEQVRFRCxcbiAgUFJPUEVSVFlfVVBEQVRFRCxcbiAgUFJPUEVSVFlfVVBEQVRFRF9XSVRIX0RPQ1VNRU5ULFxuICBQUk9QRVJUWV9ET0NVTUVOVF9BRERFRCxcbiAgUFJPUEVSVFlfTU9WRU1FTlRfQ1JFQVRFRCxcbiAgUFJPUEVSVFlfTU9WRU1FTlRfVVBEQVRFRCxcbiAgUFJPUEVSVFlfTU9WRU1FTlRfREVMRVRFRCxcbiAgUFJPUEVSVFlfU0hBUkVfVVBEQVRFRCxcbiAgUFJPUEVSVFlfU0FMRV9BRERFRCxcbiAgUFJPUEVSVFlfU0FMRV9ERUxFVEVELFxuICBQUk9QRVJUWV9TVUJTQ1JJUFRJT05fQURERUQsXG4gIFBST1BFUlRZX1NVQlNDUklQVElPTl9ERUxFVEVELFxuICBQUk9QRVJUWV9WQUxVQVRJT05fRE9DVU1FTlRfQ1JFQVRFRCxcbiAgU09MRV9ERVBSRUNJQVRJT05fTUVUSE9EX1VQREFURUQsXG4gIFNPTEVfREVUQUlMU19DUkVBVEVELFxuICBTT0xFX0RFVEFJTFNfVVBEQVRFRCxcbiAgU09MRV9JTlZPSUNFX1BVQkxJU0hFRCxcbiAgVEFYX1JFVklFV19VUERBVEVELFxuICBUUkFOU0FDVElPTl9BTExPQ0FUSU9OX0NSRUFURUQsXG4gIFRSQU5TQUNUSU9OX0FMTE9DQVRJT05fREVMRVRFRCxcbiAgVFJBTlNBQ1RJT05fQ1JFQVRFRCxcbiAgVFJBTlNBQ1RJT05fREVMRVRFRCxcbiAgVFJBTlNBQ1RJT05fVVBEQVRFRCxcbiAgVFJBTlNBQ1RJT05TX0NSRUFURUQsXG4gIFZFSElDTEVfQ0xBSU1fVVBEQVRFRCxcbiAgVkVISUNMRV9DTEFJTV9DUkVBVEVELFxuICBWRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRCxcbiAgVkVISUNMRV9DTEFJTV9ERVRBSUxTX0NSRUFURUQsXG4gIFZFSElDTEVfTE9HQk9PS19DUkVBVEVELFxuICBWRUhJQ0xFX0xPR0JPT0tfVVBEQVRFRCxcbiAgVkVISUNMRV9MT0dCT09LX0RFTEVURUQsXG4gIFZFSElDTEVfTE9HQk9PS19CRVNUX1BFUklPRF9VUERBVEVEXG59XG4iXX0=
@@ -8,5 +8,8 @@ export class AppFile extends File {
8
8
  isImage() {
9
9
  return AppFile.imageMimeTypes.includes[this.mimeType];
10
10
  }
11
+ get month() {
12
+ return this.formatDate(this.createdAt, 'MMM yyyy');
13
+ }
11
14
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvZmlsZS9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sT0FBUSxTQUFRLElBQUk7YUFDeEIsbUJBQWMsR0FBYSxDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFFOUYsT0FBTztRQUNMLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWxlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcblxuLyoqXG4gKiBUaGUgbW9kZWwgcmVuYW1lZCBmb3IgbW9yZSBjb21mb3J0YWJsZSB3b3JrIGJlY2F1c2UgRmlsZSBhbHJlYWR5IGV4aXN0IGluIEpTXG4gKiBAVE9ETyBBbGV4OiBjb25zaWRlciBhIGJldHRlciBuYW1lIGxpa2UgZG9jdW1lbnRcbiAqL1xuZXhwb3J0IGNsYXNzIEFwcEZpbGUgZXh0ZW5kcyBGaWxlIHtcbiAgc3RhdGljIGltYWdlTWltZVR5cGVzOiBzdHJpbmdbXSA9IFsnaW1hZ2UvanBnLCBpbWFnZS9qcGVnLCBpbWFnZS9wbmcsIGltYWdlL3RpZmYsIGltYWdlL2JtcCddO1xuXG4gIGlzSW1hZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEFwcEZpbGUuaW1hZ2VNaW1lVHlwZXMuaW5jbHVkZXNbdGhpcy5taW1lVHlwZV07XG4gIH1cbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvZmlsZS9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sT0FBUSxTQUFRLElBQUk7YUFDeEIsbUJBQWMsR0FBYSxDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFFOUYsT0FBTztRQUNMLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5cbi8qKlxuICogVGhlIG1vZGVsIHJlbmFtZWQgZm9yIG1vcmUgY29tZm9ydGFibGUgd29yayBiZWNhdXNlIEZpbGUgYWxyZWFkeSBleGlzdCBpbiBKU1xuICogQFRPRE8gQWxleDogY29uc2lkZXIgYSBiZXR0ZXIgbmFtZSBsaWtlIGRvY3VtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBBcHBGaWxlIGV4dGVuZHMgRmlsZSB7XG4gIHN0YXRpYyBpbWFnZU1pbWVUeXBlczogc3RyaW5nW10gPSBbJ2ltYWdlL2pwZywgaW1hZ2UvanBlZywgaW1hZ2UvcG5nLCBpbWFnZS90aWZmLCBpbWFnZS9ibXAnXTtcblxuICBpc0ltYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcHBGaWxlLmltYWdlTWltZVR5cGVzLmluY2x1ZGVzW3RoaXMubWltZVR5cGVdO1xuICB9XG5cbiAgZ2V0IG1vbnRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZSh0aGlzLmNyZWF0ZWRBdCwgJ01NTSB5eXl5Jyk7XG4gIH1cbn1cbiJdfQ==
@@ -6,8 +6,8 @@ export class FinancialYear {
6
6
  return +localStorage.getItem('financialYear');
7
7
  }
8
8
  constructor(date) {
9
- this.yearStartDate = '-07-01';
10
- this.yearEndDate = '-06-30';
9
+ this.yearStartDate = '-07-01T00:00:00Z';
10
+ this.yearEndDate = '-06-30T23:59:59Z';
11
11
  if (date) {
12
12
  this.year = date instanceof Date ? FinancialYear.toFinYear(date) : date;
13
13
  }
@@ -54,4 +54,4 @@ export class FinancialYear {
54
54
  return months;
55
55
  }
56
56
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYW5jaWFsLXllYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO2FBQ2pCLGdCQUFXLEdBQUcsRUFBRSxBQUFMLENBQU07YUFDakIsaUJBQVksR0FBRyxFQUFFLEFBQUwsQ0FBTTthQUNsQixvQkFBZSxHQUFHLENBQUMsQUFBSixDQUFLO0lBQzNCLE1BQU0sS0FBSyxJQUFJO1FBQ2IsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQVFELFlBQVksSUFBa0I7UUFIdEIsa0JBQWEsR0FBRyxRQUFRLENBQUM7UUFDekIsZ0JBQVcsR0FBRyxRQUFRLENBQUM7UUFHN0IsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUN6RTthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBZSxhQUFhLENBQUMsSUFBSTtRQUNoRCxPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQztJQUN0RCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFVO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksQ0FBQyxVQUFrQjtRQUM3QixJQUFJLFVBQVUsSUFBSSxhQUFhLENBQUMsZUFBZSxFQUFFO1lBQy9DLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLFVBQVUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTyxZQUFZLENBQUMsSUFBWTtRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQVk7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLE1BQU0sT0FBTyxHQUFTLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDOUQsS0FBSyxNQUFNLENBQUMsR0FBUyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDL0UsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMzQjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRmluYW5jaWFsWWVhciB7XHJcbiAgc3RhdGljIHdlZWtzSW5ZZWFyID0gNTI7XHJcbiAgc3RhdGljIG1vbnRoc0luWWVhciA9IDEyO1xyXG4gIHN0YXRpYyBzdGFydE1vbnRoSW5kZXggPSA2O1xyXG4gIHN0YXRpYyBnZXQgeWVhcigpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZmluYW5jaWFsWWVhcicpO1xyXG4gIH1cclxuICB5ZWFyOiBudW1iZXI7XHJcbiAgc3RhcnREYXRlOiBEYXRlO1xyXG4gIGVuZERhdGU6IERhdGU7XHJcblxyXG4gIHByaXZhdGUgeWVhclN0YXJ0RGF0ZSA9ICctMDctMDEnO1xyXG4gIHByaXZhdGUgeWVhckVuZERhdGUgPSAnLTA2LTMwJztcclxuXHJcbiAgY29uc3RydWN0b3IoZGF0ZT86IERhdGV8bnVtYmVyKSB7XHJcbiAgICBpZiAoZGF0ZSkge1xyXG4gICAgICB0aGlzLnllYXIgPSBkYXRlIGluc3RhbmNlb2YgRGF0ZSA/IEZpbmFuY2lhbFllYXIudG9GaW5ZZWFyKGRhdGUpIDogZGF0ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMueWVhciA9IEZpbmFuY2lhbFllYXIueWVhciB8fCBGaW5hbmNpYWxZZWFyLnRvRmluWWVhcihuZXcgRGF0ZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNldFN0YXJ0RGF0ZSh0aGlzLnllYXIpO1xyXG4gICAgdGhpcy5zZXRFbmREYXRlKHRoaXMueWVhcik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNDdXJyZW50KHllYXI6IG51bWJlciA9IEZpbmFuY2lhbFllYXIueWVhcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEZpbmFuY2lhbFllYXIudG9GaW5ZZWFyKG5ldyBEYXRlKCkpID09PSB5ZWFyO1xyXG4gIH1cclxuXHJcbiAgaW5jbHVkZXMoZGF0ZTogRGF0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMueWVhciA9PT0gbmV3IEZpbmFuY2lhbFllYXIoZGF0ZSkueWVhcjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB0b0ZpblllYXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpICsgKGRhdGUuZ2V0TW9udGgoKSA+PSB0aGlzLnN0YXJ0TW9udGhJbmRleCA/IDEgOiAwKTtcclxuICB9XHJcblxyXG4gIGdldCBwcmV2RmluWWVhcigpOiBGaW5hbmNpYWxZZWFyIHtcclxuICAgIHJldHVybiBuZXcgRmluYW5jaWFsWWVhcihuZXcgRGF0ZShgJHtuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgLSAxfSR7dGhpcy55ZWFyU3RhcnREYXRlfWApKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBkYXRlIGJ5IGRlc2lyZWQgbW9udGhcclxuICAgKi9cclxuICBnZXRNb250aERhdGUobW9udGhJbmRleDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICBpZiAobW9udGhJbmRleCA+PSBGaW5hbmNpYWxZZWFyLnN0YXJ0TW9udGhJbmRleCkge1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUoYCR7dGhpcy55ZWFyIC0gMX0tJHttb250aEluZGV4ICsgMX0tMDFgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgRGF0ZShgJHt0aGlzLnllYXJ9LSR7bW9udGhJbmRleCArIDF9LTAxYCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFN0YXJ0RGF0ZSh5ZWFyOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhcnREYXRlID0gbmV3IERhdGUoYCR7eWVhciAtIDF9JHt0aGlzLnllYXJTdGFydERhdGV9YCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEVuZERhdGUoeWVhcjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmVuZERhdGUgPSBuZXcgRGF0ZShgJHt5ZWFyfSR7dGhpcy55ZWFyRW5kRGF0ZX1gKTtcclxuICB9XHJcblxyXG4gIGdldFBhc3RNb250aHMoKTogbnVtYmVyW10ge1xyXG4gICAgY29uc3QgbW9udGhzOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgY29uc3Qgbm93OiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnN0IGVuZERhdGU6IERhdGUgPSB0aGlzLmVuZERhdGUgPCBub3cgPyB0aGlzLmVuZERhdGUgOiBub3c7XHJcbiAgICBmb3IgKGNvbnN0IGQ6IERhdGUgPSB0aGlzLnN0YXJ0RGF0ZTsgZCA8PSBlbmREYXRlOyBkLnNldE1vbnRoKGQuZ2V0TW9udGgoKSArIDEpKSB7XHJcbiAgICAgIG1vbnRocy5wdXNoKGQuZ2V0TW9udGgoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG1vbnRocztcclxuICB9XHJcbn1cclxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYW5jaWFsLXllYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxhQUFhO2FBQ2pCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO2FBQ2pCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO2FBQ2xCLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLE1BQU0sS0FBSyxJQUFJO1FBQ2IsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQVFELFlBQVksSUFBa0I7UUFIdEIsa0JBQWEsR0FBRyxrQkFBa0IsQ0FBQztRQUNuQyxnQkFBVyxHQUFHLGtCQUFrQixDQUFDO1FBR3ZDLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDekU7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksSUFBSSxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN2RTtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQWUsYUFBYSxDQUFDLElBQUk7UUFDaEQsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUM7SUFDdEQsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDcEQsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBVTtRQUN6QixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLENBQUMsVUFBa0I7UUFDN0IsSUFBSSxVQUFVLElBQUksYUFBYSxDQUFDLGVBQWUsRUFBRTtZQUMvQyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksVUFBVSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxVQUFVLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sWUFBWSxDQUFDLElBQVk7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFZO1FBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsTUFBTSxHQUFHLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM3QixNQUFNLE9BQU8sR0FBUyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzlELEtBQUssTUFBTSxDQUFDLEdBQVMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQy9FLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDM0I7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEZpbmFuY2lhbFllYXIge1xyXG4gIHN0YXRpYyB3ZWVrc0luWWVhciA9IDUyO1xyXG4gIHN0YXRpYyBtb250aHNJblllYXIgPSAxMjtcclxuICBzdGF0aWMgc3RhcnRNb250aEluZGV4ID0gNjtcclxuICBzdGF0aWMgZ2V0IHllYXIoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2ZpbmFuY2lhbFllYXInKTtcclxuICB9XHJcbiAgeWVhcjogbnVtYmVyO1xyXG4gIHN0YXJ0RGF0ZTogRGF0ZTtcclxuICBlbmREYXRlOiBEYXRlO1xyXG5cclxuICBwcml2YXRlIHllYXJTdGFydERhdGUgPSAnLTA3LTAxVDAwOjAwOjAwWic7XHJcbiAgcHJpdmF0ZSB5ZWFyRW5kRGF0ZSA9ICctMDYtMzBUMjM6NTk6NTlaJztcclxuXHJcbiAgY29uc3RydWN0b3IoZGF0ZT86IERhdGV8bnVtYmVyKSB7XHJcbiAgICBpZiAoZGF0ZSkge1xyXG4gICAgICB0aGlzLnllYXIgPSBkYXRlIGluc3RhbmNlb2YgRGF0ZSA/IEZpbmFuY2lhbFllYXIudG9GaW5ZZWFyKGRhdGUpIDogZGF0ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMueWVhciA9IEZpbmFuY2lhbFllYXIueWVhciB8fCBGaW5hbmNpYWxZZWFyLnRvRmluWWVhcihuZXcgRGF0ZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNldFN0YXJ0RGF0ZSh0aGlzLnllYXIpO1xyXG4gICAgdGhpcy5zZXRFbmREYXRlKHRoaXMueWVhcik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNDdXJyZW50KHllYXI6IG51bWJlciA9IEZpbmFuY2lhbFllYXIueWVhcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEZpbmFuY2lhbFllYXIudG9GaW5ZZWFyKG5ldyBEYXRlKCkpID09PSB5ZWFyO1xyXG4gIH1cclxuXHJcbiAgaW5jbHVkZXMoZGF0ZTogRGF0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMueWVhciA9PT0gbmV3IEZpbmFuY2lhbFllYXIoZGF0ZSkueWVhcjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB0b0ZpblllYXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpICsgKGRhdGUuZ2V0TW9udGgoKSA+PSB0aGlzLnN0YXJ0TW9udGhJbmRleCA/IDEgOiAwKTtcclxuICB9XHJcblxyXG4gIGdldCBwcmV2RmluWWVhcigpOiBGaW5hbmNpYWxZZWFyIHtcclxuICAgIHJldHVybiBuZXcgRmluYW5jaWFsWWVhcihuZXcgRGF0ZShgJHtuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgLSAxfSR7dGhpcy55ZWFyU3RhcnREYXRlfWApKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBkYXRlIGJ5IGRlc2lyZWQgbW9udGhcclxuICAgKi9cclxuICBnZXRNb250aERhdGUobW9udGhJbmRleDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICBpZiAobW9udGhJbmRleCA+PSBGaW5hbmNpYWxZZWFyLnN0YXJ0TW9udGhJbmRleCkge1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUoYCR7dGhpcy55ZWFyIC0gMX0tJHttb250aEluZGV4ICsgMX0tMDFgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgRGF0ZShgJHt0aGlzLnllYXJ9LSR7bW9udGhJbmRleCArIDF9LTAxYCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFN0YXJ0RGF0ZSh5ZWFyOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RhcnREYXRlID0gbmV3IERhdGUoYCR7eWVhciAtIDF9JHt0aGlzLnllYXJTdGFydERhdGV9YCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEVuZERhdGUoeWVhcjogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmVuZERhdGUgPSBuZXcgRGF0ZShgJHt5ZWFyfSR7dGhpcy55ZWFyRW5kRGF0ZX1gKTtcclxuICB9XHJcblxyXG4gIGdldFBhc3RNb250aHMoKTogbnVtYmVyW10ge1xyXG4gICAgY29uc3QgbW9udGhzOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgY29uc3Qgbm93OiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGNvbnN0IGVuZERhdGU6IERhdGUgPSB0aGlzLmVuZERhdGUgPCBub3cgPyB0aGlzLmVuZERhdGUgOiBub3c7XHJcbiAgICBmb3IgKGNvbnN0IGQ6IERhdGUgPSB0aGlzLnN0YXJ0RGF0ZTsgZCA8PSBlbmREYXRlOyBkLnNldE1vbnRoKGQuZ2V0TW9udGgoKSArIDEpKSB7XHJcbiAgICAgIG1vbnRocy5wdXNoKGQuZ2V0TW9udGgoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG1vbnRocztcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlybS1icmFuY2guaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9maXJtL2Zpcm0tYnJhbmNoLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGaXJtQnJhbmNoSW50ZXJmYWNlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBpc01haW46IGJvb2xlYW47XG4gIGZpcm06IG9iamVjdDtcbiAgYWRkcmVzczogb2JqZWN0O1xuICBwaG9uZT86IG9iamVjdDtcbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { __decorate } from "tslib";
2
+ import { Firm } from './firm';
3
+ import { Address } from '../address';
4
+ import { AbstractModel } from '../../db/Models';
5
+ import { Type } from 'class-transformer';
6
+ import { Phone } from '../phone/phone';
7
+ export class FirmBranch extends AbstractModel {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.isMain = false;
11
+ }
12
+ }
13
+ __decorate([
14
+ Type(() => Firm)
15
+ ], FirmBranch.prototype, "firm", void 0);
16
+ __decorate([
17
+ Type(() => Address)
18
+ ], FirmBranch.prototype, "address", void 0);
19
+ __decorate([
20
+ Type(() => Phone)
21
+ ], FirmBranch.prototype, "phone", void 0);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlybS1icmFuY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2Zpcm0vZmlybS1icmFuY2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxNQUFNLE9BQU8sVUFBVyxTQUFRLGFBQWE7SUFBN0M7O1FBRUUsV0FBTSxHQUFHLEtBQUssQ0FBQztJQU9qQixDQUFDO0NBQUE7QUFMQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7d0NBQ047QUFFWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7MkNBQ0g7QUFFakI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO3lDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlybSB9IGZyb20gJy4vZmlybSc7XG5pbXBvcnQgeyBBZGRyZXNzIH0gZnJvbSAnLi4vYWRkcmVzcyc7XG5pbXBvcnQgeyBBYnN0cmFjdE1vZGVsIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBGaXJtQnJhbmNoSW50ZXJmYWNlIH0gZnJvbSAnLi9maXJtLWJyYW5jaC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGhvbmUgfSBmcm9tICcuLi9waG9uZS9waG9uZSc7XG5cbmV4cG9ydCBjbGFzcyBGaXJtQnJhbmNoIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCBpbXBsZW1lbnRzIEZpcm1CcmFuY2hJbnRlcmZhY2Uge1xuICBuYW1lOiBzdHJpbmc7XG4gIGlzTWFpbiA9IGZhbHNlO1xuICBAVHlwZSgoKSA9PiBGaXJtKVxuICBmaXJtOiBGaXJtO1xuICBAVHlwZSgoKSA9PiBBZGRyZXNzKVxuICBhZGRyZXNzOiBBZGRyZXNzO1xuICBAVHlwZSgoKSA9PiBQaG9uZSlcbiAgcGhvbmU/OiBQaG9uZTtcbn1cbiJdfQ==
@@ -5,7 +5,7 @@ import { Address } from '../address';
5
5
  import { User } from '../user';
6
6
  import { Type } from 'class-transformer';
7
7
  import { AppFile } from '../file';
8
- import { FirmTypeEnum } from '../../db/Enums/firm-type.enum';
8
+ import { FirmTypeEnum } from '../../db/Enums';
9
9
  export class Firm extends FirmBase {
10
10
  isAccountant() {
11
11
  return this.type === FirmTypeEnum.ACCOUNTANT;
@@ -23,4 +23,4 @@ __decorate([
23
23
  __decorate([
24
24
  Type(() => AppFile)
25
25
  ], Firm.prototype, "file", void 0);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvZmlybS9maXJtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE1BQU0sT0FBTyxJQUFLLFNBQVEsUUFBUTtJQWFoQyxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxVQUFVLENBQUM7SUFDL0MsQ0FBQztDQUNGO0FBZEc7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO21DQUNIO0FBR1o7SUFERCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO3FDQUNEO0FBR2pCO0lBREQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQzttQ0FDSDtBQUdiO0lBREQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztrQ0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpcm0gYXMgRmlybUJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvZmlybS9maXJtJztcclxuaW1wb3J0IHsgUGhvbmUgfSBmcm9tICcuLi9waG9uZS9waG9uZSc7XHJcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xyXG5pbXBvcnQgeyBBcHBGaWxlIH0gZnJvbSAnLi4vZmlsZSc7XHJcbmltcG9ydCB7IEZpcm1UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL2Zpcm0tdHlwZS5lbnVtJztcclxuXHJcbmV4cG9ydCBjbGFzcyBGaXJtIGV4dGVuZHMgRmlybUJhc2Uge1xyXG4gIEBUeXBlKCgpID0+IFVzZXIpXHJcbiAgICBvd25lcjogVXNlcjtcclxuXHJcbiAgQFR5cGUoKCkgPT4gQWRkcmVzcylcclxuICAgIGFkZHJlc3M6IEFkZHJlc3M7XHJcblxyXG4gIEBUeXBlKCgpID0+IFBob25lKVxyXG4gICAgcGhvbmU6IFBob25lO1xyXG5cclxuICBAVHlwZSgoKSA9PiBBcHBGaWxlKVxyXG4gICAgZmlsZTogQXBwRmlsZTtcclxuXHJcbiAgaXNBY2NvdW50YW50KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gRmlybVR5cGVFbnVtLkFDQ09VTlRBTlQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvZmlybS9maXJtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxJQUFLLFNBQVEsUUFBUTtJQWFoQyxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxVQUFVLENBQUM7SUFDL0MsQ0FBQztDQUNGO0FBZEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO21DQUNMO0FBR1o7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO3FDQUNIO0FBR2pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQzttQ0FDTDtBQUdiO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztrQ0FDTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpcm0gYXMgRmlybUJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvZmlybS9maXJtJztcclxuaW1wb3J0IHsgUGhvbmUgfSBmcm9tICcuLi9waG9uZS9waG9uZSc7XHJcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xyXG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xyXG5pbXBvcnQgeyBBcHBGaWxlIH0gZnJvbSAnLi4vZmlsZSc7XHJcbmltcG9ydCB7IEZpcm1UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcclxuXHJcbmV4cG9ydCBjbGFzcyBGaXJtIGV4dGVuZHMgRmlybUJhc2Uge1xyXG4gIEBUeXBlKCgpID0+IFVzZXIpXHJcbiAgb3duZXI6IFVzZXI7XHJcblxyXG4gIEBUeXBlKCgpID0+IEFkZHJlc3MpXHJcbiAgYWRkcmVzczogQWRkcmVzcztcclxuXHJcbiAgQFR5cGUoKCkgPT4gUGhvbmUpXHJcbiAgcGhvbmU6IFBob25lO1xyXG5cclxuICBAVHlwZSgoKSA9PiBBcHBGaWxlKVxyXG4gIGZpbGU6IEFwcEZpbGU7XHJcblxyXG4gIGlzQWNjb3VudGFudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEZpcm1UeXBlRW51bS5BQ0NPVU5UQU5UO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './firm';
2
+ export * from './firm-branch';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2Zpcm0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Zpcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9maXJtLWJyYW5jaCc7XG4iXX0=
@@ -17,18 +17,18 @@ export class Holding extends AbstractModel {
17
17
  * Get total purchasing price
18
18
  */
19
19
  get purchaseValue() {
20
+ const quantity = this.currentQuantity ?? this.quantity;
20
21
  // Price and entity may be empty when we use HoldingForm.currentValue
21
22
  if (!this.price || !this.quantity) {
22
23
  return 0;
23
24
  }
24
- return this.price * this.quantity;
25
+ return this.price * quantity;
25
26
  }
26
27
  /**
27
28
  * Get current market price
28
- * @TODO vik/alex no need to pass holdingType, should come from backend
29
29
  */
30
30
  get marketValue() {
31
- return this.quantity * this.type.price;
31
+ return this.currentQuantity * this.type.price;
32
32
  }
33
33
  /**
34
34
  * Get percent difference between current and buy price
@@ -79,4 +79,4 @@ __decorate([
79
79
  }, { toClassOnly: true }),
80
80
  Expose({ toClassOnly: true })
81
81
  ], Holding.prototype, "category", void 0);
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvaG9sZGluZy9ob2xkaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsTUFBTSxPQUFPLE9BQVEsU0FBUSxhQUFhO0lBQTFDOztRQUNFLGNBQVMsR0FBRyxLQUFLLENBQUM7SUFpRnBCLENBQUM7SUFyQ0M7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixxRUFBcUU7UUFDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pDLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxRQUFRLEdBQVcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUVuRCxPQUFPLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztJQUNwRixDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBekVDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztxQ0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztxQ0FDTjtBQUdYO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztxQ0FDTjtBQUdsQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7cUNBQ047QUFJZDtJQUZDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFDdkIsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxVQUFVLENBQWMsS0FBSyxDQUFDLENBQUM7c0NBQzlCO0FBcUJBO0lBZjlCLFNBQVMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRTtRQUNyQixNQUFNLElBQUksR0FBZ0IsWUFBWSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDN0QsSUFBSSxJQUFJLEVBQUU7WUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBO1NBQzdDO1FBQ0QsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ2hCLE9BQU87Z0JBQ0wsdUJBQXVCLENBQUMsV0FBVztnQkFDbkMsdUJBQXVCLENBQUMsY0FBYztnQkFDdEMsdUJBQXVCLENBQUMsYUFBYTtnQkFDckMsdUJBQXVCLENBQUMsS0FBSzthQUM5QixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztTQUNoRDtRQUNELE9BQU8sdUJBQXVCLENBQUMsS0FBSyxDQUFDO0lBQ3ZDLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN4QixNQUFNLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7eUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3NlLCBUcmFuc2Zvcm0sIFR5cGUsIHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyJztcbmltcG9ydCB7IEhvbGRpbmdUeXBlIH0gZnJvbSAnLi9ob2xkaW5nLXR5cGUnO1xuaW1wb3J0IHsgQXBwRmlsZSB9IGZyb20gJy4uL2ZpbGUnO1xuaW1wb3J0IHsgSG9sZGluZ1NhbGUgfSBmcm9tICcuL2hvbGRpbmctc2FsZSc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RNb2RlbCB9IGZyb20gJy4uLy4uL2RiL01vZGVscyc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcyc7XG5cbmV4cG9ydCBjbGFzcyBIb2xkaW5nIGV4dGVuZHMgQWJzdHJhY3RNb2RlbCB7XG4gIGlzVGF4RnJlZSA9IGZhbHNlO1xuICBxdWFudGl0eTogbnVtYmVyO1xuICBjdXJyZW50UXVhbnRpdHk6IG51bWJlcjtcbiAgb3duZXJzaGlwUGVyY2VudD86IG51bWJlcjtcbiAgcHJpY2U6IG51bWJlcjtcbiAgZmVlOiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IEhvbGRpbmdUeXBlKVxuICB0eXBlOiBIb2xkaW5nVHlwZTtcblxuICBAVHlwZSgoKSA9PiBBcHBGaWxlKVxuICBmaWxlOiBBcHBGaWxlO1xuXG4gIEBUeXBlKCgpID0+IEhvbGRpbmdTYWxlKVxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+IG5ldyBDb2xsZWN0aW9uPEhvbGRpbmdTYWxlPih2YWx1ZSkpXG4gIHNhbGVzOiBDb2xsZWN0aW9uPEhvbGRpbmdTYWxlPjtcblxuICAvKipcbiAgICogQFRPRE8gQXJ0ZW0vQWxleCBsb29rcyBiYWQsIGNvbWUgdXAgd2l0aCBhIGJldHRlciBzb2x1dGlvblxuICAgKiBnZXQgY3VycmVudCBjYXRlZ29yeSwgaW4gaG9sZGluZyB3ZSBhcmUgaW50ZXJlc3RlZCBpbiAzIG1haW4gY2F0ZWdvcmllczogc3RvY2svY3J5cHRvL290aGVyXG4gICAqL1xuICBAVHJhbnNmb3JtKCh7IG9iaiB9KSA9PiB7XG4gICAgY29uc3QgdHlwZTogSG9sZGluZ1R5cGUgPSBwbGFpblRvQ2xhc3MoSG9sZGluZ1R5cGUsIG9iai50eXBlKVxuICAgIGlmICh0eXBlKSB7XG4gICAgICByZXR1cm4gdHlwZS5pc090aGVyKCkgPyBudWxsIDogdHlwZS5jYXRlZ29yeVxuICAgIH1cbiAgICBpZiAob2JqLmNhdGVnb3J5KSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5DT0xMRUNUSUJMRSxcbiAgICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uVU5MSVNURURfU1RPQ0ssXG4gICAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLlVOTElTVEVEX1VOSVQsXG4gICAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLk9USEVSXG4gICAgICBdLmluY2x1ZGVzKG9iai5jYXRlZ29yeSkgPyBudWxsIDogb2JqLmNhdGVnb3J5O1xuICAgIH1cbiAgICByZXR1cm4gSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uU1RPQ0s7XG4gIH0sIHsgdG9DbGFzc09ubHk6IHRydWUgfSlcbiAgQEV4cG9zZSh7IHRvQ2xhc3NPbmx5OiB0cnVlIH0pIGNhdGVnb3J5OiBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bTtcblxuICAvKipcbiAgICogR2V0IHRvdGFsIHB1cmNoYXNpbmcgcHJpY2VcbiAgICovXG4gIGdldCBwdXJjaGFzZVZhbHVlKCk6IG51bWJlciB7XG4gICAgLy8gUHJpY2UgYW5kIGVudGl0eSBtYXkgYmUgZW1wdHkgd2hlbiB3ZSB1c2UgSG9sZGluZ0Zvcm0uY3VycmVudFZhbHVlXG4gICAgaWYgKCF0aGlzLnByaWNlIHx8ICF0aGlzLnF1YW50aXR5KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wcmljZSAqIHRoaXMucXVhbnRpdHk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGN1cnJlbnQgbWFya2V0IHByaWNlXG4gICAqIEBUT0RPIHZpay9hbGV4IG5vIG5lZWQgdG8gcGFzcyBob2xkaW5nVHlwZSwgc2hvdWxkIGNvbWUgZnJvbSBiYWNrZW5kXG4gICAqL1xuICBnZXQgbWFya2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5xdWFudGl0eSAqIHRoaXMudHlwZS5wcmljZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcGVyY2VudCBkaWZmZXJlbmNlIGJldHdlZW4gY3VycmVudCBhbmQgYnV5IHByaWNlXG4gICAqIEBUT0RPIHZpay9hbGV4IG5vIG5lZWQgdG8gcGFzcyBob2xkaW5nVHlwZSwgc2hvdWxkIGNvbWUgZnJvbSBiYWNrZW5kXG4gICAqL1xuICBnZXQgZ3Jvd3RoQ29lZmZpY2llbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50eXBlLnByaWNlIC8gdGhpcy5wcmljZSAtIDE7XG4gIH1cblxuICBoZWxkTW9yZVllYXIoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgeWVhclRpbWU6IG51bWJlciA9IDEwMDAgKiA2MCAqIDYwICogMjQgKiAzNjU7XG5cbiAgICByZXR1cm4gKG5ldyBGaW5hbmNpYWxZZWFyKCkuc3RhcnREYXRlLmdldFRpbWUoKSAtIHRoaXMuZGF0ZS5nZXRUaW1lKCkpID4geWVhclRpbWU7XG4gIH1cblxuICBpc1NvbGQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFF1YW50aXR5ID09PSAwO1xuICB9XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvaG9sZGluZy9ob2xkaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsTUFBTSxPQUFPLE9BQVEsU0FBUSxhQUFhO0lBQTFDOztRQUNFLGNBQVMsR0FBRyxLQUFLLENBQUM7SUFpRnBCLENBQUM7SUFyQ0M7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdkQscUVBQXFFO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFlBQVk7UUFDVixNQUFNLFFBQVEsR0FBVyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBRW5ELE9BQU8sQ0FBQyxJQUFJLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ3BGLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsZUFBZSxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUF6RUM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3FDQUNOO0FBR1g7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3FDQUNOO0FBR1g7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO3FDQUNOO0FBR2xCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztxQ0FDTjtBQUlkO0lBRkMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUN2QixTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBYyxLQUFLLENBQUMsQ0FBQztzQ0FDOUI7QUFxQkE7SUFmOUIsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxHQUFnQixZQUFZLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3RCxJQUFJLElBQUksRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7U0FDN0M7UUFDRCxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDaEIsT0FBTztnQkFDTCx1QkFBdUIsQ0FBQyxXQUFXO2dCQUNuQyx1QkFBdUIsQ0FBQyxjQUFjO2dCQUN0Qyx1QkFBdUIsQ0FBQyxhQUFhO2dCQUNyQyx1QkFBdUIsQ0FBQyxLQUFLO2FBQzlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1NBQ2hEO1FBQ0QsT0FBTyx1QkFBdUIsQ0FBQyxLQUFLLENBQUM7SUFDdkMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3hCLE1BQU0sQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQzt5Q0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeHBvc2UsIFRyYW5zZm9ybSwgVHlwZSwgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHsgSG9sZGluZ1R5cGUgfSBmcm9tICcuL2hvbGRpbmctdHlwZSc7XG5pbXBvcnQgeyBBcHBGaWxlIH0gZnJvbSAnLi4vZmlsZSc7XG5pbXBvcnQgeyBIb2xkaW5nU2FsZSB9IGZyb20gJy4vaG9sZGluZy1zYWxlJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBBYnN0cmFjdE1vZGVsIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zJztcblxuZXhwb3J0IGNsYXNzIEhvbGRpbmcgZXh0ZW5kcyBBYnN0cmFjdE1vZGVsIHtcbiAgaXNUYXhGcmVlID0gZmFsc2U7XG4gIHF1YW50aXR5OiBudW1iZXI7XG4gIGN1cnJlbnRRdWFudGl0eTogbnVtYmVyO1xuICBvd25lcnNoaXBQZXJjZW50PzogbnVtYmVyO1xuICBwcmljZTogbnVtYmVyO1xuICBmZWU6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBkYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IFVzZXIpXG4gIHVzZXI6IFVzZXI7XG5cbiAgQFR5cGUoKCkgPT4gSG9sZGluZ1R5cGUpXG4gIHR5cGU6IEhvbGRpbmdUeXBlO1xuXG4gIEBUeXBlKCgpID0+IEFwcEZpbGUpXG4gIGZpbGU6IEFwcEZpbGU7XG5cbiAgQFR5cGUoKCkgPT4gSG9sZGluZ1NhbGUpXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gbmV3IENvbGxlY3Rpb248SG9sZGluZ1NhbGU+KHZhbHVlKSlcbiAgc2FsZXM6IENvbGxlY3Rpb248SG9sZGluZ1NhbGU+O1xuXG4gIC8qKlxuICAgKiBAVE9ETyBBcnRlbS9BbGV4IGxvb2tzIGJhZCwgY29tZSB1cCB3aXRoIGEgYmV0dGVyIHNvbHV0aW9uXG4gICAqIGdldCBjdXJyZW50IGNhdGVnb3J5LCBpbiBob2xkaW5nIHdlIGFyZSBpbnRlcmVzdGVkIGluIDMgbWFpbiBjYXRlZ29yaWVzOiBzdG9jay9jcnlwdG8vb3RoZXJcbiAgICovXG4gIEBUcmFuc2Zvcm0oKHsgb2JqIH0pID0+IHtcbiAgICBjb25zdCB0eXBlOiBIb2xkaW5nVHlwZSA9IHBsYWluVG9DbGFzcyhIb2xkaW5nVHlwZSwgb2JqLnR5cGUpXG4gICAgaWYgKHR5cGUpIHtcbiAgICAgIHJldHVybiB0eXBlLmlzT3RoZXIoKSA/IG51bGwgOiB0eXBlLmNhdGVnb3J5XG4gICAgfVxuICAgIGlmIChvYmouY2F0ZWdvcnkpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtLkNPTExFQ1RJQkxFLFxuICAgICAgICBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5VTkxJU1RFRF9TVE9DSyxcbiAgICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uVU5MSVNURURfVU5JVCxcbiAgICAgICAgSG9sZGluZ1R5cGVDYXRlZ29yeUVudW0uT1RIRVJcbiAgICAgIF0uaW5jbHVkZXMob2JqLmNhdGVnb3J5KSA/IG51bGwgOiBvYmouY2F0ZWdvcnk7XG4gICAgfVxuICAgIHJldHVybiBIb2xkaW5nVHlwZUNhdGVnb3J5RW51bS5TVE9DSztcbiAgfSwgeyB0b0NsYXNzT25seTogdHJ1ZSB9KVxuICBARXhwb3NlKHsgdG9DbGFzc09ubHk6IHRydWUgfSkgY2F0ZWdvcnk6IEhvbGRpbmdUeXBlQ2F0ZWdvcnlFbnVtO1xuXG4gIC8qKlxuICAgKiBHZXQgdG90YWwgcHVyY2hhc2luZyBwcmljZVxuICAgKi9cbiAgZ2V0IHB1cmNoYXNlVmFsdWUoKTogbnVtYmVyIHtcbiAgICBjb25zdCBxdWFudGl0eSA9IHRoaXMuY3VycmVudFF1YW50aXR5ID8/IHRoaXMucXVhbnRpdHk7XG4gICAgLy8gUHJpY2UgYW5kIGVudGl0eSBtYXkgYmUgZW1wdHkgd2hlbiB3ZSB1c2UgSG9sZGluZ0Zvcm0uY3VycmVudFZhbHVlXG4gICAgaWYgKCF0aGlzLnByaWNlIHx8ICF0aGlzLnF1YW50aXR5KSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wcmljZSAqIHF1YW50aXR5O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjdXJyZW50IG1hcmtldCBwcmljZVxuICAgKi9cbiAgZ2V0IG1hcmtldFZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFF1YW50aXR5ICogdGhpcy50eXBlLnByaWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwZXJjZW50IGRpZmZlcmVuY2UgYmV0d2VlbiBjdXJyZW50IGFuZCBidXkgcHJpY2VcbiAgICogQFRPRE8gdmlrL2FsZXggbm8gbmVlZCB0byBwYXNzIGhvbGRpbmdUeXBlLCBzaG91bGQgY29tZSBmcm9tIGJhY2tlbmRcbiAgICovXG4gIGdldCBncm93dGhDb2VmZmljaWVudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnR5cGUucHJpY2UgLyB0aGlzLnByaWNlIC0gMTtcbiAgfVxuXG4gIGhlbGRNb3JlWWVhcigpOiBib29sZWFuIHtcbiAgICBjb25zdCB5ZWFyVGltZTogbnVtYmVyID0gMTAwMCAqIDYwICogNjAgKiAyNCAqIDM2NTtcblxuICAgIHJldHVybiAobmV3IEZpbmFuY2lhbFllYXIoKS5zdGFydERhdGUuZ2V0VGltZSgpIC0gdGhpcy5kYXRlLmdldFRpbWUoKSkgPiB5ZWFyVGltZTtcbiAgfVxuXG4gIGlzU29sZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UXVhbnRpdHkgPT09IDA7XG4gIH1cbn1cbiJdfQ==
@@ -33,4 +33,4 @@ __decorate([
33
33
  __decorate([
34
34
  Type(() => IncomeSource)
35
35
  ], SalaryForecast.prototype, "incomeSource", void 0);
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsYXJ5LWZvcmVjYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9pbmNvbWUtc291cmNlL3NhbGFyeS1mb3JlY2FzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQXFCLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtJQU9wRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNoQyxDQUFDO0lBS0QsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLFFBQVEsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN0QixLQUFLLDJCQUEyQixDQUFDLE1BQU07Z0JBQ3JDLE9BQU8sSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQ2xELEtBQUssMkJBQTJCLENBQUMsV0FBVztnQkFDMUMsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDbEYsS0FBSywyQkFBMkIsQ0FBQyxNQUFNO2dCQUNyQyxPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO1lBQzlFO2dCQUNFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUN0QjtJQUNILENBQUM7Q0FDRjtBQTVCQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7MkNBQ1A7QUFHWjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7OENBQ0o7QUFPZjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0RBQ0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWxhcnlGb3JlY2FzdCBhcyBTYWxhcnlGb3JlY2FzdEJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvaW5jb21lU291cmNlL3NhbGFyeS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgSUluY29tZVNvdXJjZUZvcmVjYXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFeHBvc2UsIFRyYW5zZm9ybSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFNhbGFyeUZvcmVjYXN0RnJlcXVlbmN5RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3NhbGFyeS1mb3JlY2FzdC1mcmVxdWVuY3kuZW51bSc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXInO1xuXG5leHBvcnQgY2xhc3MgU2FsYXJ5Rm9yZWNhc3QgZXh0ZW5kcyBTYWxhcnlGb3JlY2FzdEJhc2UgaW1wbGVtZW50cyBJSW5jb21lU291cmNlRm9yZWNhc3Qge1xuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHRheDogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgbmV0UGF5OiBudW1iZXI7XG5cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubmV0UGF5ICsgdGhpcy50YXg7XG4gIH1cblxuICBAVHlwZSgoKSA9PiBJbmNvbWVTb3VyY2UpXG4gIGluY29tZVNvdXJjZTogSW5jb21lU291cmNlO1xuXG4gIGdldCB0YXhXaXRoaGVsZCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmdyb3NzQW1vdW50IC0gdGhpcy5uZXRQYXk7XG4gIH1cblxuICBnZXQgbW9udGhseUFtb3VudCgpOiBudW1iZXIge1xuICAgIHN3aXRjaCAodGhpcy5mcmVxdWVuY3kpIHtcbiAgICAgIGNhc2UgU2FsYXJ5Rm9yZWNhc3RGcmVxdWVuY3lFbnVtLkFOTlVBTDpcbiAgICAgICAgcmV0dXJuIHRoaXMubmV0UGF5IC8gRmluYW5jaWFsWWVhci5tb250aHNJblllYXI7XG4gICAgICBjYXNlIFNhbGFyeUZvcmVjYXN0RnJlcXVlbmN5RW51bS5GT1JUTklHSFRMWTpcbiAgICAgICAgcmV0dXJuIHRoaXMubmV0UGF5ICogRmluYW5jaWFsWWVhci53ZWVrc0luWWVhciAvIEZpbmFuY2lhbFllYXIubW9udGhzSW5ZZWFyIC8gMjtcbiAgICAgIGNhc2UgU2FsYXJ5Rm9yZWNhc3RGcmVxdWVuY3lFbnVtLldFRUtMWTpcbiAgICAgICAgcmV0dXJuIHRoaXMubmV0UGF5ICogRmluYW5jaWFsWWVhci53ZWVrc0luWWVhciAvIEZpbmFuY2lhbFllYXIubW9udGhzSW5ZZWFyO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMubmV0UGF5O1xuICAgIH1cbiAgfVxufVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsYXJ5LWZvcmVjYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9pbmNvbWUtc291cmNlL3NhbGFyeS1mb3JlY2FzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGNBQWMsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2xELE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBT3BELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2hDLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsUUFBUSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3RCLEtBQUssMkJBQTJCLENBQUMsTUFBTTtnQkFDckMsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDbEQsS0FBSywyQkFBMkIsQ0FBQyxXQUFXO2dCQUMxQyxPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztZQUNsRixLQUFLLDJCQUEyQixDQUFDLE1BQU07Z0JBQ3JDLE9BQU8sSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDOUU7Z0JBQ0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztDQUNGO0FBNUJDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsyQ0FDUDtBQUdaO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzs4Q0FDSjtBQU9mO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQztvREFDRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhbGFyeUZvcmVjYXN0IGFzIFNhbGFyeUZvcmVjYXN0QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9pbmNvbWVTb3VyY2Uvc2FsYXJ5LWZvcmVjYXN0JztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4vaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBJSW5jb21lU291cmNlRm9yZWNhc3QgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTYWxhcnlGb3JlY2FzdEZyZXF1ZW5jeUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9zYWxhcnktZm9yZWNhc3QtZnJlcXVlbmN5LmVudW0nO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyJztcblxuZXhwb3J0IGNsYXNzIFNhbGFyeUZvcmVjYXN0IGV4dGVuZHMgU2FsYXJ5Rm9yZWNhc3RCYXNlIGltcGxlbWVudHMgSUluY29tZVNvdXJjZUZvcmVjYXN0IHtcbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICB0YXg6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIG5ldFBheTogbnVtYmVyO1xuXG4gIGdldCBncm9zc0Ftb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm5ldFBheSArIHRoaXMudGF4O1xuICB9XG5cbiAgQFR5cGUoKCkgPT4gSW5jb21lU291cmNlKVxuICBpbmNvbWVTb3VyY2U6IEluY29tZVNvdXJjZTtcblxuICBnZXQgdGF4V2l0aGhlbGQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5ncm9zc0Ftb3VudCAtIHRoaXMubmV0UGF5O1xuICB9XG5cbiAgZ2V0IG1vbnRobHlBbW91bnQoKTogbnVtYmVyIHtcbiAgICBzd2l0Y2ggKHRoaXMuZnJlcXVlbmN5KSB7XG4gICAgICBjYXNlIFNhbGFyeUZvcmVjYXN0RnJlcXVlbmN5RW51bS5BTk5VQUw6XG4gICAgICAgIHJldHVybiB0aGlzLm5ldFBheSAvIEZpbmFuY2lhbFllYXIubW9udGhzSW5ZZWFyO1xuICAgICAgY2FzZSBTYWxhcnlGb3JlY2FzdEZyZXF1ZW5jeUVudW0uRk9SVE5JR0hUTFk6XG4gICAgICAgIHJldHVybiB0aGlzLm5ldFBheSAqIEZpbmFuY2lhbFllYXIud2Vla3NJblllYXIgLyBGaW5hbmNpYWxZZWFyLm1vbnRoc0luWWVhciAvIDI7XG4gICAgICBjYXNlIFNhbGFyeUZvcmVjYXN0RnJlcXVlbmN5RW51bS5XRUVLTFk6XG4gICAgICAgIHJldHVybiB0aGlzLm5ldFBheSAqIEZpbmFuY2lhbFllYXIud2Vla3NJblllYXIgLyBGaW5hbmNpYWxZZWFyLm1vbnRoc0luWWVhcjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLm5ldFBheTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -10,4 +10,4 @@ export class SoleForecast extends SoleForecastBase {
10
10
  __decorate([
11
11
  Type(() => IncomeSource)
12
12
  ], SoleForecast.prototype, "incomeSource", void 0);
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1mb3JlY2FzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9zb2xlLWZvcmVjYXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUd6QyxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFnQjtJQUloRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBTEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO2tEQUNFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IFNvbGVGb3JlY2FzdCBhcyBTb2xlRm9yZWNhc3RCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3NvbGUvc29sZS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHtJSW5jb21lU291cmNlRm9yZWNhc3R9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY2xhc3MgU29sZUZvcmVjYXN0IGV4dGVuZHMgU29sZUZvcmVjYXN0QmFzZSAgaW1wbGVtZW50cyBJSW5jb21lU291cmNlRm9yZWNhc3Qge1xuICBAVHlwZSgoKSA9PiBJbmNvbWVTb3VyY2UpXG4gIGluY29tZVNvdXJjZTogSW5jb21lU291cmNlO1xuXG4gIGdldCBuZXRQYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnQ7XG4gIH1cbn1cbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1mb3JlY2FzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvaW5jb21lLXNvdXJjZS9zb2xlLWZvcmVjYXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUl6QyxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFnQjtJQUloRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBTEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO2tEQUNFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IFNvbGVGb3JlY2FzdCBhcyBTb2xlRm9yZWNhc3RCYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3NvbGUvc29sZS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgSUluY29tZVNvdXJjZUZvcmVjYXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlcic7XG5cbmV4cG9ydCBjbGFzcyBTb2xlRm9yZWNhc3QgZXh0ZW5kcyBTb2xlRm9yZWNhc3RCYXNlICBpbXBsZW1lbnRzIElJbmNvbWVTb3VyY2VGb3JlY2FzdCB7XG4gIEBUeXBlKCgpID0+IEluY29tZVNvdXJjZSlcbiAgaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2U7XG5cbiAgZ2V0IG5ldFBheSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmFtb3VudDtcbiAgfVxufVxuIl19
@@ -23,4 +23,5 @@ export * from './income-source';
23
23
  export * from './asset-sale';
24
24
  export * from './budget';
25
25
  export * from './tax-return';
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkZHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9iYW5rJztcbmV4cG9ydCAqIGZyb20gJy4vYm9ycm93aW5nLWV4cGVuc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydC1hY2NvdW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXByZWNpYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9kaWN0aW9uYXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZmluYW5jaWFsLXllYXInO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FuJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zb2xlJztcbmV4cG9ydCAqIGZyb20gJy4vdmVoaWNsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHknO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3VzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9ob2xkaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW5jb21lLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2V0LXNhbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9idWRnZXQnO1xuZXhwb3J0ICogZnJvbSAnLi90YXgtcmV0dXJuJztcbiJdfQ==
26
+ export * from './firm';
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkZHJlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9iYW5rJztcbmV4cG9ydCAqIGZyb20gJy4vYm9ycm93aW5nLWV4cGVuc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydC1hY2NvdW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2NoYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXByZWNpYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9kaWN0aW9uYXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZmluYW5jaWFsLXllYXInO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FuJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS1zdWJzY3JpcHRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zb2xlJztcbmV4cG9ydCAqIGZyb20gJy4vdmVoaWNsZSc7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHknO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3VzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9ob2xkaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW5jb21lLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2V0LXNhbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9idWRnZXQnO1xuZXhwb3J0ICogZnJvbSAnLi90YXgtcmV0dXJuJztcbmV4cG9ydCAqIGZyb20gJy4vZmlybSc7XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import first from 'lodash/first';
2
2
  import { PropertyEquityChartItem } from './property-equity-chart-item';
3
- import { FinancialYear } from '../financial-year/financial-year';
3
+ import { FinancialYear } from '../financial-year';
4
4
  import { PropertyEquityChartTypeEnum } from './property-equity-chart-type.enum';
5
5
  // count of years for future values
6
6
  const FORECAST_YEARS = 25;
@@ -11,11 +11,13 @@ const FORECAST_YEARS = 25;
11
11
  * Also on hover appear equity positions point
12
12
  */
13
13
  export class PropertyEquityChartData {
14
- constructor(properties, bankAccounts, loans, registerDate) {
15
- this.registerDate = registerDate;
14
+ constructor(properties, valuations, bankAccounts, loans, registerDate) {
16
15
  this.properties = properties;
17
- this.bankAccounts = bankAccounts.getLoanAccounts();
16
+ this.valuations = valuations;
17
+ this.bankAccounts = bankAccounts;
18
18
  this.loans = loans;
19
+ this.registerDate = registerDate;
20
+ this.bankAccounts = bankAccounts.getLoanAccounts();
19
21
  this.currentYear = new FinancialYear(new Date()).year;
20
22
  this.initItems();
21
23
  this.buildHistoryItems();
@@ -80,12 +82,13 @@ export class PropertyEquityChartData {
80
82
  });
81
83
  }
82
84
  /**
85
+ * @TODO remove, there is no difference between actual and history calculations
83
86
  * set actual year's real data
84
87
  * @private
85
88
  */
86
89
  buildActualItem() {
87
90
  const item = this.list.find((i) => i.year === this.currentYear);
88
- item.marketValue = this.properties.marketValue;
91
+ item.marketValue = this.valuations.getMarketValue(new Date());
89
92
  item.loanBalance = this.properties.items.reduce((sum, property) => sum + Math.abs(this.bankAccounts.getPropertyBalanceAmount(property.id)), 0);
90
93
  }
91
94
  /**
@@ -94,7 +97,8 @@ export class PropertyEquityChartData {
94
97
  buildForecastedItems() {
95
98
  // calculate future values for all properties separately
96
99
  this.properties.items.forEach((property) => {
97
- let forecastedMarketValue = (property.growthPercent / 100) * property.marketValue + property.marketValue;
100
+ const marketValue = this.valuations.filterBy('property.id', property.id).getMarketValue(new Date());
101
+ let forecastedMarketValue = (property.growthPercent / 100) * marketValue + marketValue;
98
102
  // calculate future values for each future year for current handling property
99
103
  this.list
100
104
  .filter((item) => item.year > this.currentYear)
@@ -154,4 +158,4 @@ export class PropertyEquityChartData {
154
158
  });
155
159
  }
156
160
  }
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZXF1aXR5LWNoYXJ0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWVxdWl0eS1jaGFydC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUl2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJaEYsbUNBQW1DO0FBQ25DLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQUUxQjs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFVbEMsWUFDRSxVQUE4QixFQUM5QixZQUFtQyxFQUNuQyxLQUFxQixFQUNiLFlBQWtCO1FBQWxCLGlCQUFZLEdBQVosWUFBWSxDQUFNO1FBRTFCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN0RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxvQkFB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SUFDSyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUE2QixFQUFFLEVBQUU7WUFDbEQsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQTZCLEVBQUUsRUFBRTtZQUNsRCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZpcnN0IGZyb20gJ2xvZGFzaC9maXJzdCc7XG5pbXBvcnQgeyBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSB9IGZyb20gJy4vcHJvcGVydHktZXF1aXR5LWNoYXJ0LWl0ZW0nO1xuaW1wb3J0IHsgUHJvcGVydHlDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvcHJvcGVydHkvcHJvcGVydHkuY29sbGVjdGlvbic7XG5pbXBvcnQgeyBCYW5rQWNjb3VudENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy9iYW5rLWFjY291bnQuY29sbGVjdGlvbic7XG5pbXBvcnQgeyBMb2FuQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL2xvYW4vbG9hbi5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBQcm9wZXJ0eUVxdWl0eUNoYXJ0VHlwZUVudW0gfSBmcm9tICcuL3Byb3BlcnR5LWVxdWl0eS1jaGFydC10eXBlLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuL3Byb3BlcnR5JztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vYmFuay9iYW5rLWFjY291bnQnO1xuXG4vLyBjb3VudCBvZiB5ZWFycyBmb3IgZnV0dXJlIHZhbHVlc1xuY29uc3QgRk9SRUNBU1RfWUVBUlMgPSAyNTtcblxuLyoqXG4gKiBjbGFzcyBjb250YWluIGFjdHVhbCBhbmQgZm9yZWNhc3RlZCBtYXJrZXQgdmFsdWVzIGFuZCBsb2FuIGJhbGFuY2VzIGZvciBwYXNzZWQgcHJvcGVydGllc1xuICogWCBheGlzIC0geWVhcnMgZnJvbSB0aGUgZmlyc3QgYWN0dWFsIGRhdGEgeWVhciB0byB0aGUgbGFzdCBmb3JlY2FzdGVkIHllYXJcbiAqIFkgYXhpcyAtIGFtb3VudHMgb2YgbWFya2V0IHZhbHVlcywgbG9hbiBiYWxhbmNlc1xuICogQWxzbyBvbiBob3ZlciBhcHBlYXIgZXF1aXR5IHBvc2l0aW9ucyBwb2ludFxuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHlFcXVpdHlDaGFydERhdGEge1xuICAvLyBsaXN0IG9mIGVxdWl0eSBwb3NpdGlvbnMgZm9yIGFsbCB5ZWFycyByYW5nZVxuICBsaXN0OiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbVtdO1xuICAvLyBjdXJyZW50IGZpbmFuY2lhbCB5ZWFyXG4gIGN1cnJlbnRZZWFyOiBudW1iZXI7XG4gIC8vIGxpc3Qgb2YgcHJvcGVydGllcyB0aGlzIGNvbGxlY3Rpb24gYmFzZWQgb25cbiAgcHJpdmF0ZSBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUNvbGxlY3Rpb247XG4gIHByaXZhdGUgYmFua0FjY291bnRzOiBCYW5rQWNjb3VudENvbGxlY3Rpb247XG4gIHByaXZhdGUgbG9hbnM6IExvYW5Db2xsZWN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3BlcnRpZXM6IFByb3BlcnR5Q29sbGVjdGlvbixcbiAgICBiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50Q29sbGVjdGlvbixcbiAgICBsb2FuczogTG9hbkNvbGxlY3Rpb24sXG4gICAgcHJpdmF0ZSByZWdpc3RlckRhdGU6IERhdGVcbiAgKSB7XG4gICAgdGhpcy5wcm9wZXJ0aWVzID0gcHJvcGVydGllcztcbiAgICB0aGlzLmJhbmtBY2NvdW50cyA9IGJhbmtBY2NvdW50cy5nZXRMb2FuQWNjb3VudHMoKTtcbiAgICB0aGlzLmxvYW5zID0gbG9hbnM7XG4gICAgdGhpcy5jdXJyZW50WWVhciA9IG5ldyBGaW5hbmNpYWxZZWFyKG5ldyBEYXRlKCkpLnllYXI7XG4gICAgdGhpcy5pbml0SXRlbXMoKTtcbiAgICB0aGlzLmJ1aWxkSGlzdG9yeUl0ZW1zKCk7XG4gICAgdGhpcy5idWlsZEFjdHVhbEl0ZW0oKTtcbiAgICB0aGlzLmJ1aWxkRm9yZWNhc3RlZEl0ZW1zKCk7XG4gICAgdGhpcy5jaGVja1plcm9Mb2FuQmFsYW5jZSgpO1xuICAgIHRoaXMuY2hlY2taZXJvTWFya2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgaXRlbXMgbGlzdCBpbiBjaGFydCBzZXJpZXMgZm9ybWF0XG4gICAqIEBwYXJhbSB0eXBlXG4gICAqL1xuICBnZXRDaGFydFNlcmllcyh0eXBlOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0VHlwZUVudW0pOiBudW1iZXJbXVtdIHtcbiAgICByZXR1cm4gdGhpcy5saXN0Lm1hcCgoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IGl0ZW0uZ2V0U2VyaWUodHlwZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBwcmVwYXJlZCBjaGFydCBkYXRhXG4gICAqL1xuICBnZXRDaGFydERhdGEoKTogb2JqZWN0W10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnbWFya2V0VmFsdWUnLFxuICAgICAgICBuYW1lOiAnTWFya2V0IFZhbHVlJyxcbiAgICAgICAgc2VyaWVzOiB0aGlzLmdldENoYXJ0U2VyaWVzKFByb3BlcnR5RXF1aXR5Q2hhcnRUeXBlRW51bS5NQVJLRVRfVkFMVUUpLFxuICAgICAgICAvLyBkaXNwbGF5IGZ1dHVyZSBtYXJrZXQgdmFsdWUgd2l0aCBkYXNoIGxpbmUgYW5kIHBhc3QgbWFya2V0IHZhbHVlIHdpdGggc29saWQgbGluZVxuICAgICAgICB6b25lczogW3tcbiAgICAgICAgICAvLyBsaW5lIHN0eWxlIGFmdGVyIGN1cnJlbnQgY2FsZW5kYXIgeWVhclxuICAgICAgICAgIHZhbHVlOiB0aGlzLmN1cnJlbnRZZWFyLFxuICAgICAgICAgIGRhc2hTdHlsZTogJ1NvbGlkJ1xuICAgICAgICB9LCB7XG4gICAgICAgICAgLy8gZGVmYXVsdCBsaW5lIHN0eWxlXG4gICAgICAgICAgZGFzaFN0eWxlOiAnRGFzaCdcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIC8vIGlkIHVzZWQgdG8gYWRkL3JlbW92ZSBzZXJpZSB0byBjaGFydFxuICAgICAgICBpZDogJ2xvYW5CYWxhbmNlJyxcbiAgICAgICAgbmFtZTogJ0xvYW4gQmFsYW5jZScsXG4gICAgICAgIHNlcmllczogdGhpcy5nZXRDaGFydFNlcmllcyhQcm9wZXJ0eUVxdWl0eUNoYXJ0VHlwZUVudW0uTE9BTl9CQUxBTkNFKVxuICAgICAgfVxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogY3JlYXRlIGVtcHR5IGVxdWl0eSBwb3NpdGlvbiBpdGVtIGZvciBlYWNoIHllYXIgaW4gY29sbGVjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBpbml0SXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ID0gW107XG4gICAgZm9yIChsZXQgeWVhcjogbnVtYmVyID0gbmV3IEZpbmFuY2lhbFllYXIodGhpcy5yZWdpc3RlckRhdGUpLnllYXIgLSAxOyB5ZWFyIDw9ICh0aGlzLmN1cnJlbnRZZWFyICsgRk9SRUNBU1RfWUVBUlMpOyB5ZWFyKyspIHtcbiAgICAgIHRoaXMubGlzdC5wdXNoKG5ldyBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSh5ZWFyKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGNvbGxlY3QgZXF1aXR5IHBvc2l0aW9uIGl0ZW1zIHdpdGggcGFzdCB2YWx1ZXMgZnJvbSBwcm9wZXJ0aWVzIGZvcmVjYXN0c1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEhpc3RvcnlJdGVtcygpOiB2b2lkIHtcbiAgICAvLyBnZXQgaXRlbXMgZm9yIHBhc3QgYW5kIGN1cnJlbnQgeWVhcnNcbiAgICBjb25zdCBpdGVtczogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW1bXSA9IHRoaXMubGlzdC5maWx0ZXIoKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiBpdGVtLnllYXIgPD0gdGhpcy5jdXJyZW50WWVhcik7XG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IHtcbiAgICAgIC8vIGluY3JlYXNlIGl0ZW0gdmFsdWVzIHdpdGggcHJvcGVydHkgYWN0dWFsIGZvcmVjYXN0cyBmb3IgaXRlbSB5ZWFyXG4gICAgICBpdGVtLm1hcmtldFZhbHVlID0gdGhpcy5wcm9wZXJ0aWVzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHByb3BlcnR5OiBQcm9wZXJ0eSk6IG51bWJlciA9PiBzdW0gKyB0aGlzLmdldE1hcmtldFZhbHVlRm9yUHJvcGVydHlCeVllYXIocHJvcGVydHksIGl0ZW0ueWVhciksIDApO1xuXG4gICAgICBpdGVtLmxvYW5CYWxhbmNlID0gTWF0aC5hYnModGhpcy5wcm9wZXJ0aWVzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHByb3BlcnR5OiBQcm9wZXJ0eSk6IG51bWJlciA9PiBzdW0gKyB0aGlzLmdldExvYW5CYWxhbmNlRm9yUHJvcGVydHlCeVllYXIocHJvcGVydHksIGl0ZW0ueWVhciksIDApKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzZXQgYWN0dWFsIHllYXIncyByZWFsIGRhdGFcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgYnVpbGRBY3R1YWxJdGVtKCk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtID0gdGhpcy5saXN0LmZpbmQoKGk6IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiBpLnllYXIgPT09IHRoaXMuY3VycmVudFllYXIpO1xuICAgIGl0ZW0ubWFya2V0VmFsdWUgPSB0aGlzLnByb3BlcnRpZXMubWFya2V0VmFsdWU7XG4gICAgaXRlbS5sb2FuQmFsYW5jZSA9IHRoaXMucHJvcGVydGllcy5pdGVtcy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBwcm9wZXJ0eTogUHJvcGVydHkpOiBudW1iZXIgPT4gc3VtICsgTWF0aC5hYnModGhpcy5iYW5rQWNjb3VudHMuZ2V0UHJvcGVydHlCYWxhbmNlQW1vdW50KHByb3BlcnR5LmlkKSksIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIGNvbGxlY3QgZXF1aXR5IHBvc2l0aW9uIGl0ZW1zIHdpdGggZm9yZWNhc3RlZCAoZnV0dXJlKSBjYWxjdWxhdGVkIHZhbHVlc1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEZvcmVjYXN0ZWRJdGVtcygpOiB2b2lkIHtcbiAgICAvLyBjYWxjdWxhdGUgZnV0dXJlIHZhbHVlcyBmb3IgYWxsIHByb3BlcnRpZXMgc2VwYXJhdGVseVxuICAgIHRoaXMucHJvcGVydGllcy5pdGVtcy5mb3JFYWNoKChwcm9wZXJ0eTogUHJvcGVydHkpID0+IHtcbiAgICAgIGxldCBmb3JlY2FzdGVkTWFya2V0VmFsdWU6IG51bWJlciA9IChwcm9wZXJ0eS5ncm93dGhQZXJjZW50IC8gMTAwKSAqIHByb3BlcnR5Lm1hcmtldFZhbHVlICsgcHJvcGVydHkubWFya2V0VmFsdWU7XG5cbiAgICAgIC8vIGNhbGN1bGF0ZSBmdXR1cmUgdmFsdWVzIGZvciBlYWNoIGZ1dHVyZSB5ZWFyIGZvciBjdXJyZW50IGhhbmRsaW5nIHByb3BlcnR5XG4gICAgICB0aGlzLmxpc3RcbiAgICAgICAgLmZpbHRlcigoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IGl0ZW0ueWVhciA+IHRoaXMuY3VycmVudFllYXIpXG4gICAgICAgIC5mb3JFYWNoKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHByb3BlcnR5QmFua0FjY291bnRzOiBCYW5rQWNjb3VudENvbGxlY3Rpb24gPSB0aGlzLmJhbmtBY2NvdW50cy5nZXRCeVByb3BlcnR5SWQocHJvcGVydHkuaWQpO1xuICAgICAgICAgIC8vIGluY3JlYXNlIGxvYW4gYmFsYW5jZSBhbW91bnQgZm9yIGhhbmRsaW5nIGVxdWl0eSBwb3NpdGlvbiBpdGVtXG4gICAgICAgICAgaXRlbS5sb2FuQmFsYW5jZSArPSB0aGlzLmdldExvYW5CYWxhbmNlQnlZZWFyKHByb3BlcnR5LCBpdGVtLnllYXIsIHByb3BlcnR5QmFua0FjY291bnRzLCB0aGlzLmxvYW5zLmdldEJ5QmFua0FjY291bnRzSWRzKHByb3BlcnR5QmFua0FjY291bnRzLmdldElkcygpKSk7XG5cbiAgICAgICAgICAvLyBpbmNyZWFzZSBtYXJrZXQgdmFsdWUgYW1vdW50IGZvciBoYW5kbGluZyBlcXVpdHkgcG9zaXRpb24gaXRlbVxuICAgICAgICAgIGl0ZW0ubWFya2V0VmFsdWUgKz0gZm9yZWNhc3RlZE1hcmtldFZhbHVlO1xuXG4gICAgICAgICAgLy8gaW5jcmVhc2UgY3VycmVudCBtYXJrZXQgdmFsdWUgZm9yZWNhc3QgZm9yIHRoZSBuZXh0IGN5Y2xlIGl0ZXJhdGlvblxuICAgICAgICAgIGZvcmVjYXN0ZWRNYXJrZXRWYWx1ZSArPSBmb3JlY2FzdGVkTWFya2V0VmFsdWUgKiAocHJvcGVydHkuZ3Jvd3RoUGVyY2VudCAvIDEwMCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcm9wZXJ0eSBsb2FuIGJhbGFuY2UgYnkgZmluYW5jaWFsIHllYXJcbiAgICogQHBhcmFtIHByb3BlcnR5IFByb3BlcnR5IGluc3RhbmNlIGZvciBmaWx0ZXJcbiAgICogQHBhcmFtIHllYXIgRmluYW5jaWFsIHllYXIgbnVtYmVyXG4gICAqIEBwYXJhbSBiYW5rQWNjb3VudHMgTGlzdCBvZiBiYW5rIGFjY291bnRzXG4gICAqIEBwYXJhbSBsb2FucyBMaXN0IG9mIGxvYW5zXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGdldExvYW5CYWxhbmNlQnlZZWFyKHByb3BlcnR5OiBQcm9wZXJ0eSwgeWVhcjogbnVtYmVyLCBiYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50Q29sbGVjdGlvbiwgbG9hbnM6IExvYW5Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICByZXR1cm4gYmFua0FjY291bnRzLml0ZW1zLnJlZHVjZSgodG90YWxTdW06IG51bWJlciwgYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KTogbnVtYmVyID0+IHRvdGFsU3VtICsgKGJhbmtBY2NvdW50LmdldFByb3BlcnR5UGVyY2VudGFnZShwcm9wZXJ0eS5pZCkgKiAobG9hbnMuZ2V0QnlCYW5rQWNjb3VudElkKGJhbmtBY2NvdW50LmlkKT8uZ2V0TGFzdFBheW1lbnRCeVllYXIoeWVhcik/LnRvdGFsT3dlZCB8fCAwKSksIDApO1xuICB9XG5cbiAgZ2V0TWFya2V0VmFsdWVGb3JQcm9wZXJ0eUJ5WWVhcihwcm9wZXJ0eTogUHJvcGVydHksIHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKG5ldyBGaW5hbmNpYWxZZWFyKHByb3BlcnR5LmNvbnRyYWN0RGF0ZSkueWVhciA+IHllYXIpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiAocHJvcGVydHkuZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcikgfHwgZmlyc3QocHJvcGVydHkuZm9yZWNhc3RzKSkubWFya2V0VmFsdWU7XG4gIH1cblxuICBnZXRMb2FuQmFsYW5jZUZvclByb3BlcnR5QnlZZWFyKHByb3BlcnR5OiBQcm9wZXJ0eSwgeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAobmV3IEZpbmFuY2lhbFllYXIocHJvcGVydHkuY29udHJhY3REYXRlKS55ZWFyID4geWVhcikge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgLy8gQFRPRE8gcmVtb3ZlIGFmdGVyIHRlc3RzIGB8fCB0aGlzLmJhbmtBY2NvdW50cy5nZXRQcm9wZXJ0eUJhbGFuY2VBbW91bnQocHJvcGVydHkuaWQpYFxuICAgIHJldHVybiBwcm9wZXJ0eS5nZXRGb3JlY2FzdEJ5WWVhcih5ZWFyKT8ubG9hbkJhbGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgbG9hbiBiYWxhbmNlIGlzIDAgYW5kIHNldCBpdCBhcyBudWxsICh0byBub3QgdG8gZHJhdyBwb2ludCBvbiB0aGUgY2hhcnQpXG4gICAqL1xuICBwcml2YXRlIGNoZWNrWmVyb0xvYW5CYWxhbmNlKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdC5mb3JFYWNoKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0ubG9hbkJhbGFuY2UgPT09IDApIHtcbiAgICAgICAgaXRlbS5sb2FuQmFsYW5jZSA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgbWFya2V0IHZhbHVlIGlzIDAgYW5kIHNldCBpdCBhcyBudWxsICh0byBub3QgdG8gZHJhdyBwb2ludCBvbiB0aGUgY2hhcnQpXG4gICAqL1xuICBwcml2YXRlIGNoZWNrWmVyb01hcmtldFZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdC5mb3JFYWNoKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0ubWFya2V0VmFsdWUgPT09IDApIHtcbiAgICAgICAgaXRlbS5tYXJrZXRWYWx1ZSA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZXF1aXR5LWNoYXJ0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWVxdWl0eS1jaGFydC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU92RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJaEYsbUNBQW1DO0FBQ25DLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztBQUUxQjs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsWUFDVSxVQUE4QixFQUM5QixVQUF1QyxFQUN2QyxZQUFtQyxFQUNuQyxLQUFxQixFQUNyQixZQUFrQjtRQUpsQixlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUM5QixlQUFVLEdBQVYsVUFBVSxDQUE2QjtRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUFDbkMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsaUJBQVksR0FBWixZQUFZLENBQU07UUFFMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFD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QUFJLGFBQWEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksRUFBRTtZQUN4RCxPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsd0ZBQXdGO1FBQ3hGLE9BQU8sUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUE2QixFQUFFLEVBQUU7WUFDbEQsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQTZCLEVBQUUsRUFBRTtZQUNsRCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZpcnN0IGZyb20gJ2xvZGFzaC9maXJzdCc7XG5pbXBvcnQgeyBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSB9IGZyb20gJy4vcHJvcGVydHktZXF1aXR5LWNoYXJ0LWl0ZW0nO1xuaW1wb3J0IHtcbiAgQmFua0FjY291bnRDb2xsZWN0aW9uLFxuICBMb2FuQ29sbGVjdGlvbixcbiAgUHJvcGVydHlDb2xsZWN0aW9uLFxuICBQcm9wZXJ0eVZhbHVhdGlvbkNvbGxlY3Rpb25cbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IFByb3BlcnR5RXF1aXR5Q2hhcnRUeXBlRW51bSB9IGZyb20gJy4vcHJvcGVydHktZXF1aXR5LWNoYXJ0LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSB9IGZyb20gJy4vcHJvcGVydHknO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi9iYW5rJztcblxuLy8gY291bnQgb2YgeWVhcnMgZm9yIGZ1dHVyZSB2YWx1ZXNcbmNvbnN0IEZPUkVDQVNUX1lFQVJTID0gMjU7XG5cbi8qKlxuICogY2xhc3MgY29udGFpbiBhY3R1YWwgYW5kIGZvcmVjYXN0ZWQgbWFya2V0IHZhbHVlcyBhbmQgbG9hbiBiYWxhbmNlcyBmb3IgcGFzc2VkIHByb3BlcnRpZXNcbiAqIFggYXhpcyAtIHllYXJzIGZyb20gdGhlIGZpcnN0IGFjdHVhbCBkYXRhIHllYXIgdG8gdGhlIGxhc3QgZm9yZWNhc3RlZCB5ZWFyXG4gKiBZIGF4aXMgLSBhbW91bnRzIG9mIG1hcmtldCB2YWx1ZXMsIGxvYW4gYmFsYW5jZXNcbiAqIEFsc28gb24gaG92ZXIgYXBwZWFyIGVxdWl0eSBwb3NpdGlvbnMgcG9pbnRcbiAqL1xuZXhwb3J0IGNsYXNzIFByb3BlcnR5RXF1aXR5Q2hhcnREYXRhIHtcbiAgLy8gbGlzdCBvZiBlcXVpdHkgcG9zaXRpb25zIGZvciBhbGwgeWVhcnMgcmFuZ2VcbiAgbGlzdDogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW1bXTtcbiAgLy8gY3VycmVudCBmaW5hbmNpYWwgeWVhclxuICBjdXJyZW50WWVhcjogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcHJvcGVydGllczogUHJvcGVydHlDb2xsZWN0aW9uLFxuICAgIHByaXZhdGUgdmFsdWF0aW9uczogUHJvcGVydHlWYWx1YXRpb25Db2xsZWN0aW9uLFxuICAgIHByaXZhdGUgYmFua0FjY291bnRzOiBCYW5rQWNjb3VudENvbGxlY3Rpb24sXG4gICAgcHJpdmF0ZSBsb2FuczogTG9hbkNvbGxlY3Rpb24sXG4gICAgcHJpdmF0ZSByZWdpc3RlckRhdGU6IERhdGVcbiAgKSB7XG4gICAgdGhpcy5iYW5rQWNjb3VudHMgPSBiYW5rQWNjb3VudHMuZ2V0TG9hbkFjY291bnRzKCk7XG4gICAgdGhpcy5jdXJyZW50WWVhciA9IG5ldyBGaW5hbmNpYWxZZWFyKG5ldyBEYXRlKCkpLnllYXI7XG4gICAgdGhpcy5pbml0SXRlbXMoKTtcbiAgICB0aGlzLmJ1aWxkSGlzdG9yeUl0ZW1zKCk7XG4gICAgdGhpcy5idWlsZEFjdHVhbEl0ZW0oKTtcbiAgICB0aGlzLmJ1aWxkRm9yZWNhc3RlZEl0ZW1zKCk7XG4gICAgdGhpcy5jaGVja1plcm9Mb2FuQmFsYW5jZSgpO1xuICAgIHRoaXMuY2hlY2taZXJvTWFya2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgaXRlbXMgbGlzdCBpbiBjaGFydCBzZXJpZXMgZm9ybWF0XG4gICAqIEBwYXJhbSB0eXBlXG4gICAqL1xuICBnZXRDaGFydFNlcmllcyh0eXBlOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0VHlwZUVudW0pOiBudW1iZXJbXVtdIHtcbiAgICByZXR1cm4gdGhpcy5saXN0Lm1hcCgoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IGl0ZW0uZ2V0U2VyaWUodHlwZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBwcmVwYXJlZCBjaGFydCBkYXRhXG4gICAqL1xuICBnZXRDaGFydERhdGEoKTogb2JqZWN0W10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnbWFya2V0VmFsdWUnLFxuICAgICAgICBuYW1lOiAnTWFya2V0IFZhbHVlJyxcbiAgICAgICAgc2VyaWVzOiB0aGlzLmdldENoYXJ0U2VyaWVzKFByb3BlcnR5RXF1aXR5Q2hhcnRUeXBlRW51bS5NQVJLRVRfVkFMVUUpLFxuICAgICAgICAvLyBkaXNwbGF5IGZ1dHVyZSBtYXJrZXQgdmFsdWUgd2l0aCBkYXNoIGxpbmUgYW5kIHBhc3QgbWFya2V0IHZhbHVlIHdpdGggc29saWQgbGluZVxuICAgICAgICB6b25lczogW3tcbiAgICAgICAgICAvLyBsaW5lIHN0eWxlIGFmdGVyIGN1cnJlbnQgY2FsZW5kYXIgeWVhclxuICAgICAgICAgIHZhbHVlOiB0aGlzLmN1cnJlbnRZZWFyLFxuICAgICAgICAgIGRhc2hTdHlsZTogJ1NvbGlkJ1xuICAgICAgICB9LCB7XG4gICAgICAgICAgLy8gZGVmYXVsdCBsaW5lIHN0eWxlXG4gICAgICAgICAgZGFzaFN0eWxlOiAnRGFzaCdcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIC8vIGlkIHVzZWQgdG8gYWRkL3JlbW92ZSBzZXJpZSB0byBjaGFydFxuICAgICAgICBpZDogJ2xvYW5CYWxhbmNlJyxcbiAgICAgICAgbmFtZTogJ0xvYW4gQmFsYW5jZScsXG4gICAgICAgIHNlcmllczogdGhpcy5nZXRDaGFydFNlcmllcyhQcm9wZXJ0eUVxdWl0eUNoYXJ0VHlwZUVudW0uTE9BTl9CQUxBTkNFKVxuICAgICAgfVxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogY3JlYXRlIGVtcHR5IGVxdWl0eSBwb3NpdGlvbiBpdGVtIGZvciBlYWNoIHllYXIgaW4gY29sbGVjdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBpbml0SXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ID0gW107XG4gICAgZm9yIChsZXQgeWVhcjogbnVtYmVyID0gbmV3IEZpbmFuY2lhbFllYXIodGhpcy5yZWdpc3RlckRhdGUpLnllYXIgLSAxOyB5ZWFyIDw9ICh0aGlzLmN1cnJlbnRZZWFyICsgRk9SRUNBU1RfWUVBUlMpOyB5ZWFyKyspIHtcbiAgICAgIHRoaXMubGlzdC5wdXNoKG5ldyBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSh5ZWFyKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGNvbGxlY3QgZXF1aXR5IHBvc2l0aW9uIGl0ZW1zIHdpdGggcGFzdCB2YWx1ZXMgZnJvbSBwcm9wZXJ0aWVzIGZvcmVjYXN0c1xuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEhpc3RvcnlJdGVtcygpOiB2b2lkIHtcbiAgICAvLyBnZXQgaXRlbXMgZm9yIHBhc3QgYW5kIGN1cnJlbnQgeWVhcnNcbiAgICBjb25zdCBpdGVtczogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW1bXSA9IHRoaXMubGlzdC5maWx0ZXIoKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiBpdGVtLnllYXIgPD0gdGhpcy5jdXJyZW50WWVhcik7XG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IHtcbiAgICAgIC8vIGluY3JlYXNlIGl0ZW0gdmFsdWVzIHdpdGggcHJvcGVydHkgYWN0dWFsIGZvcmVjYXN0cyBmb3IgaXRlbSB5ZWFyXG4gICAgICBpdGVtLm1hcmtldFZhbHVlID0gdGhpcy5wcm9wZXJ0aWVzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHByb3BlcnR5OiBQcm9wZXJ0eSk6IG51bWJlciA9PiBzdW0gKyB0aGlzLmdldE1hcmtldFZhbHVlRm9yUHJvcGVydHlCeVllYXIocHJvcGVydHksIGl0ZW0ueWVhciksIDApO1xuXG4gICAgICBpdGVtLmxvYW5CYWxhbmNlID0gTWF0aC5hYnModGhpcy5wcm9wZXJ0aWVzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHByb3BlcnR5OiBQcm9wZXJ0eSk6IG51bWJlciA9PiBzdW0gKyB0aGlzLmdldExvYW5CYWxhbmNlRm9yUHJvcGVydHlCeVllYXIocHJvcGVydHksIGl0ZW0ueWVhciksIDApKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyByZW1vdmUsIHRoZXJlIGlzIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBhY3R1YWwgYW5kIGhpc3RvcnkgY2FsY3VsYXRpb25zXG4gICAqIHNldCBhY3R1YWwgeWVhcidzIHJlYWwgZGF0YVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZEFjdHVhbEl0ZW0oKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0gPSB0aGlzLmxpc3QuZmluZCgoaTogUHJvcGVydHlFcXVpdHlDaGFydEl0ZW0pID0+IGkueWVhciA9PT0gdGhpcy5jdXJyZW50WWVhcik7XG4gICAgaXRlbS5tYXJrZXRWYWx1ZSA9IHRoaXMudmFsdWF0aW9ucy5nZXRNYXJrZXRWYWx1ZShuZXcgRGF0ZSgpKTtcbiAgICBpdGVtLmxvYW5CYWxhbmNlID0gdGhpcy5wcm9wZXJ0aWVzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHByb3BlcnR5OiBQcm9wZXJ0eSk6IG51bWJlciA9PiBzdW0gKyBNYXRoLmFicyh0aGlzLmJhbmtBY2NvdW50cy5nZXRQcm9wZXJ0eUJhbGFuY2VBbW91bnQocHJvcGVydHkuaWQpKSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogY29sbGVjdCBlcXVpdHkgcG9zaXRpb24gaXRlbXMgd2l0aCBmb3JlY2FzdGVkIChmdXR1cmUpIGNhbGN1bGF0ZWQgdmFsdWVzXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkRm9yZWNhc3RlZEl0ZW1zKCk6IHZvaWQge1xuICAgIC8vIGNhbGN1bGF0ZSBmdXR1cmUgdmFsdWVzIGZvciBhbGwgcHJvcGVydGllcyBzZXBhcmF0ZWx5XG4gICAgdGhpcy5wcm9wZXJ0aWVzLml0ZW1zLmZvckVhY2goKHByb3BlcnR5OiBQcm9wZXJ0eSkgPT4ge1xuICAgICAgY29uc3QgbWFya2V0VmFsdWUgPSB0aGlzLnZhbHVhdGlvbnMuZmlsdGVyQnkoJ3Byb3BlcnR5LmlkJywgcHJvcGVydHkuaWQpLmdldE1hcmtldFZhbHVlKG5ldyBEYXRlKCkpO1xuICAgICAgbGV0IGZvcmVjYXN0ZWRNYXJrZXRWYWx1ZTogbnVtYmVyID0gKHByb3BlcnR5Lmdyb3d0aFBlcmNlbnQgLyAxMDApICogbWFya2V0VmFsdWUgKyBtYXJrZXRWYWx1ZTtcblxuICAgICAgLy8gY2FsY3VsYXRlIGZ1dHVyZSB2YWx1ZXMgZm9yIGVhY2ggZnV0dXJlIHllYXIgZm9yIGN1cnJlbnQgaGFuZGxpbmcgcHJvcGVydHlcbiAgICAgIHRoaXMubGlzdFxuICAgICAgICAuZmlsdGVyKChpdGVtOiBQcm9wZXJ0eUVxdWl0eUNoYXJ0SXRlbSkgPT4gaXRlbS55ZWFyID4gdGhpcy5jdXJyZW50WWVhcilcbiAgICAgICAgLmZvckVhY2goKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvcGVydHlCYW5rQWNjb3VudHM6IEJhbmtBY2NvdW50Q29sbGVjdGlvbiA9IHRoaXMuYmFua0FjY291bnRzLmdldEJ5UHJvcGVydHlJZChwcm9wZXJ0eS5pZCk7XG4gICAgICAgICAgLy8gaW5jcmVhc2UgbG9hbiBiYWxhbmNlIGFtb3VudCBmb3IgaGFuZGxpbmcgZXF1aXR5IHBvc2l0aW9uIGl0ZW1cbiAgICAgICAgICBpdGVtLmxvYW5CYWxhbmNlICs9IHRoaXMuZ2V0TG9hbkJhbGFuY2VCeVllYXIocHJvcGVydHksIGl0ZW0ueWVhciwgcHJvcGVydHlCYW5rQWNjb3VudHMsIHRoaXMubG9hbnMuZ2V0QnlCYW5rQWNjb3VudHNJZHMocHJvcGVydHlCYW5rQWNjb3VudHMuZ2V0SWRzKCkpKTtcblxuICAgICAgICAgIC8vIGluY3JlYXNlIG1hcmtldCB2YWx1ZSBhbW91bnQgZm9yIGhhbmRsaW5nIGVxdWl0eSBwb3NpdGlvbiBpdGVtXG4gICAgICAgICAgaXRlbS5tYXJrZXRWYWx1ZSArPSBmb3JlY2FzdGVkTWFya2V0VmFsdWU7XG5cbiAgICAgICAgICAvLyBpbmNyZWFzZSBjdXJyZW50IG1hcmtldCB2YWx1ZSBmb3JlY2FzdCBmb3IgdGhlIG5leHQgY3ljbGUgaXRlcmF0aW9uXG4gICAgICAgICAgZm9yZWNhc3RlZE1hcmtldFZhbHVlICs9IGZvcmVjYXN0ZWRNYXJrZXRWYWx1ZSAqIChwcm9wZXJ0eS5ncm93dGhQZXJjZW50IC8gMTAwKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByb3BlcnR5IGxvYW4gYmFsYW5jZSBieSBmaW5hbmNpYWwgeWVhclxuICAgKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgaW5zdGFuY2UgZm9yIGZpbHRlclxuICAgKiBAcGFyYW0geWVhciBGaW5hbmNpYWwgeWVhciBudW1iZXJcbiAgICogQHBhcmFtIGJhbmtBY2NvdW50cyBMaXN0IG9mIGJhbmsgYWNjb3VudHNcbiAgICogQHBhcmFtIGxvYW5zIExpc3Qgb2YgbG9hbnNcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgZ2V0TG9hbkJhbGFuY2VCeVllYXIocHJvcGVydHk6IFByb3BlcnR5LCB5ZWFyOiBudW1iZXIsIGJhbmtBY2NvdW50czogQmFua0FjY291bnRDb2xsZWN0aW9uLCBsb2FuczogTG9hbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBiYW5rQWNjb3VudHMuaXRlbXMucmVkdWNlKCh0b3RhbFN1bTogbnVtYmVyLCBiYW5rQWNjb3VudDogQmFua0FjY291bnQpOiBudW1iZXIgPT4gdG90YWxTdW0gKyAoYmFua0FjY291bnQuZ2V0UHJvcGVydHlQZXJjZW50YWdlKHByb3BlcnR5LmlkKSAqIChsb2Fucy5nZXRCeUJhbmtBY2NvdW50SWQoYmFua0FjY291bnQuaWQpPy5nZXRMYXN0UGF5bWVudEJ5WWVhcih5ZWFyKT8udG90YWxPd2VkIHx8IDApKSwgMCk7XG4gIH1cblxuICBnZXRNYXJrZXRWYWx1ZUZvclByb3BlcnR5QnlZZWFyKHByb3BlcnR5OiBQcm9wZXJ0eSwgeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAobmV3IEZpbmFuY2lhbFllYXIocHJvcGVydHkuY29udHJhY3REYXRlKS55ZWFyID4geWVhcikge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIChwcm9wZXJ0eS5nZXRGb3JlY2FzdEJ5WWVhcih5ZWFyKSB8fCBmaXJzdChwcm9wZXJ0eS5mb3JlY2FzdHMpKS5tYXJrZXRWYWx1ZTtcbiAgfVxuXG4gIGdldExvYW5CYWxhbmNlRm9yUHJvcGVydHlCeVllYXIocHJvcGVydHk6IFByb3BlcnR5LCB5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChuZXcgRmluYW5jaWFsWWVhcihwcm9wZXJ0eS5jb250cmFjdERhdGUpLnllYXIgPiB5ZWFyKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICAvLyBAVE9ETyByZW1vdmUgYWZ0ZXIgdGVzdHMgYHx8IHRoaXMuYmFua0FjY291bnRzLmdldFByb3BlcnR5QmFsYW5jZUFtb3VudChwcm9wZXJ0eS5pZClgXG4gICAgcmV0dXJuIHByb3BlcnR5LmdldEZvcmVjYXN0QnlZZWFyKHllYXIpPy5sb2FuQmFsYW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBsb2FuIGJhbGFuY2UgaXMgMCBhbmQgc2V0IGl0IGFzIG51bGwgKHRvIG5vdCB0byBkcmF3IHBvaW50IG9uIHRoZSBjaGFydClcbiAgICovXG4gIHByaXZhdGUgY2hlY2taZXJvTG9hbkJhbGFuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0LmZvckVhY2goKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiB7XG4gICAgICBpZiAoaXRlbS5sb2FuQmFsYW5jZSA9PT0gMCkge1xuICAgICAgICBpdGVtLmxvYW5CYWxhbmNlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBtYXJrZXQgdmFsdWUgaXMgMCBhbmQgc2V0IGl0IGFzIG51bGwgKHRvIG5vdCB0byBkcmF3IHBvaW50IG9uIHRoZSBjaGFydClcbiAgICovXG4gIHByaXZhdGUgY2hlY2taZXJvTWFya2V0VmFsdWUoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0LmZvckVhY2goKGl0ZW06IFByb3BlcnR5RXF1aXR5Q2hhcnRJdGVtKSA9PiB7XG4gICAgICBpZiAoaXRlbS5tYXJrZXRWYWx1ZSA9PT0gMCkge1xuICAgICAgICBpdGVtLm1hcmtldFZhbHVlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -28,12 +28,6 @@ export class PropertyForecast extends PropertyForecastBase {
28
28
  get rentalReturn() {
29
29
  return this.income / this.marketValue;
30
30
  }
31
- /**
32
- * Check if forecast is for real current fin year (not selected in the sidebar)
33
- */
34
- isCurrentYear() {
35
- return this.financialYear === new FinancialYear(new Date()).year;
36
- }
37
31
  }
38
32
  __decorate([
39
33
  Transform(({ value }) => +value)
@@ -53,4 +47,4 @@ __decorate([
53
47
  __decorate([
54
48
  Transform(({ value }) => +value)
55
49
  ], PropertyForecast.prototype, "marketValue", void 0);
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZm9yZWNhc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWZvcmVjYXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLElBQUksb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN0RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxvQkFBb0I7SUFBMUQ7O1FBbUJFLGtCQUFhLEdBQVcsSUFBSSxhQUFhLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztJQWlDN0QsQ0FBQztJQS9CQzs7O09BR0c7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3BELENBQUM7SUFHRDs7O09BR0c7SUFDSCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMvQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLGFBQWEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQWxEQztJQURDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDO2dEQUNsQjtBQUdmO0lBREMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7aURBQzVCO0FBR2hCO0lBREMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7a0RBQzNCO0FBR2pCO0lBREMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7c0RBQ3ZCO0FBR3JCO0lBREMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7cURBQ2I7QUFHcEI7SUFEQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztxREFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5Rm9yZWNhc3QgYXMgUHJvcGVydHlGb3JlY2FzdEJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvcHJvcGVydHkvcHJvcGVydHktZm9yZWNhc3QnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IFRyYW5zZm9ybSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuZXhwb3J0IGNsYXNzIFByb3BlcnR5Rm9yZWNhc3QgZXh0ZW5kcyBQcm9wZXJ0eUZvcmVjYXN0QmFzZSB7XG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gK3ZhbHVlKVxuICBpbmNvbWU6IG51bWJlcjtcblxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+IC1NYXRoLmFicygrdmFsdWUpKVxuICBleHBlbnNlOiBudW1iZXI7XG5cbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSB9KSA9PiAtTWF0aC5hYnMoK3ZhbHVlKSlcbiAgaW50ZXJlc3Q6IG51bWJlcjtcblxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+IC1NYXRoLmFicygrdmFsdWUpKVxuICBkZXByZWNpYXRpb246IG51bWJlcjtcblxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+ICt2YWx1ZSlcbiAgbG9hbkJhbGFuY2U6IG51bWJlcjtcblxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+ICt2YWx1ZSlcbiAgbWFya2V0VmFsdWU6IG51bWJlcjtcblxuICBmaW5hbmNpYWxZZWFyOiBudW1iZXIgPSBuZXcgRmluYW5jaWFsWWVhcihuZXcgRGF0ZSgpKS55ZWFyO1xuXG4gIC8qKlxuICAgKiBHZXQgY2FzaCBwb3NpdGlvblxuICAgKiBDYXNoIFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0XG4gICAqL1xuICBnZXQgY2FzaFBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5jb21lICsgdGhpcy5leHBlbnNlICsgdGhpcy5pbnRlcmVzdDtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIEdldCB0YXggcG9zaXRpb25cbiAgICogVGF4IFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0IC0gRGVwcmVjaWF0aW9uXG4gICAqL1xuICBnZXQgdGF4UG9zaXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jYXNoUG9zaXRpb24gKyB0aGlzLmRlcHJlY2lhdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcmVudGFsIHJldHVybiBwZXJjZW50XG4gICAqIFJlbnRhbCBSZXR1cm4gPSBJbmNvbWUgLyBNYXJrZXQgVmFsdWVcbiAgICovXG4gIGdldCByZW50YWxSZXR1cm4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pbmNvbWUgLyB0aGlzLm1hcmtldFZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGZvcmVjYXN0IGlzIGZvciByZWFsIGN1cnJlbnQgZmluIHllYXIgKG5vdCBzZWxlY3RlZCBpbiB0aGUgc2lkZWJhcilcbiAgICovXG4gIGlzQ3VycmVudFllYXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jaWFsWWVhciA9PT0gbmV3IEZpbmFuY2lhbFllYXIobmV3IERhdGUoKSkueWVhcjtcbiAgfVxufVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZm9yZWNhc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWZvcmVjYXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLElBQUksb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN0RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBR3BELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxvQkFBb0I7SUFBMUQ7O1FBbUJFLGtCQUFhLEdBQVcsSUFBSSxhQUFhLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztJQTBCN0QsQ0FBQztJQXhCQzs7O09BR0c7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3BELENBQUM7SUFHRDs7O09BR0c7SUFDSCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMvQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztDQUNGO0FBM0NDO0lBREMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0RBQ2xCO0FBR2Y7SUFEQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztpREFDNUI7QUFHaEI7SUFEQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztrREFDM0I7QUFHakI7SUFEQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztzREFDdkI7QUFHckI7SUFEQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztxREFDYjtBQUdwQjtJQURDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDO3FEQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlGb3JlY2FzdCBhcyBQcm9wZXJ0eUZvcmVjYXN0QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlGb3JlY2FzdCBleHRlbmRzIFByb3BlcnR5Rm9yZWNhc3RCYXNlIHtcbiAgQFRyYW5zZm9ybSgoeyB2YWx1ZSB9KSA9PiArdmFsdWUpXG4gIGluY29tZTogbnVtYmVyO1xuXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gLU1hdGguYWJzKCt2YWx1ZSkpXG4gIGV4cGVuc2U6IG51bWJlcjtcblxuICBAVHJhbnNmb3JtKCh7IHZhbHVlIH0pID0+IC1NYXRoLmFicygrdmFsdWUpKVxuICBpbnRlcmVzdDogbnVtYmVyO1xuXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gLU1hdGguYWJzKCt2YWx1ZSkpXG4gIGRlcHJlY2lhdGlvbjogbnVtYmVyO1xuXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gK3ZhbHVlKVxuICBsb2FuQmFsYW5jZTogbnVtYmVyO1xuXG4gIEBUcmFuc2Zvcm0oKHsgdmFsdWUgfSkgPT4gK3ZhbHVlKVxuICBtYXJrZXRWYWx1ZTogbnVtYmVyO1xuXG4gIGZpbmFuY2lhbFllYXI6IG51bWJlciA9IG5ldyBGaW5hbmNpYWxZZWFyKG5ldyBEYXRlKCkpLnllYXI7XG5cbiAgLyoqXG4gICAqIEdldCBjYXNoIHBvc2l0aW9uXG4gICAqIENhc2ggUG9zaXRpb24gPSBJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3RcbiAgICovXG4gIGdldCBjYXNoUG9zaXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pbmNvbWUgKyB0aGlzLmV4cGVuc2UgKyB0aGlzLmludGVyZXN0O1xuICB9XG5cblxuICAvKipcbiAgICogR2V0IHRheCBwb3NpdGlvblxuICAgKiBUYXggUG9zaXRpb24gPSBJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QgLSBEZXByZWNpYXRpb25cbiAgICovXG4gIGdldCB0YXhQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNhc2hQb3NpdGlvbiArIHRoaXMuZGVwcmVjaWF0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCByZW50YWwgcmV0dXJuIHBlcmNlbnRcbiAgICogUmVudGFsIFJldHVybiA9IEluY29tZSAvIE1hcmtldCBWYWx1ZVxuICAgKi9cbiAgZ2V0IHJlbnRhbFJldHVybigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmluY29tZSAvIHRoaXMubWFya2V0VmFsdWU7XG4gIH1cbn1cbiJdfQ==
@@ -15,6 +15,8 @@ import { PropertySaleTaxExemptionMetaFieldCollection } from '../../collections';
15
15
  import round from 'lodash/round';
16
16
  import { AppFile } from '../file';
17
17
  import { PropertyCategoryMovement } from './property-category-movement';
18
+ import { FinancialYear } from '../financial-year';
19
+ import { plainToClass } from 'class-transformer';
18
20
  /**
19
21
  * propertySale docs - https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4209508353/Property+Sold+button
20
22
  */
@@ -46,7 +48,9 @@ export class Property extends PropertyBase {
46
48
  return this.valuation?.marketValue || 0;
47
49
  }
48
50
  get currentYearForecast() {
49
- return this.forecasts.find((forecast) => forecast.isCurrentYear());
51
+ const year = new FinancialYear().year;
52
+ return this.forecasts.find((forecast) => forecast.financialYear === year)
53
+ ?? plainToClass(PropertyForecast, {});
50
54
  }
51
55
  get forecastedRentalReturn() {
52
56
  return this.currentYearForecast?.rentalReturn || 0;
@@ -246,4 +250,4 @@ __decorate([
246
250
  __decorate([
247
251
  Exclude()
248
252
  ], Property.prototype, "documentFile", void 0);
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNtQiwyQ0FBMkMsRUFDcEUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RTs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsWUFBWTtJ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TSxDQUFDOytDQUNFO0FBR3JCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQzs4Q0FDRTtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7Z0RBQ0k7QUFHckI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO3lDQUNIO0FBR2pCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDOzBDQUNGO0FBRzNCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDO21EQUNTO0FBRzlDO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzsyQ0FDQTtBQUduQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7MkNBQ0E7QUFHbkI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO21EQUNRO0FBRzNCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDOzJDQUNDO0FBRzlCO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQzt3Q0FDRjtBQUd4QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs0Q0FDRTtBQUdoQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzsyQ0FDRDtBQUc3QjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7c0NBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzsrQ0FDSztBQUd0QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7c0NBQ047QUFHZDtJQURDLE9BQU8sRUFBRTs4Q0FDUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5IGFzIFByb3BlcnR5QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNoYXJlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IFByb3BlcnR5U3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9wcm9wZXJ0eS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgRXhjbHVkZSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnkgfSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5JztcbmltcG9ydCB7IFByb3BlcnR5VmFsdWF0aW9uIH0gZnJvbSAnLi9wcm9wZXJ0eS12YWx1YXRpb24nO1xuaW1wb3J0IHsgUHJvcGVydHlGb3JlY2FzdCB9IGZyb20gJy4vcHJvcGVydHktZm9yZWNhc3QnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHsgVGF4RXhlbXB0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi5lbnVtJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5LWxpc3QuZW51bSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNhbGUgfSBmcm9tICcuL3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHsgdW5pdE9mVGltZSB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1xuICBEZXByZWNpYXRpb25Db2xsZWN0aW9uLCBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uLCBUcmFuc2FjdGlvbkNvbGxlY3Rpb25cbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHJvdW5kIGZyb20gJ2xvZGFzaC9yb3VuZCc7XG5pbXBvcnQgeyBBcHBGaWxlIH0gZnJvbSAnLi4vZmlsZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQgfSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50JztcblxuLyoqXG4gKiBwcm9wZXJ0eVNhbGUgZG9jcyAtIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDIwOTUwODM1My9Qcm9wZXJ0eStTb2xkK2J1dHRvblxuICovXG5leHBvcnQgY2xhc3MgUHJvcGVydHkgZXh0ZW5kcyBQcm9wZXJ0eUJhc2Uge1xuICAvKipcbiAgICogUHJvcGVydHkgYWNxdWlyZWQgYmVmb3JlIDIwIFNlcHRlbWJlciAxOTg1IHdpbGwgZ2VuZXJhbGx5IGJlIHRyZWF0ZWQgYXMgcHJlLUNhcGl0YWwgR2FpbnMgVGF4IChDR1QpIGFzc2V0cy5cbiAgICogQW55IGFzc2V0cyBhY3F1aXJlZCBiZWZvcmUgdGhpcyBkYXkgYXJlIENHVCBleGVtcHQgKGJlY2F1c2UgdGhlIHRheCBkaWRuJ3QgZXhpc3QgYmVmb3JlIHRoaXMgZGF0ZSkuXG4gICAqL1xuICBzdGF0aWMgcHJlQ0dUQXNzZXREYXRlOiBEYXRlID0gbmV3IERhdGUoMTk4NSwgOSwgMjApO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgcHVyY2hhc2VQcmljZTogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgZ3Jvd3RoUGVyY2VudDogbnVtYmVyXG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgY29udHJhY3REYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHNldHRsZW1lbnREYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IEFkZHJlc3MpXG4gIGFkZHJlc3M6IEFkZHJlc3M7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlDYXRlZ29yeSlcbiAgY2F0ZWdvcnk6IFByb3BlcnR5Q2F0ZWdvcnk7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50KVxuICBjYXRlZ29yeU1vdmVtZW50czogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50W107XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBzdGFtcER1dHk/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBsZWdhbEZlZXM/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gTnVtYmVyKVxuICBvdGhlckNhcGl0YWxDb3N0cz86IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eUZvcmVjYXN0KVxuICBmb3JlY2FzdHM6IFByb3BlcnR5Rm9yZWNhc3RbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVNoYXJlKVxuICBzaGFyZXM6IFByb3BlcnR5U2hhcmVbXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVZhbHVhdGlvbilcbiAgdmFsdWF0aW9uczogUHJvcGVydHlWYWx1YXRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVZhbHVhdGlvbilcbiAgdmFsdWF0aW9uOiBQcm9wZXJ0eVZhbHVhdGlvbjtcblxuICBAVHlwZSgoKSA9PiBVc2VyKVxuICB1c2VyOiBVc2VyO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5U3Vic2NyaXB0aW9uKVxuICBzdWJzY3JpcHRpb25zOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbltdO1xuXG4gIEBUeXBlKCgpID0+IEFwcEZpbGUpXG4gIGZpbGU6IEFwcEZpbGU7XG5cbiAgQEV4Y2x1ZGUoKVxuICBkb2N1bWVudEZpbGU6IEZpbGU7XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzLm5hbWU7XG4gIH1cblxuICBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zdWJzY3JpcHRpb25zPy5sZW5ndGg7XG4gIH1cblxuICBpc093bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLmlkID09PSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpO1xuICB9XG5cbiAgaXNTb2xkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubXlTaGFyZT8uc2FsZTtcbiAgfVxuXG4gIGdldCBjYXBpdGFsQ29zdHNUb3RhbEFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN0YW1wRHV0eSArIHRoaXMubGVnYWxGZWVzICsgdGhpcy5vdGhlckNhcGl0YWxDb3N0cztcbiAgfVxuXG4gIGdldCBtYXJrZXRWYWx1ZSgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmlzU29sZCgpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy52YWx1YXRpb24/Lm1hcmtldFZhbHVlIHx8IDA7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJGb3JlY2FzdCgpOiBQcm9wZXJ0eUZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBib29sZWFuID0+IGZvcmVjYXN0LmlzQ3VycmVudFllYXIoKSk7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFJlbnRhbFJldHVybigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnJlbnRhbFJldHVybiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRUYXhQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnRheFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZENhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmNhc2hQb3NpdGlvbiB8fCAwO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlR3Jvd3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLm1hcmtldFZhbHVlIC0gdGhpcy5wdXJjaGFzZVByaWNlKSAvIHRoaXMubWFya2V0VmFsdWU7XG4gIH1cblxuICBnZXQgbXlTaGFyZSgpOiBQcm9wZXJ0eVNoYXJlIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMuZmluZCgoc2hhcmU6IFByb3BlcnR5U2hhcmUpOiBib29sZWFuID0+IHNoYXJlLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJykpO1xuICB9XG5cbiAgZ2V0IGNsYWltUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuY2xhaW1QZXJjZW50O1xuICB9XG5cbiAgZ2V0IGNsYWltQ29lZmZpY2llbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbVBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgc2hhcmVQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5wZXJjZW50O1xuICB9XG5cbiAgZ2V0IHNoYXJlUmF0aW8oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5teVNoYXJlLnBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXRDdXJyZW50U3Vic2NyaXB0aW9uKCk6IFByb3BlcnR5U3Vic2NyaXB0aW9uIHtcbiAgICAvLyBhbHdheXMgcmV0dXJuIGZpcnN0IGVsZW1lbnQgYmVjYXVzZSBzdWJzY3JpcHRpb25zIGFycmF5IGNvbnRhaW5zIG9ubHkgb25lIGVsZW1lbnRcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zWzBdO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcbiAgfVxuXG4gIGdldCBpc1NoYXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMubGVuZ3RoID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBjb25zaWRlciB0byBtb3ZlIG1ldGhvZHMgcmVsYXRlZCB3aXRoIHByb3BlcnR5U2FsZSB0byBzZXBhcmF0ZWQgY2xhc3MsIHNpbmNlIHVzZWQganVzdCBpbiBvbmUgbW9kdWxlIHlldFxuICAgKiBwdXJjaGFzZSBjb3N0cyAtIGNsYWltZWQgY29zdHMsIGV4Y2VwdCBgcHByIHRvIGludmVzdG1lbnRgIGV4ZW1wdGlvbixcbiAgICogaW4gdGhhdCBjYXNlIGl0J3MgZXF1YWwgdG8gbWFya2V0IHZhbHVlLCB3aGVuIHByb3BlcnR5IGJlY2FtZSBhbiBpbnZlc3RtZW50IHByb3BlcnR5XG4gICAqL1xuICBjYWxjdWxhdGVDb3N0QmFzZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hcmtldFZhbHVlOiBudW1iZXIgPSBuZXcgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbihzYWxlLnRheEV4ZW1wdGlvbk1ldGFGaWVsZHMpLmdldE1hcmtldFZhbHVlKCk7XG4gICAgaWYgKG1hcmtldFZhbHVlKSB7XG4gICAgICByZXR1cm4gbWFya2V0VmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHVyY2hhc2VQcmljZSArIHRoaXMuY2FwaXRhbENvc3RzVG90YWxBbW91bnQgKyBzYWxlLmhvbGRpbmdDb3N0cyArIHNhbGUuc3RydWN0dXJhbEltcHJvdmVtZW50c1dEViAtIHNhbGUuYnVpbGRpbmdBdENvc3RDbGFpbWVkO1xuICB9XG5cbiAgY2FsY3VsYXRlR3Jvc3NDYXBpdGFsR2FpbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIHJldHVybiByb3VuZCgoc2FsZS5uZXRQcmljZSAtIHRoaXMuY2FsY3VsYXRlQ29zdEJhc2Uoc2FsZSkpICogdGhpcy5nZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZSkgKiB0aGlzLnNoYXJlUmF0aW8sIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIG5ldCBjYXBpdGFsIGdhaW4gaW5jbHVkZXMgdGF4IGV4ZW1wdGlvblxuICAgKi9cbiAgY2FsY3VsYXRlTmV0Q2FwaXRhbEdhaW4oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDR1RFeGVtcHRpb25SYXRpbyhzYWxlKSAqIHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBndWVzcyB0YXggZXhlbXB0aW9uIGJhc2VkIG9uIHByb3BlcnR5IGRldGFpbHNcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBUYXhFeGVtcHRpb25FbnVtIHtcbiAgICBpZiAoc2FsZS50YXhFeGVtcHRpb24pIHtcbiAgICAgIHJldHVybiBzYWxlLnRheEV4ZW1wdGlvbi5pZDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgbWFpbiByZXNpZGVuY2UgcHJvcGVydGllc1xuICAgICAgY2FzZSB0aGlzLmNhdGVnb3J5LmlkID09PSBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0uT1dORVJfT0NDVVBJRUQ6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLlBQUjtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudCBwcm9wZXJ0aWVzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSk6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBnZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtZXRhRmllbGRzOiBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uID0gbmV3IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24oc2FsZS50YXhFeGVtcHRpb25NZXRhRmllbGRzKTtcblxuICAgIHN3aXRjaCAoc2FsZS50YXhFeGVtcHRpb24/LmlkKSB7XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uSU5WRVNUTUVOVF9UT19QUFI6XG4gICAgICAgIGNvbnN0IG93bmVyc2hpcERheXMgPSB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUpO1xuICAgICAgICByZXR1cm4gKG93bmVyc2hpcERheXMgLSBtZXRhRmllbGRzLmdldFBQUkRheXMoKSkgLyBvd25lcnNoaXBEYXlzO1xuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUl9UT19JTlZFU1RNRU5UOlxuICAgICAgICByZXR1cm4gbWV0YUZpZWxkcy5nZXRDbGFpbVBlcmNlbnQoKSAvIDEwMDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB0YXggZXhlbXB0aW9uIGNhbiByZWR1Y2UgY2d0IGZyb20gMTAwJSB0byBsZXNzICh1cCB0byB6ZXJvKVxuICAgKi9cbiAgZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgLy8gNTAlIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudHMgb3duZWQgZm9yIGF0IGxlYXN0IG9uZSB5ZWFyXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT05FX1lFQVJfUlVMRTpcbiAgICAgICAgcmV0dXJuIDAuNTtcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5JTlZFU1RNRU5UX1RPX1BQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFJfVE9fSU5WRVNUTUVOVDpcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlKSA/IDAuNSA6IDE7XG4gICAgICAvLyBmdWxsIGV4ZW1wdGlvblxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5TSVhfWUVBUlNfUlVMRTpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5UUkFOU0ZFUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5PVEhFUjpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICAvLyBubyBleGVtcHRpb25cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBpbiBjZ3QgcmVwb3J0IHdlIGFwcGx5IGxvc3Nlcywgd2hpY2ggY2FuIHJlc2V0IDEgeWVhciBydWxlIChpbiBjYXNlIGlmIHRoZXJlIGlzIG5vIHByb2ZpdCBhZnRlciBsb3NzKVxuICAgKi9cbiAgaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2FsZS5ncm9zc0NhcGl0YWxHYWluID4gMCAmJiB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUsICd5ZWFycycpID4gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDR1QgaXMgbm90IGFwcGxpY2FibGUgZm9yIHByb3BlcnRpZXMgYWNxdWlyZWQgYmVmb3JlIDIwLjA5LjE5ODUgKHRheCBkaWRuJ3QgZXhpc3QgYmVmb3JlIHRoaXMgZGF0ZSkuXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDY0NDExMDQ2Ni9UYXgrUmV0dXJuK015VGF4Ky0rT25saW5lK0Zvcm0gKFwiQ2FwaXRhbCBnYWlucyBvciBsb3NzZXNcIiBzZWN0aW9uKVxuICAgKi9cbiAgaXNDR1RBcHBsaWNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyYWN0RGF0ZSA+PSBQcm9wZXJ0eS5wcmVDR1RBc3NldERhdGU7XG4gIH1cblxuICAvKipcbiAgICogb3duZXJzaGlwIGR1cmF0aW9uIGZyb20gcHVyY2hhc2UgdGlsbCBzYWxlXG4gICAqL1xuICBnZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUsIHVuaXRPZlRpbWU6IHVuaXRPZlRpbWUuRGlmZiA9ICdkYXlzJyk6IG51bWJlciB7XG4gICAgcmV0dXJuIG1vbWVudChzYWxlLmRhdGUpLmRpZmYobW9tZW50KHRoaXMuY29udHJhY3REYXRlKSwgdW5pdE9mVGltZSk7XG4gIH1cblxuICAvKipcbiAgICogVGF4IFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0IC0gRGVwcmVjaWF0aW9uXG4gICAqIFdoZXJlIChJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QpIGlzIGNhc2ggcG9zaXRpb24uXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3NDE1OTI4L0Rhc2hib2FyZCtQcm9wZXJ0eVxuICAgKi9cbiAgZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZ3Jvc3NDbGFpbUFtb3VudCAtIE1hdGguYWJzKGRlcHJlY2lhdGlvbnMuY2xhaW1BbW91bnQpO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlJbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0LmluY29tZSAvIDEyO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlFeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdC5leHBlbnNlIC8gMTI7XG4gIH1cbn1cbiJdfQ==
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMvRixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUNtQiwyQ0FBMkMsRUFDcEUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssTUFBTSxjQUFjLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7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QUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzsrQ0FDSztBQUd0QztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7c0NBQ047QUFHZDtJQURDLE9BQU8sRUFBRTs4Q0FDUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3BlcnR5IGFzIFByb3BlcnR5QmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNoYXJlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzJztcbmltcG9ydCB7IFByb3BlcnR5U3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9wcm9wZXJ0eS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgRXhjbHVkZSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEFkZHJlc3MgfSBmcm9tICcuLi9hZGRyZXNzJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnkgfSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5JztcbmltcG9ydCB7IFByb3BlcnR5VmFsdWF0aW9uIH0gZnJvbSAnLi9wcm9wZXJ0eS12YWx1YXRpb24nO1xuaW1wb3J0IHsgUHJvcGVydHlGb3JlY2FzdCB9IGZyb20gJy4vcHJvcGVydHktZm9yZWNhc3QnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL3VzZXInO1xuaW1wb3J0IHsgVGF4RXhlbXB0aW9uRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi5lbnVtJztcbmltcG9ydCB7IFByb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LWNhdGVnb3J5LWxpc3QuZW51bSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNhbGUgfSBmcm9tICcuL3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHsgdW5pdE9mVGltZSB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1xuICBEZXByZWNpYXRpb25Db2xsZWN0aW9uLCBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uLCBUcmFuc2FjdGlvbkNvbGxlY3Rpb25cbn0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMnO1xuaW1wb3J0IHJvdW5kIGZyb20gJ2xvZGFzaC9yb3VuZCc7XG5pbXBvcnQgeyBBcHBGaWxlIH0gZnJvbSAnLi4vZmlsZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnQgfSBmcm9tICcuL3Byb3BlcnR5LWNhdGVnb3J5LW1vdmVtZW50JztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5cbi8qKlxuICogcHJvcGVydHlTYWxlIGRvY3MgLSBodHRwczovL3RheHRhbmsuYXRsYXNzaWFuLm5ldC93aWtpL3NwYWNlcy9UQVhUQU5LL3BhZ2VzLzQyMDk1MDgzNTMvUHJvcGVydHkrU29sZCtidXR0b25cbiAqL1xuZXhwb3J0IGNsYXNzIFByb3BlcnR5IGV4dGVuZHMgUHJvcGVydHlCYXNlIHtcbiAgLyoqXG4gICAqIFByb3BlcnR5IGFjcXVpcmVkIGJlZm9yZSAyMCBTZXB0ZW1iZXIgMTk4NSB3aWxsIGdlbmVyYWxseSBiZSB0cmVhdGVkIGFzIHByZS1DYXBpdGFsIEdhaW5zIFRheCAoQ0dUKSBhc3NldHMuXG4gICAqIEFueSBhc3NldHMgYWNxdWlyZWQgYmVmb3JlIHRoaXMgZGF5IGFyZSBDR1QgZXhlbXB0IChiZWNhdXNlIHRoZSB0YXggZGlkbid0IGV4aXN0IGJlZm9yZSB0aGlzIGRhdGUpLlxuICAgKi9cbiAgc3RhdGljIHByZUNHVEFzc2V0RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDE5ODUsIDksIDIwKTtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIHB1cmNoYXNlUHJpY2U6IG51bWJlcjtcblxuICBAVHlwZSgoKSA9PiBOdW1iZXIpXG4gIGdyb3d0aFBlcmNlbnQ6IG51bWJlclxuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIGNvbnRyYWN0RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBzZXR0bGVtZW50RGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBBZGRyZXNzKVxuICBhZGRyZXNzOiBBZGRyZXNzO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Q2F0ZWdvcnkpXG4gIGNhdGVnb3J5OiBQcm9wZXJ0eUNhdGVnb3J5O1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudClcbiAgY2F0ZWdvcnlNb3ZlbWVudHM6IFByb3BlcnR5Q2F0ZWdvcnlNb3ZlbWVudFtdO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgc3RhbXBEdXR5PzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgbGVnYWxGZWVzPzogbnVtYmVyO1xuXG4gIEBUeXBlKCgpID0+IE51bWJlcilcbiAgb3RoZXJDYXBpdGFsQ29zdHM/OiBudW1iZXI7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlGb3JlY2FzdClcbiAgZm9yZWNhc3RzOiBQcm9wZXJ0eUZvcmVjYXN0W107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlTaGFyZSlcbiAgc2hhcmVzOiBQcm9wZXJ0eVNoYXJlW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlWYWx1YXRpb24pXG4gIHZhbHVhdGlvbnM6IFByb3BlcnR5VmFsdWF0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlWYWx1YXRpb24pXG4gIHZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb247XG5cbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcjogVXNlcjtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVN1YnNjcmlwdGlvbilcbiAgc3Vic2NyaXB0aW9uczogUHJvcGVydHlTdWJzY3JpcHRpb25bXTtcblxuICBAVHlwZSgoKSA9PiBBcHBGaWxlKVxuICBmaWxlOiBBcHBGaWxlO1xuXG4gIEBFeGNsdWRlKClcbiAgZG9jdW1lbnRGaWxlOiBGaWxlO1xuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzcy5uYW1lO1xuICB9XG5cbiAgZ2V0IGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3Vic2NyaXB0aW9ucz8ubGVuZ3RoO1xuICB9XG5cbiAgaXNPd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudXNlci5pZCA9PT0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySWQnKTtcbiAgfVxuXG4gIGlzU29sZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm15U2hhcmU/LnNhbGU7XG4gIH1cblxuICBnZXQgY2FwaXRhbENvc3RzVG90YWxBbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdGFtcER1dHkgKyB0aGlzLmxlZ2FsRmVlcyArIHRoaXMub3RoZXJDYXBpdGFsQ29zdHM7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5pc1NvbGQoKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmFsdWF0aW9uPy5tYXJrZXRWYWx1ZSB8fCAwO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRZZWFyRm9yZWNhc3QoKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgY29uc3QgeWVhciA9IG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcjtcblxuICAgIHJldHVybiB0aGlzLmZvcmVjYXN0cy5maW5kKChmb3JlY2FzdDogUHJvcGVydHlGb3JlY2FzdCk6IGJvb2xlYW4gPT4gZm9yZWNhc3QuZmluYW5jaWFsWWVhciA9PT0geWVhcilcbiAgICAgID8/IHBsYWluVG9DbGFzcyhQcm9wZXJ0eUZvcmVjYXN0LCB7fSk7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFJlbnRhbFJldHVybigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnJlbnRhbFJldHVybiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRUYXhQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnRheFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZENhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LmNhc2hQb3NpdGlvbiB8fCAwO1xuICB9XG5cbiAgZ2V0IG1hcmtldFZhbHVlR3Jvd3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLm1hcmtldFZhbHVlIC0gdGhpcy5wdXJjaGFzZVByaWNlKSAvIHRoaXMubWFya2V0VmFsdWU7XG4gIH1cblxuICBnZXQgbXlTaGFyZSgpOiBQcm9wZXJ0eVNoYXJlIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMuZmluZCgoc2hhcmU6IFByb3BlcnR5U2hhcmUpOiBib29sZWFuID0+IHNoYXJlLnVzZXIuaWQgPT09ICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlcklkJykpO1xuICB9XG5cbiAgZ2V0IGNsYWltUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3QuY2xhaW1QZXJjZW50O1xuICB9XG5cbiAgZ2V0IGNsYWltQ29lZmZpY2llbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jbGFpbVBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgc2hhcmVQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5wZXJjZW50O1xuICB9XG5cbiAgZ2V0IHNoYXJlUmF0aW8oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5teVNoYXJlLnBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXRDdXJyZW50U3Vic2NyaXB0aW9uKCk6IFByb3BlcnR5U3Vic2NyaXB0aW9uIHtcbiAgICAvLyBhbHdheXMgcmV0dXJuIGZpcnN0IGVsZW1lbnQgYmVjYXVzZSBzdWJzY3JpcHRpb25zIGFycmF5IGNvbnRhaW5zIG9ubHkgb25lIGVsZW1lbnRcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zWzBdO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcbiAgfVxuXG4gIGdldCBpc1NoYXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMubGVuZ3RoID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBjb25zaWRlciB0byBtb3ZlIG1ldGhvZHMgcmVsYXRlZCB3aXRoIHByb3BlcnR5U2FsZSB0byBzZXBhcmF0ZWQgY2xhc3MsIHNpbmNlIHVzZWQganVzdCBpbiBvbmUgbW9kdWxlIHlldFxuICAgKiBwdXJjaGFzZSBjb3N0cyAtIGNsYWltZWQgY29zdHMsIGV4Y2VwdCBgcHByIHRvIGludmVzdG1lbnRgIGV4ZW1wdGlvbixcbiAgICogaW4gdGhhdCBjYXNlIGl0J3MgZXF1YWwgdG8gbWFya2V0IHZhbHVlLCB3aGVuIHByb3BlcnR5IGJlY2FtZSBhbiBpbnZlc3RtZW50IHByb3BlcnR5XG4gICAqL1xuICBjYWxjdWxhdGVDb3N0QmFzZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hcmtldFZhbHVlOiBudW1iZXIgPSBuZXcgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YUZpZWxkQ29sbGVjdGlvbihzYWxlLnRheEV4ZW1wdGlvbk1ldGFGaWVsZHMpLmdldE1hcmtldFZhbHVlKCk7XG4gICAgaWYgKG1hcmtldFZhbHVlKSB7XG4gICAgICByZXR1cm4gbWFya2V0VmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHVyY2hhc2VQcmljZSArIHRoaXMuY2FwaXRhbENvc3RzVG90YWxBbW91bnQgKyBzYWxlLmhvbGRpbmdDb3N0cyArIHNhbGUuc3RydWN0dXJhbEltcHJvdmVtZW50c1dEViAtIHNhbGUuYnVpbGRpbmdBdENvc3RDbGFpbWVkO1xuICB9XG5cbiAgY2FsY3VsYXRlR3Jvc3NDYXBpdGFsR2FpbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIHJldHVybiByb3VuZCgoc2FsZS5uZXRQcmljZSAtIHRoaXMuY2FsY3VsYXRlQ29zdEJhc2Uoc2FsZSkpICogdGhpcy5nZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZSkgKiB0aGlzLnNoYXJlUmF0aW8sIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIG5ldCBjYXBpdGFsIGdhaW4gaW5jbHVkZXMgdGF4IGV4ZW1wdGlvblxuICAgKi9cbiAgY2FsY3VsYXRlTmV0Q2FwaXRhbEdhaW4oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDR1RFeGVtcHRpb25SYXRpbyhzYWxlKSAqIHNhbGUuZ3Jvc3NDYXBpdGFsR2FpbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBndWVzcyB0YXggZXhlbXB0aW9uIGJhc2VkIG9uIHByb3BlcnR5IGRldGFpbHNcbiAgICovXG4gIGdldENHVEV4ZW1wdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUpOiBUYXhFeGVtcHRpb25FbnVtIHtcbiAgICBpZiAoc2FsZS50YXhFeGVtcHRpb24pIHtcbiAgICAgIHJldHVybiBzYWxlLnRheEV4ZW1wdGlvbi5pZDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgbWFpbiByZXNpZGVuY2UgcHJvcGVydGllc1xuICAgICAgY2FzZSB0aGlzLmNhdGVnb3J5LmlkID09PSBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0uT1dORVJfT0NDVVBJRUQ6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLlBQUjtcbiAgICAgIC8vIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudCBwcm9wZXJ0aWVzIG93bmVkIGZvciBhdCBsZWFzdCBvbmUgeWVhclxuICAgICAgY2FzZSB0aGlzLmlzT25lWWVhckV4ZW1wdGlvbkFwcGxpY2FibGUoc2FsZSk6XG4gICAgICAgIHJldHVybiBUYXhFeGVtcHRpb25FbnVtLk9ORV9ZRUFSX1JVTEU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBnZXRQYXJ0aWFsQ0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtZXRhRmllbGRzOiBQcm9wZXJ0eVNhbGVUYXhFeGVtcHRpb25NZXRhRmllbGRDb2xsZWN0aW9uID0gbmV3IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFGaWVsZENvbGxlY3Rpb24oc2FsZS50YXhFeGVtcHRpb25NZXRhRmllbGRzKTtcblxuICAgIHN3aXRjaCAoc2FsZS50YXhFeGVtcHRpb24/LmlkKSB7XG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uSU5WRVNUTUVOVF9UT19QUFI6XG4gICAgICAgIGNvbnN0IG93bmVyc2hpcERheXMgPSB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUpO1xuICAgICAgICByZXR1cm4gKG93bmVyc2hpcERheXMgLSBtZXRhRmllbGRzLmdldFBQUkRheXMoKSkgLyBvd25lcnNoaXBEYXlzO1xuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUl9UT19JTlZFU1RNRU5UOlxuICAgICAgICByZXR1cm4gbWV0YUZpZWxkcy5nZXRDbGFpbVBlcmNlbnQoKSAvIDEwMDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB0YXggZXhlbXB0aW9uIGNhbiByZWR1Y2UgY2d0IGZyb20gMTAwJSB0byBsZXNzICh1cCB0byB6ZXJvKVxuICAgKi9cbiAgZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBzd2l0Y2ggKHNhbGUudGF4RXhlbXB0aW9uPy5pZCkge1xuICAgICAgLy8gNTAlIGV4ZW1wdGlvbiBmb3IgaW52ZXN0bWVudHMgb3duZWQgZm9yIGF0IGxlYXN0IG9uZSB5ZWFyXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uT05FX1lFQVJfUlVMRTpcbiAgICAgICAgcmV0dXJuIDAuNTtcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5JTlZFU1RNRU5UX1RPX1BQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5QUFJfVE9fSU5WRVNUTUVOVDpcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlKSA/IDAuNSA6IDE7XG4gICAgICAvLyBmdWxsIGV4ZW1wdGlvblxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5TSVhfWUVBUlNfUlVMRTpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5UUkFOU0ZFUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5PVEhFUjpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICAvLyBubyBleGVtcHRpb25cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBpbiBjZ3QgcmVwb3J0IHdlIGFwcGx5IGxvc3Nlcywgd2hpY2ggY2FuIHJlc2V0IDEgeWVhciBydWxlIChpbiBjYXNlIGlmIHRoZXJlIGlzIG5vIHByb2ZpdCBhZnRlciBsb3NzKVxuICAgKi9cbiAgaXNPbmVZZWFyRXhlbXB0aW9uQXBwbGljYWJsZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2FsZS5ncm9zc0NhcGl0YWxHYWluID4gMCAmJiB0aGlzLmdldE93bmVyc2hpcER1cmF0aW9uKHNhbGUsICd5ZWFycycpID4gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDR1QgaXMgbm90IGFwcGxpY2FibGUgZm9yIHByb3BlcnRpZXMgYWNxdWlyZWQgYmVmb3JlIDIwLjA5LjE5ODUgKHRheCBkaWRuJ3QgZXhpc3QgYmVmb3JlIHRoaXMgZGF0ZSkuXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvNDY0NDExMDQ2Ni9UYXgrUmV0dXJuK015VGF4Ky0rT25saW5lK0Zvcm0gKFwiQ2FwaXRhbCBnYWlucyBvciBsb3NzZXNcIiBzZWN0aW9uKVxuICAgKi9cbiAgaXNDR1RBcHBsaWNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyYWN0RGF0ZSA+PSBQcm9wZXJ0eS5wcmVDR1RBc3NldERhdGU7XG4gIH1cblxuICAvKipcbiAgICogb3duZXJzaGlwIGR1cmF0aW9uIGZyb20gcHVyY2hhc2UgdGlsbCBzYWxlXG4gICAqL1xuICBnZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlOiBQcm9wZXJ0eVNhbGUsIHVuaXRPZlRpbWU6IHVuaXRPZlRpbWUuRGlmZiA9ICdkYXlzJyk6IG51bWJlciB7XG4gICAgcmV0dXJuIG1vbWVudChzYWxlLmRhdGUpLmRpZmYobW9tZW50KHRoaXMuY29udHJhY3REYXRlKSwgdW5pdE9mVGltZSk7XG4gIH1cblxuICAvKipcbiAgICogVGF4IFBvc2l0aW9uID0gSW5jb21lIC0gRXhwZW5zZSAtIEludGVyZXN0IC0gRGVwcmVjaWF0aW9uXG4gICAqIFdoZXJlIChJbmNvbWUgLSBFeHBlbnNlIC0gSW50ZXJlc3QpIGlzIGNhc2ggcG9zaXRpb24uXG4gICAqIGh0dHBzOi8vdGF4dGFuay5hdGxhc3NpYW4ubmV0L3dpa2kvc3BhY2VzL1RBWFRBTksvcGFnZXMvMjE3NDE1OTI4L0Rhc2hib2FyZCtQcm9wZXJ0eVxuICAgKi9cbiAgZ2V0VGF4UG9zaXRpb24odHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24sIGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZ3Jvc3NDbGFpbUFtb3VudCAtIE1hdGguYWJzKGRlcHJlY2lhdGlvbnMuY2xhaW1BbW91bnQpO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlJbmNvbWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50WWVhckZvcmVjYXN0LmluY29tZSAvIDEyO1xuICB9XG5cbiAgZ2V0IG1vbnRobHlFeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFllYXJGb3JlY2FzdC5leHBlbnNlIC8gMTI7XG4gIH1cbn1cbiJdfQ==