@eo-sdk/client 9.0.0-rc.7 → 9.0.0-rc.9

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 (419) hide show
  1. package/app/eo-client/settings/settings.component.d.ts +2 -1
  2. package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts +5 -9
  3. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +4 -2
  4. package/app/eo-framework/media/media.component.d.ts +3 -12
  5. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts +3 -2
  6. package/app/eo-framework/ui/overlay/overlay.component.d.ts +3 -0
  7. package/app/eo-framework/util/directive/trap-focus.directive.d.ts +2 -0
  8. package/assets/_default/i18n/de.json +2 -0
  9. package/assets/_default/i18n/en.json +7 -5
  10. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js +5 -0
  11. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.js.map +1 -1
  12. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js +1 -1
  13. package/bundles/eo-sdk-client-projects-eo-sdk-core.umd.min.js.map +1 -1
  14. package/bundles/eo-sdk-client.umd.js +137 -134
  15. package/bundles/eo-sdk-client.umd.js.map +1 -1
  16. package/bundles/eo-sdk-client.umd.min.js +1 -1
  17. package/bundles/eo-sdk-client.umd.min.js.map +1 -1
  18. package/eo-sdk-client.metadata.json +1 -1
  19. package/esm2015/app/eo-client/about-state/about-state.component.js +3 -3
  20. package/esm2015/app/eo-client/dashboard/dashboard.component.js +2 -2
  21. package/esm2015/app/eo-client/settings/settings.component.js +7 -4
  22. package/esm2015/app/eo-framework/accordion/simple-accordion/simple-accordion.component.js +18 -23
  23. package/esm2015/app/eo-framework/actions/actions/copy-action/copy-action.js +2 -2
  24. package/esm2015/app/eo-framework/actions/actions/share-object-action/share-object/share-object.component.js +3 -2
  25. package/esm2015/app/eo-framework/app-shell/app-bar/app-add/app-add-dialog/app-add-dialog.component.js +1 -1
  26. package/esm2015/app/eo-framework/app-shell/app-bar/app-bar.component.js +12 -5
  27. package/esm2015/app/eo-framework/app-shell/app-bar/app-search/app-search.component.js +13 -1
  28. package/esm2015/app/eo-framework/form-elements/datetime/datetime.component.js +2 -2
  29. package/esm2015/app/eo-framework/form-elements/form-input/form-input.component.js +1 -1
  30. package/esm2015/app/eo-framework/form-elements/id-reference/id-reference.component.js +1 -1
  31. package/esm2015/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.js +4 -4
  32. package/esm2015/app/eo-framework/form-elements/organization/organization.component.js +1 -1
  33. package/esm2015/app/eo-framework/form-elements/string/string.component.js +3 -3
  34. package/esm2015/app/eo-framework/grid/filters/datetime-filter.component.js +2 -2
  35. package/esm2015/app/eo-framework/grid/filters/organization-filter.component.js +1 -1
  36. package/esm2015/app/eo-framework/media/media.component.js +31 -77
  37. package/esm2015/app/eo-framework/object-details/object-details.component.js +2 -2
  38. package/esm2015/app/eo-framework/settings/change-password/change-password-form/change-password-form.component.js +3 -3
  39. package/esm2015/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.js +9 -4
  40. package/esm2015/app/eo-framework/ui/clipboard/clipboard.component.js +2 -2
  41. package/esm2015/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.js +4 -4
  42. package/esm2015/app/eo-framework/ui/overlay/overlay.component.js +10 -4
  43. package/esm2015/app/eo-framework/util/directive/trap-focus.directive.js +22 -4
  44. package/esm2015/projects/eo-sdk/core/lib/model/dms-object.model.js +4 -1
  45. package/esm2015/projects/eo-sdk/core/lib/service/dms/dms.service.js +2 -1
  46. package/esm2015/projects/eo-sdk/core/lib/service/search/search.service.js +2 -1
  47. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js +5 -0
  48. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.js.map +1 -1
  49. package/fesm2015/eo-sdk-client.js +134 -132
  50. package/fesm2015/eo-sdk-client.js.map +1 -1
  51. package/package.json +2 -2
  52. package/projects/eo-sdk/core/lib/model/dms-object.model.d.ts +4 -0
  53. package/projects/eo-sdk/core/package.json +1 -1
  54. package/scss/_form.scss +3 -0
  55. package/styles.css +2 -0
  56. package/assets/_default/api/pdf/LICENSE +0 -177
  57. package/assets/_default/api/pdf/build/pdf.js +0 -2
  58. package/assets/_default/api/pdf/build/pdf.js.LICENSE.txt +0 -21
  59. package/assets/_default/api/pdf/build/pdf.js.map +0 -1
  60. package/assets/_default/api/pdf/build/pdf.sandbox.js +0 -2
  61. package/assets/_default/api/pdf/build/pdf.sandbox.js.LICENSE.txt +0 -21
  62. package/assets/_default/api/pdf/build/pdf.sandbox.js.map +0 -1
  63. package/assets/_default/api/pdf/build/pdf.worker.js +0 -2
  64. package/assets/_default/api/pdf/build/pdf.worker.js.LICENSE.txt +0 -21
  65. package/assets/_default/api/pdf/build/pdf.worker.js.map +0 -1
  66. package/assets/_default/api/pdf/web/cmaps/78-EUC-H.bcmap +0 -0
  67. package/assets/_default/api/pdf/web/cmaps/78-EUC-V.bcmap +0 -0
  68. package/assets/_default/api/pdf/web/cmaps/78-H.bcmap +0 -0
  69. package/assets/_default/api/pdf/web/cmaps/78-RKSJ-H.bcmap +0 -0
  70. package/assets/_default/api/pdf/web/cmaps/78-RKSJ-V.bcmap +0 -0
  71. package/assets/_default/api/pdf/web/cmaps/78-V.bcmap +0 -0
  72. package/assets/_default/api/pdf/web/cmaps/78ms-RKSJ-H.bcmap +0 -0
  73. package/assets/_default/api/pdf/web/cmaps/78ms-RKSJ-V.bcmap +0 -0
  74. package/assets/_default/api/pdf/web/cmaps/83pv-RKSJ-H.bcmap +0 -0
  75. package/assets/_default/api/pdf/web/cmaps/90ms-RKSJ-H.bcmap +0 -0
  76. package/assets/_default/api/pdf/web/cmaps/90ms-RKSJ-V.bcmap +0 -0
  77. package/assets/_default/api/pdf/web/cmaps/90msp-RKSJ-H.bcmap +0 -0
  78. package/assets/_default/api/pdf/web/cmaps/90msp-RKSJ-V.bcmap +0 -0
  79. package/assets/_default/api/pdf/web/cmaps/90pv-RKSJ-H.bcmap +0 -0
  80. package/assets/_default/api/pdf/web/cmaps/90pv-RKSJ-V.bcmap +0 -0
  81. package/assets/_default/api/pdf/web/cmaps/Add-H.bcmap +0 -0
  82. package/assets/_default/api/pdf/web/cmaps/Add-RKSJ-H.bcmap +0 -0
  83. package/assets/_default/api/pdf/web/cmaps/Add-RKSJ-V.bcmap +0 -0
  84. package/assets/_default/api/pdf/web/cmaps/Add-V.bcmap +0 -0
  85. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-0.bcmap +0 -0
  86. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-1.bcmap +0 -0
  87. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-2.bcmap +0 -0
  88. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-3.bcmap +0 -0
  89. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-4.bcmap +0 -0
  90. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-5.bcmap +0 -0
  91. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-6.bcmap +0 -0
  92. package/assets/_default/api/pdf/web/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  93. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-0.bcmap +0 -0
  94. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-1.bcmap +0 -0
  95. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-2.bcmap +0 -0
  96. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-3.bcmap +0 -0
  97. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-4.bcmap +0 -0
  98. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-5.bcmap +0 -0
  99. package/assets/_default/api/pdf/web/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  100. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-0.bcmap +0 -0
  101. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-1.bcmap +0 -0
  102. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-2.bcmap +0 -0
  103. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-3.bcmap +0 -0
  104. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-4.bcmap +0 -0
  105. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-5.bcmap +0 -0
  106. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-6.bcmap +0 -0
  107. package/assets/_default/api/pdf/web/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  108. package/assets/_default/api/pdf/web/cmaps/Adobe-Korea1-0.bcmap +0 -0
  109. package/assets/_default/api/pdf/web/cmaps/Adobe-Korea1-1.bcmap +0 -0
  110. package/assets/_default/api/pdf/web/cmaps/Adobe-Korea1-2.bcmap +0 -0
  111. package/assets/_default/api/pdf/web/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  112. package/assets/_default/api/pdf/web/cmaps/B5-H.bcmap +0 -0
  113. package/assets/_default/api/pdf/web/cmaps/B5-V.bcmap +0 -0
  114. package/assets/_default/api/pdf/web/cmaps/B5pc-H.bcmap +0 -0
  115. package/assets/_default/api/pdf/web/cmaps/B5pc-V.bcmap +0 -0
  116. package/assets/_default/api/pdf/web/cmaps/CNS-EUC-H.bcmap +0 -0
  117. package/assets/_default/api/pdf/web/cmaps/CNS-EUC-V.bcmap +0 -0
  118. package/assets/_default/api/pdf/web/cmaps/CNS1-H.bcmap +0 -0
  119. package/assets/_default/api/pdf/web/cmaps/CNS1-V.bcmap +0 -0
  120. package/assets/_default/api/pdf/web/cmaps/CNS2-H.bcmap +0 -0
  121. package/assets/_default/api/pdf/web/cmaps/CNS2-V.bcmap +0 -3
  122. package/assets/_default/api/pdf/web/cmaps/ETHK-B5-H.bcmap +0 -0
  123. package/assets/_default/api/pdf/web/cmaps/ETHK-B5-V.bcmap +0 -0
  124. package/assets/_default/api/pdf/web/cmaps/ETen-B5-H.bcmap +0 -0
  125. package/assets/_default/api/pdf/web/cmaps/ETen-B5-V.bcmap +0 -0
  126. package/assets/_default/api/pdf/web/cmaps/ETenms-B5-H.bcmap +0 -3
  127. package/assets/_default/api/pdf/web/cmaps/ETenms-B5-V.bcmap +0 -0
  128. package/assets/_default/api/pdf/web/cmaps/EUC-H.bcmap +0 -0
  129. package/assets/_default/api/pdf/web/cmaps/EUC-V.bcmap +0 -0
  130. package/assets/_default/api/pdf/web/cmaps/Ext-H.bcmap +0 -0
  131. package/assets/_default/api/pdf/web/cmaps/Ext-RKSJ-H.bcmap +0 -0
  132. package/assets/_default/api/pdf/web/cmaps/Ext-RKSJ-V.bcmap +0 -0
  133. package/assets/_default/api/pdf/web/cmaps/Ext-V.bcmap +0 -0
  134. package/assets/_default/api/pdf/web/cmaps/GB-EUC-H.bcmap +0 -0
  135. package/assets/_default/api/pdf/web/cmaps/GB-EUC-V.bcmap +0 -0
  136. package/assets/_default/api/pdf/web/cmaps/GB-H.bcmap +0 -4
  137. package/assets/_default/api/pdf/web/cmaps/GB-V.bcmap +0 -0
  138. package/assets/_default/api/pdf/web/cmaps/GBK-EUC-H.bcmap +0 -0
  139. package/assets/_default/api/pdf/web/cmaps/GBK-EUC-V.bcmap +0 -0
  140. package/assets/_default/api/pdf/web/cmaps/GBK2K-H.bcmap +0 -0
  141. package/assets/_default/api/pdf/web/cmaps/GBK2K-V.bcmap +0 -0
  142. package/assets/_default/api/pdf/web/cmaps/GBKp-EUC-H.bcmap +0 -0
  143. package/assets/_default/api/pdf/web/cmaps/GBKp-EUC-V.bcmap +0 -0
  144. package/assets/_default/api/pdf/web/cmaps/GBT-EUC-H.bcmap +0 -0
  145. package/assets/_default/api/pdf/web/cmaps/GBT-EUC-V.bcmap +0 -0
  146. package/assets/_default/api/pdf/web/cmaps/GBT-H.bcmap +0 -0
  147. package/assets/_default/api/pdf/web/cmaps/GBT-V.bcmap +0 -0
  148. package/assets/_default/api/pdf/web/cmaps/GBTpc-EUC-H.bcmap +0 -0
  149. package/assets/_default/api/pdf/web/cmaps/GBTpc-EUC-V.bcmap +0 -0
  150. package/assets/_default/api/pdf/web/cmaps/GBpc-EUC-H.bcmap +0 -0
  151. package/assets/_default/api/pdf/web/cmaps/GBpc-EUC-V.bcmap +0 -0
  152. package/assets/_default/api/pdf/web/cmaps/H.bcmap +0 -0
  153. package/assets/_default/api/pdf/web/cmaps/HKdla-B5-H.bcmap +0 -0
  154. package/assets/_default/api/pdf/web/cmaps/HKdla-B5-V.bcmap +0 -0
  155. package/assets/_default/api/pdf/web/cmaps/HKdlb-B5-H.bcmap +0 -0
  156. package/assets/_default/api/pdf/web/cmaps/HKdlb-B5-V.bcmap +0 -0
  157. package/assets/_default/api/pdf/web/cmaps/HKgccs-B5-H.bcmap +0 -0
  158. package/assets/_default/api/pdf/web/cmaps/HKgccs-B5-V.bcmap +0 -0
  159. package/assets/_default/api/pdf/web/cmaps/HKm314-B5-H.bcmap +0 -0
  160. package/assets/_default/api/pdf/web/cmaps/HKm314-B5-V.bcmap +0 -0
  161. package/assets/_default/api/pdf/web/cmaps/HKm471-B5-H.bcmap +0 -0
  162. package/assets/_default/api/pdf/web/cmaps/HKm471-B5-V.bcmap +0 -0
  163. package/assets/_default/api/pdf/web/cmaps/HKscs-B5-H.bcmap +0 -0
  164. package/assets/_default/api/pdf/web/cmaps/HKscs-B5-V.bcmap +0 -0
  165. package/assets/_default/api/pdf/web/cmaps/Hankaku.bcmap +0 -0
  166. package/assets/_default/api/pdf/web/cmaps/Hiragana.bcmap +0 -0
  167. package/assets/_default/api/pdf/web/cmaps/KSC-EUC-H.bcmap +0 -0
  168. package/assets/_default/api/pdf/web/cmaps/KSC-EUC-V.bcmap +0 -0
  169. package/assets/_default/api/pdf/web/cmaps/KSC-H.bcmap +0 -0
  170. package/assets/_default/api/pdf/web/cmaps/KSC-Johab-H.bcmap +0 -0
  171. package/assets/_default/api/pdf/web/cmaps/KSC-Johab-V.bcmap +0 -0
  172. package/assets/_default/api/pdf/web/cmaps/KSC-V.bcmap +0 -0
  173. package/assets/_default/api/pdf/web/cmaps/KSCms-UHC-H.bcmap +0 -0
  174. package/assets/_default/api/pdf/web/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  175. package/assets/_default/api/pdf/web/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  176. package/assets/_default/api/pdf/web/cmaps/KSCms-UHC-V.bcmap +0 -0
  177. package/assets/_default/api/pdf/web/cmaps/KSCpc-EUC-H.bcmap +0 -0
  178. package/assets/_default/api/pdf/web/cmaps/KSCpc-EUC-V.bcmap +0 -0
  179. package/assets/_default/api/pdf/web/cmaps/Katakana.bcmap +0 -0
  180. package/assets/_default/api/pdf/web/cmaps/LICENSE +0 -36
  181. package/assets/_default/api/pdf/web/cmaps/NWP-H.bcmap +0 -0
  182. package/assets/_default/api/pdf/web/cmaps/NWP-V.bcmap +0 -0
  183. package/assets/_default/api/pdf/web/cmaps/RKSJ-H.bcmap +0 -0
  184. package/assets/_default/api/pdf/web/cmaps/RKSJ-V.bcmap +0 -0
  185. package/assets/_default/api/pdf/web/cmaps/Roman.bcmap +0 -0
  186. package/assets/_default/api/pdf/web/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  187. package/assets/_default/api/pdf/web/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  188. package/assets/_default/api/pdf/web/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  189. package/assets/_default/api/pdf/web/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  190. package/assets/_default/api/pdf/web/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  191. package/assets/_default/api/pdf/web/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  192. package/assets/_default/api/pdf/web/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  193. package/assets/_default/api/pdf/web/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  194. package/assets/_default/api/pdf/web/cmaps/UniGB-UCS2-H.bcmap +0 -0
  195. package/assets/_default/api/pdf/web/cmaps/UniGB-UCS2-V.bcmap +0 -0
  196. package/assets/_default/api/pdf/web/cmaps/UniGB-UTF16-H.bcmap +0 -0
  197. package/assets/_default/api/pdf/web/cmaps/UniGB-UTF16-V.bcmap +0 -0
  198. package/assets/_default/api/pdf/web/cmaps/UniGB-UTF32-H.bcmap +0 -0
  199. package/assets/_default/api/pdf/web/cmaps/UniGB-UTF32-V.bcmap +0 -0
  200. package/assets/_default/api/pdf/web/cmaps/UniGB-UTF8-H.bcmap +0 -0
  201. package/assets/_default/api/pdf/web/cmaps/UniGB-UTF8-V.bcmap +0 -0
  202. package/assets/_default/api/pdf/web/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  203. package/assets/_default/api/pdf/web/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  204. package/assets/_default/api/pdf/web/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  205. package/assets/_default/api/pdf/web/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  206. package/assets/_default/api/pdf/web/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  207. package/assets/_default/api/pdf/web/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  208. package/assets/_default/api/pdf/web/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  209. package/assets/_default/api/pdf/web/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  210. package/assets/_default/api/pdf/web/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  211. package/assets/_default/api/pdf/web/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  212. package/assets/_default/api/pdf/web/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  213. package/assets/_default/api/pdf/web/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  214. package/assets/_default/api/pdf/web/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  215. package/assets/_default/api/pdf/web/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  216. package/assets/_default/api/pdf/web/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  217. package/assets/_default/api/pdf/web/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  218. package/assets/_default/api/pdf/web/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  219. package/assets/_default/api/pdf/web/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  220. package/assets/_default/api/pdf/web/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  221. package/assets/_default/api/pdf/web/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  222. package/assets/_default/api/pdf/web/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  223. package/assets/_default/api/pdf/web/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  224. package/assets/_default/api/pdf/web/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  225. package/assets/_default/api/pdf/web/cmaps/UniKS-UCS2-H.bcmap +0 -0
  226. package/assets/_default/api/pdf/web/cmaps/UniKS-UCS2-V.bcmap +0 -0
  227. package/assets/_default/api/pdf/web/cmaps/UniKS-UTF16-H.bcmap +0 -0
  228. package/assets/_default/api/pdf/web/cmaps/UniKS-UTF16-V.bcmap +0 -0
  229. package/assets/_default/api/pdf/web/cmaps/UniKS-UTF32-H.bcmap +0 -0
  230. package/assets/_default/api/pdf/web/cmaps/UniKS-UTF32-V.bcmap +0 -0
  231. package/assets/_default/api/pdf/web/cmaps/UniKS-UTF8-H.bcmap +0 -0
  232. package/assets/_default/api/pdf/web/cmaps/UniKS-UTF8-V.bcmap +0 -0
  233. package/assets/_default/api/pdf/web/cmaps/V.bcmap +0 -0
  234. package/assets/_default/api/pdf/web/cmaps/WP-Symbol.bcmap +0 -0
  235. package/assets/_default/api/pdf/web/compressed.tracemonkey-pldi-09.pdf +0 -0
  236. package/assets/_default/api/pdf/web/debugger.js +0 -1
  237. package/assets/_default/api/pdf/web/images/annotation-check.svg +0 -11
  238. package/assets/_default/api/pdf/web/images/annotation-comment.svg +0 -16
  239. package/assets/_default/api/pdf/web/images/annotation-help.svg +0 -26
  240. package/assets/_default/api/pdf/web/images/annotation-insert.svg +0 -10
  241. package/assets/_default/api/pdf/web/images/annotation-key.svg +0 -11
  242. package/assets/_default/api/pdf/web/images/annotation-newparagraph.svg +0 -11
  243. package/assets/_default/api/pdf/web/images/annotation-noicon.svg +0 -7
  244. package/assets/_default/api/pdf/web/images/annotation-note.svg +0 -42
  245. package/assets/_default/api/pdf/web/images/annotation-paragraph.svg +0 -16
  246. package/assets/_default/api/pdf/web/images/findbarButton-next.svg +0 -4
  247. package/assets/_default/api/pdf/web/images/findbarButton-previous.svg +0 -4
  248. package/assets/_default/api/pdf/web/images/grab.cur +0 -0
  249. package/assets/_default/api/pdf/web/images/grabbing.cur +0 -0
  250. package/assets/_default/api/pdf/web/images/loading-dark.svg +0 -24
  251. package/assets/_default/api/pdf/web/images/loading-icon.gif +0 -0
  252. package/assets/_default/api/pdf/web/images/loading.svg +0 -1
  253. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-documentProperties.svg +0 -15
  254. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-firstPage.svg +0 -1
  255. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-handTool.svg +0 -1
  256. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-lastPage.svg +0 -1
  257. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-rotateCcw.svg +0 -1
  258. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-rotateCw.svg +0 -4
  259. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-scrollHorizontal.svg +0 -1
  260. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-scrollVertical.svg +0 -1
  261. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-scrollWrapped.svg +0 -1
  262. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-selectTool.svg +0 -4
  263. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-spreadEven.svg +0 -1
  264. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-spreadNone.svg +0 -1
  265. package/assets/_default/api/pdf/web/images/secondaryToolbarButton-spreadOdd.svg +0 -1
  266. package/assets/_default/api/pdf/web/images/shadow.png +0 -0
  267. package/assets/_default/api/pdf/web/images/toolbarButton-bookmark.svg +0 -1
  268. package/assets/_default/api/pdf/web/images/toolbarButton-currentOutlineItem.svg +0 -1
  269. package/assets/_default/api/pdf/web/images/toolbarButton-download.svg +0 -4
  270. package/assets/_default/api/pdf/web/images/toolbarButton-menuArrow.svg +0 -1
  271. package/assets/_default/api/pdf/web/images/toolbarButton-openFile.svg +0 -4
  272. package/assets/_default/api/pdf/web/images/toolbarButton-pageDown.svg +0 -7
  273. package/assets/_default/api/pdf/web/images/toolbarButton-pageUp.svg +0 -12
  274. package/assets/_default/api/pdf/web/images/toolbarButton-presentationMode.svg +0 -1
  275. package/assets/_default/api/pdf/web/images/toolbarButton-print.svg +0 -4
  276. package/assets/_default/api/pdf/web/images/toolbarButton-search.svg +0 -4
  277. package/assets/_default/api/pdf/web/images/toolbarButton-secondaryToolbarToggle.svg +0 -4
  278. package/assets/_default/api/pdf/web/images/toolbarButton-sidebarToggle.svg +0 -4
  279. package/assets/_default/api/pdf/web/images/toolbarButton-viewAttachments.svg +0 -1
  280. package/assets/_default/api/pdf/web/images/toolbarButton-viewLayers.svg +0 -1
  281. package/assets/_default/api/pdf/web/images/toolbarButton-viewOutline.svg +0 -1
  282. package/assets/_default/api/pdf/web/images/toolbarButton-viewThumbnail.svg +0 -4
  283. package/assets/_default/api/pdf/web/images/toolbarButton-zoomIn.svg +0 -4
  284. package/assets/_default/api/pdf/web/images/toolbarButton-zoomOut.svg +0 -4
  285. package/assets/_default/api/pdf/web/images/treeitem-collapsed.svg +0 -1
  286. package/assets/_default/api/pdf/web/images/treeitem-expanded.svg +0 -1
  287. package/assets/_default/api/pdf/web/locale/ach/viewer.properties +0 -199
  288. package/assets/_default/api/pdf/web/locale/af/viewer.properties +0 -176
  289. package/assets/_default/api/pdf/web/locale/an/viewer.properties +0 -242
  290. package/assets/_default/api/pdf/web/locale/ar/viewer.properties +0 -246
  291. package/assets/_default/api/pdf/web/locale/ast/viewer.properties +0 -207
  292. package/assets/_default/api/pdf/web/locale/az/viewer.properties +0 -242
  293. package/assets/_default/api/pdf/web/locale/be/viewer.properties +0 -248
  294. package/assets/_default/api/pdf/web/locale/bg/viewer.properties +0 -234
  295. package/assets/_default/api/pdf/web/locale/bn/viewer.properties +0 -236
  296. package/assets/_default/api/pdf/web/locale/bo/viewer.properties +0 -237
  297. package/assets/_default/api/pdf/web/locale/br/viewer.properties +0 -246
  298. package/assets/_default/api/pdf/web/locale/brx/viewer.properties +0 -204
  299. package/assets/_default/api/pdf/web/locale/bs/viewer.properties +0 -193
  300. package/assets/_default/api/pdf/web/locale/ca/viewer.properties +0 -250
  301. package/assets/_default/api/pdf/web/locale/cak/viewer.properties +0 -248
  302. package/assets/_default/api/pdf/web/locale/ckb/viewer.properties +0 -233
  303. package/assets/_default/api/pdf/web/locale/cs/viewer.properties +0 -248
  304. package/assets/_default/api/pdf/web/locale/cy/viewer.properties +0 -248
  305. package/assets/_default/api/pdf/web/locale/da/viewer.properties +0 -248
  306. package/assets/_default/api/pdf/web/locale/de/viewer.properties +0 -248
  307. package/assets/_default/api/pdf/web/locale/dsb/viewer.properties +0 -248
  308. package/assets/_default/api/pdf/web/locale/el/viewer.properties +0 -248
  309. package/assets/_default/api/pdf/web/locale/en-CA/viewer.properties +0 -248
  310. package/assets/_default/api/pdf/web/locale/en-GB/viewer.properties +0 -248
  311. package/assets/_default/api/pdf/web/locale/en-US/viewer.properties +0 -248
  312. package/assets/_default/api/pdf/web/locale/eo/viewer.properties +0 -248
  313. package/assets/_default/api/pdf/web/locale/es-AR/viewer.properties +0 -248
  314. package/assets/_default/api/pdf/web/locale/es-CL/viewer.properties +0 -248
  315. package/assets/_default/api/pdf/web/locale/es-ES/viewer.properties +0 -248
  316. package/assets/_default/api/pdf/web/locale/es-MX/viewer.properties +0 -248
  317. package/assets/_default/api/pdf/web/locale/et/viewer.properties +0 -238
  318. package/assets/_default/api/pdf/web/locale/eu/viewer.properties +0 -248
  319. package/assets/_default/api/pdf/web/locale/fa/viewer.properties +0 -215
  320. package/assets/_default/api/pdf/web/locale/ff/viewer.properties +0 -234
  321. package/assets/_default/api/pdf/web/locale/fi/viewer.properties +0 -248
  322. package/assets/_default/api/pdf/web/locale/fr/viewer.properties +0 -248
  323. package/assets/_default/api/pdf/web/locale/fy-NL/viewer.properties +0 -248
  324. package/assets/_default/api/pdf/web/locale/ga-IE/viewer.properties +0 -176
  325. package/assets/_default/api/pdf/web/locale/gd/viewer.properties +0 -248
  326. package/assets/_default/api/pdf/web/locale/gl/viewer.properties +0 -248
  327. package/assets/_default/api/pdf/web/locale/gn/viewer.properties +0 -248
  328. package/assets/_default/api/pdf/web/locale/gu-IN/viewer.properties +0 -234
  329. package/assets/_default/api/pdf/web/locale/he/viewer.properties +0 -248
  330. package/assets/_default/api/pdf/web/locale/hi-IN/viewer.properties +0 -234
  331. package/assets/_default/api/pdf/web/locale/hr/viewer.properties +0 -248
  332. package/assets/_default/api/pdf/web/locale/hsb/viewer.properties +0 -248
  333. package/assets/_default/api/pdf/web/locale/hu/viewer.properties +0 -248
  334. package/assets/_default/api/pdf/web/locale/hy-AM/viewer.properties +0 -238
  335. package/assets/_default/api/pdf/web/locale/hye/viewer.properties +0 -244
  336. package/assets/_default/api/pdf/web/locale/ia/viewer.properties +0 -248
  337. package/assets/_default/api/pdf/web/locale/id/viewer.properties +0 -248
  338. package/assets/_default/api/pdf/web/locale/is/viewer.properties +0 -231
  339. package/assets/_default/api/pdf/web/locale/it/viewer.properties +0 -190
  340. package/assets/_default/api/pdf/web/locale/ja/viewer.properties +0 -259
  341. package/assets/_default/api/pdf/web/locale/ka/viewer.properties +0 -248
  342. package/assets/_default/api/pdf/web/locale/kab/viewer.properties +0 -248
  343. package/assets/_default/api/pdf/web/locale/kk/viewer.properties +0 -248
  344. package/assets/_default/api/pdf/web/locale/km/viewer.properties +0 -209
  345. package/assets/_default/api/pdf/web/locale/kn/viewer.properties +0 -186
  346. package/assets/_default/api/pdf/web/locale/ko/viewer.properties +0 -248
  347. package/assets/_default/api/pdf/web/locale/lij/viewer.properties +0 -234
  348. package/assets/_default/api/pdf/web/locale/lo/viewer.properties +0 -145
  349. package/assets/_default/api/pdf/web/locale/locale.properties +0 -321
  350. package/assets/_default/api/pdf/web/locale/lt/viewer.properties +0 -248
  351. package/assets/_default/api/pdf/web/locale/ltg/viewer.properties +0 -212
  352. package/assets/_default/api/pdf/web/locale/lv/viewer.properties +0 -234
  353. package/assets/_default/api/pdf/web/locale/meh/viewer.properties +0 -111
  354. package/assets/_default/api/pdf/web/locale/mk/viewer.properties +0 -138
  355. package/assets/_default/api/pdf/web/locale/mr/viewer.properties +0 -230
  356. package/assets/_default/api/pdf/web/locale/ms/viewer.properties +0 -234
  357. package/assets/_default/api/pdf/web/locale/my/viewer.properties +0 -190
  358. package/assets/_default/api/pdf/web/locale/nb-NO/viewer.properties +0 -248
  359. package/assets/_default/api/pdf/web/locale/ne-NP/viewer.properties +0 -176
  360. package/assets/_default/api/pdf/web/locale/nl/viewer.properties +0 -248
  361. package/assets/_default/api/pdf/web/locale/nn-NO/viewer.properties +0 -248
  362. package/assets/_default/api/pdf/web/locale/oc/viewer.properties +0 -248
  363. package/assets/_default/api/pdf/web/locale/pa-IN/viewer.properties +0 -248
  364. package/assets/_default/api/pdf/web/locale/pl/viewer.properties +0 -248
  365. package/assets/_default/api/pdf/web/locale/pt-BR/viewer.properties +0 -248
  366. package/assets/_default/api/pdf/web/locale/pt-PT/viewer.properties +0 -248
  367. package/assets/_default/api/pdf/web/locale/rm/viewer.properties +0 -248
  368. package/assets/_default/api/pdf/web/locale/ro/viewer.properties +0 -240
  369. package/assets/_default/api/pdf/web/locale/ru/viewer.properties +0 -248
  370. package/assets/_default/api/pdf/web/locale/scn/viewer.properties +0 -101
  371. package/assets/_default/api/pdf/web/locale/sco/viewer.properties +0 -248
  372. package/assets/_default/api/pdf/web/locale/si/viewer.properties +0 -201
  373. package/assets/_default/api/pdf/web/locale/sk/viewer.properties +0 -248
  374. package/assets/_default/api/pdf/web/locale/sl/viewer.properties +0 -248
  375. package/assets/_default/api/pdf/web/locale/son/viewer.properties +0 -172
  376. package/assets/_default/api/pdf/web/locale/sq/viewer.properties +0 -235
  377. package/assets/_default/api/pdf/web/locale/sr/viewer.properties +0 -250
  378. package/assets/_default/api/pdf/web/locale/sv-SE/viewer.properties +0 -248
  379. package/assets/_default/api/pdf/web/locale/szl/viewer.properties +0 -246
  380. package/assets/_default/api/pdf/web/locale/ta/viewer.properties +0 -193
  381. package/assets/_default/api/pdf/web/locale/te/viewer.properties +0 -217
  382. package/assets/_default/api/pdf/web/locale/tg/viewer.properties +0 -142
  383. package/assets/_default/api/pdf/web/locale/th/viewer.properties +0 -248
  384. package/assets/_default/api/pdf/web/locale/tl/viewer.properties +0 -242
  385. package/assets/_default/api/pdf/web/locale/tr/viewer.properties +0 -248
  386. package/assets/_default/api/pdf/web/locale/trs/viewer.properties +0 -206
  387. package/assets/_default/api/pdf/web/locale/uk/viewer.properties +0 -248
  388. package/assets/_default/api/pdf/web/locale/ur/viewer.properties +0 -238
  389. package/assets/_default/api/pdf/web/locale/uz/viewer.properties +0 -162
  390. package/assets/_default/api/pdf/web/locale/vi/viewer.properties +0 -248
  391. package/assets/_default/api/pdf/web/locale/wo/viewer.properties +0 -122
  392. package/assets/_default/api/pdf/web/locale/xh/viewer.properties +0 -176
  393. package/assets/_default/api/pdf/web/locale/zh-CN/viewer.properties +0 -248
  394. package/assets/_default/api/pdf/web/locale/zh-TW/viewer.properties +0 -248
  395. package/assets/_default/api/pdf/web/standard_fonts/FoxitDingbats.pfb +0 -0
  396. package/assets/_default/api/pdf/web/standard_fonts/FoxitFixed.pfb +0 -0
  397. package/assets/_default/api/pdf/web/standard_fonts/FoxitFixedBold.pfb +0 -0
  398. package/assets/_default/api/pdf/web/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  399. package/assets/_default/api/pdf/web/standard_fonts/FoxitFixedItalic.pfb +0 -0
  400. package/assets/_default/api/pdf/web/standard_fonts/FoxitSans.pfb +0 -0
  401. package/assets/_default/api/pdf/web/standard_fonts/FoxitSansBold.pfb +0 -0
  402. package/assets/_default/api/pdf/web/standard_fonts/FoxitSansBoldItalic.pfb +0 -0
  403. package/assets/_default/api/pdf/web/standard_fonts/FoxitSansItalic.pfb +0 -0
  404. package/assets/_default/api/pdf/web/standard_fonts/FoxitSerif.pfb +0 -0
  405. package/assets/_default/api/pdf/web/standard_fonts/FoxitSerifBold.pfb +0 -0
  406. package/assets/_default/api/pdf/web/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  407. package/assets/_default/api/pdf/web/standard_fonts/FoxitSerifItalic.pfb +0 -0
  408. package/assets/_default/api/pdf/web/standard_fonts/FoxitSymbol.pfb +0 -0
  409. package/assets/_default/api/pdf/web/standard_fonts/LICENSE_FOXIT +0 -27
  410. package/assets/_default/api/pdf/web/standard_fonts/LICENSE_LIBERATION +0 -102
  411. package/assets/_default/api/pdf/web/standard_fonts/LiberationSans-Bold.ttf +0 -0
  412. package/assets/_default/api/pdf/web/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  413. package/assets/_default/api/pdf/web/standard_fonts/LiberationSans-Italic.ttf +0 -0
  414. package/assets/_default/api/pdf/web/standard_fonts/LiberationSans-Regular.ttf +0 -0
  415. package/assets/_default/api/pdf/web/viewer.css +0 -2746
  416. package/assets/_default/api/pdf/web/viewer.html +0 -398
  417. package/assets/_default/api/pdf/web/viewer.js +0 -2
  418. package/assets/_default/api/pdf/web/viewer.js.LICENSE.txt +0 -21
  419. package/assets/_default/api/pdf/web/viewer.js.map +0 -1
@@ -1,13 +1,18 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  export class OverlayComponent {
3
3
  constructor() {
4
4
  this.iconClass = '';
5
5
  this.styleClass = '';
6
6
  this.active = false;
7
+ this.onToggle = new EventEmitter();
7
8
  }
8
9
  onActiveChanged(event) {
9
10
  this.active = event;
10
11
  }
12
+ toggle(event) {
13
+ this.op.toggle(event);
14
+ this.onToggle.emit();
15
+ }
11
16
  close() {
12
17
  if (this.op) {
13
18
  this.op.hide();
@@ -17,7 +22,7 @@ export class OverlayComponent {
17
22
  OverlayComponent.decorators = [
18
23
  { type: Component, args: [{
19
24
  selector: 'eo-overlay',
20
- template: "<ng-container *ngIf=\"iconSrc;else btn\">\n <eo-icon class=\"overlayIcon button {{iconClass}}\"\n (click)=\"op.toggle($event)\"\n (keyup.enter)=\"op.toggle($event)\"\n [iconSrc]=\"iconSrc\"\n [badge]=\"badge\"\n [ngClass]=\"{active: active}\"\n tabindex=\"0\"\n [iconTitle]=\"iconTitle\"></eo-icon>\n</ng-container>\n<ng-template #btn>\n <div (click)=\"op.toggle($event)\" (keyup.enter)=\"op.toggle($event)\">\n <ng-content select=\".btn\"></ng-content>\n </div>\n</ng-template>\n<p-overlayPanel #op [styleClass]=\"styleClass\" [dismissable]=\"false\" (eoOutsideClick)=\"op.hide()\">\n <ng-content></ng-content>\n</p-overlayPanel>\n",
25
+ template: "<ng-container *ngIf=\"iconSrc;else btn\">\n <eo-icon class=\"overlayIcon button {{iconClass}}\"\n (click)=\"toggle($event)\"\n (keyup.enter)=\"toggle($event)\"\n [iconSrc]=\"iconSrc\"\n [badge]=\"badge\"\n [ngClass]=\"{active: active}\"\n tabindex=\"0\"\n [iconTitle]=\"iconTitle\"></eo-icon>\n</ng-container>\n<ng-template #btn>\n <div (click)=\"toggle($event)\" (keyup.enter)=\"toggle($event)\">\n <ng-content select=\".btn\"></ng-content>\n </div>\n</ng-template>\n<p-overlayPanel #op [styleClass]=\"styleClass\" [dismissable]=\"false\" (eoOutsideClick)=\"op.hide()\">\n <ng-content></ng-content>\n</p-overlayPanel>\n",
21
26
  styles: [":host ::ng-deep eo-icon.active{color:var(--color-accent)}.eo-header-actions :host ::ng-deep p-overlaypanel>.ui-overlaypanel{background-color:var(--color-white);left:inherit!important;right:var(--app-pane-padding)!important;top:calc(var(--app-pane-padding)*3)!important}.eo-grid-header :host ::ng-deep p-overlaypanel>.ui-overlaypanel{background-color:var(--color-white);left:inherit!important;right:var(--app-pane-padding)!important;top:24px!important}.eo-app-bar :host ::ng-deep p-overlaypanel>.ui-overlaypanel{background-color:var(--color-primary-2);top:var(--app-bar-height)!important}.eo-app-bar :host ::ng-deep p-overlaypanel>.ui-overlaypanel .ui-overlaypanel-content{padding:0}"]
22
27
  },] }
23
28
  ];
@@ -28,6 +33,7 @@ OverlayComponent.propDecorators = {
28
33
  iconClass: [{ type: Input }],
29
34
  styleClass: [{ type: Input }],
30
35
  active: [{ type: Input }],
31
- iconTitle: [{ type: Input }]
36
+ iconTitle: [{ type: Input }],
37
+ onToggle: [{ type: Output }]
32
38
  };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay91aS9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU8xRCxNQUFNLE9BQU8sZ0JBQWdCO0lBTDdCO1FBVVcsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFHLEtBQUssQ0FBQztJQVkxQixDQUFDO0lBVFEsZUFBZSxDQUFDLEtBQUs7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQzs7O1lBdkJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsa3RCQUF1Qzs7YUFFeEM7OztpQkFHRSxTQUFTLFNBQUMsSUFBSTtzQkFDZCxLQUFLO29CQUNMLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxLQUFLO3FCQUNMLEtBQUs7d0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tb3ZlcmxheScsXG4gIHRlbXBsYXRlVXJsOiAnLi9vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb3ZlcmxheS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE92ZXJsYXlDb21wb25lbnQge1xuXG4gIEBWaWV3Q2hpbGQoJ29wJykgb3A6IGFueTtcbiAgQElucHV0KCkgaWNvblNyYzogc3RyaW5nO1xuICBASW5wdXQoKSBiYWRnZTogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uQ2xhc3MgPSAnJztcbiAgQElucHV0KCkgc3R5bGVDbGFzcyA9ICcnO1xuICBASW5wdXQoKSBhY3RpdmUgPSBmYWxzZTtcbiAgQElucHV0KCkgaWNvblRpdGxlOiBzdHJpbmc7XG5cbiAgcHVibGljIG9uQWN0aXZlQ2hhbmdlZChldmVudCkge1xuICAgIHRoaXMuYWN0aXZlID0gZXZlbnQ7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMub3ApIHtcbiAgICAgIHRoaXMub3AuaGlkZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay91aS9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBT2hGLE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFVVyxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRWQsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFnQjFDLENBQUM7SUFkUSxlQUFlLENBQUMsS0FBSztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUs7UUFDVixJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNoQjtJQUNILENBQUM7OztZQTdCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLHNzQkFBdUM7O2FBRXhDOzs7aUJBR0UsU0FBUyxTQUFDLElBQUk7c0JBQ2QsS0FBSztvQkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSztxQkFDTCxLQUFLO3dCQUNMLEtBQUs7dUJBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLW92ZXJsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vb3ZlcmxheS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL292ZXJsYXkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBPdmVybGF5Q29tcG9uZW50IHtcblxuICBAVmlld0NoaWxkKCdvcCcpIG9wOiBhbnk7XG4gIEBJbnB1dCgpIGljb25TcmM6IHN0cmluZztcbiAgQElucHV0KCkgYmFkZ2U6IHN0cmluZztcbiAgQElucHV0KCkgaWNvbkNsYXNzID0gJyc7XG4gIEBJbnB1dCgpIHN0eWxlQ2xhc3MgPSAnJztcbiAgQElucHV0KCkgYWN0aXZlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGljb25UaXRsZTogc3RyaW5nO1xuICBAT3V0cHV0KCkgb25Ub2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIG9uQWN0aXZlQ2hhbmdlZChldmVudCkge1xuICAgIHRoaXMuYWN0aXZlID0gZXZlbnQ7XG4gIH1cblxuICB0b2dnbGUoZXZlbnQpIHtcbiAgICB0aGlzLm9wLnRvZ2dsZShldmVudCk7XG4gICAgdGhpcy5vblRvZ2dsZS5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMub3ApIHtcbiAgICAgIHRoaXMub3AuaGlkZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { Directive, ElementRef } from '@angular/core';
1
+ import { Directive, ElementRef, HostListener } from '@angular/core';
2
2
  /**
3
3
  * This directive traps the focus inside the element it is applied to.
4
4
  * When applied, a users can't "tab out" of the element.
@@ -9,13 +9,14 @@ import { Directive, ElementRef } from '@angular/core';
9
9
  export class TrapFocusDirective {
10
10
  constructor(el) {
11
11
  this.el = el;
12
+ this.focusableSelectors = 'a[href], button, textarea, input[type="text"],' +
13
+ 'input[type="radio"], input[type="checkbox"], select, [focusable]';
12
14
  }
13
15
  ngAfterViewInit() {
14
16
  this.trapFocus(this.el.nativeElement);
15
17
  }
16
18
  trapFocus(element) {
17
- let focusableElements = element.querySelectorAll('a[href], button, textarea, input[type="text"],' +
18
- 'input[type="radio"], input[type="checkbox"], select, [focusable]');
19
+ let focusableElements = element.querySelectorAll(this.focusableSelectors);
19
20
  focusableElements = Array.from(focusableElements)
20
21
  .filter((el) => !el.disabled && !el.classList.contains('disabled'));
21
22
  const firstFocusableElement = focusableElements[0];
@@ -38,6 +39,20 @@ export class TrapFocusDirective {
38
39
  }
39
40
  }));
40
41
  }
42
+ isArrowUpOrDownPressed(event) {
43
+ const key = event.key;
44
+ if (key === 'ArrowUp' || key === 'ArrowDown') {
45
+ event.preventDefault();
46
+ let focusableElements = this.el.nativeElement.parentElement.querySelectorAll(this.focusableSelectors);
47
+ const currentIndex = Array.from(focusableElements).indexOf(document.activeElement);
48
+ if (key === 'ArrowDown' && currentIndex < focusableElements.length - 1) {
49
+ focusableElements[currentIndex + 1].focus();
50
+ }
51
+ else if (key === 'ArrowUp' && currentIndex > 0) {
52
+ focusableElements[currentIndex - 1].focus();
53
+ }
54
+ }
55
+ }
41
56
  }
42
57
  TrapFocusDirective.decorators = [
43
58
  { type: Directive, args: [{
@@ -47,4 +62,7 @@ TrapFocusDirective.decorators = [
47
62
  TrapFocusDirective.ctorParameters = () => [
48
63
  { type: ElementRef }
49
64
  ];
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhcC1mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay91dGlsL2RpcmVjdGl2ZS90cmFwLWZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0RDs7Ozs7O0dBTUc7QUFLSCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUcsQ0FBQztJQUV0QyxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBWTtRQUNwQixJQUFJLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FDOUMsZ0RBQWdEO1lBQ2hELGtFQUFrRSxDQUNuRSxDQUFDO1FBQ0YsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUM5QyxNQUFNLENBQUUsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDNUUsTUFBTSxxQkFBcUIsR0FBUSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RCxNQUFNLG9CQUFvQixHQUFRLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVsRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNsRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLGVBQWU7WUFDekQsSUFBSSxDQUFDLFlBQVk7Z0JBQUUsT0FBTztZQUUxQixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUM7Z0JBQ3BDLElBQUksUUFBUSxDQUFDLGFBQWEsS0FBSyxxQkFBcUIsRUFBRTtvQkFDcEQsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzdCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDeEI7YUFDRjtpQkFBTSxTQUFTLENBQUM7Z0JBQ2YsSUFBSSxRQUFRLENBQUMsYUFBYSxLQUFLLG9CQUFvQixFQUFFO29CQUNuRCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDOUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2lCQUN4QjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7OztZQXJDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7YUFDMUI7OztZQVptQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgdHJhcHMgdGhlIGZvY3VzIGluc2lkZSB0aGUgZWxlbWVudCBpdCBpcyBhcHBsaWVkIHRvLlxuICogV2hlbiBhcHBsaWVkLCBhIHVzZXJzIGNhbid0IFwidGFiIG91dFwiIG9mIHRoZSBlbGVtZW50LlxuICogWW91IG5lZWQgYXQgbGVhc3QgdHdvIGZvY3VzYWJsZSBjaGlsZHJlbiBpbiB0aGUgZWxlbWVudCBmb3IgaXQgdG8gd29yayBwcm9wZXJseS5cbiAqIFNlZSB0aGUgcXVlcnlTZWxlY3RvciBpbiB0aGUgdHJhcEZvY3VzIG1ldGhvZCB0byBrbm93IHdoaWNoIGVsZW1lbnRzIGNvdW50IGFzIGZvY3VzYWJsZS5cbiAqIEFkZGl0aW9uYWxseSB5b3UgY2FuIGFkZCB0aGUgYXR0cmlidXRlIFwiZm9jdXNhYmxlXCIgdG8gYW4gZWxlbWVudCBpZiB5b3UgYXJlIHVuc3VyZS5cbiAqL1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZW9UcmFwRm9jdXNdJ1xufSlcbmV4cG9ydCBjbGFzcyBUcmFwRm9jdXNEaXJlY3RpdmUge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG4gIFxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy50cmFwRm9jdXModGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHRyYXBGb2N1cyhlbGVtZW50OiBhbnkpIHtcbiAgICBsZXQgZm9jdXNhYmxlRWxlbWVudHMgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAnYVtocmVmXSwgYnV0dG9uLCB0ZXh0YXJlYSwgaW5wdXRbdHlwZT1cInRleHRcIl0sJyArXG4gICAgICAnaW5wdXRbdHlwZT1cInJhZGlvXCJdLCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIHNlbGVjdCwgW2ZvY3VzYWJsZV0nXG4gICAgKTtcbiAgICBmb2N1c2FibGVFbGVtZW50cyA9IEFycmF5LmZyb20oZm9jdXNhYmxlRWxlbWVudHMpXG4gICAgICAuZmlsdGVyKCAoZWw6IGFueSkgPT4gIWVsLmRpc2FibGVkICYmICFlbC5jbGFzc0xpc3QuY29udGFpbnMoJ2Rpc2FibGVkJykpO1xuICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlRWxlbWVudDogYW55ID0gZm9jdXNhYmxlRWxlbWVudHNbMF07XG4gICAgY29uc3QgbGFzdEZvY3VzYWJsZUVsZW1lbnQ6IGFueSA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKChldmVudDogYW55KSA9PiB7XG4gICAgICBjb25zdCBpc1RhYlByZXNzZWQgPSBldmVudC5rZXlDb2RlID09PSA5OyAvLyB0YWIga2V5IGNvZGVcbiAgICAgIGlmICghaXNUYWJQcmVzc2VkKSByZXR1cm47XG5cbiAgICAgIGlmIChldmVudC5zaGlmdEtleSkgLyogc2hpZnQgKyB0YWIgKi8ge1xuICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZmlyc3RGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgbGFzdEZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgLyogdGFiICovIHtcbiAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGxhc3RGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgZmlyc3RGb2N1c2FibGVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG59XG4iXX0=
65
+ TrapFocusDirective.propDecorators = {
66
+ isArrowUpOrDownPressed: [{ type: HostListener, args: ['keydown', ['$event'],] }]
67
+ };
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhcC1mb2N1cy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay91dGlsL2RpcmVjdGl2ZS90cmFwLWZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFN0U7Ozs7OztHQU1HO0FBS0gsTUFBTSxPQUFPLGtCQUFrQjtJQUs3QixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUhsQyx1QkFBa0IsR0FBRyxnREFBZ0Q7WUFDckUsa0VBQWtFLENBQUM7SUFFN0IsQ0FBQztJQUV2QyxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBWTtRQUNwQixJQUFJLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FDOUMsSUFBSSxDQUFDLGtCQUFrQixDQUN4QixDQUFDO1FBQ0YsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUM5QyxNQUFNLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDM0UsTUFBTSxxQkFBcUIsR0FBUSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RCxNQUFNLG9CQUFvQixHQUFRLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVsRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNsRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLGVBQWU7WUFDekQsSUFBSSxDQUFDLFlBQVk7Z0JBQUUsT0FBTztZQUUxQixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUM7Z0JBQ3BDLElBQUksUUFBUSxDQUFDLGFBQWEsS0FBSyxxQkFBcUIsRUFBRTtvQkFDcEQsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzdCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDeEI7YUFDRjtpQkFBTSxTQUFTLENBQUM7Z0JBQ2YsSUFBSSxRQUFRLENBQUMsYUFBYSxLQUFLLG9CQUFvQixFQUFFO29CQUNuRCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDOUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2lCQUN4QjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFHRCxzQkFBc0IsQ0FBQyxLQUFvQjtRQUV6QyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFBO1FBQ3JCLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFO1lBRTVDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDMUUsSUFBSSxDQUFDLGtCQUFrQixDQUN4QixDQUFDO1lBQ0YsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUE7WUFDbEYsSUFBSSxHQUFHLEtBQUssV0FBVyxJQUFJLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN0RSxpQkFBaUIsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDN0M7aUJBQ0ksSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUU7Z0JBQzlDLGlCQUFpQixDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUU3QztTQUNGO0lBQ0gsQ0FBQzs7O1lBNURGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTthQUMxQjs7O1lBWmtCLFVBQVU7OztxQ0FtRDFCLFlBQVksU0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFRoaXMgZGlyZWN0aXZlIHRyYXBzIHRoZSBmb2N1cyBpbnNpZGUgdGhlIGVsZW1lbnQgaXQgaXMgYXBwbGllZCB0by5cbiAqIFdoZW4gYXBwbGllZCwgYSB1c2VycyBjYW4ndCBcInRhYiBvdXRcIiBvZiB0aGUgZWxlbWVudC5cbiAqIFlvdSBuZWVkIGF0IGxlYXN0IHR3byBmb2N1c2FibGUgY2hpbGRyZW4gaW4gdGhlIGVsZW1lbnQgZm9yIGl0IHRvIHdvcmsgcHJvcGVybHkuXG4gKiBTZWUgdGhlIHF1ZXJ5U2VsZWN0b3IgaW4gdGhlIHRyYXBGb2N1cyBtZXRob2QgdG8ga25vdyB3aGljaCBlbGVtZW50cyBjb3VudCBhcyBmb2N1c2FibGUuXG4gKiBBZGRpdGlvbmFsbHkgeW91IGNhbiBhZGQgdGhlIGF0dHJpYnV0ZSBcImZvY3VzYWJsZVwiIHRvIGFuIGVsZW1lbnQgaWYgeW91IGFyZSB1bnN1cmUuXG4gKi9cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VvVHJhcEZvY3VzXSdcbn0pXG5leHBvcnQgY2xhc3MgVHJhcEZvY3VzRGlyZWN0aXZlIHtcblxuICBmb2N1c2FibGVTZWxlY3RvcnMgPSAnYVtocmVmXSwgYnV0dG9uLCB0ZXh0YXJlYSwgaW5wdXRbdHlwZT1cInRleHRcIl0sJyArXG4gICdpbnB1dFt0eXBlPVwicmFkaW9cIl0sIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgc2VsZWN0LCBbZm9jdXNhYmxlXSc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikgeyB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudHJhcEZvY3VzKHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICB0cmFwRm9jdXMoZWxlbWVudDogYW55KSB7XG4gICAgbGV0IGZvY3VzYWJsZUVsZW1lbnRzID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgdGhpcy5mb2N1c2FibGVTZWxlY3RvcnNcbiAgICApO1xuICAgIGZvY3VzYWJsZUVsZW1lbnRzID0gQXJyYXkuZnJvbShmb2N1c2FibGVFbGVtZW50cylcbiAgICAgIC5maWx0ZXIoKGVsOiBhbnkpID0+ICFlbC5kaXNhYmxlZCAmJiAhZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaXNhYmxlZCcpKTtcbiAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUVsZW1lbnQ6IGFueSA9IGZvY3VzYWJsZUVsZW1lbnRzWzBdO1xuICAgIGNvbnN0IGxhc3RGb2N1c2FibGVFbGVtZW50OiBhbnkgPSBmb2N1c2FibGVFbGVtZW50c1tmb2N1c2FibGVFbGVtZW50cy5sZW5ndGggLSAxXTtcblxuICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsICgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgY29uc3QgaXNUYWJQcmVzc2VkID0gZXZlbnQua2V5Q29kZSA9PT0gOTsgLy8gdGFiIGtleSBjb2RlXG4gICAgICBpZiAoIWlzVGFiUHJlc3NlZCkgcmV0dXJuO1xuXG4gICAgICBpZiAoZXZlbnQuc2hpZnRLZXkpIC8qIHNoaWZ0ICsgdGFiICovIHtcbiAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGZpcnN0Rm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgIGxhc3RGb2N1c2FibGVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIC8qIHRhYiAqLyB7XG4gICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBsYXN0Rm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgIGZpcnN0Rm9jdXNhYmxlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgaXNBcnJvd1VwT3JEb3duUHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuXG4gICAgY29uc3Qga2V5ID0gZXZlbnQua2V5XG4gICAgaWYgKGtleSA9PT0gJ0Fycm93VXAnIHx8IGtleSA9PT0gJ0Fycm93RG93bicpIHtcblxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGxldCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgIHRoaXMuZm9jdXNhYmxlU2VsZWN0b3JzXG4gICAgICApO1xuICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gQXJyYXkuZnJvbShmb2N1c2FibGVFbGVtZW50cykuaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50KVxuICAgICAgaWYgKGtleSA9PT0gJ0Fycm93RG93bicgJiYgY3VycmVudEluZGV4IDwgZm9jdXNhYmxlRWxlbWVudHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBmb2N1c2FibGVFbGVtZW50c1tjdXJyZW50SW5kZXggKyAxXS5mb2N1cygpO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoa2V5ID09PSAnQXJyb3dVcCcgJiYgY3VycmVudEluZGV4ID4gMCkge1xuICAgICAgICBmb2N1c2FibGVFbGVtZW50c1tjdXJyZW50SW5kZXggLSAxXS5mb2N1cygpO1xuXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -111,6 +111,9 @@ export class DmsObject {
111
111
  recycle: false
112
112
  };
113
113
  }
114
+ if (json.shares) {
115
+ this.shares = json.shares;
116
+ }
114
117
  // content section
115
118
  if (json.contentid) {
116
119
  this.content = {
@@ -132,4 +135,4 @@ export class DmsObject {
132
135
  }
133
136
  }
134
137
  }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG1zLW9iamVjdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VvLXNkay9jb3JlL3NyYy9saWIvbW9kZWwvZG1zLW9iamVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFPOUI7O09BRUc7SUFDSCxZQUFZLElBQVM7UUFDbkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sU0FBUztJQXdHcEI7OztPQUdHO0lBQ0gsWUFBWSxJQUFTO1FBdEJyQjs7V0FFRztRQUNILGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzFCOztXQUVHO1FBQ0gsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDMUI7O1dBRUc7UUFDSCxnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4Qjs7V0FFRztRQUNILHlCQUFvQixHQUFVLEVBQUUsQ0FBQztRQVMvQiw4Q0FBOEM7UUFDOUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRTFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztR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QUksQ0FBQztnQkFDN0IsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ2xDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUN4QixDQUFDO1NBQ0g7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQ3pDO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUN6QztRQUVELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09iamVjdFR5cGV9IGZyb20gJy4vb2JqZWN0LXR5cGUubW9kZWwnO1xuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGNsYXNzIERtc09iamVjdEF0dGFjaG1lbnQge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIHNpemU6IG51bWJlcjtcbiAgdHlwZTogc3RyaW5nO1xuICBwcmV2aWV3VXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBqc29uIC0gc2VydmVyIHNlbnQgSlNPTiBmb3IgYSBkbXMgb2JqZWN0XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihqc29uOiBhbnkpIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGpzb24pO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50YXRpb24gb2YgYSBkbXMgb2JqZWN0LlxuICovXG5leHBvcnQgY2xhc3MgRG1zT2JqZWN0IHtcbiAgLyoqXG4gICAqIG9iamVjdHMgSURcbiAgICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBvYmplY3RzIHRpdGxlXG4gICAqL1xuICB0aXRsZTogc3RyaW5nO1xuICAvKipcbiAgICogb2JqZWN0cyBkZXNjcmlwdGlvblxuICAgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgLyoqXG4gICAqIG9iamVjdHMgdmVyc2lvbiBudW1iZXJcbiAgICovXG4gIHZlcnNpb246IG51bWJlcjtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHZlcnNpb25zOiBhbnlbXTtcbiAgLyoqXG4gICAqIG9iamVjdCB0eXBlIG5hbWVcbiAgICovXG4gIHR5cGVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBvYmplY3RzIHR5cGVcbiAgICovXG4gIHR5cGU/OiBPYmplY3RUeXBlO1xuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoaXMgaXMgdGhlIGFjdGl2ZSB2ZXJzaW9uIG9mIHRoZSBvYmplY3RcbiAgICovXG4gIGlzQWN0aXZlVmVyc2lvbjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCBoYXMgYmVlbiBmaW5hbGl6ZWRcbiAgICovXG4gIGlzRmluYWxpemVkOiBib29sZWFuO1xuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoZSBvYmplY3QgaGFzIGJlZW4gbWFya2VkIGFzIGZhdm9yaXRlXG4gICAqL1xuICBpc0Zhdm9yaXRlOiBib29sZWFuO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKiBzYW1lIGFzIGlzQ29udGV4dEZvbGRlciBiZWNhdXNlIHdlIGRvIG5vdCBhbGxvdyBvdGhlciBmb2xkZXJzIHRoYW4gY29udGV4dCBmb2xkZXJzXG4gICAqL1xuICBpc0ZvbGRlcjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGUgb2JqZWN0IGlzIGEgY29udGV4dCBmb2xkZXJcbiAgICovXG4gIGlzQ29udGV4dEZvbGRlcjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZm9ybWF0aW9uIGFib3V0IHRoZSBvYmplY3RzIGNvbnRleHQgZm9sZGVyXG4gICAqL1xuICBjb250ZXh0Rm9sZGVyOiB7IGlkOiBzdHJpbmcsIHR5cGVOYW1lOiBzdHJpbmcsIHR5cGU/OiBPYmplY3RUeXBlLCB0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIH07XG4gIC8qKlxuICAgKiBJbmRleGRhdGEgb2YgdGhlIG9iamVjdFxuICAgKi9cbiAgZGF0YTogYW55O1xuICAvKipcbiAgICogc3BlY2lhbCByaWdodC9wZXJtaXNzaW9ucyBzZXQgdXAgZm9yIHRoZSBvYmplY3RcbiAgICovXG4gIHJpZ2h0czogYW55O1xuICAvKipcbiAgICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIG9iamVjdHMgY3JlYXRpb24uIEluY2x1ZGVzIHRoZSBkYXRlIGl0IHdhcyBjcmVhdGVkIGFuZCB0aGUgdXNlciB0aGF0IGNyZWF0ZWQgdGhlIG9iamVjdFxuICAgKi9cbiAgY3JlYXRlZDogYW55O1xuICAvKipcbiAgICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIG9iamVjdHMgbGFzdCBtb2RpZmljYXRpb24uIEluY2x1ZGVzIHRoZSBkYXRlIGl0IHdhcyBtb2RpZmllZCBhbmQgdGhlIHVzZXIgdGhhdCBtb2RpZmllZCB0aGUgb2JqZWN0XG4gICAqL1xuICBtb2RpZmllZDogYW55O1xuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoZSBvYmplY3QgaXMgbG9ja2VkLiBMb2NrZWQgb2JqZWN0cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgY2hhbmdlZFxuICAgKi9cbiAgbG9jazogYW55O1xuICAvKipcbiAgICogVGhlIG9iamVjdHMgY29udGVudCAoZmlsZSkuIE1heSBiZSBlbXB0eSBhcyBkbXMgb2JqZWN0cyBjYW4gYmUgY3JlYXRlZCB3aXRob3V0IGNvbnRlbnRzXG4gICAqL1xuICBjb250ZW50OiBhbnk7XG4gIC8qKlxuICAgKiBUaGUgY29udGVudHMgZmlsZW5hbWVcbiAgICovXG4gIGNvbnRlbnRGaWxlTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIGZpbGVzaXplXG4gICAqL1xuICBjb250ZW50RmlsZVNpemU6IHN0cmluZztcbiAgLyoqXG4gICAqIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucyBmb3IgdGhlIG9iamVjdFxuICAgKi9cbiAgc3Vic2NyaXB0aW9uczogYW55W10gPSBbXTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgcmVzdWJtaXNzaW9ucyBmb3IgdGhlIG9iamVjdFxuICAgKi9cbiAgcmVzdWJtaXNzaW9uczogYW55W10gPSBbXTtcbiAgLyoqXG4gICAqIFN0b3JhZ2UgaW5mbyBvZiB0aGUgb2JqZWN0XG4gICAqL1xuICBzdG9yYWdlSW5mbzogYW55W10gPSBbXTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGFkZGl0aW9uYWx2aXNpYmlsaXR5OiBhbnlbXSA9IFtdO1xuXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2VcbiAgICogQHBhcmFtIGpzb24gVGhlIEpTT04gb2JqZWN0IHJlY2VpdmVkIGZyb20gdGhlIGJhY2tlbmQuIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgbmV3IGRtcyBvYmplY3QgaW5zdGFuY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKGpzb246IGFueSkge1xuXG4gICAgLy8gY3JlYXRlIGEgRG1zT2JqZWN0IGJhc2VkIG9uIHRoZSBzZXJ2ZXIgSlNPTlxuICAgIHRoaXMuaWQgPSBqc29uLmlkO1xuICAgIHRoaXMudGl0bGUgPSBqc29uLnRpdGxlO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBqc29uLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMudmVyc2lvbiA9IGpzb24udmVyc2lvbjtcbiAgICB0aGlzLnZlcnNpb25zID0ganNvbi52ZXJzaW9ucztcbiAgICB0aGlzLmRhdGEgPSBqc29uLmRhdGE7XG4gICAgdGhpcy50eXBlTmFtZSA9IGpzb24udHlwZTtcblxuICAgIHRoaXMuaXNBY3RpdmVWZXJzaW9uID0ganNvbi5hY3RpdmV2ZXJzaW9uO1xuICAgIHRoaXMuaXNGaW5hbGl6ZWQgPSBqc29uLmZpbmFsaXplZDtcbiAgICB0aGlzLmlzRmF2b3JpdGUgPSBqc29uLmZhdm9yaXRlO1xuICAgIHRoaXMuaXNGb2xkZXIgPSBqc29uLmZvbGRlcjtcbiAgICB0aGlzLmlzQ29udGV4dEZvbGRlciA9ICEhanNvbi5pc2NvbnRleHRmb2xkZXI7XG4gICAgdGhpcy5zdG9yYWdlSW5mbyA9IGpzb24uc3RvcmFnZWluZm87XG5cbiAgICBpZiAoanNvbi5jb250ZW50cyAmJiBqc29uLmNvbnRlbnRzWzBdKSB7XG4gICAgICB0aGlzLmNvbnRlbnRGaWxlTmFtZSA9IGpzb24uY29udGVudHNbMF0ucGF0aDtcbiAgICAgIHRoaXMuY29udGVudEZpbGVTaXplID0ganNvbi5jb250ZW50c1swXS5zaXplO1xuICAgIH1cblxuICAgIGlmIChqc29uLmNvbnRleHRmb2xkZXIpIHtcbiAgICAgIHRoaXMuY29udGV4dEZvbGRlciA9IHtcbiAgICAgICAgaWQ6IGpzb24uY29udGV4dGZvbGRlci5pZCxcbiAgICAgICAgdHlwZU5hbWU6IGpzb24uY29udGV4dGZvbGRlci50eXBlLFxuICAgICAgICB0aXRsZToganNvbi5jb250ZXh0Zm9sZGVyLnRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbjoganNvbi5jb250ZXh0Zm9sZGVyLmRlc2NyaXB0aW9uXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChqc29uLmNyZWF0ZWQpIHtcbiAgICAgIHRoaXMuY3JlYXRlZCA9IHtcbiAgICAgICAgb246IGpzb24uY3JlYXRlZC5vbixcbiAgICAgICAgYnk6IHtcbiAgICAgICAgICBpZDoganNvbi5jcmVhdGVkLmJ5LmlkLFxuICAgICAgICAgIHRpdGxlOiBqc29uLmNyZWF0ZWQuYnkudGl0bGUsXG4gICAgICAgICAgbmFtZToganNvbi5jcmVhdGVkLmJ5Lm5hbWVcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoanNvbi5tb2RpZmllZCkge1xuICAgICAgdGhpcy5tb2RpZmllZCA9IHtcbiAgICAgICAgb246IGpzb24ubW9kaWZpZWQub24sXG4gICAgICAgIGJ5OiB7XG4gICAgICAgICAgaWQ6IGpzb24ubW9kaWZpZWQuYnkuaWQsXG4gICAgICAgICAgdGl0bGU6IGpzb24ubW9kaWZpZWQuYnkudGl0bGUsXG4gICAgICAgICAgbmFtZToganNvbi5tb2RpZmllZC5ieS5uYW1lXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gbG9jayBpbmZvcm1hdGlvbnNcbiAgICBpZiAoanNvbi5sb2NrICE9PSAnTk9UX0xPQ0tFRCcgJiYganNvbi5sb2NraW5mbykge1xuICAgICAgdGhpcy5sb2NrID0ge1xuICAgICAgICBvbjoganNvbi5sb2NraW5mby50aW1lLFxuICAgICAgICBieToge1xuICAgICAgICAgIG1lOiBqc29uLmxvY2sgPT09ICdMT0NLRURfQllfU0VTU0lPTl9VU0VSJyxcbiAgICAgICAgICBvdGhlcjoganNvbi5sb2NrID09PSAnTE9DS0VEX0JZX09USEVSX1VTRVInLFxuICAgICAgICAgIG5hbWU6IGpzb24ubG9ja2luZm8udXNlcm5hbWUsXG4gICAgICAgICAgbGFiZWw6IGpzb24ubG9ja2luZm8udXNlcnRpdGxlXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gcmlnaHRzIHNlY3Rpb25cbiAgICBpZiAoanNvbi5yaWdodHMgJiYganNvbi5yaWdodHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5yaWdodHMgPSB7XG4gICAgICAgIHNlbGVjdDoganNvbi5yaWdodHNbMF0ucHJpdmlsZWdlcy5zZWxlY3QsXG4gICAgICAgIGVkaXQ6IGpzb24ucmlnaHRzWzBdLnByaXZpbGVnZXMuZWRpdCAmJiAhKHRoaXMubG9jayAmJiB0aGlzLmxvY2suYnkub3RoZXIpLFxuICAgICAgICBkZWxldGU6IGpzb24ucmlnaHRzWzBdLnByaXZpbGVnZXMuZGVsZXRlICYmICEodGhpcy5sb2NrICYmIHRoaXMubG9jay5ieS5vdGhlciksXG4gICAgICAgIGZpbmFsaXplOiBqc29uLnJpZ2h0c1swXS5wcml2aWxlZ2VzLmZpbmFsaXplICYmICEodGhpcy5sb2NrICYmIHRoaXMubG9jay5ieS5vdGhlciksXG4gICAgICAgIHJlY3ljbGU6IGpzb24ucmlnaHRzWzBdLnByaXZpbGVnZXMucmVjeWNsZSAmJiAhKHRoaXMubG9jayAmJiB0aGlzLmxvY2suYnkub3RoZXIpXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJpZ2h0cyA9IHtcbiAgICAgICAgc2VsZWN0OiBmYWxzZSxcbiAgICAgICAgZWRpdDogZmFsc2UsXG4gICAgICAgIGRlbGV0ZTogZmFsc2UsXG4gICAgICAgIGZpbmFsaXplOiBmYWxzZSxcbiAgICAgICAgcmVjeWNsZTogZmFsc2VcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gY29udGVudCBzZWN0aW9uXG4gICAgaWYgKGpzb24uY29udGVudGlkKSB7XG4gICAgICB0aGlzLmNvbnRlbnQgPSB7XG4gICAgICAgIGlkOiBqc29uLmNvbnRlbnRpZCxcbiAgICAgICAgdHlwZToganNvbi5jb250ZW50dHlwZSxcbiAgICAgICAgY291bnQ6IGpzb24uY29udGVudGNvdW50IHx8IDAsXG4gICAgICAgIGxpbmtlZDoganNvbi5jb250ZW50aWQgIT09IGpzb24uaWQsXG4gICAgICAgIGNvbnRlbnRzOiBqc29uLmNvbnRlbnRzXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChqc29uLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IGpzb24uc3Vic2NyaXB0aW9ucztcbiAgICB9XG5cbiAgICBpZiAoanNvbi5yZXN1Ym1pc3Npb25zKSB7XG4gICAgICB0aGlzLnJlc3VibWlzc2lvbnMgPSBqc29uLnJlc3VibWlzc2lvbnM7XG4gICAgfVxuXG4gICAgaWYgKGpzb24uYWRkaXRpb25hbHZpc2liaWxpdHkpIHtcbiAgICAgIHRoaXMuYWRkaXRpb25hbHZpc2liaWxpdHkgPSBqc29uLmFkZGl0aW9uYWx2aXNpYmlsaXR5O1xuICAgIH1cbiAgfVxufVxuIl19
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG1zLW9iamVjdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VvLXNkay9jb3JlL3NyYy9saWIvbW9kZWwvZG1zLW9iamVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFPOUI7O09BRUc7SUFDSCxZQUFZLElBQVM7UUFDbkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sU0FBUztJQTRHcEI7OztPQUdHO0lBQ0gsWUFBWSxJQUFTO1FBdEJyQjs7V0FFRztRQUNILGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzFCOztXQUVHO1FBQ0gsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDMUI7O1dBRUc7UUFDSCxnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4Qjs7V0FFRztRQUNILHlCQUFvQixHQUFVLEVBQUUsQ0FBQztRQVMvQiw4Q0FBOEM7UUFDOUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRTFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztR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SUFBSSxDQUFDLFNBQVM7Z0JBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQztnQkFDN0IsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ2xDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUN4QixDQUFDO1NBQ0g7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQ3pDO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUN6QztRQUVELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09iamVjdFR5cGV9IGZyb20gJy4vb2JqZWN0LXR5cGUubW9kZWwnO1xuXG4vKipcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGNsYXNzIERtc09iamVjdEF0dGFjaG1lbnQge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIHNpemU6IG51bWJlcjtcbiAgdHlwZTogc3RyaW5nO1xuICBwcmV2aWV3VXJpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBqc29uIC0gc2VydmVyIHNlbnQgSlNPTiBmb3IgYSBkbXMgb2JqZWN0XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihqc29uOiBhbnkpIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIGpzb24pO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50YXRpb24gb2YgYSBkbXMgb2JqZWN0LlxuICovXG5leHBvcnQgY2xhc3MgRG1zT2JqZWN0IHtcbiAgLyoqXG4gICAqIG9iamVjdHMgSURcbiAgICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBvYmplY3RzIHRpdGxlXG4gICAqL1xuICB0aXRsZTogc3RyaW5nO1xuICAvKipcbiAgICogb2JqZWN0cyBkZXNjcmlwdGlvblxuICAgKi9cbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgLyoqXG4gICAqIG9iamVjdHMgdmVyc2lvbiBudW1iZXJcbiAgICovXG4gIHZlcnNpb246IG51bWJlcjtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHZlcnNpb25zOiBhbnlbXTtcbiAgLyoqXG4gICAqIG9iamVjdCB0eXBlIG5hbWVcbiAgICovXG4gIHR5cGVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBvYmplY3RzIHR5cGVcbiAgICovXG4gIHR5cGU/OiBPYmplY3RUeXBlO1xuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoaXMgaXMgdGhlIGFjdGl2ZSB2ZXJzaW9uIG9mIHRoZSBvYmplY3RcbiAgICovXG4gIGlzQWN0aXZlVmVyc2lvbjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCBoYXMgYmVlbiBmaW5hbGl6ZWRcbiAgICovXG4gIGlzRmluYWxpemVkOiBib29sZWFuO1xuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoZSBvYmplY3QgaGFzIGJlZW4gbWFya2VkIGFzIGZhdm9yaXRlXG4gICAqL1xuICBpc0Zhdm9yaXRlOiBib29sZWFuO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKiBzYW1lIGFzIGlzQ29udGV4dEZvbGRlciBiZWNhdXNlIHdlIGRvIG5vdCBhbGxvdyBvdGhlciBmb2xkZXJzIHRoYW4gY29udGV4dCBmb2xkZXJzXG4gICAqL1xuICBpc0ZvbGRlcjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGUgb2JqZWN0IGlzIGEgY29udGV4dCBmb2xkZXJcbiAgICovXG4gIGlzQ29udGV4dEZvbGRlcjogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZm9ybWF0aW9uIGFib3V0IHRoZSBvYmplY3RzIGNvbnRleHQgZm9sZGVyXG4gICAqL1xuICBjb250ZXh0Rm9sZGVyOiB7IGlkOiBzdHJpbmcsIHR5cGVOYW1lOiBzdHJpbmcsIHR5cGU/OiBPYmplY3RUeXBlLCB0aXRsZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nIH07XG4gIC8qKlxuICAgKiBJbmRleGRhdGEgb2YgdGhlIG9iamVjdFxuICAgKi9cbiAgZGF0YTogYW55O1xuICAvKipcbiAgICogc3BlY2lhbCByaWdodC9wZXJtaXNzaW9ucyBzZXQgdXAgZm9yIHRoZSBvYmplY3RcbiAgICovXG4gIHJpZ2h0czogYW55O1xuICAvKipcbiAgICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIHNoYXJpbmcgc3RhdHVzIG9mIHRoZSBvYmplY3RcbiAgICovXG4gIHNoYXJlczogYW55O1xuICAvKipcbiAgICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIG9iamVjdHMgY3JlYXRpb24uIEluY2x1ZGVzIHRoZSBkYXRlIGl0IHdhcyBjcmVhdGVkIGFuZCB0aGUgdXNlciB0aGF0IGNyZWF0ZWQgdGhlIG9iamVjdFxuICAgKi9cbiAgY3JlYXRlZDogYW55O1xuICAvKipcbiAgICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIG9iamVjdHMgbGFzdCBtb2RpZmljYXRpb24uIEluY2x1ZGVzIHRoZSBkYXRlIGl0IHdhcyBtb2RpZmllZCBhbmQgdGhlIHVzZXIgdGhhdCBtb2RpZmllZCB0aGUgb2JqZWN0XG4gICAqL1xuICBtb2RpZmllZDogYW55O1xuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoZSBvYmplY3QgaXMgbG9ja2VkLiBMb2NrZWQgb2JqZWN0cyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgY2hhbmdlZFxuICAgKi9cbiAgbG9jazogYW55O1xuICAvKipcbiAgICogVGhlIG9iamVjdHMgY29udGVudCAoZmlsZSkuIE1heSBiZSBlbXB0eSBhcyBkbXMgb2JqZWN0cyBjYW4gYmUgY3JlYXRlZCB3aXRob3V0IGNvbnRlbnRzXG4gICAqL1xuICBjb250ZW50OiBhbnk7XG4gIC8qKlxuICAgKiBUaGUgY29udGVudHMgZmlsZW5hbWVcbiAgICovXG4gIGNvbnRlbnRGaWxlTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIGZpbGVzaXplXG4gICAqL1xuICBjb250ZW50RmlsZVNpemU6IHN0cmluZztcbiAgLyoqXG4gICAqIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucyBmb3IgdGhlIG9iamVjdFxuICAgKi9cbiAgc3Vic2NyaXB0aW9uczogYW55W10gPSBbXTtcbiAgLyoqXG4gICAqIExpc3Qgb2YgcmVzdWJtaXNzaW9ucyBmb3IgdGhlIG9iamVjdFxuICAgKi9cbiAgcmVzdWJtaXNzaW9uczogYW55W10gPSBbXTtcbiAgLyoqXG4gICAqIFN0b3JhZ2UgaW5mbyBvZiB0aGUgb2JqZWN0XG4gICAqL1xuICBzdG9yYWdlSW5mbzogYW55W10gPSBbXTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGFkZGl0aW9uYWx2aXNpYmlsaXR5OiBhbnlbXSA9IFtdO1xuXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2VcbiAgICogQHBhcmFtIGpzb24gVGhlIEpTT04gb2JqZWN0IHJlY2VpdmVkIGZyb20gdGhlIGJhY2tlbmQuIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgbmV3IGRtcyBvYmplY3QgaW5zdGFuY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKGpzb246IGFueSkge1xuXG4gICAgLy8gY3JlYXRlIGEgRG1zT2JqZWN0IGJhc2VkIG9uIHRoZSBzZXJ2ZXIgSlNPTlxuICAgIHRoaXMuaWQgPSBqc29uLmlkO1xuICAgIHRoaXMudGl0bGUgPSBqc29uLnRpdGxlO1xuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBqc29uLmRlc2NyaXB0aW9uO1xuICAgIHRoaXMudmVyc2lvbiA9IGpzb24udmVyc2lvbjtcbiAgICB0aGlzLnZlcnNpb25zID0ganNvbi52ZXJzaW9ucztcbiAgICB0aGlzLmRhdGEgPSBqc29uLmRhdGE7XG4gICAgdGhpcy50eXBlTmFtZSA9IGpzb24udHlwZTtcblxuICAgIHRoaXMuaXNBY3RpdmVWZXJzaW9uID0ganNvbi5hY3RpdmV2ZXJzaW9uO1xuICAgIHRoaXMuaXNGaW5hbGl6ZWQgPSBqc29uLmZpbmFsaXplZDtcbiAgICB0aGlzLmlzRmF2b3JpdGUgPSBqc29uLmZhdm9yaXRlO1xuICAgIHRoaXMuaXNGb2xkZXIgPSBqc29uLmZvbGRlcjtcbiAgICB0aGlzLmlzQ29udGV4dEZvbGRlciA9ICEhanNvbi5pc2NvbnRleHRmb2xkZXI7XG4gICAgdGhpcy5zdG9yYWdlSW5mbyA9IGpzb24uc3RvcmFnZWluZm87XG5cbiAgICBpZiAoanNvbi5jb250ZW50cyAmJiBqc29uLmNvbnRlbnRzWzBdKSB7XG4gICAgICB0aGlzLmNvbnRlbnRGaWxlTmFtZSA9IGpzb24uY29udGVudHNbMF0ucGF0aDtcbiAgICAgIHRoaXMuY29udGVudEZpbGVTaXplID0ganNvbi5jb250ZW50c1swXS5zaXplO1xuICAgIH1cblxuICAgIGlmIChqc29uLmNvbnRleHRmb2xkZXIpIHtcbiAgICAgIHRoaXMuY29udGV4dEZvbGRlciA9IHtcbiAgICAgICAgaWQ6IGpzb24uY29udGV4dGZvbGRlci5pZCxcbiAgICAgICAgdHlwZU5hbWU6IGpzb24uY29udGV4dGZvbGRlci50eXBlLFxuICAgICAgICB0aXRsZToganNvbi5jb250ZXh0Zm9sZGVyLnRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbjoganNvbi5jb250ZXh0Zm9sZGVyLmRlc2NyaXB0aW9uXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChqc29uLmNyZWF0ZWQpIHtcbiAgICAgIHRoaXMuY3JlYXRlZCA9IHtcbiAgICAgICAgb246IGpzb24uY3JlYXRlZC5vbixcbiAgICAgICAgYnk6IHtcbiAgICAgICAgICBpZDoganNvbi5jcmVhdGVkLmJ5LmlkLFxuICAgICAgICAgIHRpdGxlOiBqc29uLmNyZWF0ZWQuYnkudGl0bGUsXG4gICAgICAgICAgbmFtZToganNvbi5jcmVhdGVkLmJ5Lm5hbWVcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoanNvbi5tb2RpZmllZCkge1xuICAgICAgdGhpcy5tb2RpZmllZCA9IHtcbiAgICAgICAgb246IGpzb24ubW9kaWZpZWQub24sXG4gICAgICAgIGJ5OiB7XG4gICAgICAgICAgaWQ6IGpzb24ubW9kaWZpZWQuYnkuaWQsXG4gICAgICAgICAgdGl0bGU6IGpzb24ubW9kaWZpZWQuYnkudGl0bGUsXG4gICAgICAgICAgbmFtZToganNvbi5tb2RpZmllZC5ieS5uYW1lXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gbG9jayBpbmZvcm1hdGlvbnNcbiAgICBpZiAoanNvbi5sb2NrICE9PSAnTk9UX0xPQ0tFRCcgJiYganNvbi5sb2NraW5mbykge1xuICAgICAgdGhpcy5sb2NrID0ge1xuICAgICAgICBvbjoganNvbi5sb2NraW5mby50aW1lLFxuICAgICAgICBieToge1xuICAgICAgICAgIG1lOiBqc29uLmxvY2sgPT09ICdMT0NLRURfQllfU0VTU0lPTl9VU0VSJyxcbiAgICAgICAgICBvdGhlcjoganNvbi5sb2NrID09PSAnTE9DS0VEX0JZX09USEVSX1VTRVInLFxuICAgICAgICAgIG5hbWU6IGpzb24ubG9ja2luZm8udXNlcm5hbWUsXG4gICAgICAgICAgbGFiZWw6IGpzb24ubG9ja2luZm8udXNlcnRpdGxlXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLy8gcmlnaHRzIHNlY3Rpb25cbiAgICBpZiAoanNvbi5yaWdodHMgJiYganNvbi5yaWdodHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5yaWdodHMgPSB7XG4gICAgICAgIHNlbGVjdDoganNvbi5yaWdodHNbMF0ucHJpdmlsZWdlcy5zZWxlY3QsXG4gICAgICAgIGVkaXQ6IGpzb24ucmlnaHRzWzBdLnByaXZpbGVnZXMuZWRpdCAmJiAhKHRoaXMubG9jayAmJiB0aGlzLmxvY2suYnkub3RoZXIpLFxuICAgICAgICBkZWxldGU6IGpzb24ucmlnaHRzWzBdLnByaXZpbGVnZXMuZGVsZXRlICYmICEodGhpcy5sb2NrICYmIHRoaXMubG9jay5ieS5vdGhlciksXG4gICAgICAgIGZpbmFsaXplOiBqc29uLnJpZ2h0c1swXS5wcml2aWxlZ2VzLmZpbmFsaXplICYmICEodGhpcy5sb2NrICYmIHRoaXMubG9jay5ieS5vdGhlciksXG4gICAgICAgIHJlY3ljbGU6IGpzb24ucmlnaHRzWzBdLnByaXZpbGVnZXMucmVjeWNsZSAmJiAhKHRoaXMubG9jayAmJiB0aGlzLmxvY2suYnkub3RoZXIpXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJpZ2h0cyA9IHtcbiAgICAgICAgc2VsZWN0OiBmYWxzZSxcbiAgICAgICAgZWRpdDogZmFsc2UsXG4gICAgICAgIGRlbGV0ZTogZmFsc2UsXG4gICAgICAgIGZpbmFsaXplOiBmYWxzZSxcbiAgICAgICAgcmVjeWNsZTogZmFsc2VcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKGpzb24uc2hhcmVzKSB7XG4gICAgICB0aGlzLnNoYXJlcyA9IGpzb24uc2hhcmVzO1xuICAgIH1cblxuICAgIC8vIGNvbnRlbnQgc2VjdGlvblxuICAgIGlmIChqc29uLmNvbnRlbnRpZCkge1xuICAgICAgdGhpcy5jb250ZW50ID0ge1xuICAgICAgICBpZDoganNvbi5jb250ZW50aWQsXG4gICAgICAgIHR5cGU6IGpzb24uY29udGVudHR5cGUsXG4gICAgICAgIGNvdW50OiBqc29uLmNvbnRlbnRjb3VudCB8fCAwLFxuICAgICAgICBsaW5rZWQ6IGpzb24uY29udGVudGlkICE9PSBqc29uLmlkLFxuICAgICAgICBjb250ZW50czoganNvbi5jb250ZW50c1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoanNvbi5zdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBqc29uLnN1YnNjcmlwdGlvbnM7XG4gICAgfVxuXG4gICAgaWYgKGpzb24ucmVzdWJtaXNzaW9ucykge1xuICAgICAgdGhpcy5yZXN1Ym1pc3Npb25zID0ganNvbi5yZXN1Ym1pc3Npb25zO1xuICAgIH1cblxuICAgIGlmIChqc29uLmFkZGl0aW9uYWx2aXNpYmlsaXR5KSB7XG4gICAgICB0aGlzLmFkZGl0aW9uYWx2aXNpYmlsaXR5ID0ganNvbi5hZGRpdGlvbmFsdmlzaWJpbGl0eTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -466,6 +466,7 @@ export class DmsService {
466
466
  recycle: dmsObject.rights.recycle
467
467
  }
468
468
  }],
469
+ shares: dmsObject.shares,
469
470
  contentid: dmsObject.content ? dmsObject.content.id : null,
470
471
  contenttype: dmsObject.content ? dmsObject.content.type : null,
471
472
  contentcount: dmsObject.content ? dmsObject.content.count : null,
@@ -487,4 +488,4 @@ DmsService.ctorParameters = () => [
487
488
  { type: SystemService },
488
489
  { type: EventService }
489
490
  ];
490
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2UvZG1zL2Rtcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFHckQsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQixvREFBZ0MsQ0FBQTtJQUNoQyw2REFBeUMsQ0FBQTtJQUN6QywrQ0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQjtBQUVEOztHQUVHO0FBRUgsTUFBTSxPQUFPLFVBQVU7SUFFckIsWUFBb0IsT0FBdUIsRUFDakMsYUFBNEIsRUFDNUIsWUFBMEI7UUFGaEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDakMsa0JBQWEsR0FB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QUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDMUQsV0FBVyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzlELFlBQVksRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUNoRSxRQUFRLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFFL0QsYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhO1lBQ3RDLGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYTtZQUN0QyxvQkFBb0IsRUFBRSxTQUFTLENBQUMsb0JBQW9CO1NBQ3JELENBQUM7UUFFRixJQUFJLGVBQWUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxlQUFlLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFFdEMsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQzs7O1lBN2dCRixVQUFVOzs7WUFqQkgsY0FBYztZQUNkLGFBQWE7WUFJYixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0YXAsIG1lcmdlTWFwLCBjYXRjaEVycm9yLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RG1zT2JqZWN0LCBEbXNPYmplY3RBdHRhY2htZW50fSBmcm9tICcuLi8uLi9tb2RlbC9kbXMtb2JqZWN0Lm1vZGVsJztcbmltcG9ydCB7QmFja2VuZFNlcnZpY2V9IGZyb20gJy4uL2JhY2tlbmQvYmFja2VuZC5zZXJ2aWNlJztcbmltcG9ydCB7U3lzdGVtU2VydmljZX0gZnJvbSAnLi4vc3lzdGVtL3N5c3RlbS5zZXJ2aWNlJztcbmltcG9ydCB7VXRpbHN9IGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuaW1wb3J0IHtEbXNPYmplY3RIaXN0b3J5RW50cnl9IGZyb20gJy4uLy4uL21vZGVsL2Rtcy1vYmplY3QtaGlzdG9yeS5tb2RlbCc7XG5pbXBvcnQge0VuYWlvRXZlbnR9IGZyb20gJy4uL2V2ZW50cy9ldmVudHMnO1xuaW1wb3J0IHtFdmVudFNlcnZpY2V9IGZyb20gJy4uL2V2ZW50cy9ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7RG1zUGFyYW1zfSBmcm9tICcuL2Rtc1BhcmFtcy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgZW51bSBTdWJzY3JpcHRpb25Nb2RlIHtcbiAgT05MWV9JTkRFWF9EQVRBX0NIQU5HRUQgPSAnTUVUQScsXG4gIE9OTFlfRE9DVU1FTlRfQ09OVEVOVF9DSEFOR0VEID0gJ0NPTlRFTlQnLFxuICBETVNfT0JKRUNUX0NIQU5HRUQgPSAnQk9USCdcbn1cblxuLyoqXG4gKiBDb2xsZWN0aW9uIG9mIERNUyBTZXJ2aWNlc1xuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRG1zU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSxcbiAgICBwcml2YXRlIHN5c3RlbVNlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSkge1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgYSBkbXMgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgT2JqZWN0cyBpZFxuICAgKiBAcGFyYW0gdHlwZSBPYmplY3RzIHR5cGUgbmFtZSwgd2lsbCBpbXByb3ZlIGxvYWQgdGltZSBpZiBwcm92aWRlZFxuICAgKiBAcGFyYW0gdmVyc2lvbiBUYXJnZXQgdmVyc2lvblxuICAgKiBAcGFyYW0gaW50ZW50IFVzZWQgZm9yIHNlcnZlciBzaWRlIGxvZ2dpbmcuIElmIHlvdSBwcm92aWRlIGFuIGludGVudCwgdGhlIGJhY2tlbmQgd2lsbCByZWNvZ25pemUgdGhlIHJlcXVlc3QgYW5kIGFkZCBpdCB0byBpdHMgbG9nc1xuICAgKiBAcGFyYW0gcmVjeWNsZWJpbiBJZiB0cnVlLCBvYmplY3RzIGZyb20gcmVjeWNsZWJpbiBhcmUgaW5jbHVkZWRcbiAgICogQHBhcmFtIHdpdGhTdG9yYWdlSW5mbyBJZiB0cnVlLCBzdG9yYWdlaW5mbyBpcyBpbmNsdWRlZCBvbiB0aGUgZG1zIG9iamVjdFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPERtc09iamVjdD5cbiAgICovXG4gIGdldERtc09iamVjdChpZDogc3RyaW5nLCB0eXBlPzogc3RyaW5nLCB2ZXJzaW9uPzogbnVtYmVyLCBpbnRlbnQ/OiBzdHJpbmcsIHJlY3ljbGViaW4/OiBib29sZWFuLCB3aXRoU3RvcmFnZUluZm8/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxEbXNPYmplY3Q+IHtcbiAgICBjb25zdCB1cmkgPSBgL2Rtcy8ke2lkfWA7XG5cbiAgICBjb25zdCBxID0ge1xuICAgICAgYWRkaXRpb25hbHZpc2liaWxpdHk6IHRydWUsXG4gICAgICBzdWJzY3JpcHRpb246ICdDVVJSRU5UJyxcbiAgICAgIHJlc3VibWlzc2lvbjogJ0NVUlJFTlQnLFxuICAgICAgcmlnaHRzOiAnQ1VSUkVOVCcsXG4gICAgICBkYXRhbWV0YTogJ3RydWUnLFxuICAgICAgY29udGV4dGZvbGRlcjogJ3RydWUnLFxuICAgICAgdHlwZSxcbiAgICAgIHJlY3ljbGViaW4sXG4gICAgICB2ZXJzaW9uLFxuICAgICAgc3RvcmFnZWluZm86IHdpdGhTdG9yYWdlSW5mbyxcbiAgICAgICdfaW50ZW50JzogaW50ZW50XG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRWaWFUZW1wQ2FjaGUoVXRpbHMuYnVpbGRVcmkodXJpLCBxKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKFV0aWxzLmNhdGNoU2tpcChlcnIgPT4gZXJyLnN0YXR1cyA9PT0gNDA0KSksXG4gICAgICAgIG1hcChyZXMgPT4gdGhpcy5yZXNvbHZlT2JqZWN0VHlwZXMobmV3IERtc09iamVjdChyZXMpKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIGZvciB0aGUgRE1TIE9iamVjdHMgYnkgcGFyYW1zXG4gICAqXG4gICAqIEBwYXJhbSBEbXNQYXJhbXMgcGFyYW1zXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8RG1zT2JqZWN0PlxuICAgKi9cbiAgZ2V0RG1zT2JqZWN0QnlQYXJhbXMocGFyYW1zOiBEbXNQYXJhbXMpOiBPYnNlcnZhYmxlPERtc09iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmdldERtc09iamVjdChwYXJhbXMuaWQsIHBhcmFtcy50eXBlLCBwYXJhbXMudmVyc2lvbiwgcGFyYW1zLmludGVudCwgcGFyYW1zLnJlY3ljbGViaW4sIHBhcmFtcy53aXRoU3RvcmFnZUluZm8pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlb2x2ZXIgb2YgT2JqZWN0IFR5cGVzIGJ5IERNUyBPYmplY3RcbiAgICpcbiAgICogQHBhcmFtIERtc09iamVjdCBkbXNPYmplY3RcbiAgICogQHJldHVybnMgRG1zT2JqZWN0XG4gICAqL1xuICByZXNvbHZlT2JqZWN0VHlwZXMoZG1zT2JqZWN0OiBEbXNPYmplY3QpOiBEbXNPYmplY3Qge1xuICAgIGRtc09iamVjdC50eXBlID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGUoZG1zT2JqZWN0LnR5cGVOYW1lKTtcblxuICAgIGlmIChkbXNPYmplY3QuY29udGV4dEZvbGRlcikge1xuICAgICAgZG1zT2JqZWN0LmNvbnRleHRGb2xkZXIudHlwZSA9IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlKGRtc09iamVjdC5jb250ZXh0Rm9sZGVyLnR5cGVOYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZG1zT2JqZWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYSBETVMgb2JqZWN0LlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSBkbXMgb2JqZWN0IHRvIGJlIGRlbGV0ZWQuXG4gICAqIEBwYXJhbSB0eXBlIFR5cGUgb2Ygb2JqZWN0XG4gICAqIEBwYXJhbSBoYXJkRGVsZXRlIElmIG9iamVjdCBzaG91bGQgcmVhbGx5IGJlIGRlbGV0ZWQgb3Igb25seSBwdXQgaW50byB0aGUgcmVjeWNsZSBiaW5cbiAgICovXG4gIGRlbGV0ZURtc09iamVjdChpZDogc3RyaW5nLCB0eXBlPzogc3RyaW5nLCBoYXJkRGVsZXRlPzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgdXJsID0gYC9kbXMvJHtpZH1gO1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgIGlmICh0eXBlICYmIHR5cGUubGVuZ3RoID4gMCkge1xuICAgICAgcGFyYW1zWyd0eXBlJ10gPSB0eXBlO1xuICAgIH1cbiAgICBpZiAoaGFyZERlbGV0ZSkge1xuICAgICAgcGFyYW1zWydoYXJkZGVsZXRlJ10gPSBoYXJkRGVsZXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmRlbChVdGlscy5idWlsZFVyaSh1cmwsIHBhcmFtcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNvbnRleHQgcGF0aCBvZiB0aGUgZ2l2ZW4gZG1zIG9iamVjdFxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSBvYmplY3QuXG4gICAqIEByZXR1cm5zIFRoZSBjb250ZXh0IHBhdGggb2YgdGhlIGRtcyBvYmplY3RcbiAgICovXG4gIGdldENvbnRleHRQYXRoKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldChgL2Rtcy8ke2lkfS9jb250ZXh0YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoXG4gICAgICAgICAgY29udGV4dFBhdGggPT4ge1xuICAgICAgICAgICAgY29udGV4dFBhdGguZm9yRWFjaChwYXRoSXRlbSA9PiB7XG4gICAgICAgICAgICAgIHBhdGhJdGVtLmRtc29iamVjdCA9IG5ldyBEbXNPYmplY3QocGF0aEl0ZW0uZG1zb2JqZWN0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRleHRQYXRoO1xuICAgICAgICAgIH1cbiAgICAgICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyB0aGUgY2hpbGRyZW4gb2YgYSBEbXNPYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSBkbXNPYmplY3RcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxEbXNPYmplY3RbXT5cbiAgICovXG4gIGdldENoaWxkcmVuKGRtc09iamVjdDogRG1zT2JqZWN0KTogT2JzZXJ2YWJsZTxEbXNPYmplY3RbXT4ge1xuICAgIGNvbnN0IHVyaSA9IGAvZG1zLyR7ZG1zT2JqZWN0LmlkfS9jaGlsZHJlbmA7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXRWaWFUZW1wQ2FjaGUoVXRpbHMuYnVpbGRVcmkodXJpLCB7dHlwZTogZG1zT2JqZWN0LnR5cGUubmFtZX0pKS5waXBlKFxuICAgICAgbWFwKChyZXM6IGFueVtdKSA9PiB7XG4gICAgICAgIHJldHVybiByZXMubWFwKHIgPT4gdGhpcy5yZXNvbHZlT2JqZWN0VHlwZXMobmV3IERtc09iamVjdChyKSkpO1xuICAgICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdGhlIHZlcnNpb25zIG9mIGEgRG1zT2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gaWRcbiAgICogQHBhcmFtIHR5cGVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxEbXNPYmplY3Q+XG4gICAqL1xuICBnZXRWZXJzaW9ucyhpZDogc3RyaW5nLCB0eXBlPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxEbXNPYmplY3Q+IHtcbiAgICBjb25zdCB1cmkgPSBgL2Rtcy8ke2lkfS92ZXJzaW9uc2A7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXRWaWFUZW1wQ2FjaGUoVXRpbHMuYnVpbGRVcmkodXJpLCB7dHlwZX0pKS5waXBlKFxuICAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IERtc09iamVjdChyZXMpO1xuICAgICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdGhlIGF0dGFjaG1lbnRzIG9mIGEgRG1zT2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gZG1zT2JqZWN0XG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8RG1zT2JqZWN0QXR0YWNobWVudFtdPlxuICAgKi9cbiAgZ2V0QXR0YWNobWVudHMoZG1zT2JqZWN0OiBEbXNPYmplY3QpOiBPYnNlcnZhYmxlPERtc09iamVjdEF0dGFjaG1lbnRbXT4ge1xuICAgIGNvbnN0IHR5cGUgPSBkbXNPYmplY3QuY29udGVudD8udHlwZTtcbiAgICBjb25zdCB2ZXJzaW9uID0gZG1zT2JqZWN0LmNvbnRlbnQ/LmxpbmtlZCA/IC0xIDogZG1zT2JqZWN0LnZlcnNpb247XG4gICAgY29uc3QgY29udGVudElEID0gZG1zT2JqZWN0LmNvbnRlbnQ/LmlkO1xuICAgIGNvbnN0IHVyaSA9IFV0aWxzLmJ1aWxkVXJpKGAvZG1zLyR7Y29udGVudElEfS9hdHRhY2htZW50c2AsIHt0eXBlLCB2ZXJzaW9ufSk7XG4gICAgcmV0dXJuICFjb250ZW50SUQgPyBvZihbXSkgOiB0aGlzLmJhY2tlbmQuZ2V0VmlhVGVtcENhY2hlKHVyaSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoVXRpbHMuY2F0Y2hTa2lwKGVyciA9PiBlcnIuc3RhdHVzID09PSA0MDQpKSxcbiAgICAgIG1hcCgocmVzOiBhbnkpID0+IHJlcy5hdHRhY2htZW50aW5mbyAmJiByZXMuYXR0YWNobWVudGluZm8uYXR0YWNobWVudHMgPyByZXMuYXR0YWNobWVudGluZm8uYXR0YWNobWVudHNcbiAgICAgICAgLm1hcCgoYSwgaSkgPT4gbmV3IERtc09iamVjdEF0dGFjaG1lbnQoT2JqZWN0LmFzc2lnbihhLCB7aWQ6IGksIHByZXZpZXdVcmk6IHRoaXMuZ2V0QXR0YWNobWVudEJ5SW5kZXgoY29udGVudElELCBpLCB0eXBlLCB2ZXJzaW9uKX0pKSkgOiBbXVxuICAgICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2hlcyB0aGUgc3BlY2lmaWMgYXR0YWNobWVudCBvZiBhIERtc09iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIGlkXG4gICAqIEBwYXJhbSBpbmRleFxuICAgKiBAcGFyYW0gdHlwZVxuICAgKiBAcGFyYW0gdmVyc2lvblxuICAgKiBAcmV0dXJucyBzdHJpbmdcbiAgICovXG4gIGdldEF0dGFjaG1lbnRCeUluZGV4KGlkOiBzdHJpbmcsIGluZGV4OiBudW1iZXIsIHR5cGU6IHN0cmluZywgdmVyc2lvbj86IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgdXJpID0gVXRpbHMuYnVpbGRVcmkoYC9kbXMvJHtpZH0vYXR0YWNobWVudHMvJHtpbmRleH1gLCB7dHlwZSwgdmVyc2lvbn0pO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0U2VydmljZUJhc2UoKSArIHVyaTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgdGhlIFVSSSBmb3IgZ2V0dGluZyBhIERtc09iamVjdHMgc2xpZGUgKFByZXZpZXcgaW1hZ2UpLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgT2JqZWN0cyBpZFxuICAgKiBAcGFyYW0gdHlwZSBPYmplY3RzIHR5cGUgbmFtZSwgd2lsbCBpbXByb3ZlIGxvYWQgdGltZSBpZiBwcm92aWRlZFxuICAgKiBAcGFyYW0gdmVyc2lvbiBUYXJnZXQgdmVyc2lvblxuICAgKiBAcGFyYW0gc2l6ZSBUaGUgc2l6ZSBvZiB0aGUgcHJldmlldyBpbWFnZSBpbiBweFxuICAgKiBAcmV0dXJucyBzdHJpbmdcbiAgICovXG4gIGdldFNsaWRlKGlkOiBzdHJpbmcsIHR5cGU/OiBzdHJpbmcsIHZlcnNpb24/OiBudW1iZXIsIHNpemU/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBVdGlscy5idWlsZFVyaShcbiAgICAgIHRoaXMuYmFja2VuZC5nZXRTZXJ2aWNlQmFzZSgpICsgJy9kbXMvJyArIGlkICsgJy9zbGlkZScsXG4gICAgICB7XG4gICAgICAgIHR5cGUsXG4gICAgICAgIHZlcnNpb24sXG4gICAgICAgIGhlaWdodDogc2l6ZVxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIHRoZSBVUkkgZm9yIGdldHRpbmcgYSBEbXNPYmplY3RzIHByZXZpZXcgKFBERiByZW5kaXRpb24pLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgT2JqZWN0cyBpZFxuICAgKiBAcGFyYW0gdHlwZV0gT2JqZWN0cyB0eXBlIG5hbWUsIHdpbGwgaW1wcm92ZSBsb2FkIHRpbWUgaWYgcHJvdmlkZWRcbiAgICogQHBhcmFtIHZlcnNpb24gVGFyZ2V0IHZlcnNpb25cbiAgICogQHBhcmFtIHJlbmRpdGlvbiBUYXJnZXQgcmVuZGl0aW9uIChQREYpXG4gICAqIEByZXR1cm5zIHN0cmluZ1xuICAgKi9cbiAgZ2V0UHJldmlldyhpZDogc3RyaW5nLCB0eXBlPzogc3RyaW5nLCB2ZXJzaW9uPzogbnVtYmVyLCByZW5kaXRpb24/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBVdGlscy5idWlsZFVyaShcbiAgICAgIHRoaXMuYmFja2VuZC5nZXRTZXJ2aWNlQmFzZSgpICsgJy9kbXMvJyArIGlkICsgJy9jb250ZW50JyxcbiAgICAgIHtcbiAgICAgICAgcmVuZGl0aW9uLFxuICAgICAgICB0eXBlLFxuICAgICAgICB2ZXJzaW9uXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIGFuIGV4aXN0aW5nIGRtcyBvYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBJRCBvZiB0aGUgb2JqZWN0IHRvIGJlIHVwZGF0ZWRcbiAgICogQHBhcmFtIGluZGV4ZGF0YSBPYmplY3QgaG9sZGluZyB0aGUgb2JqZWN0cyBpbmRleGRhdGEgKHByb3BlcnR5OiB2YWx1ZSlcbiAgICogQHBhcmFtIHR5cGUgVGhlIG9iamVjdCB0eXBlIG9mIHRoZSBvYmplY3QgdG8gYmUgdXBkYXRlZFxuICAgKiBAcGFyYW0gdmVyc2lvbiBUaGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBvYmplY3QgdG8gYmUgdXBkYXRlZFxuICAgKiBAcGFyYW0gY2hlY2tyZWZlcmVuY2VzIElmIHRoZSByZWZlcmVuY2UgZmllbGRzIHNob3VsZCBiZSB2YWxpZGF0ZWQgb3Igbm90XG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8RG1zT2JqZWN0PiBUaGUgdXBkYXRlZCBkbXMgb2JqZWN0XG4gICAqL1xuICB1cGRhdGVPYmplY3QoaWQ6IHN0cmluZywgaW5kZXhkYXRhOiBhbnksIHR5cGU/OiBzdHJpbmcsIHZlcnNpb24/OiBudW1iZXIsIGNoZWNrcmVmZXJlbmNlcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPERtc09iamVjdD4ge1xuICAgIGNvbnN0IHVybCA9IFV0aWxzLmJ1aWxkVXJpKGAvZG1zLyR7aWR9YCwge3R5cGUsIHZlcnNpb24sIGNoZWNrcmVmZXJlbmNlc30pO1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJVcGRhdGUoPGFueT57aWQsIHR5cGUsIHR5cGVOYW1lOiB0eXBlfSwgdGhpcy5iYWNrZW5kLnB1dCh1cmwsIGluZGV4ZGF0YSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIHRoZSBoaXN0b3J5IChhdWRpdCkgb2Ygb25lIGRtcyBvYmplY3RcbiAgICpcbiAgICogQHBhcmFtIGlkIElEIG9mIHRoZSBkbXMgb2JqZWN0IHRvIGZldGNoIGhpc3RvcnkgZm9yXG4gICAqIEBwYXJhbSB0eXBlIFR5cGUgb2YgdGhlIGRtcyBvYmplY3QgdG8gZmV0Y2ggaGlzdG9yeSBmb3JcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxEbXNPYmplY3RIaXN0b3J5RW50cnlbXT4gVGhlIGhpc3Rvcnkgb2YgdGhlIGRtcyBvYmplY3RcbiAgICovXG4gIGdldEhpc3RvcnkoaWQ6IHN0cmluZywgdHlwZT86IHN0cmluZyk6IE9ic2VydmFibGU8RG1zT2JqZWN0SGlzdG9yeUVudHJ5W10+IHtcbiAgICBjb25zdCB1cmkgPSBgL2Rtcy8ke2lkfS9hdWRpdGA7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXRKc29uKFV0aWxzLmJ1aWxkVXJpKHVyaSwge3R5cGU6IHR5cGV9KSkucGlwZShtYXAoKHJlcykgPT4gcmVzLmF1ZGl0Lm1hcCgoYXVkaXRFbnRyeSkgPT4gbmV3IERtc09iamVjdEhpc3RvcnlFbnRyeShhdWRpdEVudHJ5KSkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN0b3JlcyBhbiBlYXJsaWVyIHZlcnNpb24gb2YgdGhlIHNlbGVjdGVkIERtc09iamVjdCBieSBhZGRpbmcgdGhlIGVhcmxpZXIgdmVyc2lvblxuICAgKiBhcyB0aGUgbmV3IHJlY2VudCB2ZXJzaW9uLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgRE1TIG9iamVjdCBpZFxuICAgKiBAcGFyYW0gdmVyc2lvbiBUaGUgdmVyc2lvbiB0byBiZSByZXN0b3JlZFxuICAgKiBAcGFyYW0gdHlwZSBUaGUgZG1zIG9iamVjdCB0eXBlXG4gICAqIEByZXR1cm5cbiAgICovXG4gIHJlc3RvcmVWZXJzaW9uKGlkOiBzdHJpbmcsIHZlcnNpb246IG51bWJlciwgdHlwZT86IHN0cmluZykge1xuICAgIGNvbnN0IHVyaSA9IGAvZG1zL3Jlc3RvcmV2ZXJzaW9uLyR7aWR9LyR7dmVyc2lvbn1gO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQucG9zdChVdGlscy5idWlsZFVyaSh1cmksIHt0eXBlOiB0eXBlfSksIG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIGRtc09iamVjdCBpcyBzcGVjaWZpZWQsIGxvYWQgbGF0ZXN0IHZlcnNpb24gYW5kIHRyaWdnZXIgRW5haW8gZXZlbnQgRE1TX09CSkVDVF9VUERBVEVEXG4gICAqXG4gICAqIEBwYXJhbSBkbXNPYmplY3RcbiAgICogQHBhcmFtIHJlcXVlc3RcbiAgICogQHJldHVyblxuICAgKi9cbiAgdHJpZ2dlclVwZGF0ZShkbXNPYmplY3Q6IERtc09iamVjdCwgcmVxdWVzdDogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgcmV0dXJuICFkbXNPYmplY3QgPyByZXF1ZXN0IDogcmVxdWVzdC5waXBlKFxuICAgICAgbWVyZ2VNYXAoKCkgPT4gdGhpcy5nZXREbXNPYmplY3QoZG1zT2JqZWN0LmlkLCBkbXNPYmplY3QudHlwZU5hbWUpKSxcbiAgICAgIHRhcChfZG1zT2JqZWN0ID0+IHRoaXMuZXZlbnRTZXJ2aWNlLnRyaWdnZXIoRW5haW9FdmVudC5ETVNfT0JKRUNUX1VQREFURUQsIF9kbXNPYmplY3QpKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIENvbnRlbnRcbiAgICpcbiAgICogQHBhcmFtIERtc09iamVjdCBkbXNPYmplY3RcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICByZW1vdmVDb250ZW50KGRtc09iamVjdDogRG1zT2JqZWN0KSB7XG4gICAgY29uc3QgdXJpID0gYC9kbXMvJHtkbXNPYmplY3QuaWR9L2NvbnRlbnRgO1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJVcGRhdGUoZG1zT2JqZWN0LCB0aGlzLmJhY2tlbmQuZGVsKHVyaSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgRG1zT2JqZWN0LlxuICAgKiBAcGFyYW0gdGFyZ2V0VHlwZSBUYXJnZXQgb2JqZWN0IHR5cGUgbmFtZVxuICAgKiBAcGFyYW0gZmlsZSBGaWxlIHRvIGJlIGFkZGVkIGFzIERtc09iamVjdHMgY29udGVudFxuICAgKiBAcGFyYW0gaW5kZXhEYXRhIEluZGV4ZGF0YSBhcyBwbGFpbiBvYmplY3Qgd2hlcmUga2V5cyBhcmUgdGhlIG9iamVjdHMgcHJvcGVydGllcyBhbmQgdmFsdWVzIHRoZSB2YWx1ZXMgdG8gYmUgYXBwbGllZCB0byBpdFxuICAgKiBAcGFyYW0gcGFyZW50IFBhcmVudCBjb250ZXh0IGZvbGRlciBvZiB0aGUgbmV3IERtc09iamVjdFxuICAgKi9cbiAgY3JlYXRlRG1zT2JqZWN0KHRhcmdldFR5cGU6IHN0cmluZywgZmlsZT86IEZpbGUsIGluZGV4RGF0YT86IGFueSwgcGFyZW50Pzoge2lkOiBzdHJpbmcsIHR5cGU/OiBzdHJpbmd9KTogT2JzZXJ2YWJsZTx7aWQ6IHN0cmluZywgdXJpOiBzdHJpbmd9PiB7XG5cbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGlmIChpbmRleERhdGEpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZGF0YScsIG5ldyBCbG9iKFtKU09OLnN0cmluZ2lmeShpbmRleERhdGEpXSwge1xuICAgICAgICB0eXBlOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdub2luZGV4ZGF0YScsICcnKTtcbiAgICB9XG5cbiAgICBpZiAoZmlsZSkge1xuICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlc1tdJywgZmlsZSwgVXRpbHMuZW5jb2RlRmlsZU5hbWUoZmlsZS5uYW1lKSk7XG4gICAgfVxuXG4gICAgbGV0IHVyaSA9IGAvZG1zL2NyZWF0ZS8ke3RhcmdldFR5cGV9YDtcbiAgICBpZiAocGFyZW50KSB7XG4gICAgICB1cmkgPSBVdGlscy5idWlsZFVyaSh1cmksIHtcbiAgICAgICAgcGFyZW50SWQ6IHBhcmVudC5pZCxcbiAgICAgICAgcGFyZW50VHlwZTogcGFyZW50LnR5cGVcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLnBvc3RNdWx0aVBhcnQodXJpLCBmb3JtRGF0YSwgbnVsbCwge2hlYWRlcnM6IHt9fSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgU3Vic2NyaXB0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBEbXNPYmplY3QgZG1zT2JqZWN0XG4gICAqIEBwYXJhbSBzdHJpbmcgc3ViamVjdFxuICAgKiBAcGFyYW0gcmVjZWl2ZXJcbiAgICogQHBhcmFtIGJvb2xlYW4gc2VuZGVtYWlsXG4gICAqIEBwYXJhbSBib29sZWFuIG9ubHllbWFpbFxuICAgKiBAcGFyYW0gbW9kZSBTdWJzY3JpcHRpb25Nb2RlXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgY3JlYXRlU3Vic2NyaXB0aW9uKGRtc09iamVjdDogRG1zT2JqZWN0LCBzdWJqZWN0OiBzdHJpbmcsIHJlY2VpdmVyLCBzZW5kZW1haWw6IGJvb2xlYW4sIG9ubHllbWFpbDogYm9vbGVhbiwgbW9kZT86IFN1YnNjcmlwdGlvbk1vZGUpIHtcbiAgICBjb25zdCB1cmkgPSBgL2Rtcy9zdWJzY3JpcHRpb24vJHtkbXNPYmplY3QuaWR9YDtcbiAgICByZXR1cm4gdGhpcy50cmlnZ2VyVXBkYXRlKGRtc09iamVjdCwgdGhpcy5iYWNrZW5kLnBvc3QoVXRpbHMuYnVpbGRVcmkodXJpLCB7XG4gICAgICBzdWJqZWN0LFxuICAgICAgdHlwZTogZG1zT2JqZWN0LnR5cGVOYW1lLFxuICAgICAgcmVjZWl2ZXIsXG4gICAgICBzZW5kZW1haWwsXG4gICAgICBvbmx5ZW1haWwsXG4gICAgICBtb2RlXG4gICAgfSksIHt9KVxuICAgICk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBSZXN1Ym1pc3Npb25cbiAgICpcbiAgICogQHBhcmFtIERtc09iamVjdCBkbXNPYmplY3RcbiAgICogQHBhcmFtIHN0cmluZyBzdWJqZWN0XG4gICAqIEBwYXJhbSBkdWVcbiAgICogQHBhcmFtIHJlY2VpdmVyXG4gICAqIEBwYXJhbSBib29sZWFuIHNlbmRFbWFpbFxuICAgKiBAcGFyYW0gYm9vbGVhbiBvbmx5RW1haWxcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICBjcmVhdGVSZXN1Ym1pc3Npb24oZG1zT2JqZWN0OiBEbXNPYmplY3QsIHN1YmplY3Q6IHN0cmluZywgZHVlLCByZWNlaXZlciwgc2VuZEVtYWlsOiBib29sZWFuLCBvbmx5RW1haWw6IGJvb2xlYW4pIHtcbiAgICBjb25zdCB1cmkgPSBgL2Rtcy9yZXN1Ym1pc3Npb24vJHtkbXNPYmplY3QuaWR9YDtcbiAgICByZXR1cm4gdGhpcy50cmlnZ2VyVXBkYXRlKGRtc09iamVjdCwgdGhpcy5iYWNrZW5kLnBvc3QoVXRpbHMuYnVpbGRVcmkodXJpLCB7XG4gICAgICBzdWJqZWN0LFxuICAgICAgdHlwZTogZG1zT2JqZWN0LnR5cGVOYW1lLFxuICAgICAgcmVjZWl2ZXIsXG4gICAgICBkdWU6IGR1ZSA/IGR1ZS50b0lTT1N0cmluZygpIDogJycsXG4gICAgICBzZW5kZW1haWw6IHNlbmRFbWFpbCxcbiAgICAgIG9ubHllbWFpbDogb25seUVtYWlsXG4gICAgfSksIHt9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVhbW92ZSBhIFN1YnNjcmlwdGlvbiBieSBhIGdpdmVuIElkXG4gICAqXG4gICAqIEBwYXJhbSBzdWJzY3JpcHRpb25JZFxuICAgKiBAcGFyYW0gRG1zT2JqZWN0IGRtc09iamVjdFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIHJlbW92ZVN1YnNjcmlwdGlvbkJ5SWQoc3Vic2NyaXB0aW9uSWQsIGRtc09iamVjdD86IERtc09iamVjdCkge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJVcGRhdGUoZG1zT2JqZWN0LCB0aGlzLmJhY2tlbmQuZGVsKGAvbWVzc2FnZXByb3ZpZGVyL3N1YnNjcmlwdGlvbi8ke3N1YnNjcmlwdGlvbklkfWApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYSBSZXN1Ym1pc3Npb24gYnkgYSBnaXZlbiBJZFxuICAgKlxuICAgKiBAcGFyYW0gaXRlbUlkXG4gICAqIEBwYXJhbSBEbXNPYmplY3QgZG1zT2JqZWN0XG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgcmVtb3ZlUmVzdWJtaXNzaW9uc0J5SWQoaXRlbUlkLCBkbXNPYmplY3Q/OiBEbXNPYmplY3QpIHtcbiAgICByZXR1cm4gdGhpcy50cmlnZ2VyVXBkYXRlKGRtc09iamVjdCwgdGhpcy5iYWNrZW5kLmRlbChgL2Rtcy9yZXN1Ym1pc3Npb24vJHtpdGVtSWR9YCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBhIFJlc3VibWlzc2lvblxuICAgKlxuICAgKiBAcGFyYW0gRG1zT2JqZWN0IGRtc09iamVjdFxuICAgKiBAcGFyYW0gc3RyaW5nIHN1YmplY3RcbiAgICogQHBhcmFtIGR1ZVxuICAgKiBAcGFyYW0gcmVjZWl2ZXJcbiAgICogQHBhcmFtIGJvb2xlYW4gc2VuZEVtYWlsXG4gICAqIEBwYXJhbSBib29sZWFuIG9ubHlFbWFpbFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIHVwZGF0ZVJlc3VibWlzc2lvbihkbXNPYmplY3Q6IERtc09iamVjdCwgc3ViamVjdDogc3RyaW5nLCBkdWUsIHJlY2VpdmVyLCBzZW5kRW1haWw6IGJvb2xlYW4sIG9ubHlFbWFpbDogYm9vbGVhbikge1xuICAgIHJldHVybiB0aGlzLnJlbW92ZVJlc3VibWlzc2lvbnNCeUlkKGRtc09iamVjdC5pZCkucGlwZShtZXJnZU1hcCgoKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1Ym1pc3Npb24oZG1zT2JqZWN0LCBzdWJqZWN0LCBkdWUsIHJlY2VpdmVyLCBzZW5kRW1haWwsIG9ubHlFbWFpbCk7XG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHRlciBmb3IgT3JnYW5pemF0aW9uIE9iamVjdHMgV2l0aCBSZWFkIFJpZ2h0c1xuICAgKlxuICAgKiBAcGFyYW0gRG1zT2JqZWN0W10gZG1zT2JqZWN0c1xuICAgKiBAcGFyYW0gc3RyaW5nW10gb3JnYU5hbWVzXG4gICAqIEBwYXJhbSBib29sZWFuIHNoYXJlQ2hpbGRyZW5cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICBzZXRPcmdhbml6YXRpb25PYmplY3RzV2l0aFJlYWRSaWdodHMoZG1zT2JqZWN0czogRG1zT2JqZWN0W10sIG9yZ2FOYW1lczogc3RyaW5nW10sIHNoYXJlQ2hpbGRyZW4gPSB0cnVlKSB7XG4gICAgY29uc3QgdXJsID0gYC9kbXMvYmF0Y2gvcHV0YWRkaXRpb25hbHZpc2liaWxpdHk/c2hhcmVjaGlsZHJlbj0ke3NoYXJlQ2hpbGRyZW59YDtcbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgb3JnYW5pemF0aW9ub2JqZWN0czogb3JnYU5hbWVzLFxuICAgICAgb2JqZWN0czogZG1zT2JqZWN0cy5tYXAobyA9PiAoe1xuICAgICAgICBpdGVtaWQ6IG8uaWQsXG4gICAgICAgIHR5cGU6IG8udHlwZS5uYW1lXG4gICAgICB9KSlcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJVcGRhdGUoZG1zT2JqZWN0c1swXSwgdGhpcy5iYWNrZW5kLnB1dCh1cmwsIGRhdGEpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlIGEgRE1TIE9iamVjdFxuICAgKlxuICAgKiBAcGFyYW0gaWRcbiAgICogQHBhcmFtIHR5cGVOYW1lXG4gICAqIEBwYXJhbSBwYXJlbnRJZFxuICAgKiBAcGFyYW0gcGFyZW50VHlwZU5hbWVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICBtb3ZlKGlkLCB0eXBlTmFtZSwgcGFyZW50SWQsIHBhcmVudFR5cGVOYW1lKSB7XG4gICAgY29uc3QgdXJpID0gYC9kbXMvbG9jYXRpb24vJHtpZH1gO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQucG9zdChVdGlscy5idWlsZFVyaSh1cmksIHtcbiAgICAgIHR5cGU6IHR5cGVOYW1lLFxuICAgICAgcGFyZW50SWQsXG4gICAgICBwYXJlbnRUeXBlOiBwYXJlbnRUeXBlTmFtZVxuICAgIH0pLCB7fSk7XG4gIH1cblxuICAvKipcbiAgICogQ29weSBhIERNUyBPYmplY3RcbiAgICpcbiAgICogQHBhcmFtIGlkXG4gICAqIEBwYXJhbSB0eXBlTmFtZVxuICAgKiBAcGFyYW0gcGFyZW50SWRcbiAgICogQHBhcmFtIHBhcmVudFR5cGVOYW1lXG4gICAqIEBwYXJhbSBjcmVhdGVDb250ZW50TGlua1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIGNvcHkoaWQsIHR5cGVOYW1lLCBwYXJlbnRJZCwgcGFyZW50VHlwZU5hbWUsIGNyZWF0ZUNvbnRlbnRMaW5rKSB7XG4gICAgY29uc3QgdXJpID0gYC9kbXMvY29weS8ke2lkfWA7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5wb3N0KFV0aWxzLmJ1aWxkVXJpKHVyaSwge1xuICAgICAgdHlwZTogdHlwZU5hbWUsXG4gICAgICBwYXJlbnRJZCxcbiAgICAgIHBhcmVudFR5cGU6IHBhcmVudFR5cGVOYW1lLFxuICAgICAgY3JlYXRlY29udGVudGxpbms6IGNyZWF0ZUNvbnRlbnRMaW5rXG4gICAgfSksIHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYSBETVMgT2JqZWN0IHRvIEZpbmlsaXRlZFxuICAgKlxuICAgKiBAcGFyYW0gRG1zT2JqZWN0IGl0ZW1cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICBmaW5hbGl6ZShpdGVtOiBEbXNPYmplY3QpIHtcbiAgICBjb25zdCB1cmwgPSAnL2Rtcy9maW5hbGl6ZS8nICsgaXRlbS5pZCArICc/dHlwZT0nICsgaXRlbS50eXBlTmFtZTtcbiAgICByZXR1cm4gdGhpcy50cmlnZ2VyVXBkYXRlKGl0ZW0sIHRoaXMuYmFja2VuZC5wdXQodXJsKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBGaW5pbGl6ZWQgRmxhZyBmcm9tIGEgRE1TIE9iamVjdFxuICAgKlxuICAgKiBAcGFyYW0gRG1zT2JqZWN0IGl0ZW1cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICBkZWZpbmFsaXplKGl0ZW06IERtc09iamVjdCkge1xuICAgIGNvbnN0IHVybCA9ICcvZG1zL2RlZmluYWxpemUvJyArIGl0ZW0uaWQgKyAnP3R5cGU9JyArIGl0ZW0udHlwZU5hbWU7XG4gICAgcmV0dXJuIHRoaXMudHJpZ2dlclVwZGF0ZShpdGVtLCB0aGlzLmJhY2tlbmQucHV0KHVybCkpO1xuICB9XG5cbiAgY3JlYXRlTG9jYWxDb3B5T2ZETVNPYmplY3QoZG1zT2JqZWN0OiBEbXNPYmplY3QpOiBEbXNPYmplY3Qge1xuICAgIGNvbnN0IGJhc2UgPSB7XG4gICAgICBpZDogZG1zT2JqZWN0LmlkLFxuICAgICAgdGl0bGU6IGRtc09iamVjdC50aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBkbXNPYmplY3QuZGVzY3JpcHRpb24sXG4gICAgICB2ZXJzaW9uOiBkbXNPYmplY3QudmVyc2lvbixcbiAgICAgIHZlcnNpb25zOiBkbXNPYmplY3QudmVyc2lvbnMsXG4gICAgICBkYXRhOiBkbXNPYmplY3QuZGF0YSxcbiAgICAgIHR5cGU6IGRtc09iamVjdC50eXBlTmFtZSxcblxuICAgICAgYWN0aXZldmVyc2lvbjogZG1zT2JqZWN0LmlzQWN0aXZlVmVyc2lvbixcbiAgICAgIGZpbmFsaXplZDogZG1zT2JqZWN0LmlzRmluYWxpemVkLFxuICAgICAgZmF2b3JpdGU6IGRtc09iamVjdC5pc0Zhdm9yaXRlLFxuICAgICAgZm9sZGVyOiBkbXNPYmplY3QuaXNGb2xkZXIsXG4gICAgICBpc2NvbnRleHRmb2xkZXI6IGRtc09iamVjdC5pc0NvbnRleHRGb2xkZXIsXG5cbiAgICAgIGNvbnRleHRmb2xkZXI6IGRtc09iamVjdC5jb250ZXh0Rm9sZGVyID8ge1xuICAgICAgICBpZDogZG1zT2JqZWN0LmNvbnRleHRGb2xkZXIuaWQsXG4gICAgICAgIHR5cGU6IGRtc09iamVjdC5jb250ZXh0Rm9sZGVyLnR5cGVOYW1lLFxuICAgICAgICB0aXRsZTogZG1zT2JqZWN0LmNvbnRleHRGb2xkZXIudGl0bGUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBkbXNPYmplY3QuY29udGV4dEZvbGRlci5kZXNjcmlwdGlvblxuICAgICAgfSA6IG51bGwsXG5cbiAgICAgIGNyZWF0ZWQ6IGRtc09iamVjdC5jcmVhdGVkLFxuICAgICAgbW9kaWZpZWQ6IGRtc09iamVjdC5tb2RpZmllZCxcblxuICAgICAgbG9jazogIWRtc09iamVjdC5sb2NrID8gJ05PVF9MT0NLRUQnIDogZG1zT2JqZWN0LmxvY2suYnkubWUgPyAnTE9DS0VEX0JZX1NFU1NJT05fVVNFUicgOiAnTE9DS0VEX0JZX09USEVSX1VTRVInLFxuICAgICAgbG9ja2luZm86IGRtc09iamVjdC5sb2NrID8ge3VzZXJuYW1lOiBkbXNPYmplY3QubG9jay5ieS5uYW1lLCB1c2VydGl0bGU6IGRtc09iamVjdC5sb2NrLmJ5LmxhYmVsLCB0aW1lOiBkbXNPYmplY3QubG9jay5vbn0gOiBudWxsLFxuXG4gICAgICByaWdodHM6IFt7XG4gICAgICAgIHByaXZpbGVnZXM6IHtcbiAgICAgICAgICBzZWxlY3Q6IGRtc09iamVjdC5yaWdodHMuc2VsZWN0LFxuICAgICAgICAgIGVkaXQ6IGRtc09iamVjdC5yaWdodHMuZWRpdCxcbiAgICAgICAgICBkZWxldGU6IGRtc09iamVjdC5yaWdodHMuZGVsZXRlLFxuICAgICAgICAgIGZpbmFsaXplOiBkbXNPYmplY3QucmlnaHRzLmZpbmFsaXplLFxuICAgICAgICAgIHJlY3ljbGU6IGRtc09iamVjdC5yaWdodHMucmVjeWNsZVxuICAgICAgICB9XG4gICAgICB9XSxcblxuICAgICAgY29udGVudGlkOiBkbXNPYmplY3QuY29udGVudCA/IGRtc09iamVjdC5jb250ZW50LmlkIDogbnVsbCxcbiAgICAgIGNvbnRlbnR0eXBlOiBkbXNPYmplY3QuY29udGVudCA/IGRtc09iamVjdC5jb250ZW50LnR5cGUgOiBudWxsLFxuICAgICAgY29udGVudGNvdW50OiBkbXNPYmplY3QuY29udGVudCA/IGRtc09iamVjdC5jb250ZW50LmNvdW50IDogbnVsbCxcbiAgICAgIGNvbnRlbnRzOiBkbXNPYmplY3QuY29udGVudCA/IGRtc09iamVjdC5jb250ZW50LmNvbnRlbnRzIDogbnVsbCxcblxuICAgICAgc3Vic2NyaXB0aW9uczogZG1zT2JqZWN0LnN1YnNjcmlwdGlvbnMsXG4gICAgICByZXN1Ym1pc3Npb25zOiBkbXNPYmplY3QucmVzdWJtaXNzaW9ucyxcbiAgICAgIGFkZGl0aW9uYWx2aXNpYmlsaXR5OiBkbXNPYmplY3QuYWRkaXRpb25hbHZpc2liaWxpdHlcbiAgICB9O1xuXG4gICAgbGV0IGNvcGllZERtc09iamVjdCA9IG5ldyBEbXNPYmplY3QoYmFzZSk7XG4gICAgY29waWVkRG1zT2JqZWN0LnR5cGUgPSBkbXNPYmplY3QudHlwZTtcblxuICAgIHJldHVybiBjb3BpZWREbXNPYmplY3Q7XG4gIH1cblxufVxuIl19
491
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lby1zZGsvY29yZS9zcmMvbGliL3NlcnZpY2UvZG1zL2Rtcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFHckQsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUMxQixvREFBZ0MsQ0FBQTtJQUNoQyw2REFBeUMsQ0FBQTtJQUN6QywrQ0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQjtBQUVEOztHQUVHO0FBRUgsTUFBTSxPQUFPLFVBQVU7SUFFckIsWUFBb0IsT0FBdUIsRUFDakMsYUFBNEIsRUFDNUIsWUFBMEI7UUFGaEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDakMsa0JBQWEsR0FB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QUFDLE1BQU07WUFDeEIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBQzFELFdBQVcsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUM5RCxZQUFZLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDaEUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJO1lBRS9ELGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYTtZQUN0QyxhQUFhLEVBQUUsU0FBUyxDQUFDLGFBQWE7WUFDdEMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLG9CQUFvQjtTQUNyRCxDQUFDO1FBRUYsSUFBSSxlQUFlLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsZUFBZSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBRXRDLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7OztZQTdnQkYsVUFBVTs7O1lBakJILGNBQWM7WUFDZCxhQUFhO1lBSWIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dGFwLCBtZXJnZU1hcCwgY2F0Y2hFcnJvciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Rtc09iamVjdCwgRG1zT2JqZWN0QXR0YWNobWVudH0gZnJvbSAnLi4vLi4vbW9kZWwvZG1zLW9iamVjdC5tb2RlbCc7XG5pbXBvcnQge0JhY2tlbmRTZXJ2aWNlfSBmcm9tICcuLi9iYWNrZW5kL2JhY2tlbmQuc2VydmljZSc7XG5pbXBvcnQge1N5c3RlbVNlcnZpY2V9IGZyb20gJy4uL3N5c3RlbS9zeXN0ZW0uc2VydmljZSc7XG5pbXBvcnQge1V0aWxzfSBmcm9tICcuLi8uLi91dGlsL3V0aWxzJztcbmltcG9ydCB7RG1zT2JqZWN0SGlzdG9yeUVudHJ5fSBmcm9tICcuLi8uLi9tb2RlbC9kbXMtb2JqZWN0LWhpc3RvcnkubW9kZWwnO1xuaW1wb3J0IHtFbmFpb0V2ZW50fSBmcm9tICcuLi9ldmVudHMvZXZlbnRzJztcbmltcG9ydCB7RXZlbnRTZXJ2aWNlfSBmcm9tICcuLi9ldmVudHMvZXZlbnQuc2VydmljZSc7XG5pbXBvcnQge0Rtc1BhcmFtc30gZnJvbSAnLi9kbXNQYXJhbXMuaW50ZXJmYWNlJztcblxuZXhwb3J0IGVudW0gU3Vic2NyaXB0aW9uTW9kZSB7XG4gIE9OTFlfSU5ERVhfREFUQV9DSEFOR0VEID0gJ01FVEEnLFxuICBPTkxZX0RPQ1VNRU5UX0NPTlRFTlRfQ0hBTkdFRCA9ICdDT05URU5UJyxcbiAgRE1TX09CSkVDVF9DSEFOR0VEID0gJ0JPVEgnXG59XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiBETVMgU2VydmljZXNcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERtc1NlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmFja2VuZDogQmFja2VuZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgZG1zIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIGlkIE9iamVjdHMgaWRcbiAgICogQHBhcmFtIHR5cGUgT2JqZWN0cyB0eXBlIG5hbWUsIHdpbGwgaW1wcm92ZSBsb2FkIHRpbWUgaWYgcHJvdmlkZWRcbiAgICogQHBhcmFtIHZlcnNpb24gVGFyZ2V0IHZlcnNpb25cbiAgICogQHBhcmFtIGludGVudCBVc2VkIGZvciBzZXJ2ZXIgc2lkZSBsb2dnaW5nLiBJZiB5b3UgcHJvdmlkZSBhbiBpbnRlbnQsIHRoZSBiYWNrZW5kIHdpbGwgcmVjb2duaXplIHRoZSByZXF1ZXN0IGFuZCBhZGQgaXQgdG8gaXRzIGxvZ3NcbiAgICogQHBhcmFtIHJlY3ljbGViaW4gSWYgdHJ1ZSwgb2JqZWN0cyBmcm9tIHJlY3ljbGViaW4gYXJlIGluY2x1ZGVkXG4gICAqIEBwYXJhbSB3aXRoU3RvcmFnZUluZm8gSWYgdHJ1ZSwgc3RvcmFnZWluZm8gaXMgaW5jbHVkZWQgb24gdGhlIGRtcyBvYmplY3RcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxEbXNPYmplY3Q+XG4gICAqL1xuICBnZXREbXNPYmplY3QoaWQ6IHN0cmluZywgdHlwZT86IHN0cmluZywgdmVyc2lvbj86IG51bWJlciwgaW50ZW50Pzogc3RyaW5nLCByZWN5Y2xlYmluPzogYm9vbGVhbiwgd2l0aFN0b3JhZ2VJbmZvPzogYm9vbGVhbik6IE9ic2VydmFibGU8RG1zT2JqZWN0PiB7XG4gICAgY29uc3QgdXJpID0gYC9kbXMvJHtpZH1gO1xuXG4gICAgY29uc3QgcSA9IHtcbiAgICAgIGFkZGl0aW9uYWx2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgc3Vic2NyaXB0aW9uOiAnQ1VSUkVOVCcsXG4gICAgICByZXN1Ym1pc3Npb246ICdDVVJSRU5UJyxcbiAgICAgIHJpZ2h0czogJ0NVUlJFTlQnLFxuICAgICAgZGF0YW1ldGE6ICd0cnVlJyxcbiAgICAgIGNvbnRleHRmb2xkZXI6ICd0cnVlJyxcbiAgICAgIHR5cGUsXG4gICAgICByZWN5Y2xlYmluLFxuICAgICAgdmVyc2lvbixcbiAgICAgIHN0b3JhZ2VpbmZvOiB3aXRoU3RvcmFnZUluZm8sXG4gICAgICAnX2ludGVudCc6IGludGVudFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAuZ2V0VmlhVGVtcENhY2hlKFV0aWxzLmJ1aWxkVXJpKHVyaSwgcSkpXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihVdGlscy5jYXRjaFNraXAoZXJyID0+IGVyci5zdGF0dXMgPT09IDQwNCkpLFxuICAgICAgICBtYXAocmVzID0+IHRoaXMucmVzb2x2ZU9iamVjdFR5cGVzKG5ldyBEbXNPYmplY3QocmVzKSkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHRlciBmb3IgdGhlIERNUyBPYmplY3RzIGJ5IHBhcmFtc1xuICAgKlxuICAgKiBAcGFyYW0gRG1zUGFyYW1zIHBhcmFtc1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPERtc09iamVjdD5cbiAgICovXG4gIGdldERtc09iamVjdEJ5UGFyYW1zKHBhcmFtczogRG1zUGFyYW1zKTogT2JzZXJ2YWJsZTxEbXNPYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5nZXREbXNPYmplY3QocGFyYW1zLmlkLCBwYXJhbXMudHlwZSwgcGFyYW1zLnZlcnNpb24sIHBhcmFtcy5pbnRlbnQsIHBhcmFtcy5yZWN5Y2xlYmluLCBwYXJhbXMud2l0aFN0b3JhZ2VJbmZvKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW9sdmVyIG9mIE9iamVjdCBUeXBlcyBieSBETVMgT2JqZWN0XG4gICAqXG4gICAqIEBwYXJhbSBEbXNPYmplY3QgZG1zT2JqZWN0XG4gICAqIEByZXR1cm5zIERtc09iamVjdFxuICAgKi9cbiAgcmVzb2x2ZU9iamVjdFR5cGVzKGRtc09iamVjdDogRG1zT2JqZWN0KTogRG1zT2JqZWN0IHtcbiAgICBkbXNPYmplY3QudHlwZSA9IHRoaXMuc3lzdGVtU2VydmljZS5nZXRPYmplY3RUeXBlKGRtc09iamVjdC50eXBlTmFtZSk7XG5cbiAgICBpZiAoZG1zT2JqZWN0LmNvbnRleHRGb2xkZXIpIHtcbiAgICAgIGRtc09iamVjdC5jb250ZXh0Rm9sZGVyLnR5cGUgPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZShkbXNPYmplY3QuY29udGV4dEZvbGRlci50eXBlTmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRtc09iamVjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGEgRE1TIG9iamVjdC5cbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgZG1zIG9iamVjdCB0byBiZSBkZWxldGVkLlxuICAgKiBAcGFyYW0gdHlwZSBUeXBlIG9mIG9iamVjdFxuICAgKiBAcGFyYW0gaGFyZERlbGV0ZSBJZiBvYmplY3Qgc2hvdWxkIHJlYWxseSBiZSBkZWxldGVkIG9yIG9ubHkgcHV0IGludG8gdGhlIHJlY3ljbGUgYmluXG4gICAqL1xuICBkZWxldGVEbXNPYmplY3QoaWQ6IHN0cmluZywgdHlwZT86IHN0cmluZywgaGFyZERlbGV0ZT86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAvZG1zLyR7aWR9YDtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcbiAgICBpZiAodHlwZSAmJiB0eXBlLmxlbmd0aCA+IDApIHtcbiAgICAgIHBhcmFtc1sndHlwZSddID0gdHlwZTtcbiAgICB9XG4gICAgaWYgKGhhcmREZWxldGUpIHtcbiAgICAgIHBhcmFtc1snaGFyZGRlbGV0ZSddID0gaGFyZERlbGV0ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5kZWwoVXRpbHMuYnVpbGRVcmkodXJsLCBwYXJhbXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb250ZXh0IHBhdGggb2YgdGhlIGdpdmVuIGRtcyBvYmplY3RcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgb2JqZWN0LlxuICAgKiBAcmV0dXJucyBUaGUgY29udGV4dCBwYXRoIG9mIHRoZSBkbXMgb2JqZWN0XG4gICAqL1xuICBnZXRDb250ZXh0UGF0aChpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5nZXQoYC9kbXMvJHtpZH0vY29udGV4dGApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKFxuICAgICAgICAgIGNvbnRleHRQYXRoID0+IHtcbiAgICAgICAgICAgIGNvbnRleHRQYXRoLmZvckVhY2gocGF0aEl0ZW0gPT4ge1xuICAgICAgICAgICAgICBwYXRoSXRlbS5kbXNvYmplY3QgPSBuZXcgRG1zT2JqZWN0KHBhdGhJdGVtLmRtc29iamVjdCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBjb250ZXh0UGF0aDtcbiAgICAgICAgICB9XG4gICAgICAgICkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdGhlIGNoaWxkcmVuIG9mIGEgRG1zT2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gZG1zT2JqZWN0XG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8RG1zT2JqZWN0W10+XG4gICAqL1xuICBnZXRDaGlsZHJlbihkbXNPYmplY3Q6IERtc09iamVjdCk6IE9ic2VydmFibGU8RG1zT2JqZWN0W10+IHtcbiAgICBjb25zdCB1cmkgPSBgL2Rtcy8ke2Rtc09iamVjdC5pZH0vY2hpbGRyZW5gO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0VmlhVGVtcENhY2hlKFV0aWxzLmJ1aWxkVXJpKHVyaSwge3R5cGU6IGRtc09iamVjdC50eXBlLm5hbWV9KSkucGlwZShcbiAgICAgIG1hcCgocmVzOiBhbnlbXSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzLm1hcChyID0+IHRoaXMucmVzb2x2ZU9iamVjdFR5cGVzKG5ldyBEbXNPYmplY3QocikpKTtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIHRoZSB2ZXJzaW9ucyBvZiBhIERtc09iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIGlkXG4gICAqIEBwYXJhbSB0eXBlXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8RG1zT2JqZWN0PlxuICAgKi9cbiAgZ2V0VmVyc2lvbnMoaWQ6IHN0cmluZywgdHlwZT86IHN0cmluZyk6IE9ic2VydmFibGU8RG1zT2JqZWN0PiB7XG4gICAgY29uc3QgdXJpID0gYC9kbXMvJHtpZH0vdmVyc2lvbnNgO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0VmlhVGVtcENhY2hlKFV0aWxzLmJ1aWxkVXJpKHVyaSwge3R5cGV9KSkucGlwZShcbiAgICAgIG1hcCgocmVzOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBEbXNPYmplY3QocmVzKTtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIHRoZSBhdHRhY2htZW50cyBvZiBhIERtc09iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIGRtc09iamVjdFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPERtc09iamVjdEF0dGFjaG1lbnRbXT5cbiAgICovXG4gIGdldEF0dGFjaG1lbnRzKGRtc09iamVjdDogRG1zT2JqZWN0KTogT2JzZXJ2YWJsZTxEbXNPYmplY3RBdHRhY2htZW50W10+IHtcbiAgICBjb25zdCB0eXBlID0gZG1zT2JqZWN0LmNvbnRlbnQ/LnR5cGU7XG4gICAgY29uc3QgdmVyc2lvbiA9IGRtc09iamVjdC5jb250ZW50Py5saW5rZWQgPyAtMSA6IGRtc09iamVjdC52ZXJzaW9uO1xuICAgIGNvbnN0IGNvbnRlbnRJRCA9IGRtc09iamVjdC5jb250ZW50Py5pZDtcbiAgICBjb25zdCB1cmkgPSBVdGlscy5idWlsZFVyaShgL2Rtcy8ke2NvbnRlbnRJRH0vYXR0YWNobWVudHNgLCB7dHlwZSwgdmVyc2lvbn0pO1xuICAgIHJldHVybiAhY29udGVudElEID8gb2YoW10pIDogdGhpcy5iYWNrZW5kLmdldFZpYVRlbXBDYWNoZSh1cmkpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKFV0aWxzLmNhdGNoU2tpcChlcnIgPT4gZXJyLnN0YXR1cyA9PT0gNDA0KSksXG4gICAgICBtYXAoKHJlczogYW55KSA9PiByZXMuYXR0YWNobWVudGluZm8gJiYgcmVzLmF0dGFjaG1lbnRpbmZvLmF0dGFjaG1lbnRzID8gcmVzLmF0dGFjaG1lbnRpbmZvLmF0dGFjaG1lbnRzXG4gICAgICAgIC5tYXAoKGEsIGkpID0+IG5ldyBEbXNPYmplY3RBdHRhY2htZW50KE9iamVjdC5hc3NpZ24oYSwge2lkOiBpLCBwcmV2aWV3VXJpOiB0aGlzLmdldEF0dGFjaG1lbnRCeUluZGV4KGNvbnRlbnRJRCwgaSwgdHlwZSwgdmVyc2lvbil9KSkpIDogW11cbiAgICAgICkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdGhlIHNwZWNpZmljIGF0dGFjaG1lbnQgb2YgYSBEbXNPYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSBpZFxuICAgKiBAcGFyYW0gaW5kZXhcbiAgICogQHBhcmFtIHR5cGVcbiAgICogQHBhcmFtIHZlcnNpb25cbiAgICogQHJldHVybnMgc3RyaW5nXG4gICAqL1xuICBnZXRBdHRhY2htZW50QnlJbmRleChpZDogc3RyaW5nLCBpbmRleDogbnVtYmVyLCB0eXBlOiBzdHJpbmcsIHZlcnNpb24/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHVyaSA9IFV0aWxzLmJ1aWxkVXJpKGAvZG1zLyR7aWR9L2F0dGFjaG1lbnRzLyR7aW5kZXh9YCwge3R5cGUsIHZlcnNpb259KTtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLmdldFNlcnZpY2VCYXNlKCkgKyB1cmk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIHRoZSBVUkkgZm9yIGdldHRpbmcgYSBEbXNPYmplY3RzIHNsaWRlIChQcmV2aWV3IGltYWdlKS5cbiAgICpcbiAgICogQHBhcmFtIGlkIE9iamVjdHMgaWRcbiAgICogQHBhcmFtIHR5cGUgT2JqZWN0cyB0eXBlIG5hbWUsIHdpbGwgaW1wcm92ZSBsb2FkIHRpbWUgaWYgcHJvdmlkZWRcbiAgICogQHBhcmFtIHZlcnNpb24gVGFyZ2V0IHZlcnNpb25cbiAgICogQHBhcmFtIHNpemUgVGhlIHNpemUgb2YgdGhlIHByZXZpZXcgaW1hZ2UgaW4gcHhcbiAgICogQHJldHVybnMgc3RyaW5nXG4gICAqL1xuICBnZXRTbGlkZShpZDogc3RyaW5nLCB0eXBlPzogc3RyaW5nLCB2ZXJzaW9uPzogbnVtYmVyLCBzaXplPzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVXRpbHMuYnVpbGRVcmkoXG4gICAgICB0aGlzLmJhY2tlbmQuZ2V0U2VydmljZUJhc2UoKSArICcvZG1zLycgKyBpZCArICcvc2xpZGUnLFxuICAgICAge1xuICAgICAgICB0eXBlLFxuICAgICAgICB2ZXJzaW9uLFxuICAgICAgICBoZWlnaHQ6IHNpemVcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyB0aGUgVVJJIGZvciBnZXR0aW5nIGEgRG1zT2JqZWN0cyBwcmV2aWV3IChQREYgcmVuZGl0aW9uKS5cbiAgICpcbiAgICogQHBhcmFtIGlkIE9iamVjdHMgaWRcbiAgICogQHBhcmFtIHR5cGVdIE9iamVjdHMgdHlwZSBuYW1lLCB3aWxsIGltcHJvdmUgbG9hZCB0aW1lIGlmIHByb3ZpZGVkXG4gICAqIEBwYXJhbSB2ZXJzaW9uIFRhcmdldCB2ZXJzaW9uXG4gICAqIEBwYXJhbSByZW5kaXRpb24gVGFyZ2V0IHJlbmRpdGlvbiAoUERGKVxuICAgKiBAcmV0dXJucyBzdHJpbmdcbiAgICovXG4gIGdldFByZXZpZXcoaWQ6IHN0cmluZywgdHlwZT86IHN0cmluZywgdmVyc2lvbj86IG51bWJlciwgcmVuZGl0aW9uPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVXRpbHMuYnVpbGRVcmkoXG4gICAgICB0aGlzLmJhY2tlbmQuZ2V0U2VydmljZUJhc2UoKSArICcvZG1zLycgKyBpZCArICcvY29udGVudCcsXG4gICAgICB7XG4gICAgICAgIHJlbmRpdGlvbixcbiAgICAgICAgdHlwZSxcbiAgICAgICAgdmVyc2lvblxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyBhbiBleGlzdGluZyBkbXMgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgSUQgb2YgdGhlIG9iamVjdCB0byBiZSB1cGRhdGVkXG4gICAqIEBwYXJhbSBpbmRleGRhdGEgT2JqZWN0IGhvbGRpbmcgdGhlIG9iamVjdHMgaW5kZXhkYXRhIChwcm9wZXJ0eTogdmFsdWUpXG4gICAqIEBwYXJhbSB0eXBlIFRoZSBvYmplY3QgdHlwZSBvZiB0aGUgb2JqZWN0IHRvIGJlIHVwZGF0ZWRcbiAgICogQHBhcmFtIHZlcnNpb24gVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGUgb2JqZWN0IHRvIGJlIHVwZGF0ZWRcbiAgICogQHBhcmFtIGNoZWNrcmVmZXJlbmNlcyBJZiB0aGUgcmVmZXJlbmNlIGZpZWxkcyBzaG91bGQgYmUgdmFsaWRhdGVkIG9yIG5vdFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPERtc09iamVjdD4gVGhlIHVwZGF0ZWQgZG1zIG9iamVjdFxuICAgKi9cbiAgdXBkYXRlT2JqZWN0KGlkOiBzdHJpbmcsIGluZGV4ZGF0YTogYW55LCB0eXBlPzogc3RyaW5nLCB2ZXJzaW9uPzogbnVtYmVyLCBjaGVja3JlZmVyZW5jZXM/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxEbXNPYmplY3Q+IHtcbiAgICBjb25zdCB1cmwgPSBVdGlscy5idWlsZFVyaShgL2Rtcy8ke2lkfWAsIHt0eXBlLCB2ZXJzaW9uLCBjaGVja3JlZmVyZW5jZXN9KTtcbiAgICByZXR1cm4gdGhpcy50cmlnZ2VyVXBkYXRlKDxhbnk+e2lkLCB0eXBlLCB0eXBlTmFtZTogdHlwZX0sIHRoaXMuYmFja2VuZC5wdXQodXJsLCBpbmRleGRhdGEpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCB0aGUgaGlzdG9yeSAoYXVkaXQpIG9mIG9uZSBkbXMgb2JqZWN0XG4gICAqXG4gICAqIEBwYXJhbSBpZCBJRCBvZiB0aGUgZG1zIG9iamVjdCB0byBmZXRjaCBoaXN0b3J5IGZvclxuICAgKiBAcGFyYW0gdHlwZSBUeXBlIG9mIHRoZSBkbXMgb2JqZWN0IHRvIGZldGNoIGhpc3RvcnkgZm9yXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8RG1zT2JqZWN0SGlzdG9yeUVudHJ5W10+IFRoZSBoaXN0b3J5IG9mIHRoZSBkbXMgb2JqZWN0XG4gICAqL1xuICBnZXRIaXN0b3J5KGlkOiBzdHJpbmcsIHR5cGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPERtc09iamVjdEhpc3RvcnlFbnRyeVtdPiB7XG4gICAgY29uc3QgdXJpID0gYC9kbXMvJHtpZH0vYXVkaXRgO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQuZ2V0SnNvbihVdGlscy5idWlsZFVyaSh1cmksIHt0eXBlOiB0eXBlfSkpLnBpcGUobWFwKChyZXMpID0+IHJlcy5hdWRpdC5tYXAoKGF1ZGl0RW50cnkpID0+IG5ldyBEbXNPYmplY3RIaXN0b3J5RW50cnkoYXVkaXRFbnRyeSkpKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzdG9yZXMgYW4gZWFybGllciB2ZXJzaW9uIG9mIHRoZSBzZWxlY3RlZCBEbXNPYmplY3QgYnkgYWRkaW5nIHRoZSBlYXJsaWVyIHZlcnNpb25cbiAgICogYXMgdGhlIG5ldyByZWNlbnQgdmVyc2lvbi5cbiAgICpcbiAgICogQHBhcmFtIGlkIERNUyBvYmplY3QgaWRcbiAgICogQHBhcmFtIHZlcnNpb24gVGhlIHZlcnNpb24gdG8gYmUgcmVzdG9yZWRcbiAgICogQHBhcmFtIHR5cGUgVGhlIGRtcyBvYmplY3QgdHlwZVxuICAgKiBAcmV0dXJuXG4gICAqL1xuICByZXN0b3JlVmVyc2lvbihpZDogc3RyaW5nLCB2ZXJzaW9uOiBudW1iZXIsIHR5cGU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCB1cmkgPSBgL2Rtcy9yZXN0b3JldmVyc2lvbi8ke2lkfS8ke3ZlcnNpb259YDtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLnBvc3QoVXRpbHMuYnVpbGRVcmkodXJpLCB7dHlwZTogdHlwZX0pLCBudWxsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpZiBkbXNPYmplY3QgaXMgc3BlY2lmaWVkLCBsb2FkIGxhdGVzdCB2ZXJzaW9uIGFuZCB0cmlnZ2VyIEVuYWlvIGV2ZW50IERNU19PQkpFQ1RfVVBEQVRFRFxuICAgKlxuICAgKiBAcGFyYW0gZG1zT2JqZWN0XG4gICAqIEBwYXJhbSByZXF1ZXN0XG4gICAqIEByZXR1cm5cbiAgICovXG4gIHRyaWdnZXJVcGRhdGUoZG1zT2JqZWN0OiBEbXNPYmplY3QsIHJlcXVlc3Q6IE9ic2VydmFibGU8YW55Pikge1xuICAgIHJldHVybiAhZG1zT2JqZWN0ID8gcmVxdWVzdCA6IHJlcXVlc3QucGlwZShcbiAgICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuZ2V0RG1zT2JqZWN0KGRtc09iamVjdC5pZCwgZG1zT2JqZWN0LnR5cGVOYW1lKSksXG4gICAgICB0YXAoX2Rtc09iamVjdCA9PiB0aGlzLmV2ZW50U2VydmljZS50cmlnZ2VyKEVuYWlvRXZlbnQuRE1TX09CSkVDVF9VUERBVEVELCBfZG1zT2JqZWN0KSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBDb250ZW50XG4gICAqXG4gICAqIEBwYXJhbSBEbXNPYmplY3QgZG1zT2JqZWN0XG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgcmVtb3ZlQ29udGVudChkbXNPYmplY3Q6IERtc09iamVjdCkge1xuICAgIGNvbnN0IHVyaSA9IGAvZG1zLyR7ZG1zT2JqZWN0LmlkfS9jb250ZW50YDtcbiAgICByZXR1cm4gdGhpcy50cmlnZ2VyVXBkYXRlKGRtc09iamVjdCwgdGhpcy5iYWNrZW5kLmRlbCh1cmkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IERtc09iamVjdC5cbiAgICogQHBhcmFtIHRhcmdldFR5cGUgVGFyZ2V0IG9iamVjdCB0eXBlIG5hbWVcbiAgICogQHBhcmFtIGZpbGUgRmlsZSB0byBiZSBhZGRlZCBhcyBEbXNPYmplY3RzIGNvbnRlbnRcbiAgICogQHBhcmFtIGluZGV4RGF0YSBJbmRleGRhdGEgYXMgcGxhaW4gb2JqZWN0IHdoZXJlIGtleXMgYXJlIHRoZSBvYmplY3RzIHByb3BlcnRpZXMgYW5kIHZhbHVlcyB0aGUgdmFsdWVzIHRvIGJlIGFwcGxpZWQgdG8gaXRcbiAgICogQHBhcmFtIHBhcmVudCBQYXJlbnQgY29udGV4dCBmb2xkZXIgb2YgdGhlIG5ldyBEbXNPYmplY3RcbiAgICovXG4gIGNyZWF0ZURtc09iamVjdCh0YXJnZXRUeXBlOiBzdHJpbmcsIGZpbGU/OiBGaWxlLCBpbmRleERhdGE/OiBhbnksIHBhcmVudD86IHtpZDogc3RyaW5nLCB0eXBlPzogc3RyaW5nfSk6IE9ic2VydmFibGU8e2lkOiBzdHJpbmcsIHVyaTogc3RyaW5nfT4ge1xuXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBpZiAoaW5kZXhEYXRhKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2RhdGEnLCBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkoaW5kZXhEYXRhKV0sIHtcbiAgICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnbm9pbmRleGRhdGEnLCAnJyk7XG4gICAgfVxuXG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZXNbXScsIGZpbGUsIFV0aWxzLmVuY29kZUZpbGVOYW1lKGZpbGUubmFtZSkpO1xuICAgIH1cblxuICAgIGxldCB1cmkgPSBgL2Rtcy9jcmVhdGUvJHt0YXJnZXRUeXBlfWA7XG4gICAgaWYgKHBhcmVudCkge1xuICAgICAgdXJpID0gVXRpbHMuYnVpbGRVcmkodXJpLCB7XG4gICAgICAgIHBhcmVudElkOiBwYXJlbnQuaWQsXG4gICAgICAgIHBhcmVudFR5cGU6IHBhcmVudC50eXBlXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZC5wb3N0TXVsdGlQYXJ0KHVyaSwgZm9ybURhdGEsIG51bGwsIHtoZWFkZXJzOiB7fX0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIFN1YnNjcmlwdGlvblxuICAgKlxuICAgKiBAcGFyYW0gRG1zT2JqZWN0IGRtc09iamVjdFxuICAgKiBAcGFyYW0gc3RyaW5nIHN1YmplY3RcbiAgICogQHBhcmFtIHJlY2VpdmVyXG4gICAqIEBwYXJhbSBib29sZWFuIHNlbmRlbWFpbFxuICAgKiBAcGFyYW0gYm9vbGVhbiBvbmx5ZW1haWxcbiAgICogQHBhcmFtIG1vZGUgU3Vic2NyaXB0aW9uTW9kZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIGNyZWF0ZVN1YnNjcmlwdGlvbihkbXNPYmplY3Q6IERtc09iamVjdCwgc3ViamVjdDogc3RyaW5nLCByZWNlaXZlciwgc2VuZGVtYWlsOiBib29sZWFuLCBvbmx5ZW1haWw6IGJvb2xlYW4sIG1vZGU/OiBTdWJzY3JpcHRpb25Nb2RlKSB7XG4gICAgY29uc3QgdXJpID0gYC9kbXMvc3Vic2NyaXB0aW9uLyR7ZG1zT2JqZWN0LmlkfWA7XG4gICAgcmV0dXJuIHRoaXMudHJpZ2dlclVwZGF0ZShkbXNPYmplY3QsIHRoaXMuYmFja2VuZC5wb3N0KFV0aWxzLmJ1aWxkVXJpKHVyaSwge1xuICAgICAgc3ViamVjdCxcbiAgICAgIHR5cGU6IGRtc09iamVjdC50eXBlTmFtZSxcbiAgICAgIHJlY2VpdmVyLFxuICAgICAgc2VuZGVtYWlsLFxuICAgICAgb25seWVtYWlsLFxuICAgICAgbW9kZVxuICAgIH0pLCB7fSlcbiAgICApO1xuXG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgUmVzdWJtaXNzaW9uXG4gICAqXG4gICAqIEBwYXJhbSBEbXNPYmplY3QgZG1zT2JqZWN0XG4gICAqIEBwYXJhbSBzdHJpbmcgc3ViamVjdFxuICAgKiBAcGFyYW0gZHVlXG4gICAqIEBwYXJhbSByZWNlaXZlclxuICAgKiBAcGFyYW0gYm9vbGVhbiBzZW5kRW1haWxcbiAgICogQHBhcmFtIGJvb2xlYW4gb25seUVtYWlsXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgY3JlYXRlUmVzdWJtaXNzaW9uKGRtc09iamVjdDogRG1zT2JqZWN0LCBzdWJqZWN0OiBzdHJpbmcsIGR1ZSwgcmVjZWl2ZXIsIHNlbmRFbWFpbDogYm9vbGVhbiwgb25seUVtYWlsOiBib29sZWFuKSB7XG4gICAgY29uc3QgdXJpID0gYC9kbXMvcmVzdWJtaXNzaW9uLyR7ZG1zT2JqZWN0LmlkfWA7XG4gICAgcmV0dXJuIHRoaXMudHJpZ2dlclVwZGF0ZShkbXNPYmplY3QsIHRoaXMuYmFja2VuZC5wb3N0KFV0aWxzLmJ1aWxkVXJpKHVyaSwge1xuICAgICAgc3ViamVjdCxcbiAgICAgIHR5cGU6IGRtc09iamVjdC50eXBlTmFtZSxcbiAgICAgIHJlY2VpdmVyLFxuICAgICAgZHVlOiBkdWUgPyBkdWUudG9JU09TdHJpbmcoKSA6ICcnLFxuICAgICAgc2VuZGVtYWlsOiBzZW5kRW1haWwsXG4gICAgICBvbmx5ZW1haWw6IG9ubHlFbWFpbFxuICAgIH0pLCB7fSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYW1vdmUgYSBTdWJzY3JpcHRpb24gYnkgYSBnaXZlbiBJZFxuICAgKlxuICAgKiBAcGFyYW0gc3Vic2NyaXB0aW9uSWRcbiAgICogQHBhcmFtIERtc09iamVjdCBkbXNPYmplY3RcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICByZW1vdmVTdWJzY3JpcHRpb25CeUlkKHN1YnNjcmlwdGlvbklkLCBkbXNPYmplY3Q/OiBEbXNPYmplY3QpIHtcbiAgICByZXR1cm4gdGhpcy50cmlnZ2VyVXBkYXRlKGRtc09iamVjdCwgdGhpcy5iYWNrZW5kLmRlbChgL21lc3NhZ2Vwcm92aWRlci9zdWJzY3JpcHRpb24vJHtzdWJzY3JpcHRpb25JZH1gKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGEgUmVzdWJtaXNzaW9uIGJ5IGEgZ2l2ZW4gSWRcbiAgICpcbiAgICogQHBhcmFtIGl0ZW1JZFxuICAgKiBAcGFyYW0gRG1zT2JqZWN0IGRtc09iamVjdFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIHJlbW92ZVJlc3VibWlzc2lvbnNCeUlkKGl0ZW1JZCwgZG1zT2JqZWN0PzogRG1zT2JqZWN0KSB7XG4gICAgcmV0dXJuIHRoaXMudHJpZ2dlclVwZGF0ZShkbXNPYmplY3QsIHRoaXMuYmFja2VuZC5kZWwoYC9kbXMvcmVzdWJtaXNzaW9uLyR7aXRlbUlkfWApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYSBSZXN1Ym1pc3Npb25cbiAgICpcbiAgICogQHBhcmFtIERtc09iamVjdCBkbXNPYmplY3RcbiAgICogQHBhcmFtIHN0cmluZyBzdWJqZWN0XG4gICAqIEBwYXJhbSBkdWVcbiAgICogQHBhcmFtIHJlY2VpdmVyXG4gICAqIEBwYXJhbSBib29sZWFuIHNlbmRFbWFpbFxuICAgKiBAcGFyYW0gYm9vbGVhbiBvbmx5RW1haWxcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICB1cGRhdGVSZXN1Ym1pc3Npb24oZG1zT2JqZWN0OiBEbXNPYmplY3QsIHN1YmplY3Q6IHN0cmluZywgZHVlLCByZWNlaXZlciwgc2VuZEVtYWlsOiBib29sZWFuLCBvbmx5RW1haWw6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVSZXN1Ym1pc3Npb25zQnlJZChkbXNPYmplY3QuaWQpLnBpcGUobWVyZ2VNYXAoKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWJtaXNzaW9uKGRtc09iamVjdCwgc3ViamVjdCwgZHVlLCByZWNlaXZlciwgc2VuZEVtYWlsLCBvbmx5RW1haWwpO1xuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXR0ZXIgZm9yIE9yZ2FuaXphdGlvbiBPYmplY3RzIFdpdGggUmVhZCBSaWdodHNcbiAgICpcbiAgICogQHBhcmFtIERtc09iamVjdFtdIGRtc09iamVjdHNcbiAgICogQHBhcmFtIHN0cmluZ1tdIG9yZ2FOYW1lc1xuICAgKiBAcGFyYW0gYm9vbGVhbiBzaGFyZUNoaWxkcmVuXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgc2V0T3JnYW5pemF0aW9uT2JqZWN0c1dpdGhSZWFkUmlnaHRzKGRtc09iamVjdHM6IERtc09iamVjdFtdLCBvcmdhTmFtZXM6IHN0cmluZ1tdLCBzaGFyZUNoaWxkcmVuID0gdHJ1ZSkge1xuICAgIGNvbnN0IHVybCA9IGAvZG1zL2JhdGNoL3B1dGFkZGl0aW9uYWx2aXNpYmlsaXR5P3NoYXJlY2hpbGRyZW49JHtzaGFyZUNoaWxkcmVufWA7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIG9yZ2FuaXphdGlvbm9iamVjdHM6IG9yZ2FOYW1lcyxcbiAgICAgIG9iamVjdHM6IGRtc09iamVjdHMubWFwKG8gPT4gKHtcbiAgICAgICAgaXRlbWlkOiBvLmlkLFxuICAgICAgICB0eXBlOiBvLnR5cGUubmFtZVxuICAgICAgfSkpXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy50cmlnZ2VyVXBkYXRlKGRtc09iamVjdHNbMF0sIHRoaXMuYmFja2VuZC5wdXQodXJsLCBkYXRhKSk7XG4gIH1cblxuICAvKipcbiAgICogTW92ZSBhIERNUyBPYmplY3RcbiAgICpcbiAgICogQHBhcmFtIGlkXG4gICAqIEBwYXJhbSB0eXBlTmFtZVxuICAgKiBAcGFyYW0gcGFyZW50SWRcbiAgICogQHBhcmFtIHBhcmVudFR5cGVOYW1lXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgbW92ZShpZCwgdHlwZU5hbWUsIHBhcmVudElkLCBwYXJlbnRUeXBlTmFtZSkge1xuICAgIGNvbnN0IHVyaSA9IGAvZG1zL2xvY2F0aW9uLyR7aWR9YDtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kLnBvc3QoVXRpbHMuYnVpbGRVcmkodXJpLCB7XG4gICAgICB0eXBlOiB0eXBlTmFtZSxcbiAgICAgIHBhcmVudElkLFxuICAgICAgcGFyZW50VHlwZTogcGFyZW50VHlwZU5hbWVcbiAgICB9KSwge30pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvcHkgYSBETVMgT2JqZWN0XG4gICAqXG4gICAqIEBwYXJhbSBpZFxuICAgKiBAcGFyYW0gdHlwZU5hbWVcbiAgICogQHBhcmFtIHBhcmVudElkXG4gICAqIEBwYXJhbSBwYXJlbnRUeXBlTmFtZVxuICAgKiBAcGFyYW0gY3JlYXRlQ29udGVudExpbmtcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICBjb3B5KGlkLCB0eXBlTmFtZSwgcGFyZW50SWQsIHBhcmVudFR5cGVOYW1lLCBjcmVhdGVDb250ZW50TGluaykge1xuICAgIGNvbnN0IHVyaSA9IGAvZG1zL2NvcHkvJHtpZH1gO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmQucG9zdChVdGlscy5idWlsZFVyaSh1cmksIHtcbiAgICAgIHR5cGU6IHR5cGVOYW1lLFxuICAgICAgcGFyZW50SWQsXG4gICAgICBwYXJlbnRUeXBlOiBwYXJlbnRUeXBlTmFtZSxcbiAgICAgIGNyZWF0ZWNvbnRlbnRsaW5rOiBjcmVhdGVDb250ZW50TGlua1xuICAgIH0pLCB7fSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgRE1TIE9iamVjdCB0byBGaW5pbGl0ZWRcbiAgICpcbiAgICogQHBhcmFtIERtc09iamVjdCBpdGVtXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgZmluYWxpemUoaXRlbTogRG1zT2JqZWN0KSB7XG4gICAgY29uc3QgdXJsID0gJy9kbXMvZmluYWxpemUvJyArIGl0ZW0uaWQgKyAnP3R5cGU9JyArIGl0ZW0udHlwZU5hbWU7XG4gICAgcmV0dXJuIHRoaXMudHJpZ2dlclVwZGF0ZShpdGVtLCB0aGlzLmJhY2tlbmQucHV0KHVybCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgRmluaWxpemVkIEZsYWcgZnJvbSBhIERNUyBPYmplY3RcbiAgICpcbiAgICogQHBhcmFtIERtc09iamVjdCBpdGVtXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgZGVmaW5hbGl6ZShpdGVtOiBEbXNPYmplY3QpIHtcbiAgICBjb25zdCB1cmwgPSAnL2Rtcy9kZWZpbmFsaXplLycgKyBpdGVtLmlkICsgJz90eXBlPScgKyBpdGVtLnR5cGVOYW1lO1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJVcGRhdGUoaXRlbSwgdGhpcy5iYWNrZW5kLnB1dCh1cmwpKTtcbiAgfVxuXG4gIGNyZWF0ZUxvY2FsQ29weU9mRE1TT2JqZWN0KGRtc09iamVjdDogRG1zT2JqZWN0KTogRG1zT2JqZWN0IHtcbiAgICBjb25zdCBiYXNlID0ge1xuICAgICAgaWQ6IGRtc09iamVjdC5pZCxcbiAgICAgIHRpdGxlOiBkbXNPYmplY3QudGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogZG1zT2JqZWN0LmRlc2NyaXB0aW9uLFxuICAgICAgdmVyc2lvbjogZG1zT2JqZWN0LnZlcnNpb24sXG4gICAgICB2ZXJzaW9uczogZG1zT2JqZWN0LnZlcnNpb25zLFxuICAgICAgZGF0YTogZG1zT2JqZWN0LmRhdGEsXG4gICAgICB0eXBlOiBkbXNPYmplY3QudHlwZU5hbWUsXG5cbiAgICAgIGFjdGl2ZXZlcnNpb246IGRtc09iamVjdC5pc0FjdGl2ZVZlcnNpb24sXG4gICAgICBmaW5hbGl6ZWQ6IGRtc09iamVjdC5pc0ZpbmFsaXplZCxcbiAgICAgIGZhdm9yaXRlOiBkbXNPYmplY3QuaXNGYXZvcml0ZSxcbiAgICAgIGZvbGRlcjogZG1zT2JqZWN0LmlzRm9sZGVyLFxuICAgICAgaXNjb250ZXh0Zm9sZGVyOiBkbXNPYmplY3QuaXNDb250ZXh0Rm9sZGVyLFxuXG4gICAgICBjb250ZXh0Zm9sZGVyOiBkbXNPYmplY3QuY29udGV4dEZvbGRlciA/IHtcbiAgICAgICAgaWQ6IGRtc09iamVjdC5jb250ZXh0Rm9sZGVyLmlkLFxuICAgICAgICB0eXBlOiBkbXNPYmplY3QuY29udGV4dEZvbGRlci50eXBlTmFtZSxcbiAgICAgICAgdGl0bGU6IGRtc09iamVjdC5jb250ZXh0Rm9sZGVyLnRpdGxlLFxuICAgICAgICBkZXNjcmlwdGlvbjogZG1zT2JqZWN0LmNvbnRleHRGb2xkZXIuZGVzY3JpcHRpb25cbiAgICAgIH0gOiBudWxsLFxuXG4gICAgICBjcmVhdGVkOiBkbXNPYmplY3QuY3JlYXRlZCxcbiAgICAgIG1vZGlmaWVkOiBkbXNPYmplY3QubW9kaWZpZWQsXG5cbiAgICAgIGxvY2s6ICFkbXNPYmplY3QubG9jayA/ICdOT1RfTE9DS0VEJyA6IGRtc09iamVjdC5sb2NrLmJ5Lm1lID8gJ0xPQ0tFRF9CWV9TRVNTSU9OX1VTRVInIDogJ0xPQ0tFRF9CWV9PVEhFUl9VU0VSJyxcbiAgICAgIGxvY2tpbmZvOiBkbXNPYmplY3QubG9jayA/IHt1c2VybmFtZTogZG1zT2JqZWN0LmxvY2suYnkubmFtZSwgdXNlcnRpdGxlOiBkbXNPYmplY3QubG9jay5ieS5sYWJlbCwgdGltZTogZG1zT2JqZWN0LmxvY2sub259IDogbnVsbCxcblxuICAgICAgcmlnaHRzOiBbe1xuICAgICAgICBwcml2aWxlZ2VzOiB7XG4gICAgICAgICAgc2VsZWN0OiBkbXNPYmplY3QucmlnaHRzLnNlbGVjdCxcbiAgICAgICAgICBlZGl0OiBkbXNPYmplY3QucmlnaHRzLmVkaXQsXG4gICAgICAgICAgZGVsZXRlOiBkbXNPYmplY3QucmlnaHRzLmRlbGV0ZSxcbiAgICAgICAgICBmaW5hbGl6ZTogZG1zT2JqZWN0LnJpZ2h0cy5maW5hbGl6ZSxcbiAgICAgICAgICByZWN5Y2xlOiBkbXNPYmplY3QucmlnaHRzLnJlY3ljbGVcbiAgICAgICAgfVxuICAgICAgfV0sXG4gICAgICBzaGFyZXM6IGRtc09iamVjdC5zaGFyZXMsXG4gICAgICBjb250ZW50aWQ6IGRtc09iamVjdC5jb250ZW50ID8gZG1zT2JqZWN0LmNvbnRlbnQuaWQgOiBudWxsLFxuICAgICAgY29udGVudHR5cGU6IGRtc09iamVjdC5jb250ZW50ID8gZG1zT2JqZWN0LmNvbnRlbnQudHlwZSA6IG51bGwsXG4gICAgICBjb250ZW50Y291bnQ6IGRtc09iamVjdC5jb250ZW50ID8gZG1zT2JqZWN0LmNvbnRlbnQuY291bnQgOiBudWxsLFxuICAgICAgY29udGVudHM6IGRtc09iamVjdC5jb250ZW50ID8gZG1zT2JqZWN0LmNvbnRlbnQuY29udGVudHMgOiBudWxsLFxuXG4gICAgICBzdWJzY3JpcHRpb25zOiBkbXNPYmplY3Quc3Vic2NyaXB0aW9ucyxcbiAgICAgIHJlc3VibWlzc2lvbnM6IGRtc09iamVjdC5yZXN1Ym1pc3Npb25zLFxuICAgICAgYWRkaXRpb25hbHZpc2liaWxpdHk6IGRtc09iamVjdC5hZGRpdGlvbmFsdmlzaWJpbGl0eVxuICAgIH07XG5cbiAgICBsZXQgY29waWVkRG1zT2JqZWN0ID0gbmV3IERtc09iamVjdChiYXNlKTtcbiAgICBjb3BpZWREbXNPYmplY3QudHlwZSA9IGRtc09iamVjdC50eXBlO1xuXG4gICAgcmV0dXJuIGNvcGllZERtc09iamVjdDtcbiAgfVxuXG59XG4iXX0=