@saritasa/crm-delmar-core-sdk 0.0.199 → 0.0.201

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 (237) hide show
  1. package/README.md +2 -2
  2. package/api/api.d.ts +7 -1
  3. package/api/client-notes-api.serviceInterface.d.ts +5 -0
  4. package/api/export-client-notes-api.service.d.ts +98 -0
  5. package/api/export-client-notes-api.serviceInterface.d.ts +69 -0
  6. package/api/export-job-reports-departments-api.serviceInterface.d.ts +2 -0
  7. package/api/export-job-reports-users-api.serviceInterface.d.ts +2 -0
  8. package/api/export-jobs-api.serviceInterface.d.ts +2 -0
  9. package/api/export-project-notes-api.service.d.ts +98 -0
  10. package/api/export-project-notes-api.serviceInterface.d.ts +69 -0
  11. package/api/jobs-api.service.d.ts +45 -1
  12. package/api/jobs-api.serviceInterface.d.ts +84 -0
  13. package/api/project-notes-api.serviceInterface.d.ts +5 -0
  14. package/esm2022/api/api.mjs +9 -1
  15. package/esm2022/api/client-notes-api.service.mjs +13 -1
  16. package/esm2022/api/client-notes-api.serviceInterface.mjs +1 -1
  17. package/esm2022/api/export-client-notes-api.service.mjs +245 -0
  18. package/esm2022/api/export-client-notes-api.serviceInterface.mjs +2 -0
  19. package/esm2022/api/export-job-reports-departments-api.service.mjs +7 -1
  20. package/esm2022/api/export-job-reports-departments-api.serviceInterface.mjs +1 -1
  21. package/esm2022/api/export-job-reports-users-api.service.mjs +7 -1
  22. package/esm2022/api/export-job-reports-users-api.serviceInterface.mjs +1 -1
  23. package/esm2022/api/export-jobs-api.service.mjs +7 -1
  24. package/esm2022/api/export-jobs-api.serviceInterface.mjs +1 -1
  25. package/esm2022/api/export-project-notes-api.service.mjs +245 -0
  26. package/esm2022/api/export-project-notes-api.serviceInterface.mjs +2 -0
  27. package/esm2022/api/jobs-api.service.mjs +261 -1
  28. package/esm2022/api/jobs-api.serviceInterface.mjs +1 -1
  29. package/esm2022/api/project-notes-api.service.mjs +13 -1
  30. package/esm2022/api/project-notes-api.serviceInterface.mjs +1 -1
  31. package/esm2022/model/client-note-resource-create-export-job-request.dto.mjs +2 -0
  32. package/esm2022/model/client-notes-list-created-by-error-component.dto.mjs +18 -0
  33. package/esm2022/model/client-notes-list-created-by-in-error-component.dto.mjs +18 -0
  34. package/esm2022/model/client-notes-list-created-gte-error-component.dto.mjs +18 -0
  35. package/esm2022/model/client-notes-list-created-lte-error-component.dto.mjs +18 -0
  36. package/esm2022/model/client-notes-list-error.dto.mjs +1 -1
  37. package/esm2022/model/client-project-note-file.dto.mjs +1 -1
  38. package/esm2022/model/export-client-notes-cancel-create-error-response400.dto.mjs +2 -0
  39. package/esm2022/model/export-client-notes-list-error-response400.dto.mjs +2 -0
  40. package/esm2022/model/export-client-notes-retrieve-error-response400.dto.mjs +2 -0
  41. package/esm2022/model/export-client-notes-start-create-error-response400.dto.mjs +2 -0
  42. package/esm2022/model/export-client-notes-start-create-error.dto.mjs +2 -0
  43. package/esm2022/model/export-client-notes-start-create-file-format-error-component.dto.mjs +20 -0
  44. package/esm2022/model/export-client-notes-start-create-non-field-errors-error-component.dto.mjs +19 -0
  45. package/esm2022/model/export-client-notes-start-create-validation-error.dto.mjs +2 -0
  46. package/esm2022/model/export-project-notes-cancel-create-error-response400.dto.mjs +2 -0
  47. package/esm2022/model/export-project-notes-list-error-response400.dto.mjs +2 -0
  48. package/esm2022/model/export-project-notes-retrieve-error-response400.dto.mjs +2 -0
  49. package/esm2022/model/export-project-notes-start-create-error-response400.dto.mjs +2 -0
  50. package/esm2022/model/export-project-notes-start-create-error.dto.mjs +2 -0
  51. package/esm2022/model/export-project-notes-start-create-file-format-error-component.dto.mjs +20 -0
  52. package/esm2022/model/export-project-notes-start-create-non-field-errors-error-component.dto.mjs +19 -0
  53. package/esm2022/model/export-project-notes-start-create-validation-error.dto.mjs +2 -0
  54. package/esm2022/model/job-report-daily.dto.mjs +2 -0
  55. package/esm2022/model/job-stats.dto.mjs +11 -0
  56. package/esm2022/model/jobs-billable-chart-list-department-id-error-component.dto.mjs +19 -0
  57. package/esm2022/model/jobs-billable-chart-list-department-id-in-error-component.dto.mjs +19 -0
  58. package/esm2022/model/jobs-billable-chart-list-error.dto.mjs +1 -1
  59. package/esm2022/model/jobs-list-department-id-error-component.dto.mjs +19 -0
  60. package/esm2022/model/jobs-list-department-id-in-error-component.dto.mjs +19 -0
  61. package/esm2022/model/jobs-list-error.dto.mjs +1 -1
  62. package/esm2022/model/jobs-production-chart-list-department-id-error-component.dto.mjs +19 -0
  63. package/esm2022/model/jobs-production-chart-list-department-id-in-error-component.dto.mjs +19 -0
  64. package/esm2022/model/jobs-production-chart-list-error.dto.mjs +1 -1
  65. package/esm2022/model/jobs-report-daily-list-billed-by-error-component.dto.mjs +18 -0
  66. package/esm2022/model/jobs-report-daily-list-billed-by-in-error-component.dto.mjs +18 -0
  67. package/esm2022/model/jobs-report-daily-list-branch-error-component.dto.mjs +18 -0
  68. package/esm2022/model/jobs-report-daily-list-branch-in-error-component.dto.mjs +18 -0
  69. package/esm2022/model/jobs-report-daily-list-created-by-error-component.dto.mjs +18 -0
  70. package/esm2022/model/jobs-report-daily-list-created-by-in-error-component.dto.mjs +18 -0
  71. package/esm2022/model/jobs-report-daily-list-date-gte-error-component.dto.mjs +18 -0
  72. package/esm2022/model/jobs-report-daily-list-date-lte-error-component.dto.mjs +18 -0
  73. package/esm2022/model/jobs-report-daily-list-department-id-error-component.dto.mjs +19 -0
  74. package/esm2022/model/jobs-report-daily-list-department-id-in-error-component.dto.mjs +19 -0
  75. package/esm2022/model/jobs-report-daily-list-error-response400.dto.mjs +2 -0
  76. package/esm2022/model/jobs-report-daily-list-error.dto.mjs +2 -0
  77. package/esm2022/model/jobs-report-daily-list-id-error-component.dto.mjs +19 -0
  78. package/esm2022/model/jobs-report-daily-list-id-in-error-component.dto.mjs +19 -0
  79. package/esm2022/model/jobs-report-daily-list-task-error-component.dto.mjs +18 -0
  80. package/esm2022/model/jobs-report-daily-list-task-in-error-component.dto.mjs +18 -0
  81. package/esm2022/model/jobs-report-daily-list-task-project-client-error-component.dto.mjs +18 -0
  82. package/esm2022/model/jobs-report-daily-list-task-project-client-in-error-component.dto.mjs +18 -0
  83. package/esm2022/model/jobs-report-daily-list-task-project-error-component.dto.mjs +18 -0
  84. package/esm2022/model/jobs-report-daily-list-task-project-in-error-component.dto.mjs +18 -0
  85. package/esm2022/model/jobs-report-daily-list-type-error-component.dto.mjs +18 -0
  86. package/esm2022/model/jobs-report-daily-list-type-in-error-component.dto.mjs +18 -0
  87. package/esm2022/model/jobs-report-daily-list-updated-by-error-component.dto.mjs +18 -0
  88. package/esm2022/model/jobs-report-daily-list-updated-by-in-error-component.dto.mjs +18 -0
  89. package/esm2022/model/jobs-report-daily-list-validation-error.dto.mjs +2 -0
  90. package/esm2022/model/jobs-report-daily-list-work-type-error-component.dto.mjs +18 -0
  91. package/esm2022/model/jobs-report-daily-list-work-type-in-error-component.dto.mjs +18 -0
  92. package/esm2022/model/jobs-report-departments-list-department-id-error-component.dto.mjs +19 -0
  93. package/esm2022/model/jobs-report-departments-list-department-id-in-error-component.dto.mjs +19 -0
  94. package/esm2022/model/jobs-report-departments-list-error.dto.mjs +1 -1
  95. package/esm2022/model/jobs-report-users-list-department-id-error-component.dto.mjs +19 -0
  96. package/esm2022/model/jobs-report-users-list-department-id-in-error-component.dto.mjs +19 -0
  97. package/esm2022/model/jobs-report-users-list-error.dto.mjs +1 -1
  98. package/esm2022/model/jobs-stats-retrieve-billed-by-error-component.dto.mjs +18 -0
  99. package/esm2022/model/jobs-stats-retrieve-billed-by-in-error-component.dto.mjs +18 -0
  100. package/esm2022/model/jobs-stats-retrieve-branch-error-component.dto.mjs +18 -0
  101. package/esm2022/model/jobs-stats-retrieve-branch-in-error-component.dto.mjs +18 -0
  102. package/esm2022/model/jobs-stats-retrieve-created-by-error-component.dto.mjs +18 -0
  103. package/esm2022/model/jobs-stats-retrieve-created-by-in-error-component.dto.mjs +18 -0
  104. package/esm2022/model/jobs-stats-retrieve-date-gte-error-component.dto.mjs +18 -0
  105. package/esm2022/model/jobs-stats-retrieve-date-lte-error-component.dto.mjs +18 -0
  106. package/esm2022/model/jobs-stats-retrieve-department-id-error-component.dto.mjs +19 -0
  107. package/esm2022/model/jobs-stats-retrieve-department-id-in-error-component.dto.mjs +19 -0
  108. package/esm2022/model/jobs-stats-retrieve-error-response400.dto.mjs +2 -0
  109. package/esm2022/model/jobs-stats-retrieve-error.dto.mjs +2 -0
  110. package/esm2022/model/jobs-stats-retrieve-id-error-component.dto.mjs +19 -0
  111. package/esm2022/model/jobs-stats-retrieve-id-in-error-component.dto.mjs +19 -0
  112. package/esm2022/model/jobs-stats-retrieve-task-error-component.dto.mjs +18 -0
  113. package/esm2022/model/jobs-stats-retrieve-task-in-error-component.dto.mjs +18 -0
  114. package/esm2022/model/jobs-stats-retrieve-task-project-client-error-component.dto.mjs +18 -0
  115. package/esm2022/model/jobs-stats-retrieve-task-project-client-in-error-component.dto.mjs +18 -0
  116. package/esm2022/model/jobs-stats-retrieve-task-project-error-component.dto.mjs +18 -0
  117. package/esm2022/model/jobs-stats-retrieve-task-project-in-error-component.dto.mjs +18 -0
  118. package/esm2022/model/jobs-stats-retrieve-type-error-component.dto.mjs +18 -0
  119. package/esm2022/model/jobs-stats-retrieve-type-in-error-component.dto.mjs +18 -0
  120. package/esm2022/model/jobs-stats-retrieve-updated-by-error-component.dto.mjs +18 -0
  121. package/esm2022/model/jobs-stats-retrieve-updated-by-in-error-component.dto.mjs +18 -0
  122. package/esm2022/model/jobs-stats-retrieve-validation-error.dto.mjs +2 -0
  123. package/esm2022/model/jobs-stats-retrieve-work-type-error-component.dto.mjs +18 -0
  124. package/esm2022/model/jobs-stats-retrieve-work-type-in-error-component.dto.mjs +18 -0
  125. package/esm2022/model/models.mjs +94 -1
  126. package/esm2022/model/paginated-job-report-daily-list.dto.mjs +2 -0
  127. package/esm2022/model/project-note-resource-create-export-job-request.dto.mjs +2 -0
  128. package/esm2022/model/project-notes-list-created-by-error-component.dto.mjs +18 -0
  129. package/esm2022/model/project-notes-list-created-by-in-error-component.dto.mjs +18 -0
  130. package/esm2022/model/project-notes-list-created-gte-error-component.dto.mjs +18 -0
  131. package/esm2022/model/project-notes-list-created-lte-error-component.dto.mjs +18 -0
  132. package/esm2022/model/project-notes-list-error.dto.mjs +1 -1
  133. package/fesm2022/saritasa-crm-delmar-core-sdk.mjs +2498 -426
  134. package/fesm2022/saritasa-crm-delmar-core-sdk.mjs.map +1 -1
  135. package/model/client-note-resource-create-export-job-request.dto.d.ts +16 -0
  136. package/model/client-notes-list-created-by-error-component.dto.d.ts +26 -0
  137. package/model/client-notes-list-created-by-in-error-component.dto.d.ts +26 -0
  138. package/model/client-notes-list-created-gte-error-component.dto.d.ts +26 -0
  139. package/model/client-notes-list-created-lte-error-component.dto.d.ts +26 -0
  140. package/model/client-notes-list-error.dto.d.ts +5 -1
  141. package/model/client-project-note-file.dto.d.ts +1 -0
  142. package/model/export-client-notes-cancel-create-error-response400.dto.d.ts +15 -0
  143. package/model/export-client-notes-list-error-response400.dto.d.ts +15 -0
  144. package/model/export-client-notes-retrieve-error-response400.dto.d.ts +15 -0
  145. package/model/export-client-notes-start-create-error-response400.dto.d.ts +16 -0
  146. package/model/export-client-notes-start-create-error.dto.d.ts +16 -0
  147. package/model/export-client-notes-start-create-file-format-error-component.dto.d.ts +28 -0
  148. package/model/export-client-notes-start-create-non-field-errors-error-component.dto.d.ts +27 -0
  149. package/model/export-client-notes-start-create-validation-error.dto.d.ts +15 -0
  150. package/model/export-project-notes-cancel-create-error-response400.dto.d.ts +15 -0
  151. package/model/export-project-notes-list-error-response400.dto.d.ts +15 -0
  152. package/model/export-project-notes-retrieve-error-response400.dto.d.ts +15 -0
  153. package/model/export-project-notes-start-create-error-response400.dto.d.ts +16 -0
  154. package/model/export-project-notes-start-create-error.dto.d.ts +16 -0
  155. package/model/export-project-notes-start-create-file-format-error-component.dto.d.ts +28 -0
  156. package/model/export-project-notes-start-create-non-field-errors-error-component.dto.d.ts +27 -0
  157. package/model/export-project-notes-start-create-validation-error.dto.d.ts +15 -0
  158. package/model/job-report-daily.dto.d.ts +20 -0
  159. package/model/job-stats.dto.d.ts +17 -0
  160. package/model/jobs-billable-chart-list-department-id-error-component.dto.d.ts +27 -0
  161. package/model/jobs-billable-chart-list-department-id-in-error-component.dto.d.ts +27 -0
  162. package/model/jobs-billable-chart-list-error.dto.d.ts +12 -10
  163. package/model/jobs-list-department-id-error-component.dto.d.ts +27 -0
  164. package/model/jobs-list-department-id-in-error-component.dto.d.ts +27 -0
  165. package/model/jobs-list-error.dto.d.ts +3 -1
  166. package/model/jobs-production-chart-list-department-id-error-component.dto.d.ts +27 -0
  167. package/model/jobs-production-chart-list-department-id-in-error-component.dto.d.ts +27 -0
  168. package/model/jobs-production-chart-list-error.dto.d.ts +8 -6
  169. package/model/jobs-report-daily-list-billed-by-error-component.dto.d.ts +26 -0
  170. package/model/jobs-report-daily-list-billed-by-in-error-component.dto.d.ts +26 -0
  171. package/model/jobs-report-daily-list-branch-error-component.dto.d.ts +26 -0
  172. package/model/jobs-report-daily-list-branch-in-error-component.dto.d.ts +26 -0
  173. package/model/jobs-report-daily-list-created-by-error-component.dto.d.ts +26 -0
  174. package/model/jobs-report-daily-list-created-by-in-error-component.dto.d.ts +26 -0
  175. package/model/jobs-report-daily-list-date-gte-error-component.dto.d.ts +26 -0
  176. package/model/jobs-report-daily-list-date-lte-error-component.dto.d.ts +26 -0
  177. package/model/jobs-report-daily-list-department-id-error-component.dto.d.ts +27 -0
  178. package/model/jobs-report-daily-list-department-id-in-error-component.dto.d.ts +27 -0
  179. package/model/jobs-report-daily-list-error-response400.dto.d.ts +16 -0
  180. package/model/jobs-report-daily-list-error.dto.d.ts +38 -0
  181. package/model/jobs-report-daily-list-id-error-component.dto.d.ts +27 -0
  182. package/model/jobs-report-daily-list-id-in-error-component.dto.d.ts +27 -0
  183. package/model/jobs-report-daily-list-task-error-component.dto.d.ts +26 -0
  184. package/model/jobs-report-daily-list-task-in-error-component.dto.d.ts +26 -0
  185. package/model/jobs-report-daily-list-task-project-client-error-component.dto.d.ts +26 -0
  186. package/model/jobs-report-daily-list-task-project-client-in-error-component.dto.d.ts +26 -0
  187. package/model/jobs-report-daily-list-task-project-error-component.dto.d.ts +26 -0
  188. package/model/jobs-report-daily-list-task-project-in-error-component.dto.d.ts +26 -0
  189. package/model/jobs-report-daily-list-type-error-component.dto.d.ts +26 -0
  190. package/model/jobs-report-daily-list-type-in-error-component.dto.d.ts +26 -0
  191. package/model/jobs-report-daily-list-updated-by-error-component.dto.d.ts +26 -0
  192. package/model/jobs-report-daily-list-updated-by-in-error-component.dto.d.ts +26 -0
  193. package/model/jobs-report-daily-list-validation-error.dto.d.ts +15 -0
  194. package/model/jobs-report-daily-list-work-type-error-component.dto.d.ts +26 -0
  195. package/model/jobs-report-daily-list-work-type-in-error-component.dto.d.ts +26 -0
  196. package/model/jobs-report-departments-list-department-id-error-component.dto.d.ts +27 -0
  197. package/model/jobs-report-departments-list-department-id-in-error-component.dto.d.ts +27 -0
  198. package/model/jobs-report-departments-list-error.dto.d.ts +12 -10
  199. package/model/jobs-report-users-list-department-id-error-component.dto.d.ts +27 -0
  200. package/model/jobs-report-users-list-department-id-in-error-component.dto.d.ts +27 -0
  201. package/model/jobs-report-users-list-error.dto.d.ts +10 -8
  202. package/model/jobs-stats-retrieve-billed-by-error-component.dto.d.ts +26 -0
  203. package/model/jobs-stats-retrieve-billed-by-in-error-component.dto.d.ts +26 -0
  204. package/model/jobs-stats-retrieve-branch-error-component.dto.d.ts +26 -0
  205. package/model/jobs-stats-retrieve-branch-in-error-component.dto.d.ts +26 -0
  206. package/model/jobs-stats-retrieve-created-by-error-component.dto.d.ts +26 -0
  207. package/model/jobs-stats-retrieve-created-by-in-error-component.dto.d.ts +26 -0
  208. package/model/jobs-stats-retrieve-date-gte-error-component.dto.d.ts +26 -0
  209. package/model/jobs-stats-retrieve-date-lte-error-component.dto.d.ts +26 -0
  210. package/model/jobs-stats-retrieve-department-id-error-component.dto.d.ts +27 -0
  211. package/model/jobs-stats-retrieve-department-id-in-error-component.dto.d.ts +27 -0
  212. package/model/jobs-stats-retrieve-error-response400.dto.d.ts +16 -0
  213. package/model/jobs-stats-retrieve-error.dto.d.ts +38 -0
  214. package/model/jobs-stats-retrieve-id-error-component.dto.d.ts +27 -0
  215. package/model/jobs-stats-retrieve-id-in-error-component.dto.d.ts +27 -0
  216. package/model/jobs-stats-retrieve-task-error-component.dto.d.ts +26 -0
  217. package/model/jobs-stats-retrieve-task-in-error-component.dto.d.ts +26 -0
  218. package/model/jobs-stats-retrieve-task-project-client-error-component.dto.d.ts +26 -0
  219. package/model/jobs-stats-retrieve-task-project-client-in-error-component.dto.d.ts +26 -0
  220. package/model/jobs-stats-retrieve-task-project-error-component.dto.d.ts +26 -0
  221. package/model/jobs-stats-retrieve-task-project-in-error-component.dto.d.ts +26 -0
  222. package/model/jobs-stats-retrieve-type-error-component.dto.d.ts +26 -0
  223. package/model/jobs-stats-retrieve-type-in-error-component.dto.d.ts +26 -0
  224. package/model/jobs-stats-retrieve-updated-by-error-component.dto.d.ts +26 -0
  225. package/model/jobs-stats-retrieve-updated-by-in-error-component.dto.d.ts +26 -0
  226. package/model/jobs-stats-retrieve-validation-error.dto.d.ts +15 -0
  227. package/model/jobs-stats-retrieve-work-type-error-component.dto.d.ts +26 -0
  228. package/model/jobs-stats-retrieve-work-type-in-error-component.dto.d.ts +26 -0
  229. package/model/models.d.ts +93 -0
  230. package/model/paginated-job-report-daily-list.dto.d.ts +16 -0
  231. package/model/project-note-resource-create-export-job-request.dto.d.ts +16 -0
  232. package/model/project-notes-list-created-by-error-component.dto.d.ts +26 -0
  233. package/model/project-notes-list-created-by-in-error-component.dto.d.ts +26 -0
  234. package/model/project-notes-list-created-gte-error-component.dto.d.ts +26 -0
  235. package/model/project-notes-list-created-lte-error-component.dto.d.ts +26 -0
  236. package/model/project-notes-list-error.dto.d.ts +5 -1
  237. package/package.json +2 -2
@@ -19,6 +19,9 @@ export * from "./departments-api.serviceInterface";
19
19
  export * from "./dismissal-reasons-api.service";
20
20
  import { DismissalReasonsApiService } from "./dismissal-reasons-api.service";
21
21
  export * from "./dismissal-reasons-api.serviceInterface";
22
+ export * from "./export-client-notes-api.service";
23
+ import { ExportClientNotesApiService } from "./export-client-notes-api.service";
24
+ export * from "./export-client-notes-api.serviceInterface";
22
25
  export * from "./export-job-reports-departments-api.service";
23
26
  import { ExportJobReportsDepartmentsApiService } from "./export-job-reports-departments-api.service";
24
27
  export * from "./export-job-reports-departments-api.serviceInterface";
@@ -28,6 +31,9 @@ export * from "./export-job-reports-users-api.serviceInterface";
28
31
  export * from "./export-jobs-api.service";
29
32
  import { ExportJobsApiService } from "./export-jobs-api.service";
30
33
  export * from "./export-jobs-api.serviceInterface";
34
+ export * from "./export-project-notes-api.service";
35
+ import { ExportProjectNotesApiService } from "./export-project-notes-api.service";
36
+ export * from "./export-project-notes-api.serviceInterface";
31
37
  export * from "./export-project-resources-api.service";
32
38
  import { ExportProjectResourcesApiService } from "./export-project-resources-api.service";
33
39
  export * from "./export-project-resources-api.serviceInterface";
@@ -132,9 +138,11 @@ export const APIS = [
132
138
  ComponentsApiService,
133
139
  DepartmentsApiService,
134
140
  DismissalReasonsApiService,
141
+ ExportClientNotesApiService,
135
142
  ExportJobReportsDepartmentsApiService,
136
143
  ExportJobReportsUsersApiService,
137
144
  ExportJobsApiService,
145
+ ExportProjectNotesApiService,
138
146
  ExportProjectResourcesApiService,
139
147
  ExportProjectsApiService,
140
148
  ExportTasksApiService,
@@ -168,4 +176,4 @@ export const APIS = [
168
176
  WhoAmIApiService,
169
177
  WorkTypesApiService,
170
178
  ];
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRyxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFD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cnQgKiBmcm9tIFwiLi9icmFuY2gtcGVyaW9kcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgQnJhbmNoUGVyaW9kc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9icmFuY2gtcGVyaW9kcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYnJhbmNoLXBlcmlvZHMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2JyYW5jaGVzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBCcmFuY2hlc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9icmFuY2hlcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYnJhbmNoZXMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NsaWVudC1ub3Rlcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgQ2xpZW50Tm90ZXNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vY2xpZW50LW5vdGVzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jbGllbnQtbm90ZXMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NsaWVudHMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IENsaWVudHNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vY2xpZW50cy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2xpZW50cy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50c0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9jb21wb25lbnRzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZXBhcnRtZW50cy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgRGVwYXJ0bWVudHNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vZGVwYXJ0bWVudHMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlcGFydG1lbnRzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kaXNtaXNzYWwtcmVhc29ucy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgRGlzbWlzc2FsUmVhc29uc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9kaXNtaXNzYWwtcmVhc29ucy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGlzbWlzc2FsLXJlYXNvbnMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC1qb2ItcmVwb3J0cy1kZXBhcnRtZW50cy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgRXhwb3J0Sm9iUmVwb3J0c0RlcGFydG1lbnRzQXBpU2VydmljZSB9IGZyb20gXCIuL2V4cG9ydC1qb2ItcmVwb3J0cy1kZXBhcnRtZW50cy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0LWpvYi1yZXBvcnRzLWRlcGFydG1lbnRzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtam9iLXJlcG9ydHMtdXNlcnMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEV4cG9ydEpvYlJlcG9ydHNVc2Vyc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9leHBvcnQtam9iLXJlcG9ydHMtdXNlcnMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC1qb2ItcmVwb3J0cy11c2Vycy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0LWpvYnMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEV4cG9ydEpvYnNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vZXhwb3J0LWpvYnMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC1qb2JzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtcHJvamVjdC1yZXNvdXJjZXMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEV4cG9ydFByb2plY3RSZXNvdXJjZXNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vZXhwb3J0LXByb2plY3QtcmVzb3VyY2VzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtcHJvamVjdC1yZXNvdXJjZXMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC1wcm9qZWN0cy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgRXhwb3J0UHJvamVjdHNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vZXhwb3J0LXByb2plY3RzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtcHJvamVjdHMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC10YXNrcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgRXhwb3J0VGFza3NBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vZXhwb3J0LXRhc2tzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtdGFza3MtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC11c2VyLXBlcmlvZHMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEV4cG9ydFVzZXJQZXJpb2RzQXBpU2VydmljZSB9IGZyb20gXCIuL2V4cG9ydC11c2VyLXBlcmlvZHMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC11c2VyLXBlcmlvZHMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC11c2Vycy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgRXhwb3J0VXNlcnNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vZXhwb3J0LXVzZXJzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtdXNlcnMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ppcmEtY2xpZW50LWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBKaXJhQ2xpZW50QXBpU2VydmljZSB9IGZyb20gXCIuL2ppcmEtY2xpZW50LWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9qaXJhLWNsaWVudC1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vamlyYS1pbnN0YW5jZXMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEppcmFJbnN0YW5jZXNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vamlyYS1pbnN0YW5jZXMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ppcmEtaW5zdGFuY2VzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9qb2JzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBKb2JzQXBpU2VydmljZSB9IGZyb20gXCIuL2pvYnMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2pvYnMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvY2F0aW9ucy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgTG9jYXRpb25zQXBpU2VydmljZSB9IGZyb20gXCIuL2xvY2F0aW9ucy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9jYXRpb25zLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub3RpZmljYXRpb25zLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zQXBpU2VydmljZSB9IGZyb20gXCIuL25vdGlmaWNhdGlvbnMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vdGlmaWNhdGlvbnMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Blcm1pc3Npb24tZGF0YS1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgUGVybWlzc2lvbkRhdGFBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vcGVybWlzc2lvbi1kYXRhLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wZXJtaXNzaW9uLWRhdGEtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2ZpbGUtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFByb2ZpbGVBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vcHJvZmlsZS1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvZmlsZS1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvamVjdC1ub3Rlcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgUHJvamVjdE5vdGVzQXBpU2VydmljZSB9IGZyb20gXCIuL3Byb2plY3Qtbm90ZXMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2plY3Qtbm90ZXMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2plY3QtcHJpb3JpdGllcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgUHJvamVjdFByaW9yaXRpZXNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vcHJvamVjdC1wcmlvcml0aWVzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9qZWN0LXByaW9yaXRpZXMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2plY3QtcmVzb3VyY2VzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBQcm9qZWN0UmVzb3VyY2VzQXBpU2VydmljZSB9IGZyb20gXCIuL3Byb2plY3QtcmVzb3VyY2VzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9qZWN0LXJlc291cmNlcy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvamVjdHMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFByb2plY3RzQXBpU2VydmljZSB9IGZyb20gXCIuL3Byb2plY3RzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9qZWN0cy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm9sZXMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFJvbGVzQXBpU2VydmljZSB9IGZyb20gXCIuL3JvbGVzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb2xlcy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vczMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFMzQXBpU2VydmljZSB9IGZyb20gXCIuL3MzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zMy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VhcmNoLXBlcmlvZHMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFNlYXJjaFBlcmlvZHNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vc2VhcmNoLXBlcmlvZHMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlYXJjaC1wZXJpb2RzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zc28tYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFNzb0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9zc28tYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Nzby1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFza3MtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFRhc2tzQXBpU2VydmljZSB9IGZyb20gXCIuL3Rhc2tzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YXNrcy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9rZW4tYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFRva2VuQXBpU2VydmljZSB9IGZyb20gXCIuL3Rva2VuLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b2tlbi1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXNlci1jYXBhY2l0aWVzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBVc2VyQ2FwYWNpdGllc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi91c2VyLWNhcGFjaXRpZXMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXItY2FwYWNpdGllcy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXNlci1sb2dpbnMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFVzZXJMb2dpbnNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vdXNlci1sb2dpbnMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXItbG9naW5zLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91c2VyLXBlcmlvZHMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFVzZXJQZXJpb2RzQXBpU2VydmljZSB9IGZyb20gXCIuL3VzZXItcGVyaW9kcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXNlci1wZXJpb2RzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91c2VyLXNjb3Jlcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgVXNlclNjb3Jlc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi91c2VyLXNjb3Jlcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXNlci1zY29yZXMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXItdGltZXpvbmUtc2V0dGluZy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgVXNlclRpbWV6b25lU2V0dGluZ0FwaVNlcnZpY2UgfSBmcm9tIFwiLi91c2VyLXRpbWV6b25lLXNldHRpbmctYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXItdGltZXpvbmUtc2V0dGluZy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXNlci10aW1lem9uZXMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFVzZXJUaW1lem9uZXNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vdXNlci10aW1lem9uZXMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXItdGltZXpvbmVzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91c2Vycy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgVXNlcnNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vdXNlcnMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXJzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92ZW5kb3JzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBWZW5kb3JzQXBpU2VydmljZSB9IGZyb20gXCIuL3ZlbmRvcnMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZlbmRvcnMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3doby1hbS1pLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBXaG9BbUlBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vd2hvLWFtLWktYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3doby1hbS1pLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93b3JrLXR5cGVzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBXb3JrVHlwZXNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vd29yay10eXBlcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd29yay10eXBlcy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0IGNvbnN0IEFQSVMgPSBbXG4gIEJyYW5jaFBlcmlvZHNBcGlTZXJ2aWNlLFxuICBCcmFuY2hlc0FwaVNlcnZpY2UsXG4gIENsaWVudE5vdGVzQXBpU2VydmljZSxcbiAgQ2xpZW50c0FwaVNlcnZpY2UsXG4gIENvbXBvbmVudHNBcGlTZXJ2aWNlLFxuICBEZXBhcnRtZW50c0FwaVNlcnZpY2UsXG4gIERpc21pc3NhbFJlYXNvbnNBcGlTZXJ2aWNlLFxuICBFeHBvcnRKb2JSZXBvcnRzRGVwYXJ0bWVudHNBcGlTZXJ2aWNlLFxuICBFeHBvcnRKb2JSZXBvcnRzVXNlcnNBcGlTZXJ2aWNlLFxuICBFeHBvcnRKb2JzQXBpU2VydmljZSxcbiAgRXhwb3J0UHJvamVjdFJlc291cmNlc0FwaVNlcnZpY2UsXG4gIEV4cG9ydFByb2plY3RzQXBpU2VydmljZSxcbiAgRXhwb3J0VGFza3NBcGlTZXJ2aWNlLFxuICBFeHBvcnRVc2VyUGVyaW9kc0FwaVNlcnZpY2UsXG4gIEV4cG9ydFVzZXJzQXBpU2VydmljZSxcbiAgSmlyYUNsaWVudEFwaVNlcnZpY2UsXG4gIEppcmFJbnN0YW5jZXNBcGlTZXJ2aWNlLFxuICBKb2JzQXBpU2VydmljZSxcbiAgTG9jYXRpb25zQXBpU2VydmljZSxcbiAgTm90aWZpY2F0aW9uc0FwaVNlcnZpY2UsXG4gIFBlcm1pc3Npb25EYXRhQXBpU2VydmljZSxcbiAgUHJvZmlsZUFwaVNlcnZpY2UsXG4gIFByb2plY3ROb3Rlc0FwaVNlcnZpY2UsXG4gIFByb2plY3RQcmlvcml0aWVzQXBpU2VydmljZSxcbiAgUHJvamVjdFJlc291cmNlc0FwaVNlcnZpY2UsXG4gIFByb2plY3RzQXBpU2VydmljZSxcbiAgUm9sZXNBcGlTZXJ2aWNlLFxuICBTM0FwaVNlcnZpY2UsXG4gIFNlYXJjaFBlcmlvZHNBcGlTZXJ2aWNlLFxuICBTc29BcGlTZXJ2aWNlLFxuICBUYXNrc0FwaVNlcnZpY2UsXG4gIFRva2VuQXBpU2VydmljZSxcbiAgVXNlckNhcGFjaXRpZXNBcGlTZXJ2aWNlLFxuICBVc2VyTG9naW5zQXBpU2VydmljZSxcbiAgVXNlclBlcmlvZHNBcGlTZXJ2aWNlLFxuICBVc2VyU2NvcmVzQXBpU2VydmljZSxcbiAgVXNlclRpbWV6b25lU2V0dGluZ0FwaVNlcnZpY2UsXG4gIFVzZXJUaW1lem9uZXNBcGlTZXJ2aWNlLFxuICBVc2Vyc0FwaVNlcnZpY2UsXG4gIFZlbmRvcnNBcGlTZXJ2aWNlLFxuICBXaG9BbUlBcGlTZXJ2aWNlLFxuICBXb3JrVHlwZXNBcGlTZXJ2aWNlLFxuXTtcbiJdfQ==
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsOENBQThDLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFD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QUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLGFBQWE7SUFDYixlQUFlO0lBQ2YsZUFBZTtJQUNmLHdCQUF3QjtJQUN4QixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQiw2QkFBNkI7SUFDN0IsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtDQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYnJhbmNoLXBlcmlvZHMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEJyYW5jaFBlcmlvZHNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vYnJhbmNoLXBlcmlvZHMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2JyYW5jaC1wZXJpb2RzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9icmFuY2hlcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgQnJhbmNoZXNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vYnJhbmNoZXMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2JyYW5jaGVzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jbGllbnQtbm90ZXMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IENsaWVudE5vdGVzQXBpU2VydmljZSB9IGZyb20gXCIuL2NsaWVudC1ub3Rlcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2xpZW50LW5vdGVzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jbGllbnRzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBDbGllbnRzQXBpU2VydmljZSB9IGZyb20gXCIuL2NsaWVudHMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NsaWVudHMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IENvbXBvbmVudHNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vY29tcG9uZW50cy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVwYXJ0bWVudHMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IERlcGFydG1lbnRzQXBpU2VydmljZSB9IGZyb20gXCIuL2RlcGFydG1lbnRzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZXBhcnRtZW50cy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGlzbWlzc2FsLXJlYXNvbnMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IERpc21pc3NhbFJlYXNvbnNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vZGlzbWlzc2FsLXJlYXNvbnMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Rpc21pc3NhbC1yZWFzb25zLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtY2xpZW50LW5vdGVzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFeHBvcnRDbGllbnROb3Rlc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9leHBvcnQtY2xpZW50LW5vdGVzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtY2xpZW50LW5vdGVzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtam9iLXJlcG9ydHMtZGVwYXJ0bWVudHMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEV4cG9ydEpvYlJlcG9ydHNEZXBhcnRtZW50c0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9leHBvcnQtam9iLXJlcG9ydHMtZGVwYXJ0bWVudHMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC1qb2ItcmVwb3J0cy1kZXBhcnRtZW50cy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0LWpvYi1yZXBvcnRzLXVzZXJzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFeHBvcnRKb2JSZXBvcnRzVXNlcnNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vZXhwb3J0LWpvYi1yZXBvcnRzLXVzZXJzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtam9iLXJlcG9ydHMtdXNlcnMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC1qb2JzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFeHBvcnRKb2JzQXBpU2VydmljZSB9IGZyb20gXCIuL2V4cG9ydC1qb2JzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtam9icy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0LXByb2plY3Qtbm90ZXMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEV4cG9ydFByb2plY3ROb3Rlc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9leHBvcnQtcHJvamVjdC1ub3Rlcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0LXByb2plY3Qtbm90ZXMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC1wcm9qZWN0LXJlc291cmNlcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgRXhwb3J0UHJvamVjdFJlc291cmNlc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9leHBvcnQtcHJvamVjdC1yZXNvdXJjZXMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC1wcm9qZWN0LXJlc291cmNlcy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0LXByb2plY3RzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFeHBvcnRQcm9qZWN0c0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9leHBvcnQtcHJvamVjdHMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC1wcm9qZWN0cy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0LXRhc2tzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFeHBvcnRUYXNrc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9leHBvcnQtdGFza3MtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC10YXNrcy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0LXVzZXItcGVyaW9kcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgRXhwb3J0VXNlclBlcmlvZHNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vZXhwb3J0LXVzZXItcGVyaW9kcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0LXVzZXItcGVyaW9kcy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0LXVzZXJzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFeHBvcnRVc2Vyc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9leHBvcnQtdXNlcnMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydC11c2Vycy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vamlyYS1jbGllbnQtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEppcmFDbGllbnRBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vamlyYS1jbGllbnQtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ppcmEtY2xpZW50LWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9qaXJhLWluc3RhbmNlcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgSmlyYUluc3RhbmNlc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9qaXJhLWluc3RhbmNlcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vamlyYS1pbnN0YW5jZXMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2pvYnMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEpvYnNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vam9icy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vam9icy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9jYXRpb25zLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBMb2NhdGlvbnNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vbG9jYXRpb25zLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2NhdGlvbnMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vdGlmaWNhdGlvbnMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vbm90aWZpY2F0aW9ucy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbm90aWZpY2F0aW9ucy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGVybWlzc2lvbi1kYXRhLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBQZXJtaXNzaW9uRGF0YUFwaVNlcnZpY2UgfSBmcm9tIFwiLi9wZXJtaXNzaW9uLWRhdGEtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Blcm1pc3Npb24tZGF0YS1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvZmlsZS1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgUHJvZmlsZUFwaVNlcnZpY2UgfSBmcm9tIFwiLi9wcm9maWxlLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9maWxlLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9qZWN0LW5vdGVzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBQcm9qZWN0Tm90ZXNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vcHJvamVjdC1ub3Rlcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvamVjdC1ub3Rlcy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvamVjdC1wcmlvcml0aWVzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBQcm9qZWN0UHJpb3JpdGllc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9wcm9qZWN0LXByaW9yaXRpZXMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2plY3QtcHJpb3JpdGllcy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvamVjdC1yZXNvdXJjZXMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFByb2plY3RSZXNvdXJjZXNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vcHJvamVjdC1yZXNvdXJjZXMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2plY3QtcmVzb3VyY2VzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9qZWN0cy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgUHJvamVjdHNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vcHJvamVjdHMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2plY3RzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb2xlcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgUm9sZXNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vcm9sZXMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvbGVzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zMy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgUzNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vczMtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3MzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZWFyY2gtcGVyaW9kcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgU2VhcmNoUGVyaW9kc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi9zZWFyY2gtcGVyaW9kcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VhcmNoLXBlcmlvZHMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Nzby1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgU3NvQXBpU2VydmljZSB9IGZyb20gXCIuL3Nzby1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3NvLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YXNrcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgVGFza3NBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vdGFza3MtYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Rhc2tzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b2tlbi1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgVG9rZW5BcGlTZXJ2aWNlIH0gZnJvbSBcIi4vdG9rZW4tYXBpLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Rva2VuLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91c2VyLWNhcGFjaXRpZXMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFVzZXJDYXBhY2l0aWVzQXBpU2VydmljZSB9IGZyb20gXCIuL3VzZXItY2FwYWNpdGllcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXNlci1jYXBhY2l0aWVzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91c2VyLWxvZ2lucy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgVXNlckxvZ2luc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi91c2VyLWxvZ2lucy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXNlci1sb2dpbnMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXItcGVyaW9kcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgVXNlclBlcmlvZHNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vdXNlci1wZXJpb2RzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91c2VyLXBlcmlvZHMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXItc2NvcmVzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBVc2VyU2NvcmVzQXBpU2VydmljZSB9IGZyb20gXCIuL3VzZXItc2NvcmVzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91c2VyLXNjb3Jlcy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXNlci10aW1lem9uZS1zZXR0aW5nLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBVc2VyVGltZXpvbmVTZXR0aW5nQXBpU2VydmljZSB9IGZyb20gXCIuL3VzZXItdGltZXpvbmUtc2V0dGluZy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXNlci10aW1lem9uZS1zZXR0aW5nLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91c2VyLXRpbWV6b25lcy1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgVXNlclRpbWV6b25lc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi91c2VyLXRpbWV6b25lcy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXNlci10aW1lem9uZXMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXJzLWFwaS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBVc2Vyc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi91c2Vycy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXNlcnMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZlbmRvcnMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFZlbmRvcnNBcGlTZXJ2aWNlIH0gZnJvbSBcIi4vdmVuZG9ycy1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVuZG9ycy1hcGkuc2VydmljZUludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2hvLWFtLWktYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFdob0FtSUFwaVNlcnZpY2UgfSBmcm9tIFwiLi93aG8tYW0taS1hcGkuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd2hvLWFtLWktYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3dvcmstdHlwZXMtYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IFdvcmtUeXBlc0FwaVNlcnZpY2UgfSBmcm9tIFwiLi93b3JrLXR5cGVzLWFwaS5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93b3JrLXR5cGVzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlXCI7XG5leHBvcnQgY29uc3QgQVBJUyA9IFtcbiAgQnJhbmNoUGVyaW9kc0FwaVNlcnZpY2UsXG4gIEJyYW5jaGVzQXBpU2VydmljZSxcbiAgQ2xpZW50Tm90ZXNBcGlTZXJ2aWNlLFxuICBDbGllbnRzQXBpU2VydmljZSxcbiAgQ29tcG9uZW50c0FwaVNlcnZpY2UsXG4gIERlcGFydG1lbnRzQXBpU2VydmljZSxcbiAgRGlzbWlzc2FsUmVhc29uc0FwaVNlcnZpY2UsXG4gIEV4cG9ydENsaWVudE5vdGVzQXBpU2VydmljZSxcbiAgRXhwb3J0Sm9iUmVwb3J0c0RlcGFydG1lbnRzQXBpU2VydmljZSxcbiAgRXhwb3J0Sm9iUmVwb3J0c1VzZXJzQXBpU2VydmljZSxcbiAgRXhwb3J0Sm9ic0FwaVNlcnZpY2UsXG4gIEV4cG9ydFByb2plY3ROb3Rlc0FwaVNlcnZpY2UsXG4gIEV4cG9ydFByb2plY3RSZXNvdXJjZXNBcGlTZXJ2aWNlLFxuICBFeHBvcnRQcm9qZWN0c0FwaVNlcnZpY2UsXG4gIEV4cG9ydFRhc2tzQXBpU2VydmljZSxcbiAgRXhwb3J0VXNlclBlcmlvZHNBcGlTZXJ2aWNlLFxuICBFeHBvcnRVc2Vyc0FwaVNlcnZpY2UsXG4gIEppcmFDbGllbnRBcGlTZXJ2aWNlLFxuICBKaXJhSW5zdGFuY2VzQXBpU2VydmljZSxcbiAgSm9ic0FwaVNlcnZpY2UsXG4gIExvY2F0aW9uc0FwaVNlcnZpY2UsXG4gIE5vdGlmaWNhdGlvbnNBcGlTZXJ2aWNlLFxuICBQZXJtaXNzaW9uRGF0YUFwaVNlcnZpY2UsXG4gIFByb2ZpbGVBcGlTZXJ2aWNlLFxuICBQcm9qZWN0Tm90ZXNBcGlTZXJ2aWNlLFxuICBQcm9qZWN0UHJpb3JpdGllc0FwaVNlcnZpY2UsXG4gIFByb2plY3RSZXNvdXJjZXNBcGlTZXJ2aWNlLFxuICBQcm9qZWN0c0FwaVNlcnZpY2UsXG4gIFJvbGVzQXBpU2VydmljZSxcbiAgUzNBcGlTZXJ2aWNlLFxuICBTZWFyY2hQZXJpb2RzQXBpU2VydmljZSxcbiAgU3NvQXBpU2VydmljZSxcbiAgVGFza3NBcGlTZXJ2aWNlLFxuICBUb2tlbkFwaVNlcnZpY2UsXG4gIFVzZXJDYXBhY2l0aWVzQXBpU2VydmljZSxcbiAgVXNlckxvZ2luc0FwaVNlcnZpY2UsXG4gIFVzZXJQZXJpb2RzQXBpU2VydmljZSxcbiAgVXNlclNjb3Jlc0FwaVNlcnZpY2UsXG4gIFVzZXJUaW1lem9uZVNldHRpbmdBcGlTZXJ2aWNlLFxuICBVc2VyVGltZXpvbmVzQXBpU2VydmljZSxcbiAgVXNlcnNBcGlTZXJ2aWNlLFxuICBWZW5kb3JzQXBpU2VydmljZSxcbiAgV2hvQW1JQXBpU2VydmljZSxcbiAgV29ya1R5cGVzQXBpU2VydmljZSxcbl07XG4iXX0=
@@ -25,6 +25,11 @@ export class ClientNotesApiService extends BaseService {
25
25
  clientNotesList(requestParameters, observe = "body", reportProgress = false, options) {
26
26
  const client = requestParameters?.client;
27
27
  const clientIn = requestParameters?.clientIn;
28
+ const createdGte = requestParameters?.createdGte;
29
+ const createdLte = requestParameters?.createdLte;
30
+ const createdBy = requestParameters?.createdBy;
31
+ const createdByIn = requestParameters?.createdByIn;
32
+ const hasAttachments = requestParameters?.hasAttachments;
28
33
  const id = requestParameters?.id;
29
34
  const idIn = requestParameters?.idIn;
30
35
  const limit = requestParameters?.limit;
@@ -36,6 +41,13 @@ export class ClientNotesApiService extends BaseService {
36
41
  if (clientIn) {
37
42
  localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...clientIn].join(COLLECTION_FORMATS["csv"]), "client__in");
38
43
  }
44
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, createdGte, "created__gte");
45
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, createdLte, "created__lte");
46
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, createdBy, "created_by");
47
+ if (createdByIn) {
48
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...createdByIn].join(COLLECTION_FORMATS["csv"]), "created_by__in");
49
+ }
50
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, hasAttachments, "has_attachments");
39
51
  localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, id, "id");
40
52
  if (idIn) {
41
53
  localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...idIn].join(COLLECTION_FORMATS["csv"]), "id__in");
@@ -134,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
134
146
  }] }, { type: i2.Configuration, decorators: [{
135
147
  type: Optional
136
148
  }] }] });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW5vdGVzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2NsaWVudC1ub3Rlcy1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUdMLFVBQVUsRUFJVixXQUFXLEdBQ1osTUFBTSxzQkFBc0IsQ0FBQztBQTJCOUIsYUFBYTtBQUNiLE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBVWxELE1BQU0sT0FBTyxxQkFDWCxTQUFRLFdBQVc7SUFJUDtJQURaLFlBQ1ksVUFBc0IsRUFDRCxRQUEyQixFQUM5QyxhQUE2QjtRQUV6QyxLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBSnJCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFLbEMsQ0FBQztJQXNDTSxlQUFlLENBQ3BCLGlCQUFnRCxFQUNoRCxVQUFlLE1BQU0sRUFDckIsaUJBQTBCLEtBQUssRUFDL0IsT0FJQztRQUVELE1BQU0sTUFBTSxHQUFHLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztRQUN6QyxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsRUFBRSxRQUFRLENBQUM7UUFDN0MsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixFQUFFLElBQUksQ0FBQztRQUNyQyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsRUFBRSxLQUFLLENBQUM7UUFDdkMsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixFQUFFLFFBQVEsQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBRyxpQkFBaUIsRUFBRSxNQUFNLENBQUM7UUFFekMsSUFBSSx1QkFBdUIsR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUM1Qyx1QkFBdUIsRUFDbEIsTUFBTSxFQUNYLFFBQVEsQ0FDVCxDQUFDO1FBQ0YsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLHVCQUF1QixHQUFHLElBQUksQ0FBQyxlQUFlLENBQzVDLHVCQUF1QixFQUN2QixDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQzdDLFlBQVksQ0FDYixDQUFDO1FBQ0osQ0FBQztRQUNELHVCQUF1QixHQUFHLElBQUksQ0FBQyxlQUFlLENBQzVDLHVCQUF1QixFQUNsQixFQUFFLEVBQ1AsSUFBSSxDQUNMLENBQUM7UUFDRixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FDNUMsdUJBQXVCLEVBQ3ZCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDekMsUUFBUSxDQUNULENBQUM7UUFDSixDQUFDO1FBQ0QsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FDNUMsdUJBQXVCLEVBQ2xCLEtBQUssRUFDVixPQUFPLENBQ1IsQ0FBQztRQUNGLHVCQUF1QixHQUFHLElBQUksQ0FBQyxlQUFlLENBQzVDLHVCQUF1QixFQUNsQixNQUFNLEVBQ1gsUUFBUSxDQUNULENBQUM7UUFDRix1QkFBdUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUM1Qyx1QkFBdUIsRUFDbEIsUUFBUSxFQUNiLFVBQVUsQ0FDWCxDQUFDO1FBQ0YsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FDNUMsdUJBQXVCLEVBQ2xCLE1BQU0sRUFDWCxRQUFRLENBQ1QsQ0FBQztRQUVGLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFMUMsdUNBQXVDO1FBRXZDLG9DQUFvQztRQUNwQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FDekQsU0FBUyxFQUNULGVBQWUsRUFDZixlQUFlLEVBQ2YsU0FBUyxDQUNWLENBQUM7UUFFRixNQUFNLGdDQUFnQyxHQUNwQyxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxnQ0FBZ0MsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuRCxlQUFlLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FDbkMsUUFBUSxFQUNSLGdDQUFnQyxDQUNqQyxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sbUJBQW1CLEdBQ3ZCLE9BQU8sRUFBRSxPQUFPLElBQUksSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUV4QyxNQUFNLHFCQUFxQixHQUFZLE9BQU8sRUFBRSxhQUFhLElBQUksSUFBSSxDQUFDO1FBRXRFLElBQUksYUFBYSxHQUE2QixNQUFNLENBQUM7UUFDckQsSUFBSSxnQ0FBZ0MsRUFBRSxDQUFDO1lBQ3JDLElBQUksZ0NBQWdDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDekIsQ0FBQztpQkFBTSxJQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGdDQUFnQyxDQUFDLEVBQy9ELENBQUM7Z0JBQ0QsYUFBYSxHQUFHLE1BQU0sQ0FBQztZQUN6QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sYUFBYSxHQUFHLE1BQU0sQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksWUFBWSxHQUFHLHVCQUF1QixDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQzVCLEtBQUssRUFDTCxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLFlBQVksRUFBRSxFQUMvQztZQUNFLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsTUFBTSxFQUFFLHVCQUF1QjtZQUMvQixZQUFZLEVBQU8sYUFBYTtZQUNoQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlO1lBQ25ELE9BQU8sRUFBRSxlQUFlO1lBQ3hCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGFBQWEsRUFBRSxxQkFBcUI7WUFDcEMsY0FBYyxFQUFFLGNBQWM7U0FDL0IsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQXNDTSxtQkFBbUIsQ0FDeEIsaUJBQW1ELEVBQ25ELFVBQWUsTUFBTSxFQUNyQixpQkFBMEIsS0FBSyxFQUMvQixPQUlDO1FBRUQsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLElBQUksRUFBRSxLQUFLLElBQUksSUFBSSxFQUFFLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FDYiwrRUFBK0UsQ0FDaEYsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRTFDLHVDQUF1QztRQUV2QyxvQ0FBb0M7UUFDcEMsZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQ3pELFNBQVMsRUFDVCxlQUFlLEVBQ2YsZUFBZSxFQUNmLFNBQVMsQ0FDVixDQUFDO1FBRUYsTUFBTSxnQ0FBZ0MsR0FDcEMsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQzlELElBQUksZ0NBQWdDLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbkQsZUFBZSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQ25DLFFBQVEsRUFDUixnQ0FBZ0MsQ0FDakMsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLG1CQUFtQixHQUN2QixPQUFPLEVBQUUsT0FBTyxJQUFJLElBQUksV0FBVyxFQUFFLENBQUM7UUFFeEMsTUFBTSxxQkFBcUIsR0FBWSxPQUFPLEVBQUUsYUFBYSxJQUFJLElBQUksQ0FBQztRQUV0RSxJQUFJLGFBQWEsR0FBNkIsTUFBTSxDQUFDO1FBQ3JELElBQUksZ0NBQWdDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLGdDQUFnQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxhQUFhLEdBQUcsTUFBTSxDQUFDO1lBQ3pCLENBQUM7aUJBQU0sSUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUMvRCxDQUFDO2dCQUNELGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDekIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLFlBQVksR0FBRyx3QkFBd0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2hNLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQzVCLEtBQUssRUFDTCxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLFlBQVksRUFBRSxFQUMvQztZQUNFLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsWUFBWSxFQUFPLGFBQWE7WUFDaEMsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTtZQUNuRCxPQUFPLEVBQUUsZUFBZTtZQUN4QixPQUFPLEVBQUUsT0FBTztZQUNoQixhQUFhLEVBQUUscUJBQXFCO1lBQ3BDLGNBQWMsRUFBRSxjQUFjO1NBQy9CLENBQ0YsQ0FBQztJQUNKLENBQUM7d0dBclJVLHFCQUFxQiw0Q0FNVixTQUFTOzRHQU5wQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxTQUFTOzswQkFDNUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVsbWFyIEFwaVxuICpcbiAqXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSHR0cENsaWVudCxcbiAgSHR0cEhlYWRlcnMsXG4gIEh0dHBQYXJhbXMsXG4gIEh0dHBSZXNwb25zZSxcbiAgSHR0cEV2ZW50LFxuICBIdHRwUGFyYW1ldGVyQ29kZWMsXG4gIEh0dHBDb250ZXh0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYyB9IGZyb20gXCIuLi9lbmNvZGVyXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgQ2xpZW50Tm90ZUR0byB9IGZyb20gXCIuLi9tb2RlbC9jbGllbnQtbm90ZS5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IENsaWVudE5vdGVzTGlzdEVycm9yUmVzcG9uc2U0MDBEdG8gfSBmcm9tIFwiLi4vbW9kZWwvY2xpZW50LW5vdGVzLWxpc3QtZXJyb3ItcmVzcG9uc2U0MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBDbGllbnROb3Rlc1JldHJpZXZlRXJyb3JSZXNwb25zZTQwMER0byB9IGZyb20gXCIuLi9tb2RlbC9jbGllbnQtbm90ZXMtcmV0cmlldmUtZXJyb3ItcmVzcG9uc2U0MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDAxRHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDAxLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwM0R0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQwMy5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDREdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U0MDQuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDA1RHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDA1LmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwNkR0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQwNi5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MTVEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U0MTUuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNTAwRHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNTAwLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgUGFnaW5hdGVkQ2xpZW50Tm90ZUxpc3REdG8gfSBmcm9tIFwiLi4vbW9kZWwvcGFnaW5hdGVkLWNsaWVudC1ub3RlLWxpc3QuZHRvXCI7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gZnJvbSBcIi4uL3ZhcmlhYmxlc1wiO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gXCIuLi9hcGkuYmFzZS5zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICBDbGllbnROb3Rlc0FwaVNlcnZpY2VJbnRlcmZhY2UsXG4gIENsaWVudE5vdGVzTGlzdFJlcXVlc3RQYXJhbXMsXG4gIENsaWVudE5vdGVzUmV0cmlldmVSZXF1ZXN0UGFyYW1zLFxufSBmcm9tIFwiLi9jbGllbnQtbm90ZXMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgQ2xpZW50Tm90ZXNBcGlTZXJ2aWNlXG4gIGV4dGVuZHMgQmFzZVNlcnZpY2VcbiAgaW1wbGVtZW50cyBDbGllbnROb3Rlc0FwaVNlcnZpY2VJbnRlcmZhY2VcbntcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uPzogQ29uZmlndXJhdGlvbixcbiAgKSB7XG4gICAgc3VwZXIoYmFzZVBhdGgsIGNvbmZpZ3VyYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwaSB2aWV3c2V0IGZvciBjbGllbnRcXCYjMzk7cyBub3Rlcy5cbiAgICogQHBhcmFtIHJlcXVlc3RQYXJhbWV0ZXJzXG4gICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICovXG4gIHB1YmxpYyBjbGllbnROb3Rlc0xpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM/OiBDbGllbnROb3Rlc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8UGFnaW5hdGVkQ2xpZW50Tm90ZUxpc3REdG8+O1xuICBwdWJsaWMgY2xpZW50Tm90ZXNMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzPzogQ2xpZW50Tm90ZXNMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJyZXNwb25zZVwiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8UGFnaW5hdGVkQ2xpZW50Tm90ZUxpc3REdG8+PjtcbiAgcHVibGljIGNsaWVudE5vdGVzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IENsaWVudE5vdGVzTGlzdFJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiZXZlbnRzXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxQYWdpbmF0ZWRDbGllbnROb3RlTGlzdER0bz4+O1xuICBwdWJsaWMgY2xpZW50Tm90ZXNMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzPzogQ2xpZW50Tm90ZXNMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlOiBhbnkgPSBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5jbGllbnQ7XG4gICAgY29uc3QgY2xpZW50SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uY2xpZW50SW47XG4gICAgY29uc3QgaWQgPSByZXF1ZXN0UGFyYW1ldGVycz8uaWQ7XG4gICAgY29uc3QgaWRJbiA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5pZEluO1xuICAgIGNvbnN0IGxpbWl0ID0gcmVxdWVzdFBhcmFtZXRlcnM/LmxpbWl0O1xuICAgIGNvbnN0IG9mZnNldCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5vZmZzZXQ7XG4gICAgY29uc3Qgb3JkZXJpbmcgPSByZXF1ZXN0UGFyYW1ldGVycz8ub3JkZXJpbmc7XG4gICAgY29uc3Qgc2VhcmNoID0gcmVxdWVzdFBhcmFtZXRlcnM/LnNlYXJjaDtcblxuICAgIGxldCBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHsgZW5jb2RlcjogdGhpcy5lbmNvZGVyIH0pO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+Y2xpZW50LFxuICAgICAgXCJjbGllbnRcIixcbiAgICApO1xuICAgIGlmIChjbGllbnRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi5jbGllbnRJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcImNsaWVudF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+aWQsXG4gICAgICBcImlkXCIsXG4gICAgKTtcbiAgICBpZiAoaWRJbikge1xuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIFsuLi5pZEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiaWRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmxpbWl0LFxuICAgICAgXCJsaW1pdFwiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5vZmZzZXQsXG4gICAgICBcIm9mZnNldFwiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5vcmRlcmluZyxcbiAgICAgIFwib3JkZXJpbmdcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+c2VhcmNoLFxuICAgICAgXCJzZWFyY2hcIixcbiAgICApO1xuXG4gICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAvLyBhdXRoZW50aWNhdGlvbiAoY29va2llQXV0aCkgcmVxdWlyZWRcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChqd3RBdXRoKSByZXF1aXJlZFxuICAgIGxvY2FsVmFySGVhZGVycyA9IHRoaXMuY29uZmlndXJhdGlvbi5hZGRDcmVkZW50aWFsVG9IZWFkZXJzKFxuICAgICAgXCJqd3RBdXRoXCIsXG4gICAgICBcIkF1dGhvcml6YXRpb25cIixcbiAgICAgIGxvY2FsVmFySGVhZGVycyxcbiAgICAgIFwiQmVhcmVyIFwiLFxuICAgICk7XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIG9wdGlvbnM/Lmh0dHBIZWFkZXJBY2NlcHQgPz9cbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoW1wiYXBwbGljYXRpb24vanNvblwiXSk7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoXG4gICAgICAgIFwiQWNjZXB0XCIsXG4gICAgICAgIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCA9XG4gICAgICBvcHRpb25zPy5jb250ZXh0ID8/IG5ldyBIdHRwQ29udGV4dCgpO1xuXG4gICAgY29uc3QgbG9jYWxWYXJUcmFuc2ZlckNhY2hlOiBib29sZWFuID0gb3B0aW9ucz8udHJhbnNmZXJDYWNoZSA/PyB0cnVlO1xuXG4gICAgbGV0IHJlc3BvbnNlVHlwZV86IFwidGV4dFwiIHwgXCJqc29uXCIgfCBcImJsb2JcIiA9IFwianNvblwiO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoXCJ0ZXh0XCIpKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcInRleHRcIjtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImpzb25cIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImJsb2JcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9hcGkvdjEvY2xpZW50LW5vdGVzL2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PFBhZ2luYXRlZENsaWVudE5vdGVMaXN0RHRvPihcbiAgICAgIFwiZ2V0XCIsXG4gICAgICBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCxcbiAgICAgIHtcbiAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgcGFyYW1zOiBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICB0cmFuc2ZlckNhY2hlOiBsb2NhbFZhclRyYW5zZmVyQ2FjaGUsXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcGkgdmlld3NldCBmb3IgY2xpZW50XFwmIzM5O3Mgbm90ZXMuXG4gICAqIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgY2xpZW50Tm90ZXNSZXRyaWV2ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogQ2xpZW50Tm90ZXNSZXRyaWV2ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiYm9keVwiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxDbGllbnROb3RlRHRvPjtcbiAgcHVibGljIGNsaWVudE5vdGVzUmV0cmlldmUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IENsaWVudE5vdGVzUmV0cmlldmVSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcInJlc3BvbnNlXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxDbGllbnROb3RlRHRvPj47XG4gIHB1YmxpYyBjbGllbnROb3Rlc1JldHJpZXZlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBDbGllbnROb3Rlc1JldHJpZXZlUmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJldmVudHNcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PENsaWVudE5vdGVEdG8+PjtcbiAgcHVibGljIGNsaWVudE5vdGVzUmV0cmlldmUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IENsaWVudE5vdGVzUmV0cmlldmVSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU6IGFueSA9IFwiYm9keVwiLFxuICAgIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgaWQgPSByZXF1ZXN0UGFyYW1ldGVycz8uaWQ7XG4gICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJSZXF1aXJlZCBwYXJhbWV0ZXIgaWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBjbGllbnROb3Rlc1JldHJpZXZlLlwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChjb29raWVBdXRoKSByZXF1aXJlZFxuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGp3dEF1dGgpIHJlcXVpcmVkXG4gICAgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5jb25maWd1cmF0aW9uLmFkZENyZWRlbnRpYWxUb0hlYWRlcnMoXG4gICAgICBcImp3dEF1dGhcIixcbiAgICAgIFwiQXV0aG9yaXphdGlvblwiLFxuICAgICAgbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgXCJCZWFyZXIgXCIsXG4gICAgKTtcblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgb3B0aW9ucz8uaHR0cEhlYWRlckFjY2VwdCA/P1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbXCJhcHBsaWNhdGlvbi9qc29uXCJdKTtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldChcbiAgICAgICAgXCJBY2NlcHRcIixcbiAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0ID1cbiAgICAgIG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogXCJ0ZXh0XCIgfCBcImpzb25cIiB8IFwiYmxvYlwiID0gXCJqc29uXCI7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aChcInRleHRcIikpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwidGV4dFwiO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmlzSnNvbk1pbWUobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpXG4gICAgICApIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwianNvblwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwiYmxvYlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBsb2NhbFZhclBhdGggPSBgL2FwaS92MS9jbGllbnQtbm90ZXMvJHt0aGlzLmNvbmZpZ3VyYXRpb24uZW5jb2RlUGFyYW0oeyBuYW1lOiBcImlkXCIsIHZhbHVlOiBpZCwgaW46IFwicGF0aFwiLCBzdHlsZTogXCJzaW1wbGVcIiwgZXhwbG9kZTogZmFsc2UsIGRhdGFUeXBlOiBcIm51bWJlclwiLCBkYXRhRm9ybWF0OiB1bmRlZmluZWQgfSl9L2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PENsaWVudE5vdGVEdG8+KFxuICAgICAgXCJnZXRcIixcbiAgICAgIGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0ke2xvY2FsVmFyUGF0aH1gLFxuICAgICAge1xuICAgICAgICBjb250ZXh0OiBsb2NhbFZhckh0dHBDb250ZXh0LFxuICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnMsXG4gICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgIHRyYW5zZmVyQ2FjaGU6IGxvY2FsVmFyVHJhbnNmZXJDYWNoZSxcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzLFxuICAgICAgfSxcbiAgICApO1xuICB9XG59XG4iXX0=
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW5vdGVzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2NsaWVudC1ub3Rlcy1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUdMLFVBQVUsRUFJVixXQUFXLEdBQ1osTUFBTSxzQkFBc0IsQ0FBQztBQTJCOUIsYUFBYTtBQUNiLE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBVWxELE1BQU0sT0FBTyxxQkFDWCxTQUFRLFdBQVc7SUFJUDtJQURaLFlBQ1ksVUFBc0IsRUFDRCxRQUEyQixFQUM5QyxhQUE2QjtRQUV6QyxLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBSnJCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFLbEMsQ0FBQztJQXNDTSxlQUFlLENBQ3BCLGlCQUFnRCxFQUNoRCxVQUFlLE1BQU0sRUFDckIsaUJBQTBCLEtBQUssRUFDL0IsT0FJQztRQUVELE1BQU0sTUFBTSxHQUFHLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztRQUN6QyxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsRUFBRSxRQUFRLENBQUM7UUFDN0MsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLEVBQUUsVUFBVSxDQUFDO1FBQ2pELE1BQU0sVUFBVSxHQUFHLGlCQUFpQixFQUFFLFVBQVUsQ0FBQztRQUNqRCxNQUFNLFNBQVMsR0FBRyxpQkFBaUIsRUFBRSxTQUFTLENBQUM7UUFDL0MsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLEVBQUUsV0FBVyxDQUFDO1FBQ25ELE1BQU0sY0FBYyxHQUFHLGlC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dXJjZXNDb250ZW50IjpbIi8qKlxuICogRGVsbWFyIEFwaVxuICpcbiAqXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG4vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSHR0cENsaWVudCxcbiAgSHR0cEhlYWRlcnMsXG4gIEh0dHBQYXJhbXMsXG4gIEh0dHBSZXNwb25zZSxcbiAgSHR0cEV2ZW50LFxuICBIdHRwUGFyYW1ldGVyQ29kZWMsXG4gIEh0dHBDb250ZXh0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEN1c3RvbUh0dHBQYXJhbWV0ZXJDb2RlYyB9IGZyb20gXCIuLi9lbmNvZGVyXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgQ2xpZW50Tm90ZUR0byB9IGZyb20gXCIuLi9tb2RlbC9jbGllbnQtbm90ZS5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IENsaWVudE5vdGVzTGlzdEVycm9yUmVzcG9uc2U0MDBEdG8gfSBmcm9tIFwiLi4vbW9kZWwvY2xpZW50LW5vdGVzLWxpc3QtZXJyb3ItcmVzcG9uc2U0MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBDbGllbnROb3Rlc1JldHJpZXZlRXJyb3JSZXNwb25zZTQwMER0byB9IGZyb20gXCIuLi9tb2RlbC9jbGllbnQtbm90ZXMtcmV0cmlldmUtZXJyb3ItcmVzcG9uc2U0MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDAxRHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDAxLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwM0R0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQwMy5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDREdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U0MDQuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDA1RHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDA1LmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwNkR0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQwNi5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MTVEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U0MTUuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNTAwRHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNTAwLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgUGFnaW5hdGVkQ2xpZW50Tm90ZUxpc3REdG8gfSBmcm9tIFwiLi4vbW9kZWwvcGFnaW5hdGVkLWNsaWVudC1ub3RlLWxpc3QuZHRvXCI7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEJBU0VfUEFUSCwgQ09MTEVDVElPTl9GT1JNQVRTIH0gZnJvbSBcIi4uL3ZhcmlhYmxlc1wiO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gXCIuLi9hcGkuYmFzZS5zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICBDbGllbnROb3Rlc0FwaVNlcnZpY2VJbnRlcmZhY2UsXG4gIENsaWVudE5vdGVzTGlzdFJlcXVlc3RQYXJhbXMsXG4gIENsaWVudE5vdGVzUmV0cmlldmVSZXF1ZXN0UGFyYW1zLFxufSBmcm9tIFwiLi9jbGllbnQtbm90ZXMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgQ2xpZW50Tm90ZXNBcGlTZXJ2aWNlXG4gIGV4dGVuZHMgQmFzZVNlcnZpY2VcbiAgaW1wbGVtZW50cyBDbGllbnROb3Rlc0FwaVNlcnZpY2VJbnRlcmZhY2VcbntcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uPzogQ29uZmlndXJhdGlvbixcbiAgKSB7XG4gICAgc3VwZXIoYmFzZVBhdGgsIGNvbmZpZ3VyYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwaSB2aWV3c2V0IGZvciBjbGllbnRcXCYjMzk7cyBub3Rlcy5cbiAgICogQHBhcmFtIHJlcXVlc3RQYXJhbWV0ZXJzXG4gICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICovXG4gIHB1YmxpYyBjbGllbnROb3Rlc0xpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM/OiBDbGllbnROb3Rlc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8UGFnaW5hdGVkQ2xpZW50Tm90ZUxpc3REdG8+O1xuICBwdWJsaWMgY2xpZW50Tm90ZXNMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzPzogQ2xpZW50Tm90ZXNMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJyZXNwb25zZVwiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8UGFnaW5hdGVkQ2xpZW50Tm90ZUxpc3REdG8+PjtcbiAgcHVibGljIGNsaWVudE5vdGVzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVycz86IENsaWVudE5vdGVzTGlzdFJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiZXZlbnRzXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxQYWdpbmF0ZWRDbGllbnROb3RlTGlzdER0bz4+O1xuICBwdWJsaWMgY2xpZW50Tm90ZXNMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzPzogQ2xpZW50Tm90ZXNMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlOiBhbnkgPSBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5jbGllbnQ7XG4gICAgY29uc3QgY2xpZW50SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uY2xpZW50SW47XG4gICAgY29uc3QgY3JlYXRlZEd0ZSA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5jcmVhdGVkR3RlO1xuICAgIGNvbnN0IGNyZWF0ZWRMdGUgPSByZXF1ZXN0UGFyYW1ldGVycz8uY3JlYXRlZEx0ZTtcbiAgICBjb25zdCBjcmVhdGVkQnkgPSByZXF1ZXN0UGFyYW1ldGVycz8uY3JlYXRlZEJ5O1xuICAgIGNvbnN0IGNyZWF0ZWRCeUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LmNyZWF0ZWRCeUluO1xuICAgIGNvbnN0IGhhc0F0dGFjaG1lbnRzID0gcmVxdWVzdFBhcmFtZXRlcnM/Lmhhc0F0dGFjaG1lbnRzO1xuICAgIGNvbnN0IGlkID0gcmVxdWVzdFBhcmFtZXRlcnM/LmlkO1xuICAgIGNvbnN0IGlkSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uaWRJbjtcbiAgICBjb25zdCBsaW1pdCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5saW1pdDtcbiAgICBjb25zdCBvZmZzZXQgPSByZXF1ZXN0UGFyYW1ldGVycz8ub2Zmc2V0O1xuICAgIGNvbnN0IG9yZGVyaW5nID0gcmVxdWVzdFBhcmFtZXRlcnM/Lm9yZGVyaW5nO1xuICAgIGNvbnN0IHNlYXJjaCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5zZWFyY2g7XG5cbiAgICBsZXQgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7IGVuY29kZXI6IHRoaXMuZW5jb2RlciB9KTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmNsaWVudCxcbiAgICAgIFwiY2xpZW50XCIsXG4gICAgKTtcbiAgICBpZiAoY2xpZW50SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uY2xpZW50SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJjbGllbnRfX2luXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmNyZWF0ZWRHdGUsXG4gICAgICBcImNyZWF0ZWRfX2d0ZVwiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5jcmVhdGVkTHRlLFxuICAgICAgXCJjcmVhdGVkX19sdGVcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+Y3JlYXRlZEJ5LFxuICAgICAgXCJjcmVhdGVkX2J5XCIsXG4gICAgKTtcbiAgICBpZiAoY3JlYXRlZEJ5SW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uY3JlYXRlZEJ5SW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJjcmVhdGVkX2J5X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5oYXNBdHRhY2htZW50cyxcbiAgICAgIFwiaGFzX2F0dGFjaG1lbnRzXCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmlkLFxuICAgICAgXCJpZFwiLFxuICAgICk7XG4gICAgaWYgKGlkSW4pIHtcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICBbLi4uaWRJbl0uam9pbihDT0xMRUNUSU9OX0ZPUk1BVFNbXCJjc3ZcIl0pLFxuICAgICAgICBcImlkX19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5saW1pdCxcbiAgICAgIFwibGltaXRcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+b2Zmc2V0LFxuICAgICAgXCJvZmZzZXRcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+b3JkZXJpbmcsXG4gICAgICBcIm9yZGVyaW5nXCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PnNlYXJjaCxcbiAgICAgIFwic2VhcmNoXCIsXG4gICAgKTtcblxuICAgIGxldCBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGNvb2tpZUF1dGgpIHJlcXVpcmVkXG5cbiAgICAvLyBhdXRoZW50aWNhdGlvbiAoand0QXV0aCkgcmVxdWlyZWRcbiAgICBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uYWRkQ3JlZGVudGlhbFRvSGVhZGVycyhcbiAgICAgIFwiand0QXV0aFwiLFxuICAgICAgXCJBdXRob3JpemF0aW9uXCIsXG4gICAgICBsb2NhbFZhckhlYWRlcnMsXG4gICAgICBcIkJlYXJlciBcIixcbiAgICApO1xuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICBvcHRpb25zPy5odHRwSGVhZGVyQWNjZXB0ID8/XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KFtcImFwcGxpY2F0aW9uL2pzb25cIl0pO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KFxuICAgICAgICBcIkFjY2VwdFwiLFxuICAgICAgICBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwQ29udGV4dDogSHR0cENvbnRleHQgPVxuICAgICAgb3B0aW9ucz8uY29udGV4dCA/PyBuZXcgSHR0cENvbnRleHQoKTtcblxuICAgIGNvbnN0IGxvY2FsVmFyVHJhbnNmZXJDYWNoZTogYm9vbGVhbiA9IG9wdGlvbnM/LnRyYW5zZmVyQ2FjaGUgPz8gdHJ1ZTtcblxuICAgIGxldCByZXNwb25zZVR5cGVfOiBcInRleHRcIiB8IFwianNvblwiIHwgXCJibG9iXCIgPSBcImpzb25cIjtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpIHtcbiAgICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZC5zdGFydHNXaXRoKFwidGV4dFwiKSkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gXCJ0ZXh0XCI7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uaXNKc29uTWltZShsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZClcbiAgICAgICkge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gXCJqc29uXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNwb25zZVR5cGVfID0gXCJibG9iXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFyUGF0aCA9IGAvYXBpL3YxL2NsaWVudC1ub3Rlcy9gO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxQYWdpbmF0ZWRDbGllbnROb3RlTGlzdER0bz4oXG4gICAgICBcImdldFwiLFxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsXG4gICAgICB7XG4gICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICAgIHBhcmFtczogbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcbiAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3MsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQXBpIHZpZXdzZXQgZm9yIGNsaWVudFxcJiMzOTtzIG5vdGVzLlxuICAgKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgKi9cbiAgcHVibGljIGNsaWVudE5vdGVzUmV0cmlldmUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IENsaWVudE5vdGVzUmV0cmlldmVSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8Q2xpZW50Tm90ZUR0bz47XG4gIHB1YmxpYyBjbGllbnROb3Rlc1JldHJpZXZlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBDbGllbnROb3Rlc1JldHJpZXZlUmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJyZXNwb25zZVwiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8Q2xpZW50Tm90ZUR0bz4+O1xuICBwdWJsaWMgY2xpZW50Tm90ZXNSZXRyaWV2ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogQ2xpZW50Tm90ZXNSZXRyaWV2ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiZXZlbnRzXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxDbGllbnROb3RlRHRvPj47XG4gIHB1YmxpYyBjbGllbnROb3Rlc1JldHJpZXZlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBDbGllbnROb3Rlc1JldHJpZXZlUmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlOiBhbnkgPSBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGlkID0gcmVxdWVzdFBhcmFtZXRlcnM/LmlkO1xuICAgIGlmIChpZCA9PT0gbnVsbCB8fCBpZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiUmVxdWlyZWQgcGFyYW1ldGVyIGlkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgY2xpZW50Tm90ZXNSZXRyaWV2ZS5cIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGxvY2FsVmFySGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAvLyBhdXRoZW50aWNhdGlvbiAoY29va2llQXV0aCkgcmVxdWlyZWRcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChqd3RBdXRoKSByZXF1aXJlZFxuICAgIGxvY2FsVmFySGVhZGVycyA9IHRoaXMuY29uZmlndXJhdGlvbi5hZGRDcmVkZW50aWFsVG9IZWFkZXJzKFxuICAgICAgXCJqd3RBdXRoXCIsXG4gICAgICBcIkF1dGhvcml6YXRpb25cIixcbiAgICAgIGxvY2FsVmFySGVhZGVycyxcbiAgICAgIFwiQmVhcmVyIFwiLFxuICAgICk7XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIG9wdGlvbnM/Lmh0dHBIZWFkZXJBY2NlcHQgPz9cbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoW1wiYXBwbGljYXRpb24vanNvblwiXSk7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxvY2FsVmFySGVhZGVycyA9IGxvY2FsVmFySGVhZGVycy5zZXQoXG4gICAgICAgIFwiQWNjZXB0XCIsXG4gICAgICAgIGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhbFZhckh0dHBDb250ZXh0OiBIdHRwQ29udGV4dCA9XG4gICAgICBvcHRpb25zPy5jb250ZXh0ID8/IG5ldyBIdHRwQ29udGV4dCgpO1xuXG4gICAgY29uc3QgbG9jYWxWYXJUcmFuc2ZlckNhY2hlOiBib29sZWFuID0gb3B0aW9ucz8udHJhbnNmZXJDYWNoZSA/PyB0cnVlO1xuXG4gICAgbGV0IHJlc3BvbnNlVHlwZV86IFwidGV4dFwiIHwgXCJqc29uXCIgfCBcImJsb2JcIiA9IFwianNvblwiO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoXCJ0ZXh0XCIpKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcInRleHRcIjtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImpzb25cIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImJsb2JcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9hcGkvdjEvY2xpZW50LW5vdGVzLyR7dGhpcy5jb25maWd1cmF0aW9uLmVuY29kZVBhcmFtKHsgbmFtZTogXCJpZFwiLCB2YWx1ZTogaWQsIGluOiBcInBhdGhcIiwgc3R5bGU6IFwic2ltcGxlXCIsIGV4cGxvZGU6IGZhbHNlLCBkYXRhVHlwZTogXCJudW1iZXJcIiwgZGF0YUZvcm1hdDogdW5kZWZpbmVkIH0pfS9gO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxDbGllbnROb3RlRHRvPihcbiAgICAgIFwiZ2V0XCIsXG4gICAgICBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCxcbiAgICAgIHtcbiAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICB0cmFuc2ZlckNhY2hlOiBsb2NhbFZhclRyYW5zZmVyQ2FjaGUsXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW5vdGVzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2NsaWVudC1ub3Rlcy1hcGkuc2VydmljZUludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEZWxtYXIgQXBpXG4gKlxuICpcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbmltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuXG5pbXBvcnQgeyBDbGllbnROb3RlRHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgQ2xpZW50Tm90ZXNMaXN0RXJyb3JSZXNwb25zZTQwMER0byB9IGZyb20gXCIuLi9tb2RlbC9tb2RlbHNcIjtcbmltcG9ydCB7IENsaWVudE5vdGVzUmV0cmlldmVFcnJvclJlc3BvbnNlNDAwRHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwMUR0byB9IGZyb20gXCIuLi9tb2RlbC9tb2RlbHNcIjtcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDNEdG8gfSBmcm9tIFwiLi4vbW9kZWwvbW9kZWxzXCI7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDA0RHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwNUR0byB9IGZyb20gXCIuLi9tb2RlbC9tb2RlbHNcIjtcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDZEdG8gfSBmcm9tIFwiLi4vbW9kZWwvbW9kZWxzXCI7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDE1RHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTUwMER0byB9IGZyb20gXCIuLi9tb2RlbC9tb2RlbHNcIjtcbmltcG9ydCB7IFBhZ2luYXRlZENsaWVudE5vdGVMaXN0RHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBDbGllbnROb3Rlc0xpc3RSZXF1ZXN0UGFyYW1zIHtcbiAgY2xpZW50PzogbnVtYmVyO1xuICBjbGllbnRJbj86IEFycmF5PG51bWJlcj47XG4gIGlkPzogbnVtYmVyO1xuICBpZEluPzogQXJyYXk8bnVtYmVyPjtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIG9mZnNldD86IG51bWJlcjtcbiAgb3JkZXJpbmc/OiBzdHJpbmc7XG4gIHNlYXJjaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGllbnROb3Rlc1JldHJpZXZlUmVxdWVzdFBhcmFtcyB7XG4gIGlkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpZW50Tm90ZXNBcGlTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgZGVmYXVsdEhlYWRlcnM6IEh0dHBIZWFkZXJzO1xuICBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKlxuICAgKiBBcGkgdmlld3NldCBmb3IgY2xpZW50XFwmIzM5O3Mgbm90ZXMuXG4gICAqIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgKi9cbiAgY2xpZW50Tm90ZXNMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBDbGllbnROb3Rlc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIGV4dHJhSHR0cFJlcXVlc3RQYXJhbXM/OiBhbnksXG4gICk6IE9ic2VydmFibGU8UGFnaW5hdGVkQ2xpZW50Tm90ZUxpc3REdG8+O1xuXG4gIC8qKlxuICAgKlxuICAgKiBBcGkgdmlld3NldCBmb3IgY2xpZW50XFwmIzM5O3Mgbm90ZXMuXG4gICAqIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgKi9cbiAgY2xpZW50Tm90ZXNSZXRyaWV2ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogQ2xpZW50Tm90ZXNSZXRyaWV2ZVJlcXVlc3RQYXJhbXMsXG4gICAgZXh0cmFIdHRwUmVxdWVzdFBhcmFtcz86IGFueSxcbiAgKTogT2JzZXJ2YWJsZTxDbGllbnROb3RlRHRvPjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW5vdGVzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2NsaWVudC1ub3Rlcy1hcGkuc2VydmljZUludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEZWxtYXIgQXBpXG4gKlxuICpcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cbmltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuXG5pbXBvcnQgeyBDbGllbnROb3RlRHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgQ2xpZW50Tm90ZXNMaXN0RXJyb3JSZXNwb25zZTQwMER0byB9IGZyb20gXCIuLi9tb2RlbC9tb2RlbHNcIjtcbmltcG9ydCB7IENsaWVudE5vdGVzUmV0cmlldmVFcnJvclJlc3BvbnNlNDAwRHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwMUR0byB9IGZyb20gXCIuLi9tb2RlbC9tb2RlbHNcIjtcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDNEdG8gfSBmcm9tIFwiLi4vbW9kZWwvbW9kZWxzXCI7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDA0RHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwNUR0byB9IGZyb20gXCIuLi9tb2RlbC9tb2RlbHNcIjtcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDZEdG8gfSBmcm9tIFwiLi4vbW9kZWwvbW9kZWxzXCI7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDE1RHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTUwMER0byB9IGZyb20gXCIuLi9tb2RlbC9tb2RlbHNcIjtcbmltcG9ydCB7IFBhZ2luYXRlZENsaWVudE5vdGVMaXN0RHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBDbGllbnROb3Rlc0xpc3RSZXF1ZXN0UGFyYW1zIHtcbiAgY2xpZW50PzogbnVtYmVyO1xuICBjbGllbnRJbj86IEFycmF5PG51bWJlcj47XG4gIGNyZWF0ZWRHdGU/OiBzdHJpbmc7XG4gIGNyZWF0ZWRMdGU/OiBzdHJpbmc7XG4gIGNyZWF0ZWRCeT86IG51bWJlcjtcbiAgY3JlYXRlZEJ5SW4/OiBBcnJheTxudW1iZXI+O1xuICBoYXNBdHRhY2htZW50cz86IGJvb2xlYW47XG4gIGlkPzogbnVtYmVyO1xuICBpZEluPzogQXJyYXk8bnVtYmVyPjtcbiAgbGltaXQ/OiBudW1iZXI7XG4gIG9mZnNldD86IG51bWJlcjtcbiAgb3JkZXJpbmc/OiBzdHJpbmc7XG4gIHNlYXJjaD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGllbnROb3Rlc1JldHJpZXZlUmVxdWVzdFBhcmFtcyB7XG4gIGlkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpZW50Tm90ZXNBcGlTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgZGVmYXVsdEhlYWRlcnM6IEh0dHBIZWFkZXJzO1xuICBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKlxuICAgKiBBcGkgdmlld3NldCBmb3IgY2xpZW50XFwmIzM5O3Mgbm90ZXMuXG4gICAqIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgKi9cbiAgY2xpZW50Tm90ZXNMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBDbGllbnROb3Rlc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIGV4dHJhSHR0cFJlcXVlc3RQYXJhbXM/OiBhbnksXG4gICk6IE9ic2VydmFibGU8UGFnaW5hdGVkQ2xpZW50Tm90ZUxpc3REdG8+O1xuXG4gIC8qKlxuICAgKlxuICAgKiBBcGkgdmlld3NldCBmb3IgY2xpZW50XFwmIzM5O3Mgbm90ZXMuXG4gICAqIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgKi9cbiAgY2xpZW50Tm90ZXNSZXRyaWV2ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogQ2xpZW50Tm90ZXNSZXRyaWV2ZVJlcXVlc3RQYXJhbXMsXG4gICAgZXh0cmFIdHRwUmVxdWVzdFBhcmFtcz86IGFueSxcbiAgKTogT2JzZXJ2YWJsZTxDbGllbnROb3RlRHRvPjtcbn1cbiJdfQ==
@@ -0,0 +1,245 @@
1
+ /**
2
+ * Delmar Api
3
+ *
4
+ *
5
+ *
6
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
7
+ * https://openapi-generator.tech
8
+ * Do not edit the class manually.
9
+ */
10
+ /* tslint:disable:no-unused-variable member-ordering */
11
+ import { Inject, Injectable, Optional } from "@angular/core";
12
+ import { HttpParams, HttpContext, } from "@angular/common/http";
13
+ // @ts-ignore
14
+ import { BASE_PATH, COLLECTION_FORMATS } from "../variables";
15
+ import { BaseService } from "../api.base.service";
16
+ import * as i0 from "@angular/core";
17
+ import * as i1 from "@angular/common/http";
18
+ import * as i2 from "../configuration";
19
+ export class ExportClientNotesApiService extends BaseService {
20
+ httpClient;
21
+ constructor(httpClient, basePath, configuration) {
22
+ super(basePath, configuration);
23
+ this.httpClient = httpClient;
24
+ }
25
+ exportClientNotesCancelCreate(requestParameters, observe = "body", reportProgress = false, options) {
26
+ const id = requestParameters?.id;
27
+ if (id === null || id === undefined) {
28
+ throw new Error("Required parameter id was null or undefined when calling exportClientNotesCancelCreate.");
29
+ }
30
+ let localVarHeaders = this.defaultHeaders;
31
+ // authentication (cookieAuth) required
32
+ // authentication (jwtAuth) required
33
+ localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
34
+ const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
35
+ this.configuration.selectHeaderAccept(["application/json"]);
36
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
37
+ localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
38
+ }
39
+ const localVarHttpContext = options?.context ?? new HttpContext();
40
+ const localVarTransferCache = options?.transferCache ?? true;
41
+ let responseType_ = "json";
42
+ if (localVarHttpHeaderAcceptSelected) {
43
+ if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
44
+ responseType_ = "text";
45
+ }
46
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
47
+ responseType_ = "json";
48
+ }
49
+ else {
50
+ responseType_ = "blob";
51
+ }
52
+ }
53
+ let localVarPath = `/api/v1/export-client-notes/${this.configuration.encodeParam({ name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: undefined })}/cancel/`;
54
+ return this.httpClient.request("post", `${this.configuration.basePath}${localVarPath}`, {
55
+ context: localVarHttpContext,
56
+ responseType: responseType_,
57
+ withCredentials: this.configuration.withCredentials,
58
+ headers: localVarHeaders,
59
+ observe: observe,
60
+ transferCache: localVarTransferCache,
61
+ reportProgress: reportProgress,
62
+ });
63
+ }
64
+ exportClientNotesList(requestParameters, observe = "body", reportProgress = false, options) {
65
+ const limit = requestParameters?.limit;
66
+ const offset = requestParameters?.offset;
67
+ const ordering = requestParameters?.ordering;
68
+ const search = requestParameters?.search;
69
+ let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
70
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, limit, "limit");
71
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, offset, "offset");
72
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, ordering, "ordering");
73
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, search, "search");
74
+ let localVarHeaders = this.defaultHeaders;
75
+ // authentication (cookieAuth) required
76
+ // authentication (jwtAuth) required
77
+ localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
78
+ const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
79
+ this.configuration.selectHeaderAccept(["application/json"]);
80
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
81
+ localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
82
+ }
83
+ const localVarHttpContext = options?.context ?? new HttpContext();
84
+ const localVarTransferCache = options?.transferCache ?? true;
85
+ let responseType_ = "json";
86
+ if (localVarHttpHeaderAcceptSelected) {
87
+ if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
88
+ responseType_ = "text";
89
+ }
90
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
91
+ responseType_ = "json";
92
+ }
93
+ else {
94
+ responseType_ = "blob";
95
+ }
96
+ }
97
+ let localVarPath = `/api/v1/export-client-notes/`;
98
+ return this.httpClient.request("get", `${this.configuration.basePath}${localVarPath}`, {
99
+ context: localVarHttpContext,
100
+ params: localVarQueryParameters,
101
+ responseType: responseType_,
102
+ withCredentials: this.configuration.withCredentials,
103
+ headers: localVarHeaders,
104
+ observe: observe,
105
+ transferCache: localVarTransferCache,
106
+ reportProgress: reportProgress,
107
+ });
108
+ }
109
+ exportClientNotesRetrieve(requestParameters, observe = "body", reportProgress = false, options) {
110
+ const id = requestParameters?.id;
111
+ if (id === null || id === undefined) {
112
+ throw new Error("Required parameter id was null or undefined when calling exportClientNotesRetrieve.");
113
+ }
114
+ let localVarHeaders = this.defaultHeaders;
115
+ // authentication (cookieAuth) required
116
+ // authentication (jwtAuth) required
117
+ localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
118
+ const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
119
+ this.configuration.selectHeaderAccept(["application/json"]);
120
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
121
+ localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
122
+ }
123
+ const localVarHttpContext = options?.context ?? new HttpContext();
124
+ const localVarTransferCache = options?.transferCache ?? true;
125
+ let responseType_ = "json";
126
+ if (localVarHttpHeaderAcceptSelected) {
127
+ if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
128
+ responseType_ = "text";
129
+ }
130
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
131
+ responseType_ = "json";
132
+ }
133
+ else {
134
+ responseType_ = "blob";
135
+ }
136
+ }
137
+ let localVarPath = `/api/v1/export-client-notes/${this.configuration.encodeParam({ name: "id", value: id, in: "path", style: "simple", explode: false, dataType: "number", dataFormat: undefined })}/`;
138
+ return this.httpClient.request("get", `${this.configuration.basePath}${localVarPath}`, {
139
+ context: localVarHttpContext,
140
+ responseType: responseType_,
141
+ withCredentials: this.configuration.withCredentials,
142
+ headers: localVarHeaders,
143
+ observe: observe,
144
+ transferCache: localVarTransferCache,
145
+ reportProgress: reportProgress,
146
+ });
147
+ }
148
+ exportClientNotesStartCreate(requestParameters, observe = "body", reportProgress = false, options) {
149
+ const clientNoteResourceCreateExportJobRequestDto = requestParameters?.clientNoteResourceCreateExportJobRequestDto;
150
+ if (clientNoteResourceCreateExportJobRequestDto === null ||
151
+ clientNoteResourceCreateExportJobRequestDto === undefined) {
152
+ throw new Error("Required parameter clientNoteResourceCreateExportJobRequestDto was null or undefined when calling exportClientNotesStartCreate.");
153
+ }
154
+ const client = requestParameters?.client;
155
+ const clientIn = requestParameters?.clientIn;
156
+ const createdGte = requestParameters?.createdGte;
157
+ const createdLte = requestParameters?.createdLte;
158
+ const createdBy = requestParameters?.createdBy;
159
+ const createdByIn = requestParameters?.createdByIn;
160
+ const hasAttachments = requestParameters?.hasAttachments;
161
+ const id = requestParameters?.id;
162
+ const idIn = requestParameters?.idIn;
163
+ const ordering = requestParameters?.ordering;
164
+ const search = requestParameters?.search;
165
+ let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
166
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, client, "client");
167
+ if (clientIn) {
168
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...clientIn].join(COLLECTION_FORMATS["csv"]), "client__in");
169
+ }
170
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, createdGte, "created__gte");
171
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, createdLte, "created__lte");
172
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, createdBy, "created_by");
173
+ if (createdByIn) {
174
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...createdByIn].join(COLLECTION_FORMATS["csv"]), "created_by__in");
175
+ }
176
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, hasAttachments, "has_attachments");
177
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, id, "id");
178
+ if (idIn) {
179
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, [...idIn].join(COLLECTION_FORMATS["csv"]), "id__in");
180
+ }
181
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, ordering, "ordering");
182
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, search, "search");
183
+ let localVarHeaders = this.defaultHeaders;
184
+ // authentication (cookieAuth) required
185
+ // authentication (jwtAuth) required
186
+ localVarHeaders = this.configuration.addCredentialToHeaders("jwtAuth", "Authorization", localVarHeaders, "Bearer ");
187
+ const localVarHttpHeaderAcceptSelected = options?.httpHeaderAccept ??
188
+ this.configuration.selectHeaderAccept(["application/json"]);
189
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
190
+ localVarHeaders = localVarHeaders.set("Accept", localVarHttpHeaderAcceptSelected);
191
+ }
192
+ const localVarHttpContext = options?.context ?? new HttpContext();
193
+ const localVarTransferCache = options?.transferCache ?? true;
194
+ // to determine the Content-Type header
195
+ const consumes = [
196
+ "application/json",
197
+ "application/x-www-form-urlencoded",
198
+ "multipart/form-data",
199
+ ];
200
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
201
+ if (httpContentTypeSelected !== undefined) {
202
+ localVarHeaders = localVarHeaders.set("Content-Type", httpContentTypeSelected);
203
+ }
204
+ let responseType_ = "json";
205
+ if (localVarHttpHeaderAcceptSelected) {
206
+ if (localVarHttpHeaderAcceptSelected.startsWith("text")) {
207
+ responseType_ = "text";
208
+ }
209
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
210
+ responseType_ = "json";
211
+ }
212
+ else {
213
+ responseType_ = "blob";
214
+ }
215
+ }
216
+ let localVarPath = `/api/v1/export-client-notes/start/`;
217
+ return this.httpClient.request("post", `${this.configuration.basePath}${localVarPath}`, {
218
+ context: localVarHttpContext,
219
+ body: clientNoteResourceCreateExportJobRequestDto,
220
+ params: localVarQueryParameters,
221
+ responseType: responseType_,
222
+ withCredentials: this.configuration.withCredentials,
223
+ headers: localVarHeaders,
224
+ observe: observe,
225
+ transferCache: localVarTransferCache,
226
+ reportProgress: reportProgress,
227
+ });
228
+ }
229
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExportClientNotesApiService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
230
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExportClientNotesApiService, providedIn: "root" });
231
+ }
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExportClientNotesApiService, decorators: [{
233
+ type: Injectable,
234
+ args: [{
235
+ providedIn: "root",
236
+ }]
237
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
238
+ type: Optional
239
+ }, {
240
+ type: Inject,
241
+ args: [BASE_PATH]
242
+ }] }, { type: i2.Configuration, decorators: [{
243
+ type: Optional
244
+ }] }] });
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNsaWVudC1ub3Rlcy1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9leHBvcnQtY2xpZW50LW5vdGVzLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBR0wsVUFBVSxFQUlWLFdBQVcsR0FDWixNQUFNLHNCQUFzQixDQUFDO0FBaUM5QixhQUFhO0FBQ2IsT0FBTyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFZbEQsTUFBTSxPQUFPLDJCQUNYLFNBQVEsV0FBVztJQUlQO0lBRFosWUFDWSxVQUFzQixFQUNELFFBQTJCLEVBQzlDLGFBQTZCO1FBRXpDLEtBQUssQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFKckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUtsQyxDQUFDO0lBc0NNLDZCQUE2QixDQUNsQyxpQkFBNkQsRUFDN0QsVUFBZSxNQUFNLEVBQ3JCLGlCQUEwQixLQUFLLEVBQy9CLE9BSUM7UUFFRCxNQUFNLEVBQUUsR0FBRyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7UUFDakMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksS0FBSyxDQUNiLHlGQUF5RixDQUMxRixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFMUMsdUNBQXVDO1FBRXZDLG9DQUFvQztRQUNwQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FD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XG4gKlxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IgKGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaCkuXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuLyogdHNsaW50OmRpc2FibGU6bm8tdW51c2VkLXZhcmlhYmxlIG1lbWJlci1vcmRlcmluZyAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIEh0dHBDbGllbnQsXG4gIEh0dHBIZWFkZXJzLFxuICBIdHRwUGFyYW1zLFxuICBIdHRwUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cFBhcmFtZXRlckNvZGVjLFxuICBIdHRwQ29udGV4dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBDdXN0b21IdHRwUGFyYW1ldGVyQ29kZWMgfSBmcm9tIFwiLi4vZW5jb2RlclwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IENsaWVudE5vdGVSZXNvdXJjZUNyZWF0ZUV4cG9ydEpvYlJlcXVlc3REdG8gfSBmcm9tIFwiLi4vbW9kZWwvY2xpZW50LW5vdGUtcmVzb3VyY2UtY3JlYXRlLWV4cG9ydC1qb2ItcmVxdWVzdC5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDFEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U0MDEuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDAzRHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDAzLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwNER0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQwNC5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDVEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U0MDUuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDA2RHRvIH0gZnJvbSBcIi4uL21vZGVsL2Vycm9yLXJlc3BvbnNlNDA2LmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQxNUR0byB9IGZyb20gXCIuLi9tb2RlbC9lcnJvci1yZXNwb25zZTQxNS5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U1MDBEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXJyb3ItcmVzcG9uc2U1MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFeHBvcnRDbGllbnROb3Rlc0NhbmNlbENyZWF0ZUVycm9yUmVzcG9uc2U0MDBEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXhwb3J0LWNsaWVudC1ub3Rlcy1jYW5jZWwtY3JlYXRlLWVycm9yLXJlc3BvbnNlNDAwLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXhwb3J0Q2xpZW50Tm90ZXNMaXN0RXJyb3JSZXNwb25zZTQwMER0byB9IGZyb20gXCIuLi9tb2RlbC9leHBvcnQtY2xpZW50LW5vdGVzLWxpc3QtZXJyb3ItcmVzcG9uc2U0MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFeHBvcnRDbGllbnROb3Rlc1JldHJpZXZlRXJyb3JSZXNwb25zZTQwMER0byB9IGZyb20gXCIuLi9tb2RlbC9leHBvcnQtY2xpZW50LW5vdGVzLXJldHJpZXZlLWVycm9yLXJlc3BvbnNlNDAwLmR0b1wiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgRXhwb3J0Q2xpZW50Tm90ZXNTdGFydENyZWF0ZUVycm9yUmVzcG9uc2U0MDBEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXhwb3J0LWNsaWVudC1ub3Rlcy1zdGFydC1jcmVhdGUtZXJyb3ItcmVzcG9uc2U0MDAuZHRvXCI7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgeyBFeHBvcnRKb2JEdG8gfSBmcm9tIFwiLi4vbW9kZWwvZXhwb3J0LWpvYi5kdG9cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7IFBhZ2luYXRlZEV4cG9ydEpvYkxpc3REdG8gfSBmcm9tIFwiLi4vbW9kZWwvcGFnaW5hdGVkLWV4cG9ydC1qb2ItbGlzdC5kdG9cIjtcblxuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgQkFTRV9QQVRILCBDT0xMRUNUSU9OX0ZPUk1BVFMgfSBmcm9tIFwiLi4vdmFyaWFibGVzXCI7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSBcIi4uL2FwaS5iYXNlLnNlcnZpY2VcIjtcbmltcG9ydCB7XG4gIEV4cG9ydENsaWVudE5vdGVzQXBpU2VydmljZUludGVyZmFjZSxcbiAgRXhwb3J0Q2xpZW50Tm90ZXNDYW5jZWxDcmVhdGVSZXF1ZXN0UGFyYW1zLFxuICBFeHBvcnRDbGllbnROb3Rlc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICBFeHBvcnRDbGllbnROb3Rlc1JldHJpZXZlUmVxdWVzdFBhcmFtcyxcbiAgRXhwb3J0Q2xpZW50Tm90ZXNTdGFydENyZWF0ZVJlcXVlc3RQYXJhbXMsXG59IGZyb20gXCIuL2V4cG9ydC1jbGllbnQtbm90ZXMtYXBpLnNlcnZpY2VJbnRlcmZhY2VcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgRXhwb3J0Q2xpZW50Tm90ZXNBcGlTZXJ2aWNlXG4gIGV4dGVuZHMgQmFzZVNlcnZpY2VcbiAgaW1wbGVtZW50cyBFeHBvcnRDbGllbnROb3Rlc0FwaVNlcnZpY2VJbnRlcmZhY2VcbntcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgICBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uPzogQ29uZmlndXJhdGlvbixcbiAgKSB7XG4gICAgc3VwZXIoYmFzZVBhdGgsIGNvbmZpZ3VyYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbmNlbCBleHBvcnQgam9iIHRoYXQgaXMgaW4gcHJvZ3Jlc3MuXG4gICAqIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgZXhwb3J0Q2xpZW50Tm90ZXNDYW5jZWxDcmVhdGUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IEV4cG9ydENsaWVudE5vdGVzQ2FuY2VsQ3JlYXRlUmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJib2R5XCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEV4cG9ydEpvYkR0bz47XG4gIHB1YmxpYyBleHBvcnRDbGllbnROb3Rlc0NhbmNlbENyZWF0ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogRXhwb3J0Q2xpZW50Tm90ZXNDYW5jZWxDcmVhdGVSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcInJlc3BvbnNlXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxFeHBvcnRKb2JEdG8+PjtcbiAgcHVibGljIGV4cG9ydENsaWVudE5vdGVzQ2FuY2VsQ3JlYXRlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBFeHBvcnRDbGllbnROb3Rlc0NhbmNlbENyZWF0ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiZXZlbnRzXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxFeHBvcnRKb2JEdG8+PjtcbiAgcHVibGljIGV4cG9ydENsaWVudE5vdGVzQ2FuY2VsQ3JlYXRlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBFeHBvcnRDbGllbnROb3Rlc0NhbmNlbENyZWF0ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZTogYW55ID0gXCJib2R5XCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBpZCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5pZDtcbiAgICBpZiAoaWQgPT09IG51bGwgfHwgaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlJlcXVpcmVkIHBhcmFtZXRlciBpZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGV4cG9ydENsaWVudE5vdGVzQ2FuY2VsQ3JlYXRlLlwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChjb29raWVBdXRoKSByZXF1aXJlZFxuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGp3dEF1dGgpIHJlcXVpcmVkXG4gICAgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5jb25maWd1cmF0aW9uLmFkZENyZWRlbnRpYWxUb0hlYWRlcnMoXG4gICAgICBcImp3dEF1dGhcIixcbiAgICAgIFwiQXV0aG9yaXphdGlvblwiLFxuICAgICAgbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgXCJCZWFyZXIgXCIsXG4gICAgKTtcblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgb3B0aW9ucz8uaHR0cEhlYWRlckFjY2VwdCA/P1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbXCJhcHBsaWNhdGlvbi9qc29uXCJdKTtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldChcbiAgICAgICAgXCJBY2NlcHRcIixcbiAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0ID1cbiAgICAgIG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogXCJ0ZXh0XCIgfCBcImpzb25cIiB8IFwiYmxvYlwiID0gXCJqc29uXCI7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aChcInRleHRcIikpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwidGV4dFwiO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmlzSnNvbk1pbWUobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpXG4gICAgICApIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwianNvblwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwiYmxvYlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBsb2NhbFZhclBhdGggPSBgL2FwaS92MS9leHBvcnQtY2xpZW50LW5vdGVzLyR7dGhpcy5jb25maWd1cmF0aW9uLmVuY29kZVBhcmFtKHsgbmFtZTogXCJpZFwiLCB2YWx1ZTogaWQsIGluOiBcInBhdGhcIiwgc3R5bGU6IFwic2ltcGxlXCIsIGV4cGxvZGU6IGZhbHNlLCBkYXRhVHlwZTogXCJudW1iZXJcIiwgZGF0YUZvcm1hdDogdW5kZWZpbmVkIH0pfS9jYW5jZWwvYDtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8RXhwb3J0Sm9iRHRvPihcbiAgICAgIFwicG9zdFwiLFxuICAgICAgYCR7dGhpcy5jb25maWd1cmF0aW9uLmJhc2VQYXRofSR7bG9jYWxWYXJQYXRofWAsXG4gICAgICB7XG4gICAgICAgIGNvbnRleHQ6IGxvY2FsVmFySHR0cENvbnRleHQsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogPGFueT5yZXNwb25zZVR5cGVfLFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgIGhlYWRlcnM6IGxvY2FsVmFySGVhZGVycyxcbiAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgdHJhbnNmZXJDYWNoZTogbG9jYWxWYXJUcmFuc2ZlckNhY2hlLFxuICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3MsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVmlld3NldCBmb3IgZXhwb3J0aW5nIGNsaWVudCBub3Rlcy5cbiAgICogQHBhcmFtIHJlcXVlc3RQYXJhbWV0ZXJzXG4gICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICovXG4gIHB1YmxpYyBleHBvcnRDbGllbnROb3Rlc0xpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM/OiBFeHBvcnRDbGllbnROb3Rlc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8UGFnaW5hdGVkRXhwb3J0Sm9iTGlzdER0bz47XG4gIHB1YmxpYyBleHBvcnRDbGllbnROb3Rlc0xpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM/OiBFeHBvcnRDbGllbnROb3Rlc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcInJlc3BvbnNlXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxQYWdpbmF0ZWRFeHBvcnRKb2JMaXN0RHRvPj47XG4gIHB1YmxpYyBleHBvcnRDbGllbnROb3Rlc0xpc3QoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM/OiBFeHBvcnRDbGllbnROb3Rlc0xpc3RSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU/OiBcImV2ZW50c1wiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8UGFnaW5hdGVkRXhwb3J0Sm9iTGlzdER0bz4+O1xuICBwdWJsaWMgZXhwb3J0Q2xpZW50Tm90ZXNMaXN0KFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzPzogRXhwb3J0Q2xpZW50Tm90ZXNMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlOiBhbnkgPSBcImJvZHlcIixcbiAgICByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGxpbWl0ID0gcmVxdWVzdFBhcmFtZXRlcnM/LmxpbWl0O1xuICAgIGNvbnN0IG9mZnNldCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5vZmZzZXQ7XG4gICAgY29uc3Qgb3JkZXJpbmcgPSByZXF1ZXN0UGFyYW1ldGVycz8ub3JkZXJpbmc7XG4gICAgY29uc3Qgc2VhcmNoID0gcmVxdWVzdFBhcmFtZXRlcnM/LnNlYXJjaDtcblxuICAgIGxldCBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IG5ldyBIdHRwUGFyYW1zKHsgZW5jb2RlcjogdGhpcy5lbmNvZGVyIH0pO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+bGltaXQsXG4gICAgICBcImxpbWl0XCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55Pm9mZnNldCxcbiAgICAgIFwib2Zmc2V0XCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55Pm9yZGVyaW5nLFxuICAgICAgXCJvcmRlcmluZ1wiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5zZWFyY2gsXG4gICAgICBcInNlYXJjaFwiLFxuICAgICk7XG5cbiAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChjb29raWVBdXRoKSByZXF1aXJlZFxuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGp3dEF1dGgpIHJlcXVpcmVkXG4gICAgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5jb25maWd1cmF0aW9uLmFkZENyZWRlbnRpYWxUb0hlYWRlcnMoXG4gICAgICBcImp3dEF1dGhcIixcbiAgICAgIFwiQXV0aG9yaXphdGlvblwiLFxuICAgICAgbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgXCJCZWFyZXIgXCIsXG4gICAgKTtcblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgb3B0aW9ucz8uaHR0cEhlYWRlckFjY2VwdCA/P1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbXCJhcHBsaWNhdGlvbi9qc29uXCJdKTtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldChcbiAgICAgICAgXCJBY2NlcHRcIixcbiAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0ID1cbiAgICAgIG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogXCJ0ZXh0XCIgfCBcImpzb25cIiB8IFwiYmxvYlwiID0gXCJqc29uXCI7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aChcInRleHRcIikpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwidGV4dFwiO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmlzSnNvbk1pbWUobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpXG4gICAgICApIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwianNvblwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwiYmxvYlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBsb2NhbFZhclBhdGggPSBgL2FwaS92MS9leHBvcnQtY2xpZW50LW5vdGVzL2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PFBhZ2luYXRlZEV4cG9ydEpvYkxpc3REdG8+KFxuICAgICAgXCJnZXRcIixcbiAgICAgIGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0ke2xvY2FsVmFyUGF0aH1gLFxuICAgICAge1xuICAgICAgICBjb250ZXh0OiBsb2NhbFZhckh0dHBDb250ZXh0LFxuICAgICAgICBwYXJhbXM6IGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnMsXG4gICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgIHRyYW5zZmVyQ2FjaGU6IGxvY2FsVmFyVHJhbnNmZXJDYWNoZSxcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFZpZXdzZXQgZm9yIGV4cG9ydGluZyBjbGllbnQgbm90ZXMuXG4gICAqIEBwYXJhbSByZXF1ZXN0UGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAqL1xuICBwdWJsaWMgZXhwb3J0Q2xpZW50Tm90ZXNSZXRyaWV2ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogRXhwb3J0Q2xpZW50Tm90ZXNSZXRyaWV2ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiYm9keVwiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxFeHBvcnRKb2JEdG8+O1xuICBwdWJsaWMgZXhwb3J0Q2xpZW50Tm90ZXNSZXRyaWV2ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogRXhwb3J0Q2xpZW50Tm90ZXNSZXRyaWV2ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwicmVzcG9uc2VcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEV4cG9ydEpvYkR0bz4+O1xuICBwdWJsaWMgZXhwb3J0Q2xpZW50Tm90ZXNSZXRyaWV2ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogRXhwb3J0Q2xpZW50Tm90ZXNSZXRyaWV2ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZT86IFwiZXZlbnRzXCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxFeHBvcnRKb2JEdG8+PjtcbiAgcHVibGljIGV4cG9ydENsaWVudE5vdGVzUmV0cmlldmUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IEV4cG9ydENsaWVudE5vdGVzUmV0cmlldmVSZXF1ZXN0UGFyYW1zLFxuICAgIG9ic2VydmU6IGFueSA9IFwiYm9keVwiLFxuICAgIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgaWQgPSByZXF1ZXN0UGFyYW1ldGVycz8uaWQ7XG4gICAgaWYgKGlkID09PSBudWxsIHx8IGlkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJSZXF1aXJlZCBwYXJhbWV0ZXIgaWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBleHBvcnRDbGllbnROb3Rlc1JldHJpZXZlLlwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgIC8vIGF1dGhlbnRpY2F0aW9uIChjb29raWVBdXRoKSByZXF1aXJlZFxuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGp3dEF1dGgpIHJlcXVpcmVkXG4gICAgbG9jYWxWYXJIZWFkZXJzID0gdGhpcy5jb25maWd1cmF0aW9uLmFkZENyZWRlbnRpYWxUb0hlYWRlcnMoXG4gICAgICBcImp3dEF1dGhcIixcbiAgICAgIFwiQXV0aG9yaXphdGlvblwiLFxuICAgICAgbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgXCJCZWFyZXIgXCIsXG4gICAgKTtcblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgb3B0aW9ucz8uaHR0cEhlYWRlckFjY2VwdCA/P1xuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChbXCJhcHBsaWNhdGlvbi9qc29uXCJdKTtcbiAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbG9jYWxWYXJIZWFkZXJzID0gbG9jYWxWYXJIZWFkZXJzLnNldChcbiAgICAgICAgXCJBY2NlcHRcIixcbiAgICAgICAgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsVmFySHR0cENvbnRleHQ6IEh0dHBDb250ZXh0ID1cbiAgICAgIG9wdGlvbnM/LmNvbnRleHQgPz8gbmV3IEh0dHBDb250ZXh0KCk7XG5cbiAgICBjb25zdCBsb2NhbFZhclRyYW5zZmVyQ2FjaGU6IGJvb2xlYW4gPSBvcHRpb25zPy50cmFuc2ZlckNhY2hlID8/IHRydWU7XG5cbiAgICBsZXQgcmVzcG9uc2VUeXBlXzogXCJ0ZXh0XCIgfCBcImpzb25cIiB8IFwiYmxvYlwiID0gXCJqc29uXCI7XG4gICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKSB7XG4gICAgICBpZiAobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQuc3RhcnRzV2l0aChcInRleHRcIikpIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwidGV4dFwiO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmlzSnNvbk1pbWUobG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpXG4gICAgICApIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwianNvblwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2VUeXBlXyA9IFwiYmxvYlwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBsb2NhbFZhclBhdGggPSBgL2FwaS92MS9leHBvcnQtY2xpZW50LW5vdGVzLyR7dGhpcy5jb25maWd1cmF0aW9uLmVuY29kZVBhcmFtKHsgbmFtZTogXCJpZFwiLCB2YWx1ZTogaWQsIGluOiBcInBhdGhcIiwgc3R5bGU6IFwic2ltcGxlXCIsIGV4cGxvZGU6IGZhbHNlLCBkYXRhVHlwZTogXCJudW1iZXJcIiwgZGF0YUZvcm1hdDogdW5kZWZpbmVkIH0pfS9gO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxFeHBvcnRKb2JEdG8+KFxuICAgICAgXCJnZXRcIixcbiAgICAgIGAke3RoaXMuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0ke2xvY2FsVmFyUGF0aH1gLFxuICAgICAge1xuICAgICAgICBjb250ZXh0OiBsb2NhbFZhckh0dHBDb250ZXh0LFxuICAgICAgICByZXNwb25zZVR5cGU6IDxhbnk+cmVzcG9uc2VUeXBlXyxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICBoZWFkZXJzOiBsb2NhbFZhckhlYWRlcnMsXG4gICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgIHRyYW5zZmVyQ2FjaGU6IGxvY2FsVmFyVHJhbnNmZXJDYWNoZSxcbiAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZW5kcG9pbnQgY3JlYXRlcyBleHBvcnQgam9iIGFuZCBzdGFydHMgaXQuIFRvIG1vbml0b3IgcHJvZ3Jlc3MgdXNlIGRldGFpbCBlbmRwb2ludCBmb3Igam9icyB0byBmZXRjaCBzdGF0ZSBvZiBqb2IuIE9uY2UgaXRcXCYjMzk7cyBzdGF0dXMgaXMgJiN4NjA7RVhQT1JURUQmI3g2MDssIHlvdSBjYW4gZG93bmxvYWQgZmlsZS5cbiAgICogQHBhcmFtIHJlcXVlc3RQYXJhbWV0ZXJzXG4gICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICovXG4gIHB1YmxpYyBleHBvcnRDbGllbnROb3Rlc1N0YXJ0Q3JlYXRlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBFeHBvcnRDbGllbnROb3Rlc1N0YXJ0Q3JlYXRlUmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJib2R5XCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBodHRwSGVhZGVyQWNjZXB0PzogXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgICB0cmFuc2ZlckNhY2hlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBPYnNlcnZhYmxlPEV4cG9ydEpvYkR0bz47XG4gIHB1YmxpYyBleHBvcnRDbGllbnROb3Rlc1N0YXJ0Q3JlYXRlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBFeHBvcnRDbGllbnROb3Rlc1N0YXJ0Q3JlYXRlUmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJyZXNwb25zZVwiLFxuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbixcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8RXhwb3J0Sm9iRHRvPj47XG4gIHB1YmxpYyBleHBvcnRDbGllbnROb3Rlc1N0YXJ0Q3JlYXRlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBFeHBvcnRDbGllbnROb3Rlc1N0YXJ0Q3JlYXRlUmVxdWVzdFBhcmFtcyxcbiAgICBvYnNlcnZlPzogXCJldmVudHNcIixcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4sXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGh0dHBIZWFkZXJBY2NlcHQ/OiBcImFwcGxpY2F0aW9uL2pzb25cIjtcbiAgICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICAgIHRyYW5zZmVyQ2FjaGU/OiBib29sZWFuO1xuICAgIH0sXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PEV4cG9ydEpvYkR0bz4+O1xuICBwdWJsaWMgZXhwb3J0Q2xpZW50Tm90ZXNTdGFydENyZWF0ZShcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogRXhwb3J0Q2xpZW50Tm90ZXNTdGFydENyZWF0ZVJlcXVlc3RQYXJhbXMsXG4gICAgb2JzZXJ2ZTogYW55ID0gXCJib2R5XCIsXG4gICAgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBvcHRpb25zPzoge1xuICAgICAgaHR0cEhlYWRlckFjY2VwdD86IFwiYXBwbGljYXRpb24vanNvblwiO1xuICAgICAgY29udGV4dD86IEh0dHBDb250ZXh0O1xuICAgICAgdHJhbnNmZXJDYWNoZT86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCBjbGllbnROb3RlUmVzb3VyY2VDcmVhdGVFeHBvcnRKb2JSZXF1ZXN0RHRvID1cbiAgICAgIHJlcXVlc3RQYXJhbWV0ZXJzPy5jbGllbnROb3RlUmVzb3VyY2VDcmVhdGVFeHBvcnRKb2JSZXF1ZXN0RHRvO1xuICAgIGlmIChcbiAgICAgIGNsaWVudE5vdGVSZXNvdXJjZUNyZWF0ZUV4cG9ydEpvYlJlcXVlc3REdG8gPT09IG51bGwgfHxcbiAgICAgIGNsaWVudE5vdGVSZXNvdXJjZUNyZWF0ZUV4cG9ydEpvYlJlcXVlc3REdG8gPT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlJlcXVpcmVkIHBhcmFtZXRlciBjbGllbnROb3RlUmVzb3VyY2VDcmVhdGVFeHBvcnRKb2JSZXF1ZXN0RHRvIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZXhwb3J0Q2xpZW50Tm90ZXNTdGFydENyZWF0ZS5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGNsaWVudCA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5jbGllbnQ7XG4gICAgY29uc3QgY2xpZW50SW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uY2xpZW50SW47XG4gICAgY29uc3QgY3JlYXRlZEd0ZSA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5jcmVhdGVkR3RlO1xuICAgIGNvbnN0IGNyZWF0ZWRMdGUgPSByZXF1ZXN0UGFyYW1ldGVycz8uY3JlYXRlZEx0ZTtcbiAgICBjb25zdCBjcmVhdGVkQnkgPSByZXF1ZXN0UGFyYW1ldGVycz8uY3JlYXRlZEJ5O1xuICAgIGNvbnN0IGNyZWF0ZWRCeUluID0gcmVxdWVzdFBhcmFtZXRlcnM/LmNyZWF0ZWRCeUluO1xuICAgIGNvbnN0IGhhc0F0dGFjaG1lbnRzID0gcmVxdWVzdFBhcmFtZXRlcnM/Lmhhc0F0dGFjaG1lbnRzO1xuICAgIGNvbnN0IGlkID0gcmVxdWVzdFBhcmFtZXRlcnM/LmlkO1xuICAgIGNvbnN0IGlkSW4gPSByZXF1ZXN0UGFyYW1ldGVycz8uaWRJbjtcbiAgICBjb25zdCBvcmRlcmluZyA9IHJlcXVlc3RQYXJhbWV0ZXJzPy5vcmRlcmluZztcbiAgICBjb25zdCBzZWFyY2ggPSByZXF1ZXN0UGFyYW1ldGVycz8uc2VhcmNoO1xuXG4gICAgbGV0IGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoeyBlbmNvZGVyOiB0aGlzLmVuY29kZXIgfSk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5jbGllbnQsXG4gICAgICBcImNsaWVudFwiLFxuICAgICk7XG4gICAgaWYgKGNsaWVudEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmNsaWVudEluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiY2xpZW50X19pblwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5jcmVhdGVkR3RlLFxuICAgICAgXCJjcmVhdGVkX19ndGVcIixcbiAgICApO1xuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+Y3JlYXRlZEx0ZSxcbiAgICAgIFwiY3JlYXRlZF9fbHRlXCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PmNyZWF0ZWRCeSxcbiAgICAgIFwiY3JlYXRlZF9ieVwiLFxuICAgICk7XG4gICAgaWYgKGNyZWF0ZWRCeUluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmNyZWF0ZWRCeUluXS5qb2luKENPTExFQ1RJT05fRk9STUFUU1tcImNzdlwiXSksXG4gICAgICAgIFwiY3JlYXRlZF9ieV9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+aGFzQXR0YWNobWVudHMsXG4gICAgICBcImhhc19hdHRhY2htZW50c1wiLFxuICAgICk7XG4gICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMgPSB0aGlzLmFkZFRvSHR0cFBhcmFtcyhcbiAgICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzLFxuICAgICAgPGFueT5pZCxcbiAgICAgIFwiaWRcIixcbiAgICApO1xuICAgIGlmIChpZEluKSB7XG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgWy4uLmlkSW5dLmpvaW4oQ09MTEVDVElPTl9GT1JNQVRTW1wiY3N2XCJdKSxcbiAgICAgICAgXCJpZF9faW5cIixcbiAgICAgICk7XG4gICAgfVxuICAgIGxvY2FsVmFyUXVlcnlQYXJhbWV0ZXJzID0gdGhpcy5hZGRUb0h0dHBQYXJhbXMoXG4gICAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgIDxhbnk+b3JkZXJpbmcsXG4gICAgICBcIm9yZGVyaW5nXCIsXG4gICAgKTtcbiAgICBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyA9IHRoaXMuYWRkVG9IdHRwUGFyYW1zKFxuICAgICAgbG9jYWxWYXJRdWVyeVBhcmFtZXRlcnMsXG4gICAgICA8YW55PnNlYXJjaCxcbiAgICAgIFwic2VhcmNoXCIsXG4gICAgKTtcblxuICAgIGxldCBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgLy8gYXV0aGVudGljYXRpb24gKGNvb2tpZUF1dGgpIHJlcXVpcmVkXG5cbiAgICAvLyBhdXRoZW50aWNhdGlvbiAoand0QXV0aCkgcmVxdWlyZWRcbiAgICBsb2NhbFZhckhlYWRlcnMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uYWRkQ3JlZGVudGlhbFRvSGVhZGVycyhcbiAgICAgIFwiand0QXV0aFwiLFxuICAgICAgXCJBdXRob3JpemF0aW9uXCIsXG4gICAgICBsb2NhbFZhckhlYWRlcnMsXG4gICAgICBcIkJlYXJlciBcIixcbiAgICApO1xuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICBvcHRpb25zPy5odHRwSGVhZGVyQWNjZXB0ID8/XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KFtcImFwcGxpY2F0aW9uL2pzb25cIl0pO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KFxuICAgICAgICBcIkFjY2VwdFwiLFxuICAgICAgICBsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9jYWxWYXJIdHRwQ29udGV4dDogSHR0cENvbnRleHQgPVxuICAgICAgb3B0aW9ucz8uY29udGV4dCA/PyBuZXcgSHR0cENvbnRleHQoKTtcblxuICAgIGNvbnN0IGxvY2FsVmFyVHJhbnNmZXJDYWNoZTogYm9vbGVhbiA9IG9wdGlvbnM/LnRyYW5zZmVyQ2FjaGUgPz8gdHJ1ZTtcblxuICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgIFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIixcbiAgICAgIFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiLFxuICAgIF07XG4gICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsb2NhbFZhckhlYWRlcnMgPSBsb2NhbFZhckhlYWRlcnMuc2V0KFxuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiLFxuICAgICAgICBodHRwQ29udGVudFR5cGVTZWxlY3RlZCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHJlc3BvbnNlVHlwZV86IFwidGV4dFwiIHwgXCJqc29uXCIgfCBcImJsb2JcIiA9IFwianNvblwiO1xuICAgIGlmIChsb2NhbFZhckh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCkge1xuICAgICAgaWYgKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkLnN0YXJ0c1dpdGgoXCJ0ZXh0XCIpKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcInRleHRcIjtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5pc0pzb25NaW1lKGxvY2FsVmFySHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImpzb25cIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlVHlwZV8gPSBcImJsb2JcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgbG9jYWxWYXJQYXRoID0gYC9hcGkvdjEvZXhwb3J0LWNsaWVudC1ub3Rlcy9zdGFydC9gO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxFeHBvcnRKb2JEdG8+KFxuICAgICAgXCJwb3N0XCIsXG4gICAgICBgJHt0aGlzLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9JHtsb2NhbFZhclBhdGh9YCxcbiAgICAgIHtcbiAgICAgICAgY29udGV4dDogbG9jYWxWYXJIdHRwQ29udGV4dCxcbiAgICAgICAgYm9keTogY2xpZW50Tm90ZVJlc291cmNlQ3JlYXRlRXhwb3J0Sm9iUmVxdWVzdER0byxcbiAgICAgICAgcGFyYW1zOiBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiA8YW55PnJlc3BvbnNlVHlwZV8sXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgaGVhZGVyczogbG9jYWxWYXJIZWFkZXJzLFxuICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICB0cmFuc2ZlckNhY2hlOiBsb2NhbFZhclRyYW5zZmVyQ2FjaGUsXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzcyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNsaWVudC1ub3Rlcy1hcGkuc2VydmljZUludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwaS9leHBvcnQtY2xpZW50LW5vdGVzLWFwaS5zZXJ2aWNlSW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlbG1hciBBcGlcbiAqXG4gKlxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgT3BlbkFQSSBHZW5lcmF0b3IgKGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaCkuXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7IENsaWVudE5vdGVSZXNvdXJjZUNyZWF0ZUV4cG9ydEpvYlJlcXVlc3REdG8gfSBmcm9tIFwiLi4vbW9kZWwvbW9kZWxzXCI7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDAxRHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwM0R0byB9IGZyb20gXCIuLi9tb2RlbC9tb2RlbHNcIjtcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MDREdG8gfSBmcm9tIFwiLi4vbW9kZWwvbW9kZWxzXCI7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNDA1RHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgRXJyb3JSZXNwb25zZTQwNkR0byB9IGZyb20gXCIuLi9tb2RlbC9tb2RlbHNcIjtcbmltcG9ydCB7IEVycm9yUmVzcG9uc2U0MTVEdG8gfSBmcm9tIFwiLi4vbW9kZWwvbW9kZWxzXCI7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlNTAwRHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgRXhwb3J0Q2xpZW50Tm90ZXNDYW5jZWxDcmVhdGVFcnJvclJlc3BvbnNlNDAwRHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgRXhwb3J0Q2xpZW50Tm90ZXNMaXN0RXJyb3JSZXNwb25zZTQwMER0byB9IGZyb20gXCIuLi9tb2RlbC9tb2RlbHNcIjtcbmltcG9ydCB7IEV4cG9ydENsaWVudE5vdGVzUmV0cmlldmVFcnJvclJlc3BvbnNlNDAwRHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuaW1wb3J0IHsgRXhwb3J0Q2xpZW50Tm90ZXNTdGFydENyZWF0ZUVycm9yUmVzcG9uc2U0MDBEdG8gfSBmcm9tIFwiLi4vbW9kZWwvbW9kZWxzXCI7XG5pbXBvcnQgeyBFeHBvcnRKb2JEdG8gfSBmcm9tIFwiLi4vbW9kZWwvbW9kZWxzXCI7XG5pbXBvcnQgeyBQYWdpbmF0ZWRFeHBvcnRKb2JMaXN0RHRvIH0gZnJvbSBcIi4uL21vZGVsL21vZGVsc1wiO1xuXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBFeHBvcnRDbGllbnROb3Rlc0NhbmNlbENyZWF0ZVJlcXVlc3RQYXJhbXMge1xuICBpZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9ydENsaWVudE5vdGVzTGlzdFJlcXVlc3RQYXJhbXMge1xuICBsaW1pdD86IG51bWJlcjtcbiAgb2Zmc2V0PzogbnVtYmVyO1xuICBvcmRlcmluZz86IHN0cmluZztcbiAgc2VhcmNoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9ydENsaWVudE5vdGVzUmV0cmlldmVSZXF1ZXN0UGFyYW1zIHtcbiAgaWQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHBvcnRDbGllbnROb3Rlc1N0YXJ0Q3JlYXRlUmVxdWVzdFBhcmFtcyB7XG4gIGNsaWVudE5vdGVSZXNvdXJjZUNyZWF0ZUV4cG9ydEpvYlJlcXVlc3REdG86IENsaWVudE5vdGVSZXNvdXJjZUNyZWF0ZUV4cG9ydEpvYlJlcXVlc3REdG87XG4gIGNsaWVudD86IG51bWJlcjtcbiAgY2xpZW50SW4/OiBBcnJheTxudW1iZXI+O1xuICBjcmVhdGVkR3RlPzogc3RyaW5nO1xuICBjcmVhdGVkTHRlPzogc3RyaW5nO1xuICBjcmVhdGVkQnk/OiBudW1iZXI7XG4gIGNyZWF0ZWRCeUluPzogQXJyYXk8bnVtYmVyPjtcbiAgaGFzQXR0YWNobWVudHM/OiBib29sZWFuO1xuICBpZD86IG51bWJlcjtcbiAgaWRJbj86IEFycmF5PG51bWJlcj47XG4gIG9yZGVyaW5nPzogc3RyaW5nO1xuICBzZWFyY2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0Q2xpZW50Tm90ZXNBcGlTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgZGVmYXVsdEhlYWRlcnM6IEh0dHBIZWFkZXJzO1xuICBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKlxuICAgKiBDYW5jZWwgZXhwb3J0IGpvYiB0aGF0IGlzIGluIHByb2dyZXNzLlxuICAgKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICovXG4gIGV4cG9ydENsaWVudE5vdGVzQ2FuY2VsQ3JlYXRlKFxuICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBFeHBvcnRDbGllbnROb3Rlc0NhbmNlbENyZWF0ZVJlcXVlc3RQYXJhbXMsXG4gICAgZXh0cmFIdHRwUmVxdWVzdFBhcmFtcz86IGFueSxcbiAgKTogT2JzZXJ2YWJsZTxFeHBvcnRKb2JEdG8+O1xuXG4gIC8qKlxuICAgKlxuICAgKiBWaWV3c2V0IGZvciBleHBvcnRpbmcgY2xpZW50IG5vdGVzLlxuICAgKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICovXG4gIGV4cG9ydENsaWVudE5vdGVzTGlzdChcbiAgICByZXF1ZXN0UGFyYW1ldGVyczogRXhwb3J0Q2xpZW50Tm90ZXNMaXN0UmVxdWVzdFBhcmFtcyxcbiAgICBleHRyYUh0dHBSZXF1ZXN0UGFyYW1zPzogYW55LFxuICApOiBPYnNlcnZhYmxlPFBhZ2luYXRlZEV4cG9ydEpvYkxpc3REdG8+O1xuXG4gIC8qKlxuICAgKlxuICAgKiBWaWV3c2V0IGZvciBleHBvcnRpbmcgY2xpZW50IG5vdGVzLlxuICAgKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICovXG4gIGV4cG9ydENsaWVudE5vdGVzUmV0cmlldmUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IEV4cG9ydENsaWVudE5vdGVzUmV0cmlldmVSZXF1ZXN0UGFyYW1zLFxuICAgIGV4dHJhSHR0cFJlcXVlc3RQYXJhbXM/OiBhbnksXG4gICk6IE9ic2VydmFibGU8RXhwb3J0Sm9iRHRvPjtcblxuICAvKipcbiAgICpcbiAgICogVGhpcyBlbmRwb2ludCBjcmVhdGVzIGV4cG9ydCBqb2IgYW5kIHN0YXJ0cyBpdC4gVG8gbW9uaXRvciBwcm9ncmVzcyB1c2UgZGV0YWlsIGVuZHBvaW50IGZvciBqb2JzIHRvIGZldGNoIHN0YXRlIG9mIGpvYi4gT25jZSBpdFxcJiMzOTtzIHN0YXR1cyBpcyAmI3g2MDtFWFBPUlRFRCYjeDYwOywgeW91IGNhbiBkb3dubG9hZCBmaWxlLlxuICAgKiBAcGFyYW0gcmVxdWVzdFBhcmFtZXRlcnNcbiAgICovXG4gIGV4cG9ydENsaWVudE5vdGVzU3RhcnRDcmVhdGUoXG4gICAgcmVxdWVzdFBhcmFtZXRlcnM6IEV4cG9ydENsaWVudE5vdGVzU3RhcnRDcmVhdGVSZXF1ZXN0UGFyYW1zLFxuICAgIGV4dHJhSHR0cFJlcXVlc3RQYXJhbXM/OiBhbnksXG4gICk6IE9ic2VydmFibGU8RXhwb3J0Sm9iRHRvPjtcbn1cbiJdfQ==