@kepler.gl/components 3.3.0-alpha.3 → 3.3.0-alpha.4

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 (353) hide show
  1. package/dist/annotations/annotation-overlay.d.ts +1 -0
  2. package/dist/annotations/annotation-overlay.js +7 -5
  3. package/dist/annotations/annotation-panel.js +16 -17
  4. package/dist/annotations/annotation-text.js +2 -3
  5. package/dist/annotations/annotation-utils.d.ts +14 -0
  6. package/dist/annotations/annotation-utils.js +44 -3
  7. package/dist/annotations/lexical-editor/floating-link-editor.js +9 -10
  8. package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +2 -3
  9. package/dist/annotations/lexical-editor/lexical-toolbar.js +6 -7
  10. package/dist/annotations/lexical-editor/use-lexical-toolbar.js +15 -15
  11. package/dist/bottom-widget.js +3 -4
  12. package/dist/common/action-panel.js +2 -3
  13. package/dist/common/animation-control/animation-speed-slider.js +2 -3
  14. package/dist/common/animation-control/animation-window-control.js +2 -3
  15. package/dist/common/animation-control/floating-time-display.js +2 -3
  16. package/dist/common/animation-control/playback-controls.js +2 -3
  17. package/dist/common/animation-control/window-action-control.js +2 -3
  18. package/dist/common/checkbox.js +2 -3
  19. package/dist/common/color-legend.js +2 -3
  20. package/dist/common/column-stats-chart.js +2 -3
  21. package/dist/common/data-table/display-format.js +2 -3
  22. package/dist/common/data-table/grid.js +2 -3
  23. package/dist/common/data-table/header-cell.js +2 -3
  24. package/dist/common/data-table/index.js +2 -3
  25. package/dist/common/data-table/option-dropdown.js +2 -3
  26. package/dist/common/field-selector.js +2 -3
  27. package/dist/common/file-uploader/file-drop.js +2 -3
  28. package/dist/common/file-uploader/file-upload-progress.js +2 -3
  29. package/dist/common/file-uploader/file-upload.js +8 -9
  30. package/dist/common/file-uploader/upload-button.js +2 -3
  31. package/dist/common/histogram-plot.js +2 -3
  32. package/dist/common/icons/3d-models/airplane.js +2 -3
  33. package/dist/common/icons/3d-models/bicycle.js +2 -3
  34. package/dist/common/icons/3d-models/boeing.js +2 -3
  35. package/dist/common/icons/3d-models/car.js +2 -3
  36. package/dist/common/icons/3d-models/cargoship.js +2 -3
  37. package/dist/common/icons/3d-models/evtol.js +2 -3
  38. package/dist/common/icons/3d-models/glider.js +2 -3
  39. package/dist/common/icons/3d-models/helicopter.js +2 -3
  40. package/dist/common/icons/3d-models/scooter.js +2 -3
  41. package/dist/common/icons/3d-models/semitruck.js +2 -3
  42. package/dist/common/icons/3d-models/truck.js +2 -3
  43. package/dist/common/icons/add.js +2 -3
  44. package/dist/common/icons/annotation-text.js +2 -3
  45. package/dist/common/icons/arrow-down-alt.js +2 -3
  46. package/dist/common/icons/arrow-down-full.js +2 -3
  47. package/dist/common/icons/arrow-down-small.js +2 -3
  48. package/dist/common/icons/arrow-down-solid.js +2 -3
  49. package/dist/common/icons/arrow-down.js +2 -3
  50. package/dist/common/icons/arrow-left.js +2 -3
  51. package/dist/common/icons/arrow-right.js +2 -3
  52. package/dist/common/icons/arrow-up-alt.js +2 -3
  53. package/dist/common/icons/arrow-up-solid.js +2 -3
  54. package/dist/common/icons/arrow-up.js +2 -3
  55. package/dist/common/icons/base-map.js +2 -3
  56. package/dist/common/icons/base.js +2 -3
  57. package/dist/common/icons/bug.js +2 -3
  58. package/dist/common/icons/calendar.js +2 -3
  59. package/dist/common/icons/cancel.js +2 -3
  60. package/dist/common/icons/checkmark.js +2 -3
  61. package/dist/common/icons/clipboard.js +2 -3
  62. package/dist/common/icons/clock.js +2 -3
  63. package/dist/common/icons/close.js +2 -3
  64. package/dist/common/icons/cloud.js +2 -3
  65. package/dist/common/icons/code-alt.js +2 -3
  66. package/dist/common/icons/copy.js +2 -3
  67. package/dist/common/icons/crosshairs.js +2 -3
  68. package/dist/common/icons/cube-3d.js +2 -3
  69. package/dist/common/icons/cursor-click.js +2 -3
  70. package/dist/common/icons/cursor-point.js +2 -3
  71. package/dist/common/icons/data-table.js +2 -3
  72. package/dist/common/icons/db.js +2 -3
  73. package/dist/common/icons/delete.js +2 -3
  74. package/dist/common/icons/docs.js +2 -3
  75. package/dist/common/icons/docs2.js +2 -3
  76. package/dist/common/icons/drag-n-drop.js +2 -3
  77. package/dist/common/icons/draggable-dots.js +2 -3
  78. package/dist/common/icons/draw-polygon.js +2 -3
  79. package/dist/common/icons/edit.js +2 -3
  80. package/dist/common/icons/effects/brightness-contrast.js +2 -3
  81. package/dist/common/icons/effects/color-halftone.js +2 -3
  82. package/dist/common/icons/effects/distance-fog.js +2 -3
  83. package/dist/common/icons/effects/dot-screen.js +2 -3
  84. package/dist/common/icons/effects/edge-work.js +2 -3
  85. package/dist/common/icons/effects/hexagonal-pixelate.js +2 -3
  86. package/dist/common/icons/effects/hue-saturation.js +2 -3
  87. package/dist/common/icons/effects/ink.js +2 -3
  88. package/dist/common/icons/effects/light-and-shadow.js +2 -3
  89. package/dist/common/icons/effects/magic-wand.js +2 -3
  90. package/dist/common/icons/effects/magnify.js +2 -3
  91. package/dist/common/icons/effects/noise.js +2 -3
  92. package/dist/common/icons/effects/sepia.js +2 -3
  93. package/dist/common/icons/effects/surface-fog.js +2 -3
  94. package/dist/common/icons/effects/tilt-shift.js +2 -3
  95. package/dist/common/icons/effects/triangle-blur.js +2 -3
  96. package/dist/common/icons/effects/vibrance.js +2 -3
  97. package/dist/common/icons/effects/vignette.js +2 -3
  98. package/dist/common/icons/effects/zoom-blur.js +2 -3
  99. package/dist/common/icons/email.js +2 -3
  100. package/dist/common/icons/expand.js +2 -3
  101. package/dist/common/icons/eye-seen.js +2 -3
  102. package/dist/common/icons/eye-unseen.js +2 -3
  103. package/dist/common/icons/file.js +2 -3
  104. package/dist/common/icons/filter-funnel.js +2 -3
  105. package/dist/common/icons/folder.js +2 -3
  106. package/dist/common/icons/gear.js +2 -3
  107. package/dist/common/icons/globe.js +2 -3
  108. package/dist/common/icons/hash.js +2 -3
  109. package/dist/common/icons/help.js +2 -3
  110. package/dist/common/icons/horizontal-resize-handle.js +2 -3
  111. package/dist/common/icons/info.js +2 -3
  112. package/dist/common/icons/layers.js +2 -3
  113. package/dist/common/icons/left-arrow.js +2 -3
  114. package/dist/common/icons/legend.js +2 -3
  115. package/dist/common/icons/line-chart.js +2 -3
  116. package/dist/common/icons/location-marker.js +2 -3
  117. package/dist/common/icons/login.js +2 -3
  118. package/dist/common/icons/logout.js +2 -3
  119. package/dist/common/icons/map-icon.js +2 -3
  120. package/dist/common/icons/map-pin.js +2 -3
  121. package/dist/common/icons/messages.js +2 -3
  122. package/dist/common/icons/minus.js +2 -3
  123. package/dist/common/icons/moon.js +2 -3
  124. package/dist/common/icons/pause.js +2 -3
  125. package/dist/common/icons/pin.js +2 -3
  126. package/dist/common/icons/play.js +2 -3
  127. package/dist/common/icons/pointer-click.js +2 -3
  128. package/dist/common/icons/polygon.js +2 -3
  129. package/dist/common/icons/rectangle.js +2 -3
  130. package/dist/common/icons/reduce.js +2 -3
  131. package/dist/common/icons/reset.js +2 -3
  132. package/dist/common/icons/save.js +2 -3
  133. package/dist/common/icons/save2.js +2 -3
  134. package/dist/common/icons/search.js +2 -3
  135. package/dist/common/icons/settings.js +2 -3
  136. package/dist/common/icons/share.js +2 -3
  137. package/dist/common/icons/speed.js +2 -3
  138. package/dist/common/icons/split.js +2 -3
  139. package/dist/common/icons/square-select.js +2 -3
  140. package/dist/common/icons/sun.js +2 -3
  141. package/dist/common/icons/sunrise.js +2 -3
  142. package/dist/common/icons/sunset.js +2 -3
  143. package/dist/common/icons/timeline-marker.js +2 -3
  144. package/dist/common/icons/trash.js +2 -3
  145. package/dist/common/icons/vert-dots.js +2 -3
  146. package/dist/common/icons/vert-three-dots.js +2 -3
  147. package/dist/common/icons/warning-sign.js +2 -3
  148. package/dist/common/icons/warning.js +2 -3
  149. package/dist/common/icons/zoom-in.js +2 -3
  150. package/dist/common/icons/zoom-out.js +2 -3
  151. package/dist/common/index.js +2 -3
  152. package/dist/common/item-selector/chickleted-input.js +2 -3
  153. package/dist/common/item-selector/dropdown-list.js +2 -3
  154. package/dist/common/item-selector/item-selector.js +2 -3
  155. package/dist/common/item-selector/typeahead.js +2 -3
  156. package/dist/common/layout-splitter.js +2 -3
  157. package/dist/common/line-chart.js +2 -3
  158. package/dist/common/loading-spinner.js +2 -3
  159. package/dist/common/modal.js +6 -7
  160. package/dist/common/portaled.js +2 -3
  161. package/dist/common/radius-legend.js +2 -3
  162. package/dist/common/range-brush.js +2 -3
  163. package/dist/common/range-plot.js +2 -3
  164. package/dist/common/range-slider-timeline-panel.js +2 -3
  165. package/dist/common/range-slider-timeline.js +2 -3
  166. package/dist/common/range-slider.js +2 -3
  167. package/dist/common/slider/slider-bar-handle.js +2 -3
  168. package/dist/common/slider/slider-handle.js +2 -3
  169. package/dist/common/slider/slider.js +2 -3
  170. package/dist/common/styled-components.d.ts +84 -82
  171. package/dist/common/styled-components.js +48 -44
  172. package/dist/common/time-range-slider.js +2 -3
  173. package/dist/common/time-slider-marker.js +2 -3
  174. package/dist/common/timeline-slider.js +2 -3
  175. package/dist/common/tippy-tooltip.js +2 -3
  176. package/dist/connect/with-local-selector.js +2 -3
  177. package/dist/container.js +4 -5
  178. package/dist/context.js +2 -3
  179. package/dist/dnd-context.js +2 -3
  180. package/dist/editor/editor.js +3 -4
  181. package/dist/editor/feature-action-panel.js +2 -3
  182. package/dist/effects/compact-color-picker.js +2 -3
  183. package/dist/effects/effect-configurator.js +17 -18
  184. package/dist/effects/effect-list.js +2 -3
  185. package/dist/effects/effect-manager.js +2 -3
  186. package/dist/effects/effect-panel-header.js +2 -3
  187. package/dist/effects/effect-panel.js +2 -3
  188. package/dist/effects/effect-time-configurator.js +18 -7
  189. package/dist/effects/effect-time-selector.js +2 -3
  190. package/dist/effects/effect-time-slider.js +2 -3
  191. package/dist/effects/effect-type-dropdown-list.js +2 -3
  192. package/dist/effects/effect-type-list-item.js +2 -3
  193. package/dist/effects/effect-type-selector.js +2 -3
  194. package/dist/effects/surface-fog-section.js +7 -8
  195. package/dist/effects/timezone-selector.js +2 -3
  196. package/dist/filter-animation-controller.js +2 -3
  197. package/dist/filters/filter-panels/filter-panel-with-field-select.js +2 -3
  198. package/dist/filters/filter-panels/filter-synced-dataset-panel.js +4 -5
  199. package/dist/filters/filter-panels/multi-select-filter-panel.js +2 -3
  200. package/dist/filters/filter-panels/new-filter-panel.js +2 -3
  201. package/dist/filters/filter-panels/polygon-filter-panel.js +2 -3
  202. package/dist/filters/filter-panels/range-filter-panel.js +2 -3
  203. package/dist/filters/filter-panels/single-select-filter-panel.js +2 -3
  204. package/dist/filters/filter-panels/time-range-filter-panel.js +2 -3
  205. package/dist/filters/polygon-filter.js +3 -4
  206. package/dist/filters/time-widget-settings.js +9 -10
  207. package/dist/filters/time-widget-top.js +2 -3
  208. package/dist/filters/time-widget.js +2 -3
  209. package/dist/geocoder/geocoder.js +6 -7
  210. package/dist/geocoder-panel.js +2 -3
  211. package/dist/hooks/use-cloud-list-provider.js +2 -3
  212. package/dist/hooks/use-fetch-raster-tile-metadata.js +2 -2
  213. package/dist/hooks/use-fetch-vector-tile-metadata.js +2 -2
  214. package/dist/index.d.ts +2 -2
  215. package/dist/index.js +23 -3
  216. package/dist/kepler-gl.d.ts +1 -0
  217. package/dist/kepler-gl.js +3 -3
  218. package/dist/layer-animation-controller.js +2 -3
  219. package/dist/loading-indicator.js +2 -3
  220. package/dist/map/annotations/annotation-control.js +2 -3
  221. package/dist/map/attribution.d.ts +52 -0
  222. package/dist/map/attribution.js +389 -0
  223. package/dist/map/effects/effect-control.js +2 -3
  224. package/dist/map/layer-hover-info.js +2 -3
  225. package/dist/map/lazy-tippy.js +2 -3
  226. package/dist/map/locale-panel.d.ts +1 -1
  227. package/dist/map/locale-panel.js +2 -3
  228. package/dist/map/map-control-panel.js +2 -3
  229. package/dist/map/map-control.d.ts +3 -0
  230. package/dist/map/map-control.js +1 -1
  231. package/dist/map/map-draw-panel.d.ts +1 -1
  232. package/dist/map/map-draw-panel.js +2 -3
  233. package/dist/map/map-legend-panel.d.ts +1 -1
  234. package/dist/map/map-legend-panel.js +9 -14
  235. package/dist/map/map-legend.js +2 -3
  236. package/dist/map/map-navigation-control.js +20 -4
  237. package/dist/map/map-popover.js +2 -3
  238. package/dist/map/split-map-button.d.ts +4 -2
  239. package/dist/map/split-map-button.js +63 -46
  240. package/dist/map/toggle-3d-button.d.ts +8 -2
  241. package/dist/map/toggle-3d-button.js +79 -17
  242. package/dist/map-container.d.ts +3 -14
  243. package/dist/map-container.js +211 -178
  244. package/dist/map-view-state-context.d.ts +2 -0
  245. package/dist/map-view-state-context.js +2 -3
  246. package/dist/maps-layout.js +2 -3
  247. package/dist/modal-container.js +2 -3
  248. package/dist/modals/add-map-style-modal.js +2 -3
  249. package/dist/modals/cloud-components/cloud-header.js +2 -3
  250. package/dist/modals/cloud-components/cloud-item.spec.js +8 -8
  251. package/dist/modals/cloud-components/cloud-maps.spec.js +7 -7
  252. package/dist/modals/cloud-tile.js +5 -6
  253. package/dist/modals/data-table-modal.js +2 -3
  254. package/dist/modals/error-display.js +2 -3
  255. package/dist/modals/export-data-modal.js +2 -3
  256. package/dist/modals/export-image-modal.js +2 -3
  257. package/dist/modals/export-map-modal/export-json-map.js +2 -3
  258. package/dist/modals/export-video-modal.js +52 -10
  259. package/dist/modals/export-video-modal.spec.js +83 -83
  260. package/dist/modals/globe-export-video-container.d.ts +117 -0
  261. package/dist/modals/globe-export-video-container.js +626 -0
  262. package/dist/modals/globe-export-video-preview.d.ts +41 -0
  263. package/dist/modals/globe-export-video-preview.js +152 -0
  264. package/dist/modals/hubble-utils.d.ts +13 -1
  265. package/dist/modals/hubble-utils.js +164 -36
  266. package/dist/modals/image-modal-container.js +2 -3
  267. package/dist/modals/load-data-modal.js +2 -3
  268. package/dist/modals/load-storage-map.js +2 -3
  269. package/dist/modals/load-storage-map.spec.js +10 -10
  270. package/dist/modals/modal-tabs.js +2 -3
  271. package/dist/modals/overwrite-map-modal.js +2 -3
  272. package/dist/modals/save-map-modal.js +2 -3
  273. package/dist/modals/save-map-modal.spec.js +16 -16
  274. package/dist/modals/share-map-modal.js +2 -3
  275. package/dist/modals/share-map-modal.spec.js +9 -9
  276. package/dist/modals/swipe-composite-utils.d.ts +1 -1
  277. package/dist/modals/swipe-composite-utils.js +11 -1
  278. package/dist/modals/swipe-export-settings.d.ts +1 -0
  279. package/dist/modals/swipe-export-settings.js +8 -6
  280. package/dist/modals/swipe-export-video-container.d.ts +6 -0
  281. package/dist/modals/swipe-export-video-container.js +27 -4
  282. package/dist/modals/swipe-export-video-preview.d.ts +2 -0
  283. package/dist/modals/swipe-export-video-preview.js +80 -18
  284. package/dist/modals/tilesets-modals/load-data-footer.js +2 -3
  285. package/dist/modals/tilesets-modals/load-tileset.js +2 -3
  286. package/dist/modals/tilesets-modals/tileset-bitmap-form.js +18 -19
  287. package/dist/modals/tilesets-modals/tileset-raster-form.js +5 -6
  288. package/dist/modals/tilesets-modals/tileset-tile3d-form.js +13 -14
  289. package/dist/modals/tilesets-modals/tileset-vector-form.js +7 -8
  290. package/dist/modals/tilesets-modals/tileset-wms-form.js +11 -12
  291. package/dist/notification-panel/notification-item.js +2 -3
  292. package/dist/plot-container.js +2 -3
  293. package/dist/side-panel/add-by-dataset-button.js +2 -3
  294. package/dist/side-panel/common/dataset-title.js +2 -3
  295. package/dist/side-panel/common/source-data-selector-content.js +2 -3
  296. package/dist/side-panel/common/source-selector.js +2 -3
  297. package/dist/side-panel/filter-manager.js +2 -3
  298. package/dist/side-panel/filter-panel/filter-panel-header.js +2 -3
  299. package/dist/side-panel/filter-panel/filter-panel.js +2 -3
  300. package/dist/side-panel/interaction-panel/interaction-panel.js +2 -3
  301. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +2 -3
  302. package/dist/side-panel/interaction-panel/tooltip-config.js +2 -3
  303. package/dist/side-panel/layer-manager.d.ts +2 -1
  304. package/dist/side-panel/layer-manager.js +6 -4
  305. package/dist/side-panel/layer-panel/channel-by-value-selector.js +2 -3
  306. package/dist/side-panel/layer-panel/color-breaks-panel.js +2 -3
  307. package/dist/side-panel/layer-panel/color-palette.js +2 -3
  308. package/dist/side-panel/layer-panel/color-range-selector.js +2 -3
  309. package/dist/side-panel/layer-panel/color-scale-selector.js +2 -3
  310. package/dist/side-panel/layer-panel/color-selector.js +2 -3
  311. package/dist/side-panel/layer-panel/column-selector.js +2 -3
  312. package/dist/side-panel/layer-panel/custom-palette.js +41 -42
  313. package/dist/side-panel/layer-panel/custom-picker.js +2 -3
  314. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +2 -1
  315. package/dist/side-panel/layer-panel/dataset-layer-group.js +6 -5
  316. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +2 -1
  317. package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
  318. package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -3
  319. package/dist/side-panel/layer-panel/layer-color-selector.js +2 -3
  320. package/dist/side-panel/layer-panel/layer-column-config.js +2 -3
  321. package/dist/side-panel/layer-panel/layer-column-mode-config.js +2 -3
  322. package/dist/side-panel/layer-panel/layer-config-group.js +2 -3
  323. package/dist/side-panel/layer-panel/layer-configurator.js +51 -52
  324. package/dist/side-panel/layer-panel/layer-group-header.js +2 -3
  325. package/dist/side-panel/layer-panel/layer-list.d.ts +2 -1
  326. package/dist/side-panel/layer-panel/layer-list.js +8 -7
  327. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +1 -1
  328. package/dist/side-panel/layer-panel/layer-panel-header.js +3 -4
  329. package/dist/side-panel/layer-panel/layer-panel.d.ts +2 -1
  330. package/dist/side-panel/layer-panel/layer-panel.js +15 -6
  331. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -3
  332. package/dist/side-panel/layer-panel/layer-type-list-item.js +2 -3
  333. package/dist/side-panel/layer-panel/layer-type-selector.js +2 -3
  334. package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +2 -3
  335. package/dist/side-panel/layer-panel/scenegraph-model-selector.js +2 -3
  336. package/dist/side-panel/layer-panel/single-color-palette.js +2 -3
  337. package/dist/side-panel/layer-panel/text-label-panel.js +2 -3
  338. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +2 -3
  339. package/dist/side-panel/layer-panel/vis-config-slider.js +2 -3
  340. package/dist/side-panel/map-manager.d.ts +9 -3
  341. package/dist/side-panel/map-manager.js +13 -7
  342. package/dist/side-panel/map-style-panel/globe-config-panel.d.ts +15 -0
  343. package/dist/side-panel/map-style-panel/globe-config-panel.js +269 -0
  344. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +2 -3
  345. package/dist/side-panel/map-style-panel/map-layer-group-item.js +2 -3
  346. package/dist/side-panel/panel-header.js +9 -10
  347. package/dist/side-panel/panel-toggle.js +2 -3
  348. package/dist/side-panel/panel-view-list-toggle.js +2 -3
  349. package/dist/side-panel/side-bar.js +2 -3
  350. package/dist/side-panel.js +4 -3
  351. package/dist/types.d.ts +2 -1
  352. package/dist/types.js +1 -1
  353. package/package.json +20 -19
@@ -14,7 +14,7 @@ var _reactTimePicker = _interopRequireDefault(require("react-time-picker"));
14
14
  var _reactTooltip = _interopRequireDefault(require("react-tooltip"));
15
15
  var _styledComponents = _interopRequireDefault(require("styled-components"));
16
16
  var _isPropValid = _interopRequireDefault(require("@emotion/is-prop-valid"));
17
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52, _templateObject53; // SPDX-License-Identifier: MIT
17
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject0, _templateObject1, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51; // SPDX-License-Identifier: MIT
18
18
  // Copyright contributors to the kepler.gl project
19
19
  // This implements the default behavior from styled-components v5
20
20
  function shouldForwardProp(propName, target) {
@@ -48,21 +48,21 @@ var SBFlexboxItem = exports.SBFlexboxItem = _styledComponents["default"].div(_te
48
48
  var SBFlexboxNoMargin = exports.SBFlexboxNoMargin = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"])));
49
49
  var PanelLabel = exports.PanelLabel = _styledComponents["default"].label.attrs({
50
50
  className: 'side-panel-panel__label'
51
- })(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n display: inline-block;\n font-size: 11px;\n font-weight: 400;\n margin-bottom: 4px;\n text-transform: capitalize;\n"])), function (props) {
51
+ })(_templateObject0 || (_templateObject0 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n display: inline-block;\n font-size: 11px;\n font-weight: 400;\n margin-bottom: 4px;\n text-transform: capitalize;\n"])), function (props) {
52
52
  return props.theme.labelColor;
53
53
  });
54
54
  var PanelLabelWrapper = exports.PanelLabelWrapper = _styledComponents["default"].div.attrs({
55
55
  className: 'side-panel-panel__label-wrapper'
56
- })(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: self-start;\n"])));
57
- var PanelLabelBold = exports.PanelLabelBold = (0, _styledComponents["default"])(PanelLabel)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: 500;\n"])));
56
+ })(_templateObject1 || (_templateObject1 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: self-start;\n"])));
57
+ var PanelLabelBold = exports.PanelLabelBold = (0, _styledComponents["default"])(PanelLabel)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: 500;\n"])));
58
58
  var PanelHeaderTitle = exports.PanelHeaderTitle = _styledComponents["default"].span.attrs(function (props) {
59
59
  return {
60
60
  className: (0, _classnames["default"])('side-panel-panel__header__title', props.className)
61
61
  };
62
- })(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: 13px;\n letter-spacing: 0.43px;\n text-transform: capitalize;\n"])), function (props) {
62
+ })(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: 13px;\n letter-spacing: 0.43px;\n text-transform: capitalize;\n"])), function (props) {
63
63
  return props.theme.textColor;
64
64
  });
65
- var PanelHeaderContent = exports.PanelHeaderContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n padding-left: 12px;\n\n .icon {\n color: ", ";\n display: flex;\n align-items: center;\n margin-right: 12px;\n }\n"])), function (props) {
65
+ var PanelHeaderContent = exports.PanelHeaderContent = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n padding-left: 12px;\n\n .icon {\n color: ", ";\n display: flex;\n align-items: center;\n margin-right: 12px;\n }\n"])), function (props) {
66
66
  return props.theme.textColor;
67
67
  }, function (props) {
68
68
  return props.theme.labelColor;
@@ -71,21 +71,21 @@ var PanelContent = exports.PanelContent = _styledComponents["default"].div.attrs
71
71
  return {
72
72
  className: (0, _classnames["default"])('side-panel-panel__content', props.className)
73
73
  };
74
- })(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
74
+ })(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
75
75
  return props.theme.panelContentBackground;
76
76
  });
77
77
  var SidePanelSection = exports.SidePanelSection = _styledComponents["default"].div.attrs(function (props) {
78
78
  return {
79
79
  className: (0, _classnames["default"])('side-panel-section', props.className)
80
80
  };
81
- })(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 12px;\n\n opacity: ", ";\n pointer-events: ", ";\n"])), function (props) {
81
+ })(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 12px;\n\n opacity: ", ";\n pointer-events: ", ";\n"])), function (props) {
82
82
  return props.disabled ? 0.4 : 1;
83
83
  }, function (props) {
84
84
  return props.disabled ? 'none' : 'all';
85
85
  });
86
86
  var SidePanelDivider = exports.SidePanelDivider = _styledComponents["default"].div.attrs({
87
87
  className: 'side-panel-divider'
88
- })(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: ", " solid\n ", ";\n margin-bottom: ", "px;\n height: ", "px;\n"])), function (props) {
88
+ })(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: ", " solid\n ", ";\n margin-bottom: ", "px;\n height: ", "px;\n"])), function (props) {
89
89
  return props.theme.sidepanelDividerBorder;
90
90
  }, function (props) {
91
91
  return props.theme.panelBorderColor;
@@ -94,7 +94,7 @@ var SidePanelDivider = exports.SidePanelDivider = _styledComponents["default"].d
94
94
  }, function (props) {
95
95
  return props.theme.sidepanelDividerHeight;
96
96
  });
97
- var Tooltip = exports.Tooltip = (0, _styledComponents["default"])(_reactTooltip["default"])(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["\n &.__react_component_tooltip {\n font-size: ", ";\n font-weight: 400;\n padding: 10px 18px;\n box-shadow: ", ";\n\n &.type-dark {\n background-color: ", ";\n color: ", ";\n &.place-bottom {\n &:after {\n border-bottom-color: ", ";\n }\n }\n\n &.place-top {\n &:after {\n border-top-color: ", ";\n }\n }\n\n &.place-right {\n &:after {\n border-right-color: ", ";\n }\n }\n\n &.place-left {\n &:after {\n border-left-color: ", ";\n }\n }\n }\n }\n"])), function (props) {
97
+ var Tooltip = exports.Tooltip = (0, _styledComponents["default"])(_reactTooltip["default"])(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n &.__react_component_tooltip {\n font-size: ", ";\n font-weight: 400;\n padding: 10px 18px;\n box-shadow: ", ";\n\n &.type-dark {\n background-color: ", ";\n color: ", ";\n &.place-bottom {\n &:after {\n border-bottom-color: ", ";\n }\n }\n\n &.place-top {\n &:after {\n border-top-color: ", ";\n }\n }\n\n &.place-right {\n &:after {\n border-right-color: ", ";\n }\n }\n\n &.place-left {\n &:after {\n border-left-color: ", ";\n }\n }\n }\n }\n"])), function (props) {
98
98
  return props.theme.tooltipFontSize;
99
99
  }, function (props) {
100
100
  return props.theme.tooltipBoxShadow;
@@ -118,7 +118,7 @@ var Button = exports.Button = _styledComponents["default"].button.withConfig({
118
118
  return {
119
119
  className: (0, _classnames["default"])('button', props.className)
120
120
  };
121
- })(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n background-color: ", ";\n border-radius: ", ";\n color: ", ";\n cursor: pointer;\n display: inline-flex;\n font-size: ", ";\n font-weight: 500;\n font-family: ", ";\n justify-content: center;\n letter-spacing: 0.3px;\n line-height: 14px;\n outline: 0;\n padding: ", ";\n text-align: center;\n transition: ", ";\n vertical-align: middle;\n width: ", ";\n opacity: ", ";\n pointer-events: ", ";\n border: ", ";\n &:hover,\n &:focus,\n &:active,\n &.active {\n background-color: ", ";\n color: ", ";\n }\n\n svg {\n margin-right: ", ";\n }\n"])), function (props) {
121
+ })(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n background-color: ", ";\n border-radius: ", ";\n color: ", ";\n cursor: pointer;\n display: inline-flex;\n font-size: ", ";\n font-weight: 500;\n font-family: ", ";\n justify-content: center;\n letter-spacing: 0.3px;\n line-height: 14px;\n outline: 0;\n padding: ", ";\n text-align: center;\n transition: ", ";\n vertical-align: middle;\n width: ", ";\n opacity: ", ";\n pointer-events: ", ";\n border: ", ";\n &:hover,\n &:focus,\n &:active,\n &.active {\n background-color: ", ";\n color: ", ";\n }\n\n svg {\n margin-right: ", ";\n }\n"])), function (props) {
122
122
  return props.negative ? props.theme.negativeBtnBgd : props.secondary ? props.theme.secondaryBtnBgd : props.link ? props.theme.linkBtnBgd : props.floating ? props.theme.floatingBtnBgd : props.cta ? props.theme.ctaBtnBgd : props.theme.primaryBtnBgd;
123
123
  }, function (props) {
124
124
  return props.theme.primaryBtnRadius;
@@ -149,30 +149,30 @@ var Button = exports.Button = _styledComponents["default"].button.withConfig({
149
149
  });
150
150
  var Input = exports.Input = _styledComponents["default"].input.withConfig({
151
151
  shouldForwardProp: shouldForwardProp
152
- })(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
152
+ })(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
153
153
  return props.secondary ? props.theme.secondaryInput : props.theme.input;
154
154
  });
155
155
  var InputLight = exports.InputLight = _styledComponents["default"].input.withConfig({
156
156
  shouldForwardProp: shouldForwardProp
157
- })(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
157
+ })(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
158
158
  return props.theme.inputLT;
159
159
  });
160
160
  var TextArea = exports.TextArea = _styledComponents["default"].textarea.withConfig({
161
161
  shouldForwardProp: shouldForwardProp
162
- })(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
162
+ })(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
163
163
  return props.secondary ? props.theme.secondaryInput : props.theme.input;
164
164
  });
165
165
  var TextAreaLight = exports.TextAreaLight = _styledComponents["default"].textarea.withConfig({
166
166
  shouldForwardProp: shouldForwardProp
167
- })(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["\n ", " height: auto;\n white-space: pre-wrap;\n"])), function (props) {
167
+ })(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n ", " height: auto;\n white-space: pre-wrap;\n"])), function (props) {
168
168
  return props.theme.inputLT;
169
169
  });
170
- var InlineInput = exports.InlineInput = (0, _styledComponents["default"])(Input)(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
170
+ var InlineInput = exports.InlineInput = (0, _styledComponents["default"])(Input)(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
171
171
  return props.theme.inlineInput;
172
172
  });
173
173
  var StyledPanelHeader = exports.StyledPanelHeader = _styledComponents["default"].div.withConfig({
174
174
  shouldForwardProp: shouldForwardProp
175
- })(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n border-left: 3px solid\n rgb(\n ", "\n );\n padding: 0 10px 0 0;\n height: ", "px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: ", ";\n transition: ", ";\n"])), function (props) {
175
+ })(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n border-left: 3px solid\n rgb(\n ", "\n );\n padding: 0 10px 0 0;\n height: ", "px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-radius: ", ";\n transition: ", ";\n"])), function (props) {
176
176
  return props.$active ? props.theme.panelBackgroundHover : props.theme.panelBackground;
177
177
  }, function (props) {
178
178
  return props.labelRCGColorValues ? props.labelRCGColorValues.join(',') : 'transparent';
@@ -183,7 +183,7 @@ var StyledPanelHeader = exports.StyledPanelHeader = _styledComponents["default"]
183
183
  }, function (props) {
184
184
  return props.theme.transition;
185
185
  });
186
- var StyledPanelDropdown = exports.StyledPanelDropdown = _styledComponents["default"].div(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n background-color: ", ";\n overflow-y: auto;\n box-shadow: ", ";\n border-radius: ", ";\n max-height: 500px;\n position: relative;\n z-index: 999;\n"])), function (props) {
186
+ var StyledPanelDropdown = exports.StyledPanelDropdown = _styledComponents["default"].div(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n background-color: ", ";\n overflow-y: auto;\n box-shadow: ", ";\n border-radius: ", ";\n max-height: 500px;\n position: relative;\n z-index: 999;\n"])), function (props) {
187
187
  return props.theme.panelDropdownScrollBar;
188
188
  }, function (props) {
189
189
  return props.type === 'light' ? props.theme.modalDropdownBackground : props.theme.panelBackground;
@@ -192,7 +192,7 @@ var StyledPanelDropdown = exports.StyledPanelDropdown = _styledComponents["defau
192
192
  }, function (props) {
193
193
  return props.theme.panelBorderRadius;
194
194
  });
195
- var ButtonGroup = exports.ButtonGroup = _styledComponents["default"].div(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n .button {\n border-radius: 0;\n margin-left: 2px;\n }\n .button:first-child {\n border-bottom-left-radius: ", ";\n border-top-left-radius: ", ";\n margin-left: 0;\n }\n .button:last-child {\n border-bottom-right-radius: ", ";\n border-top-right-radius: ", ";\n }\n"])), function (props) {
195
+ var ButtonGroup = exports.ButtonGroup = _styledComponents["default"].div(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n .button {\n border-radius: 0;\n margin-left: 2px;\n }\n .button:first-child {\n border-bottom-left-radius: ", ";\n border-top-left-radius: ", ";\n margin-left: 0;\n }\n .button:last-child {\n border-bottom-right-radius: ", ";\n border-top-right-radius: ", ";\n }\n"])), function (props) {
196
196
  return props.theme.primaryBtnRadius;
197
197
  }, function (props) {
198
198
  return props.theme.primaryBtnRadius;
@@ -203,12 +203,12 @@ var ButtonGroup = exports.ButtonGroup = _styledComponents["default"].div(_templa
203
203
  });
204
204
  var DatasetSquare = exports.DatasetSquare = _styledComponents["default"].div.withConfig({
205
205
  shouldForwardProp: shouldForwardProp
206
- })(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-block;\n width: 10px;\n height: 10px;\n background-color: rgb(", ");\n margin-right: 12px;\n"])), function (props) {
206
+ })(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-block;\n width: 10px;\n height: 10px;\n background-color: rgb(", ");\n margin-right: 12px;\n"])), function (props) {
207
207
  return props.backgroundColor.join(',');
208
208
  });
209
209
  var SelectionButton = exports.SelectionButton = _styledComponents["default"].div.withConfig({
210
210
  shouldForwardProp: shouldForwardProp
211
- })(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n border-radius: 2px;\n border: 1px solid\n ", ";\n color: ", ";\n background-color: ", ";\n\n cursor: pointer;\n font-weight: 500;\n margin-right: 6px;\n padding: 6px 16px;\n\n &:hover {\n color: ", ";\n border: 1px solid ", ";\n }\n"])), function (props) {
211
+ })(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n border-radius: 2px;\n border: 1px solid\n ", ";\n color: ", ";\n background-color: ", ";\n\n cursor: pointer;\n font-weight: 500;\n margin-right: 6px;\n padding: 6px 16px;\n\n &:hover {\n color: ", ";\n border: 1px solid ", ";\n }\n"])), function (props) {
212
212
  return props.selected ? props.theme.selectionBtnBorderActColor : props.theme.selectionBtnBorderColor;
213
213
  }, function (props) {
214
214
  return props.selected ? props.theme.selectionBtnActColor : props.theme.selectionBtnColor;
@@ -219,14 +219,14 @@ var SelectionButton = exports.SelectionButton = _styledComponents["default"].div
219
219
  }, function (props) {
220
220
  return props.theme.selectionBtnBorderActColor;
221
221
  });
222
- var StyledTable = exports.StyledTable = _styledComponents["default"].table(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n border-spacing: 0;\n\n thead {\n tr th {\n background: ", ";\n color: ", ";\n padding: 18px 12px;\n text-align: start;\n }\n }\n\n tbody {\n tr td {\n border-bottom: ", ";\n padding: 12px;\n }\n }\n"])), function (props) {
222
+ var StyledTable = exports.StyledTable = _styledComponents["default"].table(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n border-spacing: 0;\n\n thead {\n tr th {\n background: ", ";\n color: ", ";\n padding: 18px 12px;\n text-align: start;\n }\n }\n\n tbody {\n tr td {\n border-bottom: ", ";\n padding: 12px;\n }\n }\n"])), function (props) {
223
223
  return props.theme.panelBackgroundLT;
224
224
  }, function (props) {
225
225
  return props.theme.titleColorLT;
226
226
  }, function (props) {
227
227
  return props.theme.panelBorderLT;
228
228
  });
229
- var StyledModalContent = exports.StyledModalContent = _styledComponents["default"].div(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteral2["default"])(["\n background: ", ";\n color: ", ";\n display: flex;\n flex-direction: row;\n font-size: 10px;\n padding: 24px ", ";\n margin: 0 -", ";\n justify-content: space-between;\n ", ";\n"])), function (props) {
229
+ var StyledModalContent = exports.StyledModalContent = _styledComponents["default"].div(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["\n background: ", ";\n color: ", ";\n display: flex;\n flex-direction: row;\n font-size: 10px;\n padding: 24px ", ";\n margin: 0 -", ";\n justify-content: space-between;\n ", ";\n"])), function (props) {
230
230
  return props.theme.panelBackgroundLT;
231
231
  }, function (props) {
232
232
  return props.theme.textColorLT;
@@ -234,25 +234,25 @@ var StyledModalContent = exports.StyledModalContent = _styledComponents["default
234
234
  return props.theme.modalLateralPadding;
235
235
  }, function (props) {
236
236
  return props.theme.modalLateralPadding;
237
- }, _styles.media.portable(_templateObject32 || (_templateObject32 = (0, _taggedTemplateLiteral2["default"])(["\n flex-direction: column;\n padding: 16px ", ";\n margin: 0 -", ";\n "])), function (props) {
237
+ }, _styles.media.portable(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2["default"])(["\n flex-direction: column;\n padding: 16px ", ";\n margin: 0 -", ";\n "])), function (props) {
238
238
  return props.theme.modalPortableLateralPadding;
239
239
  }, function (props) {
240
240
  return props.theme.modalPortableLateralPadding;
241
241
  }));
242
242
  var StyledModalVerticalPanel = exports.StyledModalVerticalPanel = _styledComponents["default"].div.attrs({
243
243
  className: 'modal-vertical-panel'
244
- })(_templateObject33 || (_templateObject33 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n font-size: 12px;\n\n .modal-section:first-child {\n margin-top: 24px;\n ", ";\n }\n\n input {\n margin-right: 8px;\n }\n"])), _styles.media.palm(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 0;\n "]))));
244
+ })(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n font-size: 12px;\n\n .modal-section:first-child {\n margin-top: 24px;\n ", ";\n }\n\n input {\n margin-right: 8px;\n }\n"])), _styles.media.palm(_templateObject32 || (_templateObject32 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 0;\n "]))));
245
245
  var StyledModalSection = exports.StyledModalSection = _styledComponents["default"].div.attrs(function (_ref) {
246
246
  var className = _ref.className;
247
247
  return {
248
248
  className: (0, _classnames["default"])('modal-section', className)
249
249
  };
250
- })(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 32px;\n\n .modal-section-title {\n font-weight: 500;\n }\n .modal-section-subtitle {\n color: ", ";\n }\n\n input {\n margin-top: 8px;\n }\n\n ", ";\n ", ";\n"])), function (props) {
250
+ })(_templateObject33 || (_templateObject33 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 32px;\n\n .modal-section-title {\n font-weight: 500;\n }\n .modal-section-subtitle {\n color: ", ";\n }\n\n input {\n margin-top: 8px;\n }\n\n ", ";\n ", ";\n"])), function (props) {
251
251
  return props.theme.subtextColorLT;
252
- }, _styles.media.portable(_templateObject36 || (_templateObject36 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 24px;\n "]))), _styles.media.palm(_templateObject37 || (_templateObject37 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 16px;\n "]))));
252
+ }, _styles.media.portable(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 24px;\n "]))), _styles.media.palm(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 16px;\n "]))));
253
253
  var StyledModalInputFootnote = exports.StyledModalInputFootnote = _styledComponents["default"].div.attrs({
254
254
  className: 'modal-input__footnote'
255
- })(_templateObject38 || (_templateObject38 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n color: ", ";\n font-size: 10px;\n"])), function (props) {
255
+ })(_templateObject36 || (_templateObject36 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n color: ", ";\n font-size: 10px;\n"])), function (props) {
256
256
  return props.error ? props.theme.errorColor : props.theme.subtextColorLT;
257
257
  });
258
258
  /**
@@ -260,7 +260,7 @@ var StyledModalInputFootnote = exports.StyledModalInputFootnote = _styledCompone
260
260
  * which will cause the map to display points in the wrong locations
261
261
  * This workaround will hide the error banner.
262
262
  */
263
- var StyledMapContainer = exports.StyledMapContainer = _styledComponents["default"].div(_templateObject39 || (_templateObject39 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 100%;\n .maplibregl-map {\n .maplibregl-missing-css {\n display: none;\n }\n .maplibregl-ctrl-attrib {\n display: none;\n }\n }\n .mapboxgl-map {\n .mapboxgl-missing-css {\n display: none;\n }\n .mapboxgl-ctrl-attrib {\n display: none;\n }\n }\n"])));
263
+ var StyledMapContainer = exports.StyledMapContainer = _styledComponents["default"].div(_templateObject37 || (_templateObject37 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 100%;\n .maplibregl-map {\n .maplibregl-missing-css {\n display: none;\n }\n .maplibregl-ctrl-attrib {\n display: none;\n }\n }\n .mapboxgl-map {\n .mapboxgl-missing-css {\n display: none;\n }\n .mapboxgl-ctrl-attrib {\n display: none;\n }\n }\n"])));
264
264
  var StyledAttribution = exports.StyledAttribution = _styledComponents["default"].div.withConfig({
265
265
  shouldForwardProp: function shouldForwardProp(prop) {
266
266
  return !['mapLibCssClass', 'mapLibAttributionCssClass'].includes(prop);
@@ -269,14 +269,18 @@ var StyledAttribution = exports.StyledAttribution = _styledComponents["default"]
269
269
  return {
270
270
  className: props.mapLibAttributionCssClass
271
271
  };
272
- })(_templateObject40 || (_templateObject40 = (0, _taggedTemplateLiteral2["default"])(["\n bottom: 0;\n right: 0;\n position: absolute;\n display: block;\n margin: 0 10px 6px;\n z-index: 1;\n .attrition-link {\n display: flex;\n align-items: center;\n margin-left: 10px;\n\n a,\n .pipe-separator {\n margin-right: 2px;\n color: ", ";\n }\n\n .pipe-separator {\n text-decoration: none;\n }\n }\n\n .attrition-logo {\n display: flex;\n font-size: 10px;\n justify-content: flex-end;\n align-items: center;\n color: ", ";\n\n a.", "-ctrl-logo {\n width: 72px;\n margin-left: 4px;\n background-size: contain;\n }\n }\n a,\n .pipe-separator {\n font-size: 10px;\n }\n\n ", ";\n"])), function (props) {
272
+ })(_templateObject38 || (_templateObject38 = (0, _taggedTemplateLiteral2["default"])(["\n bottom: 0;\n right: 0;\n position: absolute;\n display: block;\n margin: 0 10px 6px;\n z-index: 1;\n .attrition-link {\n display: flex;\n align-items: center;\n margin-left: 10px;\n\n a,\n .pipe-separator {\n margin-right: 2px;\n color: ", ";\n }\n\n .basemap-attribution {\n display: inline-block;\n max-width: 220px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n vertical-align: bottom;\n margin-right: 2px;\n font-size: 10px;\n line-height: normal;\n color: ", ";\n\n &:hover {\n max-width: none;\n white-space: normal;\n }\n }\n\n .basemap-attribution a {\n font-size: 10px;\n color: ", ";\n }\n\n .pipe-separator {\n text-decoration: none;\n }\n }\n\n .attrition-logo {\n display: flex;\n font-size: 10px;\n justify-content: flex-end;\n align-items: center;\n color: ", ";\n\n a.", "-ctrl-logo {\n width: 72px;\n margin-left: 4px;\n background-size: contain;\n }\n }\n a,\n .pipe-separator {\n font-size: 10px;\n }\n\n ", ";\n"])), function (props) {
273
+ return props.theme.labelColor;
274
+ }, function (props) {
275
+ return props.theme.labelColor;
276
+ }, function (props) {
273
277
  return props.theme.labelColor;
274
278
  }, function (props) {
275
279
  return props.theme.labelColor;
276
280
  }, function (props) {
277
281
  return props.mapLibCssClass;
278
- }, _styles.media.palm(_templateObject41 || (_templateObject41 = (0, _taggedTemplateLiteral2["default"])(["\n .attrition-logo a {\n width: 60px;\n }\n\n .attrition-link {\n line-height: 1em;\n }\n "]))));
279
- var StyledExportSection = exports.StyledExportSection = _styledComponents["default"].div(_templateObject42 || (_templateObject42 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n margin: 35px 0;\n width: 100%;\n color: ", ";\n font-size: 12px;\n opacity: ", ";\n pointer-events: ", ";\n\n .description {\n width: 185px;\n .title {\n font-weight: 500;\n font-family: ", ";\n }\n .subtitle {\n color: ", ";\n font-size: 11px;\n }\n }\n .warning {\n color: ", ";\n font-weight: 500;\n }\n .description.full {\n width: 100%;\n }\n .selection {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n padding-left: 50px;\n\n select {\n background-color: white;\n border-radius: 1px;\n display: inline-block;\n font: inherit;\n line-height: 1.5em;\n padding: 0.5em 3.5em 0.5em 1em;\n margin: 0;\n box-sizing: border-box;\n appearance: none;\n width: 250px;\n height: 36px;\n\n background-image: linear-gradient(45deg, transparent 50%, gray 50%),\n linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px),\n calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n }\n\n select:focus {\n background-image: linear-gradient(45deg, green 50%, transparent 50%),\n linear-gradient(135deg, transparent 50%, green 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 15px) 1em, calc(100% - 20px) 1em, calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n border-color: green;\n outline: 0;\n }\n }\n"])), function (props) {
282
+ }, _styles.media.palm(_templateObject39 || (_templateObject39 = (0, _taggedTemplateLiteral2["default"])(["\n .attrition-logo a {\n width: 60px;\n }\n\n .attrition-link {\n line-height: 1em;\n }\n\n .basemap-attribution {\n max-width: 140px;\n }\n "]))));
283
+ var StyledExportSection = exports.StyledExportSection = _styledComponents["default"].div(_templateObject40 || (_templateObject40 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n margin: 35px 0;\n width: 100%;\n color: ", ";\n font-size: 12px;\n opacity: ", ";\n pointer-events: ", ";\n\n .description {\n width: 185px;\n .title {\n font-weight: 500;\n font-family: ", ";\n }\n .subtitle {\n color: ", ";\n font-size: 11px;\n }\n }\n .warning {\n color: ", ";\n font-weight: 500;\n }\n .description.full {\n width: 100%;\n }\n .selection {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n padding-left: 50px;\n\n select {\n background-color: white;\n border-radius: 1px;\n display: inline-block;\n font: inherit;\n line-height: 1.5em;\n padding: 0.5em 3.5em 0.5em 1em;\n margin: 0;\n box-sizing: border-box;\n appearance: none;\n width: 250px;\n height: 36px;\n\n background-image: linear-gradient(45deg, transparent 50%, gray 50%),\n linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px),\n calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n }\n\n select:focus {\n background-image: linear-gradient(45deg, green 50%, transparent 50%),\n linear-gradient(135deg, transparent 50%, green 50%), linear-gradient(to right, #ccc, #ccc);\n background-position: calc(100% - 15px) 1em, calc(100% - 20px) 1em, calc(100% - 2.5em) 4.5em;\n background-size: 5px 5px, 5px 5px, 1px 1.5em;\n background-repeat: no-repeat;\n border-color: green;\n outline: 0;\n }\n }\n"])), function (props) {
280
284
  return props.theme.textColorLT;
281
285
  }, function (props) {
282
286
  return props.disabled ? 0.3 : 1;
@@ -290,20 +294,20 @@ var StyledExportSection = exports.StyledExportSection = _styledComponents["defau
290
294
  }, function (props) {
291
295
  return props.theme.errorColor;
292
296
  });
293
- var StyledFilteredOption = exports.StyledFilteredOption = (0, _styledComponents["default"])(SelectionButton)(_templateObject43 || (_templateObject43 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin: 4px;\n padding: 8px 12px;\n width: 140px;\n\n .filter-option-title {\n color: ", ";\n font-size: 12px;\n font-weight: 500;\n }\n .filter-option-subtitle {\n color: ", ";\n font-size: 11px;\n }\n"])), function (props) {
297
+ var StyledFilteredOption = exports.StyledFilteredOption = (0, _styledComponents["default"])(SelectionButton)(_templateObject41 || (_templateObject41 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin: 4px;\n padding: 8px 12px;\n width: 140px;\n\n .filter-option-title {\n color: ", ";\n font-size: 12px;\n font-weight: 500;\n }\n .filter-option-subtitle {\n color: ", ";\n font-size: 11px;\n }\n"])), function (props) {
294
298
  return props.theme.textColorLT;
295
299
  }, function (props) {
296
300
  return props.theme.subtextColorLT;
297
301
  });
298
- var StyledType = exports.StyledType = (0, _styledComponents["default"])(SelectionButton)(_templateObject44 || (_templateObject44 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100px;\n margin: 4px;\n padding: 6px 10px;\n width: 100px;\n"])));
299
- var WidgetContainer = exports.WidgetContainer = _styledComponents["default"].div(_templateObject45 || (_templateObject45 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n"])));
300
- var BottomWidgetInner = exports.BottomWidgetInner = _styledComponents["default"].div(_templateObject46 || (_templateObject46 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: ", ";\n position: relative;\n margin-top: ", "px;\n\n ", "\n"])), function (props) {
302
+ var StyledType = exports.StyledType = (0, _styledComponents["default"])(SelectionButton)(_templateObject42 || (_templateObject42 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100px;\n margin: 4px;\n padding: 6px 10px;\n width: 100px;\n"])));
303
+ var WidgetContainer = exports.WidgetContainer = _styledComponents["default"].div(_templateObject43 || (_templateObject43 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n"])));
304
+ var BottomWidgetInner = exports.BottomWidgetInner = _styledComponents["default"].div(_templateObject44 || (_templateObject44 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: ", ";\n position: relative;\n margin-top: ", "px;\n\n ", "\n"])), function (props) {
301
305
  return props.theme.bottomWidgetBgd;
302
306
  }, function (props) {
303
307
  return "".concat(props.theme.bottomInnerPdVert, "px ").concat(props.theme.bottomInnerPdSide, "px");
304
308
  }, function (props) {
305
309
  return props.theme.bottomPanelGap;
306
- }, _styles.media.portable(_templateObject47 || (_templateObject47 = (0, _taggedTemplateLiteral2["default"])(["\n border-top: 1px solid ", ";\n border-left: 1px solid ", ";\n padding: 12px 12px;\n margin-top: 0;\n "])), function (props) {
310
+ }, _styles.media.portable(_templateObject45 || (_templateObject45 = (0, _taggedTemplateLiteral2["default"])(["\n border-top: 1px solid ", ";\n border-left: 1px solid ", ";\n padding: 12px 12px;\n margin-top: 0;\n "])), function (props) {
307
311
  return props.theme.panelBorderColor;
308
312
  }, function (props) {
309
313
  return props.theme.panelBorderColor;
@@ -316,7 +320,7 @@ var MapControlButton = exports.MapControlButton = (0, _styledComponents["default
316
320
  return {
317
321
  className: (0, _classnames["default"])('map-control-button', props.className)
318
322
  };
319
- })(_templateObject48 || (_templateObject48 = (0, _taggedTemplateLiteral2["default"])(["\n box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.16);\n height: 32px;\n width: 32px;\n padding: 0;\n border-radius: ", ";\n background-color: ", ";\n color: ", ";\n border: ", ";\n\n &:hover,\n &:focus,\n &:active,\n &.active {\n background-color: ", ";\n color: ", ";\n border: ", ";\n }\n svg {\n margin-right: 0;\n }\n"])), function (props) {
323
+ })(_templateObject46 || (_templateObject46 = (0, _taggedTemplateLiteral2["default"])(["\n box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.16);\n height: 32px;\n width: 32px;\n padding: 0;\n border-radius: ", ";\n background-color: ", ";\n color: ", ";\n border: ", ";\n\n &:hover,\n &:focus,\n &:active,\n &.active {\n background-color: ", ";\n color: ", ";\n border: ", ";\n }\n svg {\n margin-right: 0;\n }\n"])), function (props) {
320
324
  return props.theme.floatingBtnRadius;
321
325
  }, function (props) {
322
326
  return props.active ? props.theme.floatingBtnBgdHover : props.theme.floatingBtnBgd;
@@ -331,16 +335,16 @@ var MapControlButton = exports.MapControlButton = (0, _styledComponents["default
331
335
  }, function (props) {
332
336
  return props.theme.floatingBtnBorderHover;
333
337
  });
334
- var StyledFilterContent = exports.StyledFilterContent = _styledComponents["default"].div(_templateObject49 || (_templateObject49 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
338
+ var StyledFilterContent = exports.StyledFilterContent = _styledComponents["default"].div(_templateObject47 || (_templateObject47 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px;\n"])), function (props) {
335
339
  return props.theme.panelContentBackground;
336
340
  });
337
- var TruncatedTitleText = exports.TruncatedTitleText = _styledComponents["default"].div(_templateObject50 || (_templateObject50 = (0, _taggedTemplateLiteral2["default"])(["\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
341
+ var TruncatedTitleText = exports.TruncatedTitleText = _styledComponents["default"].div(_templateObject48 || (_templateObject48 = (0, _taggedTemplateLiteral2["default"])(["\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
338
342
  var CheckMark = exports.CheckMark = _styledComponents["default"].span.attrs({
339
343
  className: 'checkbox-inner'
340
- })(_templateObject51 || (_templateObject51 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n position: absolute;\n top: 0;\n right: 0;\n display: block;\n width: 10px;\n height: 10px;\n border-top-left-radius: 2px;\n\n &:after {\n position: absolute;\n display: table;\n border: 1px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(1) translate(-50%, -50%);\n opacity: 1;\n content: ' ';\n top: 40%;\n left: 30%;\n width: 3.2px;\n height: 6.22px;\n }\n"])), function (props) {
344
+ })(_templateObject49 || (_templateObject49 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n position: absolute;\n top: 0;\n right: 0;\n display: block;\n width: 10px;\n height: 10px;\n border-top-left-radius: 2px;\n\n &:after {\n position: absolute;\n display: table;\n border: 1px solid #fff;\n border-top: 0;\n border-left: 0;\n transform: rotate(45deg) scale(1) translate(-50%, -50%);\n opacity: 1;\n content: ' ';\n top: 40%;\n left: 30%;\n width: 3.2px;\n height: 6.22px;\n }\n"])), function (props) {
341
345
  return props.theme.selectionBtnBorderActColor;
342
346
  });
343
- var StyledTimePicker = exports.StyledTimePicker = (0, _styledComponents["default"])(_reactTimePicker["default"])(_templateObject52 || (_templateObject52 = (0, _taggedTemplateLiteral2["default"])(["\n .react-time-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n background-color: ", ";\n color: ", ";\n }\n .react-time-picker,\n .react-time-picker *,\n .react-time-picker *:before,\n .react-time-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-time-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n background-color: ", ";\n border-radius: 4px;\n width: 110px;\n white-space: nowrap;\n }\n .react-time-picker__wrapper:hover {\n background-color: ", ";\n }\n .react-time-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 6 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 2px;\n box-sizing: content-box;\n display: flex;\n justify-content: end;\n align-items: center;\n height: 24px;\n }\n .react-time-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n }\n .react-time-picker__inputGroup__divider,\n .react-time-picker__inputGroup__leadingZero {\n display: inline-block;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: 400;\n }\n .react-time-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: transparent;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-time-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-time-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-time-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-time-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-time-picker__inputGroup__amPm {\n max-width: 37px;\n font: inherit;\n font-weight: 400;\n -webkit-appearance: menulist;\n -moz-appearance: menulist;\n appearance: menulist;\n font-size: ", ";\n }\n .react-time-picker__button {\n border: 0;\n background-color: ", ";\n padding: 4px 6px;\n }\n .react-time-picker__button:enabled {\n cursor: pointer;\n }\n .react-time-picker__button svg {\n display: inherit;\n }\n .react-time-picker__clock--closed,\n .react-time-picker__clear-button {\n display: none;\n }\n"])), function (props) {
347
+ var StyledTimePicker = exports.StyledTimePicker = (0, _styledComponents["default"])(_reactTimePicker["default"])(_templateObject50 || (_templateObject50 = (0, _taggedTemplateLiteral2["default"])(["\n .react-time-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n background-color: ", ";\n color: ", ";\n }\n .react-time-picker,\n .react-time-picker *,\n .react-time-picker *:before,\n .react-time-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-time-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n background-color: ", ";\n border-radius: 4px;\n width: 110px;\n white-space: nowrap;\n }\n .react-time-picker__wrapper:hover {\n background-color: ", ";\n }\n .react-time-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 6 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 2px;\n box-sizing: content-box;\n display: flex;\n justify-content: end;\n align-items: center;\n height: 24px;\n }\n .react-time-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n }\n .react-time-picker__inputGroup__divider,\n .react-time-picker__inputGroup__leadingZero {\n display: inline-block;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: 400;\n }\n .react-time-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: transparent;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-time-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-time-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-time-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-time-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-time-picker__inputGroup__amPm {\n max-width: 37px;\n font: inherit;\n font-weight: 400;\n -webkit-appearance: menulist;\n -moz-appearance: menulist;\n appearance: menulist;\n font-size: ", ";\n }\n .react-time-picker__button {\n border: 0;\n background-color: ", ";\n padding: 4px 6px;\n }\n .react-time-picker__button:enabled {\n cursor: pointer;\n }\n .react-time-picker__button svg {\n display: inherit;\n }\n .react-time-picker__clock--closed,\n .react-time-picker__clear-button {\n display: none;\n }\n"])), function (props) {
344
348
  return props.theme.fontFamily;
345
349
  }, function (props) {
346
350
  return props.theme.inputFontSize;
@@ -369,7 +373,7 @@ var StyledTimePicker = exports.StyledTimePicker = (0, _styledComponents["default
369
373
  }, function (props) {
370
374
  return props.theme.inputBgd;
371
375
  });
372
- var StyledDatePicker = exports.StyledDatePicker = (0, _styledComponents["default"])(_reactDatePicker["default"])(_templateObject53 || (_templateObject53 = (0, _taggedTemplateLiteral2["default"])(["\n .react-date-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n }\n .react-date-picker,\n .react-date-picker *,\n .react-date-picker *:before,\n .react-date-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-date-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n width: 108px;\n white-space: nowrap;\n border-radius: 4px;\n }\n .react-date-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 8 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 9px;\n box-sizing: content-box;\n background-color: ", ";\n display: flex;\n justify-content: end;\n align-items: center;\n height: 22px;\n border: 1px solid ", ";\n border-radius: 4px;\n }\n\n .react-date-picker__inputGroup:hover {\n background-color: ", ";\n }\n .react-date-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n color: ", ";\n }\n .react-date-picker__inputGroup__divider,\n .react-date-picker__inputGroup__leadingZero {\n display: inline-block;\n }\n .react-date-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: none;\n color: ", ";\n font: inherit;\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-date-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-date-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-date-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-date-picker__inputGroup__input:invalid {\n background: ", ";\n }\n .react-date-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-date-picker__calendar {\n width: 257px;\n max-width: 100vw;\n z-index: 11;\n color: ", ";\n inset: auto !important;\n }\n .react-date-picker__calendar--closed {\n display: none;\n }\n .react-date-picker__calendar .react-calendar {\n border-width: thin;\n }\n .react-date-picker__button {\n display: none;\n }\n .react-calendar {\n width: 256px;\n max-width: 100%;\n color: ", ";\n background: ", ";\n border-radius: 0px 4px 4px 4px;\n font-family: ", ";\n line-height: 1.125em;\n padding: 16px;\n }\n .react-calendar,\n .react-calendar *,\n .react-calendar *:before,\n .react-calendar *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-calendar button {\n margin: 0;\n border: 0;\n outline: none;\n }\n .react-calendar buttom:enabled {\n color: ", ";\n }\n .react-calendar button:enabled:hover {\n cursor: pointer;\n }\n .react-calendar__navigation {\n display: flex;\n height: 25px;\n margin-bottom: 1em;\n }\n .react-calendar__navigation button {\n min-width: 25px;\n background: none;\n }\n .react-calendar__navigation button:enabled:hover,\n .react-calendar__navigation button:enabled:focus {\n background-color: ", ";\n }\n .react-calendar__month-view__weekdays {\n text-align: center;\n text-transform: uppercase;\n font-weight: bold;\n }\n .react-calendar__month-view__weekdays__weekday {\n color: ", ";\n padding: 0.5em;\n font-size: ", ";\n abbr {\n text-decoration: none;\n }\n }\n .react-calendar__month-view__weekNumbers .react-calendar__tile {\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n }\n .react-calendar__month-view__days__day--weekend {\n color: ", ";\n }\n .react-calendar__month-view__days__day--neighboringMonth {\n color: ", ";\n opacity: 0.4;\n }\n .react-calendar__navigation__label__labelText,\n .react-calendar__navigation__arrow {\n color: ", ";\n }\n .react-calendar__year-view .react-calendar__tile,\n .react-calendar__decade-view .react-calendar__tile,\n .react-calendar__century-view .react-calendar__tile {\n padding: 2em 0.5em;\n }\n .react-calendar__tile {\n color: ", ";\n max-width: 100%;\n padding: 6px 4px;\n background: none;\n text-align: center;\n font-size: ", ";\n height: 30px;\n }\n .react-calendar__tile:enabled:hover,\n .react-calendar__tile:enabled:focus {\n background-color: ", ";\n color: ", ";\n }\n .react-calendar__tile--now:enabled:hover,\n .react-calendar__tile--now:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--hasActive {\n background: ", ";\n }\n .react-calendar__tile--hasActive:enabled:hover,\n .react-calendar__tile--hasActive:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--active {\n background: ", ";\n color: ", ";\n border-radius: 4px;\n }\n .react-calendar__tile--active:enabled:hover,\n .react-calendar__tile--active:enabled:focus {\n background: ", ";\n }\n .calendar__navigation__label__labelText {\n \u0441olor: ", ";\n }\n"])), function (props) {
376
+ var StyledDatePicker = exports.StyledDatePicker = (0, _styledComponents["default"])(_reactDatePicker["default"])(_templateObject51 || (_templateObject51 = (0, _taggedTemplateLiteral2["default"])(["\n .react-date-picker {\n display: inline-flex;\n position: relative;\n font-family: ", ";\n font-size: ", ";\n }\n .react-date-picker,\n .react-date-picker *,\n .react-date-picker *:before,\n .react-date-picker *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-date-picker__wrapper {\n display: flex;\n flex-grow: 1;\n flex-shrink: 0;\n width: 108px;\n white-space: nowrap;\n border-radius: 4px;\n }\n .react-date-picker__inputGroup {\n min-width: calc((4px * 3) + 0.54em * 8 + 0.217em * 2);\n flex-grow: 1;\n padding: 4px 9px;\n box-sizing: content-box;\n background-color: ", ";\n display: flex;\n justify-content: end;\n align-items: center;\n height: 22px;\n border: 1px solid ", ";\n border-radius: 4px;\n }\n\n .react-date-picker__inputGroup:hover {\n background-color: ", ";\n }\n .react-date-picker__inputGroup__divider {\n padding: 1px 0;\n white-space: pre;\n color: ", ";\n }\n .react-date-picker__inputGroup__divider,\n .react-date-picker__inputGroup__leadingZero {\n display: inline-block;\n }\n .react-date-picker__inputGroup__input {\n min-width: 0.54em;\n height: 100%;\n position: relative;\n padding: 0 1px;\n border: 0;\n background: none;\n color: ", ";\n font: inherit;\n font-size: ", ";\n box-sizing: content-box;\n -webkit-appearance: textfield;\n -moz-appearance: textfield;\n appearance: textfield;\n }\n .react-date-picker__inputGroup__input:focus {\n outline: none;\n }\n .react-date-picker__inputGroup__input::-webkit-outer-spin-button,\n .react-date-picker__inputGroup__input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n margin: 0;\n }\n .react-date-picker__inputGroup__input:invalid {\n background: ", ";\n }\n .react-date-picker__inputGroup__input--hasLeadingZero {\n margin-left: -0.54em;\n padding-left: calc(1px + 0.54em);\n }\n .react-date-picker__calendar {\n width: 257px;\n max-width: 100vw;\n z-index: 11;\n color: ", ";\n inset: auto !important;\n }\n .react-date-picker__calendar--closed {\n display: none;\n }\n .react-date-picker__calendar .react-calendar {\n border-width: thin;\n }\n .react-date-picker__button {\n display: none;\n }\n .react-calendar {\n width: 256px;\n max-width: 100%;\n color: ", ";\n background: ", ";\n border-radius: 0px 4px 4px 4px;\n font-family: ", ";\n line-height: 1.125em;\n padding: 16px;\n }\n .react-calendar,\n .react-calendar *,\n .react-calendar *:before,\n .react-calendar *:after {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n }\n .react-calendar button {\n margin: 0;\n border: 0;\n outline: none;\n }\n .react-calendar buttom:enabled {\n color: ", ";\n }\n .react-calendar button:enabled:hover {\n cursor: pointer;\n }\n .react-calendar__navigation {\n display: flex;\n height: 25px;\n margin-bottom: 1em;\n }\n .react-calendar__navigation button {\n min-width: 25px;\n background: none;\n }\n .react-calendar__navigation button:enabled:hover,\n .react-calendar__navigation button:enabled:focus {\n background-color: ", ";\n }\n .react-calendar__month-view__weekdays {\n text-align: center;\n text-transform: uppercase;\n font-weight: bold;\n }\n .react-calendar__month-view__weekdays__weekday {\n color: ", ";\n padding: 0.5em;\n font-size: ", ";\n abbr {\n text-decoration: none;\n }\n }\n .react-calendar__month-view__weekNumbers .react-calendar__tile {\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n }\n .react-calendar__month-view__days__day--weekend {\n color: ", ";\n }\n .react-calendar__month-view__days__day--neighboringMonth {\n color: ", ";\n opacity: 0.4;\n }\n .react-calendar__navigation__label__labelText,\n .react-calendar__navigation__arrow {\n color: ", ";\n }\n .react-calendar__year-view .react-calendar__tile,\n .react-calendar__decade-view .react-calendar__tile,\n .react-calendar__century-view .react-calendar__tile {\n padding: 2em 0.5em;\n }\n .react-calendar__tile {\n color: ", ";\n max-width: 100%;\n padding: 6px 4px;\n background: none;\n text-align: center;\n font-size: ", ";\n height: 30px;\n }\n .react-calendar__tile:enabled:hover,\n .react-calendar__tile:enabled:focus {\n background-color: ", ";\n color: ", ";\n }\n .react-calendar__tile--now:enabled:hover,\n .react-calendar__tile--now:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--hasActive {\n background: ", ";\n }\n .react-calendar__tile--hasActive:enabled:hover,\n .react-calendar__tile--hasActive:enabled:focus {\n background: ", ";\n color: ", ";\n }\n .react-calendar__tile--active {\n background: ", ";\n color: ", ";\n border-radius: 4px;\n }\n .react-calendar__tile--active:enabled:hover,\n .react-calendar__tile--active:enabled:focus {\n background: ", ";\n }\n .calendar__navigation__label__labelText {\n \u0441olor: ", ";\n }\n"])), function (props) {
373
377
  return props.theme.fontFamily;
374
378
  }, function (props) {
375
379
  return props.theme.inputFontSize;
@@ -436,4 +440,4 @@ var StyledDatePicker = exports.StyledDatePicker = (0, _styledComponents["default
436
440
  }, function (props) {
437
441
  return props.theme.effectPanelTextMain;
438
442
  });
439
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVzIiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdERhdGVQaWNrZXIiLCJfcmVhY3RUaW1lUGlja2VyIiwiX3JlYWN0VG9vbHRpcCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2lzUHJvcFZhbGlkIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfdGVtcGxhdGVPYmplY3QxMCIsIl90ZW1wbGF0ZU9iamVjdDExIiwiX3RlbXBsYXRlT2JqZWN0MTIiLCJfdGVtcGxhdGVPYmplY3QxMyIsIl90ZW1wbGF0ZU9iamVjdDE0IiwiX3RlbXBsYXRlT2JqZWN0MTUiLCJfdGVtcGxhdGVPYmplY3QxNiIsIl90ZW1wbGF0ZU9iamVjdDE3IiwiX3RlbXBsYXRlT2JqZWN0MTgiLCJfdGVtcGxhdGVPYmplY3QxOSIsIl90ZW1wbGF0ZU9iamVjdDIwIiwiX3RlbXBsYXRlT2JqZWN0MjEiLCJfdGVtcGxhdGVPYmplY3QyMiIsIl90ZW1wbGF0ZU9iamVjdDIzIiwiX3RlbXBsYXRlT2JqZWN0MjQiLCJfdGVtcGxhdGVPYmplY3QyNSIsIl90ZW1wbGF0ZU9iamVjdDI2IiwiX3RlbXBsYXRlT2JqZWN0MjciLCJfdGVtcGxhdGVPYmplY3QyOCIsIl90ZW1wbGF0ZU9iamVjdDI5IiwiX3RlbXBsYXRlT2JqZWN0MzAiLCJfdGVtcGxhdGVPYmplY3QzMSIsIl90ZW1wbGF0ZU9iamVjdDMyIiwiX3RlbXBsYXRlT2JqZWN0MzMiLCJfdGVtcGxhdGVPYmplY3QzNCIsIl90ZW1wbGF0ZU9iamVjdDM1IiwiX3RlbXBsYXRlT2JqZWN0MzYiLCJfdGVtcGxhdGVPYmplY3QzNyIsIl90ZW1wbGF0ZU9iamVjdDM4IiwiX3RlbXBsYXRlT2JqZWN0MzkiLCJfdGVtcGxhdGVPYmplY3Q0MCIsIl90ZW1wbGF0ZU9iamVjdDQxIiwiX3RlbXBsYXRlT2JqZWN0NDIiLCJfdGVtcGxhdGVPYmplY3Q0MyIsIl90ZW1wbGF0ZU9iamVjdDQ0IiwiX3RlbXBsYXRlT2JqZWN0NDUiLCJfdGVtcGxhdGVPYmplY3Q0NiIsIl90ZW1wbGF0ZU9iamVjdDQ3IiwiX3RlbXBsYXRlT2JqZWN0NDgiLCJfdGVtcGxhdGVPYmplY3Q0OSIsIl90ZW1wbGF0ZU9iamVjdDUwIiwiX3RlbXBsYXRlT2JqZWN0NTEiLCJfdGVtcGxhdGVPYmplY3Q1MiIsIl90ZW1wbGF0ZU9iamVjdDUzIiwic2hvdWxkRm9yd2FyZFByb3AiLCJwcm9wTmFtZSIsInRhcmdldCIsImlzUHJvcFZhbGlkIiwiU2VsZWN0VGV4dCIsImV4cG9ydHMiLCJzdHlsZWQiLCJzcGFuIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwibGFiZWxDb2xvciIsInNlbGVjdEZvbnRTaXplIiwiU2VsZWN0VGV4dEJvbGQiLCJ0ZXh0Q29sb3IiLCJJY29uUm91bmRTbWFsbCIsImRpdiIsInNlY29uZGFyeUJ0bkJnZEhvdmVyIiwic2Vjb25kYXJ5QnRuQ29sb3IiLCJDZW50ZXJGbGV4Ym94IiwiQ2VudGVyVmVydGljYWxGbGV4Ym94IiwiRW5kSG9yaXpvbnRhbEZsZXhib3giLCJTcGFjZUJldHdlZW5GbGV4Ym94IiwiU0JGbGV4Ym94SXRlbSIsIlNCRmxleGJveE5vTWFyZ2luIiwiUGFuZWxMYWJlbCIsImxhYmVsIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJQYW5lbExhYmVsV3JhcHBlciIsIlBhbmVsTGFiZWxCb2xkIiwiUGFuZWxIZWFkZXJUaXRsZSIsImNsYXNzbmFtZXMiLCJQYW5lbEhlYWRlckNvbnRlbnQiLCJQYW5lbENvbnRlbnQiLCJwYW5lbENvbnRlbnRCYWNrZ3JvdW5kIiwiU2lkZVBhbmVsU2VjdGlvbiIsImRpc2FibGVkIiwiU2lkZVBhbmVsRGl2aWRlciIsInNpZGVwYW5lbERpdmlkZXJCb3JkZXIiLCJwYW5lbEJvcmRlckNvbG9yIiwic2lkZXBhbmVsRGl2aWRlck1hcmdpbiIsInNpZGVwYW5lbERpdmlkZXJIZWlnaHQiLCJUb29sdGlwIiwiUmVhY3RUb29sdGlwIiwidG9vbHRpcEZvbnRTaXplIiwidG9vbHRpcEJveFNoYWRvdyIsInRvb2x0aXBCZyIsInRvb2x0aXBDb2xvciIsIkJ1dHRvbiIsImJ1dHRvbiIsIndpdGhDb25maWciLCJuZWdhdGl2ZSIsIm5lZ2F0aXZlQnRuQmdkIiwic2Vjb25kYXJ5Iiwic2Vjb25kYXJ5QnRuQmdkIiwibGluayIsImxpbmtCdG5CZ2QiLCJmbG9hdGluZyIsImZsb2F0aW5nQnRuQmdkIiwiY3RhIiwiY3RhQnRuQmdkIiwicHJpbWFyeUJ0bkJnZCIsInByaW1hcnlCdG5SYWRpdXMiLCJuZWdhdGl2ZUJ0bkNvbG9yIiwibGlua0J0bkNvbG9yIiwiZmxvYXRpbmdCdG5Db2xvciIsImN0YUJ0bkNvbG9yIiwicHJpbWFyeUJ0bkNvbG9yIiwibGFyZ2UiLCJwcmltYXJ5QnRuRm9udFNpemVMYXJnZSIsInNtYWxsIiwicHJpbWFyeUJ0bkZvbnRTaXplU21hbGwiLCJwcmltYXJ5QnRuRm9udFNpemVEZWZhdWx0IiwiYnRuRm9udEZhbWlseSIsInRyYW5zaXRpb24iLCJ3aWR0aCIsIm5lZ2F0aXZlQnRuQm9yZGVyIiwic2Vjb25kYXJ5QnRuQm9yZGVyIiwiZmxvYXRpbmdCdG5Cb3JkZXIiLCJsaW5rQnRuQm9yZGVyIiwicHJpbWFyeUJ0bkJvcmRlciIsIm5lZ2F0aXZlQnRuQmdkSG92ZXIiLCJsaW5rQnRuQWN0QmdkSG92ZXIiLCJmbG9hdGluZ0J0bkJnZEhvdmVyIiwiY3RhQnRuQmdkSG92ZXIiLCJwcmltYXJ5QnRuQmdkSG92ZXIiLCJuZWdhdGl2ZUJ0bkFjdENvbG9yIiwic2Vjb25kYXJ5QnRuQWN0Q29sb3IiLCJsaW5rQnRuQWN0Q29sb3IiLCJmbG9hdGluZ0J0bkFjdENvbG9yIiwiY3RhQnRuQWN0Q29sb3IiLCJwcmltYXJ5QnRuQWN0Q29sb3IiLCJJbnB1dCIsImlucHV0Iiwic2Vjb25kYXJ5SW5wdXQiLCJJbnB1dExpZ2h0IiwiaW5wdXRMVCIsIlRleHRBcmVhIiwidGV4dGFyZWEiLCJUZXh0QXJlYUxpZ2h0IiwiSW5saW5lSW5wdXQiLCJpbmxpbmVJbnB1dCIsIlN0eWxlZFBhbmVsSGVhZGVyIiwiJGFjdGl2ZSIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwicGFuZWxCYWNrZ3JvdW5kIiwibGFiZWxSQ0dDb2xvclZhbHVlcyIsImpvaW4iLCJwYW5lbEhlYWRlckhlaWdodCIsInBhbmVsSGVhZGVyQm9yZGVyUmFkaXVzIiwiU3R5bGVkUGFuZWxEcm9wZG93biIsInBhbmVsRHJvcGRvd25TY3JvbGxCYXIiLCJ0eXBlIiwibW9kYWxEcm9wZG93bkJhY2tncm91bmQiLCJwYW5lbEJveFNoYWRvdyIsInBhbmVsQm9yZGVyUmFkaXVzIiwiQnV0dG9uR3JvdXAiLCJEYXRhc2V0U3F1YXJlIiwiYmFja2dyb3VuZENvbG9yIiwiU2VsZWN0aW9uQnV0dG9uIiwic2VsZWN0ZWQiLCJzZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvciIsInNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yIiwic2VsZWN0aW9uQnRuQWN0Q29sb3IiLCJzZWxlY3Rpb25CdG5Db2xvciIsInNlbGVjdGlvbkJ0bkFjdEJnZCIsInNlbGVjdGlvbkJ0bkJnZCIsIlN0eWxlZFRhYmxlIiwidGFibGUiLCJwYW5lbEJhY2tncm91bmRMVCIsInRpdGxlQ29sb3JMVCIsInBhbmVsQm9yZGVyTFQiLCJTdHlsZWRNb2RhbENvbnRlbnQiLCJ0ZXh0Q29sb3JMVCIsIm1vZGFsTGF0ZXJhbFBhZGRpbmciLCJtZWRpYSIsInBvcnRhYmxlIiwibW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nIiwiU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsIiwicGFsbSIsIlN0eWxlZE1vZGFsU2VjdGlvbiIsIl9yZWYiLCJzdWJ0ZXh0Q29sb3JMVCIsIlN0eWxlZE1vZGFsSW5wdXRGb290bm90ZSIsImVycm9yIiwiZXJyb3JDb2xvciIsIlN0eWxlZE1hcENvbnRhaW5lciIsIlN0eWxlZEF0dHJpYnV0aW9uIiwicHJvcCIsImluY2x1ZGVzIiwibWFwTGliQXR0cmlidXRpb25Dc3NDbGFzcyIsIm1hcExpYkNzc0NsYXNzIiwiU3R5bGVkRXhwb3J0U2VjdGlvbiIsIl9wcm9wcyR0aGVtZSRmb250RmFtaSIsImZvbnRGYW1pbHlNZWRpdW0iLCJmb250RmFtaWx5IiwiU3R5bGVkRmlsdGVyZWRPcHRpb24iLCJTdHlsZWRUeXBlIiwiV2lkZ2V0Q29udGFpbmVyIiwiQm90dG9tV2lkZ2V0SW5uZXIiLCJib3R0b21XaWRnZXRCZ2QiLCJjb25jYXQiLCJib3R0b21Jbm5lclBkVmVydCIsImJvdHRvbUlubmVyUGRTaWRlIiwiYm90dG9tUGFuZWxHYXAiLCJNYXBDb250cm9sQnV0dG9uIiwiZmxvYXRpbmdCdG5SYWRpdXMiLCJhY3RpdmUiLCJmbG9hdGluZ0J0bkJvcmRlckhvdmVyIiwiU3R5bGVkRmlsdGVyQ29udGVudCIsIlRydW5jYXRlZFRpdGxlVGV4dCIsIkNoZWNrTWFyayIsIlN0eWxlZFRpbWVQaWNrZXIiLCJUaW1lUGlja2VyIiwiaW5wdXRGb250U2l6ZSIsImlucHV0QmdkIiwiZWZmZWN0UGFuZWxUZXh0TWFpbiIsImlucHV0QmdkSG92ZXIiLCJTdHlsZWREYXRlUGlja2VyIiwiRGF0ZVBpY2tlciIsImVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTEiLCJpbnB1dEJnZEFjdGl2ZSIsImVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTIiLCJlZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkzIiwicHJpbWFyeUJ0bkFjdEJnZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcbmltcG9ydCB7UkdCQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgRGF0ZVBpY2tlciBmcm9tICdyZWFjdC1kYXRlLXBpY2tlcic7XG5pbXBvcnQgVGltZVBpY2tlciBmcm9tICdyZWFjdC10aW1lLXBpY2tlcic7XG5pbXBvcnQgUmVhY3RUb29sdGlwLCB7VG9vbHRpcFByb3BzfSBmcm9tICdyZWFjdC10b29sdGlwJztcbmltcG9ydCBzdHlsZWQsIHtJU3R5bGVkQ29tcG9uZW50fSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgaXNQcm9wVmFsaWQgZnJvbSAnQGVtb3Rpb24vaXMtcHJvcC12YWxpZCc7XG5cbmltcG9ydCB7QmFzZUNvbXBvbmVudFByb3BzfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIFRoaXMgaW1wbGVtZW50cyB0aGUgZGVmYXVsdCBiZWhhdmlvciBmcm9tIHN0eWxlZC1jb21wb25lbnRzIHY1XG5leHBvcnQgZnVuY3Rpb24gc2hvdWxkRm9yd2FyZFByb3AocHJvcE5hbWUsIHRhcmdldCkge1xuICBpZiAodHlwZW9mIHRhcmdldCA9PT0gJ3N0cmluZycpIHtcbiAgICAvLyBGb3IgSFRNTCBlbGVtZW50cywgZm9yd2FyZCB0aGUgcHJvcCBpZiBpdCBpcyBhIHZhbGlkIEhUTUwgYXR0cmlidXRlXG4gICAgcmV0dXJuIGlzUHJvcFZhbGlkKHByb3BOYW1lKTtcbiAgfVxuICAvLyBGb3Igb3RoZXIgZWxlbWVudHMsIGZvcndhcmQgYWxsIHByb3BzXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgY29uc3QgU2VsZWN0VGV4dCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdEZvbnRTaXplfTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTZWxlY3RUZXh0Qm9sZCA9IHN0eWxlZChTZWxlY3RUZXh0KWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJY29uUm91bmRTbWFsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3Zlcn07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkNvbG9yfTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJ9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ2VudGVyRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgQ2VudGVyVmVydGljYWxGbGV4Ym94ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBFbmRIb3Jpem9udGFsRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG5gO1xuXG5leHBvcnQgY29uc3QgU3BhY2VCZXR3ZWVuRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNCRmxleGJveEl0ZW0gPSBzdHlsZWQuZGl2YFxuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNCRmxleGJveE5vTWFyZ2luID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsTGFiZWwgPSBzdHlsZWQubGFiZWwuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLXBhbmVsX19sYWJlbCdcbn0pYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbFdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbC1wYW5lbF9fbGFiZWwtd3JhcHBlcidcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsQm9sZCA9IHN0eWxlZChQYW5lbExhYmVsKWBcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbEhlYWRlclRpdGxlID0gc3R5bGVkLnNwYW4uYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXBhbmVsX19oZWFkZXJfX3RpdGxlJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjQzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsSGVhZGVyQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIHBhZGRpbmctbGVmdDogMTJweDtcblxuICAuaWNvbiB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsQ29udGVudCA9IHN0eWxlZC5kaXYuYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdzaWRlLXBhbmVsLXBhbmVsX19jb250ZW50JywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQ29udGVudEJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAxMnB4O1xuYDtcblxuaW50ZXJmYWNlIFNpZGVQYW5lbFNlY3Rpb25Qcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFNpZGVQYW5lbFNlY3Rpb24gPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnc2lkZS1wYW5lbC1zZWN0aW9uJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpPFNpZGVQYW5lbFNlY3Rpb25Qcm9wcz5gXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjQgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5gO1xuXG5leHBvcnQgY29uc3QgU2lkZVBhbmVsRGl2aWRlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsLWRpdmlkZXInXG59KWBcbiAgYm9yZGVyLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlcGFuZWxEaXZpZGVyQm9yZGVyfSBzb2xpZFxuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gIG1hcmdpbi1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZXBhbmVsRGl2aWRlck1hcmdpbn1weDtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVwYW5lbERpdmlkZXJIZWlnaHR9cHg7XG5gO1xuXG50eXBlIFRvb2x0aXBBdHRyc1Byb3BzID0ge2ludGVyYWN0aXZlPzogYm9vbGVhbn0gJiBUb29sdGlwUHJvcHMgJiBCYXNlQ29tcG9uZW50UHJvcHM7XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwOiBJU3R5bGVkQ29tcG9uZW50PCd3ZWInLCBUb29sdGlwQXR0cnNQcm9wcz4gPSBzdHlsZWQoXG4gIFJlYWN0VG9vbHRpcFxuKTxUb29sdGlwUHJvcHM+YFxuICAmLl9fcmVhY3RfY29tcG9uZW50X3Rvb2x0aXAge1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwRm9udFNpemV9O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogMTBweCAxOHB4O1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJveFNoYWRvd307XG5cbiAgICAmLnR5cGUtZGFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQ29sb3J9O1xuICAgICAgJi5wbGFjZS1ib3R0b20ge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS10b3Age1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wbGFjZS1yaWdodCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucGxhY2UtbGVmdCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCZ307XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCB0eXBlIEJ1dHRvblByb3BzID0gUmVhY3QuQnV0dG9uSFRNTEF0dHJpYnV0ZXM8SFRNTEJ1dHRvbkVsZW1lbnQ+ICYge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHJlZj86IFJlYWN0LkZvcndhcmRlZFJlZjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBuZWdhdGl2ZT86IGJvb2xlYW47XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG4gIGxpbms/OiBib29sZWFuO1xuICBmbG9hdGluZz86IGJvb2xlYW47XG4gIGN0YT86IGJvb2xlYW47XG4gIGxhcmdlPzogYm9vbGVhbjtcbiAgc21hbGw/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHdpZHRoPzogc3RyaW5nO1xuICBpbmFjdGl2ZT86IGJvb2xlYW47XG4gIHNpemU/OiBzdHJpbmc7XG59O1xuXG4vLyB0aGlzIG5lZWRzIHRvIGJlIGFuIGFjdHVhbCBidXR0b24gdG8gYmUgYWJsZSB0byBzZXQgZGlzYWJsZWQgYXR0cmlidXRlIGNvcnJlY3RseVxuZXhwb3J0IGNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b24ud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KS5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ2J1dHRvbicsIHByb3BzLmNsYXNzTmFtZSlcbn0pKTxCdXR0b25Qcm9wcz5gXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJnZFxuICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkJnZFxuICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZFxuICAgICAgOiBwcm9wcy5jdGFcbiAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQmdkXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkNvbG9yXG4gICAgICA6IHByb3BzLmxpbmtcbiAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkNvbG9yXG4gICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQ29sb3JcbiAgICAgIDogcHJvcHMuY3RhXG4gICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkNvbG9yXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Db2xvcn07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PlxuICAgIHByb3BzLmxhcmdlXG4gICAgICA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZUxhcmdlXG4gICAgICA6IHByb3BzLnNtYWxsXG4gICAgICA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZVNtYWxsXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Gb250U2l6ZURlZmF1bHR9O1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5idG5Gb250RmFtaWx5fTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gKHByb3BzLmxhcmdlID8gJzE0cHggMzJweCcgOiBwcm9wcy5zbWFsbCA/ICc2cHggOXB4JyA6ICc5cHggMTJweCcpfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/IDAuNCA6IDEpfTtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gJ25vbmUnIDogJ2FsbCcpfTtcbiAgYm9yZGVyOiAke3Byb3BzID0+XG4gICAgcHJvcHMubmVnYXRpdmVcbiAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJvcmRlclxuICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlclxuICAgICAgOiBwcm9wcy5saW5rXG4gICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJvcmRlcn07XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMubmVnYXRpdmVcbiAgICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy5saW5rXG4gICAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkFjdEJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMuY3RhXG4gICAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQmdkSG92ZXJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkSG92ZXJ9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+XG4gICAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5zZWNvbmRhcnlcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLmxpbmtcbiAgICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgICA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5jdGFcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5BY3RDb2xvclxuICAgICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cblxuICBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogJHtwcm9wcyA9PiAocHJvcHMubGFyZ2UgPyAnMTBweCcgOiBwcm9wcy5zbWFsbCA/ICc2cHgnIDogJzhweCcpfTtcbiAgfVxuYDtcblxuaW50ZXJmYWNlIElucHV0UHJvcHMge1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgSW5wdXQgPSBzdHlsZWQuaW5wdXQud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTxJbnB1dFByb3BzPmBcbiAgJHtwcm9wcyA9PiAocHJvcHMuc2Vjb25kYXJ5ID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXQgOiBwcm9wcy50aGVtZS5pbnB1dCl9O1xuYDtcblxuZXhwb3J0IGNvbnN0IElucHV0TGlnaHQgPSBzdHlsZWQuaW5wdXQud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KWBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dExUfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBUZXh0QXJlYSA9IHN0eWxlZC50ZXh0YXJlYS53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pPElucHV0UHJvcHM+YFxuICAke3Byb3BzID0+IChwcm9wcy5zZWNvbmRhcnkgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlJbnB1dCA6IHByb3BzLnRoZW1lLmlucHV0KX07XG5gO1xuZXhwb3J0IGNvbnN0IFRleHRBcmVhTGlnaHQgPSBzdHlsZWQudGV4dGFyZWEud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KWBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dExUfSBoZWlnaHQ6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbmA7XG5cbmV4cG9ydCBjb25zdCBJbmxpbmVJbnB1dCA9IHN0eWxlZChJbnB1dClgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5saW5lSW5wdXR9O1xuYDtcblxuZXhwb3J0IGludGVyZmFjZSBTdHlsZWRQYW5lbEhlYWRlclByb3BzIHtcbiAgJGFjdGl2ZT86IGJvb2xlYW47XG4gIGxhYmVsUkNHQ29sb3JWYWx1ZXM/OiBSR0JDb2xvciB8IG51bGw7XG4gIHdhcm5pbmc/OiBib29sZWFuO1xuICBpc1ZhbGlkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBhbmVsSGVhZGVyID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pPFN0eWxlZFBhbmVsSGVhZGVyUHJvcHM+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuJGFjdGl2ZSA/IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZFxuICAgIHJnYihcbiAgICAgICR7cHJvcHMgPT4gKHByb3BzLmxhYmVsUkNHQ29sb3JWYWx1ZXMgPyBwcm9wcy5sYWJlbFJDR0NvbG9yVmFsdWVzLmpvaW4oJywnKSA6ICd0cmFuc3BhcmVudCcpfVxuICAgICk7XG4gIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEhlYWRlckhlaWdodH1weDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsSGVhZGVyQm9yZGVyUmFkaXVzfTtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRQYW5lbERyb3Bkb3duUHJvcHMge1xuICB0eXBlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkUGFuZWxEcm9wZG93biA9IHN0eWxlZC5kaXY8U3R5bGVkUGFuZWxEcm9wZG93blByb3BzPmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbERyb3Bkb3duU2Nyb2xsQmFyfVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMudHlwZSA9PT0gJ2xpZ2h0JyA/IHByb3BzLnRoZW1lLm1vZGFsRHJvcGRvd25CYWNrZ3JvdW5kIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYm94LXNoYWRvdzogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJveFNoYWRvd307XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJSYWRpdXN9O1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk7XG5gO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICAuYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gIH1cbiAgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gIH1cbmA7XG5cbmludGVyZmFjZSBEYXRhc2V0U3F1YXJlUHJvcHMge1xuICBiYWNrZ3JvdW5kQ29sb3I6IFJHQkNvbG9yO1xufVxuXG5leHBvcnQgY29uc3QgRGF0YXNldFNxdWFyZSA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTxEYXRhc2V0U3F1YXJlUHJvcHM+YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigke3Byb3BzID0+IHByb3BzLmJhY2tncm91bmRDb2xvci5qb2luKCcsJyl9KTtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuYDtcblxuaW50ZXJmYWNlIFNlbGVjdGlvbkJ1dHRvblByb3BzIHtcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU2VsZWN0aW9uQnV0dG9uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pPFNlbGVjdGlvbkJ1dHRvblByb3BzPmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuc2VsZWN0ZWRcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckNvbG9yfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdENvbG9yIDogcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc2VsZWN0ZWQgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RCZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5CZ2R9O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIHBhZGRpbmc6IDZweCAxNnB4O1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkFjdENvbG9yfTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRhYmxlID0gc3R5bGVkLnRhYmxlYFxuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG5cbiAgdGhlYWQge1xuICAgIHRyIHRoIHtcbiAgICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kTFR9O1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGl0bGVDb2xvckxUfTtcbiAgICAgIHBhZGRpbmc6IDE4cHggMTJweDtcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHtcbiAgICB0ciB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyTFR9O1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZExUfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmb250LXNpemU6IDEwcHg7XG4gIHBhZGRpbmc6IDI0cHggJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbExhdGVyYWxQYWRkaW5nfTtcbiAgbWFyZ2luOiAwIC0ke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsTGF0ZXJhbFBhZGRpbmd9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICR7bWVkaWEucG9ydGFibGVgXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxNnB4ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nfTtcbiAgICBtYXJnaW46IDAgLSR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxQb3J0YWJsZUxhdGVyYWxQYWRkaW5nfTtcbiAgYH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxWZXJ0aWNhbFBhbmVsID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21vZGFsLXZlcnRpY2FsLXBhbmVsJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBmb250LXNpemU6IDEycHg7XG5cbiAgLm1vZGFsLXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgJHttZWRpYS5wYWxtYFxuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICBgfTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsU2VjdGlvbiA9IHN0eWxlZC5kaXYuYXR0cnMoKHtjbGFzc05hbWV9KSA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ21vZGFsLXNlY3Rpb24nLCBjbGFzc05hbWUpXG59KSlgXG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgLm1vZGFsLXNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLm1vZGFsLXNlY3Rpb24tc3VidGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUfTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGB9O1xuICAke21lZGlhLnBhbG1gXG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgYH07XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlUHJvcHMge1xuICBlcnJvcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGUgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbW9kYWwtaW5wdXRfX2Zvb3Rub3RlJ1xufSk8U3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBjb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuZXJyb3IgPyBwcm9wcy50aGVtZS5lcnJvckNvbG9yIDogcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFQpfTtcbiAgZm9udC1zaXplOiAxMHB4O1xuYDtcbi8qKlxuICogTmV3ZXIgdmVyc2lvbnMgb2YgbWFwYm94LmdsIGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZSBiYW5uZXIgb24gdG9wIG9mIHRoZSBtYXAgYnkgZGVmYXVsdFxuICogd2hpY2ggd2lsbCBjYXVzZSB0aGUgbWFwIHRvIGRpc3BsYXkgcG9pbnRzIGluIHRoZSB3cm9uZyBsb2NhdGlvbnNcbiAqIFRoaXMgd29ya2Fyb3VuZCB3aWxsIGhpZGUgdGhlIGVycm9yIGJhbm5lci5cbiAqL1xuZXhwb3J0IGNvbnN0IFN0eWxlZE1hcENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC5tYXBsaWJyZWdsLW1hcCB7XG4gICAgLm1hcGxpYnJlZ2wtbWlzc2luZy1jc3Mge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1hcGxpYnJlZ2wtY3RybC1hdHRyaWIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLm1hcGJveGdsLW1hcCB7XG4gICAgLm1hcGJveGdsLW1pc3NpbmctY3NzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5tYXBib3hnbC1jdHJsLWF0dHJpYiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IHR5cGUgU3R5bGVkQXR0cmlidXRpb25Qcm9wcyA9IHtcbiAgbWFwTGliQ3NzQ2xhc3M6IHN0cmluZztcbiAgbWFwTGliQXR0cmlidXRpb25Dc3NDbGFzczogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEF0dHJpYnV0aW9uID0gc3R5bGVkLmRpdlxuICAud2l0aENvbmZpZyh7XG4gICAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnbWFwTGliQ3NzQ2xhc3MnLCAnbWFwTGliQXR0cmlidXRpb25Dc3NDbGFzcyddLmluY2x1ZGVzKHByb3ApXG4gIH0pXG4gIC5hdHRyczxTdHlsZWRBdHRyaWJ1dGlvblByb3BzPihwcm9wcyA9PiAoe1xuICAgIGNsYXNzTmFtZTogcHJvcHMubWFwTGliQXR0cmlidXRpb25Dc3NDbGFzc1xuICB9KSk8U3R5bGVkQXR0cmlidXRpb25Qcm9wcz5gXG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4IDZweDtcbiAgei1pbmRleDogMTtcbiAgLmF0dHJpdGlvbi1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICBhLFxuICAgIC5waXBlLXNlcGFyYXRvciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICAgIH1cblxuICAgIC5waXBlLXNlcGFyYXRvciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmF0dHJpdGlvbi1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG5cbiAgICBhLiR7cHJvcHMgPT4gcHJvcHMubWFwTGliQ3NzQ2xhc3N9LWN0cmwtbG9nbyB7XG4gICAgICB3aWR0aDogNzJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuICB9XG4gIGEsXG4gIC5waXBlLXNlcGFyYXRvciB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgJHttZWRpYS5wYWxtYFxuICAgIC5hdHRyaXRpb24tbG9nbyBhIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cblxuICAgIC5hdHRyaXRpb24tbGluayB7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIH1cbiAgYH07XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlZEV4cG9ydFNlY3Rpb25Qcm9wcyB7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZEV4cG9ydFNlY3Rpb24gPSBzdHlsZWQuZGl2PFN0eWxlZEV4cG9ydFNlY3Rpb25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbjogMzVweCAwO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yTFR9O1xuICBmb250LXNpemU6IDEycHg7XG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC4zIDogMSl9O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJyl9O1xuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDE4NXB4O1xuICAgIC50aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseU1lZGl1bSA/PyBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICB9XG4gICAgLnN1YnRpdGxlIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUfTtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG4gIH1cbiAgLndhcm5pbmcge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVycm9yQ29sb3J9O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLmRlc2NyaXB0aW9uLmZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5zZWxlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuXG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDMuNWVtIDAuNWVtIDFlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgaGVpZ2h0OiAzNnB4O1xuXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50IDUwJSwgZ3JheSA1MCUpLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBncmF5IDUwJSwgdHJhbnNwYXJlbnQgNTAlKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjY2NjLCAjY2NjKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDIwcHgpIGNhbGMoMWVtICsgMnB4KSwgY2FsYygxMDAlIC0gMTVweCkgY2FsYygxZW0gKyAycHgpLFxuICAgICAgICBjYWxjKDEwMCUgLSAyLjVlbSkgNC41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCA1cHgsIDVweCA1cHgsIDFweCAxLjVlbTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgc2VsZWN0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgZ3JlZW4gNTAlLCB0cmFuc3BhcmVudCA1MCUpLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB0cmFuc3BhcmVudCA1MCUsIGdyZWVuIDUwJSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2NjYywgI2NjYyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxNXB4KSAxZW0sIGNhbGMoMTAwJSAtIDIwcHgpIDFlbSwgY2FsYygxMDAlIC0gMi41ZW0pIDQuNWVtO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA1cHggNXB4LCA1cHggNXB4LCAxcHggMS41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYm9yZGVyLWNvbG9yOiBncmVlbjtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmlsdGVyZWRPcHRpb24gPSBzdHlsZWQoU2VsZWN0aW9uQnV0dG9uKWBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogNHB4O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgd2lkdGg6IDE0MHB4O1xuXG4gIC5maWx0ZXItb3B0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLmZpbHRlci1vcHRpb24tc3VidGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUfTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUeXBlID0gc3R5bGVkKFNlbGVjdGlvbkJ1dHRvbilgXG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbjogNHB4O1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgd2lkdGg6IDEwMHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFdpZGdldENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHotaW5kZXg6IDE7XG5gO1xuXG5leHBvcnQgY29uc3QgQm90dG9tV2lkZ2V0SW5uZXIgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvdHRvbVdpZGdldEJnZH07XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gYCR7cHJvcHMudGhlbWUuYm90dG9tSW5uZXJQZFZlcnR9cHggJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkU2lkZX1weGB9O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tUGFuZWxHYXB9cHg7XG5cbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3JkZXJDb2xvcn07XG4gICAgcGFkZGluZzogMTJweCAxMnB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIGB9XG5gO1xuXG5pbnRlcmZhY2UgTWFwQ29udHJvbEJ1dHRvblByb3BzIHtcbiAgYWN0aXZlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE1hcENvbnRyb2xCdXR0b24gPSBzdHlsZWQoQnV0dG9uKVxuICAud2l0aENvbmZpZyh7XG4gICAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT4gIVsnYWN0aXZlJ10uaW5jbHVkZXMocHJvcClcbiAgfSlcbiAgLmF0dHJzKHByb3BzID0+ICh7XG4gICAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdtYXAtY29udHJvbC1idXR0b24nLCBwcm9wcy5jbGFzc05hbWUpXG4gIH0pKTxNYXBDb250cm9sQnV0dG9uUHJvcHM+YFxuICBib3gtc2hhZG93OiAwIDZweCAxMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KTtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMzJweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0blJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZEhvdmVyIDogcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2R9O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQWN0Q29sb3IgOiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkNvbG9yfTtcbiAgYm9yZGVyOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Cb3JkZXJIb3ZlciA6IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVyfTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3Zlcn07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5BY3RDb2xvcn07XG4gICAgYm9yZGVyOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQm9yZGVySG92ZXJ9O1xuICB9XG4gIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmlsdGVyQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxDb250ZW50QmFja2dyb3VuZH07XG4gIHBhZGRpbmc6IDEycHg7XG5gO1xuXG5leHBvcnQgY29uc3QgVHJ1bmNhdGVkVGl0bGVUZXh0ID0gc3R5bGVkLmRpdmBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gO1xuXG5leHBvcnQgY29uc3QgQ2hlY2tNYXJrID0gc3R5bGVkLnNwYW4uYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjaGVja2JveC1pbm5lcidcbn0pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkJvcmRlckFjdENvbG9yfTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDEpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICB0b3A6IDQwJTtcbiAgICBsZWZ0OiAzMCU7XG4gICAgd2lkdGg6IDMuMnB4O1xuICAgIGhlaWdodDogNi4yMnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGltZVBpY2tlciA9IHN0eWxlZChUaW1lUGlja2VyKWBcbiAgLnJlYWN0LXRpbWUtcGlja2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcixcbiAgLnJlYWN0LXRpbWUtcGlja2VyICosXG4gIC5yZWFjdC10aW1lLXBpY2tlciAqOmJlZm9yZSxcbiAgLnJlYWN0LXRpbWUtcGlja2VyICo6YWZ0ZXIge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX3dyYXBwZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RIb3Zlcn07XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwIHtcbiAgICBtaW4td2lkdGg6IGNhbGMoKDRweCAqIDMpICsgMC41NGVtICogNiArIDAuMjE3ZW0gKiAyKTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogNHB4IDJweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9fZGl2aWRlciB7XG4gICAgcGFkZGluZzogMXB4IDA7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2RpdmlkZXIsXG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9fbGVhZGluZ1plcm8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0IHtcbiAgICBtaW4td2lkdGg6IDAuNTRlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0LS1oYXNMZWFkaW5nWmVybyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjU0ZW07XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDFweCArIDAuNTRlbSk7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19hbVBtIHtcbiAgICBtYXgtd2lkdGg6IDM3cHg7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3Q7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBtZW51bGlzdDtcbiAgICBhcHBlYXJhbmNlOiBtZW51bGlzdDtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19idXR0b24ge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgICBwYWRkaW5nOiA0cHggNnB4O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fYnV0dG9uOmVuYWJsZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2J1dHRvbiBzdmcge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19jbG9jay0tY2xvc2VkLFxuICAucmVhY3QtdGltZS1waWNrZXJfX2NsZWFyLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERhdGVQaWNrZXIgPSBzdHlsZWQoRGF0ZVBpY2tlcilgXG4gIC5yZWFjdC1kYXRlLXBpY2tlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXIsXG4gIC5yZWFjdC1kYXRlLXBpY2tlciAqLFxuICAucmVhY3QtZGF0ZS1waWNrZXIgKjpiZWZvcmUsXG4gIC5yZWFjdC1kYXRlLXBpY2tlciAqOmFmdGVyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMTA4cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwIHtcbiAgICBtaW4td2lkdGg6IGNhbGMoKDRweCAqIDMpICsgMC41NGVtICogOCArIDAuMjE3ZW0gKiAyKTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogNHB4IDlweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgfVxuXG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZEhvdmVyfTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2RpdmlkZXIge1xuICAgIHBhZGRpbmc6IDFweCAwO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19kaXZpZGVyLFxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2xlYWRpbmdaZXJvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dCB7XG4gICAgbWluLXdpZHRoOiAwLjU0ZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6aW52YWxpZCB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dC0taGFzTGVhZGluZ1plcm8ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41NGVtO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygxcHggKyAwLjU0ZW0pO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9fY2FsZW5kYXIge1xuICAgIHdpZHRoOiAyNTdweDtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIHotaW5kZXg6IDExO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICAgIGluc2V0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19jYWxlbmRhci0tY2xvc2VkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9fY2FsZW5kYXIgLnJlYWN0LWNhbGVuZGFyIHtcbiAgICBib3JkZXItd2lkdGg6IHRoaW47XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyIHtcbiAgICB3aWR0aDogMjU2cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RIb3Zlcn07XG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDRweCA0cHggNHB4O1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNWVtO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyLFxuICAucmVhY3QtY2FsZW5kYXIgKixcbiAgLnJlYWN0LWNhbGVuZGFyICo6YmVmb3JlLFxuICAucmVhY3QtY2FsZW5kYXIgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhciBidXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXIgYnV0dG9tOmVuYWJsZWQge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhciBidXR0b246ZW5hYmxlZDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbiBidXR0b24ge1xuICAgIG1pbi13aWR0aDogMjVweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbiBidXR0b246ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uIGJ1dHRvbjplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkQWN0aXZlfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX21vbnRoLXZpZXdfX3dlZWtkYXlzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX21vbnRoLXZpZXdfX3dlZWtkYXlzX193ZWVrZGF5IHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkyfTtcbiAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gICAgYWJiciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fd2Vla051bWJlcnMgLnJlYWN0LWNhbGVuZGFyX190aWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19tb250aC12aWV3X19kYXlzX19kYXktLXdlZWtlbmQge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fZGF5c19fZGF5LS1uZWlnaGJvcmluZ01vbnRoIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkzfTtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uX19sYWJlbF9fbGFiZWxUZXh0LFxuICAucmVhY3QtY2FsZW5kYXJfX25hdmlnYXRpb25fX2Fycm93IHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3llYXItdmlldyAucmVhY3QtY2FsZW5kYXJfX3RpbGUsXG4gIC5yZWFjdC1jYWxlbmRhcl9fZGVjYWRlLXZpZXcgLnJlYWN0LWNhbGVuZGFyX190aWxlLFxuICAucmVhY3QtY2FsZW5kYXJfX2NlbnR1cnktdmlldyAucmVhY3QtY2FsZW5kYXJfX3RpbGUge1xuICAgIHBhZGRpbmc6IDJlbSAwLjVlbTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTF9O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA2cHggNHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlOmVuYWJsZWQ6aG92ZXIsXG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZTplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RDb2xvcn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1ub3c6ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1ub3c6ZW5hYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWhhc0FjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0QmdkfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWhhc0FjdGl2ZTplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWhhc0FjdGl2ZTplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZS0tYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RCZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWFjdGl2ZTplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLWFjdGl2ZTplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RCZ2R9O1xuICB9XG4gIC5jYWxlbmRhcl9fbmF2aWdhdGlvbl9fbGFiZWxfX2xhYmVsVGV4dCB7XG4gICAg0YFvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFHQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxXQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxnQkFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksZ0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLGFBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLGlCQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFBaUQsSUFBQVEsZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQVZqRDtBQUNBO0FBYUE7QUFDTyxTQUFTQyxpQkFBaUJBLENBQUNDLFFBQVEsRUFBRUMsTUFBTSxFQUFFO0VBQ2xELElBQUksT0FBT0EsTUFBTSxLQUFLLFFBQVEsRUFBRTtJQUM5QjtJQUNBLE9BQU8sSUFBQUMsdUJBQVcsRUFBQ0YsUUFBUSxDQUFDO0VBQzlCO0VBQ0E7RUFDQSxPQUFPLElBQUk7QUFDYjtBQUVPLElBQU1HLFVBQVUsR0FBQUMsT0FBQSxDQUFBRCxVQUFBLEdBQUdFLDRCQUFNLENBQUNDLElBQUksQ0FBQTVELGVBQUEsS0FBQUEsZUFBQSxPQUFBNkQsdUJBQUEsNElBQzFCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0MsVUFBVTtBQUFBLEdBQzNCLFVBQUFGLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0UsY0FBYztBQUFBLEVBT2pEO0FBRU0sSUFBTUMsY0FBYyxHQUFBUixPQUFBLENBQUFRLGNBQUEsR0FBRyxJQUFBUCw0QkFBTSxFQUFDRixVQUFVLENBQUMsQ0FBQXhELGdCQUFBLEtBQUFBLGdCQUFBLE9BQUE0RCx1QkFBQSw0REFDckMsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDSSxTQUFTO0FBQUEsRUFFeEM7QUFFTSxJQUFNQyxjQUFjLEdBQUFWLE9BQUEsQ0FBQVUsY0FBQSxHQUFHVCw0QkFBTSxDQUFDVSxHQUFHLENBQUFuRSxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBMkQsdUJBQUEsdVFBS2xCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ08sb0JBQW9CO0FBQUEsR0FDcEQsVUFBQVIsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDUSxpQkFBaUI7QUFBQSxHQU16QixVQUFBVCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNPLG9CQUFvQjtBQUFBLEVBRWhFO0FBRU0sSUFBTUUsYUFBYSxHQUFBZCxPQUFBLENBQUFjLGFBQUEsR0FBR2IsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBbEUsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQTBELHVCQUFBLGdFQUd0QztBQUVNLElBQU1ZLHFCQUFxQixHQUFBZixPQUFBLENBQUFlLHFCQUFBLEdBQUdkLDRCQUFNLENBQUNVLEdBQUcsQ0FBQWpFLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUF5RCx1QkFBQSwyRkFJOUM7QUFFTSxJQUFNYSxvQkFBb0IsR0FBQWhCLE9BQUEsQ0FBQWdCLG9CQUFBLEdBQUdmLDRCQUFNLENBQUNVLEdBQUcsQ0FBQWhFLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUF3RCx1QkFBQSxxRkFJN0M7QUFFTSxJQUFNYyxtQkFBbUIsR0FBQWpCLE9BQUEsQ0FBQWlCLG1CQUFBLEdBQUdoQiw0QkFBTSxDQUFDVSxHQUFHLENBQUEvRCxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBdUQsdUJBQUEsa0dBSTVDO0FBRU0sSUFBTWUsYUFBYSxHQUFBbEIsT0FBQSxDQUFBa0IsYUFBQSxHQUFHakIsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBOUQsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQXNELHVCQUFBLDZEQUd0QztBQUVNLElBQU1nQixpQkFBaUIsR0FBQW5CLE9BQUEsQ0FBQW1CLGlCQUFBLEdBQUdsQiw0QkFBTSxDQUFDVSxHQUFHLENBQUE3RCxnQkFBQSxLQUFBQSxnQkFBQSxPQUFBcUQsdUJBQUEsMkVBRzFDO0FBRU0sSUFBTWlCLFVBQVUsR0FBQXBCLE9BQUEsQ0FBQW9CLFVBQUEsR0FBR25CLDRCQUFNLENBQUNvQixLQUFLLENBQUNDLEtBQUssQ0FBQztFQUMzQ0MsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDLENBQUF4RSxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBb0QsdUJBQUEsZ0tBQ1MsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDQyxVQUFVO0FBQUEsRUFNekM7QUFFTSxJQUFNa0IsaUJBQWlCLEdBQUF4QixPQUFBLENBQUF3QixpQkFBQSxHQUFHdkIsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFDVyxLQUFLLENBQUM7RUFDaERDLFNBQVMsRUFBRTtBQUNiLENBQUMsQ0FBQyxDQUFBdkUsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQW1ELHVCQUFBLG9FQUdEO0FBRU0sSUFBTXNCLGNBQWMsR0FBQXpCLE9BQUEsQ0FBQXlCLGNBQUEsR0FBRyxJQUFBeEIsNEJBQU0sRUFBQ21CLFVBQVUsQ0FBQyxDQUFBbkUsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQWtELHVCQUFBLDJDQUUvQztBQUVNLElBQU11QixnQkFBZ0IsR0FBQTFCLE9BQUEsQ0FBQTBCLGdCQUFBLEdBQUd6Qiw0QkFBTSxDQUFDQyxJQUFJLENBQUNvQixLQUFLLENBQUMsVUFBQWxCLEtBQUs7RUFBQSxPQUFLO0lBQzFEbUIsU0FBUyxFQUFFLElBQUFJLHNCQUFVLEVBQUMsaUNBQWlDLEVBQUV2QixLQUFLLENBQUNtQixTQUFTO0VBQzFFLENBQUM7QUFBQSxDQUFDLENBQUMsQ0FBQXJFLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFpRCx1QkFBQSxxSEFDUSxVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNJLFNBQVM7QUFBQSxFQUl4QztBQUVNLElBQU1tQixrQkFBa0IsR0FBQTVCLE9BQUEsQ0FBQTRCLGtCQUFBLEdBQUczQiw0QkFBTSxDQUFDVSxHQUFHLENBQUF4RCxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBZ0QsdUJBQUEsbU5BR2pDLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0ksU0FBUztBQUFBLEdBSTVCLFVBQUFMLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0MsVUFBVTtBQUFBLEVBSzNDO0FBRU0sSUFBTXVCLFlBQVksR0FBQTdCLE9BQUEsQ0FBQTZCLFlBQUEsR0FBRzVCLDRCQUFNLENBQUNVLEdBQUcsQ0FBQ1csS0FBSyxDQUFDLFVBQUFsQixLQUFLO0VBQUEsT0FBSztJQUNyRG1CLFNBQVMsRUFBRSxJQUFBSSxzQkFBVSxFQUFDLDJCQUEyQixFQUFFdkIsS0FBSyxDQUFDbUIsU0FBUztFQUNwRSxDQUFDO0FBQUEsQ0FBQyxDQUFDLENBQUFuRSxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBK0MsdUJBQUEsb0VBQ21CLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3lCLHNCQUFzQjtBQUFBLEVBRWhFO0FBTU0sSUFBTUMsZ0JBQWdCLEdBQUEvQixPQUFBLENBQUErQixnQkFBQSxHQUFHOUIsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFDVyxLQUFLLENBQUMsVUFBQWxCLEtBQUs7RUFBQSxPQUFLO0lBQ3pEbUIsU0FBUyxFQUFFLElBQUFJLHNCQUFVLEVBQUMsb0JBQW9CLEVBQUV2QixLQUFLLENBQUNtQixTQUFTO0VBQzdELENBQUM7QUFBQSxDQUFDLENBQUMsQ0FBQWxFLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUE4Qyx1QkFBQSw0RkFHVSxVQUFBQyxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDNEIsUUFBUSxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQUEsQ0FBQyxFQUM1QixVQUFBNUIsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQzRCLFFBQVEsR0FBRyxNQUFNLEdBQUcsS0FBSztBQUFBLENBQUMsQ0FDN0Q7QUFFTSxJQUFNQyxnQkFBZ0IsR0FBQWpDLE9BQUEsQ0FBQWlDLGdCQUFBLEdBQUdoQyw0QkFBTSxDQUFDVSxHQUFHLENBQUNXLEtBQUssQ0FBQztFQUMvQ0MsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDLENBQUFqRSxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBNkMsdUJBQUEsNEdBQ2lCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQzZCLHNCQUFzQjtBQUFBLEdBQ3hELFVBQUE5QixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUM4QixnQkFBZ0I7QUFBQSxHQUN4QixVQUFBL0IsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDK0Isc0JBQXNCO0FBQUEsR0FDbEQsVUFBQWhDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2dDLHNCQUFzQjtBQUFBLEVBQ3REO0FBSU0sSUFBTUMsT0FBbUQsR0FBQXRDLE9BQUEsQ0FBQXNDLE9BQUEsR0FBRyxJQUFBckMsNEJBQU0sRUFDdkVzQyx3QkFDRixDQUFDLENBQUFoRixpQkFBQSxLQUFBQSxpQkFBQSxPQUFBNEMsdUJBQUEsdW5CQUVnQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNtQyxlQUFlO0FBQUEsR0FHbkMsVUFBQXBDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ29DLGdCQUFnQjtBQUFBLEdBRzdCLFVBQUFyQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxQyxTQUFTO0FBQUEsR0FDekMsVUFBQXRDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3NDLFlBQVk7QUFBQSxHQUdmLFVBQUF2QyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxQyxTQUFTO0FBQUEsR0FNakMsVUFBQXRDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3FDLFNBQVM7QUFBQSxHQU01QixVQUFBdEMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUMsU0FBUztBQUFBLEdBTS9CLFVBQUF0QyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxQyxTQUFTO0FBQUEsRUFLNUQ7QUFtQkQ7QUFDTyxJQUFNRSxNQUFNLEdBQUE1QyxPQUFBLENBQUE0QyxNQUFBLEdBQUczQyw0QkFBTSxDQUFDNEMsTUFBTSxDQUFDQyxVQUFVLENBQUM7RUFBQ25ELGlCQUFpQixFQUFqQkE7QUFBaUIsQ0FBQyxDQUFDLENBQUMyQixLQUFLLENBQUMsVUFBQWxCLEtBQUs7RUFBQSxPQUFLO0lBQ2xGbUIsU0FBUyxFQUFFLElBQUFJLHNCQUFVLEVBQUMsUUFBUSxFQUFFdkIsS0FBSyxDQUFDbUIsU0FBUztFQUNqRCxDQUFDO0FBQUEsQ0FBQyxDQUFDLENBQUEvRCxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBMkMsdUJBQUEsOG1CQUVtQixVQUFBQyxLQUFLO0VBQUEsT0FDdkJBLEtBQUssQ0FBQzJDLFFBQVEsR0FDVjNDLEtBQUssQ0FBQ0MsS0FBSyxDQUFDMkMsY0FBYyxHQUMxQjVDLEtBQUssQ0FBQzZDLFNBQVMsR0FDZjdDLEtBQUssQ0FBQ0MsS0FBSyxDQUFDNkMsZUFBZSxHQUMzQjlDLEtBQUssQ0FBQytDLElBQUksR0FDVi9DLEtBQUssQ0FBQ0MsS0FBSyxDQUFDK0MsVUFBVSxHQUN0QmhELEtBQUssQ0FBQ2lELFFBQVEsR0FDZGpELEtBQUssQ0FBQ0MsS0FBSyxDQUFDaUQsY0FBYyxHQUMxQmxELEtBQUssQ0FBQ21ELEdBQUcsR0FDVG5ELEtBQUssQ0FBQ0MsS0FBSyxDQUFDbUQsU0FBUyxHQUNyQnBELEtBQUssQ0FBQ0MsS0FBSyxDQUFDb0QsYUFBYTtBQUFBLEdBQ2QsVUFBQXJELEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3FELGdCQUFnQjtBQUFBLEdBQzdDLFVBQUF0RCxLQUFLO0VBQUEsT0FDWkEsS0FBSyxDQUFDMkMsUUFBUSxHQUNWM0MsS0FBSyxDQUFDQyxLQUFLLENBQUNzRCxnQkFBZ0IsR0FDNUJ2RCxLQUFLLENBQUM2QyxTQUFTLEdBQ2Y3QyxLQUFLLENBQUNDLEtBQUssQ0FBQ1EsaUJBQWlCLEdBQzdCVCxLQUFLLENBQUMrQyxJQUFJLEdBQ1YvQyxLQUFLLENBQUNDLEtBQUssQ0FBQ3VELFlBQVksR0FDeEJ4RCxLQUFLLENBQUNpRCxRQUFRLEdBQ2RqRCxLQUFLLENBQUNDLEtBQUssQ0FBQ3dELGdCQUFnQixHQUM1QnpELEtBQUssQ0FBQ21ELEdBQUcsR0FDVG5ELEtBQUssQ0FBQ0MsS0FBSyxDQUFDeUQsV0FBVyxHQUN2QjFELEtBQUssQ0FBQ0MsS0FBSyxDQUFDMEQsZUFBZTtBQUFBLEdBR3BCLFVBQUEzRCxLQUFLO0VBQUEsT0FDaEJBLEtBQUssQ0FBQzRELEtBQUssR0FDUDVELEtBQUssQ0FBQ0MsS0FBSyxDQUFDNEQsdUJBQXVCLEdBQ25DN0QsS0FBSyxDQUFDOEQsS0FBSyxHQUNYOUQsS0FBSyxDQUFDQyxLQUFLLENBQUM4RCx1QkFBdUIsR0FDbkMvRCxLQUFLLENBQUNDLEtBQUssQ0FBQytELHlCQUF5QjtBQUFBLEdBRTVCLFVBQUFoRSxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNnRSxhQUFhO0FBQUEsR0FLdEMsVUFBQWpFLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUM0RCxLQUFLLEdBQUcsV0FBVyxHQUFHNUQsS0FBSyxDQUFDOEQsS0FBSyxHQUFHLFNBQVMsR0FBRyxVQUFVO0FBQUEsQ0FBQyxFQUV4RSxVQUFBOUQsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDaUUsVUFBVTtBQUFBLEdBRXBDLFVBQUFsRSxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDbUUsS0FBSyxJQUFJLE1BQU07QUFBQSxHQUM1QixVQUFBbkUsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQzRCLFFBQVEsR0FBRyxHQUFHLEdBQUcsQ0FBQztBQUFBLENBQUMsRUFDNUIsVUFBQTVCLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUM0QixRQUFRLEdBQUcsTUFBTSxHQUFHLEtBQUs7QUFBQSxDQUFDLEVBQ2xELFVBQUE1QixLQUFLO0VBQUEsT0FDYkEsS0FBSyxDQUFDMkMsUUFBUSxHQUNWM0MsS0FBSyxDQUFDQyxLQUFLLENBQUNtRSxpQkFBaUIsR0FDN0JwRSxLQUFLLENBQUM2QyxTQUFTLEdBQ2Y3QyxLQUFLLENBQUNDLEtBQUssQ0FBQ29FLGtCQUFrQixHQUM5QnJFLEtBQUssQ0FBQ2lELFFBQVEsR0FDZGpELEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUUsaUJBQWlCLEdBQzdCdEUsS0FBSyxDQUFDK0MsSUFBSSxHQUNWL0MsS0FBSyxDQUFDQyxLQUFLLENBQUNzRSxhQUFhLEdBQ3pCdkUsS0FBSyxDQUFDQyxLQUFLLENBQUN1RSxnQkFBZ0I7QUFBQSxHQUtaLFVBQUF4RSxLQUFLO0VBQUEsT0FDdkJBLEtBQUssQ0FBQzJDLFFBQVEsR0FDVjNDLEtBQUssQ0FBQ0MsS0FBSyxDQUFDd0UsbUJBQW1CLEdBQy9CekUsS0FBSyxDQUFDNkMsU0FBUyxHQUNmN0MsS0FBSyxDQUFDQyxLQUFLLENBQUNPLG9CQUFvQixHQUNoQ1IsS0FBSyxDQUFDK0MsSUFBSSxHQUNWL0MsS0FBSyxDQUFDQyxLQUFLLENBQUN5RSxrQkFBa0IsR0FDOUIxRSxLQUFLLENBQUNpRCxRQUFRLEdBQ2RqRCxLQUFLLENBQUNDLEtBQUssQ0FBQzBFLG1CQUFtQixHQUMvQjNFLEtBQUssQ0FBQ21ELEdBQUcsR0FDVG5ELEtBQUssQ0FBQ0MsS0FBSyxDQUFDMkUsY0FBYyxHQUMxQjVFLEtBQUssQ0FBQ0MsS0FBSyxDQUFDNEUsa0JBQWtCO0FBQUEsR0FDM0IsVUFBQTdFLEtBQUs7RUFBQSxPQUNaQSxLQUFLLENBQUMyQyxRQUFRLEdBQ1YzQyxLQUFLLENBQUNDLEtBQUssQ0FBQzZFLG1CQUFtQixHQUMvQjlFLEtBQUssQ0FBQzZDLFNBQVMsR0FDZjdDLEtBQUssQ0FBQ0MsS0FBSyxDQUFDOEUsb0JBQW9CLEdBQ2hDL0UsS0FBSyxDQUFDK0MsSUFBSSxHQUNWL0MsS0FBSyxDQUFDQyxLQUFLLENBQUMrRSxlQUFlLEdBQzNCaEYsS0FBSyxDQUFDaUQsUUFBUSxHQUNkakQsS0FBSyxDQUFDQyxLQUFLLENBQUNnRixtQkFBbUIsR0FDL0JqRixLQUFLLENBQUNtRCxHQUFHLEdBQ1RuRCxLQUFLLENBQUNDLEtBQUssQ0FBQ2lGLGNBQWMsR0FDMUJsRixLQUFLLENBQUNDLEtBQUssQ0FBQ2tGLGtCQUFrQjtBQUFBLEdBSXBCLFVBQUFuRixLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDNEQsS0FBSyxHQUFHLE1BQU0sR0FBRzVELEtBQUssQ0FBQzhELEtBQUssR0FBRyxLQUFLLEdBQUcsS0FBSztBQUFBLENBQUMsQ0FFaEY7QUFNTSxJQUFNc0IsS0FBSyxHQUFBeEYsT0FBQSxDQUFBd0YsS0FBQSxHQUFHdkYsNEJBQU0sQ0FBQ3dGLEtBQUssQ0FBQzNDLFVBQVUsQ0FBQztFQUFDbkQsaUJBQWlCLEVBQWpCQTtBQUFpQixDQUFDLENBQUMsQ0FBQWxDLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUEwQyx1QkFBQSxnQ0FDN0QsVUFBQUMsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQzZDLFNBQVMsR0FBRzdDLEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUYsY0FBYyxHQUFHdEYsS0FBSyxDQUFDQyxLQUFLLENBQUNvRixLQUFLO0FBQUEsQ0FBQyxDQUM5RTtBQUVNLElBQU1FLFVBQVUsR0FBQTNGLE9BQUEsQ0FBQTJGLFVBQUEsR0FBRzFGLDRCQUFNLENBQUN3RixLQUFLLENBQUMzQyxVQUFVLENBQUM7RUFBQ25ELGlCQUFpQixFQUFqQkE7QUFBaUIsQ0FBQyxDQUFDLENBQUFqQyxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBeUMsdUJBQUEsZ0NBQ2xFLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3VGLE9BQU87QUFBQSxFQUMvQjtBQUVNLElBQU1DLFFBQVEsR0FBQTdGLE9BQUEsQ0FBQTZGLFFBQUEsR0FBRzVGLDRCQUFNLENBQUM2RixRQUFRLENBQUNoRCxVQUFVLENBQUM7RUFBQ25ELGlCQUFpQixFQUFqQkE7QUFBaUIsQ0FBQyxDQUFDLENBQUFoQyxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBd0MsdUJBQUEsZ0NBQ25FLFVBQUFDLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUM2QyxTQUFTLEdBQUc3QyxLQUFLLENBQUNDLEtBQUssQ0FBQ3FGLGNBQWMsR0FBR3RGLEtBQUssQ0FBQ0MsS0FBSyxDQUFDb0YsS0FBSztBQUFBLENBQUMsQ0FDOUU7QUFDTSxJQUFNTSxhQUFhLEdBQUEvRixPQUFBLENBQUErRixhQUFBLEdBQUc5Riw0QkFBTSxDQUFDNkYsUUFBUSxDQUFDaEQsVUFBVSxDQUFDO0VBQUNuRCxpQkFBaUIsRUFBakJBO0FBQWlCLENBQUMsQ0FBQyxDQUFBL0IsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQXVDLHVCQUFBLHVFQUN4RSxVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN1RixPQUFPO0FBQUEsRUFFL0I7QUFFTSxJQUFNSSxXQUFXLEdBQUFoRyxPQUFBLENBQUFnRyxXQUFBLEdBQUcsSUFBQS9GLDRCQUFNLEVBQUN1RixLQUFLLENBQUMsQ0FBQTNILGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFzQyx1QkFBQSxnQ0FDcEMsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDNEYsV0FBVztBQUFBLEVBQ25DO0FBU00sSUFBTUMsaUJBQWlCLEdBQUFsRyxPQUFBLENBQUFrRyxpQkFBQSxHQUFHakcsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFDbUMsVUFBVSxDQUFDO0VBQUNuRCxpQkFBaUIsRUFBakJBO0FBQWlCLENBQUMsQ0FBQyxDQUFBN0IsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQXFDLHVCQUFBLCtRQUNyRCxVQUFBQyxLQUFLO0VBQUEsT0FDdkJBLEtBQUssQ0FBQytGLE9BQU8sR0FBRy9GLEtBQUssQ0FBQ0MsS0FBSyxDQUFDK0Ysb0JBQW9CLEdBQUdoRyxLQUFLLENBQUNDLEtBQUssQ0FBQ2dHLGVBQWU7QUFBQSxHQUcxRSxVQUFBakcsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ2tHLG1CQUFtQixHQUFHbEcsS0FBSyxDQUFDa0csbUJBQW1CLENBQUNDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhO0FBQUEsQ0FBQyxFQUd0RixVQUFBbkcsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDbUcsaUJBQWlCO0FBQUEsR0FJL0IsVUFBQXBHLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ29HLHVCQUF1QjtBQUFBLEdBQy9DLFVBQUFyRyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNpRSxVQUFVO0FBQUEsRUFDOUM7QUFNTSxJQUFNb0MsbUJBQW1CLEdBQUExRyxPQUFBLENBQUEwRyxtQkFBQSxHQUFHekcsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBNUMsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQW9DLHVCQUFBLDBMQUN6QyxVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNzRyxzQkFBc0I7QUFBQSxHQUN6QixVQUFBdkcsS0FBSztFQUFBLE9BQ3ZCQSxLQUFLLENBQUN3RyxJQUFJLEtBQUssT0FBTyxHQUFHeEcsS0FBSyxDQUFDQyxLQUFLLENBQUN3Ryx1QkFBdUIsR0FBR3pHLEtBQUssQ0FBQ0MsS0FBSyxDQUFDZ0csZUFBZTtBQUFBLEdBRTlFLFVBQUFqRyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN5RyxjQUFjO0FBQUEsR0FDaEMsVUFBQTFHLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQzBHLGlCQUFpQjtBQUFBLEVBSXhEO0FBRU0sSUFBTUMsV0FBVyxHQUFBaEgsT0FBQSxDQUFBZ0gsV0FBQSxHQUFHL0csNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBM0MsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQW1DLHVCQUFBLDZVQU9KLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3FELGdCQUFnQjtBQUFBLEdBQ3hDLFVBQUF0RCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxRCxnQkFBZ0I7QUFBQSxHQUlqQyxVQUFBdEQsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUQsZ0JBQWdCO0FBQUEsR0FDeEMsVUFBQXRELEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3FELGdCQUFnQjtBQUFBLEVBRW5FO0FBTU0sSUFBTXVELGFBQWEsR0FBQWpILE9BQUEsQ0FBQWlILGFBQUEsR0FBR2hILDRCQUFNLENBQUNVLEdBQUcsQ0FBQ21DLFVBQVUsQ0FBQztFQUFDbkQsaUJBQWlCLEVBQWpCQTtBQUFpQixDQUFDLENBQUMsQ0FBQTFCLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFrQyx1QkFBQSx5SUFJN0MsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQzhHLGVBQWUsQ0FBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUFBLEVBRWpFO0FBTU0sSUFBTVksZUFBZSxHQUFBbkgsT0FBQSxDQUFBbUgsZUFBQSxHQUFHbEgsNEJBQU0sQ0FBQ1UsR0FBRyxDQUFDbUMsVUFBVSxDQUFDO0VBQUNuRCxpQkFBaUIsRUFBakJBO0FBQWlCLENBQUMsQ0FBQyxDQUFBekIsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQWlDLHVCQUFBLDBTQUluRSxVQUFBQyxLQUFLO0VBQUEsT0FDTEEsS0FBSyxDQUFDZ0gsUUFBUSxHQUNWaEgsS0FBSyxDQUFDQyxLQUFLLENBQUNnSCwwQkFBMEIsR0FDdENqSCxLQUFLLENBQUNDLEtBQUssQ0FBQ2lILHVCQUF1QjtBQUFBLEdBQ2xDLFVBQUFsSCxLQUFLO0VBQUEsT0FDWkEsS0FBSyxDQUFDZ0gsUUFBUSxHQUFHaEgsS0FBSyxDQUFDQyxLQUFLLENBQUNrSCxvQkFBb0IsR0FBR25ILEtBQUssQ0FBQ0MsS0FBSyxDQUFDbUgsaUJBQWlCO0FBQUEsR0FDL0QsVUFBQXBILEtBQUs7RUFBQSxPQUN2QkEsS0FBSyxDQUFDZ0gsUUFBUSxHQUFHaEgsS0FBSyxDQUFDQyxLQUFLLENBQUNvSCxrQkFBa0IsR0FBR3JILEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUgsZUFBZTtBQUFBLEdBUXBFLFVBQUF0SCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNrSCxvQkFBb0I7QUFBQSxHQUM5QixVQUFBbkgsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDZ0gsMEJBQTBCO0FBQUEsRUFFdEU7QUFFTSxJQUFNTSxXQUFXLEdBQUEzSCxPQUFBLENBQUEySCxXQUFBLEdBQUcxSCw0QkFBTSxDQUFDMkgsS0FBSyxDQUFBekosaUJBQUEsS0FBQUEsaUJBQUEsT0FBQWdDLHVCQUFBLDZSQU1uQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN3SCxpQkFBaUI7QUFBQSxHQUMzQyxVQUFBekgsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDeUgsWUFBWTtBQUFBLEdBUXpCLFVBQUExSCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUMwSCxhQUFhO0FBQUEsRUFJeEQ7QUFFTSxJQUFNQyxrQkFBa0IsR0FBQWhJLE9BQUEsQ0FBQWdJLGtCQUFBLEdBQUcvSCw0QkFBTSxDQUFDVSxHQUFHLENBQUF2QyxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBK0IsdUJBQUEsaU5BQzVCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3dILGlCQUFpQjtBQUFBLEdBQzNDLFVBQUF6SCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUM0SCxXQUFXO0FBQUEsR0FJekIsVUFBQTdILEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQzZILG1CQUFtQjtBQUFBLEdBQzNDLFVBQUE5SCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUM2SCxtQkFBbUI7QUFBQSxHQUVuREMsYUFBSyxDQUFDQyxRQUFRLENBQUEvSixpQkFBQSxLQUFBQSxpQkFBQSxPQUFBOEIsdUJBQUEscUdBRUUsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDZ0ksMkJBQTJCO0FBQUEsR0FDbkQsVUFBQWpJLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2dJLDJCQUEyQjtBQUFBLEdBRWhFO0FBRU0sSUFBTUMsd0JBQXdCLEdBQUF0SSxPQUFBLENBQUFzSSx3QkFBQSxHQUFHckksNEJBQU0sQ0FBQ1UsR0FBRyxDQUFDVyxLQUFLLENBQUM7RUFDdkRDLFNBQVMsRUFBRTtBQUNiLENBQUMsQ0FBQyxDQUFBakQsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQTZCLHVCQUFBLDZPQVFJZ0ksYUFBSyxDQUFDSSxJQUFJLENBQUFoSyxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBNEIsdUJBQUEsaURBUWY7QUFFTSxJQUFNcUksa0JBQWtCLEdBQUF4SSxPQUFBLENBQUF3SSxrQkFBQSxHQUFHdkksNEJBQU0sQ0FBQ1UsR0FBRyxDQUFDVyxLQUFLLENBQUMsVUFBQW1ILElBQUE7RUFBQSxJQUFFbEgsU0FBUyxHQUFBa0gsSUFBQSxDQUFUbEgsU0FBUztFQUFBLE9BQU87SUFDbkVBLFNBQVMsRUFBRSxJQUFBSSxzQkFBVSxFQUFDLGVBQWUsRUFBRUosU0FBUztFQUNsRCxDQUFDO0FBQUEsQ0FBQyxDQUFDLENBQUEvQyxpQkFBQSxLQUFBQSxpQkFBQSxPQUFBMkIsdUJBQUEsdU5BT1UsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUksY0FBYztBQUFBLEdBTzVDUCxhQUFLLENBQUNDLFFBQVEsQ0FBQTNKLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUEwQix1QkFBQSxvREFHZGdJLGFBQUssQ0FBQ0ksSUFBSSxDQUFBN0osaUJBQUEsS0FBQUEsaUJBQUEsT0FBQXlCLHVCQUFBLG1EQUdiO0FBTU0sSUFBTXdJLHdCQUF3QixHQUFBM0ksT0FBQSxDQUFBMkksd0JBQUEsR0FBRzFJLDRCQUFNLENBQUNVLEdBQUcsQ0FBQ1csS0FBSyxDQUFDO0VBQ3ZEQyxTQUFTLEVBQUU7QUFDYixDQUFDLENBQUMsQ0FBQTVDLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUF3Qix1QkFBQSwyR0FHUyxVQUFBQyxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDd0ksS0FBSyxHQUFHeEksS0FBSyxDQUFDQyxLQUFLLENBQUN3SSxVQUFVLEdBQUd6SSxLQUFLLENBQUNDLEtBQUssQ0FBQ3FJLGNBQWM7QUFBQSxDQUFDLENBRXRGO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLElBQU1JLGtCQUFrQixHQUFBOUksT0FBQSxDQUFBOEksa0JBQUEsR0FBRzdJLDRCQUFNLENBQUNVLEdBQUcsQ0FBQS9CLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUF1Qix1QkFBQSxxVkFtQjNDO0FBT00sSUFBTTRJLGlCQUFpQixHQUFBL0ksT0FBQSxDQUFBK0ksaUJBQUEsR0FBRzlJLDRCQUFNLENBQUNVLEdBQUcsQ0FDeENtQyxVQUFVLENBQUM7RUFDVm5ELGlCQUFpQixFQUFFLFNBQW5CQSxpQkFBaUJBLENBQUVxSixJQUFJO0lBQUEsT0FBSSxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsMkJBQTJCLENBQUMsQ0FBQ0MsUUFBUSxDQUFDRCxJQUFJLENBQUM7RUFBQTtBQUM1RixDQUFDLENBQUMsQ0FDRDFILEtBQUssQ0FBeUIsVUFBQWxCLEtBQUs7RUFBQSxPQUFLO0lBQ3ZDbUIsU0FBUyxFQUFFbkIsS0FBSyxDQUFDOEk7RUFDbkIsQ0FBQztBQUFBLENBQUMsQ0FBQyxDQUFBckssaUJBQUEsS0FBQUEsaUJBQUEsT0FBQXNCLHVCQUFBLHdyQkFlVSxVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFVBQVU7QUFBQSxHQWFqQyxVQUFBRixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFVBQVU7QUFBQSxHQUVwQyxVQUFBRixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDK0ksY0FBYztBQUFBLEdBV2pDaEIsYUFBSyxDQUFDSSxJQUFJLENBQUF6SixpQkFBQSxLQUFBQSxpQkFBQSxPQUFBcUIsdUJBQUEsc0lBU2I7QUFNTSxJQUFNaUosbUJBQW1CLEdBQUFwSixPQUFBLENBQUFvSixtQkFBQSxHQUFHbkosNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBNUIsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQW9CLHVCQUFBLG9zREFLbEMsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDNEgsV0FBVztBQUFBLEdBRTlCLFVBQUE3SCxLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDNEIsUUFBUSxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQUEsQ0FBQyxFQUM1QixVQUFBNUIsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQzRCLFFBQVEsR0FBRyxNQUFNLEdBQUcsS0FBSztBQUFBLENBQUMsRUFNekMsVUFBQTVCLEtBQUs7RUFBQSxJQUFBaUoscUJBQUE7RUFBQSxRQUFBQSxxQkFBQSxHQUFJakosS0FBSyxDQUFDQyxLQUFLLENBQUNpSixnQkFBZ0IsY0FBQUQscUJBQUEsY0FBQUEscUJBQUEsR0FBSWpKLEtBQUssQ0FBQ0MsS0FBSyxDQUFDa0osVUFBVTtBQUFBLEdBR3JFLFVBQUFuSixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxSSxjQUFjO0FBQUEsR0FLckMsVUFBQXRJLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3dJLFVBQVU7QUFBQSxFQTJDM0M7QUFFTSxJQUFNVyxvQkFBb0IsR0FBQXhKLE9BQUEsQ0FBQXdKLG9CQUFBLEdBQUcsSUFBQXZKLDRCQUFNLEVBQUNrSCxlQUFlLENBQUMsQ0FBQW5JLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFtQix1QkFBQSx5VkFVOUMsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDNEgsV0FBVztBQUFBLEdBS2hDLFVBQUE3SCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxSSxjQUFjO0FBQUEsRUFHL0M7QUFFTSxJQUFNZSxVQUFVLEdBQUF6SixPQUFBLENBQUF5SixVQUFBLEdBQUcsSUFBQXhKLDRCQUFNLEVBQUNrSCxlQUFlLENBQUMsQ0FBQWxJLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFrQix1QkFBQSwrRkFLaEQ7QUFFTSxJQUFNdUosZUFBZSxHQUFBMUosT0FBQSxDQUFBMEosZUFBQSxHQUFHekosNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBekIsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQWlCLHVCQUFBLHFDQUV4QztBQUVNLElBQU13SixpQkFBaUIsR0FBQTNKLE9BQUEsQ0FBQTJKLGlCQUFBLEdBQUcxSiw0QkFBTSxDQUFDVSxHQUFHLENBQUF4QixpQkFBQSxLQUFBQSxpQkFBQSxPQUFBZ0IsdUJBQUEsNEhBQ3JCLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3VKLGVBQWU7QUFBQSxHQUM3QyxVQUFBeEosS0FBSztFQUFBLFVBQUF5SixNQUFBLENBQU96SixLQUFLLENBQUNDLEtBQUssQ0FBQ3lKLGlCQUFpQixTQUFBRCxNQUFBLENBQU16SixLQUFLLENBQUNDLEtBQUssQ0FBQzBKLGlCQUFpQjtBQUFBLENBQUksRUFFN0UsVUFBQTNKLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQzJKLGNBQWM7QUFBQSxHQUUvQzdCLGFBQUssQ0FBQ0MsUUFBUSxDQUFBaEosaUJBQUEsS0FBQUEsaUJBQUEsT0FBQWUsdUJBQUEseUlBQ1UsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDOEIsZ0JBQWdCO0FBQUEsR0FDcEMsVUFBQS9CLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQzhCLGdCQUFnQjtBQUFBLEdBSWpFO0FBTU0sSUFBTThILGdCQUFnQixHQUFBakssT0FBQSxDQUFBaUssZ0JBQUEsR0FBRyxJQUFBaEssNEJBQU0sRUFBQzJDLE1BQU0sQ0FBQyxDQUMzQ0UsVUFBVSxDQUFDO0VBQ1ZuRCxpQkFBaUIsRUFBRSxTQUFuQkEsaUJBQWlCQSxDQUFFcUosSUFBSTtJQUFBLE9BQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDQyxRQUFRLENBQUNELElBQUksQ0FBQztFQUFBO0FBQ3ZELENBQUMsQ0FBQyxDQUNEMUgsS0FBSyxDQUFDLFVBQUFsQixLQUFLO0VBQUEsT0FBSztJQUNmbUIsU0FBUyxFQUFFLElBQUFJLHNCQUFVLEVBQUMsb0JBQW9CLEVBQUV2QixLQUFLLENBQUNtQixTQUFTO0VBQzdELENBQUM7QUFBQSxDQUFDLENBQUMsQ0FBQWxDLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFjLHVCQUFBLDRXQUtjLFVBQUFDLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQzZKLGlCQUFpQjtBQUFBLEdBQ25DLFVBQUE5SixLQUFLO0VBQUEsT0FDdkJBLEtBQUssQ0FBQytKLE1BQU0sR0FBRy9KLEtBQUssQ0FBQ0MsS0FBSyxDQUFDMEUsbUJBQW1CLEdBQUczRSxLQUFLLENBQUNDLEtBQUssQ0FBQ2lELGNBQWM7QUFBQSxHQUNwRSxVQUFBbEQsS0FBSztFQUFBLE9BQ1pBLEtBQUssQ0FBQytKLE1BQU0sR0FBRy9KLEtBQUssQ0FBQ0MsS0FBSyxDQUFDZ0YsbUJBQW1CLEdBQUdqRixLQUFLLENBQUNDLEtBQUssQ0FBQ3dELGdCQUFnQjtBQUFBLEdBQ3JFLFVBQUF6RCxLQUFLO0VBQUEsT0FDYkEsS0FBSyxDQUFDK0osTUFBTSxHQUFHL0osS0FBSyxDQUFDQyxLQUFLLENBQUMrSixzQkFBc0IsR0FBR2hLLEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUUsaUJBQWlCO0FBQUEsR0FNN0QsVUFBQXRFLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQzBFLG1CQUFtQjtBQUFBLEdBQ25ELFVBQUEzRSxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNnRixtQkFBbUI7QUFBQSxHQUN2QyxVQUFBakYsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDK0osc0JBQXNCO0FBQUEsRUFLeEQ7QUFFTSxJQUFNQyxtQkFBbUIsR0FBQXJLLE9BQUEsQ0FBQXFLLG1CQUFBLEdBQUdwSyw0QkFBTSxDQUFDVSxHQUFHLENBQUFyQixpQkFBQSxLQUFBQSxpQkFBQSxPQUFBYSx1QkFBQSxvRUFDdkIsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDeUIsc0JBQXNCO0FBQUEsRUFFaEU7QUFFTSxJQUFNd0ksa0JBQWtCLEdBQUF0SyxPQUFBLENBQUFzSyxrQkFBQSxHQUFHckssNEJBQU0sQ0FBQ1UsR0FBRyxDQUFBcEIsaUJBQUEsS0FBQUEsaUJBQUEsT0FBQVksdUJBQUEsK0ZBSTNDO0FBRU0sSUFBTW9LLFNBQVMsR0FBQXZLLE9BQUEsQ0FBQXVLLFNBQUEsR0FBR3RLLDRCQUFNLENBQUNDLElBQUksQ0FBQ29CLEtBQUssQ0FBQztFQUN6Q0MsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDLENBQUEvQixpQkFBQSxLQUFBQSxpQkFBQSxPQUFBVyx1QkFBQSxzZUFDb0IsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDZ0gsMEJBQTBCO0FBQUEsRUF1QnBFO0FBRU0sSUFBTW1ELGdCQUFnQixHQUFBeEssT0FBQSxDQUFBd0ssZ0JBQUEsR0FBRyxJQUFBdkssNEJBQU0sRUFBQ3dLLDJCQUFVLENBQUMsQ0FBQWhMLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFVLHVCQUFBLGlsRkFJL0IsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDa0osVUFBVTtBQUFBLEdBQ2pDLFVBQUFuSixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxSyxhQUFhO0FBQUEsR0FDM0IsVUFBQXRLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3NLLFFBQVE7QUFBQSxHQUN4QyxVQUFBdkssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDdUssbUJBQW1CO0FBQUEsR0FjN0IsVUFBQXhLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3NLLFFBQVE7QUFBQSxHQU03QixVQUFBdkssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDd0ssYUFBYTtBQUFBLEdBbUI3QyxVQUFBekssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDdUssbUJBQW1CO0FBQUEsR0FDbEMsVUFBQXhLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2tKLFVBQVU7QUFBQSxHQUNqQyxVQUFBbkosS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUssYUFBYTtBQUFBLEdBVXRDLFVBQUF0SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN1SyxtQkFBbUI7QUFBQSxHQUNsQyxVQUFBeEssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDa0osVUFBVTtBQUFBLEdBQ2pDLFVBQUFuSixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxSyxhQUFhO0FBQUEsR0EyQmxDLFVBQUF0SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxSyxhQUFhO0FBQUEsR0FJM0IsVUFBQXRLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3NLLFFBQVE7QUFBQSxFQWFwRDtBQUVNLElBQU1HLGdCQUFnQixHQUFBOUssT0FBQSxDQUFBOEssZ0JBQUEsR0FBRyxJQUFBN0ssNEJBQU0sRUFBQzhLLDJCQUFVLENBQUMsQ0FBQXJMLGlCQUFBLEtBQUFBLGlCQUFBLE9BQUFTLHVCQUFBLHN0S0FJL0IsVUFBQUMsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDa0osVUFBVTtBQUFBLEdBQ2pDLFVBQUFuSixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNxSyxhQUFhO0FBQUEsR0F1QjNCLFVBQUF0SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNzSyxRQUFRO0FBQUEsR0FLN0IsVUFBQXZLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3NLLFFBQVE7QUFBQSxHQUs3QixVQUFBdkssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDd0ssYUFBYTtBQUFBLEdBSzdDLFVBQUF6SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN1SyxtQkFBbUI7QUFBQSxHQWF4QyxVQUFBeEssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDdUssbUJBQW1CO0FBQUEsR0FFcEMsVUFBQXhLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3FLLGFBQWE7QUFBQSxHQWlCakMsVUFBQXRLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3NLLFFBQVE7QUFBQSxHQVVsQyxVQUFBdkssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDMksseUJBQXlCO0FBQUEsR0FlOUMsVUFBQTVLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQzJLLHlCQUF5QjtBQUFBLEdBQ3pDLFVBQUE1SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN3SyxhQUFhO0FBQUEsR0FFakMsVUFBQXpLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2tKLFVBQVU7QUFBQSxHQWtCckMsVUFBQW5KLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3VLLG1CQUFtQjtBQUFBLEdBZ0I3QixVQUFBeEssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDNEssY0FBYztBQUFBLEdBUTlDLFVBQUE3SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUM2Syx5QkFBeUI7QUFBQSxHQUUxQyxVQUFBOUssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUssYUFBYTtBQUFBLEdBWXRDLFVBQUF0SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUMySyx5QkFBeUI7QUFBQSxHQUc5QyxVQUFBNUssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDOEsseUJBQXlCO0FBQUEsR0FLOUMsVUFBQS9LLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3VLLG1CQUFtQjtBQUFBLEdBUXhDLFVBQUF4SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUMySyx5QkFBeUI7QUFBQSxHQUsxQyxVQUFBNUssS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDcUssYUFBYTtBQUFBLEdBSzNCLFVBQUF0SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNvRCxhQUFhO0FBQUEsR0FDN0MsVUFBQXJELEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ2tGLGtCQUFrQjtBQUFBLEdBSWxDLFVBQUFuRixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNvRCxhQUFhO0FBQUEsR0FDdkMsVUFBQXJELEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3VLLG1CQUFtQjtBQUFBLEdBR25DLFVBQUF4SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUMrSyxnQkFBZ0I7QUFBQSxHQUlyQyxVQUFBaEwsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDK0ssZ0JBQWdCO0FBQUEsR0FDMUMsVUFBQWhMLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ3VLLG1CQUFtQjtBQUFBLEdBR25DLFVBQUF4SyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUMrSyxnQkFBZ0I7QUFBQSxHQUMxQyxVQUFBaEwsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDdUssbUJBQW1CO0FBQUEsR0FLbkMsVUFBQXhLLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQytLLGdCQUFnQjtBQUFBLEdBRzFDLFVBQUFoTCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUN1SyxtQkFBbUI7QUFBQSxFQUVwRCIsImlnbm9yZUxpc3QiOltdfQ==
443
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVzIiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdERhdGVQaWNrZXIiLCJfcmVhY3RUaW1lUGlja2VyIiwiX3JlYWN0VG9vbHRpcCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2lzUHJvcFZhbGlkIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfdGVtcGxhdGVPYmplY3QwIiwiX3RlbXBsYXRlT2JqZWN0MSIsIl90ZW1wbGF0ZU9iamVjdDEwIiwiX3RlbXBsYXRlT2JqZWN0MTEiLCJfdGVtcGxhdGVPYmplY3QxMiIsIl90ZW1wbGF0ZU9iamVjdDEzIiwiX3RlbXBsYXRlT2JqZWN0MTQiLCJfdGVtcGxhdGVPYmplY3QxNSIsIl90ZW1wbGF0ZU9iamVjdDE2IiwiX3RlbXBsYXRlT2JqZWN0MTciLCJfdGVtcGxhdGVPYmplY3QxOCIsIl90ZW1wbGF0ZU9iamVjdDE5IiwiX3RlbXBsYXRlT2JqZWN0MjAiLCJfdGVtcGxhdGVPYmplY3QyMSIsIl90ZW1wbGF0ZU9iamVjdDIyIiwiX3RlbXBsYXRlT2JqZWN0MjMiLCJfdGVtcGxhdGVPYmplY3QyNCIsIl90ZW1wbGF0ZU9iamVjdDI1IiwiX3RlbXBsYXRlT2JqZWN0MjYiLCJfdGVtcGxhdGVPYmplY3QyNyIsIl90ZW1wbGF0ZU9iamVjdDI4IiwiX3RlbXBsYXRlT2JqZWN0MjkiLCJfdGVtcGxhdGVPYmplY3QzMCIsIl90ZW1wbGF0ZU9iamVjdDMxIiwiX3RlbXBsYXRlT2JqZWN0MzIiLCJfdGVtcGxhdGVPYmplY3QzMyIsIl90ZW1wbGF0ZU9iamVjdDM0IiwiX3RlbXBsYXRlT2JqZWN0MzUiLCJfdGVtcGxhdGVPYmplY3QzNiIsIl90ZW1wbGF0ZU9iamVjdDM3IiwiX3RlbXBsYXRlT2JqZWN0MzgiLCJfdGVtcGxhdGVPYmplY3QzOSIsIl90ZW1wbGF0ZU9iamVjdDQwIiwiX3RlbXBsYXRlT2JqZWN0NDEiLCJfdGVtcGxhdGVPYmplY3Q0MiIsIl90ZW1wbGF0ZU9iamVjdDQzIiwiX3RlbXBsYXRlT2JqZWN0NDQiLCJfdGVtcGxhdGVPYmplY3Q0NSIsIl90ZW1wbGF0ZU9iamVjdDQ2IiwiX3RlbXBsYXRlT2JqZWN0NDciLCJfdGVtcGxhdGVPYmplY3Q0OCIsIl90ZW1wbGF0ZU9iamVjdDQ5IiwiX3RlbXBsYXRlT2JqZWN0NTAiLCJfdGVtcGxhdGVPYmplY3Q1MSIsInNob3VsZEZvcndhcmRQcm9wIiwicHJvcE5hbWUiLCJ0YXJnZXQiLCJpc1Byb3BWYWxpZCIsIlNlbGVjdFRleHQiLCJleHBvcnRzIiwic3R5bGVkIiwic3BhbiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsImxhYmVsQ29sb3IiLCJzZWxlY3RGb250U2l6ZSIsIlNlbGVjdFRleHRCb2xkIiwidGV4dENvbG9yIiwiSWNvblJvdW5kU21hbGwiLCJkaXYiLCJzZWNvbmRhcnlCdG5CZ2RIb3ZlciIsInNlY29uZGFyeUJ0bkNvbG9yIiwiQ2VudGVyRmxleGJveCIsIkNlbnRlclZlcnRpY2FsRmxleGJveCIsIkVuZEhvcml6b250YWxGbGV4Ym94IiwiU3BhY2VCZXR3ZWVuRmxleGJveCIsIlNCRmxleGJveEl0ZW0iLCJTQkZsZXhib3hOb01hcmdpbiIsIlBhbmVsTGFiZWwiLCJsYWJlbCIsImF0dHJzIiwiY2xhc3NOYW1lIiwiUGFuZWxMYWJlbFdyYXBwZXIiLCJQYW5lbExhYmVsQm9sZCIsIlBhbmVsSGVhZGVyVGl0bGUiLCJjbGFzc25hbWVzIiwiUGFuZWxIZWFkZXJDb250ZW50IiwiUGFuZWxDb250ZW50IiwicGFuZWxDb250ZW50QmFja2dyb3VuZCIsIlNpZGVQYW5lbFNlY3Rpb24iLCJkaXNhYmxlZCIsIlNpZGVQYW5lbERpdmlkZXIiLCJzaWRlcGFuZWxEaXZpZGVyQm9yZGVyIiwicGFuZWxCb3JkZXJDb2xvciIsInNpZGVwYW5lbERpdmlkZXJNYXJnaW4iLCJzaWRlcGFuZWxEaXZpZGVySGVpZ2h0IiwiVG9vbHRpcCIsIlJlYWN0VG9vbHRpcCIsInRvb2x0aXBGb250U2l6ZSIsInRvb2x0aXBCb3hTaGFkb3ciLCJ0b29sdGlwQmciLCJ0b29sdGlwQ29sb3IiLCJCdXR0b24iLCJidXR0b24iLCJ3aXRoQ29uZmlnIiwibmVnYXRpdmUiLCJuZWdhdGl2ZUJ0bkJnZCIsInNlY29uZGFyeSIsInNlY29uZGFyeUJ0bkJnZCIsImxpbmsiLCJsaW5rQnRuQmdkIiwiZmxvYXRpbmciLCJmbG9hdGluZ0J0bkJnZCIsImN0YSIsImN0YUJ0bkJnZCIsInByaW1hcnlCdG5CZ2QiLCJwcmltYXJ5QnRuUmFkaXVzIiwibmVnYXRpdmVCdG5Db2xvciIsImxpbmtCdG5Db2xvciIsImZsb2F0aW5nQnRuQ29sb3IiLCJjdGFCdG5Db2xvciIsInByaW1hcnlCdG5Db2xvciIsImxhcmdlIiwicHJpbWFyeUJ0bkZvbnRTaXplTGFyZ2UiLCJzbWFsbCIsInByaW1hcnlCdG5Gb250U2l6ZVNtYWxsIiwicHJpbWFyeUJ0bkZvbnRTaXplRGVmYXVsdCIsImJ0bkZvbnRGYW1pbHkiLCJ0cmFuc2l0aW9uIiwid2lkdGgiLCJuZWdhdGl2ZUJ0bkJvcmRlciIsInNlY29uZGFyeUJ0bkJvcmRlciIsImZsb2F0aW5nQnRuQm9yZGVyIiwibGlua0J0bkJvcmRlciIsInByaW1hcnlCdG5Cb3JkZXIiLCJuZWdhdGl2ZUJ0bkJnZEhvdmVyIiwibGlua0J0bkFjdEJnZEhvdmVyIiwiZmxvYXRpbmdCdG5CZ2RIb3ZlciIsImN0YUJ0bkJnZEhvdmVyIiwicHJpbWFyeUJ0bkJnZEhvdmVyIiwibmVnYXRpdmVCdG5BY3RDb2xvciIsInNlY29uZGFyeUJ0bkFjdENvbG9yIiwibGlua0J0bkFjdENvbG9yIiwiZmxvYXRpbmdCdG5BY3RDb2xvciIsImN0YUJ0bkFjdENvbG9yIiwicHJpbWFyeUJ0bkFjdENvbG9yIiwiSW5wdXQiLCJpbnB1dCIsInNlY29uZGFyeUlucHV0IiwiSW5wdXRMaWdodCIsImlucHV0TFQiLCJUZXh0QXJlYSIsInRleHRhcmVhIiwiVGV4dEFyZWFMaWdodCIsIklubGluZUlucHV0IiwiaW5saW5lSW5wdXQiLCJTdHlsZWRQYW5lbEhlYWRlciIsIiRhY3RpdmUiLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsInBhbmVsQmFja2dyb3VuZCIsImxhYmVsUkNHQ29sb3JWYWx1ZXMiLCJqb2luIiwicGFuZWxIZWFkZXJIZWlnaHQiLCJwYW5lbEhlYWRlckJvcmRlclJhZGl1cyIsIlN0eWxlZFBhbmVsRHJvcGRvd24iLCJwYW5lbERyb3Bkb3duU2Nyb2xsQmFyIiwidHlwZSIsIm1vZGFsRHJvcGRvd25CYWNrZ3JvdW5kIiwicGFuZWxCb3hTaGFkb3ciLCJwYW5lbEJvcmRlclJhZGl1cyIsIkJ1dHRvbkdyb3VwIiwiRGF0YXNldFNxdWFyZSIsImJhY2tncm91bmRDb2xvciIsIlNlbGVjdGlvbkJ1dHRvbiIsInNlbGVjdGVkIiwic2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3IiLCJzZWxlY3Rpb25CdG5Cb3JkZXJDb2xvciIsInNlbGVjdGlvbkJ0bkFjdENvbG9yIiwic2VsZWN0aW9uQnRuQ29sb3IiLCJzZWxlY3Rpb25CdG5BY3RCZ2QiLCJzZWxlY3Rpb25CdG5CZ2QiLCJTdHlsZWRUYWJsZSIsInRhYmxlIiwicGFuZWxCYWNrZ3JvdW5kTFQiLCJ0aXRsZUNvbG9yTFQiLCJwYW5lbEJvcmRlckxUIiwiU3R5bGVkTW9kYWxDb250ZW50IiwidGV4dENvbG9yTFQiLCJtb2RhbExhdGVyYWxQYWRkaW5nIiwibWVkaWEiLCJwb3J0YWJsZSIsIm1vZGFsUG9ydGFibGVMYXRlcmFsUGFkZGluZyIsIlN0eWxlZE1vZGFsVmVydGljYWxQYW5lbCIsInBhbG0iLCJTdHlsZWRNb2RhbFNlY3Rpb24iLCJfcmVmIiwic3VidGV4dENvbG9yTFQiLCJTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGUiLCJlcnJvciIsImVycm9yQ29sb3IiLCJTdHlsZWRNYXBDb250YWluZXIiLCJTdHlsZWRBdHRyaWJ1dGlvbiIsInByb3AiLCJpbmNsdWRlcyIsIm1hcExpYkF0dHJpYnV0aW9uQ3NzQ2xhc3MiLCJtYXBMaWJDc3NDbGFzcyIsIlN0eWxlZEV4cG9ydFNlY3Rpb24iLCJfcHJvcHMkdGhlbWUkZm9udEZhbWkiLCJmb250RmFtaWx5TWVkaXVtIiwiZm9udEZhbWlseSIsIlN0eWxlZEZpbHRlcmVkT3B0aW9uIiwiU3R5bGVkVHlwZSIsIldpZGdldENvbnRhaW5lciIsIkJvdHRvbVdpZGdldElubmVyIiwiYm90dG9tV2lkZ2V0QmdkIiwiY29uY2F0IiwiYm90dG9tSW5uZXJQZFZlcnQiLCJib3R0b21Jbm5lclBkU2lkZSIsImJvdHRvbVBhbmVsR2FwIiwiTWFwQ29udHJvbEJ1dHRvbiIsImZsb2F0aW5nQnRuUmFkaXVzIiwiYWN0aXZlIiwiZmxvYXRpbmdCdG5Cb3JkZXJIb3ZlciIsIlN0eWxlZEZpbHRlckNvbnRlbnQiLCJUcnVuY2F0ZWRUaXRsZVRleHQiLCJDaGVja01hcmsiLCJTdHlsZWRUaW1lUGlja2VyIiwiVGltZVBpY2tlciIsImlucHV0Rm9udFNpemUiLCJpbnB1dEJnZCIsImVmZmVjdFBhbmVsVGV4dE1haW4iLCJpbnB1dEJnZEhvdmVyIiwiU3R5bGVkRGF0ZVBpY2tlciIsIkRhdGVQaWNrZXIiLCJlZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkxIiwiaW5wdXRCZ2RBY3RpdmUiLCJlZmZlY3RQYW5lbFRleHRTZWNvbmRhcnkyIiwiZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5MyIsInByaW1hcnlCdG5BY3RCZ2QiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge21lZGlhfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge1JHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IERhdGVQaWNrZXIgZnJvbSAncmVhY3QtZGF0ZS1waWNrZXInO1xuaW1wb3J0IFRpbWVQaWNrZXIgZnJvbSAncmVhY3QtdGltZS1waWNrZXInO1xuaW1wb3J0IFJlYWN0VG9vbHRpcCwge1Rvb2x0aXBQcm9wc30gZnJvbSAncmVhY3QtdG9vbHRpcCc7XG5pbXBvcnQgc3R5bGVkLCB7SVN0eWxlZENvbXBvbmVudH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGlzUHJvcFZhbGlkIGZyb20gJ0BlbW90aW9uL2lzLXByb3AtdmFsaWQnO1xuXG5pbXBvcnQge0Jhc2VDb21wb25lbnRQcm9wc30gZnJvbSAnLi4vdHlwZXMnO1xuXG4vLyBUaGlzIGltcGxlbWVudHMgdGhlIGRlZmF1bHQgYmVoYXZpb3IgZnJvbSBzdHlsZWQtY29tcG9uZW50cyB2NVxuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZEZvcndhcmRQcm9wKHByb3BOYW1lLCB0YXJnZXQpIHtcbiAgaWYgKHR5cGVvZiB0YXJnZXQgPT09ICdzdHJpbmcnKSB7XG4gICAgLy8gRm9yIEhUTUwgZWxlbWVudHMsIGZvcndhcmQgdGhlIHByb3AgaWYgaXQgaXMgYSB2YWxpZCBIVE1MIGF0dHJpYnV0ZVxuICAgIHJldHVybiBpc1Byb3BWYWxpZChwcm9wTmFtZSk7XG4gIH1cbiAgLy8gRm9yIG90aGVyIGVsZW1lbnRzLCBmb3J3YXJkIGFsbCBwcm9wc1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGNvbnN0IFNlbGVjdFRleHQgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3RGb250U2l6ZX07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgaSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0VGV4dEJvbGQgPSBzdHlsZWQoU2VsZWN0VGV4dClgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5gO1xuXG5leHBvcnQgY29uc3QgSWNvblJvdW5kU21hbGwgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBib3JkZXItcmFkaXVzOiA5cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJ9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5Db2xvcn07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJnZEhvdmVyfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IENlbnRlckZsZXhib3ggPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IENlbnRlclZlcnRpY2FsRmxleGJveCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgRW5kSG9yaXpvbnRhbEZsZXhib3ggPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogZW5kO1xuYDtcblxuZXhwb3J0IGNvbnN0IFNwYWNlQmV0d2VlbkZsZXhib3ggPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTQkZsZXhib3hJdGVtID0gc3R5bGVkLmRpdmBcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tbGVmdDogMTZweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTQkZsZXhib3hOb01hcmdpbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbExhYmVsID0gc3R5bGVkLmxhYmVsLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbC1wYW5lbF9fbGFiZWwnXG59KWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsTGFiZWxXcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NpZGUtcGFuZWwtcGFuZWxfX2xhYmVsLXdyYXBwZXInXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxMYWJlbEJvbGQgPSBzdHlsZWQoUGFuZWxMYWJlbClgXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5gO1xuXG5leHBvcnQgY29uc3QgUGFuZWxIZWFkZXJUaXRsZSA9IHN0eWxlZC5zcGFuLmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnc2lkZS1wYW5lbC1wYW5lbF9faGVhZGVyX190aXRsZScsIHByb3BzLmNsYXNzTmFtZSlcbn0pKWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsZXR0ZXItc3BhY2luZzogMC40M3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbEhlYWRlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG5cbiAgLmljb24ge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbENvbnRlbnQgPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnc2lkZS1wYW5lbC1wYW5lbF9fY29udGVudCcsIHByb3BzLmNsYXNzTmFtZSlcbn0pKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbENvbnRlbnRCYWNrZ3JvdW5kfTtcbiAgcGFkZGluZzogMTJweDtcbmA7XG5cbmludGVyZmFjZSBTaWRlUGFuZWxTZWN0aW9uUHJvcHMge1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTaWRlUGFuZWxTZWN0aW9uID0gc3R5bGVkLmRpdi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ3NpZGUtcGFuZWwtc2VjdGlvbicsIHByb3BzLmNsYXNzTmFtZSlcbn0pKTxTaWRlUGFuZWxTZWN0aW9uUHJvcHM+YFxuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gIG9wYWNpdHk6ICR7cHJvcHMgPT4gKHByb3BzLmRpc2FibGVkID8gMC40IDogMSl9O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJyl9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNpZGVQYW5lbERpdmlkZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbC1kaXZpZGVyJ1xufSlgXG4gIGJvcmRlci1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZXBhbmVsRGl2aWRlckJvcmRlcn0gc29saWRcbiAgICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyQ29sb3J9O1xuICBtYXJnaW4tYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVwYW5lbERpdmlkZXJNYXJnaW59cHg7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlcGFuZWxEaXZpZGVySGVpZ2h0fXB4O1xuYDtcblxudHlwZSBUb29sdGlwQXR0cnNQcm9wcyA9IHtpbnRlcmFjdGl2ZT86IGJvb2xlYW59ICYgVG9vbHRpcFByb3BzICYgQmFzZUNvbXBvbmVudFByb3BzO1xuXG5leHBvcnQgY29uc3QgVG9vbHRpcDogSVN0eWxlZENvbXBvbmVudDwnd2ViJywgVG9vbHRpcEF0dHJzUHJvcHM+ID0gc3R5bGVkKFxuICBSZWFjdFRvb2x0aXBcbik8VG9vbHRpcFByb3BzPmBcbiAgJi5fX3JlYWN0X2NvbXBvbmVudF90b29sdGlwIHtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEZvbnRTaXplfTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmc6IDEwcHggMThweDtcbiAgICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBCb3hTaGFkb3d9O1xuXG4gICAgJi50eXBlLWRhcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcENvbG9yfTtcbiAgICAgICYucGxhY2UtYm90dG9tIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucGxhY2UtdG9wIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucGxhY2UtcmlnaHQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudG9vbHRpcEJnfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBsYWNlLWxlZnQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50b29sdGlwQmd9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgdHlwZSBCdXR0b25Qcm9wcyA9IFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PiAmIHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICByZWY/OiBSZWFjdC5Gb3J3YXJkZWRSZWY8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgbmVnYXRpdmU/OiBib29sZWFuO1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xuICBsaW5rPzogYm9vbGVhbjtcbiAgZmxvYXRpbmc/OiBib29sZWFuO1xuICBjdGE/OiBib29sZWFuO1xuICBsYXJnZT86IGJvb2xlYW47XG4gIHNtYWxsPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB3aWR0aD86IHN0cmluZztcbiAgaW5hY3RpdmU/OiBib29sZWFuO1xuICBzaXplPzogc3RyaW5nO1xufTtcblxuLy8gdGhpcyBuZWVkcyB0byBiZSBhbiBhY3R1YWwgYnV0dG9uIHRvIGJlIGFibGUgdG8gc2V0IGRpc2FibGVkIGF0dHJpYnV0ZSBjb3JyZWN0bHlcbmV4cG9ydCBjb25zdCBCdXR0b24gPSBzdHlsZWQuYnV0dG9uLndpdGhDb25maWcoe3Nob3VsZEZvcndhcmRQcm9wfSkuYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdidXR0b24nLCBwcm9wcy5jbGFzc05hbWUpXG59KSk8QnV0dG9uUHJvcHM+YFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMubmVnYXRpdmVcbiAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5CZ2RcbiAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJnZFxuICAgICAgOiBwcm9wcy5saW5rXG4gICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5CZ2RcbiAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RcbiAgICAgIDogcHJvcHMuY3RhXG4gICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkJnZFxuICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5uZWdhdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkNvbG9yXG4gICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5Db2xvclxuICAgICAgOiBwcm9wcy5saW5rXG4gICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5Db2xvclxuICAgICAgOiBwcm9wcy5mbG9hdGluZ1xuICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkNvbG9yXG4gICAgICA6IHByb3BzLmN0YVxuICAgICAgPyBwcm9wcy50aGVtZS5jdGFCdG5Db2xvclxuICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQ29sb3J9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LXNpemU6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5sYXJnZVxuICAgICAgPyBwcm9wcy50aGVtZS5wcmltYXJ5QnRuRm9udFNpemVMYXJnZVxuICAgICAgOiBwcm9wcy5zbWFsbFxuICAgICAgPyBwcm9wcy50aGVtZS5wcmltYXJ5QnRuRm9udFNpemVTbWFsbFxuICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuRm9udFNpemVEZWZhdWx0fTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYnRuRm9udEZhbWlseX07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAke3Byb3BzID0+IChwcm9wcy5sYXJnZSA/ICcxNHB4IDMycHgnIDogcHJvcHMuc21hbGwgPyAnNnB4IDlweCcgOiAnOXB4IDEycHgnKX07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjQgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG4gIGJvcmRlcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLm5lZ2F0aXZlQnRuQm9yZGVyXG4gICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Cb3JkZXJcbiAgICAgIDogcHJvcHMubGlua1xuICAgICAgPyBwcm9wcy50aGVtZS5saW5rQnRuQm9yZGVyXG4gICAgICA6IHByb3BzLnRoZW1lLnByaW1hcnlCdG5Cb3JkZXJ9O1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLm5lZ2F0aXZlXG4gICAgICAgID8gcHJvcHMudGhlbWUubmVnYXRpdmVCdG5CZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLnNlY29uZGFyeVxuICAgICAgICA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUJ0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMubGlua1xuICAgICAgICA/IHByb3BzLnRoZW1lLmxpbmtCdG5BY3RCZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLmZsb2F0aW5nXG4gICAgICAgID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5CZ2RIb3ZlclxuICAgICAgICA6IHByb3BzLmN0YVxuICAgICAgICA/IHByb3BzLnRoZW1lLmN0YUJ0bkJnZEhvdmVyXG4gICAgICAgIDogcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZEhvdmVyfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PlxuICAgICAgcHJvcHMubmVnYXRpdmVcbiAgICAgICAgPyBwcm9wcy50aGVtZS5uZWdhdGl2ZUJ0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMuc2Vjb25kYXJ5XG4gICAgICAgID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy5saW5rXG4gICAgICAgID8gcHJvcHMudGhlbWUubGlua0J0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMuZmxvYXRpbmdcbiAgICAgICAgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkFjdENvbG9yXG4gICAgICAgIDogcHJvcHMuY3RhXG4gICAgICAgID8gcHJvcHMudGhlbWUuY3RhQnRuQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQWN0Q29sb3J9O1xuICB9XG5cbiAgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICR7cHJvcHMgPT4gKHByb3BzLmxhcmdlID8gJzEwcHgnIDogcHJvcHMuc21hbGwgPyAnNnB4JyA6ICc4cHgnKX07XG4gIH1cbmA7XG5cbmludGVyZmFjZSBJbnB1dFByb3BzIHtcbiAgc2Vjb25kYXJ5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IElucHV0ID0gc3R5bGVkLmlucHV0LndpdGhDb25maWcoe3Nob3VsZEZvcndhcmRQcm9wfSk8SW5wdXRQcm9wcz5gXG4gICR7cHJvcHMgPT4gKHByb3BzLnNlY29uZGFyeSA/IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0IDogcHJvcHMudGhlbWUuaW5wdXQpfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBJbnB1dExpZ2h0ID0gc3R5bGVkLmlucHV0LndpdGhDb25maWcoe3Nob3VsZEZvcndhcmRQcm9wfSlgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRMVH07XG5gO1xuXG5leHBvcnQgY29uc3QgVGV4dEFyZWEgPSBzdHlsZWQudGV4dGFyZWEud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTxJbnB1dFByb3BzPmBcbiAgJHtwcm9wcyA9PiAocHJvcHMuc2Vjb25kYXJ5ID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXQgOiBwcm9wcy50aGVtZS5pbnB1dCl9O1xuYDtcbmV4cG9ydCBjb25zdCBUZXh0QXJlYUxpZ2h0ID0gc3R5bGVkLnRleHRhcmVhLndpdGhDb25maWcoe3Nob3VsZEZvcndhcmRQcm9wfSlgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRMVH0gaGVpZ2h0OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG5gO1xuXG5leHBvcnQgY29uc3QgSW5saW5lSW5wdXQgPSBzdHlsZWQoSW5wdXQpYFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlubGluZUlucHV0fTtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVkUGFuZWxIZWFkZXJQcm9wcyB7XG4gICRhY3RpdmU/OiBib29sZWFuO1xuICBsYWJlbFJDR0NvbG9yVmFsdWVzPzogUkdCQ29sb3IgfCBudWxsO1xuICB3YXJuaW5nPzogYm9vbGVhbjtcbiAgaXNWYWxpZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQYW5lbEhlYWRlciA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTxTdHlsZWRQYW5lbEhlYWRlclByb3BzPmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLiRhY3RpdmUgPyBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3ZlciA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWRcbiAgICByZ2IoXG4gICAgICAke3Byb3BzID0+IChwcm9wcy5sYWJlbFJDR0NvbG9yVmFsdWVzID8gcHJvcHMubGFiZWxSQ0dDb2xvclZhbHVlcy5qb2luKCcsJykgOiAndHJhbnNwYXJlbnQnKX1cbiAgICApO1xuICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxIZWFkZXJIZWlnaHR9cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEhlYWRlckJvcmRlclJhZGl1c307XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkUGFuZWxEcm9wZG93blByb3BzIHtcbiAgdHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBhbmVsRHJvcGRvd24gPSBzdHlsZWQuZGl2PFN0eWxlZFBhbmVsRHJvcGRvd25Qcm9wcz5gXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxEcm9wZG93blNjcm9sbEJhcn1cbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLnR5cGUgPT09ICdsaWdodCcgPyBwcm9wcy50aGVtZS5tb2RhbERyb3Bkb3duQmFja2dyb3VuZCA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCb3hTaGFkb3d9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyUmFkaXVzfTtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xuYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkdyb3VwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICB9XG4gIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0blJhZGl1c307XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuUmFkaXVzfTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5SYWRpdXN9O1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgRGF0YXNldFNxdWFyZVByb3BzIHtcbiAgYmFja2dyb3VuZENvbG9yOiBSR0JDb2xvcjtcbn1cblxuZXhwb3J0IGNvbnN0IERhdGFzZXRTcXVhcmUgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe3Nob3VsZEZvcndhcmRQcm9wfSk8RGF0YXNldFNxdWFyZVByb3BzPmBcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoJHtwcm9wcyA9PiBwcm9wcy5iYWNrZ3JvdW5kQ29sb3Iuam9pbignLCcpfSk7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbmA7XG5cbmludGVyZmFjZSBTZWxlY3Rpb25CdXR0b25Qcm9wcyB7XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFNlbGVjdGlvbkJ1dHRvbiA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTxTZWxlY3Rpb25CdXR0b25Qcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMgPT5cbiAgICAgIHByb3BzLnNlbGVjdGVkXG4gICAgICAgID8gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3JcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJDb2xvcn07XG4gIGNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc2VsZWN0ZWQgPyBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RDb2xvciA6IHByb3BzLnRoZW1lLnNlbGVjdGlvbkJ0bkNvbG9yfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLnNlbGVjdGVkID8gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQWN0QmdkIDogcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQmdkfTtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1yaWdodDogNnB4O1xuICBwYWRkaW5nOiA2cHggMTZweDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5BY3RDb2xvcn07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWxlY3Rpb25CdG5Cb3JkZXJBY3RDb2xvcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUYWJsZSA9IHN0eWxlZC50YWJsZWBcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuXG4gIHRoZWFkIHtcbiAgICB0ciB0aCB7XG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZExUfTtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRpdGxlQ29sb3JMVH07XG4gICAgICBwYWRkaW5nOiAxOHB4IDEycHg7XG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB7XG4gICAgdHIgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckxUfTtcbiAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRMVH07XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZm9udC1zaXplOiAxMHB4O1xuICBwYWRkaW5nOiAyNHB4ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubW9kYWxMYXRlcmFsUGFkZGluZ307XG4gIG1hcmdpbjogMCAtJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5tb2RhbExhdGVyYWxQYWRkaW5nfTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMTZweCAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsUG9ydGFibGVMYXRlcmFsUGFkZGluZ307XG4gICAgbWFyZ2luOiAwIC0ke3Byb3BzID0+IHByb3BzLnRoZW1lLm1vZGFsUG9ydGFibGVMYXRlcmFsUGFkZGluZ307XG4gIGB9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsVmVydGljYWxQYW5lbCA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdtb2RhbC12ZXJ0aWNhbC1wYW5lbCdcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgZm9udC1zaXplOiAxMnB4O1xuXG4gIC5tb2RhbC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICR7bWVkaWEucGFsbWBcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYH07XG4gIH1cblxuICBpbnB1dCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbFNlY3Rpb24gPSBzdHlsZWQuZGl2LmF0dHJzKCh7Y2xhc3NOYW1lfSkgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdtb2RhbC1zZWN0aW9uJywgY2xhc3NOYW1lKVxufSkpYFxuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuXG4gIC5tb2RhbC1zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5tb2RhbC1zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JMVH07XG4gIH1cblxuICBpbnB1dCB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG5cbiAgJHttZWRpYS5wb3J0YWJsZWBcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBgfTtcbiAgJHttZWRpYS5wYWxtYFxuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGB9O1xuYDtcblxuaW50ZXJmYWNlIFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZVByb3BzIHtcbiAgZXJyb3I/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ21vZGFsLWlucHV0X19mb290bm90ZSdcbn0pPFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZVByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gKHByb3BzLmVycm9yID8gcHJvcHMudGhlbWUuZXJyb3JDb2xvciA6IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckxUKX07XG4gIGZvbnQtc2l6ZTogMTBweDtcbmA7XG4vKipcbiAqIE5ld2VyIHZlcnNpb25zIG9mIG1hcGJveC5nbCBkaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2UgYmFubmVyIG9uIHRvcCBvZiB0aGUgbWFwIGJ5IGRlZmF1bHRcbiAqIHdoaWNoIHdpbGwgY2F1c2UgdGhlIG1hcCB0byBkaXNwbGF5IHBvaW50cyBpbiB0aGUgd3JvbmcgbG9jYXRpb25zXG4gKiBUaGlzIHdvcmthcm91bmQgd2lsbCBoaWRlIHRoZSBlcnJvciBiYW5uZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBTdHlsZWRNYXBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAubWFwbGlicmVnbC1tYXAge1xuICAgIC5tYXBsaWJyZWdsLW1pc3NpbmctY3NzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5tYXBsaWJyZWdsLWN0cmwtYXR0cmliIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5tYXBib3hnbC1tYXAge1xuICAgIC5tYXBib3hnbC1taXNzaW5nLWNzcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubWFwYm94Z2wtY3RybC1hdHRyaWIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCB0eXBlIFN0eWxlZEF0dHJpYnV0aW9uUHJvcHMgPSB7XG4gIG1hcExpYkNzc0NsYXNzOiBzdHJpbmc7XG4gIG1hcExpYkF0dHJpYnV0aW9uQ3NzQ2xhc3M6IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRBdHRyaWJ1dGlvbiA9IHN0eWxlZC5kaXZcbiAgLndpdGhDb25maWcoe1xuICAgIHNob3VsZEZvcndhcmRQcm9wOiBwcm9wID0+ICFbJ21hcExpYkNzc0NsYXNzJywgJ21hcExpYkF0dHJpYnV0aW9uQ3NzQ2xhc3MnXS5pbmNsdWRlcyhwcm9wKVxuICB9KVxuICAuYXR0cnM8U3R5bGVkQXR0cmlidXRpb25Qcm9wcz4ocHJvcHMgPT4gKHtcbiAgICBjbGFzc05hbWU6IHByb3BzLm1hcExpYkF0dHJpYnV0aW9uQ3NzQ2xhc3NcbiAgfSkpPFN0eWxlZEF0dHJpYnV0aW9uUHJvcHM+YFxuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMTBweCA2cHg7XG4gIHotaW5kZXg6IDE7XG4gIC5hdHRyaXRpb24tbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgYSxcbiAgICAucGlwZS1zZXBhcmF0b3Ige1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICB9XG5cbiAgICAuYmFzZW1hcC1hdHRyaWJ1dGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFzZW1hcC1hdHRyaWJ1dGlvbiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICAgIH1cblxuICAgIC5waXBlLXNlcGFyYXRvciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmF0dHJpdGlvbi1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG5cbiAgICBhLiR7cHJvcHMgPT4gcHJvcHMubWFwTGliQ3NzQ2xhc3N9LWN0cmwtbG9nbyB7XG4gICAgICB3aWR0aDogNzJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuICB9XG4gIGEsXG4gIC5waXBlLXNlcGFyYXRvciB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgJHttZWRpYS5wYWxtYFxuICAgIC5hdHRyaXRpb24tbG9nbyBhIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cblxuICAgIC5hdHRyaXRpb24tbGluayB7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIH1cblxuICAgIC5iYXNlbWFwLWF0dHJpYnV0aW9uIHtcbiAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgfVxuICBgfTtcbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVkRXhwb3J0U2VjdGlvblByb3BzIHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgU3R5bGVkRXhwb3J0U2VjdGlvbiA9IHN0eWxlZC5kaXY8U3R5bGVkRXhwb3J0U2VjdGlvblByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luOiAzNXB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JMVH07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuZGlzYWJsZWQgPyAwLjMgOiAxKX07XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTg1cHg7XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5TWVkaXVtID8/IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIH1cbiAgICAuc3VidGl0bGUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgIH1cbiAgfVxuICAud2FybmluZyB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZXJyb3JDb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZGVzY3JpcHRpb24uZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNlbGVjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgcGFkZGluZzogMC41ZW0gMy41ZW0gMC41ZW0gMWVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG5cbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgNTAlLCBncmF5IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGdyYXkgNTAlLCB0cmFuc3BhcmVudCA1MCUpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjY2MsICNjY2MpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMjBweCkgY2FsYygxZW0gKyAycHgpLCBjYWxjKDEwMCUgLSAxNXB4KSBjYWxjKDFlbSArIDJweCksXG4gICAgICAgIGNhbGMoMTAwJSAtIDIuNWVtKSA0LjVlbTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDVweCwgNXB4IDVweCwgMXB4IDEuNWVtO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICBzZWxlY3Q6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBncmVlbiA1MCUsIHRyYW5zcGFyZW50IDUwJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHRyYW5zcGFyZW50IDUwJSwgZ3JlZW4gNTAlKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjY2NjLCAjY2NjKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE1cHgpIDFlbSwgY2FsYygxMDAlIC0gMjBweCkgMWVtLCBjYWxjKDEwMCUgLSAyLjVlbSkgNC41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCA1cHgsIDVweCA1cHgsIDFweCAxLjVlbTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBib3JkZXItY29sb3I6IGdyZWVuO1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWx0ZXJlZE9wdGlvbiA9IHN0eWxlZChTZWxlY3Rpb25CdXR0b24pYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICB3aWR0aDogMTQwcHg7XG5cbiAgLmZpbHRlci1vcHRpb24tdGl0bGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuZmlsdGVyLW9wdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yTFR9O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFR5cGUgPSBzdHlsZWQoU2VsZWN0aW9uQnV0dG9uKWBcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luOiA0cHg7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICB3aWR0aDogMTAwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgV2lkZ2V0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgei1pbmRleDogMTtcbmA7XG5cbmV4cG9ydCBjb25zdCBCb3R0b21XaWRnZXRJbm5lciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0QmdkfTtcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBgJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkVmVydH1weCAke3Byb3BzLnRoZW1lLmJvdHRvbUlubmVyUGRTaWRlfXB4YH07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3R0b21QYW5lbEdhcH1weDtcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyQ29sb3J9O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgYH1cbmA7XG5cbmludGVyZmFjZSBNYXBDb250cm9sQnV0dG9uUHJvcHMge1xuICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwQ29udHJvbEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pXG4gIC53aXRoQ29uZmlnKHtcbiAgICBzaG91bGRGb3J3YXJkUHJvcDogcHJvcCA9PiAhWydhY3RpdmUnXS5pbmNsdWRlcyhwcm9wKVxuICB9KVxuICAuYXR0cnMocHJvcHMgPT4gKHtcbiAgICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ21hcC1jb250cm9sLWJ1dHRvbicsIHByb3BzLmNsYXNzTmFtZSlcbiAgfSkpPE1hcENvbnRyb2xCdXR0b25Qcm9wcz5gXG4gIGJveC1zaGFkb3c6IDAgNnB4IDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuUmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmFjdGl2ZSA/IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQmdkSG92ZXIgOiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZH07XG4gIGNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5BY3RDb2xvciA6IHByb3BzLnRoZW1lLmZsb2F0aW5nQnRuQ29sb3J9O1xuICBib3JkZXI6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJvcmRlckhvdmVyIDogcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Cb3JkZXJ9O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkJnZEhvdmVyfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mbG9hdGluZ0J0bkFjdENvbG9yfTtcbiAgICBib3JkZXI6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZmxvYXRpbmdCdG5Cb3JkZXJIb3Zlcn07XG4gIH1cbiAgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWx0ZXJDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbENvbnRlbnRCYWNrZ3JvdW5kfTtcbiAgcGFkZGluZzogMTJweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBUcnVuY2F0ZWRUaXRsZVRleHQgPSBzdHlsZWQuZGl2YFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmA7XG5cbmV4cG9ydCBjb25zdCBDaGVja01hcmsgPSBzdHlsZWQuc3Bhbi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2NoZWNrYm94LWlubmVyJ1xufSlgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0aW9uQnRuQm9yZGVyQWN0Q29sb3J9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG5cbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMSkgdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29udGVudDogJyAnO1xuICAgIHRvcDogNDAlO1xuICAgIGxlZnQ6IDMwJTtcbiAgICB3aWR0aDogMy4ycHg7XG4gICAgaGVpZ2h0OiA2LjIycHg7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUaW1lUGlja2VyID0gc3R5bGVkKFRpbWVQaWNrZXIpYFxuICAucmVhY3QtdGltZS1waWNrZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyLFxuICAucmVhY3QtdGltZS1waWNrZXIgKixcbiAgLnJlYWN0LXRpbWUtcGlja2VyICo6YmVmb3JlLFxuICAucmVhY3QtdGltZS1waWNrZXIgKjphZnRlciB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fd3JhcHBlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZEhvdmVyfTtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXAge1xuICAgIG1pbi13aWR0aDogY2FsYygoNHB4ICogMykgKyAwLjU0ZW0gKiA2ICsgMC4yMTdlbSAqIDIpO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nOiA0cHggMnB4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19kaXZpZGVyIHtcbiAgICBwYWRkaW5nOiAxcHggMDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9fZGl2aWRlcixcbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19sZWFkaW5nWmVybyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQge1xuICAgIG1pbi13aWR0aDogMC41NGVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQtLWhhc0xlYWRpbmdaZXJvIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNTRlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMXB4ICsgMC41NGVtKTtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2lucHV0R3JvdXBfX2FtUG0ge1xuICAgIG1heC13aWR0aDogMzdweDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlzdDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG1lbnVsaXN0O1xuICAgIGFwcGVhcmFuY2U6IG1lbnVsaXN0O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2J1dHRvbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gIH1cbiAgLnJlYWN0LXRpbWUtcGlja2VyX19idXR0b246ZW5hYmxlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fYnV0dG9uIHN2ZyB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgfVxuICAucmVhY3QtdGltZS1waWNrZXJfX2Nsb2NrLS1jbG9zZWQsXG4gIC5yZWFjdC10aW1lLXBpY2tlcl9fY2xlYXItYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRGF0ZVBpY2tlciA9IHN0eWxlZChEYXRlUGlja2VyKWBcbiAgLnJlYWN0LWRhdGUtcGlja2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcixcbiAgLnJlYWN0LWRhdGUtcGlja2VyICosXG4gIC5yZWFjdC1kYXRlLXBpY2tlciAqOmJlZm9yZSxcbiAgLnJlYWN0LWRhdGUtcGlja2VyICo6YWZ0ZXIge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAxMDhweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXAge1xuICAgIG1pbi13aWR0aDogY2FsYygoNHB4ICogMykgKyAwLjU0ZW0gKiA4ICsgMC4yMTdlbSAqIDIpO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nOiA0cHggOXB4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2R9O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZH07XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG5cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkSG92ZXJ9O1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9fZGl2aWRlciB7XG4gICAgcGFkZGluZzogMXB4IDA7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbFRleHRNYWlufTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2RpdmlkZXIsXG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9fbGVhZGluZ1plcm8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0IHtcbiAgICBtaW4td2lkdGg6IDAuNTRlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gIC5yZWFjdC1kYXRlLXBpY2tlcl9faW5wdXRHcm91cF9faW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19pbnB1dEdyb3VwX19pbnB1dDppbnZhbGlkIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkfTtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2lucHV0R3JvdXBfX2lucHV0LS1oYXNMZWFkaW5nWmVybyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjU0ZW07XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDFweCArIDAuNTRlbSk7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19jYWxlbmRhciB7XG4gICAgd2lkdGg6IDI1N3B4O1xuICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgei1pbmRleDogMTE7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5MX07XG4gICAgaW5zZXQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2NhbGVuZGFyLS1jbG9zZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LWRhdGUtcGlja2VyX19jYWxlbmRhciAucmVhY3QtY2FsZW5kYXIge1xuICAgIGJvcmRlci13aWR0aDogdGhpbjtcbiAgfVxuICAucmVhY3QtZGF0ZS1waWNrZXJfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXIge1xuICAgIHdpZHRoOiAyNTZweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5MX07XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZEhvdmVyfTtcbiAgICBib3JkZXItcmFkaXVzOiAwcHggNHB4IDRweCA0cHg7XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXIsXG4gIC5yZWFjdC1jYWxlbmRhciAqLFxuICAucmVhY3QtY2FsZW5kYXIgKjpiZWZvcmUsXG4gIC5yZWFjdC1jYWxlbmRhciAqOmFmdGVyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhciBidXR0b206ZW5hYmxlZCB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyIGJ1dHRvbjplbmFibGVkOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uIGJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiAyNXB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19uYXZpZ2F0aW9uIGJ1dHRvbjplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX25hdmlnYXRpb24gYnV0dG9uOmVuYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRCZ2RBY3RpdmV9O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fd2Vla2RheXMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fbW9udGgtdmlld19fd2Vla2RheXNfX3dlZWtkYXkge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTJ9O1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAgICBhYmJyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19tb250aC12aWV3X193ZWVrTnVtYmVycyAucmVhY3QtY2FsZW5kYXJfX3RpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX21vbnRoLXZpZXdfX2RheXNfX2RheS0td2Vla2VuZCB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5MX07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX19tb250aC12aWV3X19kYXlzX19kYXktLW5laWdoYm9yaW5nTW9udGgge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dFNlY29uZGFyeTN9O1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX25hdmlnYXRpb25fX2xhYmVsX19sYWJlbFRleHQsXG4gIC5yZWFjdC1jYWxlbmRhcl9fbmF2aWdhdGlvbl9fYXJyb3cge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9feWVhci12aWV3IC5yZWFjdC1jYWxlbmRhcl9fdGlsZSxcbiAgLnJlYWN0LWNhbGVuZGFyX19kZWNhZGUtdmlldyAucmVhY3QtY2FsZW5kYXJfX3RpbGUsXG4gIC5yZWFjdC1jYWxlbmRhcl9fY2VudHVyeS12aWV3IC5yZWFjdC1jYWxlbmRhcl9fdGlsZSB7XG4gICAgcGFkZGluZzogMmVtIDAuNWVtO1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0U2Vjb25kYXJ5MX07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDZweCA0cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICAgIGhlaWdodDogMzBweDtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGU6ZW5hYmxlZDpob3ZlcixcbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlOmVuYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZH07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdENvbG9yfTtcbiAgfVxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLW5vdzplbmFibGVkOmhvdmVyLFxuICAucmVhY3QtY2FsZW5kYXJfX3RpbGUtLW5vdzplbmFibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2R9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmVmZmVjdFBhbmVsVGV4dE1haW59O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZS0taGFzQWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnByaW1hcnlCdG5BY3RCZ2R9O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZS0taGFzQWN0aXZlOmVuYWJsZWQ6aG92ZXIsXG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZS0taGFzQWN0aXZlOmVuYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdEJnZH07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gIH1cbiAgLnJlYWN0LWNhbGVuZGFyX190aWxlLS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdEJnZH07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZS0tYWN0aXZlOmVuYWJsZWQ6aG92ZXIsXG4gIC5yZWFjdC1jYWxlbmRhcl9fdGlsZS0tYWN0aXZlOmVuYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdEJnZH07XG4gIH1cbiAgLmNhbGVuZGFyX19uYXZpZ2F0aW9uX19sYWJlbF9fbGFiZWxUZXh0IHtcbiAgICDRgW9sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZWZmZWN0UGFuZWxUZXh0TWFpbn07XG4gIH1cbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGdCQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxnQkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssYUFBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0saUJBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLFlBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUFpRCxJQUFBUSxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFD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