@syncfusion/ej2-angular-charts 20.2.43-ngcc → 20.2.43

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 (381) hide show
  1. package/esm2020/public_api.mjs +3 -0
  2. package/esm2020/src/accumulation-chart/accumulationchart-all.module.mjs +50 -0
  3. package/esm2020/src/accumulation-chart/accumulationchart.component.mjs +139 -0
  4. package/esm2020/src/accumulation-chart/accumulationchart.module.mjs +43 -0
  5. package/esm2020/src/accumulation-chart/annotations.directive.mjs +62 -0
  6. package/esm2020/src/accumulation-chart/series.directive.mjs +62 -0
  7. package/esm2020/src/bullet-chart/bulletchart-all.module.mjs +32 -0
  8. package/esm2020/src/bullet-chart/bulletchart.component.mjs +85 -0
  9. package/esm2020/src/bullet-chart/bulletchart.module.mjs +34 -0
  10. package/esm2020/src/bullet-chart/ranges.directive.mjs +54 -0
  11. package/esm2020/src/chart/annotations.directive.mjs +60 -0
  12. package/esm2020/src/chart/axes.directive.mjs +58 -0
  13. package/esm2020/src/chart/categories.directive.mjs +59 -0
  14. package/esm2020/src/chart/chart-all.module.mjs +200 -0
  15. package/esm2020/src/chart/chart.component.mjs +511 -0
  16. package/esm2020/src/chart/chart.module.mjs +142 -0
  17. package/esm2020/src/chart/columns.directive.mjs +52 -0
  18. package/esm2020/src/chart/indicators.directive.mjs +54 -0
  19. package/esm2020/src/chart/multilevellabels.directive.mjs +60 -0
  20. package/esm2020/src/chart/rangecolorsettings.directive.mjs +52 -0
  21. package/esm2020/src/chart/rows.directive.mjs +52 -0
  22. package/esm2020/src/chart/segments.directive.mjs +58 -0
  23. package/esm2020/src/chart/selecteddataindexes.directive.mjs +52 -0
  24. package/esm2020/src/chart/series.directive.mjs +68 -0
  25. package/esm2020/src/chart/striplines.directive.mjs +56 -0
  26. package/esm2020/src/chart/trendlines.directive.mjs +58 -0
  27. package/esm2020/src/index.mjs +51 -0
  28. package/esm2020/src/range-navigator/rangenavigator-all.module.mjs +32 -0
  29. package/esm2020/src/range-navigator/rangenavigator.component.mjs +120 -0
  30. package/esm2020/src/range-navigator/rangenavigator.module.mjs +34 -0
  31. package/esm2020/src/range-navigator/series.directive.mjs +54 -0
  32. package/esm2020/src/smithchart/series.directive.mjs +46 -0
  33. package/esm2020/src/smithchart/smithchart-all.module.mjs +32 -0
  34. package/esm2020/src/smithchart/smithchart.component.mjs +78 -0
  35. package/esm2020/src/smithchart/smithchart.module.mjs +34 -0
  36. package/esm2020/src/sparkline/rangebandsettings.directive.mjs +46 -0
  37. package/esm2020/src/sparkline/sparkline-all.module.mjs +29 -0
  38. package/esm2020/src/sparkline/sparkline.component.mjs +71 -0
  39. package/esm2020/src/sparkline/sparkline.module.mjs +34 -0
  40. package/esm2020/src/stock-chart/annotations.directive.mjs +60 -0
  41. package/esm2020/src/stock-chart/axes.directive.mjs +52 -0
  42. package/esm2020/src/stock-chart/indicators.directive.mjs +54 -0
  43. package/esm2020/src/stock-chart/periods.directive.mjs +54 -0
  44. package/esm2020/src/stock-chart/rows.directive.mjs +52 -0
  45. package/esm2020/src/stock-chart/selecteddataindexes.directive.mjs +52 -0
  46. package/esm2020/src/stock-chart/series.directive.mjs +58 -0
  47. package/esm2020/src/stock-chart/stockchart-all.module.mjs +29 -0
  48. package/esm2020/src/stock-chart/stockchart.component.mjs +323 -0
  49. package/esm2020/src/stock-chart/stockchart.module.mjs +106 -0
  50. package/esm2020/src/stock-chart/stockevents.directive.mjs +54 -0
  51. package/esm2020/src/stock-chart/trendlines.directive.mjs +59 -0
  52. package/esm2020/syncfusion-ej2-angular-charts.mjs +5 -0
  53. package/fesm2015/syncfusion-ej2-angular-charts.mjs +3472 -0
  54. package/fesm2015/syncfusion-ej2-angular-charts.mjs.map +1 -0
  55. package/fesm2020/syncfusion-ej2-angular-charts.mjs +3472 -0
  56. package/fesm2020/syncfusion-ej2-angular-charts.mjs.map +1 -0
  57. package/package.json +27 -13
  58. package/schematics/utils/lib-details.ts +2 -2
  59. package/src/accumulation-chart/accumulationchart-all.module.d.ts +6 -0
  60. package/src/accumulation-chart/accumulationchart.component.d.ts +3 -0
  61. package/src/accumulation-chart/accumulationchart.module.d.ts +8 -0
  62. package/src/accumulation-chart/annotations.directive.d.ts +7 -2
  63. package/src/accumulation-chart/series.directive.d.ts +5 -0
  64. package/src/bullet-chart/bulletchart-all.module.d.ts +6 -0
  65. package/src/bullet-chart/bulletchart.component.d.ts +3 -0
  66. package/src/bullet-chart/bulletchart.module.d.ts +7 -0
  67. package/src/bullet-chart/ranges.directive.d.ts +5 -0
  68. package/src/chart/annotations.directive.d.ts +7 -2
  69. package/src/chart/axes.directive.d.ts +6 -1
  70. package/src/chart/categories.directive.d.ts +5 -0
  71. package/src/chart/chart-all.module.d.ts +6 -0
  72. package/src/chart/chart.component.d.ts +3 -0
  73. package/src/chart/chart.module.d.ts +19 -0
  74. package/src/chart/columns.directive.d.ts +5 -0
  75. package/src/chart/indicators.directive.d.ts +5 -0
  76. package/src/chart/multilevellabels.directive.d.ts +5 -0
  77. package/src/chart/rangecolorsettings.directive.d.ts +5 -0
  78. package/src/chart/rows.directive.d.ts +5 -0
  79. package/src/chart/segments.directive.d.ts +5 -0
  80. package/src/chart/selecteddataindexes.directive.d.ts +5 -0
  81. package/src/chart/series.directive.d.ts +5 -0
  82. package/src/chart/striplines.directive.d.ts +5 -0
  83. package/src/chart/trendlines.directive.d.ts +6 -1
  84. package/src/range-navigator/rangenavigator-all.module.d.ts +6 -0
  85. package/src/range-navigator/rangenavigator.component.d.ts +3 -0
  86. package/src/range-navigator/rangenavigator.module.d.ts +7 -0
  87. package/src/range-navigator/series.directive.d.ts +5 -0
  88. package/src/smithchart/series.directive.d.ts +5 -0
  89. package/src/smithchart/smithchart-all.module.d.ts +6 -0
  90. package/src/smithchart/smithchart.component.d.ts +3 -0
  91. package/src/smithchart/smithchart.module.d.ts +7 -0
  92. package/src/sparkline/rangebandsettings.directive.d.ts +5 -0
  93. package/src/sparkline/sparkline-all.module.d.ts +6 -0
  94. package/src/sparkline/sparkline.component.d.ts +3 -0
  95. package/src/sparkline/sparkline.module.d.ts +7 -0
  96. package/src/stock-chart/annotations.directive.d.ts +5 -0
  97. package/src/stock-chart/axes.directive.d.ts +5 -0
  98. package/src/stock-chart/indicators.directive.d.ts +5 -0
  99. package/src/stock-chart/periods.directive.d.ts +5 -0
  100. package/src/stock-chart/rows.directive.d.ts +5 -0
  101. package/src/stock-chart/selecteddataindexes.directive.d.ts +5 -0
  102. package/src/stock-chart/series.directive.d.ts +5 -0
  103. package/src/stock-chart/stockchart-all.module.d.ts +6 -0
  104. package/src/stock-chart/stockchart.component.d.ts +3 -0
  105. package/src/stock-chart/stockchart.module.d.ts +15 -0
  106. package/src/stock-chart/stockevents.directive.d.ts +5 -0
  107. package/src/stock-chart/trendlines.directive.d.ts +6 -1
  108. package/syncfusion-ej2-angular-charts.d.ts +5 -0
  109. package/@syncfusion/ej2-angular-charts.es5.js +0 -3979
  110. package/@syncfusion/ej2-angular-charts.es5.js.map +0 -1
  111. package/@syncfusion/ej2-angular-charts.js +0 -3757
  112. package/@syncfusion/ej2-angular-charts.js.map +0 -1
  113. package/CHANGELOG.md +0 -1821
  114. package/dist/ej2-angular-charts.umd.js +0 -4537
  115. package/dist/ej2-angular-charts.umd.js.map +0 -1
  116. package/dist/ej2-angular-charts.umd.min.js +0 -11
  117. package/dist/ej2-angular-charts.umd.min.js.map +0 -1
  118. package/ej2-angular-charts.d.ts +0 -11
  119. package/ej2-angular-charts.metadata.json +0 -1
  120. package/postinstall/tagchange.js +0 -18
  121. package/schematics/collection.json +0 -150
  122. package/schematics/generators/chart-axes-crossing/index.d.ts +0 -3
  123. package/schematics/generators/chart-axes-crossing/index.js +0 -8
  124. package/schematics/generators/chart-axes-crossing/sample-details.d.ts +0 -5
  125. package/schematics/generators/chart-axes-crossing/sample-details.js +0 -7
  126. package/schematics/generators/chart-axes-crossing/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -3
  127. package/schematics/generators/chart-axes-crossing/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -20
  128. package/schematics/generators/chart-axes-crossing/schema.d.ts +0 -3
  129. package/schematics/generators/chart-axes-crossing/schema.js +0 -2
  130. package/schematics/generators/chart-axes-crossing/schema.json +0 -125
  131. package/schematics/generators/chart-crosshair/index.d.ts +0 -3
  132. package/schematics/generators/chart-crosshair/index.js +0 -8
  133. package/schematics/generators/chart-crosshair/sample-details.d.ts +0 -5
  134. package/schematics/generators/chart-crosshair/sample-details.js +0 -7
  135. package/schematics/generators/chart-crosshair/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -3
  136. package/schematics/generators/chart-crosshair/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -15
  137. package/schematics/generators/chart-crosshair/schema.d.ts +0 -3
  138. package/schematics/generators/chart-crosshair/schema.js +0 -2
  139. package/schematics/generators/chart-crosshair/schema.json +0 -125
  140. package/schematics/generators/chart-donut/index.d.ts +0 -3
  141. package/schematics/generators/chart-donut/index.js +0 -8
  142. package/schematics/generators/chart-donut/sample-details.d.ts +0 -5
  143. package/schematics/generators/chart-donut/sample-details.js +0 -7
  144. package/schematics/generators/chart-donut/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  145. package/schematics/generators/chart-donut/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -16
  146. package/schematics/generators/chart-donut/schema.d.ts +0 -3
  147. package/schematics/generators/chart-donut/schema.js +0 -2
  148. package/schematics/generators/chart-donut/schema.json +0 -125
  149. package/schematics/generators/chart-line/index.d.ts +0 -3
  150. package/schematics/generators/chart-line/index.js +0 -8
  151. package/schematics/generators/chart-line/sample-details.d.ts +0 -5
  152. package/schematics/generators/chart-line/sample-details.js +0 -7
  153. package/schematics/generators/chart-line/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -3
  154. package/schematics/generators/chart-line/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -12
  155. package/schematics/generators/chart-line/schema.d.ts +0 -3
  156. package/schematics/generators/chart-line/schema.js +0 -2
  157. package/schematics/generators/chart-line/schema.json +0 -125
  158. package/schematics/generators/chart-multi-level-labels/index.d.ts +0 -3
  159. package/schematics/generators/chart-multi-level-labels/index.js +0 -8
  160. package/schematics/generators/chart-multi-level-labels/sample-details.d.ts +0 -5
  161. package/schematics/generators/chart-multi-level-labels/sample-details.js +0 -7
  162. package/schematics/generators/chart-multi-level-labels/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -64
  163. package/schematics/generators/chart-multi-level-labels/schema.d.ts +0 -3
  164. package/schematics/generators/chart-multi-level-labels/schema.js +0 -2
  165. package/schematics/generators/chart-multi-level-labels/schema.json +0 -125
  166. package/schematics/generators/chart-pie/index.d.ts +0 -3
  167. package/schematics/generators/chart-pie/index.js +0 -8
  168. package/schematics/generators/chart-pie/sample-details.d.ts +0 -5
  169. package/schematics/generators/chart-pie/sample-details.js +0 -7
  170. package/schematics/generators/chart-pie/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  171. package/schematics/generators/chart-pie/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -16
  172. package/schematics/generators/chart-pie/schema.d.ts +0 -3
  173. package/schematics/generators/chart-pie/schema.js +0 -2
  174. package/schematics/generators/chart-pie/schema.json +0 -125
  175. package/schematics/generators/chart-rangenavigator/index.d.ts +0 -3
  176. package/schematics/generators/chart-rangenavigator/index.js +0 -8
  177. package/schematics/generators/chart-rangenavigator/sample-details.d.ts +0 -5
  178. package/schematics/generators/chart-rangenavigator/sample-details.js +0 -7
  179. package/schematics/generators/chart-rangenavigator/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  180. package/schematics/generators/chart-rangenavigator/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -66
  181. package/schematics/generators/chart-rangenavigator/schema.d.ts +0 -3
  182. package/schematics/generators/chart-rangenavigator/schema.js +0 -2
  183. package/schematics/generators/chart-rangenavigator/schema.json +0 -125
  184. package/schematics/generators/chart-remotedata/images/__path__/__name@dasherize__/Medium-36px-spin.gif +0 -0
  185. package/schematics/generators/chart-remotedata/index.d.ts +0 -3
  186. package/schematics/generators/chart-remotedata/index.js +0 -8
  187. package/schematics/generators/chart-remotedata/sample-details.d.ts +0 -5
  188. package/schematics/generators/chart-remotedata/sample-details.js +0 -7
  189. package/schematics/generators/chart-remotedata/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -25
  190. package/schematics/generators/chart-remotedata/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -15
  191. package/schematics/generators/chart-remotedata/schema.d.ts +0 -3
  192. package/schematics/generators/chart-remotedata/schema.js +0 -2
  193. package/schematics/generators/chart-remotedata/schema.json +0 -125
  194. package/schematics/generators/chart-technical-indicator/index.d.ts +0 -3
  195. package/schematics/generators/chart-technical-indicator/index.js +0 -8
  196. package/schematics/generators/chart-technical-indicator/sample-details.d.ts +0 -5
  197. package/schematics/generators/chart-technical-indicator/sample-details.js +0 -7
  198. package/schematics/generators/chart-technical-indicator/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -3
  199. package/schematics/generators/chart-technical-indicator/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -15
  200. package/schematics/generators/chart-technical-indicator/schema.d.ts +0 -3
  201. package/schematics/generators/chart-technical-indicator/schema.js +0 -2
  202. package/schematics/generators/chart-technical-indicator/schema.json +0 -125
  203. package/schematics/generators/chart-trackball/index.d.ts +0 -3
  204. package/schematics/generators/chart-trackball/index.js +0 -8
  205. package/schematics/generators/chart-trackball/sample-details.d.ts +0 -5
  206. package/schematics/generators/chart-trackball/sample-details.js +0 -7
  207. package/schematics/generators/chart-trackball/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -3
  208. package/schematics/generators/chart-trackball/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -15
  209. package/schematics/generators/chart-trackball/schema.d.ts +0 -3
  210. package/schematics/generators/chart-trackball/schema.js +0 -2
  211. package/schematics/generators/chart-trackball/schema.json +0 -125
  212. package/schematics/generators/chart-zooming/index.d.ts +0 -3
  213. package/schematics/generators/chart-zooming/index.js +0 -8
  214. package/schematics/generators/chart-zooming/sample-details.d.ts +0 -5
  215. package/schematics/generators/chart-zooming/sample-details.js +0 -7
  216. package/schematics/generators/chart-zooming/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -3
  217. package/schematics/generators/chart-zooming/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -36
  218. package/schematics/generators/chart-zooming/schema.d.ts +0 -3
  219. package/schematics/generators/chart-zooming/schema.js +0 -2
  220. package/schematics/generators/chart-zooming/schema.json +0 -125
  221. package/schematics/generators/smithchart-admittance-rendering/index.d.ts +0 -3
  222. package/schematics/generators/smithchart-admittance-rendering/index.js +0 -8
  223. package/schematics/generators/smithchart-admittance-rendering/sample-details.d.ts +0 -5
  224. package/schematics/generators/smithchart-admittance-rendering/sample-details.js +0 -7
  225. package/schematics/generators/smithchart-admittance-rendering/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  226. package/schematics/generators/smithchart-admittance-rendering/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -7
  227. package/schematics/generators/smithchart-admittance-rendering/schema.d.ts +0 -3
  228. package/schematics/generators/smithchart-admittance-rendering/schema.js +0 -2
  229. package/schematics/generators/smithchart-admittance-rendering/schema.json +0 -125
  230. package/schematics/generators/smithchart-animation/index.d.ts +0 -3
  231. package/schematics/generators/smithchart-animation/index.js +0 -8
  232. package/schematics/generators/smithchart-animation/sample-details.d.ts +0 -5
  233. package/schematics/generators/smithchart-animation/sample-details.js +0 -7
  234. package/schematics/generators/smithchart-animation/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  235. package/schematics/generators/smithchart-animation/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -7
  236. package/schematics/generators/smithchart-animation/schema.d.ts +0 -3
  237. package/schematics/generators/smithchart-animation/schema.js +0 -2
  238. package/schematics/generators/smithchart-animation/schema.json +0 -125
  239. package/schematics/generators/smithchart-default/index.d.ts +0 -3
  240. package/schematics/generators/smithchart-default/index.js +0 -8
  241. package/schematics/generators/smithchart-default/sample-details.d.ts +0 -5
  242. package/schematics/generators/smithchart-default/sample-details.js +0 -7
  243. package/schematics/generators/smithchart-default/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  244. package/schematics/generators/smithchart-default/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -8
  245. package/schematics/generators/smithchart-default/schema.d.ts +0 -3
  246. package/schematics/generators/smithchart-default/schema.js +0 -2
  247. package/schematics/generators/smithchart-default/schema.json +0 -125
  248. package/schematics/generators/smithchart-label/index.d.ts +0 -3
  249. package/schematics/generators/smithchart-label/index.js +0 -8
  250. package/schematics/generators/smithchart-label/sample-details.d.ts +0 -5
  251. package/schematics/generators/smithchart-label/sample-details.js +0 -7
  252. package/schematics/generators/smithchart-label/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  253. package/schematics/generators/smithchart-label/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -7
  254. package/schematics/generators/smithchart-label/schema.d.ts +0 -3
  255. package/schematics/generators/smithchart-label/schema.js +0 -2
  256. package/schematics/generators/smithchart-label/schema.json +0 -125
  257. package/schematics/generators/smithchart-legend/index.d.ts +0 -3
  258. package/schematics/generators/smithchart-legend/index.js +0 -8
  259. package/schematics/generators/smithchart-legend/sample-details.d.ts +0 -5
  260. package/schematics/generators/smithchart-legend/sample-details.js +0 -7
  261. package/schematics/generators/smithchart-legend/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  262. package/schematics/generators/smithchart-legend/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -8
  263. package/schematics/generators/smithchart-legend/schema.d.ts +0 -3
  264. package/schematics/generators/smithchart-legend/schema.js +0 -2
  265. package/schematics/generators/smithchart-legend/schema.json +0 -125
  266. package/schematics/generators/smithchart-marker/index.d.ts +0 -3
  267. package/schematics/generators/smithchart-marker/index.js +0 -8
  268. package/schematics/generators/smithchart-marker/sample-details.d.ts +0 -5
  269. package/schematics/generators/smithchart-marker/sample-details.js +0 -7
  270. package/schematics/generators/smithchart-marker/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  271. package/schematics/generators/smithchart-marker/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -8
  272. package/schematics/generators/smithchart-marker/schema.d.ts +0 -3
  273. package/schematics/generators/smithchart-marker/schema.js +0 -2
  274. package/schematics/generators/smithchart-marker/schema.json +0 -125
  275. package/schematics/generators/smithchart-multiple-series/index.d.ts +0 -3
  276. package/schematics/generators/smithchart-multiple-series/index.js +0 -8
  277. package/schematics/generators/smithchart-multiple-series/sample-details.d.ts +0 -5
  278. package/schematics/generators/smithchart-multiple-series/sample-details.js +0 -7
  279. package/schematics/generators/smithchart-multiple-series/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  280. package/schematics/generators/smithchart-multiple-series/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -8
  281. package/schematics/generators/smithchart-multiple-series/schema.d.ts +0 -3
  282. package/schematics/generators/smithchart-multiple-series/schema.js +0 -2
  283. package/schematics/generators/smithchart-multiple-series/schema.json +0 -125
  284. package/schematics/generators/smithchart-print/index.d.ts +0 -3
  285. package/schematics/generators/smithchart-print/index.js +0 -8
  286. package/schematics/generators/smithchart-print/sample-details.d.ts +0 -5
  287. package/schematics/generators/smithchart-print/sample-details.js +0 -7
  288. package/schematics/generators/smithchart-print/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  289. package/schematics/generators/smithchart-print/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -25
  290. package/schematics/generators/smithchart-print/schema.d.ts +0 -3
  291. package/schematics/generators/smithchart-print/schema.js +0 -2
  292. package/schematics/generators/smithchart-print/schema.json +0 -125
  293. package/schematics/generators/smithchart-radius/index.d.ts +0 -3
  294. package/schematics/generators/smithchart-radius/index.js +0 -8
  295. package/schematics/generators/smithchart-radius/sample-details.d.ts +0 -5
  296. package/schematics/generators/smithchart-radius/sample-details.js +0 -7
  297. package/schematics/generators/smithchart-radius/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  298. package/schematics/generators/smithchart-radius/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -8
  299. package/schematics/generators/smithchart-radius/schema.d.ts +0 -3
  300. package/schematics/generators/smithchart-radius/schema.js +0 -2
  301. package/schematics/generators/smithchart-radius/schema.json +0 -125
  302. package/schematics/generators/smithchart-series/index.d.ts +0 -3
  303. package/schematics/generators/smithchart-series/index.js +0 -8
  304. package/schematics/generators/smithchart-series/sample-details.d.ts +0 -5
  305. package/schematics/generators/smithchart-series/sample-details.js +0 -7
  306. package/schematics/generators/smithchart-series/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  307. package/schematics/generators/smithchart-series/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -7
  308. package/schematics/generators/smithchart-series/schema.d.ts +0 -3
  309. package/schematics/generators/smithchart-series/schema.js +0 -2
  310. package/schematics/generators/smithchart-series/schema.json +0 -125
  311. package/schematics/generators/smithchart-tooltip/index.d.ts +0 -3
  312. package/schematics/generators/smithchart-tooltip/index.js +0 -8
  313. package/schematics/generators/smithchart-tooltip/sample-details.d.ts +0 -5
  314. package/schematics/generators/smithchart-tooltip/sample-details.js +0 -7
  315. package/schematics/generators/smithchart-tooltip/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  316. package/schematics/generators/smithchart-tooltip/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -8
  317. package/schematics/generators/smithchart-tooltip/schema.d.ts +0 -3
  318. package/schematics/generators/smithchart-tooltip/schema.js +0 -2
  319. package/schematics/generators/smithchart-tooltip/schema.json +0 -125
  320. package/schematics/generators/sparkline-area/index.d.ts +0 -3
  321. package/schematics/generators/sparkline-area/index.js +0 -8
  322. package/schematics/generators/sparkline-area/sample-details.d.ts +0 -5
  323. package/schematics/generators/sparkline-area/sample-details.js +0 -7
  324. package/schematics/generators/sparkline-area/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  325. package/schematics/generators/sparkline-area/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -4
  326. package/schematics/generators/sparkline-area/schema.d.ts +0 -3
  327. package/schematics/generators/sparkline-area/schema.js +0 -2
  328. package/schematics/generators/sparkline-area/schema.json +0 -125
  329. package/schematics/generators/sparkline-column/index.d.ts +0 -3
  330. package/schematics/generators/sparkline-column/index.js +0 -8
  331. package/schematics/generators/sparkline-column/sample-details.d.ts +0 -5
  332. package/schematics/generators/sparkline-column/sample-details.js +0 -7
  333. package/schematics/generators/sparkline-column/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  334. package/schematics/generators/sparkline-column/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -4
  335. package/schematics/generators/sparkline-column/schema.d.ts +0 -3
  336. package/schematics/generators/sparkline-column/schema.js +0 -2
  337. package/schematics/generators/sparkline-column/schema.json +0 -125
  338. package/schematics/generators/sparkline-line/index.d.ts +0 -3
  339. package/schematics/generators/sparkline-line/index.js +0 -8
  340. package/schematics/generators/sparkline-line/sample-details.d.ts +0 -5
  341. package/schematics/generators/sparkline-line/sample-details.js +0 -7
  342. package/schematics/generators/sparkline-line/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  343. package/schematics/generators/sparkline-line/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -4
  344. package/schematics/generators/sparkline-line/schema.d.ts +0 -3
  345. package/schematics/generators/sparkline-line/schema.js +0 -2
  346. package/schematics/generators/sparkline-line/schema.json +0 -125
  347. package/schematics/generators/sparkline-range-band/index.d.ts +0 -3
  348. package/schematics/generators/sparkline-range-band/index.js +0 -8
  349. package/schematics/generators/sparkline-range-band/sample-details.d.ts +0 -5
  350. package/schematics/generators/sparkline-range-band/sample-details.js +0 -7
  351. package/schematics/generators/sparkline-range-band/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  352. package/schematics/generators/sparkline-range-band/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -4
  353. package/schematics/generators/sparkline-range-band/schema.d.ts +0 -3
  354. package/schematics/generators/sparkline-range-band/schema.js +0 -2
  355. package/schematics/generators/sparkline-range-band/schema.json +0 -125
  356. package/schematics/generators/sparkline-track-line/index.d.ts +0 -3
  357. package/schematics/generators/sparkline-track-line/index.js +0 -8
  358. package/schematics/generators/sparkline-track-line/sample-details.d.ts +0 -5
  359. package/schematics/generators/sparkline-track-line/sample-details.js +0 -7
  360. package/schematics/generators/sparkline-track-line/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  361. package/schematics/generators/sparkline-track-line/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -4
  362. package/schematics/generators/sparkline-track-line/schema.d.ts +0 -3
  363. package/schematics/generators/sparkline-track-line/schema.js +0 -2
  364. package/schematics/generators/sparkline-track-line/schema.json +0 -125
  365. package/schematics/generators/sparkline-win-loss/index.d.ts +0 -3
  366. package/schematics/generators/sparkline-win-loss/index.js +0 -8
  367. package/schematics/generators/sparkline-win-loss/sample-details.d.ts +0 -5
  368. package/schematics/generators/sparkline-win-loss/sample-details.js +0 -7
  369. package/schematics/generators/sparkline-win-loss/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.css +0 -0
  370. package/schematics/generators/sparkline-win-loss/samples/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html +0 -4
  371. package/schematics/generators/sparkline-win-loss/schema.d.ts +0 -3
  372. package/schematics/generators/sparkline-win-loss/schema.js +0 -2
  373. package/schematics/generators/sparkline-win-loss/schema.json +0 -125
  374. package/schematics/ng-add/index.d.ts +0 -3
  375. package/schematics/ng-add/index.js +0 -9
  376. package/schematics/ng-add/schema.d.ts +0 -13
  377. package/schematics/ng-add/schema.js +0 -2
  378. package/schematics/ng-add/schema.json +0 -34
  379. package/schematics/tsconfig.json +0 -25
  380. package/schematics/utils/lib-details.d.ts +0 -4
  381. package/schematics/utils/lib-details.js +0 -6
@@ -0,0 +1,511 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, ContentChild } from '@angular/core';
3
+ import { ComponentBase, ComponentMixins, setValue } from '@syncfusion/ej2-angular-base';
4
+ import { Chart } from '@syncfusion/ej2-charts';
5
+ import { Template } from '@syncfusion/ej2-angular-base';
6
+ import { SeriesCollectionDirective } from './series.directive';
7
+ import { AxesDirective } from './axes.directive';
8
+ import { RowsDirective } from './rows.directive';
9
+ import { ColumnsDirective } from './columns.directive';
10
+ import { RangeColorSettingsDirective } from './rangecolorsettings.directive';
11
+ import { AnnotationsDirective } from './annotations.directive';
12
+ import { SelectedDataIndexesDirective } from './selecteddataindexes.directive';
13
+ import { IndicatorsDirective } from './indicators.directive';
14
+ import * as i0 from "@angular/core";
15
+ export const inputs = ['allowExport', 'allowMultiSelection', 'annotations', 'axes', 'background', 'backgroundImage', 'border', 'chartArea', 'columns', 'crosshair', 'currencyCode', 'dataSource', 'description', 'enableAnimation', 'enableAutoIntervalOnBothAxis', 'enableCanvas', 'enableExport', 'enablePersistence', 'enableRtl', 'enableSideBySidePlacement', 'height', 'highlightColor', 'highlightMode', 'highlightPattern', 'indicators', 'isMultiSelect', 'isTransposed', 'legendSettings', 'locale', 'margin', 'palettes', 'primaryXAxis', 'primaryYAxis', 'rangeColorSettings', 'rows', 'selectedDataIndexes', 'selectionMode', 'selectionPattern', 'series', 'subTitle', 'subTitleStyle', 'tabIndex', 'theme', 'title', 'titleStyle', 'tooltip', 'useGroupingSeparator', 'width', 'zoomSettings'];
16
+ export const outputs = ['afterExport', 'animationComplete', 'annotationRender', 'axisLabelClick', 'axisLabelRender', 'axisMultiLabelRender', 'axisRangeCalculated', 'beforeExport', 'beforePrint', 'beforeResize', 'chartDoubleClick', 'chartMouseClick', 'chartMouseDown', 'chartMouseLeave', 'chartMouseMove', 'chartMouseUp', 'drag', 'dragComplete', 'dragEnd', 'dragStart', 'legendClick', 'legendRender', 'load', 'loaded', 'multiLevelLabelClick', 'onZooming', 'pointClick', 'pointDoubleClick', 'pointMove', 'pointRender', 'resized', 'scrollChanged', 'scrollEnd', 'scrollStart', 'selectionComplete', 'seriesRender', 'sharedTooltipRender', 'textRender', 'tooltipRender', 'zoomComplete', 'dataSourceChange'];
17
+ export const twoWays = ['dataSource'];
18
+ /**
19
+ * Chart Component
20
+ * ```html
21
+ * <ejschart></ejschart>
22
+ * ```
23
+ */
24
+ let ChartComponent = class ChartComponent extends Chart {
25
+ constructor(ngEle, srenderer, viewContainerRef, injector) {
26
+ super();
27
+ this.ngEle = ngEle;
28
+ this.srenderer = srenderer;
29
+ this.viewContainerRef = viewContainerRef;
30
+ this.injector = injector;
31
+ this.tags = ['series', 'axes', 'rows', 'columns', 'rangeColorSettings', 'annotations', 'selectedDataIndexes', 'indicators'];
32
+ this.element = this.ngEle.nativeElement;
33
+ this.injectedModules = this.injectedModules || [];
34
+ try {
35
+ let mod = this.injector.get('ChartsLineSeries');
36
+ if (this.injectedModules.indexOf(mod) === -1) {
37
+ this.injectedModules.push(mod);
38
+ }
39
+ }
40
+ catch { }
41
+ try {
42
+ let mod = this.injector.get('ChartsScatterSeries');
43
+ if (this.injectedModules.indexOf(mod) === -1) {
44
+ this.injectedModules.push(mod);
45
+ }
46
+ }
47
+ catch { }
48
+ try {
49
+ let mod = this.injector.get('ChartsColumnSeries');
50
+ if (this.injectedModules.indexOf(mod) === -1) {
51
+ this.injectedModules.push(mod);
52
+ }
53
+ }
54
+ catch { }
55
+ try {
56
+ let mod = this.injector.get('ChartsSplineSeries');
57
+ if (this.injectedModules.indexOf(mod) === -1) {
58
+ this.injectedModules.push(mod);
59
+ }
60
+ }
61
+ catch { }
62
+ try {
63
+ let mod = this.injector.get('ChartsSplineAreaSeries');
64
+ if (this.injectedModules.indexOf(mod) === -1) {
65
+ this.injectedModules.push(mod);
66
+ }
67
+ }
68
+ catch { }
69
+ try {
70
+ let mod = this.injector.get('ChartsStripLine');
71
+ if (this.injectedModules.indexOf(mod) === -1) {
72
+ this.injectedModules.push(mod);
73
+ }
74
+ }
75
+ catch { }
76
+ try {
77
+ let mod = this.injector.get('ChartsAreaSeries');
78
+ if (this.injectedModules.indexOf(mod) === -1) {
79
+ this.injectedModules.push(mod);
80
+ }
81
+ }
82
+ catch { }
83
+ try {
84
+ let mod = this.injector.get('ChartsScrollBar');
85
+ if (this.injectedModules.indexOf(mod) === -1) {
86
+ this.injectedModules.push(mod);
87
+ }
88
+ }
89
+ catch { }
90
+ try {
91
+ let mod = this.injector.get('ChartsStepLineSeries');
92
+ if (this.injectedModules.indexOf(mod) === -1) {
93
+ this.injectedModules.push(mod);
94
+ }
95
+ }
96
+ catch { }
97
+ try {
98
+ let mod = this.injector.get('ChartsStepAreaSeries');
99
+ if (this.injectedModules.indexOf(mod) === -1) {
100
+ this.injectedModules.push(mod);
101
+ }
102
+ }
103
+ catch { }
104
+ try {
105
+ let mod = this.injector.get('ChartsStackingColumnSeries');
106
+ if (this.injectedModules.indexOf(mod) === -1) {
107
+ this.injectedModules.push(mod);
108
+ }
109
+ }
110
+ catch { }
111
+ try {
112
+ let mod = this.injector.get('ChartsStackingLineSeries');
113
+ if (this.injectedModules.indexOf(mod) === -1) {
114
+ this.injectedModules.push(mod);
115
+ }
116
+ }
117
+ catch { }
118
+ try {
119
+ let mod = this.injector.get('ChartsStackingAreaSeries');
120
+ if (this.injectedModules.indexOf(mod) === -1) {
121
+ this.injectedModules.push(mod);
122
+ }
123
+ }
124
+ catch { }
125
+ try {
126
+ let mod = this.injector.get('ChartsStackingStepAreaSeries');
127
+ if (this.injectedModules.indexOf(mod) === -1) {
128
+ this.injectedModules.push(mod);
129
+ }
130
+ }
131
+ catch { }
132
+ try {
133
+ let mod = this.injector.get('ChartsBarSeries');
134
+ if (this.injectedModules.indexOf(mod) === -1) {
135
+ this.injectedModules.push(mod);
136
+ }
137
+ }
138
+ catch { }
139
+ try {
140
+ let mod = this.injector.get('ChartsStackingBarSeries');
141
+ if (this.injectedModules.indexOf(mod) === -1) {
142
+ this.injectedModules.push(mod);
143
+ }
144
+ }
145
+ catch { }
146
+ try {
147
+ let mod = this.injector.get('ChartsRangeColumnSeries');
148
+ if (this.injectedModules.indexOf(mod) === -1) {
149
+ this.injectedModules.push(mod);
150
+ }
151
+ }
152
+ catch { }
153
+ try {
154
+ let mod = this.injector.get('ChartsBubbleSeries');
155
+ if (this.injectedModules.indexOf(mod) === -1) {
156
+ this.injectedModules.push(mod);
157
+ }
158
+ }
159
+ catch { }
160
+ try {
161
+ let mod = this.injector.get('ChartsTooltip');
162
+ if (this.injectedModules.indexOf(mod) === -1) {
163
+ this.injectedModules.push(mod);
164
+ }
165
+ }
166
+ catch { }
167
+ try {
168
+ let mod = this.injector.get('ChartsCrosshair');
169
+ if (this.injectedModules.indexOf(mod) === -1) {
170
+ this.injectedModules.push(mod);
171
+ }
172
+ }
173
+ catch { }
174
+ try {
175
+ let mod = this.injector.get('ChartsCategory');
176
+ if (this.injectedModules.indexOf(mod) === -1) {
177
+ this.injectedModules.push(mod);
178
+ }
179
+ }
180
+ catch { }
181
+ try {
182
+ let mod = this.injector.get('ChartsDateTime');
183
+ if (this.injectedModules.indexOf(mod) === -1) {
184
+ this.injectedModules.push(mod);
185
+ }
186
+ }
187
+ catch { }
188
+ try {
189
+ let mod = this.injector.get('ChartsLogarithmic');
190
+ if (this.injectedModules.indexOf(mod) === -1) {
191
+ this.injectedModules.push(mod);
192
+ }
193
+ }
194
+ catch { }
195
+ try {
196
+ let mod = this.injector.get('ChartsLegend');
197
+ if (this.injectedModules.indexOf(mod) === -1) {
198
+ this.injectedModules.push(mod);
199
+ }
200
+ }
201
+ catch { }
202
+ try {
203
+ let mod = this.injector.get('ChartsZoom');
204
+ if (this.injectedModules.indexOf(mod) === -1) {
205
+ this.injectedModules.push(mod);
206
+ }
207
+ }
208
+ catch { }
209
+ try {
210
+ let mod = this.injector.get('ChartsDataLabel');
211
+ if (this.injectedModules.indexOf(mod) === -1) {
212
+ this.injectedModules.push(mod);
213
+ }
214
+ }
215
+ catch { }
216
+ try {
217
+ let mod = this.injector.get('ChartsSelection');
218
+ if (this.injectedModules.indexOf(mod) === -1) {
219
+ this.injectedModules.push(mod);
220
+ }
221
+ }
222
+ catch { }
223
+ try {
224
+ let mod = this.injector.get('ChartsChartAnnotation');
225
+ if (this.injectedModules.indexOf(mod) === -1) {
226
+ this.injectedModules.push(mod);
227
+ }
228
+ }
229
+ catch { }
230
+ try {
231
+ let mod = this.injector.get('ChartsHiloSeries');
232
+ if (this.injectedModules.indexOf(mod) === -1) {
233
+ this.injectedModules.push(mod);
234
+ }
235
+ }
236
+ catch { }
237
+ try {
238
+ let mod = this.injector.get('ChartsHiloOpenCloseSeries');
239
+ if (this.injectedModules.indexOf(mod) === -1) {
240
+ this.injectedModules.push(mod);
241
+ }
242
+ }
243
+ catch { }
244
+ try {
245
+ let mod = this.injector.get('ChartsWaterfallSeries');
246
+ if (this.injectedModules.indexOf(mod) === -1) {
247
+ this.injectedModules.push(mod);
248
+ }
249
+ }
250
+ catch { }
251
+ try {
252
+ let mod = this.injector.get('ChartsRangeAreaSeries');
253
+ if (this.injectedModules.indexOf(mod) === -1) {
254
+ this.injectedModules.push(mod);
255
+ }
256
+ }
257
+ catch { }
258
+ try {
259
+ let mod = this.injector.get('ChartsSplineRangeAreaSeries');
260
+ if (this.injectedModules.indexOf(mod) === -1) {
261
+ this.injectedModules.push(mod);
262
+ }
263
+ }
264
+ catch { }
265
+ try {
266
+ let mod = this.injector.get('ChartsCandleSeries');
267
+ if (this.injectedModules.indexOf(mod) === -1) {
268
+ this.injectedModules.push(mod);
269
+ }
270
+ }
271
+ catch { }
272
+ try {
273
+ let mod = this.injector.get('ChartsPolarSeries');
274
+ if (this.injectedModules.indexOf(mod) === -1) {
275
+ this.injectedModules.push(mod);
276
+ }
277
+ }
278
+ catch { }
279
+ try {
280
+ let mod = this.injector.get('ChartsRadarSeries');
281
+ if (this.injectedModules.indexOf(mod) === -1) {
282
+ this.injectedModules.push(mod);
283
+ }
284
+ }
285
+ catch { }
286
+ try {
287
+ let mod = this.injector.get('ChartsSmaIndicator');
288
+ if (this.injectedModules.indexOf(mod) === -1) {
289
+ this.injectedModules.push(mod);
290
+ }
291
+ }
292
+ catch { }
293
+ try {
294
+ let mod = this.injector.get('ChartsTmaIndicator');
295
+ if (this.injectedModules.indexOf(mod) === -1) {
296
+ this.injectedModules.push(mod);
297
+ }
298
+ }
299
+ catch { }
300
+ try {
301
+ let mod = this.injector.get('ChartsEmaIndicator');
302
+ if (this.injectedModules.indexOf(mod) === -1) {
303
+ this.injectedModules.push(mod);
304
+ }
305
+ }
306
+ catch { }
307
+ try {
308
+ let mod = this.injector.get('ChartsAccumulationDistributionIndicator');
309
+ if (this.injectedModules.indexOf(mod) === -1) {
310
+ this.injectedModules.push(mod);
311
+ }
312
+ }
313
+ catch { }
314
+ try {
315
+ let mod = this.injector.get('ChartsMacdIndicator');
316
+ if (this.injectedModules.indexOf(mod) === -1) {
317
+ this.injectedModules.push(mod);
318
+ }
319
+ }
320
+ catch { }
321
+ try {
322
+ let mod = this.injector.get('ChartsAtrIndicator');
323
+ if (this.injectedModules.indexOf(mod) === -1) {
324
+ this.injectedModules.push(mod);
325
+ }
326
+ }
327
+ catch { }
328
+ try {
329
+ let mod = this.injector.get('ChartsRsiIndicator');
330
+ if (this.injectedModules.indexOf(mod) === -1) {
331
+ this.injectedModules.push(mod);
332
+ }
333
+ }
334
+ catch { }
335
+ try {
336
+ let mod = this.injector.get('ChartsMomentumIndicator');
337
+ if (this.injectedModules.indexOf(mod) === -1) {
338
+ this.injectedModules.push(mod);
339
+ }
340
+ }
341
+ catch { }
342
+ try {
343
+ let mod = this.injector.get('ChartsStochasticIndicator');
344
+ if (this.injectedModules.indexOf(mod) === -1) {
345
+ this.injectedModules.push(mod);
346
+ }
347
+ }
348
+ catch { }
349
+ try {
350
+ let mod = this.injector.get('ChartsBollingerBands');
351
+ if (this.injectedModules.indexOf(mod) === -1) {
352
+ this.injectedModules.push(mod);
353
+ }
354
+ }
355
+ catch { }
356
+ try {
357
+ let mod = this.injector.get('ChartsBoxAndWhiskerSeries');
358
+ if (this.injectedModules.indexOf(mod) === -1) {
359
+ this.injectedModules.push(mod);
360
+ }
361
+ }
362
+ catch { }
363
+ try {
364
+ let mod = this.injector.get('ChartsHistogramSeries');
365
+ if (this.injectedModules.indexOf(mod) === -1) {
366
+ this.injectedModules.push(mod);
367
+ }
368
+ }
369
+ catch { }
370
+ try {
371
+ let mod = this.injector.get('ChartsErrorBar');
372
+ if (this.injectedModules.indexOf(mod) === -1) {
373
+ this.injectedModules.push(mod);
374
+ }
375
+ }
376
+ catch { }
377
+ try {
378
+ let mod = this.injector.get('ChartsTrendlines');
379
+ if (this.injectedModules.indexOf(mod) === -1) {
380
+ this.injectedModules.push(mod);
381
+ }
382
+ }
383
+ catch { }
384
+ try {
385
+ let mod = this.injector.get('ChartsDateTimeCategory');
386
+ if (this.injectedModules.indexOf(mod) === -1) {
387
+ this.injectedModules.push(mod);
388
+ }
389
+ }
390
+ catch { }
391
+ try {
392
+ let mod = this.injector.get('ChartsMultiColoredLineSeries');
393
+ if (this.injectedModules.indexOf(mod) === -1) {
394
+ this.injectedModules.push(mod);
395
+ }
396
+ }
397
+ catch { }
398
+ try {
399
+ let mod = this.injector.get('ChartsMultiColoredAreaSeries');
400
+ if (this.injectedModules.indexOf(mod) === -1) {
401
+ this.injectedModules.push(mod);
402
+ }
403
+ }
404
+ catch { }
405
+ try {
406
+ let mod = this.injector.get('ChartsMultiLevelLabel');
407
+ if (this.injectedModules.indexOf(mod) === -1) {
408
+ this.injectedModules.push(mod);
409
+ }
410
+ }
411
+ catch { }
412
+ try {
413
+ let mod = this.injector.get('ChartsParetoSeries');
414
+ if (this.injectedModules.indexOf(mod) === -1) {
415
+ this.injectedModules.push(mod);
416
+ }
417
+ }
418
+ catch { }
419
+ try {
420
+ let mod = this.injector.get('ChartsExport');
421
+ if (this.injectedModules.indexOf(mod) === -1) {
422
+ this.injectedModules.push(mod);
423
+ }
424
+ }
425
+ catch { }
426
+ try {
427
+ let mod = this.injector.get('ChartsDataEditing');
428
+ if (this.injectedModules.indexOf(mod) === -1) {
429
+ this.injectedModules.push(mod);
430
+ }
431
+ }
432
+ catch { }
433
+ try {
434
+ let mod = this.injector.get('ChartsHighlight');
435
+ if (this.injectedModules.indexOf(mod) === -1) {
436
+ this.injectedModules.push(mod);
437
+ }
438
+ }
439
+ catch { }
440
+ this.registerEvents(outputs);
441
+ this.addTwoWay.call(this, twoWays);
442
+ setValue('currentInstance', this, this.viewContainerRef);
443
+ this.context = new ComponentBase();
444
+ }
445
+ ngOnInit() {
446
+ this.context.ngOnInit(this);
447
+ }
448
+ ngAfterViewInit() {
449
+ this.context.ngAfterViewInit(this);
450
+ }
451
+ ngOnDestroy() {
452
+ this.context.ngOnDestroy(this);
453
+ }
454
+ ngAfterContentChecked() {
455
+ this.tagObjects[0].instance = this.childSeries;
456
+ if (this.childAxes) {
457
+ this.tagObjects[1].instance = this.childAxes;
458
+ }
459
+ if (this.childRows) {
460
+ this.tagObjects[2].instance = this.childRows;
461
+ }
462
+ if (this.childColumns) {
463
+ this.tagObjects[3].instance = this.childColumns;
464
+ }
465
+ if (this.childRangeColorSettings) {
466
+ this.tagObjects[4].instance = this.childRangeColorSettings;
467
+ }
468
+ if (this.childAnnotations) {
469
+ this.tagObjects[5].instance = this.childAnnotations;
470
+ }
471
+ if (this.childSelectedDataIndexes) {
472
+ this.tagObjects[6].instance = this.childSelectedDataIndexes;
473
+ }
474
+ if (this.childIndicators) {
475
+ this.tagObjects[7].instance = this.childIndicators;
476
+ }
477
+ this.context.ngAfterContentChecked(this);
478
+ }
479
+ };
480
+ ChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ChartComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
481
+ ChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ChartComponent, selector: "ejs-chart", inputs: { allowExport: "allowExport", allowMultiSelection: "allowMultiSelection", annotations: "annotations", axes: "axes", background: "background", backgroundImage: "backgroundImage", border: "border", chartArea: "chartArea", columns: "columns", crosshair: "crosshair", currencyCode: "currencyCode", dataSource: "dataSource", description: "description", enableAnimation: "enableAnimation", enableAutoIntervalOnBothAxis: "enableAutoIntervalOnBothAxis", enableCanvas: "enableCanvas", enableExport: "enableExport", enablePersistence: "enablePersistence", enableRtl: "enableRtl", enableSideBySidePlacement: "enableSideBySidePlacement", height: "height", highlightColor: "highlightColor", highlightMode: "highlightMode", highlightPattern: "highlightPattern", indicators: "indicators", isMultiSelect: "isMultiSelect", isTransposed: "isTransposed", legendSettings: "legendSettings", locale: "locale", margin: "margin", palettes: "palettes", primaryXAxis: "primaryXAxis", primaryYAxis: "primaryYAxis", rangeColorSettings: "rangeColorSettings", rows: "rows", selectedDataIndexes: "selectedDataIndexes", selectionMode: "selectionMode", selectionPattern: "selectionPattern", series: "series", subTitle: "subTitle", subTitleStyle: "subTitleStyle", tabIndex: "tabIndex", theme: "theme", title: "title", titleStyle: "titleStyle", tooltip: "tooltip", useGroupingSeparator: "useGroupingSeparator", width: "width", zoomSettings: "zoomSettings" }, outputs: { afterExport: "afterExport", animationComplete: "animationComplete", annotationRender: "annotationRender", axisLabelClick: "axisLabelClick", axisLabelRender: "axisLabelRender", axisMultiLabelRender: "axisMultiLabelRender", axisRangeCalculated: "axisRangeCalculated", beforeExport: "beforeExport", beforePrint: "beforePrint", beforeResize: "beforeResize", chartDoubleClick: "chartDoubleClick", chartMouseClick: "chartMouseClick", chartMouseDown: "chartMouseDown", chartMouseLeave: "chartMouseLeave", chartMouseMove: "chartMouseMove", chartMouseUp: "chartMouseUp", drag: "drag", dragComplete: "dragComplete", dragEnd: "dragEnd", dragStart: "dragStart", legendClick: "legendClick", legendRender: "legendRender", load: "load", loaded: "loaded", multiLevelLabelClick: "multiLevelLabelClick", onZooming: "onZooming", pointClick: "pointClick", pointDoubleClick: "pointDoubleClick", pointMove: "pointMove", pointRender: "pointRender", resized: "resized", scrollChanged: "scrollChanged", scrollEnd: "scrollEnd", scrollStart: "scrollStart", selectionComplete: "selectionComplete", seriesRender: "seriesRender", sharedTooltipRender: "sharedTooltipRender", textRender: "textRender", tooltipRender: "tooltipRender", zoomComplete: "zoomComplete", dataSourceChange: "dataSourceChange" }, queries: [{ propertyName: "tooltip_template", first: true, predicate: ["tooltipTemplate"], descendants: true }, { propertyName: "childSeries", first: true, predicate: SeriesCollectionDirective, descendants: true }, { propertyName: "childAxes", first: true, predicate: AxesDirective, descendants: true }, { propertyName: "childRows", first: true, predicate: RowsDirective, descendants: true }, { propertyName: "childColumns", first: true, predicate: ColumnsDirective, descendants: true }, { propertyName: "childRangeColorSettings", first: true, predicate: RangeColorSettingsDirective, descendants: true }, { propertyName: "childAnnotations", first: true, predicate: AnnotationsDirective, descendants: true }, { propertyName: "childSelectedDataIndexes", first: true, predicate: SelectedDataIndexesDirective, descendants: true }, { propertyName: "childIndicators", first: true, predicate: IndicatorsDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
482
+ __decorate([
483
+ Template()
484
+ ], ChartComponent.prototype, "tooltip_template", void 0);
485
+ ChartComponent = __decorate([
486
+ ComponentMixins([ComponentBase])
487
+ ], ChartComponent);
488
+ export { ChartComponent };
489
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ChartComponent, decorators: [{
490
+ type: Component,
491
+ args: [{
492
+ selector: 'ejs-chart',
493
+ inputs: inputs,
494
+ outputs: outputs,
495
+ template: '',
496
+ queries: {
497
+ childSeries: new ContentChild(SeriesCollectionDirective),
498
+ childAxes: new ContentChild(AxesDirective),
499
+ childRows: new ContentChild(RowsDirective),
500
+ childColumns: new ContentChild(ColumnsDirective),
501
+ childRangeColorSettings: new ContentChild(RangeColorSettingsDirective),
502
+ childAnnotations: new ContentChild(AnnotationsDirective),
503
+ childSelectedDataIndexes: new ContentChild(SelectedDataIndexesDirective),
504
+ childIndicators: new ContentChild(IndicatorsDirective)
505
+ }
506
+ }]
507
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; }, propDecorators: { tooltip_template: [{
508
+ type: ContentChild,
509
+ args: ['tooltipTemplate']
510
+ }] } });
511
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NoYXJ0L2NoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBd0csWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlKLE9BQU8sRUFBRSxhQUFhLEVBQStCLGVBQWUsRUFBMEIsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0ksT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUU3RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyxhQUFhLEVBQUMscUJBQXFCLEVBQUMsYUFBYSxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsaUJBQWlCLEVBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxTQUFTLEVBQUMsV0FBVyxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsYUFBYSxFQUFDLGlCQUFpQixFQUFDLDhCQUE4QixFQUFDLGNBQWMsRUFBQyxj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eUJBQXlCLENBQUM7d0JBQ3hELFNBQVMsRUFBRSxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUM7d0JBQzFDLFNBQVMsRUFBRSxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUM7d0JBQzFDLFlBQVksRUFBRSxJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQzt3QkFDaEQsdUJBQXVCLEVBQUUsSUFBSSxZQUFZLENBQUMsMkJBQTJCLENBQUM7d0JBQ3RFLGdCQUFnQixFQUFFLElBQUksWUFBWSxDQUFDLG9CQUFvQixDQUFDO3dCQUN4RCx3QkFBd0IsRUFBRSxJQUFJLFlBQVksQ0FBQyw0QkFBNEIsQ0FBQzt3QkFDeEUsZUFBZSxFQUFFLElBQUksWUFBWSxDQUFDLG1CQUFtQixDQUFDO3FCQUN6RDtpQkFDSjsrS0F5RFUsZ0JBQWdCO3NCQUZ0QixZQUFZO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyLCBJbmplY3RvciwgVmFsdWVQcm92aWRlciwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRCYXNlLCBJQ29tcG9uZW50QmFzZSwgYXBwbHlNaXhpbnMsIENvbXBvbmVudE1peGlucywgUHJvcGVydHlDb2xsZWN0aW9uSW5mbywgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IENoYXJ0IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWNoYXJ0cyc7XG5pbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgU2VyaWVzQ29sbGVjdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vc2VyaWVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBeGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9heGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSb3dzRGlyZWN0aXZlIH0gZnJvbSAnLi9yb3dzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb2x1bW5zRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2x1bW5zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSYW5nZUNvbG9yU2V0dGluZ3NEaXJlY3RpdmUgfSBmcm9tICcuL3JhbmdlY29sb3JzZXR0aW5ncy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQW5ub3RhdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuL2Fubm90YXRpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTZWxlY3RlZERhdGFJbmRleGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3RlZGRhdGFpbmRleGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbmRpY2F0b3JzRGlyZWN0aXZlIH0gZnJvbSAnLi9pbmRpY2F0b3JzLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBpbnB1dHM6IHN0cmluZ1tdID0gWydhbGxvd0V4cG9ydCcsJ2FsbG93TXVsdGlTZWxlY3Rpb24nLCdhbm5vdGF0aW9ucycsJ2F4ZXMnLCdiYWNrZ3JvdW5kJywnYmFja2dyb3VuZEltYWdlJywnYm9yZGVyJywnY2hhcnRBcmVhJywnY29sdW1ucycsJ2Nyb3NzaGFpcicsJ2N1cnJlbmN5Q29kZScsJ2RhdGFTb3VyY2UnLCdkZXNjcmlwdGlvbicsJ2VuYWJsZUFuaW1hdGlvbicsJ2VuYWJsZUF1dG9JbnRlcnZhbE9uQm90aEF4aXMnLCdlbmFibGVDYW52YXMnLCdlbmFibGVFeHBvcnQnLCdlbmFibGVQZXJzaXN0ZW5jZScsJ2VuYWJsZVJ0bCcsJ2VuYWJsZVNpZGVCeVNpZGVQbGFjZW1lbnQnLCdoZWlnaHQnLCdoaWdobGlnaHRDb2xvcicsJ2hpZ2hsaWdodE1vZGUnLCdoaWdobGlnaHRQYXR0ZXJuJywnaW5kaWNhdG9ycycsJ2lzTXVsdGlTZWxlY3QnLCdpc1RyYW5zcG9zZWQnLCdsZWdlbmRTZXR0aW5ncycsJ2xvY2FsZScsJ21hcmdpbicsJ3BhbGV0dGVzJywncHJpbWFyeVhBeGlzJywncHJpbWFyeVlBeGlzJywncmFuZ2VDb2xvclNldHRpbmdzJywncm93cycsJ3NlbGVjdGVkRGF0YUluZGV4ZXMnLCdzZWxlY3Rpb25Nb2RlJywnc2VsZWN0aW9uUGF0dGVybicsJ3NlcmllcycsJ3N1YlRpdGxlJywnc3ViVGl0bGVTdHlsZScsJ3RhYkluZGV4JywndGhlbWUnLCd0aXRsZScsJ3RpdGxlU3R5bGUnLCd0b29sdGlwJywndXNlR3JvdXBpbmdTZXBhcmF0b3InLCd3aWR0aCcsJ3pvb21TZXR0aW5ncyddO1xuZXhwb3J0IGNvbnN0IG91dHB1dHM6IHN0cmluZ1tdID0gWydhZnRlckV4cG9ydCcsJ2FuaW1hdGlvbkNvbXBsZXRlJywnYW5ub3RhdGlvblJlbmRlcicsJ2F4aXNMYWJlbENsaWNrJywnYXhpc0xhYmVsUmVuZGVyJywnYXhpc011bHRpTGFiZWxSZW5kZXInLCdheGlzUmFuZ2VDYWxjdWxhdGVkJywnYmVmb3JlRXhwb3J0JywnYmVmb3JlUHJpbnQnLCdiZWZvcmVSZXNpemUnLCdjaGFydERvdWJsZUNsaWNrJywnY2hhcnRNb3VzZUNsaWNrJywnY2hhcnRNb3VzZURvd24nLCdjaGFydE1vdXNlTGVhdmUnLCdjaGFydE1vdXNlTW92ZScsJ2NoYXJ0TW91c2VVcCcsJ2RyYWcnLCdkcmFnQ29tcGxldGUnLCdkcmFnRW5kJywnZHJhZ1N0YXJ0JywnbGVnZW5kQ2xpY2snLCdsZWdlbmRSZW5kZXInLCdsb2FkJywnbG9hZGVkJywnbXVsdGlMZXZlbExhYmVsQ2xpY2snLCdvblpvb21pbmcnLCdwb2ludENsaWNrJywncG9pbnREb3VibGVDbGljaycsJ3BvaW50TW92ZScsJ3BvaW50UmVuZGVyJywncmVzaXplZCcsJ3Njcm9sbENoYW5nZWQnLCdzY3JvbGxFbmQnLCdzY3JvbGxTdGFydCcsJ3NlbGVjdGlvbkNvbXBsZXRlJywnc2VyaWVzUmVuZGVyJywnc2hhcmVkVG9vbHRpcFJlbmRlcicsJ3RleHRSZW5kZXInLCd0b29sdGlwUmVuZGVyJywnem9vbUNvbXBsZXRlJywnZGF0YVNvdXJjZUNoYW5nZSddO1xuZXhwb3J0IGNvbnN0IHR3b1dheXM6IHN0cmluZ1tdID0gWydkYXRhU291cmNlJ107XG5cbi8qKlxuICogQ2hhcnQgQ29tcG9uZW50XG4gKiBgYGBodG1sXG4gKiA8ZWpzY2hhcnQ+PC9lanNjaGFydD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Vqcy1jaGFydCcsXG4gICAgaW5wdXRzOiBpbnB1dHMsXG4gICAgb3V0cHV0czogb3V0cHV0cyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZFNlcmllczogbmV3IENvbnRlbnRDaGlsZChTZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkQXhlczogbmV3IENvbnRlbnRDaGlsZChBeGVzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkUm93czogbmV3IENvbnRlbnRDaGlsZChSb3dzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkQ29sdW1uczogbmV3IENvbnRlbnRDaGlsZChDb2x1bW5zRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkUmFuZ2VDb2xvclNldHRpbmdzOiBuZXcgQ29udGVudENoaWxkKFJhbmdlQ29sb3JTZXR0aW5nc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZEFubm90YXRpb25zOiBuZXcgQ29udGVudENoaWxkKEFubm90YXRpb25zRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkU2VsZWN0ZWREYXRhSW5kZXhlczogbmV3IENvbnRlbnRDaGlsZChTZWxlY3RlZERhdGFJbmRleGVzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkSW5kaWNhdG9yczogbmV3IENvbnRlbnRDaGlsZChJbmRpY2F0b3JzRGlyZWN0aXZlKVxuICAgIH1cbn0pXG5AQ29tcG9uZW50TWl4aW5zKFtDb21wb25lbnRCYXNlXSlcbmV4cG9ydCBjbGFzcyBDaGFydENvbXBvbmVudCBleHRlbmRzIENoYXJ0IGltcGxlbWVudHMgSUNvbXBvbmVudEJhc2Uge1xuICAgIHB1YmxpYyBjb250ZXh0IDogYW55O1xuICAgIHB1YmxpYyB0YWdPYmplY3RzOiBhbnk7XG5cdGFmdGVyRXhwb3J0OiBhbnk7XG5cdGFuaW1hdGlvbkNvbXBsZXRlOiBhbnk7XG5cdGFubm90YXRpb25SZW5kZXI6IGFueTtcblx0YXhpc0xhYmVsQ2xpY2s6IGFueTtcblx0YXhpc0xhYmVsUmVuZGVyOiBhbnk7XG5cdGF4aXNNdWx0aUxhYmVsUmVuZGVyOiBhbnk7XG5cdGF4aXNSYW5nZUNhbGN1bGF0ZWQ6IGFueTtcblx0YmVmb3JlRXhwb3J0OiBhbnk7XG5cdGJlZm9yZVByaW50OiBhbnk7XG5cdGJlZm9yZVJlc2l6ZTogYW55O1xuXHRjaGFydERvdWJsZUNsaWNrOiBhbnk7XG5cdGNoYXJ0TW91c2VDbGljazogYW55O1xuXHRjaGFydE1vdXNlRG93bjogYW55O1xuXHRjaGFydE1vdXNlTGVhdmU6IGFueTtcblx0Y2hhcnRNb3VzZU1vdmU6IGFueTtcblx0Y2hhcnRNb3VzZVVwOiBhbnk7XG5cdGRyYWc6IGFueTtcblx0ZHJhZ0NvbXBsZXRlOiBhbnk7XG5cdGRyYWdFbmQ6IGFueTtcblx0ZHJhZ1N0YXJ0OiBhbnk7XG5cdGxlZ2VuZENsaWNrOiBhbnk7XG5cdGxlZ2VuZFJlbmRlcjogYW55O1xuXHRsb2FkOiBhbnk7XG5cdGxvYWRlZDogYW55O1xuXHRtdWx0aUxldmVsTGFiZWxDbGljazogYW55O1xuXHRvblpvb21pbmc6IGFueTtcblx0cG9pbnRDbGljazogYW55O1xuXHRwb2ludERvdWJsZUNsaWNrOiBhbnk7XG5cdHBvaW50TW92ZTogYW55O1xuXHRwb2ludFJlbmRlcjogYW55O1xuXHRyZXNpemVkOiBhbnk7XG5cdHNjcm9sbENoYW5nZWQ6IGFueTtcblx0c2Nyb2xsRW5kOiBhbnk7XG5cdHNjcm9sbFN0YXJ0OiBhbnk7XG5cdHNlbGVjdGlvbkNvbXBsZXRlOiBhbnk7XG5cdHNlcmllc1JlbmRlcjogYW55O1xuXHRzaGFyZWRUb29sdGlwUmVuZGVyOiBhbnk7XG5cdHRleHRSZW5kZXI6IGFueTtcblx0dG9vbHRpcFJlbmRlcjogYW55O1xuXHR6b29tQ29tcGxldGU6IGFueTtcblx0cHVibGljIGRhdGFTb3VyY2VDaGFuZ2U6IGFueTtcbiAgICBwdWJsaWMgY2hpbGRTZXJpZXM6IFF1ZXJ5TGlzdDxTZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRBeGVzOiBRdWVyeUxpc3Q8QXhlc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkUm93czogUXVlcnlMaXN0PFJvd3NEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZENvbHVtbnM6IFF1ZXJ5TGlzdDxDb2x1bW5zRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRSYW5nZUNvbG9yU2V0dGluZ3M6IFF1ZXJ5TGlzdDxSYW5nZUNvbG9yU2V0dGluZ3NEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZEFubm90YXRpb25zOiBRdWVyeUxpc3Q8QW5ub3RhdGlvbnNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZFNlbGVjdGVkRGF0YUluZGV4ZXM6IFF1ZXJ5TGlzdDxTZWxlY3RlZERhdGFJbmRleGVzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRJbmRpY2F0b3JzOiBRdWVyeUxpc3Q8SW5kaWNhdG9yc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydzZXJpZXMnLCAnYXhlcycsICdyb3dzJywgJ2NvbHVtbnMnLCAncmFuZ2VDb2xvclNldHRpbmdzJywgJ2Fubm90YXRpb25zJywgJ3NlbGVjdGVkRGF0YUluZGV4ZXMnLCAnaW5kaWNhdG9ycyddO1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdG9vbHRpcF90ZW1wbGF0ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ0VsZTogRWxlbWVudFJlZiwgcHJpdmF0ZSBzcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMubmdFbGUubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMgPSB0aGlzLmluamVjdGVkTW9kdWxlcyB8fCBbXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0xpbmVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1NjYXR0ZXJTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0NvbHVtblNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3BsaW5lU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTcGxpbmVBcmVhU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTdHJpcExpbmUnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0FyZWFTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1Njcm9sbEJhcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3RlcExpbmVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1N0ZXBBcmVhU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTdGFja2luZ0NvbHVtblNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3RhY2tpbmdMaW5lU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTdGFja2luZ0FyZWFTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1N0YWNraW5nU3RlcEFyZWFTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0JhclNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3RhY2tpbmdCYXJTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1JhbmdlQ29sdW1uU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNCdWJibGVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1Rvb2x0aXAnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0Nyb3NzaGFpcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQ2F0ZWdvcnknKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0RhdGVUaW1lJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNMb2dhcml0aG1pYycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzTGVnZW5kJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNab29tJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNEYXRhTGFiZWwnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1NlbGVjdGlvbicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQ2hhcnRBbm5vdGF0aW9uJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNIaWxvU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNIaWxvT3BlbkNsb3NlU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNXYXRlcmZhbGxTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1JhbmdlQXJlYVNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3BsaW5lUmFuZ2VBcmVhU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNDYW5kbGVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1BvbGFyU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNSYWRhclNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU21hSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNUbWFJbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0VtYUluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQWNjdW11bGF0aW9uRGlzdHJpYnV0aW9uSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNNYWNkSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNBdHJJbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1JzaUluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzTW9tZW50dW1JbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1N0b2NoYXN0aWNJbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0JvbGxpbmdlckJhbmRzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNCb3hBbmRXaGlza2VyU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNIaXN0b2dyYW1TZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0Vycm9yQmFyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNUcmVuZGxpbmVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNEYXRlVGltZUNhdGVnb3J5Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNNdWx0aUNvbG9yZWRMaW5lU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNNdWx0aUNvbG9yZWRBcmVhU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNNdWx0aUxldmVsTGFiZWwnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1BhcmV0b1NlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzRXhwb3J0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNEYXRhRWRpdGluZycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzSGlnaGxpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHJcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5hZGRUd29XYXkuY2FsbCh0aGlzLCB0d29XYXlzKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMuY29udGV4dCAgPSBuZXcgQ29tcG9uZW50QmFzZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nT25Jbml0KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ0FmdGVyVmlld0luaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkRlc3Ryb3kodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWdPYmplY3RzWzBdLmluc3RhbmNlID0gdGhpcy5jaGlsZFNlcmllcztcbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZEF4ZXMpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1sxXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRBeGVzO1xuICAgICAgICB9XG4gICAgICAgIFxuXHQgICAgaWYgKHRoaXMuY2hpbGRSb3dzKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbMl0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkUm93cztcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkQ29sdW1ucykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzNdLmluc3RhbmNlID0gdGhpcy5jaGlsZENvbHVtbnM7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZFJhbmdlQ29sb3JTZXR0aW5ncykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzRdLmluc3RhbmNlID0gdGhpcy5jaGlsZFJhbmdlQ29sb3JTZXR0aW5ncztcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkQW5ub3RhdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1s1XS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRBbm5vdGF0aW9ucztcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkU2VsZWN0ZWREYXRhSW5kZXhlcykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzZdLmluc3RhbmNlID0gdGhpcy5jaGlsZFNlbGVjdGVkRGF0YUluZGV4ZXM7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZEluZGljYXRvcnMpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1s3XS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRJbmRpY2F0b3JzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ0FmdGVyQ29udGVudENoZWNrZWQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyRXZlbnRzOiAoZXZlbnRMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgYWRkVHdvV2F5OiAocHJvcExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xufVxuXG4iXX0=