taxtank-core 0.12.3 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/bundles/taxtank-core.umd.js +2528 -2274
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/account-setup-item.collection.js +3 -2
  4. package/esm2015/lib/collections/collection.js +44 -28
  5. package/esm2015/lib/collections/income-source.collection.js +1 -8
  6. package/esm2015/lib/collections/report/property/property-report-item-depreciation.collection.js +2 -2
  7. package/esm2015/lib/collections/report/property/property-report-item-transaction.collection.js +2 -2
  8. package/esm2015/lib/collections/report/vehicle-expense/vehicle-expense.collection.js +20 -0
  9. package/esm2015/lib/collections/subscription/service-subscription.collection.js +17 -0
  10. package/esm2015/lib/db/Enums/subscription/service-payment-status.enum.js +6 -0
  11. package/esm2015/lib/db/Enums/subscription/service-price-list.enum.js +5 -0
  12. package/esm2015/lib/db/Enums/{service-price-recurring-interval.enum.js → subscription/service-price-recurring-interval.enum.js} +1 -1
  13. package/esm2015/lib/db/Enums/subscription/service-price-type.enum.js +6 -0
  14. package/esm2015/lib/db/Enums/subscription/service-product-id.enum.js +10 -0
  15. package/esm2015/lib/db/Enums/subscription/service-product-status.enum.js +6 -0
  16. package/esm2015/lib/db/Enums/{service-subscription-status.enum.js → subscription/service-subscription-status.enum.js} +1 -1
  17. package/esm2015/lib/db/Enums/user-roles.enum.js +2 -1
  18. package/esm2015/lib/db/Models/abstract-model.js +7 -0
  19. package/esm2015/lib/db/Models/address.js +3 -2
  20. package/esm2015/lib/db/Models/bank/bank-account-balance.js +4 -0
  21. package/esm2015/lib/db/Models/bank/bank-account-property.js +4 -0
  22. package/esm2015/lib/db/Models/bank/bank-account.js +4 -0
  23. package/esm2015/lib/db/Models/bank/bank-connection.js +4 -0
  24. package/esm2015/lib/db/Models/bank/bank-transaction-import.js +4 -0
  25. package/esm2015/lib/db/Models/bank/bank-transaction.js +4 -0
  26. package/esm2015/lib/db/Models/bank/bank.js +4 -0
  27. package/esm2015/lib/db/Models/bank/basiq-job.js +4 -0
  28. package/esm2015/lib/db/Models/bank/financial-data-system.js +4 -0
  29. package/esm2015/lib/db/Models/chart-accounts/chart-accounts-depreciation.js +4 -0
  30. package/esm2015/lib/db/Models/chart-accounts/chart-accounts-heading.js +4 -0
  31. package/esm2015/lib/db/Models/chart-accounts/chart-accounts-metadata.js +4 -0
  32. package/esm2015/lib/db/Models/chart-accounts/chart-accounts-value.js +4 -0
  33. package/esm2015/lib/db/Models/chart-accounts/chart-accounts.js +4 -0
  34. package/esm2015/lib/db/Models/country.js +3 -2
  35. package/esm2015/lib/db/Models/depreciation/depreciation-capital-project.js +4 -0
  36. package/esm2015/lib/db/Models/depreciation/depreciation-forecast.js +4 -0
  37. package/esm2015/lib/db/Models/depreciation/depreciation-receipt.js +4 -0
  38. package/esm2015/lib/db/Models/depreciation/depreciation.js +4 -0
  39. package/esm2015/lib/db/Models/document/document-folder.js +4 -0
  40. package/esm2015/lib/db/Models/document/document.js +4 -0
  41. package/esm2015/lib/db/Models/document/property-document.js +10 -0
  42. package/esm2015/lib/db/Models/firm/accountant/tax-review.js +4 -0
  43. package/esm2015/lib/db/Models/firm/accountant/ticket.js +4 -0
  44. package/esm2015/lib/db/Models/firm/chat.js +4 -0
  45. package/esm2015/lib/db/Models/firm/client-invite.js +4 -0
  46. package/esm2015/lib/db/Models/firm/client-movement.js +4 -0
  47. package/esm2015/lib/db/Models/firm/employee-invite.js +4 -0
  48. package/esm2015/lib/db/Models/firm/firm.js +4 -0
  49. package/esm2015/lib/db/Models/firm/message-document.js +4 -0
  50. package/esm2015/lib/db/Models/firm/message.js +4 -0
  51. package/esm2015/lib/db/Models/incomeSource/income-source-forecast.js +4 -0
  52. package/esm2015/lib/db/Models/incomeSource/income-source-type.js +4 -0
  53. package/esm2015/lib/db/Models/incomeSource/income-source.js +4 -0
  54. package/esm2015/lib/db/Models/incomeSource/salary-forecast.js +4 -0
  55. package/esm2015/lib/db/Models/loan/borrowing-expense-loan.js +4 -0
  56. package/esm2015/lib/db/Models/loan/borrowing-expense.js +4 -0
  57. package/esm2015/lib/db/Models/loan/loan-payout.js +4 -0
  58. package/esm2015/lib/db/Models/loan/loan.js +4 -0
  59. package/esm2015/lib/db/Models/phone.js +3 -2
  60. package/esm2015/lib/db/Models/property/property-category-movement.js +3 -2
  61. package/esm2015/lib/db/Models/property/property-category.js +3 -2
  62. package/esm2015/lib/db/Models/property/property-forecast.js +3 -2
  63. package/esm2015/lib/db/Models/property/property-sale/property-sale-tax-exemption-metadata.js +3 -2
  64. package/esm2015/lib/db/Models/property/property-sale/property-sale.js +3 -2
  65. package/esm2015/lib/db/Models/property/property-sale/tax-exemption-metadata.js +3 -2
  66. package/esm2015/lib/db/Models/property/property-sale/tax-exemption.js +3 -2
  67. package/esm2015/lib/db/Models/property/property-share.js +3 -2
  68. package/esm2015/lib/db/Models/property/property-subscription.js +3 -2
  69. package/esm2015/lib/db/Models/property/property-valuation.js +3 -2
  70. package/esm2015/lib/db/Models/property/property.js +3 -2
  71. package/esm2015/lib/db/Models/service-notification.js +3 -2
  72. package/esm2015/lib/db/Models/sole/sole-forecast.js +4 -0
  73. package/esm2015/lib/db/Models/subscription/service-payment.js +4 -0
  74. package/esm2015/lib/db/Models/subscription/service-price.js +4 -0
  75. package/esm2015/lib/db/Models/subscription/service-product.js +4 -0
  76. package/esm2015/lib/db/Models/subscription/service-subscription-item.js +4 -0
  77. package/esm2015/lib/db/Models/subscription/service-subscription.js +4 -0
  78. package/esm2015/lib/db/Models/tax-return/tax-return-category.js +4 -0
  79. package/esm2015/lib/db/Models/tax-return/tax-return-item.js +4 -0
  80. package/esm2015/lib/db/Models/tax-return/tax-return.js +4 -0
  81. package/esm2015/lib/db/Models/transaction/transaction-allocation.js +4 -0
  82. package/esm2015/lib/db/Models/transaction/transaction-base.js +26 -0
  83. package/esm2015/lib/db/Models/transaction/transaction-metadata.js +4 -0
  84. package/esm2015/lib/db/Models/transaction/transaction-receipt.js +4 -0
  85. package/esm2015/lib/db/Models/transaction/transaction.js +4 -0
  86. package/esm2015/lib/db/Models/user/client-details.js +4 -0
  87. package/esm2015/lib/db/Models/user/client-income-types.js +4 -0
  88. package/esm2015/lib/db/Models/user/employee-details.js +4 -0
  89. package/esm2015/lib/db/Models/user/occupation.js +4 -0
  90. package/esm2015/lib/db/Models/user/registration-invite.js +4 -0
  91. package/esm2015/lib/db/Models/user/user-event-setting.js +4 -0
  92. package/esm2015/lib/db/Models/user/user-event-type-category.js +4 -0
  93. package/esm2015/lib/db/Models/user/user-event-type.js +4 -0
  94. package/esm2015/lib/db/Models/user/user-event.js +4 -0
  95. package/esm2015/lib/db/Models/user/user.js +4 -0
  96. package/esm2015/lib/db/Models/vehicle/vehicle-claim.js +4 -0
  97. package/esm2015/lib/db/Models/vehicle/vehicle-logbook.js +4 -0
  98. package/esm2015/lib/db/Models/vehicle/vehicle.js +4 -0
  99. package/esm2015/lib/interfaces/document.interface.js +1 -1
  100. package/esm2015/lib/models/account-setup/account-setup-item.js +4 -1
  101. package/esm2015/lib/models/account-setup/account-setup-items.const.js +9 -5
  102. package/esm2015/lib/models/bank/bank-account-property.js +2 -2
  103. package/esm2015/lib/models/bank/bank-account.js +3 -3
  104. package/esm2015/lib/models/bank/bank-connection.js +2 -2
  105. package/esm2015/lib/models/bank/bank-transaction.js +2 -2
  106. package/esm2015/lib/models/bank/bank.js +2 -2
  107. package/esm2015/lib/models/bank/basiq-job.js +2 -2
  108. package/esm2015/lib/models/borrowing-expense/borrowing-expense-loan.js +2 -2
  109. package/esm2015/lib/models/borrowing-expense/borrowing-expense.js +2 -2
  110. package/esm2015/lib/models/chart-accounts/chart-accounts-depreciation.js +2 -2
  111. package/esm2015/lib/models/chart-accounts/chart-accounts-heading.js +2 -2
  112. package/esm2015/lib/models/chart-accounts/chart-accounts-metadata.js +2 -2
  113. package/esm2015/lib/models/chart-accounts/chart-accounts-value.js +2 -2
  114. package/esm2015/lib/models/chart-accounts/chart-accounts.js +2 -2
  115. package/esm2015/lib/models/chat/chat.js +2 -2
  116. package/esm2015/lib/models/chat/message-document.js +2 -2
  117. package/esm2015/lib/models/chat/message.js +2 -2
  118. package/esm2015/lib/models/client/client-details.js +2 -2
  119. package/esm2015/lib/models/client/client-income-types.js +2 -2
  120. package/esm2015/lib/models/client/client-invite.js +2 -2
  121. package/esm2015/lib/models/client/client-movement.js +2 -2
  122. package/esm2015/lib/models/depreciation/depreciation-capital-project.js +2 -2
  123. package/esm2015/lib/models/depreciation/depreciation-forecast.js +2 -2
  124. package/esm2015/lib/models/depreciation/depreciation-receipt.js +2 -2
  125. package/esm2015/lib/models/depreciation/depreciation.js +2 -2
  126. package/esm2015/lib/models/document/document-folder.js +2 -2
  127. package/esm2015/lib/models/document/document.js +2 -2
  128. package/esm2015/lib/models/employee/employee-details.js +2 -2
  129. package/esm2015/lib/models/employee/employee-invite.js +2 -2
  130. package/esm2015/lib/models/firm/firm.js +2 -2
  131. package/esm2015/lib/models/income-source/income-source-forecast.js +2 -2
  132. package/esm2015/lib/models/income-source/income-source-type.js +2 -2
  133. package/esm2015/lib/models/income-source/income-source.js +2 -2
  134. package/esm2015/lib/models/income-source/salary-forecast.js +2 -2
  135. package/esm2015/lib/models/income-source/sole-forecast.js +2 -2
  136. package/esm2015/lib/models/loan/loan-payout.js +2 -2
  137. package/esm2015/lib/models/loan/loan.js +2 -2
  138. package/esm2015/lib/models/logbook/vehicle-claim.js +2 -2
  139. package/esm2015/lib/models/logbook/vehicle-logbook.js +2 -2
  140. package/esm2015/lib/models/logbook/vehicle.js +2 -2
  141. package/esm2015/lib/models/property/property-document.js +2 -2
  142. package/esm2015/lib/models/property/property.js +1 -1
  143. package/esm2015/lib/models/registration-invite/registration-invite.js +2 -2
  144. package/esm2015/lib/models/report/vehicle-expense/vehicle-expense.js +14 -0
  145. package/esm2015/lib/models/service-subscription/service-payment.js +2 -2
  146. package/esm2015/lib/models/service-subscription/service-price.js +2 -2
  147. package/esm2015/lib/models/service-subscription/service-product.js +14 -6
  148. package/esm2015/lib/models/service-subscription/service-subscription-item.js +12 -3
  149. package/esm2015/lib/models/service-subscription/service-subscription.js +29 -12
  150. package/esm2015/lib/models/tax-review/tax-review.js +2 -2
  151. package/esm2015/lib/models/tax-summary/report-item.js +1 -1
  152. package/esm2015/lib/models/transaction/transaction-allocation.js +2 -2
  153. package/esm2015/lib/models/transaction/transaction-metadata.js +2 -2
  154. package/esm2015/lib/models/transaction/transaction-receipt.js +2 -2
  155. package/esm2015/lib/models/transaction/transaction.js +2 -2
  156. package/esm2015/lib/models/user/occupation.js +2 -2
  157. package/esm2015/lib/models/user/user-roles.const.js +2 -1
  158. package/esm2015/lib/models/user/user.js +2 -2
  159. package/esm2015/lib/models/user-event/user-event-setting.js +2 -2
  160. package/esm2015/lib/models/user-event/user-event-type-category.js +2 -2
  161. package/esm2015/lib/models/user-event/user-event-type.js +2 -2
  162. package/esm2015/lib/services/account-setup/account-setup.service.js +32 -5
  163. package/esm2015/lib/services/http/bank/bank-account/bank-account.service.js +1 -1
  164. package/esm2015/lib/services/http/bank/bank-connection/bank-connection.service.js +1 -1
  165. package/esm2015/lib/services/http/bank/bank-transaction/bank-transaction.service.js +1 -1
  166. package/esm2015/lib/services/http/bank/bank.service.js +1 -1
  167. package/esm2015/lib/services/http/bank/basiq/basiq.service.js +1 -1
  168. package/esm2015/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.js +1 -1
  169. package/esm2015/lib/services/http/chart-accounts/chart-accounts.service.js +1 -1
  170. package/esm2015/lib/services/http/chat/chat.service.js +1 -1
  171. package/esm2015/lib/services/http/chat/message/message.service.js +1 -1
  172. package/esm2015/lib/services/http/chat/message-document/message-document.service.js +1 -1
  173. package/esm2015/lib/services/http/depreciation/depreciation-capital-project/depreciation-capital-project.service.js +1 -1
  174. package/esm2015/lib/services/http/depreciation/depreciation.service.js +1 -1
  175. package/esm2015/lib/services/http/document/document-folder/document-folder.service.js +1 -1
  176. package/esm2015/lib/services/http/firm/client-income/client-income-types.service.js +1 -1
  177. package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +1 -1
  178. package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +1 -1
  179. package/esm2015/lib/services/http/firm/employee/employee.service.js +1 -1
  180. package/esm2015/lib/services/http/firm/employee-invite/employee-invite.service.js +1 -1
  181. package/esm2015/lib/services/http/firm/firm.service.js +1 -1
  182. package/esm2015/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.js +1 -1
  183. package/esm2015/lib/services/http/income-source/income-source.service.js +1 -1
  184. package/esm2015/lib/services/http/income-source/salary-forecast/salary-forecast.service.js +1 -1
  185. package/esm2015/lib/services/http/income-source/sole-forecast/sole-forecast.service.js +1 -1
  186. package/esm2015/lib/services/http/loan/loan.service.js +1 -1
  187. package/esm2015/lib/services/http/property/property-document/property-document.service.js +1 -1
  188. package/esm2015/lib/services/http/rest/rest.service.js +2 -2
  189. package/esm2015/lib/services/http/subscription/service-price.service.js +24 -0
  190. package/esm2015/lib/services/http/subscription/subscription.service.js +5 -48
  191. package/esm2015/lib/services/http/tax-review/tax-review-history/tax-review-history.service.js +1 -1
  192. package/esm2015/lib/services/http/tax-review/tax-review.service.js +1 -1
  193. package/esm2015/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.js +1 -1
  194. package/esm2015/lib/services/http/transaction/transaction.service.js +1 -1
  195. package/esm2015/lib/services/http/user/user-event-setting/user-event-setting.service.js +1 -1
  196. package/esm2015/lib/services/http/user/user-event-type/user-event-type.service.js +1 -1
  197. package/esm2015/lib/services/http/user/user.service.js +1 -1
  198. package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +1 -1
  199. package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +1 -1
  200. package/esm2015/lib/services/http/vehicle/vehicle.service.js +1 -1
  201. package/esm2015/public-api.js +11 -8
  202. package/fesm2015/taxtank-core.js +1286 -1178
  203. package/fesm2015/taxtank-core.js.map +1 -1
  204. package/lib/collections/collection.d.ts +14 -11
  205. package/lib/collections/income-source.collection.d.ts +0 -5
  206. package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts +9 -0
  207. package/lib/collections/{service-subscription.collection.d.ts → subscription/service-subscription.collection.d.ts} +2 -2
  208. package/lib/db/Enums/{service-payment-status.enum.d.ts → subscription/service-payment-status.enum.d.ts} +0 -0
  209. package/lib/db/Enums/subscription/service-price-list.enum.d.ts +3 -0
  210. package/lib/db/Enums/{service-price-recurring-interval.enum.d.ts → subscription/service-price-recurring-interval.enum.d.ts} +0 -0
  211. package/lib/db/Enums/{service-price-type.enum.d.ts → subscription/service-price-type.enum.d.ts} +0 -0
  212. package/lib/db/Enums/subscription/service-product-id.enum.d.ts +8 -0
  213. package/lib/db/Enums/subscription/service-product-status.enum.d.ts +4 -0
  214. package/lib/db/Enums/{service-subscription-status.enum.d.ts → subscription/service-subscription-status.enum.d.ts} +0 -0
  215. package/lib/db/Enums/user-roles.enum.d.ts +1 -0
  216. package/lib/db/Models/abstract-model.d.ts +3 -0
  217. package/lib/db/Models/address.d.ts +2 -1
  218. package/lib/db/Models/{bank-account-balance.d.ts → bank/bank-account-balance.d.ts} +2 -1
  219. package/lib/db/Models/bank/bank-account-property.d.ts +9 -0
  220. package/lib/db/Models/{bank-account.d.ts → bank/bank-account.d.ts} +6 -5
  221. package/lib/db/Models/{bank-connection.d.ts → bank/bank-connection.d.ts} +4 -3
  222. package/lib/db/Models/{bank-transaction-import.d.ts → bank/bank-transaction-import.d.ts} +2 -1
  223. package/lib/db/Models/{bank-transaction.d.ts → bank/bank-transaction.d.ts} +4 -3
  224. package/lib/db/Models/{bank.d.ts → bank/bank.d.ts} +2 -1
  225. package/lib/db/Models/{basiq-job.d.ts → bank/basiq-job.d.ts} +2 -1
  226. package/lib/db/Models/{financial-data-system.d.ts → bank/financial-data-system.d.ts} +2 -1
  227. package/lib/db/Models/{chart-accounts-depreciation.d.ts → chart-accounts/chart-accounts-depreciation.d.ts} +2 -1
  228. package/lib/db/Models/{chart-accounts-heading.d.ts → chart-accounts/chart-accounts-heading.d.ts} +2 -1
  229. package/lib/db/Models/chart-accounts/chart-accounts-metadata.d.ts +12 -0
  230. package/lib/db/Models/{chart-accounts-value.d.ts → chart-accounts/chart-accounts-value.d.ts} +2 -1
  231. package/lib/db/Models/{chart-accounts.d.ts → chart-accounts/chart-accounts.d.ts} +5 -4
  232. package/lib/db/Models/country.d.ts +2 -1
  233. package/lib/db/Models/depreciation/depreciation-capital-project.d.ts +14 -0
  234. package/lib/db/Models/{depreciation-forecast.d.ts → depreciation/depreciation-forecast.d.ts} +3 -2
  235. package/lib/db/Models/{depreciation-receipt.d.ts → depreciation/depreciation-receipt.d.ts} +2 -1
  236. package/lib/db/Models/{depreciation.d.ts → depreciation/depreciation.d.ts} +9 -9
  237. package/lib/db/Models/{document-folder.d.ts → document/document-folder.d.ts} +3 -2
  238. package/lib/db/Models/{document.d.ts → document/document.d.ts} +2 -1
  239. package/lib/db/Models/document/property-document.d.ts +18 -0
  240. package/lib/db/Models/firm/accountant/tax-review.d.ts +14 -0
  241. package/lib/db/Models/firm/accountant/ticket.d.ts +20 -0
  242. package/lib/db/Models/{chat.d.ts → firm/chat.d.ts} +4 -3
  243. package/lib/db/Models/firm/client-invite.d.ts +17 -0
  244. package/lib/db/Models/firm/client-movement.d.ts +13 -0
  245. package/lib/db/Models/firm/employee-invite.d.ts +10 -0
  246. package/lib/db/Models/{firm.d.ts → firm/firm.d.ts} +7 -6
  247. package/lib/db/Models/{message-document.d.ts → firm/message-document.d.ts} +3 -2
  248. package/lib/db/Models/{message.d.ts → firm/message.d.ts} +4 -3
  249. package/lib/db/Models/{income-source-forecast.d.ts → incomeSource/income-source-forecast.d.ts} +2 -1
  250. package/lib/db/Models/{income-source-type.d.ts → incomeSource/income-source-type.d.ts} +3 -2
  251. package/lib/db/Models/{income-source.d.ts → incomeSource/income-source.d.ts} +5 -4
  252. package/lib/db/Models/{salary-forecast.d.ts → incomeSource/salary-forecast.d.ts} +3 -2
  253. package/lib/db/Models/{borrowing-expense-loan.d.ts → loan/borrowing-expense-loan.d.ts} +3 -2
  254. package/lib/db/Models/loan/borrowing-expense.d.ts +8 -0
  255. package/lib/db/Models/{loan-payout.d.ts → loan/loan-payout.d.ts} +3 -2
  256. package/lib/db/Models/{loan.d.ts → loan/loan.d.ts} +9 -8
  257. package/lib/db/Models/phone.d.ts +2 -1
  258. package/lib/db/Models/property/property-category-movement.d.ts +3 -2
  259. package/lib/db/Models/property/property-category.d.ts +3 -2
  260. package/lib/db/Models/property/property-forecast.d.ts +2 -1
  261. package/lib/db/Models/property/property-sale/property-sale-tax-exemption-metadata.d.ts +2 -1
  262. package/lib/db/Models/property/property-sale/property-sale.d.ts +2 -1
  263. package/lib/db/Models/property/property-sale/tax-exemption-metadata.d.ts +2 -1
  264. package/lib/db/Models/property/property-sale/tax-exemption.d.ts +2 -1
  265. package/lib/db/Models/property/property-share.d.ts +4 -3
  266. package/lib/db/Models/property/property-subscription.d.ts +3 -2
  267. package/lib/db/Models/property/property-valuation.d.ts +3 -2
  268. package/lib/db/Models/property/property.d.ts +6 -5
  269. package/lib/db/Models/service-notification.d.ts +4 -3
  270. package/lib/db/Models/sole/sole-forecast.d.ts +9 -0
  271. package/lib/db/Models/{service-payment.d.ts → subscription/service-payment.d.ts} +3 -2
  272. package/lib/db/Models/{service-price.d.ts → subscription/service-price.d.ts} +4 -3
  273. package/lib/db/Models/subscription/service-product.d.ts +19 -0
  274. package/lib/db/Models/{service-subscription-item.d.ts → subscription/service-subscription-item.d.ts} +2 -1
  275. package/lib/db/Models/{service-subscription.d.ts → subscription/service-subscription.d.ts} +4 -3
  276. package/lib/db/Models/{tax-return-category.d.ts → tax-return/tax-return-category.d.ts} +3 -2
  277. package/lib/db/Models/{tax-return-item.d.ts → tax-return/tax-return-item.d.ts} +2 -1
  278. package/lib/db/Models/{tax-return.d.ts → tax-return/tax-return.d.ts} +2 -1
  279. package/lib/db/Models/transaction/transaction-allocation.d.ts +9 -0
  280. package/lib/db/Models/{transaction-base.d.ts → transaction/transaction-base.d.ts} +4 -3
  281. package/lib/db/Models/{transaction-metadata.d.ts → transaction/transaction-metadata.d.ts} +3 -2
  282. package/lib/db/Models/{transaction-receipt.d.ts → transaction/transaction-receipt.d.ts} +2 -1
  283. package/lib/db/Models/{transaction.d.ts → transaction/transaction.d.ts} +9 -9
  284. package/lib/db/Models/{client-details.d.ts → user/client-details.d.ts} +7 -6
  285. package/lib/db/Models/{client-income-types.d.ts → user/client-income-types.d.ts} +2 -1
  286. package/lib/db/Models/user/employee-details.d.ts +8 -0
  287. package/lib/db/Models/user/occupation.d.ts +6 -0
  288. package/lib/db/Models/{registration-invite.d.ts → user/registration-invite.d.ts} +3 -2
  289. package/lib/db/Models/{user-event-setting.d.ts → user/user-event-setting.d.ts} +2 -1
  290. package/lib/db/Models/user/user-event-type-category.d.ts +5 -0
  291. package/lib/db/Models/{user-event-type.d.ts → user/user-event-type.d.ts} +3 -2
  292. package/lib/db/Models/{user-event.d.ts → user/user-event.d.ts} +3 -2
  293. package/lib/db/Models/{user.d.ts → user/user.d.ts} +14 -13
  294. package/lib/db/Models/vehicle/vehicle-claim.d.ts +14 -0
  295. package/lib/db/Models/{vehicle-logbook.d.ts → vehicle/vehicle-logbook.d.ts} +4 -3
  296. package/lib/db/Models/vehicle/vehicle.d.ts +11 -0
  297. package/lib/models/account-setup/account-setup-item.d.ts +1 -0
  298. package/lib/models/bank/bank-account-property.d.ts +1 -1
  299. package/lib/models/bank/bank-account.d.ts +2 -2
  300. package/lib/models/bank/bank-connection.d.ts +1 -1
  301. package/lib/models/bank/bank-transaction.d.ts +1 -1
  302. package/lib/models/bank/bank.d.ts +1 -1
  303. package/lib/models/bank/basiq-job.d.ts +1 -1
  304. package/lib/models/borrowing-expense/borrowing-expense-loan.d.ts +1 -1
  305. package/lib/models/borrowing-expense/borrowing-expense.d.ts +1 -1
  306. package/lib/models/chart-accounts/chart-accounts-depreciation.d.ts +1 -1
  307. package/lib/models/chart-accounts/chart-accounts-heading.d.ts +1 -1
  308. package/lib/models/chart-accounts/chart-accounts-metadata.d.ts +1 -1
  309. package/lib/models/chart-accounts/chart-accounts-value.d.ts +1 -1
  310. package/lib/models/chart-accounts/chart-accounts.d.ts +1 -1
  311. package/lib/models/chat/chat.d.ts +1 -1
  312. package/lib/models/chat/message-document.d.ts +1 -1
  313. package/lib/models/chat/message.d.ts +1 -1
  314. package/lib/models/client/client-details.d.ts +1 -1
  315. package/lib/models/client/client-income-types.d.ts +1 -1
  316. package/lib/models/client/client-invite.d.ts +1 -1
  317. package/lib/models/client/client-movement.d.ts +1 -1
  318. package/lib/models/depreciation/depreciation-capital-project.d.ts +1 -1
  319. package/lib/models/depreciation/depreciation-forecast.d.ts +1 -1
  320. package/lib/models/depreciation/depreciation-receipt.d.ts +1 -1
  321. package/lib/models/depreciation/depreciation.d.ts +3 -3
  322. package/lib/models/document/document-folder.d.ts +1 -1
  323. package/lib/models/document/document.d.ts +1 -1
  324. package/lib/models/employee/employee-details.d.ts +1 -1
  325. package/lib/models/employee/employee-invite.d.ts +1 -1
  326. package/lib/models/firm/firm.d.ts +1 -1
  327. package/lib/models/income-source/income-source-forecast.d.ts +1 -1
  328. package/lib/models/income-source/income-source-type.d.ts +1 -1
  329. package/lib/models/income-source/income-source.d.ts +1 -1
  330. package/lib/models/income-source/salary-forecast.d.ts +1 -1
  331. package/lib/models/income-source/sole-forecast.d.ts +1 -1
  332. package/lib/models/loan/loan-payout.d.ts +1 -1
  333. package/lib/models/loan/loan.d.ts +1 -1
  334. package/lib/models/logbook/vehicle-claim.d.ts +1 -1
  335. package/lib/models/logbook/vehicle-logbook.d.ts +1 -1
  336. package/lib/models/logbook/vehicle.d.ts +1 -1
  337. package/lib/models/property/property-document.d.ts +1 -1
  338. package/lib/models/property/property.d.ts +0 -2
  339. package/lib/models/registration-invite/registration-invite.d.ts +1 -1
  340. package/lib/models/report/vehicle-expense/vehicle-expense.d.ts +10 -0
  341. package/lib/models/service-subscription/service-payment.d.ts +1 -1
  342. package/lib/models/service-subscription/service-price.d.ts +1 -1
  343. package/lib/models/service-subscription/service-product.d.ts +5 -3
  344. package/lib/models/service-subscription/service-subscription-item.d.ts +1 -1
  345. package/lib/models/service-subscription/service-subscription.d.ts +13 -3
  346. package/lib/models/tax-review/tax-review.d.ts +1 -1
  347. package/lib/models/tax-summary/report-item.d.ts +1 -1
  348. package/lib/models/transaction/transaction-allocation.d.ts +1 -1
  349. package/lib/models/transaction/transaction-metadata.d.ts +1 -1
  350. package/lib/models/transaction/transaction-receipt.d.ts +1 -1
  351. package/lib/models/transaction/transaction.d.ts +1 -1
  352. package/lib/models/user/occupation.d.ts +1 -1
  353. package/lib/models/user/user.d.ts +1 -1
  354. package/lib/models/user-event/user-event-setting.d.ts +1 -1
  355. package/lib/models/user-event/user-event-type-category.d.ts +1 -1
  356. package/lib/models/user-event/user-event-type.d.ts +1 -1
  357. package/lib/services/account-setup/account-setup.service.d.ts +14 -1
  358. package/lib/services/http/bank/bank-account/bank-account.service.d.ts +1 -1
  359. package/lib/services/http/bank/bank-connection/bank-connection.service.d.ts +1 -1
  360. package/lib/services/http/bank/bank-transaction/bank-transaction.service.d.ts +1 -1
  361. package/lib/services/http/bank/bank.service.d.ts +1 -1
  362. package/lib/services/http/bank/basiq/basiq.service.d.ts +1 -1
  363. package/lib/services/http/chart-accounts/chart-accounts-depreciations/chart-accounts-depreciations.service.d.ts +1 -1
  364. package/lib/services/http/chat/chat.service.d.ts +1 -1
  365. package/lib/services/http/chat/message/message.service.d.ts +1 -1
  366. package/lib/services/http/depreciation/depreciation.service.d.ts +1 -1
  367. package/lib/services/http/document/document-folder/document-folder.service.d.ts +1 -1
  368. package/lib/services/http/firm/client-invite/client-invite.service.d.ts +1 -1
  369. package/lib/services/http/firm/client-movement/client-movement.service.d.ts +1 -1
  370. package/lib/services/http/firm/employee/employee.service.d.ts +1 -1
  371. package/lib/services/http/firm/employee-invite/employee-invite.service.d.ts +1 -1
  372. package/lib/services/http/income-source/income-source-forecast/income-source-forecast.service.d.ts +1 -1
  373. package/lib/services/http/income-source/income-source.service.d.ts +1 -1
  374. package/lib/services/http/income-source/salary-forecast/salary-forecast.service.d.ts +1 -1
  375. package/lib/services/http/income-source/sole-forecast/sole-forecast.service.d.ts +1 -1
  376. package/lib/services/http/loan/loan.service.d.ts +1 -1
  377. package/lib/services/http/property/property-document/property-document.service.d.ts +1 -1
  378. package/lib/services/http/rest/rest.service.d.ts +1 -1
  379. package/lib/services/http/subscription/service-price.service.d.ts +14 -0
  380. package/lib/services/http/subscription/subscription.service.d.ts +2 -9
  381. package/lib/services/http/tax-review/tax-review-history/tax-review-history.service.d.ts +1 -1
  382. package/lib/services/http/tax-review/tax-review.service.d.ts +1 -1
  383. package/lib/services/http/transaction/transaction-allocation/transaction-allocation.service.d.ts +1 -1
  384. package/lib/services/http/transaction/transaction.service.d.ts +1 -1
  385. package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts +1 -1
  386. package/lib/services/http/user/user-event-type/user-event-type.service.d.ts +1 -1
  387. package/lib/services/http/vehicle/vehicle-claim.service.d.ts +1 -1
  388. package/lib/services/http/vehicle/vehicle.service.d.ts +1 -1
  389. package/package.json +1 -1
  390. package/public-api.d.ts +10 -7
  391. package/esm2015/lib/collections/service-price.collection.js +0 -10
  392. package/esm2015/lib/collections/service-subscription.collection.js +0 -17
  393. package/esm2015/lib/db/Enums/service-payment-status.enum.js +0 -6
  394. package/esm2015/lib/db/Enums/service-price-type.enum.js +0 -6
  395. package/esm2015/lib/db/Models/bank-account-balance.js +0 -3
  396. package/esm2015/lib/db/Models/bank-account-property.js +0 -3
  397. package/esm2015/lib/db/Models/bank-account.js +0 -3
  398. package/esm2015/lib/db/Models/bank-connection.js +0 -3
  399. package/esm2015/lib/db/Models/bank-transaction-import.js +0 -3
  400. package/esm2015/lib/db/Models/bank-transaction.js +0 -3
  401. package/esm2015/lib/db/Models/bank.js +0 -3
  402. package/esm2015/lib/db/Models/basiq-job.js +0 -3
  403. package/esm2015/lib/db/Models/borrowing-expense-loan.js +0 -3
  404. package/esm2015/lib/db/Models/borrowing-expense.js +0 -3
  405. package/esm2015/lib/db/Models/chart-accounts-depreciation.js +0 -3
  406. package/esm2015/lib/db/Models/chart-accounts-heading.js +0 -3
  407. package/esm2015/lib/db/Models/chart-accounts-metadata.js +0 -3
  408. package/esm2015/lib/db/Models/chart-accounts-value.js +0 -3
  409. package/esm2015/lib/db/Models/chart-accounts.js +0 -3
  410. package/esm2015/lib/db/Models/chat.js +0 -3
  411. package/esm2015/lib/db/Models/client-details.js +0 -3
  412. package/esm2015/lib/db/Models/client-income-types.js +0 -3
  413. package/esm2015/lib/db/Models/client-invite.js +0 -3
  414. package/esm2015/lib/db/Models/client-movement.js +0 -3
  415. package/esm2015/lib/db/Models/depreciation-capital-project.js +0 -3
  416. package/esm2015/lib/db/Models/depreciation-forecast.js +0 -3
  417. package/esm2015/lib/db/Models/depreciation-receipt.js +0 -3
  418. package/esm2015/lib/db/Models/depreciation.js +0 -4
  419. package/esm2015/lib/db/Models/document-folder.js +0 -3
  420. package/esm2015/lib/db/Models/document.js +0 -3
  421. package/esm2015/lib/db/Models/employee-details.js +0 -3
  422. package/esm2015/lib/db/Models/employee-invite.js +0 -3
  423. package/esm2015/lib/db/Models/financial-data-system.js +0 -3
  424. package/esm2015/lib/db/Models/firm.js +0 -3
  425. package/esm2015/lib/db/Models/income-source-forecast.js +0 -3
  426. package/esm2015/lib/db/Models/income-source-type.js +0 -3
  427. package/esm2015/lib/db/Models/income-source.js +0 -3
  428. package/esm2015/lib/db/Models/loan-payout.js +0 -3
  429. package/esm2015/lib/db/Models/loan.js +0 -3
  430. package/esm2015/lib/db/Models/message-document.js +0 -3
  431. package/esm2015/lib/db/Models/message.js +0 -3
  432. package/esm2015/lib/db/Models/occupation.js +0 -3
  433. package/esm2015/lib/db/Models/property/property-document.js +0 -3
  434. package/esm2015/lib/db/Models/registration-invite.js +0 -3
  435. package/esm2015/lib/db/Models/salary-forecast.js +0 -3
  436. package/esm2015/lib/db/Models/service-payment.js +0 -3
  437. package/esm2015/lib/db/Models/service-price.js +0 -3
  438. package/esm2015/lib/db/Models/service-product.js +0 -3
  439. package/esm2015/lib/db/Models/service-subscription-item.js +0 -3
  440. package/esm2015/lib/db/Models/service-subscription.js +0 -3
  441. package/esm2015/lib/db/Models/sole-forecast.js +0 -3
  442. package/esm2015/lib/db/Models/tax-return-category.js +0 -3
  443. package/esm2015/lib/db/Models/tax-return-item.js +0 -3
  444. package/esm2015/lib/db/Models/tax-return.js +0 -3
  445. package/esm2015/lib/db/Models/tax-review.js +0 -3
  446. package/esm2015/lib/db/Models/ticket.js +0 -3
  447. package/esm2015/lib/db/Models/transaction-allocation.js +0 -3
  448. package/esm2015/lib/db/Models/transaction-base.js +0 -25
  449. package/esm2015/lib/db/Models/transaction-metadata.js +0 -3
  450. package/esm2015/lib/db/Models/transaction-receipt.js +0 -3
  451. package/esm2015/lib/db/Models/transaction.js +0 -4
  452. package/esm2015/lib/db/Models/user-event-setting.js +0 -3
  453. package/esm2015/lib/db/Models/user-event-type-category.js +0 -3
  454. package/esm2015/lib/db/Models/user-event-type.js +0 -3
  455. package/esm2015/lib/db/Models/user-event.js +0 -3
  456. package/esm2015/lib/db/Models/user.js +0 -3
  457. package/esm2015/lib/db/Models/vehicle-claim.js +0 -3
  458. package/esm2015/lib/db/Models/vehicle-logbook.js +0 -3
  459. package/esm2015/lib/db/Models/vehicle.js +0 -3
  460. package/lib/collections/service-price.collection.d.ts +0 -6
  461. package/lib/db/Models/bank-account-property.d.ts +0 -8
  462. package/lib/db/Models/borrowing-expense.d.ts +0 -7
  463. package/lib/db/Models/chart-accounts-metadata.d.ts +0 -11
  464. package/lib/db/Models/client-invite.d.ts +0 -16
  465. package/lib/db/Models/client-movement.d.ts +0 -12
  466. package/lib/db/Models/depreciation-capital-project.d.ts +0 -13
  467. package/lib/db/Models/employee-details.d.ts +0 -7
  468. package/lib/db/Models/employee-invite.d.ts +0 -9
  469. package/lib/db/Models/occupation.d.ts +0 -5
  470. package/lib/db/Models/property/property-document.d.ts +0 -13
  471. package/lib/db/Models/service-product.d.ts +0 -12
  472. package/lib/db/Models/sole-forecast.d.ts +0 -8
  473. package/lib/db/Models/tax-review.d.ts +0 -13
  474. package/lib/db/Models/ticket.d.ts +0 -19
  475. package/lib/db/Models/transaction-allocation.d.ts +0 -8
  476. package/lib/db/Models/user-event-type-category.d.ts +0 -4
  477. package/lib/db/Models/vehicle-claim.d.ts +0 -13
  478. package/lib/db/Models/vehicle.d.ts +0 -10
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
78
78
  providedIn: 'root'
79
79
  }]
80
80
  }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsYXJ5LWZvcmVjYXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9pbmNvbWUtc291cmNlL3NhbGFyeS1mb3JlY2FzdC9zYWxhcnktZm9yZWNhc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUc5RDs7R0FFRztBQUlILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxXQUErQztJQUgxRjs7UUFJRSxlQUFVLEdBQTBCLGNBQWMsQ0FBQztRQUNuRCxRQUFHLEdBQVcsa0JBQWtCLENBQUM7S0E2RGxDO0lBM0RDOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNLLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO2FBQ3BFLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxhQUE2QixFQUFFLEVBQUUsQ0FBQyxhQUFhO2FBQ2pELE1BQU0sQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQzFFO2FBQ0EsU0FBUyxDQUFDLENBQUMsYUFBNkIsRUFBRSxFQUFFO1lBRTNDLE1BQU0sZUFBZSxHQUFxQixJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDcEYsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFO2dCQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLHNCQUF3QyxFQUFFLEVBQUU7b0JBQ3BGLElBQUksQ0FBQyxzQkFBc0I7eUJBQ3hCLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxnQ0FBZ0MsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZHLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNLLDRCQUE0QjtRQUNsQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO2FBQ3BFLFNBQVMsQ0FBQyxDQUFDLGFBQTZCLEVBQUUsRUFBRTtZQUMzQyxNQUFNLGVBQWUsR0FBcUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BGLElBQUksZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxzQkFBd0MsRUFBRSxFQUFFO29CQUN2RixJQUFJLENBQUMsc0JBQXNCO3lCQUN4QixRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0NBQWdDLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO2dCQUN2RyxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0sscUJBQXFCLENBQUMsYUFBNkI7UUFDekQsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQ3RELFlBQVksQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDLGVBQWU7aUJBQ3hELEdBQUcsQ0FBQyxDQUFDLGNBQThCLEVBQUUsRUFBRTtnQkFDdEMsY0FBYyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDO2dCQUNoRixPQUFPLGNBQWMsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQztZQUNMLE9BQU8sWUFBWSxDQUFDLGVBQWUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNaLENBQUM7O21IQTlEVSxxQkFBcUI7dUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWxhcnlGb3JlY2FzdCBhcyBTYWxhcnlGb3JlY2FzdEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvc2FsYXJ5LWZvcmVjYXN0JztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2FsYXJ5Rm9yZWNhc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvaW5jb21lLXNvdXJjZS9zYWxhcnktZm9yZWNhc3QnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEluY29tZVNvdXJjZSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UnO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gd29yayB3aXRoIFNhbGFyeSBGb3JlY2FzdHNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2FsYXJ5Rm9yZWNhc3RTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8U2FsYXJ5Rm9yZWNhc3RCYXNlLCBTYWxhcnlGb3JlY2FzdD4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBTYWxhcnlGb3JlY2FzdCA9IFNhbGFyeUZvcmVjYXN0O1xuICB1cmw6IHN0cmluZyA9ICdzYWxhcnktZm9yZWNhc3RzJztcblxuICAvKipcbiAgICogTGlzdGVuIHRvIEluY29tZSBTb3VyY2VzIGV2ZW50c1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVG9BZGRlZEluY29tZVNvdXJjZXMoKTtcbiAgICB0aGlzLmxpc3RlblRvVXBkYXRlZEluY29tZVNvdXJjZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIGFkZGVkIEluY29tZSBTb3VyY2VzXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRvQWRkZWRJbmNvbWVTb3VyY2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX0NSRUFURUQpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSkgPT4gaW5jb21lU291cmNlc1xuICAgICAgICAgIC5maWx0ZXIoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlKSA9PiBpbmNvbWVTb3VyY2UuaXNTYWxhcnlJbmNvbWUoKSkpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSkgPT4ge1xuXG4gICAgICAgIGNvbnN0IHNhbGFyeUZvcmVjYXN0czogU2FsYXJ5Rm9yZWNhc3RbXSA9IHRoaXMuYXNzaWduU2FsYXJ5Rm9yZWNhc3RzKGluY29tZVNvdXJjZXMpO1xuICAgICAgICBpZiAoc2FsYXJ5Rm9yZWNhc3RzLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuYWRkQmF0Y2goc2FsYXJ5Rm9yZWNhc3RzKS5zdWJzY3JpYmUoKGNyZWF0ZWRTYWxhcnlGb3JlY2FzdHM6IFNhbGFyeUZvcmVjYXN0W10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZVxuICAgICAgICAgICAgICAuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uSU5DT01FX1NPVVJDRVNfRk9SRUNBU1RTX0NSRUFURUQsIGNyZWF0ZWRTYWxhcnlGb3JlY2FzdHMpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byB1cGRhdGVkIEluY29tZSBTb3VyY2VzXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRvVXBkYXRlZEluY29tZVNvdXJjZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uSU5DT01FX1NPVVJDRVNfVVBEQVRFRClcbiAgICAgIC5zdWJzY3JpYmUoKGluY29tZVNvdXJjZXM6IEluY29tZVNvdXJjZVtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHNhbGFyeUZvcmVjYXN0czogU2FsYXJ5Rm9yZWNhc3RbXSA9IHRoaXMuYXNzaWduU2FsYXJ5Rm9yZWNhc3RzKGluY29tZVNvdXJjZXMpO1xuICAgICAgICBpZiAoc2FsYXJ5Rm9yZWNhc3RzLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMudXBkYXRlQmF0Y2goc2FsYXJ5Rm9yZWNhc3RzKS5zdWJzY3JpYmUoKHVwZGF0ZWRTYWxhcnlGb3JlY2FzdHM6IFNhbGFyeUZvcmVjYXN0W10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZVxuICAgICAgICAgICAgICAuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uSU5DT01FX1NPVVJDRVNfRk9SRUNBU1RTX1VQREFURUQsIHVwZGF0ZWRTYWxhcnlGb3JlY2FzdHMpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXNzaWduIHNhbGFyeSBmb3JlY2FzdHMgYmFzZWQgb24gcHJvdmlkZWQgaW5jb21lIHNvdXJjZXNcbiAgICogQHBhcmFtIGluY29tZVNvdXJjZXMgYnkgd2hpY2ggc2FsYXJ5IGZvcmVjYXN0cyB3aWxsIGJlIGFzc2lnbmVkXG4gICAqL1xuICBwcml2YXRlIGFzc2lnblNhbGFyeUZvcmVjYXN0cyhpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IFNhbGFyeUZvcmVjYXN0W10ge1xuICAgIHJldHVybiBpbmNvbWVTb3VyY2VzLm1hcCgoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpID0+IHtcbiAgICAgIGluY29tZVNvdXJjZS5zYWxhcnlGb3JlY2FzdHMgPSBpbmNvbWVTb3VyY2Uuc2FsYXJ5Rm9yZWNhc3RzXG4gICAgICAgIC5tYXAoKHNhbGFyeUZvcmVjYXN0OiBTYWxhcnlGb3JlY2FzdCkgPT4ge1xuICAgICAgICAgIHNhbGFyeUZvcmVjYXN0LmluY29tZVNvdXJjZSA9IHBsYWluVG9DbGFzcyhJbmNvbWVTb3VyY2UsIHtpZDogaW5jb21lU291cmNlLmlkfSk7XG4gICAgICAgICAgcmV0dXJuIHNhbGFyeUZvcmVjYXN0O1xuICAgICAgICB9KTtcbiAgICAgIHJldHVybiBpbmNvbWVTb3VyY2Uuc2FsYXJ5Rm9yZWNhc3RzO1xuICAgIH0pLmZsYXQoKTtcbiAgfVxufVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsYXJ5LWZvcmVjYXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9pbmNvbWUtc291cmNlL3NhbGFyeS1mb3JlY2FzdC9zYWxhcnktZm9yZWNhc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUc5RDs7R0FFRztBQUlILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxXQUErQztJQUgxRjs7UUFJRSxlQUFVLEdBQTBCLGNBQWMsQ0FBQztRQUNuRCxRQUFHLEdBQVcsa0JBQWtCLENBQUM7S0E2RGxDO0lBM0RDOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNLLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO2FBQ3BFLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxhQUE2QixFQUFFLEVBQUUsQ0FBQyxhQUFhO2FBQ2pELE1BQU0sQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQzFFO2FBQ0EsU0FBUyxDQUFDLENBQUMsYUFBNkIsRUFBRSxFQUFFO1lBRTNDLE1BQU0sZUFBZSxHQUFxQixJQUFJLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDcEYsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFO2dCQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLHNCQUF3QyxFQUFFLEVBQUU7b0JBQ3BGLElBQUksQ0FBQyxzQkFBc0I7eUJBQ3hCLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxnQ0FBZ0MsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZHLENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNLLDRCQUE0QjtRQUNsQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO2FBQ3BFLFNBQVMsQ0FBQyxDQUFDLGFBQTZCLEVBQUUsRUFBRTtZQUMzQyxNQUFNLGVBQWUsR0FBcUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BGLElBQUksZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxzQkFBd0MsRUFBRSxFQUFFO29CQUN2RixJQUFJLENBQUMsc0JBQXNCO3lCQUN4QixRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0NBQWdDLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO2dCQUN2RyxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0sscUJBQXFCLENBQUMsYUFBNkI7UUFDekQsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQ3RELFlBQVksQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDLGVBQWU7aUJBQ3hELEdBQUcsQ0FBQyxDQUFDLGNBQThCLEVBQUUsRUFBRTtnQkFDdEMsY0FBYyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQUMsRUFBRSxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDO2dCQUNoRixPQUFPLGNBQWMsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQztZQUNMLE9BQU8sWUFBWSxDQUFDLGVBQWUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNaLENBQUM7O21IQTlEVSxxQkFBcUI7dUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWxhcnlGb3JlY2FzdCBhcyBTYWxhcnlGb3JlY2FzdEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvaW5jb21lU291cmNlL3NhbGFyeS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFNhbGFyeUZvcmVjYXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2luY29tZS1zb3VyY2Uvc2FsYXJ5LWZvcmVjYXN0JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHdvcmsgd2l0aCBTYWxhcnkgRm9yZWNhc3RzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNhbGFyeUZvcmVjYXN0U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFNhbGFyeUZvcmVjYXN0QmFzZSwgU2FsYXJ5Rm9yZWNhc3Q+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgU2FsYXJ5Rm9yZWNhc3QgPSBTYWxhcnlGb3JlY2FzdDtcbiAgdXJsOiBzdHJpbmcgPSAnc2FsYXJ5LWZvcmVjYXN0cyc7XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBJbmNvbWUgU291cmNlcyBldmVudHNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvQWRkZWRJbmNvbWVTb3VyY2VzKCk7XG4gICAgdGhpcy5saXN0ZW5Ub1VwZGF0ZWRJbmNvbWVTb3VyY2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBhZGRlZCBJbmNvbWUgU291cmNlc1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0FkZGVkSW5jb21lU291cmNlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5JTkNPTUVfU09VUkNFU19DUkVBVEVEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pID0+IGluY29tZVNvdXJjZXNcbiAgICAgICAgICAuZmlsdGVyKChpbmNvbWVTb3VyY2U6IEluY29tZVNvdXJjZSkgPT4gaW5jb21lU291cmNlLmlzU2FsYXJ5SW5jb21lKCkpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pID0+IHtcblxuICAgICAgICBjb25zdCBzYWxhcnlGb3JlY2FzdHM6IFNhbGFyeUZvcmVjYXN0W10gPSB0aGlzLmFzc2lnblNhbGFyeUZvcmVjYXN0cyhpbmNvbWVTb3VyY2VzKTtcbiAgICAgICAgaWYgKHNhbGFyeUZvcmVjYXN0cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmFkZEJhdGNoKHNhbGFyeUZvcmVjYXN0cykuc3Vic2NyaWJlKChjcmVhdGVkU2FsYXJ5Rm9yZWNhc3RzOiBTYWxhcnlGb3JlY2FzdFtdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2VcbiAgICAgICAgICAgICAgLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX0ZPUkVDQVNUU19DUkVBVEVELCBjcmVhdGVkU2FsYXJ5Rm9yZWNhc3RzKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCBJbmNvbWUgU291cmNlc1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1VwZGF0ZWRJbmNvbWVTb3VyY2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX1VQREFURUQpXG4gICAgICAuc3Vic2NyaWJlKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSkgPT4ge1xuICAgICAgICBjb25zdCBzYWxhcnlGb3JlY2FzdHM6IFNhbGFyeUZvcmVjYXN0W10gPSB0aGlzLmFzc2lnblNhbGFyeUZvcmVjYXN0cyhpbmNvbWVTb3VyY2VzKTtcbiAgICAgICAgaWYgKHNhbGFyeUZvcmVjYXN0cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUJhdGNoKHNhbGFyeUZvcmVjYXN0cykuc3Vic2NyaWJlKCh1cGRhdGVkU2FsYXJ5Rm9yZWNhc3RzOiBTYWxhcnlGb3JlY2FzdFtdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2VcbiAgICAgICAgICAgICAgLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX0ZPUkVDQVNUU19VUERBVEVELCB1cGRhdGVkU2FsYXJ5Rm9yZWNhc3RzKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzc2lnbiBzYWxhcnkgZm9yZWNhc3RzIGJhc2VkIG9uIHByb3ZpZGVkIGluY29tZSBzb3VyY2VzXG4gICAqIEBwYXJhbSBpbmNvbWVTb3VyY2VzIGJ5IHdoaWNoIHNhbGFyeSBmb3JlY2FzdHMgd2lsbCBiZSBhc3NpZ25lZFxuICAgKi9cbiAgcHJpdmF0ZSBhc3NpZ25TYWxhcnlGb3JlY2FzdHMoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pOiBTYWxhcnlGb3JlY2FzdFtdIHtcbiAgICByZXR1cm4gaW5jb21lU291cmNlcy5tYXAoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlKSA9PiB7XG4gICAgICBpbmNvbWVTb3VyY2Uuc2FsYXJ5Rm9yZWNhc3RzID0gaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0c1xuICAgICAgICAubWFwKChzYWxhcnlGb3JlY2FzdDogU2FsYXJ5Rm9yZWNhc3QpID0+IHtcbiAgICAgICAgICBzYWxhcnlGb3JlY2FzdC5pbmNvbWVTb3VyY2UgPSBwbGFpblRvQ2xhc3MoSW5jb21lU291cmNlLCB7aWQ6IGluY29tZVNvdXJjZS5pZH0pO1xuICAgICAgICAgIHJldHVybiBzYWxhcnlGb3JlY2FzdDtcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gaW5jb21lU291cmNlLnNhbGFyeUZvcmVjYXN0cztcbiAgICB9KS5mbGF0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
75
75
  providedIn: 'root'
76
76
  }]
77
77
  }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1mb3JlY2FzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvaW5jb21lLXNvdXJjZS9zb2xlLWZvcmVjYXN0L3NvbGUtZm9yZWNhc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQU05RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBMkM7SUFIcEY7O1FBSUUsZUFBVSxHQUF3QixZQUFZLENBQUM7UUFDL0MsUUFBRyxHQUFXLGdCQUFnQixDQUFDO0tBNkRoQztJQTNEQzs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQzthQUNwRSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsYUFBNkIsRUFBRSxFQUFFLENBQUMsYUFBYTthQUNqRCxNQUFNLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUN4RTthQUNBLFNBQVMsQ0FBQyxDQUFDLGFBQTZCLEVBQUUsRUFBRTtZQUUzQyxNQUFNLGFBQWEsR0FBbUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzlFLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0MsRUFBRSxFQUFFO29CQUM5RSxJQUFJLENBQUMsc0JBQXNCO3lCQUN4QixRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0NBQWdDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO2dCQUNyRyxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSyw0QkFBNEI7UUFDbEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQzthQUNwRSxTQUFTLENBQUMsQ0FBQyxhQUE2QixFQUFFLEVBQUU7WUFDM0MsTUFBTSxhQUFhLEdBQW1CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM5RSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9DLEVBQUUsRUFBRTtvQkFDakYsSUFBSSxDQUFDLHNCQUFzQjt5QkFDeEIsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdDQUFnQyxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQztnQkFDckcsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNLLG1CQUFtQixDQUFDLGFBQTZCO1FBQ3ZELE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRTtZQUN0RCxZQUFZLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQyxhQUFhO2lCQUNwRCxHQUFHLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUU7Z0JBQ2xDLFlBQVksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQztnQkFDOUUsT0FBTyxZQUFZLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7WUFDTCxPQUFPLFlBQVksQ0FBQyxhQUFhLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDWixDQUFDOztpSEE5RFUsbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU29sZUZvcmVjYXN0IGFzIFNvbGVGb3JlY2FzdEJhc2V9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9zb2xlLWZvcmVjYXN0JztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU29sZUZvcmVjYXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2luY29tZS1zb3VyY2Uvc29sZS1mb3JlY2FzdCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSW5jb21lU291cmNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2luY29tZS1zb3VyY2UvaW5jb21lLXNvdXJjZSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNvbGVGb3JlY2FzdFNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxTb2xlRm9yZWNhc3RCYXNlLCBTb2xlRm9yZWNhc3Q+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgU29sZUZvcmVjYXN0ID0gU29sZUZvcmVjYXN0O1xuICB1cmw6IHN0cmluZyA9ICdzb2xlLWZvcmVjYXN0cyc7XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBJbmNvbWUgU291cmNlcyBldmVudHNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvQWRkZWRJbmNvbWVTb3VyY2VzKCk7XG4gICAgdGhpcy5saXN0ZW5Ub1VwZGF0ZWRJbmNvbWVTb3VyY2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBhZGRlZCBJbmNvbWUgU291cmNlc1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0FkZGVkSW5jb21lU291cmNlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5JTkNPTUVfU09VUkNFU19DUkVBVEVEKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pID0+IGluY29tZVNvdXJjZXNcbiAgICAgICAgICAuZmlsdGVyKChpbmNvbWVTb3VyY2U6IEluY29tZVNvdXJjZSkgPT4gaW5jb21lU291cmNlLmlzU29sZUluY29tZSgpKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGluY29tZVNvdXJjZXM6IEluY29tZVNvdXJjZVtdKSA9PiB7XG5cbiAgICAgICAgY29uc3Qgc29sZUZvcmVjYXN0czogU29sZUZvcmVjYXN0W10gPSB0aGlzLmFzc2lnblNvbGVGb3JlY2FzdHMoaW5jb21lU291cmNlcyk7XG4gICAgICAgIGlmIChzb2xlRm9yZWNhc3RzLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuYWRkQmF0Y2goc29sZUZvcmVjYXN0cykuc3Vic2NyaWJlKChjcmVhdGVkU29sZUZvcmVjYXN0czogU29sZUZvcmVjYXN0W10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZVxuICAgICAgICAgICAgICAuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uSU5DT01FX1NPVVJDRVNfRk9SRUNBU1RTX0NSRUFURUQsIGNyZWF0ZWRTb2xlRm9yZWNhc3RzKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCBJbmNvbWUgU291cmNlc1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1VwZGF0ZWRJbmNvbWVTb3VyY2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX1VQREFURUQpXG4gICAgICAuc3Vic2NyaWJlKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSkgPT4ge1xuICAgICAgICBjb25zdCBzb2xlRm9yZWNhc3RzOiBTb2xlRm9yZWNhc3RbXSA9IHRoaXMuYXNzaWduU29sZUZvcmVjYXN0cyhpbmNvbWVTb3VyY2VzKTtcbiAgICAgICAgaWYgKHNvbGVGb3JlY2FzdHMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVCYXRjaChzb2xlRm9yZWNhc3RzKS5zdWJzY3JpYmUoKHVwZGF0ZWRTb2xlRm9yZWNhc3RzOiBTb2xlRm9yZWNhc3RbXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlXG4gICAgICAgICAgICAgIC5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5JTkNPTUVfU09VUkNFU19GT1JFQ0FTVFNfVVBEQVRFRCwgdXBkYXRlZFNvbGVGb3JlY2FzdHMpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQXNzaWduIHNvbGUgZm9yZWNhc3RzIGJhc2VkIG9uIHByb3ZpZGVkIGluY29tZSBzb3VyY2VzXG4gICAqIEBwYXJhbSBpbmNvbWVTb3VyY2VzIGJ5IHdoaWNoIHNvbGUgZm9yZWNhc3RzIHdpbGwgYmUgYXNzaWduZWRcbiAgICovXG4gIHByaXZhdGUgYXNzaWduU29sZUZvcmVjYXN0cyhpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSk6IFNvbGVGb3JlY2FzdFtdIHtcbiAgICByZXR1cm4gaW5jb21lU291cmNlcy5tYXAoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlKSA9PiB7XG4gICAgICBpbmNvbWVTb3VyY2Uuc29sZUZvcmVjYXN0cyA9IGluY29tZVNvdXJjZS5zb2xlRm9yZWNhc3RzXG4gICAgICAgIC5tYXAoKHNvbGVGb3JlY2FzdDogU29sZUZvcmVjYXN0KSA9PiB7XG4gICAgICAgICAgc29sZUZvcmVjYXN0LmluY29tZVNvdXJjZSA9IHBsYWluVG9DbGFzcyhJbmNvbWVTb3VyY2UsIHtpZDogaW5jb21lU291cmNlLmlkfSk7XG4gICAgICAgICAgcmV0dXJuIHNvbGVGb3JlY2FzdDtcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gaW5jb21lU291cmNlLnNvbGVGb3JlY2FzdHM7XG4gICAgfSkuZmxhdCgpO1xuICB9XG59XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1mb3JlY2FzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvaW5jb21lLXNvdXJjZS9zb2xlLWZvcmVjYXN0L3NvbGUtZm9yZWNhc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQU05RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBMkM7SUFIcEY7O1FBSUUsZUFBVSxHQUF3QixZQUFZLENBQUM7UUFDL0MsUUFBRyxHQUFXLGdCQUFnQixDQUFDO0tBNkRoQztJQTNEQzs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQzthQUNwRSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsYUFBNkIsRUFBRSxFQUFFLENBQUMsYUFBYTthQUNqRCxNQUFNLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUN4RTthQUNBLFNBQVMsQ0FBQyxDQUFDLGFBQTZCLEVBQUUsRUFBRTtZQUUzQyxNQUFNLGFBQWEsR0FBbUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzlFLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRTtnQkFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxvQkFBb0MsRUFBRSxFQUFFO29CQUM5RSxJQUFJLENBQUMsc0JBQXNCO3lCQUN4QixRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0NBQWdDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO2dCQUNyRyxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSyw0QkFBNEI7UUFDbEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQzthQUNwRSxTQUFTLENBQUMsQ0FBQyxhQUE2QixFQUFFLEVBQUU7WUFDM0MsTUFBTSxhQUFhLEdBQW1CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM5RSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsb0JBQW9DLEVBQUUsRUFBRTtvQkFDakYsSUFBSSxDQUFDLHNCQUFzQjt5QkFDeEIsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdDQUFnQyxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQztnQkFDckcsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNLLG1CQUFtQixDQUFDLGFBQTZCO1FBQ3ZELE9BQU8sYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQTBCLEVBQUUsRUFBRTtZQUN0RCxZQUFZLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQyxhQUFhO2lCQUNwRCxHQUFHLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUU7Z0JBQ2xDLFlBQVksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksRUFBRSxFQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQztnQkFDOUUsT0FBTyxZQUFZLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7WUFDTCxPQUFPLFlBQVksQ0FBQyxhQUFhLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDWixDQUFDOztpSEE5RFUsbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU29sZUZvcmVjYXN0IGFzIFNvbGVGb3JlY2FzdEJhc2V9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9zb2xlL3NvbGUtZm9yZWNhc3QnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTb2xlRm9yZWNhc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvaW5jb21lLXNvdXJjZS9zb2xlLWZvcmVjYXN0JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBJbmNvbWVTb3VyY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvaW5jb21lLXNvdXJjZS9pbmNvbWUtc291cmNlJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU29sZUZvcmVjYXN0U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFNvbGVGb3JlY2FzdEJhc2UsIFNvbGVGb3JlY2FzdD4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBTb2xlRm9yZWNhc3QgPSBTb2xlRm9yZWNhc3Q7XG4gIHVybDogc3RyaW5nID0gJ3NvbGUtZm9yZWNhc3RzJztcblxuICAvKipcbiAgICogTGlzdGVuIHRvIEluY29tZSBTb3VyY2VzIGV2ZW50c1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVG9BZGRlZEluY29tZVNvdXJjZXMoKTtcbiAgICB0aGlzLmxpc3RlblRvVXBkYXRlZEluY29tZVNvdXJjZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIGFkZGVkIEluY29tZSBTb3VyY2VzXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRvQWRkZWRJbmNvbWVTb3VyY2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX0NSRUFURUQpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChpbmNvbWVTb3VyY2VzOiBJbmNvbWVTb3VyY2VbXSkgPT4gaW5jb21lU291cmNlc1xuICAgICAgICAgIC5maWx0ZXIoKGluY29tZVNvdXJjZTogSW5jb21lU291cmNlKSA9PiBpbmNvbWVTb3VyY2UuaXNTb2xlSW5jb21lKCkpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoaW5jb21lU291cmNlczogSW5jb21lU291cmNlW10pID0+IHtcblxuICAgICAgICBjb25zdCBzb2xlRm9yZWNhc3RzOiBTb2xlRm9yZWNhc3RbXSA9IHRoaXMuYXNzaWduU29sZUZvcmVjYXN0cyhpbmNvbWVTb3VyY2VzKTtcbiAgICAgICAgaWYgKHNvbGVGb3JlY2FzdHMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5hZGRCYXRjaChzb2xlRm9yZWNhc3RzKS5zdWJzY3JpYmUoKGNyZWF0ZWRTb2xlRm9yZWNhc3RzOiBTb2xlRm9yZWNhc3RbXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlXG4gICAgICAgICAgICAgIC5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5JTkNPTUVfU09VUkNFU19GT1JFQ0FTVFNfQ1JFQVRFRCwgY3JlYXRlZFNvbGVGb3JlY2FzdHMpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byB1cGRhdGVkIEluY29tZSBTb3VyY2VzXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRvVXBkYXRlZEluY29tZVNvdXJjZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uSU5DT01FX1NPVVJDRVNfVVBEQVRFRClcbiAgICAgIC5zdWJzY3JpYmUoKGluY29tZVNvdXJjZXM6IEluY29tZVNvdXJjZVtdKSA9PiB7XG4gICAgICAgIGNvbnN0IHNvbGVGb3JlY2FzdHM6IFNvbGVGb3JlY2FzdFtdID0gdGhpcy5hc3NpZ25Tb2xlRm9yZWNhc3RzKGluY29tZVNvdXJjZXMpO1xuICAgICAgICBpZiAoc29sZUZvcmVjYXN0cy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUJhdGNoKHNvbGVGb3JlY2FzdHMpLnN1YnNjcmliZSgodXBkYXRlZFNvbGVGb3JlY2FzdHM6IFNvbGVGb3JlY2FzdFtdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2VcbiAgICAgICAgICAgICAgLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLklOQ09NRV9TT1VSQ0VTX0ZPUkVDQVNUU19VUERBVEVELCB1cGRhdGVkU29sZUZvcmVjYXN0cykpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NpZ24gc29sZSBmb3JlY2FzdHMgYmFzZWQgb24gcHJvdmlkZWQgaW5jb21lIHNvdXJjZXNcbiAgICogQHBhcmFtIGluY29tZVNvdXJjZXMgYnkgd2hpY2ggc29sZSBmb3JlY2FzdHMgd2lsbCBiZSBhc3NpZ25lZFxuICAgKi9cbiAgcHJpdmF0ZSBhc3NpZ25Tb2xlRm9yZWNhc3RzKGluY29tZVNvdXJjZXM6IEluY29tZVNvdXJjZVtdKTogU29sZUZvcmVjYXN0W10ge1xuICAgIHJldHVybiBpbmNvbWVTb3VyY2VzLm1hcCgoaW5jb21lU291cmNlOiBJbmNvbWVTb3VyY2UpID0+IHtcbiAgICAgIGluY29tZVNvdXJjZS5zb2xlRm9yZWNhc3RzID0gaW5jb21lU291cmNlLnNvbGVGb3JlY2FzdHNcbiAgICAgICAgLm1hcCgoc29sZUZvcmVjYXN0OiBTb2xlRm9yZWNhc3QpID0+IHtcbiAgICAgICAgICBzb2xlRm9yZWNhc3QuaW5jb21lU291cmNlID0gcGxhaW5Ub0NsYXNzKEluY29tZVNvdXJjZSwge2lkOiBpbmNvbWVTb3VyY2UuaWR9KTtcbiAgICAgICAgICByZXR1cm4gc29sZUZvcmVjYXN0O1xuICAgICAgICB9KTtcbiAgICAgIHJldHVybiBpbmNvbWVTb3VyY2Uuc29sZUZvcmVjYXN0cztcbiAgICB9KS5mbGF0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
133
133
  providedIn: 'root'
134
134
  }]
135
135
  }] });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvbG9hbi9sb2FuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBRzlEOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUEyQjtJQUg1RDs7UUFJRSxRQUFHLEdBQVcscUJBQXFCLENBQUM7UUFDcEMsZUFBVSxHQUFnQixJQUFJLENBQUM7S0FxSWhDO0lBbklDOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQzthQUNsRSxTQUFTLENBQUMsQ0FBQyxZQUEyQixFQUFFLEVBQUU7WUFDekMsNkNBQTZDO1lBQzdDLElB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LElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDL0YsK0NBQStDO1lBQy9DLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7eUdBdElVLFdBQVc7NkdBQVgsV0FBVyxjQUZWLE1BQU07NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2FuIGFzIExvYW5CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL2xvYW4nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IExvYW4gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvbG9hbi9sb2FuJztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgTG9hblBheW91dCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9sb2FuL2xvYW4tcGF5b3V0JztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBoYW5kbGluZyBsb2FucyBsb2dpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2FuU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPExvYW5CYXNlLCBMb2FuPiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgdXJsOiBzdHJpbmcgPSAnYmFuay1hY2NvdW50cy9sb2Fucyc7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBMb2FuID0gTG9hbjtcblxuICAvKipcbiAgICogTGlzdGVuIHRvIExvYW5zIGV2ZW50c1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVG9BZGRlZExvYW5zKCk7XG4gICAgdGhpcy5saXN0ZW5Ub1VwZGF0ZWRCYW5rQWNjb3VudHMoKTtcbiAgfVxuXG4gIGxpc3RlblRvQWRkZWRMb2FucygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5CQU5LX0FDQ09VTlRfQ1JFQVRFRClcbiAgICAgIC5zdWJzY3JpYmUoKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSkgPT4ge1xuICAgICAgICAvLyBmZXRjaCBsb2FucyB3aGVuIGxvYW4gYmFuayBhY2NvdW50IGNyZWF0ZWRcbiAgICAgICAgaWYgKGJhbmtBY2NvdW50cy5maW5kKGJhID0+ICEhYmEubG9hbikpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBsaXN0ZW5Ub1VwZGF0ZWRCYW5rQWNjb3VudHMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uQkFOS19BQ0NPVU5UX1VQREFURUQpXG4gICAgICAuc3Vic2NyaWJlKCh1cGRhdGVkQmFua0FjY291bnQ6IEJhbmtBY2NvdW50KTogdm9pZCA9PiB7XG4gICAgICAgIGlmICghIXVwZGF0ZWRCYW5rQWNjb3VudC5sb2FuKSB7XG4gICAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBMb2FuXG4gICAqL1xuICBhZGQobW9kZWw6IExvYW4pOiBPYnNlcnZhYmxlPExvYW4+IHtcbiAgICByZXR1cm4gdGhpcy5hZGRCYXRjaChbbW9kZWxdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobmV3TG9hbjogTG9hbltdKTogTG9hbiA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ld0xvYW5bMF07XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZWQgbG9hblxuICAgKiBAcGFyYW0gbG9hblxuICAgKi9cbiAgdXBkYXRlKGxvYW46IExvYW4pOiBPYnNlcnZhYmxlPExvYW4+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke2xvYW4uaWR9YCwgbG9hbilcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVwZGF0ZWRMb2FuQmFzZTogTG9hbkJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkTG9hbjogTG9hbiA9IHBsYWluVG9DbGFzcyhMb2FuLCB1cGRhdGVkTG9hbkJhc2UpO1xuICAgICAgICAgIC8vIGlmIGxvYW4gdHlwZSBpcyBOT1QgdmVoaWNsZSAtIGZpcmUgRXZlbnREaXNwYXRjaGVyIGV2ZW50XG4gICAgICAgICAgaWYgKCF1cGRhdGVkTG9hbi5pc1ZlaGljbGUoKSkge1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkxPQU5fVVBEQVRFRCwgbnVsbCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgdXBkYXRlZExvYW4pO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZExvYW47XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIHZlaGljbGUgbG9hbnNcbiAgICovXG4gIGdldFZlaGljbGVMb2FucygpOiBPYnNlcnZhYmxlPExvYW5bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChsb2FuczogTG9hbltdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGxvYW5zLmZpbHRlcigobG9hbjogTG9hbikgPT4gbG9hbi5pc1ZlaGljbGUoKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZSBsb2FuIHBheW1lbnRzXG4gICAqIEBwYXJhbSBsb2FuXG4gICAqL1xuICBjYWxjdWxhdGVMb2FuUGF5bWVudHMobG9hbjogTG9hbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9L2NhbGN1bGF0aW9uYCwgbG9hbikucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gcGxhaW5Ub0NsYXNzKExvYW4sIHJlc3BvbnNlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgbmV3IGxvYW4gcGF5b3V0XG4gICAqIEBwYXJhbSBsb2FuXG4gICAqIEBwYXJhbSBwYWlkT3V0TG9hblxuICAgKi9cbiAgYWRkUGF5b3V0TG9hbihsb2FuOiBMb2FuLCBwYWlkT3V0TG9hbjogTG9hblBheW91dCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2xvYW5zLyR7bG9hbi5pZH0vcGF5b3V0YCwgcGFpZE91dExvYW4pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBsb2FuLnBheW91dCA9IHBsYWluVG9DbGFzcyhMb2FuUGF5b3V0LCByZXNwb25zZSk7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkxPQU5fUEFZT1VUX1VQREFURUQsIG51bGwpKTtcbiAgICAgICAgICAvLyByZXNldCBjYWNoZSB0byBmZXRjaCBsb2FucyB3aXRoIHVwZGF0ZWQgZGF0YVxuICAgICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgICB9XG4gICAgICApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgbG9hbiBwYXlvdXRcbiAgICogQHBhcmFtIGxvYW5cbiAgICogQHBhcmFtIHBheW91dFxuICAgKi9cbiAgZGVsZXRlUGF5b3V0TG9hbihsb2FuOiBMb2FuLCBwYXlvdXQ6IExvYW5QYXlvdXQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2xvYW5zLyR7bG9hbi5pZH0vcGF5b3V0LyR7cGF5b3V0LmlkfWApLnBpcGUoXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGxvYW4ucGF5b3V0ID0gbnVsbDtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uTE9BTl9QQVlPVVRfVVBEQVRFRCwgbnVsbCkpO1xuICAgICAgICAgIC8vIHJlc2V0IGNhY2hlIHRvIGZldGNoIGxvYW5zIHdpdGggdXBkYXRlZCBkYXRhXG4gICAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICAgIH1cbiAgICAgICkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBsb2FuIHBheW91dFxuICAgKiBAcGFyYW0gbG9hblxuICAgKiBAcGFyYW0gcGFpZE91dExvYW5cbiAgICovXG4gIHVwZGF0ZVBheW91dExvYW4obG9hbjogTG9hbiwgcGFpZE91dExvYW46IExvYW5QYXlvdXQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2xvYW5zLyR7bG9hbi5pZH0vcGF5b3V0LyR7cGFpZE91dExvYW4uaWR9YCwgcGFpZE91dExvYW4pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICBsb2FuLnBheW91dCA9IHBsYWluVG9DbGFzcyhMb2FuUGF5b3V0LCByZXNwb25zZSk7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkxPQU5fUEFZT1VUX1VQREFURUQsIG51bGwpKTtcbiAgICAgICAgICAvLyByZXNldCBjYWNoZSB0byBmZXRjaCBsb2FucyB3aXRoIHVwZGF0ZWQgZGF0YVxuICAgICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgICB9XG4gICAgICApKTtcbiAgfVxufVxuIl19
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvbG9hbi9sb2FuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBRzlEOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUEyQjtJQUg1RDs7UUFJRSxRQUFHLEdBQVcscUJBQXFCLENBQUM7UUFDcEMsZUFBVSxHQUFnQixJQUFJLENBQUM7S0FxSWhDO0lBbklDOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQzthQUNsRSxTQUFTLENBQUMsQ0FBQyxZQUEyQixFQUFFLEVBQUU7WUFDekMsNkNBQTZDO1lBQzdDLElB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LElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDL0YsK0NBQStDO1lBQy9DLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7eUdBdElVLFdBQVc7NkdBQVgsV0FBVyxjQUZWLE1BQU07NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2FuIGFzIExvYW5CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL2xvYW4vbG9hbic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgTG9hbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9sb2FuL2xvYW4nO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBMb2FuUGF5b3V0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2xvYW4vbG9hbi1wYXlvdXQnO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhhbmRsaW5nIGxvYW5zIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvYW5TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8TG9hbkJhc2UsIExvYW4+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICB1cmw6IHN0cmluZyA9ICdiYW5rLWFjY291bnRzL2xvYW5zJztcbiAgbW9kZWxDbGFzczogdHlwZW9mIExvYW4gPSBMb2FuO1xuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gTG9hbnMgZXZlbnRzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Ub0FkZGVkTG9hbnMoKTtcbiAgICB0aGlzLmxpc3RlblRvVXBkYXRlZEJhbmtBY2NvdW50cygpO1xuICB9XG5cbiAgbGlzdGVuVG9BZGRlZExvYW5zKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9DUkVBVEVEKVxuICAgICAgLnN1YnNjcmliZSgoYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdKSA9PiB7XG4gICAgICAgIC8vIGZldGNoIGxvYW5zIHdoZW4gbG9hbiBiYW5rIGFjY291bnQgY3JlYXRlZFxuICAgICAgICBpZiAoYmFua0FjY291bnRzLmZpbmQoYmEgPT4gISFiYS5sb2FuKSkge1xuICAgICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGxpc3RlblRvVXBkYXRlZEJhbmtBY2NvdW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5CQU5LX0FDQ09VTlRfVVBEQVRFRClcbiAgICAgIC5zdWJzY3JpYmUoKHVwZGF0ZWRCYW5rQWNjb3VudDogQmFua0FjY291bnQpOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKCEhdXBkYXRlZEJhbmtBY2NvdW50LmxvYW4pIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIExvYW5cbiAgICovXG4gIGFkZChtb2RlbDogTG9hbik6IE9ic2VydmFibGU8TG9hbj4ge1xuICAgIHJldHVybiB0aGlzLmFkZEJhdGNoKFttb2RlbF0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdMb2FuOiBMb2FuW10pOiBMb2FuID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3TG9hblswXTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlZCBsb2FuXG4gICAqIEBwYXJhbSBsb2FuXG4gICAqL1xuICB1cGRhdGUobG9hbjogTG9hbik6IE9ic2VydmFibGU8TG9hbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7bG9hbi5pZH1gLCBsb2FuKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXBkYXRlZExvYW5CYXNlOiBMb2FuQmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRMb2FuOiBMb2FuID0gcGxhaW5Ub0NsYXNzKExvYW4sIHVwZGF0ZWRMb2FuQmFzZSk7XG4gICAgICAgICAgLy8gaWYgbG9hbiB0eXBlIGlzIE5PVCB2ZWhpY2xlIC0gZmlyZSBFdmVudERpc3BhdGNoZXIgZXZlbnRcbiAgICAgICAgICBpZiAoIXVwZGF0ZWRMb2FuLmlzVmVoaWNsZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uTE9BTl9VUERBVEVELCBudWxsKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB1cGRhdGVkTG9hbik7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiB1cGRhdGVkTG9hbjtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxpc3Qgb2YgdmVoaWNsZSBsb2Fuc1xuICAgKi9cbiAgZ2V0VmVoaWNsZUxvYW5zKCk6IE9ic2VydmFibGU8TG9hbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGxvYW5zOiBMb2FuW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gbG9hbnMuZmlsdGVyKChsb2FuOiBMb2FuKSA9PiBsb2FuLmlzVmVoaWNsZSgpKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlIGxvYW4gcGF5bWVudHNcbiAgICogQHBhcmFtIGxvYW5cbiAgICovXG4gIGNhbGN1bGF0ZUxvYW5QYXltZW50cyhsb2FuOiBMb2FuKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vY2FsY3VsYXRpb25gLCBsb2FuKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBwbGFpblRvQ2xhc3MoTG9hbiwgcmVzcG9uc2UpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBuZXcgbG9hbiBwYXlvdXRcbiAgICogQHBhcmFtIGxvYW5cbiAgICogQHBhcmFtIHBhaWRPdXRMb2FuXG4gICAqL1xuICBhZGRQYXlvdXRMb2FuKGxvYW46IExvYW4sIHBhaWRPdXRMb2FuOiBMb2FuUGF5b3V0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vbG9hbnMvJHtsb2FuLmlkfS9wYXlvdXRgLCBwYWlkT3V0TG9hbikucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIGxvYW4ucGF5b3V0ID0gcGxhaW5Ub0NsYXNzKExvYW5QYXlvdXQsIHJlc3BvbnNlKTtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uTE9BTl9QQVlPVVRfVVBEQVRFRCwgbnVsbCkpO1xuICAgICAgICAgIC8vIHJlc2V0IGNhY2hlIHRvIGZldGNoIGxvYW5zIHdpdGggdXBkYXRlZCBkYXRhXG4gICAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICAgIH1cbiAgICAgICkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBsb2FuIHBheW91dFxuICAgKiBAcGFyYW0gbG9hblxuICAgKiBAcGFyYW0gcGF5b3V0XG4gICAqL1xuICBkZWxldGVQYXlvdXRMb2FuKGxvYW46IExvYW4sIHBheW91dDogTG9hblBheW91dCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vbG9hbnMvJHtsb2FuLmlkfS9wYXlvdXQvJHtwYXlvdXQuaWR9YCkucGlwZShcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgbG9hbi5wYXlvdXQgPSBudWxsO1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5MT0FOX1BBWU9VVF9VUERBVEVELCBudWxsKSk7XG4gICAgICAgICAgLy8gcmVzZXQgY2FjaGUgdG8gZmV0Y2ggbG9hbnMgd2l0aCB1cGRhdGVkIGRhdGFcbiAgICAgICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICAgICAgfVxuICAgICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGxvYW4gcGF5b3V0XG4gICAqIEBwYXJhbSBsb2FuXG4gICAqIEBwYXJhbSBwYWlkT3V0TG9hblxuICAgKi9cbiAgdXBkYXRlUGF5b3V0TG9hbihsb2FuOiBMb2FuLCBwYWlkT3V0TG9hbjogTG9hblBheW91dCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vbG9hbnMvJHtsb2FuLmlkfS9wYXlvdXQvJHtwYWlkT3V0TG9hbi5pZH1gLCBwYWlkT3V0TG9hbikucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgIGxvYW4ucGF5b3V0ID0gcGxhaW5Ub0NsYXNzKExvYW5QYXlvdXQsIHJlc3BvbnNlKTtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uTE9BTl9QQVlPVVRfVVBEQVRFRCwgbnVsbCkpO1xuICAgICAgICAgIC8vIHJlc2V0IGNhY2hlIHRvIGZldGNoIGxvYW5zIHdpdGggdXBkYXRlZCBkYXRhXG4gICAgICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgICAgIH1cbiAgICAgICkpO1xuICB9XG59XG4iXX0=
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
58
58
  providedIn: 'root'
59
59
  }]
60
60
  }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZG9jdW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LWRvY3VtZW50L3Byb3BlcnR5LWRvY3VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFJaEY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsV0FBbUQ7SUFIaEc7O1FBSUUsZUFBVSxHQUE0QixnQkFBZ0IsQ0FBQztRQUN2RCxRQUFHLEdBQVcsc0JBQXNCLENBQUM7S0ErQ3RDO0lBN0NDOztPQUVHO0lBQ0gsTUFBTSxDQUFDLElBQVUsRUFBRSxVQUFrQjtRQUNuQyw0Q0FBNEM7UUFDNUMsTUFBTSxnQkFBZ0IsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2xELGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxlQUFlLFVBQVUsWUFBWSxFQUFFLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUMxRyxHQUFHLENBQUMsQ0FBQyxZQUFrQyxFQUFvQixFQUFFO1lBQzNELE1BQU0sV0FBVyxHQUFxQixZQUFZLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFFbkYsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM3QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDcEI7WUFFRCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWUsQ0FBQyxVQUFrQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUU7YUFDZCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsU0FBNkIsRUFBRSxFQUFFO1lBQ3BDLE9BQU8sU0FBUztpQkFDYixNQUFNLENBQUMsQ0FBQyxRQUEwQixFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsQ0FBQztRQUNqRixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU8sZ0NBQWdDO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsOEJBQThCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFrQixFQUFRLEVBQUU7WUFDckgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3FIQWhEVSx1QkFBdUI7eUhBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eURvY3VtZW50IGFzIFByb3BlcnR5RG9jdW1lbnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LWRvY3VtZW50JztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFByb3BlcnR5RG9jdW1lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktZG9jdW1lbnQnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5cbi8qKlxuICogQ2xhc3MgZm9yIHdvcmsgd2l0aCBQcm9wZXJ0eSBEb2N1bWVudHNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlEb2N1bWVudFNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxQcm9wZXJ0eURvY3VtZW50QmFzZSwgUHJvcGVydHlEb2N1bWVudD4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBQcm9wZXJ0eURvY3VtZW50ID0gUHJvcGVydHlEb2N1bWVudDtcbiAgdXJsOiBzdHJpbmcgPSAncHJvcGVydGllcy9kb2N1bWVudHMnO1xuXG4gIC8qKlxuICAgKiBBZGQgbmV3IFByb3BlcnR5IERvY3VtZW50XG4gICAqL1xuICB1cGxvYWQoZmlsZTogRmlsZSwgcHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eURvY3VtZW50PiB7XG4gICAgLy8gY3JlYXRlIGZvcm1EYXRhIG9iamVjdCB3aXRoIHByb3ZpZGVkIGZpbGVcbiAgICBjb25zdCBmb3JtRGF0YURvY3VtZW50OiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhRG9jdW1lbnQuYXBwZW5kKCdmaWxlJywgZmlsZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vcHJvcGVydGllcy8ke3Byb3BlcnR5SWR9L2RvY3VtZW50c2AsIGZvcm1EYXRhRG9jdW1lbnQpLnBpcGUoXG4gICAgICBtYXAoKGRvY3VtZW50QmFzZTogUHJvcGVydHlEb2N1bWVudEJhc2UpOiBQcm9wZXJ0eURvY3VtZW50ID0+IHtcbiAgICAgICAgY29uc3QgbmV3RG9jdW1lbnQ6IFByb3BlcnR5RG9jdW1lbnQgPSBwbGFpblRvQ2xhc3MoUHJvcGVydHlEb2N1bWVudCwgZG9jdW1lbnRCYXNlKTtcblxuICAgICAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgICAgIHRoaXMuY2FjaGUucHVzaChuZXdEb2N1bWVudCk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld0RvY3VtZW50O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkb2N1bWVudHMgYnkgcHJvcGVydHkgaWRcbiAgICogQHBhcmFtIHByb3BlcnR5SWQgdG8gZ2V0IGRlc2lyZWQgZG9jdW1lbnRzXG4gICAqL1xuICBnZXRCeVByb3BlcnR5SWQocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eURvY3VtZW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZG9jdW1lbnRzOiBQcm9wZXJ0eURvY3VtZW50W10pID0+IHtcbiAgICAgICAgICByZXR1cm4gZG9jdW1lbnRzXG4gICAgICAgICAgICAuZmlsdGVyKChkb2N1bWVudDogUHJvcGVydHlEb2N1bWVudCkgPT4gZG9jdW1lbnQucHJvcGVydHkuaWQgPT09IHByb3BlcnR5SWQpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblByb3BlcnR5VXBkYXRlV2l0aERvY3VtZW50KCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblByb3BlcnR5VXBkYXRlV2l0aERvY3VtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1VQREFURURfV0lUSF9ET0NVTUVOVCkuc3Vic2NyaWJlKChwcm9wZXJ0eTogUHJvcGVydHkpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMudXBsb2FkKHByb3BlcnR5LmRvY3VtZW50RmlsZSwgcHJvcGVydHkuaWQpLnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZG9jdW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LWRvY3VtZW50L3Byb3BlcnR5LWRvY3VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFJaEY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsV0FBbUQ7SUFIaEc7O1FBSUUsZUFBVSxHQUE0QixnQkFBZ0IsQ0FBQztRQUN2RCxRQUFHLEdBQVcsc0JBQXNCLENBQUM7S0ErQ3RDO0lBN0NDOztPQUVHO0lBQ0gsTUFBTSxDQUFDLElBQVUsRUFBRSxVQUFrQjtRQUNuQyw0Q0FBNEM7UUFDNUMsTUFBTSxnQkFBZ0IsR0FBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2xELGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxlQUFlLFVBQVUsWUFBWSxFQUFFLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUMxRyxHQUFHLENBQUMsQ0FBQyxZQUFrQyxFQUFvQixFQUFFO1lBQzNELE1BQU0sV0FBVyxHQUFxQixZQUFZLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFFbkYsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM3QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDcEI7WUFFRCxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWUsQ0FBQyxVQUFrQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUU7YUFDZCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsU0FBNkIsRUFBRSxFQUFFO1lBQ3BDLE9BQU8sU0FBUztpQkFDYixNQUFNLENBQUMsQ0FBQyxRQUEwQixFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsQ0FBQztRQUNqRixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU8sZ0NBQWdDO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsOEJBQThCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFrQixFQUFRLEVBQUU7WUFDckgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM5RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3FIQWhEVSx1QkFBdUI7eUhBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcm9wZXJ0eURvY3VtZW50IGFzIFByb3BlcnR5RG9jdW1lbnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL2RvY3VtZW50L3Byb3BlcnR5LWRvY3VtZW50JztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFByb3BlcnR5RG9jdW1lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktZG9jdW1lbnQnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5cbi8qKlxuICogQ2xhc3MgZm9yIHdvcmsgd2l0aCBQcm9wZXJ0eSBEb2N1bWVudHNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlEb2N1bWVudFNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxQcm9wZXJ0eURvY3VtZW50QmFzZSwgUHJvcGVydHlEb2N1bWVudD4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBQcm9wZXJ0eURvY3VtZW50ID0gUHJvcGVydHlEb2N1bWVudDtcbiAgdXJsOiBzdHJpbmcgPSAncHJvcGVydGllcy9kb2N1bWVudHMnO1xuXG4gIC8qKlxuICAgKiBBZGQgbmV3IFByb3BlcnR5IERvY3VtZW50XG4gICAqL1xuICB1cGxvYWQoZmlsZTogRmlsZSwgcHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eURvY3VtZW50PiB7XG4gICAgLy8gY3JlYXRlIGZvcm1EYXRhIG9iamVjdCB3aXRoIHByb3ZpZGVkIGZpbGVcbiAgICBjb25zdCBmb3JtRGF0YURvY3VtZW50OiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhRG9jdW1lbnQuYXBwZW5kKCdmaWxlJywgZmlsZSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vcHJvcGVydGllcy8ke3Byb3BlcnR5SWR9L2RvY3VtZW50c2AsIGZvcm1EYXRhRG9jdW1lbnQpLnBpcGUoXG4gICAgICBtYXAoKGRvY3VtZW50QmFzZTogUHJvcGVydHlEb2N1bWVudEJhc2UpOiBQcm9wZXJ0eURvY3VtZW50ID0+IHtcbiAgICAgICAgY29uc3QgbmV3RG9jdW1lbnQ6IFByb3BlcnR5RG9jdW1lbnQgPSBwbGFpblRvQ2xhc3MoUHJvcGVydHlEb2N1bWVudCwgZG9jdW1lbnRCYXNlKTtcblxuICAgICAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgICAgIHRoaXMuY2FjaGUucHVzaChuZXdEb2N1bWVudCk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld0RvY3VtZW50O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkb2N1bWVudHMgYnkgcHJvcGVydHkgaWRcbiAgICogQHBhcmFtIHByb3BlcnR5SWQgdG8gZ2V0IGRlc2lyZWQgZG9jdW1lbnRzXG4gICAqL1xuICBnZXRCeVByb3BlcnR5SWQocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eURvY3VtZW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZG9jdW1lbnRzOiBQcm9wZXJ0eURvY3VtZW50W10pID0+IHtcbiAgICAgICAgICByZXR1cm4gZG9jdW1lbnRzXG4gICAgICAgICAgICAuZmlsdGVyKChkb2N1bWVudDogUHJvcGVydHlEb2N1bWVudCkgPT4gZG9jdW1lbnQucHJvcGVydHkuaWQgPT09IHByb3BlcnR5SWQpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblByb3BlcnR5VXBkYXRlV2l0aERvY3VtZW50KCk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblByb3BlcnR5VXBkYXRlV2l0aERvY3VtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1VQREFURURfV0lUSF9ET0NVTUVOVCkuc3Vic2NyaWJlKChwcm9wZXJ0eTogUHJvcGVydHkpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMudXBsb2FkKHByb3BlcnR5LmRvY3VtZW50RmlsZSwgcHJvcGVydHkuaWQpLnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -38,7 +38,7 @@ export class RestService {
38
38
  * get instance by id from cache
39
39
  * @param id ID of required item
40
40
  */
41
- getById(id) {
41
+ findById(id) {
42
42
  return this.get()
43
43
  .pipe(map((items) => {
44
44
  return items.find((item) => item['id'] === id);
@@ -214,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
214
214
  type: Inject,
215
215
  args: ['environment']
216
216
  }] }, { type: i3.ToastService }]; } });
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcmVzdC9yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBSS9EOzs7Ozs7O0dBT0c7QUFJSCxNQUFNLE9BQWdCLFdBQVc7SUFtQi9CLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCLEVBQ3ZDLFlBQTBCO1FBSDFCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWZ0Qyw0QkFBNEI7UUFDbEIsaUJBQVksR0FBMkIsSUFBSSxhQUFhLENBQVUsQ0FBQyxDQUFDLENBQUM7UUFnQjdFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDMUI7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8s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QUMsUUFBUSxDQUFDO2lCQUN4RSxHQUFHLENBQUMsQ0FBQyxJQUFlLEVBQVMsRUFBRTtnQkFDOUIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztZQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDTyxXQUFXO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLG1CQUFtQixDQUFDLEtBQWtDLEVBQUUsU0FBb0I7UUFDcEYsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLEtBQVUsQ0FBQzs7eUdBeFBILFdBQVcsa0ZBc0JyQixhQUFhOzZHQXRCSCxXQUFXLGNBRm5CLE1BQU07NEZBRUUsV0FBVztrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQXVCSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2xhc3NUb1BsYWluLCBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEFic3RyYWN0IGJhc2Ugc2VydmljZSB0aGF0IGltcGxlbWVudHMgY29tbW9uIHNlcnZpY2VzIGZ1bmN0aW9uYWxpdHlcbiAqIGFuZCBkZXNjcmliZSBhYnN0cmFjdCBtZXRob2RzL3Byb3BlcnRpZXMgdGhhdCBoYXZlIHRvIGJlIGltcGxlbWVudGVkIGluIGNoaWxkIHNlcnZpY2VzXG4gKiBNb2RlbCAtIGVudGl0eSBzZXJ2aWNlIGlzIHdvcmtpbmcgd2l0aFxuICogQmFzZU1vZGVsIC0gYmFzZSBlbnRpdHkgbW9kZWwgdGhhdCBleHRlbmRzIGJ5IE1vZGVsXG4gKiBAVE9ETyBBbGV4OiByZWZhY3RvciBhbGwgc2VydmljZXMgZm9yIHdvcmsgd2l0aCBjb2xsZWN0aW9ucyBpbnN0ZWFkIG9mIGFycmF5c1xuICogQFRPRE8gQWxleDogaW1wbGVtZW50IHNtYXJ0IHN5c3RlbSBvZiBkZWZhdWx0IHRvYXN0IG1lc3NhZ2VzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlc3RTZXJ2aWNlPEJhc2VNb2RlbCwgTW9kZWwgZXh0ZW5kcyBCYXNlTW9kZWw+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICAvLyB1cmwgcGFydCBmb3Igc2VydmljZSBlbnRpdHkgQVBJLiBIYXZlIHRvIGJlIGRlZmluZWQgaW4gZXh0ZW5kZWQgY2xhc3Nlc1xuICBhYnN0cmFjdCB1cmw6IHN0cmluZztcbiAgLy8gTW9kZWwgY2xhc3MgZm9yIGluc3RhbmNlcyBjcmVhdGluZ1xuICBhYnN0cmFjdCBtb2RlbENsYXNzO1xuICAvLyBAVE9ETyBNYWtlIGNhY2hlIFJlYWRvbmx5XG4gIC8vIGNhY2hlZCBhcnJheSBvZiBzZXJ2aWNlIGNsYXNzIGluc3RhbmNlc1xuICBwcm90ZWN0ZWQgY2FjaGU6IE1vZGVsW107XG4gIC8vIHN1YmplY3QgZm9yIHNlcnZpY2UgY2FjaGVcbiAgcHJvdGVjdGVkIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxNb2RlbFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PE1vZGVsW10+KDEpO1xuICAvLyBmbGFnIGZvciB3b3JrIHdpdGggQVBJIHBsYXRmb3JtXG4gIHByb3RlY3RlZCBpc0h5ZHJhOiBib29sZWFuO1xuICBtZXNzYWdlQ3JlYXRlZDogc3RyaW5nO1xuICBtZXNzYWdlQ3JlYXRlZEJhdGNoOiBzdHJpbmc7XG4gIG1lc3NhZ2VVcGRhdGVkOiBzdHJpbmc7XG4gIG1lc3NhZ2VVcGRhdGVkQmF0Y2g6IHN0cmluZztcbiAgbWVzc2FnZURlbGV0ZWQ6IHN0cmluZztcbiAgbWVzc2FnZURlbGV0ZWRCYXRjaDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGNhY2hlZCBsaXN0IG9mIGFsbCBpbnN0YW5jZXNcbiAgICovXG4gIGdldCgpOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGluc3RhbmNlIGJ5IGlkIGZyb20gY2FjaGVcbiAgICogQHBhcmFtIGlkIElEIG9mIHJlcXVpcmVkIGl0ZW1cbiAgICovXG4gIGdldEJ5SWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoaXRlbXM6IE1vZGVsW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gaXRlbXMuZmluZCgoaXRlbTogTW9kZWwpID0+IGl0ZW1bJ2lkJ10gPT09IGlkKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgaXRlbXMgZmlsdGVyZWQgYnkgaWQuXG4gICAqIEBwYXJhbSBtb2RlbHMgQXJyYXkgb2Ygb2JqZWN0cyBjb250YWlucyByZXF1aXJlZCBpdGVtcyBpZHNcbiAgICovXG4gIGdldEJ5SWRzKG1vZGVsczogTW9kZWxbXSk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIGNvbnN0IGlkc0FycmF5OiBudW1iZXJbXSA9IG1vZGVscy5tYXAoKG1vZGVsOiBNb2RlbCkgPT4gbW9kZWxbJ2lkJ10pO1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGl0ZW1zOiBNb2RlbFtdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbTogTW9kZWwpID0+IGlkc0FycmF5LmluY2x1ZGVzKGl0ZW1bJ2lkJ10pKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogYWRkIG5ldyBpbnN0YW5jZSBhbmQgdXBkYXRlIGNhY2hlXG4gICAqIEBUT0RPIHJlbmFtZSB0byBwb3N0XG4gICAqL1xuICBhZGQobW9kZWw6IE1vZGVsLCBzaG91bGRVcGRhdGVDYWNoZTogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgY2xhc3NUb1BsYWluKG1vZGVsKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKG5ld0l0ZW06IEJhc2VNb2RlbCkgPT4ge1xuICAgICAgICAgIGlmICghc2hvdWxkVXBkYXRlQ2FjaGUpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbmV3SW5zdGFuY2U6IE1vZGVsID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgbmV3SXRlbSk7XG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaChuZXdJbnN0YW5jZSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRoaXMubWVzc2FnZUNyZWF0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnN1Y2Nlc3ModGhpcy5tZXNzYWdlQ3JlYXRlZCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgc2V2ZXJhbCBuZXcgaXRlbXNcbiAgICogQHBhcmFtIG1vZGVscyBBcnJheSBvZiBuZXcgaXRlbXMgZm9yIHNhdmluZ1xuICAgKiBAcGFyYW0gcXVlcnlQYXJhbXMgcXVlcnkgcGFyYW1ldGVycyBmb3IgcmVxdWVzdFxuICAgKiBAVE9ETyByZW5hbWUgdG8gcG9zdEJhdGNoXG4gICAqL1xuICBhZGRCYXRjaChtb2RlbHM6IE1vZGVsW10sIHF1ZXJ5UGFyYW1zOiBvYmplY3QgPSB7fSk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGNsYXNzVG9QbGFpbihtb2RlbHMpLCBxdWVyeVBhcmFtcylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKG5ld0l0ZW1zOiBCYXNlTW9kZWxbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0luc3RhbmNlczogTW9kZWxbXSA9IG5ld0l0ZW1zLm1hcCgoaXRlbTogQmFzZU1vZGVsKSA9PiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UodGhpcy5tb2RlbENsYXNzLCBpdGVtKSk7XG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaCguLi5uZXdJbnN0YW5jZXMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VDcmVhdGVkQmF0Y2gpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnN1Y2Nlc3ModGhpcy5tZXNzYWdlQ3JlYXRlZEJhdGNoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2VzO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgaXRlbVxuICAgKiBAcGFyYW0gbW9kZWwgRXhpc3RpbmcgaW5zdGFuY2UgZm9yIHVwZGF0aW5nXG4gICAqIEBwYXJhbSBxdWVyeVBhcmFtcyBxdWVyeSBwYXJhbWV0ZXJzIGZvciByZXF1ZXN0XG4gICAqIEBUT0RPIHJlbmFtZSB0byBwdXRcbiAgICovXG4gIHVwZGF0ZShtb2RlbDogTW9kZWwsIHF1ZXJ5UGFyYW1zOiBvYmplY3QgPSB7fSk6IE9ic2VydmFibGU8TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke21vZGVsWydpZCddfWAsIGNsYXNzVG9QbGFpbihtb2RlbCksIHF1ZXJ5UGFyYW1zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXBkYXRlZEl0ZW06IEJhc2VNb2RlbCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRJbnN0YW5jZTogTW9kZWwgPSB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UodGhpcy5tb2RlbENsYXNzLCB1cGRhdGVkSXRlbSk7XG4gICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB1cGRhdGVkSW5zdGFuY2UpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcblxuICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VVcGRhdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zdWNjZXNzKHRoaXMubWVzc2FnZVVwZGF0ZWQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkSW5zdGFuY2U7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBzZXZlcmFsIGl0ZW1zXG4gICAqIEBwYXJhbSBtb2RlbHMgQXJyYXkgb2YgaXRlbXMgZm9yIHVwZGF0aW5nXG4gICAqIEBwYXJhbSBxdWVyeVBhcmFtcyBxdWVyeSBwYXJhbWV0ZXJzIGZvciByZXF1ZXN0XG4gICAqIFRPRE8gcmVuYW1lIHRvIHB1dEJhdGNoXG4gICAqL1xuICB1cGRhdGVCYXRjaChtb2RlbHM6IE1vZGVsW10sIHF1ZXJ5UGFyYW1zOiBvYmplY3QgPSB7fSk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgY2xhc3NUb1BsYWluKG1vZGVscyksIHF1ZXJ5UGFyYW1zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXBkYXRlZEl0ZW1zOiBCYXNlTW9kZWxbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRJbnN0YW5jZXM6IE1vZGVsW10gPSB1cGRhdGVkSXRlbXMubWFwKChpdGVtOiBCYXNlTW9kZWwpID0+IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZSh0aGlzLm1vZGVsQ2xhc3MsIGl0ZW0pKTtcbiAgICAgICAgICB1cGRhdGVkSW5zdGFuY2VzLmZvckVhY2goKGluc3RhbmNlOiBNb2RlbCkgPT4ge1xuICAgICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBpbnN0YW5jZSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAodGhpcy5tZXNzYWdlVXBkYXRlZEJhdGNoKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zdWNjZXNzKHRoaXMubWVzc2FnZVVwZGF0ZWRCYXRjaCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiB1cGRhdGVkSW5zdGFuY2VzO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZWxldGUgaW5zdGFuY2Ugb2YgY2xhc3NcbiAgICogQHBhcmFtIG1vZGVsIENsYXNzIGluc3RhbmNlIGZvciBkZWxldGluZ1xuICAgKi9cbiAgZGVsZXRlKG1vZGVsOiBNb2RlbCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7bW9kZWxbJ2lkJ119YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLmZpbHRlcigoaXRlbTogTW9kZWwpID0+IGl0ZW1bJ2lkJ10gIT09IG1vZGVsWydpZCddKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG5cbiAgICAgICAgICBpZiAodGhpcy5tZXNzYWdlRGVsZXRlZCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc3VjY2Vzcyh0aGlzLm1lc3NhZ2VEZWxldGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGRlbGV0ZSBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgY2xhc3NcbiAgICogQHBhcmFtIG1vZGVscyBDbGFzcyBpbnN0YW5jZXMgYXJyYXkgZm9yIGRlbGV0aW5nXG4gICAqL1xuICBkZWxldGVCYXRjaChtb2RlbHM6IE1vZGVsW10pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vZGVsZXRlYCwgbW9kZWxzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgaWRzOiBudW1iZXJbXSA9IG1vZGVscy5tYXAoKG1vZGVsOiBNb2RlbCk6IG51bWJlciA9PiBtb2RlbFsnaWQnXSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUuZmlsdGVyKChpdGVtOiBNb2RlbCkgPT4gIWlkcy5pbmNsdWRlcyhpdGVtWydpZCddKSk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuXG4gICAgICAgICAgaWYgKHRoaXMubWVzc2FnZURlbGV0ZWRCYXRjaCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc3VjY2Vzcyh0aGlzLm1lc3NhZ2VEZWxldGVkQmF0Y2gpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogY2xlYXIgc2VydmljZSBjYWNoZVxuICAgKi9cbiAgcmVzZXRDYWNoZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgYmFzZSBjbGFzcyBpbnN0YW5jZXMgZGlyZWN0bHkgZnJvbSBiYWNrZW5kXG4gICAqL1xuICBwcm90ZWN0ZWQgZmV0Y2goKTogT2JzZXJ2YWJsZTxNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IEJhc2VNb2RlbFtdKTogTW9kZWxbXSA9PiB7XG4gICAgICAgICAgY29uc3QgaXRlbXM6IE1vZGVsW10gPSAodGhpcy5pc0h5ZHJhID8gcmVzcG9uc2VbJ2h5ZHJhOm1lbWJlciddIDogcmVzcG9uc2UpXG4gICAgICAgICAgICAubWFwKChpdGVtOiBCYXNlTW9kZWwpOiBNb2RlbCA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UodGhpcy5tb2RlbENsYXNzLCBpdGVtKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSBpdGVtcztcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2FjaGUgc3ViamVjdCB3aXRoIGN1cnJlbnQgY2FjaGUgYXJyYXkgdmFsdWVcbiAgICovXG4gIHByb3RlY3RlZCB1cGRhdGVDYWNoZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUuc2xpY2UoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIG5ldyBpbnN0YW5jZSBvZiBjbGFzc1xuICAgKiBAcGFyYW0gbW9kZWwgVGhlIGNsYXNzIGZvciB3aGljaCB5b3Ugd2FudCB0byBjcmVhdGUgYW4gaW5zdGFuY2VcbiAgICogQHBhcmFtIGJhc2VNb2RlbCBiYXNlIG1vZGVsIGluc3RhbmNlIHRoYXQgd2Ugd2lsbCB1c2UgYXMgY29uc3RydWN0b3Igb3B0aW9uc1xuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZU1vZGVsSW5zdGFuY2UobW9kZWw6IG5ldyhibTogQmFzZU1vZGVsKSA9PiBNb2RlbCwgYmFzZU1vZGVsOiBCYXNlTW9kZWwpOiBNb2RlbCB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhtb2RlbCwgYmFzZU1vZGVsLCB7IGV4Y2x1ZGVQcmVmaXhlczogWydAJ10gfSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHRoYXQgY2FsbCBhbGwgbGlzdGVuZXJzLiBFbXB0eSBieSBkZWZhdWx0LiBTaG91bGQgYmUgcmVkZWZpbmVkIGJ5IGNoaWxkIHNlcnZpY2VzIGlmIHJlcXVpcmVkXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7fVxufVxuIl19
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvcmVzdC9yZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBSS9EOzs7Ozs7O0dBT0c7QUFJSCxNQUFNLE9BQWdCLFdBQVc7SUFtQi9CLFlBQ1ksSUFBZ0IsRUFDaEIsc0JBQThDLEVBQ3ZCLFdBQWdCLEVBQ3ZDLFlBQTBCO1FBSDFCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQWZ0Qyw0QkFBNEI7UUFDbEIsaUJBQVksR0FBMkIsSUFBSSxhQUFhLENBQVUsQ0FBQyxDQUFDLENBQUM7UUFnQjdFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDMUI7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEs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QUMsUUFBUSxDQUFDO2lCQUN4RSxHQUFHLENBQUMsQ0FBQyxJQUFlLEVBQVMsRUFBRTtnQkFDOUIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztZQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDTyxXQUFXO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLG1CQUFtQixDQUFDLEtBQWtDLEVBQUUsU0FBb0I7UUFDcEYsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZLEtBQVUsQ0FBQzs7eUdBeFBILFdBQVcsa0ZBc0JyQixhQUFhOzZHQXRCSCxXQUFXLGNBRm5CLE1BQU07NEZBRUUsV0FBVztrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQXVCSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgY2xhc3NUb1BsYWluLCBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEFic3RyYWN0IGJhc2Ugc2VydmljZSB0aGF0IGltcGxlbWVudHMgY29tbW9uIHNlcnZpY2VzIGZ1bmN0aW9uYWxpdHlcbiAqIGFuZCBkZXNjcmliZSBhYnN0cmFjdCBtZXRob2RzL3Byb3BlcnRpZXMgdGhhdCBoYXZlIHRvIGJlIGltcGxlbWVudGVkIGluIGNoaWxkIHNlcnZpY2VzXG4gKiBNb2RlbCAtIGVudGl0eSBzZXJ2aWNlIGlzIHdvcmtpbmcgd2l0aFxuICogQmFzZU1vZGVsIC0gYmFzZSBlbnRpdHkgbW9kZWwgdGhhdCBleHRlbmRzIGJ5IE1vZGVsXG4gKiBAVE9ETyBBbGV4OiByZWZhY3RvciBhbGwgc2VydmljZXMgZm9yIHdvcmsgd2l0aCBjb2xsZWN0aW9ucyBpbnN0ZWFkIG9mIGFycmF5c1xuICogQFRPRE8gQWxleDogaW1wbGVtZW50IHNtYXJ0IHN5c3RlbSBvZiBkZWZhdWx0IHRvYXN0IG1lc3NhZ2VzXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlc3RTZXJ2aWNlPEJhc2VNb2RlbCwgTW9kZWwgZXh0ZW5kcyBCYXNlTW9kZWw+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICAvLyB1cmwgcGFydCBmb3Igc2VydmljZSBlbnRpdHkgQVBJLiBIYXZlIHRvIGJlIGRlZmluZWQgaW4gZXh0ZW5kZWQgY2xhc3Nlc1xuICBhYnN0cmFjdCB1cmw6IHN0cmluZztcbiAgLy8gTW9kZWwgY2xhc3MgZm9yIGluc3RhbmNlcyBjcmVhdGluZ1xuICBhYnN0cmFjdCBtb2RlbENsYXNzO1xuICAvLyBAVE9ETyBNYWtlIGNhY2hlIFJlYWRvbmx5XG4gIC8vIGNhY2hlZCBhcnJheSBvZiBzZXJ2aWNlIGNsYXNzIGluc3RhbmNlc1xuICBwcm90ZWN0ZWQgY2FjaGU6IE1vZGVsW107XG4gIC8vIHN1YmplY3QgZm9yIHNlcnZpY2UgY2FjaGVcbiAgcHJvdGVjdGVkIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxNb2RlbFtdPiA9IG5ldyBSZXBsYXlTdWJqZWN0PE1vZGVsW10+KDEpO1xuICAvLyBmbGFnIGZvciB3b3JrIHdpdGggQVBJIHBsYXRmb3JtXG4gIHByb3RlY3RlZCBpc0h5ZHJhOiBib29sZWFuO1xuICBtZXNzYWdlQ3JlYXRlZDogc3RyaW5nO1xuICBtZXNzYWdlQ3JlYXRlZEJhdGNoOiBzdHJpbmc7XG4gIG1lc3NhZ2VVcGRhdGVkOiBzdHJpbmc7XG4gIG1lc3NhZ2VVcGRhdGVkQmF0Y2g6IHN0cmluZztcbiAgbWVzc2FnZURlbGV0ZWQ6IHN0cmluZztcbiAgbWVzc2FnZURlbGV0ZWRCYXRjaDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGNhY2hlZCBsaXN0IG9mIGFsbCBpbnN0YW5jZXNcbiAgICovXG4gIGdldCgpOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGluc3RhbmNlIGJ5IGlkIGZyb20gY2FjaGVcbiAgICogQHBhcmFtIGlkIElEIG9mIHJlcXVpcmVkIGl0ZW1cbiAgICovXG4gIGZpbmRCeUlkKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGl0ZW1zOiBNb2RlbFtdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbmQoKGl0ZW06IE1vZGVsKSA9PiBpdGVtWydpZCddID09PSBpZCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIGl0ZW1zIGZpbHRlcmVkIGJ5IGlkLlxuICAgKiBAcGFyYW0gbW9kZWxzIEFycmF5IG9mIG9iamVjdHMgY29udGFpbnMgcmVxdWlyZWQgaXRlbXMgaWRzXG4gICAqL1xuICBnZXRCeUlkcyhtb2RlbHM6IE1vZGVsW10pOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICBjb25zdCBpZHNBcnJheTogbnVtYmVyW10gPSBtb2RlbHMubWFwKChtb2RlbDogTW9kZWwpID0+IG1vZGVsWydpZCddKTtcblxuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChpdGVtczogTW9kZWxbXSkgPT4ge1xuICAgICAgICAgIHJldHVybiBpdGVtcy5maWx0ZXIoKGl0ZW06IE1vZGVsKSA9PiBpZHNBcnJheS5pbmNsdWRlcyhpdGVtWydpZCddKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGFkZCBuZXcgaW5zdGFuY2UgYW5kIHVwZGF0ZSBjYWNoZVxuICAgKiBAVE9ETyByZW5hbWUgdG8gcG9zdFxuICAgKi9cbiAgYWRkKG1vZGVsOiBNb2RlbCwgc2hvdWxkVXBkYXRlQ2FjaGU6IGJvb2xlYW4gPSB0cnVlKTogT2JzZXJ2YWJsZTxNb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGNsYXNzVG9QbGFpbihtb2RlbCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdJdGVtOiBCYXNlTW9kZWwpID0+IHtcbiAgICAgICAgICBpZiAoIXNob3VsZFVwZGF0ZUNhY2hlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG5ld0luc3RhbmNlOiBNb2RlbCA9IHRoaXMuY3JlYXRlTW9kZWxJbnN0YW5jZSh0aGlzLm1vZGVsQ2xhc3MsIG5ld0l0ZW0pO1xuICAgICAgICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlLnB1c2gobmV3SW5zdGFuY2UpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VDcmVhdGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zdWNjZXNzKHRoaXMubWVzc2FnZUNyZWF0ZWQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXdJbnN0YW5jZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHNldmVyYWwgbmV3IGl0ZW1zXG4gICAqIEBwYXJhbSBtb2RlbHMgQXJyYXkgb2YgbmV3IGl0ZW1zIGZvciBzYXZpbmdcbiAgICogQHBhcmFtIHF1ZXJ5UGFyYW1zIHF1ZXJ5IHBhcmFtZXRlcnMgZm9yIHJlcXVlc3RcbiAgICogQFRPRE8gcmVuYW1lIHRvIHBvc3RCYXRjaFxuICAgKi9cbiAgYWRkQmF0Y2gobW9kZWxzOiBNb2RlbFtdLCBxdWVyeVBhcmFtczogb2JqZWN0ID0ge30pOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBjbGFzc1RvUGxhaW4obW9kZWxzKSwgcXVlcnlQYXJhbXMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdJdGVtczogQmFzZU1vZGVsW10pID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdJbnN0YW5jZXM6IE1vZGVsW10gPSBuZXdJdGVtcy5tYXAoKGl0ZW06IEJhc2VNb2RlbCkgPT4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgaXRlbSkpO1xuICAgICAgICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlLnB1c2goLi4ubmV3SW5zdGFuY2VzKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5tZXNzYWdlQ3JlYXRlZEJhdGNoKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zdWNjZXNzKHRoaXMubWVzc2FnZUNyZWF0ZWRCYXRjaCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlcztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGl0ZW1cbiAgICogQHBhcmFtIG1vZGVsIEV4aXN0aW5nIGluc3RhbmNlIGZvciB1cGRhdGluZ1xuICAgKiBAcGFyYW0gcXVlcnlQYXJhbXMgcXVlcnkgcGFyYW1ldGVycyBmb3IgcmVxdWVzdFxuICAgKiBAVE9ETyByZW5hbWUgdG8gcHV0XG4gICAqL1xuICB1cGRhdGUobW9kZWw6IE1vZGVsLCBxdWVyeVBhcmFtczogb2JqZWN0ID0ge30pOiBPYnNlcnZhYmxlPE1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHttb2RlbFsnaWQnXX1gLCBjbGFzc1RvUGxhaW4obW9kZWwpLCBxdWVyeVBhcmFtcylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVwZGF0ZWRJdGVtOiBCYXNlTW9kZWwpID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkSW5zdGFuY2U6IE1vZGVsID0gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgdXBkYXRlZEl0ZW0pO1xuICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgdXBkYXRlZEluc3RhbmNlKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG5cbiAgICAgICAgICBpZiAodGhpcy5tZXNzYWdlVXBkYXRlZCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc3VjY2Vzcyh0aGlzLm1lc3NhZ2VVcGRhdGVkKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXBkYXRlZEluc3RhbmNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgc2V2ZXJhbCBpdGVtc1xuICAgKiBAcGFyYW0gbW9kZWxzIEFycmF5IG9mIGl0ZW1zIGZvciB1cGRhdGluZ1xuICAgKiBAcGFyYW0gcXVlcnlQYXJhbXMgcXVlcnkgcGFyYW1ldGVycyBmb3IgcmVxdWVzdFxuICAgKiBUT0RPIHJlbmFtZSB0byBwdXRCYXRjaFxuICAgKi9cbiAgdXBkYXRlQmF0Y2gobW9kZWxzOiBNb2RlbFtdLCBxdWVyeVBhcmFtczogb2JqZWN0ID0ge30pOiBPYnNlcnZhYmxlPE1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGNsYXNzVG9QbGFpbihtb2RlbHMpLCBxdWVyeVBhcmFtcylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVwZGF0ZWRJdGVtczogQmFzZU1vZGVsW10pID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkSW5zdGFuY2VzOiBNb2RlbFtdID0gdXBkYXRlZEl0ZW1zLm1hcCgoaXRlbTogQmFzZU1vZGVsKSA9PiB0aGlzLmNyZWF0ZU1vZGVsSW5zdGFuY2UodGhpcy5tb2RlbENsYXNzLCBpdGVtKSk7XG4gICAgICAgICAgdXBkYXRlZEluc3RhbmNlcy5mb3JFYWNoKChpbnN0YW5jZTogTW9kZWwpID0+IHtcbiAgICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgaW5zdGFuY2UpO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHRoaXMubWVzc2FnZVVwZGF0ZWRCYXRjaCkge1xuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc3VjY2Vzcyh0aGlzLm1lc3NhZ2VVcGRhdGVkQmF0Y2gpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZEluc3RhbmNlcztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZGVsZXRlIGluc3RhbmNlIG9mIGNsYXNzXG4gICAqIEBwYXJhbSBtb2RlbCBDbGFzcyBpbnN0YW5jZSBmb3IgZGVsZXRpbmdcbiAgICovXG4gIGRlbGV0ZShtb2RlbDogTW9kZWwpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke21vZGVsWydpZCddfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKGl0ZW06IE1vZGVsKSA9PiBpdGVtWydpZCddICE9PSBtb2RlbFsnaWQnXSk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuXG4gICAgICAgICAgaWYgKHRoaXMubWVzc2FnZURlbGV0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnN1Y2Nlc3ModGhpcy5tZXNzYWdlRGVsZXRlZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZWxldGUgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIGNsYXNzXG4gICAqIEBwYXJhbSBtb2RlbHMgQ2xhc3MgaW5zdGFuY2VzIGFycmF5IGZvciBkZWxldGluZ1xuICAgKi9cbiAgZGVsZXRlQmF0Y2gobW9kZWxzOiBNb2RlbFtdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9L2RlbGV0ZWAsIG1vZGVscylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlkczogbnVtYmVyW10gPSBtb2RlbHMubWFwKChtb2RlbDogTW9kZWwpOiBudW1iZXIgPT4gbW9kZWxbJ2lkJ10pO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLmZpbHRlcigoaXRlbTogTW9kZWwpID0+ICFpZHMuaW5jbHVkZXMoaXRlbVsnaWQnXSkpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcblxuICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VEZWxldGVkQmF0Y2gpIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnN1Y2Nlc3ModGhpcy5tZXNzYWdlRGVsZXRlZEJhdGNoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGNsZWFyIHNlcnZpY2UgY2FjaGVcbiAgICovXG4gIHJlc2V0Q2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIGJhc2UgY2xhc3MgaW5zdGFuY2VzIGRpcmVjdGx5IGZyb20gYmFja2VuZFxuICAgKi9cbiAgcHJvdGVjdGVkIGZldGNoKCk6IE9ic2VydmFibGU8TW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBCYXNlTW9kZWxbXSk6IE1vZGVsW10gPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW1zOiBNb2RlbFtdID0gKHRoaXMuaXNIeWRyYSA/IHJlc3BvbnNlWydoeWRyYTptZW1iZXInXSA6IHJlc3BvbnNlKVxuICAgICAgICAgICAgLm1hcCgoaXRlbTogQmFzZU1vZGVsKTogTW9kZWwgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVNb2RlbEluc3RhbmNlKHRoaXMubW9kZWxDbGFzcywgaXRlbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gaXRlbXM7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiBpdGVtcztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGNhY2hlIHN1YmplY3Qgd2l0aCBjdXJyZW50IGNhY2hlIGFycmF5IHZhbHVlXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlQ2FjaGUoKTogdm9pZCB7XG4gICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlLnNsaWNlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgaW5zdGFuY2Ugb2YgY2xhc3NcbiAgICogQHBhcmFtIG1vZGVsIFRoZSBjbGFzcyBmb3Igd2hpY2ggeW91IHdhbnQgdG8gY3JlYXRlIGFuIGluc3RhbmNlXG4gICAqIEBwYXJhbSBiYXNlTW9kZWwgYmFzZSBtb2RlbCBpbnN0YW5jZSB0aGF0IHdlIHdpbGwgdXNlIGFzIGNvbnN0cnVjdG9yIG9wdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVNb2RlbEluc3RhbmNlKG1vZGVsOiBuZXcoYm06IEJhc2VNb2RlbCkgPT4gTW9kZWwsIGJhc2VNb2RlbDogQmFzZU1vZGVsKTogTW9kZWwge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3MobW9kZWwsIGJhc2VNb2RlbCwgeyBleGNsdWRlUHJlZml4ZXM6IFsnQCddIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0aGF0IGNhbGwgYWxsIGxpc3RlbmVycy4gRW1wdHkgYnkgZGVmYXVsdC4gU2hvdWxkIGJlIHJlZGVmaW5lZCBieSBjaGlsZCBzZXJ2aWNlcyBpZiByZXF1aXJlZFxuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge31cbn1cbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ServicePrice } from '../../../models/service-subscription/service-price';
3
+ import { RestService } from '../rest/rest.service';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Service that handling banks logic
7
+ */
8
+ export class ServicePriceService extends RestService {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.modelClass = ServicePrice;
12
+ this.url = 'service-prices';
13
+ this.isHydra = true;
14
+ }
15
+ }
16
+ ServicePriceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ServicePriceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
17
+ ServicePriceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ServicePriceService, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ServicePriceService, decorators: [{
19
+ type: Injectable,
20
+ args: [{
21
+ providedIn: 'root'
22
+ }]
23
+ }] });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1wcmljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvc3Vic2NyaXB0aW9uL3NlcnZpY2UtcHJpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRW5EOztHQUVHO0FBSUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQTJDO0lBSHBGOztRQUlFLGVBQVUsR0FBd0IsWUFBWSxDQUFDO1FBQy9DLFFBQUcsR0FBVyxnQkFBZ0IsQ0FBQztRQUMvQixZQUFPLEdBQVksSUFBSSxDQUFDO0tBQ3pCOztpSEFKWSxtQkFBbUI7cUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXJ2aWNlUHJpY2UgYXMgU2VydmljZVByaWNlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9zdWJzY3JpcHRpb24vc2VydmljZS1wcmljZSc7XG5pbXBvcnQgeyBTZXJ2aWNlUHJpY2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2VydmljZS1zdWJzY3JpcHRpb24vc2VydmljZS1wcmljZSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgaGFuZGxpbmcgYmFua3MgbG9naWNcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZVByaWNlU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFNlcnZpY2VQcmljZUJhc2UsIFNlcnZpY2VQcmljZT4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgU2VydmljZVByaWNlID0gU2VydmljZVByaWNlO1xuICB1cmw6IHN0cmluZyA9ICdzZXJ2aWNlLXByaWNlcyc7XG4gIGlzSHlkcmE6IGJvb2xlYW4gPSB0cnVlO1xufVxuIl19
@@ -3,13 +3,9 @@ import { Inject, Injectable } from '@angular/core';
3
3
  import { BehaviorSubject, ReplaySubject } from 'rxjs';
4
4
  import { map } from 'rxjs/operators';
5
5
  import { loadStripe } from '@stripe/stripe-js';
6
- import { ServicePriceCollection } from '../../../collections/service-price.collection';
7
- import { ServiceSubscriptionCollection } from '../../../collections/service-subscription.collection';
8
6
  import { plainToClass } from 'class-transformer';
9
7
  import { ServiceSubscription } from '../../../models/service-subscription/service-subscription';
10
8
  import { ServicePayment } from '../../../models/service-subscription/service-payment';
11
- import { ServicePrice } from '../../../models/service-subscription/service-price';
12
- import { ServiceSubscriptionItem } from '../../../models/service-subscription/service-subscription-item';
13
9
  import { AppEvent } from '../../../models/event/app-event';
14
10
  import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
15
11
  import * as i0 from "@angular/core";
@@ -41,55 +37,16 @@ export class SubscriptionService {
41
37
  }
42
38
  return this.serviceSubscriptionSubject.asObservable();
43
39
  }
44
- /**
45
- * @TODO right now we have only monthly prices, the function should be refactored to support other options in future
46
- *
47
- * create available subscription plans based on existing products
48
- */
49
- getSubscriptionPlans() {
50
- if (!this._serviceSubscriptions) {
51
- this.http.get(`${this.environment.apiV2}/service-prices`)
52
- .pipe(map((response) => {
53
- return new ServicePriceCollection(response['hydra:member'].map((item) => plainToClass(ServicePrice, item)));
54
- }))
55
- .subscribe((prices) => {
56
- this._serviceSubscriptions = new ServiceSubscriptionCollection([
57
- plainToClass(ServiceSubscription, { items: [] }),
58
- plainToClass(ServiceSubscription, {
59
- items: [plainToClass(ServiceSubscriptionItem, {
60
- price: prices.property,
61
- quantity: 2
62
- })]
63
- }),
64
- plainToClass(ServiceSubscription, {
65
- items: [plainToClass(ServiceSubscriptionItem, {
66
- price: prices.property,
67
- quantity: 3
68
- })]
69
- })
70
- ]);
71
- this._serviceSubscriptions.items.forEach((subscription) => {
72
- subscription.items.push(plainToClass(ServiceSubscriptionItem, { price: prices.work, quantity: 1 }));
73
- });
74
- this.serviceSubscriptionsSubject.next(this._serviceSubscriptions);
75
- });
76
- }
77
- return this.serviceSubscriptionsSubject.asObservable();
78
- }
79
40
  /**
80
41
  * redirect to stripe payment page
81
42
  */
82
- checkoutRedirect(subscription, successUrl, cancelUrl) {
43
+ checkoutRedirect(subscription) {
83
44
  return __awaiter(this, void 0, void 0, function* () {
84
45
  const stripe = yield loadStripe(this.environment.stripePk);
85
- // @TODO vik
86
- const lineItems = subscription.items.map((item) => {
87
- return { servicePriceId: item.price.id, quantity: item.quantity };
88
- });
89
46
  this.http.post(`${this.environment.apiV2}/stripe/checkout-session`, {
90
- lineItems,
91
- successUrl: successUrl,
92
- cancelUrl: cancelUrl
47
+ items: subscription.items,
48
+ successUrl: window.location.href,
49
+ cancelUrl: window.location.href
93
50
  })
94
51
  .subscribe((session) => {
95
52
  // @Todo remove user TRIAL status
@@ -151,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
151
108
  type: Inject,
152
109
  args: ['environment']
153
110
  }] }]; } });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUV0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDekcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7OztBQU03RSxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCLFlBQ1UsSUFBZ0IsRUFDaEIsc0JBQThDLEVBQzlDLFVBQXNCLEVBQ0MsV0FBZ0I7UUFIdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0Is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QUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDdkMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEtBQWEsRUFBdUIsRUFBRSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUN0RjthQUNBLFNBQVMsQ0FBQyxDQUFDLFlBQWlDLEVBQVEsRUFBRTtZQUNyRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFHLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7aUhBbkpVLG1CQUFtQiw0R0FjcEIsYUFBYTtxSEFkWixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFlSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGxvYWRTdHJpcGUgfSBmcm9tICdAc3RyaXBlL3N0cmlwZS1qcyc7XG5pbXBvcnQgeyBTZXJ2aWNlUHJpY2VDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvc2VydmljZS1wcmljZS5jb2xsZWN0aW9uJztcbmltcG9ydCB7IFNlcnZpY2VTdWJzY3JpcHRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvc2VydmljZS1zdWJzY3JpcHRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBTZXJ2aWNlU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IFNlcnZpY2VQYXltZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2UtcGF5bWVudCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNlcnZpY2VQcmljZSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXByaWNlJztcbmltcG9ydCB7IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLWl0ZW0nO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBTc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQvc3NlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb25TZXJ2aWNlIHtcbiAgX3NlcnZpY2VTdWJzY3JpcHRpb246IFNlcnZpY2VTdWJzY3JpcHRpb247XG4gIHNlcnZpY2VTdWJzY3JpcHRpb25TdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFNlcnZpY2VTdWJzY3JpcHRpb24+ID0gbmV3IFJlcGxheVN1YmplY3Q8U2VydmljZVN1YnNjcmlwdGlvbj4oMSk7XG4gIF9zZXJ2aWNlU3Vic2NyaXB0aW9uczogU2VydmljZVN1YnNjcmlwdGlvbkNvbGxlY3Rpb247XG4gIHNlcnZpY2VTdWJzY3JpcHRpb25zU3ViamVjdDogUmVwbGF5U3ViamVjdDxTZXJ2aWNlU3Vic2NyaXB0aW9uQ29sbGVjdGlvbj4gPSBuZXcgUmVwbGF5U3ViamVjdDxTZXJ2aWNlU3Vic2NyaXB0aW9uQ29sbGVjdGlvbj4oMSk7XG4gIHN0cmlwZTogYW55O1xuICBzZXJ2aWNlUGF5bWVudHNTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFNlcnZpY2VQYXltZW50W10+ID0gbmV3IFJlcGxheVN1YmplY3Q8U2VydmljZVBheW1lbnRbXT4oMSk7XG4gIF9zZXJ2aWNlUGF5bWVudHM6IFNlcnZpY2VQYXltZW50W107XG4gIHN1YnNjcmlwdGlvbkNoYW5nZVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxTZXJ2aWNlU3Vic2NyaXB0aW9uPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2VydmljZVN1YnNjcmlwdGlvbj4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBwcml2YXRlIHNzZVNlcnZpY2U6IFNzZVNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gICAgdGhpcy5saXN0ZW5TdWJzY3JpcHRpb25zKCk7XG4gIH1cblxuICBnZXRTdWJzY3JpcHRpb24oZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8U2VydmljZVN1YnNjcmlwdGlvbj4ge1xuICAgIGlmICghdGhpcy5fc2VydmljZVN1YnNjcmlwdGlvbiB8fCBmb3JjZSkge1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9zdWJzY3JpcHRpb25zL2xhc3RgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBwbGFpblRvQ2xhc3MoU2VydmljZVN1YnNjcmlwdGlvbiwgcmVzcG9uc2UpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoc3Vic2NpcHRpb246IFNlcnZpY2VTdWJzY3JpcHRpb24pID0+IHtcbiAgICAgICAgICB0aGlzLl9zZXJ2aWNlU3Vic2NyaXB0aW9uID0gc3Vic2NpcHRpb247XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlU3Vic2NyaXB0aW9uU3ViamVjdC5uZXh0KHRoaXMuX3NlcnZpY2VTdWJzY3JpcHRpb24pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlU3Vic2NyaXB0aW9uU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyByaWdodCBub3cgd2UgaGF2ZSBvbmx5IG1vbnRobHkgcHJpY2VzLCB0aGUgZnVuY3Rpb24gc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gc3VwcG9ydCBvdGhlciBvcHRpb25zIGluIGZ1dHVyZVxuICAgKlxuICAgKiBjcmVhdGUgYXZhaWxhYmxlIHN1YnNjcmlwdGlvbiBwbGFucyBiYXNlZCBvbiBleGlzdGluZyBwcm9kdWN0c1xuICAgKi9cbiAgZ2V0U3Vic2NyaXB0aW9uUGxhbnMoKTogT2JzZXJ2YWJsZTxTZXJ2aWNlU3Vic2NyaXB0aW9uQ29sbGVjdGlvbj4ge1xuICAgIGlmICghdGhpcy5fc2VydmljZVN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vc2VydmljZS1wcmljZXNgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2VydmljZVByaWNlQ29sbGVjdGlvbihyZXNwb25zZVsnaHlkcmE6bWVtYmVyJ10ubWFwKChpdGVtOiBvYmplY3QpID0+IHBsYWluVG9DbGFzcyhTZXJ2aWNlUHJpY2UsIGl0ZW0pKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChwcmljZXM6IFNlcnZpY2VQcmljZUNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgICB0aGlzLl9zZXJ2aWNlU3Vic2NyaXB0aW9ucyA9IG5ldyBTZXJ2aWNlU3Vic2NyaXB0aW9uQ29sbGVjdGlvbihbXG4gICAgICAgICAgICBwbGFpblRvQ2xhc3MoU2VydmljZVN1YnNjcmlwdGlvbiwge2l0ZW1zOiBbXX0pLFxuICAgICAgICAgICAgcGxhaW5Ub0NsYXNzKFNlcnZpY2VTdWJzY3JpcHRpb24sIHtcbiAgICAgICAgICAgICAgaXRlbXM6IFtwbGFpblRvQ2xhc3MoU2VydmljZVN1YnNjcmlwdGlvbkl0ZW0sIHtcbiAgICAgICAgICAgICAgICBwcmljZTogcHJpY2VzLnByb3BlcnR5LFxuICAgICAgICAgICAgICAgIHF1YW50aXR5OiAyXG4gICAgICAgICAgICAgIH0pXVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBwbGFpblRvQ2xhc3MoU2VydmljZVN1YnNjcmlwdGlvbiwge1xuICAgICAgICAgICAgICBpdGVtczogW3BsYWluVG9DbGFzcyhTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbSwge1xuICAgICAgICAgICAgICAgIHByaWNlOiBwcmljZXMucHJvcGVydHksXG4gICAgICAgICAgICAgICAgcXVhbnRpdHk6IDNcbiAgICAgICAgICAgICAgfSldXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF0pO1xuICAgICAgICAgIHRoaXMuX3NlcnZpY2VTdWJzY3JpcHRpb25zLml0ZW1zLmZvckVhY2goKHN1YnNjcmlwdGlvbjogU2VydmljZVN1YnNjcmlwdGlvbikgPT4ge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLml0ZW1zLnB1c2gocGxhaW5Ub0NsYXNzKFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtLCB7cHJpY2U6IHByaWNlcy53b3JrLCBxdWFudGl0eTogMX0pKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuc2VydmljZVN1YnNjcmlwdGlvbnNTdWJqZWN0Lm5leHQodGhpcy5fc2VydmljZVN1YnNjcmlwdGlvbnMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlU3Vic2NyaXB0aW9uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogcmVkaXJlY3QgdG8gc3RyaXBlIHBheW1lbnQgcGFnZVxuICAgKi9cbiAgYXN5bmMgY2hlY2tvdXRSZWRpcmVjdChzdWJzY3JpcHRpb246IFNlcnZpY2VTdWJzY3JpcHRpb24sIHN1Y2Nlc3NVcmw6IHN0cmluZywgY2FuY2VsVXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHN0cmlwZTogYW55ID0gYXdhaXQgbG9hZFN0cmlwZSh0aGlzLmVudmlyb25tZW50LnN0cmlwZVBrKTtcbiAgICAvLyBAVE9ETyB2aWtcbiAgICBjb25zdCBsaW5lSXRlbXM6IGFueSA9IHN1YnNjcmlwdGlvbi5pdGVtcy5tYXAoKGl0ZW06IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtKSA9PiB7XG4gICAgICByZXR1cm4ge3NlcnZpY2VQcmljZUlkOiBpdGVtLnByaWNlLmlkLCBxdWFudGl0eTogaXRlbS5xdWFudGl0eX07XG4gICAgfSk7XG5cbiAgICB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9zdHJpcGUvY2hlY2tvdXQtc2Vzc2lvbmAsIHtcbiAgICAgIGxpbmVJdGVtcyxcbiAgICAgIHN1Y2Nlc3NVcmw6IHN1Y2Nlc3NVcmwsXG4gICAgICBjYW5jZWxVcmw6IGNhbmNlbFVybFxuICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzZXNzaW9uOiBzdHJpbmcpID0+IHtcbiAgICAgICAgLy8gQFRvZG8gcmVtb3ZlIHVzZXIgVFJJQUwgc3RhdHVzXG4gICAgICAgIHN0cmlwZS5yZWRpcmVjdFRvQ2hlY2tvdXQoe3Nlc3Npb25JZDogc2Vzc2lvbn0pO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogcmVkaXJlY3QgdG8gc3RyaXBlIGJpbGxpbmcgcGFnZVxuICAgKi9cbiAgYmlsbGluZ1JlZGlyZWN0KHJldHVyblVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9zdHJpcGUvYmlsbGluZy1wb3J0YWwtc2Vzc2lvbmAsIHtcbiAgICAgIHBhcmFtczoge3JldHVyblVybH1cbiAgICB9KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHJlc3BvbnNlLnVybCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRQYXltZW50cygpOiBPYnNlcnZhYmxlPFNlcnZpY2VQYXltZW50W10+IHtcbiAgICBpZiAoIXRoaXMuX3NlcnZpY2VQYXltZW50cykge1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9zZXJ2aWNlLXBheW1lbnRzYCkuc3Vic2NyaWJlKChyZXNwb25zZTogb2JqZWN0W10pID0+IHtcbiAgICAgICAgdGhpcy5fc2VydmljZVBheW1lbnRzID0gcmVzcG9uc2UubWFwKChpdGVtOiBvYmplY3QpID0+IHBsYWluVG9DbGFzcyhTZXJ2aWNlUGF5bWVudCwgaXRlbSkpO1xuICAgICAgICB0aGlzLnNlcnZpY2VQYXltZW50c1N1YmplY3QubmV4dCh0aGlzLl9zZXJ2aWNlUGF5bWVudHMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZVBheW1lbnRzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGlmZmVyZW5jZSBiZXR3ZWVuIGN1cnJlbnQgc3Vic2NyaXB0aW9uIGFuZCBzZWxlY3RlZCBuZXcgc3Vic2NyaXB0aW9uXG4gICAqL1xuICBnZXRQcm9yYXRpb25Db3N0KGl0ZW1zOiBTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbVtdKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vc3Vic2NyaXB0aW9ucy9wcm9yYXRpb24tY29zdGAsIGl0ZW1zKS5waXBlKFxuICAgICAgbWFwKChwcm9yYXRpb25Db3N0OiBudW1iZXIpID0+IHtcbiAgICAgICAgcmV0dXJuIHByb3JhdGlvbkNvc3Q7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIHN1YnNjcmlwdGlvbiBwbGFuXG4gICAqL1xuICBjaGFuZ2VTdWJzY3JpcHRpb24oaXRlbXM6IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtW10pOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3N1YnNjcmlwdGlvbnMvaXRlbXNgLCBpdGVtcyk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5zc2VTZXJ2aWNlLm9uKGBzZXJ2aWNlU3Vic2NyaXB0aW9uc2ApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChldmVudDogb2JqZWN0KTogU2VydmljZVN1YnNjcmlwdGlvbiA9PiBwbGFpblRvQ2xhc3MoU2VydmljZVN1YnNjcmlwdGlvbiwgZXZlbnQpKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc3Vic2NyaXB0aW9uOiBTZXJ2aWNlU3Vic2NyaXB0aW9uKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZ2V0U3Vic2NyaXB0aW9uKHRydWUpLnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbkNoYW5nZVN1YmplY3QubmV4dChzdWJzY3JpcHRpb24pO1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uU0VSVklDRV9TVUJTQ1JJUFRJT05fVVBEQVRFRCwgbnVsbCkpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zdWJzY3JpcHRpb24vc3Vic2NyaXB0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBQyxlQUFlLEVBQWMsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFN0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUdwRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDekQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7Ozs7O0FBTTNFLE1BQU0sT0FBTyxtQkFBbUI7SUFTOUIsWUFDVSxJQUFnQixFQUNoQixzQkFBOEMsRUFDOUMsVUFBc0IsRUFDQyxXQUFnQjtRQUh2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNDLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBWGpELCtCQUEwQixHQUF1QyxJQUFJLGFBQWEsQ0FBc0IsQ0FBQyxDQUFDLENBQUM7UUFDM0csZ0NBQTJCLEdBQWlELElBQUksYUFBYSxDQUFnQyxDQUFDLENBQUMsQ0FBQztRQUVoSSwy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TTtpQkFDbkI7OzBCQWNJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7bG9hZFN0cmlwZX0gZnJvbSAnQHN0cmlwZS9zdHJpcGUtanMnO1xuaW1wb3J0IHtTZXJ2aWNlU3Vic2NyaXB0aW9uQ29sbGVjdGlvbn0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHtwbGFpblRvQ2xhc3N9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7U2VydmljZVN1YnNjcmlwdGlvbn0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7U2VydmljZVBheW1lbnR9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zZXJ2aWNlLXN1YnNjcmlwdGlvbi9zZXJ2aWNlLXBheW1lbnQnO1xuaW1wb3J0IHtFdmVudERpc3BhdGNoZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtTZXJ2aWNlU3Vic2NyaXB0aW9uSXRlbX0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZpY2Utc3Vic2NyaXB0aW9uL3NlcnZpY2Utc3Vic2NyaXB0aW9uLWl0ZW0nO1xuaW1wb3J0IHtBcHBFdmVudH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQge0FwcEV2ZW50VHlwZUVudW19IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7U3NlU2VydmljZX0gZnJvbSAnLi4vLi4vZXZlbnQvc3NlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdWJzY3JpcHRpb25TZXJ2aWNlIHtcbiAgX3NlcnZpY2VTdWJzY3JpcHRpb246IFNlcnZpY2VTdWJzY3JpcHRpb247XG4gIHNlcnZpY2VTdWJzY3JpcHRpb25TdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFNlcnZpY2VTdWJzY3JpcHRpb24+ID0gbmV3IFJlcGxheVN1YmplY3Q8U2VydmljZVN1YnNjcmlwdGlvbj4oMSk7XG4gIHNlcnZpY2VTdWJzY3JpcHRpb25zU3ViamVjdDogUmVwbGF5U3ViamVjdDxTZXJ2aWNlU3Vic2NyaXB0aW9uQ29sbGVjdGlvbj4gPSBuZXcgUmVwbGF5U3ViamVjdDxTZXJ2aWNlU3Vic2NyaXB0aW9uQ29sbGVjdGlvbj4oMSk7XG4gIHN0cmlwZTogYW55O1xuICBzZXJ2aWNlUGF5bWVudHNTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFNlcnZpY2VQYXltZW50W10+ID0gbmV3IFJlcGxheVN1YmplY3Q8U2VydmljZVBheW1lbnRbXT4oMSk7XG4gIF9zZXJ2aWNlUGF5bWVudHM6IFNlcnZpY2VQYXltZW50W107XG4gIHN1YnNjcmlwdGlvbkNoYW5nZVN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxTZXJ2aWNlU3Vic2NyaXB0aW9uPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2VydmljZVN1YnNjcmlwdGlvbj4obnVsbCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBwcml2YXRlIHNzZVNlcnZpY2U6IFNzZVNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gICAgdGhpcy5saXN0ZW5TdWJzY3JpcHRpb25zKCk7XG4gIH1cblxuICBnZXRTdWJzY3JpcHRpb24oZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8U2VydmljZVN1YnNjcmlwdGlvbj4ge1xuICAgIGlmICghdGhpcy5fc2VydmljZVN1YnNjcmlwdGlvbiB8fCBmb3JjZSkge1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9zdWJzY3JpcHRpb25zL2xhc3RgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBwbGFpblRvQ2xhc3MoU2VydmljZVN1YnNjcmlwdGlvbiwgcmVzcG9uc2UpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoc3Vic2NpcHRpb246IFNlcnZpY2VTdWJzY3JpcHRpb24pID0+IHtcbiAgICAgICAgICB0aGlzLl9zZXJ2aWNlU3Vic2NyaXB0aW9uID0gc3Vic2NpcHRpb247XG4gICAgICAgICAgdGhpcy5zZXJ2aWNlU3Vic2NyaXB0aW9uU3ViamVjdC5uZXh0KHRoaXMuX3NlcnZpY2VTdWJzY3JpcHRpb24pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlU3Vic2NyaXB0aW9uU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZWRpcmVjdCB0byBzdHJpcGUgcGF5bWVudCBwYWdlXG4gICAqL1xuICBhc3luYyBjaGVja291dFJlZGlyZWN0KHN1YnNjcmlwdGlvbjogU2VydmljZVN1YnNjcmlwdGlvbik6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3Qgc3RyaXBlOiBhbnkgPSBhd2FpdCBsb2FkU3RyaXBlKHRoaXMuZW52aXJvbm1lbnQuc3RyaXBlUGspO1xuXG4gICAgdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vc3RyaXBlL2NoZWNrb3V0LXNlc3Npb25gLCB7XG4gICAgICBpdGVtczogc3Vic2NyaXB0aW9uLml0ZW1zLFxuICAgICAgc3VjY2Vzc1VybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICBjYW5jZWxVcmw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmXG4gICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlc3Npb246IHN0cmluZykgPT4ge1xuICAgICAgICAvLyBAVG9kbyByZW1vdmUgdXNlciBUUklBTCBzdGF0dXNcbiAgICAgICAgc3RyaXBlLnJlZGlyZWN0VG9DaGVja291dCh7c2Vzc2lvbklkOiBzZXNzaW9ufSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiByZWRpcmVjdCB0byBzdHJpcGUgYmlsbGluZyBwYWdlXG4gICAqL1xuICBiaWxsaW5nUmVkaXJlY3QocmV0dXJuVXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3N0cmlwZS9iaWxsaW5nLXBvcnRhbC1zZXNzaW9uYCwge1xuICAgICAgcGFyYW1zOiB7cmV0dXJuVXJsfVxuICAgIH0pLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UocmVzcG9uc2UudXJsKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFBheW1lbnRzKCk6IE9ic2VydmFibGU8U2VydmljZVBheW1lbnRbXT4ge1xuICAgIGlmICghdGhpcy5fc2VydmljZVBheW1lbnRzKSB7XG4gICAgICB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3NlcnZpY2UtcGF5bWVudHNgKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBvYmplY3RbXSkgPT4ge1xuICAgICAgICB0aGlzLl9zZXJ2aWNlUGF5bWVudHMgPSByZXNwb25zZS5tYXAoKGl0ZW06IG9iamVjdCkgPT4gcGxhaW5Ub0NsYXNzKFNlcnZpY2VQYXltZW50LCBpdGVtKSk7XG4gICAgICAgIHRoaXMuc2VydmljZVBheW1lbnRzU3ViamVjdC5uZXh0KHRoaXMuX3NlcnZpY2VQYXltZW50cyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlUGF5bWVudHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkaWZmZXJlbmNlIGJldHdlZW4gY3VycmVudCBzdWJzY3JpcHRpb24gYW5kIHNlbGVjdGVkIG5ldyBzdWJzY3JpcHRpb25cbiAgICovXG4gIGdldFByb3JhdGlvbkNvc3QoaXRlbXM6IFNlcnZpY2VTdWJzY3JpcHRpb25JdGVtW10pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS9zdWJzY3JpcHRpb25zL3Byb3JhdGlvbi1jb3N0YCwgaXRlbXMpLnBpcGUoXG4gICAgICBtYXAoKHByb3JhdGlvbkNvc3Q6IG51bWJlcikgPT4ge1xuICAgICAgICByZXR1cm4gcHJvcmF0aW9uQ29zdDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2Ugc3Vic2NyaXB0aW9uIHBsYW5cbiAgICovXG4gIGNoYW5nZVN1YnNjcmlwdGlvbihpdGVtczogU2VydmljZVN1YnNjcmlwdGlvbkl0ZW1bXSk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vc3Vic2NyaXB0aW9ucy9pdGVtc2AsIGl0ZW1zKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnNzZVNlcnZpY2Uub24oYHNlcnZpY2VTdWJzY3JpcHRpb25zYClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGV2ZW50OiBvYmplY3QpOiBTZXJ2aWNlU3Vic2NyaXB0aW9uID0+IHBsYWluVG9DbGFzcyhTZXJ2aWNlU3Vic2NyaXB0aW9uLCBldmVudCkpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzdWJzY3JpcHRpb246IFNlcnZpY2VTdWJzY3JpcHRpb24pOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5nZXRTdWJzY3JpcHRpb24odHJ1ZSkuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uQ2hhbmdlU3ViamVjdC5uZXh0KHN1YnNjcmlwdGlvbik7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5TRVJWSUNFX1NVQlNDUklQVElPTl9VUERBVEVELCBudWxsKSk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
37
37
  providedIn: 'root'
38
38
  }]
39
39
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldmlldy1oaXN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC90YXgtcmV2aWV3L3RheC1yZXZpZXctaGlzdG9yeS90YXgtcmV2aWV3LWhpc3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFaEYsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQUV2Qjs7R0FFRztBQUlILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxXQUFxQztJQUhsRjs7UUFJRSxRQUFHLEdBQVcscUJBQXFCLENBQUM7UUFDcEMsZUFBVSxHQUFxQixTQUFTLENBQUM7S0FrQjFDO0lBaEJDLFlBQVk7UUFDVixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQW9CLEVBQVEsRUFBRTtZQUMzRyxNQUFNLFNBQVMsR0FBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkQsK0NBQStDO1lBQy9DLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7cUhBbkJVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRheFJldmlldyBhcyBUYXhSZXZpZXdCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL3RheC1yZXZpZXcnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBUYXhSZXZpZXcgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvdGF4LXJldmlldy90YXgtcmV2aWV3JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggdGF4IHJldmlldyBoaXN0b3J5XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRheFJldmlld0hpc3RvcnlTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8VGF4UmV2aWV3QmFzZSwgVGF4UmV2aWV3PiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgdXJsOiBzdHJpbmcgPSAndGF4LXJldmlld3MvaGlzdG9yeSc7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBUYXhSZXZpZXcgPSBUYXhSZXZpZXc7XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVGF4UmV2aWV3VXBkYXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRheCByZXZpZXcgaGlzdG9yeSBjYWNoZSB3aGVuIHNpbmdsZSB0YXggcmV2aWV3IHVwZGF0ZWQuXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblRheFJldmlld1VwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5UQVhfUkVWSUVXX1VQREFURUQpLnN1YnNjcmliZSgodGF4UmV2aWV3OiBUYXhSZXZpZXcpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHRlbXBDYWNoZTogVGF4UmV2aWV3W10gPSBfLmNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgIC8vIGluc2VydCBlbGVtZW50IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5XG4gICAgICB0ZW1wQ2FjaGUudW5zaGlmdCh0YXhSZXZpZXcpO1xuICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldmlldy1oaXN0b3J5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC90YXgtcmV2aWV3L3RheC1yZXZpZXctaGlzdG9yeS90YXgtcmV2aWV3LWhpc3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFaEYsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQUV2Qjs7R0FFRztBQUlILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxXQUFxQztJQUhsRjs7UUFJRSxRQUFHLEdBQVcscUJBQXFCLENBQUM7UUFDcEMsZUFBVSxHQUFxQixTQUFTLENBQUM7S0FrQjFDO0lBaEJDLFlBQVk7UUFDVixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQW9CLEVBQVEsRUFBRTtZQUMzRyxNQUFNLFNBQVMsR0FBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkQsK0NBQStDO1lBQy9DLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7cUhBbkJVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCLGNBRnRCLE1BQU07NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRheFJldmlldyBhcyBUYXhSZXZpZXdCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL2Zpcm0vYWNjb3VudGFudC90YXgtcmV2aWV3JztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGF4UmV2aWV3IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL3RheC1yZXZpZXcvdGF4LXJldmlldyc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gd29yayB3aXRoIHRheCByZXZpZXcgaGlzdG9yeVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUYXhSZXZpZXdIaXN0b3J5U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRheFJldmlld0Jhc2UsIFRheFJldmlldz4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIHVybDogc3RyaW5nID0gJ3RheC1yZXZpZXdzL2hpc3RvcnknO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgVGF4UmV2aWV3ID0gVGF4UmV2aWV3O1xuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRheFJldmlld1VwZGF0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0YXggcmV2aWV3IGhpc3RvcnkgY2FjaGUgd2hlbiBzaW5nbGUgdGF4IHJldmlldyB1cGRhdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5UYXhSZXZpZXdVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uVEFYX1JFVklFV19VUERBVEVEKS5zdWJzY3JpYmUoKHRheFJldmlldzogVGF4UmV2aWV3KTogdm9pZCA9PiB7XG4gICAgICBjb25zdCB0ZW1wQ2FjaGU6IFRheFJldmlld1tdID0gXy5jbG9uZURlZXAodGhpcy5jYWNoZSk7XG4gICAgICAvLyBpbnNlcnQgZWxlbWVudCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBhcnJheVxuICAgICAgdGVtcENhY2hlLnVuc2hpZnQodGF4UmV2aWV3KTtcbiAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -91,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
91
91
  providedIn: 'root'
92
92
  }]
93
93
  }] });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldmlldy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdGF4LXJldmlldy90YXgtcmV2aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBSTNEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQXFDO0lBSDNFOztRQUlFLFFBQUcsR0FBVyxhQUFhLENBQUM7UUFDNUIsZUFBVSxHQUFxQixTQUFTLENBQUM7S0FnRjFDO0lBOUVDOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsa0JB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bkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYXhSZXZpZXcgYXMgVGF4UmV2aWV3QmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy90YXgtcmV2aWV3JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVGF4UmV2aWV3IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3RheC1yZXZpZXcvdGF4LXJldmlldyc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdXNlci91c2VyJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gd29yayB3aXRoIHRheCByZXZpZXdcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGF4UmV2aWV3U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRheFJldmlld0Jhc2UsIFRheFJldmlldz4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIHVybDogc3RyaW5nID0gJ3RheC1yZXZpZXdzJztcbiAgbW9kZWxDbGFzczogdHlwZW9mIFRheFJldmlldyA9IFRheFJldmlldztcblxuICAvKipcbiAgICogTGlzdGVuIGV2ZW50cyBmcm9tIFNTRSBhbmQgRXZlbnQgRGlzcGF0Y2hlciBzZXJ2aWNlc1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuRmlybUNoYW5nZXMoKTtcbiAgICB0aGlzLmxpc3RlbkNsaWVudFRyYW5zZmVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG5ldyBUYXggUmV2aWV3IChyZXF1ZXN0IGZyb20gY2xpZW50IHRvIGZpcm0pXG4gICAqIEBwYXJhbSBmaW5ZZWFyXG4gICAqL1xuICByZXF1ZXN0KGZpblllYXI6IG51bWJlcik6IE9ic2VydmFibGU8VGF4UmV2aWV3PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9P2ZpbmFuY2lhbFllYXI9JHtmaW5ZZWFyfWAsIHt9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobmV3VGF4UmV2aWV3OiBUYXhSZXZpZXdCYXNlKTogVGF4UmV2aWV3ID0+IHtcbiAgICAgICAgICBjb25zdCB0YXhSZXZpZXc6IFRheFJldmlldyA9IHBsYWluVG9DbGFzcyhUYXhSZXZpZXcsIG5ld1RheFJldmlldyk7XG4gICAgICAgICAgY29uc3QgdGVtcENhY2hlOiBUYXhSZXZpZXdbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgICAgIHRlbXBDYWNoZS5wdXNoKHRheFJldmlldyk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHRheFJldmlldztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRheCByZXZpZXdcbiAgICogQHBhcmFtIHRheFJldmlldyB0byBiZSB1cGRhdGVkXG4gICAqL1xuICB1cGRhdGUodGF4UmV2aWV3OiBUYXhSZXZpZXcpOiBPYnNlcnZhYmxlPFRheFJldmlldz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7dGF4UmV2aWV3LmlkfWAsIHRheFJldmlldylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVwZGF0ZWRUYXhSZXZpZXc6IFRheFJldmlld0Jhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkSW5zdGFuY2U6IFRheFJldmlldyA9IHBsYWluVG9DbGFzcyhUYXhSZXZpZXcsIHVwZGF0ZWRUYXhSZXZpZXcpO1xuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlRBWF9SRVZJRVdfVVBEQVRFRCwgdXBkYXRlZEluc3RhbmNlKSk7XG5cbiAgICAgICAgICBjb25zdCB0ZW1wQ2FjaGU6IFRheFJldmlld1tdID0gXy5jbG9uZURlZXAodGhpcy5jYWNoZSk7XG4gICAgICAgICAgcmVwbGFjZSh0ZW1wQ2FjaGUsIHVwZGF0ZWRJbnN0YW5jZSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG5cbiAgICAgICAgICByZXR1cm4gdXBkYXRlZEluc3RhbmNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciBjYWNoZSB3aGVuIHVzZXIgcmVqZWN0IGZpcm1cbiAgICovXG4gIHByaXZhdGUgbGlzdGVuRmlybUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtBcHBFdmVudFR5cGVFbnVtLkNMSUVOVF9NT1ZFTUVOVF9DTE9TRUQsIEFwcEV2ZW50VHlwZUVudW0uQ0xJRU5UX0lOVklURV9BQ0NFUFRFRF0pXG4gICAgICAuc3Vic2NyaWJlKCgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5jYWNoZSA9IFtdO1xuICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgZmlybSBmb3IgYWxsIHRyYW5zZmVycmVkIGNsaWVudHNcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuQ2xpZW50VHJhbnNmZXIoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uQ0xJRU5UX1RSQU5TRkVSX1RPX09USEVSX0VNUExPWUVFKVxuICAgICAgLnN1YnNjcmliZSgodHJhbnNmZXJyZWRDbGllbnRzOiBVc2VyW10pOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgdGVtcENhY2hlOiBUYXhSZXZpZXdbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuXG4gICAgICAgIHRyYW5zZmVycmVkQ2xpZW50cy5mb3JFYWNoKCh0cmFuc2ZlcnJlZENsaWVudDogVXNlcik6IHZvaWQgPT4ge1xuICAgICAgICAgIGNvbnN0IHRheFJldmlld0luZGV4OiBudW1iZXIgPSB0ZW1wQ2FjaGUuZmluZEluZGV4KCh0YXhSZXZpZXc6IFRheFJldmlldyk6IGJvb2xlYW4gPT4gdGF4UmV2aWV3LmlkID09PSB0cmFuc2ZlcnJlZENsaWVudC5pZCk7XG4gICAgICAgICAgLy8gQFRPRE8gdmlrXG4gICAgICAgICAgLy8gdGVtcENhY2hlW3RheFJldmlld0luZGV4XS5lbXBsb3llZSA9IHRyYW5zZmVycmVkQ2xpZW50LmFjY291bnRhbnQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldmlldy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdGF4LXJldmlldy90YXgtcmV2aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBSTNEOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQXFDO0lBSDNFOztRQUlFLFFBQUcsR0FBVyxhQUFhLENBQUM7UUFDNUIsZUFBVSxHQUFxQixTQUFTLENBQUM7S0FnRjFDO0lBOUVDOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsa0JBQWtCLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUN4RixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsWUFBMkIsRUFBYSxFQUFFO1lBQzdDLE1BQU0sU0FBUyxHQUFjLFlBQVksQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDbkUsTUFBTSxTQUFTLEdBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZELFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFNBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLENBQUM7YUFDckYsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLGdCQUErQixFQUFFLEVBQUU7WUFDdEMsTUFBTSxlQUFlLEdBQWMsWUFBWSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBRTdFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUV6RyxNQUFNLFNBQVMsR0FBZ0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkQsT0FBTyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFbkIsT0FBTyxlQUFlLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsQ0FBQzthQUMvRyxTQUFTLENBQUMsR0FBUyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7O09BR0c7SUFDSyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxpQ0FBaUMsQ0FBQzthQUMvRSxTQUFTLENBQUMsQ0FBQyxrQkFBMEIsRUFBUSxFQUFFO1lBQzlDLE1BQU0sU0FBUyxHQUFnQixDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV2RCxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxpQkFBdUIsRUFBUSxFQUFFO2dCQUMzRCxNQUFNLGNBQWMsR0FBVyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBb0IsRUFBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDN0gsWUFBWTtnQkFDWixxRUFBcUU7WUFDdkUsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs4R0FqRlUsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYXhSZXZpZXcgYXMgVGF4UmV2aWV3QmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9maXJtL2FjY291bnRhbnQvdGF4LXJldmlldyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRheFJldmlldyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90YXgtcmV2aWV3L3RheC1yZXZpZXcnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHdvcmsgd2l0aCB0YXggcmV2aWV3XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRheFJldmlld1NlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxUYXhSZXZpZXdCYXNlLCBUYXhSZXZpZXc+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICB1cmw6IHN0cmluZyA9ICd0YXgtcmV2aWV3cyc7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBUYXhSZXZpZXcgPSBUYXhSZXZpZXc7XG5cbiAgLyoqXG4gICAqIExpc3RlbiBldmVudHMgZnJvbSBTU0UgYW5kIEV2ZW50IERpc3BhdGNoZXIgc2VydmljZXNcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbkZpcm1DaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5DbGllbnRUcmFuc2ZlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBuZXcgVGF4IFJldmlldyAocmVxdWVzdCBmcm9tIGNsaWVudCB0byBmaXJtKVxuICAgKiBAcGFyYW0gZmluWWVhclxuICAgKi9cbiAgcmVxdWVzdChmaW5ZZWFyOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRheFJldmlldz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfT9maW5hbmNpYWxZZWFyPSR7ZmluWWVhcn1gLCB7fSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKG5ld1RheFJldmlldzogVGF4UmV2aWV3QmFzZSk6IFRheFJldmlldyA9PiB7XG4gICAgICAgICAgY29uc3QgdGF4UmV2aWV3OiBUYXhSZXZpZXcgPSBwbGFpblRvQ2xhc3MoVGF4UmV2aWV3LCBuZXdUYXhSZXZpZXcpO1xuICAgICAgICAgIGNvbnN0IHRlbXBDYWNoZTogVGF4UmV2aWV3W10gPSBfLmNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICB0ZW1wQ2FjaGUucHVzaCh0YXhSZXZpZXcpO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiB0YXhSZXZpZXc7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0YXggcmV2aWV3XG4gICAqIEBwYXJhbSB0YXhSZXZpZXcgdG8gYmUgdXBkYXRlZFxuICAgKi9cbiAgdXBkYXRlKHRheFJldmlldzogVGF4UmV2aWV3KTogT2JzZXJ2YWJsZTxUYXhSZXZpZXc+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke3RheFJldmlldy5pZH1gLCB0YXhSZXZpZXcpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh1cGRhdGVkVGF4UmV2aWV3OiBUYXhSZXZpZXdCYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZEluc3RhbmNlOiBUYXhSZXZpZXcgPSBwbGFpblRvQ2xhc3MoVGF4UmV2aWV3LCB1cGRhdGVkVGF4UmV2aWV3KTtcblxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5UQVhfUkVWSUVXX1VQREFURUQsIHVwZGF0ZWRJbnN0YW5jZSkpO1xuXG4gICAgICAgICAgY29uc3QgdGVtcENhY2hlOiBUYXhSZXZpZXdbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuICAgICAgICAgIHJlcGxhY2UodGVtcENhY2hlLCB1cGRhdGVkSW5zdGFuY2UpO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRJbnN0YW5jZTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgY2FjaGUgd2hlbiB1c2VyIHJlamVjdCBmaXJtXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkZpcm1DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbQXBwRXZlbnRUeXBlRW51bS5DTElFTlRfTU9WRU1FTlRfQ0xPU0VELCBBcHBFdmVudFR5cGVFbnVtLkNMSUVOVF9JTlZJVEVfQUNDRVBURURdKVxuICAgICAgLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuY2FjaGUgPSBbXTtcbiAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGZpcm0gZm9yIGFsbCB0cmFuc2ZlcnJlZCBjbGllbnRzXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkNsaWVudFRyYW5zZmVyKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkNMSUVOVF9UUkFOU0ZFUl9UT19PVEhFUl9FTVBMT1lFRSlcbiAgICAgIC5zdWJzY3JpYmUoKHRyYW5zZmVycmVkQ2xpZW50czogVXNlcltdKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IHRlbXBDYWNoZTogVGF4UmV2aWV3W10gPSBfLmNsb25lRGVlcCh0aGlzLmNhY2hlKTtcblxuICAgICAgICB0cmFuc2ZlcnJlZENsaWVudHMuZm9yRWFjaCgodHJhbnNmZXJyZWRDbGllbnQ6IFVzZXIpOiB2b2lkID0+IHtcbiAgICAgICAgICBjb25zdCB0YXhSZXZpZXdJbmRleDogbnVtYmVyID0gdGVtcENhY2hlLmZpbmRJbmRleCgodGF4UmV2aWV3OiBUYXhSZXZpZXcpOiBib29sZWFuID0+IHRheFJldmlldy5pZCA9PT0gdHJhbnNmZXJyZWRDbGllbnQuaWQpO1xuICAgICAgICAgIC8vIEBUT0RPIHZpa1xuICAgICAgICAgIC8vIHRlbXBDYWNoZVt0YXhSZXZpZXdJbmRleF0uZW1wbG95ZWUgPSB0cmFuc2ZlcnJlZENsaWVudC5hY2NvdW50YW50O1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNhY2hlID0gdGVtcENhY2hlO1xuICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
79
79
  providedIn: 'root'
80
80
  }]
81
81
  }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUU5RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUdyQyxvRkFBb0Y7QUFFcEY7OztHQUdHO0FBSUgsTUFBTSxPQUFPLDRCQUE2QixTQUFRLFdBQTZEO0lBSC9HOztRQUlFLDRDQUE0QztRQUM1QyxRQUFHLEdBQVcsMEJBQTBCLENBQUM7UUFDekMsZUFBVSxHQUFHLHFCQUFxQixDQUFDO0tBaUVwQztJQS9EQzs7T0FFRztJQUNILEdBQUcsQ0FBQyxVQUFpQztRQUNuQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckMsR0FBRyxDQUFDLENBQUMsY0FBdUMsRUFBeUIsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMzRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsWUFBMkI7UUFDM0MsTUFBTSxHQUFHLEdBQWEsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUU7YUFDZCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsc0JBQStDLEVBQUUsRUFBRTtZQUN0RCxPQUFPLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNLLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBMkIsRUFBUSxFQUFFO1lBQ3BILDZHQUE2RztZQUM3RyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUU7Z0JBQzlCLE9BQU87YUFDUjtZQUNELHNFQUFzRTtZQUN0RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFTLEVBQUU7WUFDMUYsOEdBQThHO1lBQzlHLHNFQUFzRTtZQUN0RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFTLEVBQUU7WUFDeEYsNkdBQTZHO1lBQzdHLHNFQUFzRTtZQUN0RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzswSEFuRVUsNEJBQTRCOzhIQUE1Qiw0QkFBNEIsY0FGM0IsTUFBTTs0RkFFUCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIGFzIFRyYW5zYWN0aW9uQWxsb2NhdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24tYWxsb2NhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcblxuLy8gQFRPRE8gRG9uJ3QgbG9vayBhdCB0aGUgY29tbWVudGVkIGNvZGUuIFdpbGwgYmUgcmVmYWN0b3JlZC9yZW1vdmVkIGR1cmluZyBUVC0xNTAzXG5cbi8qKlxuICogU2VydmljZSBmb3IgdHJhbnNhY3Rpb24gYWxsb2NhdGlvbnMgYnVzaW5lc3MgbG9naWNcbiAqIEBUT0RPIGFsZXggcmVmYWN0b3JcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRyYW5zYWN0aW9uQWxsb2NhdGlvbkJhc2UsIFRyYW5zYWN0aW9uQWxsb2NhdGlvbj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIC8vIEFQSSBVUkwgcGFyYW0gZm9yIHRyYW5zYWN0aW9uIGFsbG9jYXRpb25zXG4gIHVybDogc3RyaW5nID0gJ3RyYW5zYWN0aW9ucy1hbGxvY2F0aW9ucyc7XG4gIG1vZGVsQ2xhc3MgPSBUcmFuc2FjdGlvbkFsbG9jYXRpb247XG5cbiAgLyoqXG4gICAqIEFkZCBzaW5nbGUgdHJhbnNhY3Rpb24gYWxsb2NhdGlvblxuICAgKi9cbiAgYWRkKGFsbG9jYXRpb246IFRyYW5zYWN0aW9uQWxsb2NhdGlvbik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25BbGxvY2F0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQmF0Y2goW2FsbG9jYXRpb25dKS5waXBlKFxuICAgICAgbWFwKChuZXdBbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uW10pOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24gPT4gbmV3QWxsb2NhdGlvbnNbMF0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgYWxsb2NhdGlvbnMgcmVsYXRlZCB3aXRoIHBhc3NlZCBiYW5rIHRyYW5zYWN0aW9ucyBsaXN0XG4gICAqL1xuICBnZXRCeVRyYW5zYWN0aW9ucyh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdPiB7XG4gICAgY29uc3QgaWRzOiBudW1iZXJbXSA9IHRyYW5zYWN0aW9ucy5tYXAoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uaWQpO1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbkFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25bXSkgPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbkFsbG9jYXRpb25zLmZpbHRlcigoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKSA9PiBpZHMuaW5jbHVkZXMoYWxsb2NhdGlvbi50cmFuc2FjdGlvbi5pZCkpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLm9uVHJhbnNhY3Rpb25zQ3JlYXRlZCgpO1xuICAgIHRoaXMub25EZXByZWNpYXRpb25DcmVhdGVkKCk7XG4gICAgdGhpcy5vblRyYW5zYWN0aW9uRGVsZXRlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IGNhY2hlIG9uIHRyYW5zYWN0aW9ucyBjcmVhdGVkXG4gICAqL1xuICBwcml2YXRlIG9uVHJhbnNhY3Rpb25zQ3JlYXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTlNfQ1JFQVRFRCkuc3Vic2NyaWJlKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiB2b2lkID0+IHtcbiAgICAgIC8vIEBUT0RPIEFsZXggaGFjazogcmVzZWFyY2ggYW5kIHJlZmFjdG9yIGNhY2hlIHVwZGF0ZSBsb2dpYywgZG9udCByZXNldCBjYWNoZSBlYWNoIHRpbWUgdHJhbnNhY3Rpb25zIGNoYW5nZWRcbiAgICAgIGlmICh0cmFuc2FjdGlvbnNbMF0uaXNUcmFuc2Zlcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBVcGRhdGUgYWxsb2NhdGlvbnMgY2FjaGUgdG8gc3luY2hyb25pemUgZGF0YSBhbmQgZmlyZSBzdWJzY3JpcHRpb25zXG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBjYWNoZSBvbiBkZXByZWNpYXRpb24gY3JlYXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBvbkRlcHJlY2lhdGlvbkNyZWF0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OU19DUkVBVEVEKS5zdWJzY3JpYmUoKCk6IHZvaWQgPT4ge1xuICAgICAgLy8gQFRPRE8gQWxleCBoYWNrOiByZXNlYXJjaCBhbmQgcmVmYWN0b3IgY2FjaGUgdXBkYXRlIGxvZ2ljLCBkb250IHJlc2V0IGNhY2hlIGVhY2ggdGltZSBkZXByZWNpYXRpb25zIGNoYW5nZWRcbiAgICAgIC8vIFVwZGF0ZSBhbGxvY2F0aW9ucyBjYWNoZSB0byBzeW5jaHJvbml6ZSBkYXRhIGFuZCBmaXJlIHN1YnNjcmlwdGlvbnNcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IGNhY2hlIG9uIHRyYW5zYWN0aW9uIGRlbGV0ZWRcbiAgICovXG4gIHByaXZhdGUgb25UcmFuc2FjdGlvbkRlbGV0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fREVMRVRFRCkuc3Vic2NyaWJlKCgpOiB2b2lkID0+IHtcbiAgICAgIC8vIEBUT0RPIEFsZXggaGFjazogcmVzZWFyY2ggYW5kIHJlZmFjdG9yIGNhY2hlIHVwZGF0ZSBsb2dpYywgZG9udCByZXNldCBjYWNoZSBlYWNoIHRpbWUgdHJhbnNhY3Rpb25zIGNoYW5nZWRcbiAgICAgIC8vIFVwZGF0ZSBhbGxvY2F0aW9ucyBjYWNoZSB0byBzeW5jaHJvbml6ZSBkYXRhIGFuZCBmaXJlIHN1YnNjcmlwdGlvbnNcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUU5RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUdyQyxvRkFBb0Y7QUFFcEY7OztHQUdHO0FBSUgsTUFBTSxPQUFPLDRCQUE2QixTQUFRLFdBQTZEO0lBSC9HOztRQUlFLDRDQUE0QztRQUM1QyxRQUFHLEdBQVcsMEJBQTBCLENBQUM7UUFDekMsZUFBVSxHQUFHLHFCQUFxQixDQUFDO0tBaUVwQztJQS9EQzs7T0FFRztJQUNILEdBQUcsQ0FBQyxVQUFpQztRQUNuQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckMsR0FBRyxDQUFDLENBQUMsY0FBdUMsRUFBeUIsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMzRixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsWUFBMkI7UUFDM0MsTUFBTSxHQUFHLEdBQWEsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUU7YUFDZCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsc0JBQStDLEVBQUUsRUFBRTtZQUN0RCxPQUFPLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNLLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBMkIsRUFBUSxFQUFFO1lBQ3BILDZHQUE2RztZQUM3RyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUU7Z0JBQzlCLE9BQU87YUFDUjtZQUNELHNFQUFzRTtZQUN0RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQkFBcUI7UUFDM0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFTLEVBQUU7WUFDMUYsOEdBQThHO1lBQzlHLHNFQUFzRTtZQUN0RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFTLEVBQUU7WUFDeEYsNkdBQTZHO1lBQzdHLHNFQUFzRTtZQUN0RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzswSEFuRVUsNEJBQTRCOzhIQUE1Qiw0QkFBNEIsY0FGM0IsTUFBTTs0RkFFUCw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25BbGxvY2F0aW9uIGFzIFRyYW5zYWN0aW9uQWxsb2NhdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcblxuLy8gQFRPRE8gRG9uJ3QgbG9vayBhdCB0aGUgY29tbWVudGVkIGNvZGUuIFdpbGwgYmUgcmVmYWN0b3JlZC9yZW1vdmVkIGR1cmluZyBUVC0xNTAzXG5cbi8qKlxuICogU2VydmljZSBmb3IgdHJhbnNhY3Rpb24gYWxsb2NhdGlvbnMgYnVzaW5lc3MgbG9naWNcbiAqIEBUT0RPIGFsZXggcmVmYWN0b3JcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25BbGxvY2F0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRyYW5zYWN0aW9uQWxsb2NhdGlvbkJhc2UsIFRyYW5zYWN0aW9uQWxsb2NhdGlvbj4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIC8vIEFQSSBVUkwgcGFyYW0gZm9yIHRyYW5zYWN0aW9uIGFsbG9jYXRpb25zXG4gIHVybDogc3RyaW5nID0gJ3RyYW5zYWN0aW9ucy1hbGxvY2F0aW9ucyc7XG4gIG1vZGVsQ2xhc3MgPSBUcmFuc2FjdGlvbkFsbG9jYXRpb247XG5cbiAgLyoqXG4gICAqIEFkZCBzaW5nbGUgdHJhbnNhY3Rpb24gYWxsb2NhdGlvblxuICAgKi9cbiAgYWRkKGFsbG9jYXRpb246IFRyYW5zYWN0aW9uQWxsb2NhdGlvbik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25BbGxvY2F0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQmF0Y2goW2FsbG9jYXRpb25dKS5waXBlKFxuICAgICAgbWFwKChuZXdBbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uW10pOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24gPT4gbmV3QWxsb2NhdGlvbnNbMF0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgYWxsb2NhdGlvbnMgcmVsYXRlZCB3aXRoIHBhc3NlZCBiYW5rIHRyYW5zYWN0aW9ucyBsaXN0XG4gICAqL1xuICBnZXRCeVRyYW5zYWN0aW9ucyh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uQWxsb2NhdGlvbltdPiB7XG4gICAgY29uc3QgaWRzOiBudW1iZXJbXSA9IHRyYW5zYWN0aW9ucy5tYXAoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gdHJhbnNhY3Rpb24uaWQpO1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbkFsbG9jYXRpb25zOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25bXSkgPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbkFsbG9jYXRpb25zLmZpbHRlcigoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKSA9PiBpZHMuaW5jbHVkZXMoYWxsb2NhdGlvbi50cmFuc2FjdGlvbi5pZCkpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLm9uVHJhbnNhY3Rpb25zQ3JlYXRlZCgpO1xuICAgIHRoaXMub25EZXByZWNpYXRpb25DcmVhdGVkKCk7XG4gICAgdGhpcy5vblRyYW5zYWN0aW9uRGVsZXRlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IGNhY2hlIG9uIHRyYW5zYWN0aW9ucyBjcmVhdGVkXG4gICAqL1xuICBwcml2YXRlIG9uVHJhbnNhY3Rpb25zQ3JlYXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTlNfQ1JFQVRFRCkuc3Vic2NyaWJlKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiB2b2lkID0+IHtcbiAgICAgIC8vIEBUT0RPIEFsZXggaGFjazogcmVzZWFyY2ggYW5kIHJlZmFjdG9yIGNhY2hlIHVwZGF0ZSBsb2dpYywgZG9udCByZXNldCBjYWNoZSBlYWNoIHRpbWUgdHJhbnNhY3Rpb25zIGNoYW5nZWRcbiAgICAgIGlmICh0cmFuc2FjdGlvbnNbMF0uaXNUcmFuc2Zlcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBVcGRhdGUgYWxsb2NhdGlvbnMgY2FjaGUgdG8gc3luY2hyb25pemUgZGF0YSBhbmQgZmlyZSBzdWJzY3JpcHRpb25zXG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCBjYWNoZSBvbiBkZXByZWNpYXRpb24gY3JlYXRlZFxuICAgKi9cbiAgcHJpdmF0ZSBvbkRlcHJlY2lhdGlvbkNyZWF0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OU19DUkVBVEVEKS5zdWJzY3JpYmUoKCk6IHZvaWQgPT4ge1xuICAgICAgLy8gQFRPRE8gQWxleCBoYWNrOiByZXNlYXJjaCBhbmQgcmVmYWN0b3IgY2FjaGUgdXBkYXRlIGxvZ2ljLCBkb250IHJlc2V0IGNhY2hlIGVhY2ggdGltZSBkZXByZWNpYXRpb25zIGNoYW5nZWRcbiAgICAgIC8vIFVwZGF0ZSBhbGxvY2F0aW9ucyBjYWNoZSB0byBzeW5jaHJvbml6ZSBkYXRhIGFuZCBmaXJlIHN1YnNjcmlwdGlvbnNcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IGNhY2hlIG9uIHRyYW5zYWN0aW9uIGRlbGV0ZWRcbiAgICovXG4gIHByaXZhdGUgb25UcmFuc2FjdGlvbkRlbGV0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fREVMRVRFRCkuc3Vic2NyaWJlKCgpOiB2b2lkID0+IHtcbiAgICAgIC8vIEBUT0RPIEFsZXggaGFjazogcmVzZWFyY2ggYW5kIHJlZmFjdG9yIGNhY2hlIHVwZGF0ZSBsb2dpYywgZG9udCByZXNldCBjYWNoZSBlYWNoIHRpbWUgdHJhbnNhY3Rpb25zIGNoYW5nZWRcbiAgICAgIC8vIFVwZGF0ZSBhbGxvY2F0aW9ucyBjYWNoZSB0byBzeW5jaHJvbml6ZSBkYXRhIGFuZCBmaXJlIHN1YnNjcmlwdGlvbnNcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=