@pdf-viewer/react 0.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/README.md +3 -0
  2. package/dist/Container.module-cb7b45b9.js +14 -0
  3. package/dist/RPSplitter.module-13d612c4.js +7 -0
  4. package/dist/RPTheme.module-f756e5cd.js +7 -0
  5. package/dist/Thumbnails-06fa1aa5.js +2657 -0
  6. package/dist/WrapperLayout.module-147bc943.js +6 -0
  7. package/dist/assets/Button.css +1 -0
  8. package/dist/assets/Checkbox.css +1 -0
  9. package/dist/assets/Container.css +1 -0
  10. package/dist/assets/DropDown.css +1 -0
  11. package/dist/assets/Input.css +1 -0
  12. package/dist/assets/LoaderIcon.css +1 -0
  13. package/dist/assets/MenuItem.css +1 -0
  14. package/dist/assets/MenuSeparator.css +1 -0
  15. package/dist/assets/PropertyItem.css +1 -0
  16. package/dist/assets/RPSplitter.css +1 -0
  17. package/dist/assets/RPTheme.css +1 -0
  18. package/dist/assets/RotateTool.css +1 -0
  19. package/dist/assets/Thumbnails.css +1 -0
  20. package/dist/assets/WrapperLayout.css +1 -0
  21. package/dist/clsx-0c6e471a.js +22 -0
  22. package/dist/components/RPConfig.js +1347 -0
  23. package/dist/components/RPController.js +49 -0
  24. package/dist/components/RPDocument.js +9 -0
  25. package/dist/components/RPDropFileZone.js +33 -0
  26. package/dist/components/RPTheme.js +21 -0
  27. package/dist/components/RPViewer.js +37 -0
  28. package/dist/components/icons/CheckIcon.js +22 -0
  29. package/dist/components/icons/ChevronUpIcon.js +22 -0
  30. package/dist/components/icons/ClearIcon.js +25 -0
  31. package/dist/components/icons/ClockwiseIcon.js +22 -0
  32. package/dist/components/icons/CloseIcon.js +22 -0
  33. package/dist/components/icons/DarkPdfIcon.js +15 -0
  34. package/dist/components/icons/DualPageIcon.js +22 -0
  35. package/dist/components/icons/FileDownloadDefaultIcon.js +23 -0
  36. package/dist/components/icons/FileUploadDefaultIcon.js +23 -0
  37. package/dist/components/icons/FullScreenIcon.js +22 -0
  38. package/dist/components/icons/GoToDownIcon.js +22 -0
  39. package/dist/components/icons/HandModeDefaultIcon.js +22 -0
  40. package/dist/components/icons/HorizontalScrollingIcon.js +24 -0
  41. package/dist/components/icons/InfoIcon.js +22 -0
  42. package/dist/components/icons/LightPdfIcon.js +15 -0
  43. package/dist/components/icons/LoaderIcon.js +17 -0
  44. package/dist/components/icons/MoonIcon.js +22 -0
  45. package/dist/components/icons/PageScrollingIcon.js +24 -0
  46. package/dist/components/icons/PrintDefaultIcon.js +23 -0
  47. package/dist/components/icons/SearchIcon.js +22 -0
  48. package/dist/components/icons/SinglePageIcon.js +22 -0
  49. package/dist/components/icons/SunIcon.js +25 -0
  50. package/dist/components/icons/TextSelectionDefaultIcon.js +23 -0
  51. package/dist/components/icons/ThreeDotIcon.js +22 -0
  52. package/dist/components/icons/Thumbnail.js +54 -0
  53. package/dist/components/icons/VerticalScrollingIcon.js +24 -0
  54. package/dist/components/icons/WrappedScrollingIcon.js +24 -0
  55. package/dist/components/icons/ZoomInIcon.js +22 -0
  56. package/dist/components/icons/ZoomOutIcon.js +22 -0
  57. package/dist/components/layout/Container.js +28 -0
  58. package/dist/components/layout/RPLayout.js +59 -0
  59. package/dist/components/layout/WrapperLayout.js +11 -0
  60. package/dist/components/layout/sidebar/RPSidebar.js +34 -0
  61. package/dist/components/layout/sidebar/RPSplitter.js +10 -0
  62. package/dist/components/layout/sidebar/Thumbnail.js +8 -0
  63. package/dist/components/layout/sidebar/Thumbnails.js +7 -0
  64. package/dist/components/layout/toolbar/DarkModeTool.js +23 -0
  65. package/dist/components/layout/toolbar/DocumentDialog.js +36 -0
  66. package/dist/components/layout/toolbar/DocumentProperties.js +19 -0
  67. package/dist/components/layout/toolbar/FileDownloadTool.js +11 -0
  68. package/dist/components/layout/toolbar/FileUploadTool.js +21 -0
  69. package/dist/components/layout/toolbar/FullScreenTool.js +46 -0
  70. package/dist/components/layout/toolbar/MenuItem.js +12 -0
  71. package/dist/components/layout/toolbar/MenuSeparator.js +8 -0
  72. package/dist/components/layout/toolbar/MostPageTool.js +36 -0
  73. package/dist/components/layout/toolbar/OtherTool.js +21 -0
  74. package/dist/components/layout/toolbar/Paginate.js +12 -0
  75. package/dist/components/layout/toolbar/PrintTool.js +11 -0
  76. package/dist/components/layout/toolbar/PropertyItem.js +12 -0
  77. package/dist/components/layout/toolbar/RPToolbar.js +8 -0
  78. package/dist/components/layout/toolbar/RPToolbarEnd.js +9 -0
  79. package/dist/components/layout/toolbar/RotateTool.js +33 -0
  80. package/dist/components/layout/toolbar/ScrollModeTool.js +54 -0
  81. package/dist/components/layout/toolbar/SearchTool.js +40 -0
  82. package/dist/components/layout/toolbar/SelectionModeTool.js +36 -0
  83. package/dist/components/layout/toolbar/ViewModeTool.js +31 -0
  84. package/dist/components/layout/toolbar/ZoomTool.js +41 -0
  85. package/dist/components/page/AnnotationLayer.js +37 -0
  86. package/dist/components/page/CanvasLayer.js +33 -0
  87. package/dist/components/page/DualPage.js +6 -0
  88. package/dist/components/page/RPPage.js +33 -0
  89. package/dist/components/page/SinglePage.js +6 -0
  90. package/dist/components/page/TextLayer.js +34 -0
  91. package/dist/components/ui/Button.js +22 -0
  92. package/dist/components/ui/Checkbox.js +301 -0
  93. package/dist/components/ui/DropDown.js +29 -0
  94. package/dist/components/ui/Input.js +26 -0
  95. package/dist/components/ui/LoadingIndicator.js +6 -0
  96. package/dist/contexts/ConfigContext.js +13 -0
  97. package/dist/contexts/DarkModeContext.js +28 -0
  98. package/dist/contexts/DropFileZoneContext.js +50 -0
  99. package/dist/contexts/FileInputContext.js +38 -0
  100. package/dist/contexts/FullScreenContext.js +18 -0
  101. package/dist/contexts/IconContext.js +11 -0
  102. package/dist/contexts/InitialStateContext.js +11 -0
  103. package/dist/contexts/LayerContext.js +8 -0
  104. package/dist/contexts/LayoutContainerContext.js +10 -0
  105. package/dist/contexts/LicenseContext.js +15 -0
  106. package/dist/contexts/OtherToolContext.js +18 -0
  107. package/dist/contexts/PageViewportContext.js +8 -0
  108. package/dist/contexts/PaginateContext.js +11 -0
  109. package/dist/contexts/PrintContext.js +8 -0
  110. package/dist/contexts/RPDocumentContext.js +49 -0
  111. package/dist/contexts/RenderedPagesCache.js +14 -0
  112. package/dist/contexts/RotateContext.js +23 -0
  113. package/dist/contexts/ScrollModeContext.js +21 -0
  114. package/dist/contexts/ScrollStateContext.js +13 -0
  115. package/dist/contexts/SearchContext.js +8 -0
  116. package/dist/contexts/SelectionModeContext.js +23 -0
  117. package/dist/contexts/ThemeContext.js +7 -0
  118. package/dist/contexts/ThumbnailsContext.js +8 -0
  119. package/dist/contexts/ToolbarComponentContext.js +41 -0
  120. package/dist/contexts/ViewModeContext.js +28 -0
  121. package/dist/contexts/ViewportContext.js +62 -0
  122. package/dist/contexts/VirtualGridContext.js +15 -0
  123. package/dist/contexts/VirtualScrollContext.js +53 -0
  124. package/dist/contexts/ZoomContext.js +46 -0
  125. package/dist/index-3459164c.js +3609 -0
  126. package/dist/index-743c36f0.js +139 -0
  127. package/dist/main.js +37 -0
  128. package/dist/types/components/RPConfig.d.ts +3 -0
  129. package/dist/types/components/RPController.d.ts +3 -0
  130. package/dist/types/components/RPDocument.d.ts +3 -0
  131. package/dist/types/components/RPDropFileZone.d.ts +2 -0
  132. package/dist/types/components/RPTheme.d.ts +3 -0
  133. package/dist/types/components/RPViewer.d.ts +2 -0
  134. package/dist/types/components/icons/CheckIcon.d.ts +2 -0
  135. package/dist/types/components/icons/ChevronUpIcon.d.ts +2 -0
  136. package/dist/types/components/icons/ClearIcon.d.ts +2 -0
  137. package/dist/types/components/icons/ClockwiseIcon.d.ts +2 -0
  138. package/dist/types/components/icons/CloseIcon.d.ts +2 -0
  139. package/dist/types/components/icons/DarkPdfIcon.d.ts +2 -0
  140. package/dist/types/components/icons/DualPageIcon.d.ts +2 -0
  141. package/dist/types/components/icons/FileDownloadDefaultIcon.d.ts +2 -0
  142. package/dist/types/components/icons/FileUploadDefaultIcon.d.ts +2 -0
  143. package/dist/types/components/icons/FullScreenIcon.d.ts +2 -0
  144. package/dist/types/components/icons/GoToDownIcon.d.ts +2 -0
  145. package/dist/types/components/icons/HandModeDefaultIcon.d.ts +2 -0
  146. package/dist/types/components/icons/HorizontalScrollingIcon.d.ts +2 -0
  147. package/dist/types/components/icons/InfoIcon.d.ts +2 -0
  148. package/dist/types/components/icons/LightPdfIcon.d.ts +2 -0
  149. package/dist/types/components/icons/LoaderIcon.d.ts +2 -0
  150. package/dist/types/components/icons/MoonIcon.d.ts +2 -0
  151. package/dist/types/components/icons/PageScrollingIcon.d.ts +2 -0
  152. package/dist/types/components/icons/PrintDefaultIcon.d.ts +2 -0
  153. package/dist/types/components/icons/SearchIcon.d.ts +2 -0
  154. package/dist/types/components/icons/SinglePageIcon.d.ts +2 -0
  155. package/dist/types/components/icons/SunIcon.d.ts +2 -0
  156. package/dist/types/components/icons/TextSelectionDefaultIcon.d.ts +2 -0
  157. package/dist/types/components/icons/ThreeDotIcon.d.ts +2 -0
  158. package/dist/types/components/icons/Thumbnail.d.ts +2 -0
  159. package/dist/types/components/icons/VerticalScrollingIcon.d.ts +2 -0
  160. package/dist/types/components/icons/WrappedScrollingIcon.d.ts +2 -0
  161. package/dist/types/components/icons/ZoomInIcon.d.ts +2 -0
  162. package/dist/types/components/icons/ZoomOutIcon.d.ts +2 -0
  163. package/dist/types/components/layout/Container.d.ts +9 -0
  164. package/dist/types/components/layout/RPLayout.d.ts +3 -0
  165. package/dist/types/components/layout/WrapperLayout.d.ts +2 -0
  166. package/dist/types/components/layout/sidebar/RPSidebar.d.ts +1 -0
  167. package/dist/types/components/layout/sidebar/RPSplitter.d.ts +7 -0
  168. package/dist/types/components/layout/sidebar/Thumbnail.d.ts +11 -0
  169. package/dist/types/components/layout/sidebar/Thumbnails.d.ts +5 -0
  170. package/dist/types/components/layout/toolbar/DarkModeTool.d.ts +1 -0
  171. package/dist/types/components/layout/toolbar/DocumentDialog.d.ts +2 -0
  172. package/dist/types/components/layout/toolbar/DocumentProperties.d.ts +1 -0
  173. package/dist/types/components/layout/toolbar/FileDownloadTool.d.ts +2 -0
  174. package/dist/types/components/layout/toolbar/FileUploadTool.d.ts +2 -0
  175. package/dist/types/components/layout/toolbar/FullScreenTool.d.ts +1 -0
  176. package/dist/types/components/layout/toolbar/MenuItem.d.ts +6 -0
  177. package/dist/types/components/layout/toolbar/MenuSeparator.d.ts +1 -0
  178. package/dist/types/components/layout/toolbar/MostPageTool.d.ts +1 -0
  179. package/dist/types/components/layout/toolbar/OtherTool.d.ts +1 -0
  180. package/dist/types/components/layout/toolbar/Paginate.d.ts +1 -0
  181. package/dist/types/components/layout/toolbar/PrintTool.d.ts +1 -0
  182. package/dist/types/components/layout/toolbar/PropertyItem.d.ts +7 -0
  183. package/dist/types/components/layout/toolbar/RPToolbar.d.ts +1 -0
  184. package/dist/types/components/layout/toolbar/RPToolbarEnd.d.ts +1 -0
  185. package/dist/types/components/layout/toolbar/RotateTool.d.ts +1 -0
  186. package/dist/types/components/layout/toolbar/ScrollModeTool.d.ts +1 -0
  187. package/dist/types/components/layout/toolbar/SearchTool.d.ts +2 -0
  188. package/dist/types/components/layout/toolbar/SelectionModeTool.d.ts +1 -0
  189. package/dist/types/components/layout/toolbar/ViewModeTool.d.ts +1 -0
  190. package/dist/types/components/layout/toolbar/ZoomTool.d.ts +1 -0
  191. package/dist/types/components/page/AnnotationLayer.d.ts +6 -0
  192. package/dist/types/components/page/CanvasLayer.d.ts +8 -0
  193. package/dist/types/components/page/DualPage.d.ts +5 -0
  194. package/dist/types/components/page/RPPage.d.ts +6 -0
  195. package/dist/types/components/page/SinglePage.d.ts +5 -0
  196. package/dist/types/components/page/TextLayer.d.ts +6 -0
  197. package/dist/types/components/ui/Button.d.ts +6 -0
  198. package/dist/types/components/ui/Checkbox.d.ts +8 -0
  199. package/dist/types/components/ui/DropDown.d.ts +9 -0
  200. package/dist/types/components/ui/Input.d.ts +6 -0
  201. package/dist/types/components/ui/LoadingIndicator.d.ts +6 -0
  202. package/dist/types/contexts/ConfigContext.d.ts +5 -0
  203. package/dist/types/contexts/DarkModeContext.d.ts +5 -0
  204. package/dist/types/contexts/DropFileZoneContext.d.ts +5 -0
  205. package/dist/types/contexts/FileInputContext.d.ts +7 -0
  206. package/dist/types/contexts/FullScreenContext.d.ts +7 -0
  207. package/dist/types/contexts/IconContext.d.ts +7 -0
  208. package/dist/types/contexts/InitialStateContext.d.ts +5 -0
  209. package/dist/types/contexts/LayerContext.d.ts +5 -0
  210. package/dist/types/contexts/LayoutContainerContext.d.ts +8 -0
  211. package/dist/types/contexts/LicenseContext.d.ts +7 -0
  212. package/dist/types/contexts/OtherToolContext.d.ts +9 -0
  213. package/dist/types/contexts/PageViewportContext.d.ts +4 -0
  214. package/dist/types/contexts/PaginateContext.d.ts +5 -0
  215. package/dist/types/contexts/PrintContext.d.ts +7 -0
  216. package/dist/types/contexts/RPDocumentContext.d.ts +10 -0
  217. package/dist/types/contexts/RenderedPagesCache.d.ts +10 -0
  218. package/dist/types/contexts/RotateContext.d.ts +5 -0
  219. package/dist/types/contexts/ScrollModeContext.d.ts +5 -0
  220. package/dist/types/contexts/ScrollStateContext.d.ts +8 -0
  221. package/dist/types/contexts/SearchContext.d.ts +7 -0
  222. package/dist/types/contexts/SelectionModeContext.d.ts +5 -0
  223. package/dist/types/contexts/ThemeContext.d.ts +4 -0
  224. package/dist/types/contexts/ThumbnailsContext.d.ts +7 -0
  225. package/dist/types/contexts/ToolbarComponentContext.d.ts +9 -0
  226. package/dist/types/contexts/ViewModeContext.d.ts +5 -0
  227. package/dist/types/contexts/ViewportContext.d.ts +28 -0
  228. package/dist/types/contexts/VirtualGridContext.d.ts +9 -0
  229. package/dist/types/contexts/VirtualScrollContext.d.ts +30 -0
  230. package/dist/types/contexts/ZoomContext.d.ts +5 -0
  231. package/dist/types/main.d.ts +20 -0
  232. package/dist/types/utils/appConsole.d.ts +24 -0
  233. package/dist/types/utils/charators.d.ts +12 -0
  234. package/dist/types/utils/constants.d.ts +2 -0
  235. package/dist/types/utils/convertPdfDate.d.ts +1 -0
  236. package/dist/types/utils/dateFormatter.d.ts +1 -0
  237. package/dist/types/utils/formatFileSize.d.ts +1 -0
  238. package/dist/types/utils/getThumbnailViewport.d.ts +5 -0
  239. package/dist/types/utils/getZoomLevel.d.ts +2 -0
  240. package/dist/types/utils/highlight.d.ts +8 -0
  241. package/dist/types/utils/hooks/useDarkMode.d.ts +2 -0
  242. package/dist/types/utils/hooks/useDarkModeProps.d.ts +2 -0
  243. package/dist/types/utils/hooks/useDebounce.d.ts +1 -0
  244. package/dist/types/utils/hooks/useElementSize.d.ts +8 -0
  245. package/dist/types/utils/hooks/useFileDownload.d.ts +3 -0
  246. package/dist/types/utils/hooks/useFullScreen.d.ts +6 -0
  247. package/dist/types/utils/hooks/useGrabScroll.d.ts +10 -0
  248. package/dist/types/utils/hooks/useInfiniteScroll.d.ts +6 -0
  249. package/dist/types/utils/hooks/useLicense.d.ts +2 -0
  250. package/dist/types/utils/hooks/useLoadPdf.d.ts +7 -0
  251. package/dist/types/utils/hooks/useLoadWorker.d.ts +3 -0
  252. package/dist/types/utils/hooks/useMousePressed.d.ts +7 -0
  253. package/dist/types/utils/hooks/usePageDimension.d.ts +4 -0
  254. package/dist/types/utils/hooks/usePaginate.d.ts +2 -0
  255. package/dist/types/utils/hooks/usePdfProperties.d.ts +9 -0
  256. package/dist/types/utils/hooks/usePrint.d.ts +11 -0
  257. package/dist/types/utils/hooks/useRequestAnimationFrame.d.ts +5 -0
  258. package/dist/types/utils/hooks/useResizeObserver.d.ts +6 -0
  259. package/dist/types/utils/hooks/useRotate.d.ts +4 -0
  260. package/dist/types/utils/hooks/useScrollToPage.d.ts +4 -0
  261. package/dist/types/utils/hooks/useSearch.d.ts +14 -0
  262. package/dist/types/utils/hooks/useThumbnail.d.ts +7 -0
  263. package/dist/types/utils/hooks/useVirtualReactWindow.d.ts +12 -0
  264. package/dist/types/utils/hooks/useWatermark.d.ts +4 -0
  265. package/dist/types/utils/link_service.d.ts +71 -0
  266. package/dist/types/utils/renderPage.d.ts +2 -0
  267. package/dist/types/utils/sanitizeExternalUrl.d.ts +1 -0
  268. package/dist/types/utils/types.d.ts +562 -0
  269. package/dist/utils/appConsole.js +42 -0
  270. package/dist/utils/charators.js +48 -0
  271. package/dist/utils/constants.js +5 -0
  272. package/dist/utils/convertPdfDate.js +25 -0
  273. package/dist/utils/dateFormatter.js +7 -0
  274. package/dist/utils/formatFileSize.js +9 -0
  275. package/dist/utils/getThumbnailViewport.js +7 -0
  276. package/dist/utils/getZoomLevel.js +18 -0
  277. package/dist/utils/highlight.js +145 -0
  278. package/dist/utils/hooks/useDarkMode.js +11 -0
  279. package/dist/utils/hooks/useDarkModeProps.js +12 -0
  280. package/dist/utils/hooks/useDebounce.js +15 -0
  281. package/dist/utils/hooks/useElementSize.js +21 -0
  282. package/dist/utils/hooks/useFileDownload.js +32 -0
  283. package/dist/utils/hooks/useFullScreen.js +29 -0
  284. package/dist/utils/hooks/useGrabScroll.js +45 -0
  285. package/dist/utils/hooks/useInfiniteScroll.js +19 -0
  286. package/dist/utils/hooks/useLicense.js +102 -0
  287. package/dist/utils/hooks/useLoadPdf.js +50 -0
  288. package/dist/utils/hooks/useLoadWorker.js +13 -0
  289. package/dist/utils/hooks/useMousePressed.js +20 -0
  290. package/dist/utils/hooks/usePageDimension.js +24 -0
  291. package/dist/utils/hooks/usePaginate.js +33 -0
  292. package/dist/utils/hooks/usePdfProperties.js +40 -0
  293. package/dist/utils/hooks/usePrint.js +33 -0
  294. package/dist/utils/hooks/useRequestAnimationFrame.js +17 -0
  295. package/dist/utils/hooks/useResizeObserver.js +22 -0
  296. package/dist/utils/hooks/useRotate.js +13 -0
  297. package/dist/utils/hooks/useScrollToPage.js +34 -0
  298. package/dist/utils/hooks/useSearch.js +33 -0
  299. package/dist/utils/hooks/useThumbnail.js +34 -0
  300. package/dist/utils/hooks/useVirtualReactWindow.js +34 -0
  301. package/dist/utils/hooks/useWatermark.js +62 -0
  302. package/dist/utils/link_service.js +98 -0
  303. package/dist/utils/renderPage.js +15 -0
  304. package/dist/utils/sanitizeExternalUrl.js +16 -0
  305. package/dist/utils/types.js +10 -0
  306. package/package.json +90 -0
@@ -0,0 +1,13 @@
1
+ import * as F from "pdfjs-dist";
2
+ import { useState as d, useEffect as Q } from "react";
3
+ const V = "data:application/javascript;base64,LyoqCiAqIEBsaWNzdGFydCBUaGUgZm9sbG93aW5nIGlzIHRoZSBlbnRpcmUgbGljZW5zZSBub3RpY2UgZm9yIHRoZQogKiBKYXZhU2NyaXB0IGNvZGUgaW4gdGhpcyBwYWdlCiAqCiAqIENvcHlyaWdodCAyMDI0IE1vemlsbGEgRm91bmRhdGlvbgogKgogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKICoKICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogKgogKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogKgogKiBAbGljZW5kIFRoZSBhYm92ZSBpcyB0aGUgZW50aXJlIGxpY2Vuc2Ugbm90aWNlIGZvciB0aGUKICogSmF2YVNjcmlwdCBjb2RlIGluIHRoaXMgcGFnZQogKi92YXIgZT17ZDoodCxpKT0+e2Zvcih2YXIgYSBpbiBpKWUubyhpLGEpJiYhZS5vKHQsYSkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGEse2VudW1lcmFibGU6ITAsZ2V0OmlbYV19KX0sbzooZSx0KT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9LF9fd2VicGFja19leHBvcnRzX18gPSBnbG9iYWxUaGlzLnBkZmpzV29ya2VyID0ge307ZS5kKF9fd2VicGFja19leHBvcnRzX18se1dvcmtlck1lc3NhZ2VIYW5kbGVyOigpPT5Xb3JrZXJNZXNzYWdlSGFuZGxlcn0pO2NvbnN0IHQ9ISgib2JqZWN0IiE9dHlwZW9mIHByb2Nlc3N8fHByb2Nlc3MrIiIhPSJbb2JqZWN0IHByb2Nlc3NdInx8cHJvY2Vzcy52ZXJzaW9ucy5ud3x8cHJvY2Vzcy52ZXJzaW9ucy5lbGVjdHJvbiYmcHJvY2Vzcy50eXBlJiYiYnJvd3NlciIhPT1wcm9jZXNzLnR5cGUpLGk9WzEsMCwwLDEsMCwwXSxhPVsuMDAxLDAsMCwuMDAxLDAsMF0scz0xLjM1LHI9LjM1LG49LjI1OTI1OTI1OTI1OTI1OTI0LGc9MSxvPTIsYz00LEM9OCxoPTE2LGw9NjQsUT0xMjgsRT0yNTYsdT0icGRmanNfaW50ZXJuYWxfZWRpdG9yXyIsZD0zLGY9OSxwPTEzLG09MTUseT17UFJJTlQ6NCxNT0RJRllfQ09OVEVOVFM6OCxDT1BZOjE2LE1PRElGWV9BTk5PVEFUSU9OUzozMixGSUxMX0lOVEVSQUNUSVZFX0ZPUk1TOjI1NixDT1BZX0ZPUl9BQ0NFU1NJQklMSVRZOjUxMixBU1NFTUJMRToxMDI0LFBSSU5UX0hJR0hfUVVBTElUWToyMDQ4fSx3PTAsRD00LGI9MSxGPTIsUz0zLGs9MSxSPTIsTj0zLEc9NCx4PTUsVT02LE09NyxMPTgsSD05LEo9MTAsWT0xMSx2PTEyLEs9MTMsVD0xNCxxPTE1LE89MTYsVz0xNyxqPTIwLFg9Ikdyb3VwIixaPSJSIixWPTEsej0yLF89NCwkPTE2LEFBPTMyLGVBPTEyOCx0QT01MTIsaUE9MSxhQT0yLHNBPTQwOTYsckE9ODE5MixuQT0zMjc2OCxnQT02NTUzNixvQT0xMzEwNzIsSUE9MTA0ODU3NixjQT0yMDk3MTUyLENBPTgzODg2MDgsaEE9MTY3NzcyMTYsQkE9MSxsQT0yLFFBPTMsRUE9NCx1QT01LGRBPXtFOiJNb3VzZSBFbnRlciIsWDoiTW91c2UgRXhpdCIsRDoiTW91c2UgRG93biIsVToiTW91c2UgVXAiLEZvOiJGb2N1cyIsQmw6IkJsdXIiLFBPOiJQYWdlT3BlbiIsUEM6IlBhZ2VDbG9zZSIsUFY6IlBhZ2VWaXNpYmxlIixQSToiUGFnZUludmlzaWJsZSIsSzoiS2V5c3Ryb2tlIixGOiJGb3JtYXQiLFY6IlZhbGlkYXRlIixDOiJDYWxjdWxhdGUifSxmQT17V0M6IldpbGxDbG9zZSIsV1M6IldpbGxTYXZlIixEUzoiRGlkU2F2ZSIsV1A6IldpbGxQcmludCIsRFA6IkRpZFByaW50In0scEE9e086IlBhZ2VPcGVuIixDOiJQYWdlQ2xvc2UifSxtQT17RVJST1JTOjAsV0FSTklOR1M6MSxJTkZPUzo1fSx5QT17Tk9ORTowLEJJTkFSWToxfSx3QT0xLERBPTIsYkE9MyxGQT00LFNBPTUsa0E9NixSQT03LE5BPTgsR0E9OSx4QT0xMCxVQT0xMSxNQT0xMixMQT0xMyxIQT0xNCxKQT0xNSxZQT0xNix2QT0xNyxLQT0xOCxUQT0xOSxxQT0yMCxPQT0yMSxQQT0yMixXQT0yMyxqQT0yNCxYQT0yNSxaQT0yNixWQT0yNyx6QT0yOCxfQT0yOSwkQT0zMCxBZT0zMSxlZT0zMix0ZT0zMyxpZT0zNCxhZT0zNSxzZT0zNixyZT0zNyxuZT0zOCxnZT0zOSxvZT00MCxJZT00MSxjZT00MixDZT00MyxoZT00NCxCZT00NSxsZT00NixRZT00NyxFZT00OCx1ZT00OSxkZT01MCxmZT01MSxwZT01MixtZT01Myx5ZT01NCx3ZT01NSxEZT01NixiZT01NyxGZT01OCxTZT01OSxrZT02MCxSZT02MSxOZT02MixHZT02Myx4ZT02NCxVZT02NSxNZT02NixMZT02NyxIZT02OCxKZT02OSxZZT03MCx2ZT03MSxLZT03MixUZT03MyxxZT03NCxPZT03NSxQZT03NixXZT03NyxqZT04MCxYZT04MSxaZT04MyxWZT04NCx6ZT04NSxfZT04NiwkZT04NyxBdD04OCxldD04OSx0dD05MCxpdD05MSxhdD05MixzdD05MyxydD0xLG50PTI7bGV0IGd0PW1BLldBUk5JTkdTO2Z1bmN0aW9uIGdldFZlcmJvc2l0eUxldmVsKCl7cmV0dXJuIGd0fWZ1bmN0aW9uIGluZm8oZSl7Z3Q+PW1BLklORk9TJiZjb25zb2xlLmxvZyhgSW5mbzogJHtlfWApfWZ1bmN0aW9uIHdhcm4oZSl7Z3Q+PW1BLldBUk5JTkdTJiZjb25zb2xlLmxvZyhgV2FybmluZzogJHtlfWApfWZ1bmN0aW9uIHVucmVhY2hhYmxlKGUpe3Rocm93IG5ldyBFcnJvcihlKX1mdW5jdGlvbiBhc3NlcnQoZSx0KXtlfHx1bnJlYWNoYWJsZSh0KX1mdW5jdGlvbiBjcmVhdGVWYWxpZEFic29sdXRlVXJsKGUsdD1udWxsLGk9bnVsbCl7aWYoIWUpcmV0dXJuIG51bGw7dHJ5e2lmKGkmJiJzdHJpbmciPT10eXBlb2YgZSl7aWYoaS5hZGREZWZhdWx0UHJvdG9jb2wmJmUuc3RhcnRzV2l0aCgid3d3LiIpKXtjb25zdCB0PWUubWF0Y2goL1wuL2cpO3Q/Lmxlbmd0aD49MiYmKGU9YGh0dHA6Ly8ke2V9YCl9aWYoaS50cnlDb252ZXJ0RW5jb2RpbmcpdHJ5e2U9c3RyaW5nVG9VVEY4U3RyaW5nKGUpfWNhdGNoe319Y29uc3QgYT10P25ldyBVUkwoZSx0KTpuZXcgVVJMKGUpO2lmKGZ1bmN0aW9uIF9pc1ZhbGlkUHJvdG9jb2woZSl7c3dpdGNoKGU/LnByb3RvY29sKXtjYXNlImh0dHA6IjpjYXNlImh0dHBzOiI6Y2FzZSJmdHA6IjpjYXNlIm1haWx0bzoiOmNhc2UidGVsOiI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19KGEpKXJldHVybiBhfWNhdGNoe31yZXR1cm4gbnVsbH1mdW5jdGlvbiBzaGFkb3coZSx0LGksYT0hMSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6aSxlbnVtZXJhYmxlOiFhLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMX0pO3JldHVybiBpfWNvbnN0IG90PWZ1bmN0aW9uIEJhc2VFeGNlcHRpb25DbG9zdXJlKCl7ZnVuY3Rpb24gQmFzZUV4Y2VwdGlvbihlLHQpe3RoaXMubWVzc2FnZT1lO3RoaXMubmFtZT10fUJhc2VFeGNlcHRpb24ucHJvdG90eXBlPW5ldyBFcnJvcjtCYXNlRXhjZXB0aW9uLmNvbnN0cnVjdG9yPUJhc2VFeGNlcHRpb247cmV0dXJuIEJhc2VFeGNlcHRpb259KCk7Y2xhc3MgUGFzc3dvcmRFeGNlcHRpb24gZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsIlBhc3N3b3JkRXhjZXB0aW9uIik7dGhpcy5jb2RlPXR9fWNsYXNzIFVua25vd25FcnJvckV4Y2VwdGlvbiBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSwiVW5rbm93bkVycm9yRXhjZXB0aW9uIik7dGhpcy5kZXRhaWxzPXR9fWNsYXNzIEludmFsaWRQREZFeGNlcHRpb24gZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJJbnZhbGlkUERGRXhjZXB0aW9uIil9fWNsYXNzIE1pc3NpbmdQREZFeGNlcHRpb24gZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJNaXNzaW5nUERGRXhjZXB0aW9uIil9fWNsYXNzIFVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbiBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSwiVW5leHBlY3RlZFJlc3BvbnNlRXhjZXB0aW9uIik7dGhpcy5zdGF0dXM9dH19Y2xhc3MgRm9ybWF0RXJyb3IgZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJGb3JtYXRFcnJvciIpfX1jbGFzcyBBYm9ydEV4Y2VwdGlvbiBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkFib3J0RXhjZXB0aW9uIil9fWZ1bmN0aW9uIGJ5dGVzVG9TdHJpbmcoZSl7Im9iamVjdCI9PXR5cGVvZiBlJiZ2b2lkIDAhPT1lPy5sZW5ndGh8fHVucmVhY2hhYmxlKCJJbnZhbGlkIGFyZ3VtZW50IGZvciBieXRlc1RvU3RyaW5nIik7Y29uc3QgdD1lLmxlbmd0aCxpPTgxOTI7aWYodDxpKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsZSk7Y29uc3QgYT1bXTtmb3IobGV0IHM9MDtzPHQ7cys9aSl7Y29uc3Qgcj1NYXRoLm1pbihzK2ksdCksbj1lLnN1YmFycmF5KHMscik7YS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuKSl9cmV0dXJuIGEuam9pbigiIil9ZnVuY3Rpb24gc3RyaW5nVG9CeXRlcyhlKXsic3RyaW5nIiE9dHlwZW9mIGUmJnVucmVhY2hhYmxlKCJJbnZhbGlkIGFyZ3VtZW50IGZvciBzdHJpbmdUb0J5dGVzIik7Y29uc3QgdD1lLmxlbmd0aCxpPW5ldyBVaW50OEFycmF5KHQpO2ZvcihsZXQgYT0wO2E8dDsrK2EpaVthXT0yNTUmZS5jaGFyQ29kZUF0KGEpO3JldHVybiBpfWZ1bmN0aW9uIHN0cmluZzMyKGUpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmUpfWZ1bmN0aW9uIG9iamVjdFNpemUoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmxlbmd0aH1jbGFzcyBGZWF0dXJlVGVzdHtzdGF0aWMgZ2V0IGlzTGl0dGxlRW5kaWFuKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJpc0xpdHRsZUVuZGlhbiIsZnVuY3Rpb24gaXNMaXR0bGVFbmRpYW4oKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KDQpO2VbMF09MTtyZXR1cm4gMT09PW5ldyBVaW50MzJBcnJheShlLmJ1ZmZlciwwLDEpWzBdfSgpKX1zdGF0aWMgZ2V0IGlzRXZhbFN1cHBvcnRlZCgpe3JldHVybiBzaGFkb3codGhpcywiaXNFdmFsU3VwcG9ydGVkIixmdW5jdGlvbiBpc0V2YWxTdXBwb3J0ZWQoKXt0cnl7bmV3IEZ1bmN0aW9uKCIiKTtyZXR1cm4hMH1jYXRjaHtyZXR1cm4hMX19KCkpfXN0YXRpYyBnZXQgaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQoKXtyZXR1cm4gc2hhZG93KHRoaXMsImlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkIiwidW5kZWZpbmVkIiE9dHlwZW9mIE9mZnNjcmVlbkNhbnZhcyl9c3RhdGljIGdldCBwbGF0Zm9ybSgpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiYic3RyaW5nIj09dHlwZW9mIG5hdmlnYXRvcj8ucGxhdGZvcm0/c2hhZG93KHRoaXMsInBsYXRmb3JtIix7aXNNYWM6bmF2aWdhdG9yLnBsYXRmb3JtLmluY2x1ZGVzKCJNYWMiKSxpc1dpbmRvd3M6bmF2aWdhdG9yLnBsYXRmb3JtLmluY2x1ZGVzKCJXaW4iKSxpc0ZpcmVmb3g6InN0cmluZyI9PXR5cGVvZiBuYXZpZ2F0b3I/LnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmNsdWRlcygiRmlyZWZveCIpfSk6c2hhZG93KHRoaXMsInBsYXRmb3JtIix7aXNNYWM6ITEsaXNXaW5kb3dzOiExLGlzRmlyZWZveDohMX0pfXN0YXRpYyBnZXQgaXNDU1NSb3VuZFN1cHBvcnRlZCgpe3JldHVybiBzaGFkb3codGhpcywiaXNDU1NSb3VuZFN1cHBvcnRlZCIsZ2xvYmFsVGhpcy5DU1M/LnN1cHBvcnRzPy4oIndpZHRoOiByb3VuZCgxLjVweCwgMXB4KSIpKX19Y29uc3QgSXQ9QXJyYXkuZnJvbShBcnJheSgyNTYpLmtleXMoKSwoZT0+ZS50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKSk7Y2xhc3MgVXRpbHtzdGF0aWMgbWFrZUhleENvbG9yKGUsdCxpKXtyZXR1cm5gIyR7SXRbZV19JHtJdFt0XX0ke0l0W2ldfWB9c3RhdGljIHNjYWxlTWluTWF4KGUsdCl7bGV0IGk7aWYoZVswXSl7aWYoZVswXTwwKXtpPXRbMF07dFswXT10WzJdO3RbMl09aX10WzBdKj1lWzBdO3RbMl0qPWVbMF07aWYoZVszXTwwKXtpPXRbMV07dFsxXT10WzNdO3RbM109aX10WzFdKj1lWzNdO3RbM10qPWVbM119ZWxzZXtpPXRbMF07dFswXT10WzFdO3RbMV09aTtpPXRbMl07dFsyXT10WzNdO3RbM109aTtpZihlWzFdPDApe2k9dFsxXTt0WzFdPXRbM107dFszXT1pfXRbMV0qPWVbMV07dFszXSo9ZVsxXTtpZihlWzJdPDApe2k9dFswXTt0WzBdPXRbMl07dFsyXT1pfXRbMF0qPWVbMl07dFsyXSo9ZVsyXX10WzBdKz1lWzRdO3RbMV0rPWVbNV07dFsyXSs9ZVs0XTt0WzNdKz1lWzVdfXN0YXRpYyB0cmFuc2Zvcm0oZSx0KXtyZXR1cm5bZVswXSp0WzBdK2VbMl0qdFsxXSxlWzFdKnRbMF0rZVszXSp0WzFdLGVbMF0qdFsyXStlWzJdKnRbM10sZVsxXSp0WzJdK2VbM10qdFszXSxlWzBdKnRbNF0rZVsyXSp0WzVdK2VbNF0sZVsxXSp0WzRdK2VbM10qdFs1XStlWzVdXX1zdGF0aWMgYXBwbHlUcmFuc2Zvcm0oZSx0KXtyZXR1cm5bZVswXSp0WzBdK2VbMV0qdFsyXSt0WzRdLGVbMF0qdFsxXStlWzFdKnRbM10rdFs1XV19c3RhdGljIGFwcGx5SW52ZXJzZVRyYW5zZm9ybShlLHQpe2NvbnN0IGk9dFswXSp0WzNdLXRbMV0qdFsyXTtyZXR1cm5bKGVbMF0qdFszXS1lWzFdKnRbMl0rdFsyXSp0WzVdLXRbNF0qdFszXSkvaSwoLWVbMF0qdFsxXStlWzFdKnRbMF0rdFs0XSp0WzFdLXRbNV0qdFswXSkvaV19c3RhdGljIGdldEF4aWFsQWxpZ25lZEJvdW5kaW5nQm94KGUsdCl7Y29uc3QgaT10aGlzLmFwcGx5VHJhbnNmb3JtKGUsdCksYT10aGlzLmFwcGx5VHJhbnNmb3JtKGUuc2xpY2UoMiw0KSx0KSxzPXRoaXMuYXBwbHlUcmFuc2Zvcm0oW2VbMF0sZVszXV0sdCkscj10aGlzLmFwcGx5VHJhbnNmb3JtKFtlWzJdLGVbMV1dLHQpO3JldHVybltNYXRoLm1pbihpWzBdLGFbMF0sc1swXSxyWzBdKSxNYXRoLm1pbihpWzFdLGFbMV0sc1sxXSxyWzFdKSxNYXRoLm1heChpWzBdLGFbMF0sc1swXSxyWzBdKSxNYXRoLm1heChpWzFdLGFbMV0sc1sxXSxyWzFdKV19c3RhdGljIGludmVyc2VUcmFuc2Zvcm0oZSl7Y29uc3QgdD1lWzBdKmVbM10tZVsxXSplWzJdO3JldHVybltlWzNdL3QsLWVbMV0vdCwtZVsyXS90LGVbMF0vdCwoZVsyXSplWzVdLWVbNF0qZVszXSkvdCwoZVs0XSplWzFdLWVbNV0qZVswXSkvdF19c3RhdGljIHNpbmd1bGFyVmFsdWVEZWNvbXBvc2UyZFNjYWxlKGUpe2NvbnN0IHQ9W2VbMF0sZVsyXSxlWzFdLGVbM11dLGk9ZVswXSp0WzBdK2VbMV0qdFsyXSxhPWVbMF0qdFsxXStlWzFdKnRbM10scz1lWzJdKnRbMF0rZVszXSp0WzJdLHI9ZVsyXSp0WzFdK2VbM10qdFszXSxuPShpK3IpLzIsZz1NYXRoLnNxcnQoKGkrcikqKjItNCooaSpyLXMqYSkpLzIsbz1uK2d8fDEsYz1uLWd8fDE7cmV0dXJuW01hdGguc3FydChvKSxNYXRoLnNxcnQoYyldfXN0YXRpYyBub3JtYWxpemVSZWN0KGUpe2NvbnN0IHQ9ZS5zbGljZSgwKTtpZihlWzBdPmVbMl0pe3RbMF09ZVsyXTt0WzJdPWVbMF19aWYoZVsxXT5lWzNdKXt0WzFdPWVbM107dFszXT1lWzFdfXJldHVybiB0fXN0YXRpYyBpbnRlcnNlY3QoZSx0KXtjb25zdCBpPU1hdGgubWF4KE1hdGgubWluKGVbMF0sZVsyXSksTWF0aC5taW4odFswXSx0WzJdKSksYT1NYXRoLm1pbihNYXRoLm1heChlWzBdLGVbMl0pLE1hdGgubWF4KHRbMF0sdFsyXSkpO2lmKGk+YSlyZXR1cm4gbnVsbDtjb25zdCBzPU1hdGgubWF4KE1hdGgubWluKGVbMV0sZVszXSksTWF0aC5taW4odFsxXSx0WzNdKSkscj1NYXRoLm1pbihNYXRoLm1heChlWzFdLGVbM10pLE1hdGgubWF4KHRbMV0sdFszXSkpO3JldHVybiBzPnI/bnVsbDpbaSxzLGEscl19c3RhdGljI0EoZSx0LGksYSxzLHIsbixnLG8sYyl7aWYobzw9MHx8bz49MSlyZXR1cm47Y29uc3QgQz0xLW8saD1vKm8sbD1oKm8sUT1DKihDKihDKmUrMypvKnQpKzMqaCppKStsKmEsRT1DKihDKihDKnMrMypvKnIpKzMqaCpuKStsKmc7Y1swXT1NYXRoLm1pbihjWzBdLFEpO2NbMV09TWF0aC5taW4oY1sxXSxFKTtjWzJdPU1hdGgubWF4KGNbMl0sUSk7Y1szXT1NYXRoLm1heChjWzNdLEUpfXN0YXRpYyNlKGUsdCxpLGEscyxyLG4sZyxvLGMsQyxoKXtpZihNYXRoLmFicyhvKTwxZS0xMil7TWF0aC5hYnMoYyk+PTFlLTEyJiZ0aGlzLiNBKGUsdCxpLGEscyxyLG4sZywtQy9jLGgpO3JldHVybn1jb25zdCBsPWMqKjItNCpDKm87aWYobDwwKXJldHVybjtjb25zdCBRPU1hdGguc3FydChsKSxFPTIqbzt0aGlzLiNBKGUsdCxpLGEscyxyLG4sZywoLWMrUSkvRSxoKTt0aGlzLiNBKGUsdCxpLGEscyxyLG4sZywoLWMtUSkvRSxoKX1zdGF0aWMgYmV6aWVyQm91bmRpbmdCb3goZSx0LGksYSxzLHIsbixnLG8pe2lmKG8pe29bMF09TWF0aC5taW4ob1swXSxlLG4pO29bMV09TWF0aC5taW4ob1sxXSx0LGcpO29bMl09TWF0aC5tYXgob1syXSxlLG4pO29bM109TWF0aC5tYXgob1szXSx0LGcpfWVsc2Ugbz1bTWF0aC5taW4oZSxuKSxNYXRoLm1pbih0LGcpLE1hdGgubWF4KGUsbiksTWF0aC5tYXgodCxnKV07dGhpcy4jZShlLGkscyxuLHQsYSxyLGcsMyooMyooaS1zKS1lK24pLDYqKGUtMippK3MpLDMqKGktZSksbyk7dGhpcy4jZShlLGkscyxuLHQsYSxyLGcsMyooMyooYS1yKS10K2cpLDYqKHQtMiphK3IpLDMqKGEtdCksbyk7cmV0dXJuIG99fWNvbnN0IGN0PVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCw3MjgsNzExLDcxMCw3MjksNzMzLDczMSw3MzAsNzMyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDgyMjYsODIyNCw4MjI1LDgyMzAsODIxMiw4MjExLDQwMiw4MjYwLDgyNDksODI1MCw4NzIyLDgyNDAsODIyMiw4MjIwLDgyMjEsODIxNiw4MjE3LDgyMTgsODQ4Miw2NDI1Nyw2NDI1OCwzMjEsMzM4LDM1MiwzNzYsMzgxLDMwNSwzMjIsMzM5LDM1MywzODIsMCw4MzY0XTtmdW5jdGlvbiBzdHJpbmdUb1BERlN0cmluZyhlKXtpZihlWzBdPj0iw68iKXtsZXQgdDtpZigiw74iPT09ZVswXSYmIsO/Ij09PWVbMV0pe3Q9InV0Zi0xNmJlIjtlLmxlbmd0aCUyPT0xJiYoZT1lLnNsaWNlKDAsLTEpKX1lbHNlIGlmKCLDvyI9PT1lWzBdJiYiw74iPT09ZVsxXSl7dD0idXRmLTE2bGUiO2UubGVuZ3RoJTI9PTEmJihlPWUuc2xpY2UoMCwtMSkpfWVsc2Uiw68iPT09ZVswXSYmIsK7Ij09PWVbMV0mJiLCvyI9PT1lWzJdJiYodD0idXRmLTgiKTtpZih0KXRyeXtjb25zdCBpPW5ldyBUZXh0RGVjb2Rlcih0LHtmYXRhbDohMH0pLGE9c3RyaW5nVG9CeXRlcyhlKSxzPWkuZGVjb2RlKGEpO3JldHVybiBzLmluY2x1ZGVzKCIbIik/cy5yZXBsYWNlQWxsKC9ceDFiW15ceDFiXSooPzpceDFifCQpL2csIiIpOnN9Y2F0Y2goZSl7d2Fybihgc3RyaW5nVG9QREZTdHJpbmc6ICIke2V9Ii5gKX19Y29uc3QgdD1bXTtmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspe2NvbnN0IHM9ZS5jaGFyQ29kZUF0KGkpO2lmKDI3PT09cyl7Zm9yKDsrK2k8YSYmMjchPT1lLmNoYXJDb2RlQXQoaSk7KTtjb250aW51ZX1jb25zdCByPWN0W3NdO3QucHVzaChyP1N0cmluZy5mcm9tQ2hhckNvZGUocik6ZS5jaGFyQXQoaSkpfXJldHVybiB0LmpvaW4oIiIpfWZ1bmN0aW9uIHN0cmluZ1RvVVRGOFN0cmluZyhlKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShlKSl9ZnVuY3Rpb24gdXRmOFN0cmluZ1RvU3RyaW5nKGUpe3JldHVybiB1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoZSkpfWZ1bmN0aW9uIGlzQXJyYXlFcXVhbChlLHQpe2lmKGUubGVuZ3RoIT09dC5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSsrKWlmKGVbaV0hPT10W2ldKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGdldE1vZGlmaWNhdGlvbkRhdGUoZT1uZXcgRGF0ZSl7cmV0dXJuW2UuZ2V0VVRDRnVsbFllYXIoKS50b1N0cmluZygpLChlLmdldFVUQ01vbnRoKCkrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksZS5nZXRVVENEYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksZS5nZXRVVENIb3VycygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpLGUuZ2V0VVRDTWludXRlcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpLGUuZ2V0VVRDU2Vjb25kcygpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpXS5qb2luKCIiKX1sZXQgQ3Q9bnVsbCxodD1udWxsO2NvbnN0IEJ0PTAsbHQ9MSxRdD0yLEV0PTMsdXQ9NCxkdD01LGZ0PTYscHQ9NyxtdD04LHl0PVN5bWJvbCgiQ0lSQ1VMQVJfUkVGIiksd3Q9U3ltYm9sKCJFT0YiKTtsZXQgRHQ9T2JqZWN0LmNyZWF0ZShudWxsKSxidD1PYmplY3QuY3JlYXRlKG51bGwpLEZ0PU9iamVjdC5jcmVhdGUobnVsbCk7Y2xhc3MgTmFtZXtjb25zdHJ1Y3RvcihlKXt0aGlzLm5hbWU9ZX1zdGF0aWMgZ2V0KGUpe3JldHVybiBidFtlXXx8PW5ldyBOYW1lKGUpfX1jbGFzcyBDbWR7Y29uc3RydWN0b3IoZSl7dGhpcy5jbWQ9ZX1zdGF0aWMgZ2V0KGUpe3JldHVybiBEdFtlXXx8PW5ldyBDbWQoZSl9fWNvbnN0IFN0PWZ1bmN0aW9uIG5vblNlcmlhbGl6YWJsZUNsb3N1cmUoKXtyZXR1cm4gU3R9O2NsYXNzIERpY3R7Y29uc3RydWN0b3IoZT1udWxsKXt0aGlzLl9tYXA9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLnhyZWY9ZTt0aGlzLm9iaklkPW51bGw7dGhpcy5zdXBwcmVzc0VuY3J5cHRpb249ITE7dGhpcy5fX25vblNlcmlhbGl6YWJsZV9fPVN0fWFzc2lnblhyZWYoZSl7dGhpcy54cmVmPWV9Z2V0IHNpemUoKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5fbWFwKS5sZW5ndGh9Z2V0KGUsdCxpKXtsZXQgYT10aGlzLl9tYXBbZV07aWYodm9pZCAwPT09YSYmdm9pZCAwIT09dCl7YT10aGlzLl9tYXBbdF07dm9pZCAwPT09YSYmdm9pZCAwIT09aSYmKGE9dGhpcy5fbWFwW2ldKX1yZXR1cm4gYSBpbnN0YW5jZW9mIFJlZiYmdGhpcy54cmVmP3RoaXMueHJlZi5mZXRjaChhLHRoaXMuc3VwcHJlc3NFbmNyeXB0aW9uKTphfWFzeW5jIGdldEFzeW5jKGUsdCxpKXtsZXQgYT10aGlzLl9tYXBbZV07aWYodm9pZCAwPT09YSYmdm9pZCAwIT09dCl7YT10aGlzLl9tYXBbdF07dm9pZCAwPT09YSYmdm9pZCAwIT09aSYmKGE9dGhpcy5fbWFwW2ldKX1yZXR1cm4gYSBpbnN0YW5jZW9mIFJlZiYmdGhpcy54cmVmP3RoaXMueHJlZi5mZXRjaEFzeW5jKGEsdGhpcy5zdXBwcmVzc0VuY3J5cHRpb24pOmF9Z2V0QXJyYXkoZSx0LGkpe2xldCBhPXRoaXMuX21hcFtlXTtpZih2b2lkIDA9PT1hJiZ2b2lkIDAhPT10KXthPXRoaXMuX21hcFt0XTt2b2lkIDA9PT1hJiZ2b2lkIDAhPT1pJiYoYT10aGlzLl9tYXBbaV0pfWEgaW5zdGFuY2VvZiBSZWYmJnRoaXMueHJlZiYmKGE9dGhpcy54cmVmLmZldGNoKGEsdGhpcy5zdXBwcmVzc0VuY3J5cHRpb24pKTtpZihBcnJheS5pc0FycmF5KGEpKXthPWEuc2xpY2UoKTtmb3IobGV0IGU9MCx0PWEubGVuZ3RoO2U8dDtlKyspYVtlXWluc3RhbmNlb2YgUmVmJiZ0aGlzLnhyZWYmJihhW2VdPXRoaXMueHJlZi5mZXRjaChhW2VdLHRoaXMuc3VwcHJlc3NFbmNyeXB0aW9uKSl9cmV0dXJuIGF9Z2V0UmF3KGUpe3JldHVybiB0aGlzLl9tYXBbZV19Z2V0S2V5cygpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLl9tYXApfWdldFJhd1ZhbHVlcygpe3JldHVybiBPYmplY3QudmFsdWVzKHRoaXMuX21hcCl9c2V0KGUsdCl7dGhpcy5fbWFwW2VdPXR9aGFzKGUpe3JldHVybiB2b2lkIDAhPT10aGlzLl9tYXBbZV19Zm9yRWFjaChlKXtmb3IoY29uc3QgdCBpbiB0aGlzLl9tYXApZSh0LHRoaXMuZ2V0KHQpKX1zdGF0aWMgZ2V0IGVtcHR5KCl7Y29uc3QgZT1uZXcgRGljdChudWxsKTtlLnNldD0oZSx0KT0+e3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgYHNldGAgb24gdGhlIGVtcHR5IGRpY3Rpb25hcnkuIil9O3JldHVybiBzaGFkb3codGhpcywiZW1wdHkiLGUpfXN0YXRpYyBtZXJnZSh7eHJlZjplLGRpY3RBcnJheTp0LG1lcmdlU3ViRGljdHM6aT0hMX0pe2NvbnN0IGE9bmV3IERpY3QoZSkscz1uZXcgTWFwO2Zvcihjb25zdCBlIG9mIHQpaWYoZSBpbnN0YW5jZW9mIERpY3QpZm9yKGNvbnN0W3QsYV1vZiBPYmplY3QuZW50cmllcyhlLl9tYXApKXtsZXQgZT1zLmdldCh0KTtpZih2b2lkIDA9PT1lKXtlPVtdO3Muc2V0KHQsZSl9ZWxzZSBpZighKGkmJmEgaW5zdGFuY2VvZiBEaWN0KSljb250aW51ZTtlLnB1c2goYSl9Zm9yKGNvbnN0W3QsaV1vZiBzKXtpZigxPT09aS5sZW5ndGh8fCEoaVswXWluc3RhbmNlb2YgRGljdCkpe2EuX21hcFt0XT1pWzBdO2NvbnRpbnVlfWNvbnN0IHM9bmV3IERpY3QoZSk7Zm9yKGNvbnN0IGUgb2YgaSlmb3IoY29uc3RbdCxpXW9mIE9iamVjdC5lbnRyaWVzKGUuX21hcCkpdm9pZCAwPT09cy5fbWFwW3RdJiYocy5fbWFwW3RdPWkpO3Muc2l6ZT4wJiYoYS5fbWFwW3RdPXMpfXMuY2xlYXIoKTtyZXR1cm4gYS5zaXplPjA/YTpEaWN0LmVtcHR5fWNsb25lKCl7Y29uc3QgZT1uZXcgRGljdCh0aGlzLnhyZWYpO2Zvcihjb25zdCB0IG9mIHRoaXMuZ2V0S2V5cygpKWUuc2V0KHQsdGhpcy5nZXRSYXcodCkpO3JldHVybiBlfWRlbGV0ZShlKXtkZWxldGUgdGhpcy5fbWFwW2VdfX1jbGFzcyBSZWZ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLm51bT1lO3RoaXMuZ2VuPXR9dG9TdHJpbmcoKXtyZXR1cm4gMD09PXRoaXMuZ2VuP2Ake3RoaXMubnVtfVJgOmAke3RoaXMubnVtfVIke3RoaXMuZ2VufWB9c3RhdGljIGZyb21TdHJpbmcoZSl7Y29uc3QgdD1GdFtlXTtpZih0KXJldHVybiB0O2NvbnN0IGk9L14oXGQrKVIoXGQqKSQvLmV4ZWMoZSk7cmV0dXJuIGkmJiIwIiE9PWlbMV0/RnRbZV09bmV3IFJlZihwYXJzZUludChpWzFdKSxpWzJdP3BhcnNlSW50KGlbMl0pOjApOm51bGx9c3RhdGljIGdldChlLHQpe2NvbnN0IGk9MD09PXQ/YCR7ZX1SYDpgJHtlfVIke3R9YDtyZXR1cm4gRnRbaV18fD1uZXcgUmVmKGUsdCl9fWNsYXNzIFJlZlNldHtjb25zdHJ1Y3RvcihlPW51bGwpe3RoaXMuX3NldD1uZXcgU2V0KGU/Ll9zZXQpfWhhcyhlKXtyZXR1cm4gdGhpcy5fc2V0LmhhcyhlLnRvU3RyaW5nKCkpfXB1dChlKXt0aGlzLl9zZXQuYWRkKGUudG9TdHJpbmcoKSl9cmVtb3ZlKGUpe3RoaXMuX3NldC5kZWxldGUoZS50b1N0cmluZygpKX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzLl9zZXQudmFsdWVzKCl9Y2xlYXIoKXt0aGlzLl9zZXQuY2xlYXIoKX19Y2xhc3MgUmVmU2V0Q2FjaGV7Y29uc3RydWN0b3IoKXt0aGlzLl9tYXA9bmV3IE1hcH1nZXQgc2l6ZSgpe3JldHVybiB0aGlzLl9tYXAuc2l6ZX1nZXQoZSl7cmV0dXJuIHRoaXMuX21hcC5nZXQoZS50b1N0cmluZygpKX1oYXMoZSl7cmV0dXJuIHRoaXMuX21hcC5oYXMoZS50b1N0cmluZygpKX1wdXQoZSx0KXt0aGlzLl9tYXAuc2V0KGUudG9TdHJpbmcoKSx0KX1wdXRBbGlhcyhlLHQpe3RoaXMuX21hcC5zZXQoZS50b1N0cmluZygpLHRoaXMuZ2V0KHQpKX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzLl9tYXAudmFsdWVzKCl9Y2xlYXIoKXt0aGlzLl9tYXAuY2xlYXIoKX0qaXRlbXMoKXtmb3IoY29uc3RbZSx0XW9mIHRoaXMuX21hcCl5aWVsZFtSZWYuZnJvbVN0cmluZyhlKSx0XX19ZnVuY3Rpb24gaXNOYW1lKGUsdCl7cmV0dXJuIGUgaW5zdGFuY2VvZiBOYW1lJiYodm9pZCAwPT09dHx8ZS5uYW1lPT09dCl9ZnVuY3Rpb24gaXNDbWQoZSx0KXtyZXR1cm4gZSBpbnN0YW5jZW9mIENtZCYmKHZvaWQgMD09PXR8fGUuY21kPT09dCl9ZnVuY3Rpb24gaXNEaWN0KGUsdCl7cmV0dXJuIGUgaW5zdGFuY2VvZiBEaWN0JiYodm9pZCAwPT09dHx8aXNOYW1lKGUuZ2V0KCJUeXBlIiksdCkpfWZ1bmN0aW9uIGlzUmVmc0VxdWFsKGUsdCl7cmV0dXJuIGUubnVtPT09dC5udW0mJmUuZ2VuPT09dC5nZW59Y2xhc3MgQmFzZVN0cmVhbXtnZXQgbGVuZ3RoKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IGdldHRlciBgbGVuZ3RoYCBhY2Nlc3NlZCIpfWdldCBpc0VtcHR5KCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IGdldHRlciBgaXNFbXB0eWAgYWNjZXNzZWQiKX1nZXQgaXNEYXRhTG9hZGVkKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJpc0RhdGFMb2FkZWQiLCEwKX1nZXRCeXRlKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZ2V0Qnl0ZWAgY2FsbGVkIil9Z2V0Qnl0ZXMoZSl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZ2V0Qnl0ZXNgIGNhbGxlZCIpfWFzeW5jIGdldEltYWdlRGF0YShlLHQpe3JldHVybiB0aGlzLmdldEJ5dGVzKGUsdCl9YXN5bmMgYXN5bmNHZXRCeXRlcygpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYGFzeW5jR2V0Qnl0ZXNgIGNhbGxlZCIpfWdldCBpc0FzeW5jKCl7cmV0dXJuITF9Z2V0IGNhbkFzeW5jRGVjb2RlSW1hZ2VGcm9tQnVmZmVyKCl7cmV0dXJuITF9cGVla0J5dGUoKXtjb25zdCBlPXRoaXMuZ2V0Qnl0ZSgpOy0xIT09ZSYmdGhpcy5wb3MtLTtyZXR1cm4gZX1wZWVrQnl0ZXMoZSl7Y29uc3QgdD10aGlzLmdldEJ5dGVzKGUpO3RoaXMucG9zLT10Lmxlbmd0aDtyZXR1cm4gdH1nZXRVaW50MTYoKXtjb25zdCBlPXRoaXMuZ2V0Qnl0ZSgpLHQ9dGhpcy5nZXRCeXRlKCk7cmV0dXJuLTE9PT1lfHwtMT09PXQ/LTE6KGU8PDgpK3R9Z2V0SW50MzIoKXtyZXR1cm4odGhpcy5nZXRCeXRlKCk8PDI0KSsodGhpcy5nZXRCeXRlKCk8PDE2KSsodGhpcy5nZXRCeXRlKCk8PDgpK3RoaXMuZ2V0Qnl0ZSgpfWdldEJ5dGVSYW5nZShlLHQpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYGdldEJ5dGVSYW5nZWAgY2FsbGVkIil9Z2V0U3RyaW5nKGUpe3JldHVybiBieXRlc1RvU3RyaW5nKHRoaXMuZ2V0Qnl0ZXMoZSkpfXNraXAoZSl7dGhpcy5wb3MrPWV8fDF9cmVzZXQoKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGByZXNldGAgY2FsbGVkIil9bW92ZVN0YXJ0KCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgbW92ZVN0YXJ0YCBjYWxsZWQiKX1tYWtlU3ViU3RyZWFtKGUsdCxpPW51bGwpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYG1ha2VTdWJTdHJlYW1gIGNhbGxlZCIpfWdldEJhc2VTdHJlYW1zKCl7cmV0dXJuIG51bGx9fWNvbnN0IGt0PS9eWzEtOV1cLlxkJC87ZnVuY3Rpb24gZ2V0TG9va3VwVGFibGVGYWN0b3J5KGUpe2xldCB0O3JldHVybiBmdW5jdGlvbigpe2lmKGUpe3Q9T2JqZWN0LmNyZWF0ZShudWxsKTtlKHQpO2U9bnVsbH1yZXR1cm4gdH19Y2xhc3MgTWlzc2luZ0RhdGFFeGNlcHRpb24gZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGBNaXNzaW5nIGRhdGEgWyR7ZX0sICR7dH0pYCwiTWlzc2luZ0RhdGFFeGNlcHRpb24iKTt0aGlzLmJlZ2luPWU7dGhpcy5lbmQ9dH19Y2xhc3MgUGFyc2VyRU9GRXhjZXB0aW9uIGV4dGVuZHMgb3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiUGFyc2VyRU9GRXhjZXB0aW9uIil9fWNsYXNzIFhSZWZFbnRyeUV4Y2VwdGlvbiBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIlhSZWZFbnRyeUV4Y2VwdGlvbiIpfX1jbGFzcyBYUmVmUGFyc2VFeGNlcHRpb24gZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJYUmVmUGFyc2VFeGNlcHRpb24iKX19ZnVuY3Rpb24gYXJyYXlCdWZmZXJzVG9CeXRlcyhlKXtjb25zdCB0PWUubGVuZ3RoO2lmKDA9PT10KXJldHVybiBuZXcgVWludDhBcnJheSgwKTtpZigxPT09dClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZVswXSk7bGV0IGk9MDtmb3IobGV0IGE9MDthPHQ7YSsrKWkrPWVbYV0uYnl0ZUxlbmd0aDtjb25zdCBhPW5ldyBVaW50OEFycmF5KGkpO2xldCBzPTA7Zm9yKGxldCBpPTA7aTx0O2krKyl7Y29uc3QgdD1uZXcgVWludDhBcnJheShlW2ldKTthLnNldCh0LHMpO3MrPXQuYnl0ZUxlbmd0aH1yZXR1cm4gYX1mdW5jdGlvbiBnZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OmUsa2V5OnQsZ2V0QXJyYXk6aT0hMSxzdG9wV2hlbkZvdW5kOmE9ITB9KXtsZXQgcztjb25zdCByPW5ldyBSZWZTZXQ7Zm9yKDtlIGluc3RhbmNlb2YgRGljdCYmKCFlLm9iaklkfHwhci5oYXMoZS5vYmpJZCkpOyl7ZS5vYmpJZCYmci5wdXQoZS5vYmpJZCk7Y29uc3Qgbj1pP2UuZ2V0QXJyYXkodCk6ZS5nZXQodCk7aWYodm9pZCAwIT09bil7aWYoYSlyZXR1cm4gbjsoc3x8PVtdKS5wdXNoKG4pfWU9ZS5nZXQoIlBhcmVudCIpfXJldHVybiBzfWNvbnN0IFJ0PVsiIiwiQyIsIkNDIiwiQ0NDIiwiQ0QiLCJEIiwiREMiLCJEQ0MiLCJEQ0NDIiwiQ00iLCIiLCJYIiwiWFgiLCJYWFgiLCJYTCIsIkwiLCJMWCIsIkxYWCIsIkxYWFgiLCJYQyIsIiIsIkkiLCJJSSIsIklJSSIsIklWIiwiViIsIlZJIiwiVklJIiwiVklJSSIsIklYIl07ZnVuY3Rpb24gdG9Sb21hbk51bWVyYWxzKGUsdD0hMSl7YXNzZXJ0KE51bWJlci5pc0ludGVnZXIoZSkmJmU+MCwiVGhlIG51bWJlciBzaG91bGQgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLiIpO2NvbnN0IGk9W107bGV0IGE7Zm9yKDtlPj0xZTM7KXtlLT0xZTM7aS5wdXNoKCJNIil9YT1lLzEwMHwwO2UlPTEwMDtpLnB1c2goUnRbYV0pO2E9ZS8xMHwwO2UlPTEwO2kucHVzaChSdFsxMCthXSk7aS5wdXNoKFJ0WzIwK2VdKTtjb25zdCBzPWkuam9pbigiIik7cmV0dXJuIHQ/cy50b0xvd2VyQ2FzZSgpOnN9ZnVuY3Rpb24gbG9nMihlKXtyZXR1cm4gZTw9MD8wOk1hdGguY2VpbChNYXRoLmxvZzIoZSkpfWZ1bmN0aW9uIHJlYWRJbnQ4KGUsdCl7cmV0dXJuIGVbdF08PDI0Pj4yNH1mdW5jdGlvbiByZWFkVWludDE2KGUsdCl7cmV0dXJuIGVbdF08PDh8ZVt0KzFdfWZ1bmN0aW9uIHJlYWRVaW50MzIoZSx0KXtyZXR1cm4oZVt0XTw8MjR8ZVt0KzFdPDwxNnxlW3QrMl08PDh8ZVt0KzNdKT4+PjB9ZnVuY3Rpb24gaXNXaGl0ZVNwYWNlKGUpe3JldHVybiAzMj09PWV8fDk9PT1lfHwxMz09PWV8fDEwPT09ZX1mdW5jdGlvbiBpc051bWJlckFycmF5KGUsdCl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/KG51bGw9PT10fHxlLmxlbmd0aD09PXQpJiZlLmV2ZXJ5KChlPT4ibnVtYmVyIj09dHlwZW9mIGUpKTpBcnJheUJ1ZmZlci5pc1ZpZXcoZSkmJigwPT09ZS5sZW5ndGh8fCJudW1iZXIiPT10eXBlb2YgZVswXSkmJihudWxsPT09dHx8ZS5sZW5ndGg9PT10KX1mdW5jdGlvbiBsb29rdXBNYXRyaXgoZSx0KXtyZXR1cm4gaXNOdW1iZXJBcnJheShlLDYpP2U6dH1mdW5jdGlvbiBsb29rdXBSZWN0KGUsdCl7cmV0dXJuIGlzTnVtYmVyQXJyYXkoZSw0KT9lOnR9ZnVuY3Rpb24gbG9va3VwTm9ybWFsUmVjdChlLHQpe3JldHVybiBpc051bWJlckFycmF5KGUsNCk/VXRpbC5ub3JtYWxpemVSZWN0KGUpOnR9ZnVuY3Rpb24gcGFyc2VYRkFQYXRoKGUpe2NvbnN0IHQ9LyguKylcWyhcZCspXF0kLztyZXR1cm4gZS5zcGxpdCgiLiIpLm1hcCgoZT0+e2NvbnN0IGk9ZS5tYXRjaCh0KTtyZXR1cm4gaT97bmFtZTppWzFdLHBvczpwYXJzZUludChpWzJdLDEwKX06e25hbWU6ZSxwb3M6MH19KSl9ZnVuY3Rpb24gZXNjYXBlUERGTmFtZShlKXtjb25zdCB0PVtdO2xldCBpPTA7Zm9yKGxldCBhPTAscz1lLmxlbmd0aDthPHM7YSsrKXtjb25zdCBzPWUuY2hhckNvZGVBdChhKTtpZihzPDMzfHxzPjEyNnx8MzU9PT1zfHw0MD09PXN8fDQxPT09c3x8NjA9PT1zfHw2Mj09PXN8fDkxPT09c3x8OTM9PT1zfHwxMjM9PT1zfHwxMjU9PT1zfHw0Nz09PXN8fDM3PT09cyl7aTxhJiZ0LnB1c2goZS5zdWJzdHJpbmcoaSxhKSk7dC5wdXNoKGAjJHtzLnRvU3RyaW5nKDE2KX1gKTtpPWErMX19aWYoMD09PXQubGVuZ3RoKXJldHVybiBlO2k8ZS5sZW5ndGgmJnQucHVzaChlLnN1YnN0cmluZyhpLGUubGVuZ3RoKSk7cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gZXNjYXBlU3RyaW5nKGUpe3JldHVybiBlLnJlcGxhY2VBbGwoLyhbKClcXFxuXHJdKS9nLChlPT4iXG4iPT09ZT8iXFxuIjoiXHIiPT09ZT8iXFxyIjpgXFwke2V9YCkpfWZ1bmN0aW9uIF9jb2xsZWN0SlMoZSx0LGksYSl7aWYoIWUpcmV0dXJuO2xldCBzPW51bGw7aWYoZSBpbnN0YW5jZW9mIFJlZil7aWYoYS5oYXMoZSkpcmV0dXJuO3M9ZTthLnB1dChzKTtlPXQuZmV0Y2goZSl9aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoY29uc3QgcyBvZiBlKV9jb2xsZWN0SlMocyx0LGksYSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgRGljdCl7aWYoaXNOYW1lKGUuZ2V0KCJTIiksIkphdmFTY3JpcHQiKSl7Y29uc3QgdD1lLmdldCgiSlMiKTtsZXQgYTt0IGluc3RhbmNlb2YgQmFzZVN0cmVhbT9hPXQuZ2V0U3RyaW5nKCk6InN0cmluZyI9PXR5cGVvZiB0JiYoYT10KTthJiY9c3RyaW5nVG9QREZTdHJpbmcoYSkucmVwbGFjZUFsbCgiXDAiLCIiKTthJiZpLnB1c2goYSl9X2NvbGxlY3RKUyhlLmdldFJhdygiTmV4dCIpLHQsaSxhKX1zJiZhLnJlbW92ZShzKX1mdW5jdGlvbiBjb2xsZWN0QWN0aW9ucyhlLHQsaSl7Y29uc3QgYT1PYmplY3QuY3JlYXRlKG51bGwpLHM9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiQUEiLHN0b3BXaGVuRm91bmQ6ITF9KTtpZihzKWZvcihsZXQgdD1zLmxlbmd0aC0xO3Q+PTA7dC0tKXtjb25zdCByPXNbdF07aWYociBpbnN0YW5jZW9mIERpY3QpZm9yKGNvbnN0IHQgb2Ygci5nZXRLZXlzKCkpe2NvbnN0IHM9aVt0XTtpZighcyljb250aW51ZTtjb25zdCBuPVtdO19jb2xsZWN0SlMoci5nZXRSYXcodCksZSxuLG5ldyBSZWZTZXQpO24ubGVuZ3RoPjAmJihhW3NdPW4pfX1pZih0LmhhcygiQSIpKXtjb25zdCBpPVtdO19jb2xsZWN0SlModC5nZXQoIkEiKSxlLGksbmV3IFJlZlNldCk7aS5sZW5ndGg+MCYmKGEuQWN0aW9uPWkpfXJldHVybiBvYmplY3RTaXplKGEpPjA/YTpudWxsfWNvbnN0IE50PXs2MDoiJmx0OyIsNjI6IiZndDsiLDM4OiImYW1wOyIsMzQ6IiZxdW90OyIsMzk6IiZhcG9zOyJ9O2Z1bmN0aW9uKmNvZGVQb2ludEl0ZXIoZSl7Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCsrKXtjb25zdCBpPWUuY29kZVBvaW50QXQodCk7aT41NTI5NSYmKGk8NTczNDR8fGk+NjU1MzMpJiZ0Kys7eWllbGQgaX19ZnVuY3Rpb24gZW5jb2RlVG9YbWxTdHJpbmcoZSl7Y29uc3QgdD1bXTtsZXQgaT0wO2ZvcihsZXQgYT0wLHM9ZS5sZW5ndGg7YTxzO2ErKyl7Y29uc3Qgcz1lLmNvZGVQb2ludEF0KGEpO2lmKDMyPD1zJiZzPD0xMjYpe2NvbnN0IHI9TnRbc107aWYocil7aTxhJiZ0LnB1c2goZS5zdWJzdHJpbmcoaSxhKSk7dC5wdXNoKHIpO2k9YSsxfX1lbHNle2k8YSYmdC5wdXNoKGUuc3Vic3RyaW5nKGksYSkpO3QucHVzaChgJiN4JHtzLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpfTtgKTtzPjU1Mjk1JiYoczw1NzM0NHx8cz42NTUzMykmJmErKztpPWErMX19aWYoMD09PXQubGVuZ3RoKXJldHVybiBlO2k8ZS5sZW5ndGgmJnQucHVzaChlLnN1YnN0cmluZyhpLGUubGVuZ3RoKSk7cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gdmFsaWRhdGVGb250TmFtZShlLHQ9ITEpe2NvbnN0IGk9L14oInwnKS4qKCJ8JykkLy5leGVjKGUpO2lmKGkmJmlbMV09PT1pWzJdKXtpZihuZXcgUmVnRXhwKGBbXlxcXFxdJHtpWzFdfWApLnRlc3QoZS5zbGljZSgxLC0xKSkpe3QmJndhcm4oYEZvbnRGYW1pbHkgY29udGFpbnMgdW5lc2NhcGVkICR7aVsxXX06ICR7ZX0uYCk7cmV0dXJuITF9fWVsc2UgZm9yKGNvbnN0IGkgb2YgZS5zcGxpdCgvWyBcdF0rLykpaWYoL14oXGR8KC0oXGR8LSkpKS8udGVzdChpKXx8IS9eW1x3LVxcXSskLy50ZXN0KGkpKXt0JiZ3YXJuKGBGb250RmFtaWx5IGNvbnRhaW5zIGludmFsaWQgPGN1c3RvbS1pZGVudD46ICR7ZX0uYCk7cmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gdmFsaWRhdGVDU1NGb250KGUpe2NvbnN0IHQ9bmV3IFNldChbIjEwMCIsIjIwMCIsIjMwMCIsIjQwMCIsIjUwMCIsIjYwMCIsIjcwMCIsIjgwMCIsIjkwMCIsIjEwMDAiLCJub3JtYWwiLCJib2xkIiwiYm9sZGVyIiwibGlnaHRlciJdKSx7Zm9udEZhbWlseTppLGZvbnRXZWlnaHQ6YSxpdGFsaWNBbmdsZTpzfT1lO2lmKCF2YWxpZGF0ZUZvbnROYW1lKGksITApKXJldHVybiExO2NvbnN0IHI9YT9hLnRvU3RyaW5nKCk6IiI7ZS5mb250V2VpZ2h0PXQuaGFzKHIpP3I6IjQwMCI7Y29uc3Qgbj1wYXJzZUZsb2F0KHMpO2UuaXRhbGljQW5nbGU9aXNOYU4obil8fG48LTkwfHxuPjkwPyIxNCI6cy50b1N0cmluZygpO3JldHVybiEwfWZ1bmN0aW9uIHJlY292ZXJKc1VSTChlKXtjb25zdCB0PW5ldyBSZWdFeHAoIl5cXHMqKCIrWyJhcHAubGF1bmNoVVJMIiwid2luZG93Lm9wZW4iLCJ4ZmEuaG9zdC5nb3RvVVJMIl0uam9pbigifCIpLnJlcGxhY2VBbGwoIi4iLCJcXC4iKSsiKVxcKCg/Oid8XCIpKFteJ1wiXSopKD86J3xcIikoPzosXFxzKihcXHcrKVxcKXxcXCkpIiwiaSIpLmV4ZWMoZSk7aWYodD8uWzJdKXtjb25zdCBlPXRbMl07bGV0IGk9ITE7InRydWUiPT09dFszXSYmImFwcC5sYXVuY2hVUkwiPT09dFsxXSYmKGk9ITApO3JldHVybnt1cmw6ZSxuZXdXaW5kb3c6aX19cmV0dXJuIG51bGx9ZnVuY3Rpb24gbnVtYmVyVG9TdHJpbmcoZSl7aWYoTnVtYmVyLmlzSW50ZWdlcihlKSlyZXR1cm4gZS50b1N0cmluZygpO2NvbnN0IHQ9TWF0aC5yb3VuZCgxMDAqZSk7cmV0dXJuIHQlMTAwPT0wPyh0LzEwMCkudG9TdHJpbmcoKTp0JTEwPT0wP2UudG9GaXhlZCgxKTplLnRvRml4ZWQoMil9ZnVuY3Rpb24gZ2V0TmV3QW5ub3RhdGlvbnNNYXAoZSl7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgdD1uZXcgTWFwO2Zvcihjb25zdFtpLGFdb2YgZSl7aWYoIWkuc3RhcnRzV2l0aCh1KSljb250aW51ZTtsZXQgZT10LmdldChhLnBhZ2VJbmRleCk7aWYoIWUpe2U9W107dC5zZXQoYS5wYWdlSW5kZXgsZSl9ZS5wdXNoKGEpfXJldHVybiB0LnNpemU+MD90Om51bGx9ZnVuY3Rpb24gc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShlKXtyZXR1cm4gZnVuY3Rpb24gaXNBc2NpaShlKXtyZXR1cm4vXltceDAwLVx4N0ZdKiQvLnRlc3QoZSl9KGUpP2U6c3RyaW5nVG9VVEYxNlN0cmluZyhlLCEwKX1mdW5jdGlvbiBzdHJpbmdUb1VURjE2SGV4U3RyaW5nKGUpe2NvbnN0IHQ9W107Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSsrKXtjb25zdCBhPWUuY2hhckNvZGVBdChpKTt0LnB1c2goKGE+PjgmMjU1KS50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpLCgyNTUmYSkudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSl9cmV0dXJuIHQuam9pbigiIil9ZnVuY3Rpb24gc3RyaW5nVG9VVEYxNlN0cmluZyhlLHQ9ITEpe2NvbnN0IGk9W107dCYmaS5wdXNoKCLDvsO/Iik7Zm9yKGxldCB0PTAsYT1lLmxlbmd0aDt0PGE7dCsrKXtjb25zdCBhPWUuY2hhckNvZGVBdCh0KTtpLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShhPj44JjI1NSksU3RyaW5nLmZyb21DaGFyQ29kZSgyNTUmYSkpfXJldHVybiBpLmpvaW4oIiIpfWZ1bmN0aW9uIGdldFJvdGF0aW9uTWF0cml4KGUsdCxpKXtzd2l0Y2goZSl7Y2FzZSA5MDpyZXR1cm5bMCwxLC0xLDAsdCwwXTtjYXNlIDE4MDpyZXR1cm5bLTEsMCwwLC0xLHQsaV07Y2FzZSAyNzA6cmV0dXJuWzAsLTEsMSwwLDAsaV07ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcm90YXRpb24iKX19ZnVuY3Rpb24gZ2V0U2l6ZUluQnl0ZXMoZSl7cmV0dXJuIE1hdGguY2VpbChNYXRoLmNlaWwoTWF0aC5sb2cyKDErZSkpLzgpfWNsYXNzIFN0cmVhbSBleHRlbmRzIEJhc2VTdHJlYW17Y29uc3RydWN0b3IoZSx0LGksYSl7c3VwZXIoKTt0aGlzLmJ5dGVzPWUgaW5zdGFuY2VvZiBVaW50OEFycmF5P2U6bmV3IFVpbnQ4QXJyYXkoZSk7dGhpcy5zdGFydD10fHwwO3RoaXMucG9zPXRoaXMuc3RhcnQ7dGhpcy5lbmQ9dCtpfHx0aGlzLmJ5dGVzLmxlbmd0aDt0aGlzLmRpY3Q9YX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMuZW5kLXRoaXMuc3RhcnR9Z2V0IGlzRW1wdHkoKXtyZXR1cm4gMD09PXRoaXMubGVuZ3RofWdldEJ5dGUoKXtyZXR1cm4gdGhpcy5wb3M+PXRoaXMuZW5kPy0xOnRoaXMuYnl0ZXNbdGhpcy5wb3MrK119Z2V0Qnl0ZXMoZSl7Y29uc3QgdD10aGlzLmJ5dGVzLGk9dGhpcy5wb3MsYT10aGlzLmVuZDtpZighZSlyZXR1cm4gdC5zdWJhcnJheShpLGEpO2xldCBzPWkrZTtzPmEmJihzPWEpO3RoaXMucG9zPXM7cmV0dXJuIHQuc3ViYXJyYXkoaSxzKX1nZXRCeXRlUmFuZ2UoZSx0KXtlPDAmJihlPTApO3Q+dGhpcy5lbmQmJih0PXRoaXMuZW5kKTtyZXR1cm4gdGhpcy5ieXRlcy5zdWJhcnJheShlLHQpfXJlc2V0KCl7dGhpcy5wb3M9dGhpcy5zdGFydH1tb3ZlU3RhcnQoKXt0aGlzLnN0YXJ0PXRoaXMucG9zfW1ha2VTdWJTdHJlYW0oZSx0LGk9bnVsbCl7cmV0dXJuIG5ldyBTdHJlYW0odGhpcy5ieXRlcy5idWZmZXIsZSx0LGkpfX1jbGFzcyBTdHJpbmdTdHJlYW0gZXh0ZW5kcyBTdHJlYW17Y29uc3RydWN0b3IoZSl7c3VwZXIoc3RyaW5nVG9CeXRlcyhlKSl9fWNsYXNzIE51bGxTdHJlYW0gZXh0ZW5kcyBTdHJlYW17Y29uc3RydWN0b3IoKXtzdXBlcihuZXcgVWludDhBcnJheSgwKSl9fWNsYXNzIENodW5rZWRTdHJlYW0gZXh0ZW5kcyBTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKG5ldyBVaW50OEFycmF5KGUpLDAsZSxudWxsKTt0aGlzLmNodW5rU2l6ZT10O3RoaXMuX2xvYWRlZENodW5rcz1uZXcgU2V0O3RoaXMubnVtQ2h1bmtzPU1hdGguY2VpbChlL3QpO3RoaXMubWFuYWdlcj1pO3RoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoPTA7dGhpcy5sYXN0U3VjY2Vzc2Z1bEVuc3VyZUJ5dGVDaHVuaz0tMX1nZXRNaXNzaW5nQ2h1bmtzKCl7Y29uc3QgZT1bXTtmb3IobGV0IHQ9MCxpPXRoaXMubnVtQ2h1bmtzO3Q8aTsrK3QpdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyh0KXx8ZS5wdXNoKHQpO3JldHVybiBlfWdldCBudW1DaHVua3NMb2FkZWQoKXtyZXR1cm4gdGhpcy5fbG9hZGVkQ2h1bmtzLnNpemV9Z2V0IGlzRGF0YUxvYWRlZCgpe3JldHVybiB0aGlzLm51bUNodW5rc0xvYWRlZD09PXRoaXMubnVtQ2h1bmtzfW9uUmVjZWl2ZURhdGEoZSx0KXtjb25zdCBpPXRoaXMuY2h1bmtTaXplO2lmKGUlaSE9MCl0aHJvdyBuZXcgRXJyb3IoYEJhZCBiZWdpbiBvZmZzZXQ6ICR7ZX1gKTtjb25zdCBhPWUrdC5ieXRlTGVuZ3RoO2lmKGElaSE9MCYmYSE9PXRoaXMuYnl0ZXMubGVuZ3RoKXRocm93IG5ldyBFcnJvcihgQmFkIGVuZCBvZmZzZXQ6ICR7YX1gKTt0aGlzLmJ5dGVzLnNldChuZXcgVWludDhBcnJheSh0KSxlKTtjb25zdCBzPU1hdGguZmxvb3IoZS9pKSxyPU1hdGguZmxvb3IoKGEtMSkvaSkrMTtmb3IobGV0IGU9cztlPHI7KytlKXRoaXMuX2xvYWRlZENodW5rcy5hZGQoZSl9b25SZWNlaXZlUHJvZ3Jlc3NpdmVEYXRhKGUpe2xldCB0PXRoaXMucHJvZ3Jlc3NpdmVEYXRhTGVuZ3RoO2NvbnN0IGk9TWF0aC5mbG9vcih0L3RoaXMuY2h1bmtTaXplKTt0aGlzLmJ5dGVzLnNldChuZXcgVWludDhBcnJheShlKSx0KTt0Kz1lLmJ5dGVMZW5ndGg7dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGg9dDtjb25zdCBhPXQ+PXRoaXMuZW5kP3RoaXMubnVtQ2h1bmtzOk1hdGguZmxvb3IodC90aGlzLmNodW5rU2l6ZSk7Zm9yKGxldCBlPWk7ZTxhOysrZSl0aGlzLl9sb2FkZWRDaHVua3MuYWRkKGUpfWVuc3VyZUJ5dGUoZSl7aWYoZTx0aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aClyZXR1cm47Y29uc3QgdD1NYXRoLmZsb29yKGUvdGhpcy5jaHVua1NpemUpO2lmKCEodD50aGlzLm51bUNodW5rcykmJnQhPT10aGlzLmxhc3RTdWNjZXNzZnVsRW5zdXJlQnl0ZUNodW5rKXtpZighdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyh0KSl0aHJvdyBuZXcgTWlzc2luZ0RhdGFFeGNlcHRpb24oZSxlKzEpO3RoaXMubGFzdFN1Y2Nlc3NmdWxFbnN1cmVCeXRlQ2h1bms9dH19ZW5zdXJlUmFuZ2UoZSx0KXtpZihlPj10KXJldHVybjtpZih0PD10aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aClyZXR1cm47Y29uc3QgaT1NYXRoLmZsb29yKGUvdGhpcy5jaHVua1NpemUpO2lmKGk+dGhpcy5udW1DaHVua3MpcmV0dXJuO2NvbnN0IGE9TWF0aC5taW4oTWF0aC5mbG9vcigodC0xKS90aGlzLmNodW5rU2l6ZSkrMSx0aGlzLm51bUNodW5rcyk7Zm9yKGxldCBzPWk7czxhOysrcylpZighdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyhzKSl0aHJvdyBuZXcgTWlzc2luZ0RhdGFFeGNlcHRpb24oZSx0KX1uZXh0RW1wdHlDaHVuayhlKXtjb25zdCB0PXRoaXMubnVtQ2h1bmtzO2ZvcihsZXQgaT0wO2k8dDsrK2kpe2NvbnN0IGE9KGUraSkldDtpZighdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyhhKSlyZXR1cm4gYX1yZXR1cm4gbnVsbH1oYXNDaHVuayhlKXtyZXR1cm4gdGhpcy5fbG9hZGVkQ2h1bmtzLmhhcyhlKX1nZXRCeXRlKCl7Y29uc3QgZT10aGlzLnBvcztpZihlPj10aGlzLmVuZClyZXR1cm4tMTtlPj10aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVCeXRlKGUpO3JldHVybiB0aGlzLmJ5dGVzW3RoaXMucG9zKytdfWdldEJ5dGVzKGUpe2NvbnN0IHQ9dGhpcy5ieXRlcyxpPXRoaXMucG9zLGE9dGhpcy5lbmQ7aWYoIWUpe2E+dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgmJnRoaXMuZW5zdXJlUmFuZ2UoaSxhKTtyZXR1cm4gdC5zdWJhcnJheShpLGEpfWxldCBzPWkrZTtzPmEmJihzPWEpO3M+dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgmJnRoaXMuZW5zdXJlUmFuZ2UoaSxzKTt0aGlzLnBvcz1zO3JldHVybiB0LnN1YmFycmF5KGkscyl9Z2V0Qnl0ZVJhbmdlKGUsdCl7ZTwwJiYoZT0wKTt0PnRoaXMuZW5kJiYodD10aGlzLmVuZCk7dD50aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVSYW5nZShlLHQpO3JldHVybiB0aGlzLmJ5dGVzLnN1YmFycmF5KGUsdCl9bWFrZVN1YlN0cmVhbShlLHQsaT1udWxsKXt0P2UrdD50aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aCYmdGhpcy5lbnN1cmVSYW5nZShlLGUrdCk6ZT49dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGgmJnRoaXMuZW5zdXJlQnl0ZShlKTtmdW5jdGlvbiBDaHVua2VkU3RyZWFtU3Vic3RyZWFtKCl7fUNodW5rZWRTdHJlYW1TdWJzdHJlYW0ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodGhpcyk7Q2h1bmtlZFN0cmVhbVN1YnN0cmVhbS5wcm90b3R5cGUuZ2V0TWlzc2luZ0NodW5rcz1mdW5jdGlvbigpe2NvbnN0IGU9dGhpcy5jaHVua1NpemUsdD1NYXRoLmZsb29yKHRoaXMuc3RhcnQvZSksaT1NYXRoLmZsb29yKCh0aGlzLmVuZC0xKS9lKSsxLGE9W107Zm9yKGxldCBlPXQ7ZTxpOysrZSl0aGlzLl9sb2FkZWRDaHVua3MuaGFzKGUpfHxhLnB1c2goZSk7cmV0dXJuIGF9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShDaHVua2VkU3RyZWFtU3Vic3RyZWFtLnByb3RvdHlwZSwiaXNEYXRhTG9hZGVkIix7Z2V0KCl7cmV0dXJuIHRoaXMubnVtQ2h1bmtzTG9hZGVkPT09dGhpcy5udW1DaHVua3N8fDA9PT10aGlzLmdldE1pc3NpbmdDaHVua3MoKS5sZW5ndGh9LGNvbmZpZ3VyYWJsZTohMH0pO2NvbnN0IGE9bmV3IENodW5rZWRTdHJlYW1TdWJzdHJlYW07YS5wb3M9YS5zdGFydD1lO2EuZW5kPWUrdHx8dGhpcy5lbmQ7YS5kaWN0PWk7cmV0dXJuIGF9Z2V0QmFzZVN0cmVhbXMoKXtyZXR1cm5bdGhpc119fWNsYXNzIENodW5rZWRTdHJlYW1NYW5hZ2Vye2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5sZW5ndGg9dC5sZW5ndGg7dGhpcy5jaHVua1NpemU9dC5yYW5nZUNodW5rU2l6ZTt0aGlzLnN0cmVhbT1uZXcgQ2h1bmtlZFN0cmVhbSh0aGlzLmxlbmd0aCx0aGlzLmNodW5rU2l6ZSx0aGlzKTt0aGlzLnBkZk5ldHdvcmtTdHJlYW09ZTt0aGlzLmRpc2FibGVBdXRvRmV0Y2g9dC5kaXNhYmxlQXV0b0ZldGNoO3RoaXMubXNnSGFuZGxlcj10Lm1zZ0hhbmRsZXI7dGhpcy5jdXJyUmVxdWVzdElkPTA7dGhpcy5fY2h1bmtzTmVlZGVkQnlSZXF1ZXN0PW5ldyBNYXA7dGhpcy5fcmVxdWVzdHNCeUNodW5rPW5ldyBNYXA7dGhpcy5fcHJvbWlzZXNCeVJlcXVlc3Q9bmV3IE1hcDt0aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aD0wO3RoaXMuYWJvcnRlZD0hMTt0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5PVByb21pc2Uud2l0aFJlc29sdmVycygpfXNlbmRSZXF1ZXN0KGUsdCl7Y29uc3QgaT10aGlzLnBkZk5ldHdvcmtTdHJlYW0uZ2V0UmFuZ2VSZWFkZXIoZSx0KTtpLmlzU3RyZWFtaW5nU3VwcG9ydGVkfHwoaS5vblByb2dyZXNzPXRoaXMub25Qcm9ncmVzcy5iaW5kKHRoaXMpKTtsZXQgYT1bXSxzPTA7cmV0dXJuIG5ldyBQcm9taXNlKCgoZSx0KT0+e2NvbnN0IHJlYWRDaHVuaz0oe3ZhbHVlOnIsZG9uZTpufSk9Pnt0cnl7aWYobil7Y29uc3QgdD1hcnJheUJ1ZmZlcnNUb0J5dGVzKGEpO2E9bnVsbDtlKHQpO3JldHVybn1zKz1yLmJ5dGVMZW5ndGg7aS5pc1N0cmVhbWluZ1N1cHBvcnRlZCYmdGhpcy5vblByb2dyZXNzKHtsb2FkZWQ6c30pO2EucHVzaChyKTtpLnJlYWQoKS50aGVuKHJlYWRDaHVuayx0KX1jYXRjaChlKXt0KGUpfX07aS5yZWFkKCkudGhlbihyZWFkQ2h1bmssdCl9KSkudGhlbigodD0+e3RoaXMuYWJvcnRlZHx8dGhpcy5vblJlY2VpdmVEYXRhKHtjaHVuazp0LGJlZ2luOmV9KX0pKX1yZXF1ZXN0QWxsQ2h1bmtzKGU9ITEpe2lmKCFlKXtjb25zdCBlPXRoaXMuc3RyZWFtLmdldE1pc3NpbmdDaHVua3MoKTt0aGlzLl9yZXF1ZXN0Q2h1bmtzKGUpfXJldHVybiB0aGlzLl9sb2FkZWRTdHJlYW1DYXBhYmlsaXR5LnByb21pc2V9X3JlcXVlc3RDaHVua3MoZSl7Y29uc3QgdD10aGlzLmN1cnJSZXF1ZXN0SWQrKyxpPW5ldyBTZXQ7dGhpcy5fY2h1bmtzTmVlZGVkQnlSZXF1ZXN0LnNldCh0LGkpO2Zvcihjb25zdCB0IG9mIGUpdGhpcy5zdHJlYW0uaGFzQ2h1bmsodCl8fGkuYWRkKHQpO2lmKDA9PT1pLnNpemUpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2NvbnN0IGE9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7dGhpcy5fcHJvbWlzZXNCeVJlcXVlc3Quc2V0KHQsYSk7Y29uc3Qgcz1bXTtmb3IoY29uc3QgZSBvZiBpKXtsZXQgaT10aGlzLl9yZXF1ZXN0c0J5Q2h1bmsuZ2V0KGUpO2lmKCFpKXtpPVtdO3RoaXMuX3JlcXVlc3RzQnlDaHVuay5zZXQoZSxpKTtzLnB1c2goZSl9aS5wdXNoKHQpfWlmKHMubGVuZ3RoPjApe2NvbnN0IGU9dGhpcy5ncm91cENodW5rcyhzKTtmb3IoY29uc3QgdCBvZiBlKXtjb25zdCBlPXQuYmVnaW5DaHVuayp0aGlzLmNodW5rU2l6ZSxpPU1hdGgubWluKHQuZW5kQ2h1bmsqdGhpcy5jaHVua1NpemUsdGhpcy5sZW5ndGgpO3RoaXMuc2VuZFJlcXVlc3QoZSxpKS5jYXRjaChhLnJlamVjdCl9fXJldHVybiBhLnByb21pc2UuY2F0Y2goKGU9PntpZighdGhpcy5hYm9ydGVkKXRocm93IGV9KSl9Z2V0U3RyZWFtKCl7cmV0dXJuIHRoaXMuc3RyZWFtfXJlcXVlc3RSYW5nZShlLHQpe3Q9TWF0aC5taW4odCx0aGlzLmxlbmd0aCk7Y29uc3QgaT10aGlzLmdldEJlZ2luQ2h1bmsoZSksYT10aGlzLmdldEVuZENodW5rKHQpLHM9W107Zm9yKGxldCBlPWk7ZTxhOysrZSlzLnB1c2goZSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RDaHVua3Mocyl9cmVxdWVzdFJhbmdlcyhlPVtdKXtjb25zdCB0PVtdO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9dGhpcy5nZXRCZWdpbkNodW5rKGkuYmVnaW4pLGE9dGhpcy5nZXRFbmRDaHVuayhpLmVuZCk7Zm9yKGxldCBpPWU7aTxhOysraSl0LmluY2x1ZGVzKGkpfHx0LnB1c2goaSl9dC5zb3J0KChmdW5jdGlvbihlLHQpe3JldHVybiBlLXR9KSk7cmV0dXJuIHRoaXMuX3JlcXVlc3RDaHVua3ModCl9Z3JvdXBDaHVua3MoZSl7Y29uc3QgdD1bXTtsZXQgaT0tMSxhPS0xO2ZvcihsZXQgcz0wLHI9ZS5sZW5ndGg7czxyOysrcyl7Y29uc3Qgcj1lW3NdO2k8MCYmKGk9cik7aWYoYT49MCYmYSsxIT09cil7dC5wdXNoKHtiZWdpbkNodW5rOmksZW5kQ2h1bms6YSsxfSk7aT1yfXMrMT09PWUubGVuZ3RoJiZ0LnB1c2goe2JlZ2luQ2h1bms6aSxlbmRDaHVuazpyKzF9KTthPXJ9cmV0dXJuIHR9b25Qcm9ncmVzcyhlKXt0aGlzLm1zZ0hhbmRsZXIuc2VuZCgiRG9jUHJvZ3Jlc3MiLHtsb2FkZWQ6dGhpcy5zdHJlYW0ubnVtQ2h1bmtzTG9hZGVkKnRoaXMuY2h1bmtTaXplK2UubG9hZGVkLHRvdGFsOnRoaXMubGVuZ3RofSl9b25SZWNlaXZlRGF0YShlKXtjb25zdCB0PWUuY2h1bmssaT12b2lkIDA9PT1lLmJlZ2luLGE9aT90aGlzLnByb2dyZXNzaXZlRGF0YUxlbmd0aDplLmJlZ2luLHM9YSt0LmJ5dGVMZW5ndGgscj1NYXRoLmZsb29yKGEvdGhpcy5jaHVua1NpemUpLG49czx0aGlzLmxlbmd0aD9NYXRoLmZsb29yKHMvdGhpcy5jaHVua1NpemUpOk1hdGguY2VpbChzL3RoaXMuY2h1bmtTaXplKTtpZihpKXt0aGlzLnN0cmVhbS5vblJlY2VpdmVQcm9ncmVzc2l2ZURhdGEodCk7dGhpcy5wcm9ncmVzc2l2ZURhdGFMZW5ndGg9c31lbHNlIHRoaXMuc3RyZWFtLm9uUmVjZWl2ZURhdGEoYSx0KTt0aGlzLnN0cmVhbS5pc0RhdGFMb2FkZWQmJnRoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkucmVzb2x2ZSh0aGlzLnN0cmVhbSk7Y29uc3QgZz1bXTtmb3IobGV0IGU9cjtlPG47KytlKXtjb25zdCB0PXRoaXMuX3JlcXVlc3RzQnlDaHVuay5nZXQoZSk7aWYodCl7dGhpcy5fcmVxdWVzdHNCeUNodW5rLmRlbGV0ZShlKTtmb3IoY29uc3QgaSBvZiB0KXtjb25zdCB0PXRoaXMuX2NodW5rc05lZWRlZEJ5UmVxdWVzdC5nZXQoaSk7dC5oYXMoZSkmJnQuZGVsZXRlKGUpO3Quc2l6ZT4wfHxnLnB1c2goaSl9fX1pZighdGhpcy5kaXNhYmxlQXV0b0ZldGNoJiYwPT09dGhpcy5fcmVxdWVzdHNCeUNodW5rLnNpemUpe2xldCBlO2lmKDE9PT10aGlzLnN0cmVhbS5udW1DaHVua3NMb2FkZWQpe2NvbnN0IHQ9dGhpcy5zdHJlYW0ubnVtQ2h1bmtzLTE7dGhpcy5zdHJlYW0uaGFzQ2h1bmsodCl8fChlPXQpfWVsc2UgZT10aGlzLnN0cmVhbS5uZXh0RW1wdHlDaHVuayhuKTtOdW1iZXIuaXNJbnRlZ2VyKGUpJiZ0aGlzLl9yZXF1ZXN0Q2h1bmtzKFtlXSl9Zm9yKGNvbnN0IGUgb2YgZyl7Y29uc3QgdD10aGlzLl9wcm9taXNlc0J5UmVxdWVzdC5nZXQoZSk7dGhpcy5fcHJvbWlzZXNCeVJlcXVlc3QuZGVsZXRlKGUpO3QucmVzb2x2ZSgpfXRoaXMubXNnSGFuZGxlci5zZW5kKCJEb2NQcm9ncmVzcyIse2xvYWRlZDp0aGlzLnN0cmVhbS5udW1DaHVua3NMb2FkZWQqdGhpcy5jaHVua1NpemUsdG90YWw6dGhpcy5sZW5ndGh9KX1vbkVycm9yKGUpe3RoaXMuX2xvYWRlZFN0cmVhbUNhcGFiaWxpdHkucmVqZWN0KGUpfWdldEJlZ2luQ2h1bmsoZSl7cmV0dXJuIE1hdGguZmxvb3IoZS90aGlzLmNodW5rU2l6ZSl9Z2V0RW5kQ2h1bmsoZSl7cmV0dXJuIE1hdGguZmxvb3IoKGUtMSkvdGhpcy5jaHVua1NpemUpKzF9YWJvcnQoZSl7dGhpcy5hYm9ydGVkPSEwO3RoaXMucGRmTmV0d29ya1N0cmVhbT8uY2FuY2VsQWxsUmVxdWVzdHMoZSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcHJvbWlzZXNCeVJlcXVlc3QudmFsdWVzKCkpdC5yZWplY3QoZSl9fWNsYXNzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoZSx0KXt0aGlzLm5hbWU9ZTt0aGlzLm51bUNvbXBzPXR9Z2V0UmdiKGUsdCl7Y29uc3QgaT1uZXcgVWludDhDbGFtcGVkQXJyYXkoMyk7dGhpcy5nZXRSZ2JJdGVtKGUsdCxpLDApO3JldHVybiBpfWdldFJnYkl0ZW0oZSx0LGksYSl7dW5yZWFjaGFibGUoIlNob3VsZCBub3QgY2FsbCBDb2xvclNwYWNlLmdldFJnYkl0ZW0iKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7dW5yZWFjaGFibGUoIlNob3VsZCBub3QgY2FsbCBDb2xvclNwYWNlLmdldFJnYkJ1ZmZlciIpfWdldE91dHB1dExlbmd0aChlLHQpe3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgQ29sb3JTcGFjZS5nZXRPdXRwdXRMZW5ndGgiKX1pc1Bhc3N0aHJvdWdoKGUpe3JldHVybiExfWlzRGVmYXVsdERlY29kZShlLHQpe3JldHVybiBDb2xvclNwYWNlLmlzRGVmYXVsdERlY29kZShlLHRoaXMubnVtQ29tcHMpfWZpbGxSZ2IoZSx0LGksYSxzLHIsbixnLG8pe2NvbnN0IGM9dCppO2xldCBDPW51bGw7Y29uc3QgaD0xPDxuLGw9aSE9PXN8fHQhPT1hO2lmKHRoaXMuaXNQYXNzdGhyb3VnaChuKSlDPWc7ZWxzZSBpZigxPT09dGhpcy5udW1Db21wcyYmYz5oJiYiRGV2aWNlR3JheSIhPT10aGlzLm5hbWUmJiJEZXZpY2VSR0IiIT09dGhpcy5uYW1lKXtjb25zdCB0PW48PTg/bmV3IFVpbnQ4QXJyYXkoaCk6bmV3IFVpbnQxNkFycmF5KGgpO2ZvcihsZXQgZT0wO2U8aDtlKyspdFtlXT1lO2NvbnN0IGk9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMqaCk7dGhpcy5nZXRSZ2JCdWZmZXIodCwwLGgsaSwwLG4sMCk7aWYobCl7Qz1uZXcgVWludDhBcnJheSgzKmMpO2xldCBlPTA7Zm9yKGxldCB0PTA7dDxjOysrdCl7Y29uc3QgYT0zKmdbdF07Q1tlKytdPWlbYV07Q1tlKytdPWlbYSsxXTtDW2UrK109aVthKzJdfX1lbHNle2xldCB0PTA7Zm9yKGxldCBhPTA7YTxjOysrYSl7Y29uc3Qgcz0zKmdbYV07ZVt0KytdPWlbc107ZVt0KytdPWlbcysxXTtlW3QrK109aVtzKzJdO3QrPW99fX1lbHNlIGlmKGwpe0M9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMqYyk7dGhpcy5nZXRSZ2JCdWZmZXIoZywwLGMsQywwLG4sMCl9ZWxzZSB0aGlzLmdldFJnYkJ1ZmZlcihnLDAsYSpyLGUsMCxuLG8pO2lmKEMpaWYobCkhZnVuY3Rpb24gcmVzaXplUmdiSW1hZ2UoZSx0LGksYSxzLHIsbil7bj0xIT09bj8wOm47Y29uc3QgZz1pL3Msbz1hL3I7bGV0IGMsQz0wO2NvbnN0IGg9bmV3IFVpbnQxNkFycmF5KHMpLGw9MyppO2ZvcihsZXQgZT0wO2U8cztlKyspaFtlXT0zKk1hdGguZmxvb3IoZSpnKTtmb3IobGV0IGk9MDtpPHI7aSsrKXtjb25zdCBhPU1hdGguZmxvb3IoaSpvKSpsO2ZvcihsZXQgaT0wO2k8cztpKyspe2M9YStoW2ldO3RbQysrXT1lW2MrK107dFtDKytdPWVbYysrXTt0W0MrK109ZVtjKytdO0MrPW59fX0oQyxlLHQsaSxhLHMsbyk7ZWxzZXtsZXQgdD0wLGk9MDtmb3IobGV0IHM9MCxuPWEqcjtzPG47cysrKXtlW3QrK109Q1tpKytdO2VbdCsrXT1DW2krK107ZVt0KytdPUNbaSsrXTt0Kz1vfX19Z2V0IHVzZXNaZXJvVG9PbmVSYW5nZSgpe3JldHVybiBzaGFkb3codGhpcywidXNlc1plcm9Ub09uZVJhbmdlIiwhMCl9c3RhdGljIF9jYWNoZShlLHQsaSxhKXtpZighaSl0aHJvdyBuZXcgRXJyb3IoJ0NvbG9yU3BhY2UuX2NhY2hlIC0gZXhwZWN0ZWQgImxvY2FsQ29sb3JTcGFjZUNhY2hlIiBhcmd1bWVudC4nKTtpZighYSl0aHJvdyBuZXcgRXJyb3IoJ0NvbG9yU3BhY2UuX2NhY2hlIC0gZXhwZWN0ZWQgInBhcnNlZENvbG9yU3BhY2UiIGFyZ3VtZW50LicpO2xldCBzLHI7aWYoZSBpbnN0YW5jZW9mIFJlZil7cj1lO2U9dC5mZXRjaChlKX1lIGluc3RhbmNlb2YgTmFtZSYmKHM9ZS5uYW1lKTsoc3x8cikmJmkuc2V0KHMscixhKX1zdGF0aWMgZ2V0Q2FjaGVkKGUsdCxpKXtpZighaSl0aHJvdyBuZXcgRXJyb3IoJ0NvbG9yU3BhY2UuZ2V0Q2FjaGVkIC0gZXhwZWN0ZWQgImxvY2FsQ29sb3JTcGFjZUNhY2hlIiBhcmd1bWVudC4nKTtpZihlIGluc3RhbmNlb2YgUmVmKXtjb25zdCBhPWkuZ2V0QnlSZWYoZSk7aWYoYSlyZXR1cm4gYTt0cnl7ZT10LmZldGNoKGUpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlfX1pZihlIGluc3RhbmNlb2YgTmFtZSl7Y29uc3QgdD1pLmdldEJ5TmFtZShlLm5hbWUpO2lmKHQpcmV0dXJuIHR9cmV0dXJuIG51bGx9c3RhdGljIGFzeW5jIHBhcnNlQXN5bmMoe2NzOmUseHJlZjp0LHJlc291cmNlczppPW51bGwscGRmRnVuY3Rpb25GYWN0b3J5OmEsbG9jYWxDb2xvclNwYWNlQ2FjaGU6c30pe2NvbnN0IHI9dGhpcy5fcGFyc2UoZSx0LGksYSk7dGhpcy5fY2FjaGUoZSx0LHMscik7cmV0dXJuIHJ9c3RhdGljIHBhcnNlKHtjczplLHhyZWY6dCxyZXNvdXJjZXM6aT1udWxsLHBkZkZ1bmN0aW9uRmFjdG9yeTphLGxvY2FsQ29sb3JTcGFjZUNhY2hlOnN9KXtjb25zdCByPXRoaXMuZ2V0Q2FjaGVkKGUsdCxzKTtpZihyKXJldHVybiByO2NvbnN0IG49dGhpcy5fcGFyc2UoZSx0LGksYSk7dGhpcy5fY2FjaGUoZSx0LHMsbik7cmV0dXJuIG59c3RhdGljIF9wYXJzZShlLHQsaT1udWxsLGEpe2lmKChlPXQuZmV0Y2hJZlJlZihlKSlpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJHIjpjYXNlIkRldmljZUdyYXkiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheTtjYXNlIlJHQiI6Y2FzZSJEZXZpY2VSR0IiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMucmdiO2Nhc2UiRGV2aWNlUkdCQSI6cmV0dXJuIHRoaXMuc2luZ2xldG9ucy5yZ2JhO2Nhc2UiQ01ZSyI6Y2FzZSJEZXZpY2VDTVlLIjpyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmNteWs7Y2FzZSJQYXR0ZXJuIjpyZXR1cm4gbmV3IFBhdHRlcm5DUyhudWxsKTtkZWZhdWx0OmlmKGkgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBzPWkuZ2V0KCJDb2xvclNwYWNlIik7aWYocyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IHI9cy5nZXQoZS5uYW1lKTtpZihyKXtpZihyIGluc3RhbmNlb2YgTmFtZSlyZXR1cm4gdGhpcy5fcGFyc2Uocix0LGksYSk7ZT1yO2JyZWFrfX19d2FybihgVW5yZWNvZ25pemVkIENvbG9yU3BhY2U6ICR7ZS5uYW1lfWApO3JldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheX1pZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCBzPXQuZmV0Y2hJZlJlZihlWzBdKS5uYW1lO2xldCByLG4sZyxvLGMsQztzd2l0Y2gocyl7Y2FzZSJHIjpjYXNlIkRldmljZUdyYXkiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMuZ3JheTtjYXNlIlJHQiI6Y2FzZSJEZXZpY2VSR0IiOnJldHVybiB0aGlzLnNpbmdsZXRvbnMucmdiO2Nhc2UiQ01ZSyI6Y2FzZSJEZXZpY2VDTVlLIjpyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmNteWs7Y2FzZSJDYWxHcmF5IjpyPXQuZmV0Y2hJZlJlZihlWzFdKTtvPXIuZ2V0QXJyYXkoIldoaXRlUG9pbnQiKTtjPXIuZ2V0QXJyYXkoIkJsYWNrUG9pbnQiKTtDPXIuZ2V0KCJHYW1tYSIpO3JldHVybiBuZXcgQ2FsR3JheUNTKG8sYyxDKTtjYXNlIkNhbFJHQiI6cj10LmZldGNoSWZSZWYoZVsxXSk7bz1yLmdldEFycmF5KCJXaGl0ZVBvaW50Iik7Yz1yLmdldEFycmF5KCJCbGFja1BvaW50Iik7Qz1yLmdldEFycmF5KCJHYW1tYSIpO2NvbnN0IGg9ci5nZXRBcnJheSgiTWF0cml4Iik7cmV0dXJuIG5ldyBDYWxSR0JDUyhvLGMsQyxoKTtjYXNlIklDQ0Jhc2VkIjpjb25zdCBsPXQuZmV0Y2hJZlJlZihlWzFdKS5kaWN0O249bC5nZXQoIk4iKTtjb25zdCBRPWwuZ2V0KCJBbHRlcm5hdGUiKTtpZihRKXtjb25zdCBlPXRoaXMuX3BhcnNlKFEsdCxpLGEpO2lmKGUubnVtQ29tcHM9PT1uKXJldHVybiBlO3dhcm4oIklDQ0Jhc2VkIGNvbG9yIHNwYWNlOiBJZ25vcmluZyBpbmNvcnJlY3QgL0FsdGVybmF0ZSBlbnRyeS4iKX1pZigxPT09bilyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmdyYXk7aWYoMz09PW4pcmV0dXJuIHRoaXMuc2luZ2xldG9ucy5yZ2I7aWYoND09PW4pcmV0dXJuIHRoaXMuc2luZ2xldG9ucy5jbXlrO2JyZWFrO2Nhc2UiUGF0dGVybiI6Zz1lWzFdfHxudWxsO2cmJihnPXRoaXMuX3BhcnNlKGcsdCxpLGEpKTtyZXR1cm4gbmV3IFBhdHRlcm5DUyhnKTtjYXNlIkkiOmNhc2UiSW5kZXhlZCI6Zz10aGlzLl9wYXJzZShlWzFdLHQsaSxhKTtjb25zdCBFPXQuZmV0Y2hJZlJlZihlWzJdKSsxLHU9dC5mZXRjaElmUmVmKGVbM10pO3JldHVybiBuZXcgSW5kZXhlZENTKGcsRSx1KTtjYXNlIlNlcGFyYXRpb24iOmNhc2UiRGV2aWNlTiI6Y29uc3QgZD10LmZldGNoSWZSZWYoZVsxXSk7bj1BcnJheS5pc0FycmF5KGQpP2QubGVuZ3RoOjE7Zz10aGlzLl9wYXJzZShlWzJdLHQsaSxhKTtjb25zdCBmPWEuY3JlYXRlKGVbM10pO3JldHVybiBuZXcgQWx0ZXJuYXRlQ1MobixnLGYpO2Nhc2UiTGFiIjpyPXQuZmV0Y2hJZlJlZihlWzFdKTtvPXIuZ2V0QXJyYXkoIldoaXRlUG9pbnQiKTtjPXIuZ2V0QXJyYXkoIkJsYWNrUG9pbnQiKTtjb25zdCBwPXIuZ2V0QXJyYXkoIlJhbmdlIik7cmV0dXJuIG5ldyBMYWJDUyhvLGMscCk7ZGVmYXVsdDp3YXJuKGBVbmltcGxlbWVudGVkIENvbG9yU3BhY2Ugb2JqZWN0OiAke3N9YCk7cmV0dXJuIHRoaXMuc2luZ2xldG9ucy5ncmF5fX13YXJuKGBVbnJlY29nbml6ZWQgQ29sb3JTcGFjZSBvYmplY3Q6ICR7ZX1gKTtyZXR1cm4gdGhpcy5zaW5nbGV0b25zLmdyYXl9c3RhdGljIGlzRGVmYXVsdERlY29kZShlLHQpe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiEwO2lmKDIqdCE9PWUubGVuZ3RoKXt3YXJuKCJUaGUgZGVjb2RlIG1hcCBpcyBub3QgdGhlIGNvcnJlY3QgbGVuZ3RoIik7cmV0dXJuITB9Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCs9MilpZigwIT09ZVt0XXx8MSE9PWVbdCsxXSlyZXR1cm4hMTtyZXR1cm4hMH1zdGF0aWMgZ2V0IHNpbmdsZXRvbnMoKXtyZXR1cm4gc2hhZG93KHRoaXMsInNpbmdsZXRvbnMiLHtnZXQgZ3JheSgpe3JldHVybiBzaGFkb3codGhpcywiZ3JheSIsbmV3IERldmljZUdyYXlDUyl9LGdldCByZ2IoKXtyZXR1cm4gc2hhZG93KHRoaXMsInJnYiIsbmV3IERldmljZVJnYkNTKX0sZ2V0IHJnYmEoKXtyZXR1cm4gc2hhZG93KHRoaXMsInJnYmEiLG5ldyBEZXZpY2VSZ2JhQ1MpfSxnZXQgY215aygpe3JldHVybiBzaGFkb3codGhpcywiY215ayIsbmV3IERldmljZUNteWtDUyl9fSl9fWNsYXNzIEFsdGVybmF0ZUNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoIkFsdGVybmF0ZSIsZSk7dGhpcy5iYXNlPXQ7dGhpcy50aW50Rm49aTt0aGlzLnRtcEJ1Zj1uZXcgRmxvYXQzMkFycmF5KHQubnVtQ29tcHMpfWdldFJnYkl0ZW0oZSx0LGksYSl7Y29uc3Qgcz10aGlzLnRtcEJ1Zjt0aGlzLnRpbnRGbihlLHQscywwKTt0aGlzLmJhc2UuZ2V0UmdiSXRlbShzLDAsaSxhKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz10aGlzLnRpbnRGbixvPXRoaXMuYmFzZSxjPTEvKCgxPDxyKS0xKSxDPW8ubnVtQ29tcHMsaD1vLnVzZXNaZXJvVG9PbmVSYW5nZSxsPShvLmlzUGFzc3Rocm91Z2goOCl8fCFoKSYmMD09PW47bGV0IFE9bD9zOjA7Y29uc3QgRT1sP2E6bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KEMqaSksdT10aGlzLm51bUNvbXBzLGQ9bmV3IEZsb2F0MzJBcnJheSh1KSxmPW5ldyBGbG9hdDMyQXJyYXkoQyk7bGV0IHAsbTtmb3IocD0wO3A8aTtwKyspe2ZvcihtPTA7bTx1O20rKylkW21dPWVbdCsrXSpjO2coZCwwLGYsMCk7aWYoaClmb3IobT0wO208QzttKyspRVtRKytdPTI1NSpmW21dO2Vsc2V7by5nZXRSZ2JJdGVtKGYsMCxFLFEpO1ErPUN9fWx8fG8uZ2V0UmdiQnVmZmVyKEUsMCxpLGEscyw4LG4pfWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiB0aGlzLmJhc2UuZ2V0T3V0cHV0TGVuZ3RoKGUqdGhpcy5iYXNlLm51bUNvbXBzL3RoaXMubnVtQ29tcHMsdCl9fWNsYXNzIFBhdHRlcm5DUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoZSl7c3VwZXIoIlBhdHRlcm4iLG51bGwpO3RoaXMuYmFzZT1lfWlzRGVmYXVsdERlY29kZShlLHQpe3VucmVhY2hhYmxlKCJTaG91bGQgbm90IGNhbGwgUGF0dGVybkNTLmlzRGVmYXVsdERlY29kZSIpfX1jbGFzcyBJbmRleGVkQ1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcigiSW5kZXhlZCIsMSk7dGhpcy5iYXNlPWU7dGhpcy5oaWdoVmFsPXQ7Y29uc3QgYT1lLm51bUNvbXBzKnQ7dGhpcy5sb29rdXA9bmV3IFVpbnQ4QXJyYXkoYSk7aWYoaSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pe2NvbnN0IGU9aS5nZXRCeXRlcyhhKTt0aGlzLmxvb2t1cC5zZXQoZSl9ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIGkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbmRleGVkQ1MgLSB1bnJlY29nbml6ZWQgbG9va3VwIHRhYmxlOiAke2l9YCk7Zm9yKGxldCBlPTA7ZTxhOysrZSl0aGlzLmxvb2t1cFtlXT0yNTUmaS5jaGFyQ29kZUF0KGUpfX1nZXRSZ2JJdGVtKGUsdCxpLGEpe2NvbnN0IHM9dGhpcy5iYXNlLm51bUNvbXBzLHI9ZVt0XSpzO3RoaXMuYmFzZS5nZXRSZ2JCdWZmZXIodGhpcy5sb29rdXAsciwxLGksYSw4LDApfWdldFJnYkJ1ZmZlcihlLHQsaSxhLHMscixuKXtjb25zdCBnPXRoaXMuYmFzZSxvPWcubnVtQ29tcHMsYz1nLmdldE91dHB1dExlbmd0aChvLG4pLEM9dGhpcy5sb29rdXA7Zm9yKGxldCByPTA7cjxpOysrcil7Y29uc3QgaT1lW3QrK10qbztnLmdldFJnYkJ1ZmZlcihDLGksMSxhLHMsOCxuKTtzKz1jfX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gdGhpcy5iYXNlLmdldE91dHB1dExlbmd0aChlKnRoaXMuYmFzZS5udW1Db21wcyx0KX1pc0RlZmF1bHREZWNvZGUoZSx0KXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4hMDtpZigyIT09ZS5sZW5ndGgpe3dhcm4oIkRlY29kZSBtYXAgbGVuZ3RoIGlzIG5vdCBjb3JyZWN0Iik7cmV0dXJuITB9aWYoIU51bWJlci5pc0ludGVnZXIodCl8fHQ8MSl7d2FybigiQml0cyBwZXIgY29tcG9uZW50IGlzIG5vdCBjb3JyZWN0Iik7cmV0dXJuITB9cmV0dXJuIDA9PT1lWzBdJiZlWzFdPT09KDE8PHQpLTF9fWNsYXNzIERldmljZUdyYXlDUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoKXtzdXBlcigiRGV2aWNlR3JheSIsMSl9Z2V0UmdiSXRlbShlLHQsaSxhKXtjb25zdCBzPTI1NSplW3RdO2lbYV09aVthKzFdPWlbYSsyXT1zfWdldFJnYkJ1ZmZlcihlLHQsaSxhLHMscixuKXtjb25zdCBnPTI1NS8oKDE8PHIpLTEpO2xldCBvPXQsYz1zO2ZvcihsZXQgdD0wO3Q8aTsrK3Qpe2NvbnN0IHQ9ZyplW28rK107YVtjKytdPXQ7YVtjKytdPXQ7YVtjKytdPXQ7Yys9bn19Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIGUqKDMrdCl9fWNsYXNzIERldmljZVJnYkNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCJEZXZpY2VSR0IiLDMpfWdldFJnYkl0ZW0oZSx0LGksYSl7aVthXT0yNTUqZVt0XTtpW2ErMV09MjU1KmVbdCsxXTtpW2ErMl09MjU1KmVbdCsyXX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7aWYoOD09PXImJjA9PT1uKXthLnNldChlLnN1YmFycmF5KHQsdCszKmkpLHMpO3JldHVybn1jb25zdCBnPTI1NS8oKDE8PHIpLTEpO2xldCBvPXQsYz1zO2ZvcihsZXQgdD0wO3Q8aTsrK3Qpe2FbYysrXT1nKmVbbysrXTthW2MrK109ZyplW28rK107YVtjKytdPWcqZVtvKytdO2MrPW59fWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiBlKigzK3QpLzN8MH1pc1Bhc3N0aHJvdWdoKGUpe3JldHVybiA4PT09ZX19Y2xhc3MgRGV2aWNlUmdiYUNTIGV4dGVuZHMgQ29sb3JTcGFjZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCJEZXZpY2VSR0JBIiw0KX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gNCplfWlzUGFzc3Rocm91Z2goZSl7cmV0dXJuIDg9PT1lfX1jbGFzcyBEZXZpY2VDbXlrQ1MgZXh0ZW5kcyBDb2xvclNwYWNle2NvbnN0cnVjdG9yKCl7c3VwZXIoIkRldmljZUNNWUsiLDQpfSN0KGUsdCxpLGEscyl7Y29uc3Qgcj1lW3RdKmksbj1lW3QrMV0qaSxnPWVbdCsyXSppLG89ZVt0KzNdKmk7YVtzXT0yNTUrciooLTQuMzg3MzMyMzg0NjA5OTg4KnIrNTQuNDg2MTUxOTQxODkxNzYqbisxOC44MjI5MDUwMjE2NTMwMipnKzIxMi4yNTY2MjQ1MTYzOTU4NSpvLTI4NS4yMzMxMDI2MTM3MDA0KStuKigxLjcxNDk3NjM0NzczNjIxMzQqbi01LjYwOTY3MzY5MDQwNDczMTUqZystMTcuODczODcwODYxNDE1NDQ0Km8tNS40OTcwMDY0MjcxOTYzNjYpK2cqKC0yLjUyMTczNDAxMzE2ODMwMzMqZy0yMS4yNDg5MjMzMzczNTMwNzMqbysxNy41MTE5MjcwODQxODEzKStvKigtMjEuODYxMjIxNDc0NjM2MDUqby0xODkuNDgxODA4MzU5MjI3NDcpO2FbcysxXT0yNTUrciooOC44NDEwNDE0MjIwMzYxNDkqcis2MC4xMTgwMjcwNDU1OTczNjYqbis2Ljg3MTQyNTU5MjA0OTAwNypnKzMxLjE1OTEwMDEzMDA1NTkyMipvLTc5LjI5NzA4NDQ4MTY1NDgpK24qKC0xNS4zMTAzNjEzMDY5Njc4MTcqbisxNy41NzUyNTEyNjExMDk0ODIqZysxMzEuMzUyNTA5MTI0OTM5NzYqby0xOTAuOTQ1MzMwMjU4ODk1MSkrZyooNC40NDQzMzkxMDI4NTI3MzkqZys5Ljg2MzI4NjE0OTM0MDUqby0yNC44Njc0MTU4MjU1NTg3OCkrbyooLTIwLjczNzMyNTQ3MTE4MTAzNCpvLTE4Ny44MDQ1MzcwOTcxOTU3OCk7YVtzKzJdPTI1NStyKiguODg0MjUyMjQzMDAwMzI5NipyKzguMDc4Njc3NTAzMTEyOTI4Km4rMzAuODk5NzgzMDk3MDM3MjkqZy0uMjM4ODMyMzg2ODkxNzg5MzQqby0xNC4xODM1NzY3OTk2NzMyODYpK24qKDEwLjQ5NTkzMjczNDMyMDcyKm4rNjMuMDIzNzg0OTQ3NTQwNTIqZys1MC42MDY5NTc2NTYzNjA3MzQqby0xMTIuMjM4ODQyNTM3MTkyNDgpK2cqKC4wMzI5NjA0MTExNDg3MzIxNypnKzExNS42MDM4NDQ0OTY0NjY0MSpvLTE5My41ODIwOTM1Njg2MTUwNSkrbyooLTIyLjMzODE2ODA3MzA5ODg2Km8tMTgwLjEyNjEzOTc0NzA4MzY3KX1nZXRSZ2JJdGVtKGUsdCxpLGEpe3RoaXMuI3QoZSx0LDEsaSxhKX1nZXRSZ2JCdWZmZXIoZSx0LGksYSxzLHIsbil7Y29uc3QgZz0xLygoMTw8ciktMSk7Zm9yKGxldCByPTA7cjxpO3IrKyl7dGhpcy4jdChlLHQsZyxhLHMpO3QrPTQ7cys9MytufX1nZXRPdXRwdXRMZW5ndGgoZSx0KXtyZXR1cm4gZS80KigzK3QpfDB9fWNsYXNzIENhbEdyYXlDUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCJDYWxHcmF5IiwxKTtpZighZSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIldoaXRlUG9pbnQgbWlzc2luZyAtIHJlcXVpcmVkIGZvciBjb2xvciBzcGFjZSBDYWxHcmF5Iik7W3RoaXMuWFcsdGhpcy5ZVyx0aGlzLlpXXT1lO1t0aGlzLlhCLHRoaXMuWUIsdGhpcy5aQl09dHx8WzAsMCwwXTt0aGlzLkc9aXx8MTtpZih0aGlzLlhXPDB8fHRoaXMuWlc8MHx8MSE9PXRoaXMuWVcpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIFdoaXRlUG9pbnQgY29tcG9uZW50cyBmb3IgJHt0aGlzLm5hbWV9LCBubyBmYWxsYmFjayBhdmFpbGFibGVgKTtpZih0aGlzLlhCPDB8fHRoaXMuWUI8MHx8dGhpcy5aQjwwKXtpbmZvKGBJbnZhbGlkIEJsYWNrUG9pbnQgZm9yICR7dGhpcy5uYW1lfSwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQuYCk7dGhpcy5YQj10aGlzLllCPXRoaXMuWkI9MH0wPT09dGhpcy5YQiYmMD09PXRoaXMuWUImJjA9PT10aGlzLlpCfHx3YXJuKGAke3RoaXMubmFtZX0sIEJsYWNrUG9pbnQ6IFhCOiAke3RoaXMuWEJ9LCBZQjogJHt0aGlzLllCfSwgWkI6ICR7dGhpcy5aQn0sIG9ubHkgZGVmYXVsdCB2YWx1ZXMgYXJlIHN1cHBvcnRlZC5gKTtpZih0aGlzLkc8MSl7aW5mbyhgSW52YWxpZCBHYW1tYTogJHt0aGlzLkd9IGZvciAke3RoaXMubmFtZX0sIGZhbGxpbmcgYmFjayB0byBkZWZhdWx0LmApO3RoaXMuRz0xfX0jdChlLHQsaSxhLHMpe2NvbnN0IHI9KGVbdF0qcykqKnRoaXMuRyxuPXRoaXMuWVcqcixnPU1hdGgubWF4KDI5NS44Km4qKi4zMzMzMzMzMzMzMzMzMzMzLTQwLjgsMCk7aVthXT1nO2lbYSsxXT1nO2lbYSsyXT1nfWdldFJnYkl0ZW0oZSx0LGksYSl7dGhpcy4jdChlLHQsaSxhLDEpfWdldFJnYkJ1ZmZlcihlLHQsaSxhLHMscixuKXtjb25zdCBnPTEvKCgxPDxyKS0xKTtmb3IobGV0IHI9MDtyPGk7KytyKXt0aGlzLiN0KGUsdCxhLHMsZyk7dCs9MTtzKz0zK259fWdldE91dHB1dExlbmd0aChlLHQpe3JldHVybiBlKigzK3QpfX1jbGFzcyBDYWxSR0JDUyBleHRlbmRzIENvbG9yU3BhY2V7c3RhdGljI2k9bmV3IEZsb2F0MzJBcnJheShbLjg5NTEsLjI2NjQsLS4xNjE0LC0uNzUwMiwxLjcxMzUsLjAzNjcsLjAzODksLS4wNjg1LDEuMDI5Nl0pO3N0YXRpYyNhPW5ldyBGbG9hdDMyQXJyYXkoWy45ODY5OTI5LC0uMTQ3MDU0MywuMTU5OTYyNywuNDMyMzA1MywuNTE4MzYwMywuMDQ5MjkxMiwtLjAwODUyODcsLjA0MDA0MjgsLjk2ODQ4NjddKTtzdGF0aWMjcz1uZXcgRmxvYXQzMkFycmF5KFszLjI0MDQ1NDIsLTEuNTM3MTM4NSwtLjQ5ODUzMTQsLS45NjkyNjYsMS44NzYwMTA4LC4wNDE1NTYsLjA1NTY0MzQsLS4yMDQwMjU5LDEuMDU3MjI1Ml0pO3N0YXRpYyNyPW5ldyBGbG9hdDMyQXJyYXkoWzEsMSwxXSk7c3RhdGljI249bmV3IEZsb2F0MzJBcnJheSgzKTtzdGF0aWMjZz1uZXcgRmxvYXQzMkFycmF5KDMpO3N0YXRpYyNvPW5ldyBGbG9hdDMyQXJyYXkoMyk7c3RhdGljI0k9KDI0LzExNikqKjMvODtjb25zdHJ1Y3RvcihlLHQsaSxhKXtzdXBlcigiQ2FsUkdCIiwzKTtpZighZSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIldoaXRlUG9pbnQgbWlzc2luZyAtIHJlcXVpcmVkIGZvciBjb2xvciBzcGFjZSBDYWxSR0IiKTtjb25zdFtzLHIsbl09dGhpcy53aGl0ZVBvaW50PWUsW2csbyxjXT10aGlzLmJsYWNrUG9pbnQ9dHx8bmV3IEZsb2F0MzJBcnJheSgzKTtbdGhpcy5HUix0aGlzLkdHLHRoaXMuR0JdPWl8fG5ldyBGbG9hdDMyQXJyYXkoWzEsMSwxXSk7W3RoaXMuTVhBLHRoaXMuTVlBLHRoaXMuTVpBLHRoaXMuTVhCLHRoaXMuTVlCLHRoaXMuTVpCLHRoaXMuTVhDLHRoaXMuTVlDLHRoaXMuTVpDXT1hfHxuZXcgRmxvYXQzMkFycmF5KFsxLDAsMCwwLDEsMCwwLDAsMV0pO2lmKHM8MHx8bjwwfHwxIT09cil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgV2hpdGVQb2ludCBjb21wb25lbnRzIGZvciAke3RoaXMubmFtZX0sIG5vIGZhbGxiYWNrIGF2YWlsYWJsZWApO2lmKGc8MHx8bzwwfHxjPDApe2luZm8oYEludmFsaWQgQmxhY2tQb2ludCBmb3IgJHt0aGlzLm5hbWV9IFske2d9LCAke299LCAke2N9XSwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQuYCk7dGhpcy5ibGFja1BvaW50PW5ldyBGbG9hdDMyQXJyYXkoMyl9aWYodGhpcy5HUjwwfHx0aGlzLkdHPDB8fHRoaXMuR0I8MCl7aW5mbyhgSW52YWxpZCBHYW1tYSBbJHt0aGlzLkdSfSwgJHt0aGlzLkdHfSwgJHt0aGlzLkdCfV0gZm9yICR7dGhpcy5uYW1lfSwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHQuYCk7dGhpcy5HUj10aGlzLkdHPXRoaXMuR0I9MX19I2MoZSx0LGkpe2lbMF09ZVswXSp0WzBdK2VbMV0qdFsxXStlWzJdKnRbMl07aVsxXT1lWzNdKnRbMF0rZVs0XSp0WzFdK2VbNV0qdFsyXTtpWzJdPWVbNl0qdFswXStlWzddKnRbMV0rZVs4XSp0WzJdfSNDKGUsdCxpKXtpWzBdPTEqdFswXS9lWzBdO2lbMV09MSp0WzFdL2VbMV07aVsyXT0xKnRbMl0vZVsyXX0jaChlLHQsaSl7aVswXT0uOTUwNDcqdFswXS9lWzBdO2lbMV09MSp0WzFdL2VbMV07aVsyXT0xLjA4ODgzKnRbMl0vZVsyXX0jQihlKXtyZXR1cm4gZTw9LjAwMzEzMDg/dGhpcy4jbCgwLDEsMTIuOTIqZSk6ZT49Ljk5NTU0NTI1PzE6dGhpcy4jbCgwLDEsMS4wNTUqZSoqKDEvMi40KS0uMDU1KX0jbChlLHQsaSl7cmV0dXJuIE1hdGgubWF4KGUsTWF0aC5taW4odCxpKSl9I1EoZSl7cmV0dXJuIGU8MD8tdGhpcy4jUSgtZSk6ZT44PygoZSsxNikvMTE2KSoqMzplKkNhbFJHQkNTLiNJfSNFKGUsdCxpKXtpZigwPT09ZVswXSYmMD09PWVbMV0mJjA9PT1lWzJdKXtpWzBdPXRbMF07aVsxXT10WzFdO2lbMl09dFsyXTtyZXR1cm59Y29uc3QgYT10aGlzLiNRKDApLHM9KDEtYSkvKDEtdGhpcy4jUShlWzBdKSkscj0xLXMsbj0oMS1hKS8oMS10aGlzLiNRKGVbMV0pKSxnPTEtbixvPSgxLWEpLygxLXRoaXMuI1EoZVsyXSkpLGM9MS1vO2lbMF09dFswXSpzK3I7aVsxXT10WzFdKm4rZztpWzJdPXRbMl0qbytjfSN1KGUsdCxpKXtpZigxPT09ZVswXSYmMT09PWVbMl0pe2lbMF09dFswXTtpWzFdPXRbMV07aVsyXT10WzJdO3JldHVybn1jb25zdCBhPWk7dGhpcy4jYyhDYWxSR0JDUy4jaSx0LGEpO2NvbnN0IHM9Q2FsUkdCQ1MuI247dGhpcy4jQyhlLGEscyk7dGhpcy4jYyhDYWxSR0JDUy4jYSxzLGkpfSNkKGUsdCxpKXtjb25zdCBhPWk7dGhpcy4jYyhDYWxSR0JDUy4jaSx0LGEpO2NvbnN0IHM9Q2FsUkdCQ1MuI247dGhpcy4jaChlLGEscyk7dGhpcy4jYyhDYWxSR0JDUy4jYSxzLGkpfSN0KGUsdCxpLGEscyl7Y29uc3Qgcj10aGlzLiNsKDAsMSxlW3RdKnMpLG49dGhpcy4jbCgwLDEsZVt0KzFdKnMpLGc9dGhpcy4jbCgwLDEsZVt0KzJdKnMpLG89MT09PXI/MTpyKip0aGlzLkdSLGM9MT09PW4/MTpuKip0aGlzLkdHLEM9MT09PWc/MTpnKip0aGlzLkdCLGg9dGhpcy5NWEEqbyt0aGlzLk1YQipjK3RoaXMuTVhDKkMsbD10aGlzLk1ZQSpvK3RoaXMuTVlCKmMrdGhpcy5NWUMqQyxRPXRoaXMuTVpBKm8rdGhpcy5NWkIqYyt0aGlzLk1aQypDLEU9Q2FsUkdCQ1MuI2c7RVswXT1oO0VbMV09bDtFWzJdPVE7Y29uc3QgdT1DYWxSR0JDUy4jbzt0aGlzLiN1KHRoaXMud2hpdGVQb2ludCxFLHUpO2NvbnN0IGQ9Q2FsUkdCQ1MuI2c7dGhpcy4jRSh0aGlzLmJsYWNrUG9pbnQsdSxkKTtjb25zdCBmPUNhbFJHQkNTLiNvO3RoaXMuI2QoQ2FsUkdCQ1MuI3IsZCxmKTtjb25zdCBwPUNhbFJHQkNTLiNnO3RoaXMuI2MoQ2FsUkdCQ1MuI3MsZixwKTtpW2FdPTI1NSp0aGlzLiNCKHBbMF0pO2lbYSsxXT0yNTUqdGhpcy4jQihwWzFdKTtpW2ErMl09MjU1KnRoaXMuI0IocFsyXSl9Z2V0UmdiSXRlbShlLHQsaSxhKXt0aGlzLiN0KGUsdCxpLGEsMSl9Z2V0UmdiQnVmZmVyKGUsdCxpLGEscyxyLG4pe2NvbnN0IGc9MS8oKDE8PHIpLTEpO2ZvcihsZXQgcj0wO3I8aTsrK3Ipe3RoaXMuI3QoZSx0LGEscyxnKTt0Kz0zO3MrPTMrbn19Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIGUqKDMrdCkvM3wwfX1jbGFzcyBMYWJDUyBleHRlbmRzIENvbG9yU3BhY2V7Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKCJMYWIiLDMpO2lmKCFlKXRocm93IG5ldyBGb3JtYXRFcnJvcigiV2hpdGVQb2ludCBtaXNzaW5nIC0gcmVxdWlyZWQgZm9yIGNvbG9yIHNwYWNlIExhYiIpO1t0aGlzLlhXLHRoaXMuWVcsdGhpcy5aV109ZTtbdGhpcy5hbWluLHRoaXMuYW1heCx0aGlzLmJtaW4sdGhpcy5ibWF4XT1pfHxbLTEwMCwxMDAsLTEwMCwxMDBdO1t0aGlzLlhCLHRoaXMuWUIsdGhpcy5aQl09dHx8WzAsMCwwXTtpZih0aGlzLlhXPDB8fHRoaXMuWlc8MHx8MSE9PXRoaXMuWVcpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFdoaXRlUG9pbnQgY29tcG9uZW50cywgbm8gZmFsbGJhY2sgYXZhaWxhYmxlIik7aWYodGhpcy5YQjwwfHx0aGlzLllCPDB8fHRoaXMuWkI8MCl7aW5mbygiSW52YWxpZCBCbGFja1BvaW50LCBmYWxsaW5nIGJhY2sgdG8gZGVmYXVsdCIpO3RoaXMuWEI9dGhpcy5ZQj10aGlzLlpCPTB9aWYodGhpcy5hbWluPnRoaXMuYW1heHx8dGhpcy5ibWluPnRoaXMuYm1heCl7aW5mbygiSW52YWxpZCBSYW5nZSwgZmFsbGluZyBiYWNrIHRvIGRlZmF1bHRzIik7dGhpcy5hbWluPS0xMDA7dGhpcy5hbWF4PTEwMDt0aGlzLmJtaW49LTEwMDt0aGlzLmJtYXg9MTAwfX0jZihlKXtyZXR1cm4gZT49Ni8yOT9lKiozOjEwOC84NDEqKGUtNC8yOSl9I3AoZSx0LGksYSl7cmV0dXJuIGkrZSooYS1pKS90fSN0KGUsdCxpLGEscyl7bGV0IHI9ZVt0XSxuPWVbdCsxXSxnPWVbdCsyXTtpZighMSE9PWkpe3I9dGhpcy4jcChyLGksMCwxMDApO249dGhpcy4jcChuLGksdGhpcy5hbWluLHRoaXMuYW1heCk7Zz10aGlzLiNwKGcsaSx0aGlzLmJtaW4sdGhpcy5ibWF4KX1uPnRoaXMuYW1heD9uPXRoaXMuYW1heDpuPHRoaXMuYW1pbiYmKG49dGhpcy5hbWluKTtnPnRoaXMuYm1heD9nPXRoaXMuYm1heDpnPHRoaXMuYm1pbiYmKGc9dGhpcy5ibWluKTtjb25zdCBvPShyKzE2KS8xMTYsYz1vK24vNTAwLEM9by1nLzIwMCxoPXRoaXMuWFcqdGhpcy4jZihjKSxsPXRoaXMuWVcqdGhpcy4jZihvKSxRPXRoaXMuWlcqdGhpcy4jZihDKTtsZXQgRSx1LGQ7aWYodGhpcy5aVzwxKXtFPTMuMTMzOSpoKy0xLjYxNypsKy0uNDkwNipRO3U9LS45Nzg1KmgrMS45MTYqbCsuMDMzMypRO2Q9LjA3MipoKy0uMjI5KmwrMS40MDU3KlF9ZWxzZXtFPTMuMjQwNipoKy0xLjUzNzIqbCstLjQ5ODYqUTt1PS0uOTY4OSpoKzEuODc1OCpsKy4wNDE1KlE7ZD0uMDU1NypoKy0uMjA0KmwrMS4wNTcqUX1hW3NdPTI1NSpNYXRoLnNxcnQoRSk7YVtzKzFdPTI1NSpNYXRoLnNxcnQodSk7YVtzKzJdPTI1NSpNYXRoLnNxcnQoZCl9Z2V0UmdiSXRlbShlLHQsaSxhKXt0aGlzLiN0KGUsdCwhMSxpLGEpfWdldFJnYkJ1ZmZlcihlLHQsaSxhLHMscixuKXtjb25zdCBnPSgxPDxyKS0xO2ZvcihsZXQgcj0wO3I8aTtyKyspe3RoaXMuI3QoZSx0LGcsYSxzKTt0Kz0zO3MrPTMrbn19Z2V0T3V0cHV0TGVuZ3RoKGUsdCl7cmV0dXJuIGUqKDMrdCkvM3wwfWlzRGVmYXVsdERlY29kZShlLHQpe3JldHVybiEwfWdldCB1c2VzWmVyb1RvT25lUmFuZ2UoKXtyZXR1cm4gc2hhZG93KHRoaXMsInVzZXNaZXJvVG9PbmVSYW5nZSIsITEpfX1mdW5jdGlvbiBoZXhUb0ludChlLHQpe2xldCBpPTA7Zm9yKGxldCBhPTA7YTw9dDthKyspaT1pPDw4fGVbYV07cmV0dXJuIGk+Pj4wfWZ1bmN0aW9uIGhleFRvU3RyKGUsdCl7cmV0dXJuIDE9PT10P1N0cmluZy5mcm9tQ2hhckNvZGUoZVswXSxlWzFdKTozPT09dD9TdHJpbmcuZnJvbUNoYXJDb2RlKGVbMF0sZVsxXSxlWzJdLGVbM10pOlN0cmluZy5mcm9tQ2hhckNvZGUoLi4uZS5zdWJhcnJheSgwLHQrMSkpfWZ1bmN0aW9uIGFkZEhleChlLHQsaSl7bGV0IGE9MDtmb3IobGV0IHM9aTtzPj0wO3MtLSl7YSs9ZVtzXSt0W3NdO2Vbc109MjU1JmE7YT4+PTh9fWZ1bmN0aW9uIGluY0hleChlLHQpe2xldCBpPTE7Zm9yKGxldCBhPXQ7YT49MCYmaT4wO2EtLSl7aSs9ZVthXTtlW2FdPTI1NSZpO2k+Pj04fX1jb25zdCBHdD0xNjtjbGFzcyBCaW5hcnlDTWFwU3RyZWFte2NvbnN0cnVjdG9yKGUpe3RoaXMuYnVmZmVyPWU7dGhpcy5wb3M9MDt0aGlzLmVuZD1lLmxlbmd0aDt0aGlzLnRtcEJ1Zj1uZXcgVWludDhBcnJheSgxOSl9cmVhZEJ5dGUoKXtyZXR1cm4gdGhpcy5wb3M+PXRoaXMuZW5kPy0xOnRoaXMuYnVmZmVyW3RoaXMucG9zKytdfXJlYWROdW1iZXIoKXtsZXQgZSx0PTA7ZG97Y29uc3QgaT10aGlzLnJlYWRCeXRlKCk7aWYoaTwwKXRocm93IG5ldyBGb3JtYXRFcnJvcigidW5leHBlY3RlZCBFT0YgaW4gYmNtYXAiKTtlPSEoMTI4JmkpO3Q9dDw8N3wxMjcmaX13aGlsZSghZSk7cmV0dXJuIHR9cmVhZFNpZ25lZCgpe2NvbnN0IGU9dGhpcy5yZWFkTnVtYmVyKCk7cmV0dXJuIDEmZT9+KGU+Pj4xKTplPj4+MX1yZWFkSGV4KGUsdCl7ZS5zZXQodGhpcy5idWZmZXIuc3ViYXJyYXkodGhpcy5wb3MsdGhpcy5wb3MrdCsxKSk7dGhpcy5wb3MrPXQrMX1yZWFkSGV4TnVtYmVyKGUsdCl7bGV0IGk7Y29uc3QgYT10aGlzLnRtcEJ1ZjtsZXQgcz0wO2Rve2NvbnN0IGU9dGhpcy5yZWFkQnl0ZSgpO2lmKGU8MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoInVuZXhwZWN0ZWQgRU9GIGluIGJjbWFwIik7aT0hKDEyOCZlKTthW3MrK109MTI3JmV9d2hpbGUoIWkpO2xldCByPXQsbj0wLGc9MDtmb3IoO3I+PTA7KXtmb3IoO2c8OCYmYS5sZW5ndGg+MDspe258PWFbLS1zXTw8ZztnKz03fWVbcl09MjU1Jm47ci0tO24+Pj04O2ctPTh9fXJlYWRIZXhTaWduZWQoZSx0KXt0aGlzLnJlYWRIZXhOdW1iZXIoZSx0KTtjb25zdCBpPTEmZVt0XT8yNTU6MDtsZXQgYT0wO2ZvcihsZXQgcz0wO3M8PXQ7cysrKXthPSgxJmEpPDw4fGVbc107ZVtzXT1hPj4xXml9fXJlYWRTdHJpbmcoKXtjb25zdCBlPXRoaXMucmVhZE51bWJlcigpLHQ9bmV3IEFycmF5KGUpO2ZvcihsZXQgaT0wO2k8ZTtpKyspdFtpXT10aGlzLnJlYWROdW1iZXIoKTtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSguLi50KX19Y2xhc3MgQmluYXJ5Q01hcFJlYWRlcnthc3luYyBwcm9jZXNzKGUsdCxpKXtjb25zdCBhPW5ldyBCaW5hcnlDTWFwU3RyZWFtKGUpLHM9YS5yZWFkQnl0ZSgpO3QudmVydGljYWw9ISEoMSZzKTtsZXQgcj1udWxsO2NvbnN0IG49bmV3IFVpbnQ4QXJyYXkoR3QpLGc9bmV3IFVpbnQ4QXJyYXkoR3QpLG89bmV3IFVpbnQ4QXJyYXkoR3QpLGM9bmV3IFVpbnQ4QXJyYXkoR3QpLEM9bmV3IFVpbnQ4QXJyYXkoR3QpO2xldCBoLGw7Zm9yKDsobD1hLnJlYWRCeXRlKCkpPj0wOyl7Y29uc3QgZT1sPj41O2lmKDc9PT1lKXtzd2l0Y2goMzEmbCl7Y2FzZSAwOmEucmVhZFN0cmluZygpO2JyZWFrO2Nhc2UgMTpyPWEucmVhZFN0cmluZygpfWNvbnRpbnVlfWNvbnN0IGk9ISEoMTYmbCkscz0xNSZsO2lmKHMrMT5HdCl0aHJvdyBuZXcgRXJyb3IoIkJpbmFyeUNNYXBSZWFkZXIucHJvY2VzczogSW52YWxpZCBkYXRhU2l6ZS4iKTtjb25zdCBRPTEsRT1hLnJlYWROdW1iZXIoKTtzd2l0Y2goZSl7Y2FzZSAwOmEucmVhZEhleChuLHMpO2EucmVhZEhleE51bWJlcihnLHMpO2FkZEhleChnLG4scyk7dC5hZGRDb2Rlc3BhY2VSYW5nZShzKzEsaGV4VG9JbnQobixzKSxoZXhUb0ludChnLHMpKTtmb3IobGV0IGU9MTtlPEU7ZSsrKXtpbmNIZXgoZyxzKTthLnJlYWRIZXhOdW1iZXIobixzKTthZGRIZXgobixnLHMpO2EucmVhZEhleE51bWJlcihnLHMpO2FkZEhleChnLG4scyk7dC5hZGRDb2Rlc3BhY2VSYW5nZShzKzEsaGV4VG9JbnQobixzKSxoZXhUb0ludChnLHMpKX1icmVhaztjYXNlIDE6YS5yZWFkSGV4KG4scyk7YS5yZWFkSGV4TnVtYmVyKGcscyk7YWRkSGV4KGcsbixzKTthLnJlYWROdW1iZXIoKTtmb3IobGV0IGU9MTtlPEU7ZSsrKXtpbmNIZXgoZyxzKTthLnJlYWRIZXhOdW1iZXIobixzKTthZGRIZXgobixnLHMpO2EucmVhZEhleE51bWJlcihnLHMpO2FkZEhleChnLG4scyk7YS5yZWFkTnVtYmVyKCl9YnJlYWs7Y2FzZSAyOmEucmVhZEhleChvLHMpO2g9YS5yZWFkTnVtYmVyKCk7dC5tYXBPbmUoaGV4VG9JbnQobyxzKSxoKTtmb3IobGV0IGU9MTtlPEU7ZSsrKXtpbmNIZXgobyxzKTtpZighaSl7YS5yZWFkSGV4TnVtYmVyKEMscyk7YWRkSGV4KG8sQyxzKX1oPWEucmVhZFNpZ25lZCgpKyhoKzEpO3QubWFwT25lKGhleFRvSW50KG8scyksaCl9YnJlYWs7Y2FzZSAzOmEucmVhZEhleChuLHMpO2EucmVhZEhleE51bWJlcihnLHMpO2FkZEhleChnLG4scyk7aD1hLnJlYWROdW1iZXIoKTt0Lm1hcENpZFJhbmdlKGhleFRvSW50KG4scyksaGV4VG9JbnQoZyxzKSxoKTtmb3IobGV0IGU9MTtlPEU7ZSsrKXtpbmNIZXgoZyxzKTtpZihpKW4uc2V0KGcpO2Vsc2V7YS5yZWFkSGV4TnVtYmVyKG4scyk7YWRkSGV4KG4sZyxzKX1hLnJlYWRIZXhOdW1iZXIoZyxzKTthZGRIZXgoZyxuLHMpO2g9YS5yZWFkTnVtYmVyKCk7dC5tYXBDaWRSYW5nZShoZXhUb0ludChuLHMpLGhleFRvSW50KGcscyksaCl9YnJlYWs7Y2FzZSA0OmEucmVhZEhleChvLFEpO2EucmVhZEhleChjLHMpO3QubWFwT25lKGhleFRvSW50KG8sUSksaGV4VG9TdHIoYyxzKSk7Zm9yKGxldCBlPTE7ZTxFO2UrKyl7aW5jSGV4KG8sUSk7aWYoIWkpe2EucmVhZEhleE51bWJlcihDLFEpO2FkZEhleChvLEMsUSl9aW5jSGV4KGMscyk7YS5yZWFkSGV4U2lnbmVkKEMscyk7YWRkSGV4KGMsQyxzKTt0Lm1hcE9uZShoZXhUb0ludChvLFEpLGhleFRvU3RyKGMscykpfWJyZWFrO2Nhc2UgNTphLnJlYWRIZXgobixRKTthLnJlYWRIZXhOdW1iZXIoZyxRKTthZGRIZXgoZyxuLFEpO2EucmVhZEhleChjLHMpO3QubWFwQmZSYW5nZShoZXhUb0ludChuLFEpLGhleFRvSW50KGcsUSksaGV4VG9TdHIoYyxzKSk7Zm9yKGxldCBlPTE7ZTxFO2UrKyl7aW5jSGV4KGcsUSk7aWYoaSluLnNldChnKTtlbHNle2EucmVhZEhleE51bWJlcihuLFEpO2FkZEhleChuLGcsUSl9YS5yZWFkSGV4TnVtYmVyKGcsUSk7YWRkSGV4KGcsbixRKTthLnJlYWRIZXgoYyxzKTt0Lm1hcEJmUmFuZ2UoaGV4VG9JbnQobixRKSxoZXhUb0ludChnLFEpLGhleFRvU3RyKGMscykpfWJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBCaW5hcnlDTWFwUmVhZGVyLnByb2Nlc3MgLSB1bmtub3duIHR5cGU6ICR7ZX1gKX19cmV0dXJuIHI/aShyKTp0fX1jb25zdCB4dD1uZXcgVWludDhBcnJheSgwKTtjbGFzcyBEZWNvZGVTdHJlYW0gZXh0ZW5kcyBCYXNlU3RyZWFte2NvbnN0cnVjdG9yKGUpe3N1cGVyKCk7dGhpcy5fcmF3TWluQnVmZmVyTGVuZ3RoPWV8fDA7dGhpcy5wb3M9MDt0aGlzLmJ1ZmZlckxlbmd0aD0wO3RoaXMuZW9mPSExO3RoaXMuYnVmZmVyPXh0O3RoaXMubWluQnVmZmVyTGVuZ3RoPTUxMjtpZihlKWZvcig7dGhpcy5taW5CdWZmZXJMZW5ndGg8ZTspdGhpcy5taW5CdWZmZXJMZW5ndGgqPTJ9Z2V0IGlzRW1wdHkoKXtmb3IoOyF0aGlzLmVvZiYmMD09PXRoaXMuYnVmZmVyTGVuZ3RoOyl0aGlzLnJlYWRCbG9jaygpO3JldHVybiAwPT09dGhpcy5idWZmZXJMZW5ndGh9ZW5zdXJlQnVmZmVyKGUpe2NvbnN0IHQ9dGhpcy5idWZmZXI7aWYoZTw9dC5ieXRlTGVuZ3RoKXJldHVybiB0O2xldCBpPXRoaXMubWluQnVmZmVyTGVuZ3RoO2Zvcig7aTxlOylpKj0yO2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkoaSk7YS5zZXQodCk7cmV0dXJuIHRoaXMuYnVmZmVyPWF9Z2V0Qnl0ZSgpe2NvbnN0IGU9dGhpcy5wb3M7Zm9yKDt0aGlzLmJ1ZmZlckxlbmd0aDw9ZTspe2lmKHRoaXMuZW9mKXJldHVybi0xO3RoaXMucmVhZEJsb2NrKCl9cmV0dXJuIHRoaXMuYnVmZmVyW3RoaXMucG9zKytdfWdldEJ5dGVzKGUsdD1udWxsKXtjb25zdCBpPXRoaXMucG9zO2xldCBhO2lmKGUpe3RoaXMuZW5zdXJlQnVmZmVyKGkrZSk7YT1pK2U7Zm9yKDshdGhpcy5lb2YmJnRoaXMuYnVmZmVyTGVuZ3RoPGE7KXRoaXMucmVhZEJsb2NrKHQpO2NvbnN0IHM9dGhpcy5idWZmZXJMZW5ndGg7YT5zJiYoYT1zKX1lbHNle2Zvcig7IXRoaXMuZW9mOyl0aGlzLnJlYWRCbG9jayh0KTthPXRoaXMuYnVmZmVyTGVuZ3RofXRoaXMucG9zPWE7cmV0dXJuIHRoaXMuYnVmZmVyLnN1YmFycmF5KGksYSl9YXN5bmMgZ2V0SW1hZ2VEYXRhKGUsdD1udWxsKXtpZighdGhpcy5jYW5Bc3luY0RlY29kZUltYWdlRnJvbUJ1ZmZlcilyZXR1cm4gdGhpcy5nZXRCeXRlcyhlLHQpO2NvbnN0IGk9YXdhaXQgdGhpcy5zdHJlYW0uYXN5bmNHZXRCeXRlcygpO3JldHVybiB0aGlzLmRlY29kZUltYWdlKGksdCl9cmVzZXQoKXt0aGlzLnBvcz0wfW1ha2VTdWJTdHJlYW0oZSx0LGk9bnVsbCl7aWYodm9pZCAwPT09dClmb3IoOyF0aGlzLmVvZjspdGhpcy5yZWFkQmxvY2soKTtlbHNle2NvbnN0IGk9ZSt0O2Zvcig7dGhpcy5idWZmZXJMZW5ndGg8PWkmJiF0aGlzLmVvZjspdGhpcy5yZWFkQmxvY2soKX1yZXR1cm4gbmV3IFN0cmVhbSh0aGlzLmJ1ZmZlcixlLHQsaSl9Z2V0QmFzZVN0cmVhbXMoKXtyZXR1cm4gdGhpcy5zdHI/dGhpcy5zdHIuZ2V0QmFzZVN0cmVhbXMoKTpudWxsfX1jbGFzcyBTdHJlYW1zU2VxdWVuY2VTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0PW51bGwpe2xldCBpPTA7Zm9yKGNvbnN0IHQgb2YgZSlpKz10IGluc3RhbmNlb2YgRGVjb2RlU3RyZWFtP3QuX3Jhd01pbkJ1ZmZlckxlbmd0aDp0Lmxlbmd0aDtzdXBlcihpKTt0aGlzLnN0cmVhbXM9ZTt0aGlzLl9vbkVycm9yPXR9cmVhZEJsb2NrKCl7Y29uc3QgZT10aGlzLnN0cmVhbXM7aWYoMD09PWUubGVuZ3RoKXt0aGlzLmVvZj0hMDtyZXR1cm59Y29uc3QgdD1lLnNoaWZ0KCk7bGV0IGk7dHJ5e2k9dC5nZXRCeXRlcygpfWNhdGNoKGUpe2lmKHRoaXMuX29uRXJyb3Ipe3RoaXMuX29uRXJyb3IoZSx0LmRpY3Q/Lm9iaklkKTtyZXR1cm59dGhyb3cgZX1jb25zdCBhPXRoaXMuYnVmZmVyTGVuZ3RoLHM9YStpLmxlbmd0aDt0aGlzLmVuc3VyZUJ1ZmZlcihzKS5zZXQoaSxhKTt0aGlzLmJ1ZmZlckxlbmd0aD1zfWdldEJhc2VTdHJlYW1zKCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgdCBvZiB0aGlzLnN0cmVhbXMpe2NvbnN0IGk9dC5nZXRCYXNlU3RyZWFtcygpO2kmJmUucHVzaCguLi5pKX1yZXR1cm4gZS5sZW5ndGg+MD9lOm51bGx9fWNsYXNzIEFzY2lpODVTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0KXt0JiYodCo9LjgpO3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDt0aGlzLmlucHV0PW5ldyBVaW50OEFycmF5KDUpfXJlYWRCbG9jaygpe2NvbnN0IGU9dGhpcy5zdHI7bGV0IHQ9ZS5nZXRCeXRlKCk7Zm9yKDtpc1doaXRlU3BhY2UodCk7KXQ9ZS5nZXRCeXRlKCk7aWYoLTE9PT10fHwxMjY9PT10KXt0aGlzLmVvZj0hMDtyZXR1cm59Y29uc3QgaT10aGlzLmJ1ZmZlckxlbmd0aDtsZXQgYSxzO2lmKDEyMj09PXQpe2E9dGhpcy5lbnN1cmVCdWZmZXIoaSs0KTtmb3Iocz0wO3M8NDsrK3MpYVtpK3NdPTA7dGhpcy5idWZmZXJMZW5ndGgrPTR9ZWxzZXtjb25zdCByPXRoaXMuaW5wdXQ7clswXT10O2ZvcihzPTE7czw1Oysrcyl7dD1lLmdldEJ5dGUoKTtmb3IoO2lzV2hpdGVTcGFjZSh0KTspdD1lLmdldEJ5dGUoKTtyW3NdPXQ7aWYoLTE9PT10fHwxMjY9PT10KWJyZWFrfWE9dGhpcy5lbnN1cmVCdWZmZXIoaStzLTEpO3RoaXMuYnVmZmVyTGVuZ3RoKz1zLTE7aWYoczw1KXtmb3IoO3M8NTsrK3MpcltzXT0xMTc7dGhpcy5lb2Y9ITB9bGV0IG49MDtmb3Iocz0wO3M8NTsrK3Mpbj04NSpuKyhyW3NdLTMzKTtmb3Iocz0zO3M+PTA7LS1zKXthW2krc109MjU1Jm47bj4+PTh9fX19Y2xhc3MgQXNjaWlIZXhTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0KXt0JiYodCo9LjUpO3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDt0aGlzLmZpcnN0RGlnaXQ9LTF9cmVhZEJsb2NrKCl7Y29uc3QgZT10aGlzLnN0ci5nZXRCeXRlcyg4ZTMpO2lmKCFlLmxlbmd0aCl7dGhpcy5lb2Y9ITA7cmV0dXJufWNvbnN0IHQ9ZS5sZW5ndGgrMT4+MSxpPXRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoK3QpO2xldCBhPXRoaXMuYnVmZmVyTGVuZ3RoLHM9dGhpcy5maXJzdERpZ2l0O2Zvcihjb25zdCB0IG9mIGUpe2xldCBlO2lmKHQ+PTQ4JiZ0PD01NyllPTE1JnQ7ZWxzZXtpZighKHQ+PTY1JiZ0PD03MHx8dD49OTcmJnQ8PTEwMikpe2lmKDYyPT09dCl7dGhpcy5lb2Y9ITA7YnJlYWt9Y29udGludWV9ZT05KygxNSZ0KX1pZihzPDApcz1lO2Vsc2V7aVthKytdPXM8PDR8ZTtzPS0xfX1pZihzPj0wJiZ0aGlzLmVvZil7aVthKytdPXM8PDQ7cz0tMX10aGlzLmZpcnN0RGlnaXQ9czt0aGlzLmJ1ZmZlckxlbmd0aD1hfX1jb25zdCBVdD0tMSxNdD1bWy0xLC0xXSxbLTEsLTFdLFs3LDhdLFs3LDddLFs2LDZdLFs2LDZdLFs2LDVdLFs2LDVdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFs0LDBdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDFdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDRdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFszLDNdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdLFsxLDJdXSxMdD1bWy0xLC0xXSxbMTIsLTJdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbMTEsMTc5Ml0sWzExLDE3OTJdLFsxMiwxOTg0XSxbMTIsMjA0OF0sWzEyLDIxMTJdLFsxMiwyMTc2XSxbMTIsMjI0MF0sWzEyLDIzMDRdLFsxMSwxODU2XSxbMTEsMTg1Nl0sWzExLDE5MjBdLFsxMSwxOTIwXSxbMTIsMjM2OF0sWzEyLDI0MzJdLFsxMiwyNDk2XSxbMTIsMjU2MF1dLEh0PVtbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFs4LDI5XSxbOCwyOV0sWzgsMzBdLFs4LDMwXSxbOCw0NV0sWzgsNDVdLFs4LDQ2XSxbOCw0Nl0sWzcsMjJdLFs3LDIyXSxbNywyMl0sWzcsMjJdLFs3LDIzXSxbNywyM10sWzcsMjNdLFs3LDIzXSxbOCw0N10sWzgsNDddLFs4LDQ4XSxbOCw0OF0sWzYsMTNdLFs2LDEzXSxbNiwxM10sWzYsMTNdLFs2LDEzXSxbNiwxM10sWzYsMTNdLFs2LDEzXSxbNywyMF0sWzcsMjBdLFs3LDIwXSxbNywyMF0sWzgsMzNdLFs4LDMzXSxbOCwzNF0sWzgsMzRdLFs4LDM1XSxbOCwzNV0sWzgsMzZdLFs4LDM2XSxbOCwzN10sWzgsMzddLFs4LDM4XSxbOCwzOF0sWzcsMTldLFs3LDE5XSxbNywxOV0sWzcsMTldLFs4LDMxXSxbOCwzMV0sWzgsMzJdLFs4LDMyXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxXSxbNiwxMl0sWzYsMTJdLFs2LDEyXSxbNiwxMl0sWzYsMTJdLFs2LDEyXSxbNiwxMl0sWzYsMTJdLFs4LDUzXSxbOCw1M10sWzgsNTRdLFs4LDU0XSxbNywyNl0sWzcsMjZdLFs3LDI2XSxbNywyNl0sWzgsMzldLFs4LDM5XSxbOCw0MF0sWzgsNDBdLFs4LDQxXSxbOCw0MV0sWzgsNDJdLFs4LDQyXSxbOCw0M10sWzgsNDNdLFs4LDQ0XSxbOCw0NF0sWzcsMjFdLFs3LDIxXSxbNywyMV0sWzcsMjFdLFs3LDI4XSxbNywyOF0sWzcsMjhdLFs3LDI4XSxbOCw2MV0sWzgsNjFdLFs4LDYyXSxbOCw2Ml0sWzgsNjNdLFs4LDYzXSxbOCwwXSxbOCwwXSxbOCwzMjBdLFs4LDMyMF0sWzgsMzg0XSxbOCwzODRdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMF0sWzUsMTBdLFs1LDEwXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzUsMTFdLFs1LDExXSxbNSwxMV0sWzcsMjddLFs3LDI3XSxbNywyN10sWzcsMjddLFs4LDU5XSxbOCw1OV0sWzgsNjBdLFs4LDYwXSxbOSwxNDcyXSxbOSwxNTM2XSxbOSwxNjAwXSxbOSwxNzI4XSxbNywxOF0sWzcsMThdLFs3LDE4XSxbNywxOF0sWzcsMjRdLFs3LDI0XSxbNywyNF0sWzcsMjRdLFs4LDQ5XSxbOCw0OV0sWzgsNTBdLFs4LDUwXSxbOCw1MV0sWzgsNTFdLFs4LDUyXSxbOCw1Ml0sWzcsMjVdLFs3LDI1XSxbNywyNV0sWzcsMjVdLFs4LDU1XSxbOCw1NV0sWzgsNTZdLFs4LDU2XSxbOCw1N10sWzgsNTddLFs4LDU4XSxbOCw1OF0sWzYsMTkyXSxbNiwxOTJdLFs2LDE5Ml0sWzYsMTkyXSxbNiwxOTJdLFs2LDE5Ml0sWzYsMTkyXSxbNiwxOTJdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs2LDE2NjRdLFs4LDQ0OF0sWzgsNDQ4XSxbOCw1MTJdLFs4LDUxMl0sWzksNzA0XSxbOSw3NjhdLFs4LDY0MF0sWzgsNjQwXSxbOCw1NzZdLFs4LDU3Nl0sWzksODMyXSxbOSw4OTZdLFs5LDk2MF0sWzksMTAyNF0sWzksMTA4OF0sWzksMTE1Ml0sWzksMTIxNl0sWzksMTI4MF0sWzksMTM0NF0sWzksMTQwOF0sWzcsMjU2XSxbNywyNTZdLFs3LDI1Nl0sWzcsMjU2XSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwyXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNCwzXSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDEyOF0sWzUsMTI4XSxbNSwxMjhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDhdLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs1LDldLFs2LDE2XSxbNiwxNl0sWzYsMTZdLFs2LDE2XSxbNiwxNl0sWzYsMTZdLFs2LDE2XSxbNiwxNl0sWzYsMTddLFs2LDE3XSxbNiwxN10sWzYsMTddLFs2LDE3XSxbNiwxN10sWzYsMTddLFs2LDE3XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw0XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbNiwxNF0sWzYsMTRdLFs2LDE0XSxbNiwxNF0sWzYsMTRdLFs2LDE0XSxbNiwxNF0sWzYsMTRdLFs2LDE1XSxbNiwxNV0sWzYsMTVdLFs2LDE1XSxbNiwxNV0sWzYsMTVdLFs2LDE1XSxbNiwxNV0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs1LDY0XSxbNSw2NF0sWzUsNjRdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDZdLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddLFs0LDddXSxKdD1bWy0xLC0xXSxbLTEsLTFdLFsxMiwtMl0sWzEyLC0yXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbLTEsLTFdLFsxMSwxNzkyXSxbMTEsMTc5Ml0sWzExLDE3OTJdLFsxMSwxNzkyXSxbMTIsMTk4NF0sWzEyLDE5ODRdLFsxMiwyMDQ4XSxbMTIsMjA0OF0sWzEyLDIxMTJdLFsxMiwyMTEyXSxbMTIsMjE3Nl0sWzEyLDIxNzZdLFsxMiwyMjQwXSxbMTIsMjI0MF0sWzEyLDIzMDRdLFsxMiwyMzA0XSxbMTEsMTg1Nl0sWzExLDE4NTZdLFsxMSwxODU2XSxbMTEsMTg1Nl0sWzExLDE5MjBdLFsxMSwxOTIwXSxbMTEsMTkyMF0sWzExLDE5MjBdLFsxMiwyMzY4XSxbMTIsMjM2OF0sWzEyLDI0MzJdLFsxMiwyNDMyXSxbMTIsMjQ5Nl0sWzEyLDI0OTZdLFsxMiwyNTYwXSxbMTIsMjU2MF0sWzEwLDE4XSxbMTAsMThdLFsxMCwxOF0sWzEwLDE4XSxbMTAsMThdLFsxMCwxOF0sWzEwLDE4XSxbMTAsMThdLFsxMiw1Ml0sWzEyLDUyXSxbMTMsNjQwXSxbMTMsNzA0XSxbMTMsNzY4XSxbMTMsODMyXSxbMTIsNTVdLFsxMiw1NV0sWzEyLDU2XSxbMTIsNTZdLFsxMywxMjgwXSxbMTMsMTM0NF0sWzEzLDE0MDhdLFsxMywxNDcyXSxbMTIsNTldLFsxMiw1OV0sWzEyLDYwXSxbMTIsNjBdLFsxMywxNTM2XSxbMTMsMTYwMF0sWzExLDI0XSxbMTEsMjRdLFsxMSwyNF0sWzExLDI0XSxbMTEsMjVdLFsxMSwyNV0sWzExLDI1XSxbMTEsMjVdLFsxMywxNjY0XSxbMTMsMTcyOF0sWzEyLDMyMF0sWzEyLDMyMF0sWzEyLDM4NF0sWzEyLDM4NF0sWzEyLDQ0OF0sWzEyLDQ0OF0sWzEzLDUxMl0sWzEzLDU3Nl0sWzEyLDUzXSxbMTIsNTNdLFsxMiw1NF0sWzEyLDU0XSxbMTMsODk2XSxbMTMsOTYwXSxbMTMsMTAyNF0sWzEzLDEwODhdLFsxMywxMTUyXSxbMTMsMTIxNl0sWzEwLDY0XSxbMTAsNjRdLFsxMCw2NF0sWzEwLDY0XSxbMTAsNjRdLFsxMCw2NF0sWzEwLDY0XSxbMTAsNjRdXSxZdD1bWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFs4LDEzXSxbOCwxM10sWzgsMTNdLFsxMSwyM10sWzExLDIzXSxbMTIsNTBdLFsxMiw1MV0sWzEyLDQ0XSxbMTIsNDVdLFsxMiw0Nl0sWzEyLDQ3XSxbMTIsNTddLFsxMiw1OF0sWzEyLDYxXSxbMTIsMjU2XSxbMTAsMTZdLFsxMCwxNl0sWzEwLDE2XSxbMTAsMTZdLFsxMCwxN10sWzEwLDE3XSxbMTAsMTddLFsxMCwxN10sWzEyLDQ4XSxbMTIsNDldLFsxMiw2Ml0sWzEyLDYzXSxbMTIsMzBdLFsxMiwzMV0sWzEyLDMyXSxbMTIsMzNdLFsxMiw0MF0sWzEyLDQxXSxbMTEsMjJdLFsxMSwyMl0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs4LDE0XSxbOCwxNF0sWzgsMTRdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTBdLFs3LDEwXSxbNywxMF0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbNywxMV0sWzcsMTFdLFs3LDExXSxbOSwxNV0sWzksMTVdLFs5LDE1XSxbOSwxNV0sWzksMTVdLFs5LDE1XSxbOSwxNV0sWzksMTVdLFsxMiwxMjhdLFsxMiwxOTJdLFsxMiwyNl0sWzEyLDI3XSxbMTIsMjhdLFsxMiwyOV0sWzExLDE5XSxbMTEsMTldLFsxMSwyMF0sWzExLDIwXSxbMTIsMzRdLFsxMiwzNV0sWzEyLDM2XSxbMTIsMzddLFsxMiwzOF0sWzEyLDM5XSxbMTEsMjFdLFsxMSwyMV0sWzEyLDQyXSxbMTIsNDNdLFsxMCwwXSxbMTAsMF0sWzEwLDBdLFsxMCwwXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdLFs3LDEyXSxbNywxMl0sWzcsMTJdXSx2dD1bWy0xLC0xXSxbLTEsLTFdLFstMSwtMV0sWy0xLC0xXSxbNiw5XSxbNiw4XSxbNSw3XSxbNSw3XSxbNCw2XSxbNCw2XSxbNCw2XSxbNCw2XSxbNCw1XSxbNCw1XSxbNCw1XSxbNCw1XSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMywxXSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMyw0XSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwzXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXSxbMiwyXV07Y2xhc3MgQ0NJVFRGYXhEZWNvZGVye2NvbnN0cnVjdG9yKGUsdD17fSl7aWYoIWV8fCJmdW5jdGlvbiIhPXR5cGVvZiBlLm5leHQpdGhyb3cgbmV3IEVycm9yKCdDQ0lUVEZheERlY29kZXIgLSBpbnZhbGlkICJzb3VyY2UiIHBhcmFtZXRlci4nKTt0aGlzLnNvdXJjZT1lO3RoaXMuZW9mPSExO3RoaXMuZW5jb2Rpbmc9dC5LfHwwO3RoaXMuZW9saW5lPXQuRW5kT2ZMaW5lfHwhMTt0aGlzLmJ5dGVBbGlnbj10LkVuY29kZWRCeXRlQWxpZ258fCExO3RoaXMuY29sdW1ucz10LkNvbHVtbnN8fDE3Mjg7dGhpcy5yb3dzPXQuUm93c3x8MDt0aGlzLmVvYmxvY2s9dC5FbmRPZkJsb2NrPz8hMDt0aGlzLmJsYWNrPXQuQmxhY2tJczF8fCExO3RoaXMuY29kaW5nTGluZT1uZXcgVWludDMyQXJyYXkodGhpcy5jb2x1bW5zKzEpO3RoaXMucmVmTGluZT1uZXcgVWludDMyQXJyYXkodGhpcy5jb2x1bW5zKzIpO3RoaXMuY29kaW5nTGluZVswXT10aGlzLmNvbHVtbnM7dGhpcy5jb2RpbmdQb3M9MDt0aGlzLnJvdz0wO3RoaXMubmV4dExpbmUyRD10aGlzLmVuY29kaW5nPDA7dGhpcy5pbnB1dEJpdHM9MDt0aGlzLmlucHV0QnVmPTA7dGhpcy5vdXRwdXRCaXRzPTA7dGhpcy5yb3dzRG9uZT0hMTtsZXQgaTtmb3IoOzA9PT0oaT10aGlzLl9sb29rQml0cygxMikpOyl0aGlzLl9lYXRCaXRzKDEpOzE9PT1pJiZ0aGlzLl9lYXRCaXRzKDEyKTtpZih0aGlzLmVuY29kaW5nPjApe3RoaXMubmV4dExpbmUyRD0hdGhpcy5fbG9va0JpdHMoMSk7dGhpcy5fZWF0Qml0cygxKX19cmVhZE5leHRDaGFyKCl7aWYodGhpcy5lb2YpcmV0dXJuLTE7Y29uc3QgZT10aGlzLnJlZkxpbmUsdD10aGlzLmNvZGluZ0xpbmUsaT10aGlzLmNvbHVtbnM7bGV0IGEscyxyLG4sZztpZigwPT09dGhpcy5vdXRwdXRCaXRzKXt0aGlzLnJvd3NEb25lJiYodGhpcy5lb2Y9ITApO2lmKHRoaXMuZW9mKXJldHVybi0xO3RoaXMuZXJyPSExO2xldCByLGcsbztpZih0aGlzLm5leHRMaW5lMkQpe2ZvcihuPTA7dFtuXTxpOysrbillW25dPXRbbl07ZVtuKytdPWk7ZVtuXT1pO3RbMF09MDt0aGlzLmNvZGluZ1Bvcz0wO2E9MDtzPTA7Zm9yKDt0W3RoaXMuY29kaW5nUG9zXTxpOyl7cj10aGlzLl9nZXRUd29EaW1Db2RlKCk7c3dpdGNoKHIpe2Nhc2UgMDp0aGlzLl9hZGRQaXhlbHMoZVthKzFdLHMpO2VbYSsxXTxpJiYoYSs9Mik7YnJlYWs7Y2FzZSAxOnI9Zz0wO2lmKHMpe2Rve3IrPW89dGhpcy5fZ2V0QmxhY2tDb2RlKCl9d2hpbGUobz49NjQpO2Rve2crPW89dGhpcy5fZ2V0V2hpdGVDb2RlKCl9d2hpbGUobz49NjQpfWVsc2V7ZG97cis9bz10aGlzLl9nZXRXaGl0ZUNvZGUoKX13aGlsZShvPj02NCk7ZG97Zys9bz10aGlzLl9nZXRCbGFja0NvZGUoKX13aGlsZShvPj02NCl9dGhpcy5fYWRkUGl4ZWxzKHRbdGhpcy5jb2RpbmdQb3NdK3Iscyk7dFt0aGlzLmNvZGluZ1Bvc108aSYmdGhpcy5fYWRkUGl4ZWxzKHRbdGhpcy5jb2RpbmdQb3NdK2csMV5zKTtmb3IoO2VbYV08PXRbdGhpcy5jb2RpbmdQb3NdJiZlW2FdPGk7KWErPTI7YnJlYWs7Y2FzZSA3OnRoaXMuX2FkZFBpeGVscyhlW2FdKzMscyk7c149MTtpZih0W3RoaXMuY29kaW5nUG9zXTxpKXsrK2E7Zm9yKDtlW2FdPD10W3RoaXMuY29kaW5nUG9zXSYmZVthXTxpOylhKz0yfWJyZWFrO2Nhc2UgNTp0aGlzLl9hZGRQaXhlbHMoZVthXSsyLHMpO3NePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108aSl7KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDM6dGhpcy5fYWRkUGl4ZWxzKGVbYV0rMSxzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpeysrYTtmb3IoO2VbYV08PXRbdGhpcy5jb2RpbmdQb3NdJiZlW2FdPGk7KWErPTJ9YnJlYWs7Y2FzZSAyOnRoaXMuX2FkZFBpeGVscyhlW2FdLHMpO3NePTE7aWYodFt0aGlzLmNvZGluZ1Bvc108aSl7KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDg6dGhpcy5fYWRkUGl4ZWxzTmVnKGVbYV0tMyxzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpe2E+MD8tLWE6KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDY6dGhpcy5fYWRkUGl4ZWxzTmVnKGVbYV0tMixzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpe2E+MD8tLWE6KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIDQ6dGhpcy5fYWRkUGl4ZWxzTmVnKGVbYV0tMSxzKTtzXj0xO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpe2E+MD8tLWE6KythO2Zvcig7ZVthXTw9dFt0aGlzLmNvZGluZ1Bvc10mJmVbYV08aTspYSs9Mn1icmVhaztjYXNlIFV0OnRoaXMuX2FkZFBpeGVscyhpLDApO3RoaXMuZW9mPSEwO2JyZWFrO2RlZmF1bHQ6aW5mbygiYmFkIDJkIGNvZGUiKTt0aGlzLl9hZGRQaXhlbHMoaSwwKTt0aGlzLmVycj0hMH19fWVsc2V7dFswXT0wO3RoaXMuY29kaW5nUG9zPTA7cz0wO2Zvcig7dFt0aGlzLmNvZGluZ1Bvc108aTspe3I9MDtpZihzKWRve3IrPW89dGhpcy5fZ2V0QmxhY2tDb2RlKCl9d2hpbGUobz49NjQpO2Vsc2UgZG97cis9bz10aGlzLl9nZXRXaGl0ZUNvZGUoKX13aGlsZShvPj02NCk7dGhpcy5fYWRkUGl4ZWxzKHRbdGhpcy5jb2RpbmdQb3NdK3Iscyk7c149MX19bGV0IGM9ITE7dGhpcy5ieXRlQWxpZ24mJih0aGlzLmlucHV0Qml0cyY9LTgpO2lmKHRoaXMuZW9ibG9ja3x8dGhpcy5yb3chPT10aGlzLnJvd3MtMSl7cj10aGlzLl9sb29rQml0cygxMik7aWYodGhpcy5lb2xpbmUpZm9yKDtyIT09VXQmJjEhPT1yOyl7dGhpcy5fZWF0Qml0cygxKTtyPXRoaXMuX2xvb2tCaXRzKDEyKX1lbHNlIGZvcig7MD09PXI7KXt0aGlzLl9lYXRCaXRzKDEpO3I9dGhpcy5fbG9va0JpdHMoMTIpfWlmKDE9PT1yKXt0aGlzLl9lYXRCaXRzKDEyKTtjPSEwfWVsc2Ugcj09PVV0JiYodGhpcy5lb2Y9ITApfWVsc2UgdGhpcy5yb3dzRG9uZT0hMDtpZighdGhpcy5lb2YmJnRoaXMuZW5jb2Rpbmc+MCYmIXRoaXMucm93c0RvbmUpe3RoaXMubmV4dExpbmUyRD0hdGhpcy5fbG9va0JpdHMoMSk7dGhpcy5fZWF0Qml0cygxKX1pZih0aGlzLmVvYmxvY2smJmMmJnRoaXMuYnl0ZUFsaWduKXtyPXRoaXMuX2xvb2tCaXRzKDEyKTtpZigxPT09cil7dGhpcy5fZWF0Qml0cygxMik7aWYodGhpcy5lbmNvZGluZz4wKXt0aGlzLl9sb29rQml0cygxKTt0aGlzLl9lYXRCaXRzKDEpfWlmKHRoaXMuZW5jb2Rpbmc+PTApZm9yKG49MDtuPDQ7KytuKXtyPXRoaXMuX2xvb2tCaXRzKDEyKTsxIT09ciYmaW5mbygiYmFkIHJ0YyBjb2RlOiAiK3IpO3RoaXMuX2VhdEJpdHMoMTIpO2lmKHRoaXMuZW5jb2Rpbmc+MCl7dGhpcy5fbG9va0JpdHMoMSk7dGhpcy5fZWF0Qml0cygxKX19dGhpcy5lb2Y9ITB9fWVsc2UgaWYodGhpcy5lcnImJnRoaXMuZW9saW5lKXtmb3IoOzspe3I9dGhpcy5fbG9va0JpdHMoMTMpO2lmKHI9PT1VdCl7dGhpcy5lb2Y9ITA7cmV0dXJuLTF9aWYocj4+MT09MSlicmVhazt0aGlzLl9lYXRCaXRzKDEpfXRoaXMuX2VhdEJpdHMoMTIpO2lmKHRoaXMuZW5jb2Rpbmc+MCl7dGhpcy5fZWF0Qml0cygxKTt0aGlzLm5leHRMaW5lMkQ9ISgxJnIpfX10aGlzLm91dHB1dEJpdHM9dFswXT4wP3RbdGhpcy5jb2RpbmdQb3M9MF06dFt0aGlzLmNvZGluZ1Bvcz0xXTt0aGlzLnJvdysrfWlmKHRoaXMub3V0cHV0Qml0cz49OCl7Zz0xJnRoaXMuY29kaW5nUG9zPzA6MjU1O3RoaXMub3V0cHV0Qml0cy09ODtpZigwPT09dGhpcy5vdXRwdXRCaXRzJiZ0W3RoaXMuY29kaW5nUG9zXTxpKXt0aGlzLmNvZGluZ1BvcysrO3RoaXMub3V0cHV0Qml0cz10W3RoaXMuY29kaW5nUG9zXS10W3RoaXMuY29kaW5nUG9zLTFdfX1lbHNle3I9ODtnPTA7ZG97aWYoIm51bWJlciIhPXR5cGVvZiB0aGlzLm91dHB1dEJpdHMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCdJbnZhbGlkIC9DQ0lUVEZheERlY29kZSBkYXRhLCAib3V0cHV0Qml0cyIgbXVzdCBiZSBhIG51bWJlci4nKTtpZih0aGlzLm91dHB1dEJpdHM+cil7Zzw8PXI7MSZ0aGlzLmNvZGluZ1Bvc3x8KGd8PTI1NT4+OC1yKTt0aGlzLm91dHB1dEJpdHMtPXI7cj0wfWVsc2V7Zzw8PXRoaXMub3V0cHV0Qml0czsxJnRoaXMuY29kaW5nUG9zfHwoZ3w9MjU1Pj44LXRoaXMub3V0cHV0Qml0cyk7ci09dGhpcy5vdXRwdXRCaXRzO3RoaXMub3V0cHV0Qml0cz0wO2lmKHRbdGhpcy5jb2RpbmdQb3NdPGkpe3RoaXMuY29kaW5nUG9zKys7dGhpcy5vdXRwdXRCaXRzPXRbdGhpcy5jb2RpbmdQb3NdLXRbdGhpcy5jb2RpbmdQb3MtMV19ZWxzZSBpZihyPjApe2c8PD1yO3I9MH19fXdoaWxlKHIpfXRoaXMuYmxhY2smJihnXj0yNTUpO3JldHVybiBnfV9hZGRQaXhlbHMoZSx0KXtjb25zdCBpPXRoaXMuY29kaW5nTGluZTtsZXQgYT10aGlzLmNvZGluZ1BvcztpZihlPmlbYV0pe2lmKGU+dGhpcy5jb2x1bW5zKXtpbmZvKCJyb3cgaXMgd3JvbmcgbGVuZ3RoIik7dGhpcy5lcnI9ITA7ZT10aGlzLmNvbHVtbnN9MSZhXnQmJisrYTtpW2FdPWV9dGhpcy5jb2RpbmdQb3M9YX1fYWRkUGl4ZWxzTmVnKGUsdCl7Y29uc3QgaT10aGlzLmNvZGluZ0xpbmU7bGV0IGE9dGhpcy5jb2RpbmdQb3M7aWYoZT5pW2FdKXtpZihlPnRoaXMuY29sdW1ucyl7aW5mbygicm93IGlzIHdyb25nIGxlbmd0aCIpO3RoaXMuZXJyPSEwO2U9dGhpcy5jb2x1bW5zfTEmYV50JiYrK2E7aVthXT1lfWVsc2UgaWYoZTxpW2FdKXtpZihlPDApe2luZm8oImludmFsaWQgY29kZSIpO3RoaXMuZXJyPSEwO2U9MH1mb3IoO2E+MCYmZTxpW2EtMV07KS0tYTtpW2FdPWV9dGhpcy5jb2RpbmdQb3M9YX1fZmluZFRhYmxlQ29kZShlLHQsaSxhKXtjb25zdCBzPWF8fDA7Zm9yKGxldCBhPWU7YTw9dDsrK2Epe2xldCBlPXRoaXMuX2xvb2tCaXRzKGEpO2lmKGU9PT1VdClyZXR1cm5bITAsMSwhMV07YTx0JiYoZTw8PXQtYSk7aWYoIXN8fGU+PXMpe2NvbnN0IHQ9aVtlLXNdO2lmKHRbMF09PT1hKXt0aGlzLl9lYXRCaXRzKGEpO3JldHVyblshMCx0WzFdLCEwXX19fXJldHVyblshMSwwLCExXX1fZ2V0VHdvRGltQ29kZSgpe2xldCBlLHQ9MDtpZih0aGlzLmVvYmxvY2spe3Q9dGhpcy5fbG9va0JpdHMoNyk7ZT1NdFt0XTtpZihlPy5bMF0+MCl7dGhpcy5fZWF0Qml0cyhlWzBdKTtyZXR1cm4gZVsxXX19ZWxzZXtjb25zdCBlPXRoaXMuX2ZpbmRUYWJsZUNvZGUoMSw3LE10KTtpZihlWzBdJiZlWzJdKXJldHVybiBlWzFdfWluZm8oIkJhZCB0d28gZGltIGNvZGUiKTtyZXR1cm4gVXR9X2dldFdoaXRlQ29kZSgpe2xldCBlLHQ9MDtpZih0aGlzLmVvYmxvY2spe3Q9dGhpcy5fbG9va0JpdHMoMTIpO2lmKHQ9PT1VdClyZXR1cm4gMTtlPXQ+PjU9PTA/THRbdF06SHRbdD4+M107aWYoZVswXT4wKXt0aGlzLl9lYXRCaXRzKGVbMF0pO3JldHVybiBlWzFdfX1lbHNle2xldCBlPXRoaXMuX2ZpbmRUYWJsZUNvZGUoMSw5LEh0KTtpZihlWzBdKXJldHVybiBlWzFdO2U9dGhpcy5fZmluZFRhYmxlQ29kZSgxMSwxMixMdCk7aWYoZVswXSlyZXR1cm4gZVsxXX1pbmZvKCJiYWQgd2hpdGUgY29kZSIpO3RoaXMuX2VhdEJpdHMoMSk7cmV0dXJuIDF9X2dldEJsYWNrQ29kZSgpe2xldCBlLHQ7aWYodGhpcy5lb2Jsb2NrKXtlPXRoaXMuX2xvb2tCaXRzKDEzKTtpZihlPT09VXQpcmV0dXJuIDE7dD1lPj43PT0wP0p0W2VdOmU+Pjk9PTAmJmU+PjchPTA/WXRbKGU+PjEpLTY0XTp2dFtlPj43XTtpZih0WzBdPjApe3RoaXMuX2VhdEJpdHModFswXSk7cmV0dXJuIHRbMV19fWVsc2V7bGV0IGU9dGhpcy5fZmluZFRhYmxlQ29kZSgyLDYsdnQpO2lmKGVbMF0pcmV0dXJuIGVbMV07ZT10aGlzLl9maW5kVGFibGVDb2RlKDcsMTIsWXQsNjQpO2lmKGVbMF0pcmV0dXJuIGVbMV07ZT10aGlzLl9maW5kVGFibGVDb2RlKDEwLDEzLEp0KTtpZihlWzBdKXJldHVybiBlWzFdfWluZm8oImJhZCBibGFjayBjb2RlIik7dGhpcy5fZWF0Qml0cygxKTtyZXR1cm4gMX1fbG9va0JpdHMoZSl7bGV0IHQ7Zm9yKDt0aGlzLmlucHV0Qml0czxlOyl7aWYoLTE9PT0odD10aGlzLnNvdXJjZS5uZXh0KCkpKXJldHVybiAwPT09dGhpcy5pbnB1dEJpdHM/VXQ6dGhpcy5pbnB1dEJ1Zjw8ZS10aGlzLmlucHV0Qml0cyY2NTUzNT4+MTYtZTt0aGlzLmlucHV0QnVmPXRoaXMuaW5wdXRCdWY8PDh8dDt0aGlzLmlucHV0Qml0cys9OH1yZXR1cm4gdGhpcy5pbnB1dEJ1Zj4+dGhpcy5pbnB1dEJpdHMtZSY2NTUzNT4+MTYtZX1fZWF0Qml0cyhlKXsodGhpcy5pbnB1dEJpdHMtPWUpPDAmJih0aGlzLmlucHV0Qml0cz0wKX19Y2xhc3MgQ0NJVFRGYXhTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDtpIGluc3RhbmNlb2YgRGljdHx8KGk9RGljdC5lbXB0eSk7Y29uc3QgYT17bmV4dDooKT0+ZS5nZXRCeXRlKCl9O3RoaXMuY2NpdHRGYXhEZWNvZGVyPW5ldyBDQ0lUVEZheERlY29kZXIoYSx7SzppLmdldCgiSyIpLEVuZE9mTGluZTppLmdldCgiRW5kT2ZMaW5lIiksRW5jb2RlZEJ5dGVBbGlnbjppLmdldCgiRW5jb2RlZEJ5dGVBbGlnbiIpLENvbHVtbnM6aS5nZXQoIkNvbHVtbnMiKSxSb3dzOmkuZ2V0KCJSb3dzIiksRW5kT2ZCbG9jazppLmdldCgiRW5kT2ZCbG9jayIpLEJsYWNrSXMxOmkuZ2V0KCJCbGFja0lzMSIpfSl9cmVhZEJsb2NrKCl7Zm9yKDshdGhpcy5lb2Y7KXtjb25zdCBlPXRoaXMuY2NpdHRGYXhEZWNvZGVyLnJlYWROZXh0Q2hhcigpO2lmKC0xPT09ZSl7dGhpcy5lb2Y9ITA7cmV0dXJufXRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoKzEpO3RoaXMuYnVmZmVyW3RoaXMuYnVmZmVyTGVuZ3RoKytdPWV9fX1jb25zdCBLdD1uZXcgSW50MzJBcnJheShbMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0pLFR0PW5ldyBJbnQzMkFycmF5KFszLDQsNSw2LDcsOCw5LDEwLDY1NTQ3LDY1NTQ5LDY1NTUxLDY1NTUzLDEzMTA5MSwxMzEwOTUsMTMxMDk5LDEzMTEwMywxOTY2NDMsMTk2NjUxLDE5NjY1OSwxOTY2NjcsMjYyMjExLDI2MjIyNywyNjIyNDMsMjYyMjU5LDMyNzgxMSwzMjc4NDMsMzI3ODc1LDMyNzkwNywyNTgsMjU4LDI1OF0pLHF0PW5ldyBJbnQzMkFycmF5KFsxLDIsMyw0LDY1NTQxLDY1NTQzLDEzMTA4MSwxMzEwODUsMTk2NjI1LDE5NjYzMywyNjIxNzcsMjYyMTkzLDMyNzc0NSwzMjc3NzcsMzkzMzQ1LDM5MzQwOSw0NTkwMDksNDU5MTM3LDUyNDgwMSw1MjUwNTcsNTkwODQ5LDU5MTM2MSw2NTc0MDksNjU4NDMzLDcyNDk5Myw3MjcwNDEsNzk0NjI1LDc5ODcyMSw4NjgzNTMsODc2NTQ1XSksT3Q9W25ldyBJbnQzMkFycmF5KFs0NTkwMDgsNTI0MzY4LDUyNDMwNCw1MjQ1NjgsNDU5MDI0LDUyNDQwMCw1MjQzMzYsNTkwMDE2LDQ1OTAxNiw1MjQzODQsNTI0MzIwLDU4OTk4NCw1MjQyODgsNTI0NDE2LDUyNDM1Miw1OTAwNDgsNDU5MDEyLDUyNDM3Niw1MjQzMTIsNTg5OTY4LDQ1OTAyOCw1MjQ0MDgsNTI0MzQ0LDU5MDAzMiw0NTkwMjAsNTI0MzkyLDUyNDMyOCw1OWU0LDUyNDI5Niw1MjQ0MjQsNTI0MzYwLDU5MDA2NCw0NTkwMTAsNTI0MzcyLDUyNDMwOCw1MjQ1NzIsNDU5MDI2LDUyNDQwNCw1MjQzNDAsNTkwMDI0LDQ1OTAxOCw1MjQzODgsNTI0MzI0LDU4OTk5Miw1MjQyOTIsNTI0NDIwLDUyNDM1Niw1OTAwNTYsNDU5MDE0LDUyNDM4MCw1MjQzMTYsNTg5OTc2LDQ1OTAzMCw1MjQ0MTIsNTI0MzQ4LDU5MDA0MCw0NTkwMjIsNTI0Mzk2LDUyNDMzMiw1OTAwMDgsNTI0MzAwLDUyNDQyOCw1MjQzNjQsNTkwMDcyLDQ1OTAwOSw1MjQzNzAsNTI0MzA2LDUyNDU3MCw0NTkwMjUsNTI0NDAyLDUyNDMzOCw1OTAwMjAsNDU5MDE3LDUyNDM4Niw1MjQzMjIsNTg5OTg4LDUyNDI5MCw1MjQ0MTgsNTI0MzU0LDU5MDA1Miw0NTkwMTMsNTI0Mzc4LDUyNDMxNCw1ODk5NzIsNDU5MDI5LDUyNDQxMCw1MjQzNDYsNTkwMDM2LDQ1OTAyMSw1MjQzOTQsNTI0MzMwLDU5MDAwNCw1MjQyOTgsNTI0NDI2LDUyNDM2Miw1OTAwNjgsNDU5MDExLDUyNDM3NCw1MjQzMTAsNTI0NTc0LDQ1OTAyNyw1MjQ0MDYsNTI0MzQyLDU5MDAyOCw0NTkwMTksNTI0MzkwLDUyNDMyNiw1ODk5OTYsNTI0Mjk0LDUyNDQyMiw1MjQzNTgsNTkwMDYwLDQ1OTAxNSw1MjQzODIsNTI0MzE4LDU4OTk4MCw0NTkwMzEsNTI0NDE0LDUyNDM1MCw1OTAwNDQsNDU5MDIzLDUyNDM5OCw1MjQzMzQsNTkwMDEyLDUyNDMwMiw1MjQ0MzAsNTI0MzY2LDU5MDA3Niw0NTkwMDgsNTI0MzY5LDUyNDMwNSw1MjQ1NjksNDU5MDI0LDUyNDQwMSw1MjQzMzcsNTkwMDE4LDQ1OTAxNiw1MjQzODUsNTI0MzIxLDU4OTk4Niw1MjQyODksNTI0NDE3LDUyNDM1Myw1OTAwNTAsNDU5MDEyLDUyNDM3Nyw1MjQzMTMsNTg5OTcwLDQ1OTAyOCw1MjQ0MDksNTI0MzQ1LDU5MDAzNCw0NTkwMjAsNTI0MzkzLDUyNDMyOSw1OTAwMDIsNTI0Mjk3LDUyNDQyNSw1MjQzNjEsNTkwMDY2LDQ1OTAxMCw1MjQzNzMsNTI0MzA5LDUyNDU3Myw0NTkwMjYsNTI0NDA1LDUyNDM0MSw1OTAwMjYsNDU5MDE4LDUyNDM4OSw1MjQzMjUsNTg5OTk0LDUyNDI5Myw1MjQ0MjEsNTI0MzU3LDU5MDA1OCw0NTkwMTQsNTI0MzgxLDUyNDMxNyw1ODk5NzgsNDU5MDMwLDUyNDQxMyw1MjQzNDksNTkwMDQyLDQ1OTAyMiw1MjQzOTcsNTI0MzMzLDU5MDAxMCw1MjQzMDEsNTI0NDI5LDUyNDM2NSw1OTAwNzQsNDU5MDA5LDUyNDM3MSw1MjQzMDcsNTI0NTcxLDQ1OTAyNSw1MjQ0MDMsNTI0MzM5LDU5MDAyMiw0NTkwMTcsNTI0Mzg3LDUyNDMyMyw1ODk5OTAsNTI0MjkxLDUyNDQxOSw1MjQzNTUsNTkwMDU0LDQ1OTAxMyw1MjQzNzksNTI0MzE1LDU4OTk3NCw0NTkwMjksNTI0NDExLDUyNDM0Nyw1OTAwMzgsNDU5MDIxLDUyNDM5NSw1MjQzMzEsNTkwMDA2LDUyNDI5OSw1MjQ0MjcsNTI0MzYzLDU5MDA3MCw0NTkwMTEsNTI0Mzc1LDUyNDMxMSw1MjQ1NzUsNDU5MDI3LDUyNDQwNyw1MjQzNDMsNTkwMDMwLDQ1OTAxOSw1MjQzOTEsNTI0MzI3LDU4OTk5OCw1MjQyOTUsNTI0NDIzLDUyNDM1OSw1OTAwNjIsNDU5MDE1LDUyNDM4Myw1MjQzMTksNTg5OTgyLDQ1OTAzMSw1MjQ0MTUsNTI0MzUxLDU5MDA0Niw0NTkwMjMsNTI0Mzk5LDUyNDMzNSw1OTAwMTQsNTI0MzAzLDUyNDQzMSw1MjQzNjcsNTkwMDc4LDQ1OTAwOCw1MjQzNjgsNTI0MzA0LDUyNDU2OCw0NTkwMjQsNTI0NDAwLDUyNDMzNiw1OTAwMTcsNDU5MDE2LDUyNDM4NCw1MjQzMjAsNTg5OTg1LDUyNDI4OCw1MjQ0MTYsNTI0MzUyLDU5MDA0OSw0NTkwMTIsNTI0Mzc2LDUyNDMxMiw1ODk5NjksNDU5MDI4LDUyNDQwOCw1MjQzNDQsNTkwMDMzLDQ1OTAyMCw1MjQzOTIsNTI0MzI4LDU5MDAwMSw1MjQyOTYsNTI0NDI0LDUyNDM2MCw1OTAwNjUsNDU5MDEwLDUyNDM3Miw1MjQzMDgsNTI0NTcyLDQ1OTAyNiw1MjQ0MDQsNTI0MzQwLDU5MDAyNSw0NTkwMTgsNTI0Mzg4LDUyNDMyNCw1ODk5OTMsNTI0MjkyLDUyNDQyMCw1MjQzNTYsNTkwMDU3LDQ1OTAxNCw1MjQzODAsNTI0MzE2LDU4OTk3Nyw0NTkwMzAsNTI0NDEyLDUyNDM0OCw1OTAwNDEsNDU5MDIyLDUyNDM5Niw1MjQzMzIsNTkwMDA5LDUyNDMwMCw1MjQ0MjgsNTI0MzY0LDU5MDA3Myw0NTkwMDksNTI0MzcwLDUyNDMwNiw1MjQ1NzAsNDU5MDI1LDUyNDQwMiw1MjQzMzgsNTkwMDIxLDQ1OTAxNyw1MjQzODYsNTI0MzIyLDU4OTk4OSw1MjQyOTAsNTI0NDE4LDUyNDM1NCw1OTAwNTMsNDU5MDEzLDUyNDM3OCw1MjQzMTQsNTg5OTczLDQ1OTAyOSw1MjQ0MTAsNTI0MzQ2LDU5MDAzNyw0NTkwMjEsNTI0Mzk0LDUyNDMzMCw1OTAwMDUsNTI0Mjk4LDUyNDQyNiw1MjQzNjIsNTkwMDY5LDQ1OTAxMSw1MjQzNzQsNTI0MzEwLDUyNDU3NCw0NTkwMjcsNTI0NDA2LDUyNDM0Miw1OTAwMjksNDU5MDE5LDUyNDM5MCw1MjQzMjYsNTg5OTk3LDUyNDI5NCw1MjQ0MjIsNTI0MzU4LDU5MDA2MSw0NTkwMTUsNTI0MzgyLDUyNDMxOCw1ODk5ODEsNDU5MDMxLDUyNDQxNCw1MjQzNTAsNTkwMDQ1LDQ1OTAyMyw1MjQzOTgsNTI0MzM0LDU5MDAxMyw1MjQzMDIsNTI0NDMwLDUyNDM2Niw1OTAwNzcsNDU5MDA4LDUyNDM2OSw1MjQzMDUsNTI0NTY5LDQ1OTAyNCw1MjQ0MDEsNTI0MzM3LDU5MDAxOSw0NTkwMTYsNTI0Mzg1LDUyNDMyMSw1ODk5ODcsNTI0Mjg5LDUyNDQxNyw1MjQzNTMsNTkwMDUxLDQ1OTAxMiw1MjQzNzcsNTI0MzEzLDU4OTk3MSw0NTkwMjgsNTI0NDA5LDUyNDM0NSw1OTAwMzUsNDU5MDIwLDUyNDM5Myw1MjQzMjksNTkwMDAzLDUyNDI5Nyw1MjQ0MjUsNTI0MzYxLDU5MDA2Nyw0NTkwMTAsNTI0MzczLDUyNDMwOSw1MjQ1NzMsNDU5MDI2LDUyNDQwNSw1MjQzNDEsNTkwMDI3LDQ1OTAxOCw1MjQzODksNTI0MzI1LDU4OTk5NSw1MjQyOTMsNTI0NDIxLDUyNDM1Nyw1OTAwNTksNDU5MDE0LDUyNDM4MSw1MjQzMTcsNTg5OTc5LDQ1OTAzMCw1MjQ0MTMsNTI0MzQ5LDU5MDA0Myw0NTkwMjIsNTI0Mzk3LDUyNDMzMyw1OTAwMTEsNTI0MzAxLDUyNDQyOSw1MjQzNjUsNTkwMDc1LDQ1OTAwOSw1MjQzNzEsNTI0MzA3LDUyNDU3MSw0NTkwMjUsNTI0NDAzLDUyNDMzOSw1OTAwMjMsNDU5MDE3LDUyNDM4Nyw1MjQzMjMsNTg5OTkxLDUyNDI5MSw1MjQ0MTksNTI0MzU1LDU5MDA1NSw0NTkwMTMsNTI0Mzc5LDUyNDMxNSw1ODk5NzUsNDU5MDI5LDUyNDQxMSw1MjQzNDcsNTkwMDM5LDQ1OTAyMSw1MjQzOTUsNTI0MzMxLDU5MDAwNyw1MjQyOTksNTI0NDI3LDUyNDM2Myw1OTAwNzEsNDU5MDExLDUyNDM3NSw1MjQzMTEsNTI0NTc1LDQ1OTAyNyw1MjQ0MDcsNTI0MzQzLDU5MDAzMSw0NTkwMTksNTI0MzkxLDUyNDMyNyw1ODk5OTksNTI0Mjk1LDUyNDQyMyw1MjQzNTksNTkwMDYzLDQ1OTAxNSw1MjQzODMsNTI0MzE5LDU4OTk4Myw0NTkwMzEsNTI0NDE1LDUyNDM1MSw1OTAwNDcsNDU5MDIzLDUyNDM5OSw1MjQzMzUsNTkwMDE1LDUyNDMwMyw1MjQ0MzEsNTI0MzY3LDU5MDA3OV0pLDldLFB0PVtuZXcgSW50MzJBcnJheShbMzI3NjgwLDMyNzY5NiwzMjc2ODgsMzI3NzA0LDMyNzY4NCwzMjc3MDAsMzI3NjkyLDMyNzcwOCwzMjc2ODIsMzI3Njk4LDMyNzY5MCwzMjc3MDYsMzI3Njg2LDMyNzcwMiwzMjc2OTQsMCwzMjc2ODEsMzI3Njk3LDMyNzY4OSwzMjc3MDUsMzI3Njg1LDMyNzcwMSwzMjc2OTMsMzI3NzA5LDMyNzY4MywzMjc2OTksMzI3NjkxLDMyNzcwNywzMjc2ODcsMzI3NzAzLDMyNzY5NSwwXSksNV07Y2xhc3MgRmxhdGVTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0KXtzdXBlcih0KTt0aGlzLnN0cj1lO3RoaXMuZGljdD1lLmRpY3Q7Y29uc3QgaT1lLmdldEJ5dGUoKSxhPWUuZ2V0Qnl0ZSgpO2lmKC0xPT09aXx8LTE9PT1hKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtOiAke2l9LCAke2F9YCk7aWYoOCE9KDE1JmkpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QgaW4gZmxhdGUgc3RyZWFtOiAke2l9LCAke2F9YCk7aWYoKChpPDw4KSthKSUzMSE9MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEJhZCBGQ0hFQ0sgaW4gZmxhdGUgc3RyZWFtOiAke2l9LCAke2F9YCk7aWYoMzImYSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEZESUNUIGJpdCBzZXQgaW4gZmxhdGUgc3RyZWFtOiAke2l9LCAke2F9YCk7dGhpcy5jb2RlU2l6ZT0wO3RoaXMuY29kZUJ1Zj0wfWFzeW5jIGdldEltYWdlRGF0YShlLHQpe2NvbnN0IGk9YXdhaXQgdGhpcy5hc3luY0dldEJ5dGVzKCk7cmV0dXJuIGk/LnN1YmFycmF5KDAsZSl8fHRoaXMuZ2V0Qnl0ZXMoZSl9YXN5bmMgYXN5bmNHZXRCeXRlcygpe3RoaXMuc3RyLnJlc2V0KCk7Y29uc3QgZT10aGlzLnN0ci5nZXRCeXRlcygpO3RyeXtjb25zdHtyZWFkYWJsZTp0LHdyaXRhYmxlOml9PW5ldyBEZWNvbXByZXNzaW9uU3RyZWFtKCJkZWZsYXRlIiksYT1pLmdldFdyaXRlcigpO2Eud3JpdGUoZSk7YS5jbG9zZSgpO2NvbnN0IHM9W107bGV0IHI9MDtmb3IgYXdhaXQoY29uc3QgZSBvZiB0KXtzLnB1c2goZSk7cis9ZS5ieXRlTGVuZ3RofWNvbnN0IG49bmV3IFVpbnQ4QXJyYXkocik7bGV0IGc9MDtmb3IoY29uc3QgZSBvZiBzKXtuLnNldChlLGcpO2crPWUuYnl0ZUxlbmd0aH1yZXR1cm4gbn1jYXRjaHt0aGlzLnN0cj1uZXcgU3RyZWFtKGUsMixlLmxlbmd0aCx0aGlzLnN0ci5kaWN0KTt0aGlzLnJlc2V0KCk7cmV0dXJuIG51bGx9fWdldCBpc0FzeW5jKCl7cmV0dXJuITB9Z2V0Qml0cyhlKXtjb25zdCB0PXRoaXMuc3RyO2xldCBpLGE9dGhpcy5jb2RlU2l6ZSxzPXRoaXMuY29kZUJ1Zjtmb3IoO2E8ZTspe2lmKC0xPT09KGk9dC5nZXRCeXRlKCkpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQmFkIGVuY29kaW5nIGluIGZsYXRlIHN0cmVhbSIpO3N8PWk8PGE7YSs9OH1pPXMmKDE8PGUpLTE7dGhpcy5jb2RlQnVmPXM+PmU7dGhpcy5jb2RlU2l6ZT1hLT1lO3JldHVybiBpfWdldENvZGUoZSl7Y29uc3QgdD10aGlzLnN0cixpPWVbMF0sYT1lWzFdO2xldCBzLHI9dGhpcy5jb2RlU2l6ZSxuPXRoaXMuY29kZUJ1Zjtmb3IoO3I8YSYmLTEhPT0ocz10LmdldEJ5dGUoKSk7KXtufD1zPDxyO3IrPTh9Y29uc3QgZz1pW24mKDE8PGEpLTFdLG89Zz4+MTYsYz02NTUzNSZnO2lmKG88MXx8cjxvKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQmFkIGVuY29kaW5nIGluIGZsYXRlIHN0cmVhbSIpO3RoaXMuY29kZUJ1Zj1uPj5vO3RoaXMuY29kZVNpemU9ci1vO3JldHVybiBjfWdlbmVyYXRlSHVmZm1hblRhYmxlKGUpe2NvbnN0IHQ9ZS5sZW5ndGg7bGV0IGksYT0wO2ZvcihpPTA7aTx0OysraSllW2ldPmEmJihhPWVbaV0pO2NvbnN0IHM9MTw8YSxyPW5ldyBJbnQzMkFycmF5KHMpO2ZvcihsZXQgbj0xLGc9MCxvPTI7bjw9YTsrK24sZzw8PTEsbzw8PTEpZm9yKGxldCBhPTA7YTx0OysrYSlpZihlW2FdPT09bil7bGV0IGU9MCx0PWc7Zm9yKGk9MDtpPG47KytpKXtlPWU8PDF8MSZ0O3Q+Pj0xfWZvcihpPWU7aTxzO2krPW8pcltpXT1uPDwxNnxhOysrZ31yZXR1cm5bcixhXX0jbShlKXtpbmZvKGUpO3RoaXMuZW9mPSEwfXJlYWRCbG9jaygpe2xldCBlLHQsaTtjb25zdCBhPXRoaXMuc3RyO3RyeXt0PXRoaXMuZ2V0Qml0cygzKX1jYXRjaChlKXt0aGlzLiNtKGUubWVzc2FnZSk7cmV0dXJufTEmdCYmKHRoaXMuZW9mPSEwKTt0Pj49MTtpZigwPT09dCl7bGV0IHQ7aWYoLTE9PT0odD1hLmdldEJ5dGUoKSkpe3RoaXMuI20oIkJhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtIik7cmV0dXJufWxldCBpPXQ7aWYoLTE9PT0odD1hLmdldEJ5dGUoKSkpe3RoaXMuI20oIkJhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtIik7cmV0dXJufWl8PXQ8PDg7aWYoLTE9PT0odD1hLmdldEJ5dGUoKSkpe3RoaXMuI20oIkJhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtIik7cmV0dXJufWxldCBzPXQ7aWYoLTE9PT0odD1hLmdldEJ5dGUoKSkpe3RoaXMuI20oIkJhZCBibG9jayBoZWFkZXIgaW4gZmxhdGUgc3RyZWFtIik7cmV0dXJufXN8PXQ8PDg7aWYocyE9PSg2NTUzNSZ+aSkmJigwIT09aXx8MCE9PXMpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQmFkIHVuY29tcHJlc3NlZCBibG9jayBsZW5ndGggaW4gZmxhdGUgc3RyZWFtIik7dGhpcy5jb2RlQnVmPTA7dGhpcy5jb2RlU2l6ZT0wO2NvbnN0IHI9dGhpcy5idWZmZXJMZW5ndGgsbj1yK2k7ZT10aGlzLmVuc3VyZUJ1ZmZlcihuKTt0aGlzLmJ1ZmZlckxlbmd0aD1uO2lmKDA9PT1pKS0xPT09YS5wZWVrQnl0ZSgpJiYodGhpcy5lb2Y9ITApO2Vsc2V7Y29uc3QgdD1hLmdldEJ5dGVzKGkpO2Uuc2V0KHQscik7dC5sZW5ndGg8aSYmKHRoaXMuZW9mPSEwKX1yZXR1cm59bGV0IHMscjtpZigxPT09dCl7cz1PdDtyPVB0fWVsc2V7aWYoMiE9PXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIGJsb2NrIHR5cGUgaW4gZmxhdGUgc3RyZWFtIik7e2NvbnN0IGU9dGhpcy5nZXRCaXRzKDUpKzI1Nyx0PXRoaXMuZ2V0Qml0cyg1KSsxLGE9dGhpcy5nZXRCaXRzKDQpKzQsbj1uZXcgVWludDhBcnJheShLdC5sZW5ndGgpO2xldCBnO2ZvcihnPTA7ZzxhOysrZyluW0t0W2ddXT10aGlzLmdldEJpdHMoMyk7Y29uc3Qgbz10aGlzLmdlbmVyYXRlSHVmZm1hblRhYmxlKG4pO2k9MDtnPTA7Y29uc3QgYz1lK3QsQz1uZXcgVWludDhBcnJheShjKTtsZXQgaCxsLFE7Zm9yKDtnPGM7KXtjb25zdCBlPXRoaXMuZ2V0Q29kZShvKTtpZigxNj09PWUpe2g9MjtsPTM7UT1pfWVsc2UgaWYoMTc9PT1lKXtoPTM7bD0zO1E9aT0wfWVsc2V7aWYoMTghPT1lKXtDW2crK109aT1lO2NvbnRpbnVlfWg9NztsPTExO1E9aT0wfWxldCB0PXRoaXMuZ2V0Qml0cyhoKStsO2Zvcig7dC0tID4wOylDW2crK109UX1zPXRoaXMuZ2VuZXJhdGVIdWZmbWFuVGFibGUoQy5zdWJhcnJheSgwLGUpKTtyPXRoaXMuZ2VuZXJhdGVIdWZmbWFuVGFibGUoQy5zdWJhcnJheShlLGMpKX19ZT10aGlzLmJ1ZmZlcjtsZXQgbj1lP2UubGVuZ3RoOjAsZz10aGlzLmJ1ZmZlckxlbmd0aDtmb3IoOzspe2xldCB0PXRoaXMuZ2V0Q29kZShzKTtpZih0PDI1Nil7aWYoZysxPj1uKXtlPXRoaXMuZW5zdXJlQnVmZmVyKGcrMSk7bj1lLmxlbmd0aH1lW2crK109dDtjb250aW51ZX1pZigyNTY9PT10KXt0aGlzLmJ1ZmZlckxlbmd0aD1nO3JldHVybn10LT0yNTc7dD1UdFt0XTtsZXQgYT10Pj4xNjthPjAmJihhPXRoaXMuZ2V0Qml0cyhhKSk7aT0oNjU1MzUmdCkrYTt0PXRoaXMuZ2V0Q29kZShyKTt0PXF0W3RdO2E9dD4+MTY7YT4wJiYoYT10aGlzLmdldEJpdHMoYSkpO2NvbnN0IG89KDY1NTM1JnQpK2E7aWYoZytpPj1uKXtlPXRoaXMuZW5zdXJlQnVmZmVyKGcraSk7bj1lLmxlbmd0aH1mb3IobGV0IHQ9MDt0PGk7Kyt0LCsrZyllW2ddPWVbZy1vXX19fWNvbnN0IFd0PVt7cWU6MjIwMTcsbm1wczoxLG5scHM6MSxzd2l0Y2hGbGFnOjF9LHtxZToxMzMxMyxubXBzOjIsbmxwczo2LHN3aXRjaEZsYWc6MH0se3FlOjYxNDUsbm1wczozLG5scHM6OSxzd2l0Y2hGbGFnOjB9LHtxZToyNzUzLG5tcHM6NCxubHBzOjEyLHN3aXRjaEZsYWc6MH0se3FlOjEzMTMsbm1wczo1LG5scHM6Mjksc3dpdGNoRmxhZzowfSx7cWU6NTQ1LG5tcHM6MzgsbmxwczozMyxzd2l0Y2hGbGFnOjB9LHtxZToyMjAxNyxubXBzOjcsbmxwczo2LHN3aXRjaEZsYWc6MX0se3FlOjIxNTA1LG5tcHM6OCxubHBzOjE0LHN3aXRjaEZsYWc6MH0se3FlOjE4NDMzLG5tcHM6OSxubHBzOjE0LHN3aXRjaEZsYWc6MH0se3FlOjE0MzM3LG5tcHM6MTAsbmxwczoxNCxzd2l0Y2hGbGFnOjB9LHtxZToxMjI4OSxubXBzOjExLG5scHM6MTcsc3dpdGNoRmxhZzowfSx7cWU6OTIxNyxubXBzOjEyLG5scHM6MTgsc3dpdGNoRmxhZzowfSx7cWU6NzE2OSxubXBzOjEzLG5scHM6MjAsc3dpdGNoRmxhZzowfSx7cWU6NTYzMyxubXBzOjI5LG5scHM6MjEsc3dpdGNoRmxhZzowfSx7cWU6MjIwMTcsbm1wczoxNSxubHBzOjE0LHN3aXRjaEZsYWc6MX0se3FlOjIxNTA1LG5tcHM6MTYsbmxwczoxNCxzd2l0Y2hGbGFnOjB9LHtxZToyMDczNyxubXBzOjE3LG5scHM6MTUsc3dpdGNoRmxhZzowfSx7cWU6MTg0MzMsbm1wczoxOCxubHBzOjE2LHN3aXRjaEZsYWc6MH0se3FlOjE0MzM3LG5tcHM6MTksbmxwczoxNyxzd2l0Y2hGbGFnOjB9LHtxZToxMzMxMyxubXBzOjIwLG5scHM6MTgsc3dpdGNoRmxhZzowfSx7cWU6MTIyODksbm1wczoyMSxubHBzOjE5LHN3aXRjaEZsYWc6MH0se3FlOjEwMjQxLG5tcHM6MjIsbmxwczoxOSxzd2l0Y2hGbGFnOjB9LHtxZTo5MjE3LG5tcHM6MjMsbmxwczoyMCxzd2l0Y2hGbGFnOjB9LHtxZTo4NzA1LG5tcHM6MjQsbmxwczoyMSxzd2l0Y2hGbGFnOjB9LHtxZTo3MTY5LG5tcHM6MjUsbmxwczoyMixzd2l0Y2hGbGFnOjB9LHtxZTo2MTQ1LG5tcHM6MjYsbmxwczoyMyxzd2l0Y2hGbGFnOjB9LHtxZTo1NjMzLG5tcHM6MjcsbmxwczoyNCxzd2l0Y2hGbGFnOjB9LHtxZTo1MTIxLG5tcHM6MjgsbmxwczoyNSxzd2l0Y2hGbGFnOjB9LHtxZTo0NjA5LG5tcHM6MjksbmxwczoyNixzd2l0Y2hGbGFnOjB9LHtxZTo0MzUzLG5tcHM6MzAsbmxwczoyNyxzd2l0Y2hGbGFnOjB9LHtxZToyNzUzLG5tcHM6MzEsbmxwczoyOCxzd2l0Y2hGbGFnOjB9LHtxZToyNDk3LG5tcHM6MzIsbmxwczoyOSxzd2l0Y2hGbGFnOjB9LHtxZToyMjA5LG5tcHM6MzMsbmxwczozMCxzd2l0Y2hGbGFnOjB9LHtxZToxMzEzLG5tcHM6MzQsbmxwczozMSxzd2l0Y2hGbGFnOjB9LHtxZToxMDg5LG5tcHM6MzUsbmxwczozMixzd2l0Y2hGbGFnOjB9LHtxZTo2NzMsbm1wczozNixubHBzOjMzLHN3aXRjaEZsYWc6MH0se3FlOjU0NSxubXBzOjM3LG5scHM6MzQsc3dpdGNoRmxhZzowfSx7cWU6MzIxLG5tcHM6MzgsbmxwczozNSxzd2l0Y2hGbGFnOjB9LHtxZToyNzMsbm1wczozOSxubHBzOjM2LHN3aXRjaEZsYWc6MH0se3FlOjEzMyxubXBzOjQwLG5scHM6Mzcsc3dpdGNoRmxhZzowfSx7cWU6NzMsbm1wczo0MSxubHBzOjM4LHN3aXRjaEZsYWc6MH0se3FlOjM3LG5tcHM6NDIsbmxwczozOSxzd2l0Y2hGbGFnOjB9LHtxZToyMSxubXBzOjQzLG5scHM6NDAsc3dpdGNoRmxhZzowfSx7cWU6OSxubXBzOjQ0LG5scHM6NDEsc3dpdGNoRmxhZzowfSx7cWU6NSxubXBzOjQ1LG5scHM6NDIsc3dpdGNoRmxhZzowfSx7cWU6MSxubXBzOjQ1LG5scHM6NDMsc3dpdGNoRmxhZzowfSx7cWU6MjIwMTcsbm1wczo0NixubHBzOjQ2LHN3aXRjaEZsYWc6MH1dO2NsYXNzIEFyaXRobWV0aWNEZWNvZGVye2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmRhdGE9ZTt0aGlzLmJwPXQ7dGhpcy5kYXRhRW5kPWk7dGhpcy5jaGlnaD1lW3RdO3RoaXMuY2xvdz0wO3RoaXMuYnl0ZUluKCk7dGhpcy5jaGlnaD10aGlzLmNoaWdoPDw3JjY1NTM1fHRoaXMuY2xvdz4+OSYxMjc7dGhpcy5jbG93PXRoaXMuY2xvdzw8NyY2NTUzNTt0aGlzLmN0LT03O3RoaXMuYT0zMjc2OH1ieXRlSW4oKXtjb25zdCBlPXRoaXMuZGF0YTtsZXQgdD10aGlzLmJwO2lmKDI1NT09PWVbdF0paWYoZVt0KzFdPjE0Myl7dGhpcy5jbG93Kz02NTI4MDt0aGlzLmN0PTh9ZWxzZXt0Kys7dGhpcy5jbG93Kz1lW3RdPDw5O3RoaXMuY3Q9Nzt0aGlzLmJwPXR9ZWxzZXt0Kys7dGhpcy5jbG93Kz10PHRoaXMuZGF0YUVuZD9lW3RdPDw4OjY1MjgwO3RoaXMuY3Q9ODt0aGlzLmJwPXR9aWYodGhpcy5jbG93PjY1NTM1KXt0aGlzLmNoaWdoKz10aGlzLmNsb3c+PjE2O3RoaXMuY2xvdyY9NjU1MzV9fXJlYWRCaXQoZSx0KXtsZXQgaT1lW3RdPj4xLGE9MSZlW3RdO2NvbnN0IHM9V3RbaV0scj1zLnFlO2xldCBuLGc9dGhpcy5hLXI7aWYodGhpcy5jaGlnaDxyKWlmKGc8cil7Zz1yO249YTtpPXMubm1wc31lbHNle2c9cjtuPTFeYTsxPT09cy5zd2l0Y2hGbGFnJiYoYT1uKTtpPXMubmxwc31lbHNle3RoaXMuY2hpZ2gtPXI7aWYoMCE9KDMyNzY4JmcpKXt0aGlzLmE9ZztyZXR1cm4gYX1pZihnPHIpe249MV5hOzE9PT1zLnN3aXRjaEZsYWcmJihhPW4pO2k9cy5ubHBzfWVsc2V7bj1hO2k9cy5ubXBzfX1kb3swPT09dGhpcy5jdCYmdGhpcy5ieXRlSW4oKTtnPDw9MTt0aGlzLmNoaWdoPXRoaXMuY2hpZ2g8PDEmNjU1MzV8dGhpcy5jbG93Pj4xNSYxO3RoaXMuY2xvdz10aGlzLmNsb3c8PDEmNjU1MzU7dGhpcy5jdC0tfXdoaWxlKDA9PSgzMjc2OCZnKSk7dGhpcy5hPWc7ZVt0XT1pPDwxfGE7cmV0dXJuIG59fWNsYXNzIEpiaWcyRXJyb3IgZXh0ZW5kcyBvdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJKYmlnMkVycm9yIil9fWNsYXNzIENvbnRleHRDYWNoZXtnZXRDb250ZXh0cyhlKXtyZXR1cm4gZSBpbiB0aGlzP3RoaXNbZV06dGhpc1tlXT1uZXcgSW50OEFycmF5KDY1NTM2KX19Y2xhc3MgRGVjb2RpbmdDb250ZXh0e2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmRhdGE9ZTt0aGlzLnN0YXJ0PXQ7dGhpcy5lbmQ9aX1nZXQgZGVjb2Rlcigpe3JldHVybiBzaGFkb3codGhpcywiZGVjb2RlciIsbmV3IEFyaXRobWV0aWNEZWNvZGVyKHRoaXMuZGF0YSx0aGlzLnN0YXJ0LHRoaXMuZW5kKSl9Z2V0IGNvbnRleHRDYWNoZSgpe3JldHVybiBzaGFkb3codGhpcywiY29udGV4dENhY2hlIixuZXcgQ29udGV4dENhY2hlKX19Y29uc3QganQ9MioqMzEtMSxYdD0tKDIqKjMxKTtmdW5jdGlvbiBkZWNvZGVJbnRlZ2VyKGUsdCxpKXtjb25zdCBhPWUuZ2V0Q29udGV4dHModCk7bGV0IHM9MTtmdW5jdGlvbiByZWFkQml0cyhlKXtsZXQgdD0wO2ZvcihsZXQgcj0wO3I8ZTtyKyspe2NvbnN0IGU9aS5yZWFkQml0KGEscyk7cz1zPDI1Nj9zPDwxfGU6NTExJihzPDwxfGUpfDI1Njt0PXQ8PDF8ZX1yZXR1cm4gdD4+PjB9Y29uc3Qgcj1yZWFkQml0cygxKSxuPXJlYWRCaXRzKDEpP3JlYWRCaXRzKDEpP3JlYWRCaXRzKDEpP3JlYWRCaXRzKDEpP3JlYWRCaXRzKDEpP3JlYWRCaXRzKDMyKSs0NDM2OnJlYWRCaXRzKDEyKSszNDA6cmVhZEJpdHMoOCkrODQ6cmVhZEJpdHMoNikrMjA6cmVhZEJpdHMoNCkrNDpyZWFkQml0cygyKTtsZXQgZzswPT09cj9nPW46bj4wJiYoZz0tbik7cmV0dXJuIGc+PVh0JiZnPD1qdD9nOm51bGx9ZnVuY3Rpb24gZGVjb2RlSUFJRChlLHQsaSl7Y29uc3QgYT1lLmdldENvbnRleHRzKCJJQUlEIik7bGV0IHM9MTtmb3IobGV0IGU9MDtlPGk7ZSsrKXtzPXM8PDF8dC5yZWFkQml0KGEscyl9cmV0dXJuIGk8MzE/cyYoMTw8aSktMToyMTQ3NDgzNjQ3JnN9Y29uc3QgWnQ9WyJTeW1ib2xEaWN0aW9uYXJ5IixudWxsLG51bGwsbnVsbCwiSW50ZXJtZWRpYXRlVGV4dFJlZ2lvbiIsbnVsbCwiSW1tZWRpYXRlVGV4dFJlZ2lvbiIsIkltbWVkaWF0ZUxvc3NsZXNzVGV4dFJlZ2lvbiIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCJQYXR0ZXJuRGljdGlvbmFyeSIsbnVsbCxudWxsLG51bGwsIkludGVybWVkaWF0ZUhhbGZ0b25lUmVnaW9uIixudWxsLCJJbW1lZGlhdGVIYWxmdG9uZVJlZ2lvbiIsIkltbWVkaWF0ZUxvc3NsZXNzSGFsZnRvbmVSZWdpb24iLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCJJbnRlcm1lZGlhdGVHZW5lcmljUmVnaW9uIixudWxsLCJJbW1lZGlhdGVHZW5lcmljUmVnaW9uIiwiSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVnaW9uIiwiSW50ZXJtZWRpYXRlR2VuZXJpY1JlZmluZW1lbnRSZWdpb24iLG51bGwsIkltbWVkaWF0ZUdlbmVyaWNSZWZpbmVtZW50UmVnaW9uIiwiSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVmaW5lbWVudFJlZ2lvbiIsbnVsbCxudWxsLG51bGwsbnVsbCwiUGFnZUluZm9ybWF0aW9uIiwiRW5kT2ZQYWdlIiwiRW5kT2ZTdHJpcGUiLCJFbmRPZkZpbGUiLCJQcm9maWxlcyIsIlRhYmxlcyIsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCJFeHRlbnNpb24iXSxWdD1bW3t4Oi0xLHk6LTJ9LHt4OjAseTotMn0se3g6MSx5Oi0yfSx7eDotMix5Oi0xfSx7eDotMSx5Oi0xfSx7eDowLHk6LTF9LHt4OjEseTotMX0se3g6Mix5Oi0xfSx7eDotNCx5OjB9LHt4Oi0zLHk6MH0se3g6LTIseTowfSx7eDotMSx5OjB9XSxbe3g6LTEseTotMn0se3g6MCx5Oi0yfSx7eDoxLHk6LTJ9LHt4OjIseTotMn0se3g6LTIseTotMX0se3g6LTEseTotMX0se3g6MCx5Oi0xfSx7eDoxLHk6LTF9LHt4OjIseTotMX0se3g6LTMseTowfSx7eDotMix5OjB9LHt4Oi0xLHk6MH1dLFt7eDotMSx5Oi0yfSx7eDowLHk6LTJ9LHt4OjEseTotMn0se3g6LTIseTotMX0se3g6LTEseTotMX0se3g6MCx5Oi0xfSx7eDoxLHk6LTF9LHt4Oi0yLHk6MH0se3g6LTEseTowfV0sW3t4Oi0zLHk6LTF9LHt4Oi0yLHk6LTF9LHt4Oi0xLHk6LTF9LHt4OjAseTotMX0se3g6MSx5Oi0xfSx7eDotNCx5OjB9LHt4Oi0zLHk6MH0se3g6LTIseTowfSx7eDotMSx5OjB9XV0senQ9W3tjb2Rpbmc6W3t4OjAseTotMX0se3g6MSx5Oi0xfSx7eDotMSx5OjB9XSxyZWZlcmVuY2U6W3t4OjAseTotMX0se3g6MSx5Oi0xfSx7eDotMSx5OjB9LHt4OjAseTowfSx7eDoxLHk6MH0se3g6LTEseToxfSx7eDowLHk6MX0se3g6MSx5OjF9XX0se2NvZGluZzpbe3g6LTEseTotMX0se3g6MCx5Oi0xfSx7eDoxLHk6LTF9LHt4Oi0xLHk6MH1dLHJlZmVyZW5jZTpbe3g6MCx5Oi0xfSx7eDotMSx5OjB9LHt4OjAseTowfSx7eDoxLHk6MH0se3g6MCx5OjF9LHt4OjEseToxfV19XSxfdD1bMzk3MTcsMTk0MSwyMjksNDA1XSwkdD1bMzIsOF07ZnVuY3Rpb24gZGVjb2RlQml0bWFwKGUsdCxpLGEscyxyLG4sZyl7aWYoZSl7cmV0dXJuIGRlY29kZU1NUkJpdG1hcChuZXcgUmVhZGVyKGcuZGF0YSxnLnN0YXJ0LGcuZW5kKSx0LGksITEpfWlmKDA9PT1hJiYhciYmIXMmJjQ9PT1uLmxlbmd0aCYmMz09PW5bMF0ueCYmLTE9PT1uWzBdLnkmJi0zPT09blsxXS54JiYtMT09PW5bMV0ueSYmMj09PW5bMl0ueCYmLTI9PT1uWzJdLnkmJi0yPT09blszXS54JiYtMj09PW5bM10ueSlyZXR1cm4gZnVuY3Rpb24gZGVjb2RlQml0bWFwVGVtcGxhdGUwKGUsdCxpKXtjb25zdCBhPWkuZGVjb2RlcixzPWkuY29udGV4dENhY2hlLmdldENvbnRleHRzKCJHQiIpLHI9W107bGV0IG4sZyxvLGMsQyxoLGw7Zm9yKGc9MDtnPHQ7ZysrKXtDPXJbZ109bmV3IFVpbnQ4QXJyYXkoZSk7aD1nPDE/QzpyW2ctMV07bD1nPDI/QzpyW2ctMl07bj1sWzBdPDwxM3xsWzFdPDwxMnxsWzJdPDwxMXxoWzBdPDw3fGhbMV08PDZ8aFsyXTw8NXxoWzNdPDw0O2ZvcihvPTA7bzxlO28rKyl7Q1tvXT1jPWEucmVhZEJpdChzLG4pO249KDMxNzM1Jm4pPDwxfChvKzM8ZT9sW28rM108PDExOjApfChvKzQ8ZT9oW28rNF08PDQ6MCl8Y319cmV0dXJuIHJ9KHQsaSxnKTtjb25zdCBvPSEhcixjPVZ0W2FdLmNvbmNhdChuKTtjLnNvcnQoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUueS10Lnl8fGUueC10Lnh9KSk7Y29uc3QgQz1jLmxlbmd0aCxoPW5ldyBJbnQ4QXJyYXkoQyksbD1uZXcgSW50OEFycmF5KEMpLFE9W107bGV0IEUsdSxkPTAsZj0wLHA9MCxtPTA7Zm9yKHU9MDt1PEM7dSsrKXtoW3VdPWNbdV0ueDtsW3VdPWNbdV0ueTtmPU1hdGgubWluKGYsY1t1XS54KTtwPU1hdGgubWF4KHAsY1t1XS54KTttPU1hdGgubWluKG0sY1t1XS55KTt1PEMtMSYmY1t1XS55PT09Y1t1KzFdLnkmJmNbdV0ueD09PWNbdSsxXS54LTE/ZHw9MTw8Qy0xLXU6US5wdXNoKHUpfWNvbnN0IHk9US5sZW5ndGgsdz1uZXcgSW50OEFycmF5KHkpLEQ9bmV3IEludDhBcnJheSh5KSxiPW5ldyBVaW50MTZBcnJheSh5KTtmb3IoRT0wO0U8eTtFKyspe3U9UVtFXTt3W0VdPWNbdV0ueDtEW0VdPWNbdV0ueTtiW0VdPTE8PEMtMS11fWNvbnN0IEY9LWYsUz0tbSxrPXQtcCxSPV90W2FdO2xldCBOPW5ldyBVaW50OEFycmF5KHQpO2NvbnN0IEc9W10seD1nLmRlY29kZXIsVT1nLmNvbnRleHRDYWNoZS5nZXRDb250ZXh0cygiR0IiKTtsZXQgTSxMLEgsSixZLHY9MCxLPTA7Zm9yKGxldCBlPTA7ZTxpO2UrKyl7aWYocyl7dl49eC5yZWFkQml0KFUsUik7aWYodil7Ry5wdXNoKE4pO2NvbnRpbnVlfX1OPW5ldyBVaW50OEFycmF5KE4pO0cucHVzaChOKTtmb3IoTT0wO008dDtNKyspe2lmKG8mJnJbZV1bTV0pe05bTV09MDtjb250aW51ZX1pZihNPj1GJiZNPGsmJmU+PVMpe0s9Szw8MSZkO2Zvcih1PTA7dTx5O3UrKyl7TD1lK0RbdV07SD1NK3dbdV07Sj1HW0xdW0hdO2lmKEope0o9Ylt1XTtLfD1KfX19ZWxzZXtLPTA7WT1DLTE7Zm9yKHU9MDt1PEM7dSsrLFktLSl7SD1NK2hbdV07aWYoSD49MCYmSDx0KXtMPWUrbFt1XTtpZihMPj0wKXtKPUdbTF1bSF07SiYmKEt8PUo8PFkpfX19fWNvbnN0IGk9eC5yZWFkQml0KFUsSyk7TltNXT1pfX1yZXR1cm4gR31mdW5jdGlvbiBkZWNvZGVSZWZpbmVtZW50KGUsdCxpLGEscyxyLG4sZyxvKXtsZXQgYz16dFtpXS5jb2Rpbmc7MD09PWkmJihjPWMuY29uY2F0KFtnWzBdXSkpO2NvbnN0IEM9Yy5sZW5ndGgsaD1uZXcgSW50MzJBcnJheShDKSxsPW5ldyBJbnQzMkFycmF5KEMpO2xldCBRO2ZvcihRPTA7UTxDO1ErKyl7aFtRXT1jW1FdLng7bFtRXT1jW1FdLnl9bGV0IEU9enRbaV0ucmVmZXJlbmNlOzA9PT1pJiYoRT1FLmNvbmNhdChbZ1sxXV0pKTtjb25zdCB1PUUubGVuZ3RoLGQ9bmV3IEludDMyQXJyYXkodSksZj1uZXcgSW50MzJBcnJheSh1KTtmb3IoUT0wO1E8dTtRKyspe2RbUV09RVtRXS54O2ZbUV09RVtRXS55fWNvbnN0IHA9YVswXS5sZW5ndGgsbT1hLmxlbmd0aCx5PSR0W2ldLHc9W10sRD1vLmRlY29kZXIsYj1vLmNvbnRleHRDYWNoZS5nZXRDb250ZXh0cygiR1IiKTtsZXQgRj0wO2ZvcihsZXQgaT0wO2k8dDtpKyspe2lmKG4pe0ZePUQucmVhZEJpdChiLHkpO2lmKEYpdGhyb3cgbmV3IEpiaWcyRXJyb3IoInByZWRpY3Rpb24gaXMgbm90IHN1cHBvcnRlZCIpfWNvbnN0IHQ9bmV3IFVpbnQ4QXJyYXkoZSk7dy5wdXNoKHQpO2ZvcihsZXQgbj0wO248ZTtuKyspe2xldCBnLG8sYz0wO2ZvcihRPTA7UTxDO1ErKyl7Zz1pK2xbUV07bz1uK2hbUV07ZzwwfHxvPDB8fG8+PWU/Yzw8PTE6Yz1jPDwxfHdbZ11bb119Zm9yKFE9MDtRPHU7USsrKXtnPWkrZltRXS1yO289bitkW1FdLXM7ZzwwfHxnPj1tfHxvPDB8fG8+PXA/Yzw8PTE6Yz1jPDwxfGFbZ11bb119Y29uc3QgRT1ELnJlYWRCaXQoYixjKTt0W25dPUV9fXJldHVybiB3fWZ1bmN0aW9uIGRlY29kZVRleHRSZWdpb24oZSx0LGksYSxzLHIsbixnLG8sYyxDLGgsbCxRLEUsdSxkLGYscCl7aWYoZSYmdCl0aHJvdyBuZXcgSmJpZzJFcnJvcigicmVmaW5lbWVudCB3aXRoIEh1ZmZtYW4gaXMgbm90IHN1cHBvcnRlZCIpO2NvbnN0IG09W107bGV0IHksdztmb3IoeT0wO3k8YTt5Kyspe3c9bmV3IFVpbnQ4QXJyYXkoaSk7aWYocylmb3IobGV0IGU9MDtlPGk7ZSsrKXdbZV09czttLnB1c2godyl9Y29uc3QgRD1kLmRlY29kZXIsYj1kLmNvbnRleHRDYWNoZTtsZXQgRj1lPy1RLnRhYmxlRGVsdGFULmRlY29kZShwKTotZGVjb2RlSW50ZWdlcihiLCJJQURUIixEKSxTPTA7eT0wO2Zvcig7eTxyOyl7Ris9ZT9RLnRhYmxlRGVsdGFULmRlY29kZShwKTpkZWNvZGVJbnRlZ2VyKGIsIklBRFQiLEQpO1MrPWU/US50YWJsZUZpcnN0Uy5kZWNvZGUocCk6ZGVjb2RlSW50ZWdlcihiLCJJQUZTIixEKTtsZXQgYT1TO2Zvcig7Oyl7bGV0IHM9MDtuPjEmJihzPWU/cC5yZWFkQml0cyhmKTpkZWNvZGVJbnRlZ2VyKGIsIklBSVQiLEQpKTtjb25zdCByPW4qRitzLFM9ZT9RLnN5bWJvbElEVGFibGUuZGVjb2RlKHApOmRlY29kZUlBSUQoYixELG8pLGs9dCYmKGU/cC5yZWFkQml0KCk6ZGVjb2RlSW50ZWdlcihiLCJJQVJJIixEKSk7bGV0IFI9Z1tTXSxOPVJbMF0ubGVuZ3RoLEc9Ui5sZW5ndGg7aWYoayl7Y29uc3QgZT1kZWNvZGVJbnRlZ2VyKGIsIklBUkRXIixEKSx0PWRlY29kZUludGVnZXIoYiwiSUFSREgiLEQpO04rPWU7Rys9dDtSPWRlY29kZVJlZmluZW1lbnQoTixHLEUsUiwoZT4+MSkrZGVjb2RlSW50ZWdlcihiLCJJQVJEWCIsRCksKHQ+PjEpK2RlY29kZUludGVnZXIoYiwiSUFSRFkiLEQpLCExLHUsZCl9bGV0IHg9MDtjPzEmaD94PUctMTphKz1HLTE6aD4xP2ErPU4tMTp4PU4tMTtjb25zdCBVPXItKDEmaD8wOkctMSksTT1hLSgyJmg/Ti0xOjApO2xldCBMLEgsSjtpZihjKWZvcihMPTA7TDxHO0wrKyl7dz1tW00rTF07aWYoIXcpY29udGludWU7Sj1SW0xdO2NvbnN0IGU9TWF0aC5taW4oaS1VLE4pO3N3aXRjaChsKXtjYXNlIDA6Zm9yKEg9MDtIPGU7SCsrKXdbVStIXXw9SltIXTticmVhaztjYXNlIDI6Zm9yKEg9MDtIPGU7SCsrKXdbVStIXV49SltIXTticmVhaztkZWZhdWx0OnRocm93IG5ldyBKYmlnMkVycm9yKGBvcGVyYXRvciAke2x9IGlzIG5vdCBzdXBwb3J0ZWRgKX19ZWxzZSBmb3IoSD0wO0g8RztIKyspe3c9bVtVK0hdO2lmKHcpe0o9UltIXTtzd2l0Y2gobCl7Y2FzZSAwOmZvcihMPTA7TDxOO0wrKyl3W00rTF18PUpbTF07YnJlYWs7Y2FzZSAyOmZvcihMPTA7TDxOO0wrKyl3W00rTF1ePUpbTF07YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcihgb3BlcmF0b3IgJHtsfSBpcyBub3Qgc3VwcG9ydGVkYCl9fX15Kys7Y29uc3QgWT1lP1EudGFibGVEZWx0YVMuZGVjb2RlKHApOmRlY29kZUludGVnZXIoYiwiSUFEUyIsRCk7aWYobnVsbD09PVkpYnJlYWs7YSs9eCtZK0N9fXJldHVybiBtfWZ1bmN0aW9uIHJlYWRTZWdtZW50SGVhZGVyKGUsdCl7Y29uc3QgaT17fTtpLm51bWJlcj1yZWFkVWludDMyKGUsdCk7Y29uc3QgYT1lW3QrNF0scz02MyZhO2lmKCFadFtzXSl0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBzZWdtZW50IHR5cGU6ICIrcyk7aS50eXBlPXM7aS50eXBlTmFtZT1adFtzXTtpLmRlZmVycmVkTm9uUmV0YWluPSEhKDEyOCZhKTtjb25zdCByPSEhKDY0JmEpLG49ZVt0KzVdO2xldCBnPW4+PjUmNztjb25zdCBvPVszMSZuXTtsZXQgYz10KzY7aWYoNz09PW4pe2c9NTM2ODcwOTExJnJlYWRVaW50MzIoZSxjLTEpO2MrPTM7bGV0IHQ9Zys3Pj4zO29bMF09ZVtjKytdO2Zvcig7LS10PjA7KW8ucHVzaChlW2MrK10pfWVsc2UgaWYoNT09PW58fDY9PT1uKXRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIHJlZmVycmVkLXRvIGZsYWdzIik7aS5yZXRhaW5CaXRzPW87bGV0IEM9NDtpLm51bWJlcjw9MjU2P0M9MTppLm51bWJlcjw9NjU1MzYmJihDPTIpO2NvbnN0IGg9W107bGV0IGwsUTtmb3IobD0wO2w8ZztsKyspe2xldCB0O3Q9MT09PUM/ZVtjXToyPT09Qz9yZWFkVWludDE2KGUsYyk6cmVhZFVpbnQzMihlLGMpO2gucHVzaCh0KTtjKz1DfWkucmVmZXJyZWRUbz1oO2lmKHIpe2kucGFnZUFzc29jaWF0aW9uPXJlYWRVaW50MzIoZSxjKTtjKz00fWVsc2UgaS5wYWdlQXNzb2NpYXRpb249ZVtjKytdO2kubGVuZ3RoPXJlYWRVaW50MzIoZSxjKTtjKz00O2lmKDQyOTQ5NjcyOTU9PT1pLmxlbmd0aCl7aWYoMzghPT1zKXRocm93IG5ldyBKYmlnMkVycm9yKCJpbnZhbGlkIHVua25vd24gc2VnbWVudCBsZW5ndGgiKTt7Y29uc3QgdD1yZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGUsYyksYT0hISgxJmVbYytBaV0pLHM9NixyPW5ldyBVaW50OEFycmF5KHMpO2lmKCFhKXtyWzBdPTI1NTtyWzFdPTE3Mn1yWzJdPXQuaGVpZ2h0Pj4+MjQmMjU1O3JbM109dC5oZWlnaHQ+PjE2JjI1NTtyWzRdPXQuaGVpZ2h0Pj44JjI1NTtyWzVdPTI1NSZ0LmhlaWdodDtmb3IobD1jLFE9ZS5sZW5ndGg7bDxRO2wrKyl7bGV0IHQ9MDtmb3IoO3Q8cyYmclt0XT09PWVbbCt0XTspdCsrO2lmKHQ9PT1zKXtpLmxlbmd0aD1sK3M7YnJlYWt9fWlmKDQyOTQ5NjcyOTU9PT1pLmxlbmd0aCl0aHJvdyBuZXcgSmJpZzJFcnJvcigic2VnbWVudCBlbmQgd2FzIG5vdCBmb3VuZCIpfX1pLmhlYWRlckVuZD1jO3JldHVybiBpfWZ1bmN0aW9uIHJlYWRTZWdtZW50cyhlLHQsaSxhKXtjb25zdCBzPVtdO2xldCByPWk7Zm9yKDtyPGE7KXtjb25zdCBpPXJlYWRTZWdtZW50SGVhZGVyKHQscik7cj1pLmhlYWRlckVuZDtjb25zdCBhPXtoZWFkZXI6aSxkYXRhOnR9O2lmKCFlLnJhbmRvbUFjY2Vzcyl7YS5zdGFydD1yO3IrPWkubGVuZ3RoO2EuZW5kPXJ9cy5wdXNoKGEpO2lmKDUxPT09aS50eXBlKWJyZWFrfWlmKGUucmFuZG9tQWNjZXNzKWZvcihsZXQgZT0wLHQ9cy5sZW5ndGg7ZTx0O2UrKyl7c1tlXS5zdGFydD1yO3IrPXNbZV0uaGVhZGVyLmxlbmd0aDtzW2VdLmVuZD1yfXJldHVybiBzfWZ1bmN0aW9uIHJlYWRSZWdpb25TZWdtZW50SW5mb3JtYXRpb24oZSx0KXtyZXR1cm57d2lkdGg6cmVhZFVpbnQzMihlLHQpLGhlaWdodDpyZWFkVWludDMyKGUsdCs0KSx4OnJlYWRVaW50MzIoZSx0KzgpLHk6cmVhZFVpbnQzMihlLHQrMTIpLGNvbWJpbmF0aW9uT3BlcmF0b3I6NyZlW3QrMTZdfX1jb25zdCBBaT0xNztmdW5jdGlvbiBwcm9jZXNzU2VnbWVudChlLHQpe2NvbnN0IGk9ZS5oZWFkZXIsYT1lLmRhdGEscz1lLmVuZDtsZXQgcixuLGcsbyxjPWUuc3RhcnQ7c3dpdGNoKGkudHlwZSl7Y2FzZSAwOmNvbnN0IGU9e30sdD1yZWFkVWludDE2KGEsYyk7ZS5odWZmbWFuPSEhKDEmdCk7ZS5yZWZpbmVtZW50PSEhKDImdCk7ZS5odWZmbWFuREhTZWxlY3Rvcj10Pj4yJjM7ZS5odWZmbWFuRFdTZWxlY3Rvcj10Pj40JjM7ZS5iaXRtYXBTaXplU2VsZWN0b3I9dD4+NiYxO2UuYWdncmVnYXRpb25JbnN0YW5jZXNTZWxlY3Rvcj10Pj43JjE7ZS5iaXRtYXBDb2RpbmdDb250ZXh0VXNlZD0hISgyNTYmdCk7ZS5iaXRtYXBDb2RpbmdDb250ZXh0UmV0YWluZWQ9ISEoNTEyJnQpO2UudGVtcGxhdGU9dD4+MTAmMztlLnJlZmluZW1lbnRUZW1wbGF0ZT10Pj4xMiYxO2MrPTI7aWYoIWUuaHVmZm1hbil7bz0wPT09ZS50ZW1wbGF0ZT80OjE7bj1bXTtmb3IoZz0wO2c8bztnKyspe24ucHVzaCh7eDpyZWFkSW50OChhLGMpLHk6cmVhZEludDgoYSxjKzEpfSk7Yys9Mn1lLmF0PW59aWYoZS5yZWZpbmVtZW50JiYhZS5yZWZpbmVtZW50VGVtcGxhdGUpe249W107Zm9yKGc9MDtnPDI7ZysrKXtuLnB1c2goe3g6cmVhZEludDgoYSxjKSx5OnJlYWRJbnQ4KGEsYysxKX0pO2MrPTJ9ZS5yZWZpbmVtZW50QXQ9bn1lLm51bWJlck9mRXhwb3J0ZWRTeW1ib2xzPXJlYWRVaW50MzIoYSxjKTtjKz00O2UubnVtYmVyT2ZOZXdTeW1ib2xzPXJlYWRVaW50MzIoYSxjKTtjKz00O3I9W2UsaS5udW1iZXIsaS5yZWZlcnJlZFRvLGEsYyxzXTticmVhaztjYXNlIDY6Y2FzZSA3OmNvbnN0IEM9e307Qy5pbmZvPXJlYWRSZWdpb25TZWdtZW50SW5mb3JtYXRpb24oYSxjKTtjKz1BaTtjb25zdCBoPXJlYWRVaW50MTYoYSxjKTtjKz0yO0MuaHVmZm1hbj0hISgxJmgpO0MucmVmaW5lbWVudD0hISgyJmgpO0MubG9nU3RyaXBTaXplPWg+PjImMztDLnN0cmlwU2l6ZT0xPDxDLmxvZ1N0cmlwU2l6ZTtDLnJlZmVyZW5jZUNvcm5lcj1oPj40JjM7Qy50cmFuc3Bvc2VkPSEhKDY0JmgpO0MuY29tYmluYXRpb25PcGVyYXRvcj1oPj43JjM7Qy5kZWZhdWx0UGl4ZWxWYWx1ZT1oPj45JjE7Qy5kc09mZnNldD1oPDwxNz4+Mjc7Qy5yZWZpbmVtZW50VGVtcGxhdGU9aD4+MTUmMTtpZihDLmh1ZmZtYW4pe2NvbnN0IGU9cmVhZFVpbnQxNihhLGMpO2MrPTI7Qy5odWZmbWFuRlM9MyZlO0MuaHVmZm1hbkRTPWU+PjImMztDLmh1ZmZtYW5EVD1lPj40JjM7Qy5odWZmbWFuUmVmaW5lbWVudERXPWU+PjYmMztDLmh1ZmZtYW5SZWZpbmVtZW50REg9ZT4+OCYzO0MuaHVmZm1hblJlZmluZW1lbnREWD1lPj4xMCYzO0MuaHVmZm1hblJlZmluZW1lbnREWT1lPj4xMiYzO0MuaHVmZm1hblJlZmluZW1lbnRTaXplU2VsZWN0b3I9ISEoMTYzODQmZSl9aWYoQy5yZWZpbmVtZW50JiYhQy5yZWZpbmVtZW50VGVtcGxhdGUpe249W107Zm9yKGc9MDtnPDI7ZysrKXtuLnB1c2goe3g6cmVhZEludDgoYSxjKSx5OnJlYWRJbnQ4KGEsYysxKX0pO2MrPTJ9Qy5yZWZpbmVtZW50QXQ9bn1DLm51bWJlck9mU3ltYm9sSW5zdGFuY2VzPXJlYWRVaW50MzIoYSxjKTtjKz00O3I9W0MsaS5yZWZlcnJlZFRvLGEsYyxzXTticmVhaztjYXNlIDE2OmNvbnN0IGw9e30sUT1hW2MrK107bC5tbXI9ISEoMSZRKTtsLnRlbXBsYXRlPVE+PjEmMztsLnBhdHRlcm5XaWR0aD1hW2MrK107bC5wYXR0ZXJuSGVpZ2h0PWFbYysrXTtsLm1heFBhdHRlcm5JbmRleD1yZWFkVWludDMyKGEsYyk7Yys9NDtyPVtsLGkubnVtYmVyLGEsYyxzXTticmVhaztjYXNlIDIyOmNhc2UgMjM6Y29uc3QgRT17fTtFLmluZm89cmVhZFJlZ2lvblNlZ21lbnRJbmZvcm1hdGlvbihhLGMpO2MrPUFpO2NvbnN0IHU9YVtjKytdO0UubW1yPSEhKDEmdSk7RS50ZW1wbGF0ZT11Pj4xJjM7RS5lbmFibGVTa2lwPSEhKDgmdSk7RS5jb21iaW5hdGlvbk9wZXJhdG9yPXU+PjQmNztFLmRlZmF1bHRQaXhlbFZhbHVlPXU+PjcmMTtFLmdyaWRXaWR0aD1yZWFkVWludDMyKGEsYyk7Yys9NDtFLmdyaWRIZWlnaHQ9cmVhZFVpbnQzMihhLGMpO2MrPTQ7RS5ncmlkT2Zmc2V0WD00Mjk0OTY3Mjk1JnJlYWRVaW50MzIoYSxjKTtjKz00O0UuZ3JpZE9mZnNldFk9NDI5NDk2NzI5NSZyZWFkVWludDMyKGEsYyk7Yys9NDtFLmdyaWRWZWN0b3JYPXJlYWRVaW50MTYoYSxjKTtjKz0yO0UuZ3JpZFZlY3Rvclk9cmVhZFVpbnQxNihhLGMpO2MrPTI7cj1bRSxpLnJlZmVycmVkVG8sYSxjLHNdO2JyZWFrO2Nhc2UgMzg6Y2FzZSAzOTpjb25zdCBkPXt9O2QuaW5mbz1yZWFkUmVnaW9uU2VnbWVudEluZm9ybWF0aW9uKGEsYyk7Yys9QWk7Y29uc3QgZj1hW2MrK107ZC5tbXI9ISEoMSZmKTtkLnRlbXBsYXRlPWY+PjEmMztkLnByZWRpY3Rpb249ISEoOCZmKTtpZighZC5tbXIpe289MD09PWQudGVtcGxhdGU/NDoxO249W107Zm9yKGc9MDtnPG87ZysrKXtuLnB1c2goe3g6cmVhZEludDgoYSxjKSx5OnJlYWRJbnQ4KGEsYysxKX0pO2MrPTJ9ZC5hdD1ufXI9W2QsYSxjLHNdO2JyZWFrO2Nhc2UgNDg6Y29uc3QgcD17d2lkdGg6cmVhZFVpbnQzMihhLGMpLGhlaWdodDpyZWFkVWludDMyKGEsYys0KSxyZXNvbHV0aW9uWDpyZWFkVWludDMyKGEsYys4KSxyZXNvbHV0aW9uWTpyZWFkVWludDMyKGEsYysxMil9OzQyOTQ5NjcyOTU9PT1wLmhlaWdodCYmZGVsZXRlIHAuaGVpZ2h0O2NvbnN0IG09YVtjKzE2XTtyZWFkVWludDE2KGEsYysxNyk7cC5sb3NzbGVzcz0hISgxJm0pO3AucmVmaW5lbWVudD0hISgyJm0pO3AuZGVmYXVsdFBpeGVsVmFsdWU9bT4+MiYxO3AuY29tYmluYXRpb25PcGVyYXRvcj1tPj4zJjM7cC5yZXF1aXJlc0J1ZmZlcj0hISgzMiZtKTtwLmNvbWJpbmF0aW9uT3BlcmF0b3JPdmVycmlkZT0hISg2NCZtKTtyPVtwXTticmVhaztjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDYyOmJyZWFrO2Nhc2UgNTM6cj1baS5udW1iZXIsYSxjLHNdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoYHNlZ21lbnQgdHlwZSAke2kudHlwZU5hbWV9KCR7aS50eXBlfSkgaXMgbm90IGltcGxlbWVudGVkYCl9Y29uc3QgQz0ib24iK2kudHlwZU5hbWU7QyBpbiB0JiZ0W0NdLmFwcGx5KHQscil9ZnVuY3Rpb24gcHJvY2Vzc1NlZ21lbnRzKGUsdCl7Zm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSsrKXByb2Nlc3NTZWdtZW50KGVbaV0sdCl9Y2xhc3MgU2ltcGxlU2VnbWVudFZpc2l0b3J7b25QYWdlSW5mb3JtYXRpb24oZSl7dGhpcy5jdXJyZW50UGFnZUluZm89ZTtjb25zdCB0PWUud2lkdGgrNz4+MyxpPW5ldyBVaW50OENsYW1wZWRBcnJheSh0KmUuaGVpZ2h0KTtlLmRlZmF1bHRQaXhlbFZhbHVlJiZpLmZpbGwoMjU1KTt0aGlzLmJ1ZmZlcj1pfWRyYXdCaXRtYXAoZSx0KXtjb25zdCBpPXRoaXMuY3VycmVudFBhZ2VJbmZvLGE9ZS53aWR0aCxzPWUuaGVpZ2h0LHI9aS53aWR0aCs3Pj4zLG49aS5jb21iaW5hdGlvbk9wZXJhdG9yT3ZlcnJpZGU/ZS5jb21iaW5hdGlvbk9wZXJhdG9yOmkuY29tYmluYXRpb25PcGVyYXRvcixnPXRoaXMuYnVmZmVyLG89MTI4Pj4oNyZlLngpO2xldCBjLEMsaCxsLFE9ZS55KnIrKGUueD4+Myk7c3dpdGNoKG4pe2Nhc2UgMDpmb3IoYz0wO2M8cztjKyspe2g9bztsPVE7Zm9yKEM9MDtDPGE7QysrKXt0W2NdW0NdJiYoZ1tsXXw9aCk7aD4+PTE7aWYoIWgpe2g9MTI4O2wrK319USs9cn1icmVhaztjYXNlIDI6Zm9yKGM9MDtjPHM7YysrKXtoPW87bD1RO2ZvcihDPTA7QzxhO0MrKyl7dFtjXVtDXSYmKGdbbF1ePWgpO2g+Pj0xO2lmKCFoKXtoPTEyODtsKyt9fVErPXJ9YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcihgb3BlcmF0b3IgJHtufSBpcyBub3Qgc3VwcG9ydGVkYCl9fW9uSW1tZWRpYXRlR2VuZXJpY1JlZ2lvbihlLHQsaSxhKXtjb25zdCBzPWUuaW5mbyxyPW5ldyBEZWNvZGluZ0NvbnRleHQodCxpLGEpLG49ZGVjb2RlQml0bWFwKGUubW1yLHMud2lkdGgscy5oZWlnaHQsZS50ZW1wbGF0ZSxlLnByZWRpY3Rpb24sbnVsbCxlLmF0LHIpO3RoaXMuZHJhd0JpdG1hcChzLG4pfW9uSW1tZWRpYXRlTG9zc2xlc3NHZW5lcmljUmVnaW9uKCl7dGhpcy5vbkltbWVkaWF0ZUdlbmVyaWNSZWdpb24oLi4uYXJndW1lbnRzKX1vblN5bWJvbERpY3Rpb25hcnkoZSx0LGksYSxzLHIpe2xldCBuLGc7aWYoZS5odWZmbWFuKXtuPWZ1bmN0aW9uIGdldFN5bWJvbERpY3Rpb25hcnlIdWZmbWFuVGFibGVzKGUsdCxpKXtsZXQgYSxzLHIsbixnPTA7c3dpdGNoKGUuaHVmZm1hbkRIU2VsZWN0b3Ipe2Nhc2UgMDpjYXNlIDE6YT1nZXRTdGFuZGFyZFRhYmxlKGUuaHVmZm1hbkRIU2VsZWN0b3IrNCk7YnJlYWs7Y2FzZSAzOmE9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGcsdCxpKTtnKys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIERIIHNlbGVjdG9yIil9c3dpdGNoKGUuaHVmZm1hbkRXU2VsZWN0b3Ipe2Nhc2UgMDpjYXNlIDE6cz1nZXRTdGFuZGFyZFRhYmxlKGUuaHVmZm1hbkRXU2VsZWN0b3IrMik7YnJlYWs7Y2FzZSAzOnM9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGcsdCxpKTtnKys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIERXIHNlbGVjdG9yIil9aWYoZS5iaXRtYXBTaXplU2VsZWN0b3Ipe3I9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGcsdCxpKTtnKyt9ZWxzZSByPWdldFN0YW5kYXJkVGFibGUoMSk7bj1lLmFnZ3JlZ2F0aW9uSW5zdGFuY2VzU2VsZWN0b3I/Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGcsdCxpKTpnZXRTdGFuZGFyZFRhYmxlKDEpO3JldHVybnt0YWJsZURlbHRhSGVpZ2h0OmEsdGFibGVEZWx0YVdpZHRoOnMsdGFibGVCaXRtYXBTaXplOnIsdGFibGVBZ2dyZWdhdGVJbnN0YW5jZXM6bn19KGUsaSx0aGlzLmN1c3RvbVRhYmxlcyk7Zz1uZXcgUmVhZGVyKGEscyxyKX1sZXQgbz10aGlzLnN5bWJvbHM7b3x8KHRoaXMuc3ltYm9scz1vPXt9KTtjb25zdCBjPVtdO2Zvcihjb25zdCBlIG9mIGkpe2NvbnN0IHQ9b1tlXTt0JiZjLnB1c2goLi4udCl9Y29uc3QgQz1uZXcgRGVjb2RpbmdDb250ZXh0KGEscyxyKTtvW3RdPWZ1bmN0aW9uIGRlY29kZVN5bWJvbERpY3Rpb25hcnkoZSx0LGksYSxzLHIsbixnLG8sYyxDLGgpe2lmKGUmJnQpdGhyb3cgbmV3IEpiaWcyRXJyb3IoInN5bWJvbCByZWZpbmVtZW50IHdpdGggSHVmZm1hbiBpcyBub3Qgc3VwcG9ydGVkIik7Y29uc3QgbD1bXTtsZXQgUT0wLEU9bG9nMihpLmxlbmd0aCthKTtjb25zdCB1PUMuZGVjb2RlcixkPUMuY29udGV4dENhY2hlO2xldCBmLHA7aWYoZSl7Zj1nZXRTdGFuZGFyZFRhYmxlKDEpO3A9W107RT1NYXRoLm1heChFLDEpfWZvcig7bC5sZW5ndGg8YTspe1ErPWU/ci50YWJsZURlbHRhSGVpZ2h0LmRlY29kZShoKTpkZWNvZGVJbnRlZ2VyKGQsIklBREgiLHUpO2xldCBhPTAscz0wO2NvbnN0IGY9ZT9wLmxlbmd0aDowO2Zvcig7Oyl7Y29uc3QgZj1lP3IudGFibGVEZWx0YVdpZHRoLmRlY29kZShoKTpkZWNvZGVJbnRlZ2VyKGQsIklBRFciLHUpO2lmKG51bGw9PT1mKWJyZWFrO2ErPWY7cys9YTtsZXQgbTtpZih0KXtjb25zdCBzPWRlY29kZUludGVnZXIoZCwiSUFBSSIsdSk7aWYocz4xKW09ZGVjb2RlVGV4dFJlZ2lvbihlLHQsYSxRLDAscywxLGkuY29uY2F0KGwpLEUsMCwwLDEsMCxyLG8sYyxDLDAsaCk7ZWxzZXtjb25zdCBlPWRlY29kZUlBSUQoZCx1LEUpLHQ9ZGVjb2RlSW50ZWdlcihkLCJJQVJEWCIsdSkscz1kZWNvZGVJbnRlZ2VyKGQsIklBUkRZIix1KTttPWRlY29kZVJlZmluZW1lbnQoYSxRLG8sZTxpLmxlbmd0aD9pW2VdOmxbZS1pLmxlbmd0aF0sdCxzLCExLGMsQyl9bC5wdXNoKG0pfWVsc2UgaWYoZSlwLnB1c2goYSk7ZWxzZXttPWRlY29kZUJpdG1hcCghMSxhLFEsbiwhMSxudWxsLGcsQyk7bC5wdXNoKG0pfX1pZihlJiYhdCl7Y29uc3QgZT1yLnRhYmxlQml0bWFwU2l6ZS5kZWNvZGUoaCk7aC5ieXRlQWxpZ24oKTtsZXQgdDtpZigwPT09ZSl0PXJlYWRVbmNvbXByZXNzZWRCaXRtYXAoaCxzLFEpO2Vsc2V7Y29uc3QgaT1oLmVuZCxhPWgucG9zaXRpb24rZTtoLmVuZD1hO3Q9ZGVjb2RlTU1SQml0bWFwKGgscyxRLCExKTtoLmVuZD1pO2gucG9zaXRpb249YX1jb25zdCBpPXAubGVuZ3RoO2lmKGY9PT1pLTEpbC5wdXNoKHQpO2Vsc2V7bGV0IGUsYSxzLHIsbixnPTA7Zm9yKGU9ZjtlPGk7ZSsrKXtyPXBbZV07cz1nK3I7bj1bXTtmb3IoYT0wO2E8UTthKyspbi5wdXNoKHRbYV0uc3ViYXJyYXkoZyxzKSk7bC5wdXNoKG4pO2c9c319fX1jb25zdCBtPVtdLHk9W107bGV0IHcsRCxiPSExO2NvbnN0IEY9aS5sZW5ndGgrYTtmb3IoO3kubGVuZ3RoPEY7KXtsZXQgdD1lP2YuZGVjb2RlKGgpOmRlY29kZUludGVnZXIoZCwiSUFFWCIsdSk7Zm9yKDt0LS07KXkucHVzaChiKTtiPSFifWZvcih3PTAsRD1pLmxlbmd0aDt3PEQ7dysrKXlbd10mJm0ucHVzaChpW3ddKTtmb3IobGV0IGU9MDtlPGE7dysrLGUrKyl5W3ddJiZtLnB1c2gobFtlXSk7cmV0dXJuIG19KGUuaHVmZm1hbixlLnJlZmluZW1lbnQsYyxlLm51bWJlck9mTmV3U3ltYm9scyxlLm51bWJlck9mRXhwb3J0ZWRTeW1ib2xzLG4sZS50ZW1wbGF0ZSxlLmF0LGUucmVmaW5lbWVudFRlbXBsYXRlLGUucmVmaW5lbWVudEF0LEMsZyl9b25JbW1lZGlhdGVUZXh0UmVnaW9uKGUsdCxpLGEscyl7Y29uc3Qgcj1lLmluZm87bGV0IG4sZztjb25zdCBvPXRoaXMuc3ltYm9scyxjPVtdO2Zvcihjb25zdCBlIG9mIHQpe2NvbnN0IHQ9b1tlXTt0JiZjLnB1c2goLi4udCl9Y29uc3QgQz1sb2cyKGMubGVuZ3RoKTtpZihlLmh1ZmZtYW4pe2c9bmV3IFJlYWRlcihpLGEscyk7bj1mdW5jdGlvbiBnZXRUZXh0UmVnaW9uSHVmZm1hblRhYmxlcyhlLHQsaSxhLHMpe2NvbnN0IHI9W107Zm9yKGxldCBlPTA7ZTw9MzQ7ZSsrKXtjb25zdCB0PXMucmVhZEJpdHMoNCk7ci5wdXNoKG5ldyBIdWZmbWFuTGluZShbZSx0LDAsMF0pKX1jb25zdCBuPW5ldyBIdWZmbWFuVGFibGUociwhMSk7ci5sZW5ndGg9MDtmb3IobGV0IGU9MDtlPGE7KXtjb25zdCB0PW4uZGVjb2RlKHMpO2lmKHQ+PTMyKXtsZXQgaSxhLG47c3dpdGNoKHQpe2Nhc2UgMzI6aWYoMD09PWUpdGhyb3cgbmV3IEpiaWcyRXJyb3IoIm5vIHByZXZpb3VzIHZhbHVlIGluIHN5bWJvbCBJRCB0YWJsZSIpO2E9cy5yZWFkQml0cygyKSszO2k9cltlLTFdLnByZWZpeExlbmd0aDticmVhaztjYXNlIDMzOmE9cy5yZWFkQml0cygzKSszO2k9MDticmVhaztjYXNlIDM0OmE9cy5yZWFkQml0cyg3KSsxMTtpPTA7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBjb2RlIGxlbmd0aCBpbiBzeW1ib2wgSUQgdGFibGUiKX1mb3Iobj0wO248YTtuKyspe3IucHVzaChuZXcgSHVmZm1hbkxpbmUoW2UsaSwwLDBdKSk7ZSsrfX1lbHNle3IucHVzaChuZXcgSHVmZm1hbkxpbmUoW2UsdCwwLDBdKSk7ZSsrfX1zLmJ5dGVBbGlnbigpO2NvbnN0IGc9bmV3IEh1ZmZtYW5UYWJsZShyLCExKTtsZXQgbyxjLEMsaD0wO3N3aXRjaChlLmh1ZmZtYW5GUyl7Y2FzZSAwOmNhc2UgMTpvPWdldFN0YW5kYXJkVGFibGUoZS5odWZmbWFuRlMrNik7YnJlYWs7Y2FzZSAzOm89Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGgsdCxpKTtoKys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIEZTIHNlbGVjdG9yIil9c3dpdGNoKGUuaHVmZm1hbkRTKXtjYXNlIDA6Y2FzZSAxOmNhc2UgMjpjPWdldFN0YW5kYXJkVGFibGUoZS5odWZmbWFuRFMrOCk7YnJlYWs7Y2FzZSAzOmM9Z2V0Q3VzdG9tSHVmZm1hblRhYmxlKGgsdCxpKTtoKys7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcigiaW52YWxpZCBIdWZmbWFuIERTIHNlbGVjdG9yIil9c3dpdGNoKGUuaHVmZm1hbkRUKXtjYXNlIDA6Y2FzZSAxOmNhc2UgMjpDPWdldFN0YW5kYXJkVGFibGUoZS5odWZmbWFuRFQrMTEpO2JyZWFrO2Nhc2UgMzpDPWdldEN1c3RvbUh1ZmZtYW5UYWJsZShoLHQsaSk7aCsrO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgSHVmZm1hbiBEVCBzZWxlY3RvciIpfWlmKGUucmVmaW5lbWVudCl0aHJvdyBuZXcgSmJpZzJFcnJvcigicmVmaW5lbWVudCB3aXRoIEh1ZmZtYW4gaXMgbm90IHN1cHBvcnRlZCIpO3JldHVybntzeW1ib2xJRFRhYmxlOmcsdGFibGVGaXJzdFM6byx0YWJsZURlbHRhUzpjLHRhYmxlRGVsdGFUOkN9fShlLHQsdGhpcy5jdXN0b21UYWJsZXMsYy5sZW5ndGgsZyl9Y29uc3QgaD1uZXcgRGVjb2RpbmdDb250ZXh0KGksYSxzKSxsPWRlY29kZVRleHRSZWdpb24oZS5odWZmbWFuLGUucmVmaW5lbWVudCxyLndpZHRoLHIuaGVpZ2h0LGUuZGVmYXVsdFBpeGVsVmFsdWUsZS5udW1iZXJPZlN5bWJvbEluc3RhbmNlcyxlLnN0cmlwU2l6ZSxjLEMsZS50cmFuc3Bvc2VkLGUuZHNPZmZzZXQsZS5yZWZlcmVuY2VDb3JuZXIsZS5jb21iaW5hdGlvbk9wZXJhdG9yLG4sZS5yZWZpbmVtZW50VGVtcGxhdGUsZS5yZWZpbmVtZW50QXQsaCxlLmxvZ1N0cmlwU2l6ZSxnKTt0aGlzLmRyYXdCaXRtYXAocixsKX1vbkltbWVkaWF0ZUxvc3NsZXNzVGV4dFJlZ2lvbigpe3RoaXMub25JbW1lZGlhdGVUZXh0UmVnaW9uKC4uLmFyZ3VtZW50cyl9b25QYXR0ZXJuRGljdGlvbmFyeShlLHQsaSxhLHMpe2xldCByPXRoaXMucGF0dGVybnM7cnx8KHRoaXMucGF0dGVybnM9cj17fSk7Y29uc3Qgbj1uZXcgRGVjb2RpbmdDb250ZXh0KGksYSxzKTtyW3RdPWZ1bmN0aW9uIGRlY29kZVBhdHRlcm5EaWN0aW9uYXJ5KGUsdCxpLGEscyxyKXtjb25zdCBuPVtdO2lmKCFlKXtuLnB1c2goe3g6LXQseTowfSk7MD09PXMmJm4ucHVzaCh7eDotMyx5Oi0xfSx7eDoyLHk6LTJ9LHt4Oi0yLHk6LTJ9KX1jb25zdCBnPWRlY29kZUJpdG1hcChlLChhKzEpKnQsaSxzLCExLG51bGwsbixyKSxvPVtdO2ZvcihsZXQgZT0wO2U8PWE7ZSsrKXtjb25zdCBhPVtdLHM9dCplLHI9cyt0O2ZvcihsZXQgZT0wO2U8aTtlKyspYS5wdXNoKGdbZV0uc3ViYXJyYXkocyxyKSk7by5wdXNoKGEpfXJldHVybiBvfShlLm1tcixlLnBhdHRlcm5XaWR0aCxlLnBhdHRlcm5IZWlnaHQsZS5tYXhQYXR0ZXJuSW5kZXgsZS50ZW1wbGF0ZSxuKX1vbkltbWVkaWF0ZUhhbGZ0b25lUmVnaW9uKGUsdCxpLGEscyl7Y29uc3Qgcj10aGlzLnBhdHRlcm5zW3RbMF1dLG49ZS5pbmZvLGc9bmV3IERlY29kaW5nQ29udGV4dChpLGEscyksbz1mdW5jdGlvbiBkZWNvZGVIYWxmdG9uZVJlZ2lvbihlLHQsaSxhLHMscixuLGcsbyxjLEMsaCxsLFEsRSl7aWYobil0aHJvdyBuZXcgSmJpZzJFcnJvcigic2tpcCBpcyBub3Qgc3VwcG9ydGVkIik7aWYoMCE9PWcpdGhyb3cgbmV3IEpiaWcyRXJyb3IoYG9wZXJhdG9yICIke2d9IiBpcyBub3Qgc3VwcG9ydGVkIGluIGhhbGZ0b25lIHJlZ2lvbmApO2NvbnN0IHU9W107bGV0IGQsZixwO2ZvcihkPTA7ZDxzO2QrKyl7cD1uZXcgVWludDhBcnJheShhKTtpZihyKWZvcihmPTA7ZjxhO2YrKylwW2ZdPXI7dS5wdXNoKHApfWNvbnN0IG09dC5sZW5ndGgseT10WzBdLHc9eVswXS5sZW5ndGgsRD15Lmxlbmd0aCxiPWxvZzIobSksRj1bXTtpZighZSl7Ri5wdXNoKHt4Omk8PTE/MzoyLHk6LTF9KTswPT09aSYmRi5wdXNoKHt4Oi0zLHk6LTF9LHt4OjIseTotMn0se3g6LTIseTotMn0pfWNvbnN0IFM9W107bGV0IGssUixOLEcseCxVLE0sTCxILEosWTtlJiYoaz1uZXcgUmVhZGVyKEUuZGF0YSxFLnN0YXJ0LEUuZW5kKSk7Zm9yKGQ9Yi0xO2Q+PTA7ZC0tKXtSPWU/ZGVjb2RlTU1SQml0bWFwKGssbyxjLCEwKTpkZWNvZGVCaXRtYXAoITEsbyxjLGksITEsbnVsbCxGLEUpO1NbZF09Un1mb3IoTj0wO048YztOKyspZm9yKEc9MDtHPG87RysrKXt4PTA7VT0wO2ZvcihmPWItMTtmPj0wO2YtLSl7eF49U1tmXVtOXVtHXTtVfD14PDxmfU09dFtVXTtMPUMrTipRK0cqbD4+ODtIPWgrTipsLUcqUT4+ODtpZihMPj0wJiZMK3c8PWEmJkg+PTAmJkgrRDw9cylmb3IoZD0wO2Q8RDtkKyspe1k9dVtIK2RdO0o9TVtkXTtmb3IoZj0wO2Y8dztmKyspWVtMK2ZdfD1KW2ZdfWVsc2V7bGV0IGUsdDtmb3IoZD0wO2Q8RDtkKyspe3Q9SCtkO2lmKCEodDwwfHx0Pj1zKSl7WT11W3RdO0o9TVtkXTtmb3IoZj0wO2Y8dztmKyspe2U9TCtmO2U+PTAmJmU8YSYmKFlbZV18PUpbZl0pfX19fX1yZXR1cm4gdX0oZS5tbXIscixlLnRlbXBsYXRlLG4ud2lkdGgsbi5oZWlnaHQsZS5kZWZhdWx0UGl4ZWxWYWx1ZSxlLmVuYWJsZVNraXAsZS5jb21iaW5hdGlvbk9wZXJhdG9yLGUuZ3JpZFdpZHRoLGUuZ3JpZEhlaWdodCxlLmdyaWRPZmZzZXRYLGUuZ3JpZE9mZnNldFksZS5ncmlkVmVjdG9yWCxlLmdyaWRWZWN0b3JZLGcpO3RoaXMuZHJhd0JpdG1hcChuLG8pfW9uSW1tZWRpYXRlTG9zc2xlc3NIYWxmdG9uZVJlZ2lvbigpe3RoaXMub25JbW1lZGlhdGVIYWxmdG9uZVJlZ2lvbiguLi5hcmd1bWVudHMpfW9uVGFibGVzKGUsdCxpLGEpe2xldCBzPXRoaXMuY3VzdG9tVGFibGVzO3N8fCh0aGlzLmN1c3RvbVRhYmxlcz1zPXt9KTtzW2VdPWZ1bmN0aW9uIGRlY29kZVRhYmxlc1NlZ21lbnQoZSx0LGkpe2NvbnN0IGE9ZVt0XSxzPTQyOTQ5NjcyOTUmcmVhZFVpbnQzMihlLHQrMSkscj00Mjk0OTY3Mjk1JnJlYWRVaW50MzIoZSx0KzUpLG49bmV3IFJlYWRlcihlLHQrOSxpKSxnPTErKGE+PjEmNyksbz0xKyhhPj40JjcpLGM9W107bGV0IEMsaCxsPXM7ZG97Qz1uLnJlYWRCaXRzKGcpO2g9bi5yZWFkQml0cyhvKTtjLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtsLEMsaCwwXSkpO2wrPTE8PGh9d2hpbGUobDxyKTtDPW4ucmVhZEJpdHMoZyk7Yy5wdXNoKG5ldyBIdWZmbWFuTGluZShbcy0xLEMsMzIsMCwibG93ZXIiXSkpO0M9bi5yZWFkQml0cyhnKTtjLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtyLEMsMzIsMF0pKTtpZigxJmEpe0M9bi5yZWFkQml0cyhnKTtjLnB1c2gobmV3IEh1ZmZtYW5MaW5lKFtDLDBdKSl9cmV0dXJuIG5ldyBIdWZmbWFuVGFibGUoYywhMSl9KHQsaSxhKX19Y2xhc3MgSHVmZm1hbkxpbmV7Y29uc3RydWN0b3IoZSl7aWYoMj09PWUubGVuZ3RoKXt0aGlzLmlzT09CPSEwO3RoaXMucmFuZ2VMb3c9MDt0aGlzLnByZWZpeExlbmd0aD1lWzBdO3RoaXMucmFuZ2VMZW5ndGg9MDt0aGlzLnByZWZpeENvZGU9ZVsxXTt0aGlzLmlzTG93ZXJSYW5nZT0hMX1lbHNle3RoaXMuaXNPT0I9ITE7dGhpcy5yYW5nZUxvdz1lWzBdO3RoaXMucHJlZml4TGVuZ3RoPWVbMV07dGhpcy5yYW5nZUxlbmd0aD1lWzJdO3RoaXMucHJlZml4Q29kZT1lWzNdO3RoaXMuaXNMb3dlclJhbmdlPSJsb3dlciI9PT1lWzRdfX19Y2xhc3MgSHVmZm1hblRyZWVOb2Rle2NvbnN0cnVjdG9yKGUpe3RoaXMuY2hpbGRyZW49W107aWYoZSl7dGhpcy5pc0xlYWY9ITA7dGhpcy5yYW5nZUxlbmd0aD1lLnJhbmdlTGVuZ3RoO3RoaXMucmFuZ2VMb3c9ZS5yYW5nZUxvdzt0aGlzLmlzTG93ZXJSYW5nZT1lLmlzTG93ZXJSYW5nZTt0aGlzLmlzT09CPWUuaXNPT0J9ZWxzZSB0aGlzLmlzTGVhZj0hMX1idWlsZFRyZWUoZSx0KXtjb25zdCBpPWUucHJlZml4Q29kZT4+dCYxO2lmKHQ8PTApdGhpcy5jaGlsZHJlbltpXT1uZXcgSHVmZm1hblRyZWVOb2RlKGUpO2Vsc2V7bGV0IGE9dGhpcy5jaGlsZHJlbltpXTthfHwodGhpcy5jaGlsZHJlbltpXT1hPW5ldyBIdWZmbWFuVHJlZU5vZGUobnVsbCkpO2EuYnVpbGRUcmVlKGUsdC0xKX19ZGVjb2RlTm9kZShlKXtpZih0aGlzLmlzTGVhZil7aWYodGhpcy5pc09PQilyZXR1cm4gbnVsbDtjb25zdCB0PWUucmVhZEJpdHModGhpcy5yYW5nZUxlbmd0aCk7cmV0dXJuIHRoaXMucmFuZ2VMb3crKHRoaXMuaXNMb3dlclJhbmdlPy10OnQpfWNvbnN0IHQ9dGhpcy5jaGlsZHJlbltlLnJlYWRCaXQoKV07aWYoIXQpdGhyb3cgbmV3IEpiaWcyRXJyb3IoImludmFsaWQgSHVmZm1hbiBkYXRhIik7cmV0dXJuIHQuZGVjb2RlTm9kZShlKX19Y2xhc3MgSHVmZm1hblRhYmxle2NvbnN0cnVjdG9yKGUsdCl7dHx8dGhpcy5hc3NpZ25QcmVmaXhDb2RlcyhlKTt0aGlzLnJvb3ROb2RlPW5ldyBIdWZmbWFuVHJlZU5vZGUobnVsbCk7Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCsrKXtjb25zdCBpPWVbdF07aS5wcmVmaXhMZW5ndGg+MCYmdGhpcy5yb290Tm9kZS5idWlsZFRyZWUoaSxpLnByZWZpeExlbmd0aC0xKX19ZGVjb2RlKGUpe3JldHVybiB0aGlzLnJvb3ROb2RlLmRlY29kZU5vZGUoZSl9YXNzaWduUHJlZml4Q29kZXMoZSl7Y29uc3QgdD1lLmxlbmd0aDtsZXQgaT0wO2ZvcihsZXQgYT0wO2E8dDthKyspaT1NYXRoLm1heChpLGVbYV0ucHJlZml4TGVuZ3RoKTtjb25zdCBhPW5ldyBVaW50MzJBcnJheShpKzEpO2ZvcihsZXQgaT0wO2k8dDtpKyspYVtlW2ldLnByZWZpeExlbmd0aF0rKztsZXQgcyxyLG4sZz0xLG89MDthWzBdPTA7Zm9yKDtnPD1pOyl7bz1vK2FbZy0xXTw8MTtzPW87cj0wO2Zvcig7cjx0Oyl7bj1lW3JdO2lmKG4ucHJlZml4TGVuZ3RoPT09Zyl7bi5wcmVmaXhDb2RlPXM7cysrfXIrK31nKyt9fX1jb25zdCBlaT17fTtmdW5jdGlvbiBnZXRTdGFuZGFyZFRhYmxlKGUpe2xldCB0LGk9ZWlbZV07aWYoaSlyZXR1cm4gaTtzd2l0Y2goZSl7Y2FzZSAxOnQ9W1swLDEsNCwwXSxbMTYsMiw4LDJdLFsyNzIsMywxNiw2XSxbNjU4MDgsMywzMiw3XV07YnJlYWs7Y2FzZSAyOnQ9W1swLDEsMCwwXSxbMSwyLDAsMl0sWzIsMywwLDZdLFszLDQsMywxNF0sWzExLDUsNiwzMF0sWzc1LDYsMzIsNjJdLFs2LDYzXV07YnJlYWs7Y2FzZSAzOnQ9W1stMjU2LDgsOCwyNTRdLFswLDEsMCwwXSxbMSwyLDAsMl0sWzIsMywwLDZdLFszLDQsMywxNF0sWzExLDUsNiwzMF0sWy0yNTcsOCwzMiwyNTUsImxvd2VyIl0sWzc1LDcsMzIsMTI2XSxbNiw2Ml1dO2JyZWFrO2Nhc2UgNDp0PVtbMSwxLDAsMF0sWzIsMiwwLDJdLFszLDMsMCw2XSxbNCw0LDMsMTRdLFsxMiw1LDYsMzBdLFs3Niw1LDMyLDMxXV07YnJlYWs7Y2FzZSA1OnQ9W1stMjU1LDcsOCwxMjZdLFsxLDEsMCwwXSxbMiwyLDAsMl0sWzMsMywwLDZdLFs0LDQsMywxNF0sWzEyLDUsNiwzMF0sWy0yNTYsNywzMiwxMjcsImxvd2VyIl0sWzc2LDYsMzIsNjJdXTticmVhaztjYXNlIDY6dD1bWy0yMDQ4LDUsMTAsMjhdLFstMTAyNCw0LDksOF0sWy01MTIsNCw4LDldLFstMjU2LDQsNywxMF0sWy0xMjgsNSw2LDI5XSxbLTY0LDUsNSwzMF0sWy0zMiw0LDUsMTFdLFswLDIsNywwXSxbMTI4LDMsNywyXSxbMjU2LDMsOCwzXSxbNTEyLDQsOSwxMl0sWzEwMjQsNCwxMCwxM10sWy0yMDQ5LDYsMzIsNjIsImxvd2VyIl0sWzIwNDgsNiwzMiw2M11dO2JyZWFrO2Nhc2UgNzp0PVtbLTEwMjQsNCw5LDhdLFstNTEyLDMsOCwwXSxbLTI1Niw0LDcsOV0sWy0xMjgsNSw2LDI2XSxbLTY0LDUsNSwyN10sWy0zMiw0LDUsMTBdLFswLDQsNSwxMV0sWzMyLDUsNSwyOF0sWzY0LDUsNiwyOV0sWzEyOCw0LDcsMTJdLFsyNTYsMyw4LDFdLFs1MTIsMyw5LDJdLFsxMDI0LDMsMTAsM10sWy0xMDI1LDUsMzIsMzAsImxvd2VyIl0sWzIwNDgsNSwzMiwzMV1dO2JyZWFrO2Nhc2UgODp0PVtbLTE1LDgsMywyNTJdLFstNyw5LDEsNTA4XSxbLTUsOCwxLDI1M10sWy0zLDksMCw1MDldLFstMiw3LDAsMTI0XSxbLTEsNCwwLDEwXSxbMCwyLDEsMF0sWzIsNSwwLDI2XSxbMyw2LDAsNThdLFs0LDMsNCw0XSxbMjAsNiwxLDU5XSxbMjIsNCw0LDExXSxbMzgsNCw1LDEyXSxbNzAsNSw2LDI3XSxbMTM0LDUsNywyOF0sWzI2Miw2LDcsNjBdLFszOTAsNyw4LDEyNV0sWzY0Niw2LDEwLDYxXSxbLTE2LDksMzIsNTEwLCJsb3dlciJdLFsxNjcwLDksMzIsNTExXSxbMiwxXV07YnJlYWs7Y2FzZSA5OnQ9W1stMzEsOCw0LDI1Ml0sWy0xNSw5LDIsNTA4XSxbLTExLDgsMiwyNTNdLFstNyw5LDEsNTA5XSxbLTUsNywxLDEyNF0sWy0zLDQsMSwxMF0sWy0xLDMsMSwyXSxbMSwzLDEsM10sWzMsNSwxLDI2XSxbNSw2LDEsNThdLFs3LDMsNSw0XSxbMzksNiwyLDU5XSxbNDMsNCw1LDExXSxbNzUsNCw2LDEyXSxbMTM5LDUsNywyN10sWzI2Nyw1LDgsMjhdLFs1MjMsNiw4LDYwXSxbNzc5LDcsOSwxMjVdLFsxMjkxLDYsMTEsNjFdLFstMzIsOSwzMiw1MTAsImxvd2VyIl0sWzMzMzksOSwzMiw1MTFdLFsyLDBdXTticmVhaztjYXNlIDEwOnQ9W1stMjEsNyw0LDEyMl0sWy01LDgsMCwyNTJdLFstNCw3LDAsMTIzXSxbLTMsNSwwLDI0XSxbLTIsMiwyLDBdLFsyLDUsMCwyNV0sWzMsNiwwLDU0XSxbNCw3LDAsMTI0XSxbNSw4LDAsMjUzXSxbNiwyLDYsMV0sWzcwLDUsNSwyNl0sWzEwMiw2LDUsNTVdLFsxMzQsNiw2LDU2XSxbMTk4LDYsNyw1N10sWzMyNiw2LDgsNThdLFs1ODIsNiw5LDU5XSxbMTA5NCw2LDEwLDYwXSxbMjExOCw3LDExLDEyNV0sWy0yMiw4LDMyLDI1NCwibG93ZXIiXSxbNDE2Niw4LDMyLDI1NV0sWzIsMl1dO2JyZWFrO2Nhc2UgMTE6dD1bWzEsMSwwLDBdLFsyLDIsMSwyXSxbNCw0LDAsMTJdLFs1LDQsMSwxM10sWzcsNSwxLDI4XSxbOSw1LDIsMjldLFsxMyw2LDIsNjBdLFsxNyw3LDIsMTIyXSxbMjEsNywzLDEyM10sWzI5LDcsNCwxMjRdLFs0NSw3LDUsMTI1XSxbNzcsNyw2LDEyNl0sWzE0MSw3LDMyLDEyN11dO2JyZWFrO2Nhc2UgMTI6dD1bWzEsMSwwLDBdLFsyLDIsMCwyXSxbMywzLDEsNl0sWzUsNSwwLDI4XSxbNiw1LDEsMjldLFs4LDYsMSw2MF0sWzEwLDcsMCwxMjJdLFsxMSw3LDEsMTIzXSxbMTMsNywyLDEyNF0sWzE3LDcsMywxMjVdLFsyNSw3LDQsMTI2XSxbNDEsOCw1LDI1NF0sWzczLDgsMzIsMjU1XV07YnJlYWs7Y2FzZSAxMzp0PVtbMSwxLDAsMF0sWzIsMywwLDRdLFszLDQsMCwxMl0sWzQsNSwwLDI4XSxbNSw0LDEsMTNdLFs3LDMsMyw1XSxbMTUsNiwxLDU4XSxbMTcsNiwyLDU5XSxbMjEsNiwzLDYwXSxbMjksNiw0LDYxXSxbNDUsNiw1LDYyXSxbNzcsNyw2LDEyNl0sWzE0MSw3LDMyLDEyN11dO2JyZWFrO2Nhc2UgMTQ6dD1bWy0yLDMsMCw0XSxbLTEsMywwLDVdLFswLDEsMCwwXSxbMSwzLDAsNl0sWzIsMywwLDddXTticmVhaztjYXNlIDE1OnQ9W1stMjQsNyw0LDEyNF0sWy04LDYsMiw2MF0sWy00LDUsMSwyOF0sWy0yLDQsMCwxMl0sWy0xLDMsMCw0XSxbMCwxLDAsMF0sWzEsMywwLDVdLFsyLDQsMCwxM10sWzMsNSwxLDI5XSxbNSw2LDIsNjFdLFs5LDcsNCwxMjVdLFstMjUsNywzMiwxMjYsImxvd2VyIl0sWzI1LDcsMzIsMTI3XV07YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgSmJpZzJFcnJvcihgc3RhbmRhcmQgdGFibGUgQi4ke2V9IGRvZXMgbm90IGV4aXN0YCl9Zm9yKGxldCBlPTAsaT10Lmxlbmd0aDtlPGk7ZSsrKXRbZV09bmV3IEh1ZmZtYW5MaW5lKHRbZV0pO2k9bmV3IEh1ZmZtYW5UYWJsZSh0LCEwKTtlaVtlXT1pO3JldHVybiBpfWNsYXNzIFJlYWRlcntjb25zdHJ1Y3RvcihlLHQsaSl7dGhpcy5kYXRhPWU7dGhpcy5zdGFydD10O3RoaXMuZW5kPWk7dGhpcy5wb3NpdGlvbj10O3RoaXMuc2hpZnQ9LTE7dGhpcy5jdXJyZW50Qnl0ZT0wfXJlYWRCaXQoKXtpZih0aGlzLnNoaWZ0PDApe2lmKHRoaXMucG9zaXRpb24+PXRoaXMuZW5kKXRocm93IG5ldyBKYmlnMkVycm9yKCJlbmQgb2YgZGF0YSB3aGlsZSByZWFkaW5nIGJpdCIpO3RoaXMuY3VycmVudEJ5dGU9dGhpcy5kYXRhW3RoaXMucG9zaXRpb24rK107dGhpcy5zaGlmdD03fWNvbnN0IGU9dGhpcy5jdXJyZW50Qnl0ZT4+dGhpcy5zaGlmdCYxO3RoaXMuc2hpZnQtLTtyZXR1cm4gZX1yZWFkQml0cyhlKXtsZXQgdCxpPTA7Zm9yKHQ9ZS0xO3Q+PTA7dC0tKWl8PXRoaXMucmVhZEJpdCgpPDx0O3JldHVybiBpfWJ5dGVBbGlnbigpe3RoaXMuc2hpZnQ9LTF9bmV4dCgpe3JldHVybiB0aGlzLnBvc2l0aW9uPj10aGlzLmVuZD8tMTp0aGlzLmRhdGFbdGhpcy5wb3NpdGlvbisrXX19ZnVuY3Rpb24gZ2V0Q3VzdG9tSHVmZm1hblRhYmxlKGUsdCxpKXtsZXQgYT0wO2ZvcihsZXQgcz0wLHI9dC5sZW5ndGg7czxyO3MrKyl7Y29uc3Qgcj1pW3Rbc11dO2lmKHIpe2lmKGU9PT1hKXJldHVybiByO2ErK319dGhyb3cgbmV3IEpiaWcyRXJyb3IoImNhbid0IGZpbmQgY3VzdG9tIEh1ZmZtYW4gdGFibGUiKX1mdW5jdGlvbiByZWFkVW5jb21wcmVzc2VkQml0bWFwKGUsdCxpKXtjb25zdCBhPVtdO2ZvcihsZXQgcz0wO3M8aTtzKyspe2NvbnN0IGk9bmV3IFVpbnQ4QXJyYXkodCk7YS5wdXNoKGkpO2ZvcihsZXQgYT0wO2E8dDthKyspaVthXT1lLnJlYWRCaXQoKTtlLmJ5dGVBbGlnbigpfXJldHVybiBhfWZ1bmN0aW9uIGRlY29kZU1NUkJpdG1hcChlLHQsaSxhKXtjb25zdCBzPW5ldyBDQ0lUVEZheERlY29kZXIoZSx7SzotMSxDb2x1bW5zOnQsUm93czppLEJsYWNrSXMxOiEwLEVuZE9mQmxvY2s6YX0pLHI9W107bGV0IG4sZz0hMTtmb3IobGV0IGU9MDtlPGk7ZSsrKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KHQpO3IucHVzaChlKTtsZXQgaT0tMTtmb3IobGV0IGE9MDthPHQ7YSsrKXtpZihpPDApe249cy5yZWFkTmV4dENoYXIoKTtpZigtMT09PW4pe249MDtnPSEwfWk9N31lW2FdPW4+PmkmMTtpLS19fWlmKGEmJiFnKXtjb25zdCBlPTU7Zm9yKGxldCB0PTA7dDxlJiYtMSE9PXMucmVhZE5leHRDaGFyKCk7dCsrKTt9cmV0dXJuIHJ9Y2xhc3MgSmJpZzJJbWFnZXtwYXJzZUNodW5rcyhlKXtyZXR1cm4gZnVuY3Rpb24gcGFyc2VKYmlnMkNodW5rcyhlKXtjb25zdCB0PW5ldyBTaW1wbGVTZWdtZW50VmlzaXRvcjtmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspe2NvbnN0IGE9ZVtpXTtwcm9jZXNzU2VnbWVudHMocmVhZFNlZ21lbnRzKHt9LGEuZGF0YSxhLnN0YXJ0LGEuZW5kKSx0KX1yZXR1cm4gdC5idWZmZXJ9KGUpfXBhcnNlKGUpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkOiBKYmlnMkltYWdlLnBhcnNlIil9fWNsYXNzIEpiaWcyU3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcih0KTt0aGlzLnN0cmVhbT1lO3RoaXMuZGljdD1lLmRpY3Q7dGhpcy5tYXliZUxlbmd0aD10O3RoaXMucGFyYW1zPWl9Z2V0IGJ5dGVzKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJieXRlcyIsdGhpcy5zdHJlYW0uZ2V0Qnl0ZXModGhpcy5tYXliZUxlbmd0aCkpfWVuc3VyZUJ1ZmZlcihlKXt9cmVhZEJsb2NrKCl7dGhpcy5kZWNvZGVJbWFnZSgpfWRlY29kZUltYWdlKGUpe2lmKHRoaXMuZW9mKXJldHVybiB0aGlzLmJ1ZmZlcjtlfHw9dGhpcy5ieXRlcztjb25zdCB0PW5ldyBKYmlnMkltYWdlLGk9W107aWYodGhpcy5wYXJhbXMgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPXRoaXMucGFyYW1zLmdldCgiSkJJRzJHbG9iYWxzIik7aWYoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pe2NvbnN0IHQ9ZS5nZXRCeXRlcygpO2kucHVzaCh7ZGF0YTp0LHN0YXJ0OjAsZW5kOnQubGVuZ3RofSl9fWkucHVzaCh7ZGF0YTplLHN0YXJ0OjAsZW5kOmUubGVuZ3RofSk7Y29uc3QgYT10LnBhcnNlQ2h1bmtzKGkpLHM9YS5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxzO2UrKylhW2VdXj0yNTU7dGhpcy5idWZmZXI9YTt0aGlzLmJ1ZmZlckxlbmd0aD1zO3RoaXMuZW9mPSEwO3JldHVybiB0aGlzLmJ1ZmZlcn1nZXQgY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXIoKXtyZXR1cm4gdGhpcy5zdHJlYW0uaXNBc3luY319ZnVuY3Rpb24gY29udmVydFRvUkdCQShlKXtzd2l0Y2goZS5raW5kKXtjYXNlIGI6cmV0dXJuIGNvbnZlcnRCbGFja0FuZFdoaXRlVG9SR0JBKGUpO2Nhc2UgRjpyZXR1cm4gZnVuY3Rpb24gY29udmVydFJHQlRvUkdCQSh7c3JjOmUsc3JjUG9zOnQ9MCxkZXN0OmksZGVzdFBvczphPTAsd2lkdGg6cyxoZWlnaHQ6cn0pe2xldCBuPTA7Y29uc3QgZz1lLmxlbmd0aD4+MixvPW5ldyBVaW50MzJBcnJheShlLmJ1ZmZlcix0LGcpO2lmKEZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuKXtmb3IoO248Zy0yO24rPTMsYSs9NCl7Y29uc3QgZT1vW25dLHQ9b1tuKzFdLHM9b1tuKzJdO2lbYV09NDI3ODE5MDA4MHxlO2lbYSsxXT1lPj4+MjR8dDw8OHw0Mjc4MTkwMDgwO2lbYSsyXT10Pj4+MTZ8czw8MTZ8NDI3ODE5MDA4MDtpW2ErM109cz4+Pjh8NDI3ODE5MDA4MH1mb3IobGV0IHQ9NCpuLHM9ZS5sZW5ndGg7dDxzO3QrPTMpaVthKytdPWVbdF18ZVt0KzFdPDw4fGVbdCsyXTw8MTZ8NDI3ODE5MDA4MH1lbHNle2Zvcig7bjxnLTI7bis9MyxhKz00KXtjb25zdCBlPW9bbl0sdD1vW24rMV0scz1vW24rMl07aVthXT0yNTV8ZTtpW2ErMV09ZTw8MjR8dD4+Pjh8MjU1O2lbYSsyXT10PDwxNnxzPj4+MTZ8MjU1O2lbYSszXT1zPDw4fDI1NX1mb3IobGV0IHQ9NCpuLHM9ZS5sZW5ndGg7dDxzO3QrPTMpaVthKytdPWVbdF08PDI0fGVbdCsxXTw8MTZ8ZVt0KzJdPDw4fDI1NX1yZXR1cm57c3JjUG9zOnQsZGVzdFBvczphfX0oZSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gY29udmVydEJsYWNrQW5kV2hpdGVUb1JHQkEoe3NyYzplLHNyY1Bvczp0PTAsZGVzdDppLHdpZHRoOmEsaGVpZ2h0OnMsbm9uQmxhY2tDb2xvcjpyPTQyOTQ5NjcyOTUsaW52ZXJzZURlY29kZTpuPSExfSl7Y29uc3QgZz1GZWF0dXJlVGVzdC5pc0xpdHRsZUVuZGlhbj80Mjc4MTkwMDgwOjI1NSxbbyxjXT1uP1tyLGddOltnLHJdLEM9YT4+MyxoPTcmYSxsPWUubGVuZ3RoO2k9bmV3IFVpbnQzMkFycmF5KGkuYnVmZmVyKTtsZXQgUT0wO2ZvcihsZXQgYT0wO2E8czthKyspe2Zvcihjb25zdCBhPXQrQzt0PGE7dCsrKXtjb25zdCBhPXQ8bD9lW3RdOjI1NTtpW1ErK109MTI4JmE/YzpvO2lbUSsrXT02NCZhP2M6bztpW1ErK109MzImYT9jOm87aVtRKytdPTE2JmE/YzpvO2lbUSsrXT04JmE/YzpvO2lbUSsrXT00JmE/YzpvO2lbUSsrXT0yJmE/YzpvO2lbUSsrXT0xJmE/YzpvfWlmKDA9PT1oKWNvbnRpbnVlO2NvbnN0IGE9dDxsP2VbdCsrXToyNTU7Zm9yKGxldCBlPTA7ZTxoO2UrKylpW1ErK109YSYxPDw3LWU/YzpvfXJldHVybntzcmNQb3M6dCxkZXN0UG9zOlF9fWNsYXNzIEpwZWdFcnJvciBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkpwZWdFcnJvciIpfX1jbGFzcyBETkxNYXJrZXJFcnJvciBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSwiRE5MTWFya2VyRXJyb3IiKTt0aGlzLnNjYW5MaW5lcz10fX1jbGFzcyBFT0lNYXJrZXJFcnJvciBleHRlbmRzIG90e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsIkVPSU1hcmtlckVycm9yIil9fWNvbnN0IHRpPW5ldyBVaW50OEFycmF5KFswLDEsOCwxNiw5LDIsMywxMCwxNywyNCwzMiwyNSwxOCwxMSw0LDUsMTIsMTksMjYsMzMsNDAsNDgsNDEsMzQsMjcsMjAsMTMsNiw3LDE0LDIxLDI4LDM1LDQyLDQ5LDU2LDU3LDUwLDQzLDM2LDI5LDIyLDE1LDIzLDMwLDM3LDQ0LDUxLDU4LDU5LDUyLDQ1LDM4LDMxLDM5LDQ2LDUzLDYwLDYxLDU0LDQ3LDU1LDYyLDYzXSksaWk9NDAxNyxhaT03OTksc2k9MzQwNixyaT0yMjc2LG5pPTE1NjcsZ2k9Mzc4NCxvaT01NzkzLElpPTI4OTY7ZnVuY3Rpb24gYnVpbGRIdWZmbWFuVGFibGUoZSx0KXtsZXQgaSxhLHM9MCxyPTE2O2Zvcig7cj4wJiYhZVtyLTFdOylyLS07Y29uc3Qgbj1be2NoaWxkcmVuOltdLGluZGV4OjB9XTtsZXQgZyxvPW5bMF07Zm9yKGk9MDtpPHI7aSsrKXtmb3IoYT0wO2E8ZVtpXTthKyspe289bi5wb3AoKTtvLmNoaWxkcmVuW28uaW5kZXhdPXRbc107Zm9yKDtvLmluZGV4PjA7KW89bi5wb3AoKTtvLmluZGV4Kys7bi5wdXNoKG8pO2Zvcig7bi5sZW5ndGg8PWk7KXtuLnB1c2goZz17Y2hpbGRyZW46W10saW5kZXg6MH0pO28uY2hpbGRyZW5bby5pbmRleF09Zy5jaGlsZHJlbjtvPWd9cysrfWlmKGkrMTxyKXtuLnB1c2goZz17Y2hpbGRyZW46W10saW5kZXg6MH0pO28uY2hpbGRyZW5bby5pbmRleF09Zy5jaGlsZHJlbjtvPWd9fXJldHVybiBuWzBdLmNoaWxkcmVufWZ1bmN0aW9uIGdldEJsb2NrQnVmZmVyT2Zmc2V0KGUsdCxpKXtyZXR1cm4gNjQqKChlLmJsb2Nrc1BlckxpbmUrMSkqdCtpKX1mdW5jdGlvbiBkZWNvZGVTY2FuKGUsdCxpLGEscyxyLG4sZyxvLGM9ITEpe2NvbnN0IEM9aS5tY3VzUGVyTGluZSxoPWkucHJvZ3Jlc3NpdmUsbD10O2xldCBRPTAsRT0wO2Z1bmN0aW9uIHJlYWRCaXQoKXtpZihFPjApe0UtLTtyZXR1cm4gUT4+RSYxfVE9ZVt0KytdO2lmKDI1NT09PVEpe2NvbnN0IGE9ZVt0KytdO2lmKGEpe2lmKDIyMD09PWEmJmMpe2NvbnN0IGE9cmVhZFVpbnQxNihlLHQrPTIpO3QrPTI7aWYoYT4wJiZhIT09aS5zY2FuTGluZXMpdGhyb3cgbmV3IEROTE1hcmtlckVycm9yKCJGb3VuZCBETkwgbWFya2VyICgweEZGREMpIHdoaWxlIHBhcnNpbmcgc2NhbiBkYXRhIixhKX1lbHNlIGlmKDIxNz09PWEpe2lmKGMpe2NvbnN0IGU9cCooOD09PWkucHJlY2lzaW9uPzg6MCk7aWYoZT4wJiZNYXRoLnJvdW5kKGkuc2NhbkxpbmVzL2UpPj01KXRocm93IG5ldyBETkxNYXJrZXJFcnJvcigiRm91bmQgRU9JIG1hcmtlciAoMHhGRkQ5KSB3aGlsZSBwYXJzaW5nIHNjYW4gZGF0YSwgcG9zc2libHkgY2F1c2VkIGJ5IGluY29ycmVjdCBgc2NhbkxpbmVzYCBwYXJhbWV0ZXIiLGUpfXRocm93IG5ldyBFT0lNYXJrZXJFcnJvcigiRm91bmQgRU9JIG1hcmtlciAoMHhGRkQ5KSB3aGlsZSBwYXJzaW5nIHNjYW4gZGF0YSIpfXRocm93IG5ldyBKcGVnRXJyb3IoYHVuZXhwZWN0ZWQgbWFya2VyICR7KFE8PDh8YSkudG9TdHJpbmcoMTYpfWApfX1FPTc7cmV0dXJuIFE+Pj43fWZ1bmN0aW9uIGRlY29kZUh1ZmZtYW4oZSl7bGV0IHQ9ZTtmb3IoOzspe3Q9dFtyZWFkQml0KCldO3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJudW1iZXIiOnJldHVybiB0O2Nhc2Uib2JqZWN0Ijpjb250aW51ZX10aHJvdyBuZXcgSnBlZ0Vycm9yKCJpbnZhbGlkIGh1ZmZtYW4gc2VxdWVuY2UiKX19ZnVuY3Rpb24gcmVjZWl2ZShlKXtsZXQgdD0wO2Zvcig7ZT4wOyl7dD10PDwxfHJlYWRCaXQoKTtlLS19cmV0dXJuIHR9ZnVuY3Rpb24gcmVjZWl2ZUFuZEV4dGVuZChlKXtpZigxPT09ZSlyZXR1cm4gMT09PXJlYWRCaXQoKT8xOi0xO2NvbnN0IHQ9cmVjZWl2ZShlKTtyZXR1cm4gdD49MTw8ZS0xP3Q6dCsoLTE8PGUpKzF9bGV0IHU9MDtsZXQgZCxmPTA7bGV0IHA9MDtmdW5jdGlvbiBkZWNvZGVNY3UoZSx0LGksYSxzKXtjb25zdCByPWklQztwPShpL0N8MCkqZS52K2E7Y29uc3Qgbj1yKmUuaCtzO3QoZSxnZXRCbG9ja0J1ZmZlck9mZnNldChlLHAsbikpfWZ1bmN0aW9uIGRlY29kZUJsb2NrKGUsdCxpKXtwPWkvZS5ibG9ja3NQZXJMaW5lfDA7Y29uc3QgYT1pJWUuYmxvY2tzUGVyTGluZTt0KGUsZ2V0QmxvY2tCdWZmZXJPZmZzZXQoZSxwLGEpKX1jb25zdCBtPWEubGVuZ3RoO2xldCB5LHcsRCxiLEYsUztTPWg/MD09PXI/MD09PWc/ZnVuY3Rpb24gZGVjb2RlRENGaXJzdChlLHQpe2NvbnN0IGk9ZGVjb2RlSHVmZm1hbihlLmh1ZmZtYW5UYWJsZURDKSxhPTA9PT1pPzA6cmVjZWl2ZUFuZEV4dGVuZChpKTw8bztlLmJsb2NrRGF0YVt0XT1lLnByZWQrPWF9OmZ1bmN0aW9uIGRlY29kZURDU3VjY2Vzc2l2ZShlLHQpe2UuYmxvY2tEYXRhW3RdfD1yZWFkQml0KCk8PG99OjA9PT1nP2Z1bmN0aW9uIGRlY29kZUFDRmlyc3QoZSx0KXtpZih1PjApe3UtLTtyZXR1cm59bGV0IGk9cjtjb25zdCBhPW47Zm9yKDtpPD1hOyl7Y29uc3QgYT1kZWNvZGVIdWZmbWFuKGUuaHVmZm1hblRhYmxlQUMpLHM9MTUmYSxyPWE+PjQ7aWYoMD09PXMpe2lmKHI8MTUpe3U9cmVjZWl2ZShyKSsoMTw8ciktMTticmVha31pKz0xNjtjb250aW51ZX1pKz1yO2NvbnN0IG49dGlbaV07ZS5ibG9ja0RhdGFbdCtuXT1yZWNlaXZlQW5kRXh0ZW5kKHMpKigxPDxvKTtpKyt9fTpmdW5jdGlvbiBkZWNvZGVBQ1N1Y2Nlc3NpdmUoZSx0KXtsZXQgaT1yO2NvbnN0IGE9bjtsZXQgcyxnLGM9MDtmb3IoO2k8PWE7KXtjb25zdCBhPXQrdGlbaV0scj1lLmJsb2NrRGF0YVthXTwwPy0xOjE7c3dpdGNoKGYpe2Nhc2UgMDpnPWRlY29kZUh1ZmZtYW4oZS5odWZmbWFuVGFibGVBQyk7cz0xNSZnO2M9Zz4+NDtpZigwPT09cylpZihjPDE1KXt1PXJlY2VpdmUoYykrKDE8PGMpO2Y9NH1lbHNle2M9MTY7Zj0xfWVsc2V7aWYoMSE9PXMpdGhyb3cgbmV3IEpwZWdFcnJvcigiaW52YWxpZCBBQ24gZW5jb2RpbmciKTtkPXJlY2VpdmVBbmRFeHRlbmQocyk7Zj1jPzI6M31jb250aW51ZTtjYXNlIDE6Y2FzZSAyOmlmKGUuYmxvY2tEYXRhW2FdKWUuYmxvY2tEYXRhW2FdKz1yKihyZWFkQml0KCk8PG8pO2Vsc2V7Yy0tOzA9PT1jJiYoZj0yPT09Zj8zOjApfWJyZWFrO2Nhc2UgMzppZihlLmJsb2NrRGF0YVthXSllLmJsb2NrRGF0YVthXSs9cioocmVhZEJpdCgpPDxvKTtlbHNle2UuYmxvY2tEYXRhW2FdPWQ8PG87Zj0wfWJyZWFrO2Nhc2UgNDplLmJsb2NrRGF0YVthXSYmKGUuYmxvY2tEYXRhW2FdKz1yKihyZWFkQml0KCk8PG8pKX1pKyt9aWYoND09PWYpe3UtLTswPT09dSYmKGY9MCl9fTpmdW5jdGlvbiBkZWNvZGVCYXNlbGluZShlLHQpe2NvbnN0IGk9ZGVjb2RlSHVmZm1hbihlLmh1ZmZtYW5UYWJsZURDKSxhPTA9PT1pPzA6cmVjZWl2ZUFuZEV4dGVuZChpKTtlLmJsb2NrRGF0YVt0XT1lLnByZWQrPWE7bGV0IHM9MTtmb3IoO3M8NjQ7KXtjb25zdCBpPWRlY29kZUh1ZmZtYW4oZS5odWZmbWFuVGFibGVBQyksYT0xNSZpLHI9aT4+NDtpZigwPT09YSl7aWYocjwxNSlicmVhaztzKz0xNjtjb250aW51ZX1zKz1yO2NvbnN0IG49dGlbc107ZS5ibG9ja0RhdGFbdCtuXT1yZWNlaXZlQW5kRXh0ZW5kKGEpO3MrK319O2xldCBrLFI9MDtjb25zdCBOPTE9PT1tP2FbMF0uYmxvY2tzUGVyTGluZSphWzBdLmJsb2Nrc1BlckNvbHVtbjpDKmkubWN1c1BlckNvbHVtbjtsZXQgRyx4O2Zvcig7Ujw9Tjspe2NvbnN0IGk9cz9NYXRoLm1pbihOLVIscyk6TjtpZihpPjApe2Zvcih3PTA7dzxtO3crKylhW3ddLnByZWQ9MDt1PTA7aWYoMT09PW0pe3k9YVswXTtmb3IoRj0wO0Y8aTtGKyspe2RlY29kZUJsb2NrKHksUyxSKTtSKyt9fWVsc2UgZm9yKEY9MDtGPGk7RisrKXtmb3Iodz0wO3c8bTt3Kyspe3k9YVt3XTtHPXkuaDt4PXkudjtmb3IoRD0wO0Q8eDtEKyspZm9yKGI9MDtiPEc7YisrKWRlY29kZU1jdSh5LFMsUixELGIpfVIrK319RT0wO2s9ZmluZE5leHRGaWxlTWFya2VyKGUsdCk7aWYoIWspYnJlYWs7aWYoay5pbnZhbGlkKXt3YXJuKGBkZWNvZGVTY2FuIC0gJHtpPjA/InVuZXhwZWN0ZWQiOiJleGNlc3NpdmUifSBNQ1UgZGF0YSwgY3VycmVudCBtYXJrZXIgaXM6ICR7ay5pbnZhbGlkfWApO3Q9ay5vZmZzZXR9aWYoIShrLm1hcmtlcj49NjU0ODgmJmsubWFya2VyPD02NTQ5NSkpYnJlYWs7dCs9Mn1yZXR1cm4gdC1sfWZ1bmN0aW9uIHF1YW50aXplQW5kSW52ZXJzZShlLHQsaSl7Y29uc3QgYT1lLnF1YW50aXphdGlvblRhYmxlLHM9ZS5ibG9ja0RhdGE7bGV0IHIsbixnLG8sYyxDLGgsbCxRLEUsdSxkLGYscCxtLHksdztpZighYSl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJtaXNzaW5nIHJlcXVpcmVkIFF1YW50aXphdGlvbiBUYWJsZS4iKTtmb3IobGV0IGU9MDtlPDY0O2UrPTgpe1E9c1t0K2VdO0U9c1t0K2UrMV07dT1zW3QrZSsyXTtkPXNbdCtlKzNdO2Y9c1t0K2UrNF07cD1zW3QrZSs1XTttPXNbdCtlKzZdO3k9c1t0K2UrN107USo9YVtlXTtpZigwIT0oRXx1fGR8ZnxwfG18eSkpe0UqPWFbZSsxXTt1Kj1hW2UrMl07ZCo9YVtlKzNdO2YqPWFbZSs0XTtwKj1hW2UrNV07bSo9YVtlKzZdO3kqPWFbZSs3XTtyPW9pKlErMTI4Pj44O249b2kqZisxMjg+Pjg7Zz11O289bTtjPUlpKihFLXkpKzEyOD4+ODtsPUlpKihFK3kpKzEyOD4+ODtDPWQ8PDQ7aD1wPDw0O3I9cituKzE+PjE7bj1yLW47dz1nKmdpK28qbmkrMTI4Pj44O2c9ZypuaS1vKmdpKzEyOD4+ODtvPXc7Yz1jK2grMT4+MTtoPWMtaDtsPWwrQysxPj4xO0M9bC1DO3I9citvKzE+PjE7bz1yLW87bj1uK2crMT4+MTtnPW4tZzt3PWMqcmkrbCpzaSsyMDQ4Pj4xMjtjPWMqc2ktbCpyaSsyMDQ4Pj4xMjtsPXc7dz1DKmFpK2gqaWkrMjA0OD4+MTI7Qz1DKmlpLWgqYWkrMjA0OD4+MTI7aD13O2lbZV09citsO2lbZSs3XT1yLWw7aVtlKzFdPW4raDtpW2UrNl09bi1oO2lbZSsyXT1nK0M7aVtlKzVdPWctQztpW2UrM109bytjO2lbZSs0XT1vLWN9ZWxzZXt3PW9pKlErNTEyPj4xMDtpW2VdPXc7aVtlKzFdPXc7aVtlKzJdPXc7aVtlKzNdPXc7aVtlKzRdPXc7aVtlKzVdPXc7aVtlKzZdPXc7aVtlKzddPXd9fWZvcihsZXQgZT0wO2U8ODsrK2Upe1E9aVtlXTtFPWlbZSs4XTt1PWlbZSsxNl07ZD1pW2UrMjRdO2Y9aVtlKzMyXTtwPWlbZSs0MF07bT1pW2UrNDhdO3k9aVtlKzU2XTtpZigwIT0oRXx1fGR8ZnxwfG18eSkpe3I9b2kqUSsyMDQ4Pj4xMjtuPW9pKmYrMjA0OD4+MTI7Zz11O289bTtjPUlpKihFLXkpKzIwNDg+PjEyO2w9SWkqKEUreSkrMjA0OD4+MTI7Qz1kO2g9cDtyPTQxMTIrKHIrbisxPj4xKTtuPXItbjt3PWcqZ2krbypuaSsyMDQ4Pj4xMjtnPWcqbmktbypnaSsyMDQ4Pj4xMjtvPXc7Yz1jK2grMT4+MTtoPWMtaDtsPWwrQysxPj4xO0M9bC1DO3I9citvKzE+PjE7bz1yLW87bj1uK2crMT4+MTtnPW4tZzt3PWMqcmkrbCpzaSsyMDQ4Pj4xMjtjPWMqc2ktbCpyaSsyMDQ4Pj4xMjtsPXc7dz1DKmFpK2gqaWkrMjA0OD4+MTI7Qz1DKmlpLWgqYWkrMjA0OD4+MTI7aD13O1E9citsO3k9ci1sO0U9bitoO209bi1oO3U9ZytDO3A9Zy1DO2Q9bytjO2Y9by1jO1E8MTY/UT0wOlE+PTQwODA/UT0yNTU6UT4+PTQ7RTwxNj9FPTA6RT49NDA4MD9FPTI1NTpFPj49NDt1PDE2P3U9MDp1Pj00MDgwP3U9MjU1OnU+Pj00O2Q8MTY/ZD0wOmQ+PTQwODA/ZD0yNTU6ZD4+PTQ7ZjwxNj9mPTA6Zj49NDA4MD9mPTI1NTpmPj49NDtwPDE2P3A9MDpwPj00MDgwP3A9MjU1OnA+Pj00O208MTY/bT0wOm0+PTQwODA/bT0yNTU6bT4+PTQ7eTwxNj95PTA6eT49NDA4MD95PTI1NTp5Pj49NDtzW3QrZV09UTtzW3QrZSs4XT1FO3NbdCtlKzE2XT11O3NbdCtlKzI0XT1kO3NbdCtlKzMyXT1mO3NbdCtlKzQwXT1wO3NbdCtlKzQ4XT1tO3NbdCtlKzU2XT15fWVsc2V7dz1vaSpRKzgxOTI+PjE0O3c9dzwtMjA0MD8wOnc+PTIwMjQ/MjU1OncrMjA1Nj4+NDtzW3QrZV09dztzW3QrZSs4XT13O3NbdCtlKzE2XT13O3NbdCtlKzI0XT13O3NbdCtlKzMyXT13O3NbdCtlKzQwXT13O3NbdCtlKzQ4XT13O3NbdCtlKzU2XT13fX19ZnVuY3Rpb24gYnVpbGRDb21wb25lbnREYXRhKGUsdCl7Y29uc3QgaT10LmJsb2Nrc1BlckxpbmUsYT10LmJsb2Nrc1BlckNvbHVtbixzPW5ldyBJbnQxNkFycmF5KDY0KTtmb3IobGV0IGU9MDtlPGE7ZSsrKWZvcihsZXQgYT0wO2E8aTthKyspe3F1YW50aXplQW5kSW52ZXJzZSh0LGdldEJsb2NrQnVmZmVyT2Zmc2V0KHQsZSxhKSxzKX1yZXR1cm4gdC5ibG9ja0RhdGF9ZnVuY3Rpb24gZmluZE5leHRGaWxlTWFya2VyKGUsdCxpPXQpe2NvbnN0IGE9ZS5sZW5ndGgtMTtsZXQgcz1pPHQ/aTp0O2lmKHQ+PWEpcmV0dXJuIG51bGw7Y29uc3Qgcj1yZWFkVWludDE2KGUsdCk7aWYocj49NjU0NzImJnI8PTY1NTM0KXJldHVybntpbnZhbGlkOm51bGwsbWFya2VyOnIsb2Zmc2V0OnR9O2xldCBuPXJlYWRVaW50MTYoZSxzKTtmb3IoOyEobj49NjU0NzImJm48PTY1NTM0KTspe2lmKCsrcz49YSlyZXR1cm4gbnVsbDtuPXJlYWRVaW50MTYoZSxzKX1yZXR1cm57aW52YWxpZDpyLnRvU3RyaW5nKDE2KSxtYXJrZXI6bixvZmZzZXQ6c319Y2xhc3MgSnBlZ0ltYWdle2NvbnN0cnVjdG9yKHtkZWNvZGVUcmFuc2Zvcm06ZT1udWxsLGNvbG9yVHJhbnNmb3JtOnQ9LTF9PXt9KXt0aGlzLl9kZWNvZGVUcmFuc2Zvcm09ZTt0aGlzLl9jb2xvclRyYW5zZm9ybT10fXBhcnNlKGUse2RubFNjYW5MaW5lczp0PW51bGx9PXt9KXtmdW5jdGlvbiByZWFkRGF0YUJsb2NrKCl7Y29uc3QgdD1yZWFkVWludDE2KGUscyk7cys9MjtsZXQgaT1zK3QtMjtjb25zdCBhPWZpbmROZXh0RmlsZU1hcmtlcihlLGkscyk7aWYoYT8uaW52YWxpZCl7d2FybigicmVhZERhdGFCbG9jayAtIGluY29ycmVjdCBsZW5ndGgsIGN1cnJlbnQgbWFya2VyIGlzOiAiK2EuaW52YWxpZCk7aT1hLm9mZnNldH1jb25zdCByPWUuc3ViYXJyYXkocyxpKTtzKz1yLmxlbmd0aDtyZXR1cm4gcn1mdW5jdGlvbiBwcmVwYXJlQ29tcG9uZW50cyhlKXtjb25zdCB0PU1hdGguY2VpbChlLnNhbXBsZXNQZXJMaW5lLzgvZS5tYXhIKSxpPU1hdGguY2VpbChlLnNjYW5MaW5lcy84L2UubWF4Vik7Zm9yKGNvbnN0IGEgb2YgZS5jb21wb25lbnRzKXtjb25zdCBzPU1hdGguY2VpbChNYXRoLmNlaWwoZS5zYW1wbGVzUGVyTGluZS84KSphLmgvZS5tYXhIKSxyPU1hdGguY2VpbChNYXRoLmNlaWwoZS5zY2FuTGluZXMvOCkqYS52L2UubWF4Viksbj10KmEuaCxnPTY0KihpKmEudikqKG4rMSk7YS5ibG9ja0RhdGE9bmV3IEludDE2QXJyYXkoZyk7YS5ibG9ja3NQZXJMaW5lPXM7YS5ibG9ja3NQZXJDb2x1bW49cn1lLm1jdXNQZXJMaW5lPXQ7ZS5tY3VzUGVyQ29sdW1uPWl9bGV0IGksYSxzPTAscj1udWxsLG49bnVsbCxnPTA7Y29uc3Qgbz1bXSxjPVtdLEM9W107bGV0IGg9cmVhZFVpbnQxNihlLHMpO3MrPTI7aWYoNjU0OTYhPT1oKXRocm93IG5ldyBKcGVnRXJyb3IoIlNPSSBub3QgZm91bmQiKTtoPXJlYWRVaW50MTYoZSxzKTtzKz0yO0E6Zm9yKDs2NTQ5NyE9PWg7KXtsZXQgbCxRLEU7c3dpdGNoKGgpe2Nhc2UgNjU1MDQ6Y2FzZSA2NTUwNTpjYXNlIDY1NTA2OmNhc2UgNjU1MDc6Y2FzZSA2NTUwODpjYXNlIDY1NTA5OmNhc2UgNjU1MTA6Y2FzZSA2NTUxMTpjYXNlIDY1NTEyOmNhc2UgNjU1MTM6Y2FzZSA2NTUxNDpjYXNlIDY1NTE1OmNhc2UgNjU1MTY6Y2FzZSA2NTUxNzpjYXNlIDY1NTE4OmNhc2UgNjU1MTk6Y2FzZSA2NTUzNDpjb25zdCB1PXJlYWREYXRhQmxvY2soKTs2NTUwND09PWgmJjc0PT09dVswXSYmNzA9PT11WzFdJiY3Mz09PXVbMl0mJjcwPT09dVszXSYmMD09PXVbNF0mJihyPXt2ZXJzaW9uOnttYWpvcjp1WzVdLG1pbm9yOnVbNl19LGRlbnNpdHlVbml0czp1WzddLHhEZW5zaXR5OnVbOF08PDh8dVs5XSx5RGVuc2l0eTp1WzEwXTw8OHx1WzExXSx0aHVtYldpZHRoOnVbMTJdLHRodW1iSGVpZ2h0OnVbMTNdLHRodW1iRGF0YTp1LnN1YmFycmF5KDE0LDE0KzMqdVsxMl0qdVsxM10pfSk7NjU1MTg9PT1oJiY2NT09PXVbMF0mJjEwMD09PXVbMV0mJjExMT09PXVbMl0mJjk4PT09dVszXSYmMTAxPT09dVs0XSYmKG49e3ZlcnNpb246dVs1XTw8OHx1WzZdLGZsYWdzMDp1WzddPDw4fHVbOF0sZmxhZ3MxOnVbOV08PDh8dVsxMF0sdHJhbnNmb3JtQ29kZTp1WzExXX0pO2JyZWFrO2Nhc2UgNjU0OTk6Y29uc3QgZD1yZWFkVWludDE2KGUscyk7cys9Mjtjb25zdCBmPWQrcy0yO2xldCBwO2Zvcig7czxmOyl7Y29uc3QgdD1lW3MrK10saT1uZXcgVWludDE2QXJyYXkoNjQpO2lmKHQ+PjQ9PTApZm9yKFE9MDtRPDY0O1ErKyl7cD10aVtRXTtpW3BdPWVbcysrXX1lbHNle2lmKHQ+PjQhPTEpdGhyb3cgbmV3IEpwZWdFcnJvcigiRFFUIC0gaW52YWxpZCB0YWJsZSBzcGVjIik7Zm9yKFE9MDtRPDY0O1ErKyl7cD10aVtRXTtpW3BdPXJlYWRVaW50MTYoZSxzKTtzKz0yfX1vWzE1JnRdPWl9YnJlYWs7Y2FzZSA2NTQ3MjpjYXNlIDY1NDczOmNhc2UgNjU0NzQ6aWYoaSl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJPbmx5IHNpbmdsZSBmcmFtZSBKUEVHcyBzdXBwb3J0ZWQiKTtzKz0yO2k9e307aS5leHRlbmRlZD02NTQ3Mz09PWg7aS5wcm9ncmVzc2l2ZT02NTQ3ND09PWg7aS5wcmVjaXNpb249ZVtzKytdO2NvbnN0IG09cmVhZFVpbnQxNihlLHMpO3MrPTI7aS5zY2FuTGluZXM9dHx8bTtpLnNhbXBsZXNQZXJMaW5lPXJlYWRVaW50MTYoZSxzKTtzKz0yO2kuY29tcG9uZW50cz1bXTtpLmNvbXBvbmVudElkcz17fTtjb25zdCB5PWVbcysrXTtsZXQgdz0wLEQ9MDtmb3IobD0wO2w8eTtsKyspe2NvbnN0IHQ9ZVtzXSxhPWVbcysxXT4+NCxyPTE1JmVbcysxXTt3PGEmJih3PWEpO0Q8ciYmKEQ9cik7Y29uc3Qgbj1lW3MrMl07RT1pLmNvbXBvbmVudHMucHVzaCh7aDphLHY6cixxdWFudGl6YXRpb25JZDpuLHF1YW50aXphdGlvblRhYmxlOm51bGx9KTtpLmNvbXBvbmVudElkc1t0XT1FLTE7cys9M31pLm1heEg9dztpLm1heFY9RDtwcmVwYXJlQ29tcG9uZW50cyhpKTticmVhaztjYXNlIDY1NDc2OmNvbnN0IGI9cmVhZFVpbnQxNihlLHMpO3MrPTI7Zm9yKGw9MjtsPGI7KXtjb25zdCB0PWVbcysrXSxpPW5ldyBVaW50OEFycmF5KDE2KTtsZXQgYT0wO2ZvcihRPTA7UTwxNjtRKysscysrKWErPWlbUV09ZVtzXTtjb25zdCByPW5ldyBVaW50OEFycmF5KGEpO2ZvcihRPTA7UTxhO1ErKyxzKyspcltRXT1lW3NdO2wrPTE3K2E7KHQ+PjQ9PTA/QzpjKVsxNSZ0XT1idWlsZEh1ZmZtYW5UYWJsZShpLHIpfWJyZWFrO2Nhc2UgNjU1MDE6cys9MjthPXJlYWRVaW50MTYoZSxzKTtzKz0yO2JyZWFrO2Nhc2UgNjU0OTg6Y29uc3QgRj0xPT0rK2cmJiF0O3MrPTI7Y29uc3QgUz1lW3MrK10saz1bXTtmb3IobD0wO2w8UztsKyspe2NvbnN0IHQ9ZVtzKytdLGE9aS5jb21wb25lbnRJZHNbdF0scj1pLmNvbXBvbmVudHNbYV07ci5pbmRleD10O2NvbnN0IG49ZVtzKytdO3IuaHVmZm1hblRhYmxlREM9Q1tuPj40XTtyLmh1ZmZtYW5UYWJsZUFDPWNbMTUmbl07ay5wdXNoKHIpfWNvbnN0IFI9ZVtzKytdLE49ZVtzKytdLEc9ZVtzKytdO3RyeXtjb25zdCB0PWRlY29kZVNjYW4oZSxzLGksayxhLFIsTixHPj40LDE1JkcsRik7cys9dH1jYXRjaCh0KXtpZih0IGluc3RhbmNlb2YgRE5MTWFya2VyRXJyb3Ipe3dhcm4oYCR7dC5tZXNzYWdlfSAtLSBhdHRlbXB0aW5nIHRvIHJlLXBhcnNlIHRoZSBKUEVHIGltYWdlLmApO3JldHVybiB0aGlzLnBhcnNlKGUse2RubFNjYW5MaW5lczp0LnNjYW5MaW5lc30pfWlmKHQgaW5zdGFuY2VvZiBFT0lNYXJrZXJFcnJvcil7d2FybihgJHt0Lm1lc3NhZ2V9IC0tIGlnbm9yaW5nIHRoZSByZXN0IG9mIHRoZSBpbWFnZSBkYXRhLmApO2JyZWFrIEF9dGhyb3cgdH1icmVhaztjYXNlIDY1NTAwOnMrPTQ7YnJlYWs7Y2FzZSA2NTUzNToyNTUhPT1lW3NdJiZzLS07YnJlYWs7ZGVmYXVsdDpjb25zdCB4PWZpbmROZXh0RmlsZU1hcmtlcihlLHMtMixzLTMpO2lmKHg/LmludmFsaWQpe3dhcm4oIkpwZWdJbWFnZS5wYXJzZSAtIHVuZXhwZWN0ZWQgZGF0YSwgY3VycmVudCBtYXJrZXIgaXM6ICIreC5pbnZhbGlkKTtzPXgub2Zmc2V0O2JyZWFrfWlmKCF4fHxzPj1lLmxlbmd0aC0xKXt3YXJuKCJKcGVnSW1hZ2UucGFyc2UgLSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIGltYWdlIGRhdGEgd2l0aG91dCBmaW5kaW5nIGFuIEVPSSBtYXJrZXIgKDB4RkZEOSkuIik7YnJlYWsgQX10aHJvdyBuZXcgSnBlZ0Vycm9yKCJKcGVnSW1hZ2UucGFyc2UgLSB1bmtub3duIG1hcmtlcjogIitoLnRvU3RyaW5nKDE2KSl9aD1yZWFkVWludDE2KGUscyk7cys9Mn1pZighaSl0aHJvdyBuZXcgSnBlZ0Vycm9yKCJKcGVnSW1hZ2UucGFyc2UgLSBubyBmcmFtZSBkYXRhIGZvdW5kLiIpO3RoaXMud2lkdGg9aS5zYW1wbGVzUGVyTGluZTt0aGlzLmhlaWdodD1pLnNjYW5MaW5lczt0aGlzLmpmaWY9cjt0aGlzLmFkb2JlPW47dGhpcy5jb21wb25lbnRzPVtdO2Zvcihjb25zdCBlIG9mIGkuY29tcG9uZW50cyl7Y29uc3QgdD1vW2UucXVhbnRpemF0aW9uSWRdO3QmJihlLnF1YW50aXphdGlvblRhYmxlPXQpO3RoaXMuY29tcG9uZW50cy5wdXNoKHtpbmRleDplLmluZGV4LG91dHB1dDpidWlsZENvbXBvbmVudERhdGEoMCxlKSxzY2FsZVg6ZS5oL2kubWF4SCxzY2FsZVk6ZS52L2kubWF4VixibG9ja3NQZXJMaW5lOmUuYmxvY2tzUGVyTGluZSxibG9ja3NQZXJDb2x1bW46ZS5ibG9ja3NQZXJDb2x1bW59KX10aGlzLm51bUNvbXBvbmVudHM9dGhpcy5jb21wb25lbnRzLmxlbmd0aH1fZ2V0TGluZWFyaXplZEJsb2NrRGF0YShlLHQsaT0hMSl7Y29uc3QgYT10aGlzLndpZHRoL2Uscz10aGlzLmhlaWdodC90O2xldCByLG4sZyxvLGMsQyxoLGwsUSxFLHUsZD0wO2NvbnN0IGY9dGhpcy5jb21wb25lbnRzLmxlbmd0aCxwPWUqdCpmLG09bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHApLHk9bmV3IFVpbnQzMkFycmF5KGUpLHc9NDI5NDk2NzI4ODtsZXQgRDtmb3IoaD0wO2g8ZjtoKyspe3I9dGhpcy5jb21wb25lbnRzW2hdO249ci5zY2FsZVgqYTtnPXIuc2NhbGVZKnM7ZD1oO3U9ci5vdXRwdXQ7bz1yLmJsb2Nrc1BlckxpbmUrMTw8MztpZihuIT09RCl7Zm9yKGM9MDtjPGU7YysrKXtsPTB8YypuO3lbY109KGwmdyk8PDN8NyZsfUQ9bn1mb3IoQz0wO0M8dDtDKyspe2w9MHxDKmc7RT1vKihsJncpfCg3JmwpPDwzO2ZvcihjPTA7YzxlO2MrKyl7bVtkXT11W0UreVtjXV07ZCs9Zn19fWxldCBiPXRoaXMuX2RlY29kZVRyYW5zZm9ybTtpfHw0IT09Znx8Ynx8KGI9bmV3IEludDMyQXJyYXkoWy0yNTYsMjU1LC0yNTYsMjU1LC0yNTYsMjU1LC0yNTYsMjU1XSkpO2lmKGIpZm9yKGg9MDtoPHA7KWZvcihsPTAsUT0wO2w8ZjtsKyssaCsrLFErPTIpbVtoXT0obVtoXSpiW1FdPj44KStiW1ErMV07cmV0dXJuIG19Z2V0IF9pc0NvbG9yQ29udmVyc2lvbk5lZWRlZCgpe3JldHVybiB0aGlzLmFkb2JlPyEhdGhpcy5hZG9iZS50cmFuc2Zvcm1Db2RlOjM9PT10aGlzLm51bUNvbXBvbmVudHM/MCE9PXRoaXMuX2NvbG9yVHJhbnNmb3JtJiYoODIhPT10aGlzLmNvbXBvbmVudHNbMF0uaW5kZXh8fDcxIT09dGhpcy5jb21wb25lbnRzWzFdLmluZGV4fHw2NiE9PXRoaXMuY29tcG9uZW50c1syXS5pbmRleCk6MT09PXRoaXMuX2NvbG9yVHJhbnNmb3JtfV9jb252ZXJ0WWNjVG9SZ2IoZSl7bGV0IHQsaSxhO2ZvcihsZXQgcz0wLHI9ZS5sZW5ndGg7czxyO3MrPTMpe3Q9ZVtzXTtpPWVbcysxXTthPWVbcysyXTtlW3NdPXQtMTc5LjQ1NisxLjQwMiphO2VbcysxXT10KzEzNS40NTktLjM0NCppLS43MTQqYTtlW3MrMl09dC0yMjYuODE2KzEuNzcyKml9cmV0dXJuIGV9X2NvbnZlcnRZY2NUb1JnYmEoZSx0KXtmb3IobGV0IGk9MCxhPTAscz1lLmxlbmd0aDtpPHM7aSs9MyxhKz00KXtjb25zdCBzPWVbaV0scj1lW2krMV0sbj1lW2krMl07dFthXT1zLTE3OS40NTYrMS40MDIqbjt0W2ErMV09cysxMzUuNDU5LS4zNDQqci0uNzE0Km47dFthKzJdPXMtMjI2LjgxNisxLjc3MipyO3RbYSszXT0yNTV9cmV0dXJuIHR9X2NvbnZlcnRZY2NrVG9SZ2IoZSl7bGV0IHQsaSxhLHMscj0wO2ZvcihsZXQgbj0wLGc9ZS5sZW5ndGg7bjxnO24rPTQpe3Q9ZVtuXTtpPWVbbisxXTthPWVbbisyXTtzPWVbbiszXTtlW3IrK109aSooLTY2MDYzNTY2OTQyMDM2NGUtMTkqaSsuMDAwNDM3MTMwNDc1OTI2MjMyKmEtNTQwODA2MTAwNjQ1OTllLTE4KnQrLjAwMDQ4NDQ5Nzk3MTIwMjgxKnMtLjE1NDM2MjE1MTg3MTEyNiktMTIyLjY3MTk1NDA2ODk0K2EqKC0uMDAwOTU3OTY0Mzc4NDQ1NzczKmErLjAwMDgxNzA3NjkxMTM0NjYyNSp0LS4wMDQ3NzI3MTQwNTQwODc0NypzKzEuNTMzODAyNTMyMjE3MzQpK3QqKC4wMDA5NjEyNTAxODQxMzA2ODgqdC0uMDAyNjYyNTczMzIyODM5MzMqcysuNDgzNTcwODg0NTEyNjUpK3MqKC0uMDAwMzM2MTk3MTc3NjE4Mzk0KnMrLjQ4NDc5MTU2MTQ5MDc3Nik7ZVtyKytdPTEwNy4yNjgwMzkzOTc3MjQraSooMjE5OTI3MTA0NTI1NzQxZS0xOSppLS4wMDA2NDA5OTIwMTgyOTc5NDUqYSsuMDAwNjU5Mzk3MDAxMjQ1NTc3KnQrLjAwMDQyNjEwNTY1MjkzODgzNypzLS4xNzY0OTE3OTI0NjI4NzUpK2EqKC0uMDAwNzc4MjY5OTQxNTEzNjgzKmErLjAwMTMwODcyMjYxNDA4Mjc1KnQrLjAwMDc3MDQ4MjYzMTgwMTEzMipzLS4xNTEwNTE0OTI3NzU1NjIpK3QqKC4wMDEyNjkzNTM2ODExNDg0Myp0LS4wMDI2NTA5MDE4OTAxMDg5OCpzKy4yNTgwMjkxMDIwNjg0NSkrcyooLS4wMDAzMTg5MTMxMTc1ODgzMjgqcy0uMjEzNzQyNDAwMzIzNjY1KTtlW3IrK109aSooLS4wMDA1NzAxMTUxOTY5NzM2NzcqaS0yNjM0MDkwNTEwMDQ1ODllLTE5KmErLjAwMjA3NDEwODgxMTUwMTIqdC0uMDAyODgyNjAyMzY4NTM0NDIqcysuODE0MjcyOTY4MzU5Mjk1KS0yMC44MTAwMTI1NDY5NDcrYSooLTE1MzQ5NjA1NzQ0MDk3NWUtMTkqYS0uMDAwMTMyNjg5MDQzOTYxNDQ2KnQrLjAwMDU2MDgzMzY5MTI0MjgxMipzLS4xOTUxNTIwMjc1MzQwNDkpK3QqKC4wMDE3NDQxODEzMjkyNzU4Mip0LS4wMDI1NTI0MzMyMTQzOTM0NypzKy4xMTY5MzUwMjA0NjUxNDUpK3MqKC0uMDAwMzQzNTMxOTk2NTEwNTU1KnMrLjI0MTY1MjYwMjMyNDA3KX1yZXR1cm4gZS5zdWJhcnJheSgwLHIpfV9jb252ZXJ0WWNja1RvUmdiYShlKXtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kz00KXtjb25zdCBpPWVbdF0sYT1lW3QrMV0scz1lW3QrMl0scj1lW3QrM107ZVt0XT1hKigtNjYwNjM1NjY5NDIwMzY0ZS0xOSphKy4wMDA0MzcxMzA0NzU5MjYyMzIqcy01NDA4MDYxMDA2NDU5OWUtMTgqaSsuMDAwNDg0NDk3OTcxMjAyODEqci0uMTU0MzYyMTUxODcxMTI2KS0xMjIuNjcxOTU0MDY4OTQrcyooLS4wMDA5NTc5NjQzNzg0NDU3NzMqcysuMDAwODE3MDc2OTExMzQ2NjI1KmktLjAwNDc3MjcxNDA1NDA4NzQ3KnIrMS41MzM4MDI1MzIyMTczNCkraSooLjAwMDk2MTI1MDE4NDEzMDY4OCppLS4wMDI2NjI1NzMzMjI4MzkzMypyKy40ODM1NzA4ODQ1MTI2NSkrciooLS4wMDAzMzYxOTcxNzc2MTgzOTQqcisuNDg0NzkxNTYxNDkwNzc2KTtlW3QrMV09MTA3LjI2ODAzOTM5NzcyNCthKigyMTk5MjcxMDQ1MjU3NDFlLTE5KmEtLjAwMDY0MDk5MjAxODI5Nzk0NSpzKy4wMDA2NTkzOTcwMDEyNDU1NzcqaSsuMDAwNDI2MTA1NjUyOTM4ODM3KnItLjE3NjQ5MTc5MjQ2Mjg3NSkrcyooLS4wMDA3NzgyNjk5NDE1MTM2ODMqcysuMDAxMzA4NzIyNjE0MDgyNzUqaSsuMDAwNzcwNDgyNjMxODAxMTMyKnItLjE1MTA1MTQ5Mjc3NTU2MikraSooLjAwMTI2OTM1MzY4MTE0ODQzKmktLjAwMjY1MDkwMTg5MDEwODk4KnIrLjI1ODAyOTEwMjA2ODQ1KStyKigtLjAwMDMxODkxMzExNzU4ODMyOCpyLS4yMTM3NDI0MDAzMjM2NjUpO2VbdCsyXT1hKigtLjAwMDU3MDExNTE5Njk3MzY3NyphLTI2MzQwOTA1MTAwNDU4OWUtMTkqcysuMDAyMDc0MTA4ODExNTAxMippLS4wMDI4ODI2MDIzNjg1MzQ0MipyKy44MTQyNzI5NjgzNTkyOTUpLTIwLjgxMDAxMjU0Njk0NytzKigtMTUzNDk2MDU3NDQwOTc1ZS0xOSpzLS4wMDAxMzI2ODkwNDM5NjE0NDYqaSsuMDAwNTYwODMzNjkxMjQyODEyKnItLjE5NTE1MjAyNzUzNDA0OSkraSooLjAwMTc0NDE4MTMyOTI3NTgyKmktLjAwMjU1MjQzMzIxNDM5MzQ3KnIrLjExNjkzNTAyMDQ2NTE0NSkrciooLS4wMDAzNDM1MzE5OTY1MTA1NTUqcisuMjQxNjUyNjAyMzI0MDcpO2VbdCszXT0yNTV9cmV0dXJuIGV9X2NvbnZlcnRZY2NrVG9DbXlrKGUpe2xldCB0LGksYTtmb3IobGV0IHM9MCxyPWUubGVuZ3RoO3M8cjtzKz00KXt0PWVbc107aT1lW3MrMV07YT1lW3MrMl07ZVtzXT00MzQuNDU2LXQtMS40MDIqYTtlW3MrMV09MTE5LjU0MS10Ky4zNDQqaSsuNzE0KmE7ZVtzKzJdPTQ4MS44MTYtdC0xLjc3MippfXJldHVybiBlfV9jb252ZXJ0Q215a1RvUmdiKGUpe2xldCB0LGksYSxzLHI9MDtmb3IobGV0IG49MCxnPWUubGVuZ3RoO248ZztuKz00KXt0PWVbbl07aT1lW24rMV07YT1lW24rMl07cz1lW24rM107ZVtyKytdPTI1NSt0KigtNjc0NzE0NzA3MzYwMjQ0MWUtMjAqdCsuMDAwODM3OTI2MjEyMTAxMzcyNyppKy4wMDAyODk0NzE4MTg4NjQzMjk0KmErLjAwMzI2NDIzMTA1NzUzNzgwNipzLTEuMTE4NTYxMTg2NzIwMzkzNykraSooMjYzNzQxMDc2MTYwODk0MDVlLTIxKmktODYyNjk0OTE1ODYzODU3MmUtMjAqYS0uMDAwMjc0ODc2OTA2NzQ5OTQ5MSpzLS4wMjE1NTY4ODc5NDk3ODk2NykrYSooLTM4NzgwOTkyMTI4NjkzNjNlLTIwKmEtLjAwMDMyNjc4MDgyNzk0ODUyODYqcysuMDY4Njc0MjIzODU5NTM0NSktcyooLjAwMDMzNjE5NzE3NzYxODM5MzcqcysuNzQzMDY1OTE1MTM0MjI1NCk7ZVtyKytdPTI1NSt0KiguMDAwMTM1OTYzNzI4MTM1ODg4NDgqdCsuMDAwOTI0NTM3MTMyNTczNTg1KmkrLjAwMDEwNTY3MzU5NjE4NjgzNTkzKmErLjAwMDQ3OTE4NjQ2ODc0MzY1MTIqcy0uMzEwOTY4OTU4NzUxNTg3NSkraSooLS4wMDAyMzU0NTM0NjEwODM3MDM0NCppKy4wMDAyNzAyODQ1MjUzNTM0NzE0KmErLjAwMjAyMDAzMDg5NzczMDcxNTYqcy0uNzQ4ODA1MjE2NzAxNTQ5NCkrYSooNjgzNDgxNTk5ODIzNTY2MmUtMjAqYSsuMDAwMTUxNjg0NTIzNjM0NjA5NzMqcy0uMDk3NTE5Mjc3NzQ3Mjg5MzMpLXMqKC4wMDAzMTg5MTMxMTc1ODgzMjgxKnMrLjczNjQ4ODM4MDc3MzMxNjgpO2VbcisrXT0yNTUrdCooMTM1OTg2NTA0MTEzODUzMDdlLTIxKnQrLjAwMDEyNDIzOTU2MTc1NDkwODUxKmkrLjAwMDQ3NTE5ODUwOTc1ODM1ODkqYS0zNjcyOTMxNzQ3NjYzMDQyMmUtMjIqcy0uMDU1NjIxODY5ODAyNjQwMzQpK2kqKC4wMDAxNjE0MTM4MDU5ODcyNDY3NippKy4wMDA5NjkyMjM5MTMwNzI1MTg2KmErLjAwMDc3ODI2OTI0NTAwMzYyNTMqcy0uNDQwMTUyMzIzNjc1MjY0NjMpK2EqKDUuMDY4ODgyOTE0MDY4NzY5ZS03KmErLjAwMTc3NzgzNjkwMTEzNzUwNzEqcy0uNzU5MTQ1NDY0OTc0OTYwOSktcyooLjAwMDM0MzUzMTk5NjUxMDU1NTMqcysuNzA2Mzc3MDE4NjE2MDE0NCl9cmV0dXJuIGUuc3ViYXJyYXkoMCxyKX1fY29udmVydENteWtUb1JnYmEoZSl7Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCs9NCl7Y29uc3QgaT1lW3RdLGE9ZVt0KzFdLHM9ZVt0KzJdLHI9ZVt0KzNdO2VbdF09MjU1K2kqKC02NzQ3MTQ3MDczNjAyNDQxZS0yMCppKy4wMDA4Mzc5MjYyMTIxMDEzNzI3KmErLjAwMDI4OTQ3MTgxODg2NDMyOTQqcysuMDAzMjY0MjMxMDU3NTM3ODA2KnItMS4xMTg1NjExODY3MjAzOTM3KSthKigyNjM3NDEwNzYxNjA4OTQwNWUtMjEqYS04NjI2OTQ5MTU4NjM4NTcyZS0yMCpzLS4wMDAyNzQ4NzY5MDY3NDk5NDkxKnItLjAyMTU1Njg4Nzk0OTc4OTY3KStzKigtMzg3ODA5OTIxMjg2OTM2M2UtMjAqcy0uMDAwMzI2NzgwODI3OTQ4NTI4NipyKy4wNjg2NzQyMjM4NTk1MzQ1KS1yKiguMDAwMzM2MTk3MTc3NjE4MzkzNypyKy43NDMwNjU5MTUxMzQyMjU0KTtlW3QrMV09MjU1K2kqKC4wMDAxMzU5NjM3MjgxMzU4ODg0OCppKy4wMDA5MjQ1MzcxMzI1NzM1ODUqYSsuMDAwMTA1NjczNTk2MTg2ODM1OTMqcysuMDAwNDc5MTg2NDY4NzQzNjUxMipyLS4zMTA5Njg5NTg3NTE1ODc1KSthKigtLjAwMDIzNTQ1MzQ2MTA4MzcwMzQ0KmErLjAwMDI3MDI4NDUyNTM1MzQ3MTQqcysuMDAyMDIwMDMwODk3NzMwNzE1NipyLS43NDg4MDUyMTY3MDE1NDk0KStzKig2ODM0ODE1OTk4MjM1NjYyZS0yMCpzKy4wMDAxNTE2ODQ1MjM2MzQ2MDk3MypyLS4wOTc1MTkyNzc3NDcyODkzMyktciooLjAwMDMxODkxMzExNzU4ODMyODEqcisuNzM2NDg4MzgwNzczMzE2OCk7ZVt0KzJdPTI1NStpKigxMzU5ODY1MDQxMTM4NTMwN2UtMjEqaSsuMDAwMTI0MjM5NTYxNzU0OTA4NTEqYSsuMDAwNDc1MTk4NTA5NzU4MzU4OSpzLTM2NzI5MzE3NDc2NjMwNDIyZS0yMipyLS4wNTU2MjE4Njk4MDI2NDAzNCkrYSooLjAwMDE2MTQxMzgwNTk4NzI0Njc2KmErLjAwMDk2OTIyMzkxMzA3MjUxODYqcysuMDAwNzc4MjY5MjQ1MDAzNjI1MypyLS40NDAxNTIzMjM2NzUyNjQ2MykrcyooNS4wNjg4ODI5MTQwNjg3NjllLTcqcysuMDAxNzc3ODM2OTAxMTM3NTA3MSpyLS43NTkxNDU0NjQ5NzQ5NjA5KS1yKiguMDAwMzQzNTMxOTk2NTEwNTU1MypyKy43MDYzNzcwMTg2MTYwMTQ0KTtlW3QrM109MjU1fXJldHVybiBlfWdldERhdGEoe3dpZHRoOmUsaGVpZ2h0OnQsZm9yY2VSR0JBOmk9ITEsZm9yY2VSR0I6YT0hMSxpc1NvdXJjZVBERjpzPSExfSl7aWYodGhpcy5udW1Db21wb25lbnRzPjQpdGhyb3cgbmV3IEpwZWdFcnJvcigiVW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIpO2NvbnN0IHI9dGhpcy5fZ2V0TGluZWFyaXplZEJsb2NrRGF0YShlLHQscyk7aWYoMT09PXRoaXMubnVtQ29tcG9uZW50cyYmKGl8fGEpKXtjb25zdCBlPXIubGVuZ3RoKihpPzQ6MyksdD1uZXcgVWludDhDbGFtcGVkQXJyYXkoZSk7bGV0IGE9MDtpZihpKSFmdW5jdGlvbiBncmF5VG9SR0JBKGUsdCl7aWYoRmVhdHVyZVRlc3QuaXNMaXR0bGVFbmRpYW4pZm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSsrKXRbaV09NjU3OTMqZVtpXXw0Mjc4MTkwMDgwO2Vsc2UgZm9yKGxldCBpPTAsYT1lLmxlbmd0aDtpPGE7aSsrKXRbaV09MTY4NDMwMDgqZVtpXXwyNTV9KHIsbmV3IFVpbnQzMkFycmF5KHQuYnVmZmVyKSk7ZWxzZSBmb3IoY29uc3QgZSBvZiByKXt0W2ErK109ZTt0W2ErK109ZTt0W2ErK109ZX1yZXR1cm4gdH1pZigzPT09dGhpcy5udW1Db21wb25lbnRzJiZ0aGlzLl9pc0NvbG9yQ29udmVyc2lvbk5lZWRlZCl7aWYoaSl7Y29uc3QgZT1uZXcgVWludDhDbGFtcGVkQXJyYXkoci5sZW5ndGgvMyo0KTtyZXR1cm4gdGhpcy5fY29udmVydFljY1RvUmdiYShyLGUpfXJldHVybiB0aGlzLl9jb252ZXJ0WWNjVG9SZ2Iocil9aWYoND09PXRoaXMubnVtQ29tcG9uZW50cyl7aWYodGhpcy5faXNDb2xvckNvbnZlcnNpb25OZWVkZWQpcmV0dXJuIGk/dGhpcy5fY29udmVydFljY2tUb1JnYmEocik6YT90aGlzLl9jb252ZXJ0WWNja1RvUmdiKHIpOnRoaXMuX2NvbnZlcnRZY2NrVG9DbXlrKHIpO2lmKGkpcmV0dXJuIHRoaXMuX2NvbnZlcnRDbXlrVG9SZ2JhKHIpO2lmKGEpcmV0dXJuIHRoaXMuX2NvbnZlcnRDbXlrVG9SZ2Iocil9cmV0dXJuIHJ9fWNsYXNzIEpwZWdTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKHQpO3RoaXMuc3RyZWFtPWU7dGhpcy5kaWN0PWUuZGljdDt0aGlzLm1heWJlTGVuZ3RoPXQ7dGhpcy5wYXJhbXM9aX1nZXQgYnl0ZXMoKXtyZXR1cm4gc2hhZG93KHRoaXMsImJ5dGVzIix0aGlzLnN0cmVhbS5nZXRCeXRlcyh0aGlzLm1heWJlTGVuZ3RoKSl9ZW5zdXJlQnVmZmVyKGUpe31yZWFkQmxvY2soKXt0aGlzLmRlY29kZUltYWdlKCl9ZGVjb2RlSW1hZ2UoZSl7aWYodGhpcy5lb2YpcmV0dXJuIHRoaXMuYnVmZmVyO2V8fD10aGlzLmJ5dGVzO2ZvcihsZXQgdD0wLGk9ZS5sZW5ndGgtMTt0PGk7dCsrKWlmKDI1NT09PWVbdF0mJjIxNj09PWVbdCsxXSl7dD4wJiYoZT1lLnN1YmFycmF5KHQpKTticmVha31jb25zdCB0PXtkZWNvZGVUcmFuc2Zvcm06dm9pZCAwLGNvbG9yVHJhbnNmb3JtOnZvaWQgMH0saT10aGlzLmRpY3QuZ2V0QXJyYXkoIkQiLCJEZWNvZGUiKTtpZigodGhpcy5mb3JjZVJHQkF8fHRoaXMuZm9yY2VSR0IpJiZBcnJheS5pc0FycmF5KGkpKXtjb25zdCBlPXRoaXMuZGljdC5nZXQoIkJQQyIsIkJpdHNQZXJDb21wb25lbnQiKXx8OCxhPWkubGVuZ3RoLHM9bmV3IEludDMyQXJyYXkoYSk7bGV0IHI9ITE7Y29uc3Qgbj0oMTw8ZSktMTtmb3IobGV0IGU9MDtlPGE7ZSs9Mil7c1tlXT0yNTYqKGlbZSsxXS1pW2VdKXwwO3NbZSsxXT1pW2VdKm58MDsyNTY9PT1zW2VdJiYwPT09c1tlKzFdfHwocj0hMCl9ciYmKHQuZGVjb2RlVHJhbnNmb3JtPXMpfWlmKHRoaXMucGFyYW1zIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT10aGlzLnBhcmFtcy5nZXQoIkNvbG9yVHJhbnNmb3JtIik7TnVtYmVyLmlzSW50ZWdlcihlKSYmKHQuY29sb3JUcmFuc2Zvcm09ZSl9Y29uc3QgYT1uZXcgSnBlZ0ltYWdlKHQpO2EucGFyc2UoZSk7Y29uc3Qgcz1hLmdldERhdGEoe3dpZHRoOnRoaXMuZHJhd1dpZHRoLGhlaWdodDp0aGlzLmRyYXdIZWlnaHQsZm9yY2VSR0JBOnRoaXMuZm9yY2VSR0JBLGZvcmNlUkdCOnRoaXMuZm9yY2VSR0IsaXNTb3VyY2VQREY6ITB9KTt0aGlzLmJ1ZmZlcj1zO3RoaXMuYnVmZmVyTGVuZ3RoPXMubGVuZ3RoO3RoaXMuZW9mPSEwO3JldHVybiB0aGlzLmJ1ZmZlcn1nZXQgY2FuQXN5bmNEZWNvZGVJbWFnZUZyb21CdWZmZXIoKXtyZXR1cm4gdGhpcy5zdHJlYW0uaXNBc3luY319dmFyIGNpLENpPShjaT0idW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ/LnNyYzp2b2lkIDAsZnVuY3Rpb24oZT17fSl7dmFyIHQsaSxhPWU7bmV3IFByb21pc2UoKChlLGEpPT57dD1lO2k9YX0pKTthLmRlY29kZT1mdW5jdGlvbihlLHtudW1Db21wb25lbnRzOnQ9NCxpc0luZGV4ZWRDb2xvcm1hcDppPSExLHNtYXNrSW5EYXRhOnM9ITF9KXtjb25zdCByPWUubGVuZ3RoLG49YS5fbWFsbG9jKHIpO2EuSEVBUFU4LnNldChlLG4pO2NvbnN0IGc9YS5fanAyX2RlY29kZShuLHIsdD4wP3Q6MCwhIWksISFzKTthLl9mcmVlKG4pO2lmKGcpe2NvbnN0e2Vycm9yTWVzc2FnZXM6ZX09YTtpZihlKXtkZWxldGUgYS5lcnJvck1lc3NhZ2VzO3JldHVybiBlfXJldHVybiJVbmtub3duIGVycm9yIn1jb25zdHtpbWFnZURhdGE6b309YTthLmltYWdlRGF0YT1udWxsO3JldHVybiBvfTt2YXIgcyxyPU9iamVjdC5hc3NpZ24oe30sYSksbj0iLi90aGlzLnByb2dyYW0iLGc9IiI7InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQuY3VycmVudFNjcmlwdCYmKGc9ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMpO2NpJiYoZz1jaSk7Zz1nLnN0YXJ0c1dpdGgoImJsb2I6Iik/IiI6Zy5zdWJzdHIoMCxnLnJlcGxhY2UoL1s/I10uKi8sIiIpLmxhc3RJbmRleE9mKCIvIikrMSk7dmFyIG8sYyxDLGgsbCxRPWEucHJpbnR8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSksRT1hLnByaW50RXJyfHxjb25zb2xlLmVycm9yLmJpbmQoY29uc29sZSk7T2JqZWN0LmFzc2lnbihhLHIpO3I9bnVsbDthLmFyZ3VtZW50cyYmYS5hcmd1bWVudHM7YS50aGlzUHJvZ3JhbSYmKG49YS50aGlzUHJvZ3JhbSk7YS5xdWl0JiZhLnF1aXQ7YS53YXNtQmluYXJ5JiYobz1hLndhc21CaW5hcnkpO2Z1bmN0aW9uIHRyeVBhcnNlQXNEYXRhVVJJKGUpe2lmKGlzRGF0YVVSSShlKSlyZXR1cm4gZnVuY3Rpb24gaW50QXJyYXlGcm9tQmFzZTY0KGUpe2Zvcih2YXIgdD1hdG9iKGUpLGk9bmV3IFVpbnQ4QXJyYXkodC5sZW5ndGgpLGE9MDthPHQubGVuZ3RoOysrYSlpW2FdPXQuY2hhckNvZGVBdChhKTtyZXR1cm4gaX0oZS5zbGljZShELmxlbmd0aCkpfWZ1bmN0aW9uIHVwZGF0ZU1lbW9yeVZpZXdzKCl7dmFyIGU9Yy5idWZmZXI7YS5IRUFQOD1DPW5ldyBJbnQ4QXJyYXkoZSk7YS5IRUFQMTY9bmV3IEludDE2QXJyYXkoZSk7YS5IRUFQVTg9aD1uZXcgVWludDhBcnJheShlKTthLkhFQVBVMTY9bmV3IFVpbnQxNkFycmF5KGUpO2EuSEVBUDMyPW5ldyBJbnQzMkFycmF5KGUpO2EuSEVBUFUzMj1sPW5ldyBVaW50MzJBcnJheShlKTthLkhFQVBGMzI9bmV3IEZsb2F0MzJBcnJheShlKTthLkhFQVBGNjQ9bmV3IEZsb2F0NjRBcnJheShlKX12YXIgdSxkPVtdLGY9W10scD1bXSxtPTAseT1udWxsLHc9bnVsbCxEPSJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsIixpc0RhdGFVUkk9ZT0+ZS5zdGFydHNXaXRoKEQpO2Z1bmN0aW9uIGluc3RhbnRpYXRlU3luYyhlLHQpe3ZhciBpLGE9ZnVuY3Rpb24gZ2V0QmluYXJ5U3luYyhlKXtpZihlPT11JiZvKXJldHVybiBuZXcgVWludDhBcnJheShvKTt2YXIgdD10cnlQYXJzZUFzRGF0YVVSSShlKTtpZih0KXJldHVybiB0O2lmKHMpcmV0dXJuIHMoZSk7dGhyb3cnc3luYyBmZXRjaGluZyBvZiB0aGUgd2FzbSBmYWlsZWQ6IHlvdSBjYW4gcHJlbG9hZCBpdCB0byBNb2R1bGVbIndhc21CaW5hcnkiXSBtYW51YWxseSwgb3IgZW1jYy5weSB3aWxsIGRvIHRoYXQgZm9yIHlvdSB3aGVuIGdlbmVyYXRpbmcgSFRNTCAoYnV0IG5vdCBKUyknfShlKTtpPW5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYSk7cmV0dXJuW25ldyBXZWJBc3NlbWJseS5JbnN0YW5jZShpLHQpLGldfXZhciBjYWxsUnVudGltZUNhbGxiYWNrcz1lPT57Zm9yKDtlLmxlbmd0aD4wOyllLnNoaWZ0KCkoYSl9O2Eubm9FeGl0UnVudGltZTt2YXIgYixncm93TWVtb3J5PWU9Pnt2YXIgdD0oZS1jLmJ1ZmZlci5ieXRlTGVuZ3RoKzY1NTM1KS82NTUzNjt0cnl7Yy5ncm93KHQpO3VwZGF0ZU1lbW9yeVZpZXdzKCk7cmV0dXJuIDF9Y2F0Y2goZSl7fX0sRj17fSxnZXRFbnZTdHJpbmdzPSgpPT57aWYoIWdldEVudlN0cmluZ3Muc3RyaW5ncyl7dmFyIGU9e1VTRVI6IndlYl91c2VyIixMT0dOQU1FOiJ3ZWJfdXNlciIsUEFUSDoiLyIsUFdEOiIvIixIT01FOiIvaG9tZS93ZWJfdXNlciIsTEFORzooIm9iamVjdCI9PXR5cGVvZiBuYXZpZ2F0b3ImJm5hdmlnYXRvci5sYW5ndWFnZXMmJm5hdmlnYXRvci5sYW5ndWFnZXNbMF18fCJDIikucmVwbGFjZSgiLSIsIl8iKSsiLlVURi04IixfOm58fCIuL3RoaXMucHJvZ3JhbSJ9O2Zvcih2YXIgdCBpbiBGKXZvaWQgMD09PUZbdF0/ZGVsZXRlIGVbdF06ZVt0XT1GW3RdO3ZhciBpPVtdO2Zvcih2YXIgdCBpbiBlKWkucHVzaChgJHt0fT0ke2VbdF19YCk7Z2V0RW52U3RyaW5ncy5zdHJpbmdzPWl9cmV0dXJuIGdldEVudlN0cmluZ3Muc3RyaW5nc30sUz1bbnVsbCxbXSxbXV0saz0idW5kZWZpbmVkIiE9dHlwZW9mIFRleHREZWNvZGVyP25ldyBUZXh0RGVjb2RlcigidXRmOCIpOnZvaWQgMCxVVEY4QXJyYXlUb1N0cmluZz0oZSx0LGkpPT57Zm9yKHZhciBhPXQraSxzPXQ7ZVtzXSYmIShzPj1hKTspKytzO2lmKHMtdD4xNiYmZS5idWZmZXImJmspcmV0dXJuIGsuZGVjb2RlKGUuc3ViYXJyYXkodCxzKSk7Zm9yKHZhciByPSIiO3Q8czspe3ZhciBuPWVbdCsrXTtpZigxMjgmbil7dmFyIGc9NjMmZVt0KytdO2lmKDE5MiE9KDIyNCZuKSl7dmFyIG89NjMmZVt0KytdO2lmKChuPTIyND09KDI0MCZuKT8oMTUmbik8PDEyfGc8PDZ8bzooNyZuKTw8MTh8Zzw8MTJ8bzw8Nnw2MyZlW3QrK10pPDY1NTM2KXIrPVN0cmluZy5mcm9tQ2hhckNvZGUobik7ZWxzZXt2YXIgYz1uLTY1NTM2O3IrPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8Yz4+MTAsNTYzMjB8MTAyMyZjKX19ZWxzZSByKz1TdHJpbmcuZnJvbUNoYXJDb2RlKCgzMSZuKTw8NnxnKX1lbHNlIHIrPVN0cmluZy5mcm9tQ2hhckNvZGUobil9cmV0dXJuIHJ9LHByaW50Q2hhcj0oZSx0KT0+e3ZhciBpPVNbZV07aWYoMD09PXR8fDEwPT09dCl7KDE9PT1lP1E6RSkoVVRGOEFycmF5VG9TdHJpbmcoaSwwKSk7aS5sZW5ndGg9MH1lbHNlIGkucHVzaCh0KX0sVVRGOFRvU3RyaW5nPShlLHQpPT5lP1VURjhBcnJheVRvU3RyaW5nKGgsZSx0KToiIixSPXtjOihlLHQsaSk9PmguY29weVdpdGhpbihlLHQsdCtpKSxnOmZ1bmN0aW9uIF9jb3B5X3BpeGVsc18xKGUsdCl7ZT4+PTI7Y29uc3QgaT1hLmltYWdlRGF0YT1uZXcgVWludDhDbGFtcGVkQXJyYXkodCkscz1hLkhFQVAzMi5zdWJhcnJheShlLGUrdCk7aS5zZXQocyl9LGY6ZnVuY3Rpb24gX2NvcHlfcGl4ZWxzXzMoZSx0LGkscyl7ZT4+PTI7dD4+PTI7aT4+PTI7Y29uc3Qgcj1hLmltYWdlRGF0YT1uZXcgVWludDhDbGFtcGVkQXJyYXkoMypzKSxuPWEuSEVBUDMyLnN1YmFycmF5KGUsZStzKSxnPWEuSEVBUDMyLnN1YmFycmF5KHQsdCtzKSxvPWEuSEVBUDMyLnN1YmFycmF5KGksaStzKTtmb3IobGV0IGU9MDtlPHM7ZSsrKXtyWzMqZV09bltlXTtyWzMqZSsxXT1nW2VdO3JbMyplKzJdPW9bZV19fSxlOmZ1bmN0aW9uIF9jb3B5X3BpeGVsc180KGUsdCxpLHMscil7ZT4+PTI7dD4+PTI7aT4+PTI7cz4+PTI7Y29uc3Qgbj1hLmltYWdlRGF0YT1uZXcgVWludDhDbGFtcGVkQXJyYXkoNCpyKSxnPWEuSEVBUDMyLnN1YmFycmF5KGUsZStyKSxvPWEuSEVBUDMyLnN1YmFycmF5KHQsdCtyKSxjPWEuSEVBUDMyLnN1YmFycmF5KGksaStyKSxDPWEuSEVBUDMyLnN1YmFycmF5KHMscytyKTtmb3IobGV0IGU9MDtlPHI7ZSsrKXtuWzQqZV09Z1tlXTtuWzQqZSsxXT1vW2VdO25bNCplKzJdPWNbZV07bls0KmUrM109Q1tlXX19LGs6ZT0+e3ZhciB0PWgubGVuZ3RoLGk9MjE0NzQ4MzY0ODtpZigoZT4+Pj0wKT5pKXJldHVybiExO2Zvcih2YXIgYSxzLHI9MTtyPD00O3IqPTIpe3ZhciBuPXQqKDErLjIvcik7bj1NYXRoLm1pbihuLGUrMTAwNjYzMjk2KTt2YXIgZz1NYXRoLm1pbihpLChhPU1hdGgubWF4KGUsbikpKygocz02NTUzNiktYSVzKSVzKTtpZihncm93TWVtb3J5KGcpKXJldHVybiEwfXJldHVybiExfSxsOihlLHQpPT57dmFyIGk9MDtnZXRFbnZTdHJpbmdzKCkuZm9yRWFjaCgoKGEscyk9Pnt2YXIgcj10K2k7bFtlKzQqcz4+Ml09cjsoKGUsdCk9Pntmb3IodmFyIGk9MDtpPGUubGVuZ3RoOysraSlDW3QrK109ZS5jaGFyQ29kZUF0KGkpO0NbdF09MH0pKGEscik7aSs9YS5sZW5ndGgrMX0pKTtyZXR1cm4gMH0sbTooZSx0KT0+e3ZhciBpPWdldEVudlN0cmluZ3MoKTtsW2U+PjJdPWkubGVuZ3RoO3ZhciBhPTA7aS5mb3JFYWNoKChlPT5hKz1lLmxlbmd0aCsxKSk7bFt0Pj4yXT1hO3JldHVybiAwfSxuOmU9PjUyLGo6ZnVuY3Rpb24gX2ZkX3NlZWsoZSx0LGksYSxzKXtyZXR1cm4gNzB9LGI6KGUsdCxpLGEpPT57Zm9yKHZhciBzPTAscj0wO3I8aTtyKyspe3ZhciBuPWxbdD4+Ml0sZz1sW3QrND4+Ml07dCs9ODtmb3IodmFyIG89MDtvPGc7bysrKXByaW50Q2hhcihlLGhbbitvXSk7cys9Z31sW2E+PjJdPXM7cmV0dXJuIDB9LG86ZnVuY3Rpb24gX2dyYXlfdG9fcmdiYShlLHQpe2U+Pj0yO2NvbnN0IGk9YS5pbWFnZURhdGE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDQqdCkscz1hLkhFQVAzMi5zdWJhcnJheShlLGUrdCk7Zm9yKGxldCBlPTA7ZTx0O2UrKyl7aVs0KmVdPWlbNCplKzFdPWlbNCplKzJdPXNbZV07aVs0KmUrM109MjU1fX0saTpmdW5jdGlvbiBfZ3JheWFfdG9fcmdiYShlLHQsaSl7ZT4+PTI7dD4+PTI7Y29uc3Qgcz1hLmltYWdlRGF0YT1uZXcgVWludDhDbGFtcGVkQXJyYXkoNCppKSxyPWEuSEVBUDMyLnN1YmFycmF5KGUsZStpKSxuPWEuSEVBUDMyLnN1YmFycmF5KHQsdCtpKTtmb3IobGV0IGU9MDtlPGk7ZSsrKXtzWzQqZV09c1s0KmUrMV09c1s0KmUrMl09cltlXTtzWzQqZSszXT1uW2VdfX0sZDpmdW5jdGlvbiBfanNQcmludFdhcm5pbmcoZSl7Y29uc3QgdD1VVEY4VG9TdHJpbmcoZSk7KGEud2Fybnx8Y29uc29sZS53YXJuKShgT3BlbkpQRUc6ICR7dH1gKX0saDpmdW5jdGlvbiBfcmdiX3RvX3JnYmEoZSx0LGkscyl7ZT4+PTI7dD4+PTI7aT4+PTI7Y29uc3Qgcj1hLmltYWdlRGF0YT1uZXcgVWludDhDbGFtcGVkQXJyYXkoNCpzKSxuPWEuSEVBUDMyLnN1YmFycmF5KGUsZStzKSxnPWEuSEVBUDMyLnN1YmFycmF5KHQsdCtzKSxvPWEuSEVBUDMyLnN1YmFycmF5KGksaStzKTtmb3IobGV0IGU9MDtlPHM7ZSsrKXtyWzQqZV09bltlXTtyWzQqZSsxXT1nW2VdO3JbNCplKzJdPW9bZV07cls0KmUrM109MjU1fX0sYTpmdW5jdGlvbiBfc3RvcmVFcnJvck1lc3NhZ2UoZSl7Y29uc3QgdD1VVEY4VG9TdHJpbmcoZSk7YS5lcnJvck1lc3NhZ2VzP2EuZXJyb3JNZXNzYWdlcys9IlxuIit0OmEuZXJyb3JNZXNzYWdlcz10fX0sTj1mdW5jdGlvbiBjcmVhdGVXYXNtKCl7dmFyIGU9ZnVuY3Rpb24gZ2V0V2FzbUltcG9ydHMoKXtyZXR1cm57YTpSfX0oKTtmdW5jdGlvbiByZWNlaXZlSW5zdGFuY2UoZSx0KXtOPWUuZXhwb3J0cztjPU4ucDt1cGRhdGVNZW1vcnlWaWV3cygpOyFmdW5jdGlvbiBhZGRPbkluaXQoZSl7Zi51bnNoaWZ0KGUpfShOLnEpOyFmdW5jdGlvbiByZW1vdmVSdW5EZXBlbmRlbmN5KGUpe20tLTthLm1vbml0b3JSdW5EZXBlbmRlbmNpZXM/LihtKTtpZigwPT1tKXtpZihudWxsIT09eSl7Y2xlYXJJbnRlcnZhbCh5KTt5PW51bGx9aWYodyl7dmFyIHQ9dzt3PW51bGw7dCgpfX19KCk7cmV0dXJuIE59IWZ1bmN0aW9uIGFkZFJ1bkRlcGVuZGVuY3koZSl7bSsrO2EubW9uaXRvclJ1bkRlcGVuZGVuY2llcz8uKG0pfSgpO2lmKGEuaW5zdGFudGlhdGVXYXNtKXRyeXtyZXR1cm4gYS5pbnN0YW50aWF0ZVdhc20oZSxyZWNlaXZlSW5zdGFuY2UpfWNhdGNoKGUpe0UoYE1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6ICR7ZX1gKTtpKGUpfXV8fCh1PSJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsQUdGemJRRUFBQUFCemdFYVlBTi9mMzhCZjJBRWYzOS9md0YvWUFGL0FHQUNmMzhBWUFGL0FYOWdBMzkvZndCZ0FuOS9BWDlnQkg5L2YzOEFZQU4vZm44QmZtQUZmMzkvZjM4QmYyQUNmbjhCZjJBQ2ZuOEJmbUFGZjM5L2YzOEFZQU4vZm44QmYyQUFBWDlnQjM5L2YzOS9mMzhCZjJBSmYzOS9mMzkvZjM5L0FYOWdDMzkvZjM5L2YzOS9mMzkvQVg5Z0JuOS9mMzkvZndGL1lBWi9mSDkvZjM4QmYyQUlmMzkvZjM5L2YzOEFZQWgvZjM5L2YzOS9md0YvWUFBQVlBWi9mMzkvZjM4QVlBZC9mMzkvZjM5L0FHQUNmSDhCZkFKYkR3RmhBV0VBQWdGaEFXSUFBUUZoQVdNQUJRRmhBV1FBQWdGaEFXVUFEQUZoQVdZQUJ3RmhBV2NBQXdGaEFXZ0FCd0ZoQVdrQUJRRmhBV29BQ1FGaEFXc0FCQUZoQVd3QUJnRmhBVzBBQmdGaEFXNEFCQUZoQVc4QUF3UEFBYjRCQndJRkFBWUVBQVVHQkFVQkJBd0ZGQVlDQWdJQ0FBWVFFUVFDQ2hJQ0JRSUVCd1FDRGdJQ0RRWUNGUU1IQUFBRUF3RVdDUWtEQUFrR0FRUUVCUVVPRHdFQkF3QURCZ0lRQkJjWUFnY0dBd2NIQVFFQ0FBUVpCQVlIQkE4TUFBUUNBZ0lBQmdBR0FRRUJBUUVCQVFFQUFBQUFBQVlEQWdJQ0F3TURBd01BQXhNSUJBNEVBQWdEQXdrRUNBb0xDQUFBQVFFQkFRRUJBUUVOQVFBRUJBVUpEd0VTRVFFQUFBWURBd0VGQlFVRkJRVUZCUUVMQVFFQkFRRUJBUUVCQ2dRRkFYQUJibTRGQndFQmdnS0FnQUlHQ0FGL0FVR1EyUVVMQnhzR0FYQUNBQUZ4QUVFQmNnQ1lBUUZ6QUJBQmRBRUFBWFVBbHdFSnZRRUJBRUVCQzIxUnpBSENBWE56TnFjQm5BR1pBWXNCaWdHSkFZZ0Jod0dHQVlVQmhBRlNnUUdBQVg5K2ZYeDdlbmw0ZDNaMXl3SEtBY2tCeUFISEFjWUJRTVVCeEFGQVFNTUJ3UUhBQWI4QnZnRzlBYndCdXdHNkFia0Jzd0dvQWFZQnBRR2tBYU1Cb2dHaEFhQUJud0dlQVowQm13R2FBVWxLVEZKSWd3RlRPRkNDQVU5RlJrNHJKNnNCcWdHc0FiUUJ1QUcxQWE4QnFRR3RBYTRCdGdHM0FYQ3dBYkVCc2dGUmxnR1ZBWXdCamdHTkFaSUJrd0dVQVpBQmp3RUtrWm9PdmdHQ0FnRURmeU1BUVpBRWF5SUVKQUFDUUNBQVJRMEFBa0FDUUFKQUFrQWdBVUVCYXc0RUFBRUVBZ1FMSUFCQkRHb2hBUXdDQ3lBQVFSQnFJUUVnQUVFRWFpRUFEQUVMSUFCQkZHb2hBU0FBUVFocUlRQUxJQUVvQWdBaUJVVU5BQ0FDUlEwQUlBQW9BZ0FoQmlBRVFRQkJnQVFRRlNJQklBTTJBb3dFSXdCQm9BRnJJZ0FrQUNBQUlBRTJBcFFCSUFCQi93TTJBcGdCSUFCQkFFR1FBUkFWSWdCQmZ6WUNUQ0FBUWVZQU5nSWtJQUJCZnpZQ1VDQUFJQUJCbndGcU5nSXNJQUFnQUVHVUFXbzJBbFFnQVVFQU9nQUFJQUFnQWlBRFFlY0FRZWdBRUdzZ0FFR2dBV29rQUNBQlFRQTZBUDhESUFFZ0JpQUZFUU1BQ3lBRVFaQUVhaVFBQzlBQ0FRVi9JQUFFUUNBQVFRUnJJZ01vQWdBaUJDRUJJQU1oQWlBQVFRaHJLQUlBSWdBZ0FFRitjU0lBUndSQUlBSWdBR3NpQWlnQ0JDSUJJQUlvQWdnaUJUWUNDQ0FGSUFFMkFnUWdBQ0FFYWlFQkN5QURJQVJxSWdBb0FnQWlBeUFBSUFOcVFRUnJLQUlBUndSQUlBQW9BZ1FpQkNBQUtBSUlJZ0EyQWdnZ0FDQUVOZ0lFSUFFZ0Eyb2hBUXNnQWlBQk5nSUFJQUlnQVVGOGNXcEJCR3NnQVVFQmNqWUNBQ0FDQW44Z0FpZ0NBRUVJYXlJQVFmOEFUUVJBSUFCQkEzWkJBV3NNQVFzZ0FHY2hBeUFBUVIwZ0EydDJRUVJ6SUFOQkFuUnJRZTRBYWlBQVFmOGZUUTBBR2tFL0lBQkJIaUFEYTNaQkFuTWdBMEVCZEd0Qnh3QnFJZ0FnQUVFL1R4c0xJZ0ZCQkhRaUFFR2d4d0ZxTmdJRUlBSWdBRUdveHdGcUlnQW9BZ0EyQWdnZ0FDQUNOZ0lBSUFJb0FnZ2dBallDQkVHb3p3RkJxTThCS1FNQVFnRWdBYTJHaERjREFBc0x5UUlCQkg4Z0FVRUFOZ0lBQWtBZ0FrVU5BQ0FCSUFKcUlRTUNRQ0FDUVJCSkJFQWdBQ0VCREFFTEFrQWdBQ0FDYWlBQlRRMEFJQUFnQTA4TkFDQUFJUUVNQVFzZ0EwRVFheUVHSUFBZ0FrRndjU0lGYWlFQklBTWdCV3NoQXdOQUlBWWdCR3NnQUNBRWF2MEFBQUQ5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5RFE4T0RRd0xDZ2tJQndZRkJBTUNBUUQ5Q3dBQUlBUkJFR29pQkNBRlJ3MEFDeUFDSUFWR0RRRUxBa0FnQWtFRGNTSUdSUVJBSUFVaEJBd0JDMEVBSVFBZ0JTRUVBMEFnQTBFQmF5SURJQUV0QUFBNkFBQWdCRUVCYWlFRUlBRkJBV29oQVNBQVFRRnFJZ0FnQmtjTkFBc0xJQVVnQW10QmZFc05BQU5BSUFOQkFXc2dBUzBBQURvQUFDQURRUUpySUFFdEFBRTZBQUFnQTBFRGF5QUJMUUFDT2dBQUlBTkJCR3NpQXlBQkxRQURPZ0FBSUFGQkJHb2hBU0FFUVFScUlnUWdBa2NOQUFzTEM0QUVBUU4vSUFKQmdBUlBCRUFnQUNBQklBSVFBaUFBRHdzZ0FDQUNhaUVEQWtBZ0FDQUJjMEVEY1VVRVFBSkFJQUJCQTNGRkJFQWdBQ0VDREFFTElBSkZCRUFnQUNFQ0RBRUxJQUFoQWdOQUlBSWdBUzBBQURvQUFDQUJRUUZxSVFFZ0FrRUJhaUlDUVFOeFJRMEJJQUlnQTBrTkFBc0xBa0FnQTBGOGNTSUVRY0FBU1EwQUlBSWdCRUZBYWlJRlN3MEFBMEFnQWlBQktBSUFOZ0lBSUFJZ0FTZ0NCRFlDQkNBQ0lBRW9BZ2cyQWdnZ0FpQUJLQUlNTmdJTUlBSWdBU2dDRURZQ0VDQUNJQUVvQWhRMkFoUWdBaUFCS0FJWU5nSVlJQUlnQVNnQ0hEWUNIQ0FDSUFFb0FpQTJBaUFnQWlBQktBSWtOZ0lrSUFJZ0FTZ0NLRFlDS0NBQ0lBRW9BaXcyQWl3Z0FpQUJLQUl3TmdJd0lBSWdBU2dDTkRZQ05DQUNJQUVvQWpnMkFqZ2dBaUFCS0FJOE5nSThJQUZCUUdzaEFTQUNRVUJySWdJZ0JVME5BQXNMSUFJZ0JFOE5BUU5BSUFJZ0FTZ0NBRFlDQUNBQlFRUnFJUUVnQWtFRWFpSUNJQVJKRFFBTERBRUxJQU5CQkVrRVFDQUFJUUlNQVFzZ0FDQURRUVJySWdSTEJFQWdBQ0VDREFFTElBQWhBZ05BSUFJZ0FTMEFBRG9BQUNBQ0lBRXRBQUU2QUFFZ0FpQUJMUUFDT2dBQ0lBSWdBUzBBQXpvQUF5QUJRUVJxSVFFZ0FrRUVhaUlDSUFSTkRRQUxDeUFDSUFOSkJFQURRQ0FDSUFFdEFBQTZBQUFnQVVFQmFpRUJJQUpCQVdvaUFpQURSdzBBQ3dzZ0FBc3dBUUYvQWtBZ0FFVU5BQ0FCUlEwQVFRZ2dBQ0FCYkNJQkVDVWlBQVJBSUFCQkFDQUJFQlVhQ3lBQUlRSUxJQUlMRVFBZ0FFVUVRRUVBRHd0QkNDQUFFQ1VMOGdJQ0FuOEJmZ0pBSUFKRkRRQWdBQ0FCT2dBQUlBQWdBbW9pQTBFQmF5QUJPZ0FBSUFKQkEwa05BQ0FBSUFFNkFBSWdBQ0FCT2dBQklBTkJBMnNnQVRvQUFDQURRUUpySUFFNkFBQWdBa0VIU1EwQUlBQWdBVG9BQXlBRFFRUnJJQUU2QUFBZ0FrRUpTUTBBSUFCQkFDQUFhMEVEY1NJRWFpSURJQUZCL3dGeFFZR0NoQWhzSWdFMkFnQWdBeUFDSUFSclFYeHhJZ1JxSWdKQkJHc2dBVFlDQUNBRVFRbEpEUUFnQXlBQk5nSUlJQU1nQVRZQ0JDQUNRUWhySUFFMkFnQWdBa0VNYXlBQk5nSUFJQVJCR1VrTkFDQURJQUUyQWhnZ0F5QUJOZ0lVSUFNZ0FUWUNFQ0FESUFFMkFnd2dBa0VRYXlBQk5nSUFJQUpCRkdzZ0FUWUNBQ0FDUVJocklBRTJBZ0FnQWtFY2F5QUJOZ0lBSUFRZ0EwRUVjVUVZY2lJRWF5SUNRU0JKRFFBZ0FhMUNnWUNBZ0JCK0lRVWdBeUFFYWlFQkEwQWdBU0FGTndNWUlBRWdCVGNERUNBQklBVTNBd2dnQVNBRk53TUFJQUZCSUdvaEFTQUNRU0JySWdKQkgwc05BQXNMSUFBTEp3RUJmeU1BUVJCcklnTWtBQ0FESUFJMkFnd2dBQ0FCSUFKQkFFRUFFR3NnQTBFUWFpUUFDK2dGQVFsL0lBRkZCRUJCQUE4TEFuOGdBRVVFUUVFSUlBRVFKUXdCQ3lBQlJRUkFJQUFRRUVFQURBRUxBa0FnQVVGSFN3MEFJQUFDZjBFSUlBRkJBMnBCZkhFZ0FVRUlUUnNpQjBFSWFpRUJBa0FDZndKQUlBQkJCR3NpQ2lJRUtBSUFJZ1VnQkdvaUFpZ0NBQ0lKSUFJZ0NXb2lDRUVFYXlnQ0FFY0VRQ0FJSUFFZ0JHb2lBMEVRYWs4RVFDQUNLQUlFSWdVZ0FpZ0NDQ0lDTmdJSUlBSWdCVFlDQkNBRElBZ2dBMnNpQWpZQ0FDQURJQUpCZkhGcVFRUnJJQUpCQVhJMkFnQWdBd0ovSUFNb0FnQkJDR3NpQWtIL0FFMEVRQ0FDUVFOMlFRRnJEQUVMSUFKQkhTQUNaeUlGYTNaQkJITWdCVUVDZEd0QjdnQnFJQUpCL3g5TkRRQWFRVDhnQWtFZUlBVnJka0VDY3lBRlFRRjBhMEhIQUdvaUFpQUNRVDlQR3dzaUFrRUVkQ0lGUWFESEFXbzJBZ1FnQXlBRlFhakhBV29pQlNnQ0FEWUNDQ0FGSUFNMkFnQWdBeWdDQ0NBRE5nSUVRYWpQQVVHb3p3RXBBd0JDQVNBQ3JZYUVOd01BSUFRZ0FUWUNBQXdFQ3lBRElBaExEUUVnQWlnQ0JDSUJJQUlvQWdnaUF6WUNDQ0FESUFFMkFnUWdCQ0FGSUFscUlnRTJBZ0FNQXdzZ0JTQUJRUkJxVHdSQUlBUWdBVFlDQUNBRUlBRkJmSEZxUVFScklBRTJBZ0FnQVNBRWFpSURJQVVnQVdzaUFUWUNBQ0FESUFGQmZIRnFRUVJySUFGQkFYSTJBZ0FnQXdKL0lBTW9BZ0JCQ0dzaUFVSC9BRTBFUUNBQlFRTjJRUUZyREFFTElBRkJIU0FCWnlJRWEzWkJCSE1nQkVFQ2RHdEI3Z0JxSUFGQi94OU5EUUFhUVQ4Z0FVRWVJQVJyZGtFQ2N5QUVRUUYwYTBISEFHb2lBU0FCUVQ5UEd3c2lBVUVFZENJRVFhREhBV28yQWdRZ0F5QUVRYWpIQVdvaUJDZ0NBRFlDQ0NBRUlBTTJBZ0FnQXlnQ0NDQUROZ0lFUWFqUEFVR296d0VwQXdCQ0FTQUJyWWFFTndNQVFRRU1CQXRCQVNBQklBVk5EUUVhQzBFQUN3d0JDeUFFSUFGQmZIRnFRUVJySUFFMkFnQkJBUXNOQVJwQkNDQUhFQ1VpQVVVTkFDQUJJQUFnQnlBS0tBSUFRUWhySWdZZ0JpQUhTeHNRRWhvZ0FCQVFJQUVoQmdzZ0Jnc0xOd0VDZnlNQVFSQnJJZ0VrQUNBQUJIOGdBVUVNYWtFUUlBQVFiQ0VBUVFBZ0FTZ0NEQ0FBR3dWQkFBc2hBaUFCUVJCcUpBQWdBZ3NYQUNBQUxRQUFRU0J4UlFSQUlBRWdBaUFBRUQwYUN3dThCQUVGZnlBQ0lBQW9BakFpQlUwRVFDQUJJQUFvQWlRZ0FoQVNHaUFBSUFBb0FpUWdBbW8yQWlRZ0FDQUFLQUl3SUFKck5nSXdJQUFnQUNrRE9DQUNyWHczQXpnZ0FnOExJQUF0QUVSQkJIRUVRQ0FCSUFBb0FpUWdCUkFTR2lBQUtBSXdJUUVnQUVFQU5nSXdJQUFnQVNBQUtBSWthallDSkNBQUlBQXBBemdnQWExOE53TTRJQVZCZnlBRkd3OExBa0FnQlFSQUlBRWdBQ2dDSkNBRkVCSWhCQ0FBSUFBb0FpQWlCellDSkNBQUtBSXdJUUVnQUVFQU5nSXdJQUFnQUNrRE9DQUJyWHczQXpnZ0FpQUJheUVDSUFFZ0JHb2hBUXdCQ3lBQUlBQW9BaUFpQnpZQ0pBc0NRQUpBQTBBQ1FDQUFLQUlBSVFRZ0FDZ0NFQ0VHQWtBZ0FDZ0NRQ0lJSUFKTEJFQWdBQ0FISUFnZ0JDQUdFUUFBSWdZMkFqQWdCa0YvUmdSQURBWUxJQUlnQmswTkFpQUJJQUFvQWlRZ0JoQVNHaUFBSUFBb0FpQWlCellDSkNBQUtBSXdJUVFNQVFzZ0FDQUJJQUlnQkNBR0VRQUFJZ1EyQWpBZ0JFRi9SZ1JBREFVTElBSWdCRTBOQXlBQUlBQW9BaUFpQnpZQ0pDQUVJUVlMSUFCQkFEWUNNQ0FBSUFBcEF6Z2dCSzE4TndNNElBRWdCR29oQVNBQ0lBUnJJUUlnQlNBR2FpRUZEQUVMQ3lBQklBQW9BaVFnQWhBU0dpQUFJQUFvQWlRZ0FtbzJBaVFnQUNBQUtBSXdJQUpyTmdJd0lBQWdBQ2tET0NBQ3JYdzNBemdnQWlBRmFnOExJQUJCQURZQ01DQUFJQUFvQWlBMkFpUWdBQ0FBS1FNNElBU3RmRGNET0NBRUlBVnFEd3NnQTBFRVFadjFBRUVBRUE4Z0FFRUFOZ0l3SUFBZ0FDZ0NSRUVFY2pZQ1JDQUZRWDhnQlJzTGl3Y0NEWDhCZmlBQUtBSVFJZ2RCSUU4RVFDQUFLUU1JcHc4TEFrQWdBQ2dDR0NJQ1FRUk9CRUFnQUNnQ0FDSUJLQUlBSVFRZ0FDQUNRUVJySWdVMkFoZ2dBQ0FCUVFScU5nSUFEQUVMUVg5QkFDQUFLQUljR3lFRUlBSkJBRXdFUUNBQ0lRVU1BUXNnQWtFQmNTRU1JQUFvQWdBaEFRSkFJQUpCQVVZRVFDQUJJUVlNQVFzZ0FrSCsvLy8vQjNFaENnTkFJQUFnQVVFQmFqWUNBQ0FCTFFBQUlRa2dBQ0FCUVFKcUlnWTJBZ0FnQUNBQ1FRRnJOZ0lZSUFFdEFBRWhBU0FBSUFKQkFtc2lBallDR0NBRVFmOEJJQU4wUVg5emNTQUpJQU4wY2tHQS9nTWdBM1JCZjNOeElBRWdBMEVJY25SeUlRUWdBMEVRYWlFRElBWWhBU0FGUVFKcUlnVWdDa2NOQUFzTFFRQWhCU0FNUlEwQUlBQWdCa0VCYWpZQ0FDQUdMUUFBSVFFZ0FDQUNRUUZyTmdJWUlBUkIvd0VnQTNSQmYzTnhJQUVnQTNSeUlRUUxJQUFvQWhRaEFTQUFJQVJCR0hZaUNrSC9BVVkyQWhRZ0FFRUhRUWdnQVJzaUFVRUhRUWdnQkVIL0FYRWlCa0gvQVVZYmFpSUNRUWRCQ0NBRVFRaDJRZjhCY1NJRFFmOEJSaHRxSWdsQkIwRUlJQVJCRUhaQi93RnhJZ1JCL3dGR0d5QUhhbW9pQ0RZQ0VDQUFJQUFwQXdnZ0F5QUJkQ0FFSUFKMGNpQUtJQWwwY2lBR2NxMGdCNjJHaENJT053TUlJQWhCSDAwRVFBSkFJQVZCQkU0RVFDQUFLQUlBSWdFb0FnQWhBaUFBSUFWQkJHczJBaGdnQUNBQlFRUnFOZ0lBREFFTFFRQWhBMEYvUVFBZ0FDZ0NIQnNoQWlBRlFRQk1EUUFnQlVFQmNTRU5JQUFvQWdBaEFRSkFJQVZCQVVZRVFDQUJJUVFNQVFzZ0JVSCsvLy8vQjNFaENVRUFJUVlEUUNBQUlBRkJBV28yQWdBZ0FTMEFBQ0VMSUFBZ0FVRUNhaUlFTmdJQUlBQWdCVUVCYXpZQ0dDQUJMUUFCSVFFZ0FDQUZRUUpySWdVMkFoZ2dBa0gvQVNBRGRFRi9jM0VnQ3lBRGRISkJnUDRESUFOMFFYOXpjU0FCSUFOQkNISjBjaUVDSUFOQkVHb2hBeUFFSVFFZ0JrRUNhaUlHSUFsSERRQUxDeUFOUlEwQUlBQWdCRUVCYWpZQ0FDQUVMUUFBSVFFZ0FDQUZRUUZyTmdJWUlBSkIvd0VnQTNSQmYzTnhJQUVnQTNSeUlRSUxJQUFnQWtFWWRpSUJRZjhCUmpZQ0ZDQUFRUWRCQ0NBS1FmOEJSaHNpQkVFSFFRZ2dBa0gvQVhFaUJrSC9BVVliYWlJRlFRZEJDQ0FDUVFoMlFmOEJjU0lEUWY4QlJodHFJZ2RCQjBFSUlBSkJFSFpCL3dGeElnSkIvd0ZHR3lBSWFtbzJBaEFnQUNBRElBUjBJQUlnQlhSeUlBRWdCM1J5SUFaeXJTQUlyWVlnRG9RaURqY0RDQXNnRHFjTGF3RUJmeU1BUVlBQ2F5SUZKQUFDUUNBQ0lBTk1EUUFnQkVHQXdBUnhEUUFnQlNBQklBSWdBMnNpQTBHQUFpQURRWUFDU1NJQkd4QVZHaUFCUlFSQUEwQWdBQ0FGUVlBQ0VCa2dBMEdBQW1zaUEwSC9BVXNOQUFzTElBQWdCU0FERUJrTElBVkJnQUpxSkFBTE1RQWdBUUovSUFJb0FreEJBRWdFUUNBQUlBRWdBaEE5REFFTElBQWdBU0FDRUQwTElnQkdCRUFQQ3lBQUlBRnVHZ3NYQUNBQUlBRWdBaUFESUFRZ0JTQUdJQWRCQVJBbUdndWhBUUVFZnlBQlFRQk1CRUJCQUE4TElBQW9BZ3doQWlBQUtBSVFJUU1EUUNBQklRVUNRQ0FERFFBZ0FDQUNRUWgwUVlEK0EzRWlBallDRENBQVFRZEJDQ0FDUVlEK0EwWWJJZ00yQWhBZ0FDZ0NDQ0lCSUFBb0FnUlBEUUFnQUNBQlFRRnFOZ0lJSUFBZ0FpQUJMUUFBY2lJQ05nSU1DeUFBSUFOQkFXc2lBellDRUNBQ0lBTjJRUUZ4SUFWQkFXc2lBWFFnQkhJaEJDQUZRUUZMRFFBTElBUUxIZ0FnQUNnQ0RBUkFJQUJCQURZQ0tBTkFJQUFvQWhoQkFFb05BQXNMQzJvQkEzOGdBQVJBSUFBb0FoZ2lBUVJBSUFBb0FoQWlBZ1IvUVFBaEFRTkFJQUFvQWhnZ0FVRTBiR29vQWl3aUF3UkFJQU1RRUNBQUtBSVFJUUlMSUFGQkFXb2lBU0FDU1EwQUN5QUFLQUlZQlNBQkN4QVFDeUFBS0FJY0lnRUVRQ0FCRUJBTElBQVFFQXNMa2hVQkQzOENRQUpBSUFBb0FneEZCRUJCQVNFUElBQW9BZ1JCQUVvTkFTQUFLQUlJUVFGS0RRRU1BZ3RCQVNFTklBQW9BZ2hCQUVvTkFDQUFLQUlFUVFKSURRRUxJQUFvQWdBaUNDQU5RUVYwYWlFRUFrQWdBQ2dDRUNJSElBQW9BaFFpQ2s4TkFDQUVJQWRCQm5ScUlRRUNRQ0FLSUFkclFRTnhJZ1pGQkVBZ0J5RUNEQUVMSUFjaEFnTkFJQUVnQWYwQUJBRDlERmgyblQ5WWRwMC9XSGFkUDFoMm5ULzk1Z0g5Q3dRQUlBRWdBZjBBQkJEOURGaDJuVDlZZHAwL1dIYWRQMWgyblQvOTVnSDlDd1FRSUFGQlFHc2hBU0FDUVFGcUlRSWdBMEVCYWlJRElBWkhEUUFMQ3lBSElBcHJRWHhMRFFBRFFDQUJJQUg5QUFRQS9ReFlkcDAvV0hhZFAxaDJuVDlZZHAwLy9lWUIvUXNFQUNBQklBSDlBQVFRL1F4WWRwMC9XSGFkUDFoMm5UOVlkcDAvL2VZQi9Rc0VFQ0FCSUFIOUFBUkEvUXhZZHAwL1dIYWRQMWgyblQ5WWRwMC8vZVlCL1FzRVFDQUJJQUg5QUFSUS9ReFlkcDAvV0hhZFAxaDJuVDlZZHAwLy9lWUIvUXNFVUNBQklBSDlBQVNBQWYwTVdIYWRQMWgyblQ5WWRwMC9XSGFkUC8zbUFmMExCSUFCSUFFZ0FmMEFCSkFCL1F4WWRwMC9XSGFkUDFoMm5UOVlkcDAvL2VZQi9Rc0VrQUVnQVNBQi9RQUV3QUg5REZoMm5UOVlkcDAvV0hhZFAxaDJuVC85NWdIOUN3VEFBU0FCSUFIOUFBVFFBZjBNV0hhZFAxaDJuVDlZZHAwL1dIYWRQLzNtQWYwTEJOQUJJQUZCZ0FKcUlRRWdBa0VFYWlJQ0lBcEhEUUFMQ3lBSUlBOUJCWFJxSVFVQ1FDQUFLQUlZSWdZZ0FDZ0NIQ0lMVHcwQUlBVWdCa0VHZEdvaEFRSkFJQXNnQm10QkEzRWlDRVVFUUNBR0lRSU1BUXRCQUNFRElBWWhBZ05BSUFFZ0FmMEFCQUQ5REFBWTBEOEFHTkEvQUJqUVB3QVkwRC85NWdIOUN3UUFJQUVnQWYwQUJCRDlEQUFZMEQ4QUdOQS9BQmpRUHdBWTBELzk1Z0g5Q3dRUUlBRkJRR3NoQVNBQ1FRRnFJUUlnQTBFQmFpSURJQWhIRFFBTEN5QUdJQXRyUVh4TERRQURRQ0FCSUFIOUFBUUEvUXdBR05BL0FCalFQd0FZMEQ4QUdOQS8vZVlCL1FzRUFDQUJJQUg5QUFRUS9Rd0FHTkEvQUJqUVB3QVkwRDhBR05BLy9lWUIvUXNFRUNBQklBSDlBQVJBL1F3QUdOQS9BQmpRUHdBWTBEOEFHTkEvL2VZQi9Rc0VRQ0FCSUFIOUFBUlEvUXdBR05BL0FCalFQd0FZMEQ4QUdOQS8vZVlCL1FzRVVDQUJJQUg5QUFTQUFmME1BQmpRUHdBWTBEOEFHTkEvQUJqUVAvM21BZjBMQklBQklBRWdBZjBBQkpBQi9Rd0FHTkEvQUJqUVB3QVkwRDhBR05BLy9lWUIvUXNFa0FFZ0FTQUIvUUFFd0FIOURBQVkwRDhBR05BL0FCalFQd0FZMEQvOTVnSDlDd1RBQVNBQklBSDlBQVRRQWYwTUFCalFQd0FZMEQ4QUdOQS9BQmpRUC8zbUFmMExCTkFCSUFGQmdBSnFJUUVnQWtFRWFpSUNJQXRIRFFBTEN5QUtJQUFvQWdnaUNTQUFLQUlFSWc0Z0RXc2lBQ0FBSUFsS0d5SUlJQWdnQ2tzYklRd2dCRUVnYWlFQkFuOGdCMFVFUUNBTVJRUkFRUUFoQXlBQkRBSUxJQVFnQlAwQUJBQWdCZjBBQkFBZ0JQMEFCQ0Q5NUFIOURGVVQ0ejVWRStNK1ZSUGpQbFVUNHo3OTVnSDk1UUg5Q3dRQUlBUWdCUDBBQkJBZ0JmMEFCQkFnQlAwQUJERDk1QUg5REZVVDR6NVZFK00rVlJQalBsVVQ0ejc5NWdIOTVRSDlDd1FRUVFFaEF5QUVRZUFBYWd3QkN5QUJJQWNpQTBFR2RHb0xJUUlnQXlBTVNRUkFBMEFnQWtFZ2F5SUFJQUQ5QUFRQUlBSkJRR3I5QUFRQUlBTDlBQVFBL2VRQi9ReFZFK00rVlJQalBsVVQ0ejVWRStNKy9lWUIvZVVCL1FzRUFDQUNRUkJySWdBZ0FQMEFCQUFnQWtFd2EvMEFCQUFnQXYwQUJCRDk1QUg5REZVVDR6NVZFK00rVlJQalBsVVQ0ejc5NWdIOTVRSDlDd1FBSUFKQlFHc2hBaUFEUVFGcUlnTWdERWNOQUFzTElBZ2dDazhpRFVVRVFDQUNRU0JySWdBZ0FQMEFCQUFnQWtGQWF2MEFCQUQ5REZVVFl6OVZFMk0vVlJOalAxVVRZei85NWdIOTVRSDlDd1FBSUFKQkVHc2lBQ0FBL1FBRUFDQUNRVEJyL1FBRUFQME1WUk5qUDFVVFl6OVZFMk0vVlJOalAvM21BZjNsQWYwTEJBQUxJQXNnRGlBSklBOXJJZ0FnQUNBT1Noc2lEaUFMSUE1Skd5RUpJQVZCSUdvaEFpQUpBbjhnQmtVRVFDQUpSUVJBSUFJaEEwRUFEQUlMSUFVZ0JmMEFCQUFnQlAwQUJBQWdCZjBBQkNEOTVBSDlESFlHWWo5MkJtSS9kZ1ppUDNZR1lqLzk1Z0g5NVFIOUN3UUFJQVVnQmYwQUJCQWdCUDBBQkJBZ0JmMEFCREQ5NUFIOURIWUdZajkyQm1JL2RnWmlQM1lHWWovOTVnSDk1UUg5Q3dRUUlBVkI0QUJxSVFOQkFRd0JDeUFDSUFaQkJuUnFJUU1nQmdzaUFFc0VRQU5BSUFOQklHc2lDQ0FJL1FBRUFDQURRVUJxL1FBRUFDQUQvUUFFQVAza0FmME1kZ1ppUDNZR1lqOTJCbUkvZGdaaVAvM21BZjNsQWYwTEJBQWdBMEVRYXlJSUlBajlBQVFBSUFOQk1HdjlBQVFBSUFQOUFBUVEvZVFCL1F4MkJtSS9kZ1ppUDNZR1lqOTJCbUkvL2VZQi9lVUIvUXNFQUNBRFFVQnJJUU1nQUVFQmFpSUFJQWxIRFFBTEN5QUxJQTVOSWdoRkJFQWdBMEVnYXlJQUlBRDlBQVFBSUFOQlFHcjlBQVFBL1F4MkJ1SS9kZ2JpUDNZRzRqOTJCdUkvL2VZQi9lVUIvUXNFQUNBRFFSQnJJZ0FnQVAwQUJBQWdBMEV3YS8wQUJBRDlESFlHNGo5MkJ1SS9kZ2JpUDNZRzRqLzk1Z0g5NVFIOUN3UUFDd0pBSUFkRkJFQWdERVVFUUVFQUlRY01BZ3NnQkNBRS9RQUVBQ0FGL1FBRUFDQUUvUUFFSVAza0FmME1yZ0ZaUGE0QldUMnVBVms5cmdGWlBmM21BZjNrQWYwTEJBQWdCQ0FFL1FBRUVDQUYvUUFFRUNBRS9RQUVNUDNrQWYwTXJnRlpQYTRCV1QydUFWazlyZ0ZaUGYzbUFmM2tBZjBMQkJBZ0JFSGdBR29oQVVFQklRY01BUXNnQVNBSFFRWjBhaUVCQ3lBSElBeEpCRUFEUUNBQlFTQnJJZ0FnQVAwQUJBQWdBVUZBYXYwQUJBQWdBZjBBQkFEOTVBSDlESzRCV1QydUFWazlyZ0ZaUGE0QldUMzk1Z0g5NUFIOUN3UUFJQUZCRUdzaUFDQUEvUUFFQUNBQlFUQnIvUUFFQUNBQi9RQUVFUDNrQWYwTXJnRlpQYTRCV1QydUFWazlyZ0ZaUGYzbUFmM2tBZjBMQkFBZ0FVRkFheUVCSUFkQkFXb2lCeUFNUncwQUN3c2dEVVVFUUNBQlFTQnJJZ0FnQVAwQUJBQWdBVUZBYXYwQUJBRDlESzRCMlQydUFkazlyZ0haUGE0QjJUMzk1Z0g5NUFIOUN3UUFJQUZCRUdzaUFDQUEvUUFFQUNBQlFUQnIvUUFFQVAwTXJnSFpQYTRCMlQydUFkazlyZ0haUGYzbUFmM2tBZjBMQkFBTEFrQWdCa1VFUUNBSlJRUkFRUUFoQmd3Q0N5QUZJQVg5QUFRQUlBVDlBQVFBSUFYOUFBUWcvZVFCL1F4ekJzcy9jd2JMUDNNR3l6OXpCc3MvL2VZQi9lUUIvUXNFQUNBRklBWDlBQVFRSUFUOUFBUVFJQVg5QUFRdy9lUUIvUXh6QnNzL2N3YkxQM01HeXo5ekJzcy8vZVlCL2VRQi9Rc0VFQ0FGUWVBQWFpRUNRUUVoQmd3QkN5QUNJQVpCQm5ScUlRSUxJQVlnQ1VrRVFBTkFJQUpCSUdzaUFDQUEvUUFFQUNBQ1FVQnEvUUFFQUNBQy9RQUVBUDNrQWYwTWN3YkxQM01HeXo5ekJzcy9jd2JMUC8zbUFmM2tBZjBMQkFBZ0FrRVFheUlBSUFEOUFBUUFJQUpCTUd2OUFBUUFJQUw5QUFRUS9lUUIvUXh6QnNzL2N3YkxQM01HeXo5ekJzcy8vZVlCL2VRQi9Rc0VBQ0FDUVVCcklRSWdCa0VCYWlJR0lBbEhEUUFMQ3lBSURRQWdBa0VnYXlJQUlBRDlBQVFBSUFKQlFHcjlBQVFBL1F4ekJrdEFjd1pMUUhNR1MwQnpCa3RBL2VZQi9lUUIvUXNFQUNBQ1FSQnJJZ0FnQVAwQUJBQWdBa0V3YS8wQUJBRDlESE1HUzBCekJrdEFjd1pMUUhNR1MwRDk1Z0g5NUFIOUN3UUFDd3RkQVFSL0lBQUVRQ0FBS0FJVUlnRWdBQ2dDRUNJQ2JBUkFBMEFnQUNnQ0dDQURRUUowYWlnQ0FDSUVCRUFnQkJBUUlBQW9BaEFoQWlBQUtBSVVJUUVMSUFOQkFXb2lBeUFCSUFKc1NRMEFDd3NnQUNnQ0dCQVFJQUFRRUFzTGhRRUJBbjhDUUFKQUlBQW9BZ1FpQXlBQUtBSUFJZ1JIQkVBZ0FDZ0NDQ0VEREFFTElBQWdBMEVLYWlJRU5nSUVJQUFvQWdnZ0JFRUNkQkFYSWdORkRRRWdBQ0FETmdJSUlBQW9BZ0FoQkFzZ0F5QUVRUUowYWlBQk5nSUFJQUFnQkVFQmFqWUNBRUVCRHdzZ0FDZ0NDQkFRSUFCQ0FEY0NBQ0FDUVFGQjBpNUJBQkFQUVFBTGt3UUNCbjhDZmdKQUFrQURRQ0FBSUFCQkFXdHhEUUVnQVVGSFN3MEJJQUJCQ0NBQVFRaExJZ2NiSVFCQnFNOEJLUU1BSWdnQ2YwRUlJQUZCQTJwQmZIRWdBVUVJVFJzaUFVSC9BRTBFUUNBQlFRTjJRUUZyREFFTElBRm5JUU1nQVVFZElBTnJka0VFY3lBRFFRSjBhMEh1QUdvZ0FVSC9IMDBOQUJwQlB5QUJRUjRnQTJ0MlFRSnpJQU5CQVhSclFjY0FhaUlESUFOQlAwOGJDeUlEcllnaUNVSUFVZ1JBQTBBZ0NTQUplaUlJaUNFSkFuNGdBeUFJcDJvaUEwRUVkQ0lFUWFqSEFXb29BZ0FpQWlBRVFhREhBV29pQlVjRVFDQUNJQUFnQVJBOElnUU5CaUFDS0FJRUlnUWdBaWdDQ0NJR05nSUlJQVlnQkRZQ0JDQUNJQVUyQWdnZ0FpQUZLQUlFTmdJRUlBVWdBallDQkNBQ0tBSUVJQUkyQWdnZ0EwRUJhaUVESUFsQ0FZZ01BUXRCcU04QlFhalBBU2tEQUVKK0lBT3RpWU0zQXdBZ0NVSUJoUXNpQ1VJQVVnMEFDMEdvendFcEF3QWhDQXRCUHlBSWVhZHJJUVVDUUNBSVVBUkFRUUFoQWd3QkN5QUZRUVIwSWdSQnFNY0JhaWdDQUNFQ0lBaENnSUNBZ0FSVURRQkI0d0FoQXlBQ0lBUkJvTWNCYWlJR1JnMEFBMEFnQTBVTkFTQUNJQUFnQVJBOElnUU5CQ0FEUVFGcklRTWdBaWdDQ0NJQ0lBWkhEUUFMQ3lBQklBQkJNR3BCTUNBSEcyb1FiUTBBQ3lBQ1JRMEFJQUlnQlVFRWRFR2d4d0ZxSWdOR0RRQURRQ0FDSUFBZ0FSQThJZ1FOQWlBQ0tBSUlJZ0lnQTBjTkFBc0xRUUFoQkFzZ0JBdmFJd0lyZndON0FrQWdBQ2dDQUNJSklBTkpEUUFnQVNBRFR3MEFJQUVnQ1U4TkFDQUFLQUlFSWdrZ0JFa05BQ0FDSUFSUERRQWdBaUFKVHcwQUlBVkJIR3NoSnlBQUtBSUlJaGxCQW5RaEVTQUhRUUowSVE4Z0JrRUNkQ0VmSUFWQkJHc2hLQ0FDSUFBb0FneHVJUjRnR1NBWklBRWdHVzRpS1d3Z0FXdHFJU29nQmtFSVJ5RWpJQUloSFFOQUlBQW9BZ3dpQ1NFS0lBSWdIVVlFUUNBSklBSWdDWEJySVFvTElBb2dCQ0FkYXlJTUlBb2dERWtiSWhOQmZIRWhHeUFUUVFOeElSWWdFMEY0Y1NFcklCTkJCM0VoSkNBVFFRRnJJUm9nR1NBSlFRSjBJQXBCQW5SclFRUnFiQ0VnSUFaQkFrWWdFMEVCUm5FaExDQUpJQXBySUJsc0lTVWdKeUFQSUIwZ0Ftc2lER3dpQ1dvaEppQUpJQ2hxSVMwZ0JTQUphaUV1SUFVZ0J5QU1iRUVDZEdvaEhDQXBJU0VnQVNFWUEwQWdLaUFaSUFFZ0dFWWJJZ3dnQXlBWWF5SUpJQWtnREVzYklSQWdHU0FNYXlFSklDRkJBblFpRFNBQUtBSVlJQUFvQWhBZ0hteEJBblJxYWlnQ0FDRVNBa0FDUUNBSUJFQUNRQUpBQWtBQ1FBSkFJQklFUUNBU0lDVkJBblJxSUFsQkFuUnFJUW9nR0NBQmF5RU5JQVpCQVVZTkJDQWNJQVlnRFd4QkFuUnFJUXNnRUVFQlJnMERJQ3dOQWlBakRRRWdFRUVIVFEwQklCTkZEUWdnSmlBTklCOXNhaUFRUVFWMGFpRVZJQklnSUNBUVFRSjBhaUFNUVFKMGEyb2hJaUFRUVh4eElRMUJBQ0VTREFVTElBWkJBVWNFUUNBVFJRMElJQkJCZkhFaERTQVFRUU54SVF3Z0hDQVlJQUZySUFac1FRSjBhaUVMUVFBaEVpQVFRUUZyUVFOSklSUURRQUpBSUJCRkRRQkJBQ0VKUVFBaENrRUFJUTRnRkVVRVFBTkFJQXNnQmlBS2JFRUNkR3BCQURZQ0FDQUxJQXBCQVhJZ0JteEJBblJxUVFBMkFnQWdDeUFLUVFKeUlBWnNRUUowYWtFQU5nSUFJQXNnQ2tFRGNpQUdiRUVDZEdwQkFEWUNBQ0FLUVFScUlRb2dEa0VFYWlJT0lBMUhEUUFMQ3lBTVJRMEFBMEFnQ3lBR0lBcHNRUUowYWtFQU5nSUFJQXBCQVdvaENpQUpRUUZxSWdrZ0RFY05BQXNMSUFzZ0Qyb2hDeUFUSUJKQkFXb2lFa2NOQUFzTUNBc2dFMFVOQnlBUVFRSjBJUXdnSENBWUlBRnJRUUowYWlFTFFRQWhDU0FhUVFkUEJFQURRQ0FMUVFBZ0RCQVZJQTlxUVFBZ0RCQVZJQTlxUVFBZ0RCQVZJQTlxUVFBZ0RCQVZJQTlxUVFBZ0RCQVZJQTlxUVFBZ0RCQVZJQTlxUVFBZ0RCQVZJQTlxUVFBZ0RCQVZJQTlxSVFzZ0NVRUlhaUlKSUN0SERRQUxDMEVBSVFrZ0pFVU5Cd05BSUF0QkFDQU1FQlVnRDJvaEN5QUpRUUZxSWdrZ0pFY05BQXNNQndzZ0UwVU5CaUFRUVh4eElSUWdFRUVEY1NFU1FRQWhEU0FRUVFGclFRTkpJUmNNQlF0QkFDRUpJQkJCZkhFaURnUkFBMEFnQ3lBSlFRTjBhaUFLSUFsQkFuUnFLQUlBTmdJQUlBc2dDVUVCY2lJVVFRTjBhaUFLSUJSQkFuUnFLQUlBTmdJQUlBc2dDVUVDY2lJVVFRTjBhaUFLSUJSQkFuUnFLQUlBTmdJQUlBc2dDVUVEY2lJVVFRTjBhaUFLSUJSQkFuUnFLQUlBTmdJQUlBbEJCR29pQ1NBT1NRMEFDd3NnQ1NBUVR3MEZBa0FnRUNBSmF5SVVRUkJKRFFBZ0xpQU5JQjlzSWcxcUlBbEJBM1JxSUJJZ0lHb2lEaUFRSUF4clFRSjBha2tFUUNBT0lBa2dER3RCQW5ScUlBMGdMV29nRUVFRGRHcEpEUUVMSUFvZ0NVRUNkR29oRFNBSi9SSDlEQUFBQUFBQkFBQUFBZ0FBQUFNQUFBRDlyZ0VoTkNBSklCUkJmSEVpREdvaENVRUFJUTREUUNBTElEUkJBZjJyQVNJMS9Sc0FRUUowYWlBTklBNUJBblJxL1FBQ0FDSTIvVm9DQUFBZ0N5QTEvUnNCUVFKMGFpQTIvVm9DQUFFZ0N5QTEvUnNDUVFKMGFpQTIvVm9DQUFJZ0N5QTEvUnNEUVFKMGFpQTIvVm9DQUFNZ05QME1CQUFBQUFRQUFBQUVBQUFBQkFBQUFQMnVBU0UwSUE1QkJHb2lEaUFNUncwQUN5QU1JQlJHRFFZTFFRQWhEQ0FKSVE0Z0VDQUphMEVEY1NJTkJFQURRQ0FMSUE1QkEzUnFJQW9nRGtFQ2RHb29BZ0EyQWdBZ0RrRUJhaUVPSUF4QkFXb2lEQ0FOUncwQUN3c2dDU0FRYTBGOFN3MEZBMEFnQ3lBT1FRTjBhaUFLSUE1QkFuUnFLQUlBTmdJQUlBc2dEa0VCYWlJSlFRTjBhaUFLSUFsQkFuUnFLQUlBTmdJQUlBc2dEa0VDYWlJSlFRTjBhaUFLSUFsQkFuUnFLQUlBTmdJQUlBc2dEa0VEYWlJSlFRTjBhaUFLSUFsQkFuUnFLQUlBTmdJQUlBNUJCR29pRGlBUVJ3MEFDd3dGQ3lBVFJRMEVRUUFoQ1NBYVFRTlBCRUFEUUNBTElBb29BZ0EyQWdBZ0N5QVBhaUlNSUFvZ0VXb2lEU2dDQURZQ0FDQU1JQTlxSWd3Z0RTQVJhaUlOS0FJQU5nSUFJQXdnRDJvaURDQU5JQkZxSWcwb0FnQTJBZ0FnRFNBUmFpRUtJQXdnRDJvaEN5QUpRUVJxSWdrZ0cwY05BQXNMUVFBaENTQVdSUTBFQTBBZ0N5QUtLQUlBTmdJQUlBb2dFV29oQ2lBTElBOXFJUXNnQ1VFQmFpSUpJQlpIRFFBTERBUUxJQndnRFVFQ2RHb2hDeUFRUVFSSEJFQWdFMFVOQkNBUVFRSjBJUWxCQUNFT0lCcEJBMDhFUUFOQUlBc2dDaUFKRUJJaE1DQUtJQkZxSWcwZ0VXb2lDeUFSYWlJU0lCRnFJUW9nTUNBUGFpQU5JQWtRRWlBUGFpQUxJQWtRRWlBUGFpQVNJQWtRRWlBUGFpRUxJQTVCQkdvaURpQWJSdzBBQ3d0QkFDRU9JQlpGRFFRRFFDQUxJQW9nQ1JBU0lURWdDaUFSYWlFS0lERWdEMm9oQ3lBT1FRRnFJZzRnRmtjTkFBc01CQXNnRTBVTkEwRUFJUWtnR2tFRFR3UkFBMEFnQ3lBSy9RQUNBUDBMQWdBZ0N5QVBhaUlNSUFvZ0VXb2lEZjBBQWdEOUN3SUFJQXdnRDJvaURDQU5JQkZxSWczOUFBSUEvUXNDQUNBTUlBOXFJZ3dnRFNBUmFpSU4vUUFDQVAwTEFnQWdEU0FSYWlFS0lBd2dEMm9oQ3lBSlFRUnFJZ2tnRzBjTkFBc0xRUUFoQ1NBV1JRMERBMEFnQ3lBSy9RQUNBUDBMQWdBZ0NpQVJhaUVLSUFzZ0Qyb2hDeUFKUVFGcUlna2dGa2NOQUFzTUF3c0RRRUVBSVFrZ0RRUkFBMEFnQ3lBSlFRVjBhaUFLSUFsQkFuUnFLQUlBTmdJQUlBc2dDVUVCY2lJTVFRVjBhaUFLSUF4QkFuUnFLQUlBTmdJQUlBc2dDVUVDY2lJTVFRVjBhaUFLSUF4QkFuUnFLQUlBTmdJQUlBc2dDVUVEY2lJTVFRVjBhaUFLSUF4QkFuUnFLQUlBTmdJQUlBbEJCR29pQ1NBTlNRMEFDd3NDUUNBSklCQlBEUUFDUUNBUUlBbHJJaFJCQ0U4RVFBSkFJQXNnQ1VFRmRHb2dJaUFSSUJKc2FrOE5BQ0FLSUFsQkFuUnFJQlVnRHlBU2JHcFBEUUFnQ1NFTURBSUxJQW45RWYwTUFBQUFBQUVBQUFBQ0FBQUFBd0FBQVAydUFTRTBJQWtnRkVGOGNTSVhhaUVNUVFBaERnTkFJQXNnTkVFRC9hc0JJalg5R3dCQkFuUnFJQW9nQ1NBT2FrRUNkR3I5QUFJQUlqYjlXZ0lBQUNBTElEWDlHd0ZCQW5ScUlEYjlXZ0lBQVNBTElEWDlHd0pCQW5ScUlEYjlXZ0lBQWlBTElEWDlHd05CQW5ScUlEYjlXZ0lBQXlBMC9Rd0VBQUFBQkFBQUFBUUFBQUFFQUFBQS9hNEJJVFFnRGtFRWFpSU9JQmRIRFFBTElCUWdGMFlOQWd3QkN5QUpJUXdMUVFBaERpQVFJQXdpQ1d0QkEzRWlGQVJBQTBBZ0N5QUpRUVYwYWlBS0lBbEJBblJxS0FJQU5nSUFJQWxCQVdvaENTQU9RUUZxSWc0Z0ZFY05BQXNMSUF3Z0VHdEJmRXNOQUFOQUlBc2dDVUVGZEdvZ0NpQUpRUUowYWlnQ0FEWUNBQ0FMSUFsQkFXb2lERUVGZEdvZ0NpQU1RUUowYWlnQ0FEWUNBQ0FMSUFsQkFtb2lERUVGZEdvZ0NpQU1RUUowYWlnQ0FEWUNBQ0FMSUFsQkEyb2lERUVGZEdvZ0NpQU1RUUowYWlnQ0FEWUNBQ0FKUVFScUlna2dFRWNOQUFzTElBb2dFV29oQ2lBTElBOXFJUXNnRXlBU1FRRnFJaEpIRFFBTERBSUxJQkpGQkVCQkFTQUFLQUlJSUFBb0FneHNRUUowRUJNaUVrVUVRRUVBRHdzZ0FDZ0NHQ0FBS0FJUUlCNXNRUUowYWlBTmFpQVNOZ0lBQ3lBU0lDVkJBblJxSUFsQkFuUnFJUXNnR0NBQmF5RUpBa0FDUUFKQUFrQWdCa0VCUndSQUlCd2dCaUFKYkVFQ2RHb2hDaUFRUVFGR0RRRWdJdzBDSUJCQkIwME5BaUFUUlEwR0lDWWdDU0FmYkdvZ0VFRUZkR29oSWlBZ0lCQkJBblJxSUF4QkFuUnJJUzhnRUVGOGNTRVVRUUFoREFOQVFRQWhDU0FVQkVBRFFDQUxJQWxCQW5ScUlBb2dDVUVGZEdvb0FnQTJBZ0FnQ3lBSlFRRnlJZzFCQW5ScUlBb2dEVUVGZEdvb0FnQTJBZ0FnQ3lBSlFRSnlJZzFCQW5ScUlBb2dEVUVGZEdvb0FnQTJBZ0FnQ3lBSlFRTnlJZzFCQW5ScUlBb2dEVUVGZEdvb0FnQTJBZ0FnQ1VFRWFpSUpJQlJKRFFBTEN3SkFJQWtnRUU4TkFBSkFJQkFnQ1dzaUYwRUlUd1JBQWtBZ0N5QUpRUUowYWlBaUlBd2dEMnhxVHcwQUlBb2dDVUVGZEdvZ0VpQXZJQXdnRVd4cWFrOE5BQ0FKSVEwTUFnc2dDZjBSL1F3QUFBQUFBUUFBQUFJQUFBQURBQUFBL2E0QklUUWdDU0FYUVh4eEloVnFJUTFCQUNFT0EwQWdDeUFKSUE1cVFRSjBhaUFLSURSQkEvMnJBU0kxL1JzRFFRSjBhaUFLSURYOUd3SkJBblJxSUFvZ05mMGJBVUVDZEdvZ0NpQTEvUnNBUVFKMGF2MEpBZ0Q5VmdJQUFmMVdBZ0FDL1ZZQ0FBUDlDd0lBSURUOURBUUFBQUFFQUFBQUJBQUFBQVFBQUFEOXJnRWhOQ0FPUVFScUlnNGdGVWNOQUFzZ0ZTQVhSZzBDREFFTElBa2hEUXRCQUNFT0lCQWdEU0lKYTBFRGNTSVhCRUFEUUNBTElBbEJBblJxSUFvZ0NVRUZkR29vQWdBMkFnQWdDVUVCYWlFSklBNUJBV29pRGlBWFJ3MEFDd3NnRFNBUWEwRjhTdzBBQTBBZ0N5QUpRUUowYWlBS0lBbEJCWFJxS0FJQU5nSUFJQXNnQ1VFQmFpSU5RUUowYWlBS0lBMUJCWFJxS0FJQU5nSUFJQXNnQ1VFQ2FpSU5RUUowYWlBS0lBMUJCWFJxS0FJQU5nSUFJQXNnQ1VFRGFpSU5RUUowYWlBS0lBMUJCWFJxS0FJQU5nSUFJQWxCQkdvaUNTQVFSdzBBQ3dzZ0N5QVJhaUVMSUFvZ0Qyb2hDaUFUSUF4QkFXb2lERWNOQUFzTUJnc2dIQ0FKUVFKMGFpRUtJQkJCQkVZTkFpQVRSUTBGSUJCQkFuUWhDVUVBSVE0Z0drRURUd1JBQTBBZ0N5QUtJQWtRRWlFeUlBb2dEMm9pRFNBUGFpSUxJQTlxSWhJZ0Qyb2hDaUF5SUJGcUlBMGdDUkFTSUJGcUlBc2dDUkFTSUJGcUlCSWdDUkFTSUJGcUlRc2dEa0VFYWlJT0lCdEhEUUFMQzBFQUlRNGdGa1VOQlFOQUlBc2dDaUFKRUJJaE15QUtJQTlxSVFvZ015QVJhaUVMSUE1QkFXb2lEaUFXUncwQUN3d0ZDeUFUUlEwRVFRQWhDU0FhUVFOUEJFQURRQ0FMSUFvb0FnQTJBZ0FnQ3lBUmFpSU1JQW9nRDJvaURTZ0NBRFlDQUNBTUlCRnFJZ3dnRFNBUGFpSU5LQUlBTmdJQUlBd2dFV29pRENBTklBOXFJZzBvQWdBMkFnQWdEQ0FSYWlFTElBMGdEMm9oQ2lBSlFRUnFJZ2tnRzBjTkFBc0xRUUFoQ1NBV1JRMEVBMEFnQ3lBS0tBSUFOZ0lBSUFzZ0VXb2hDeUFLSUE5cUlRb2dDVUVCYWlJSklCWkhEUUFMREFRTElCTkZEUU1nRUVGOGNTRVVJQkJCQTNFaEVrRUFJUTBnRUVFQmEwRURTU0VYREFFTElCTkZEUUpCQUNFSklCcEJBMDhFUUFOQUlBc2dDdjBBQWdEOUN3SUFJQXNnRVdvaURDQUtJQTlxSWczOUFBSUEvUXNDQUNBTUlCRnFJZ3dnRFNBUGFpSU4vUUFDQVAwTEFnQWdEQ0FSYWlJTUlBMGdEMm9pRGYwQUFnRDlDd0lBSUEwZ0Qyb2hDaUFNSUJGcUlRc2dDVUVFYWlJSklCdEhEUUFMQzBFQUlRa2dGa1VOQWdOQUlBc2dDdjBBQWdEOUN3SUFJQW9nRDJvaENpQUxJQkZxSVFzZ0NVRUJhaUlKSUJaSERRQUxEQUlMQTBBQ1FDQVFSUTBBUVFBaERrRUFJUWxCQUNFTUlCZEZCRUFEUUNBTElBbEJBblJxSUFvZ0JpQUpiRUVDZEdvb0FnQTJBZ0FnQ3lBSlFRRnlJaFZCQW5ScUlBb2dCaUFWYkVFQ2RHb29BZ0EyQWdBZ0N5QUpRUUp5SWhWQkFuUnFJQW9nQmlBVmJFRUNkR29vQWdBMkFnQWdDeUFKUVFOeUloVkJBblJxSUFvZ0JpQVZiRUVDZEdvb0FnQTJBZ0FnQ1VFRWFpRUpJQXhCQkdvaURDQVVSdzBBQ3dzZ0VrVU5BQU5BSUFzZ0NVRUNkR29nQ2lBR0lBbHNRUUowYWlnQ0FEWUNBQ0FKUVFGcUlRa2dEa0VCYWlJT0lCSkhEUUFMQ3lBTElCRnFJUXNnQ2lBUGFpRUtJQk1nRFVFQmFpSU5SdzBBQ3d3QkN3TkFBa0FnRUVVTkFFRUFJUTVCQUNFSlFRQWhEQ0FYUlFSQUEwQWdDeUFHSUFsc1FRSjBhaUFLSUFsQkFuUnFLQUlBTmdJQUlBc2dDVUVCY2lJVklBWnNRUUowYWlBS0lCVkJBblJxS0FJQU5nSUFJQXNnQ1VFQ2NpSVZJQVpzUVFKMGFpQUtJQlZCQW5ScUtBSUFOZ0lBSUFzZ0NVRURjaUlWSUFac1FRSjBhaUFLSUJWQkFuUnFLQUlBTmdJQUlBbEJCR29oQ1NBTVFRUnFJZ3dnRkVjTkFBc0xJQkpGRFFBRFFDQUxJQVlnQ1d4QkFuUnFJQW9nQ1VFQ2RHb29BZ0EyQWdBZ0NVRUJhaUVKSUE1QkFXb2lEaUFTUncwQUN3c2dDaUFSYWlFS0lBc2dEMm9oQ3lBTlFRRnFJZzBnRTBjTkFBc0xJQ0ZCQVdvaElTQVFJQmhxSWhnZ0Ewa05BQXNnSGtFQmFpRWVJQk1nSFdvaUhTQUVTUTBBQ3d0QkFRdkRNd1VtZnc5K0FYc0JmUUY4SXdCQjBBQnJJZzRrQUNBT1FaRC9BellDS0NBQUtBSnNJQUFvQW1oc0lSY0Nmd0pBQWtBQ1FDQUFLQUlJSWd0QkNFY0VRRUVBSUF0QmdBSkhEUVFhSUE1QjJmOEROZ0lvREFFTElBQXRBRVJCQVhFTkFDQVhRUUZ4SVNJZ0YwRjhjU0VQSUJkQkFXdXRRb3dzZmlJeFFpQ0lwMEVBUnlFaklER25JU1FnRGtITkFHb2hKU0FPUWN3QWFpRW9JQTVCeUFCcUlTa2dGMEVrU1NFcVFaRC9BeUVMQWtBQ1FBSkFBMEFDUUNBTFFaUC9BMFlOQUFKQUEwQWdDU2tEQ0NJeFVBUitRZ0FGSURFZ0NTa0RPSDBMVUFSQUlBQkJ3QUEyQWdnTUF3c2dDU0FBS0FJUVFRSWdDaEFhUVFKSEJFQWdDa0VCUVpZU1FRQVFEMEVBREFzTElBQW9BaEFnRGtFa2FrRUNFQkVnRGlnQ0pDSUxRUUZOQkVBZ0NrRUJRWWN1UVFBUUQwRUFEQXNMQWtBZ0RpZ0NLRUdBZ1FKR0JFQWdDU2tEQ0NJeFVBUitRZ0FGSURFZ0NTa0RPSDBMVUEwQklBNG9BaVFoQ3dzZ0FDZ0NDQ0lVUVJCeEJFQWdBQ0FBS0FJWUlBdHJRUUpyTmdJWUN5QU9JQXRCQW1zaUVqWUNKRUhndlFFaERDQU9LQUlvSVEwRFFDQU1JZ3NvQWdBaUdBUkFJQXRCREdvaERDQU5JQmhIRFFFTEN5QUxLQUlFSUJSeFJRUkFJQXBCQVVIOEtFRUFFQTlCQUF3TUN3SkFJQUFvQWhRZ0VrOEVRQ0FBS0FJUUlRd01BUXNnQ1NrRENDSXhVQVIrUWdBRklERWdDU2tET0gwTElCS3RVd1JBSUFwQkFVR01MRUVBRUE5QkFBd05DeUFBS0FJUUlBNG9BaVFRRnlJTVJRUkFJQUFvQWhBUUVDQUFRZ0EzQXhBZ0NrRUJRZFFsUVFBUUQwRUFEQTBMSUFBZ0REWUNFQ0FBSUE0b0FpUWlFallDRkFzZ0NTQU1JQklnQ2hBYUlnd2dEaWdDSkVjRVFDQUtRUUZCbGhKQkFCQVBRUUFNREFzZ0N5Z0NDQ0lMUlFSQUlBcEJBVUhhMWdCQkFCQVBRUUFNREFzZ0FDQUFLQUlRSUF3Z0NpQUxFUUVBUlFSQUlBNGdEaWdDS0RZQ0lDQUtRUUZCbE9nQUlBNUJJR29RRDBFQURBd0xJQWtwQXpnaE1TQU9LQUlrSVJFZ0FDZ0N5QUVpRkNnQ0tDSVNJQUFvQXN3QklneEJLR3dpRFdvaUZpZ0NGQ0ljUVFGcUloMGdGaWdDSENJTFN3UkFJQllDZnlBTHMwTUFBTWhDa2lKQlF3QUFnRTlkSUVGREFBQUFBR0J4QkVBZ1Fha01BUXRCQUFzaUN6WUNIQ0FXS0FJWUlBdEJHR3dRRnlFTElCUW9BaWdpRWlBTmFpRVdJQXRGRFFNZ0ZpQUxOZ0lZSUJZb0FoUWlIRUVCYWlFZEN5QU5JQkpxSWcwb0FoZ2dIRUVZYkdvaUN5QVJRUVJxTmdJUUlBc2dNYWNnRVd0QkJHc2lES3czQXdnZ0N5QVlPd0VBSUEwZ0hUWUNGQUpBSUJoQmtQOERSdzBBSUEwb0FoQWlDd1JBSUFzZ0RTZ0NERUVZYkdvZ0RLMDNBd0FMSUFrcEF6aW5JQTRvQWlSclFRUnJyU0l4SUFBcEF6QlhEUUFnQUNBeE53TXdDeUFBTFFCRVFRUnhCRUFnQ1NBQU5RSVlJQW9nQ1NnQ0tCRUlBQ0FBTlFJWVVnUkFJQXBCQVVHV0VrRUFFQTlCQUF3TkN5QU9RWlAvQXpZQ0tBd0VDeUFKSUFBb0FoQkJBaUFLRUJwQkFrY0VRQ0FLUVFGQmxoSkJBQkFQUVFBTURBc2dBQ2dDRUNBT1FTaHFRUUlRRVNBT0tBSW9RWlAvQTBjTkFRd0RDd3NnQUVIQUFEWUNDQXdCQ3lBV0tBSVlFQkFnRkNnQ0tDQU1RU2hzYWlJQVFRQTJBaHdnQUVJQU53SVVJQXBCQVVHRkhVRUFFQTlCQUF3SUN3SkFJQWtwQXdnaU1WQUVma0lBQlNBeElBa3BBemg5QzFBRVFDQUFLQUlJUWNBQVJnMEJDd0pBQWtBZ0FDMEFSQ0lMUVFSeFJRUkFJQUFvQXN3QlFZd3NiQ0VNSUFBb0Fwd0JJUzRDUUFKQUlBQW9BamdFUUNBSktRTUlJakZRQkg1Q0FBVWdNU0FKS1FNNGZRdW5JUk1NQVFzZ0FDZ0NHQ0lUUVFKSkRRRUxJQUFnRTBFQ2F5SVROZ0lZQ3lBdUlBeHFJUmdnRTBVTkFTQUpLUU1JSWpGUUJINUNBQVVnTVNBSktRTTRmUXNnRTYxVEJFQWdBQ2dDdUFFRVFDQUtRUUZCdVN4QkFCQVBRUUFNRFFzZ0NrRUNRYmtzUVFBUUR3c2dBQ2dDR0NJTlFYNVBCRUFnQ2tFQlFmNEtRUUFRRDBFQURBd0xBa0FnR0NnQzNDc2lEQVJBSUJnb0F1QXJJZ3RCZlNBTmEwc0VRQ0FLUVFGQmxnbEJBQkFQUVFBTURnc2dEQ0FMSUExcVFRSnFFQmNpQ3dSQUlCZ2dDellDM0NzTUJBc2dHQ2dDM0NzUUVDQVlRUUEyQXR3ckRBRUxJQmdnRFVFQ2FoQVVJZ3MyQXR3cklBc05BZ3NnQ2tFQlFZY3ZRUUFRRDBFQURBc0xJQUJCQ0RZQ0NDQUFJQXRCK2dGeE9nQkVEQUVMSUFBb0FzZ0JJaFlFUUNBV0tBSW9JaElnQUNnQ3pBRWlGRUVvYkNJUmFpSU1LQUlRSUF3b0FneEJHR3hxSWdzZ0NTa0RPQ0l5UWdKOUlqRTNBd2dnQ3lBeUlBQTFBaGg4TndNUUlBQW9BaGdoRFFKQUlBd29BaFFpSEVFQmFpSWRJQXdvQWh3aUMwMEVRQ0FNS0FJWUlRd01BUXNnREFKL0lBdXpRd0FBeUVLU0lrRkRBQUNBVDEwZ1FVTUFBQUFBWUhFRVFDQkJxUXdCQzBFQUN5SUxOZ0ljSUF3b0FoZ2dDMEVZYkJBWElRd2dGaWdDS0NJU0lCRnFJUXNnREVVTkJpQUxJQXcyQWhnZ0N5Z0NGQ0ljUVFGcUlSMExJQXdnSEVFWWJHb2lDeUFOUVFKcU5nSVFJQXNnTWNRM0F3Z2dDMEdUL3dNN0FRQWdFU0FTYWlBZE5nSVVDeUFBS0FJWUlRd0NRQ0FUUlFSQVFRQWhFd3dCQ3lBSklCZ29BdHdySUJnb0F1QXJhaUFNSUFvUUdpRVRJQUFvQWhnaERBc2dBRUVJUWNBQUlBd2dFMFliTmdJSUlCZ2dHQ2dDNENzZ0UybzJBdUFySUFBdEFFUWlDMEVKY1VFQlJ3MEFJQUFnQzBFSWNqb0FSQ0FBS0FMTUFTRU5JQWtvQWh4QkFrWU5BQ0FKS1FNNElqRkNmMUVOQUFKQUEwQkJBQ0VNSUFrZ0RrSEdBR29pQzBFQ0lBb1FHa0VDUncwQklBc2dEa0ZBYTBFQ0VCRWdEaWdDUUVHUS93TkhEUUZCbGhJaEVpQUpJQXRCQWlBS0VCcEJBa2NOQ1NBTElBNUJQR3BCQWhBUklBNG9BanhCQ2tjRVFFR0hMaUVTREFvTElBNUJDRFlDUENBSklBNUJ4Z0JxUVFnZ0NoQWFJZ3NnRGlnQ1BFY05DU0FMUVFoSEJFQkJ2UjRoRWd3S0N5QU9RY1lBYWlBT1FUaHFRUUlRRVNBcElBNUJOR3BCQkJBUklDZ2dEa0V3YWtFQkVCRWdKU0FPUVN4cVFRRVFFU0FOSUE0b0FqaEhCRUFnRGlnQ05DSUxRUTVKRFFJZ0RpQUxRUXhySWdzMkFqUWdDU0FMclNBS0lBa29BaWdSQ0FBZ0RqVUNORkVOQVF3Q0N3c2dEaWdDTUNBT0tBSXNSaUVNQ3lBSklERWdDaUFKS0FJc0VRMEFSUTBJSUF4RkRRQWdBQ0FBTFFCRVFlNEJjVUVRY2pvQVJBSkFJQmRGRFFBZ0FDZ0NuQUVoRTBFQUlRc0NRQ0FxRFFBZ0UwSFlLMm9pRENBa2FpQU1TU0FqY2cwQUEwQWdFeUFMUVl3c2JHb2lIQ2dDMkNzaUhmMFJJQk1nQzBFQmNrR01MR3hxSWhnb0F0Z3JJaGI5SEFFZ0V5QUxRUUp5UVl3c2JHb2lFU2dDMkNzaUZQMGNBaUFUSUF0QkEzSkJqQ3hzYWlJTktBTFlLeUlNL1J3RC9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9UZ2lRUDBiQUVFQmNRUkFJQnhCMkN0cUlCMUJBV28yQWdBTElFRDlHd0ZCQVhFRVFDQVlRZGdyYWlBV1FRRnFOZ0lBQ3lCQS9Sc0NRUUZ4QkVBZ0VVSFlLMm9nRkVFQmFqWUNBQXNnUVAwYkEwRUJjUVJBSUExQjJDdHFJQXhCQVdvMkFnQUxJQXRCQkdvaUN5QVBSdzBBQ3lBWElBOGlDMFlOQVFzZ0MwRUJjaUVNSUNJRVFDQVRJQXRCakN4c2FpSU5LQUxZS3lJTEJFQWdEVUhZSzJvZ0MwRUJhallDQUFzZ0RDRUxDeUFNSUJkR0RRQURRQ0FUSUF0QmpDeHNhaUlOS0FMWUt5SU1CRUFnRFVIWUsyb2dERUVCYWpZQ0FBc2dEVUhrMXdCcUlnMG9BZ0FpREFSQUlBMGdERUVCYWpZQ0FBc2dDMEVDYWlJTElCZEhEUUFMQ3lBS1FRSkJsTVFBUVFBUUR3c2dBQzBBUkVFQmNRMEFJQWtnQUNnQ0VFRUNJQW9RR2tFQ1J3UkFBa0FnQUNnQ3pBRkJBV29nRjBjTkFDQVhSUTBBSUFBb0Fwd0JJUXhCQUNFTEEwQWdEQ0FMUVl3c2JHb2lDU2dDMUN0RkJFQWdDU2dDMkN0RkRRZ0xJQXRCQVdvaUN5QVhSdzBBQ3dzZ0NrRUJRWllTUVFBUUQwRUFEQWtMSUFBb0FoQWdEa0VvYWtFQ0VCRWdEaWdDS0NFTElBQXRBRVJCQVhFTkFpQUxRZG4vQTBjTkFRd0NDd3NnRGlnQ0tDRUxDeUFMUWRuL0EwY05BaUFBS0FJSVFZQUNSZzBDSUFCQmdBSTJBZ2dnQUVFQU5nTE1BUXdDQ3lBTEtBSVlFQkFnRmlnQ0tDQVVRU2hzYWlJQVFRQTJBaHdnQUVJQU53SVVJQXBCQVVHRkhVRUFFQTlCQUF3RUN5QU9JQXMyQWhBZ0NrRUVRZWZSQUNBT1FSQnFFQThnQUNBTE5nTE1BU0FPUWRuL0F6WUNLQ0FBUVlBQ05nSUlDeUFBS0FMTUFTRUxJQUFvQXB3QklRa0NRQUpBSUFBdEFFUkJBWEVOQUFKQUFrQWdDeUFYVHcwQUlBa2dDMEdNTEd4cUlSTURRQ0FUS0FMY0t3MEJJQUFnQzBFQmFpSUxOZ0xNQVNBVFFZd3NhaUVUSUFzZ0YwY05BQXNNQVFzZ0N5QVhSdzBCQ3lBSVFRQTJBZ0FNQVFzQ1FBSkFJQXBCQVNBSklBdEJqQ3hzYWlJUktBSzBLQVIvUVp3MEJTQVJMUUNJTEVFQ2NVVU5BZ0pBSUJFb0FxZ29JZzlGQkVCQkFDRU1EQUVMSUJFb0Fxd29JUWxCQUNFTVFRQWhDeUFQUVFSUEJFQWdEMEY4Y1NFTC9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUlVQkJBQ0VTQTBBZ0NTQVNRUU4wYWlJTVFSeHFJQXhCRkdvZ0RFRU1haUFNL1FrQ0JQMVdBZ0FCL1ZZQ0FBTDlWZ0lBQXlCQS9hNEJJVUFnRWtFRWFpSVNJQXRIRFFBTElFQWdRQ0JBL1EwSUNRb0xEQTBPRHdBQkFnTUFBUUlEL2E0QklrQWdRQ0JBL1EwRUJRWUhBQUVDQXdBQkFnTUFBUUlEL2E0Qi9Sc0FJUXdnQ3lBUFJnMEJDd05BSUFrZ0MwRURkR29vQWdRZ0RHb2hEQ0FMUVFGcUlnc2dEMGNOQUFzTElCRWdEQkFVSWdrMkFyUW9JQWtOQVVHWEhndEJBQkFQSUFwQkFVSDFQRUVBRUE5QkFBd0ZDeUFSSUF3MkFyd29JQkVvQXF3b0lRa2dFU2dDcUNnaURBUkFRUUFoRWtFQUlRc0RRQ0FKSUF0QkEzUWlGR29pRFNnQ0FDSVBCRUFnRVNnQ3RDZ2dFbW9nRHlBTktBSUVFQklhSUJFb0Fxd29JQlJxSWdrb0FnUWhMeUFKS0FJQUVCQWdFU2dDckNnaUNTQVVha0lBTndJQUlDOGdFbW9oRWlBUktBS29LQ0VNQ3lBTFFRRnFJZ3NnREVrTkFBc0xJQkZCQURZQ3FDZ2dDUkFRSUJGQkFEWUNyQ2dnRVNBUktBSzBLRFlDc0NnZ0VTQVJLQUs4S0RZQ3VDZ0xBbjlCQUNFb0lBQW9BdEFCSWdzb0Fod2lKaWdDVENBQUtBTE1BU0lKUVl3c2JHb29BdEFySVJzZ0N5Z0NHQ0lVS0FJWUlTY2dDeWdDRkNnQ0FDSWVJQ1lvQWdRZ0ppZ0NEQ0lMSUFrZ0NTQW1LQUlZSWdsdUlnd2dDV3hyYkdvaURTQVVLQUlBSWdrZ0NTQU5TUnNpRHpZQ0FDQWVRWDhnQ3lBTmFpSUpJQWtnRFVrYklnc2dGQ2dDQ0NJSklBa2dDMHNiSWdrMkFnZ0NRQ0FKSUE5S0lBOUJBRTV4UlFSQUlBcEJBVUdCTTBFQUVBOE1BUXNnSGlnQ0ZDRVFJQjRnSmlnQ0NDQU1JQ1lvQWhBaUMyeHFJZzhnRkNnQ0JDSUpJQWtnRDBrYklndzJBZ1FnSGtGL0lBc2dEMm9pQ1NBSklBOUpHeUlMSUJRb0Fnd2lDU0FKSUF0TEd5SUpOZ0lNSUFrZ0RFb2dERUVBVG5GRkJFQWdDa0VCUWRzeVFRQVFEd3dCQ3dKQUlCc29BZ1FFUUNBZUtBSVFEUUZCQVF3REN5QUtRUUZCMVNoQkFCQVBEQUVMQWtBQ1FBTkFJQ2RCQURZQ0pDQVFJQ2MwQWdBaU5VSUJmU0l4SUI0MEFnQjhJRFYvUGdJQUlCQWdKelFDQkNJMFFnRjlJaklnSGpRQ0JId2dOSDgrQWdRZ0VDQXhJQjQwQWdoOElEVi9QZ0lJSUI0MEFnd2hNU0FRSUNnMkFoQWdFQ0F4SURKOElEUi9QZ0lNSUJBZ0d5Z0NCQ0lMTmdJVUlCQkJBU0FMSUNZb0FsQWlDV3NnQ1NBTFN4czJBaGdnRUNnQ05CQVFJQkJCQURZQ1JDQVEvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUXNDTkNBTFFaZ0JiQ0VNQWtBZ0VDZ0NIQ0lKUlFSQUlCQWdEQkFVSWdrMkFod2dDVVVOQlNBUUlBdzJBaUFnQ1VFQUlBd1FGUm9NQVFzZ0RDQVFLQUlnVFEwQUlBa2dEQkFYSWd0RkJFQWdDa0VCUVlBWFFRQVFEeUFRS0FJY0VCQWdFRUlBTndJY0RBVUxJQkFnQ3pZQ0hDQUxJQkFvQWlBaUNXcEJBQ0FNSUFsckVCVWFJQkFnRERZQ0lBc2dFQ2dDRkNJTEJFQWdHMEd3QjJvaEhTQWJRYXdHYWlFWUlCdEJIR29oRnlBUUtBSWNJUnBCQUNFckEwQWdHa0ovSUF0QkFXc2lDYTBpTTRaQ2Y0VWlNaUFRTkFJQWZDQXpoNmNpRmpZQ0FDQWFJRElnRURRQ0JId2dNNGVuSWhFMkFnUWdHaUF5SUJBMEFnaDhJRE9ISWpHbkloUTJBZ2dnR2lBeUlCQTBBZ3g4SURPSElqU25JZzAyQWd3Z01jUkNBU0FZSUN0QkFuUWlER29vQWdBaUg2MGlNWVo4UWdGOUlER0hweUFmZENJUFFRQklEUVFnTk1SQ2Z5QU1JQjFxS0FJQUlpQ3RJakdHUW4rRmZDQXhoNmNnSUhRaURFRUFTQTBFSUJvZ0RFRi9JQ0IwSUJGeEloTnJJQ0IxUVFBZ0RTQVJSeHNpRERZQ0ZDQWFJQTlCZnlBZmRDQVdjU0lpYXlBZmRVRUFJQlFnRmtjYklnODJBaEFDUUNBUFJRMEFJQSt0SUF5dGZrSWdpRkFOQUF3RUN5QU1JQTlzSWlOQjU4eVpNMDhOQXlBalFTaHNJU0VnR2lBckJIOGdJRUVCYXlFZ0lCOUJBV3NoSHlBVHJFSUJmRUlCaUtjaEV5QWlyRUlCZkVJQmlLY2hJa0VEQlVFQkN6WUNHQ0FhUVJ4cUlSVkNBU0FMclNJMmhpRTNRbjhnR3lnQ0RDSUxJQ0FnQ3lBZ1NSc2lMSzBpUElaQ2Y0VWhQVUovSUJzb0FnZ2lDeUFmSUFzZ0gwa2JJaTJ0SWo2R1FuK0ZJVDlCQUNFcEEwQUNmaUFyUlFSQUlESWdFRFFDQkh3Z000Y2hPQ0F5SUJBMEFnQjhJRE9ISVRsQkFDRUxJRElpTVNFNklETU1BUXNnTnlBcFFRRnFJZ3RCQVhhdElET0dRbitGZkNJNklCQTBBZ1I4SURhSElUZ2dOeUFMUVFGeHJTQXpoa0ovaFh3aU1TQVFOQUlBZkNBMmh5RTVJRFlMSVRzZ0VEUUNDQ0UxSUJBMEFnd2hOQ0FWSURnK0FnUWdGU0E1UGdJQUlCVWdDellDRUNBVklEUWdPbndnTzRjK0Fnd2dGU0F4SURWOElEdUhQZ0lJUVFBaERBSkFJQnNvQWhSRkRRQWdDMFVOQUVFQ1FRRWdDMEVEUmhzaERBdEVBQUFBQUFBQThEOGhRZ0pBSUNjb0FoZ2dER29nRnlnQ0FDSU1heUlMUVlBSVRnUkFSQUFBQUFBQUFPQi9JVUlnQzBIL0Qwa0VRQ0FMUWY4SGF5RUxEQUlMUkFBQUFBQUFBUEIvSVVKQi9SY2dDeUFMUWYwWFR4dEIvZzlySVFzTUFRc2dDMEdCZUVvTkFFUUFBQUFBQUFCZ0F5RkNJQXRCdUhCTEJFQWdDMEhKQjJvaEN3d0JDMFFBQUFBQUFBQUFBQ0ZDUWZCb0lBc2dDMEh3YUUwYlFaSVBhaUVMQ3lBVklCY29BZ1MzUkFBQUFBQUFBRUEvb2tRQUFBQUFBQUR3UDZBZ1FpQUxRZjhIYXExQ05JYS9vcUsyT0FJZ0lCVWdEQ0FiS0FLa0JtcEJBV3MyQWh3Z0ZTZ0NGQ0VMQWtBQ1FBSkFJQ05GRFFBZ0N3MEFJQlVnSVJBVUlnczJBaFFnQzBVRVFDQUtRUUZCbEJWQkFCQVBEQW9MSUF0QkFDQWhFQlVhSUJVZ0lUWUNHQXdCQ3lBaElCVW9BaGhMQkVBZ0N5QWhFQmNpREVVRVFDQUtRUUZCbEJWQkFCQVBJQlVvQWhRUUVDQVZRZ0EzQWhRTUNnc2dGU0FNTmdJVUlBd2dGU2dDR0NJTGFrRUFJQ0VnQzJzUUZSb2dGU0FoTmdJWUN5QWpSUTBCQ3lBVktBSVVJUXRCQUNFa0EwQWdDeUFrSUNRZ0dpZ0NFQ0lNYmlJV0lBeHNheUlOSUI5MElDSnFJZzhnRlNnQ0FDSU1JQXdnRDBnYkloRTJBZ0FnQ3lBV0lDQjBJQk5xSWc4Z0ZTZ0NCQ0lNSUF3Z0QwZ2JJaFEyQWdRZ0N5QU5RUUZxSUI5MElDSnFJZzhnRlNnQ0NDSU1JQXdnRDBvYklnMDJBZ2dnQ3lBV1FRRnFJQ0IwSUJOcUlnOGdGU2dDRENJTUlBd2dEMG9iSWd3MkFnd2dDeUEvSUEyc2ZDQStoNmNnRVNBdGRTSVdheUF0ZENBdGRTSVBOZ0lRSUFzZ1BTQU1ySHdnUEllbklCUWdMSFVpRVdzZ0xIUWdMSFVpRERZQ0ZDQU1JQTlzSWlXdFFnYUdRaUNJUWdCU0JFQWdDa0VCUWVVVlFRQVFEd3dKQ3lBbFFRWjBJUTBDUUFKL0FrQWdDeWdDR0NJTURRQWdKVVVOQUNBTElBMFFGQ0lNTmdJWUlBeEZEUXNnREVFQUlBMFFGUm9nQzBFY2Fnd0JDeUFOSUFzb0FoeE5EUUVnRENBTkVCY2lEMFVFUUNBTEtBSVlFQkFnQzBJQU53SVlJQXBCQVVIakVrRUFFQThNQ3dzZ0N5QVBOZ0lZSUE4Z0N5Z0NIQ0lNYWtFQUlBMGdER3NRRlJvZ0MwRWNhZ3NnRFRZQ0FBc2dDeWdDRkNFTklBc29BaEFoRHlBTEFuOGdDeWdDSUNJTVJRUkFJQThnRFNBS0VHTU1BUXNnRENBUElBMGdDaEJoQ3pZQ0lDQUxLQUlVSVEwZ0N5Z0NFQ0VQSUFzQ2Z5QUxLQUlrSWd4RkJFQWdEeUFOSUFvUVl3d0JDeUFNSUE4Z0RTQUtFR0VMTmdJa0lDVUVRRUVBSVJJRFFDQVNJQXNvQWhBaURXNGhIQUpBSUFzb0FoZ2dFa0VHZEdvaUdTZ0NBQ0lVQkVBZ0dTZ0NPQ0VQSUJrb0FnUWhEQ0FaS0FJd0lTb2dHU2dDUEJBUUlCbjlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlDd0lvSUJsQ0FEY0NPQ0FaL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1FzQ0dDQVovUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUXNDQ0NBWklCUTJBZ0FnR1NBcU5nSXdJQ29FUUNBVVFRQWdLa0VZYkJBVkdnc2dHU0FQTmdJNElCa2dERFlDQkF3QkN5QVpRUXBCR0JBVElndzJBZ0FnREVVTkN5QVpRUW8yQWpBTElCa2dFaUFOSUJ4c2F5QVdhaUlVSUMxMElnOGdDeWdDQUNJTUlBd2dEMGdiTmdJSUlCa2dFU0FjYWlJTklDeDBJZzhnQ3lnQ0JDSU1JQXdnRDBnYk5nSU1JQmtnRkVFQmFpQXRkQ0lQSUFzb0FnZ2lEQ0FNSUE5S0d6WUNFQ0FaSUExQkFXb2dMSFFpRHlBTEtBSU1JZ3dnRENBUFNoczJBaFFnRWtFQmFpSVNJQ1ZIRFFBTEN5QUxRU2hxSVFzZ0pFRUJhaUlrSUNOSERRQUxDeUFYUVFocUlSY2dGVUVrYWlFVklDbEJBV29pS1NBYUtBSVlTUTBBQ3lBYVFaZ0JhaUVhSUFraEN5QXJRUUZxSWlzZ0VDZ0NGRWtOQUFzTElDZEJOR29oSnlBUVFjd0FhaUVRSUJ0QnVBaHFJUnNnS0VFQmFpSW9JQjRvQWhCSkRRQUxRUUVNQXdzZ0NrRUJRWlFXUVFBUUR3d0JDeUFLUVFGQnN4RkJBQkFQQzBFQUMwVUVRQ0FLUVFGQndodEJBQkFQUVFBTUJBc2dBQ2dDekFFaENTQU9JQUFvQW1nZ0FDZ0NiR3cyQWdRZ0RpQUpRUUZxTmdJQUlBcEJCRUcrMXdBZ0RoQVBJQUVnQUNnQ3pBRTJBZ0FnQ0VFQk5nSUFJQUlFUUNBQ0lBQW9BdEFCUVFBUVZDSUJOZ0lBUVFBZ0FVRi9SZzBFR2dzZ0F5QUFLQUxRQVNnQ0ZDZ0NBQ0lCS0FJQU5nSUFJQVFnQVNnQ0JEWUNBQ0FGSUFFb0FnZzJBZ0FnQmlBQktBSU1OZ0lBSUFjZ0FTZ0NFRFlDQUNBQUlBQW9BZ2hCZ0FGeU5nSUlDMEVCREFJTElBcEJBU0FTUVFBUUR3c2dDa0VCUWVRYlFRQVFEMEVBQ3lFd0lBNUIwQUJxSkFBZ01BdmVFQUlOZndKK0FrQWdBQ2dDSUNJRkRRQUNRQ0FBS0FJUUlnbEJCVW9FUUNBSklRTU1BUXNDUUFKQUlBQW9BaFFpQWtFRlRnUkFJQUFvQWdBaUFTZ0NBQ0VGSUFBZ0FVRUVhallDQUNBQ1FRUnJJUWNNQVFzZ0FrRUFUQVJBUVg4aEJRd0NDeUFBS0FJQUlRRUNmeUFDUVFGR0JFQkJmeUVHUVFBTUFRdEJmeUVHSUFKQkFXc2lBMEVCY1NFTkFrQWdBa0VDUmdSQVFRQWhCU0FDSVFRTUFRc2dBMEYrY1NFTFFRQWhCU0FCSVFNZ0FpRUVBMEFnQUNBRFFRRnFOZ0lBSUFNdEFBQWhEQ0FBSUFOQkFtb2lBVFlDQUNBQUlBUkJBV3MyQWhRZ0F5MEFBU0VESUFBZ0JFRUNheUlFTmdJVUlBWkIvd0VnQlhSQmYzTnhJQXdnQlhSeVFZRCtBeUFGZEVGL2MzRWdBeUFGUVFoeWRISWhCaUFGUVJCcUlRVWdBU0VESUFoQkFtb2lDQ0FMUncwQUN3c2dEUVJBSUFBZ0FVRUJhaUlETmdJQUlBRXRBQUFoQVNBQUlBUkJBV3MyQWhRZ0JrSC9BU0FGZEVGL2MzRWdBU0FGZEhJaEJpQURJUUVMSUFKQkEzUkJDR3NMSVFVZ0FDQUJRUUZxTmdJQUlBWkIvd0VnQlhSQmYzTnhJQUV0QUFCQkQzSWdCWFJ5SVFVTElBQWdCellDRkFzZ0FDZ0NHQ0VCSUFBZ0JVRVlkaUlIUWY4QlJqWUNHQ0FBSUFrZ0JVRVFka0gvQVhFaUNFSC9BVVlpQ2lBRlFRaDJRZjhCY1NJTFFmOEJSaUlNSUFFZ0JVSC9BWEVpQkVIL0FVWWlBbXBxYWlJQmEwRWdhaUlETmdJUUlBQWdBQ2tEQ0NBRVFRZEJDQ0FDRzNRZ0MzSkJCMEVJSUF3YmRDQUlja0VIUVFnZ0NodDBJQWR5clNBQklBbHJRU0JxcllhRU53TUlRUUFoQlNBRFFRWklEUUVMSUFBb0Fod2lBVUVDZEVHZ25RRnFLQUlBSVFJQ2ZpQUFLUU1JSWc1Q0FGTUVRRUVNSUFGQkFXb2dBVUVMVGhzaEJDQURRUUZySVFOQmZ5QUNkRUYvYzBFQmRDRUJRZ0VNQVFzZ0FVRUJhMEVBSUFGQkFVb2JJUVFnRGtFL0lBSnJyWWluUVg4Z0FuUkJmM054UVFGMFFRRnlJUUVnQXlBQ1FRRnFJZ0pySVFNZ0FxMExJUThnQUNBRE5nSVFJQUFnQkRZQ0hDQUFJQTRnRDRZM0F3Z2dBQ0FCckNBQUtRTW9Ra0NEaERjREtFRUJJUVVnQTBFR1NBMEFJQUFvQWh3aUFVRUNkRUdnblFGcUtBSUFJUUlDZmlBQUtRTUlJZzVDQUZNRVFFRU1JQUZCQVdvZ0FVRUxUaHNoQkNBRFFRRnJJUU5CZnlBQ2RFRi9jMEVCZENFQlFnRU1BUXNnQVVFQmEwRUFJQUZCQVVvYklRUWdEa0UvSUFKcnJZaW5RWDhnQW5SQmYzTnhRUUYwUVFGeUlRRWdBeUFDUVFGcUlnSnJJUU1nQXEwTElROGdBQ0FETmdJUUlBQWdCRFlDSENBQUlBNGdENFkzQXdnZ0FDQUFLUU1vUXY5QWd5QUJyRUlIaG9RM0F5aEJBaUVGSUFOQkJrZ05BQ0FBS0FJY0lnRkJBblJCb0owQmFpZ0NBQ0VDQW40Z0FDa0RDQ0lPUWdCVEJFQkJEQ0FCUVFGcUlBRkJDMDRiSVFRZ0EwRUJheUVEUVg4Z0FuUkJmM05CQVhRaEFVSUJEQUVMSUFGQkFXdEJBQ0FCUVFGS0d5RUVJQTVCUHlBQ2E2MklwMEYvSUFKMFFYOXpjVUVCZEVFQmNpRUJJQU1nQWtFQmFpSUNheUVESUFLdEN5RVBJQUFnQXpZQ0VDQUFJQVEyQWh3Z0FDQU9JQStHTndNSUlBQWdBQ2tES0VMLy8wQ0RJQUdzUWc2R2hEY0RLRUVESVFVZ0EwRUdTQTBBSUFBb0Fod2lBVUVDZEVHZ25RRnFLQUlBSVFJQ2ZpQUFLUU1JSWc1Q0FGTUVRRUVNSUFGQkFXb2dBVUVMVGhzaEJDQURRUUZySVFOQmZ5QUNkRUYvYzBFQmRDRUJRZ0VNQVFzZ0FVRUJhMEVBSUFGQkFVb2JJUVFnRGtFL0lBSnJyWWluUVg4Z0FuUkJmM054UVFGMFFRRnlJUUVnQXlBQ1FRRnFJZ0pySVFNZ0FxMExJUThnQUNBRE5nSVFJQUFnQkRZQ0hDQUFJQTRnRDRZM0F3Z2dBQ0FBS1FNb1F2Ly8vMENESUFHc1FoV0doRGNES0VFRUlRVWdBMEVHU0EwQUlBQW9BaHdpQVVFQ2RFR2duUUZxS0FJQUlRSUNmaUFBS1FNSUlnNUNBRk1FUUVFTUlBRkJBV29nQVVFTFRoc2hCQ0FEUVFGcklRTkJmeUFDZEVGL2MwRUJkQ0VCUWdFTUFRc2dBVUVCYTBFQUlBRkJBVW9iSVFRZ0RrRS9JQUpycllpblFYOGdBblJCZjNOeFFRRjBRUUZ5SVFFZ0F5QUNRUUZxSWdKcklRTWdBcTBMSVE4Z0FDQUROZ0lRSUFBZ0JEWUNIQ0FBSUE0Z0Q0WTNBd2dnQUNBQUtRTW9Rdi8vLy85QWd5QUJyRUljaG9RM0F5aEJCU0VGSUFOQkJrZ05BQ0FBS0FJY0lnRkJBblJCb0owQmFpZ0NBQ0VDQW40Z0FDa0RDQ0lPUWdCVEJFQkJEQ0FCUVFGcUlBRkJDMDRiSVFRZ0EwRUJheUVEUVg4Z0FuUkJmM05CQVhRaEFVSUJEQUVMSUFGQkFXdEJBQ0FCUVFGS0d5RUVJQTVCUHlBQ2E2MklwMEYvSUFKMFFYOXpjVUVCZEVFQmNpRUJJQU1nQWtFQmFpSUNheUVESUFLdEN5RVBJQUFnQXpZQ0VDQUFJQVEyQWh3Z0FDQU9JQStHTndNSUlBQWdBQ2tES0VMLy8vLy8vMENESUFHdFFpT0doRGNES0VFR0lRVWdBMEVHU0EwQUlBQW9BaHdpQVVFQ2RFR2duUUZxS0FJQUlRSUNmaUFBS1FNSUlnNUNBRk1FUUVFTUlBRkJBV29nQVVFTFRoc2hCQ0FEUVFGcklRTkJmeUFDZEVGL2MwRUJkQ0VCUWdFTUFRc2dBVUVCYTBFQUlBRkJBVW9iSVFRZ0RrRS9JQUpycllpblFYOGdBblJCZjNOeFFRRjBRUUZ5SVFFZ0F5QUNRUUZxSWdKcklRTWdBcTBMSVE4Z0FDQUROZ0lRSUFBZ0JEWUNIQ0FBSUE0Z0Q0WTNBd2dnQUNBQUtRTW9Rdi8vLy8vLy8wQ0RJQUd0UWlxR2hEY0RLRUVISVFVZ0EwRUdTQTBBSUFBb0Fod2lBVUVDZEVHZ25RRnFLQUlBSVFJQ2ZpQUFLUU1JSWc1Q0FGTUVRRUVNSUFGQkFXb2dBVUVMVGhzaEJDQURRUUZySVFOQmZ5QUNkRUYvYzBFQmRDRUJRZ0VNQVFzZ0FVRUJhMEVBSUFGQkFVb2JJUVFnRGtFL0lBSnJyWWluUVg4Z0FuUkJmM054UVFGMFFRRnlJUUVnQXlBQ1FRRnFJZ0pySVFNZ0FxMExJUThnQUNBRE5nSVFJQUFnQkRZQ0hDQUFJQTRnRDRZM0F3Z2dBQ0FBS1FNb1F2Ly8vLy8vLy85QWd5QUJyVUl4aG9RM0F5aEJDQ0VGQ3lBQUlBVkJBV3MyQWlBZ0FDQUFLUU1vSWc1Q0I0ZzNBeWdnRHFkQi93QnhDeUlCQVg4Z0FBUkFJQUFvQWd3aUFRUkFJQUVRRUNBQVFRQTJBZ3dMSUFBUUVBc0xpZ0VDQVg0RmZ3SkFJQUJDZ0lDQWdCQlVCRUFnQUNFQ0RBRUxBMEFnQVVFQmF5SUJJQUJDQ29BaUFrTDJBWDRnQUh5blFUQnlPZ0FBSUFCQy8vLy8vNThCVmlFR0lBSWhBQ0FHRFFBTEN5QUNRZ0JTQkVBZ0FxY2hBd05BSUFGQkFXc2lBU0FEUVFwdUlnUkI5Z0ZzSUFOcVFUQnlPZ0FBSUFOQkNVc2hCeUFFSVFNZ0J3MEFDd3NnQVF2NTRnRUVlbjhHZXdoK0FYMGpBRUVRYXlKT0pBQUNRQ0FBTFFBSVFZQUJjVVVOQUNBQUtBTE1BU0FCUncwQUlBQW9BcHdCSUFGQmpDeHNhaUpQS0FMY0t5SVZSUVJBSUU4UUxnd0JDeUFBS0FMSUFSb2dBQ2dDMEFFaEdTQUFLQUpNSWdkRkJFQWdBQ2dDU0NFSEN5QUhLQUlBSVFZZ0J5Z0NCQ0VMSUFjb0FnZ2hDU0FIS0FJTUlRMGdBQ2dDUENFSElBQW9Ba0FoQ0NCUEtBTGdLeUVLSXdCQkVHc2lRQ1FBSUJrZ0FUWUNKQ0FaS0FJY0tBSk1JUXdnR1VFQk5nSkFJQmtnRFRZQ1BDQVpJQWsyQWpnZ0dTQUxOZ0kwSUJrZ0JqWUNNQ0FaSUF3Z0FVR01MR3hxTmdJZ0lCa29Ba1FRRUVFQUlRc2dHVUVBTmdKRUFrQWdCd1JBUVFRZ0dTZ0NHQ2dDRUJBVElndEZCRUFNQWd0QkFDRU5RUUFoQ1NBSFFRUlBCRUFnQjBGOGNTRU1RUUFoQVFOQUlBc2dDQ0FKUVFKMGFpSUdLQUlBUVFKMGFrRUJOZ0lBSUFzZ0JpZ0NCRUVDZEdwQkFUWUNBQ0FMSUFZb0FnaEJBblJxUVFFMkFnQWdDeUFHS0FJTVFRSjBha0VCTmdJQUlBbEJCR29oQ1NBQlFRUnFJZ0VnREVjTkFBc0xJQWRCQTNFaUFRUkFBMEFnQ3lBSUlBbEJBblJxS0FJQVFRSjBha0VCTmdJQUlBbEJBV29oQ1NBTlFRRnFJZzBnQVVjTkFBc0xJQmtnQ3pZQ1JBc0NRQUpBSUJrb0FoZ2lCaWdDRUNJTlJRMEFRUUFoQ1FKQUEwQUNRQ0FMQkVBZ0N5QUpRUUowYWlnQ0FFVU5BUXNnQmlnQ0dDQUpRVFJzYWlJQk5RSUVJb1lCUWdGOUlvb0JJQmsxQWp4OElJWUJnQ0dMQVNBQk5RSUFJb2NCUWdGOUlvZ0JJQmsxQWpoOElJY0JnQ0dNQVNDS0FTQVpOUUkwZkNDR0FZQWhoZ0VnR1NnQ0ZDZ0NBQ2dDRkNBSlFjd0FiR29pQVNnQ0ZDQUJLQUlZYXlJSFFSOUxEUUFDUUNDSUFTQVpOUUl3ZkNDSEFZQ25JZ2dnQVNnQ0FHc2lERUVBSUFnZ0RFOGJJQWQyRFFBZ2hnR25JZ2dnQVNnQ0JHc2lERUVBSUFnZ0RFOGJJQWQyRFFBZ0FTZ0NDQ0lJSUl3QnAyc2lERUVBSUFnZ0RFOGJJQWQyRFFBZ0FTZ0NEQ0lCSUlzQnAyc2lDRUVBSUFFZ0NFOGJJQWQyUlEwQkN5QVpRUUEyQWtBTUFnc2dDVUVCYWlJSklBMUhEUUFMSUJrb0FrQkZEUUFnRFVVTkFVRUFJUTBEUUNBWktBSVVLQUlBS0FJVUlBMUJ6QUJzYWlJQktBSWNJQUVvQWhoQm1BRnNhaUlIUVpRQmF5Z0NBQ0VHSUFkQmpBRnJLQUlBSVFzZ0IwR1lBV3NvQWdBaENTQUhRWkFCYXlnQ0FDRUlBa0FnR1NnQ1JDSUhCRUFnQnlBTlFRSjBhaWdDQUVVTkFRc2dDeUFHYXlFSElBZ2dDV3NoQ1FKQUlBWWdDMFlOQUNBSHJTQUpyWDVDSUloUURRQWdCVUVCUVpRV1FRQVFEd3dHQ3lBSElBbHNJZ2RCZ0lDQWdBUlBCRUFnQlVFQlFaUVdRUUFRRHd3R0N5QUJJQWRCQW5RaUJ6WUNMQUovQWtBQ1FBSkFJQUVvQWlRaUJnUkFJQWNnQVNnQ01FME5CU0FCS0FJb0RRRUxJQUVnQnhBWUlnYzJBaVFnQjBFQklBRW9BaXdpQnh0RkRRRWdBU0FITmdJd0lBRkJLR29NQXdzZ0JoQVFJQUVnQVNnQ0xCQVlJZ2MyQWlRZ0J3MEJJQUZCQURZQ01DQUJRZ0EzQWlnTElBVkJBVUdVRmtFQUVBOE1Cd3NnQVNBQktBSXNOZ0l3SUFGQktHb0xRUUUyQWdBTElBMUJBV29pRFNBWktBSVlJZ1lvQWhCSkRRQUxEQUVMSUExRkRRQWdCaWdDR0NFUElCa29BaFFvQWdBb0FoUWhGa0VBSVFFRFFBSkFJQXNFUUNBTElBRkJBblJxS0FJQVJRMEJDeUFXSUFGQnpBQnNhaUlISUFjb0FnQWlDU0FQSUFGQk5HeHFJZ2cxQWdBaWhnRkNBWDBpaWdFZ0dUVUNNSHdnaGdHQXB5SU1JQWtnREVzYklnazJBamdnQnlBSEtBSUVJZ3dnQ0RVQ0JDS0hBVUlCZlNLTEFTQVpOUUkwZkNDSEFZQ25JZ2dnQ0NBTVNSc2lDRFlDUENBSElBY29BZ2dpRENDS0FTQVpOUUk0ZkNDR0FZQ25JaGNnRENBWFNSc2lERFlDUUNBSElBY29BZ3dpRnlDTEFTQVpOUUk4ZkNDSEFZQ25JZzRnRGlBWFN4c2lGellDUkNBSklBeExEUU1nQ0NBWFN3MERJQWNvQWhRaURrVU5BQ0FPclNHTEFTQVhyU0dJQVNBTXJTR01BU0FJclNHTkFTQUpyU0dKQVNBSEtBSWNJUWxDQUNHSEFRTkFJQWtnaHdHbklnaEJtQUZzYWlJSFFuOGdEaUFJUVg5emFxMGloZ0dHUW4rRklvb0JJSWdCZkNDR0FZZytBcFFCSUFjZ2lnRWdqQUY4SUlZQmlENENrQUVnQnlDS0FTQ05BWHdnaGdHSVBnS01BU0FISUlrQklJb0JmQ0NHQVlnK0FvZ0JJSWNCUWdGOElvY0JJSXNCVWcwQUN3c2dBVUVCYWlJQklBMUhEUUFMQ3lCQVFRQTJBZ2dnR1NnQ0hDRUJRUUZCQ0JBVEloc0VRQ0FiSUFFMkFnUWdHeUFHTmdJQUN5QWJSUTBCSUJrb0FpUWhFU0FaS0FJVUtBSUFJU0FqQUVId0FHc2lFeVFBSUJGQmpDeHNJZ0VnR3lnQ0JDSUlLQUpNYWlJY0tBS2tBeUVvQW44Z0d5Z0NBQ0llSVJjZ0JTRXpRUUFoRFNNQVFTQnJJZzhrQUNBQklBZ29Ba3hxSWgwb0FxUURJUmdDUUNBWEtBSVFJaFpCa0FSc0VCUWlERVVOQUFKQUlCWkJBblFRRkNJTFJRUkFJQXdoQ3d3QkN3Si9JQWdvQWt3Z0VVR01MR3hxSWdrb0FxUURJaHBCQVdvaUFVSHdBUkFUSWdjRVFBSkFJQUVFUUNBWEtBSVFJUTRnQnlFQkEwQWdBU0F6TmdMc0FTQUJJQTVCRUJBVElnWTJBc2dCSUFaRkRRSWdBU0FYS0FJUUloODJBc1FCUVFBaEJrRUFJUTRnSHdSQUEwQWdBU2dDeUFFZ0JrRUVkR29pRGlBSktBTFFLeUFHUWJnSWJHb2lIeWdDQkVFUUVCTWlJVFlDRENBaFJRMEVJQTRnSHlnQ0JEWUNDQ0FHUVFGcUlnWWdGeWdDRUNJT1NRMEFDd3NnQVVId0FXb2hBU0FTSUJwR0lYTWdFa0VCYWlFU0lITkZEUUFMQ3lBSERBSUxJQWNvQWdRaUFRUkFJQUVRRUNBSFFRQTJBZ1FMSUFjaEFVRUFJUWtEUUNBQktBTElBU0lHQkVCQkFDRU9JQUVvQXNRQkloSUVmd05BSUFZb0Fnd2lId1JBSUI4UUVDQUdRUUEyQWd3Z0FTZ0N4QUVoRWdzZ0JrRVFhaUVHSUE1QkFXb2lEaUFTU1EwQUN5QUJLQUxJQVFVZ0Jnc1FFQ0FCUVFBMkFzZ0JDeUFCUWZBQmFpRUJJQWtnR2tZaGRDQUpRUUZxSVFrZ2RFVU5BQXNnQnhBUUMwRUFDeUlIQkVBQ1FDQVdSUTBBUVFBaENTQU1JUVlnRmtFRVR3UkFJQVlnRmtGOGNTSUpRWkFFYkdvaEJpQU1JUUVEUUNBTElCQkJBblJxSUFIOUVmME1BQUFBQUJBQ0FBQWdCQUFBTUFZQUFQMnVBZjBMQWdBZ0FVSEFFR29oQVNBUVFRUnFJaEFnQ1VjTkFBc2dDU0FXUmcwQkN3TkFJQXNnQ1VFQ2RHb2dCallDQUNBR1FaQUVhaUVHSUFsQkFXb2lDU0FXUncwQUN3c2dDeUVPUVFBaEVpQUlLQUpNSUJGQmpDeHNhaWdDMENzaEFTQVhLQUlZSVFrZ0R5QUlLQUlFSUFnb0Fnd2dFU0FSSUFnb0FoZ2lCbTRpQ3lBR2JHdHNhaUlHSUJjb0FnQWlFQ0FHSUJCTEd6WUNGQ0FQUVg4Z0JpQUlLQUlNYWlJUUlBWWdFRXNiSWdZZ0Z5Z0NDQ0lRSUFZZ0VFa2JOZ0lRSUE4Z0NDZ0NDQ0FJS0FJUUlBdHNhaUlHSUJjb0FnUWlDeUFHSUF0TEd6WUNEQ0FQUVg4Z0JpQUlLQUlRYWlJTElBWWdDMHNiSWdZZ0Z5Z0NEQ0lMSUFZZ0Mwa2JOZ0lJSUE5QkFEWUNHQ0FQUVFBMkFod2dEMEgvLy8vL0J6WUNCQ0FQUWYvLy8vOEhOZ0lBSUJjb0FoQUVRQU5BSUE0RWZ5QU9JQkpCQW5ScUtBSUFCVUVBQ3lFTElBazFBZ1FpaGdGQ0FYMGlpZ0VnRHpVQ0NId2doZ0dBSVlzQklBazFBZ0FpaHdGQ0FYMGlpQUVnRHpVQ0VId2dod0dBSVl3QklJb0JJQTgxQWd4OElJWUJnQ0dHQVNDSUFTQVBOUUlVZkNDSEFZQWhod0VnQVNnQ0JDSUlJQThvQWh4TEJFQWdEeUFJTmdJY0lBRW9BZ1FoQ0FzZ0NBUkFJSXNCUXYvLy8vOFBneUdLQVNDTUFVTC8vLy8vRDRNaGl3RWdoZ0ZDLy8vLy93K0RJWWdCSUljQlF2Ly8vLzhQZ3lHTUFTQUJRYkFIYWlFZklBRkJyQVpxSVNGQkFDRWFBMEFnSHlBYVFRSjBJaEJxS0FJQUlRWWdFQ0FoYWlnQ0FDRVJRUUFoRUNBTEJFQWdDeUFHTmdJRUlBc2dFVFlDQUNBTFFRaHFJUkFMQWtBZ0VTQUlRUUZySWdocUlndEJIMHNOQUNBSktBSUFJaUpCZnlBTGRrc05BQ0FQSUE4b0FnUWlKeUFpSUF0MElnc2dDeUFuU3hzMkFnUUxBa0FnQmlBSWFpSUxRUjlMRFFBZ0NTZ0NCQ0lpUVg4Z0MzWkxEUUFnRHlBUEtBSUFJaWNnSWlBTGRDSUxJQXNnSjBzYk5nSUFDMEVBSVFzZ2lnRkNmeUFJclNLR0FZWkNmNFVpaHdGOElJWUJpQ0tOQVVMLy8vLy9ENE5DQVNBR3JTS0pBWVo4UWdGOUlJa0JpS2NnaHdFZ2lBRjhJSVlCaUtjaUlpQUdkbXRCZnlBR2RuRkJBQ0FpSUkwQnAwY2JJUVlnaHdFZ2l3RjhJSVlCaUNLTkFVTC8vLy8vRDROQ0FTQVJyU0tKQVlaOFFnRjlJSWtCaUtjZ2h3RWdqQUY4SUlZQmlLY2lJaUFSZG10QmZ5QVJkbkZCQUNBaUlJMEJwMGNiSVJFZ0VBUkFJQkFnQmpZQ0JDQVFJQkUyQWdBZ0VFRUlhaUVMQ3lBR0lCRnNJZ1lnRHlnQ0dFc0VRQ0FQSUFZMkFoZ0xJQnBCQVdvaUdpQUJLQUlFU1EwQUN3c2dDVUUwYWlFSklBRkJ1QWhxSVFFZ0VrRUJhaUlTSUJjb0FoQkpEUUFMQ3lBWVFRRnFJU0VnRHlnQ0hDRVJJQThvQWhnaEVpQUhRUUEyQWdRQ1FDQWRLQUlJUVFGcUlnR3RJQkVnRWlBV2JDSWliQ0lhclg1Q0lJaFFCRUFnQnlBQklCcHNJZ0UyQWdnZ0J5QUJRUUlRRXlJQk5nSUVJQUVOQVFzZ0RCQVFJQTRRRUNBSEtBSUVJZ0VFUUNBQkVCQWdCMEVBTmdJRUN5QWhSUVJBSUFjaEN3d0RDMEVBSVFzZ0J5RUJBMEFnQVNnQ3lBRWlDUVJBUVFBaEJpQUJLQUxFQVNJUUJIOERRQ0FKS0FJTUlnZ0VRQ0FJRUJBZ0NVRUFOZ0lNSUFFb0FzUUJJUkFMSUFsQkVHb2hDU0FHUVFGcUlnWWdFRWtOQUFzZ0FTZ0N5QUVGSUFrTEVCQWdBVUVBTmdMSUFRc2dBVUh3QVdvaEFTQUxJQmhHSVhVZ0MwRUJhaUVMSUhWRkRRQUxJQWNoQ3d3Q0N5QVhLQUlZSVJjZ0J5QVBLQUlVSWljMkFzd0JJQWNnRHlnQ0RDSXdOZ0xRQVNBSElBOG9BaEFpTFRZQzFBRWdCeUFQS0FJSUlpczJBdGdCSUFjZ0dqWUNEQ0FISUNJMkFoQWdCeUFTTmdJVVFRRWhIeUFIUVFFMkFoZ2dGZ1JBSUFjb0FzZ0JJUUZCQUNFSUlCY2hDd05BSUE0Z0NFRUNkR29vQWdBaENTQUJJQXNvQWdBMkFnQWdBU0FMS0FJRU5nSUVBa0FnQVNnQ0NDSU5SUTBBSUFFb0Fnd2hCaUFOUVFGSEJFQWdEVUYrY1NFdlFRQWhFQU5BSUFZZ0NTZ0NBRFlDQUNBR0lBa29BZ1EyQWdRZ0JpQUpLQUlJTmdJSUlBWWdDU2dDRERZQ0RDQUdJQWtvQWhBMkFoQWdCaUFKS0FJVU5nSVVJQVlnQ1NnQ0dEWUNHQ0FHSUFrb0FodzJBaHdnQmtFZ2FpRUdJQWxCSUdvaENTQVFRUUpxSWhBZ0wwY05BQXNMSUExQkFYRkZEUUFnQmlBSktBSUFOZ0lBSUFZZ0NTZ0NCRFlDQkNBR0lBa29BZ2cyQWdnZ0JpQUpLQUlNTmdJTUN5QUxRVFJxSVFzZ0FVRVFhaUVCSUFoQkFXb2lDQ0FXUncwQUN3c2dJVUVCU3dSQUlBY2hEUU5BSUEwZ0t6WUN5QU1nRFNBdE5nTEVBeUFOSURBMkFzQURJQTBnSnpZQ3ZBTWdEVUVCTmdLSUFpQU5JQkkyQW9RQ0lBMGdJallDZ0FJZ0RTQWFOZ0w4QVNBV0JFQWdEU2dDdUFNaEFVRUFJUWdnRnlFTEEwQWdEaUFJUVFKMGFpZ0NBQ0VKSUFFZ0N5Z0NBRFlDQUNBQklBc29BZ1EyQWdRQ1FDQUJLQUlJSWlGRkRRQWdBU2dDRENFR0lDRkJBVWNFUUNBaFFYNXhJUzlCQUNFUUEwQWdCaUFKS0FJQU5nSUFJQVlnQ1NnQ0JEWUNCQ0FHSUFrb0FnZzJBZ2dnQmlBSktBSU1OZ0lNSUFZZ0NTZ0NFRFlDRUNBR0lBa29BaFEyQWhRZ0JpQUpLQUlZTmdJWUlBWWdDU2dDSERZQ0hDQUdRU0JxSVFZZ0NVRWdhaUVKSUJCQkFtb2lFQ0F2UncwQUN3c2dJVUVCY1VVTkFDQUdJQWtvQWdBMkFnQWdCaUFKS0FJRU5nSUVJQVlnQ1NnQ0NEWUNDQ0FHSUFrb0FndzJBZ3dMSUF0Qk5Hb2hDeUFCUVJCcUlRRWdDRUVCYWlJSUlCWkhEUUFMQ3lBTklBMHBBZ1EzQXZRQklCZ2dIMGNoZGlBTlFmQUJhaUVOSUI5QkFXb2hIeUIyRFFBTEN5QU1FQkFnRGhBUUlCMG9BcVFESVFzQ1FDQWRMUUNJTEVFRWNRUkFJQXRCZjBZTkFTQWRRYWdEYWlFR0lCMG9BZ2doQVVFQUlSQWdCeUVKQTBBZ0JpZ0NKQ0VOSUFsQkFUWUNMQ0FKSUEwMkFsUWdDU0FHS0FJQU5nSXdJQVlvQWdRaERTQUpRZ0EzQWtRZ0NTQU5OZ0kwSUFrZ0JpZ0NERFlDUENBSklBWW9BaEEyQWtBZ0JpZ0NDQ0VOSUFrZ0VqWUNUQ0FKSUEwZ0FTQUJJQTFMR3pZQ09DQUdRWlFCYWlFR0lBbEI4QUZxSVFrZ0N5QVFSaUYzSUJCQkFXb2hFQ0IzUlEwQUN3d0JDeUFMUVg5R0RRQWdIU2dDQ0NFR0lCMG9BZ1FoRFNBSElRa2dDd1JBSUF0QkFXcEJmbkVoQ0VFQUlRRURRQ0FKUWdBM0FrUWdDVUVBTmdJMElBbENBVGNDTENBSklBMDJBbFFnQ1NBUk5nSThJQWtnRFRZQ3hBSWdDU0FTTmdKTUlBa2dCallDT0NBSlFnQTNBclFDSUFsQkFEWUNwQUlnQ1VJQk53S2NBaUFKSUJFMkFxd0NJQWtnQmpZQ3FBSWdDU0FTTmdLOEFpQUpJQWtvQXNRQk5nSkFJQWtnQ1NnQ3RBTTJBckFDSUFsQjRBTnFJUWtnQVVFQ2FpSUJJQWhIRFFBTEN5QUxRUUZ4RFFBZ0NVSUFOd0pFSUFsQkFEWUNOQ0FKUWdFM0Fpd2dDU0FOTmdKVUlBa2dFVFlDUENBSklCSTJBa3dnQ1NBR05nSTRJQWtnQ1NnQ3hBRTJBa0FMSUFjaERRd0NDeUFNRUJBTElBc1FFQXNnRDBFZ2FpUUFRUUFnRFNJSFJRMEFHaUFvUVFGcUlRNGdGU0VkSUFjaEN3SkFBa0FEUUNBTEtBSlVRWDlHRFFJZ0hpZ0NFRUVDZEJBVUlnRkZEUUlnQVVFQklCNG9BaEJCQW5RUUZTRUpJQXNRVndSQUEwQWdJQ2dDRkNFSUFrQUNRQ0FMS0FJb0lCd29BZ3hQRFFBZ0N5Z0NJQ0lCSUFnZ0N5Z0NIRUhNQUd4cUlnWW9BaGhQRFFBZ0JpZ0NIQ0FCUVpnQmJHb2lEU2dDR0VVTkFDQU5RUnhxSVFoQkFDRUJBa0FEUUNBWklBc29BaHdnQ3lnQ0lDQUlJQUZCSkd4cUlnWW9BaEFnQmlnQ0ZDQUxLQUlrUVNoc2FpSUdLQUlBSUFZb0FnUWdCaWdDQ0NBR0tBSU1FRGxGQkVBZ0FVRUJhaUlCSUEwb0FoaEpEUUVNQWdzTElBa2dDeWdDSEVFQ2RHcEJBRFlDQUNBVFFRQTJBbWdnR3lnQ0JDQWdLQUlVSUJ3Z0N5QVRRZXdBYWlBZElCTkI2QUJxSUFvZ014QldSUTBHSUFzb0FpQWhDQ0FMS0FJY0lSWWdFeWdDYUNFYUlCTW9BbXdFUUNBVFFRQTJBbWdnSUNnQ0ZDQVdRY3dBYkdvb0Fod2dDRUdZQVd4cUloOG9BaGdpQVFSL0lBb2dHbXNoR0NBS0lCMXFJU0VnSDBFY2FpRU1RUUFoRVVFQUlROGdHaUFkYWlJaUlSSURRQUpBSUF3b0FnZ2dEQ2dDQUVZTkFDQU1LQUlNSUF3b0FnUkdEUUFnRENnQ0ZDQUxLQUlrUVNoc2FpSUdLQUlVSUFZb0FoQnNJaWhGRFFBZ0JpZ0NHQ0VCUVFBaEZnTkFJQThFUUNBQlFRQTJBalFMSUFFb0FpUWlGd1JBSUFFb0FnQWhDQUpBSUFFZ0FTZ0NLQ0lHQkg4Z0NDQUdRUmhzYWlJSVFSUnJLQUlBSUFoQkRHc29BZ0JIQkVBZ0NFRVlheUVJREFJTElBWkJBV29GUVFFTE5nSW9Dd0pBQTBBQ1FBSkFBa0FnQ0NnQ0ZDSU5JQkpCZjNOTERRQWdEdzBBSUEwZ0Vtb2dJVTBOQVFzZ0N5Z0NIQ0VHSUFzb0FpQWhGeUFMS0FJa0lROGdHeWdDQkNnQ2FBUkFJQk1nQmpZQ1dDQVRJQmMyQWxRZ0V5QVJOZ0pRSUJNZ0R6WUNUQ0FUSUJZMkFrZ2dFeUFZTmdKRUlCTWdEVFlDUUNBelFRRkI4dTBBSUJOQlFHc1FEd3dSQ3lBVElBWTJBamdnRXlBWE5nSTBJQk1nRVRZQ01DQVRJQTgyQWl3Z0V5QVdOZ0lvSUJNZ0dEWUNKQ0FUSUEwMkFpQWdNMEVDUWZMdEFDQVRRU0JxRUE4Z0FVRUFOZ0kwSUFnZ0NDZ0NFQ0lHSUFnb0FnUnFOZ0lFSUFFZ0FTZ0NKQ0lOSUFackloYzJBaVJCQVNFUElBWWdEVVlOQVNBQklBRW9BaWhCQVdvaUNEWUNLQXdEQ3lBQktBSUVJUkFnQVNnQ05DSVBJQUVvQWpoSEJIOGdGd1VnRUNBUFFRRjBRUUZ5SWdaQkEzUVFGeUlRUlFSQUlETkJBVUdBQ0VFQUVBOE1FUXNnQVNBR05nSTRJQUVnRURZQ0JDQUJLQUkwSVE4Z0NDZ0NGQ0VOSUFFb0FpUUxJUVlnRUNBUFFRTjBhaUlYSUEwMkFnUWdGeUFTTmdJQUlBRWdEMEVCYWpZQ05DQUlJQWdvQWdBZ0RXbzJBZ0FnQ0NBSUtBSVFJaEFnQ0NnQ0JHb2lEellDQkNBQklBWWdFR3NpRnpZQ0pDQUlJQTgyQWdnZ0RTQVNhaUVTUVFBaER5QUdJQkJHRFFBZ0FTQUJLQUlvUVFGcU5nSW9JQWhCR0dvaENBc2dGdzBBQ3lBQktBSW9JUWdMSUFFZ0NEWUNMQXNnQVVGQWF5RUJJQlpCQVdvaUZpQW9SdzBBQ3lBZktBSVlJUUVMSUF4QkpHb2hEQ0FSUVFGcUloRWdBVWtOQUFzZ0N5Z0NIQ0VXSUFzb0FpQWhDQ0FZSUJJZ0ltc2dEeHNGUVFBTElCcHFJUm9MSUI0b0FoZ2dGa0UwYkdvaUFTQUlJQUVvQWlRaUFTQUJJQWhKR3pZQ0pBd0NDeUFnS0FJVUlRZ0xJQk5CQURZQ2FDQWJLQUlFSUFnZ0hDQUxJQk5CN0FCcUlCMGdFMEhvQUdvZ0NpQXpFRlpGRFFRZ0N5Z0NIQ0VXSUJNb0FtZ2hHaUFUS0FKc1JRMEFBa0FnSUNnQ0ZDQVdRY3dBYkdvb0Fod2dDeWdDSUNJaVFaZ0JiR29pQVNnQ0dDSW9SUVJBUVFBaEZ3d0JDeUFLSUJwcklSQWdBVUVjYWlFTUlBc29BaVFoSVVFQUlSZEJBQ0VZQTBBQ1FDQU1LQUlJSUF3b0FnQkdEUUFnRENnQ0RDQU1LQUlFUmcwQUlBd29BaFFnSVVFb2JHb2lBU2dDRkNBQktBSVFiQ0luUlEwQUlBRW9BaGdoRVVFQUlSOERRQ0FSS0FJa0lnRUVRQ0FSS0FJQUlRZ0NRQ0FSSUJFb0FpZ2lFZ1IvSUFnZ0VrRVliR29pQ0VFVWF5Z0NBQ0FJUVF4cktBSUFSd1JBSUFoQkdHc2hDQXdDQ3lBU1FRRnFCVUVCQ3lJU05nSW9Dd0pBQWtBZ0NDZ0NGQ0lQSUJkcUlnMGdEMGtOQUNBTklCQkxEUUFEUUNBTklSY2dDQ0FJS0FJUUlnMGdDQ2dDQkdvMkFnUWdBU0FOYXlFR0lBRWdEVVlOQWlBUklCSkJBV29pRWpZQ0tDQUlLQUlzSWc4Z0Yyb2lEU0FQVHdSQUlBaEJHR29oQ0NBR0lRRWdEU0FRVFEwQkN3c2dFU0FHTmdJa0N5QWJLQUlFS0FKb0lRRWdFeUFXTmdJWUlCTWdJallDRkNBVElCZzJBaEFnRXlBaE5nSU1JQk1nSHpZQ0NDQVRJQkEyQWdRZ0V5QVBOZ0lBSUROQkFVRUNJQUViUVozdEFDQVRFQThnQVEwS0lBc29BaHdoRmd3RkN5QVJJQVkyQWlRTElCRkJRR3NoRVNBZlFRRnFJaDhnSjBjTkFBc0xJQXhCSkdvaERDQVlRUUZxSWhnZ0tFY05BQXNMSUJjZ0dtb2hHZ3NDUUNBSklCWkJBblJxS0FJQVJRMEFJQjRvQWhnZ0ZrRTBiR29pQVNnQ0pBMEFJQUVnSUNnQ0ZDQVdRY3dBYkdvb0FoaEJBV3MyQWlRTElBb2dHbXNoQ2lBYUlCMXFJUjBnQ3hCWERRQUxDeUFKRUJBZ0MwSHdBV29oQ3lBalFRRnFJaU1nSENnQ3BBTk5EUUFMSUFjZ0RoQTZJRUFnSFNBVmF6WUNDRUVCREFJTElBY2dEaEE2SUFrUUVFRUFEQUVMSUFjZ0RoQTZRUUFMSVhnZ0UwSHdBR29rQUNBYkVDd2dlRVVOQVNBWktBSWdLQUxRS3lFSklCa29BaFFvQWdBaUZpZ0NGQ0VkSUVCQkFUWUNERUVBSVExQkFDRVZJQmtvQWlBaUFTZ0NEQ0FCS0FJSVJnUkFJQWtvQWhCQkJIWkJBWEVoRlFzQ1FDQVdLQUlRSWpGRkRRQURRQUpBSUJrb0FrUWlBUVJBSUFFZ0RVRUNkR29vQWdCRkRRRUxJRUJCREdvaEUwRUFJVEVDUUNBZEtBSVlJZ0ZGRFFBZ0dTZ0NMQ0VRQTBBZ0hTZ0NIQ0F4UVpnQmJHb2lEQ2dDR0NJTEJFQWdERUVjYWlFU0lBd29BaFFoQVNBTUtBSVFJUmRCQUNFT0EwQWdBU0FYYkFSQUlCSWdEa0VrYkdvaEQwRUFJUWdEUUNBWklCMG9BaEFnTVNBUEtBSVFJQThvQWhRZ0NFRW9iR29pQnlnQ0FDQUhLQUlFSUFjb0FnZ2dCeWdDREJBNUlRWWdCeWdDRkNJTElBY29BaEFpQ213aEFRSkFJQVlFUUNBQlJRMEJRUUFoQ2dOQUFrQWdHU0FkS0FJUUlERWdEeWdDRUNBSEtBSVlJQXBCQm5ScUlnWW9BZ2dnQmlnQ0RDQUdLQUlRSUFZb0FoUVFPVVVFUUNBR0tBSThJZ0ZGRFFFZ0FSQVFJQVpCQURZQ1BBd0JDeUFaS0FKQVJRUkFJQVlvQWp3TkFTQUdLQUlRSUFZb0FnaEdEUUVnQmlnQ0ZDQUdLQUlNUmcwQkMwRUJRU3dRRXlJQlJRUkFJRUJCQURZQ0RBd0tDeUFaS0FKQUlRc2dBVUVBTmdJa0lBRWdFellDSENBQklBazJBaFFnQVNBZE5nSVFJQUVnRHpZQ0RDQUJJQVkyQWdnZ0FTQXhOZ0lFSUFFZ0N6WUNBQ0FCSUJVMkFpZ2dBU0F6TmdJZ0lBRWdFQ2dDQkVFQlNqWUNHQ0FRUVE0Z0FSQXRJRUFvQWd4RkRRa0xJQXBCQVdvaUNpQUhLQUlVSUFjb0FoQnNTUTBBQ3d3QkN5QUJSUTBBUVFBaEZ3TkFJQWNvQWhnZ0YwRUdkR29pQVNnQ1BDSUdCRUFnQmhBUUlBRkJBRFlDUENBSEtBSVFJUW9nQnlnQ0ZDRUxDeUFYUVFGcUloY2dDaUFMYkVrTkFBc0xJQWhCQVdvaUNDQU1LQUlVSWdFZ0RDZ0NFQ0lYYkVrTkFBc2dEQ2dDR0NFTEN5QU9RUUZxSWc0Z0Mwa05BQXNnSFNnQ0dDRUJDeUF4UVFGcUlqRWdBVWtOQUFzTElFQW9BZ3hGRFFJZ0ZpZ0NFQ0V4Q3lBSlFiZ0lhaUVKSUIxQnpBQnFJUjBnRFVFQmFpSU5JREZKRFFBTEMwRUFJVEVnR1NnQ0xCQWdJRUFvQWd4RkRRRUNRQ0FaS0FKQURRQWdHU2dDR0NJZEtBSVFSUTBBUVFBaENRTkFJQmtvQWhRb0FnQW9BaFFnQ1VITUFHeHFJZ0VvQWh3Z0hTZ0NHQ0FKUVRSc2FpZ0NKRUdZQVd4cUlnY29Bb2dCSVFZZ0J5Z0NrQUVoQ3lBSEtBS01BU0VLSUFjb0FwUUJJUWNnQVNnQ05CQVFJQUZCQURZQ05BSkFJQmtvQWtRaURRUkFJQTBnQ1VFQ2RHb29BZ0JGRFFFTElBWWdDMFlOQUNBSElBcEdEUUFnQnlBS2F5SUhyU0FMSUFacklnYXRma0lnaUVJQVVnUkFJRE5CQVVHVUZrRUFFQThNQlFzZ0JpQUhiQ0lIUVlDQWdJQUVUd1JBSUROQkFVR1VGa0VBRUE4TUJRc2dBU0FIUVFKMEVCZ2lBVFlDTkNBQkRRQWdNMEVCUVpRV1FRQVFEd3dFQ3lBSlFRRnFJZ2tnR1NnQ0dDSWRLQUlRU1EwQUN3c2dHU2dDSUNFZElCa29BaFFvQWdBaUZ5Z0NFQVJBSUJjb0FoUWhDU0FkS0FMUUt5RWRJQmtvQWhnb0FoZ2hEVUVBSVFzRFFBSkFJQmtvQWtRaUFRUkFJQUVnQzBFQ2RHb29BZ0JGRFFFTElBMG9BaVJCQVdvaEFTQWRLQUlVUVFGR0JFQWdBU0VlUVFBaEJrRUFJUXo5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUFoZ0FFakFFRWdheUlsSkFBQ1FBSkFJQmtvQWtBRVFFRUJJUWNnQVVFQlJnMENJQWtvQWh3aURDQUpLQUlZUVpnQmJHb2lBVUdRQVdzb0FnQWlFQ0FCUVpnQmF5Z0NBQ0lUUmcwQ0lBd29BZ1FoRVNBTUtBSU1JUmdnRENnQ0FDRWFJQXdvQWdnaEd5QVpLQUlzSWc0b0FnUWhGaUFlUVFGcklnb2hGU0FNSVFjQ1FDQUtRUVJQQkVBZ0NrRURjU0VWSUFjZ0NrRjhjU0lJUVpnQmJHb2hCMEVBSVFFRFFDQ0FBU0FNSUFGQm1BRnNhaUlHUWVnRWFpQUdRZEFEYWlBR1FiZ0NhaUFHL1FrQ29BSDlWZ0lBQWYxV0FnQUMvVllDQUFNZ0JrSGdCR29nQmtISUEyb2dCa0d3QW1vZ0J2MEpBcGdCL1ZZQ0FBSDlWZ0lBQXYxV0FnQUQvYkVCL2JrQklBWkI3QVJxSUFaQjFBTnFJQVpCdkFKcUlBYjlDUUtrQWYxV0FnQUIvVllDQUFMOVZnSUFBeUFHUWVRRWFpQUdRY3dEYWlBR1FiUUNhaUFHL1FrQ25BSDlWZ0lBQWYxV0FnQUMvVllDQUFQOXNRSDl1UUVoZ0FFZ0FVRUVhaUlCSUFoSERRQUxJSUFCSUlBQklJQUIvUTBJQ1FvTERBME9Ed0FCQWdNQUFRSUQvYmtCSW9BQklJQUJJSUFCL1EwRUJRWUhBQUVDQXdBQkFnTUFBUUlEL2JrQi9Sc0FJUVlnQ0NBS1JnMEJDd05BSUFZZ0J5Z0NvQUVnQnlnQ21BRnJJZ0VnQVNBR1NSc2lBU0FIS0FLa0FTQUhLQUtjQVdzaUJpQUJJQVpMR3lFR0lBZEJtQUZxSVFjZ0ZVRUJheUlWRFFBTEMwRUFJUWNnQmtILy8vOC9TdzBDSUNVZ0JrRUZkQ0lTRURFaUR6WUNFQ0FQUlEwQ0lDVWdEellDQUNBS0JFQWdFQ0FUYXlFUUlCZ2dFV3NoQ0NBYklCcHJJUUVEUUNBSktBSWtJUk1nSlNBSUloVTJBZ2dnSlNBQklnYzJBaGdnRENnQ25BRWhCaUFNS0FLa0FTRUlJQXdvQXFBQklRRWdKU0FNS0FLWUFTSVJRUUp2TmdJY0lDVWdBU0FSYXlJQklBZHJOZ0lVQWtBZ0ZrRUNTQ0lhUlNBSUlBWnJJZ2hCQVV0eFJRUkFRUUFoQmlBSVJRMEJBMEFnSlVFUWFpQVRJQVlnRUd4QkFuUnFFRjBnQmtFQmFpSUdJQWhIRFFBTERBRUxJQWdnRmlBSUlCWkpHeUlSUVFGcklSc2dDQ0FSYmlFWVFRQWhCd05BUVNRUUZDSUdSUTBGSUNYOUFBSVFJWUFCSUFZZ0V6WUNHQ0FHSUJBMkFoUWdCaUFCTmdJUUlBWWdnQUg5Q3dJQUlBWWdCeUFZYkRZQ0hDQUhJQnRHSVI4Z0JpQUlJQWRCQVdvaUJ5QVliQ0FmR3pZQ0lDQUdJQklRTVNJZk5nSUFJQjlGQkVCQkFDRUhJQTRRSUNBR0VCQWdEeEFRREFjTElBNUJDaUFHRUMwZ0J5QVJSdzBBQ3lBT0VDQUxJQ1VnQ0NBVmF6WUNCQ0FsSUF3b0Fwd0JRUUp2TmdJTUFrQWdHa1VnQVVFQlMzRkZCRUJCQ0NFSFFRQWhCaUFCUVFoUEJFQURRQ0FsSUJNZ0JrRUNkR29nRUVFSUVEQWdCeUlHUVFocUlnY2dBVTBOQUFzTElBRWdCazBOQVNBbElCTWdCa0VDZEdvZ0VDQUJJQVpyRURBTUFRc2dBU0FXSUFFZ0Zra2JJaFZCQVdzaEdDQUJJQlZ1SVJGQkFDRUhBMEJCSkJBVUlnWkZEUVVnSmYwQUFnQWhnQUVnQmlBVE5nSVlJQVlnRURZQ0ZDQUdJQWcyQWhBZ0JpQ0FBZjBMQWdBZ0JpQUhJQkZzTmdJY0lBY2dHRVloR2lBR0lBRWdCMEVCYWlJSElCRnNJQm9iTmdJZ0lBWWdFaEF4SWhvMkFnQWdHa1VFUUVFQUlRY2dEaEFnSUFZUUVDQVBFQkFNQndzZ0RrRUxJQVlRTFNBSElCVkhEUUFMSUE0UUlBc2dERUdZQVdvaERDQUtRUUZySWdvTkFBc0xRUUVoQnlBUEVCQU1BZ3RCQVNFSElBa29BaHdpQ0NBZVFaZ0JiR29pTlVHWUFXc2lYeWdDQUNBMVFaQUJheWdDQUVZTkFTQTFRWlFCYXlKZ0tBSUFJRFZCakFGcktBSUFSZzBCSUFnb0FnUWhEaUFJS0FJTUlROGdDQ2dDQUNFV0lBZ29BZ2doRUNBSktBSkVJU0VnQ1NnQ1FDRWlJQWtvQWp3aEtDQUpLQUk0SVRBZ0NTQWVFRndpT1VVRVFFRUFJUWNNQWdzQ1FBSkFJQjVCQVVjRVFBSkFBa0FnSGtFQmF5SUtRUVJKQkVBZ0NpRUJJQWdoQnd3QkN5QUtRUU54SVFFZ0NDQUtRWHh4SWhWQm1BRnNhaUVIQTBBZ2dBRWdDQ0FNUVpnQmJHb2lCa0hvQkdvZ0JrSFFBMm9nQmtHNEFtb2dCdjBKQXFBQi9WWUNBQUg5VmdJQUF2MVdBZ0FESUFaQjRBUnFJQVpCeUFOcUlBWkJzQUpxSUFiOUNRS1lBZjFXQWdBQi9WWUNBQUw5VmdJQUEvMnhBZjI1QVNBR1Fld0VhaUFHUWRRRGFpQUdRYndDYWlBRy9Ra0NwQUg5VmdJQUFmMVdBZ0FDL1ZZQ0FBTWdCa0hrQkdvZ0JrSE1BMm9nQmtHMEFtb2dCdjBKQXB3Qi9WWUNBQUg5VmdJQUF2MVdBZ0FEL2JFQi9ia0JJWUFCSUF4QkJHb2lEQ0FWUncwQUN5Q0FBU0NBQVNDQUFmME5DQWtLQ3d3TkRnOEFBUUlEQUFFQ0EvMjVBU0tBQVNDQUFTQ0FBZjBOQkFVR0J3QUJBZ01BQVFJREFBRUNBLzI1QWYwYkFDRUdJQW9nRlVZTkFRc0RRQ0FHSUFjb0FxQUJJQWNvQXBnQmF5SUtJQVlnQ2tzYklnWWdCeWdDcEFFZ0J5Z0NuQUZySWdvZ0JpQUtTeHNoQmlBSFFaZ0JhaUVISUFGQkFXc2lBUTBBQ3dzZ0JrR0FnSUNBQVU4TkFpQUdRUVIwRURFaUZFVU5BZ0pBSUI1RkRRQWdEeUFPYXlFU0lCQWdGbXNoR2lBVVFRUnJJVHNnRkVFRWFpRWtJQlJCREdvaEtTQVVRUnhxSVVNZ0ZFRVlhaUVmSUJSQkZHb2hJQ0FVUVF4cklVUWdGRUVJYWlFcUlCUkJFR29oTmlBVVFSQnJJVGNnRkVFSWF5RkJJQ0d0SVlZQklDS3RJWWNCSUNpdElZb0JJREN0SVlzQlFRRWhSZ05BSUFnb0Fwd0JJZ0ZCQW04aFJ5QUlLQUtZQVNJSFFRSnZJVHdnQ0NnQ3BBRWdBV3NpSnlBU2F5RXNJQWdvQXFBQklBZHJJaTBnR21zaExpQXdJZ3doQnlBb0lnWWhDaUFpSWdFaE9pQWhJZzhoRVFKQUlBa29BaFFpRlNCR1JnMEFJQlVnUm1zaEZVRUFJUXBCQUNFSElBd0VRRUovSUJXdElvZ0Joa0ovaFNDTEFYd2dpQUdJcHlFSEN5QW9CRUJDZnlBVnJTS0lBWVpDZjRVZ2lnRjhJSWdCaUtjaENndEJBQ0VQUVFBaEFTQWlCRUJDZnlBVnJTS0lBWVpDZjRVZ2h3RjhJSWdCaUtjaEFRc2dJUVJBUW44Z0ZhMGlpQUdHUW4rRklJWUJmQ0NJQVlpbklROExRUUFoT2tFQUlReEJBU0FWUVFGcmRDSU9JREJKQkVBZ01DQU9hNjFDZnlBVnJTS0lBWVpDZjRWOElJZ0JpS2NoREFzZ0RpQWlTUVJBSUNJZ0RtdXRRbjhnRmEwaWlBR0dRbitGZkNDSUFZaW5JVG9MUVFBaEVVRUFJUVlnRGlBb1NRUkFJQ2dnRG11dFFuOGdGYTBpaUFHR1FuK0ZmQ0NJQVlpbklRWUxJQTRnSVU4TkFDQWhJQTVyclVKL0lCV3RJb2dCaGtKL2hYd2dpQUdJcHlFUkMwRi9JRG9nQ0NnQ3RBRWlGV3NpRGtFQUlBNGdPazBiSWc1QkFtb2lGaUFPSUJaTEd5SU9JQzRnRGlBdVNSc2lORUYvSUFFZ0NDZ0MyQUVpRTJzaURrRUFJQUVnRGs4YklnRkJBbW9pRGlBQklBNUxHeUlCSUJvZ0FTQWFTUnNpSmlBOEcwRUJkQ0lCSUNZZ05DQThHMEVCZEVFQmNpSU9JQUVnRGtzYklrZ2dMVWtoR0NBTUlCVnJJZ0ZCQUNBQklBeE5HeUlCUVFKcklneEJBQ0FCSUF4UEd5SVFJQWNnRTJzaUFVRUFJQUVnQjAwYklnRkJBbXNpREVFQUlBRWdERThiSWhZZ1BCdEJBWFFpRENBV0lCQWdQQnRCQVhSQkFYSWlLMGtoTHlBS0lBZ29BcmdCSWh0ckloVkJBQ0FLSUJWUEd5SUtRUUpySWhWQkFDQUtJQlZQR3lJVklTTWdCaUFJS0FMY0FTSUtheUlPUVFBZ0JpQU9UeHNpQmtFQ2F5SU9RUUFnQmlBT1R4c2lEaUU5UVg4Z0R5QWJheUlHUVFBZ0JpQVBUUnNpQmtFQ2FpSVBJQVlnRDBzYklnWWdFaUFHSUJKSkd5SWJJVDVCZnlBUklBcHJJZ1pCQUNBR0lCRk5HeUlHUVFKcUlnb2dCaUFLU3hzaUJpQXNJQVlnTEVrYklod2hQeUJIQkVBZ0ZTRTlJQndoUGlBYklUOGdEaUVqQ3lCSUlDMGdHQnNoU1NBTUlDc2dMeHNoR0NBU0lCeHFJVkFnRGlBU2FpRlJJQ2NFUUNBVUlCWkJBM1FpQm1vaVJVRUVhaUE3SUM1QkEzUWlDbW9pVWlBV0lDNUlJZ3diSVZNZ0JpQWthaUlHSUNZZ0xpQW1JQzVJR3lJUElBY2dFeUFISUJOSkcwRUNJQUVnQVVFQ1R4dHFJZ0ZxSWhNZ0IydEJBbXNpRVVFRGRDSXJhaUFHU1NBcElBY2dBV3RCQTNScUlnRWdLMm9nQVVseUlCRkIvLy8vL3dGTGNpRlVJRFFnR2tFQmF5QWFJRFJLR3lFdlFRQWhFU0FhUVFGS0lDNUJBRXB5SVZVZ0pDQThRUUowSWdGcklCQkJBM1JxSVZZZ0FTQkZhaUZYSUJZZ0IwRi9jeUFUYWlKS1FYeHhJakpxSVRnZ0ZrRUJhaUlUSURKcUlVSWdHaUEwYWlGWUlCQWdHbW9oV1NBVy9SSDlEQUFBQUFBQkFBQUFBZ0FBQUFNQUFBRDlyZ0VoZ3dFZ0ZDQVlRUUowYWlGYUlFRWdHa0VEZENJQmFpRkxJQUVnTzJvaFRDQUtJRUZxSVUwZ0drVWdMa0VCUm5FaFd5QVVJRWxCQW5RaUFXb2hYQ0FCSUR0cUlWMGdFLzBSL1F3QUFBQUFBUUFBQUFJQUFBQURBQUFBL2E0QklZUUJJRHNnRmlBdUlBd2JRUU4wYWlGZUEwQUNRQUpBSUJFZ0cwa2dFU0FWVDNFTkFDQVJJRkJKSUJFZ1VVOXhEUUFnRVVFQmFpRXJEQUVMSUMwZ1NFc0VRQ0JkUVFBMkFnQWdYRUVBTmdJQUN5QTVJQllnRVNBbUlCRkJBV29pS3lCWFFRSkJBQkFlSURrZ1dTQVJJRmdnS3lCV1FRSkJBQkFlQWtBQ1FBSkFJRHhGQkVBZ1ZVVU5BeUFXSUNaT0RRSUNRQUpBSUJaQkFFb0VRQ0JlS0FJQUlRY01BUXNnSkNnQ0FDSUhJUUVnRmtFQVNBMEJDeUFISVFFZ1V5Z0NBQ0VIQ3lCRklFVW9BZ0FnQVNBSGFrRUNha0VDZFdzMkFnQWdFeUlISUE5T0RRRkJBQ0VISUlRQklZQUJJSU1CSVlJQklCTWhBU0FXSVFvZ1NrRVVTU0JVY2tVRVFBTkFJQlFnZ0FGQkFmMnJBU0tCQWYwYkFFRUNkR29pQVNBVUlJRUIvUnNEUVFKMGFpSUdJQlFnZ1FIOUd3SkJBblJxSWdvZ0ZDQ0JBZjBiQVVFQ2RHb2lEQ0FCL1FrQ0FQMVdBZ0FCL1ZZQ0FBTDlWZ0lBQXlBVUlJSUJRUUg5cXdIOURBRUFBQUFCQUFBQUFRQUFBQUVBQUFEOVVDS0ZBZjBiQTBFQ2RHb2dGQ0NGQWYwYkFrRUNkR29nRkNDRkFmMGJBVUVDZEdvZ0ZDQ0ZBZjBiQUVFQ2RHcjlDUUlBL1ZZQ0FBSDlWZ0lBQXYxV0FnQURJQlFnZ1FIOURBRUFBQUFCQUFBQUFRQUFBQUVBQUFEOVVDS0JBZjBiQTBFQ2RHb2dGQ0NCQWYwYkFrRUNkR29nRkNDQkFmMGJBVUVDZEdvZ0ZDQ0JBZjBiQUVFQ2RHcjlDUUlBL1ZZQ0FBSDlWZ0lBQXYxV0FnQUQvYTRCL1F3Q0FBQUFBZ0FBQUFJQUFBQUNBQUFBL2E0QlFRTDlyQUg5c1FFaWdRSDlXZ0lBQUNBTUlJRUIvVm9DQUFFZ0NpQ0JBZjFhQWdBQ0lBWWdnUUg5V2dJQUF5Q0NBZjBNQkFBQUFBUUFBQUFFQUFBQUJBQUFBUDJ1QVNHQ0FTQ0FBZjBNQkFBQUFBUUFBQUFFQUFBQUJBQUFBUDJ1QVNHQUFTQUhRUVJxSWdjZ01rY05BQXNnUWlFQklEZ2hDaUFQSVFjZ01pQktSZzBDQ3dOQUlCUWdBVUVEZEdvaUJ5QUhLQUlBSUJRZ0NrRURkR29vQWdRZ0J5Z0NCR3BCQW1wQkFuVnJOZ0lBSUFFaUNrRUJhaUlCSUE5SERRQUxJQThoQnd3QkN3SkFJRnRGQkVBZ0ZpSUhJQ1pPRFFFRFFDQVVJQWRCQTNScUlnRW9BZ1FoQmlBQklBWUNmd0pBSUFkQkFFNEVRQ0FCSUUwZ0J5QXVTQnNvQWdBaE9pQUhRUUZxSVFFTUFRc2dGQ2dDQUNFNlFRQWhBU0FVSUFkQkFXb2lCdzBCR2dzZ0FTQXVUZ1JBSUFFaEJ5Qk5EQUVMSUJRZ0FTSUhRUU4wYWdzb0FnQWdPbXBCQW1wQkFuVnJOZ0lFSUFjZ0prZ05BQXNNQVFzZ0ZDQVVLQUlBUVFKdE5nSUFEQU1MSUJBaUJ5QTBUZzBDQTBBZ0ZDQUhRUU4wYWlJQktBSUFJUW9DZnlBSFFRQklCRUFnSkNnQ0FDRUdJQ1FNQVFzZ0ZDQUhRUU4wYWtFRWFpQk1JQWNnR2tnYktBSUFJUVlnSkNBSFJRMEFHaUJNSUFGQkJHc2dCeUFhU2hzTElRd2dBU0FNS0FJQUlBWnFRUUYxSUFwcU5nSUFJQWRCQVdvaUJ5QTBSdzBBQ3d3Q0N5QUhJQ1pPRFFBRFFDQVVJQWRCQTNScUlnRWdBU2dDQUFKL0FrQWdCMEVBU2dSQUlEc2dCeUF1SUFjZ0xrZ2JRUU4wYWlnQ0FDRUtEQUVMSUNRb0FnQWhDaUFrSUFkQkFFZ05BUm9MSUZJZ0J5QXVUZzBBR2lBVUlBZEJBM1JxUVFScUN5Z0NBQ0FLYWtFQ2FrRUNkV3MyQWdBZ0IwRUJhaUlISUNaSERRQUxDeUFRSURST0RRQWdMeUFRSWdFaUIwb0VRQU5BSUJRZ0IwRURkR29pQVNBQktBSUVJQlFnQjBFQmFpSUhRUU4wYWlnQ0FDQUJLQUlBYWtFQmRXbzJBZ1FnQnlBdlJ3MEFDeUF2SVFFTElBRWdORTROQUFOQUFuOENRQ0FCSWdkQkFFNEVRQ0FVSUFGQkEzUnFJRXNnQVNBYVNCc29BZ0FoRENBQlFRRnFJUW9NQVFzZ0ZDZ0NBQ0VNUVFBaENpQVVJQWRCQVdvaUFRMEJHZ3NnQ2lBYVRnUkFJQW9oQVNCTERBRUxJQlFnQ2lJQlFRTjBhZ3NoQmlBVUlBZEJBM1JxSWdjZ0J5Z0NCQ0FHS0FJQUlBeHFRUUYxYWpZQ0JDQUJJRFJJRFFBTEN5QTVJQmdnRVNCSklDc2dXa0VCUVFCQkFCQW1SUTBHQ3lBckloRWdKMGNOQUFzTElBaEJtQUZxSVFnZ1BrRUJkQ0lCSUQ5QkFYUkJBWElpQnlBQklBZExHeUlCSUNjZ0FTQW5TUnNoU0NCRElCVkJCWFFpQVdvZ095QXNRUVYwSWdkcUlCVWdMRWdpQmhzaFNpQUJJQjlxSUFjZ1FXb2dCaHNoU3lBQklDQnFJQWNnUkdvZ0Joc2hUQ0FCSURacUlBY2dOMm9nQmhzaFRTQWNJQkpCQVdzZ0VpQWNTaHNoRENBc1FRQktJZzhnRWtFQlNuSWhVaUFCSUJScUlpc2dSMEVFZEdvaFV5QXBJQkpCQTNRaUdrRUlheUkrUVFBZ0VrRUFUQnRCQW5RaUNtb2hWQ0FLSUNwcUlWVWdDaUFrYWlGV0lBb2dGR29oVnlBcFFRQWdMRUVEZENJS1FRaHJJajhnRHh0QkFuUWlEMm9oV0NBUElDcHFJVmtnRHlBa2FpRmFJQThnRkdvaFd5QVVRUVFnUjBFQ2RHdEJBblJxSUE1QkJYUnFJVndnR3lBc0lCc2dMRWdiSVE4Z0ZVRUJhaUVRSUJRZ0kwRUJkQ0lXSUQxQkFYUkJBWElpRXlBVElCWkxHeUpkUVFSMGFpRmVJQUVnS1dvaFBTQUJJQ3BxSVNNZ0FTQWthaUV2SUJwQkFXc2hPQ0FhUVFKcklVSWdHa0VEYXlFdUlCUWdFa0VGZEdvaFlTQWFRUVJySVRRZ0NrRUZheUZpSUFwQkJtc2hZeUFLUVFkcklXUWdFa1VnTEVFQlJuRWhaU0FwSUFkQkVHc2lBV29oSmlBQklDcHFJVG9nQVNBa2FpRThJQUVnRkdvaFJTQXBJRDVCQW5RaUFXb2hhQ0FCSUNwcUlXa2dBU0FrYWlGcUlBRWdGR29oYXlBN0lCVWdMQ0FHRzBFRmRDSUJhaUZzSUFFZ1FXb2hFeUFCSUVScUlSRWdBU0EzYWlGdElDa2dQMEVDZENJQmFpRnVJQUVnS21vaGJ5QUJJQ1JxSVhBZ0FTQVVhaUZ4QTBBQ1FBSkFBbjhDUUNBWUloWWdTVWtFUUNBNUlCWWdGVUVFSUVrZ0Ztc2lBU0FCUVFSUEd5QVdhaUlZSUJzZ1UwRUJRUWdRSGlBNUlCWWdVU0FZSUZBZ1hFRUJRUWdRSGlCSFJRUkFJRkpGRFFVZ0ZTQWJUZzBFQW44Z0ZVRUFTZ1JBSUcwb0FnQWhCeUFUSVFZZ0VTRUtJR3dNQVFzZ05pZ0NBQ0VISUJWQkFFZ05BeUFmSVFZZ0lDRUtJRU1MSVhrZ0t5QXJLQUlBSUFjZ1RTZ0NBR3BCQW1wQkFuVnJOZ0lBSUM4Z0x5Z0NBQ0FLS0FJQUlFd29BZ0JxUVFKcVFRSjFhellDQUNBaklDTW9BZ0FnQmlnQ0FDQkxLQUlBYWtFQ2FrRUNkV3MyQWdBZ1NpZ0NBQ0VISUhrb0FnQU1Bd3NnWlFSQUlCUWdGQ2dDQUVFQ2JUWUNBQ0FrSUNRb0FnQkJBbTAyQWdBZ0tpQXFLQUlBUVFKdE5nSUFJQ2tnS1NnQ0FFRUNiVFlDQUF3RkN5QWJJQlVpQjBvRVFBTkFJQWRCQTNRaEFRSi9Ba0FnQjBFQVNBUkFJQWRCZjBZTkFTQVVJQUZCQW5ScUlnRWdBU2dDRUNBVUtBSUFRUUYwUVFKcVFRSjFhellDRUNBQklBRW9BaFFnSkNnQ0FFRUJkRUVDYWtFQ2RXczJBaFFnQVNBQktBSVlJQ29vQWdCQkFYUkJBbXBCQW5Wck5nSVlJQ2tvQWdCQkFYUkJBbW9oQmlBQlFSeHFEQUlMSUN3Z0IwRUJhaUlHVEFSQUlCUWdBVUVDZEdvaUNpQUtLQUlRSUJRZ0FTQS9JQWNnTEVnaUJodEJBblJxS0FJQUlIRW9BZ0JxUVFKcVFRSjFhellDRUNBS0lBb29BaFFnRkNBQlFRRnlJR1FnQmh0QkFuUnFLQUlBSUhBb0FnQnFRUUpxUVFKMWF6WUNGQ0FLSUFvb0FoZ2dGQ0FCUVFKeUlHTWdCaHRCQW5ScUtBSUFJRzhvQWdCcVFRSnFRUUoxYXpZQ0dDQVVJQUZCQTNJZ1lpQUdHMEVDZEdvb0FnQWdiaWdDQUdwQkFtb2hCaUFLUVJ4cURBSUxJQlFnQVVFQ2RHb2lBU0FCS0FJUUlBRW9BZ0FnRkNBR1FRVjBhaUlHS0FJQWFrRUNha0VDZFdzMkFoQWdBU0FCS0FJVUlBRW9BZ1FnQmlnQ0JHcEJBbXBCQW5Wck5nSVVJQUVnQVNnQ0dDQUJLQUlJSUFZb0FnaHFRUUpxUVFKMWF6WUNHQ0FCS0FJTUlBWW9BZ3hxUVFKcUlRWWdBVUVjYWd3QkN5QTNJRGNvQWdBZ0ZDZ0NBQ0JiS0FJQWFrRUNha0VDZFdzMkFnQWdSQ0JFS0FJQUlDUW9BZ0FnV2lnQ0FHcEJBbXBCQW5Wck5nSUFJRUVnUVNnQ0FDQXFLQUlBSUZrb0FnQnFRUUpxUVFKMWF6WUNBQ0FwS0FJQUlGZ29BZ0JxUVFKcUlRWWdPd3NpQVNBQktBSUFJQVpCQW5Wck5nSUFJQWRCQVdvaUJ5QWJSdzBBQ3dzZ0hDQU9JZ2RNRFFRRFFDQUhRUU4wSVFFQ2Z5QUhRUUJJQkVBZ0ZDQUJRUUowYWlJQklBRW9BZ0FnTmlnQ0FFRUJkRUVCZFdvMkFnQWdBU0FCS0FJRUlCUW9BaFJCQVhSQkFYVnFOZ0lFSUFFZ0FTZ0NDQ0FVS0FJWVFRRjBRUUYxYWpZQ0NDQVVLQUljUVFGMElRb2dBVUVNYWd3QkN5QUhCRUFnRkNBQlFRSjBhaUlHSUFZb0FnQWdZU0FHSUFjZ0Vrb2lNaHRCRUdzb0FnQWdGQ0FCUVFSeUlEUWdCeUFTU0NJS0cwRUNkR29vQWdCcVFRRjFhallDQUNBR0lBWW9BZ1FnUkNBYUlBRWdNaHRCQW5RaU1tb29BZ0FnRkNBQlFRVnlJQzRnQ2h0QkFuUnFLQUlBYWtFQmRXbzJBZ1FnQmlBR0tBSUlJRElnUVdvb0FnQWdGQ0FCUVFaeUlFSWdDaHRCQW5ScUtBSUFha0VCZFdvMkFnZ2dNaUE3YWlnQ0FDQVVJQUZCQjNJZ09DQUtHMEVDZEdvb0FnQnFJUW9nQmtFTWFnd0JDeUFVSUJRb0FnQWdOaWdDQUNBVVFRUWdOQ0FISUJKSUlnRWJRUUowYWlnQ0FHcEJBWFZxTmdJQUlDUWdKQ2dDQUNBVUtBSVVJQlJCQlNBdUlBRWJRUUowYWlnQ0FHcEJBWFZxTmdJQUlDb2dLaWdDQUNBVUtBSVlJQlJCQmlCQ0lBRWJRUUowYWlnQ0FHcEJBWFZxTmdJQUlCUW9BaHdnRkVFSElEZ2dBUnRCQW5ScUtBSUFhaUVLSUNrTElnRWdBU2dDQUNBS1FRRjFhallDQUNBSFFRRnFJZ2NnSEVjTkFBc01CQXNnTFNFYUlDY2hFaUJHUVFGcUlrWWdIa2NOQlF3R0N5QXJJQ3NvQWdBZ0IwRUJkRUVDYWtFQ2RXczJBZ0FnTHlBdktBSUFJQ0FvQWdCQkFYUkJBbXBCQW5Wck5nSUFJQ01nSXlnQ0FDQWZLQUlBUVFGMFFRSnFRUUoxYXpZQ0FDQkRLQUlBSWdjTElRRWdQU0E5S0FJQUlBRWdCMnBCQW1wQkFuVnJOZ0lBSUJVaEJpQVFJZ0VpQnlBUFNBUkFBMEFnRkNBQlFRVjBhaUlISUFmOUFBSUFJRFlnQmtFRmRHcjlBQUlBSUFmOUFBSVEvYTRCL1F3Q0FBQUFBZ0FBQUFJQUFBQUNBQUFBL2E0QlFRTDlyQUg5c1FIOUN3SUFJQUVpQmtFQmFpSUJJQTlIRFFBTElBOGhCd3NnQnlBYlRnMEFBMEFnQjBFRGRDRUJJQWNnTEVnaEJnSkFJQWRCQUV3RVFDQTJLQUlBSVFvZ0IwRUFUZ1JBSUJRZ0FVRUNkQ0lCYWlJeUlESW9BZ0FnQ2lBQklEWnFJRVVnQmhzb0FnQnFRUUpxUVFKMWF6WUNBQ0FCSUNScUlnb2dDaWdDQUNBZ0tBSUFJQUVnSUdvZ1BDQUdHeWdDQUdwQkFtcEJBblZyTmdJQUlBRWdLbW9pQ2lBS0tBSUFJQjhvQWdBZ0FTQWZhaUE2SUFZYktBSUFha0VDYWtFQ2RXczJBZ0FnUXlnQ0FDQUJJRU5xSUNZZ0Joc29BZ0JxUVFKcUlRWWdBU0FwYWlFQkRBSUxJQlFnQVVFQ2RDSUJhaUlHSUFZb0FnQWdDa0VCZEVFQ2FrRUNkV3MyQWdBZ0FTQWthaUlHSUFZb0FnQWdGQ2dDRkVFQmRFRUNha0VDZFdzMkFnQWdBU0FxYWlJR0lBWW9BZ0FnRkNnQ0dFRUJkRUVDYWtFQ2RXczJBZ0FnQVNBcGFpRUJJQlFvQWh4QkFYUkJBbW9oQmd3QkN5QVVJQWNnTENBR0cwRURkRUVFYTBFQ2RDSUthaWdDQUNFeUlBWkZCRUFnRkNBQlFRSjBJZ0ZxSWdZZ0JpZ0NBQ0F5SUVVb0FnQnFRUUpxUVFKMWF6WUNBQ0FCSUNScUlnWWdCaWdDQUNBS0lDUnFLQUlBSUR3b0FnQnFRUUpxUVFKMWF6WUNBQ0FCSUNwcUlnWWdCaWdDQUNBS0lDcHFLQUlBSURvb0FnQnFRUUpxUVFKMWF6WUNBQ0FCSUNscUlRRWdDaUFwYWlnQ0FDQW1LQUlBYWtFQ2FpRUdEQUVMSUJRZ0FVRUNkQ0lCYWlJR0lBWW9BZ0FnTWlBR0tBSVFha0VDYWtFQ2RXczJBZ0FnQVNBa2FpSUdJQVlvQWdBZ0NpQWthaWdDQUNBR0tBSVFha0VDYWtFQ2RXczJBZ0FnQVNBcWFpSUdJQVlvQWdBZ0NpQXFhaWdDQUNBR0tBSVFha0VDYWtFQ2RXczJBZ0FnQ2lBcGFpZ0NBQ0FCSUNscUlnRW9BaEJxUVFKcUlRWUxJQUVnQVNnQ0FDQUdRUUoxYXpZQ0FDQUhRUUZxSWdjZ0cwY05BQXNMSUE0Z0hFNE5BQ0FNSUE0aUFTSUhTZ1JBQTBBZ0ZDQUJRUVYwYWlJSElBZjlBQUlnSUFmOUFBSUEvYTRCUVFIOXJBRWdCLzBBQWhEOXJnSDlDd0lRSUFGQkFXb2lBU0FNUncwQUN5QU1JUWNMSUFjZ0hFNE5BQU5BSUVNZ0IwRURkQ0lCUVFKMGFpSXlBbjhnQjBFQVNBUkFJQlFvQWdBaEJpQUhRWDlIQkVBZ05pQUJRUUowSWdGcUlnb2dDaWdDQUNBR2FqWUNBQ0FCSUNCcUlnWWdCaWdDQUNBa0tBSUFhallDQUNBQklCOXFJZ0VnQVNnQ0FDQXFLQUlBYWpZQ0FDQXBLQUlBREFJTElEWWdBVUVDZENJQmFpSUtJQW9vQWdBZ1Z5Z0NBQ0FHYWtFQmRXbzJBZ0FnQVNBZ2FpSUdJQVlvQWdBZ1ZpZ0NBQ0FrS0FJQWFrRUJkV28yQWdBZ0FTQWZhaUlCSUFFb0FnQWdWU2dDQUNBcUtBSUFha0VCZFdvMkFnQWdWQ2dDQUNBcEtBSUFha0VCZFF3QkN5QUJJRDRnQnlBU1NCc2hCaUFTSUFkQkFXb2laa3dFUUNBMklBRkJBblFpQ21vaUFTQUJLQUlBSUdzb0FnQWdGQ0FHUVFKMGFpSUJLQUlBYWtFQmRXbzJBZ0FnQ2lBZ2FpSUdJQVlvQWdBZ2FpZ0NBQ0FCS0FJRWFrRUJkV28yQWdBZ0NpQWZhaUlHSUFZb0FnQWdhU2dDQUNBQktBSUlha0VCZFdvMkFnQWdhQ2dDQUNBQktBSU1ha0VCZFF3QkN5QTJJQUZCQW5RaUNtb2lBU0FCS0FJQUlCUWdaa0VGZEdvaUFTZ0NBQ0FVSUFaQkFuUnFJZ1lvQWdCcVFRRjFhallDQUNBS0lDQnFJbVlnWmlnQ0FDQUJLQUlFSUFZb0FnUnFRUUYxYWpZQ0FDQUtJQjlxSWdvZ0NpZ0NBQ0FCS0FJSUlBWW9BZ2hxUVFGMWFqWUNBQ0FCS0FJTUlBWW9BZ3hxUVFGMUN5QXlLQUlBYWpZQ0FDQUhRUUZxSWdjZ0hFY05BQXNMSURrZ0ZpQmRJQmdnU0NCZVFRRkJCRUVBRUNZTkFBc0xEQUlMSUJRUUVFRUJJUWNMSURrZ05VRVFheWdDQUNJQklGOG9BZ0FpQm1zZ05VRU1heWdDQUNCZ0tBSUFJZ3BySURWQkNHc29BZ0FpQ0NBR2F5QTFRUVJyS0FJQUlBcHJJQWtvQWpSQkFTQUlJQUZyRUI0Z09SQWpEQU1MSURrUUl5QVVFQkJCQUNFSERBSUxJRGtRSTBFQUlRY01BUXRCQUNFSElBNFFJQ0FQRUJBTElDVkJJR29rQUNBSERRRU1CUXNnQVNFSVFRQWhEdjBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0dBQVNNQVFVQnFJaHdrQUFKQUFuOENRQ0FaS0FKQUJFQWdDU2dDSENJVklBa29BaGhCbUFGc2FpSUJRWmdCYXlnQ0FDRWFJQUZCa0FGcktBSUFJUnNnRlNnQ0JDRU1JQlVvQWd3aGVpQVZLQUlBSVJBZ0ZTZ0NDQ0VUUVFFaEJ5QVpLQUlzSWg4b0FnUWhLeUFJUVFGR0RRTkJBQ0VHSUFoQkFXc2lGaUVJSUJVaEFRSkFJQlpCQkU4RVFDQVdRUU54SVFnZ0FTQVdRWHh4SWdwQm1BRnNhaUVCUVFBaEJ3TkFJSUFCSUJVZ0IwR1lBV3hxSWdaQjZBUnFJQVpCMEFOcUlBWkJ1QUpxSUFiOUNRS2dBZjFXQWdBQi9WWUNBQUw5VmdJQUF5QUdRZUFFYWlBR1FjZ0RhaUFHUWJBQ2FpQUcvUWtDbUFIOVZnSUFBZjFXQWdBQy9WWUNBQVA5c1FIOXVRRWdCa0hzQkdvZ0JrSFVBMm9nQmtHOEFtb2dCdjBKQXFRQi9WWUNBQUg5VmdJQUF2MVdBZ0FESUFaQjVBUnFJQVpCekFOcUlBWkJ0QUpxSUFiOUNRS2NBZjFXQWdBQi9WWUNBQUw5VmdJQUEvMnhBZjI1QVNHQUFTQUhRUVJxSWdjZ0NrY05BQXNnZ0FFZ2dBRWdnQUg5RFFnSkNnc01EUTRQQUFFQ0F3QUJBZ1A5dVFFaWdBRWdnQUVnZ0FIOURRUUZCZ2NBQVFJREFBRUNBd0FCQWdQOXVRSDlHd0FoQmlBS0lCWkdEUUVMQTBBZ0JpQUJLQUtnQVNBQktBS1lBV3NpQnlBR0lBZExHeUlISUFFb0FxUUJJQUVvQXB3QmF5SUdJQVlnQjBrYklRWWdBVUdZQVdvaEFTQUlRUUZySWdnTkFBc0xRUUFoQnlBR1FmLy8vejlMRFFNZ0hDQUdRUVYwSWtZUUdDSUJOZ0lnSUFGRkRRTWdIQ0FCTmdJQUlCWkZCRUJCQVNFSElBRVFFQXdFQ3lCNklBeHJJUThnRXlBUWF5RU9RUUlnSzBFQmRpSUJJQUZCQWswYklVY2dDU2dDSkNJS0lCdEJIR3dpVFNBYVFSeHNJbDlyYWlFdklBb2dHMEVZYkNKZ0lCcEJHR3dpVW10cUlUMGdDaUFiUVJSc0lsTWdHa0VVYkNKVWEyb2hQaUFLSUJ0QkJIUWlWU0FhUVFSMElsWnJhaUUvSUFvZ0cwRU1iQ0pYSUJwQkRHd2lXR3RxSVRnZ0d5QWFheUlRUVFkc0lVa2dFRUVHYkNGRklCQkJCV3doTWlBUVFRTnNJVWdnRUVFQmRDRlFJQW9nRUVFRGRDSlJhaUZDSUFvZ0VFRUNkQ0pCYWlFVUlCQkJCWFFoV1NBUS9SRWhoQUVEUUNBY0lBODJBZ2dnSENBT0lnRTJBaWdnRlNnQ25BRWhKQ0FWS0FLa0FTRXBJQlVvQXFBQklSNGdGU2dDbUFFaElDQWNRUUEyQWpnZ0hDQUJOZ0kwSUJ4QkFEWUNNQ0FjSUNCQkFtOGlHRFlDTENBY0lCNGdJR3NpRGlBQmF5SVROZ0k4SUJ3Z0V6WUNKQUpBSUN0QkFrZ2lXa1VnS1NBa2F5SVBRUTlMY1VVRVFFRUFJUWNnQ2lFR0lBOUJDRWtOQVNBL0lBWWdVeUFlUVFKMElnRnFJRlFnSUVFQ2RDSUlhbXRxSWpwSklENGdCaUFCSUZWcUlBZ2dWbXByYWlKRFNYRWdQU0JEU1NBL0lBWWdBU0JnYWlBSUlGSnFhMm9pUEVseGNpQXZJRU5KSUQ4Z0JpQUJJRTFxSUFnZ1gycHJhaUpFU1hGeUlWc2dQU0JFU1NBdklEeEpjU0ZjSUQ0Z1JFa2dMeUE2U1hFaFhTQThJRDVMSURvZ1BVdHhJVjRnUWlBR0lBRWdWMm9nQ0NCWWFtdHFJa3BKSURnZ0JpQUJJRkZxSUFocmFpSkxTWEVoWVNBVUlFcEpJRGdnQmlBYklCNXFJQm9nSUdwclFRSjBhaUpNU1hFaFlpQVVJRXRKSUVJZ1RFbHhJV01nQmlBQklBaHJhaUVxSUE1QmZIRWhDQ0FjS0FJZ0loTWdEa0VGZEdvaUVVRVFheUVsSUJGQkZHc2hMQ0FSUVJocklTNGdFVUVjYXlFMklCRkJCR3NoT1NBUlFRaHJJVHNnRVVFTWF5RTBRUUFoR0NBVFFReHFJaU1nSGlBZ1FYOXphaUlNUVFWMElnRnFJQ05KSUF4Qi8vLy9QMHNpRENBVFFRUnFJaUVnQVdvZ0lVa2dBU0FUYWlBVFNYSnlJQk5CQ0dvaUlpQUJhaUFpU1hKeUlBNUJ5QUpKY2lGa0lCTkJGR29pS0NBQmFpQW9TU0FUUVJCcUlpY2dBV29nSjBseUlBeHlJQk5CR0dvaU1DQUJhaUF3U1hJZ0UwRWNhaUl0SUFGcUlDMUpjaUFPUWRRQVNYSWhaUU5BSUFjaERDQWNRU0JxSWdFZ0JpQVFRUWdRT3lBQkVDSUNRQ0FPUlEwQUlCZ2dXV3doQjBFQUlRRUNRQUpBSUdRTkFDQmhJQVlnTmtrZ0V5QUhJQ3BxSWpkSmNTQUdJQWNnU21vaUVra2dLaUE0UzNFZ0ZDQXFTU0FHSUFjZ1RHb2lKa2x4SUFZZ0J5QkxhaUkxU1NBcUlFSkxjWEp5Y2lBR0lDNUpJQ0VnTjBseGNpQUdJQ3hKSUNJZ04wbHhjaUFHSUNWSklDTWdOMGx4Y2lCamNpQmljaUFUSUNaSklBY2dGR29pTnlBMlNYRnlJQ0VnSmtrZ0xpQTNTM0Z5SUNJZ0pra2dMQ0EzUzNGeUlDTWdKa2tnSlNBM1MzRnljZzBBSUJNZ05Va2dCeUJDYWlJbUlEWkpjUTBBSUNFZ05Va2dKaUF1U1hFTkFDQWlJRFZKSUNZZ0xFbHhEUUFnSXlBMVNTQWxJQ1pMY1EwQUlBY2dPR29pSmlBMlNTQVNJQk5MY1EwQUlDWWdMa2tnRWlBaFMzRU5BQ0FtSUN4SklCSWdJa3R4RFFBZ0VpQWpTeUFsSUNaTGNRMEFBMEFnQmlBQlFRSjBhaUFUSUFGQkJYUnFJaEw5Q1FJQUlCSXFBaUQ5SUFFZ0VrRkFheW9DQVAwZ0FpQVNLZ0pnL1NBRC9Rc0NBQ0FHSUFFZ0VHcEJBblJxSUJMOUNRSUVJQklxQWlUOUlBRWdFaW9DUlAwZ0FpQVNLZ0prL1NBRC9Rc0NBQ0FHSUFFZ1VHcEJBblJxSUJMOUNRSUlJQklxQWlqOUlBRWdFaW9DU1AwZ0FpQVNLZ0pvL1NBRC9Rc0NBQ0FHSUFFZ1NHcEJBblJxSUJMOUNRSU1JQklxQWl6OUlBRWdFaW9DVFAwZ0FpQVNLZ0pzL1NBRC9Rc0NBQ0FCUVFScUlnRWdDRWNOQUFzZ0NDSUJJQTVHRFFFTEEwQWdCaUFCUVFKMGFpQVRJQUZCQlhScUloSXFBZ0E0QWdBZ0JpQUJJQkJxUVFKMGFpQVNLZ0lFT0FJQUlBWWdBU0JRYWtFQ2RHb2dFaW9DQ0RnQ0FDQUdJQUVnU0dwQkFuUnFJQklxQWd3NEFnQWdBVUVCYWlJQklBNUhEUUFMQzBFQUlRRUNRQ0JsRFFBZ1hDQUhJRDVxSWhJZ05Fa2dKeUFISURwcUlpWkpjU0JiSUFjZ1Ayb2lOU0EwU1NBbklBY2dRMm9pTjBseGNpQW9JRGRKSURVZ08wbHhjaUF3SURkSklEVWdPVWx4Y2lBdElEZEpJQkVnTlV0eGNpQmVjaUJkY25JZ0VpQTdTU0FtSUNoTGNYSWdFaUE1U1NBbUlEQkxjWElnSmlBdFN5QVJJQkpMY1hKeURRQWdCeUE5YWlJU0lEUkpJQ2NnQnlBOGFpSW1TWEVOQUNBU0lEdEpJQ1lnS0V0eERRQWdFaUE1U1NBbUlEQkxjUTBBSUNZZ0xVc2dFU0FTUzNFTkFDQUhJQzlxSWhJZ05Fa2dKeUFISUVScUlnZEpjUTBBSUJJZ08wa2dCeUFvUzNFTkFDQVNJRGxKSUFjZ01FdHhEUUFnQnlBdFN5QVJJQkpMY1EwQUEwQWdCaUFCSUVGcVFRSjBhaUFUSUFGQkJYUnFJZ2Y5Q1FJUUlBY3FBakQ5SUFFZ0J5b0NVUDBnQWlBSEtnSncvU0FEL1FzQ0FDQUdJQUVnTW1wQkFuUnFJQWY5Q1FJVUlBY3FBalQ5SUFFZ0J5b0NWUDBnQWlBSEtnSjAvU0FEL1FzQ0FDQUdJQUVnUldwQkFuUnFJQWY5Q1FJWUlBY3FBamo5SUFFZ0J5b0NXUDBnQWlBSEtnSjQvU0FEL1FzQ0FDQUdJQUVnU1dwQkFuUnFJQWY5Q1FJY0lBY3FBano5SUFFZ0J5b0NYUDBnQWlBSEtnSjgvU0FEL1FzQ0FDQUJRUVJxSWdFZ0NFY05BQXNnQ0NJQklBNUdEUUVMQTBBZ0JpQUJJRUZxUVFKMGFpQVRJQUZCQlhScUlnY3FBaEE0QWdBZ0JpQUJJREpxUVFKMGFpQUhLZ0lVT0FJQUlBWWdBU0JGYWtFQ2RHb2dCeW9DR0RnQ0FDQUdJQUVnU1dwQkFuUnFJQWNxQWh3NEFnQWdBVUVCYWlJQklBNUhEUUFMQ3lBWVFRRnFJUmdnREVFSWFpRUhJQVlnVVVFQ2RHb2hCaUFNUVE5cUlBOUpEUUFMREFFTElBOGdEMEVEZGlJSElDc2dCeUFyU1JzaUVtNUJlSEVoRVNBUFFYaHhJUWRCQUNFSUlBb2hCZ05BUVRBUUZDSU1SUTBFSUF3Z1JoQVlJaU0yQWdBZ0kwVUVRQ0FmRUNBZ0RCQVFRUUFNQmdzZ0RDQUdOZ0lvSUF3Z0VEWUNKQ0FNSUE0MkFpQWdEQ0FUTmdJY0lBeEJBRFlDR0NBTUlBRTJBaFFnREVFQU5nSVFJQXdnR0RZQ0RDQU1JQUUyQWdnZ0RDQVROZ0lFSUF3Z0J5QUlJQkZzYXlBUklBaEJBV29pQ0NBU1Joc2lJellDTENBZlFRd2dEQkF0SUFZZ0VDQWpiRUVDZEdvaEJpQUlJQkpIRFFBTElCOFFJQXNDUUNBSElBOVBEUUFnSEVFZ2FpSUJJQVlnRUNBUElBZHJJaGdRT3lBQkVDSWdEa1VOQUNBY0tBSWdJaU1nSGtFRmRFRUJJQmdnR0VFQlRSc2lFa0VDZEdvZ0lFRUZkR3RxUVNCcklSNGdFa0VEY1NFZ0lCSkJmSEVoRENCQklCSkJBV3RzSVNGQkFDRUlBMEFnSXlBSVFRVjBhaUVUUVFBaEJ3SkFBa0FnR0VFRVNRMEFJQjRnQmlBSVFRSjBJaEZxSWdFZ0JpQVJJQ0ZxYWlJUklBRWdFVWtiU3dSQUlDTWdBU0FSSUFFZ0VVc2JRUVJxU1EwQkN5QUkvUkVoZ1FIOURBQUFBQUFCQUFBQUFnQUFBQU1BQUFBaGdBRkJBQ0VCQTBBZ0JpQ0FBU0NFQWYyMUFTQ0JBZjJ1QVNLQ0FmMGJBRUVDZEdvZ0V5QUJRUUowYXYwQUFnQWlnd0g5SHdBNEFnQWdCaUNDQWYwYkFVRUNkR29nZ3dIOUh3RTRBZ0FnQmlDQ0FmMGJBa0VDZEdvZ2d3SDlId0k0QWdBZ0JpQ0NBZjBiQTBFQ2RHb2dnd0g5SHdNNEFnQWdnQUg5REFRQUFBQUVBQUFBQkFBQUFBUUFBQUQ5cmdFaGdBRWdBVUVFYWlJQklBeEhEUUFMSUF3aUJ5QVNSZzBCQzBFQUlSRWdCeUVCSUNBRVFBTkFJQVlnQVNBUWJDQUlha0VDZEdvZ0V5QUJRUUowYWlvQ0FEZ0NBQ0FCUVFGcUlRRWdFVUVCYWlJUklDQkhEUUFMQ3lBSElCSnJRWHhMRFFBRFFDQUdJQUVnRUd3Z0NHcEJBblJxSUJNZ0FVRUNkR29xQWdBNEFnQWdCaUFCUVFGcUlnY2dFR3dnQ0dwQkFuUnFJQk1nQjBFQ2RHb3FBZ0E0QWdBZ0JpQUJRUUpxSWdjZ0VHd2dDR3BCQW5ScUlCTWdCMEVDZEdvcUFnQTRBZ0FnQmlBQlFRTnFJZ2NnRUd3Z0NHcEJBblJxSUJNZ0IwRUNkR29xQWdBNEFnQWdHQ0FCUVFScUlnRkhEUUFMQ3lBSVFRRnFJZ2dnRGtjTkFBc0xJQndnRHlBY0tBSUlJZ3hySWhNMkFnUWdGU2dDbkFFaEFTQWNRUUEyQWhBZ0hDQU1OZ0lVSUJ4QkFEWUNHQ0FjSUJNMkFod2dIQ0FCUVFKdkloZzJBZ3dDUUNCYVJTQU9RUTlMY1VVRVFDQUtJUUVnRGtFSVNRMEJJQTlCZm5FaElTQVBRUUZ4SVNJZ0UwRitjU0VvSUJOQkFYRWhKeUFNUVg1eElUQWdERUVCY1NFdElDa2dKRUYvYzJvaEl5QWNLQUlBSWhJZ0dFRUZkQ0lIYWlFZ0lCSWdCMnRCSUdvaEhpQU1JQkJzUVFKMElTb2dEaUVJQTBCQkFDRUdRUUFoQndKQUFrQUNRQ0FNRGdJQ0FRQUxBMEFnSUNBR1FRWjBhaUlSSUFFZ0JpQVFiRUVDZEdvaUpmMEFBZ0Q5Q3dJQUlCRWdKZjBBQWhEOUN3SVFJQ0FnQmtFQmNpSVJRUVowYWlJbElBRWdFQ0FSYkVFQ2RHb2lFZjBBQWhEOUN3SVFJQ1VnRWYwQUFnRDlDd0lBSUFaQkFtb2hCaUFIUVFKcUlnY2dNRWNOQUFzTElDMUZEUUFnSUNBR1FRWjBhaUlISUFFZ0JpQVFiRUVDZEdvaUJ2MEFBZ0Q5Q3dJQUlBY2dCdjBBQWhEOUN3SVFDd0pBSUF3Z0QwWU5BQ0FCSUNwcUlRZEJBQ0VHUVFBaEVTQU1JQ05IQkVBRFFDQWVJQVpCQm5ScUlpVWdCeUFHSUJCc1FRSjBhaUlzL1FBQ0FQMExBZ0FnSlNBcy9RQUNFUDBMQWhBZ0hpQUdRUUZ5SWlWQkJuUnFJaXdnQnlBUUlDVnNRUUowYWlJbC9RQUNFUDBMQWhBZ0xDQWwvUUFDQVAwTEFnQWdCa0VDYWlFR0lCRkJBbW9pRVNBb1J3MEFDd3NnSjBVTkFDQWVJQVpCQm5ScUloRWdCeUFHSUJCc1FRSjBhaUlIL1FBQ0FQMExBZ0FnRVNBSC9RQUNFUDBMQWhBTElCd1FJZ0pBSUE5RkRRQkJBQ0VHUVFBaEJ5QWpCRUFEUUNBQklBWWdFR3hCQW5ScUloRWdFaUFHUVFWMGFpSWwvUUFDQVAwTEFnQWdFU0FsL1FBQ0VQMExBaEFnQVNBR1FRRnlJaEVnRUd4QkFuUnFJaVVnRWlBUlFRVjBhaUlSL1FBQ0VQMExBaEFnSlNBUi9RQUNBUDBMQWdBZ0JrRUNhaUVHSUFkQkFtb2lCeUFoUncwQUN3c2dJa1VOQUNBQklBWWdFR3hCQW5ScUlnY2dFaUFHUVFWMGFpSUcvUUFDQVAwTEFnQWdCeUFHL1FBQ0VQMExBaEFMSUFGQklHb2hBU0FJUVFocklnaEJCMHNOQUFzTUFRdEJBU0FPUVFOMklnRWdSeUFCSUVkSkd5SUlJQWhCQVUwYklSRWdEaUFJYmtGNGNTRVNJQTVCZUhFaElFRUFJUWNnQ2lFQkEwQkJNQkFVSWdaRkRRUWdCaUJHRUJnaUhqWUNBQ0FlUlFSQUlCOFFJQ0FHRUJCQkFBd0dDeUFHSUFFMkFpZ2dCaUFRTmdJa0lBWWdEellDSUNBR0lCTTJBaHdnQmtFQU5nSVlJQVlnRERZQ0ZDQUdRUUEyQWhBZ0JpQVlOZ0lNSUFZZ0REWUNDQ0FHSUJNMkFnUWdCaUFnSUFjZ0VteHJJQklnQjBFQmFpSUhJQWhHR3lJZU5nSXNJQjlCRFNBR0VDMGdBU0FlUVFKMGFpRUJJQWNnRVVjTkFBc2dIeEFnQ3dKQUlBNUJCM0VpRWtVTkFDQVlRUVYwSVNBZ0hDZ0NBQ0VJQWtBZ0RFVU5BQ0FJSUNCcUlSRWdFa0VDZENFWVFRQWhCaUFNUVFGSEJFQWdERUYrY1NFZVFRQWhCd05BSUJFZ0JrRUdkR29nQVNBR0lCQnNRUUowYWlBWUVCSWFJQkVnQmtFQmNpSWpRUVowYWlBQklCQWdJMnhCQW5ScUlCZ1FFaG9nQmtFQ2FpRUdJQWRCQW1vaUJ5QWVSdzBBQ3dzZ0RFRUJjVVVOQUNBUklBWkJCblJxSUFFZ0JpQVFiRUVDZEdvZ0dCQVNHZ3NDUUNBTUlBOUdEUUFnQ0NBZ2EwRWdhaUVISUFFZ0RDQVFiRUVDZEdvaEVTQVNRUUowSVJoQkFDRUdJQXdnS1NBa1FYOXpha2NFUUNBVFFYNXhJU0JCQUNFTUEwQWdCeUFHUVFaMGFpQVJJQVlnRUd4QkFuUnFJQmdRRWhvZ0J5QUdRUUZ5SWg1QkJuUnFJQkVnRUNBZWJFRUNkR29nR0JBU0dpQUdRUUpxSVFZZ0RFRUNhaUlNSUNCSERRQUxDeUFUUVFGeFJRMEFJQWNnQmtFR2RHb2dFU0FHSUJCc1FRSjBhaUFZRUJJYUN5QWNFQ0lnRDBVTkFDQVNRUUowSVFkQkFDRUdJQ1JCQVdvZ0tVY0VRQ0FQUVg1eElReEJBQ0VSQTBBZ0FTQUdJQkJzUVFKMGFpQUlJQVpCQlhScUlBY1FFaG9nQVNBR1FRRnlJaE1nRUd4QkFuUnFJQWdnRTBFRmRHb2dCeEFTR2lBR1FRSnFJUVlnRVVFQ2FpSVJJQXhIRFFBTEN5QVBRUUZ4UlEwQUlBRWdCaUFRYkVFQ2RHb2dDQ0FHUVFWMGFpQUhFQklhQ3lBVlFaZ0JhaUVWSUJaQkFXc2lGZzBBQzBFQkRBSUxRUUVoQnlBSktBSWNJZ3dnQ0VHWUFXeHFJaU5CbUFGcklpOG9BZ0FnSTBHUUFXc29BZ0JHRFFJZ0kwR1VBV3NpUFNnQ0FDQWpRWXdCYXlnQ0FFWU5BaUFNS0FJRUlROGdEQ2dDRENFV0lBd29BZ0FoRUNBTUtBSUlJUk1nQ1NnQ1JDRVNJQWtvQWtBaEVTQUpLQUk4SVJvZ0NTZ0NPQ0VmSUFrZ0NCQmNJaDVGQkVCQkFDRUhEQU1MSUFoQkFVWUVRQ0FlSUNOQkVHc29BZ0FpQVNBdktBSUFJZ1pySUNOQkRHc29BZ0FnUFNnQ0FDSUtheUFqUVFocktBSUFJZ2dnQm1zZ0kwRUVheWdDQUNBS2F5QUpLQUkwUVFFZ0NDQUJheEFlSUI0UUl3d0RDMEVBSVFZQ1FBSkFJQWhCQVdzaUNrRUVTUVJBSUFvaEJ5QU1JUUVNQVFzZ0NrRURjU0VISUF3Z0NrRjhjU0lWUVpnQmJHb2hBUU5BSUlBQklBd2dEa0dZQVd4cUlnWkI2QVJxSUFaQjBBTnFJQVpCdUFKcUlBYjlDUUtnQWYxV0FnQUIvVllDQUFMOVZnSUFBeUFHUWVBRWFpQUdRY2dEYWlBR1FiQUNhaUFHL1FrQ21BSDlWZ0lBQWYxV0FnQUMvVllDQUFQOXNRSDl1UUVnQmtIc0JHb2dCa0hVQTJvZ0JrRzhBbW9nQnYwSkFxUUIvVllDQUFIOVZnSUFBdjFXQWdBRElBWkI1QVJxSUFaQnpBTnFJQVpCdEFKcUlBYjlDUUtjQWYxV0FnQUIvVllDQUFMOVZnSUFBLzJ4QWYyNUFTR0FBU0FPUVFScUlnNGdGVWNOQUFzZ2dBRWdnQUVnZ0FIOURRZ0pDZ3NNRFE0UEFBRUNBd0FCQWdQOXVRRWlnQUVnZ0FFZ2dBSDlEUVFGQmdjQUFRSURBQUVDQXdBQkFnUDl1UUg5R3dBaEJpQUtJQlZHRFFFTEEwQWdCaUFCS0FLZ0FTQUJLQUtZQVdzaUNpQUdJQXBMR3lJR0lBRW9BcVFCSUFFb0Fwd0JheUlLSUFZZ0Nrc2JJUVlnQVVHWUFXb2hBU0FIUVFGcklnY05BQXNMQWtBZ0JrR0FnSURBQUU4TkFDQWNJQVpCQlhRUUdDSWhOZ0lnSUNGRkRRQWdIQ0FoTmdJQUFrQWdDQVJBSUJZZ0Qyc2hDaUFUSUJCcklRWWdJVUVnYWlFK0lBaXRJWWNCSUJLdElZb0JJQkd0SVlzQklCcXRJWWdCSUIrdElZd0JJQWtvQWhRaVFxMGhqUUZDQVNHR0FRTkFJQndnQ2pZQ0NDQWNJQVkyQWlnZ0RDZ0NwQUVoQnlBTUtBS2dBU0VJSUF3b0Fwd0JJUUVnSENBTUtBS1lBU0lWUVFKdklpSTJBaXdnSENBQlFRSnZJajgyQWd3Z0hDQUlJQlZySWlBZ0Jtc2lLRFlDSkNBY0lBY2dBV3NpRXlBS2F5STROZ0lFSUI4aUZpRUlJQm9pQVNFT0lCRWlCeUVZSUJJaUZTRVBBa0FnaGdFZ2pRRlJEUUFnUWlDR0FhZHJJUkJCQUNFT1FRQWhDQ0FXQkVCQ2Z5QVFyU0tKQVlaQ2Y0VWdqQUY4SUlrQmlLY2hDQXNnR2dSQVFuOGdFSzBpaVFHR1FuK0ZJSWdCZkNDSkFZaW5JUTRMUVFBaEZVRUFJUWNnRVFSQVFuOGdFSzBpaVFHR1FuK0ZJSXNCZkNDSkFZaW5JUWNMSUJJRVFFSi9JQkN0SW9rQmhrSi9oU0NLQVh3Z2lRR0lweUVWQzBFQUlSaEJBQ0VXUVFFZ0VFRUJhM1FpR3lBZlNRUkFJQjhnRzJ1dFFuOGdFSzBpaVFHR1FuK0ZmQ0NKQVlpbklSWUxJQkVnRzBzRVFDQVJJQnRyclVKL0lCQ3RJb2tCaGtKL2hYd2dpUUdJcHlFWUMwRUFJUTlCQUNFQklCb2dHMHNFUUNBYUlCdHJyVUovSUJDdElva0Joa0ovaFh3Z2lRR0lweUVCQ3lBU0lCdE5EUUFnRWlBYmE2MUNmeUFRclNLSkFZWkNmNFY4SUlrQmlLY2hEd3RCZnlBWUlBd29BclFCSWhCcklodEJBQ0FZSUJ0UEd5SVlRUVJxSWhzZ0dDQWJTeHNpR0NBb0lCZ2dLRWtiSWkxQmZ5QUhJQXdvQXRnQkloaHJJaHRCQUNBSElCdFBHeUlIUVFScUloc2dCeUFiU3hzaUJ5QUdJQVlnQjBzYklpc2dJaHRCQVhRaUJ5QXJJQzBnSWh0QkFYUkJBWElpR3lBSElCdExHeUlvSUNCSklSUWdGaUFRYXlJSFFRQWdCeUFXVFJzaUIwRUVheUlXUVFBZ0J5QVdUeHNpSnlBSUlCaHJJZ2RCQUNBSElBaE5HeUlIUVFScklnaEJBQ0FISUFoUEd5SXdJQ0liUVFGMEloZ2dNQ0FuSUNJYlFRRjBRUUZ5SWlSSklTa2dEaUFNS0FLNEFTSVdheUlIUVFBZ0J5QU9UUnNpQjBFRWF5SUlRUUFnQnlBSVR4c2lDQ0VRSUFFZ0RDZ0MzQUVpRG1zaUIwRUFJQUVnQjA4YklnRkJCR3NpQjBFQUlBRWdCMDhiSWdFaEIwRi9JQlVnRm1zaUZrRUFJQlVnRms4YkloVkJCR29pRmlBVklCWkxHeUlWSUFvZ0NpQVZTeHNpRmlFVlFYOGdEeUFPYXlJT1FRQWdEaUFQVFJzaURrRUVhaUlQSUE0Z0Qwc2JJZzRnT0NBT0lEaEpHeUliSVE4Z1B3UkFJQUVoRUNBV0lROGdHeUVWSUFnaEJ3c2dLQ0FnSUJRYklTZ2dHQ0FrSUNrYklSZ2dIQ0F0TmdJOElCd2dKellDT0NBY0lDczJBalFnSENBd05nSXdBa0FnRTBFSVNRUkFRUWNoQmtFQUlRNE1BUXNnUGlBaVFRVjBJZzVySUNkQkJuUnFJVGdnRGlBaGFpQXdRUVowYWlFVUlBWWdMV29oTFNBR0lDZHFJU2NnQ2lBYmFpRWtJQUVnQ21vaEtTQWhJQmhCQlhScUlTcEJBQ0VPQTBBQ1FBSkFJQTRnRmtrZ0RrRUhjaUlHSUFoUGNRMEFJQTRnSkVrZ0JpQXBUM0VOQUNBT1FRaHFJUTRNQVF0QkNDQVRJQTVySWdZZ0JrRUlUeHNoSlVFQUlRWURRQ0FlSURBZ0JpQU9haUlpSUNzZ0lrRUJhaUlzSUJRZ0JrRUNkQ0l1YWtFUVFRQVFIaUFlSUNjZ0lpQXRJQ3dnTGlBNGFrRVFRUUFRSGlBR1FRRnFJZ1lnSlVjTkFBc2dIRUVnYWhBaUlCNGdHQ0FPSUNnZ0RrRUlhaUlPSUNwQkNFRUJRUUFRSmtVTkJRc2dEa0VIY2lJR0lCTkpEUUFMQ3dKQUlBNGdFMDhOQUNBT0lCWkpJQVlnQ0U5eFJRUkFJQTRnQ2lBYmFrOE5BU0FHSUFFZ0NtcEpEUUVMSUJ4QklHb2hCa0VBSVNJZ0V5QU9heUl3QkVBRFFDQWVJQVlvQWhBaUxTQU9JQ0pxSWljZ0JpZ0NGQ0FuUVFGcUlpc2dJa0VDZENJNElBWW9BZ0FnQmlnQ0RFRUZkR29nTFVFR2RHcHFRUkJCQUJBZUlCNGdCaWdDR0NJdElBWW9BZ2dpRkdvZ0p5QUdLQUljSUJScUlDc2dCaWdDQUNBR0tBSU1RUVYwYXlBdFFRWjBhaUE0YWtFZ2FrRVFRUUFRSGlBaVFRRnFJaUlnTUVjTkFBc0xJQVlRSWlBZUlCZ2dEaUFvSUJNZ0lTQVlRUVYwYWtFSVFRRkJBQkFtUlEwREN5QWNJQnMyQWh3Z0hDQUJOZ0lZSUJ3Z0ZqWUNGQ0FjSUFnMkFoQWdHQ0FvU1FSQUlCVkJBWFFpQmlBUFFRRjBRUUZ5SWhVZ0JpQVZTeHNpQmlBVElBWWdFMGtiSVFZZ1BpQS9RUVYwSWhWcklBRkJCblJxSVE0Z0ZTQWhhaUFJUVFaMGFpRVZJQW9nRzJvaER5QUJJQXBxSVFvZ0lTQVFRUUYwSWdFZ0IwRUJkRUVCY2lJSElBRWdCMGtiSWdkQkJYUnFJUkFEUUNBZUlCZ2dDRUVJSUNnZ0dHc2lBU0FCUVFoUEd5QVlhaUlCSUJZZ0ZVRUJRUkFRSGlBZUlCZ2dDaUFCSUE4Z0RrRUJRUkFRSGlBY0VDSWdIaUFZSUFjZ0FTQUdJQkJCQVVFSVFRQVFKa1VOQkNBWVFRaHFJaGdnS0VrTkFBc0xJQXhCbUFGcUlRd2dJQ0VHSUJNaENpQ0dBVUlCZkNLR0FTQ0hBVklOQUFzTFFRRWhCeUFlSUNOQkVHc29BZ0FpQVNBdktBSUFJZ1pySUNOQkRHc29BZ0FnUFNnQ0FDSUtheUFqUVFocktBSUFJZ2dnQm1zZ0kwRUVheWdDQUNBS2F5QUpLQUkwUVFFZ0NDQUJheEFlSUI0UUl5QWhFQkFNQkFzZ0hoQWpJQ0VRRUVFQUlRY01Bd3NnSGhBalFRQWhCd3dDQ3lBZkVDQkJBQXNoQnlBY0tBSWdFQkFMSUJ4QlFHc2tBQ0FIRFFBTUJBc2dIVUc0Q0dvaEhTQU5RVFJxSVEwZ0NVSE1BR29oQ1NBTFFRRnFJZ3NnRnlnQ0VFa05BQXNnR1NnQ0lDRWRJQmtvQWhRb0FnQWhGd3NDUUNBZEtBSVFJZ2xGRFFBZ0dTZ0NSQTBBSUJjb0FoUWlEU2dDSENFQkFrQUNRQUpBSUJrb0FrQWlCZ1JBSUJjb0FoQWlDMEVEU1EwQ0FrQWdEU2dDR0NJSElBMG9BbVJHQkVBZ0J5QU5LQUt3QVVZTkFRc2dNMEVCUWRUS0FFRUFFQThNQndzQ1FDQVpLQUlZS0FJWUlnb29BaVFpQ0NBS0tBSllSdzBBSUFnZ0NpZ0NqQUZIRFFBZ0FTQUhRWmdCYkNJS2FpSUJRWXdCYXlnQ0FDQUJRWlFCYXlnQ0FHc2dBVUdRQVdzb0FnQWdBVUdZQVdzb0FnQnJiQ0lCSUEwb0FtZ2dDbW9pQjBHTUFXc29BZ0FnQjBHVUFXc29BZ0JySUFkQmtBRnJLQUlBSUFkQm1BRnJLQUlBYTJ4SERRQWdEU2dDdEFFZ0Ntb2lCMEdNQVdzb0FnQWdCMEdVQVdzb0FnQnJJQWRCa0FGcktBSUFJQWRCbUFGcktBSUFhMndnQVVZTkFnc2dNMEVCUWRUS0FFRUFFQThNQmdzZ0Z5Z0NFQ0lMUVFOSkRRRUNRQ0FaS0FJWUtBSVlJZ2NvQWlRaUNpQUhLQUpZUncwQUlBb2dCeWdDakFFaUNFY05BQ0FCSUFwQm1BRnNJZ2RxSWdFb0FwUUJJQUVvQW93QmF5QUJLQUtRQVNBQktBS0lBV3RzSWdFZ0J5QU5LQUpvYWlJSEtBS1VBU0FIS0FLTUFXc2dCeWdDa0FFZ0J5Z0NpQUZyYkVjTkFDQU5LQUswQVNBSVFaZ0JiR29pQnlnQ2xBRWdCeWdDakFGcklBY29BcEFCSUFjb0FvZ0JhMndnQVVZTkFRc2dNMEVCUWRUS0FFRUFFQThNQlFzZ0NVRUNSZ1JBSUIwb0F1Z3JSUTBESUF0QkFuUVFGQ0lMUlEwRklCY29BaEFpQ0VVTkFpQVpLQUpBQkVCQkFDRVhBa0FnQ0VFTVNRUkFRUUFoQmd3QkN5QU5RU1JxSVFvQ1FDQUxJQTBnQ0VITUFHeHFRU1JyVHcwQUlBb2dDeUFJUVFKMGFrOE5BRUVBSVFZTUFRc2dEVUdJQW1vaERDQU5RYndCYWlFVklBMUI4QUJxSVE0Z0RTQUlRWHh4SWdaQnpBQnNhaUVOUVFBaENRTkFJQXNnQ1VFQ2RHb2dEQ0FKUWN3QWJDSUhhaUFISUJWcUlBY2dEbW9nQnlBS2F2MEpBZ0Q5VmdJQUFmMVdBZ0FDL1ZZQ0FBUDlDd0lBSUFsQkJHb2lDU0FHUncwQUN5QUdJQWhHRFFRTEFrQWdDRUVEY1NJSFJRUkFJQVloQ1F3QkN5QUdJUWtEUUNBTElBbEJBblJxSUEwb0FpUTJBZ0FnQ1VFQmFpRUpJQTFCekFCcUlRMGdGMEVCYWlJWElBZEhEUUFMQ3lBR0lBaHJRWHhMRFFNZ0MwRU1haUVHSUF0QkNHb2hDaUFMUVFScUlRd0RRQ0FMSUFsQkFuUWlCMm9nRFNnQ0pEWUNBQ0FISUF4cUlBMG9BbkEyQWdBZ0J5QUthaUFOS0FLOEFUWUNBQ0FHSUFkcUlBMG9Bb2dDTmdJQUlBMUJzQUpxSVEwZ0NVRUVhaUlKSUFoSERRQUxEQU1MUVFBaEZ3SkFJQWhCREVrRVFFRUFJUVlNQVFzZ0RVRTBhaUVLQWtBZ0N5QU5JQWhCekFCc2FrRVVhMDhOQUNBS0lBc2dDRUVDZEdwUERRQkJBQ0VHREFFTElBMUJtQUpxSVF3Z0RVSE1BV29oRlNBTlFZQUJhaUVPSUEwZ0NFRjhjU0lHUWN3QWJHb2hEVUVBSVFrRFFDQUxJQWxCQW5ScUlBd2dDVUhNQUd3aUIyb2dCeUFWYWlBSElBNXFJQWNnQ21yOUNRSUEvVllDQUFIOVZnSUFBdjFXQWdBRC9Rc0NBQ0FKUVFScUlna2dCa2NOQUFzZ0JpQUlSZzBEQ3dKQUlBaEJBM0VpQjBVRVFDQUdJUWtNQVFzZ0JpRUpBMEFnQ3lBSlFRSjBhaUFOS0FJME5nSUFJQWxCQVdvaENTQU5RY3dBYWlFTklCZEJBV29pRnlBSFJ3MEFDd3NnQmlBSWEwRjhTdzBDSUF0QkRHb2hCaUFMUVFocUlRb2dDMEVFYWlFTUEwQWdDeUFKUVFKMElnZHFJQTBvQWpRMkFnQWdCeUFNYWlBTktBS0FBVFlDQUNBSElBcHFJQTBvQXN3Qk5nSUFJQVlnQjJvZ0RTZ0NtQUkyQWdBZ0RVR3dBbW9oRFNBSlFRUnFJZ2tnQ0VjTkFBc01BZ3NnSFNnQzBDc29BaFJCQVVZRVFDQUdCRUFnRFNnQ0pDQU5LQUp3SUEwb0Fyd0JJQUVRWHd3RUN5QU5LQUkwSUEwb0FvQUJJQTBvQXN3QklBRVFYd3dEQ3lBR0JFQWdEU2dDSkNBTktBSndJQTBvQXJ3QklBRVFYZ3dEQ3lBTktBSTBJQTBvQW9BQklBMG9Bc3dCSUFFUVhnd0NDeUJBSUFzMkFnQWdNMEVCUVpITEFDQkFFQThNQVFzZ0dTZ0NHQ2dDR0NnQ0lCb0NmeUFkS0FMb0t5RUhRUUFoRGtFQUlBaEJBM1FRRkNJTlJRMEFHZ0pBSUFGRkRRQWdDRVVOQUNBTklBaEJBblJxSVJNZ0NFRjhjU0VQSUFoQkEzRWhEQ0FJUVFGcklSQURRRUVBSVJkQkFDRUpJQkJCQTA4RVFBTkFJQTBnRjBFQ2RDSUdhaUFHSUF0cUtBSUFLZ0lBT0FJQUlBMGdCa0VFY2lJS2FpQUtJQXRxS0FJQUtnSUFPQUlBSUEwZ0JrRUljaUlLYWlBS0lBdHFLQUlBS2dJQU9BSUFJQTBnQmtFTWNpSUdhaUFHSUF0cUtBSUFLZ0lBT0FJQUlCZEJCR29oRnlBSlFRUnFJZ2tnRDBjTkFBc0xRUUFoQ2lBTUJFQURRQ0FOSUJkQkFuUWlCbW9nQmlBTGFpZ0NBQ29DQURnQ0FDQVhRUUZxSVJjZ0NrRUJhaUlLSUF4SERRQUxDMEVBSVFZZ0J5RVhBMEFnRXlBR1FRSjBJaEpxSWdsQkFEWUNBRU1BQUFBQUlZNEJRUUFoQ2tFQUlSWWdFRUVDU3dSQUEwQWdDU0FYS2dJQUlBMGdDa0VDZEdvaUZTb0NBSlFnamdHU0lvNEJPQUlBSUFrZ0Z5b0NCQ0FWS2dJRWxDQ09BWklpamdFNEFnQWdDU0FYS2dJSUlCVXFBZ2lVSUk0QmtpS09BVGdDQUNBSklCY3FBZ3dnRlNvQ0RKUWdqZ0dTSW80Qk9BSUFJQXBCQkdvaENpQVhRUkJxSVJjZ0ZrRUVhaUlXSUE5SERRQUxDMEVBSVJVZ0RBUkFBMEFnQ1NBWEtnSUFJQTBnQ2tFQ2RHb3FBZ0NVSUk0QmtpS09BVGdDQUNBS1FRRnFJUW9nRjBFRWFpRVhJQlZCQVdvaUZTQU1SdzBBQ3dzZ0N5QVNhaUlLSUFvb0FnQWlDa0VFYWpZQ0FDQUtJSTRCT0FJQUlBWkJBV29pQmlBSVJ3MEFDeUFPUVFGcUlnNGdBVWNOQUFzTElBMFFFRUVCQ3lGN0lBc1FFQ0I3UlEwQ0N5QVpLQUlVS0FJQUloWW9BaEJGQkVCQkFTRXhEQUlMSUJrb0FpQW9BdEFySWhkQnVBaHFJUk1nRjBHMENHb2hFaUFaS0FKRUlSQWdGaWdDRkNFSElCa29BaGdvQWhnaENrRUFJUWdEUUFKQUlCQUVRQ0FRSUFoQkFuUnFLQUlBUlEwQkN5QUhLQUljSWdFZ0NpZ0NKRUdZQVd4cUlRc0NmeUFaS0FKQVJRUkFJQXNvQXBRQklBc29Bb3dCYXlFR0lBc29BcEFCSUFzb0FvZ0JheUVCUVFBaERFRTBEQUVMSUFFZ0J5Z0NHRUdZQVd4cUlnWkJrQUZyS0FJQUlBc29BZ2dnQ3lnQ0FHc2lBU0FHUVpnQmF5Z0NBR3BySVF3Z0N5Z0NEQ0FMS0FJRWF5RUdRU1FMSVFrZ0NpZ0NHQ0VMQW44Z0NpZ0NJQVJBUVFFZ0MwRUJhM1FpQzBFQmF5RWRRUUFnQzJzTUFRdEJmeUFMZEVGL2N5RWRRUUFMSVE4Z0FVVU5BQ0FHUlEwQUlBY2dDV29vQWdBaENTQVhLQUlVUVFGR0JFQWdFeUFJUWJnSWJDSUxhaUVSSUFzZ0Vtb2hHQ0FCUVFGeElSb2dBVUVDZENFeklBRkJmSEVpRGtFQ2RDRWJJQjM5RVNHQ0FTQVAvUkVoZ0FGQkFDRVZJQUZCQkVraEh3TkFBa0FDUUFKQUlCOE5BQ0FKSUJGSklCZ2dDU0F6YWtseERRQWdDU0FiYWlFTklCZjlDUUswQ0NHREFVRUFJUXNEUUNBSklBdEJBblJxSWlBZ2dBRWdnd0VnSVAwQUFnRDlyZ0VpaEFFZ2dnSDl0Z0VnaEFFZ2dBSDlPZjFTL1FzQ0FDQUxRUVJxSWdzZ0RrY05BQXNnRGlJTElBRkdEUUlNQVFzZ0NTRU5RUUFoQ3dzZ0MwRUJjaUVKSUJvRVFDQU5JQThnRnlnQ3RBZ2dEU2dDQUdvaUN5QWRJQXNnSFVnYklBc2dEMGdiTmdJQUlBMUJCR29oRFNBSklRc0xJQUVnQ1VZTkFBTkFJQTBnRHlBWEtBSzBDQ0FOS0FJQWFpSUpJQjBnQ1NBZFNCc2dDU0FQU0JzMkFnQWdEU0FQSUJjb0FyUUlJQTBvQWdScUlna2dIU0FKSUIxSUd5QUpJQTlJR3pZQ0JDQU5RUWhxSVEwZ0MwRUNhaUlMSUFGSERRQUxDeUFOSUF4QkFuUnFJUWtnRlVFQmFpSVZJQVpIRFFBTERBRUxJQjJzSVlZQklBK3NJWWNCUVFBaEZRTkFRUUFoQ3dOQUlBa0NmeUFkSUFrcUFnQWlqZ0ZEQUFBQVQxNE5BQm9nRHlDT0FVTUFBQURQWFEwQUdpQ0hBU0FYTkFLMENBSi9JSTRCa0NLT0FZdERBQUFBVDEwRVFDQ09BYWdNQVF0QmdJQ0FnSGdMckh3aWlnRWdoZ0VnaGdFZ2lnRlZHeUNIQVNDS0FWVWJwd3MyQWdBZ0NVRUVhaUVKSUF0QkFXb2lDeUFCUncwQUN5QUpJQXhCQW5ScUlRa2dGVUVCYWlJVklBWkhEUUFMQ3lBSFFjd0FhaUVISUJkQnVBaHFJUmNnQ2tFMGFpRUtRUUVoTVNBSVFRRnFJZ2dnRmlnQ0VFa05BQXNNQVFzZ0JVRUJRWm9aUVFBUUR3c2dRRUVRYWlRQUlERkZCRUFnVHhBdUlBQWdBQ2dDQ0VHQWdBSnlOZ0lJSUFWQkFVSHcxQUJCQUJBUERBRUxBa0FnQWtVTkFBSi9JQUloQjBFQUlRWUNRQ0FBS0FMUUFTSVZRUUVRVkNJQlFYOUdEUUFnQVNBRFN3MEFRUUVnRlNnQ0dDSUJLQUlRUlEwQkdpQUJLQUlZSVFnZ0ZTZ0NGQ2dDQUNnQ0ZDRVhBMEFnQ0NnQ0dDSUJRUWR4SVFJZ0FVRURkaUVESUJjb0Fod2lCaUFJS0FJa1FaZ0JiR29oQVFKL0lCVW9Ba0FFUUNBR0lCY29BaGhCbUFGc2FpSUdRWkFCYXlnQ0FDQUJLQUlJSUFFb0FnQnJJZ3NnQmtHWUFXc29BZ0JxYXlFTUlBRW9BZ3dnQVNnQ0JHc2hDVUVrREFFTElBRW9BcFFCSUFFb0Fvd0JheUVKSUFFb0FwQUJJQUVvQW9nQmF5RUxRUUFoREVFMEN5QVhhaWdDQUNFQkFrQUNRQUpBQWtBQ1FFRUVJQU1nQWtFQVIyb2lBaUFDUVFOR0cwRUJhdzRFQVFJRUFBUUxJQWxGRFFNZ0N5QU1haUVHSUF0QkFuUWhBaUFKUVFSUEJFQWdDVUY4Y1NFS1FRQWhDd05BSUFjZ0FTQUNFQkloQnlBQklBWkJBblFpQTJvaURTQURhaUlNSUFOcUlnNGdBMm9oQVNBQ0lBZHFJQTBnQWhBU0lBSnFJQXdnQWhBU0lBSnFJQTRnQWhBU0lBSnFJUWNnQzBFRWFpSUxJQXBIRFFBTEMwRUFJUXNnQ1VFRGNTSURSUTBEQTBBZ0J5QUJJQUlRRWlFSElBRWdCa0VDZEdvaEFTQUNJQWRxSVFjZ0MwRUJhaUlMSUFOSERRQUxEQU1MSUFsRklBdEZjaUVDSUFnb0FpQkZEUUVnQWcwQ0lBdEJBblFoRGlBTFFYeHhJZ05CQW5RaEQwRUFJUTBEUUFKQUFrQUNRQ0FMUVFSSkRRQWdBU0FISUF0cVNTQUJJQTVxSUFkTGNRMEFJQU1nQjJvaGZDQUJJQTlxSVFaQkFDRUtBMEFnQnlBS2FpQUJJQXBCQW5ScS9RQUNBUDBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDBOQUFRSURBQUFBQUFBQUFBQUFBQUFBUDFhQUFBQUlBcEJCR29pQ2lBRFJ3MEFDeUI4SVFjZ0F5SUNJQXRHRFFJTUFRc2dBU0VHUVFBaEFndEJBQ0VLSUFzZ0FpSUJhMEVIY1NJV0JFQURRQ0FISUFZb0FnQTZBQUFnQVVFQmFpRUJJQWRCQVdvaEJ5QUdRUVJxSVFZZ0NrRUJhaUlLSUJaSERRQUxDeUFDSUF0clFYaExEUUFEUUNBSElBWW9BZ0E2QUFBZ0J5QUdLQUlFT2dBQklBY2dCaWdDQ0RvQUFpQUhJQVlvQWd3NkFBTWdCeUFHS0FJUU9nQUVJQWNnQmlnQ0ZEb0FCU0FISUFZb0FoZzZBQVlnQnlBR0tBSWNPZ0FISUFkQkNHb2hCeUFHUVNCcUlRWWdBVUVJYWlJQklBdEhEUUFMQ3lBR0lBeEJBblJxSVFFZ0RVRUJhaUlOSUFsSERRQUxEQUlMSUFsRklBdEZjaUVDSUFnb0FpQUVRQ0FDRFFJZ0MwRUNkQ0VPSUF0QkFYUWhEeUFMUVh4eElnTkJBblFoRmlBRFFRRjBJUkJCQUNFTkEwQUNRQUpBQWtBZ0MwRUVTUTBBSUFFZ0J5QVBha2tnQVNBT2FpQUhTM0VOQUNBQklCWnFJUVlnQnlBUWFpRjlRUUFoQ2dOQUlBY2dDa0VCZEdvZ0FTQUtRUUowYXYwQUFnRDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlEUUFCQkFVSUNRd05BQUVBQVFBQkFBSDlXd0VBQUNBS1FRUnFJZ29nQTBjTkFBc2dmU0VISUFNaUFpQUxSZzBDREFFTElBRWhCa0VBSVFJTFFRQWhDaUFMSUFJaUFXdEJCM0VpRXdSQUEwQWdCeUFHS0FJQU93RUFJQUZCQVdvaEFTQUhRUUpxSVFjZ0JrRUVhaUVHSUFwQkFXb2lDaUFUUncwQUN3c2dBaUFMYTBGNFN3MEFBMEFnQnlBR0tBSUFPd0VBSUFjZ0JpZ0NCRHNCQWlBSElBWW9BZ2c3QVFRZ0J5QUdLQUlNT3dFR0lBY2dCaWdDRURzQkNDQUhJQVlvQWhRN0FRb2dCeUFHS0FJWU93RU1JQWNnQmlnQ0hEc0JEaUFIUVJCcUlRY2dCa0VnYWlFR0lBRkJDR29pQVNBTFJ3MEFDd3NnQmlBTVFRSjBhaUVCSUExQkFXb2lEU0FKUncwQUN3d0NDeUFDRFFFZ0MwRUNkQ0VPSUF0QkFYUWhEeUFMUVh4eElnTkJBblFoRmlBRFFRRjBJUkJCQUNFTkEwQUNRQUpBQWtBZ0MwRUVTUTBBSUFFZ0J5QVBha2tnQVNBT2FpQUhTM0VOQUNBQklCWnFJUVlnQnlBUWFpRitRUUFoQ2dOQUlBY2dDa0VCZEdvZ0FTQUtRUUowYXYwQUFnRDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlEUUFCQkFVSUNRd05BQUVBQVFBQkFBSDlXd0VBQUNBS1FRUnFJZ29nQTBjTkFBc2dmaUVISUFNaUFpQUxSZzBDREFFTElBRWhCa0VBSVFJTFFRQWhDaUFMSUFJaUFXdEJCM0VpRXdSQUEwQWdCeUFHS0FJQU93RUFJQUZCQVdvaEFTQUhRUUpxSVFjZ0JrRUVhaUVHSUFwQkFXb2lDaUFUUncwQUN3c2dBaUFMYTBGNFN3MEFBMEFnQnlBR0tBSUFPd0VBSUFjZ0JpZ0NCRHNCQWlBSElBWW9BZ2c3QVFRZ0J5QUdLQUlNT3dFR0lBY2dCaWdDRURzQkNDQUhJQVlvQWhRN0FRb2dCeUFHS0FJWU93RU1JQWNnQmlnQ0hEc0JEaUFIUVJCcUlRY2dCa0VnYWlFR0lBRkJDR29pQVNBTFJ3MEFDd3NnQmlBTVFRSjBhaUVCSUExQkFXb2lEU0FKUncwQUN3d0JDeUFDRFFBZ0MwRUNkQ0VPSUF0QmZIRWlBMEVDZENFUFFRQWhEUU5BQWtBQ1FBSkFJQXRCQkVrTkFDQUJJQWNnQzJwSklBRWdEbW9nQjB0eERRQWdBeUFIYWlGL0lBRWdEMm9oQmtFQUlRb0RRQ0FISUFwcUlBRWdDa0VDZEdyOUFBSUEvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvUTBBQkFnTUFBQUFBQUFBQUFBQUFBQUEvVm9BQUFBZ0NrRUVhaUlLSUFOSERRQUxJSDhoQnlBRElnSWdDMFlOQWd3QkN5QUJJUVpCQUNFQ0MwRUFJUW9nQ3lBQ0lnRnJRUWR4SWhZRVFBTkFJQWNnQmlnQ0FEb0FBQ0FCUVFGcUlRRWdCMEVCYWlFSElBWkJCR29oQmlBS1FRRnFJZ29nRmtjTkFBc0xJQUlnQzJ0QmVFc05BQU5BSUFjZ0JpZ0NBRG9BQUNBSElBWW9BZ1E2QUFFZ0J5QUdLQUlJT2dBQ0lBY2dCaWdDRERvQUF5QUhJQVlvQWhBNkFBUWdCeUFHS0FJVU9nQUZJQWNnQmlnQ0dEb0FCaUFISUFZb0FodzZBQWNnQjBFSWFpRUhJQVpCSUdvaEJpQUJRUWhxSWdFZ0MwY05BQXNMSUFZZ0RFRUNkR29oQVNBTlFRRnFJZzBnQ1VjTkFBc0xJQmRCekFCcUlSY2dDRUUwYWlFSVFRRWhCaUJ5UVFGcUluSWdGU2dDR0NnQ0VFa05BQXNMSUFZTFJRMEJJRThvQXR3cklnRkZEUUFnQVJBUUlFOUNBRGNDM0NzTElBQWdBQzBBUkVIK0FYRTZBRVFnQUNBQUtBSUlRZjkrY1RZQ0NFRUJJV2NnQkNrRENDS0dBVkFFZmtJQUJTQ0dBU0FFS1FNNGZRdFFJQUFvQWdnaUFVSEFBRVp4RFFBZ0FVR0FBa1lOQUNBRUlFNUJDbXBCQWlBRkVCcEJBa2NFUUNBRlFRRkJBaUFBS0FLNEFSdEJsaEpCQUJBUElBQW9BcmdCUlNGbkRBRUxJRTVCQ21vZ1RrRU1ha0VDRUJFZ1RpZ0NEQ0lCUVpEL0EwWU5BQ0FCUWRuL0EwWUVRQ0FBUVlBQ05nSUlJQUJCQURZQ3pBRU1BUXNnQkNrRENDS0dBVkFFZmtJQUJTQ0dBU0FFS1FNNGZRdFFCRUFnQUVIQUFEWUNDQ0FGUVFKQnJEOUJBQkFQREFFTFFRQWhaeUFGUVFGQjdENUJBQkFQQ3lCT1FSQnFKQUFnWndzTEFDQUFCRUFnQUJBUUN3dTBBUUVCZnlBQUtBSU1SUVJBSUFJZ0FDZ0NKQ0FCRVFNQUR3c0NRRUVJRUJRaUEwVU5BQ0FESUFJMkFnUWdBeUFCTmdJQVFRZ1FGQ0lCUlFSQUlBTVFFQThMSUFFZ0F6WUNBQ0FBSUFBb0FnUkI1QUJzSWdJMkFpZ0RRQ0FBS0FJWUlBSktEUUFMSUFFZ0FDZ0NGRFlDQkNBQUlBRTJBaFFnQUNBQUtBSVlRUUZxTmdJWUlBQW9BaHdpQVVVTkFDQUJLQUlBUVFBMkFnZ2dBQ0FCS0FJRU5nSWNJQUFnQUNnQ0lFRUJhellDSUNBQkVCQUxDL29DQVFSL0FrQWdBRVVOQUNBQUtBS3NLQ0lCQkVBZ0FDZ0NxQ2dpQWdSQVFRQWhBUU5BSUFBb0Fxd29JQUZCQTNScUtBSUFJZ01FUUNBREVCQWdBQ2dDcUNnaEFnc2dBVUVCYWlJQklBSkpEUUFMSUFBb0Fxd29JUUVMSUFCQkFEWUNxQ2dnQVJBUUlBQkJBRFlDckNnTElBQW9BclFvSWdFRVFDQUJFQkFnQUVFQU5nSzBLQXNnQUNnQzBDc2lBUVJBSUFFUUVDQUFRUUEyQXRBckN5QUFLQUxzS3lJQkJFQWdBUkFRSUFCQkFEWUM3Q3NMSUFBb0F1Z3JJZ0VFUUNBQkVCQWdBRUVBTmdMb0t3c2dBQ2dDL0NzaUFRUkFJQUVRRUNBQVFRQTJBb1FzSUFCQ0FEY0MvQ3NMSUFBb0F2QXJJZ0VFUUNBQUtBTDBLeUlEQkg5QkFDRUNBMEFnQVNnQ0RDSUVCRUFnQkJBUUlBRkJBRFlDRENBQUtBTDBLeUVEQ3lBQlFSUnFJUUVnQWtFQmFpSUNJQU5KRFFBTElBQW9BdkFyQlNBQkN4QVFJQUJCQURZQzhDc0xJQUFvQXVRcklnRUVRQ0FCRUJBZ0FFRUFOZ0xrS3dzZ0FDZ0MzQ3NpQVVVTkFDQUJFQkFnQUVJQU53TGNLd3NMeUFjQ0VYOEJmaUFBS0FJUUlnaEJJRThFUUNBQUtRTUlwdzhMQWtBZ0FDZ0NGQ0lEUVFST0JFQWdBQ2dDQUNJQ1FRTnJLQUlBSVFFZ0FDQURRUVJySWdNMkFoUWdBQ0FDUVFSck5nSUFEQUVMSUFOQkFFd0VRQXdCQ3lBRFFRRnhJUTBnQUNnQ0FDRUNBa0FnQTBFQlJnUkFRUmdoQkF3QkN5QURRZjcvLy84SGNTRUpRUmdoQkFOQUlBQWdBa0VCYXlJR05nSUFJQUl0QUFBaERDQUFJQUpCQW1zaUFqWUNBQ0FBSUFOQkFXczJBaFFnQmkwQUFDRUdJQUFnQTBFQ2F5SUROZ0lVSUF3Z0JIUWdBWElnQmlBRVFRaHJkSEloQVNBRVFSQnJJUVFnQlVFQ2FpSUZJQWxIRFFBTEN5QU5CRUFnQUNBQ1FRRnJOZ0lBSUFJdEFBQWhEaUFBSUFOQkFXczJBaFFnRGlBRWRDQUJjaUVCQzBFQUlRTUxJQUFvQWhnaEFpQUFJQUZCL3dGeElnbEJqd0ZMTmdJWUlBQkJCMEVJSUFGQmdJQ0ErQWR4UVlDQWdQZ0hSaHRCQ0NBQ0d5SUNRUWhCQjBFSUlBRkJnSUQ4QTNGQmdJRDhBMFliSUFGQi8vLy8vM2hORzJvaUJFRUlRUWRCQ0NBQlFZRCtBWEZCZ1A0QlJoc2dBVUVRZGtIL0FYRWlCVUdQQVUwYmFpSUdRUWhCQjBFSUlBRkIvd0J4UWY4QVJoc2dBVUVJZGtIL0FYRWlCMEdQQVUwYklBaHFhaUlLTmdJUUlBQWdBQ2tEQ0NBRklBSjBJQUZCR0haeUlBY2dCSFJ5SUFrZ0JuUnlyU0FJcllhRUloSTNBd2dnQ2tFZlRRUkFBa0FnQTBFRVRnUkFJQUFvQWdBaUFrRURheWdDQUNFQklBQWdBMEVFYXpZQ0ZDQUFJQUpCQkdzMkFnQU1BUXNnQTBFQVRBUkFRUUFoQVF3QkN5QURRUUZ4SVJBZ0FDZ0NBQ0VDQWtBZ0EwRUJSZ1JBUVJnaEJFRUFJUUVNQVFzZ0EwSCsvLy8vQjNFaEJrRVlJUVJCQUNFQlFRQWhCUU5BSUFBZ0FrRUJheUlITmdJQUlBSXRBQUFoRHlBQUlBSkJBbXNpQWpZQ0FDQUFJQU5CQVdzMkFoUWdCeTBBQUNFSElBQWdBMEVDYXlJRE5nSVVJQThnQkhRZ0FYSWdCeUFFUVFocmRISWhBU0FFUVJCcklRUWdCVUVDYWlJRklBWkhEUUFMQ3lBUVJRMEFJQUFnQWtFQmF6WUNBQ0FDTFFBQUlSRWdBQ0FEUVFGck5nSVVJQkVnQkhRZ0FYSWhBUXNnQUNBQlFmOEJjU0lDUVk4QlN6WUNHQ0FBUVFoQkIwRUlJQUZCZ0lDQStBZHhRWUNBZ1BnSFJoc2dDVUdQQVUwYklnTkJDRUVIUVFnZ0FVR0FnUHdEY1VHQWdQd0RSaHNnQVVILy8vLy9lRTBiYWlJRVFRaEJCMEVJSUFGQmdQNEJjVUdBL2dGR0d5QUJRUkIyUWY4QmNTSUZRWThCVFJ0cUlnaEJDRUVIUVFnZ0FVSC9BSEZCL3dCR0d5QUJRUWgyUWY4QmNTSUpRWThCVFJzZ0NtcHFOZ0lRSUFBZ0JTQURkQ0FCUVJoMmNpQUpJQVIwY2lBQ0lBaDBjcTBnQ3EyR0lCS0VJaEkzQXdnTElCS25DOGtVQWgxL0Juc2dBQ2dDQ0NJS0lBQW9BZ1JxSVFnQ1FDQUFLQUlNUlFSQUlBaEJBa2dOQVNBRFFRQk1EUUVnQUNnQ0FDSUZJQWhCQkdzaUJrRUJkaUlNUVFKMElna2dBU0FLUVFKMGFpSUhJQU5CQW5RaUJHcHFRUVJxU1NBRklBeEJBM1JxUVFocUlnQWdCMEVFYWt0eElBVWdBU0FFYWlBSmFrRUVha2tnQVVFRWFpQUFTWEZ5SVJJZ0NFRUVTU0lVSUFKQkFVZHlJUlVnQWtFQlJpQUdRUVZMY1NFV0lBaEIvUC8vL3dkeElSTWdDRUVCY1NFWElBcEJBV29oRHlBSVFRTnhJUkVnQVNBRmF5RVlJQVVnQ0VFQ2RHb2hHU0FGSUFoQkFXc2lBRUVDZEdvaEdpQU1RUUZxSWh0QmZIRWlFRUVCZENFTElBSWdDbXhCQW5RaEhDQUFRUUYySUFKc1FRSjBJUjBEUUNBQktBSUFJQUVnSEdvb0FnQWlDVUVCYWtFQmRXc2hCd0pBSUJRRVFDQUpJUVJCQUNFR0RBRUxRUUFoQmdKQUFuOUJBQ0FXUlEwQUdrRUFJQklOQUJvZ0NmMFJJU0lnQi8wUklTSDlEQUFBQUFBQ0FBQUFCQUFBQUFZQUFBQWhKVUVBSVFBRFFDQUJJQUJCQW5ScS9RQUNCQ0VrSUFFZ0FDQVBha0VDZEdyOUFBSUFJU01nQlNBQVFRTjBhaUlFSUNIOVdnSUFBeUFFUVFocUlDUWdJeUFpSUNQOURRd05EZzhRRVJJVEZCVVdGeGdaR2hzaUpQMnVBZjBNQWdBQUFBSUFBQUFDQUFBQUFnQUFBUDJ1QVVFQy9hd0IvYkVCSWlMOVdnSUFBQ0FFUVJCcUlDTDlXZ0lBQVNBRVFSaHFJQ0w5V2dJQUFpQUZJQ1g5REFFQUFBQUJBQUFBQVFBQUFBRUFBQUQ5VUNJbS9Sc0FRUUowYWlBaUlDRWdJdjBOREEwT0R4QVJFaE1VRlJZWEdCa2FHLzJ1QVVFQi9hd0JJQ1Q5cmdFaUlmMWFBZ0FBSUFVZ0p2MGJBVUVDZEdvZ0lmMWFBZ0FCSUFVZ0p2MGJBa0VDZEdvZ0lmMWFBZ0FDSUFVZ0p2MGJBMEVDZEdvZ0lmMWFBZ0FESUNYOURBZ0FBQUFJQUFBQUNBQUFBQWdBQUFEOXJnRWhKU0FpSVNFZ0l5RWlJQUJCQkdvaUFDQVFSdzBBQ3lBaS9Sc0RJUVFnSWYwYkF5RUhJQkFnRzBZTkFTQUxJUVlnQkNFSklCQUxJUUFEUUNBQklBQkJBV29pQ2lBQ2JFRUNkR29vQWdBaEhpQUJJQUFnRDJvZ0FteEJBblJxS0FJQUlRUWdCU0FHUVFKMGFpSU9JQWMyQWdBZ0RpQUhJQjRnQkNBSmFrRUNha0VDZFdzaUIycEJBWFVnQ1dvMkFnUWdCa0VDYWlFR0lBQWdERWNoSHlBRUlRa2dDaUVBSUI4TkFBc01BUXNnQ3lFR0N5QUZJQVpCQW5ScUlBYzJBZ0JCZkNFQUlCY0VmeUFhSUFFZ0hXb29BZ0FnQkVFQmFrRUJkV3NpQURZQ0FDQUFJQWRxUVFGMUlRZEJlQVZCZkFzZ0dXb2dCQ0FIYWpZQ0FFRUFJUVpCQUNFQVFRQWhCQUpBSUJVZ0dDQU5RUUowYWtFUVNYSkZCRUFEUUNBQklBQkJBblFpQkdvZ0JDQUZhdjBBQWdEOUN3SUFJQUJCQkdvaUFDQVRSdzBBQ3lBVElnUWdDRVlOQVFzZ0JDRUFJQkVFUUFOQUlBRWdBQ0FDYkVFQ2RHb2dCU0FBUVFKMGFpZ0NBRFlDQUNBQVFRRnFJUUFnQmtFQmFpSUdJQkZIRFFBTEN5QUVJQWhyUVh4TERRQURRQ0FCSUFBZ0FteEJBblJxSUFVZ0FFRUNkR29vQWdBMkFnQWdBU0FBUVFGcUlnUWdBbXhCQW5ScUlBVWdCRUVDZEdvb0FnQTJBZ0FnQVNBQVFRSnFJZ1FnQW14QkFuUnFJQVVnQkVFQ2RHb29BZ0EyQWdBZ0FTQUFRUU5xSWdRZ0FteEJBblJxSUFVZ0JFRUNkR29vQWdBMkFnQWdBRUVFYWlJQUlBaEhEUUFMQ3lBQlFRUnFJUUVnRFVFQmFpSU5JQU5IRFFBTERBRUxBa0FDUUFKQUlBaEJBV3NPQWdBQkFnc2dBMEVBVEEwQ1FRQWhBZ0pBSUFOQkJFa0VRQ0FCSVFBTUFRc2dBU0FEUWZ6Ly8vOEhjU0lDUVFKMGFpRUFBMEFnQVNBR1FRSjBhaUlFSUFUOUFBSUFJaUg5R3dCQkFtMzlFU0FoL1JzQlFRSnQvUndCSUNIOUd3SkJBbTM5SEFJZ0lmMGJBMEVDYmYwY0EvMExBZ0FnQmtFRWFpSUdJQUpIRFFBTElBSWdBMFlOQXdzRFFDQUFJQUFvQWdCQkFtMDJBZ0FnQUVFRWFpRUFJQUpCQVdvaUFpQURSdzBBQ3d3Q0N5QURRUUJNRFFFZ0FDZ0NBQ0VKSUFJZ0NteEJBblFoQndOQUlBa2dBU2dDQUNBQklBZHFJZ1FvQWdCQkFXcEJBWFZySWdBMkFnUWdDU0FBSUFRb0FnQnFJZ0EyQWdBZ0FTQUFOZ0lBSUFFZ0FrRUNkR29nQ1NnQ0JEWUNBQ0FCUVFScUlRRWdCa0VCYWlJR0lBTkhEUUFMREFFTElBaEJBMGdOQUNBRFFRQk1EUUFnQUNnQ0FDSUZJQWdnQ0VFQmNTSVVSU0lHYTBFRWF5SUpRUUYySWd0QkFuUWlCeUFCSUFOQkFuUWlBR3BxU1NBRklBdEJBM1JxUVF4cUlnUWdBVUVFYWt0eElBVkJCR29nQUNBQklBcEJBblJxSWdCcUlBZHFRUWhxU1NBQVFRaHFJQVJKY1hJaEZTQUNRUUZISUFoQkJFbHlJUllnQWtFQlJpQUpRUVZMY1NFWElBaEIvUC8vL3dkeElSQWdDRUVEY1NFUklBRWdCV3NoR0NBRklBaEJBblJxUVFScklSa2dCU0FJUVFKcklnQkJBblJxSVJvZ0MwRUJhaUlTUVh4eElneEJBWEloRXlBTVFRRjBRUUZ5SVFzZ0FpQUtiRUVDZENFYklBQWdCbXRCQWtraEhDQUlRUUYyUVFGcklBSnNRUUowSVIwRFFDQUZJQUVvQWdBZ0FTQWJhaUlQSUFKQkFuUnFLQUlBSWdrZ0R5Z0NBQ0lBYWtFQ2FrRUNkV3NpQnlBQWFqWUNBRUVCSVFRQ1FDQWNCRUFnQ1NFR0RBRUxBa0FDZjBFQklCZEZEUUFhUVFFZ0ZRMEFHaUFKL1JFaElTQUgvUkVoSWtFQUlRQURRQ0FGSUFCQkEzUnFJZ2NnQVNBQVFRSjBJZ1JxL1FBQ0JDQWhJQVFnRDJyOUFBSUlJaUg5RFF3TkRnOFFFUklURkJVV0Z4Z1pHaHNpSkNBaC9hNEIvUXdDQUFBQUFnQUFBQUlBQUFBQ0FBQUEvYTRCUVFMOXJBSDlzUUVpSXlBaklDSWdJLzBOREEwT0R4QVJFaE1VRlJZWEdCa2FHLzJ1QVVFQi9hd0JJQ1Q5cmdFaUpQME5CQVVHQnhnWkdoc0lDUW9MSEIwZUgvMExBaFFnQnlBaUlDVDlEUXdORGc4UUVSSVRBQUVDQXhRVkZoY2dJLzBOQUFFQ0F3UUZCZ2NRRVJJVERBME9ELzBMQWdRZ0l5RWlJQUJCQkdvaUFDQU1SdzBBQ3lBaC9Sc0RJUVlnSXYwYkF5RUhJQXdnRWtZTkFTQUxJUVFnQmlFSklCTUxJUUFEUUNBQklBQWdBbXhCQW5ScUtBSUFJUjRnRHlBQVFRRnFJZ29nQW14QkFuUnFLQUlBSVFZZ0JTQUVRUUowYWlJT0lBYzJBZ0FnRGlBSElCNGdCaUFKYWtFQ2FrRUNkV3NpQjJwQkFYVWdDV28yQWdRZ0JFRUNhaUVFSUFBZ0VrY2hJQ0FLSVFBZ0JpRUpJQ0FOQUFzTUFRc2dDeUVFQ3lBWUlBMUJBblJxSVFrZ0JTQUVRUUowYWlBSE5nSUFBa0FnRkVVRVFDQWFJQUVnSFdvb0FnQWdCa0VCYWtFQmRXc2lBQ0FIYWtFQmRTQUdhallDQUF3QkN5QUdJQWRxSVFBTElCa2dBRFlDQUVFQUlRWkJBQ0VBUVFBaEJBSkFJQllnQ1VFUVNYSkZCRUFEUUNBQklBQkJBblFpQkdvZ0JDQUZhdjBBQWdEOUN3SUFJQUJCQkdvaUFDQVFSdzBBQ3lBUUlnUWdDRVlOQVFzZ0JDRUFJQkVFUUFOQUlBRWdBQ0FDYkVFQ2RHb2dCU0FBUVFKMGFpZ0NBRFlDQUNBQVFRRnFJUUFnQmtFQmFpSUdJQkZIRFFBTEN5QUVJQWhyUVh4TERRQURRQ0FCSUFBZ0FteEJBblJxSUFVZ0FFRUNkR29vQWdBMkFnQWdBU0FBUVFGcUlnUWdBbXhCQW5ScUlBVWdCRUVDZEdvb0FnQTJBZ0FnQVNBQVFRSnFJZ1FnQW14QkFuUnFJQVVnQkVFQ2RHb29BZ0EyQWdBZ0FTQUFRUU5xSWdRZ0FteEJBblJxSUFVZ0JFRUNkR29vQWdBMkFnQWdBRUVFYWlJQUlBaEhEUUFMQ3lBQlFRUnFJUUVnRFVFQmFpSU5JQU5IRFFBTEN3czNBUUovSXdCQkVHc2lBU1FBSUFBRWZ5QUJRUXhxUVNBZ0FCQnNJUUJCQUNBQktBSU1JQUFiQlVFQUN5RUNJQUZCRUdva0FDQUNDeHNCQVg4Z0FBUkFJQUFvQWdnaUFRUkFJQUVRRUFzZ0FCQVFDd3N4QVFKL1FRRkJEQkFUSWdBRVFDQUFRUW8yQWdRZ0FFRUtRUVFRRXlJQk5nSUlJQUVFUUNBQUR3c2dBQkFRQzBFQUN5OEJBWDhnQUFSQUlBQW9BZ1FpQVFSQUlBQW9BZ0FnQVJFQ0FBc2dBQ2dDSUJBUUlBQkJBRFlDSUNBQUVCQUxDeW9BSUFBRVFDQUFLQUl3SUFCQkZFRVFJQUFvQWt3YmFpZ0NBQkVDQUNBQVFRQTJBakFnQUJBUUN3dFRBUUovSUFCQkFEWUNNQ0FBSUFBb0FpQTJBaVFnQVNBQUtBSUFJQUFvQWh3UkNnQWhCQ0FBS0FKRUlRSWdCRVVFUUNBQUlBSkJCSEkyQWtSQkFBOExJQUFnQVRjRE9DQUFJQUpCZTNFMkFrUkJBUXVHQXdJRmZ3cCtJd0JCSUdzaUF5UUFBa0FnQUNnQ0VDSUZSUVJBUVFFaEFnd0JDd0pBSUFBMEFnQWlCMElBVXcwQUlBQTBBZ1FpQ0VJQVV3MEFJQUEwQWdnaUNVSUFVdzBBSUFBMEFnd2lDa0lBVXcwQUlBQW9BaGdoQUNBSFFnRjlJUXdnQ0VJQmZTRU5JQWxDQVgwaENTQUtRZ0Y5SVFvRFFDQUFJQXdnQUNnQ0FDSUNyU0lIZkNBSGdDSUxQZ0lRSUFBZ0RTQUFLQUlFSWdhdElnZDhJQWVBSWc0K0FoUkNBU0FBTlFJb0lnZUdJZzlDQVgwaUNDQUpJQUtzSWhCOElCQi94SHdnQjRlbklBZ2dDOFI4SUFlSHAyc2lBa0VBU0FSQUlBTWdBallDQkNBRElBUTJBZ0FnQVVFQlFkUGtBQ0FERUE5QkFDRUNEQU1MSUFBZ0FqWUNDQ0FJSUFvZ0Jxd2lDM3dnQzMvRWZDQUhoNmNnRHNRZ0QzeENBWDBnQjRlbmF5SUNRUUJJQkVBZ0F5QUNOZ0lVSUFNZ0JEWUNFQ0FCUVFGQm1PVUFJQU5CRUdvUUQwRUFJUUlNQXdzZ0FDQUNOZ0lNSUFCQk5Hb2hBRUVCSVFJZ0JFRUJhaUlFSUFWSERRQUxEQUVMSUFGQkFVR25NMEVBRUE4TElBTkJJR29rQUNBQ0M5Y0dBUVovSUFBRVFBSkFJQUFvQWdBRVFDQUFLQUlNSWdFRVFDQUJFQzRnQUNnQ0RCQVFJQUJCQURZQ0RBc2dBQ2dDRUNJQkJFQWdBUkFRSUFCQ0FEY0RFQXNnQUNnQ1FCQVFJQUJDQURjQ1BBd0JDeUFBS0FJc0lnRUVRQ0FCRUJBZ0FFRUFOZ0lzQ3lBQUtBSWdJZ0VFUUNBQkVCQWdBRUlBTndNZ0N5QUFLQUkwSWdGRkRRQWdBUkFRSUFCQ0FEY0NOQXNnQUNnQzBBRVFWU0FBS0FLY0FTSUJCRUFnQUNnQ2FDQUFLQUpzYkNJREJIOERRQ0FCRUM0Z0FVR01MR29oQVNBQ1FRRnFJZ0lnQTBjTkFBc2dBQ2dDbkFFRklBRUxFQkFnQUVFQU5nS2NBUXNnQUNnQ2RDSUJCRUFnQUNnQ2NDSUNCRUJCQUNFQkEwQWdBQ2dDZENBQlFRTjBhaWdDQUNJREJFQWdBeEFRSUFBb0FuQWhBZ3NnQVVFQmFpSUJJQUpKRFFBTElBQW9BblFoQVFzZ0FFRUFOZ0p3SUFFUUVDQUFRUUEyQW5RTElBQW9Bb2dCRUJBZ0FFRUFOZ0o0SUFCQkFEWUNpQUVnQUNnQ1pCQVFJQUJCQURZQ1pDQUFMUUM4QVVFQ2NVVUVRQ0FBS0FLb0FSQVFDeUFBUWRBQWFrRUFRZkFBRUJVYUlBQW9Bc0FCRURJZ0FFRUFOZ0xBQVNBQUtBTEVBUkF5SUFCQkFEWUN3QUVnQUNnQ3lBRWlBUVJBSUFFb0Fod2lBZ1JBSUFJUUVDQUJRUUEyQWh3TElBRW9BaWdpQWdSQUlBRW9BaVFFUUFOQUlBSWdCVUVvYkNJRGFpZ0NKQ0lFQkVBZ0JCQVFJQUVvQWlnaUFpQURha0VBTmdJa0N5QUNJQU5xS0FJUUlnUUVRQ0FFRUJBZ0FTZ0NLQ0lDSUFOcVFRQTJBaEFMSUFJZ0Eyb29BaGdpQkFSQUlBUVFFQ0FCS0FJb0lnSWdBMnBCQURZQ0dBc2dCVUVCYWlJRklBRW9BaVJKRFFBTEN5QUNFQkFnQVVFQU5nSW9DeUFCRUJBTElBQkJBRFlDeUFFZ0FDZ0NTQkFoSUFCQkFEWUNTQ0FBS0FKTUVDRWdBRUVBTmdKTUlBQW9BdFFCSWdNRVFBSkFJQU1vQWdoRkRRQWdBeWdDREFSQUlBTkJBRFlDS0FOQUlBTW9BaGhCQUVvTkFBc0xJQU5CQVRZQ0VDQURLQUlBRUJBZ0F5Z0NIQ0lDUlEwQUEwQWdBaWdDQkNFQklBSVFFQ0FESUFFMkFod2dBU0lDRFFBTEN5QURLQUlrSWdJRVFDQUNLQUlFSWdWQkFFb0VRRUVBSVFFRFFDQUNLQUlBSUFGQkRHeHFJZ1FvQWdnaUJnUkFJQVFvQWdRZ0JoRUNBQ0FDS0FJRUlRVUxJQUZCQVdvaUFTQUZTQTBBQ3dzZ0FpZ0NBQkFRSUFJUUVBc2dBeEFRQ3lBQVFRQTJBdFFCSUFBUUVBc0w1Z01DQ0g4RWZpQUFLQUlVS0FJQUtBSVVJQUZCekFCc2FpSUpLQUlNSWdnZ0FDZ0NHQ2dDR0NBQlFUUnNhaUlLTlFJRUloQkNBWDBpRWlBQU5RSThmQ0FRZ0tjaUN5QUlJQXRKR3lFTUlBa29BZ2dpQ0NBS05RSUFJaEZDQVgwaUV5QUFOUUk0ZkNBUmdLY2lDaUFJSUFwSkd5RUtJQWtvQWdRaUNDQVNJQUExQWpSOElCQ0FweUlMSUFnZ0Mwc2JJUXNnQ1NnQ0FDSUlJQk1nQURVQ01Id2dFWUNuSWcwZ0NDQU5TeHNoRFVFQUlRZ2dBQ2dDSUNnQzBDc2dBVUc0Q0d4cUtBSVVJUTRDUUNBSktBSVVRUUFnQW10QmZ5QUNHMm9pQWtVRVFDQUtJUUFnRFNFSUlBc2hBUXdCQ3lBRFFRRnhJQUpCQVdzaUQzUWlDU0FOU1FSQUlBMGdDV3V0UW44Z0FxMGlFSVpDZjRWOElCQ0lweUVJQzBFQUlRQkJBQ0VCSUFOQkFYWWdEM1FpQXlBTFNRUkFJQXNnQTJ1dFFuOGdBcTBpRUlaQ2Y0VjhJQkNJcHlFQkN5QUpJQXBKQkVBZ0NpQUphNjFDZnlBQ3JTSVFoa0ovaFh3Z0VJaW5JUUFMSUFNZ0RFOEVRRUVBSVF3TUFRc2dEQ0FEYTYxQ2Z5QUNyU0lRaGtKL2hYd2dFSWluSVF3TFFYOGdBRUVDUVFNZ0RrRUJSaHNpQW1vaUF5QUFJQU5MR3lBRVMwRi9JQUlnREdvaUFDQUFJQXhKR3lBRlMzRWdDQ0FDYXlJQVFRQWdBQ0FJVFJzZ0JrbHhJQUVnQW1zaUFFRUFJQUFnQVUwYklBZEpjUXVpQVFFR2Z5QUFCRUFnQUNnQ0JDSUNCRUFnQWhBUUlBQkJBRFlDQkFzZ0FRUkFJQUFoQWdOQUlBSW9Bc2dCSWdNRVFFRUFJUVVnQWlnQ3hBRWlCQVIvQTBBZ0F5Z0NEQ0lHQkVBZ0JoQVFJQU5CQURZQ0RDQUNLQUxFQVNFRUN5QURRUkJxSVFNZ0JVRUJhaUlGSUFSSkRRQUxJQUlvQXNnQkJTQURDeEFRSUFKQkFEWUN5QUVMSUFKQjhBRnFJUUlnQjBFQmFpSUhJQUZIRFFBTEN5QUFFQkFMQzlVWkFoTi9BM3NnQUNnQ0FDSUtJQUFvQWd3aURVRUZkQ0lGYWlFR0lBb2dCV3NoRmlBQUtBSVFJUVVnQUNnQ0hDRUxJQUFvQWhRaENTQUFLQUlJSVE0Q1FBSkFBa0FDUUNBRFFRaEpEUUFnQVVFUGNRMEFJQVpCRDNGRkRRRUxJQVVnQ1U4TkFnSkFBa0FnQTBFQmF3NENBQUVEQ3dKQUlBa2dCV3NpQ0VFWVNRMEFJQUVnQlVFQ2RHb2hCeUFOUVFWMElnUWdDaUFGUVFaMGFtb2dBU0FKUVFKMGFra0VRQ0FISUFvZ0NVRUdkR29nQkdwQlBHdEpEUUVMSUFYOUVmME1BQUFBQUFFQUFBQUNBQUFBQXdBQUFQMnVBU0VZSUFVZ0NFRjhjU0lQYWlFRlFRQWhCQU5BSUFZZ0dFRUUvYXNCSWhmOUd3QkJBblJxSUFjZ0JFRUNkR3I5QUFJQUlobjlId0E0QWdBZ0JpQVgvUnNCUVFKMGFpQVovUjhCT0FJQUlBWWdGLzBiQWtFQ2RHb2dHZjBmQWpnQ0FDQUdJQmY5R3dOQkFuUnFJQm45SHdNNEFnQWdHUDBNQkFBQUFBUUFBQUFFQUFBQUJBQUFBUDJ1QVNFWUlBUkJCR29pQkNBUFJ3MEFDeUFJSUE5R0RRUUxJQVVoQkNBSklBVnJRUU54SWdjRVFFRUFJUWdEUUNBR0lBUkJCblJxSUFFZ0JFRUNkR29xQWdBNEFnQWdCRUVCYWlFRUlBaEJBV29pQ0NBSFJ3MEFDd3NnQlNBSmEwRjhTdzBEQTBBZ0JpQUVRUVowYWlBQklBUkJBblJxS2dJQU9BSUFJQVlnQkVFQmFpSUZRUVowYWlBQklBVkJBblJxS2dJQU9BSUFJQVlnQkVFQ2FpSUZRUVowYWlBQklBVkJBblJxS2dJQU9BSUFJQVlnQkVFRGFpSUZRUVowYWlBQklBVkJBblJxS2dJQU9BSUFJQVJCQkdvaUJDQUpSdzBBQ3d3REN5QUJJQUpCQW5ScUlRZ0NRQ0FKSUFWcklnOUJQRWtFUUNBRklRUU1BUXNnQ2lBRlFRWjBJQTFCQlhScWFpSUVJQWtnQlVGL2Myb2lCMEVHZENJUWFpQUVTUVJBSUFVaEJBd0JDeUFFUVFScUlnUWdFR29nQkVrRVFDQUZJUVFNQVFzZ0IwSC8vLzhmU3dSQUlBVWhCQXdCQ3lBTlFRVjBJZ1FnQ2lBRlFRWjBhbW9pQnlBQklBSWdDV3BCQW5ScVNTQUtJQWxCQm5ScUlBUnFRVGhySWdRZ0FTQUNJQVZxUVFKMGFrdHhCRUFnQlNFRURBRUxJQWNnQVNBSlFRSjBha2tnQVNBRlFRSjBhaUFFU1hFRVFDQUZJUVFNQVFzZ0JmMFIvUXdBQUFBQUFRQUFBQUlBQUFBREFBQUEvYTRCSVJnZ0JTQVBRWHh4SWhCcUlRUkJBQ0VIQTBBZ0JpQVlRUVQ5cXdFaUYvMGJBRUVDZEdvaUVTQUJJQVVnQjJwQkFuUWlER3I5QUFJQUlobjlId0E0QWdBZ0JpQVgvUnNCUVFKMGFpSVRJQm45SHdFNEFnQWdCaUFYL1JzQ1FRSjBhaUlVSUJuOUh3STRBZ0FnQmlBWC9Sc0RRUUowYWlJVklCbjlId000QWdBZ0VTQUlJQXhxL1FBQ0FDSVgvUjhBT0FJRUlCTWdGLzBmQVRnQ0JDQVVJQmY5SHdJNEFnUWdGU0FYL1I4RE9BSUVJQmo5REFRQUFBQUVBQUFBQkFBQUFBUUFBQUQ5cmdFaEdDQUhRUVJxSWdjZ0VFY05BQXNnRHlBUVJnMERDeUFFUVFGcUlRVWdDU0FFYTBFQmNRUkFJQVlnQkVFR2RHb2lCeUFCSUFSQkFuUWlCR29xQWdBNEFnQWdCeUFFSUFocUtnSUFPQUlFSUFVaEJBc2dCU0FKUmcwQ0EwQWdCaUFFUVFaMGFpSUZJQUVnQkVFQ2RDSUhhaW9DQURnQ0FDQUZJQWNnQ0dvcUFnQTRBZ1FnQmlBRVFRRnFJZ1ZCQm5ScUlnY2dBU0FGUVFKMElnVnFLZ0lBT0FJQUlBY2dCU0FJYWlvQ0FEZ0NCQ0FFUVFKcUlnUWdDVWNOQUFzTUFnc2dCU0FKVHcwQklBRWdBa0VDZEdvaENBTkFJQVlnQlVFR2RHb2lCQ0FCSUFWQkFuUnFLZ0lBT0FJQUlBUWdBU0FDSUFWcUlnZEJBblJxS2dJQU9BSUVJQVFnQVNBQ0lBZHFJZ2RCQW5ScUtnSUFPQUlJSUFRZ0FTQUNJQWRxSWdkQkFuUnFLZ0lBT0FJTUlBUWdBU0FDSUFkcUlnZEJBblJxS2dJQU9BSVFJQVFnQVNBQ0lBZHFJZ2RCQW5ScUtnSUFPQUlVSUFRZ0FTQUNJQWRxUVFKMElnZHFLZ0lBT0FJWUlBUWdCeUFJYWlvQ0FEZ0NIQ0FGUVFGcUlnVWdDVWNOQUFzTUFRc2dBU0FDUVFKMGFpRUlJQU5CQTBZaEJ5QURRUVJHSVE4Z0EwRUZSaUVRSUFOQkIwWWhFUU5BSUFZZ0JVRUdkR29pQkNBQklBVkJBblJxS2dJQU9BSUFJQVFnQVNBQ0lBVnFJZ3hCQW5ScUtnSUFPQUlFSUFRZ0FTQUNJQXhxSWd4QkFuUnFLZ0lBT0FJSUFrQWdCdzBBSUFRZ0FTQUNJQXhxSWd4QkFuUnFLZ0lBT0FJTUlBOE5BQ0FFSUFFZ0FpQU1haUlNUVFKMGFpb0NBRGdDRUNBUURRQWdCQ0FCSUFJZ0RHb2lERUVDZEdvcUFnQTRBaFFnQTBFR1JnMEFJQVFnQVNBQ0lBeHFRUUowSWd4cUtnSUFPQUlZSUJFTkFDQUVJQWdnREdvcUFnQTRBaHdMSUFWQkFXb2lCU0FKUncwQUN3c2dGa0VnYWlFR0lBRWdEa0VDZEdvaEJDQUFLQUlZSVFVQ1FBSkFBa0FnQTBFSVNRMEFJQVJCRDNFTkFDQUdRUTl4UlEwQkN5QUZJQXRQRFFFQ1FBSkFBa0FnQTBFQmF3NENBQUVDQ3dKQUlBc2dCV3NpQUVFY1NRMEFJQW9nQlVFR2RFRWdjaUFOUVFWMElnSnJhaUFCSUFzZ0RtcEJBblJxU1FSQUlBRWdCU0FPYWtFQ2RHb2dDMEVHZENBQ2F5QUtha0VjYTBrTkFRc2dCQ0FGUVFKMGFpRURJQVg5RWYwTUFBQUFBQUVBQUFBQ0FBQUFBd0FBQVAydUFTRVlJQVVnQUVGOGNTSUJhaUVGUVFBaEFnTkFJQVlnR0VFRS9hc0JJaGY5R3dCQkFuUnFJQU1nQWtFQ2RHcjlBQUlBSWhuOUh3QTRBZ0FnQmlBWC9Sc0JRUUowYWlBWi9SOEJPQUlBSUFZZ0YvMGJBa0VDZEdvZ0dmMGZBamdDQUNBR0lCZjlHd05CQW5ScUlCbjlId000QWdBZ0dQME1CQUFBQUFRQUFBQUVBQUFBQkFBQUFQMnVBU0VZSUFKQkJHb2lBaUFCUncwQUN5QUFJQUZHRFFRTElBVWhBaUFMSUFWclFRTnhJZ0FFUUVFQUlRRURRQ0FHSUFKQkJuUnFJQVFnQWtFQ2RHb3FBZ0E0QWdBZ0FrRUJhaUVDSUFGQkFXb2lBU0FBUncwQUN3c2dCU0FMYTBGOFN3MERBMEFnQmlBQ1FRWjBhaUFFSUFKQkFuUnFLZ0lBT0FJQUlBWWdBa0VCYWlJQVFRWjBhaUFFSUFCQkFuUnFLZ0lBT0FJQUlBWWdBa0VDYWlJQVFRWjBhaUFFSUFCQkFuUnFLZ0lBT0FJQUlBWWdBa0VEYWlJQVFRWjBhaUFFSUFCQkFuUnFLZ0lBT0FJQUlBSkJCR29pQWlBTFJ3MEFDd3dEQ3lBRUlBSkJBblJxSVFNQ1FDQUxJQVZySWdCQnhBQkpCRUFnQlNFQ0RBRUxJQW9nQlVFR2RDSUpRU0J5SUExQkJYUWlDR3RxSWdjZ0N5QUZRWDl6YWlJUFFRWjBJaEJxSUFkSkJFQWdCU0VDREFFTElBb2dDVUVrY2lBSWEyb2lDU0FRYWlBSlNRUkFJQVVoQWd3QkN5QVBRZi8vL3g5TEJFQWdCU0VDREFFTElBb2dCVUVHZEVFZ2NpQU5RUVYwSWdscmFpSU5JQUVnQ3lBT2FpSUlJQUpxUVFKMGFra2dDMEVHZENBSmF5QUtha0VZYXlJSklBRWdEa0VDZEdvZ0JVRUNkR29pQ2lBQ1FRSjBha3R4QkVBZ0JTRUNEQUVMSUEwZ0FTQUlRUUowYWtrZ0NTQUtTM0VFUUNBRklRSU1BUXNnQmYwUi9Rd0FBQUFBQVFBQUFBSUFBQUFEQUFBQS9hNEJJUmdnQlNBQVFYeHhJZ2xxSVFKQkFDRUJBMEFnQmlBWVFRVDlxd0VpRi8wYkFFRUNkR29pQ2lBRUlBRWdCV3BCQW5RaURXcjlBQUlBSWhuOUh3QTRBZ0FnQmlBWC9Sc0JRUUowYWlJT0lCbjlId0U0QWdBZ0JpQVgvUnNDUVFKMGFpSUlJQm45SHdJNEFnQWdCaUFYL1JzRFFRSjBhaUlISUJuOUh3TTRBZ0FnQ2lBRElBMXEvUUFDQUNJWC9SOEFPQUlFSUE0Z0YvMGZBVGdDQkNBSUlCZjlId0k0QWdRZ0J5QVgvUjhET0FJRUlCajlEQVFBQUFBRUFBQUFCQUFBQUFRQUFBRDlyZ0VoR0NBQlFRUnFJZ0VnQ1VjTkFBc2dBQ0FKUmcwREN5QUNRUUZxSVFBZ0N5QUNhMEVCY1FSQUlBWWdBa0VHZEdvaUFTQUVJQUpCQW5RaUFtb3FBZ0E0QWdBZ0FTQUNJQU5xS2dJQU9BSUVJQUFoQWdzZ0FDQUxSZzBDQTBBZ0JpQUNRUVowYWlJQUlBUWdBa0VDZENJQmFpb0NBRGdDQUNBQUlBRWdBMm9xQWdBNEFnUWdCaUFDUVFGcUlnQkJCblJxSWdFZ0JDQUFRUUowSWdCcUtnSUFPQUlBSUFFZ0FDQURhaW9DQURnQ0JDQUNRUUpxSWdJZ0MwY05BQXNNQWdzZ0JDQUNRUUowYWlFQklBTkJBMFloQ1NBRFFRUkdJUW9nQTBFRlJpRU5JQU5CQjBZaERnTkFJQVlnQlVFR2RHb2lBQ0FFSUFWQkFuUnFLZ0lBT0FJQUlBQWdCQ0FDSUFWcUlnaEJBblJxS2dJQU9BSUVJQUFnQkNBQ0lBaHFJZ2hCQW5ScUtnSUFPQUlJQWtBZ0NRMEFJQUFnQkNBQ0lBaHFJZ2hCQW5ScUtnSUFPQUlNSUFvTkFDQUFJQVFnQWlBSWFpSUlRUUowYWlvQ0FEZ0NFQ0FORFFBZ0FDQUVJQUlnQ0dvaUNFRUNkR29xQWdBNEFoUWdBMEVHUmcwQUlBQWdCQ0FDSUFocVFRSjBJZ2hxS2dJQU9BSVlJQTROQUNBQUlBRWdDR29xQWdBNEFod0xJQVZCQVdvaUJTQUxSdzBBQ3d3QkN5QUZJQXRQRFFBZ0JDQUNRUUowYWlFQkEwQWdCaUFGUVFaMGFpSUFJQVFnQlVFQ2RHb3FBZ0E0QWdBZ0FDQUVJQUlnQldvaUEwRUNkR29xQWdBNEFnUWdBQ0FFSUFJZ0Eyb2lBMEVDZEdvcUFnQTRBZ2dnQUNBRUlBSWdBMm9pQTBFQ2RHb3FBZ0E0QWd3Z0FDQUVJQUlnQTJvaUEwRUNkR29xQWdBNEFoQWdBQ0FFSUFJZ0Eyb2lBMEVDZEdvcUFnQTRBaFFnQUNBRUlBSWdBMnBCQW5RaUEyb3FBZ0E0QWhnZ0FDQUJJQU5xS2dJQU9BSWNJQVZCQVdvaUJTQUxSdzBBQ3dzTG13TUJCSDhnQVNBQVFRUnFJZ1JxUVFGclFRQWdBV3R4SWdVZ0Ftb2dBQ0FBS0FJQUlnRnFRUVJyVFFSL0lBQW9BZ1FpQXlBQUtBSUlJZ1kyQWdnZ0JpQUROZ0lFSUFRZ0JVY0VRQ0FBSUFCQkJHc29BZ0JCZm5GcklnTWdCU0FFYXlJRUlBTW9BZ0JxSWdVMkFnQWdBeUFGUVh4eGFrRUVheUFGTmdJQUlBQWdCR29pQUNBQklBUnJJZ0UyQWdBTEFuOGdBU0FDUVJocVR3UkFJQUFnQW1wQkNHb2lBeUFCSUFKclFRaHJJZ0UyQWdBZ0F5QUJRWHh4YWtFRWF5QUJRUUZ5TmdJQUlBTUNmeUFES0FJQVFRaHJJZ0ZCL3dCTkJFQWdBVUVEZGtFQmF3d0JDeUFCWnlFRUlBRkJIU0FFYTNaQkJITWdCRUVDZEd0QjdnQnFJQUZCL3g5TkRRQWFRVDhnQVVFZUlBUnJka0VDY3lBRVFRRjBhMEhIQUdvaUFTQUJRVDlQR3dzaUFVRUVkQ0lFUWFESEFXbzJBZ1FnQXlBRVFhakhBV29pQkNnQ0FEWUNDQ0FFSUFNMkFnQWdBeWdDQ0NBRE5nSUVRYWpQQVVHb3p3RXBBd0JDQVNBQnJZYUVOd01BSUFBZ0FrRUlhaUlCTmdJQUlBQWdBVUY4Y1dvTUFRc2dBQ0FCYWd0QkJHc2dBVFlDQUNBQVFRUnFCVUVBQ3d2Q0FRRURmd0pBSUFFZ0FpZ0NFQ0lEQkg4Z0F3VWdBaEErRFFFZ0FpZ0NFQXNnQWlnQ0ZDSUVhMHNFUUNBQ0lBQWdBU0FDS0FJa0VRQUFEd3NDUUFKQUlBSW9BbEJCQUVnTkFDQUJSUTBBSUFFaEF3TkFJQUFnQTJvaUJVRUJheTBBQUVFS1J3UkFJQU5CQVdzaUF3MEJEQUlMQ3lBQ0lBQWdBeUFDS0FJa0VRQUFJZ1FnQTBrTkFpQUJJQU5ySVFFZ0FpZ0NGQ0VFREFFTElBQWhCVUVBSVFNTElBUWdCU0FCRUJJYUlBSWdBaWdDRkNBQmFqWUNGQ0FCSUFOcUlRUUxJQVFMV1FFQmZ5QUFJQUFvQWtnaUFVRUJheUFCY2pZQ1NDQUFLQUlBSWdGQkNIRUVRQ0FBSUFGQklISTJBZ0JCZnc4TElBQkNBRGNDQkNBQUlBQW9BaXdpQVRZQ0hDQUFJQUUyQWhRZ0FDQUJJQUFvQWpCcU5nSVFRUUFMekFJQkJIOGdBU0FBL1FBQ0FQMExBZ0FnQVNnQ0dDSUNCRUFnQVNnQ0VDSURCSDlCQUNFQ0EwQWdBU2dDR0NBQ1FUUnNhaWdDTENJRUJFQWdCQkFRSUFFb0FoQWhBd3NnQWtFQmFpSUNJQU5KRFFBTElBRW9BaGdGSUFJTEVCQWdBVUVBTmdJWUN5QUJJQUFvQWhBaUFqWUNFQ0FCSUFKQk5Hd1FGQ0lDTmdJWUlBSUVRQ0FCS0FJUUJFQkJBQ0VEQTBBZ0FpQURRVFJzSWdWcUlnSWdBQ2dDR0NBRmFpSUUvUUFDQVAwTEFnQWdBaUFFS0FJd05nSXdJQUlnQlAwQUFpRDlDd0lnSUFJZ0JQMEFBaEQ5Q3dJUUlBRW9BaGdpQWlBRmFrRUFOZ0lzSUFOQkFXb2lBeUFCS0FJUVNRMEFDd3NnQVNBQUtBSVVOZ0lVSUFFZ0FDZ0NJQ0lDTmdJZ0lBSUVRQ0FCSUFJUUZDSUNOZ0ljSUFKRkJFQWdBVUlBTndJY0R3c2dBaUFBS0FJY0lBQW9BaUFRRWhvUEN5QUJRUUEyQWh3UEN5QUJRUUEyQWhBZ0FVRUFOZ0lZQ3dRQVFRRUx4Z0VCQTM4RFFDQUFRUVIwSWdGQnBNY0JhaUFCUWFESEFXb2lBallDQUNBQlFhakhBV29nQWpZQ0FDQUFRUUZxSWdCQndBQkhEUUFMUVRBUWJSb2pBRUVRYXlJQUpBQUNRQ0FBUVF4cUlBQkJDR29RREEwQVFiRFBBVUVJSUFBb0FneEJBblJCQkdvUUpTSUJOZ0lBSUFGRkRRQkJDQ0FBS0FJSUVDVWlBUVJBUWJEUEFTZ0NBQ0lDSUFBb0FneEJBblJxUVFBMkFnQWdBaUFCRUF0RkRRRUxRYkRQQVVFQU5nSUFDeUFBUVJCcUpBQkJ6TThCUVNvMkFnQkJsTkFCUWRqUUFUWUNBQXVRQmdJRmZ3TjdJd0JCRUdzaUJpUUFBbjhnQUNnQ0NFRVFSZ1JBSUFBb0Fwd0JJQUFvQXN3QlFZd3NiR29NQVFzZ0FDZ0NEQXNoQUFKQUlBTW9BZ0FpQlVVRVFFRUFJUUlnQkVFQlFjQVRRUUFRRHd3QkN5QUFLQUxRS3lFSklBTWdCVUVCYXpZQ0FDQUNJQVpCREdwQkFSQVJJQWtnQVVHNENHeHFJZ2NnQmlnQ0RDSUFRUVYyTmdLa0JpQUhJQUJCSDNFaUFUWUNHQ0FDUVFGcUlRQWdBd0ovQW44Q1FBSi9Ba0FDUUNBQkRnSUFBd0VMSUFNb0FnQU1BUXNnQXlnQ0FFRUJkZ3NpQlVIaUFFOEVmeUFHUXVHQWdJQ1FERGNDQkNBR0lBVTJBZ0FnQkVFQ1FjWDRBQ0FHRUE4Z0J5Z0NHQVVnQVFzRVFDQUZJZ0VOQVVFQURBSUxJQVVFUUNBSFFSeHFJUUZCQUNFQ0EwQWdBQ0FHUVF4cVFRRVFFU0FDUWVBQVRRUkFJQVlvQWd3aEJDQUJJQUpCQTNScUlnaEJBRFlDQkNBSUlBUkJBM1kyQWdBTElBQkJBV29oQUNBQ1FRRnFJZ0lnQlVjTkFBc0xRUUFoQWlBREtBSUFJZ0FnQlVrTkF5QUFJQVZyREFJTElBZEJIR29oQkVFQUlRSURRQ0FBSUFaQkRHcEJBaEFSSUFKQjRBQk5CRUFnQkNBQ1FRTjBhaUlGSUFZb0Fnd2lDRUgvRDNFMkFnUWdCU0FJUVF0Mk5nSUFDeUFBUVFKcUlRQWdBa0VCYWlJQ0lBRkhEUUFMSUFGQkFYUUxJUUJCQUNFQ0lBTW9BZ0FpQVNBQVNRMEJJQUVnQUdzTE5nSUFRUUVoQWlBSEtBSVlRUUZIRFFBZ0IwRWNhaUVFSUFmOUNRSWNJUXdnQnlnQ0lDRUQvUXdCQUFBQUFnQUFBQU1BQUFBRUFBQUFJUXRCQUNFQkEwQWdCQ0FCUVFOMGFpSUFRUmhxSUF3Z0MvME0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vMnVBU0lLL1JzQVFRTnUvUkVnQ3YwYkFVRURidjBjQVNBSy9Sc0NRUU51L1J3Q0lBcjlHd05CQTI3OUhBUDlzUUg5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5dUFFaUN2MWFBZ0FDSUFCQkVHb2dDdjFhQWdBQklBQkJDR29nQ3YxYUFnQUFJQVFnQVVFRWFpSUJRUU4wYWlJRklBcjlXZ0lBQXlBQUlBTTJBaHdnQUNBRE5nSVVJQUFnQXpZQ0RDQUZJQU0yQWdRZ0MvME1CQUFBQUFRQUFBQUVBQUFBQkFBQUFQMnVBU0VMSUFGQjRBQkhEUUFMQ3lBR1FSQnFKQUFnQWd1ZkJnRUdmeU1BUVNCcklnWWtBQUovSUFBb0FnaEJFRVlFUUNBQUtBS2NBU0FBS0FMTUFVR01MR3hxREFFTElBQW9BZ3dMSVFVQ1FDQURLQUlBUVFSTkJFQkJBQ0VBSUFSQkFVR2RFMEVBRUE4TUFRc2dBaUFGS0FMUUt5QUJRYmdJYkdvaUJTSUpRUVJxUVFFUUVTQUZJQVVvQWdSQkFXb2lCellDQkNBSFFTSlBCRUFnQmtFaE5nSUVJQVlnQnpZQ0FDQUVRUUZCK1RrZ0JoQVBRUUFoQUF3QkN5QUhJQUFvQXFBQklnaE5CRUFnQmlBSE5nSVlJQVlnQ0RZQ0ZDQUdJQUUyQWhBZ0JFRUJRYlQ3QUNBR1FSQnFFQThnQUNBQUtBSUlRWUNBQW5JMkFnaEJBQ0VBREFFTElBSkJBV29nQlVFSWFrRUJFQkVnQlNBRktBSUlRUUpxTmdJSUlBSkJBbW9nQlVFTWFrRUJFQkVnQlNBRktBSU1RUUpxSWdBMkFnd0NRQUpBSUFVb0FnZ2lBVUVLU3cwQUlBQkJDa3NOQUNBQUlBRnFRUTFKRFFFTFFRQWhBQ0FFUVFGQnd5bEJBQkFQREFFTElBSkJBMm9nQlVFUWFrRUJFQkVnQlMwQUVFR0FBWEVFUUVFQUlRQWdCRUVCUVlzeVFRQVFEd3dCQ3lBQ1FRUnFJQVZCRkdwQkFSQVJJQVVvQWhSQkFrOEVRRUVBSVFBZ0JFRUJRY294UVFBUUR3d0JDeUFESUFNb0FnQkJCV3NpQnpZQ0FFRUJJUUFnQlNnQ0JDRUJJQVV0QUFCQkFYRkZCRUFnQVVVTkFTQUZRYkFIYWlFQklBVkJyQVpxSVFKQkFDRUZBMEFnQWlBRlFRSjBJZ0JxUVE4MkFnQWdBQ0FCYWtFUE5nSUFRUUVoQUNBRlFRRnFJZ1VnQ1NnQ0JFa05BQXNNQVFzZ0FTQUhUUVJBQWtBZ0FVVUVRRUVBSVFFTUFRc2dBa0VGYWlBR1FSeHFRUUVRRVNBRklBWW9BaHdpQUVFRWRqWUNzQWNnQlNBQVFROXhOZ0tzQmlBRktBSUVJZ0ZCQWs4RVFDQUZRYkFIYWlFSElBVkJyQVpxSVFnZ0FrRUdhaUVBUVFFaEJRTkFJQUFnQmtFY2FrRUJFQkVDUUNBR0tBSWNJZ0ZCRUU4RVFDQUJRUTl4SWdJTkFRdEJBQ0VBSUFSQkFVSHdMVUVBRUE4TUJRc2dDQ0FGUVFKMElncHFJQUkyQWdBZ0J5QUthaUFCUVFSMk5nSUFJQUJCQVdvaEFDQUZRUUZxSWdVZ0NTZ0NCQ0lCU1EwQUN3c2dBeWdDQUNFSEN5QURJQWNnQVdzMkFnQkJBU0VBREFFTFFRQWhBQ0FFUVFGQm5STkJBQkFQQ3lBR1FTQnFKQUFnQUF0U0FDQUJJQUF0QUFBNkFBY2dBU0FBTFFBQk9nQUdJQUVnQUMwQUFqb0FCU0FCSUFBdEFBTTZBQVFnQVNBQUxRQUVPZ0FESUFFZ0FDMEFCVG9BQWlBQklBQXRBQVk2QUFFZ0FTQUFMUUFIT2dBQUM1SUJBUVIvSUFBZ0FUWUNvQUVDUUNBQUtBSklJZ05GRFFBZ0F5Z0NHQ0lHUlEwQUlBQW9BZ3dpQkVVTkFDQUVLQUxRSzBVTkFDQURLQUlRSWdSRkJFQkJBUThMUVFBaEF3TkFJQUVnQUNnQ0RDZ0MwQ3NnQTBHNENHeHFLQUlFVHdSQUlBSkJBVUdpeFFCQkFCQVBRUUFQQ3lBR0lBTkJOR3hxSUFFMkFpaEJBU0VGSUFOQkFXb2lBeUFFUncwQUN3c2dCUXVzQndJSmZ3aCtJd0JCRUdzaUNpUUFBa0FnQWtVRVFDQURRUUZCK3RVQVFRQVFEd3dCQ3lBQ0tBSVFJZ3NnQUNnQ1NDSUdLQUlRU1FSQUlBTkJBVUcxemdCQkFCQVBEQUVMSUFRZ0FDZ0NhQ0lGSUFBb0FteHNJZ2RQQkVBZ0NpQUVOZ0lBSUFvZ0IwRUJhellDQkNBRFFRRkI5L29BSUFvUUQwRUFJUVVNQVFzZ0FpQUFLQUpVSUFRZ0JTQUVJQVZ1SWdkc2F5SUlJQUFvQWx4c2FpSUZOZ0lBSUFJZ0JTQUdLQUlBSWdZZ0JTQUdTeHNpQmpZQ0FDQUNJQUFvQWxRZ0FDZ0NYQ0FJUVFGcWJHb2lCVFlDQ0NBQ0lBVWdBQ2dDU0NnQ0NDSUlJQVVnQ0VrYklnZzJBZ2dnQWlBQUtBSllJQUFvQW1BZ0IyeHFJZ1UyQWdRZ0FpQUZJQUFvQWtnb0FnUWlDU0FGSUFsTEd5SUpOZ0lFSUFJZ0FDZ0NXQ0FBS0FKZ0lBZEJBV3BzYWlJRk5nSU1JQUlnQlNBQUtBSklLQUlNSWdjZ0JTQUhTUnNpQlRZQ0RDQUFLQUpJSWd3b0FoQWlCd1JBSUFXc1FnRjlJUkVnQ0t4Q0FYMGhFaUFKclVJQmZTRVRJQWF0UWdGOUlSUWdEQ2dDR0NFSUlBSW9BaGdoQlVFQUlRWURRQ0FGSUFnZ0JrRTBiR29vQWlnaUNUWUNLQ0FGSUJRZ0JTZ0NBQ0lNclNJT2ZDQU9nQ0lWUGdJUUlBVWdFeUFGS0FJRUlnMnRJZzU4SUE2QUloQStBaFFnQlVKL0lBbXRJZzZHSWc4Z0VNUjlJQTZIcHlBUElCRWdEYXdpRUh3Z0VIL0VmU0FPaDZkck5nSU1JQVVnRHlBVnhIMGdEb2VuSUE4Z0VpQU1yQ0lQZkNBUGY4UjlJQTZIcDJzMkFnZ2dCVUUwYWlFRklBWkJBV29pQmlBSFJ3MEFDd3NnQnlBTFNRUkFJQUlvQWhnaEJRTkFJQVVnQjBFMGJDSUdhaWdDTEJBUUlBSW9BaGdpQlNBR2FrRUFOZ0lzSUFkQkFXb2lCeUFDS0FJUVNRMEFDeUFDSUFBb0FrZ29BaEEyQWhBTElBQW9Ba3dpQlFSQUlBVVFJUXNnQUVFQlFTUVFFeUlITmdKTVFRQWhCU0FIUlEwQUlBSWdCeEEvSUFBZ0JEWUNMQ0FBS0FMQUFVRVhJQU1RSkVVTkFDQUFLQUxBQVNJRUtBSUFJUVlnQkNnQ0NDRUhBa0FnQmdSQVFRRWhCU0FHUVFGeElRc2dCa0VCUmdSL1FRQUZJQVpCZm5FaENFRUFJUVlEUUFKL1FRQWdCVVVOQUJwQkFDQUFJQUVnQXlBSEtBSUFFUUFBUlEwQUdpQUFJQUVnQXlBSEtBSUVFUUFBUVFCSEN5RUZJQWRCQ0dvaEJ5QUdRUUpxSWdZZ0NFY05BQXNnQlVFQmN3c2hCZ0pBQWtBZ0N3UkFJQVlOQVNBQUlBRWdBeUFIS0FJQUVRQUFRUUJISVFVTElBUkJBRFlDQUNBRlFRRnhSUTBCREFNTElBUkJBRFlDQUFzZ0FDZ0NTQkFoUVFBaEJTQUFRUUEyQWtnTUFnc2dCRUVBTmdJQUN5QUFJQUlRUnlFRkN5QUtRUkJxSkFBZ0JRdnlBd0VGZndKQUFrQWdBQ2dDUENJQ1JRUkFJQUVvQWhBTkFVRUJEd3NnQWtFMGJCQVVJZ1ZGRFFFZ0FTZ0NFQVJBSUFFb0FoZ2hBZ05BSUFJZ0EwRTBiQ0lFYWlnQ0xCQVFJQUVvQWhnaUFpQUVha0VBTmdJc0lBTkJBV29pQXlBQktBSVFJZ1JKRFFBTEN5QUJJQUFvQWp3RWZ5QUFLQUpNS0FJWUlRTkJBQ0VDQTBBZ0JTQUNRVFJzYWlJRUlBTWdBQ2dDUUNBQ1FRSjBhaWdDQUVFMGJDSUdhaUlEL1FBQ0FQMExBZ0FnQkNBREtBSXdOZ0l3SUFRZ0EvMEFBaUQ5Q3dJZ0lBUWdBLzBBQWhEOUN3SVFJQVFnQUNnQ1RDZ0NHQ0lESUFacUlnWW9BaVEyQWlRZ0JDQUdLQUlzTmdJc0lBWkJBRFlDTENBQ1FRRnFJZ0lnQUNnQ1BDSUdTUTBBQ3lBQktBSVFCU0FFQ3dSL0lBQW9Ba3dvQWhnaEFrRUFJUU1EUUNBQ0lBTkJOR3dpQkdvb0Fpd1FFQ0FBS0FKTUtBSVlJZ0lnQkdwQkFEWUNMQ0FEUVFGcUlnTWdBU2dDRUVrTkFBc2dBQ2dDUEFVZ0JnczJBaEFnQVNnQ0dCQVFJQUVnQlRZQ0dFRUJEd3NnQVNnQ0dDRUVJQUFvQWt3b0FoZ2hBMEVBSVFJRFFDQUVJQUpCTkd3aUJXb2lCQ0FESUFWcUtBSWtOZ0lrSUFRb0Fpd1FFQ0FCS0FJWUlnUWdCV29nQUNnQ1RDZ0NHQ0lESUFWcUlnVW9BaXcyQWl3Z0JVRUFOZ0lzSUFKQkFXb2lBaUFCS0FJUVNRMEFDMEVCRHdzZ0FDZ0NTQkFoSUFCQkFEWUNTRUVBQzg0RUFRaC9Ba0FnQWtVTkFBSkFJQUFvQXFBQklnVkZEUUFnQUNnQ1NDSUVSUTBBSUFRb0FoQkZEUUFnQkNnQ0dDZ0NLQ0FGUncwQUlBSW9BaEFpQ0VVTkFDQUNLQUlZSWdZb0FpZ05BQ0FHS0FJc0RRQkJBQ0VFSUFoQkNFOEVRQ0FJUVhoeElRa0RRQ0FHSUFSQk5HeHFJQVUyQWlnZ0JpQUVRUUZ5UVRSc2FpQUZOZ0lvSUFZZ0JFRUNja0UwYkdvZ0JUWUNLQ0FHSUFSQkEzSkJOR3hxSUFVMkFpZ2dCaUFFUVFSeVFUUnNhaUFGTmdJb0lBWWdCRUVGY2tFMGJHb2dCVFlDS0NBR0lBUkJCbkpCTkd4cUlBVTJBaWdnQmlBRVFRZHlRVFJzYWlBRk5nSW9JQVJCQ0dvaEJDQUtRUWhxSWdvZ0NVY05BQXNMSUFoQkIzRWlDQVJBQTBBZ0JpQUVRVFJzYWlBRk5nSW9JQVJCQVdvaEJDQUxRUUZxSWdzZ0NFY05BQXNMSUFJZ0F4QTNEUUJCQUE4TElBQW9Ba3dpQlVVRVFDQUFRUUZCSkJBVElnVTJBa3dnQlVVTkFRc2dBaUFGRUQ4Z0FDZ0N3QUZCRmlBREVDUkZEUUFnQUNnQ3dBRWlCaWdDQUNFRUlBWW9BZ2doQlFKQUlBUUVRRUVCSVFjZ0JFRUJjU0VJSUFSQkFVWUVmMEVBQlNBRVFYNXhJUWxCQUNFRUEwQUNmMEVBSUFkRkRRQWFRUUFnQUNBQklBTWdCU2dDQUJFQUFFVU5BQm9nQUNBQklBTWdCU2dDQkJFQUFFRUFSd3NoQnlBRlFRaHFJUVVnQkVFQ2FpSUVJQWxIRFFBTElBZEJBWE1MSVFRQ1FBSkFJQWdFUUNBRURRRWdBQ0FCSUFNZ0JTZ0NBQkVBQUVFQVJ5RUhDeUFHUVFBMkFnQWdCMEVCY1VVTkFRd0RDeUFHUVFBMkFnQUxJQUFvQWtnUUlTQUFRUUEyQWtoQkFBOExJQVpCQURZQ0FBc2dBQ0FDRUVjaEJ3c2dCd3Y0QkFFR2Z3SkFRUUZCTUJBVElnSUVmeUFDSUFBb0FzZ0JJZ0g5QUFNQS9Rc0RBQ0FDSUFFcEF4QTNBeEFnQWlBQktBSVlJZ0UyQWhnZ0FpQUJRUmhzRUJRaUFUWUNIQ0FCUlFSQUlBSVFFRUVBRHdzQ1FDQUFLQUxJQVNnQ0hDSURCRUFnQVNBRElBSW9BaGhCR0d3UUVob01BUXNnQVJBUUlBSkJBRFlDSEFzZ0FpQUFLQUxJQVNnQ0pDSUJOZ0lrSUFJZ0FVRW9FQk1pQVRZQ0tDQUJSUVJBSUFJb0Fod1FFQ0FDRUJCQkFBOExBa0FnQUNnQ3lBRW9BaWdFUUNBQ0tBSWtSUTBCQTBBZ0FTQUZRU2hzSWdOcUlBQW9Bc2dCS0FJb0lBTnFLQUlVSWdFMkFoUWdBVUVZYkJBVUlRRWdBaWdDS0NJRUlBTnFJZ1lnQVRZQ0dDQUJSUVJBSUFVRWYwRUFJUUVEUUNBQ0tBSW9JQUZCS0d4cUtBSVlFQkFnQVVFQmFpSUJJQVZIRFFBTElBSW9BaWdGSUFRTEVCQU1CUXNDUUNBQUtBTElBU2dDS0NBRGFpZ0NHQ0lFQkVBZ0FTQUVJQVlvQWhSQkdHd1FFaG9nQWlnQ0tDRUJEQUVMSUFFUUVDQUNLQUlvSWdFZ0EycEJBRFlDR0FzZ0FTQURhaUFBS0FMSUFTZ0NLQ0FEYWlnQ0JDSUJOZ0lFSUFGQkdHd1FGQ0VCSUFJb0FpZ2lCQ0FEYWlJR0lBRTJBaEFnQVVVRVFDQUZCSDlCQUNFQkEwQWdBVUVvYkNJQUlBSW9BaWhxS0FJWUVCQWdBaWdDS0NBQWFpZ0NFQkFRSUFGQkFXb2lBU0FGUncwQUN5QUNLQUlvQlNBRUN4QVFEQVVMQWtBZ0FDZ0N5QUVvQWlnZ0Eyb29BaEFpQkFSQUlBRWdCQ0FHS0FJRVFSaHNFQklhSUFJb0FpZ2hBUXdCQ3lBQkVCQWdBaWdDS0NJQklBTnFRUUEyQWhBTElBRWdBMnBDQURjQ0lDQUZRUUZxSWdVZ0FpZ0NKRWtOQUFzTUFRc2dBUkFRSUFKQkFEWUNLQXNnQWdWQkFBc1BDeUFDS0FJY0VCQWdBaEFRUVFBTG9BWUNEbjhCZXlNQVFSQnJJZ2drQUNBQUtBSklLQUlRSVEwZ0NFRUJRVGdRRXlJQk5nSU1Ba0FnQVVVTkFDQUJJQUFvQWtnb0FoQWlDVFlDR0NBQklBRDlBQUpVL1FzQ0FDQUJJQUFvQW1nMkFoQWdBQ2dDYkNFQ0lBRkJBRFlDTkNBQklBSTJBaFFnQVNBQUtBSU1JZ3dvQWdBMkFpQWdBU0FNS0FJRU5nSWtJQUVnRENnQ0NEWUNLQ0FCSUF3b0FoQTJBaXdnQVNBSlFiZ0lFQk1pQURZQ01DQUFCRUFnRFFSQUEwQWdEa0c0Q0d3aUFDQUJLQUl3YWlJRklBd29BdEFySUFCcUlnVDlBQUlBSWcvOUN3SUVJQVVnQkNnQ0VEWUNGQ0FGSUFRb0FoUTJBaGdnRC8wYkFTSUFRU0JOQkVBZ0JVRzBCMm9nQkVHd0Iyb2dBQkFTR2lBRlFiQUdhaUFFUWF3R2FpQUVLQUlFRUJJYUN5QUZJQVFvQWhnaUFEWUNIQ0FGSUFRb0FxUUdOZ0tvQmtFQklRWUNRQ0FBUVFGSEJFQWdCQ2dDQkVFRGJDSUFRUU5yUWQ4QVN3MEJJQUJCQW1zaEJnc2dCVUdrQTJvaENTQUZRU0JxSVFvZ0JFRWNhaUVMUVFBaEFBSkFJQVpCQ0VrTkFDQUVJQVpCQTNScVFSeHFJQXBMQkVBZ0N5QUZJQVpCQW5ScVFhUURha2tOQVFzZ0JrRjhjU0VBUVFBaEFnTkFJQW9nQWtFQ2RDSURhaUFMSUFKQkEzUnFJZ2RCSEdvZ0IwRVVhaUFIUVF4cUlBZjlDUUlFL1ZZQ0FBSDlWZ0lBQXYxV0FnQUQvUXNDQUNBRElBbHFJQWRCR0dvZ0IwRVFhaUFIUVFocUlBZjlDUUlBL1ZZQ0FBSDlWZ0lBQXYxV0FnQUQvUXNDQUNBQ1FRUnFJZ0lnQUVjTkFBc2dBQ0FHUmcwQkN5QUFRUUZ5SVFNZ0JrRUJjUVJBSUFvZ0FFRUNkQ0lDYWlBTElBQkJBM1JxSWdBb0FnUTJBZ0FnQWlBSmFpQUFLQUlBTmdJQUlBTWhBQXNnQXlBR1JnMEFBMEFnQ2lBQVFRSjBJZ0pxSUFzZ0FFRURkR29pQXlnQ0JEWUNBQ0FDSUFscUlBTW9BZ0EyQWdBZ0NpQUFRUUZxSWdOQkFuUWlBbW9nQ3lBRFFRTjBhaUlES0FJRU5nSUFJQUlnQ1dvZ0F5Z0NBRFlDQUNBQVFRSnFJZ0FnQmtjTkFBc0xJQVVnQkNnQ3FBWTJBcXdHSUE1QkFXb2lEaUFOUncwQUN3c2dBU0VEREFFTElBaEJER29FUUNBSUtBSU1JZ0VvQWpBaUFBUi9JQUFRRUNBSUtBSU1CU0FCQ3hBUUlBaEJBRFlDREFzTElBaEJFR29rQUNBREMva0VBUWgvSXdCQmdBSnJJZ01rQUNBQUJFQkIvQXhCRVNBQ0VCMGdBeUFBS0FJQU5nTHdBU0FDUVpvUklBTkI4QUZxRUJZZ0F5QUFLQUlFTmdMZ0FTQUNRYWNSSUFOQjRBRnFFQllnQXlBQUtBSUlOZ0xRQVNBQ1FZSTNJQU5CMEFGcUVCWWdBeUFBS0FJUU5nTEFBU0FDUWYwUUlBTkJ3QUZxRUJZZ0FVRUFTZ1JBQTBBZ0FDZ0MwQ3NoQkNBRElBYzJBckFCSUFKQm9nMGdBMEd3QVdvUUZpQURJQVFnQjBHNENHeHFJZ1FvQWdBMkFxQUJJQUpCbVJFZ0EwR2dBV29RRmlBRElBUW9BZ1EyQXBBQklBSkI5RGNnQTBHUUFXb1FGaUFESUFRb0FnZzJBb0FCSUFKQm9EWWdBMEdBQVdvUUZpQURJQVFvQWd3MkFuQWdBa0d3TmlBRFFmQUFhaEFXSUFNZ0JDZ0NFRFlDWUNBQ1FZZ1JJQU5CNEFCcUVCWWdBeUFFS0FJVU5nSlFJQUpCdGpnZ0EwSFFBR29RRmtIVkMwRVhJQUlRSFNBRUtBSUVCRUFnQkVHd0Iyb2hCaUFFUWF3R2FpRUlRUUFoQlFOQUlBZ2dCVUVDZENJSmFpZ0NBQ0VLSUFNZ0JpQUphaWdDQURZQ1JDQURJQW8yQWtBZ0FrR0xEQ0FEUVVCckVCWWdCVUVCYWlJRklBUW9BZ1JKRFFBTEN5QUNFRzRnQXlBRUtBSVlOZ0l3SUFKQndEWWdBMEV3YWhBV0lBTWdCQ2dDcEFZMkFpQWdBa0h4TmlBRFFTQnFFQlpCQVNFR1FlMExRUlFnQWhBZEFrQWdCQ2dDR0VFQlJ3UkFJQVFvQWdRaUJVRUFUQTBCSUFWQkEyeEJBbXNoQmdzZ0JFRWNhaUVJUVFBaEJRTkFJQU1nQ0NBRlFRTjBhaWtDQUVJZ2lUY0RFQ0FDUVlzTUlBTkJFR29RRmlBRlFRRnFJZ1VnQmtjTkFBc0xJQUlRYmlBRElBUW9BcWdHTmdJQUlBSkI0RFlnQXhBV1Faa01RUVVnQWhBZElBZEJBV29pQnlBQlJ3MEFDd3RCbWd4QkJDQUNFQjBMSUFOQmdBSnFKQUFMNWdvRENYOEJld0YrSXdCQnNBRnJJZ1VrQUFKQUlBRkJnQU54QkVCQm5pMUJDeUFDRUIwTUFRc0NRQ0FCUVFGeFJRMEFJQUFvQWtnaUJrVU5BQ01BUWRBQWF5SURKQUJCN2d4QkRTQUNFQjBnQTBFQU9nQlBJQU5CQ1RvQVRpQURJQVlwQWdBM0FrUWdBeUFEUWM0QWFpSUVOZ0pBSUFKQmhqa2dBMEZBYXhBV0lBTWdCaWtDQ0RjQ05DQURJQVEyQWpBZ0FrSDFPQ0FEUVRCcUVCWWdBeUFHS0FJUU5nSWtJQU1nQkRZQ0lDQUNRWk0zSUFOQklHb1FGZ0pBSUFZb0FoaEZEUUFnQmlnQ0VFVU5BQU5BSUFNZ0EwSE9BR29pQ2pZQ0VDQURJQWMyQWhRZ0FrR09EU0FEUVJCcUVCWWdCaWdDR0NBSFFUUnNhaUVJSXdCQk1Hc2lCQ1FBSUFSQkNUc0FMaUFFUVFrNkFDMGdCQ0FJS1FJQU53SWtJQVFnQkVFdGFpSUpOZ0lnSUFKQnp6WWdCRUVnYWhBV0lBUWdDQ2dDR0RZQ0ZDQUVJQWsyQWhBZ0FrSEZPQ0FFUVJCcUVCWWdCQ0FJS0FJZ05nSUVJQVFnQ1RZQ0FDQUNRYW80SUFRUUZpQUVRVEJxSkFBZ0F5QUtOZ0lBSUFKQmxBd2dBeEFXSUFkQkFXb2lCeUFHS0FJUVNRMEFDd3RCbkF4QkFpQUNFQjBnQTBIUUFHb2tBQXNDUUNBQlFRSnhSUTBBSUFBb0FraEZEUUJCK1ExQkpDQUNFQjBnQlNBQUtRSlVOd09nQVNBQ1FlY1JJQVZCb0FGcUVCWWdCU0FBS1FKY053T1FBU0FDUWNVUklBVkJrQUZxRUJZZ0JTQUFLUU5vTndPQUFTQUNRZGNSSUFWQmdBRnFFQllnQUNnQ0RDQUFLQUpJS0FJUUlBSVFTMEdjREVFQ0lBSVFIUXNDUUNBQlFRaHhSUTBBSUFBb0FraEZEUUFnQUNnQ2FDQUFLQUpzYkNJRVJRMEFJQUFvQXB3QklRTURRQ0FESUFBb0FrZ29BaEFnQWhCTElBTkJqQ3hxSVFNZ0MwRUJhaUlMSUFSSERRQUxDeUFCUVJCeFJRMEFJQUFvQXNnQklRRkIwdzFCSlNBQ0VCMGdCU0FCL1FBREFQMExCSEFnQWtISkt5QUZRZkFBYWhBV1FjRU5RUkVnQWhBZEFrQWdBU2dDSEVVTkFDQUJLQUlZUlEwQVFRQWhBd05BSUFFb0Fod2dBMEVZYkdvaUFDOEJBQ0VFSUFBcEF3Z2hEU0FGSUFBb0FoQTJBbUFnQlNBTk53TllJQVVnQkRZQ1VDQUNRWXM0SUFWQjBBQnFFQllnQTBFQmFpSURJQUVvQWhoSkRRQUxDMEdhREVFRUlBSVFIUUpBSUFFb0FpZ2lCRVVOQUNBQktBSWtJZ2RGRFFCQkFDRURRUUFoQUFKQUlBZEJCRThFUUNBSFFYeHhJUUFEUUNBRUlBTkJBM0pCS0d4cVFRUnFJQVFnQTBFQ2NrRW9iR3BCQkdvZ0JDQURRUUZ5UVNoc2FrRUVhaUFFSUFOQktHeHEvUWtDQlAxV0FnQUIvVllDQUFMOVZnSUFBeUFNL2E0QklRd2dBMEVFYWlJRElBQkhEUUFMSUF3Z0RDQU0vUTBJQ1FvTERBME9Ed0FCQWdNQUFRSUQvYTRCSWd3Z0RDQU0vUTBFQlFZSEFBRUNBd0FCQWdNQUFRSUQvYTRCL1JzQUlRTWdBQ0FIUmcwQkN3TkFJQVFnQUVFb2JHb29BZ1FnQTJvaEF5QUFRUUZxSWdBZ0IwY05BQXNMSUFORkRRQkJzQTFCRUNBQ0VCMGdBU2dDSkFSQUlBRW9BaWdoQUVFQUlRY0RRQ0FGSUFBZ0IwRW9iQ0lFYWlnQ0JDSUdOZ0pFSUFVZ0J6WUNRQ0FDUWRFNElBVkJRR3NRRmlBQktBSW9JUUFDUUNBR1JRMEFRUUFoQXlBQUlBUnFLQUlRUlEwQUEwQWdBU2dDS0NBRWFpZ0NFQ0FEUVJoc2FpSUEvUUFEQUNFTUlBVWdBQ2tERURjRE9DQUZJQXo5Q3dNb0lBVWdBellDSUNBQ1FhWFJBQ0FGUVNCcUVCWWdBMEVCYWlJRElBWkhEUUFMSUFFb0FpZ2hBQXNDUUNBQUlBUnFJZ1lvQWhoRkRRQkJBQ0VESUFZb0FoUkZEUUFEUUNBQUlBUnFLQUlZSUFOQkdHeHFJZ0F2QVFBaEJpQUFLUU1JSVEwZ0JTQUFLQUlRTmdJUUlBVWdEVGNEQ0NBRklBWTJBZ0FnQWtHTE9DQUZFQllnQTBFQmFpSURJQUVvQWlnaUFDQUVhaWdDRkVrTkFBc0xJQWRCQVdvaUJ5QUJLQUlrU1EwQUN3dEJtZ3hCQkNBQ0VCMExRWndNUVFJZ0FoQWRDeUFGUWJBQmFpUUFDNDhDQVFOL0FrQkJBVUhvQVJBVElnRUVmeUFCUVFFMkFnQWdBVUVCTmdLNEFTQUJJQUV0QUx3QlFRWnlPZ0M4QVNBQlFRRkJqQ3dRRXlJQU5nSU1JQUJGRFFFZ0FVRUJRZWdIRUJNaUFEWUNFQ0FBUlEwQklBRkNBRGNETUNBQlFYODJBaXdnQVVIb0J6WUNGQUpBUVFGQk1CQVRJZ0FFUUNBQVFRQTJBaGdnQUVIa0FEWUNJQ0FBUWVRQVFSZ1FFeUlDTmdJY0lBSU5BU0FBRUJBTElBRkJBRFlDeUFFTUFnc2dBRUVBTmdJb0lBRWdBRFlDeUFFZ0FSQXpJZ0EyQXNRQklBQkZEUUVnQVJBeklnQTJBc0FCSUFCRkRRRUNRQkNSQVVVTkFBc2dBVUVBRUdZaUFEWUMxQUVnQUVVRVFDQUJRUUFRWmlJQU5nTFVBU0FBUlEwQ0N5QUJCVUVBQ3c4TElBRVFPRUVBQzQwSkFnbC9BWDRqQUVIUUFXc2lCeVFBSUFBb0FrZ2hDUUpBQWtBQ1FDQUFLQUpvUVFGSERRQWdBQ2dDYkVFQlJ3MEFJQUFvQXB3QktBTGNLdzBCQ3lBQUtBSUlRUWhHRFFBZ0JrRUJRZUhPQUVFQUVBOE1BUXNDUUNBQktBSVFJZ3hGRFFBZ0FDZ0NvQUVoQ2lBQktBSVlJUXNnREVFSVR3UkFJQXhCZUhFaER3TkFJQXNnQ0VFMGJHb2dDallDS0NBTElBaEJBWEpCTkd4cUlBbzJBaWdnQ3lBSVFRSnlRVFJzYWlBS05nSW9JQXNnQ0VFRGNrRTBiR29nQ2pZQ0tDQUxJQWhCQkhKQk5HeHFJQW8yQWlnZ0N5QUlRUVZ5UVRSc2FpQUtOZ0lvSUFzZ0NFRUdja0UwYkdvZ0NqWUNLQ0FMSUFoQkIzSkJOR3hxSUFvMkFpZ2dDRUVJYWlFSUlBNUJDR29pRGlBUFJ3MEFDd3NnREVFSGNTSU1SUTBBQTBBZ0N5QUlRVFJzYWlBS05nSW9JQWhCQVdvaENDQU5RUUZxSWcwZ0RFY05BQXNMSUFJZ0EzSWdCSElnQlhKRkJFQWdCa0VFUWE4d1FRQVFEeUFBUWdBM0Fod2dBQ0FBS1FKb053SWtJQUVnQ2YwQUFnRDlDd0lBSUFFZ0JoQTNJUWdNQVFzZ0FrRUFTQVJBSUFjZ0FqWUNBQ0FHUVFGQng5MEFJQWNRRDBFQUlRZ01BUXNnQWlBSktBSUlJZ2hMQkVBZ0J5QUlOZ0lVSUFjZ0FqWUNFQ0FHUVFGQm0rRUFJQWRCRUdvUUQwRUFJUWdNQVFzQ1FDQUNJQWtvQWdBaUNFa0VRQ0FISUFnMkFzUUJJQWNnQWpZQ3dBRWdCa0VDUWZ2akFDQUhRY0FCYWhBUElBQkJBRFlDSENBSktBSUFJUUlNQVFzZ0FDQUNJQUFvQWxScklBQW9BbHh1TmdJY0N5QUJJQUkyQWdBZ0EwRUFTQVJBSUFjZ0F6WUNJQ0FHUVFGQmg5MEFJQWRCSUdvUUQwRUFJUWdNQVFzZ0F5QUpLQUlNSWdKTEJFQWdCeUFDTmdJMElBY2dBellDTUNBR1FRRkI3dDhBSUFkQk1Hb1FEMEVBSVFnTUFRc0NRQ0FESUFrb0FnUWlBa2tFUUNBSElBSTJBclFCSUFjZ0F6WUNzQUVnQmtFQ1FjemlBQ0FIUWJBQmFoQVBJQUJCQURZQ0lDQUpLQUlFSVFNTUFRc2dBQ0FESUFBb0FsaHJJQUFvQW1CdU5nSWdDeUFCSUFNMkFnUkJBQ0VJSUFSQkFFd0VRQ0FISUFRMkFrQWdCa0VCUWNYY0FDQUhRVUJyRUE4TUFRc2dCQ0FKS0FJQUlnSkpCRUFnQnlBQ05nSlVJQWNnQkRZQ1VDQUdRUUZCb3VNQUlBZEIwQUJxRUE4TUFRc0NRQ0FFSUFrb0FnZ2lBa3NFUUNBSElBSTJBcVFCSUFjZ0JEWUNvQUVnQmtFQ1FjUGdBQ0FIUWFBQmFoQVBJQUFnQUNnQ2FEWUNKQ0FKS0FJSUlRUU1BUXNnQUNBQU5RSmNJaEFnQkNBQUtBSlVhNjE4UWdGOUlCQ0FQZ0lrQ3lBQklBUTJBZ2dnQlVFQVRBUkFJQWNnQlRZQ1lDQUdRUUZCZ3R3QUlBZEI0QUJxRUE4TUFRc2dCU0FKS0FJRUlnSkpCRUFnQnlBQ05nSjBJQWNnQlRZQ2NDQUdRUUZCOHVFQUlBZEI4QUJxRUE4TUFRc0NRQ0FGSUFrb0Fnd2lBa3NFUUNBSElBSTJBcFFCSUFjZ0JUWUNrQUVnQmtFQ1FaWGZBQ0FIUVpBQmFoQVBJQUFnQUNnQ2JEWUNLQ0FKS0FJTUlRVU1BUXNnQUNBQU5RSmdJaEFnQlNBQUtBSllhNjE4UWdGOUlCQ0FQZ0lvQ3lBQklBVTJBZ3dnQUNBQUxRQkVRUUp5T2dCRUlBRWdCaEEzSWdoRkJFQkJBQ0VJREFFTElBY2dBZjBBQWdEOUN3U0FBU0FHUVFSQnREa2dCMEdBQVdvUUR3c2dCMEhRQVdva0FDQUlDNVVDQVFkL0l3QkJJR3NpQlNRQUFuOGdBQ2dDU0NJRVJRUkFJQU5CQVVIRjVnQkJBQkFQUVFBTUFRdEJBRUVFSUFRb0FoQVFFeUlFUlEwQUdpQUJCRUFnQUNnQ1NDRUlBMEFDUUFKQUlBSWdCa0VDZEdvb0FnQWlCeUFJS0FJUVR3UkFJQVVnQnpZQ0VDQURRUUZCK1JFZ0JVRVFhaEFQREFFTElBUWdCMEVDZEdvaUNTZ0NBRVVOQVNBRklBYzJBZ0FnQTBFQlFZMGFJQVVRRHdzZ0JCQVFRUUFNQXdzZ0NVRUJOZ0lBSUFaQkFXb2lCaUFCUncwQUN3c2dCQkFRSUFBb0FrQVFFQUpBSUFFRVFDQUFJQUZCQW5RaUJCQVVJZ00yQWtBZ0EwVUVRQ0FBUVFBMkFqeEJBQXdEQ3lBRElBSWdCQkFTR2d3QkN5QUFRUUEyQWtBTElBQWdBVFlDUEVFQkN5RUtJQVZCSUdva0FDQUtDN3dGQVFkL0lBRkJBVUVrRUJNaUJEWUNTQUpBQWtBZ0JFVU5BQUpBSUFFb0FzUUJRUklnQXhBa0JFQWdBU2dDeEFGQkV5QURFQ1FOQVFzTUFnc2dBU2dDeEFFaUJ5Z0NBQ0VHSUFjb0FnZ2hCQUpBSUFZRVFFRUJJUVVnQmtFQlJ3UkFJQVpCZm5FaENRTkFBbjlCQUNBRlJRMEFHa0VBSUFFZ0FDQURJQVFvQWdBUkFBQkZEUUFhSUFFZ0FDQURJQVFvQWdRUkFBQkJBRWNMSVFVZ0JFRUlhaUVFSUFoQkFtb2lDQ0FKUncwQUN3c0NRQUpBSUFaQkFYRUVRQ0FGUlEwQklBRWdBQ0FESUFRb0FnQVJBQUJCQUVjaEJRc2dCMEVBTmdJQUlBVkZEUUVNQXdzZ0IwRUFOZ0lBQ3d3REN5QUhRUUEyQWdBTEFrQWdBU2dDd0FGQkZDQURFQ1FFUUNBQktBTEFBVUVWSUFNUUpBMEJDd3dDQ3lBQktBTEFBU0lIS0FJQUlRWWdCeWdDQ0NFRUFrQWdCZ1JBUVFFaEJTQUdRUUZ4SVFrZ0JrRUJSZ1IvUVFBRklBWkJmbkVoQmtFQUlRZ0RRQUovUVFBZ0JVVU5BQnBCQUNBQklBQWdBeUFFS0FJQUVRQUFSUTBBR2lBQklBQWdBeUFFS0FJRUVRQUFRUUJIQ3lFRklBUkJDR29oQkNBSVFRSnFJZ2dnQmtjTkFBc2dCVVVMSVFZQ1FBSkFJQWtFUUNBR0RRRWdBU0FBSUFNZ0JDZ0NBQkVBQUVFQVJ5RUZDeUFIUVFBMkFnQWdCVVVOQVF3REN5QUhRUUEyQWdBTERBTUxJQWRCQURZQ0FBc2dBa0VCUVNRUUV5SUFOZ0lBSUFCRkRRQWdBU2dDU0NBQUVEOGdBU2dDeUFFZ0FTZ0NiQ0FCS0FKb2JDSUFOZ0lrSUFCQktCQVRJUU1nQVNnQ3lBRWlBQ0FETmdJb0FrQWdBMFVOQUNBQUtBSWtSUVJBUVFFUEMwRUFJUVFEUUNBRElBUkJLR3dpQldvaUFFRUFOZ0lVSUFCQjVBQTJBaHhCNUFCQkdCQVRJUUFnQlNBQktBTElBU0lIS0FJb0lnTnFJQUEyQWhnZ0FFVU5BVUVCSVFvZ0JFRUJhaUlFSUFjb0FpUkpEUUFMREFFTElBSW9BZ0FRSVVFQUlRb2dBa0VBTmdJQUN5QUtEd3NnQVNnQ1NCQWhJQUZCQURZQ1NFRUFDd0lBQ3dRQVFRRUxOQUFDUUNBQVJRMEFJQUZGRFFBZ0FDQUJLQUlFTmdLa0FTQUFJQUVvQWdBMkFxQUJJQUFnQVNnQ3VFQkJBbkUyQXVBQkN3dTBCUUVJZnlBQUtBSVlJZ1FvQWhBaUNVVUVRRUVBRHdzZ0JDZ0NHQ0VGSUFBb0FoUW9BZ0FvQWhRaEJBSkFBa0FnQVVVRVFFRUFJUUVEUUNBRktBSVlJUUlnQkNnQ0hDQUVLQUlZUVpnQmJHb2lBRUdNQVdzb0FnQWlCeUFBUVpRQmF5Z0NBQ0lJYXlFRElBQkJrQUZyS0FJQUlBQkJtQUZyS0FJQWF5RUFBa0FnQnlBSVJnMEFJQUN0SUFPdGZrSWdpRkFOQUF3RUN5QUFJQU5zSVFNQ1FFRUVJQUpCQTNZZ0FrRUhjVUVBUjJvaUFDQUFRUU5HR3lJQ1JRMEFJQUt0SUFPdGZrSWdpRkFOQUF3RUMwRi9JUUFnQWlBRGJDSUNJQUZCZjNOTERRSWdCRUhNQUdvaEJDQUZRVFJxSVFVZ0FTQUNhaUlCSVFBZ0JrRUJhaUlHSUFsSERRQUxEQUVMUVFBaEFTQUFLQUpBUlFSQUEwQWdCU2dDR0NFQ0lBUW9BaHdnQkNnQ0dFR1lBV3hxSWdCQkJHc29BZ0FpQnlBQVFReHJLQUlBSWdocklRTWdBRUVJYXlnQ0FDQUFRUkJyS0FJQWF5RUFBa0FnQnlBSVJnMEFJQUN0SUFPdGZrSWdpRkFOQUF3RUN5QUFJQU5zSVFNQ1FFRUVJQUpCQTNZZ0FrRUhjVUVBUjJvaUFDQUFRUU5HR3lJQ1JRMEFJQUt0SUFPdGZrSWdpRkFOQUF3RUMwRi9JUUFnQWlBRGJDSUNJQUZCZjNOTERRSWdCRUhNQUdvaEJDQUZRVFJxSVFVZ0FTQUNhaUlCSVFBZ0JrRUJhaUlHSUFsSERRQUxEQUVMQTBBZ0JTZ0NHQ0VDSUFRb0Fod2dCQ2dDR0VHWUFXeHFJZ0JCakFGcktBSUFJZ2NnQUVHVUFXc29BZ0FpQ0dzaEF5QUFRWkFCYXlnQ0FDQUFRWmdCYXlnQ0FHc2hBQUpBSUFjZ0NFWU5BQ0FBclNBRHJYNUNJSWhRRFFBTUF3c2dBQ0FEYkNFREFrQkJCQ0FDUVFOMklBSkJCM0ZCQUVkcUlnQWdBRUVEUmhzaUFrVU5BQ0FDclNBRHJYNUNJSWhRRFFBTUF3dEJmeUVBSUFJZ0Eyd2lBaUFCUVg5elN3MEJJQVJCekFCcUlRUWdCVUUwYWlFRklBRWdBbW9pQVNFQUlBWkJBV29pQmlBSlJ3MEFDd3NnQUE4TFFYOEwyZ1FCQzM4Z0FBUkFJQUFvQWhRaUFRUkFJQUVvQWdBaUJRUkFJQVVvQWhRaEF5QUZLQUlRQkg5QkVFRVJJQUF0QUNoQkFYRWJJUWdEUUNBREtBSWNJZ0lFUUNBREtBSWdJZ0ZCbUFGdUlRcEJBQ0VKSUFGQm1BRlBCSDhEUUNBQ0tBSXdJZ0VFUUNBQ0tBSTBJZ1pCS0c0aEIwRUFJUVFnQmtFb1R3Ui9BMEFnQVNnQ0lCQXBJQUZCQURZQ0lDQUJLQUlrRUNrZ0FVRUFOZ0lrSUFFZ0NCRUNBQ0FCUVNocUlRRWdCRUVCYWlJRUlBZEhEUUFMSUFJb0FqQUZJQUVMRUJBZ0FrRUFOZ0l3Q3lBQ0tBSlVJZ0VFUUNBQ0tBSllJZ1pCS0c0aEIwRUFJUVFnQmtFb1R3Ui9BMEFnQVNnQ0lCQXBJQUZCQURZQ0lDQUJLQUlrRUNrZ0FVRUFOZ0lrSUFFZ0NCRUNBQ0FCUVNocUlRRWdCRUVCYWlJRUlBZEhEUUFMSUFJb0FsUUZJQUVMRUJBZ0FrRUFOZ0pVQ3lBQ0tBSjRJZ0VFUUNBQ0tBSjhJZ1pCS0c0aEIwRUFJUVFnQmtFb1R3Ui9BMEFnQVNnQ0lCQXBJQUZCQURZQ0lDQUJLQUlrRUNrZ0FVRUFOZ0lrSUFFZ0NCRUNBQ0FCUVNocUlRRWdCRUVCYWlJRUlBZEhEUUFMSUFJb0FuZ0ZJQUVMRUJBZ0FrRUFOZ0o0Q3lBQ1FaZ0JhaUVDSUFsQkFXb2lDU0FLUncwQUN5QURLQUljQlNBQ0N4QVFJQU5CQURZQ0hBc0NRQ0FES0FJb1JRMEFJQU1vQWlRaUFVVU5BQ0FCRUJBZ0EvME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMExBaVFMSUFNb0FqUVFFQ0FEUWN3QWFpRURJQXRCQVdvaUN5QUZLQUlRU1EwQUN5QUZLQUlVQlNBREN4QVFJQVZCQURZQ0ZDQUFLQUlVS0FJQUVCQWdBQ2dDRkNJQlFRQTJBZ0FMSUFFUUVDQUFRUUEyQWhRTElBQW9Ba1FRRUNBQUVCQUxDOHNUQVJWL0l3QkJJR3NpRHlRQUlBOGdCVFlDR0NBQklBTW9BaHhCekFCc2FpZ0NIQ0FES0FJZ1FaZ0JiR29oRVFKQUFrQWdBeWdDS0EwQUlCRW9BaGhGRFFBZ0VVRWNhaUVKQTBBQ1FDQUpLQUlJSUFrb0FnQkhCSDhnQ1NnQ0RDQUpLQUlFUmdWQkFRc05BQ0FES0FJa0lnRWdDU2dDR0VFb2JrOEVRQ0FJUVFGQmdoVkJBQkFQREFRTElBa29BaFFnQVVFb2JHb2lBU2dDSUJCaUlBRW9BaVFRWWlBQktBSVVJQUVvQWhCc0lnMUZEUUFnQVNnQ0dDRUJJQTFCQ0U4RVFDQU5RWGh4SVF0QkFDRUtBMEFnQVVJQU53TG9BeUFCUWdBM0FxZ0RJQUZDQURjQzZBSWdBVUlBTndLb0FpQUJRZ0EzQXVnQklBRkNBRGNDcUFFZ0FVSUFOd0pvSUFGQ0FEY0NLQ0FCUVlBRWFpRUJJQXBCQ0dvaUNpQUxSdzBBQ3d0QkFDRUtJQTFCQjNFaURVVU5BQU5BSUFGQ0FEY0NLQ0FCUVVCcklRRWdDa0VCYWlJS0lBMUhEUUFMQ3lBSlFTUnFJUWtnREVFQmFpSU1JQkVvQWhoSkRRQUxDeUFGSVEwQ1FDQUNMUUFBUVFKeFJRMEFJQWRCQlUwRVFDQUlRUUpCc1I5QkFCQVBEQUVMQWtBZ0JTMEFBRUgvQVVZRVFDQUZMUUFCUVpFQlJnMEJDeUFJUVFKQjJ4OUJBQkFQREFFTElBOGdCVUVHYWlJTk5nSVlDMEVVRUJRaUMwVU5BQUovSUFBdEFHeEJBWEVFUUNBQVFTaHFJUWNnQUNnQ0tDRU5JQUJCTEdvTUFRc2dBaTBBaUN4QkFuRUVRQ0FDUWJBb2FpRUhJQUlvQXJBb0lRMGdBa0c4S0dvTUFRc2dEeUFGSUFkcUlBMXJOZ0ljSUE5QkdHb2hCeUFQUVJ4cUN5SVNLQUlBSVFBZ0MwSUFOd0lNSUFzZ0RUWUNDQ0FMSUEwMkFnQWdDeUFBSUExcU5nSUVJQXRCQVJBZlJRUkFJQXNRWkJvZ0N5Z0NDQ0FMS0FJQWF5RWFJQXNRTENBYUlBMXFJUUVDUUNBQ0xRQUFRUVJ4UlEwQUlBY29BZ0FnRWlnQ0FDQUJhMnBCQVUwRVFDQUlRUUpCbUNGQkFCQVBEQUVMQWtBZ0FTMEFBRUgvQVVZRVFDQUJMUUFCUVpJQlJnMEJDeUFJUVFKQndpRkJBQkFQREFFTElBRkJBbW9oQVFzZ0VpQVNLQUlBSUFjb0FnQWdBV3RxTmdJQUlBY2dBVFlDQUNBRVFRQTJBZ0FnQmlBUEtBSVlJQVZyTmdJQVFRRWhGd3dCQ3lBUktBSVlCRUFnRVVFY2FpRVFBMEFnQXlnQ0pDRUFJQkFvQWhRaEFRSkFJQkFvQWdnZ0VDZ0NBRWNFZnlBUUtBSU1JQkFvQWdSR0JVRUJDdzBBSUFFZ0FFRW9iR29pRkNnQ0ZDQVVLQUlRYkNJWVJRMEFJQlFvQWhnaENVRUFJUlVEUUFKQUFuOGdDU2dDS0VVRVFDQUxJQlFvQWlBZ0ZTQURLQUlvUVFGcUVHQU1BUXNnQzBFQkVCOExSUVJBSUFsQkFEWUNKQXdCQ3lBSktBSW9SUVJBUVFBaEFRTkFJQUVpQUVFQmFpRUJJQXNnRkNnQ0pDQVZJQUFRWUVVTkFBc2dFQ2dDSENFQklBbEJBellDSUNBSklBRTJBaGdnQ1NBQklBQnJRUUZxTmdJY0N5QUpBbjlCQVNBTFFRRVFIMFVOQUJwQkFpQUxRUUVRSDBVTkFCb2dDMEVDRUI4aUFFRURSd1JBSUFCQkEyb01BUXNnQzBFRkVCOGlBRUVmUndSQUlBQkJCbW9NQVFzZ0MwRUhFQjlCSldvTE5nSWtRUUFoQVFOQUlBRWlBRUVCYWlFQklBdEJBUkFmRFFBTElBa2dDU2dDSUNBQWFqWUNJQUpBQWtBQ2Z5QUpLQUlvSWdCRkJFQWdBaWdDMENzZ0F5Z0NIRUc0Q0d4cUtBSVFJUUFnQ1NnQ01FVUVRQ0FKS0FJQVFmQUJFQmNpQVVVTkJDQUpJQUUyQWdBZ0FTQUpLQUl3UVJoc2FrRUFRZkFCRUJVYUlBbEJDallDTUFzZ0NTZ0NBQ0lCL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1FzQ0FDQUJRZ0EzQWhCQkFVRUtRZTBBSUFCQkFYRWJJQUJCQkhFYklRcEJBQXdCQ3lBSktBSUFJZ0VnQUVFQmF5SU1RUmhzYWlJS0tBSUVJQW9vQWd4SERRRWdBaWdDMENzZ0F5Z0NIRUc0Q0d4cUtBSVFJUW9nQ1NnQ01DSU1JQUJCQVdwSkJIOGdBU0FNUVFwcUlneEJHR3dRRnlJQlJRMERJQWtnQVRZQ0FDQUJJQWtvQWpCQkdHeHFRUUJCOEFFUUZSb2dDU0FNTmdJd0lBa29BZ0FGSUFFTElBQkJHR3hxSWdIOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOUN3SUFJQUZDQURjQ0VBSi9RUUVnQ2tFRWNRMEFHa0h0QUNBS1FRRnhSUTBBR2tFQ1FRSkJBU0FCUVF4cktBSUFJZ3BCQ2tZYklBcEJBVVliQ3lFS0lBQUxJUXdnQVNBS05nSU1DeUFKS0FJa0lRQWdBaWdDMENzZ0F5Z0NIRUc0Q0d4cUxRQVFRY0FBY1FSQUEwQWdERUVZYkNJT0lBa29BZ0JxSUFCQkFTQU1HeUlUTmdJUUlBa29BaUFoRmtFQUlRb2dBQ0VCSUJOQkFrOEVRQU5BSUFwQkFXb2hDaUFCUVFOTElSc2dBVUVCZGlFQklCc05BQXNMSUFvZ0Ztb2lBVUVoVHdSQUlBOGdBVFlDRUNBSVFRRkJ2UFFBSUE5QkVHb1FEd3dEQ3lBTElBRVFIeUVLSUFrb0FnQWlBU0FPYWlJT0lBbzJBaFFnQUNBT0tBSVFheUlBUVFCTURRTWdBaWdDMENzZ0F5Z0NIRUc0Q0d4cUtBSVFJUW9nQ1NnQ01DSU9JQXhCQW1wSkJFQWdBU0FPUVFwcUlnNUJHR3dRRnlJQlJRMERJQWtnQVRZQ0FDQUJJQWtvQWpCQkdHeHFRUUJCOEFFUUZSb2dDU0FPTmdJd0lBa29BZ0FoQVFzZ0FTQU1RUUZxSWd4QkdHeHFJZ0g5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5Q3dJQUlBRkNBRGNDRUNBQkFuOUJBU0FLUVFSeERRQWFRZTBBSUFwQkFYRkZEUUFhUVFKQkFrRUJJQUZCREdzb0FnQWlBVUVLUmhzZ0FVRUJSaHNMTmdJTURBQUxBQXNEUUNBTVFSaHNJZzRnQ1NnQ0FHb2lBU0FCS0FJTUlBRW9BZ1JySWdFZ0FDQUFJQUZLR3lJQk5nSVFJQWtvQWlBaEUwRUFJUW9nQVVFQ1R3UkFBMEFnQ2tFQmFpRUtJQUZCQTBzaEhDQUJRUUYySVFFZ0hBMEFDd3NnQ2lBVGFpSUJRU0ZQQkVBZ0R5QUJOZ0lBSUFoQkFVRzg5QUFnRHhBUERBSUxJQXNnQVJBZklRb2dDU2dDQUNJQklBNXFJZzRnQ2pZQ0ZDQUFJQTRvQWhCcklnQkJBRXdOQWlBQ0tBTFFLeUFES0FJY1FiZ0liR29vQWhBaENpQUpLQUl3SWc0Z0RFRUNha2tFUUNBQklBNUJDbW9pRGtFWWJCQVhJZ0ZGRFFJZ0NTQUJOZ0lBSUFFZ0NTZ0NNRUVZYkdwQkFFSHdBUkFWR2lBSklBNDJBakFnQ1NnQ0FDRUJDeUFCSUF4QkFXb2lERUVZYkdvaUFmME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMExBZ0FnQVVJQU53SVFJQUVDZjBFQklBcEJCSEVOQUJwQjdRQWdDa0VCY1VVTkFCcEJBa0VDUVFFZ0FVRU1heWdDQUNJQlFRcEdHeUFCUVFGR0d3czJBZ3dNQUFzQUN5QUxFQ3dNQlFzZ0NVRkFheUVKSUJWQkFXb2lGU0FZUncwQUN3c2dFRUVrYWlFUUlCbEJBV29pR1NBUktBSVlTUTBBQ3dzZ0N4QmtSUVJBSUFzUUxBd0JDeUFMS0FJSUlBc29BZ0JySVIwZ0N4QXNJQjBnRFdvaEFRSkFJQUl0QUFCQkJIRkZEUUFnQnlnQ0FDQVNLQUlBSUFGcmFrRUJUUVJBSUFoQkFrR1lJVUVBRUE4TUFRc0NRQ0FCTFFBQVFmOEJSZ1JBSUFFdEFBRkJrZ0ZHRFFFTElBaEJBa0hDSVVFQUVBOE1BUXNnQVVFQ2FpRUJDeUFTSUJJb0FnQWdCeWdDQUNBQmEybzJBZ0FnQnlBQk5nSUFRUUVoRnlBRVFRRTJBZ0FnQmlBUEtBSVlJQVZyTmdJQUN5QVBRU0JxSkFBZ0Z3dVdKQUlVZnc1K0FrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FDQUFLQUpVRGdVQUFRSURCQW9MQWtBZ0FDZ0NOQ0lHSUFBb0FzUUJJZ0ZKQkVBZ0FDZ0NRQ0lISUFGQkFXcEpEUUVMSUFBb0F1d0JRUUZCOUQ5QkFCQVBEQXdMSUFBb0FpeEZCRUFnQUNnQ0pDRUNRUUFoQVF3RkN5QUFRUUEyQWl3Z0FDZ0NSQ0VEUVFFaEFRd0VDd0pBSUFBb0FqUWlCaUFBS0FMRUFTSUJTUVJBSUFBb0FrQWlCeUFCUVFGcVNRMEJDeUFBS0FMc0FVRUJRYUhBQUVFQUVBOE1Dd3NnQUNnQ0xFVUVRQ0FBS0FJa0lRUkJBQ0VCREFnTElBQkJBRFlDTENBQUtBSXdJUU5CQVNFQkRBY0xBa0FnQUNnQ05DSUVJQUFvQXNRQklncEpCRUFnQUNnQ1FDSU9JQXBCQVdwSkRRRUxJQUFvQXV3QlFRRkJxTUVBUVFBUUR3d0tDeUFBS0FJc1JRUkFJQUFvQWlnaEN3d0dDeUFBUWdBM0F1UUJJQUJCQURZQ0xDQUFLQUxJQVNFTUEwQWdEQ0FIUVFSMGFpSUZLQUlJSWc4RVFDQUZLQUlNSVJKQkFDRUJBMEFDUUNBUElBRkJmM05xSWhBZ0VpQUJRUVIwYWlJUktBSUFhaUlKUVI5TERRQWdCU2dDQUNJVFFYOGdDWFpMRFFBZ0FDQUNJQk1nQ1hRaUNTQUNJQWxKR3lBSklBSWJJZ0kyQXVRQkN3SkFJQkVvQWdRZ0VHb2lDVUVmU3cwQUlBVW9BZ1FpRUVGL0lBbDJTdzBBSUFBZ0F5QVFJQWwwSWdrZ0F5QUpTUnNnQ1NBREd5SUROZ0xvQVFzZ0FVRUJhaUlCSUE5SERRQUxDeUFIUVFGcUlnY2dDa2NOQUFzZ0FrVU5CeUFEUlEwSElBQXRBQUJGQkVBZ0FDQUFLQUxRQVRZQ2JDQUFJQUFvQXN3Qk5nSmtJQUFnQUNnQzJBRTJBbkFnQUNBQUtBTFVBVFlDYUFzZ0FDZ0NNQ0VGUVFFaEFRd0ZDd0pBSUFBb0FqUWlCU0FBS0FMRUFTSUpTUVJBSUFBb0FrQWlFaUFKUVFGcVNRMEJDeUFBS0FMc0FVRUJRZnZBQUVFQUVBOE1DUXNnQUNnQ0xFVUVRQ0FBS0FMSUFTSU5JQUFvQWh3aUJFRUVkR29oQ3lBQUtBSW9JUWdNQkFzZ0FFSUFOd0xrQVNBQVFRQTJBaXdnQUNnQ3lBRWhEUU5BSUEwZ0JrRUVkR29pQ2lnQ0NDSU9CRUFnQ2lnQ0RDRVFRUUFoQVFOQUFrQWdEaUFCUVg5emFpSVJJQkFnQVVFRWRHb2lFeWdDQUdvaURFRWZTdzBBSUFvb0FnQWlGRUYvSUF4MlN3MEFJQUFnQWlBVUlBeDBJZ3dnQWlBTVNSc2dEQ0FDR3lJQ05nTGtBUXNDUUNBVEtBSUVJQkZxSWd4Qkgwc05BQ0FLS0FJRUloRkJmeUFNZGtzTkFDQUFJQU1nRVNBTWRDSU1JQU1nREVrYklBd2dBeHNpQXpZQzZBRUxJQUZCQVdvaUFTQU9SdzBBQ3dzZ0JrRUJhaUlHSUFsSERRQUxJQUpGRFFZZ0EwVU5CZ0pBSUFBdEFBQUVRQ0FBS0FKc0lRWU1BUXNnQUNBQUtBTFFBU0lHTmdKc0lBQWdBQ2dDekFFMkFtUWdBQ0FBS0FMWUFUWUNjQ0FBSUFBb0F0UUJOZ0pvQzBFQklRRU1Bd3NDUUNBQUtBSTBJZ1lnQUNnQ3hBRWlBVWtFUUNBQUtBSkFJZzhnQVVFQmFra05BUXNnQUNnQzdBRkJBVUhPd0FCQkFCQVBEQVlMSUFBb0FpeEZCRUFnQUNnQ3lBRWdBQ2dDSENJR1FRUjBhaUVGSUFBb0FpZ2hCMEVBSVFFTUFnc2dBQ0FHTmdJY0lBQkJBRFlDTEVFQklRRU1BUXNEUUFKL0FrQWdBVVVFUUNBQ1FRRnFJUUlNQVFzZ0FDQUROZ0lvSUFBb0FqZ2dBMDBOQ1NBQUtBSXdJUVJCQUF3QkMwRUJDeUVCQTBBQ1FBSkFBa0FDUUNBQlJRUkFJQUFnQkRZQ0lDQUVJQUFvQWp4UERRRWdBQ0FHTmdJY0lBWWhBVUVBSVFVTUJBc2dBQ0FDTmdJa0lBQW9Ba3dnQWswRVFDQUFLQUljSVFGQkFTRUZEQVFMSUFBb0FoQWdBQ2dDSUd3Z0FDZ0NEQ0FBS0FJb2JHb2dBQ2dDRkNBQUtBSWNiR29nQUNnQ0dDQUNiR29pQVNBQUtBSUlUd1JBREF3TElBQW9BZ1FnQVVFQmRHb2lBUzhCQUEwQkRBMExJQUFvQWloQkFXb2hBd3dCQzBFQUlRRU1Bd3RCQVNFQkRBSUxBMEFDUUFKQUFrQWdCVVVFUUNBQklBZFBEUUVnQUNnQ0lDSUZJQUFvQXNnQklBRkJCSFJxSWcwb0FnaFBEUU1nQUMwQUFFVUVRQ0FBSUEwb0Fnd2dCVUVFZEdvaUFTZ0NEQ0FCS0FJSWJEWUNUQXNnQUNnQ1NDRUNRUUVoQVF3RkN5QUFJQUZCQVdvaUFUWUNIQXdCQ3lBQUtBSWdRUUZxSVFSQkFDRUJEQU1MUVFBaEJRd0JDMEVCSVFVTUFBc0FDd0FMQUFzRFFBSi9Ba0FnQVVVRVFDQUFJQWRCQVdvaUJ6WUNLQXdCQ3lBR0lBOVBEUWdnQUVJQU53TGtBU0FBS0FMSUFTQUdRUVIwYWlJRktBSUlJZ3RGRFFnZ0JTZ0NEQ0VLUVFBaEFrRUFJUVJCQUNFQkEwQUNRQ0FMSUFGQmYzTnFJZ2tnQ2lBQlFRUjBhaUlPS0FJQWFpSUlRUjlMRFFBZ0JTZ0NBQ0lNUVg4Z0NIWkxEUUFnQUNBRUlBd2dDSFFpQ0NBRUlBaEpHeUFJSUFRYklnUTJBdVFCQ3dKQUlBNG9BZ1FnQ1dvaUNFRWZTdzBBSUFVb0FnUWlDVUYvSUFoMlN3MEFJQUFnQWlBSklBaDBJZ2dnQWlBSVNSc2dDQ0FDR3lJQ05nTG9BUXNnQVVFQmFpSUJJQXRIRFFBTElBUkZEUVlnQWtVTkJnSkFJQUF0QUFBRVFDQUFLQUpzSVFJTUFRc2dBQ0FBS0FMUUFTSUNOZ0pzSUFBZ0FDZ0N6QUUyQW1RZ0FDQUFLQUxZQVRZQ2NDQUFJQUFvQXRRQk5nSm9DMEVBREFFTFFRRUxJUUVEUUFKQUFrQUNRQUpBSUFGRkJFQWdBQ0FDTmdMZ0FTQUNJQUFvQW5CUERRRWdBQ2dDWkNFTlFRQWhBUXdFQ3lBQUtBSTRJQWROQkVBZ0FDZ0NJQ0VEUVFFaEFRd0VDeUFBS0FJUUlBQW9BaUJzSUFBb0Fnd2dCMnhxSUFBb0FoUWdCbXhxSUFBb0FoZ2dBQ2dDSkd4cUlnRWdBQ2dDQ0U4RVFBd0xDeUFBS0FJRUlBRkJBWFJxSWdFdkFRQU5BUXdNQ3lBQUlBWkJBV29pQmpZQ0hBd0JDMEVBSVFFTUF3dEJBU0VCREFJTEEwQUNRQUpBQWtBZ0FBSi9JQUZGQkVBZ0FDQU5OZ0xjQVNBTklBQW9BbWhQRFFJZ0FDZ0NNQXdCQ3lBRFFRRnFDeUlETmdJZ0lBQW9BandpQVNBRktBSUlJZ1FnQVNBRVNSc2dBMHNFUUNBRktBSUFJZ0VnQWEwaUhpQUVJQU5CZjNOcUlnaXRJaGFHSWhjZ0ZvaW5SdzBESUFVb0FnUWlCRUovSUJhSXAzRWdCRWNOQXlBRXJTSVZJQmFHSWhoQ0FYMGlHU0FBTlFMWUFYd2dHSUFoSHlBWklBQW9BdEFCSWdtdGZDQVlnQ0VhSUJkQ0FYMGlHeUFBTlFMVUFYd2dGNEFoSUNBYklBQW9Bc3dCSWc2dGZDQVhnQ0VjSUFGQ2Z5QUZLQUlNSUFOQkJIUnFJZ3NvQWdBaUNpQUlhcTBpSFlpbmNTQUJSdzBESUFRZ0ZTQUxLQUlFSWdFZ0NHcXRJaFdHSWlFZ0ZZaW5SdzBESUFBb0F1QUJJZ1N0SWlJZ0lZSkNBRklFUUNBRUlBbEhEUVJDZnlBVmhrSi9oU0FhUXYvLy8vOFBneUFXaG9OUURRUUxJQUFvQXR3QklnU3RJaFVnSGlBZGhvSkNBRklFUUNBRUlBNUhEUVJDZnlBZGhrSi9oU0FjUXYvLy8vOFBneUFXaG9OUURRUUxJQXNvQWdnaUJFVU5BeUFMS0FJTVJRMERJQnluSWdzZ0lLZEdEUU1nR3FjaUNDQWZwMFlOQXlBQUlBQW9Ba1FpQnpZQ0tDQUFJQlVnRzN3Z0Y0Q25JQXAySUFzZ0NuWnJJQmtnSW53Z0dJQ25JQUYySUFnZ0FYWnJJQVJzYWpZQ0pFRUJJUUVNQlFzZ0FDZ0MzQUVpQVNBQUtBTGtBU0lFYWlBQklBUndheUVOREFFTElBQW9BdUFCSWdFZ0FDZ0M2QUVpQkdvZ0FTQUVjR3NoQWtFQUlRRU1Bd3RCQUNFQkRBRUxRUUVoQVF3QUN3QUxBQXNBQ3dOQUFuOENRQ0FCUlFSQUlBQWdDRUVCYWlJSU5nSW9EQUVMSUFBZ0JqWUM0QUVnQUNnQ2NDQUdUUTBISUFBb0FtUWhEMEVBREFFTFFRRUxJUUVEUUFKQUFrQUNRQUpBSUFGRkJFQWdBQ0FQTmdMY0FTQVBJQUFvQW1oUERRRWdBQ0FGTmdJY0lBVWhCRUVBSVFFTUJBc2dBQ2dDT0NBSVRRUkFJQUFvQWlBaEIwRUJJUUVNQkFzZ0FDZ0NFQ0FBS0FJZ2JDQUFLQUlNSUFoc2FpQUFLQUlVSUFSc2FpQUFLQUlZSUFBb0FpUnNhaUlCSUFBb0FnaFBCRUFNQ2dzZ0FDZ0NCQ0FCUVFGMGFpSUJMd0VBRFFFTUN3c2dBQ2dDNEFFaUFTQUFLQUxvQVNJR2FpQUJJQVp3YXlFR0RBRUxRUUFoQVF3REMwRUJJUUVNQWdzRFFBSkFBa0FDUUFKQUlBRkZCRUFnQkNBU1R3MENJQUFnQUNnQ01DSUhOZ0lnSUEwZ0JFRUVkR29oQ3d3QkN5QUFJQWRCQVdvaUJ6WUNJQXNnQUNnQ1BDSUJJQXNvQWdnaUFpQUJJQUpKR3lBSFN3UkFJQXNvQWdBaUFTQUJyU0llSUFJZ0IwRi9jMm9pQ3EwaUZvWWlGeUFXaUtkSERRTWdDeWdDQkNJQ1FuOGdGb2luY1NBQ1J3MERJQUt0SWhVZ0ZvWWlHRUlCZlNJWklBQTFBdGdCZkNBWWdDRWZJQmtnQUNnQzBBRWlEcTE4SUJpQUlSb2dGMElCZlNJYklBQTFBdFFCZkNBWGdDRWdJQnNnQUNnQ3pBRWlESzE4SUJlQUlSd2dBVUovSUFzb0Fnd2dCMEVFZEdvaUF5Z0NBQ0lKSUFwcXJTSWRpS2R4SUFGSERRTWdBaUFWSUFNb0FnUWlBU0FLYXEwaUZZWWlJU0FWaUtkSERRTWdBQ2dDNEFFaUFxMGlJaUFoZ2tJQVVnUkFJQUlnRGtjTkJFSi9JQldHUW4rRklCcEMvLy8vL3crRElCYUdnMUFOQkFzZ0FDZ0MzQUVpQXEwaUZTQWVJQjJHZ2tJQVVnUkFJQUlnREVjTkJFSi9JQjJHUW4rRklCeEMvLy8vL3crRElCYUdnMUFOQkFzZ0F5Z0NDQ0lDUlEwRElBTW9BZ3hGRFFNZ0hLY2lBeUFncDBZTkF5QWFweUlLSUIrblJnMERJQUFnQUNnQ1JDSUlOZ0lvSUFBZ0ZTQWJmQ0FYZ0tjZ0NYWWdBeUFKZG1zZ0dTQWlmQ0FZZ0tjZ0FYWWdDaUFCZG1zZ0FteHFOZ0lrUVFFaEFRd0ZDeUFBSUFSQkFXb2lCRFlDSEF3QkN5QUFLQUxjQVNJQklBQW9BdVFCSWdKcUlBRWdBbkJySVE5QkFDRUJEQU1MUVFBaEFRd0JDMEVCSVFFTUFBc0FDd0FMQUFzRFFBSi9Ba0FnQVVVRVFDQUFJQXRCQVdvaUN6WUNLQXdCQ3lBQUlBVTJBaUFnQUNnQ1BDQUZUUTBHSUFBb0Ftd2hDRUVBREFFTFFRRUxJUUVEUUFKQUFrQUNRQUpBSUFGRkJFQWdBQ0FJTmdMZ0FTQUlJQUFvQW5CUERRRWdBQ2dDWkNFTlFRQWhBUXdFQ3lBQUtBSTRJQXROQkVBZ0FDZ0NIQ0VHUVFFaEFRd0VDeUFBS0FJUUlBQW9BaUJzSUFBb0Fnd2dDMnhxSUFBb0FoUWdBQ2dDSEd4cUlBQW9BaGdnQUNnQ0pHeHFJZ0VnQUNnQ0NFOEVRQXdKQ3lBQUtBSUVJQUZCQVhScUlnRXZBUUFOQVF3S0N5QUFLQUlnUVFGcUlRVU1BUXRCQUNFQkRBTUxRUUVoQVF3Q0N3TkFBa0FDUUFKQUFrQWdBVVVFUUNBQUlBMDJBdHdCSUEwZ0FDZ0NhRThOQWlBQUlBUTJBaHdnQkNFR0RBRUxJQUFnQmtFQmFpSUdOZ0ljQ3lBR0lBNUpCRUFnQUNnQ0lDSUhJQUFvQXNnQklBWkJCSFJxSWdFb0FnZ2lBMDhOQXlBQktBSUFJZ0lnQXEwaUhpQURJQWRCZjNOcUlncXRJaGFHSWhjZ0ZvaW5SdzBESUFFb0FnUWlBMEovSUJhSXAzRWdBMGNOQXlBRHJTSVZJQmFHSWhoQ0FYMGlHU0FBTlFMWUFYd2dHSUFoSHlBWklBQW9BdEFCSWcrdGZDQVlnQ0VhSUJkQ0FYMGlHeUFBTlFMVUFYd2dGNEFoSUNBYklBQW9Bc3dCSWdtdGZDQVhnQ0VjSUFKQ2Z5QUJLQUlNSUFkQkJIUnFJZ0VvQWdBaUJ5QUthcTBpSFlpbmNTQUNSdzBESUFNZ0ZTQUJLQUlFSWdJZ0NtcXRJaFdHSWlFZ0ZZaW5SdzBESUFBb0F1QUJJZ090SWlJZ0lZSkNBRklFUUNBRElBOUhEUVJDZnlBVmhrSi9oU0FhUXYvLy8vOFBneUFXaG9OUURRUUxJQUFvQXR3QklnT3RJaFVnSGlBZGhvSkNBRklFUUNBRElBbEhEUVJDZnlBZGhrSi9oU0FjUXYvLy8vOFBneUFXaG9OUURRUUxJQUVvQWdnaUEwVU5BeUFCS0FJTVJRMERJQnluSWdFZ0lLZEdEUU1nR3FjaUNpQWZwMFlOQXlBQUlBQW9Ba1FpQ3pZQ0tDQUFJQlVnRzN3Z0Y0Q25JQWQySUFFZ0IzWnJJQmtnSW53Z0dJQ25JQUoySUFvZ0FuWnJJQU5zYWpZQ0pFRUJJUUVNQlFzZ0FDZ0MzQUVpQVNBQUtBTGtBU0lDYWlBQklBSndheUVOREFFTElBQW9BdUFCSWdFZ0FDZ0M2QUVpQW1vZ0FTQUNjR3NoQ0VFQUlRRU1Bd3RCQUNFQkRBRUxRUUVoQVF3QUN3QUxBQXNBQ3dOQUFuOENRQ0FCUlFSQUlBUkJBV29oQkF3QkN5QUFJQU0yQWlBZ0FDZ0NQQ0FEVFEwRklBQW9Ba1FoQWtFQURBRUxRUUVMSVFFRFFBSkFBa0FDUUFKQUlBRkZCRUFnQUNBQ05nSW9JQUlnQUNnQ09FOE5BU0FBSUFZMkFod2dCaUVCUVFBaEJRd0VDeUFBSUFRMkFpUWdBQ2dDVENBRVRRUkFJQUFvQWh3aEFVRUJJUVVNQkFzZ0FDZ0NFQ0FBS0FJZ2JDQUFLQUlNSUFBb0FpaHNhaUFBS0FJVUlBQW9BaHhzYWlBQUtBSVlJQVJzYWlJQklBQW9BZ2hQQkVBTUNBc2dBQ2dDQkNBQlFRRjBhaUlCTHdFQURRRU1DUXNnQUNnQ0lFRUJhaUVEREFFTFFRQWhBUXdEQzBFQklRRU1BZ3NEUUFKQUFrQUNRQ0FGUlFSQUlBRWdCMDhOQVNBQUtBSWdJZ1VnQUNnQ3lBRWdBVUVFZEdvaURTZ0NDRThOQXlBQUxRQUFSUVJBSUFBZ0RTZ0NEQ0FGUVFSMGFpSUJLQUlNSUFFb0FnaHNOZ0pNQ3lBQUtBSklJUVJCQVNFQkRBVUxJQUFnQVVFQmFpSUJOZ0ljREFFTElBQW9BaWhCQVdvaEFrRUFJUUVNQXd0QkFDRUZEQUVMUVFFaEJRd0FDd0FMQUFzQUMwRUFEd3NnQUNnQzdBRkJBVUdhQ2tFQUVBOExRUUFQQ3lBQlFRRTdBUUJCQVF1UkN3RUtmd0pBSUFFb0FnQWdCRUVEYkNJTWRpSUdRWkNBZ0FGeERRQWdBQ0FBUVJ4cUlnNGdBQ2dDYkNBR1FlOERjV290QUFCQkFuUnFJZ28yQW1nZ0FDQUFLQUlFSUFvb0FnQWlDU2dDQUNJSWF5SUdOZ0lFQWtBZ0NDQUFLQUlBSWdkQkVIWkxCRUFnQ1NnQ0JDRUxJQUFnQ0RZQ0JDQUtJQWxCQ0VFTUlBWWdDRWtpQmh0cUtBSUFOZ0lBSUFzZ0MwVWdCaHNoQ1NBQUtBSUlJUVlEUUFKQUlBWU5BQ0FBS0FJUUlnWkJBV29oQ3lBR0xRQUJJUW9nQmkwQUFFSC9BVVlFUUNBS1FaQUJUd1JBSUFBZ0FDZ0NERUVCYWpZQ0RDQUhRWUQrQTJvaEIwRUlJUVlNQWdzZ0FDQUxOZ0lRSUFjZ0NrRUpkR29oQjBFSElRWU1BUXNnQUNBTE5nSVFRUWdoQmlBSElBcEJDSFJxSVFjTElBQWdCa0VCYXlJR05nSUlJQUFnQjBFQmRDSUhOZ0lBSUFBZ0NFRUJkQ0lJTmdJRUlBaEJnSUFDU1EwQUN5QUlJUVlNQVFzZ0FDQUhJQWhCRUhScklnYzJBZ0FnQmtHQWdBSnhSUVJBSUFrb0FnUWhDeUFLSUFsQkRFRUlJQVlnQ0VraUNCdHFLQUlBTmdJQUlBdEZJQXNnQ0JzaENTQUFLQUlJSVFnRFFBSkFJQWdOQUNBQUtBSVFJZ2hCQVdvaEN5QUlMUUFCSVFvZ0NDMEFBRUgvQVVZRVFDQUtRWkFCVHdSQUlBQWdBQ2dDREVFQmFqWUNEQ0FIUVlEK0Eyb2hCMEVJSVFnTUFnc2dBQ0FMTmdJUUlBY2dDa0VKZEdvaEIwRUhJUWdNQVFzZ0FDQUxOZ0lRUVFnaENDQUhJQXBCQ0hScUlRY0xJQUFnQ0VFQmF5SUlOZ0lJSUFBZ0IwRUJkQ0lITmdJQUlBQWdCa0VCZENJR05nSUVJQVpCZ0lBQ1NRMEFDd3dCQ3lBSktBSUVJUWtMSUFsRkRRQWdBQ0FPSUFFb0FnUWdERUVSYW5aQkJIRWdBVUVFYXlJTktBSUFJQXhCRTJwMlFRRnhJQUVvQWdBaUNDQU1RUkJxZGtIQUFIRWdDQ0FNZGtHcUFYRnlJQWdnREVFTWFrRU9JQVFiZGtFUWNYSnljaUlQUWRDNUFXb3RBQUJCQW5ScUlnczJBbWdnQUNBR0lBc29BZ0FpQ2lnQ0FDSUlheUlHTmdJRUFrQWdDQ0FIUVJCMlN3UkFJQW9vQWdRaENTQUFJQWcyQWdRZ0N5QUtRUWhCRENBR0lBaEpJZ1liYWlnQ0FEWUNBQ0FKSUFsRklBWWJJUW9nQUNnQ0NDRUdBMEFDUUNBR0RRQWdBQ2dDRUNJR1FRRnFJUXNnQmkwQUFTRUpJQVl0QUFCQi93RkdCRUFnQ1VHUUFVOEVRQ0FBSUFBb0FneEJBV28yQWd3Z0IwR0EvZ05xSVFkQkNDRUdEQUlMSUFBZ0N6WUNFQ0FISUFsQkNYUnFJUWRCQnlFR0RBRUxJQUFnQ3pZQ0VFRUlJUVlnQnlBSlFRaDBhaUVIQ3lBQUlBWkJBV3NpQmpZQ0NDQUFJQWRCQVhRaUJ6WUNBQ0FBSUFoQkFYUWlDRFlDQkNBSVFZQ0FBa2tOQUFzTUFRc2dBQ0FISUFoQkVIUnJJZ2syQWdBZ0JrR0FnQUp4UlFSQUlBb29BZ1FoQnlBTElBcEJERUVJSUFZZ0NFa2lDQnRxS0FJQU5nSUFJQWRGSUFjZ0NCc2hDaUFBS0FJSUlRY0RRQUpBSUFjTkFDQUFLQUlRSWdkQkFXb2hDeUFITFFBQklRZ2dCeTBBQUVIL0FVWUVRQ0FJUVpBQlR3UkFJQUFnQUNnQ0RFRUJhallDRENBSlFZRCtBMm9oQ1VFSUlRY01BZ3NnQUNBTE5nSVFJQWtnQ0VFSmRHb2hDVUVISVFjTUFRc2dBQ0FMTmdJUVFRZ2hCeUFKSUFoQkNIUnFJUWtMSUFBZ0IwRUJheUlITmdJSUlBQWdDVUVCZENJSk5nSUFJQUFnQmtFQmRDSUdOZ0lFSUFaQmdJQUNTUTBBQ3d3QkN5QUtLQUlFSVFvTElBSkJBQ0FEYXlBRElBb2dEMEhRdXdGcUxRQUFjeUlER3pZQ0FDQU5JQTBvQWdCQklDQU1kSEkyQWdBZ0FTQUJLQUlBSUFOQkUzUkJFSElnREhSeU5nSUFJQUVnQVNnQ0JFRUlJQXgwY2pZQ0JDQUVJQVZ5UlFSQUlBRkJmaUFBS0FKOGEwRUNkR29pQWlBQ0tBSUVRWUNBQW5JMkFnUWdBaUFDS0FJQUlBTkJIM1J5UVlDQUJISTJBZ0FnQWtFRWF5SUNJQUlvQWdCQmdJQUljallDQUFzZ0JFRURSdzBBSUFFZ0FDZ0NmRUVDZEdvaUFFRUVhaUFBS0FJRVFRUnlOZ0lBSUFBZ0FDZ0NERUVCY2pZQ0RDQUFJQUFvQWdnZ0EwRVNkSEpCQW5JMkFnZ0xDNnNMQVFsL0FrQWdBU2dDQUNBRVFRTnNJZzEySWdkQmtJQ0FBWEVOQUNBSFFlOERjU0lIUlEwQUlBQWdBRUVjYWlJT0lBQW9BbXdnQjJvdEFBQkJBblJxSWdzMkFtZ2dBQ0FBS0FJRUlBc29BZ0FpQ2lnQ0FDSUpheUlITmdJRUFrQWdDU0FBS0FJQUlnaEJFSFpMQkVBZ0NpZ0NCQ0VNSUFBZ0NUWUNCQ0FMSUFwQkNFRU1JQWNnQ1VraUJ4dHFLQUlBTmdJQUlBd2dERVVnQnhzaENpQUFLQUlJSVFjRFFBSkFJQWNOQUNBQUtBSVFJZ2RCQVdvaERDQUhMUUFCSVFzZ0J5MEFBRUgvQVVZRVFDQUxRWkFCVHdSQUlBQWdBQ2dDREVFQmFqWUNEQ0FJUVlEK0Eyb2hDRUVJSVFjTUFnc2dBQ0FNTmdJUUlBZ2dDMEVKZEdvaENFRUhJUWNNQVFzZ0FDQU1OZ0lRUVFnaEJ5QUlJQXRCQ0hScUlRZ0xJQUFnQjBFQmF5SUhOZ0lJSUFBZ0NFRUJkQ0lJTmdJQUlBQWdDVUVCZENJSk5nSUVJQWxCZ0lBQ1NRMEFDeUFKSVFjTUFRc2dBQ0FJSUFsQkVIUnJJZ2cyQWdBZ0IwR0FnQUp4UlFSQUlBb29BZ1FoRENBTElBcEJERUVJSUFjZ0NVa2lDUnRxS0FJQU5nSUFJQXhGSUF3Z0NSc2hDaUFBS0FJSUlRa0RRQUpBSUFrTkFDQUFLQUlRSWdsQkFXb2hEQ0FKTFFBQklRc2dDUzBBQUVIL0FVWUVRQ0FMUVpBQlR3UkFJQUFnQUNnQ0RFRUJhallDRENBSVFZRCtBMm9oQ0VFSUlRa01BZ3NnQUNBTU5nSVFJQWdnQzBFSmRHb2hDRUVISVFrTUFRc2dBQ0FNTmdJUVFRZ2hDU0FJSUF0QkNIUnFJUWdMSUFBZ0NVRUJheUlKTmdJSUlBQWdDRUVCZENJSU5nSUFJQUFnQjBFQmRDSUhOZ0lFSUFkQmdJQUNTUTBBQ3d3QkN5QUtLQUlFSVFvTEFrQWdDa1VOQUNBQUlBNGdBU2dDQkNBTlFSRnFka0VFY1NBQlFRUnJJZzhvQWdBZ0RVRVRhblpCQVhFZ0FTZ0NBQ0lKSUExQkVHcDJRY0FBY1NBSklBMTJRYW9CY1hJZ0NTQU5RUXhxUVE0Z0JCdDJRUkJ4Y25KeUlncEIwTGtCYWkwQUFFRUNkR29pRERZQ2FDQUFJQWNnRENnQ0FDSUxLQUlBSWdscklnYzJBZ1FnQ2tIUXV3RnFMUUFBSVE0Q1FDQUpJQWhCRUhaTEJFQWdDeWdDQkNFS0lBQWdDVFlDQkNBTUlBdEJDRUVNSUFjZ0NVa2lCeHRxS0FJQU5nSUFJQW9nQ2tVZ0J4c2hDeUFBS0FJSUlRY0RRQUpBSUFjTkFDQUFLQUlRSWdkQkFXb2hEQ0FITFFBQklRb2dCeTBBQUVIL0FVWUVRQ0FLUVpBQlR3UkFJQUFnQUNnQ0RFRUJhallDRENBSVFZRCtBMm9oQ0VFSUlRY01BZ3NnQUNBTU5nSVFJQWdnQ2tFSmRHb2hDRUVISVFjTUFRc2dBQ0FNTmdJUVFRZ2hCeUFJSUFwQkNIUnFJUWdMSUFBZ0IwRUJheUlITmdJSUlBQWdDRUVCZENJSU5nSUFJQUFnQ1VFQmRDSUpOZ0lFSUFsQmdJQUNTUTBBQ3d3QkN5QUFJQWdnQ1VFUWRHc2lDallDQUNBSFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VJSUF3Z0MwRU1RUWdnQnlBSlNTSUpHMm9vQWdBMkFnQWdDRVVnQ0NBSkd5RUxJQUFvQWdnaENBTkFBa0FnQ0EwQUlBQW9BaEFpQ0VFQmFpRU1JQWd0QUFFaENTQUlMUUFBUWY4QlJnUkFJQWxCa0FGUEJFQWdBQ0FBS0FJTVFRRnFOZ0lNSUFwQmdQNERhaUVLUVFnaENBd0NDeUFBSUF3MkFoQWdDaUFKUVFsMGFpRUtRUWNoQ0F3QkN5QUFJQXcyQWhCQkNDRUlJQW9nQ1VFSWRHb2hDZ3NnQUNBSVFRRnJJZ2cyQWdnZ0FDQUtRUUYwSWdvMkFnQWdBQ0FIUVFGMElnYzJBZ1FnQjBHQWdBSkpEUUFMREFFTElBc29BZ1FoQ3dzZ0FrRUFJQU5ySUFNZ0N5QU9jeUlDR3pZQ0FDQVBJQThvQWdCQklDQU5kSEkyQWdBZ0FTQUJLQUlBSUFKQkUzUkJFSElnRFhSeU5nSUFJQUVnQVNnQ0JFRUlJQTEwY2pZQ0JDQUVJQVp5UlFSQUlBRWdCVUVDZEdzaUFDQUFLQUlFUVlDQUFuSTJBZ1FnQUNBQUtBSUFJQUpCSDNSeVFZQ0FCSEkyQWdBZ0FFRUVheUlBSUFBb0FnQkJnSUFJY2pZQ0FBc2dCRUVEUncwQUlBRWdCVUVDZEdvaUFDQUFLQUlFUVFGeU5nSUVJQUFnQUNnQ0FDQUNRUkowY2tFQ2NqWUNBQ0FBUVFScklnQWdBQ2dDQUVFRWNqWUNBQXNnQVNBQktBSUFRWUNBZ0FFZ0RYUnlOZ0lBQ3d1dEFRQWdBRUh3blFFMkFtUWdBRUh3blFFMkFtQWdBRUh3blFFMkFsd2dBRUh3blFFMkFsZ2dBRUh3blFFMkFsUWdBRUh3blFFMkFsQWdBRUh3blFFMkFrd2dBRUh3blFFMkFrZ2dBRUh3blFFMkFrUWdBRUh3blFFMkFrQWdBRUh3blFFMkFqd2dBRUh3blFFMkFqZ2dBRUh3blFFMkFqUWdBRUh3blFFMkFqQWdBRUh3blFFMkFpd2dBRUh3blFFMkFpZ2dBRUh3blFFMkFpUWdBRUh3blFFMkFpQWdBRUh3blFFMkFod0xrZ1lDQ1g4RWZpQUFJQUUyQWdBZ0FQME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMExBd2dnQUNBRE5nSWNJQUFnQWtFQmF5SUZOZ0lZSUFGQkEzRWhDZ0ovSUFKQkFFd0VRQ0FCSVFRZ0F3d0JDeUFBSUFGQkFXb2lCRFlDQUNBQkxRQUFDeUVCUVFnaEJ5QUFRUWcyQWhBZ0FDQUJyU0lOTndNSUlBQWdEVUwvQVlNaURrTC9BVkVpQ1RZQ0ZBSkFJQXBCQTBZTkFDQUFJQUpCQW1zaUNEWUNHQUovSUFKQkFrZ0VRQ0FFSVFFZ0F3d0JDeUFBSUFSQkFXb2lBVFlDQUNBRUxRQUFDeUVFSUFCQkQwRVFJQTVDL3dGUkd5SUhOZ0lRSUFBZ0JLMGlEa0wvQVlNaUQwTC9BVkVpQ1RZQ0ZDQUFJQTVDQ0lZZ0RZUWlEVGNEQ0NBS1FRSkdCRUFnQVNFRUlBVWhBaUFJSVFVTUFRc2dBQ0FDUVFOcklnczJBaGdnQUFKL0lBSkJBMGdFUUNBQklRWWdBd3dCQ3lBQUlBRkJBV29pQmpZQ0FDQUJMUUFBQzYwaURrTC9BWU1pRUVML0FWRWlDVFlDRkNBQVFRZEJDQ0FQUXY4QlVSc2dCMm9pQVRZQ0VDQUFJQTRnQjYyR0lBMkVJZzAzQXdnZ0NrRUJSZ1JBSUFZaEJDQUJJUWNnQ0NFQ0lBc2hCUXdCQ3lBQUlBSkJCR3NpQlRZQ0dDQUFBbjhnQWtFRVNBUkFJQVloQkNBRERBRUxJQUFnQmtFQmFpSUVOZ0lBSUFZdEFBQUxyU0lPUXY4QmcwTC9BVkVpQ1RZQ0ZDQUFRUWRCQ0NBUVF2OEJVUnNnQVdvaUJ6WUNFQ0FBSUE0Z0FhMkdJQTJFSWcwM0F3Z2dDeUVDQ3dKQUlBSkJCVTRFUUNBRUtBSUFJUU1nQUNBQ1FRVnJOZ0lZSUFBZ0JFRUVhallDQUF3QkMwRUFJUUZCZjBFQUlBTWJJUU1nQWtFQ1NBMEFBMEFnQUNBRVFRRnFJZ0kyQWdBZ0JDMEFBQ0VFSUFBZ0JVRUJheUlHTmdJWUlBTkIvd0VnQVhSQmYzTnhJQVFnQVhSeUlRTWdBVUVJYWlFQklBVkJBVXNoRENBQ0lRUWdCaUVGSUF3TkFBc0xJQUFnQTBFWWRpSUJRZjhCUmpZQ0ZDQUFRUWRCQ0NBSkd5SUNRUWRCQ0NBRFFmOEJjU0lFUWY4QlJodHFJZ1ZCQjBFSUlBTkJDSFpCL3dGeElnWkIvd0ZHRzJvaUNFRUhRUWdnQTBFUWRrSC9BWEVpQTBIL0FVWWJJQWRxYWpZQ0VDQUFJQVlnQW5RZ0F5QUZkSElnQVNBSWRISWdCSEt0SUFldGhpQU5oRGNEQ0F1MkJRSVNmd0orQW44Z0FDZ0NIQ0FCUVpnQmJHb2lBa0dRQVdzb0FnQWdBa0dZQVdzb0FnQnJJZ01oQlNBQ1FZd0JheWdDQUNBQ1FaUUJheWdDQUdzaUFpRUdRY0FBSUFNZ0EwSEFBRThiSVFOQndBQWdBaUFDUWNBQVR4c2hCQUpBSUFWRkRRQWdCa1VOQUNBRFJRMEFJQVJGRFFCQmZ5QUVia0VDZGlBRFNRMEFRUUZCSEJBVElnSWdCRFlDRENBQ0lBTTJBZ2dnQWlBR05nSUVJQUlnQlRZQ0FDQUNJQVN0SWhRZ0JxMThRZ0Y5SUJTQUloU25JZ1EyQWhRZ0FpQURyU0lWSUFXdGZFSUJmU0FWZ0NJVnB5SUROZ0lRQWtBZ0ZFTC8vLy8vRDRNZ0ZVTC8vLy8vRDROK1FpQ0lwdzBBSUFKQkJDQURJQVJzRUJNaUF6WUNHQ0FEUlEwQUlBSU1BZ3NnQWhBUUMwRUFDeUlKUlFSQVFRQVBDd0pBSUFFRVFBTkFJQTVCbUFGc0lnOGdBQ2dDSEdvaUJTZ0NHQ0lDQkVBZ0JVRWNhaUVRSUFVb0FoUWhBeUFGS0FJUUlRUkJBQ0VLQTBBZ0F5QUViQVJBSUJBZ0NrRWtiR29oQmtFQUlRc0RRQ0FHS0FJVUlBdEJLR3hxSWdnb0FoUWlBaUFJS0FJUUlnZHNCRUJCQUNFRUEwQWdDQ2dDR0NBRVFRWjBhaUlES0FJOEloRUVRQ0FES0FJTUlRY2dBeWdDRkNFU0lBTW9BaEFoRENBREtBSUlJaE1nQmlnQ0FHc2hBeUFHS0FJUUlnMUJBWEVFUUNBQUtBSWNJQTlxSWdKQmtBRnJLQUlBSUFOcUlBSkJtQUZyS0FJQWF5RURDeUFISUFZb0FnUnJJUUlnRFVFQ2NRUkFJQUlnQUNnQ0hDQVBhaUlOUVl3QmF5Z0NBR29nRFVHVUFXc29BZ0JySVFJTElBa2dBeUFDSUFNZ0RDQVRheUlNYWlBU0lBZHJJQUpxSUJGQkFTQU1RUUFRSmtVTkNTQUlLQUlRSVFjZ0NDZ0NGQ0VDQ3lBRVFRRnFJZ1FnQWlBSGJFa05BQXNnQlNnQ0VDRUVJQVVvQWhRaEF3c2dDMEVCYWlJTElBTWdCR3hKRFFBTElBVW9BaGdoQWdzZ0NrRUJhaUlLSUFKSkRRQUxDeUFPUVFGcUlnNGdBVWNOQUFzTElBa1BDeUFKRUNOQkFBdlFEQUlRZndaN0lBQW9BZ2dpQ3lBQUtBSUVhaUVIQWtBZ0FDZ0NERVVFUUNBSFFRSklEUUVnQVNnQ0FDQUJJQXRCQW5ScUlnMG9BZ0FpQkVFQmFrRUJkV3NoQXlBQUtBSUFJUVlDUUNBSFFRUkpCRUFnQkNFQ0RBRUxJQWRCQkdzaUFFRUJkaUlKUVFGcUlRd0NRQ0FBUVJaSkJFQkJBU0VBREFFTElBWWdBU0FMUVFKMGFpSUZJQWxCQW5RaUFtcEJDR3BKSUFZZ0NVRURkR3BCQ0dvaUFDQUZRUVJxUzNFRVFFRUJJUUFNQVFzZ0JpQUJJQUpxUVFocVNTQUJRUVJxSUFCSmNRUkFRUUVoQUF3QkN5QU1RZnovLy84SGNTSUZRUUZ5SVFBZ0JVRUJkQ0VJSUFUOUVTRVNJQVA5RVNFVC9Rd0FBQUFBQWdBQUFBUUFBQUFHQUFBQUlSWkJBQ0VDQTBBZ0FTQUNRUUowUVFSeUlnTnEvUUFDQUNFVklBTWdEV3I5QUFJQUlSUWdCaUFDUVFOMGFpSURJQlA5V2dJQUF5QURRUWhxSUJVZ0ZDQVNJQlQ5RFF3TkRnOFFFUklURkJVV0Z4Z1pHaHNpRmYydUFmME1BZ0FBQUFJQUFBQUNBQUFBQWdBQUFQMnVBVUVDL2F3Qi9iRUJJaEw5V2dJQUFDQURRUkJxSUJMOVdnSUFBU0FEUVJocUlCTDlXZ0lBQWlBR0lCYjlEQUVBQUFBQkFBQUFBUUFBQUFFQUFBRDlVQ0lYL1JzQVFRSjBhaUFTSUJNZ0V2ME5EQTBPRHhBUkVoTVVGUllYR0JrYUcvMnVBVUVCL2F3QklCWDlyZ0VpRS8xYUFnQUFJQVlnRi8wYkFVRUNkR29nRS8xYUFnQUJJQVlnRi8wYkFrRUNkR29nRS8xYUFnQUNJQVlnRi8wYkEwRUNkR29nRS8xYUFnQURJQmI5REFnQUFBQUlBQUFBQ0FBQUFBZ0FBQUQ5cmdFaEZpQVNJUk1nRkNFU0lBSkJCR29pQWlBRlJ3MEFDeUFTL1JzRElRSWdFLzBiQXlFRElBVWdERVlOQVNBQ0lRUUxBMEFnQVNBQVFRSjBJZ0pxS0FJQUlRa2dBaUFOYWlnQ0FDRUNJQVlnQ0VFQ2RHb2lCU0FETmdJQUlBVWdBeUFKSUFJZ0JHcEJBbXBCQW5WcklnTnFRUUYxSUFScU5nSUVJQWhCQW1vaENDQUFJQXhISVJBZ0FpRUVJQUJCQVdvaEFDQVFEUUFMQ3lBR0lBaEJBblJxSUFNMkFnQkJmQ0VBSUFkQkFYRUVmeUFHSUFkQkFXc2lBRUVDZEdvZ0FTQUFRUUYwYWlnQ0FDQUNRUUZxUVFGMWF5SUFOZ0lBSUFBZ0EycEJBWFVoQTBGNEJVRjhDeUFHSUFkQkFuUWlBR3BxSUFJZ0EybzJBZ0FnQVNBR0lBQVFFaG9QQ3dKQUFrQUNRQ0FIUVFGckRnSUFBUUlMSUFFZ0FTZ0NBRUVDYlRZQ0FBOExJQUFvQWdBaUJDQUJLQUlBSUFFZ0MwRUNkR29pQXlnQ0FFRUJha0VCZFdzaUFEWUNCQ0FFSUFBZ0F5Z0NBR28yQWdBZ0FTQUVLUUlBTndJQUR3c2dCMEVEU0EwQUlBQW9BZ0FpQ2lBQktBSUFJQUVnQzBFQ2RHb2lEaWdDQkNJRUlBNG9BZ0FpQUdwQkFtcEJBblZySWdNZ0FHbzJBZ0JCQVNFSUFrQWdCMEVDYXlJR0lBZEJBWEVpREVVaUFHdEJBa2tFUUNBRUlRSU1BUXNnQnlBQWEwRUVheUlBUVFGMklnSkJBV29oRHdKQUFrQWdBRUVXU1EwQUlBcEJCR29pQlNBQklBSkJBblFpQUdwQkNHcEpJQW9nQWtFRGRHcEJER29pQWlBQlFRUnFTM0VOQUNBRklBQWdBU0FMUVFKMGFpSUFha0VNYWtrZ0FFRUlhaUFDU1hFTkFDQVBRWHh4SWdWQkFYSWhBQ0FGUVFGMFFRRnlJUWdnQlAwUklSTWdBLzBSSVJKQkFDRUNBMEFnQ2lBQ1FRTjBhaUlFSUFFZ0FrRUNkQ0lEYXYwQUFnUWdFeUFESUE1cS9RQUNDQ0lUL1EwTURRNFBFQkVTRXhRVkZoY1lHUm9iSWhVZ0UvMnVBZjBNQWdBQUFBSUFBQUFDQUFBQUFnQUFBUDJ1QVVFQy9hd0IvYkVCSWhRZ0ZDQVNJQlQ5RFF3TkRnOFFFUklURkJVV0Z4Z1pHaHY5cmdGQkFmMnNBU0FWL2E0QkloWDlEUVFGQmdjWUdSb2JDQWtLQ3h3ZEhoLzlDd0lVSUFRZ0VpQVYvUTBNRFE0UEVCRVNFd0FCQWdNVUZSWVhJQlQ5RFFBQkFnTUVCUVlIRUJFU0V3d05EZy85Q3dJRUlCUWhFaUFDUVFScUlnSWdCVWNOQUFzZ0UvMGJBeUVDSUJMOUd3TWhBeUFGSUE5R0RRSWdBaUVFREFFTFFRRWhBQXNEUUNBQklBQkJBblJxS0FJQUlRMGdEaUFBUVFGcUlnVkJBblJxS0FJQUlRSWdDaUFJUVFKMGFpSUpJQU0yQWdBZ0NTQURJQTBnQWlBRWFrRUNha0VDZFdzaUEycEJBWFVnQkdvMkFnUWdDRUVDYWlFSUlBQWdEMGNoRVNBQ0lRUWdCU0VBSUJFTkFBc0xJQW9nQ0VFQ2RHb2dBellDQUFKQUlBeEZCRUFnQ2lBR1FRSjBhaUFCSUFkQkFYUnFRUVJyS0FJQUlBSkJBV3BCQVhWcklnQWdBMnBCQVhVZ0FtbzJBZ0FNQVFzZ0FpQURhaUVBQ3lBS0lBZEJBblFpQTJwQkJHc2dBRFlDQUNBQklBb2dBeEFTR2dzTG9BY0RBMzBEZXdKL0lBTkJDRThFUUNBRFFRTjJJUXNEUUNBQi9RQUVBQ0VISUFBZ0FQMEFCQUFpQ0NBQy9RQUVBQ0lKL1F5OGRMTS92SFN6UDd4MHN6KzhkTE0vL2VZQi9lUUIvUXNFQUNBQklBZ2dCLzBNenpHd1BzOHhzRDdQTWJBK3p6R3dQdjNtQWYzbEFTQUovUXpoMFRZLzRkRTJQK0hSTmovaDBUWS8vZVlCL2VVQi9Rc0VBQ0FDSUFnZ0IvME01ZERpUCtYUTRqL2wwT0kvNWREaVAvM21BZjNrQWYwTEJBQWdBZjBBQkJBaEJ5QUFJQUQ5QUFRUUlnZ2dBdjBBQkJBaUNmME12SFN6UDd4MHN6KzhkTE0vdkhTelAvM21BZjNrQWYwTEJCQWdBU0FJSUFmOURNOHhzRDdQTWJBK3p6R3dQczh4c0Q3OTVnSDk1UUVnQ2YwTTRkRTJQK0hSTmovaDBUWS80ZEUyUC8zbUFmM2xBZjBMQkJBZ0FpQUlJQWY5RE9YUTRqL2wwT0kvNWREaVArWFE0ai85NWdIOTVBSDlDd1FRSUFKQklHb2hBaUFCUVNCcUlRRWdBRUVnYWlFQUlBcEJBV29pQ2lBTFJ3MEFDd3NDUUNBRFFRZHhJZ05GRFFBZ0FTb0NBQ0VFSUFBZ0Fpb0NBQ0lHUTd4MHN6K1VJQUFxQWdBaUJaSTRBZ0FnQVNBRklBUkR6ekd3dnBTU0lBWkQ0ZEUydjVTU09BSUFJQUlnQlNBRVErWFE0aitVa2pnQ0FDQURRUUZHRFFBZ0FTb0NCQ0VFSUFBZ0Fpb0NCQ0lHUTd4MHN6K1VJQUFxQWdRaUJaSTRBZ1FnQVNBRklBUkR6ekd3dnBTU0lBWkQ0ZEUydjVTU09BSUVJQUlnQlNBRVErWFE0aitVa2pnQ0JDQURRUUpHRFFBZ0FTb0NDQ0VFSUFBZ0Fpb0NDQ0lHUTd4MHN6K1VJQUFxQWdnaUJaSTRBZ2dnQVNBRklBUkR6ekd3dnBTU0lBWkQ0ZEUydjVTU09BSUlJQUlnQlNBRVErWFE0aitVa2pnQ0NDQURRUU5HRFFBZ0FTb0NEQ0VFSUFBZ0Fpb0NEQ0lHUTd4MHN6K1VJQUFxQWd3aUJaSTRBZ3dnQVNBRklBUkR6ekd3dnBTU0lBWkQ0ZEUydjVTU09BSU1JQUlnQlNBRVErWFE0aitVa2pnQ0RDQURRUVJHRFFBZ0FTb0NFQ0VFSUFBZ0Fpb0NFQ0lHUTd4MHN6K1VJQUFxQWhBaUJaSTRBaEFnQVNBRklBUkR6ekd3dnBTU0lBWkQ0ZEUydjVTU09BSVFJQUlnQlNBRVErWFE0aitVa2pnQ0VDQURRUVZHRFFBZ0FTb0NGQ0VFSUFBZ0Fpb0NGQ0lHUTd4MHN6K1VJQUFxQWhRaUJaSTRBaFFnQVNBRklBUkR6ekd3dnBTU0lBWkQ0ZEUydjVTU09BSVVJQUlnQlNBRVErWFE0aitVa2pnQ0ZDQURRUVpHRFFBZ0FTb0NHQ0VFSUFBZ0Fpb0NHQ0lHUTd4MHN6K1VJQUFxQWhnaUJaSTRBaGdnQVNBRklBUkR6ekd3dnBTU0lBWkQ0ZEUydjVTU09BSVlJQUlnQlNBRVErWFE0aitVa2pnQ0dBc0w0QUVDQm44RGV3SkFJQU5GRFFBZ0EwRUVUd1JBSUFOQmZIRWhCZ05BSUFBZ0JFRUNkQ0lGYWlJSElBZjlBQUlBSUFJZ0JXb2lCLzBBQWdBaUN5QUJJQVZxSWdYOUFBSUFJZ3o5cmdGQkF2MnNBZjJ4QVNJS0lBdjlyZ0g5Q3dJQUlBVWdDdjBMQWdBZ0J5QUtJQXo5cmdIOUN3SUFJQVJCQkdvaUJDQUdSdzBBQ3lBRElBWkdEUUVMQTBBZ0FDQUdRUUowSWdScUlnVWdCU2dDQUNBQ0lBUnFJZ1VvQWdBaUJ5QUJJQVJxSWdnb0FnQWlDV3BCQW5WcklnUWdCMm8yQWdBZ0NDQUVOZ0lBSUFVZ0JDQUphallDQUNBR1FRRnFJZ1lnQTBjTkFBc0xDOTBCQVFSL0l3QkJnQUZySWdZa0FDQUdJUVVDUUNBQktBSU1JQUpCQkhScUlnSW9BZ0FpQkVVRVFDQUNJUUVNQVFzRFFDQUZJQUkyQWdBZ0JVRUVhaUVGSUFRaUFTSUNLQUlBSWdRTkFBc0xRUUFoQkFOQUlBRW9BZ2dpQWlBRVNBUkFJQUVnQkRZQ0NDQUVJUUlMQWtBZ0FpQURUZzBBQTBBZ0FpQUJLQUlFVGcwQkFrQWdBRUVCRUI4RVFDQUJJQUkyQWdRTUFRc2dBa0VCYWlFQ0N5QUNJQU5JRFFBTEN5QUJJQUkyQWdnZ0JTQUdSd1JBSUFWQkJHc2lCU2dDQUNFQklBSWhCQXdCQ3dzZ0FTZ0NCQ0VISUFaQmdBRnFKQUFnQnlBRFNBdjlCZ0VMZnlNQVFZQUNheUlLSkFBQ1FDQUFSUVJBUVFBaEFBd0JDd0pBSUFFZ0FDZ0NBRVlFUUNBQUtBSUVJQUpHRFFFTElBQWdBallDQkNBQUlBRTJBZ0FnQ2lBQ05nSUFJQW9nQVRZQ2dBRWdBaUVFSUFFaEJRTkFJQW9nQnlJTVFRRnFJZ2RCQW5RaUNHb2dCRUVCYWtFQ2JTSUpOZ0lBSUFwQmdBRnFJQWhxSUFWQkFXcEJBbTBpQ0RZQ0FDQUdJQVFnQld3aUMyb2hCaUFKSVFRZ0NDRUZJQXRCQVVzTkFBc2dBQ0FHTmdJSUFrQUNRQUpBQWtBZ0JrVUVRQ0FBS0FJTUlnUkZEUUlnQUVFTWFpRUZEQUVMSUFaQkJIUWlCQ0FBS0FJUVRRMERJQUFvQWd3Z0JCQVhJZ0VOQWlBRFFRRkJtakZCQUJBUElBQkJER29pQlNnQ0FDSUVSUTBCQ3lBRUVCQWdCVUVBTmdJQUN5QUFFQkJCQUNFQURBTUxJQUFnQVRZQ0RDQUJJQUFvQWhBaUFtcEJBQ0FFSUFKckVCVWFJQUFnQkRZQ0VDQUFLQUlFSVFJZ0FDZ0NBQ0VCQ3lBQUtBSU1JUVVnREFSQVFRQWhBeUFGSUFFZ0FteEJCSFJxSWdRaEJnTkFBa0FnQ2lBRFFRSjBJZ0ZxS0FJQUlnaEJBRXdOQUNBSVFRRnJJUXRCQUNFSkFrQUNRQ0FLUVlBQmFpQUJhaWdDQUNJQ1FRQk1CRUFnQ0VFQmNTRU5RUUFoQnlBSVFRRkhEUUVnQmlFQkRBSUxBMEFnQmlFQklBSWhCZ05BQWtBZ0JTQUVOZ0lBSUFaQkFVWUVRQ0FGUVJCcUlRVWdCRUVRYWlFRURBRUxJQVVnQkRZQ0VDQUVRUkJxSVFRZ0JVRWdhaUVGSUFaQkFrb2hEaUFHUVFKcklRWWdEZzBCQ3dzZ0JDQUJJQUpCQkhScUlBa2dDU0FMUm5KQkFYRWlCeHNoQmlBRUlBRWdCeHNoQkNBSlFRRnFJZ2tnQ0VjTkFBc01BZ3NnQ0VIKy8vLy9CM0VoQ0FOQUlBY2dDMFloQVNBSFFRSnFJUWNnQkNBR0lBRWJJZ1FoQmlBRUlRRWdDVUVDYWlJSklBaEhEUUFMQ3lBTlJRUkFJQVFoQmd3QkN5QUVJQUVnQWtFRWRHb2dCeUFISUF0R2NrRUJjU0lDR3lFR0lBUWdBU0FDR3lFRUN5QURRUUZxSWdNZ0RFY05BQXNMSUFWQkFEWUNBQXNnQUNnQ0NDSUJSUTBBSUFBb0Fnd2hCQ0FCUVFSUEJFQWdBVUY4Y1NFQ1FRQWhCUU5BSUFSQkFEWUNQQ0FFUXVjSE53STBJQVJCQURZQ0xDQUVRdWNITndJa0lBUkJBRFlDSENBRVF1Y0hOd0lVSUFSQkFEWUNEQ0FFUXVjSE53SUVJQVJCUUdzaEJDQUZRUVJxSWdVZ0FrY05BQXNMSUFGQkEzRWlBVVVOQUVFQUlRVURRQ0FFUVFBMkFnd2dCRUxuQnpjQ0JDQUVRUkJxSVFRZ0JVRUJhaUlGSUFGSERRQUxDeUFLUVlBQ2FpUUFJQUFMc1FFQkEzOENRQ0FBUlEwQUlBQW9BZ2dpQVVVTkFDQUFLQUlNSVFBZ0FVRUVUd1JBSUFGQmZIRWhBd05BSUFCQkFEWUNQQ0FBUXVjSE53STBJQUJCQURZQ0xDQUFRdWNITndJa0lBQkJBRFlDSENBQVF1Y0hOd0lVSUFCQkFEWUNEQ0FBUXVjSE53SUVJQUJCUUdzaEFDQUNRUVJxSWdJZ0EwY05BQXNMSUFGQkEzRWlBVVVOQUVFQUlRSURRQ0FBUVFBMkFnd2dBRUxuQnpjQ0JDQUFRUkJxSVFBZ0FrRUJhaUlDSUFGSERRQUxDd3Y3QlFFUWZ5TUFRWUFDYXlJSUpBQUNmMEVCUVJRUUV5SUdSUVJBSUFKQkFVSDBNRUVBRUE5QkFBd0JDeUFHSUFFMkFnUWdCaUFBTmdJQUlBZ2dBVFlDQUNBSUlBQTJBb0FCQTBBZ0NDQUZJZzFCQVdvaUJVRUNkQ0lIYWlBQlFRRnFRUUp0SWdNMkFnQWdDRUdBQVdvZ0Iyb2dBRUVCYWtFQ2JTSUhOZ0lBSUFRZ0FDQUJiQ0lKYWlFRUlBTWhBU0FISVFBZ0NVRUJTdzBBQ3lBR0lBUTJBZ2dnQkVVRVFDQUdFQkJCQUF3QkN5QUdJQVJCRUJBVElnTTJBZ3dnQTBVRVFDQUNRUUZCMmhwQkFCQVBJQVlRRUVFQURBRUxJQVlnQmlnQ0NDSUxRUVIwTmdJUUlBTWhBQ0FOQkVBZ0F5QUdLQUlFSUFZb0FnQnNRUVIwYWlJRUlRRURRQUpBSUFnZ0RrRUNkQ0lDYWlnQ0FDSUpRUUJNRFFBZ0NVRUJheUVNUVFBaEJ3SkFJQWhCZ0FGcUlBSnFLQUlBSWdKQkFFd0VRRUVBSVFVZ0NVRUJSd1JBSUFsQi92Ly8vd2R4SVFvRFFDQUZJQXhHSVE4Z0JVRUNhaUVGSUFFZ0JDQVBHeUlFSVFFZ0IwRUNhaUlISUFwSERRQUxDeUFKUVFGeERRRWdCQ0VCREFJTEEwQWdCQ0VGSUFJaEJBTkFBa0FnQUNBQk5nSUFJQVJCQVVZRVFDQUFRUkJxSVFBZ0FVRVFhaUVCREFFTElBQWdBVFlDRUNBQlFSQnFJUUVnQUVFZ2FpRUFJQVJCQWtvaEVDQUVRUUpySVFRZ0VBMEJDd3NnQVNBRklBSkJCSFJxSUFjZ0J5QU1SbkpCQVhFaUNoc2hCQ0FCSUFVZ0Noc2hBU0FIUVFGcUlnY2dDVWNOQUFzTUFRc2dBU0FFSUFKQkJIUnFJQVVnQlNBTVJuSkJBWEVpQlJzaEVTQUJJQVFnQlJzaEFTQVJJUVFMSUE1QkFXb2lEaUFOUncwQUN3c2dBRUVBTmdJQUFrQWdDMFVOQUNBTFFRUlBCRUFnQzBGOGNTRUFRUUFoQVFOQUlBTkJBRFlDUENBRFF1Y0hOd0kwSUFOQkFEWUNMQ0FEUXVjSE53SWtJQU5CQURZQ0hDQURRdWNITndJVUlBTkJBRFlDRENBRFF1Y0hOd0lFSUFOQlFHc2hBeUFCUVFScUlnRWdBRWNOQUFzTElBdEJBM0VpQUVVTkFFRUFJUUVEUUNBRFFRQTJBZ3dnQTBMbkJ6Y0NCQ0FEUVJCcUlRTWdBVUVCYWlJQklBQkhEUUFMQ3lBR0N5RVNJQWhCZ0FKcUpBQWdFZ3RUQVFGL0FuOGdBQzBBREVIL0FVWUVRQ0FBUW9EK2c0RHdBRGNDREVFQUlBQW9BZ2dpQVNBQUtBSUVUdzBCR2lBQUlBRkJBV28yQWdnZ0FDQUJMUUFBUVlEK0EzSTJBZ3dMSUFCQkFEWUNFRUVCQ3d0K0FnRi9BWDRnQUwwaUEwSTBpS2RCL3c5eElnSkIvdzlIQkh3Z0FrVUVRQ0FCSUFCRUFBQUFBQUFBQUFCaEJIOUJBQVVnQUVRQUFBQUFBQUR3UTZJZ0FSQmxJUUFnQVNnQ0FFRkFhZ3MyQWdBZ0FBOExJQUVnQWtIK0IyczJBZ0FnQTBMLy8vLy8vLy8vaDRCL2cwS0FnSUNBZ0lDQThEK0V2d1VnQUFzTFNRRUJmd0pBUVFGQkxCQVRJZ0VFUUNBQlFRQTJBaEFDUUNBQVFRQk1CRUFnQVVFQlFRZ1FFeUlBTmdJa0lBQkZEUUVNQXdzZ0FVRUFOZ0lNQ3lBQkVCQUxRUUFoQVFzZ0FRdVJBZ0FnQUVVRVFFRUFEd3NDZndKQUlBRkIvd0JORFFBQ1FFR1UwQUVvQWdBb0FnQkZCRUFnQVVHQWYzRkJnTDhEUmcwQ0RBRUxJQUZCL3c5TkJFQWdBQ0FCUVQ5eFFZQUJjam9BQVNBQUlBRkJCblpCd0FGeU9nQUFRUUlNQXdzZ0FVR0FRSEZCZ01BRFJ5QUJRWUN3QTA5eFJRUkFJQUFnQVVFL2NVR0FBWEk2QUFJZ0FDQUJRUXgyUWVBQmNqb0FBQ0FBSUFGQkJuWkJQM0ZCZ0FGeU9nQUJRUU1NQXdzZ0FVR0FnQVJyUWYvL1AwMEVRQ0FBSUFGQlAzRkJnQUZ5T2dBRElBQWdBVUVTZGtId0FYSTZBQUFnQUNBQlFRWjJRVDl4UVlBQmNqb0FBaUFBSUFGQkRIWkJQM0ZCZ0FGeU9nQUJRUVFNQXdzTFFaVEhBVUVaTmdJQVFYOE1BUXNnQUNBQk9nQUFRUUVMQzd3Q0FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQVVFSmF3NFNBQWdKQ2dnSkFRSURCQW9KQ2dvSUNRVUdCd3NnQWlBQ0tBSUFJZ0ZCQkdvMkFnQWdBQ0FCS0FJQU5nSUFEd3NnQWlBQ0tBSUFJZ0ZCQkdvMkFnQWdBQ0FCTWdFQU53TUFEd3NnQWlBQ0tBSUFJZ0ZCQkdvMkFnQWdBQ0FCTXdFQU53TUFEd3NnQWlBQ0tBSUFJZ0ZCQkdvMkFnQWdBQ0FCTUFBQU53TUFEd3NnQWlBQ0tBSUFJZ0ZCQkdvMkFnQWdBQ0FCTVFBQU53TUFEd3NnQWlBQ0tBSUFRUWRxUVhoeElnRkJDR28yQWdBZ0FDQUJLd01BT1FNQUR3c2dBQ0FDSUFNUkF3QUxEd3NnQWlBQ0tBSUFJZ0ZCQkdvMkFnQWdBQ0FCTkFJQU53TUFEd3NnQWlBQ0tBSUFJZ0ZCQkdvMkFnQWdBQ0FCTlFJQU53TUFEd3NnQWlBQ0tBSUFRUWRxUVhoeElnRkJDR28yQWdBZ0FDQUJLUU1BTndNQUMzTUJCbjhnQUNnQ0FDSURMQUFBUVRCcklnRkJDVXNFUUVFQUR3c0RRRUYvSVFRZ0FrSE1tYlBtQUUwRVFFRi9JQUVnQWtFS2JDSUZhaUFCSUFWQi8vLy8vd2R6U3hzaEJBc2dBQ0FEUVFGcUlnVTJBZ0FnQXl3QUFTRUdJQVFoQWlBRklRTWdCa0V3YXlJQlFRcEpEUUFMSUFJTHRCUUNGWDhCZmlNQVFVQnFJZ2drQUNBSUlBRTJBandnQ0VFbmFpRVdJQWhCS0dvaEVRSkFBa0FDUUFKQUEwQkJBQ0VIQTBBZ0FTRU5JQWNnRGtILy8vLy9CM05LRFFJZ0J5QU9haUVPQWtBQ1FBSkFBa0FnQVNJSExRQUFJZ3NFUUFOQUFrQUNRQ0FMUWY4QmNTSUJSUVJBSUFjaEFRd0JDeUFCUVNWSERRRWdCeUVMQTBBZ0N5MEFBVUVsUndSQUlBc2hBUXdDQ3lBSFFRRnFJUWNnQ3kwQUFpRVpJQXRCQW1vaUFTRUxJQmxCSlVZTkFBc0xJQWNnRFdzaUJ5QU9RZi8vLy84SGN5SVhTZzBKSUFBRVFDQUFJQTBnQnhBWkN5QUhEUWNnQ0NBQk5nSThJQUZCQVdvaEIwRi9JUkFDUUNBQkxBQUJRVEJySWdsQkNVc05BQ0FCTFFBQ1FTUkhEUUFnQVVFRGFpRUhRUUVoRWlBSklSQUxJQWdnQnpZQ1BFRUFJUXdDUUNBSExBQUFJZ3RCSUdzaUFVRWZTd1JBSUFjaENRd0JDeUFISVFsQkFTQUJkQ0lCUVluUkJIRkZEUUFEUUNBSUlBZEJBV29pQ1RZQ1BDQUJJQXh5SVF3Z0J5d0FBU0lMUVNCcklnRkJJRThOQVNBSklRZEJBU0FCZENJQlFZblJCSEVOQUFzTEFrQWdDMEVxUmdSQUFuOENRQ0FKTEFBQlFUQnJJZ0ZCQ1VzTkFDQUpMUUFDUVNSSERRQUNmeUFBUlFSQUlBUWdBVUVDZEdwQkNqWUNBRUVBREFFTElBTWdBVUVEZEdvb0FnQUxJUThnQ1VFRGFpRUJRUUVNQVFzZ0VnMEdJQWxCQVdvaEFTQUFSUVJBSUFnZ0FUWUNQRUVBSVJKQkFDRVBEQU1MSUFJZ0FpZ0NBQ0lIUVFScU5nSUFJQWNvQWdBaEQwRUFDeUVTSUFnZ0FUWUNQQ0FQUVFCT0RRRkJBQ0FQYXlFUElBeEJnTUFBY2lFTURBRUxJQWhCUEdvUWFTSVBRUUJJRFFvZ0NDZ0NQQ0VCQzBFQUlRZEJmeUVLQW45QkFDQUJMUUFBUVM1SERRQWFJQUV0QUFGQktrWUVRQUovQWtBZ0FTd0FBa0V3YXlJSlFRbExEUUFnQVMwQUEwRWtSdzBBSUFGQkJHb2hBUUovSUFCRkJFQWdCQ0FKUVFKMGFrRUtOZ0lBUVFBTUFRc2dBeUFKUVFOMGFpZ0NBQXNNQVFzZ0VnMEdJQUZCQW1vaEFVRUFJQUJGRFFBYUlBSWdBaWdDQUNJSlFRUnFOZ0lBSUFrb0FnQUxJUW9nQ0NBQk5nSThJQXBCQUU0TUFRc2dDQ0FCUVFGcU5nSThJQWhCUEdvUWFTRUtJQWdvQWp3aEFVRUJDeUVUQTBBZ0J5RVVRUndoQ1NBQkloZ3NBQUFpQjBIN0FHdEJSa2tOQ3lBQlFRRnFJUUVnQnlBVVFUcHNha0cvd0FGcUxRQUFJZ2RCQVd0QkNFa05BQXNnQ0NBQk5nSThBa0FnQjBFYlJ3UkFJQWRGRFF3Z0VFRUFUZ1JBSUFCRkJFQWdCQ0FRUVFKMGFpQUhOZ0lBREF3TElBZ2dBeUFRUVFOMGFpa0RBRGNETUF3Q0N5QUFSUTBJSUFoQk1Hb2dCeUFDSUFZUWFBd0JDeUFRUVFCT0RRdEJBQ0VISUFCRkRRZ0xJQUF0QUFCQklIRU5DeUFNUWYvL2UzRWlDeUFNSUF4QmdNQUFjUnNoREVFQUlSQkJzQWdoRlNBUklRa0NRQUpBQW44Q1FBSkFBa0FDUUFKQUFrQUNmd0pBQWtBQ1FBSkFBa0FDUUFKQUlCZ3NBQUFpQjBGVGNTQUhJQWRCRDNGQkEwWWJJQWNnRkJzaUIwSFlBR3NPSVFRV0ZoWVdGaFlXRmhBV0NRWVFFQkFXQmhZV0ZoWUNCUU1XRmdvV0FSWVdCQUFMQWtBZ0IwSEJBR3NPQnhBV0N4WVFFQkFBQ3lBSFFkTUFSZzBMREJVTElBZ3BBekFoSEVHd0NBd0ZDMEVBSVFjQ1FBSkFBa0FDUUFKQUFrQUNRQ0FVUWY4QmNRNElBQUVDQXdRY0JRWWNDeUFJS0FJd0lBNDJBZ0FNR3dzZ0NDZ0NNQ0FPTmdJQURCb0xJQWdvQWpBZ0RxdzNBd0FNR1FzZ0NDZ0NNQ0FPT3dFQURCZ0xJQWdvQWpBZ0Rqb0FBQXdYQ3lBSUtBSXdJQTQyQWdBTUZnc2dDQ2dDTUNBT3JEY0RBQXdWQzBFSUlBb2dDa0VJVFJzaENpQU1RUWh5SVF4QitBQWhCd3NnRVNFQklBZ3BBekFpSEVJQVVnUkFJQWRCSUhFaERRTkFJQUZCQVdzaUFTQWNwMEVQY1VIUXhBRnFMUUFBSUExeU9nQUFJQnhDRDFZaEdpQWNRZ1NJSVJ3Z0dnMEFDd3NnQVNFTklBZ3BBekJRRFFNZ0RFRUljVVVOQXlBSFFRUjJRYkFJYWlFVlFRSWhFQXdEQ3lBUklRRWdDQ2tETUNJY1FnQlNCRUFEUUNBQlFRRnJJZ0VnSEtkQkIzRkJNSEk2QUFBZ0hFSUhWaUViSUJ4Q0E0Z2hIQ0FiRFFBTEN5QUJJUTBnREVFSWNVVU5BaUFLSUJFZ0FXc2lBVUVCYWlBQklBcElHeUVLREFJTElBZ3BBekFpSEVJQVV3UkFJQWhDQUNBY2ZTSWNOd013UVFFaEVFR3dDQXdCQ3lBTVFZQVFjUVJBUVFFaEVFR3hDQXdCQzBHeUNFR3dDQ0FNUVFGeEloQWJDeUVWSUJ3Z0VSQXFJUTBMSUJNZ0NrRUFTSEVORVNBTVFmLy9lM0VnRENBVEd5RU1Ba0FnQ0NrRE1DSWNRZ0JTRFFBZ0NnMEFJQkVoRFVFQUlRb01EZ3NnQ2lBY1VDQVJJQTFyYWlJQklBRWdDa2diSVFvTURRc2dDQ2tETUNFY0RBc0xBbjlCLy8vLy93Y2dDaUFLUWYvLy8vOEhUeHNpRENJSFFRQkhJUWtDUUFKQUFrQWdDQ2dDTUNJQlFZUU1JQUViSWcwaUFVRURjVVVOQUNBSFJRMEFBMEFnQVMwQUFFVU5BaUFIUVFGcklnZEJBRWNoQ1NBQlFRRnFJZ0ZCQTNGRkRRRWdCdzBBQ3dzZ0NVVU5BUUpBSUFFdEFBQkZEUUFnQjBFRVNRMEFBMEJCZ0lLRUNDQUJLQUlBSWdscklBbHlRWUNCZ29SNGNVR0FnWUtFZUVjTkFpQUJRUVJxSVFFZ0IwRUVheUlIUVFOTERRQUxDeUFIUlEwQkN3TkFJQUVnQVMwQUFFVU5BaG9nQVVFQmFpRUJJQWRCQVdzaUJ3MEFDd3RCQUFzaUFTQU5heUFNSUFFYklnRWdEV29oQ1NBS1FRQk9CRUFnQ3lFTUlBRWhDZ3dNQ3lBTElRd2dBU0VLSUFrdEFBQU5Ed3dMQ3lBSUtRTXdJaHhDQUZJTkFVSUFJUndNQ1FzZ0NnUkFJQWdvQWpBTUFndEJBQ0VISUFCQklDQVBRUUFnREJBY0RBSUxJQWhCQURZQ0RDQUlJQncrQWdnZ0NDQUlRUWhxSWdjMkFqQkJmeUVLSUFjTElRdEJBQ0VIQTBBQ1FDQUxLQUlBSWcxRkRRQWdDRUVFYWlBTkVHY2lEVUVBU0EwUElBMGdDaUFIYTBzTkFDQUxRUVJxSVFzZ0J5QU5haUlISUFwSkRRRUxDMEU5SVFrZ0IwRUFTQTBNSUFCQklDQVBJQWNnREJBY0lBZEZCRUJCQUNFSERBRUxRUUFoQ1NBSUtBSXdJUXNEUUNBTEtBSUFJZzFGRFFFZ0NFRUVhaUlLSUEwUVp5SU5JQWxxSWdrZ0Iwc05BU0FBSUFvZ0RSQVpJQXRCQkdvaEN5QUhJQWxMRFFBTEN5QUFRU0FnRHlBSElBeEJnTUFBY3hBY0lBOGdCeUFISUE5SUd5RUhEQWdMSUJNZ0NrRUFTSEVOQ1VFOUlRa2dBQ0FJS3dNd0lBOGdDaUFNSUFjZ0JSRVRBQ0lIUVFCT0RRY01DZ3NnQnkwQUFTRUxJQWRCQVdvaEJ3d0FDd0FMSUFBTkNTQVNSUTBEUVFFaEJ3TkFJQVFnQjBFQ2RHb29BZ0FpQUFSQUlBTWdCMEVEZEdvZ0FDQUNJQVlRYUVFQklRNGdCMEVCYWlJSFFRcEhEUUVNQ3dzTFFRRWhEaUFIUVFwUERRa0RRQ0FFSUFkQkFuUnFLQUlBRFFFZ0IwRUJhaUlIUVFwSERRQUxEQWtMUVJ3aENRd0dDeUFJSUJ3OEFDZEJBU0VLSUJZaERTQUxJUXdMSUFvZ0NTQU5heUlMSUFvZ0Mwb2JJZ29nRUVILy8vLy9CM05LRFFOQlBTRUpJQThnQ2lBUWFpSUJJQUVnRDBnYklnY2dGMG9OQkNBQVFTQWdCeUFCSUF3UUhDQUFJQlVnRUJBWklBQkJNQ0FISUFFZ0RFR0FnQVJ6RUJ3Z0FFRXdJQW9nQzBFQUVCd2dBQ0FOSUFzUUdTQUFRU0FnQnlBQklBeEJnTUFBY3hBY0lBZ29BandoQVF3QkN3c0xRUUFoRGd3REMwRTlJUWtMUVpUSEFTQUpOZ0lBQzBGL0lRNExJQWhCUUdza0FDQU9DNmdDQVFSL0l3QkIwQUZySWdVa0FDQUZJQUkyQXN3QklBVkJvQUZxSWdKQkFFRW9FQlVhSUFVZ0JTZ0N6QUUyQXNnQkFrQkJBQ0FCSUFWQnlBRnFJQVZCMEFCcUlBSWdBeUFFRUdwQkFFZ05BQ0FBS0FKTVFRQklJUWdnQUNBQUtBSUFJZ2RCWDNFMkFnQUNmd0pBQWtBZ0FDZ0NNRVVFUUNBQVFkQUFOZ0l3SUFCQkFEWUNIQ0FBUWdBM0F4QWdBQ2dDTENFR0lBQWdCVFlDTEF3QkN5QUFLQUlRRFFFTFFYOGdBQkErRFFFYUN5QUFJQUVnQlVISUFXb2dCVUhRQUdvZ0JVR2dBV29nQXlBRUVHb0xJUUVnQmdSL0lBQkJBRUVBSUFBb0FpUVJBQUFhSUFCQkFEWUNNQ0FBSUFZMkFpd2dBRUVBTmdJY0lBQW9BaFFhSUFCQ0FEY0RFRUVBQlNBQkN4b2dBQ0FBS0FJQUlBZEJJSEZ5TmdJQUlBZ05BQXNnQlVIUUFXb2tBQXNuQVFGL1FSd2hBeUFCUVFOeEJIOUJIQVVnQUNBQklBSVFKU0lBTmdJQVFRQkJNQ0FBR3dzTC9RTUJCWDhDZjBIZ3hBRW9BZ0FpQWlBQVFRZHFRWGh4SWdGQkIycEJlSEVpQTJvaEFBSkFJQU5CQUNBQUlBSk5HMFVFUUNBQVB3QkJFSFJORFFFZ0FCQUtEUUVMUVpUSEFVRXdOZ0lBUVg4TUFRdEI0TVFCSUFBMkFnQWdBZ3NpQWtGL1J3UkFJQUVnQW1vaUFFRUVhMEVRTmdJQUlBQkJFR3NpQTBFUU5nSUFBa0FDZjBHZ3p3RW9BZ0FpQVFSL0lBRW9BZ2dGUVFBTElBSkdCRUFnQWlBQ1FRUnJLQUlBUVg1eGF5SUVRUVJyS0FJQUlRVWdBU0FBTmdJSUlBUWdCVUYrY1dzaUFDQUFLQUlBYWtFRWF5MEFBRUVCY1FSQUlBQW9BZ1FpQVNBQUtBSUlJZ1EyQWdnZ0JDQUJOZ0lFSUFBZ0F5QUFheUlCTmdJQURBTUxJQUpCRUdzTUFRc2dBa0VRTmdJQUlBSWdBRFlDQ0NBQ0lBRTJBZ1FnQWtFUU5nSU1RYURQQVNBQ05nSUFJQUpCRUdvTElnQWdBeUFBYXlJQk5nSUFDeUFBSUFGQmZIRnFRUVJySUFGQkFYSTJBZ0FnQUFKL0lBQW9BZ0JCQ0dzaUFVSC9BRTBFUUNBQlFRTjJRUUZyREFFTElBRkJIU0FCWnlJRGEzWkJCSE1nQTBFQ2RHdEI3Z0JxSUFGQi94OU5EUUFhUVQ4Z0FVRWVJQU5yZGtFQ2N5QURRUUYwYTBISEFHb2lBU0FCUVQ5UEd3c2lBVUVFZENJRFFhREhBV28yQWdRZ0FDQURRYWpIQVdvaUF5Z0NBRFlDQ0NBRElBQTJBZ0FnQUNnQ0NDQUFOZ0lFUWFqUEFVR296d0VwQXdCQ0FTQUJyWWFFTndNQUN5QUNRWDlIQzcwQkFRSi9Ba0FnQUNnQ1RDSUJRUUJPQkVBZ0FVVU5BVUhNendFb0FnQWdBVUgvLy8vL0EzRkhEUUVMQWtBZ0FDZ0NVRUVLUmcwQUlBQW9BaFFpQVNBQUtBSVFSZzBBSUFBZ0FVRUJhallDRkNBQlFRbzZBQUFQQ3lBQUVHOFBDeUFBUWN3QWFpSUJJQUVvQWdBaUFrSC8vLy8vQXlBQ0d6WUNBQUpBQWtBZ0FDZ0NVRUVLUmcwQUlBQW9BaFFpQWlBQUtBSVFSZzBBSUFBZ0FrRUJhallDRkNBQ1FRbzZBQUFNQVFzZ0FCQnZDeUFCS0FJQUdpQUJRUUEyQWdBTGZBRUNmeU1BUVJCcklnRWtBQ0FCUVFvNkFBOENRQUpBSUFBb0FoQWlBZ1IvSUFJRklBQVFQZzBDSUFBb0FoQUxJQUFvQWhRaUFrWU5BQ0FBS0FKUVFRcEdEUUFnQUNBQ1FRRnFOZ0lVSUFKQkNqb0FBQXdCQ3lBQUlBRkJEMnBCQVNBQUtBSWtFUUFBUVFGSERRQWdBUzBBRHhvTElBRkJFR29rQUF1d0FnRUNmeUFBQkVBZ0FDZ0NBQkE0SUFCQkFEWUNBQ0FBS0FKSUlnRUVRQ0FCRUJBZ0FFRUFOZ0pJQ3lBQUtBSkVJZ0VFUUNBQkVCQWdBRUVBTmdKRUN5QUFLQUpzSWdFRVFDQUJFQkFnQUVFQU5nSnNDeUFBS0FKMElnRUVRQ0FCS0FJQUlnSUVRQ0FDRUJBZ0FDZ0NkQ0lCUVFBMkFnQUxJQUVRRUNBQVFRQTJBblFMSUFBb0FuZ2lBUVJBSUFFb0Fnd2lBZ1JBSUFJUUVDQUFLQUo0SWdGQkFEWUNEQXNnQVNnQ0JDSUNCRUFnQWhBUUlBQW9BbmdpQVVFQU5nSUVDeUFCS0FJSUlnSUVRQ0FDRUJBZ0FDZ0NlQ0lCUVFBMkFnZ0xJQUVvQWdBaUFnUkFJQUlRRUNBQUtBSjRJZ0ZCQURZQ0FBc2dBUkFRSUFCQkFEWUNlQXNnQUNnQ0JDSUJCRUFnQVJBeUlBQkJBRFlDQkFzZ0FDZ0NDQ0lCQkVBZ0FSQXlJQUJCQURZQ0NBc2dBQkFRQ3d1TEd3SWVmd1Y3SXdCQjhBRnJJZ2trQUVFQklRNENRQ0FBS0FJQUtBSThEUUFnQUNnQ2dBRU5BQUpBQWtBZ0FDZ0NkQ0lJUlFSQUlBQW9BbmdoQkF3QkN5QUJLQUlRSVFNZ0NDOEJCQ0VHQWtBZ0FDZ0NlQ0lFUlEwQUlBUW9BZ3hGRFFBZ0JDMEFFaUVEQ3dKQUlBWUVRQ0FJS0FJQUlRZ0RRQ0FJSUFWQkJteHFJZ292QVFBaUJ5QURUd1JBSUFrZ0F6WUN0QUVnQ1NBSE5nS3dBU0FDUVFGQm9PWUFJQWxCc0FGcUVBOUJBQ0VPREFZTEFrQWdDaThCQkNJS1JRMEFJQXBCLy84RFJnMEFJQXBCQVdzaUNpQURTUTBBSUFrZ0F6WUNwQUVnQ1NBS05nS2dBU0FDUVFGQm9PWUFJQWxCb0FGcUVBOUJBQ0VPREFZTElBVkJBV29pQlNBR1J3MEFDd3dCQ3lBRERRSU1BUXNEUUNBRFFRRnJJUU5CQUNFRkEwQWdDQ0FGUVFac2FpOEJBQ0FEUndSQUlBVkJBV29pQlNBR1J3MEJEQVFMQ3lBRERRQUxDd0pBSUFSRkRRQWdCQ2dDRENJS1JRMEFBa0FDUUNBRUxRQVNJZ2dFUUVFQUlRVkJBU0VIQTBBZ0FTZ0NFQ0lESUFvZ0JVRUNkR292QVFBaUJFMEVRQ0FKSUFNMkFwUUJJQWtnQkRZQ2tBRWdBa0VCUWFEbUFDQUpRWkFCYWhBUFFRQWhCd3NnQlVFQmFpSUZJQWhIRFFBTElBaEJCQkFUSWdORkRRRkJBQ0VGQTBBQ1FDQUtJQVZCQW5ScUlnUXRBQUlpQmtFQ1R3UkFJQWtnQmpZQ1JDQUpJQVUyQWtBZ0FrRUJRY3ZaQUNBSlFVQnJFQTlCQUNFSERBRUxJQWdnQkMwQUF5SUVUUVJBSUFrZ0JEWUNnQUVnQWtFQlFaUFpBQ0FKUVlBQmFoQVBRUUFoQnd3QkN5QURJQVJCQW5ScUlRc0NRQ0FHUVFGSElnd05BQ0FMS0FJQVJRMEFJQWtnQkRZQ1VDQUNRUUZCdk5VQUlBbEIwQUJxRUE5QkFDRUhEQUVMQWtBZ0JnMEFJQVJGRFFBZ0NTQUVOZ0prSUFrZ0JUWUNZQ0FDUVFGQml0Z0FJQWxCNEFCcUVBOUJBQ0VIREFFTEFrQWdEQTBBSUFRZ0JVWU5BQ0FKSUFRMkFuZ2dDU0FGTmdKMElBa2dCVFlDY0NBQ1FRRkJydGdBSUFsQjhBQnFFQTlCQUNFSERBRUxJQXRCQVRZQ0FBc2dCVUVCYWlJRklBaEhEUUFMUVFBaEJRTkFBa0FDUUNBRElBVkJBblFpQkdvb0FnQkZCRUFnQkNBS2FpMEFBZzBCQ3lBRlFRRnFJZ1VnQ0VjTkFpQUhSUTBCSUFFb0FoQkJBVWNOQlVFQUlRVURRQ0FESUFWQkFuUnFLQUlBQkVBZ0NDQUZRUUZxSWdWSERRRU1Cd3NMUVFBaEJ5QUNRUUpCN3NVQVFRQVFEeUFJUVJCUEJFQWdDRUh3QVhFaEIwRUFJUVFEUUNBS0lBUkJBblJxSWdaQkFUb0FBaUFHSUFRNkFBTWdCa0VCT2dBK0lBWkJBVG9BT2lBR1FRRTZBRFlnQmtFQk9nQXlJQVpCQVRvQUxpQUdRUUU2QUNvZ0JrRUJPZ0FtSUFaQkFUb0FJaUFHUVFFNkFCNGdCa0VCT2dBYUlBWkJBVG9BRmlBR1FRRTZBQklnQmtFQk9nQU9JQVpCQVRvQUNpQUdRUUU2QUFZZ0JpQUVRUUZ5T2dBSElBWWdCRUVQY2pvQVB5QUdJQVJCRG5JNkFEc2dCaUFFUVExeU9nQTNJQVlnQkVFTWNqb0FNeUFHSUFSQkMzSTZBQzhnQmlBRVFRcHlPZ0FySUFZZ0JFRUpjam9BSnlBR0lBUkJDSEk2QUNNZ0JpQUVRUWR5T2dBZklBWWdCRUVHY2pvQUd5QUdJQVJCQlhJNkFCY2dCaUFFUVFSeU9nQVRJQVlnQkVFRGNqb0FEeUFHSUFSQkFuSTZBQXNnQkVFUWFpSUVJQWRIRFFBTElBY2dDRVlOQmdzRFFDQUtJQWRCQW5ScUlnUWdCem9BQXlBRVFRRTZBQUlnQjBFQmFpSUhJQWhIRFFBTERBVUxJQWtnQlRZQ01DQUNRUUZCeU5JQUlBbEJNR29RRDBFQUlRY2dCVUVCYWlJRklBaEhEUUVMQ3lBREVCQkJBQ0VPREFVTElBaEJCQkFUSWdNTkFRdEJBQ0VPSUFKQkFVR0syd0JCQUJBUERBTUxJQU1RRUFzQ1FDQUFLQUo0SWdORkRRQWdBeWdDRENJUFJRUkFJQU1vQWdRUUVDQUFLQUo0S0FJSUVCQWdBQ2dDZUNnQ0FCQVFJQUFvQW5naUF5Z0NEQ0lFQkg4Z0JCQVFJQUFvQW5nRklBTUxFQkFnQUVFQU5nSjREQUVMSUFFb0FoZ2hEUUpBQWtBZ0F5MEFFaUlLQkVBZ0F5Z0NBQ0VVSUFNb0FnUWhCaUFES0FJSUlRaEJBQ0VGQWtBRFFDQU5JQThnQlVFQ2RHb3ZBUUJCTkd4cUtBSXNCRUFnQ2lBRlFRRnFJZ1ZIRFFFTUFnc0xJQWtnQlRZQ0lDQUNRUUZCd3VjQUlBbEJJR29RRDBFQUlRNE1CZ3NnQ2tFMGJCQVVJZ3RGRFFGQkFDRUZBMEFnRHlBRlFRSjBhaUlETHdFQUlRY2dDeUFETFFBQ0JIOGdBeTBBQXdVZ0JRdEJOR3hxSWdRZ0RTQUhRVFJzYWlJRC9RQUNBUDBMQWdBZ0JDQURLQUl3TmdJd0lBUWdBLzBBQWlEOUN3SWdJQVFnQS8wQUFoRDlDd0lRSUFzZ0JVRTBiR29pQkNBREtBSUlJQU1vQWd4c1FRSjBFQmdpQXpZQ0xDQURSUVJBSUFVRVFDQUZRZi8vQTNFaEFBTkFJQUJCTkd3Z0MycEJDR3NvQWdBUUVDQUFRUUZySWdBTkFBc0xJQXNRRUVFQUlRNGdBa0VCUVk3bkFFRUFFQThNQndzZ0JDQUZJQWhxTFFBQU5nSVlJQVFnQlNBR2FpMEFBRFlDSUNBRlFRRnFJZ1VnQ2tjTkFBc2dBQ2dDZUM4QkVDSVFRUUZySVJJRFFDQUxJQk5CTkd4cUlnTW9BZ3dnQXlnQ0NHd2hCaUFOSUE4Z0UwRUNkR29pQkM4QkFFRTBiR29vQWl3aENBSkFJQVF0QUFKRkJFQWdCa1VOQVNBREtBSXNJUVZCQUNFSFFRQWhCQUpBSUFaQkJFa05BQ0FGSUFoclFSQkpEUUFnQmtGOGNTRUVRUUFoQXdOQUlBVWdBMEVDZENJTWFpQUlJQXhxL1FBQ0FQMExBZ0FnQTBFRWFpSURJQVJIRFFBTElBUWdCa1lOQWdzZ0JDRURJQVpCQTNFaURBUkFBMEFnQlNBRFFRSjBJaEZxSUFnZ0VXb29BZ0EyQWdBZ0EwRUJhaUVESUFkQkFXb2lCeUFNUncwQUN3c2dCQ0FHYTBGOFN3MEJBMEFnQlNBRFFRSjBJZ1JxSUFRZ0NHb29BZ0EyQWdBZ0JTQUVRUVJxSWdkcUlBY2dDR29vQWdBMkFnQWdCU0FFUVFocUlnZHFJQWNnQ0dvb0FnQTJBZ0FnQlNBRVFReHFJZ1JxSUFRZ0NHb29BZ0EyQWdBZ0EwRUVhaUlESUFaSERRQUxEQUVMSUFaRkRRQWdGQ0FFTFFBRElnTkJBblJxSVFRZ0N5QURRVFJzYWlnQ0xDRUZRUUFoQXlBR1FRRkhCRUFnQmtGK2NTRVZRUUFoREFOQUlBVWdBMEVDZENJSGFpQUVJQWNnQ0dvb0FnQWlFU0FTSUJBZ0VVb2JRUUFnRVVFQVRoc2dDbXhCQW5ScUtBSUFOZ0lBSUFVZ0IwRUVjaUlIYWlBRUlBY2dDR29vQWdBaUJ5QVNJQWNnRUVnYlFRQWdCMEVBVGhzZ0NteEJBblJxS0FJQU5nSUFJQU5CQW1vaEF5QU1RUUpxSWd3Z0ZVY05BQXNMSUFaQkFYRkZEUUFnQlNBRFFRSjBJZ05xSUFRZ0F5QUlhaWdDQUNJRElCSWdBeUFRU0J0QkFDQURRUUJPR3lBS2JFRUNkR29vQWdBMkFnQUxJQk5CQVdvaUV5QUtSdzBBQ3d3Q0N5QUtRVFJzRUJRaUN3MEJDMEVBSVE0Z0FrRUJRWTduQUVFQUVBOE1Bd3NnQVNnQ0VDSURCRUJCQUNFRkEwQWdEU0FGUVRSc2FpZ0NMQ0lFQkVBZ0JCQVFDeUFGUVFGcUlnVWdBMGNOQUFzTElBMFFFQ0FCSUFvMkFoQWdBU0FMTmdJWUN5QUFLQUowSWdWRkRRRWdCU2dDQUNFSElBVXZBUVFpQ3dSQUlBZEJLbW9oRWlBSFFTUnFJUk1nQjBFZWFpRVJJQWRCR0dvaEZDQUhRUkpxSVJVZ0IwRU1haUVXSUFkQkJtb2hGeUFMUVFKcklSaEJBQ0VGUVFFaEJBTkFBa0FnQVNnQ0VDSURJQWNnQlVFR2JHb2lEUzhCQUNJR1RRUkFJQWtnQXpZQ0ZDQUpJQVkyQWhBZ0FrRUNRY3czSUFsQkVHb1FEd3dCQ3lBTkx3RUVJZ2hCQVdwQi8vOERjVUVCVFFSQUlBRW9BaGdnQmtFMGJHb2dEUzhCQWpzQk1Bd0JDeUFJUVFGcklncEIvLzhEY1NJUElBTlBCRUFnQ1NBRE5nSUVJQWtnRHpZQ0FDQUNRUUpCb3pjZ0NSQVBEQUVMQWtBZ0JpQVBSZzBBSUEwdkFRSU5BQ0FKSUFFb0FoZ2lDQ0FHUVRSc2FpSURLQUl3TmdMb0FTQUpJQVA5QUFJZy9Rc0QyQUVnQ1NBRC9RQUNFUDBMQThnQklBa2dBLzBBQWdEOUN3TzRBU0FESUFnZ0QwRTBiQ0lNYWlJSUtRSUlOd0lJSUFNZ0NDa0NFRGNDRUNBRElBZ3BBaGczQWhnZ0F5QUlLUUlnTndJZ0lBTWdDQ2tDS0RjQ0tDQURJQWdvQWpBMkFqQWdBeUFJS1FJQU53SUFJQUVvQWhnZ0RHb2lBeUFKL1FBRHVBSDlDd0lBSUFNZ0NmMEFBOWdCL1FzQ0lDQURJQW45QUFQSUFmMExBaEFnQXlBSktBTG9BVFlDTUNBRlFRRnFJQXRQRFFBZ0JDRUlJQmdnQld0Qi8vOERjU0lEUVFkUEJFQWdCQ0FEUVFGcUlobEIrUDhIY1NJUWFpRUlJQXI5RUNFa0lBYjlFQ0VqUVFBaERBTkFJQ01nSkNBU0lBUWdER3BCQm13aUEyb2lHaUFESUJOcUloc2dBeUFSYWlJY0lBTWdGR29pSFNBRElCVnFJaDRnQXlBV2FpSWZJQU1nRjJvaUlDQURJQWRxSWdQOUNBRUEvVlVCQUFIOVZRRUFBdjFWQVFBRC9WVUJBQVQ5VlFFQUJmMVZBUUFHL1ZVQkFBY2lJU0FqL1M0Z0lTQWsvUzBpSmYxTy9WSWhJaUFoSUNQOUxTQWwvVkFpSWYwWkFFRUJjUVJBSUFNZ0l2MVpBUUFBQ3lBaC9Sa0JRUUZ4QkVBZ0lDQWkvVmtCQUFFTElDSDlHUUpCQVhFRVFDQWZJQ0w5V1FFQUFnc2dJZjBaQTBFQmNRUkFJQjRnSXYxWkFRQURDeUFoL1JrRVFRRnhCRUFnSFNBaS9Wa0JBQVFMSUNIOUdRVkJBWEVFUUNBY0lDTDlXUUVBQlFzZ0lmMFpCa0VCY1FSQUlCc2dJdjFaQVFBR0N5QWgvUmtIUVFGeEJFQWdHaUFpL1ZrQkFBY0xJQXhCQ0dvaURDQVFSdzBBQ3lBUUlCbEdEUUVMQTBBZ0NpRURBa0FnQmlBSElBaEJCbXhxSWd3dkFRQWlFRWNFUUNBR0lRTWdEeUFRUncwQkN5QU1JQU03QVFBTElBc2dDRUVCYWlJSVFmLy9BM0ZIRFFBTEN5QUJLQUlZSUFaQk5HeHFJQTB2QVFJN0FUQUxJQVJCQVdvaEJDQUZRUUZxSWdVZ0MwY05BQXNnQUNnQ2RDSUZLQUlBSVFjTElBY0VmeUFIRUJBZ0FDZ0NkQVVnQlFzUUVDQUFRUUEyQW5RTUFRdEJBQ0VPSUFKQkFVR2h4Z0JCQUJBUEN5QUpRZkFCYWlRQUlBNEw2UUVCQm44akFFRWdheUlFSkFBQ2Z3SkFJQUFvQWp3aUF3UkFRUUVoQlFOQUlBQW9Ba3dvQWhnZ0FDZ0NRQ0FDUVFKMGFpZ0NBQ0lHUVRSc2FpZ0NMRVVFUUNBRUlBWTJBaEFnQVVFQ1FkbzVJQVJCRUdvUUQwRUFJUVVnQUNnQ1BDRURDeUFDUVFGcUlnSWdBMGtOQUFzTUFRdEJBU0VGUVFFZ0FDZ0NUQ0lES0FJUVJRMEJHZ05BSUFNb0FoZ2dBa0UwYkdvb0FpeEZCRUFnQkNBQ05nSUFJQUZCQWtIYU9TQUVFQTlCQUNFRklBQW9Ba3doQXdzZ0FrRUJhaUlDSUFNb0FoQkpEUUFMQzBFQklBVU5BQm9nQVVFQlFiOFZRUUFRRDBFQUN5RUhJQVJCSUdva0FDQUhDd1FBUVg4TGhnY0NGbjhDZmlBQUtBSVlJaEFvQWhCRkJFQkJBUThMSUJBb0FoZ2hEU0FBS0FJVUtBSUFLQUlVSVFzRFFDQUJJQTBvQWlRaUFqWUNKQ0FMS0FJY0lnWWdBa0dZQVd4cUlRTUNRQUpBQW44Z0FDZ0NRQ0lSQkVBZ0JpQUxLQUlZUVpnQmJHb2lBa0dRQVdzb0FnQWdBa0dZQVdzb0FnQnJJUXdnQTBFTWFpRUdJQU5CQkdvaEJDQURLQUlJSVFJZ0F5Z0NBQ0VGUVNRTUFRc2dBMEdVQVdvaEJpQURRWXdCYWlFRUlBTW9BcEFCSWdJZ0F5Z0NpQUVpQldzaERFRTBDeUFMYWlnQ0FDSVNSUTBBSUFRb0FnQWhCeUFHS0FJQUlRa2dBaUFGYXlFR0lBRW9BZ2dpQTBKL0lBRTFBaWdpR0laQ2Y0VWlHU0FCTlFJUWZDQVlpS2NpQ0dvaEJBSi9JQVVnQ0VzRVFDQUZJQWhySVE1QkFDRUlRUUFnQWlBRVRRMEJHaUFHSUFRZ0JXc2lCbXNNQVFzZ0NDQUZheUVJSUFJZ0JFMEVRQ0FHSUFocklRWkJBQ0VPUVFBTUFRdEJBQ0VPSUFNaEJpQUNJQVJyQ3lFVklBa2dCMnNoQWlBQktBSU1JZ1FnR1NBQk5RSVVmQ0FZaUtjaUNtb2hCUUovSUFjZ0Nrc0VRQ0FISUFwcklROUJBQ0VLUVFBZ0JTQUpUdzBCR2lBQ0lBVWdCMnNpQW1zTUFRc2dDaUFIYXlFS0lBVWdDVThFUUNBQ0lBcHJJUUpCQUNFUFFRQU1BUXRCQUNFUElBUWhBaUFKSUFWckN5RUhRUUFoQlNBSVFRQklEUUVnQ2tFQVNBMEJJQlZCQUVnTkFTQUhRUUJJRFFFZ0JrRUFTQTBCSUFKQkFFZ05BU0FESUE5c0lBNXFJUWNnQ2lBTWJDQUlhaUVKQWtBQ1FBSkFJQUVvQWl3aUNBMEFJQWtOQUNBSERRQWdBeUFNUncwQUlBTWdCa2NOQUNBQ0lBUkhEUUVnQVNBTFFTUkJOQ0FSRzJvaUFpZ0NBRFlDTENBQ1FRQTJBZ0FNQXdzZ0NBMEJDeUFFUlEwQ0lBU3RJQU90ZmtJZ2lLY05BaUFESUFSc0lnTkIvLy8vL3dOTERRSWdBU0FEUVFKMEVCZ2lBellDTENBRFJRMENJQVlnQVNnQ0NDSUVSaUFCS0FJTUlnVWdBa1p4RFFBZ0EwRUFJQVFnQld4QkFuUVFGUm9MSUFKRkRRQWdBa0VCY1NFWElBWkJBblFoQmlBQktBSXNJQWRCQW5ScUlRUWdFaUFKUVFKMGFpRUZJQUpCQVVjRVFDQUNRZjcvLy84SGNTRUhRUUFoQWdOQUlBUWdCU0FHRUJJaEZpQUZJQXhCQW5RaUNXb2lDQ0FKYWlFRklCWWdBU2dDQ0VFQ2RHb2dDQ0FHRUJJZ0FTZ0NDRUVDZEdvaEJDQUNRUUpxSWdJZ0IwY05BQXNMSUJkRkRRQWdCQ0FGSUFZUUVob0xJQXRCekFCcUlRc2dEVUUwYWlFTklBRkJOR29oQVVFQklRVWdGRUVCYWlJVUlCQW9BaEJKRFFFTEN5QUZDOVVTQWdsL0RINGpBRUdnQVdzaUJTUUFBa0FnQWtFalRRUkFRUUFoQWlBRFFRRkJ0aTVCQUJBUERBRUxJQUpCSkdzaUFpQUNRUU51SWdsQkEyeEhCRUJCQUNFQ0lBTkJBVUcyTGtFQUVBOE1BUXNnQUNnQ1NDRUdJQUVnQlVHY0FXb2lBa0VDRUJFZ0FDQUZLQUtjQVRzQlVDQUJRUUpxSUFaQkNHcEJCQkFSSUFGQkJtb2dCa0VNYWtFRUVCRWdBVUVLYWlBR1FRUVFFU0FCUVE1cUlBWkJCR3BCQkJBUklBRkJFbW9nQUVIY0FHcEJCQkFSSUFGQkZtb2dBRUhnQUdwQkJCQVJJQUZCR21vZ0FFSFVBR3BCQkJBUklBRkJIbW9nQUVIWUFHcEJCQkFSSUFGQkltb2dBa0VDRUJFQ1FBSkFBa0FnQlNnQ25BRWlBa0dBZ0FGTkJFQWdCaUFDTmdJUUlBSWdDVWNFUUNBRklBazJBb1FCSUFVZ0FqWUNnQUVnQTBFQlFaSHdBQ0FGUVlBQmFoQVBRUUFoQWd3RkN5QUdLQUlFSWdJZ0JpZ0NEQ0lJU1NBR0tBSUlJZ3NnQmlnQ0FDSUVTM0ZGQkVBZ0JTQUlyU0FDclgwM0EzZ2dCU0FMclNBRXJYMDNBM0FnQTBFQlFkdnNBQ0FGUWZBQWFoQVBRUUFoQWd3RkN5QUFLQUpjSWdkQkFDQUFLQUpnSWdvYlJRUkFJQVVnQ2pZQ0JDQUZJQWMyQWdBZ0EwRUJRWVB4QUNBRkVBOUJBQ0VDREFVTEFrQUNRQ0FBS0FKVUlnd2dCRXNOQUVGL0lBY2dER29pQnlBSElBeEpHeUFFVFEwQUlBQW9BbGdpQnlBQ1N3MEFRWDhnQnlBS2FpSUtJQWNnQ2tzYklBSkxEUUVMUVFBaEFpQURRUUZCMWhSQkFCQVBEQVVMQWtBZ0FDZ0M0QUVOQUNBQUtBTFlBU0lIUlEwQUlBQW9BdHdCSWdwRkRRQWdDeUFFYXlJRUlBZEdJQWdnQW1zaUFpQUtSbkVOQUNBRklBSTJBbXdnQlNBRU5nSm9JQVVnQ2pZQ1pDQUZJQWMyQW1BZ0EwRUJRY1BvQUNBRlFlQUFhaEFQUVFBaEFnd0ZDeUFHSUFsQk5CQVRJZ1EyQWhnZ0JFVU5BUUpBSUFZb0FoQkZEUUFnQVVFa2FpQUZRWmdCYWlJQ1FRRVFFU0FFSUFVb0FwZ0JJZ2xCQjNZaUNqWUNJQ0FFSUFsQi93QnhRUUZxSWd3MkFoZ2dBQ2dDNEFFaEN5QUJRU1ZxSUFKQkFSQVJJQVFnQlNnQ21BRTJBZ0FnQVVFbWFpQUNRUUVRRVNBRUlBVW9BcGdCSWdnMkFnUkJBQ0VDSUFRb0FnQWlCMEdBQW10QmdYNUpCRUJCQUNFSkRBVUxRUUFoQ1NBSVFZQUNhMEdCZmtrTkJDQUVLQUlZSWdoQkgwc05BeUFFUVFBMkFpUWdCQ0FBS0FLZ0FUWUNLRUVCSVFrZ0JpZ0NFRUVCVFEwQVFRQWdDaUFMR3lFS1FRQWdEQ0FMR3lFTElBRkJKMm9oQVFOQUlBRWdCVUdZQVdwQkFSQVJJQVFnQlNnQ21BRWlCMEVIZGlJSU5nSlVJQVFnQjBIL0FIRkJBV29pQnpZQ1RBSkFJQUFvQXVBQkRRQWdBQzBBdkFGQkJIRU5BQ0FISUF0R0lBZ2dDa1p4RFFBZ0JTQUlOZ0pVSUFVZ0J6WUNVQ0FGSUFrMkFrd2dCU0FLTmdKSUlBVWdDellDUkNBRklBazJBa0FnQTBFQ1FjZnVBQ0FGUVVCckVBOExJQUZCQVdvZ0JVR1lBV29pQ0VFQkVCRWdCQ0FGS0FLWUFUWUNOQ0FCUVFKcUlBaEJBUkFSSUFRZ0JTZ0NtQUVpQ0RZQ09DQUVLQUkwSWdkQmdBSnJRWUYrU1EwRklBaEJnQUpyUVlCK1RRMEZJQVFvQWt3aUNFRWdUdzBFSUFGQkEyb2hBU0FFUVFBMkFsZ2dCQ0FBS0FLZ0FUWUNYQ0FFUVRScUlRUWdDVUVCYWlJSklBWW9BaEJKRFFBTEMwRUFJUUlnQUNnQ1hDSUlSUTBFSUFBb0FtQWlDMFVOQkNBQUlBaXRJZzFDQVgwaUR5QUdLQUlJSUFBb0FsUWlCMnV0ZkNBTmdLY2lBVFlDYUNBQUlBdXRJZzVDQVgwaUVDQUdLQUlNSUFBb0FsZ2lDbXV0ZkNBT2dLY2lCRFlDYkFKQUFrQWdBVVVOQUNBRVJRMEFRZi8vQXlBRWJpQUJUdzBCQ3lBRklBUTJBaFFnQlNBQk5nSVFJQU5CQVVHMTZRQWdCVUVRYWhBUERBVUxJQUVnQkd3aENRSkFJQUF0QUVSQkFuRUVRQ0FBSUFBb0Fod2dCMnNnQ0c0MkFod2dBQ0FBS0FJZ0lBcHJJQXR1TmdJZ0lBQWdEeUFBS0FJa0lBZHJyWHdnRFlBK0FpUWdBQ0FRSUFBb0FpZ2dDbXV0ZkNBT2dENENLQXdCQ3lBQUlBUTJBaWdnQUNBQk5nSWtJQUJDQURjQ0hBc2dBQ0FKUVl3c0VCTWlBVFlDbkFFZ0FVVUVRQ0FEUVFGQnpSMUJBQkFQREFVTElBWW9BaEJCdUFnUUV5RUJJQUFvQWd3Z0FUWUMwQ3NnQUNnQ0RDZ0MwQ3RGQkVBZ0EwRUJRYzBkUVFBUUR3d0ZDMEVLUVJRUUV5RUJJQUFvQWd3Z0FUWUM4Q3NnQUNnQ0RDSUJLQUx3SzBVRVFDQURRUUZCelIxQkFCQVBEQVVMSUFGQkNqWUMrQ3RCQ2tFVUVCTWhBU0FBS0FJTUlBRTJBdndySUFBb0Fnd2lBU2dDL0N0RkJFQWdBMEVCUWMwZFFRQVFEd3dGQ3lBQlFRbzJBb1FzQWtBZ0JpZ0NFQ0lFUlEwQUlBWW9BaGdoQ0VFQUlRRWdCRUVCUndSQUlBUkJmbkVoQ3dOQUlBZ2dBVUUwYkdvaUJ5Z0NJRVVFUUNBQUtBSU1LQUxRS3lBQlFiZ0liR3BCQVNBSEtBSVlRUUZyZERZQ3RBZ0xJQWdnQVVFQmNpSUhRVFJzYWlJS0tBSWdSUVJBSUFBb0Fnd29BdEFySUFkQnVBaHNha0VCSUFvb0FoaEJBV3QwTmdLMENBc2dBVUVDYWlFQklBSkJBbW9pQWlBTFJ3MEFDd3NnQkVFQmNVVU5BQ0FJSUFGQk5HeHFJZ0lvQWlBTkFDQUFLQUlNS0FMUUt5QUJRYmdJYkdwQkFTQUNLQUlZUVFGcmREWUN0QWdMSUFrRVFDQUFLQUtjQVNFQlFRQWhBZ05BSUFFZ0JpZ0NFRUc0Q0JBVElnUTJBdEFySUFSRkJFQkJBQ0VDSUFOQkFVSE5IVUVBRUE4TUJ3c2dBVUdNTEdvaEFTQUNRUUZxSWdJZ0NVa05BQXNMSUFCQkJEWUNDQ0FHS0FJUUlnTUVRRUYvSUFBb0FsZ2lBU0FBS0FKZ0lnSWdBQ2dDYkVFQmEyeHFJZ1FnQW1vaUFpQUNJQVJKR3lJQ0lBWW9BZ3dpQkNBQ0lBUkpHNjBoRUVGL0lBQW9BbFFpQWlBQUtBSmNJZ1FnQUNnQ2FFRUJhMnhxSWdBZ0JHb2lCQ0FBSUFSTEd5SUFJQVlvQWdnaUJDQUFJQVJKRzYwaEVTQUJJQVlvQWdRaUFDQUFJQUZKRzYwaEVpQUNJQVlvQWdBaUFDQUFJQUpKRzYwaEV5QUdLQUlZSVFCQkFDRUJBMEFnQUNBQU5RSUVJZzFDQVgwaUZDQVNmQ0FOZ0NJVlBnSVVJQUFnQURVQ0FDSU9RZ0Y5SWhZZ0Uzd2dEb0FpRno0Q0VDQUFRbjhnQURVQ0tDSVBoa0ovaFNJWUlCQWdGSHdnRFlBZ0ZYMUMvLy8vL3crRGZDQVBpRDRDRENBQUlCRWdGbndnRG9BZ0YzMUMvLy8vL3crRElCaDhJQStJUGdJSUlBQkJOR29oQUNBQlFRRnFJZ0VnQTBjTkFBc0xRUUVoQWd3RUN5QUZJQUkyQXBBQklBTkJBVUgyT3lBRlFaQUJhaEFQUVFBaEFnd0RDMEVBSVFJZ0JrRUFOZ0lRSUFOQkFVSE5IVUVBRUE4TUFnc2dCU0FJTmdJMElBVWdDVFlDTUNBRFFRRkJ0L01BSUFWQk1Hb1FEd3dCQ3lBRklBZzJBaWdnQlNBSE5nSWtJQVVnQ1RZQ0lDQURRUUZCa2VzQUlBVkJJR29RRHdzZ0JVR2dBV29rQUNBQ0M1NERBUWQvSXdCQkVHc2lCaVFBQW44Z0FpQUNRUUZCQWlBQUtBSklLQUlRSWdoQmdRSkpHeUlIUVFGMFFRVnFJZ1J1SWdVZ0JHeEdJQUlnQkU5eFJRUkFJQU5CQVVHS0kwRUFFQTlCQUF3QkN3Si9JQUFvQWdoQkVFWUVRQ0FBS0FLY0FTQUFLQUxNQVVHTUxHeHFEQUVMSUFBb0Fnd0xJUVJCQUNFQUlBUXRBSWdzSWdKQkJIRUVRQ0FFS0FLa0EwRUJhaUVBQ3lBQUlBVnFJZ1ZCSUU4RVFDQUdJQVUyQWdBZ0EwRUJRWXM3SUFZUUQwRUFEQUVMSUFRZ0FrRUVjam9BaUN3Z0FDQUZTUVJBSUFRZ0FFR1VBV3hxUWFnRGFpRUNBMEFnQVNBQ1FRRVFFU0FCUVFGcUlnRWdBa0VFYWlBSEVCRWdBU0FIYWlJQklBSkJDR3BCQWhBUklBSWdBaWdDQ0NJRElBUW9BZ2dpQ1NBRElBbEpHellDQ0NBQlFRSnFJQUpCREdwQkFSQVJJQUZCQTJvaUFTQUNRUkJxSUFjUUVTQUJJQWRxSWdFZ0JrRU1ha0VCRUJFZ0FpQUdLQUlNTmdJa0lBSWdBaWdDRUNJRElBZ2dBeUFJU1JzMkFoQWdBa0dVQVdvaEFpQUJRUUZxSVFFZ0FFRUJhaUlBSUFWSERRQUxDeUFFSUFWQkFXczJBcVFEUVFFTElRb2dCa0VRYWlRQUlBb0w3QUVCQkg4akFFRVFheUlFSkFBQ2Z3SkFJQUVnQkVFSWFnSi9JQUFvQWtnb0FoQkJnQUpOQkVBZ0FnUkFRWDhoQlVFQkRBSUxJQU5CQVVHK0kwRUFFQTlCQUF3REN5QUNRUUZORFFGQmZpRUZRUUlMSWdZUUVTQUVJQUlnQldvMkFnd2dCQ2dDQ0NJQ0lBQW9Ba2dvQWhBaUJVOEVRQ0FFSUFVMkFnUWdCQ0FDTmdJQUlBTkJBVUhHT2lBRUVBOUJBQXdDQ3lBQUlBSWdBU0FHYWlBRVFReHFJQU1RUWtVRVFDQURRUUZCdmlOQkFCQVBRUUFNQWd0QkFTQUVLQUlNUlEwQkdpQURRUUZCdmlOQkFCQVBRUUFNQVFzZ0EwRUJRYjRqUVFBUUQwRUFDeUVISUFSQkVHb2tBQ0FIQzlrQkFRUi9Jd0JCRUdzaUJDUUFJQVFnQWpZQ0RBSkFBa0FnQUVFQUlBRWdCRUVNYWlBREVFSkZEUUFnQkNnQ0RBMEFBbjhnQUNnQ0NFRVFSZ1JBSUFBb0Fwd0JJQUFvQXN3QlFZd3NiR29NQVFzZ0FDZ0NEQXNoQjBFQklRVWdBQ2dDU0NnQ0VFRUNTUTBCSUFjb0F0QXJJZ0pCSEdvaEJrRUJJUUVnQWlFREEwQWdBeUFDS0FJWU5nTFFDQ0FESUFJb0FxUUdOZ0xjRGlBRFFkUUlhaUFHUVlnR0VCSWFJQU5CdUFocUlRTWdBVUVCYWlJQklBQW9Ba2dvQWhCSkRRQUxEQUVMSUFOQkFVSFdJa0VBRUE4TElBUkJFR29rQUNBRkM5WUJBUU4vSXdCQkVHc2lCQ1FBQWtBZ0FrRUJRUUlnQUNnQ1NDZ0NFQ0lHUVlFQ1NSc2lCVUVDYWtjRVFFRUFJUUFnQTBFQlFZb2dRUUFRRHd3QkN3Si9JQUFvQWdoQkVFWUVRQ0FBS0FLY0FTQUFLQUxNQVVHTUxHeHFEQUVMSUFBb0Fnd0xJUUlnQVNBRVFReHFJQVVRRVVFQklRQWdBU0FGYWlJRklBUkJDR3BCQVJBUklBWWdCQ2dDRENJQlRRUkFJQVFnQmpZQ0JDQUVJQUUyQWdBZ0EwRUJRZGp2QUNBRUVBOUJBQ0VBREFFTElBVkJBV29nQWlnQzBDc2dBVUc0Q0d4cVFhZ0dha0VCRUJFTElBUkJFR29rQUNBQUM0UUNBUVYvSXdCQkVHc2lCQ1FBQW44Z0FDZ0NDRUVRUmdSQUlBQW9BcHdCSUFBb0Fzd0JRWXdzYkdvTUFRc2dBQ2dDREFzaEJnSkFJQUpCQVVFQ0lBQW9Ba2dpQnlnQ0VFR0JBa2tiSWdWTkJFQkJBQ0VDSUFOQkFVR2tJMEVBRUE4TUFRc2dCQ0FGUVg5eklBSnFOZ0lNSUFFZ0JFRUlhaUFGRUJFZ0JDZ0NDQ0lJSUFjb0FoQlBCRUJCQUNFQ0lBTkJBVUdBNlFCQkFCQVBEQUVMUVFFaEFpQUJJQVZxSWdFZ0JpZ0MwQ3NnQ0VHNENHeHFRUUVRRVNBQUlBUW9BZ2dnQVVFQmFpQUVRUXhxSUFNUVEwVUVRRUVBSVFJZ0EwRUJRYVFqUVFBUUR3d0JDeUFFS0FJTVJRMEFRUUFoQWlBRFFRRkJwQ05CQUJBUEN5QUVRUkJxSkFBZ0FndXNCZ0VIZnlNQVFSQnJJZ1lrQUNBR0lBSTJBZ3dnQUNnQ1NDRUpBbjhnQUNnQ0NFRVFSZ1JBSUFBb0Fwd0JJQUFvQXN3QlFZd3NiR29NQVFzZ0FDZ0NEQXNpQkNBRUxRQ0lMRUVCY2pvQWlDd0NRQ0FDUVFSTkJFQWdBMEVCUWJ3aVFRQVFEd3dCQ3lBQklBUkJBUkFSSUFRb0FnQkJDRThFUUNBRFFRRkJtaUpCQUJBUERBRUxJQUZCQVdvZ0JrRUlha0VCRUJFZ0JDQUdLQUlJSWdJMkFnUWdBa0VGVGdSQUlBTkJBVUh4SVVFQUVBOGdCRUYvTmdJRUN5QUJRUUpxSUFSQkNHcEJBaEFSSUFRb0FnZ2lCMEdBZ0FSclFZQ0FmRTBFUUNBR0lBYzJBZ0FnQTBFQlFhazlJQVlRRHd3QkN5QUVJQUFvQXFRQklnSWdCeUFDR3pZQ0RDQUJRUVJxSUFSQkVHcEJBUkFSSUFRb0FoQkJBazhFUUNBRFFRRkJoeXBCQUJBUERBRUxJQUZCQldvaEFpQUdJQVlvQWd4QkJXczJBZ3dDUUNBSktBSVFJZ2RGRFFBZ0JDZ0NBRUVCY1NFSUlBUW9BdEFySVFSQkFDRUpJQWRCQ0U4RVFDQUhRWGh4SVFFRFFDQUVJQVZCdUFoc2FpQUlOZ0lBSUFRZ0JVRUJja0c0Q0d4cUlBZzJBZ0FnQkNBRlFRSnlRYmdJYkdvZ0NEWUNBQ0FFSUFWQkEzSkJ1QWhzYWlBSU5nSUFJQVFnQlVFRWNrRzRDR3hxSUFnMkFnQWdCQ0FGUVFWeVFiZ0liR29nQ0RZQ0FDQUVJQVZCQm5KQnVBaHNhaUFJTmdJQUlBUWdCVUVIY2tHNENHeHFJQWcyQWdBZ0JVRUlhaUVGSUFwQkNHb2lDaUFCUncwQUN3c2dCMEVIY1NJQlJRMEFBMEFnQkNBRlFiZ0liR29nQ0RZQ0FDQUZRUUZxSVFVZ0NVRUJhaUlKSUFGSERRQUxDMEVBSVFVZ0FFRUFJQUlnQmtFTWFpQURFRU5GQkVBZ0EwRUJRYndpUVFBUUR3d0JDeUFHS0FJTUJFQWdBMEVCUWJ3aVFRQVFEd3dCQ3dKL0lBQW9BZ2hCRUVZRVFDQUFLQUtjQVNBQUtBTE1BVUdNTEd4cURBRUxJQUFvQWd3TElRRWdBQ2dDU0NnQ0VFRUNUd1JBSUFFb0F0QXJJZ0VvQWdSQkFuUWhCeUFCUWJBSGFpRUtJQUZCckFacUlRTkJBU0VKSUFFaEFnTkFJQUlnQWYwQUFnVDlDd0s4Q0NBQ0lBRW9BaFEyQXN3SUlBSkI1QTVxSUFNZ0J4QVNHaUFDUWVnUGFpQUtJQWNRRWhvZ0FrRzRDR29oQWlBSlFRRnFJZ2tnQUNnQ1NDZ0NFRWtOQUFzTFFRRWhCUXNnQmtFUWFpUUFJQVVMN0FrQkJuOGpBRUh3QUdzaUJDUUFJQVJCQURZQ2FBSkFJQUpCQ0VjRVFDQURRUUZCdlI1QkFCQVBJQU5CQVVHOUhrRUFFQThNQVFzZ0FTQUFRY3dCYWtFQ0VCRWdBVUVDYWlBRVFld0Fha0VFRUJFZ0FVRUdhaUFFUWVRQWFrRUJFQkVnQVVFSGFpQUVRZWdBYWtFQkVCRWdBQ2dDekFFaUFpQUFLQUpvSWdnZ0FDZ0NiR3hQQkVBZ0JDQUNOZ0pnSUFOQkFVR2RPeUFFUWVBQWFoQVBEQUVMSUFBb0Fwd0JJQUpCakN4c2FpRUZJQUlnQ0c0aEJ5QUVLQUprSVFFQ1FDQUFLQUlzSWdaQkFFNGdBaUFHUjNFTkFDQUZLQUxVSzBFQmFpSUdJQUZHRFFBZ0JDQUdOZ0pZSUFRZ0FUWUNWQ0FFSUFJMkFsQWdBMEVCUWJVN0lBUkIwQUJxRUE5QkFDRUZEQUVMSUFVZ0FUWUMxQ3NDUUFKQUlBUW9BbXdpQVVFQmEwRU1UUVIvSUFGQkRFY05BU0FFUVF3MkFqQWdBMEVDUWVYWEFDQUVRVEJxRUE4Z0JDZ0NiQVVnQVF0RkJFQWdBMEVFUWJMUEFFRUFFQThnQUVFQk5nSTRDd0pBQWtBQ1FBSkFJQVVvQXRncklnRUVRQ0FFS0FKa0lnWWdBVWtOQVNBRUlBRTJBaVFnQkNBR05nSWdJQU5CQVVHRkp5QUVRU0JxRUE4Z0FFRUJOZ0k0UVFBaEJRd0hDeUFFS0FKb0lnWU5BUXdEQ3lBRUtBSm9JZ1pGRFFFTElBUWdCaUFBTFFCRVFRUjJRUUZ4YWlJQk5nSm9JQVFvQW1RaUJpQUZLQUxZS3lJSlFRRnJTd1JBSUFRZ0NUWUNCQ0FFSUFZMkFnQWdBMEVCUWFJbUlBUVFEeUFBUVFFMkFqaEJBQ0VGREFVTElBRWdCazBFUUNBRUlBRTJBaFFnQkNBR05nSVFJQU5CQVVIcEp5QUVRUkJxRUE4Z0FFRUJOZ0k0UVFBaEJRd0ZDeUFGSUFFMkF0Z3JDeUFCSUFRb0FtUkJBV3BIRFFBZ0FDQUFMUUJFUVFGeU9nQkVDeUFFS0FKc0lRRWdBRUVRTmdJSUlBQkJBQ0FCUVF4cklBQW9BamdiTmdJWUFrQWdBQ2dDTENJQlFYOUdCRUJCQkNFRklBSWdCeUFJYkdzaUFTQUFLQUljU1EwQklBRWdBQ2dDSkU4TkFTQUhJQUFvQWlCSkRRRWdCeUFBS0FJb1QwRUNkQ0VGREFFTElBQW9Bc3dCSUFGSFFRSjBJUVVMSUFBZ0FDMEFSRUg3QVhFZ0JYSTZBRVJCQVNFRklBQW9Bc2dCSWdGRkRRSWdBU2dDS0NJR0lBQW9Bc3dCSWdKQktHeHFJZ2NnQWpZQ0FDQUhJQVFvQW1RaUNEWUNEQ0FFS0FKb0lnRUVRQ0FISUFFMkFnUWdCeUFFS0FKb0lnRTJBZ2dnQnlnQ0VDSUNSUVJBSUFGQkdCQVRJUUVnQUNnQ3lBRW9BaWdnQUNnQ3pBRkJLR3hxSUFFMkFoQWdBUTBFUVFBaEJTQURRUUZCeVRSQkFCQVBEQVFMSUFJZ0FVRVliQkFYSVFFZ0FDZ0N5QUVvQWlnZ0FDZ0N6QUZCS0d4cUlRSWdBVVVFUUNBQ0tBSVFFQkJCQUNFRklBQW9Bc2dCS0FJb0lBQW9Bc3dCUVNoc2FrRUFOZ0lRSUFOQkFVSEpORUVBRUE4TUJBc2dBaUFCTmdJUURBTUxJQWNvQWhBaUFVVUVRQ0FIUVFvMkFnaEJDa0VZRUJNaEFTQUFLQUxJQVNnQ0tDSUdJQUFvQXN3QklnSkJLR3hxSWdjZ0FUWUNFQ0FCUlEwQ0lBUW9BbVFoQ0FzZ0NDQUdJQUpCS0d4cUlnSW9BZ2hKRFFJZ0FpQUlRUUZxSWdJMkFnZ2dBU0FDUVJoc0VCY2hBU0FBS0FMSUFTZ0NLQ0FBS0FMTUFVRW9iR29oQWlBQlJRUkFJQUlvQWhBUUVFRUFJUVVnQUNnQ3lBRW9BaWdnQUNnQ3pBRkJLR3hxSWdCQkFEWUNDQ0FBUVFBMkFoQWdBMEVCUWNrMFFRQVFEd3dEQ3lBQ0lBRTJBaEFNQWdzZ0JDQUJOZ0pBSUFOQkFVSHkyUUFnQkVGQWF4QVBRUUFoQlF3QkMwRUFJUVVnQjBFQU5nSUlJQU5CQVVISk5FRUFFQThMSUFSQjhBQnFKQUFnQlF1ckJ3RUlmeU1BUWRBQWF5SUVKQUFnQkVFQk5nSk1Ba0FDUUNBQUtBTElBU0lGS0FJb0lnTU5BQ0FGSUFBb0Ftd2dBQ2dDYUd3aUF6WUNKQ0FEUVNnUUV5RURJQUFvQXNnQklnVWdBellDS0NBRFJRUkFRUUFoQlF3Q0N5QUZLQUlrUlEwQUEwQkJBQ0VGSUFNZ0JrRW9iQ0lIYWlJRFFRQTJBaFFnQTBIa0FEWUNIRUhrQUVFWUVCTWhDU0FISUFBb0FzZ0JJZ2dvQWlnaUEyb2dDVFlDR0NBSlJRMENJQVpCQVdvaUJpQUlLQUlrU1EwQUN3c2dBQ2dDTENFSkFrQWdBeWdDRUVVTkFBSkFJQU1nQ1VFb2JHb2lBeWdDQkVVRVFDQUJJQUFwQXpCQ0Fud2dBaEEyRFFGQkFDRUZJQUpCQVVHbktVRUFFQThNQXdzZ0FTQURLQUlRS1FNQVFnSjhJQUlRTmcwQVFRQWhCU0FDUVFGQnB5bEJBQkFQREFJTElBQW9BZ2hCZ0FKSERRQWdBRUVJTmdJSUN3SkFJQUFvQW13Z0FDZ0NhR3dpQjBVTkFDQUFLQUtjQVNFRlFRQWhBeUFIUVFoUEJFQWdCMEY0Y1NFSVFRQWhCZ05BSUFVZ0EwR01MR3hxUVg4MkF0UXJJQVVnQTBFQmNrR01MR3hxUVg4MkF0UXJJQVVnQTBFQ2NrR01MR3hxUVg4MkF0UXJJQVVnQTBFRGNrR01MR3hxUVg4MkF0UXJJQVVnQTBFRWNrR01MR3hxUVg4MkF0UXJJQVVnQTBFRmNrR01MR3hxUVg4MkF0UXJJQVVnQTBFR2NrR01MR3hxUVg4MkF0UXJJQVVnQTBFSGNrR01MR3hxUVg4MkF0UXJJQU5CQ0dvaEF5QUdRUWhxSWdZZ0NFY05BQXNMSUFkQkIzRWlCa1VOQUFOQUlBVWdBMEdNTEd4cVFYODJBdFFySUFOQkFXb2hBeUFLUVFGcUlnb2dCa2NOQUFzTFFRQWhCU0FBSUFSQnlBQnFRUUFnQkVIRUFHb2dCRUZBYXlBRVFUeHFJQVJCT0dvZ0JFRTBhaUFFUWN3QWFpQUJJQUlRSjBVTkFDQUpRUUZxSVFjRFFBSkFJQVFvQWt4RkRRQWdBQ0FFS0FKSUlnTkJBRUVBSUFFZ0FoQXJSUTBDSUFBb0FtZ2hDQ0FBS0FKc0lRb2dCQ0FEUVFGcUlnWTJBaUFnQkNBSUlBcHNOZ0lrSUFKQkJFR2cxd0FnQkVFZ2FoQVBJQUFvQXRBQklBQW9Ba3dvQWhnUWRFVU5BaUFBS0FLY0FTQURRWXdzYkdvaUJTZ0MzQ3NpQ0FSQUlBZ1FFQ0FGUWdBM0F0d3JDeUFFSUFZMkFoQWdBa0VFUWViOEFDQUVRUkJxRUE4Z0F5QUpSZ1JBSUFFZ0FDZ0N5QUVwQXdoQ0Fud2dBaEEyRFFGQkFDRUZJQUpCQVVHbktVRUFFQThNQXdzZ0JDQUhOZ0lFSUFRZ0JqWUNBQ0FDUVFKQjNlVUFJQVFRRDBFQUlRVWdBQ0FFUWNnQWFrRUFJQVJCeEFCcUlBUkJRR3NnQkVFOGFpQUVRVGhxSUFSQk5Hb2dCRUhNQUdvZ0FTQUNFQ2NOQVF3Q0N3c2dBQ0FDRUhJaEJRc2dCRUhRQUdva0FDQUZDOGdHQWdkL0FYNGpBRUhRQUdzaUF5UUFJQU5CQVRZQ1RBSkFBa0FnQUNnQ2FDSUVRUUZIRFFBZ0FDZ0NiRUVCUncwQUlBQW9BbFFOQUNBQUtBSllEUUFnQUNnQ1RDSUZLQUlBRFFBZ0JTZ0NCQTBBSUFVb0FnZ2dBQ2dDWEVjTkFDQUZLQUlNSUFBb0FtQkhEUUJCQUNFRUlBQWdBMEhJQUdwQkFDQURRY1FBYWlBRFFVQnJJQU5CUEdvZ0EwRTRhaUFEUVRScUlBTkJ6QUJxSUFFZ0FoQW5SUTBCQWtBZ0FDQURLQUpJUVFCQkFDQUJJQUlRS3dSQUlBQW9Ba3dpQVNnQ0VBMEJRUUVoQkF3REN5QUNRUUZCa2NJQVFRQVFEd3dDQ3lBQktBSVlJUUZCQUNFQ0EwQWdBU0FDUVRSc0lnUnFLQUlzRUJBZ0FDZ0NUQ0lGS0FJWUlnRWdCR29pQmlBQUtBTFFBU0lIS0FJVUtBSUFLQUlVSUFKQnpBQnNhaUlJS0FJa05nSXNJQVlnQnlnQ0dDZ0NHQ0FFYWlnQ0pEWUNKQ0FJUVFBMkFpUkJBU0VFSUFKQkFXb2lBaUFGS0FJUVNRMEFDd3dCQ3dOQUFrQUNmd0pBSUFSQkFVY05BQ0FBS0FKc1FRRkhEUUFnQUNnQ25BRW9BdHdyUlEwQUlBTkJBRFlDU0NBQVFRQTJBc3dCSUFBZ0FDZ0NDRUdBQVhJMkFnaEJBQXdCQzBFQUlRUWdBQ0FEUWNnQWFrRUFJQU5CeEFCcUlBTkJRR3NnQTBFOGFpQURRVGhxSUFOQk5Hb2dBMEhNQUdvZ0FTQUNFQ2RGRFFNZ0F5Z0NURVVOQVNBREtBSklDeUlIUVFGcUlRUWdBQ0FIUVFCQkFDQUJJQUlRS3lFSklBQW9BbWdnQUNnQ2JHd2hCU0FKUlFSQUlBTWdCVFlDQkNBRElBUTJBZ0FnQWtFQlFaYzVJQU1RRDBFQUlRUU1Bd3NnQXlBRk5nSWtJQU1nQkRZQ0lDQUNRUVJCb05jQUlBTkJJR29RRHlBQUtBTFFBU0FBS0FKTUtBSVlFSFJGQkVCQkFDRUVEQU1MQWtBQ1FDQUFLQUpvUVFGSERRQWdBQ2dDYkVFQlJ3MEFJQUFvQWt3aUJTZ0NBQ0FBS0FKSUlnWW9BZ0JIRFFFZ0JTZ0NCQ0FHS0FJRVJ3MEJJQVVvQWdnZ0JpZ0NDRWNOQVNBRktBSU1JQVlvQWd4SERRRUxJQUFvQXB3QklBZEJqQ3hzYWlJRktBTGNLeUlHUlEwQUlBWVFFQ0FGUWdBM0F0d3JDeUFESUFRMkFoQWdBa0VFUWViOEFDQURRUkJxRUE4Z0FTa0RDQ0lLVUFSK1FnQUZJQW9nQVNrRE9IMExVQVJBSUFBb0FnaEJ3QUJHRFFFTElBaEJBV29pQ0NBQUtBSm9JZ1FnQUNnQ2JHeEhEUUVMQ3lBQUlBSVFjaUVFQ3lBRFFkQUFhaVFBSUFRTHRRWUJESDhnQUNnQ1NDRUpBa0FnQUNnQ2FDQUFLQUpzYkNJTUJFQWdDU2dDRUNJQlFiZ0liQ0VOSUFFZ0FXeEJBblFoQ2lBQUtBSU1JUVFnQUNnQ25BRWhBd05BSUFNb0F0QXJJUXNnQXlBRVFZd3NFQklpQVVFQU5nTG9LeUFCUVg4MkF0UXJJQUZCQURZQ3NDZ2dBVUVBTmdLRUxDQUJRUUEyQXZBcklBRkNBRGNDK0NzZ0FTQUxOZ0xRS3lBQklBRXRBSWdzUWZ3QmNUb0FpQ3dnQkNnQzZDc0VRQ0FCSUFvUUZDSUROZ0xvS3lBRFJRUkFRUUFQQ3lBRElBUW9BdWdySUFvUUVob0xJQUVnQkNnQytDdEJGR3dpQlJBVUlnTTJBdkFyUVFBaENDQURSUTBDSUFNZ0JDZ0M4Q3NnQlJBU0dpQUVLQUwwS3lJR0JFQWdCQ2dDOENzaEF5QUJLQUx3S3lFRlFRQWhCd05BSUFNb0Fnd0VRQ0FGSUFNb0FoQVFGQ0lHTmdJTUlBWkZCRUJCQUE4TElBWWdBeWdDRENBREtBSVFFQklhSUFRb0F2UXJJUVlMSUFFZ0FTZ0MrQ3RCQVdvMkF2Z3JJQVZCRkdvaEJTQURRUlJxSVFNZ0IwRUJhaUlISUFaSkRRQUxDeUFCSUFRb0FvUXNRUlJzSWdVUUZDSUROZ0w4S3lBRFJRMENJQU1nQkNnQy9Dc2dCUkFTR2lBQklBUW9Bb1FzSWdnMkFvUXNJQWdFUUNBRUtBTDhLeUVESUFFb0F2d3JJUVZCQUNFSEEwQWdBeWdDQ0NJR0JFQWdCU0FCS0FMd0t5QUdJQVFvQXZBcmEybzJBZ2dMSUFNb0Fnd2lCZ1JBSUFVZ0FTZ0M4Q3NnQmlBRUtBTHdLMnRxTmdJTUN5QUZRUlJxSVFVZ0EwRVVhaUVESUFkQkFXb2lCeUFJUncwQUN3c2dDeUFFS0FMUUt5QU5FQklhSUFGQmpDeHFJUU1nRGtFQmFpSU9JQXhIRFFBTEMwRUJJUWdnQUFKL1FRQkJBVUhJQUJBVElnRkZEUUFhSUFFZ0FTMEFLRUgrQVhGQkFYSTZBQ2dnQVVFQlFRUVFFeUlFTmdJVUlBRWdCQTBBR2lBQkVCQkJBQXNpQVRZQzBBRWdBVVVFUUVFQUR3c2dBQ2dDMUFFaEJVRUFJUVFnQVNBQVFkQUFhallDSENBQklBazJBaGhCQVVIUUJoQVRJUU1nQVNnQ0ZDQUROZ0lBQWtBZ0EwVU5BQ0FKS0FJUVFjd0FFQk1oQXlBQktBSVVLQUlBSWdjZ0F6WUNGQ0FEUlEwQUlBY2dDU2dDRURZQ0VDQUFLQUtrQVNFRUlBRWdCVFlDTENBQklBUTJBZ0JCQVNFRUN5QUVEUUFnQUNnQzBBRVFWVUVBSVFnZ0FFRUFOZ0xRQVNBQ1FRRkJ3aHRCQUJBUEN5QUlDOVVTQXd4L0FYMEJmaU1BUVRCcklnZ2tBQ0FBUVFFMkFnZ0Nmd0pBQWtBZ0FTQUlRU2hxSWdWQkFpQUNFQnBCQWtjTkFDQUZJQWhCTEdwQkFoQVJJQWdvQWl4QnovNERSdzBBSUFCQkFqWUNDQ0FBS0FMSUFTQUJLUU00UWdKOUloQTNBd0FnQ0NBUU53TVFJQUpCQkVIdTNnQWdDRUVRYWhBUElBQW9Bc2dCSWdNcEF3QWhFQ0FES0FJWUlnZEJBV29pQlNBREtBSWdJZ1JOQkVBZ0F5Z0NIQ0VFREFJTElBTUNmeUFFczBNQUFNaENraUlQUXdBQWdFOWRJQTlEQUFBQUFHQnhCRUFnRDZrTUFRdEJBQXNpQlRZQ0lDQURLQUljSUFWQkdHd1FGeUlFQkVBZ0F5QUVOZ0ljSUFNb0FoZ2lCMEVCYWlFRkRBSUxJQU1vQWh3UUVDQURRUUEyQWlBZ0EwSUFOd01ZSUFKQkFVR3BIVUVBRUE4TElBSkJBVUcxOVFCQkFCQVBRUUFNQVFzZ0JDQUhRUmhzYWlJRVFRSTJBaEFnQkNBUXhEY0RDQ0FFUWMvK0F6c0JBQ0FESUFVMkFoZ2dBU0FBS0FJUVFRSWdBaEFhUVFKSEJFQWdBa0VCUVpZU1FRQVFEMEVBREFFTElBQW9BaEFnQ0VFb2FrRUNFQkVDUUFKQUlBZ29BaWdpQkVHUS93TkhCRUFEUUVIZ3ZRRWhCeUFFUWYvOUEwMEVRQ0FJSUFRMkFnQWdBa0VCUWNvUUlBZ1FEMEVBREFVTEEwQWdCeUlGS0FJQUlnTUVRQ0FGUVF4cUlRY2dBeUFFUncwQkN3c0NRQUpBSUFNTkFFRUNJUVlnQWtFQ1FmVWNRUUFRRDBHV0VpRUhBa0FDUUNBQklBQW9BaEJCQWlBQ0VCcEJBa2NOQUFOQUlBQW9BaEFnQ0VFc2FrRUNFQkZCNEwwQklRTWdDQ2dDTENJRVFZRCtBMDhFUUFOQUlBTWlCU2dDQUNJTUJFQWdBMEVNYWlFRElBUWdERWNOQVFzTElBVW9BZ1FnQUNnQ0NIRkZCRUJCL0NnaEJ3d0RDeUFNQkVBZ0RFR1Evd05HQkVBZ0NFR1Evd00yQWlnTUJ3c2dBU2tET0NFUUlBQW9Bc2dCSWdNb0FoZ2lCVUVCYWlJRUlBTW9BaUFpQjAwRVFDQURLQUljSVFjTUJRc2dBd0ovSUFlelF3QUF5RUtTSWc5REFBQ0FUMTBnRDBNQUFBQUFZSEVFUUNBUHFRd0JDMEVBQ3lJRk5nSWdJQU1vQWh3Z0JVRVliQkFYSWdjRVFDQURJQWMyQWh3Z0F5Z0NHQ0lGUVFGcUlRUU1CUXNnQXlnQ0hCQVFJQU5CQURZQ0lDQURRZ0EzQXhoQnFSMGhCd3dEQ3lBR1FRSnFJUVlMSUFFZ0FDZ0NFRUVDSUFJUUdrRUNSZzBBQ3dzZ0FrRUJJQWRCQUJBUElBSkJBVUg5eUFCQkFCQVBRUUFNQndzZ0J5QUZRUmhzYWlJRklBWTJBaEFnQlNBUXB5QUdhNnczQXdnZ0JVRUFPd0VBSUFNZ0JEWUNHQ0FJSUF3MkFpaEI0TDBCSVFRRFFDQUVJZ1VvQWdBaUEwVU5BU0FFUVF4cUlRUWdBeUFNUncwQUN3c2dCU2dDQkNBQUtBSUljVVVFUUNBQ1FRRkIvQ2hCQUJBUFFRQU1CZ3NnQVNBQUtBSVFRUUlnQWhBYVFRSkhCRUFnQWtFQlFaWVNRUUFRRDBFQURBWUxJQUFvQWhBZ0NFRWtha0VDRUJFZ0NDZ0NKQ0lFUVFGTkJFQWdBa0VCUWFFdVFRQVFEMEVBREFZTElBZ2dCRUVDYXlJSE5nSWtJQUFvQWhBaEJDQUFLQUlVSUFkSkJFQWdCQ0FIRUJjaUJFVUVRQ0FBS0FJUUVCQWdBRUlBTndNUUlBSkJBVUhVSlVFQUVBOUJBQXdIQ3lBQUlBUTJBaEFnQUNBSUtBSWtJZ2MyQWhRTElBRWdCQ0FISUFJUUdpSUVJQWdvQWlSSEJFQWdBa0VCUVpZU1FRQVFEMEVBREFZTElBQWdBQ2dDRUNBRUlBSWdCU2dDQ0JFQkFFVUVRQ0FDUVFGQnFCSkJBQkFQUVFBTUJnc2dBU2tET0NFUUlBZ29BaVFoREFKQUlBQW9Bc2dCSWdVb0FoZ2lCa0VCYWlJSElBVW9BaUFpQkUwRVFDQUZLQUljSVFRTUFRc2dCUUovSUFTelF3QUF5RUtTSWc5REFBQ0FUMTBnRDBNQUFBQUFZSEVFUUNBUHFRd0JDMEVBQ3lJRU5nSWdJQVVvQWh3Z0JFRVliQkFYSWdSRkRRVWdCU0FFTmdJY0lBVW9BaGdpQmtFQmFpRUhDeUFFSUFaQkdHeHFJZ1FnREVFRWFqWUNFQ0FFSUJDbklBeHJRUVJyckRjRENDQUVJQU03QVFBZ0JTQUhOZ0lZSUFFZ0FDZ0NFRUVDSUFJUUdrRUNSd1JBSUFKQkFVR1dFa0VBRUE5QkFBd0dDMEVCSUFvZ0EwSGMvZ05HR3lFS1FRRWdDeUFEUWRMK0EwWWJJUXRCQVNBTklBTkIwZjREUmhzaERTQUFLQUlRSUFoQktHcEJBaEFSSUFnb0FpZ2lCRUdRL3dOSERRRUxDeUFORFFFTElBSkJBVUdZSkVFQUVBOUJBQXdDQ3lBTFJRUkFJQUpCQVVIR0pFRUFFQTlCQUF3Q0N5QUtSUVJBSUFKQkFVSDBKRUVBRUE5QkFBd0NDMEVBSVFOQkFDRU5Jd0JCRUdzaUJDUUFRUUVoQndKQUlBQXRBTHdCUVFGeFJRMEFBa0FnQUNnQ2NDSUxSUTBBQWtBRFFDQUFLQUowSUExQkEzUnFJZ1VvQWdBaUNnUkFJQU1nQlNnQ0JDSUdheUlGUVFBZ0F5QUZUeHNoQlNBRElBWkpCRUFnQmlBRGF5RUxJQU1nQ21vaENnTkFJQXRCQkVrRVFFR09LeUVEREFVTElBb2dCRUVNYWtFRUVCRWdCQ2dDRENJRFFYOXpJQWxKQkVCQjlDb2hBd3dGQ3lBRElBdEJCR3NpQm1zZ0JTQURJQVpMSWd3YklRVWdBeUFKYWlFSklBWWdBMnNoQ3lBS1FRQWdBeUFNRzJwQkJHb2hDaUFESUFaSkRRQUxJQUFvQW5BaEN3c2dCU0VEQ3lBTlFRRnFJZzBnQzBrTkFBc2dBMFVOQVVFQUlRY2dBa0VCUWVrV1FRQVFEd3dDQzBFQUlRY2dBa0VCSUFOQkFCQVBEQUVMSUFBZ0NSQVVJZ00yQW9nQklBTkZCRUJCQUNFSElBSkJBVUcrSUVFQUVBOE1BUXNnQUNBSk5nSjhJQUFvQW5RaEJnSkFJQUFvQW5BaUNnUkFRUUFoQ1VFQUlRTkJBQ0VGQTBBZ0JpQUZRUU4wSWcxcUlnd29BZ0FpQ3dSQUlBQW9Bb2dCSUFOcUlRb0NmeUFNS0FJRUlnWWdDVTBFUUNBS0lBc2dCaEFTR2lBRElBWnFJUU1nQ1NBR2F3d0JDeUFLSUFzZ0NSQVNHaUFESUFscUlRTWdCaUFKYXlJR0JFQWdDU0FMYWlFSkEwQWdCa0VFU1EwR0lBa2dCRUVJYWtFRUVCRWdDVUVFYWlFSklBQW9Bb2dCSUFOcUlRb2dCa0VFYXlJR0lBUW9BZ2dpQzBrRVFDQUtJQWtnQmhBU0dpQURJQVpxSVFNZ0JDZ0NDQ0FHYXd3REN5QUtJQWtnQ3hBU0dpQUVLQUlJSWdvZ0Eyb2hBeUFKSUFwcUlRa2dCaUFLYXlJR0RRQUxDMEVBQ3lFSklBQW9BblFnRFdvb0FnQVFFQ0FBS0FKMElnWWdEV3BDQURjQ0FDQUFLQUp3SVFvTElBVkJBV29pQlNBS1NRMEFDeUFBS0FKOElRa2dBQ2dDaUFFaEF3c2dBQ0FKTmdLUUFTQUFJQU0yQW5nZ0FFRUFOZ0p3SUFZUUVDQUFRUUEyQW5RTUFRdEJBQ0VISUFKQkFVR09LMEVBRUE4TElBUkJFR29rQUNBSFJRUkFJQUpCQVVHUFBVRUFFQTlCQUF3Q0N5QUNRUVJCOTlZQVFRQVFEeUFBS0FMSUFTQUJLUU00UXY3Ly8vOFBmRUwvLy8vL0Q0TTNBd2dnQUVFSU5nSUlRUUVNQVFzZ0JTZ0NIQkFRSUFWQkFEWUNJQ0FGUWdBM0F4Z2dBa0VCUWFrZFFRQVFEMEVBQ3lFT0lBaEJNR29rQUNBT0N4d0FJQUFvQWdoRklBQW9Bc0FCUVFCSElBQW9Bc1FCUVFCSGNYRUxCQUJCQUFzUEFDQUFCRUFnQUNBQk5nSzRBUXNMandFQkJIOGdBQ2dDR0NJQkJFQWdBQ2dDSENJRFFUUnVJUVFnQTBFMFR3Ui9RUUFoQXdOQUlBRW9BZ0FpQWdSQUlBSkJBV3NRRUNBQlFRQTJBZ0FMSUFFb0FnUWlBZ1JBSUFJUUVDQUJRUUEyQWdRTElBRW9BZ2dpQWdSQUlBSVFFQ0FCUVFBMkFnZ0xJQUZCTkdvaEFTQURRUUZxSWdNZ0JFY05BQXNnQUNnQ0dBVWdBUXNRRUNBQVFRQTJBaGdMQzRZQkFRUi9JQUFvQWhnaUFRUkFJQUFvQWh3aUFrSEFBRThFZnlBQ1FRWjJJUVJCQUNFQ0EwQWdBU2dDQUNJREJFQWdBeEFRSUFGQkFEWUNBQXNnQVNnQ0JDSURCRUFnQXhBUUlBRkJBRFlDQkFzZ0FTZ0NQQkFRSUFGQkFEWUNQQ0FCUVVCcklRRWdBa0VCYWlJQ0lBUkhEUUFMSUFBb0FoZ0ZJQUVMRUJBZ0FFRUFOZ0lZQ3dzL0FRRi9JQUFFUUNBQUtBSjBJZ0VFUUNBQkVCQWdBRUVBTmdKMEN5QUFLQUo0SWdFRVFDQUJFQkFnQUVFQU5nSjRDeUFBS0FLVUFSQVFJQUFRRUFzTHdhWUZCRngvQW5zR2ZnRjlJd0JCNEFCcklpTWtBQ0FBS0FJSUlSb0NRQUpBQWtBQ1FDQUFLQUlBUlFSQUlCb2dHaWdDRUNBYUtBSUlheUFhS0FJVUlCb29BZ3hyYkVFQ2RDSUdFQmdpQXpZQ1BDQURSUVJBSUFBb0FpUWFJQUFvQWlCQkFVSFJQRUVBRUE4Z0FDZ0NKQm9nQUVFY2FpRVFEQU1MSUFOQkFDQUdFQlVhREFFTElCb29BandpQTBVTkFDQURFQkFnR2tFQU5nSThDeUFBS0FJUUlqSW9BaHdnTWlnQ0dFR1lBV3hxSWdOQm1BRnJLQUlBSVRVZ0EwR1FBV3NvQWdBaE5pQUFLQUlVSVM4Z0FDZ0NEQ0V3SUFBb0FnUWhOeUFBS0FJY0tBSUFSUTBDSUFCQkhHb2hFQUpBQW45QkFDQUJLQUlFSWdOQkFFd05BQm9nQVNnQ0FDRUdBa0FEUUNBR0lBZEJER3hxSWdRb0FnQkZEUUVnQjBFQmFpSUhJQU5IRFFBTFFRQU1BUXNnQkNnQ0JBc2lCQTBBUVFGQm5BRVFFeUlFUlFSQUlBQW9BaUJCQVVHUU1FRUFFQThNQWdzZ0JFRUFOZ0tNQVNBQktBSUVJZ05CLy8vLy93ZEhCSDhDZnlBQktBSUFJUVlnQTBFQVNnUkFBMEFnQmlBSlFReHNhaUlIS0FJQVJRUkFJQWNvQWdnaUF3Ui9JQWNvQWdRZ0F4RUNBQ0FCS0FJQUJTQUdDeUFKUVF4c2FpSUJRUTgyQWdnZ0FTQUVOZ0lFUVFFTUF3c2dDVUVCYWlJSklBTkhEUUFMQzBFQUlBWWdBMEVNYkVFTWFoQVhJZ05GRFFBYUlBRWdBellDQUNBRElBRW9BZ1FpQmtFTWJHb2lBMEVQTmdJSUlBTWdCRFlDQkNBRFFRQTJBZ0FnQVNBR1FRRnFOZ0lFUVFFTEJVRUFDdzBBSUFBb0FpQkJBVUdNUDBFQUVBOGdCQ2dDZENJQkJFQWdBUkFRSUFSQkFEWUNkQXNnQkNnQ2VDSUJCRUFnQVJBUUlBUkJBRFlDZUFzZ0JDZ0NsQUVRRUNBRUVCQU1BUXNnQkNBQUtBSVlOZ0tRQVNBQUtBSW9JU3NnQUNnQ0pDRWhJQUFvQWlBaEhTQXZLQUtvQmlFUklEQW9BaEFoQVFKQUFrQWdMeWdDRUNJV1FjQUFjUVJBSUJZaENpTUFRYkFDYXlJUEpBQUNRQ0FSQkVBZ0lRUkFRUUFoQnlBZFFRRkJnUmhCQUJBUERBSUxRUUFoQnlBZFFRRkJnUmhCQUJBUERBRUxJQVFvQW5RaEJ3SkFBa0FnR2lnQ0ZDQWFLQUlNYXlJRElCb29BaEFnR2lnQ0NHc2lCbXdpQVNBRUtBS0VBVXNFUUNBSEVCQWdCQ0FCUVFKMEloRVFHQ0lITmdKMElBZEZCRUJCQUNFSERBUUxJQVFnQVRZQ2hBRU1BUXNnQjBVTkFTQUJRUUowSVJFTElBZEJBQ0FSRUJVYUN5QUVLQUo0SVFjQ1FDQUVLQUtJQVVIUEZFc05BQ0FIRUJBZ0JFSEEwZ0FRR0NJSE5nSjRJQWNOQUVFQUlRY01BUXNnQkVIUUZEWUNpQUVnQjBFQVFjRFNBQkFWR2lBRUlBTTJBb0FCSUFRZ0JqWUNmQ0FhS0FJWUlnSkZCRUJCQVNFSERBRUxJQm9vQWh3aERVRUJJUWNDUUFKQUFrQUNRQUpBSUJvb0FqUWlBd1JBSUJvb0FnUWhDVUVBSVFkQkFDRUJBa0FnQTBFRVR3UkFJQU5CZkhFaEFRTkFJQWtnQ0VFRGRHb2lCa0VjYWlBR1FSUnFJQVpCREdvZ0J2MEpBZ1Q5VmdJQUFmMVdBZ0FDL1ZZQ0FBTWdYdjJ1QVNGZUlBaEJCR29pQ0NBQlJ3MEFDeUJlSUY0Z1h2ME5DQWtLQ3d3TkRnOEFBUUlEQUFFQ0EvMnVBU0plSUY0Z1h2ME5CQVVHQndBQkFnTUFBUUlEQUFFQ0EvMnVBZjBiQUNFSElBRWdBMFlOQVFzRFFDQUpJQUZCQTNScUtBSUVJQWRxSVFjZ0FVRUJhaUlCSUFOSERRQUxDeUFEUVFGR0JFQWdCQ2dDa0FGRkRRVUxJQWNnQkNnQ21BRk5EUUVnQkNnQ2xBRWdCeEFYSWhFTkFrRUFJUWNNQmdzZ0JDZ0NrQUZGRFFVTElBUW9BcFFCSWhFTkFVRUFJUWNNQkFzZ0JDQUhOZ0tZQVNBRUlCRTJBcFFCQ3lBYUtBSTBSUVJBUVFBaEJ3d0NDeUFhS0FJRUlRaEJBQ0VIUVFBaEFRTkFJQWNnRVdvZ0NDQUJRUU4wSWdOcUlnWW9BZ0FnQmlnQ0JCQVNHaUFhS0FJRUlnZ2dBMm9vQWdRZ0Iyb2hCeUFCUVFGcUlnRWdHaWdDTkVrTkFBc01BUXNnR2lnQ0JDZ0NBQ0VSQzBFQUlRRkJBQ0VJQW45QkFDQWFLQUlvSWdORkRRQWFJQm9vQWdBaUJpZ0NDQ0VJUVFBZ0EwRUJSZzBBR2lBR0tBSWdDeUVESUFJZ0RXc2hSUUpBSUFNZ0NHb2lDRVVFUUVFQUlRa01BUXRCQVNFQklCb29BZ0FpQXlnQ0FDRUZRUUFoQ1NBSVFRRkdCRUJCQUNFQkRBRUxJQU1vQWhnaENRc2dSVUVCYWlFV0lBUW9BblFoRGlBRUtBSjRJUlFnR2lnQ0RDRVNJQm9vQWhRaEdDQWFLQUlJSVNRZ0dpZ0NFQ0VyQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFGRkRRQWdDUTBBSUNGRkRRRWdIVUVDUWFIUUFFRUFFQTlCQVNFSURBSUxJQWhCQkVrTkFTQWhCRUFnRHlBSU5nSndJQjFCQVVIOHhnQWdEMEh3QUdvUUR3d0lDeUFQSUFnMkFtQWdIVUVCUWZ6R0FDQVBRZUFBYWhBUFFRQWhCd3dJQ3lBZFFRSkJvZEFBUVFBUUR5QWFLQUlZSWdGQkhrc05BVUVCSVF3Z0FTQVdUdzBEREFVTElCb29BaGdpQVVFZVRRMEJJQ0ZGRFFBZ0R5QUJOZ0lnSUIxQkFVR2Iyd0FnRDBFZ2FoQVBEQVVMSUE4Z0FUWUNBQ0FkUVFGQm05c0FJQThRRDBFQUlRY01CUXNnQVNBV1NRMEJJQWhCQWtrRVFDQUlJUXdNQVFzZ0FTQVdSd1JBSUFnaERBd0JDMEVCSVF4QmtNY0JMUUFBRFFBZ0lVVUVRRUdReHdGQkFUb0FBQ0FQSUFnMkFrQWdIVUVDUWFiTUFDQVBRVUJyRUE4TUFRdEJrTWNCTFFBQVJRUkFRWkRIQVVFQk9nQUFJQThnQ0RZQ1VDQWRRUUpCcHN3QUlBOUIwQUJxRUE4TEN3SkFBa0FnQlVFQ1NRMEFJQVVnQjBzTkFDQUZJQWxxSUFkTkRRRUxJQ0VFUUVFQUlRY2dIVUVCUWNMR0FFRUFFQThNQlF0QkFDRUhJQjFCQVVIQ3hnQkJBQkFQREFRTEFrQUNRQ0FGSUJGcUloTkJBV3N0QUFCQkJIUWdFMEVDYXkwQUFFRVBjWElpQmtFQ1NRMEFJQVVnQmtnTkFDQUdRZkFmU1EwQkN5QWhCRUJCQUNFSElCMUJBVUhXOGdCQkFCQVBEQVVMUVFBaEJ5QWRRUUZCMXZJQVFRQVFEd3dFQ3lBYUtBSWNJU1lnRDBFQU5nS1FBaUFQUVFBMkFwZ0NJQTlDQURjRGlBSWdEMElBTndPb0FpQVBRZ0EzQXB3Q0lBOGdCa0VCYXlJSE5nS1VBaUFQSUFVZ0VXb2dCbXNpQVRZQ2dBSkMvd0VoWUNBR1FRSlBCRUFnQVRFQUFDRmdDMEVJSVFNZ0QwRUlOZ0tRQWlBUElBWkJBbXNpQ0RZQ2xBSWdEeUJnUWcrRUlHQWdCMEVCUmhzaVlEY0RpQUlnRHlBQklBWkJBVXBxSWdjMkFvQUNJQThnWUVML0FWRWlEVFlDbUFJQ2Z3SkFJQUZCQTNFaUFrRURSZzBBUXY4QklXRWdEUVJBUVFBZ0J5MEFBRUdQQVVzTkFob0xJQVpCQTA0RVFDQUhNUUFBSVdFTElBOGdCa0VEYXlJTk5nS1VBaUFQUVE5QkVDQmdRdjhCVVNJTEd5SUROZ0tRQWlBUElBY2dCa0VDU21vaUFUWUNnQUlnRHlCaFFnK0VJR0VnQ0VFQlJoc2lZVUwvQVZFMkFwZ0NJQThnWUVJSFFnZ2dDeHVHSUdHRUltQTNBNGdDSUFKQkFrWU5BQ0JoUXY4QlVRUkFRUUFnQVMwQUFFR1BBVXNOQWhvTFF2OEJJV0lnQmtFRVRnUkFJQUV4QUFBaFlnc2dEeUFHUVFScklnYzJBcFFDSUE4Z0FTQUdRUU5LYWlJQk5nS0FBaUFQSUdKQ0Q0UWdZaUFOUVFGR0d5SmlRdjhCVVRZQ21BSWdEeUFEUVFkQkNDQmhRdjhCVVNJSUcyb2lBellDa0FJZ0R5QmdRZ2RDQ0NBSUc0WWdZb1FpWURjRGlBSWdBa0VCUmcwQVF2OEJJV0VnWWtML0FWRUVRRUVBSUFFdEFBQkJqd0ZMRFFJYUN5QUdRUVZPQkVBZ0FURUFBQ0ZoQ3lBUElBWkJCV3MyQXBRQ0lBOGdBU0FHUVFSS2FqWUNnQUlnRHlCaFFnK0VJR0VnQjBFQlJoc2lZVUwvQVZFMkFwZ0NJQThnQTBFSFFRZ2dZa0wvQVZFaUFSdHFJZ00yQXBBQ0lBOGdZRUlIUWdnZ0FSdUdJR0dFSW1BM0E0Z0NDeUFQSUdCQndBQWdBMnV0aGpjRGlBSkJBUXRGQkVBZ0lRUkFRUUFoQnlBZFFRRkJnOVVBUVFBUUR3d0ZDMEVBSVFjZ0hVRUJRWVBWQUVFQUVBOE1CQXNnS3lBa2F5RVZJQThnQmtFQ2F5SUxOZ0wwQVNBUElBVWdFV29pQWtFRGF5SUROZ0xnQVNBUElBSkJBbXN0QUFBaUdVR1BBVXNpRFRZQytBRWdEeUFaUVFSMnJTSmdOd1BvQVNBUFFRTkJCQ0JnUWdlRFFnZFJHeUlCTmdMd0FTQURRUU54UVFGcUlnY2dDeUFISUF0SUd5RUlBa0FDUUNBR1FRSk1CRUFnRHlBTElBaHJJZ0kyQXZRQkRBRUxJQThnQWtFRWF5SUhOZ0xnQVNBUElBTXRBQUFpRjBHUEFVc2lEVFlDK0FFZ0R5QVhyU0poSUFHdGhpQmdoQ0pnTndQb0FTQVBRUWhCQjBFSUlHRkMvd0NEUXY4QVVSc2dHVUdQQVUwYklBRnFJZ0UyQXZBQkFrQWdDRUVCUmdSQUlBY2hBd3dCQ3lBUElBSkJCV3NpQXpZQzRBRWdEeUFITFFBQUlobEJqd0ZMSWcwMkF2Z0JJQThnR2EwaVlTQUJyWVlnWUlRaVlEY0Q2QUVnRDBFSVFRZEJDQ0JoUXY4QWcwTC9BRkViSUJkQmp3Rk5HeUFCYWlJQk5nTHdBU0FJUVFKR0RRQWdEeUFDUVFacklnYzJBdUFCSUE4Z0F5MEFBQ0lYUVk4QlN5SU5OZ0w0QVNBUElCZXRJbUVnQWEyR0lHQ0VJbUEzQStnQklBOUJDRUVIUVFnZ1lVTC9BSU5DL3dCUkd5QVpRWThCVFJzZ0FXb2lBVFlDOEFFZ0NFRURSZ1JBSUFjaEF3d0JDeUFQSUFKQkIyc2lBellDNEFFZ0R5QUhNUUFBSW1GQ2p3RldJZzAyQXZnQklBOGdZU0FCcllZZ1lJUWlZRGNENkFFZ0QwRUlRUWRCQ0NCaFF2OEFnMEwvQUZFYklCZEJqd0ZOR3lBQmFpSUJOZ0x3QVFzZ0R5QUxJQWhySWdJMkF2UUJJQUZCSUVzTkFRc0NRQ0FDUVFST0JFQWdBMEVEYXlnQ0FDRUhJQThnQWtFRWF6WUM5QUVnRHlBRFFRUnJOZ0xnQVF3QkN5QUNRUUJNQkVCQkFDRUhEQUVMSUFKQkFYRWhSd0pBSUFKQkFVWUVRRUVZSVFoQkFDRUhEQUVMSUFKQi92Ly8vd2R4SVJkQkdDRUlRUUFoQjBFQUlRc0RRQ0FQSUFOQkFXc2lIellDNEFFZ0F5MEFBQ0ZHSUE4Z0EwRUNheUlETmdMZ0FTQVBJQUpCQVdzMkF2UUJJQjh0QUFBaEh5QVBJQUpCQW1zaUFqWUM5QUVnUmlBSWRDQUhjaUFmSUFoQkNHdDBjaUVISUFoQkVHc2hDQ0FMUVFKcUlnc2dGMGNOQUFzTElFZEZEUUFnRHlBRFFRRnJOZ0xnQVNBRExRQUFJVWdnRHlBQ1FRRnJOZ0wwQVNCSUlBaDBJQWR5SVFjTElBOGdCMEgvQVhFaUEwR1BBVXMyQXZnQklBOUJCMEVJSUFkQmdJQ0ErQWR4UVlDQWdQZ0hSaHRCQ0NBTkd5SUNRUWhCQjBFSUlBZEJnSUQ4QTNGQmdJRDhBMFliSUFkQi8vLy8vM2hORzJvaUNFRUlRUWRCQ0NBSFFZRCtBWEZCZ1A0QlJoc2dCMEVRZGtIL0FYRWlEVUdQQVUwYmFpSUxRUWhCQjBFSUlBZEIvd0J4UWY4QVJoc2dCMEVJZGtIL0FYRWlHVUdQQVUwYklBRnFhallDOEFFZ0R5QU5JQUowSUFkQkdIWnlJQmtnQ0hSeUlBTWdDM1J5clNBQnJZWWdZSVEzQStnQkN5QVBRY0FCYWlBUklBVWdCbXRCL3dFUVd3Si9RUUFnREVFQ1NRMEFHaUFQUWFBQmFpQVRJQWxCQUJCYlFRQWdERUVDUmcwQUdrSUFJV0JDQUNGaUlBOUJBVFlDbUFFZ0QwRUFOZ0tRQVNBUFFnQTNBNGdCSUE4Z0NVRUJheUlHTmdLVUFTQVBJQVVnRVdvZ0NXb2lBMEVCYXlJQk5nS0FBU0FCUVFOeElRVUNRQ0FKUVFCTUJFQWdBU0VEREFFTElBOGdBMEVDYXlJRE5nS0FBU0FCTVFBQUlXQUxJQThnWURjRGlBRWdEeUJnUW84QlZpSVJOZ0tZQVNBUFFRZEJDQ0JnUXY4QWcwTC9BRkViSWcwMkFwQUJBa0FnQlVVTkFDQVBJQWxCQW1zaUFqWUNsQUVDUUNBSlFRSklCRUFnQXlFSERBRUxJQThnQTBFQmF5SUhOZ0tBQVNBRE1RQUFJV0lMSUE4Z1lrS1BBVllpRVRZQ21BRWdEeUJpSUEydGhpQmdoQ0poTndPSUFTQVBRUWhCQjBFSUlHSkMvd0NEUXY4QVVSc2dZRUtQQVZnYklBMXFJZzAyQXBBQklBVkJBVVlFUUNBSElRTWdZU0ZnSUFZaENTQUNJUVlNQVFzZ0R5QUpRUU5ySWdnMkFwUUJBa0FnQ1VFRFNBUkFJQWNoQVF3QkN5QVBJQWRCQVdzaUFUWUNnQUVnQnpFQUFDRmpDeUFQSUdOQ2p3RldJaEUyQXBnQklBOGdZeUFOcllZZ1lZUWlZRGNEaUFFZ0QwRUlRUWRCQ0NCalF2OEFnMEwvQUZFYklHSkNqd0ZZR3lBTmFpSU5OZ0tRQVNBRlFRSkdCRUFnQVNFRElBSWhDU0FJSVFZTUFRc2dEeUFKUVFScklnWTJBcFFCUWdBaFlnSkFJQWxCQkVnRVFDQUJJUU1NQVFzZ0R5QUJRUUZySWdNMkFvQUJJQUV4QUFBaFlnc2dEeUJpUW84QlZpSVJOZ0tZQVNBUElHSWdEYTJHSUdDRUltQTNBNGdCSUE5QkNFRUhRUWdnWWtML0FJTkMvd0JSR3lCalFvOEJXQnNnRFdvaURUWUNrQUVnQ0NFSkN5QU5RU0JOQkVBQ1FDQUpRUVZPQkVBZ0EwRURheWdDQUNFSElBOGdDVUVGYXpZQ2xBRWdEeUFEUVFSck5nS0FBUXdCQzBFQUlRY2dDVUVDU0EwQVFSZ2hDUU5BSUE4Z0EwRUJheUlCTmdLQUFTQURMUUFBSVVrZ0R5QUdRUUZySWdJMkFwUUJJRWtnQ1hRZ0IzSWhCeUFHUVFGTElVb2dBU0VESUFsQkNHc2hDU0FDSVFZZ1NnMEFDd3NnRHlBSFFmOEJjU0lCUVk4QlN6WUNtQUVnRDBFSFFRZ2dCMEdBZ0lENEIzRkJnSUNBK0FkR0cwRUlJQkViSWdOQkNFRUhRUWdnQjBHQWdQd0RjVUdBZ1B3RFJoc2dCMEgvLy8vL2VFMGJhaUlHUVFoQkIwRUlJQWRCZ1A0QmNVR0EvZ0ZHR3lBSFFSQjJRZjhCY1NJSlFZOEJUUnRxSWdKQkNFRUhRUWdnQjBIL0FIRkIvd0JHR3lBSFFRaDJRZjhCY1NJSVFZOEJUUnNnRFdwcU5nS1FBU0FQSUFrZ0EzUWdCMEVZZG5JZ0NDQUdkSElnQVNBQ2RIS3RJQTJ0aGlCZ2hEY0RpQUVMUVFFTElURWdHQ0FTYXlFZklCWkJBV29oTENBVVFRQTZBTUFRSUJSQndCQnFJUXNnRDBHQUFtb1FLQ0VDSUJWQkFFb0VRQ0FtUVFGcklSTWdGQ0VESUFzaENFRUFJUkVnRGlFR1FRQWhEUU5BSUEwaEJTQVJRUWgwSUE5QjRBRnFFQzlCL3dCeFFRRjBja0dnL1FCcUx3RUFJUUVDUUNBUkRRQWdBVUVBSUFKQkFtc2lCMEYvUmhzaEFTQUNRUUZLQkVBZ0J5RUNEQUVMSUE5QmdBSnFFQ2doQWdzZ0R5a0Q2QUVoWkNBUEtBTHdBU0ZMSUFNZ0F5Z0NBQ0FCUVFSMkloaEJBM0VnQVVFQ2RrRXdjWElnSW5SeUloWTJBZ0FnQVVFRmRrRUhjU0FCUVJCeEloNUJCSFp5SVJFZ1N5QUJRUWR4SWdkcklRMGdaQ0FIcllnaVlLY2hDVUVBSVFjZ0ZTQUZRUUp5U2dSQUlCRkJDSFFnQ1VIL0FIRkJBWFJ5UWFEOUFHb3ZBUUFoQndKQUlCRU5BQ0FIUVFBZ0FrRUNheUlKUVg5R0d5RUhJQUpCQVVvRVFDQUpJUUlNQVFzZ0QwR0FBbW9RS0NFQ0N5QUhRUVIyUVFGeElBZEJCWFpCQjNGeUlSRWdEU0FIUVFkeElnbHJJUTBnWUNBSnJZZ2lZS2NoQ1FzZ0F5QUhRUUowUVlBR2NTQUhRVEJ4Y2lBaVFRUnFkQ0FXY2pZQ0FBSkFJQWRCQW5aQkFuRWdBVUVEZGtFQmNYSWlGMEVEUncwQVFRUkJBeUFDUVFKckloWkJmMFliSVJjZ0FrRUJTZ1JBSUJZaEFnd0JDeUFQUVlBQ2FoQW9JUUlMQW44Z0YwVUVRQ0FQUW9HQWdJQVFOd0o0UVFBTUFRc2dGMEVDVFFSQUlBOUJBU0FKUVFkeFFkU2RBV290QUFBaUZrRUZka0YvSUJaQkFuWkJCM0VpR1hSQmYzTWdDU0FXUVFOeElnbDJjV3BCQVdvaUZpQVhRUUZHSWhjYk5nSjhJQThnRmtFQklCY2JOZ0o0SUFrZ0dXb01BUXNnQ1NBSlFRZHhRZFNkQVdvdEFBQWlGa0VEY1NJWmRpRUpJQmRCQTBZRVFDQVdRUVYyUVFGcUlSY2dHVUVEUmdSQUlBOGdDVUVCY1VFQ2NqWUNmQ0FQSUJkQmZ5QVdRUUoyUVFkeEloWjBRWDl6SUFsQkFYWnhhallDZUNBV1FRUnFEQUlMSUE4Z0Z5QUpJQWxCQjNGQjFKMEJhaTBBQUNJSlFRTnhJaEoySWlCQmZ5QVdRUUoyUVFkeEloWjBRWDl6Y1dvMkFuZ2dEMEYvSUFsQkFuWkJCM0VpRjNSQmYzTWdJQ0FXZG5FZ0NVRUZkbXBCQVdvMkFud2dGaUFaYWlBU2FpQVhhZ3dCQ3lBUElBa2dDVUVIY1VIVW5RRnFMUUFBSWdsQkEzRWlFbllpSUVGL0lCWkJBblpCQjNFaUYzUkJmM054SUJaQkJYWnFRUU5xTmdKNElBOUJmeUFKUVFKMlFRZHhJaFowUVg5eklDQWdGM1p4SUFsQkJYWnFRUU5xTmdKOElCSWdHV29nRjJvZ0Ztb0xJUWtDUUNBc0lBOG9BbmdpR1U4RVFDQVBLQUo4SWhJZ0xFME5BUXNnSVFSQVFRQWhCeUFkUVFGQm1mWUFRUUFRRHd3SEMwRUFJUWNnSFVFQlFabjJBRUVBRUE4TUJnc2dEeUFOSUFsck5nTHdBU0FQSUdBZ0NhMklOd1BvQVNBSFFmQUJjU0FZUVE5eGNrSC9BVUgvQVNBRlFRUnFJZzBnRld0QkFYUjJJQTBnRlV3Yklna2dDVUhWQUhFZ0gwRUJTaHNpQ1VGL2MzRUVRQ0FoQkVCQkFDRUhJQjFCQVVHdjJnQkJBQkFQREFjTFFRQWhCeUFkUVFGQnI5b0FRUUFRRHd3R0N3SkFBa0FnSGdSQUlBOUJ3QUZxRUJzaEZ5QVBJQThvQXRBQklCa2dBVUVUZEVFZmRXb2lGbXMyQXRBQklBOGdEeWtEeUFFZ0ZxMklOd1BJQVNBWFFYOGdGblJCZjNOeElBRkJDSFpCQVhFZ0ZuUnlRUUZ5UVFKcUlCTjBJQmRCSDNSeUlSWU1BUXRCQUNFV0lBbEJBWEZGRFFFTElBWWdGallDQUFzQ1FDQUJRU0J4QkVBZ0QwSEFBV29RR3lFWElBOGdEeWdDMEFFZ0dTQUJRUkowUVI5MWFpSVdhellDMEFFZ0R5QVBLUVBJQVNBV3JZZzNBOGdCSUFZZ0ZVRUNkR29nRjBGL0lCWjBRWDl6Y1NBQlFRbDJRUUZ4SUJaMGNrRUJjaUlXUVFKcUlCTjBJQmRCSDNSeU5nSUFJQWhCSUNBV1oyc2lGaUFJTFFBQVFmOEFjU0lYSUJZZ0Ywc2JRWUFCY2pvQUFBd0JDeUFKUVFKeFJRMEFJQVlnRlVFQ2RHcEJBRFlDQUFzZ0JrRUVhaUVYQWtBQ1FDQUJRY0FBY1FSQUlBOUJ3QUZxRUJzaEdDQVBJQThvQXRBQklCa2dBVUVSZEVFZmRXb2lGbXMyQXRBQklBOGdEeWtEeUFFZ0ZxMklOd1BJQVNBWVFYOGdGblJCZjNOeElBRkJDblpCQVhFZ0ZuUnlRUUZ5UVFKcUlCTjBJQmhCSDNSeUlSWU1BUXRCQUNFV0lBbEJCSEZGRFFFTElCY2dGallDQUFzZ0NFRUFPZ0FCQWtBZ0FVR0FBWEVFUUNBUFFjQUJhaEFiSVJnZ0R5QVBLQUxRQVNBWklBRkJFSFJCSDNWcUloWnJOZ0xRQVNBUElBOHBBOGdCSUJhdGlEY0R5QUVnRnlBVlFRSjBhaUFZUVg4Z0ZuUkJmM054SUFGQkMzWkJBWEVnRm5SeVFRRnlJZ0ZCQW1vZ0UzUWdHRUVmZEhJMkFnQWdDRUdnZnlBQloyczZBQUVNQVFzZ0NVRUljVVVOQUNBWElCVkJBblJxUVFBMkFnQUxJQVpCQ0dvaEFRSkFBa0FnQjBFUWNRUkFJQTlCd0FGcUVCc2hHU0FQSUE4b0F0QUJJQklnQjBFVGRFRWZkV29pRm1zMkF0QUJJQThnRHlrRHlBRWdGcTJJTndQSUFTQVpRWDhnRm5SQmYzTnhJQWRCQ0haQkFYRWdGblJ5UVFGeVFRSnFJQk4wSUJsQkgzUnlJUmNNQVF0QkFDRVhJQWxCRUhGRkRRRUxJQUVnRnpZQ0FBc0NRQ0FIUVNCeEJFQWdEMEhBQVdvUUd5RVpJQThnRHlnQzBBRWdFaUFIUVJKMFFSOTFhaUlXYXpZQzBBRWdEeUFQS1FQSUFTQVdyWWczQThnQklBRWdGVUVDZEdvZ0dVRi9JQlowUVg5emNTQUhRUWwyUVFGeElCWjBja0VCY2lJQlFRSnFJQk4wSUJsQkgzUnlOZ0lBSUFoQklDQUJaMnNpQVNBSUxRQUJRZjhBY1NJV0lBRWdGa3NiUVlBQmNqb0FBUXdCQ3lBSlFTQnhSUTBBSUFFZ0ZVRUNkR3BCQURZQ0FBc2dCa0VNYWlFQkFrQUNRQ0FIUWNBQWNRUkFJQTlCd0FGcUVCc2hHU0FQSUE4b0F0QUJJQklnQjBFUmRFRWZkV29pRm1zMkF0QUJJQThnRHlrRHlBRWdGcTJJTndQSUFTQVpRWDhnRm5SQmYzTnhJQWRCQ25aQkFYRWdGblJ5UVFGeVFRSnFJQk4wSUJsQkgzUnlJUmNNQVF0QkFDRVhJQWxCd0FCeFJRMEJDeUFCSUJjMkFnQUxJQWhCQW1vaUNFRUFPZ0FBQWtBZ0IwR0FBWEVFUUNBUFFjQUJhaEFiSVJZZ0R5QVBLQUxRQVNBU0lBZEJFSFJCSDNWcUlnbHJOZ0xRQVNBUElBOHBBOGdCSUFtdGlEY0R5QUVnQVNBVlFRSjBhaUFXUVg4Z0NYUkJmM054SUFkQkMzWkJBWEVnQ1hSeVFRRnlJZ0ZCQW1vZ0UzUWdGa0VmZEhJMkFnQWdDRUdnZnlBQloyczZBQUFNQVFzZ0NVR0FBVWtOQUNBQklCVkJBblJxUVFBMkFnQUxJQ0pCRUhNaElpQURJQVZCQkhGcUlRTWdCa0VRYWlFR0lBMGdGVWdOQUFzTElBcEJDSEVoT0NBVVFiQU1haUVvSUJSQm9BaHFJU2tnRkVHUUJHb2hKU0FmUVFOT0JFQWdGVUVEYkNFNUlCVkJBWFFoT2lBbVFRRnJJU0JCQXlBbVFRSnJJZ0YwSVMxQkFTQUJkQ0V1SUJWQkIycEJBWFpCL1AvLy93ZHhRUVJxSVQwZ0t5QWtRWDl6YWlJQlFRTjJJZ05CQW5RaVBrRUVhaUU3SUFOQkFXb2lQMEg4Ly8vL0EzRWlIRUVDZENFOElCeEJBM1FoRWlBQlFSaEpJVUJCQWlFWkEwQWdHU0VUSUFzdEFBQWhGaUFMUVFBNkFBQWdJa0Z2Y1VFQ2N5RWlBa0FnRlVFQVRBUkFJQk5CQW1vaEdRd0JDeUFsSUJRZ0UwRUVjUnNoRVNBVFFRSnFJUmtnRGlBVElCVnNRUUowYWlFSVFRQWhDaUFMSVFaQkFDRU5BMEFnRFNFRklBWXRBQUZCQlhaQkJIRWdDaUFXUVFkMmNuSWlBMEVJZENBUFFlQUJhaEF2UWY4QWNVRUJkSEpCb0kwQmFpOEJBQ0VCQWtBZ0F3MEFJQUZCQUNBQ1FRSnJJZ05CZjBZYklRRWdBa0VCU2dSQUlBTWhBZ3dCQ3lBUFFZQUNhaEFvSVFJTElBOHBBK2dCSVdVZ0R5Z0M4QUVoVENBUklCRW9BZ0FnQVVFRWRrRURjU0FCUVFKMlFUQnhjaUFpZEhJaUNUWUNBQ0FCUWNBQWNTSXFRUVYySUFGQmdBRnhJaWRCQm5aeUlRb2dUQ0FCUVFkeElnTnJJUmNnWlNBRHJZZ2lZS2NoRFVFQUlSZ0NRQ0FWSUFWQkFuSk1CRUJCQUNFSERBRUxJQW9nQmkwQUFrRUZka0VFY1NBR0xRQUJRUWQyY25JaUEwRUlkQ0FOUWY4QWNVRUJkSEpCb0kwQmFpOEJBQ0VIQWtBZ0F3MEFJQWRCQUNBQ1FRSnJJZ05CZjBZYklRY2dBa0VCU2dSQUlBTWhBZ3dCQ3lBUFFZQUNhaEFvSVFJTElBZEJCWFlnQjBFR2RuSkJBbkVoQ2lBWElBZEJCM0VpQTJzaEZ5QmdJQU90aUNKZ3B5RU5DeUFSSUFkQkFuUkJnQVp4SUFkQk1IRnlJQ0pCQkdwMElBbHlOZ0lBUVFFaENVRUJJUU1DUUNBSFFRSjJRUUp4SUFGQkEzWkJBWEZ5SWg1RkRRQWdEU0FOUVFkeFFkU2RBV290QUFBaUEwRURjU0lOZGlFSklCNUJBMGNFUUVFQklBbEJmeUFEUVFKMlFRZHhJaGgwUVg5emNTQURRUVYyYWtFQmFpSURJQjVCQVVZaUhoc2hDU0FEUVFFZ0hoc2hBeUFOSUJocUlSZ01BUXNnQ1VFSGNVSFVuUUZxTFFBQUloNUJBM0VpTXlBTklBTkJBblpCQjNFaUcycHFJQjVCQW5aQkIzRWlEV29oR0NBSklETjJJZ2xCZnlBYmRFRi9jM0VnQTBFRmRtcEJBV29oQTBGL0lBMTBRWDl6SUFrZ0czWnhJQjVCQlhacVFRRnFJUWtMSUE4Z0Z5QVlhellDOEFFZ0R5QmdJQml0aURjRDZBRWdBVUh3QVhFaURTQU5RUUZyY1FSQUlBTWdGa0gvQUhFaUZpQUdMUUFCUWY4QWNTSVhJQllnRjBzYkloWkJBbXNpRjBFQUlCWWdGMDhiYWlFREN5QUhRZkFCY1NJWElCZEJBV3R4QkVBZ0NTQUdMUUFCUWY4QWNTSVdJQVl0QUFKQi93QnhJaGdnRmlBWVN4c2lGa0VDYTBFQUlCWkJBa3NiYWlFSkN5QURJQ3hOSUFrZ0xFMXhSUVJBSUNFRVFFRUFJUWNnSFVFQlFmMzJBRUVBRUE4TUNRdEJBQ0VISUIxQkFVSDk5Z0JCQUJBUERBZ0xJQVl0QUFJaEZpQUdRUUE3QUFFZ0Z5QU5RUVIyY2tIL0FVSC9BU0FGUVFScUlnMGdGV3RCQVhSMklBMGdGVXdiSWhkQjFRQnhJQmNnR1NBZlNoc2lHRUYvYzNFRVFDQWhCRUJCQUNFSElCMUJBVUd2MmdCQkFCQVBEQWtMUVFBaEJ5QWRRUUZCcjlvQVFRQVFEd3dJQ3dKQUFrQWdBVUVRY1FSQUlBOUJ3QUZxRUJzaEhpQVBJQThvQXRBQklBTWdBVUVUZEVFZmRXb2lGMnMyQXRBQklBOGdEeWtEeUFFZ0Y2MklOd1BJQVNBZVFYOGdGM1JCZjNOeElBRkJDSFpCQVhFZ0YzUnlRUUZ5UVFKcUlDQjBJQjVCSDNSeUlSY01BUXRCQUNFWElCaEJBWEZGRFFFTElBZ2dGellDQUFzQ1FDQUJRU0J4QkVBZ0QwSEFBV29RR3lFZUlBOGdEeWdDMEFFZ0F5QUJRUkowUVI5MWFpSVhhellDMEFFZ0R5QVBLUVBJQVNBWHJZZzNBOGdCSUFnZ0ZVRUNkR29nSGtGL0lCZDBRWDl6Y1NBQlFRbDJRUUZ4SUJkMGNrRUJjaUlYUVFKcUlDQjBJQjVCSDNSeU5nSUFJQVpCSUNBWFoyc2lGeUFHTFFBQVFmOEFjU0llSUJjZ0hrc2JRWUFCY2pvQUFBd0JDeUFZUVFKeFJRMEFJQWdnRlVFQ2RHcEJBRFlDQUFzZ0NFRUVhaUVlQWtBQ1FDQXFCRUFnRDBIQUFXb1FHeUViSUE4Z0R5Z0MwQUVnQXlBQlFSRjBRUjkxYWlJWGF6WUMwQUVnRHlBUEtRUElBU0FYcllnM0E4Z0JJQnRCZnlBWGRFRi9jM0VnQVVFS2RrRUJjU0FYZEhKQkFYSkJBbW9nSUhRZ0cwRWZkSEloRnd3QkMwRUFJUmNnR0VFRWNVVU5BUXNnSGlBWE5nSUFDd0pBSUNjRVFDQVBRY0FCYWhBYklSY2dEeUFQS0FMUUFTQURJQUZCRUhSQkgzVnFJZ05yTmdMUUFTQVBJQThwQThnQklBT3RpRGNEeUFFZ0hpQVZRUUowYWlBWFFYOGdBM1JCZjNOeElBRkJDM1pCQVhFZ0EzUnlRUUZ5SWdGQkFtb2dJSFFnRjBFZmRISTJBZ0FnQmtHZ2Z5QUJaMnM2QUFFTUFRc2dHRUVJY1VVTkFDQWVJQlZCQW5ScVFRQTJBZ0FMSUFoQkNHb2hBUUpBQWtBZ0IwRVFjUVJBSUE5QndBRnFFQnNoRnlBUElBOG9BdEFCSUFrZ0IwRVRkRUVmZFdvaUEyczJBdEFCSUE4Z0R5a0R5QUVnQTYySU53UElBU0FYUVg4Z0EzUkJmM054SUFkQkNIWkJBWEVnQTNSeVFRRnlRUUpxSUNCMElCZEJIM1J5SVFNTUFRdEJBQ0VESUJoQkVIRkZEUUVMSUFFZ0F6WUNBQXNDUUNBSFFTQnhCRUFnRDBIQUFXb1FHeUVYSUE4Z0R5Z0MwQUVnQ1NBSFFSSjBRUjkxYWlJRGF6WUMwQUVnRHlBUEtRUElBU0FEcllnM0E4Z0JJQUVnRlVFQ2RHb2dGMEYvSUFOMFFYOXpjU0FIUVFsMlFRRnhJQU4wY2tFQmNpSUJRUUpxSUNCMElCZEJIM1J5TmdJQUlBWkJJQ0FCWjJzaUFTQUdMUUFCUWY4QWNTSURJQUVnQTBzYlFZQUJjam9BQVF3QkN5QVlRU0J4UlEwQUlBRWdGVUVDZEdwQkFEWUNBQXNnQ0VFTWFpRUJBa0FDUUNBSFFjQUFjUVJBSUE5QndBRnFFQnNoRnlBUElBOG9BdEFCSUFrZ0IwRVJkRUVmZFdvaUEyczJBdEFCSUE4Z0R5a0R5QUVnQTYySU53UElBU0FYUVg4Z0EzUkJmM054SUFkQkNuWkJBWEVnQTNSeVFRRnlRUUpxSUNCMElCZEJIM1J5SVFNTUFRdEJBQ0VESUJoQndBQnhSUTBCQ3lBQklBTTJBZ0FMSUFaQkFtb2hCZ0pBSUFkQmdBRnhCRUFnRDBIQUFXb1FHeUVYSUE4Z0R5Z0MwQUVnQ1NBSFFSQjBRUjkxYWlJRGF6WUMwQUVnRHlBUEtRUElBU0FEcllnM0E4Z0JJQUVnRlVFQ2RHb2dGMEYvSUFOMFFYOXpjU0FIUVF0MlFRRnhJQU4wY2tFQmNpSUJRUUpxSUNCMElCZEJIM1J5TmdJQUlBWkJvSDhnQVdkck9nQUFEQUVMSUJoQmdBRkpEUUFnQVNBVlFRSjBha0VBTmdJQUN5QWlRUkJ6SVNJZ0VTQUZRUVJ4YWlFUklBaEJFR29oQ0NBTklCVklEUUFMQ3dKQUlBeEJBa2tOQUNBVFFRSnhSUTBBSUJsQkJIRWhBd0pBQW44Q1FBSkFJREVFUUNBVUlDVWdBeHNoRmtFQUlSZ2dGVUVBVEEwQklBNGdFMEVDYXlBVmJFRUNkR29oRVFOQUlBOUJnQUZxRUM4aEIwRUFJUUVnRmlnQ0FDSUlCRUFnRVNBWVFRSjBhaUVCUVFBaENVRVBJUVlEUUFKQUlBWWdDSEZGRFFBZ0JrR1Jvc1NJQVhFaURTQUljUVJBSUFFZ0FTZ0NBQ0FIUVg5elFRRnhJQ0IwY3lBdWNqWUNBQ0FIUVFGMklRY0xJQTFCQVhRZ0NIRUVRQ0FCSUJWQkFuUnFJZ1VnQlNnQ0FDQUhRWDl6UVFGeElDQjBjeUF1Y2pZQ0FDQUhRUUYySVFjTElBMUJBblFnQ0hFRVFDQUJJRHBCQW5ScUlnVWdCU2dDQUNBSFFYOXpRUUZ4SUNCMGN5QXVjallDQUNBSFFRRjJJUWNMSUExQkEzUWdDSEZGRFFBZ0FTQTVRUUowYWlJTklBMG9BZ0FnQjBGL2MwRUJjU0FnZEhNZ0xuSTJBZ0FnQjBFQmRpRUhDeUFCUVFScUlRRWdCa0VFZENFR0lBbEJBV29pQ1VFSVJ3MEFDeUFJYVNFQkN5QVdRUVJxSVJZZ0R5QVBLQUtRQVNBQmF6WUNrQUVnRHlBUEtRT0lBU0FCcllnM0E0Z0JJQmhCQ0dvaUdDQVZTQTBBQ3dzZ0tTQW9JQU1iSVFVZ0ZDQWxJQU1iSVJZZ0EwVWhHQ0FWUVFCTURRTkJBQ0VESUVBTkFTQUZJQllnTzJwSklCWWdCU0E3YWlJSFNYRU5BVUVBSUFVaUFTQVdJZ1lnUG1wQkNHcEpJQVpCQkdvZ0IwbHhEUUlhSUFZZ1BHb2hCaUFCSUR4cUlRSDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWhYa0VBSVFjRFFDQUZJQWRCQW5RaUEyb2lDU0FESUJacUlnUDlBQUlBSWw5QkJQMnRBU0JmUVFUOXF3RWdYaUJmL1EwTURRNFBFQkVTRXhRVkZoY1lHUm9iUVJ6OXJRSDlVUDFRSUYvOVVDSmUvUXNDQUNBSklGNGdBLzBBQWdSQkhQMnJBZjFRSWw1QkFmMnRBZjBNZDNkM2QzZDNkM2QzZDNkM2QzZDNkLzFPSUY1QkFmMnJBZjBNN3U3dTd1N3U3dTd1N3U3dTd1N3U3djFPL1ZBZ1h2MVFJRi85VC8wTEFnQWdYeUZlSUFkQkJHb2lCeUFjUncwQUN5QWNJRDlHRFFNZ0VpRURJRjc5R3dNTUFnc2dBMFVoR0NBcElDZ2dBeHNoQlF3Q0N5QUZJUUVnRmlFR1FRQUxJUWNEUUNBSFFSeDJJUWtnQVNBR0tBSUFJZ2RCQkhZZ0NTQUhRUVIwY25JZ0IzSWlDVFlDQUNBQklBa2dCaWdDQkVFY2RISWlDVUVCZGtIMzd0MjdCM0VnQ1VFQmRFSHUzYnYzZm5GeUlBbHlJQWRCZjNOeE5nSUFJQUZCQkdvaEFTQUdRUVJxSVFZZ0EwRUlhaUlESUJWSURRQUxDeUFUUVFaSkRRQkJBQ0VKUVFBaEVTQVdJUUVnS1NBb0lCZ2JJaHNoQnlBVUlDVWdHQnNpRnlFR0FrQWdGVUVBVENJTkRRQURRQ0FCUVFScUlRTWdCeWdDQUNFSUlBRW9BZ0FoQVNBSElEZ0VmeUFJQlNBQlFRUjBJQkZCSEhaeUlBRkJCSFp5SUFNb0FnQkJISFJ5SUFGeVFRTjBRWWlSb3NSNGNTQUljZ3NnQmlnQ0FFRi9jM0UyQWdBZ0JrRUVhaUVHSUFkQkJHb2hCeUFCSVJFZ0F5RUJJQWxCQ0dvaUNTQVZTQTBBQ3lBTkRRQWdEaUFUUVFacklCVnNRUUowYWlGQlFRQWhIaUFYSVJFRFFFRUFJUU1nR3lnQ0FDSUJCRUFnRlNBZWF5RkNRUUFoQjBFQUlRb0RRQ0FISVUwZ0QwR2dBV29RR3lFSEFrQWdDaUFLUVFScUlnWWdRaUFHSUI1cUlCVklHeUl6VGlKREJFQkJBQ0VHREFFTElCRW9BZ0JCZjNNaEtpQkJJQW9nSG5KQkFuUnFJUmhCQUNFR1FROGdDaUlKUVFKMElrUjBJZzBoQ0FOQUFrQWdBU0FJY1VVTkFDQUlRWkdpeElnQmNTSW5JQUZ4QkVBZ0IwRUJjUVJBSUFNZ0ozSWhBMEV5SUFsQkFuUjBJQ3B4SUFGeUlRRUxJQWRCQVhZaEJ5QUdRUUZxSVFZTElBRWdKMEVCZENJMGNRUkFJQWRCQVhFRVFDQURJRFJ5SVFNZ0FVSDBBQ0FKUVFKMGRDQXFjWEloQVFzZ0IwRUJkaUVISUFaQkFXb2hCZ3NnQVNBblFRSjBJalJ4QkVBZ0IwRUJjUVJBSUFNZ05ISWhBeUFCUWVnQklBbEJBblIwSUNweGNpRUJDeUFIUVFGMklRY2dCa0VCYWlFR0N5QUJJQ2RCQTNRaUozRkZEUUFnQjBFQmNRUkFJQU1nSjNJaEF5QUJRY0FCSUFsQkFuUjBJQ3B4Y2lFQkN5QUdRUUZxSVFZZ0IwRUJkaUVIQ3lBSVFRUjBJUWdnQ1VFQmFpSUpJRE5JRFFBTElBTWdSSFpCLy84RGNVVU5BQ0JERFFBRFFBSkFJQU1nRFhGRkRRQWdEVUdSb3NTSUFYRWlDU0FEY1FSQUlCZ2dHQ2dDQUNBSFFSOTBjaUF0Y2pZQ0FDQUhRUUYySVFjZ0JrRUJhaUVHQ3lBSlFRRjBJQU54QkVBZ0dDQVZRUUowYWlJSUlBZ29BZ0FnQjBFZmRISWdMWEkyQWdBZ0IwRUJkaUVISUFaQkFXb2hCZ3NnQ1VFQ2RDQURjUVJBSUJnZ09rRUNkR29pQ0NBSUtBSUFJQWRCSDNSeUlDMXlOZ0lBSUFkQkFYWWhCeUFHUVFGcUlRWUxJQWxCQTNRZ0EzRkZEUUFnR0NBNVFRSjBhaUlKSUFrb0FnQWdCMEVmZEhJZ0xYSTJBZ0FnQmtFQmFpRUdJQWRCQVhZaEJ3c2dEVUVFZENFTklCaEJCR29oR0NBS1FRRnFJZ29nTTBnTkFBc0xJQThnRHlnQ3NBRWdCbXMyQXJBQklBOGdEeWtEcUFFZ0JxMklOd09vQVVFQklRZEJCQ0VLSUUxQkFYRkZEUUFMSUJzZ0d5Z0NCQ0FEUVJ0MlFRNXhJQU5CSFhaeUlBTkJISFp5SUJFb0FnUkJmM054Y2pZQ0JBc2dFU2dDQUNBRGNpSURRUU4yUVpHaXhJZ0JjU0lCUVFSMklBRkJCSFJ5SUFGeUlRWWdIZ1JBSUFWQkJHc2lCeUFIS0FJQUlCWkJCR3NvQWdCQmYzTWdBVUVjZEhGeU5nSUFDeUFGSUFVb0FnQWdCaUFXS0FJQVFYOXpjWEkyQWdBZ0JTQUZLQUlFSUJZb0FnUkJmM01nQTBFZmRuRnlOZ0lFSUJ0QkJHb2hHeUFSUVFScUlSRWdCVUVFYWlFRklCWkJCR29oRmlBZVFRaHFJaDRnRlVnTkFBc0xJQmRCQUNBOUVCVWFDeUFaSUI5SURRQUxDd0pBSUF4QkFra05BQUpBSUI5QkEzRkJBV3NpRmtFQ1NTQXhjUVJBSUJWQkFFd05BVUVCSUNaQkFtdDBJUUlnRGlBZlFmei8vd2R4SUJWc1FRSjBhaUVSSUNVZ0ZDQWZRUVJ4R3lFRklDWkJBV3NoQ0VFQUlRb2dGVUVNYkNFTUlCVkJBM1FoQ3dOQUlBOUJnQUZxRUM4aEIwRUFJUUVnQlNnQ0FDSURCRUFnRVNBS1FRSjBhaUVCUVE4aEJrRUFJUWtEUUFKQUlBTWdCbkZGRFFBZ0JrR1Jvc1NJQVhFaURTQURjUVJBSUFFZ0FTZ0NBQ0FIUVg5elFRRnhJQWgwY3lBQ2NqWUNBQ0FIUVFGMklRY0xJQTFCQVhRZ0EzRUVRQ0FCSUJWQkFuUnFJaDBnSFNnQ0FDQUhRWDl6UVFGeElBaDBjeUFDY2pZQ0FDQUhRUUYySVFjTElBMUJBblFnQTNFRVFDQUJJQXRxSWgwZ0hTZ0NBQ0FIUVg5elFRRnhJQWgwY3lBQ2NqWUNBQ0FIUVFGMklRY0xJQTFCQTNRZ0EzRkZEUUFnQVNBTWFpSU5JQTBvQWdBZ0IwRi9jMEVCY1NBSWRITWdBbkkyQWdBZ0IwRUJkaUVIQ3lBQlFRUnFJUUVnQmtFRWRDRUdJQWxCQVdvaUNVRUlSdzBBQ3lBRGFTRUJDeUFGUVFScUlRVWdEeUFQS0FLUUFTQUJhellDa0FFZ0R5QVBLUU9JQVNBQnJZZzNBNGdCSUFwQkNHb2lDaUFWU0EwQUN3c2dGa0VCU3cwQUlCVkJBRXdOQUNBbElCUWdIMEVFY1NJQkd5RUpJQ2dnS1NBQkd5RUNRUUFoQXdKL0FrQWdLeUFrUVg5emFpSUJRVGhKRFFBZ0FpQUpJQUZCQVhaQi9QLy8vd2R4SWdaQkJHb2lCMnBKSUFrZ0FpQUhhaUlIU1hFTkFDQUNJQVlnQ1dwQkNHcEpJQWxCQkdvZ0IwbHhEUUFnQVVFRGRrRUJhaUlOUWZ6Ly8vOERjU0lJUVFOMElRTWdDU0FJUVFKMElnRnFJUVlnQVNBQ2FpRUIvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJVjVCQUNFSEEwQWdBaUFIUVFKMEloWnFJaEVnQ1NBV2FpSVcvUUFDQUNKZlFRVDlyUUVnWDBFRS9hc0JJRjRnWC8wTkRBME9EeEFSRWhNVUZSWVhHQmthRzBFYy9hMEIvVkQ5VUNCZi9WQWlYdjBMQWdBZ0VTQmVJQmI5QUFJRVFSejlxd0g5VUNKZVFRSDlyUUg5REhkM2QzZDNkM2QzZDNkM2QzZDNkM2Y5VGlCZVFRSDlxd0g5RE83dTd1N3U3dTd1N3U3dTd1N3U3dTc5VHYxUUlGNzlVQ0JmL1UvOUN3SUFJRjhoWGlBSFFRUnFJZ2NnQ0VjTkFBc2dDQ0FOUmcwQ0lGNzlHd01NQVFzZ0FpRUJJQWtoQmtFQUN5RUhBMEFnQjBFY2RpRUpJQUVnQmlnQ0FDSUhRUVIySUFrZ0IwRUVkSEp5SUFkeUlnazJBZ0FnQVNBSklBWW9BZ1JCSEhSeUlnbEJBWFpCOSs3ZHV3ZHhJQWxCQVhSQjd0Mjc5MzV4Y2lBSmNpQUhRWDl6Y1RZQ0FDQUJRUVJxSVFFZ0JrRUVhaUVHSUFOQkNHb2lBeUFWU0EwQUN3c2dIeUFmUVFGcVFRTnhhMEVEYTBFQUlCOUJCa29iSWhFZ0gwNE5BRUVESUNaQkFtdDBJUmtnS3lBa1FYOXphaUlCUVFOMklnTkJBblFpSzBFRWFpRWRJQU5CQVdvaUEwSDgvLy8vQTNFaUVrRUNkQ0VoSUJKQkEzUWhGaUFWUVF4c0lTd2dGVUVEZENFdElBRkJHRWtoSmlBRElCSkdJUnNEUUFKQUFrQUNRQUpBQW44Q1FDQWZJQkZySWdGQkFXc2lBMEVEVHdSQVFYOGhGeUFCUVFWSURRVWdGVUVBVEEwR0lDVWdGQ0FSUVFSeElnRWJJUUlnS0NBcElBRWJJUWtnT0FSQVFRQWhCaUFtRFFRZ0FpQUpJQjFxU1NBQ0lCMXFJQWxMY1EwRUlBSWdJV29oQVNBSklDRnFJUWNEUUNBSklBWkJBblFpQTJvaUNDQUkvUUFDQUNBQ0lBTnEvUUFDQVAxUC9Rc0NBQ0FHUVFScUlnWWdFa2NOQUFzZ0ZpRUdJQnNOQmd3RkN5QVVJQ1VnQVJzaERVRUFJUU1nSmcwQklBa2dEU0FkYWtrZ0RTQUpJQjFxSWdGSmNRMEJJQWtnRFNBcmFrRUlha2tnRFVFRWFpQUJTWEVOQVNBSklBSWdIV3BKSUFFZ0FrdHhEUUVnQWlBaGFpRUlJQWtnSVdvaEFTQU5JQ0ZxSVFmOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBaFhrRUFJUVlEUUNBSklBWkJBblFpQTJvaUJTQURJQTFxSWd6OUFBSUFJbDlCQlAydEFTQmZRUVQ5cXdFZ1hpQmYvUTBNRFE0UEVCRVNFeFFWRmhjWUdSb2JRUno5clFIOVVQMVFJQXo5QUFJRVFSejlxd0g5VUNCZi9WQkJBLzJyQWYwTWlJaUlpSWlJaUlpSWlJaUlpSWlJaVAxT0lBWDlBQUlBL1ZBZ0FpQURhdjBBQWdEOVQvMExBZ0FnWHlGZUlBWkJCR29pQmlBU1J3MEFDeUFiRFFVZ0ZpRURJRjc5R3dNTUFnc2dBMEVDZEVIY25RRnFLQUlBSVJjTUJBc2dEU0VISUFraEFTQUNJUWhCQUFzaEJnTkFJQVpCSEhZaENTQUJJQUVvQWdBZ0J5Z0NBQ0lHUVFSMklBa2dCa0VFZEhKeUlBY29BZ1JCSEhSeUlBWnlRUU4wUVlpUm9zUjRjWElnQ0NnQ0FFRi9jM0UyQWdBZ0NFRUVhaUVJSUFGQkJHb2hBU0FIUVFScUlRY2dBMEVJYWlJRElCVklEUUFMREFJTElBa2hCeUFDSVFFTEEwQWdCeUFIS0FJQUlBRW9BZ0JCZjNOeE5nSUFJQUZCQkdvaEFTQUhRUVJxSVFjZ0JrRUlhaUlHSUJWSURRQUxDeUFWUVFCTURRQWdKU0FVSUJGQkJIRWlBUnNoQ2lBb0lDa2dBUnNoQWlBVUlDVWdBUnNoRXlBcElDZ2dBUnNoSGlBT0lCRWdGV3hCQW5ScUlTNUJBQ0VGQTBCQkFDRURJQUlvQWdBZ0YzRWlBUVJBSUJVZ0JXc2hLa0VBSVFkQkFDRU5BMEFnQnlGT0lBOUJvQUZxRUJzaEJ3SkFJQTBnRFVFRWFpSUdJQ29nQlNBR2FpQVZTQnNpSkU0aUp3UkFRUUFoQmd3QkN5QVhJQW9vQWdCQmYzTnhJUmdnTGlBRklBMXlRUUowYWlFTFFRQWhCa0VQSUEwaUNVRUNkQ0ljZENJZ0lRZ0RRQUpBSUFFZ0NIRkZEUUFnQ0VHUm9zU0lBWEVpSWlBQmNRUkFJQWRCQVhFRVFDQURJQ0p5SVFOQk1pQUpRUUowZENBWWNTQUJjaUVCQ3lBSFFRRjJJUWNnQmtFQmFpRUdDeUFCSUNKQkFYUWlNWEVFUUNBSFFRRnhCRUFnQXlBeGNpRURJQUZCOUFBZ0NVRUNkSFFnR0hGeUlRRUxJQWRCQVhZaEJ5QUdRUUZxSVFZTElBRWdJa0VDZENJeGNRUkFJQWRCQVhFRVFDQURJREZ5SVFNZ0FVSG9BU0FKUVFKMGRDQVljWEloQVFzZ0IwRUJkaUVISUFaQkFXb2hCZ3NnQVNBaVFRTjBJaUp4UlEwQUlBZEJBWEVFUUNBRElDSnlJUU1nQVVIQUFTQUpRUUowZENBWWNYSWhBUXNnQmtFQmFpRUdJQWRCQVhZaEJ3c2dDRUVFZENFSUlBbEJBV29pQ1NBa1NBMEFDeUFESUJ4MlFmLy9BM0ZGRFFBZ0p3MEFBMEFDUUNBRElDQnhSUTBBSUNCQmthTEVpQUZ4SWdrZ0EzRUVRQ0FMSUFzb0FnQWdCMEVmZEhJZ0dYSTJBZ0FnQjBFQmRpRUhJQVpCQVdvaEJnc2dDVUVCZENBRGNRUkFJQXNnRlVFQ2RHb2lDQ0FJS0FJQUlBZEJIM1J5SUJseU5nSUFJQWRCQVhZaEJ5QUdRUUZxSVFZTElBbEJBblFnQTNFRVFDQUxJQzFxSWdnZ0NDZ0NBQ0FIUVI5MGNpQVpjallDQUNBSFFRRjJJUWNnQmtFQmFpRUdDeUFKUVFOMElBTnhSUTBBSUFzZ0xHb2lDU0FKS0FJQUlBZEJIM1J5SUJseU5nSUFJQVpCQVdvaEJpQUhRUUYySVFjTElDQkJCSFFoSUNBTFFRUnFJUXNnRFVFQmFpSU5JQ1JJRFFBTEN5QVBJQThvQXJBQklBWnJOZ0t3QVNBUElBOHBBNmdCSUFhdGlEY0RxQUZCQVNFSFFRUWhEU0JPUVFGeFJRMEFDeUFDSUFJb0FnUWdBMEViZGtFT2NTQURRUjEyY2lBRFFSeDJjaUFLS0FJRVFYOXpjWEkyQWdRTElBb29BZ0FnQTNJaUEwRURka0dSb3NTSUFYRWlBVUVFZGlBQlFRUjBjaUFCY2lFR0lBVUVRQ0FlUVFScklnY2dCeWdDQUNBVFFRUnJLQUlBUVg5eklBRkJISFJ4Y2pZQ0FBc2dIaUFlS0FJQUlBWWdFeWdDQUVGL2MzRnlOZ0lBSUI0Z0hpZ0NCQ0FUS0FJRVFYOXpJQU5CSDNaeGNqWUNCQ0FDUVFScUlRSWdDa0VFYWlFS0lCNUJCR29oSGlBVFFRUnFJUk1nQlVFSWFpSUZJQlZJRFFBTEN5QVJRUVJxSWhFZ0gwZ05BQXNMUVFFaEJ5QWZRUUJNRFFNZ0ZVRUFUQTBESUJWQi9QLy8vd2R4SWdaQkFuUWhBaUFWUVFSSklRaEJBQ0VKQTBBZ0RpQUpJQlZzUVFKMGFpRURBa0FDUUNBSUJFQWdBeUVIUVFBaEFRd0JDeUFDSUFOcUlRZEJBQ0VCQTBBZ0F5QUJRUUowYWlJTklBMzlBQUlBSWw3OURQLy8vMy8vLy85Ly8vLy9mLy8vLzMvOVRpSmYvYUVCSUY4Z1h2ME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMDUvVkw5Q3dJQUlBRkJCR29pQVNBR1J3MEFDeUFHSWdFZ0ZVWU5BUXNEUUNBSFFRQWdCeWdDQUNJRFFmLy8vLzhIY1NJTmF5QU5JQU5CQUVnYk5nSUFJQWRCQkdvaEJ5QUJRUUZxSWdFZ0ZVY05BQXNMUVFFaEJ5QUpRUUZxSWdrZ0gwY05BQXNNQXdzZ0lVVU5BQ0FQSUJvb0FoZzJBalFnRHlBV05nSXdJQjFCQVVIY3h3QWdEMEV3YWhBUERBRUxJQThnQVRZQ0ZDQVBJQlkyQWhBZ0hVRUJRZHpIQUNBUFFSQnFFQTlCQUNFSERBRUxRUUFoQndzZ0QwR3dBbW9rQUNBSERRRU1Bd3NnQkNBQlFRbDBRZENwQVdvMkFtd0NmeUFFS0FKMElRRUNRQUpBSUJvb0FoQWdHaWdDQ0dzaUJTQWFLQUlVSUJvb0FneHJJZ2xzSWdNZ0JDZ0NoQUZMQkVBZ0FSQVFJQVFnQTBFQ2RCQVlJZ0UyQW5SQkFDQUJSUTBER2lBRUlBTTJBb1FCREFFTElBRkZEUUVMSUFGQkFDQURRUUowRUJVYUN5QUVLQUo0SVFFQ1FDQUZRUUpxSWdZZ0NVRURha0VDZGlJTVFRSnFiQ0lESUFRb0FvZ0JUUVJBSUFOQkFuUWhDQXdCQ3lBQkVCQWdCQ0FEUVFKMElnZ1FHQ0lCTmdKNElBRU5BRUVBREFFTElBUWdBellDaUFFZ0FVRUFJQWdRRlJvQ1FDQUdSUTBBSUFRb0FuZ2lCeUVCQWtBZ0JrRUVUd1JBSUFjZ0JrRjhjU0lOUVFKMGFpRUJRUUFoQ0FOQUlBY2dDRUVDZEdyOURBQUFJRWtBQUNCSkFBQWdTUUFBSUVuOUN3SUFJQWhCQkdvaUNDQU5SdzBBQ3lBR0lBMUdEUUVMQTBBZ0FVR0FnSURKQkRZQ0FDQUJRUVJxSVFFZ0RVRUJhaUlOSUFaSERRQUxDeUFISUF4QkFXb2dCbXhCQW5ScUlRTkJBQ0VOQWtBQ1FDQUdRUVJKQkVBZ0F5RUJEQUVMSUFNZ0JrRjhjU0lOUVFKMGFpRUJRUUFoQ0FOQUlBTWdDRUVDZEdyOURBQUFJRWtBQUNCSkFBQWdTUUFBSUVuOUN3SUFJQWhCQkdvaUNDQU5SdzBBQ3lBR0lBMUdEUUVMQTBBZ0FVR0FnSURKQkRZQ0FDQUJRUVJxSVFFZ0RVRUJhaUlOSUFaSERRQUxDeUFKUVFOeElnRkZEUUFnQmtVTkFFR0FnSURJQkVHQWdJREFCRUdBZ0lDQUJDQUJRUUpHR3lBQlFRRkdHeUVMSUFjZ0JpQU1iRUVDZEdvaEEwRUFJUTBDUUNBR1FRUkpCRUFnQXlFQkRBRUxJQU1nQmtGOGNTSU5RUUowYWlFQklBdjlFU0ZmUVFBaENBTkFJQU1nQ0VFQ2RHb2dYLzBMQWdBZ0NFRUVhaUlJSUExSERRQUxJQVlnRFVZTkFRc0RRQ0FCSUFzMkFnQWdBVUVFYWlFQklBMUJBV29pRFNBR1J3MEFDd3NnQkNBSk5nS0FBU0FFSUFVMkFueEJBUXRGRFFJZ0dpZ0NIQ0FSYWlJWlFSOU9CRUFnSVVVTkFpQWpJQmsyQWhBZ0hVRUNRZFhCQUNBalFSQnFFQThNQXdzZ0JCQmFRUUFoQVNBRVFiQ3BBVFlDWkNBRVFkQ2VBVFlDWUNBRVFmQ2VBVFlDSEFKQUFrQUNRQUpBSUJvb0FqUWlCMEVCU3cwQUlBUW9BcEFCUlEwQ0lBY05BQXdCQ3lBYUtBSUVJUU1nQjBFRVR3UkFJQWRCZkhFaEFrRUFJUVlEUUNBRElBWkJBM1JxSWdGQkhHb2dBVUVVYWlBQlFReHFJQUg5Q1FJRS9WWUNBQUg5VmdJQUF2MVdBZ0FESUY3OXJnRWhYaUFHUVFScUlnWWdBa2NOQUFzZ1hpQmVJRjc5RFFnSkNnc01EUTRQQUFFQ0F3QUJBZ1A5cmdFaVhpQmVJRjc5RFFRRkJnY0FBUUlEQUFFQ0F3QUJBZ1A5cmdIOUd3QWhBU0FDSUFkR0RRRUxBMEFnQXlBQ1FRTjBhaWdDQkNBQmFpRUJJQUpCQVdvaUFpQUhSdzBBQ3dzZ0FVRUNhaUlESUFRb0FwZ0JTd1JBSUFRb0FwUUJJQU1RRnlJR1JRMEZJQVFnQmpZQ2xBRWdBU0FHYWtFQU93QUFJQVFnQXpZQ21BRWdHaWdDTkNFSEN5QUVLQUtVQVNFZUlBZEZEUUVnR2lnQ0JDRUdRUUFoQWtFQUlRRURRQ0FDSUI1cUlBWWdBVUVEZENJRGFpSUdLQUlBSUFZb0FnUVFFaG9nR2lnQ0JDSUdJQU5xS0FJRUlBSnFJUUlnQVVFQmFpSUJJQm9vQWpSSkRRQUxEQUVMSUFkQkFVY05BU0FhS0FJRUtBSUFJUjRMSUJvb0Fqd2lBUVJBSUFRb0FuUWhMQ0FFSUFFMkFuUUxJQm9vQWl3RVFDQVdRUWh4SVNVZ0JFRWNhaUVQSUJaQkFYRWhMU0FXUVFKeFJTRXVRUUloSHdOQUlCNGdLR29oQVNBYUtBSUFJQ2xCR0d4cUlpQW9BZ0FoQXdKQUlDMGdIMEVDU1NBWklCb29BaHhCQkd0TWNYRWlJZ1JBSUFRZ0FUWUNGQ0FFSUFFZ0Eyb2lBellDR0NBRUlBTXZBQUE3QVhBZ0EwSC9BVG9BQUNBRUtBSVlRZjhCT2dBQklBUkJBRFlDQ0NBRVFRQTJBZ0FnQkNBQk5nSVFEQUVMSUFRZ0FUWUNGQ0FFSUFFZ0Eyb2lCallDR0NBRUlBWXZBQUE3QVhBZ0JrSC9BVG9BQUNBRUtBSVlRZjhCT2dBQklBUWdCRUVjYWpZQ2FDQUVJQUUyQWhBZ0JFRUFOZ0lNSUFRZ0F3Ui9JQUV0QUFCQkVIUUZRWUNBL0FjTElnTTJBZ0JCQVNFR0lBRkJBV29oQ1NBQkxRQUJJUWNDZnlBQkxRQUFRZjhCUmdSQUlBZEJrQUZQQkVBZ0JFRUJOZ0lNSUFOQmdQNERjZ3dDQ3lBRUlBazJBaEJCQUNFR0lBZEJDWFFnQTJvTUFRc2dCQ0FKTmdJUUlBZEJDSFFnQTNJTElRRWdCQ0FHTmdJSUlBUkJnSUFDTmdJRUlBUWdBVUVIZERZQ0FBc2dJQ2dDQUNFcUFrQWdHVUVBVEEwQUlDQW9BZ2hGRFFBZ0lpQXVjaUVuUVFBaEpnTkFBa0FDUUFKQUFrQUNRQ0FmUVFGckRnSUJBZ0FMSUNJRVFFRUJJQmwwSWdGQkFYWWdBWEloRVNBRUtBSjhJZ1ZCQW5RaURTQUVLQUo0YWtFTWFpRUJJQVFvQW5RaEJrRUFJUWdnQkNnQ2dBRWlBMEVFVHdSQUlBVkZEUVVnQlVFRGJDRUNJQVZCQVhRaERFRUFJQkZySVFrRFFDQU1RUUowSVF0QkFDRURBMEFDUUNBQklnY29BZ0FpQVVVTkFBSkFJQUZCa0lDQUFYRU5BQ0FCUWU4RGNVVU5BQ0FFS0FJQUlRRUNRQ0FFS0FJSUloQU5BQ0FCUWY4QlJpRUtJQVFvQWhBaUVDMEFBQ0VCQWtBZ0NrVUVRQ0FFSUFFMkFnQWdCQ0FRUVFGcU5nSVFEQUVMSUFGQmp3Rk5CRUFnQkNBQk5nSUFJQVFnRUVFQmFqWUNFRUVISVJBTUFndEIvd0VoQVNBRVFmOEJOZ0lBQzBFSUlSQUxJQVFnRUVFQmF5SVFOZ0lJQWtBZ0FTQVFka0VCY1VVTkFBSkFJQkFOQUNBQlFmOEJSaUVLSUFRb0FoQWlFQzBBQUNFQkFrQWdDa1VFUUNBRUlBRTJBZ0FnQkNBUVFRRnFOZ0lRREFFTElBRkJqd0ZOQkVBZ0JDQUJOZ0lBSUFRZ0VFRUJhallDRUVFSElSQU1BZ3RCL3dFaEFTQUVRZjhCTmdJQUMwRUlJUkFMSUFRZ0VFRUJheUlRTmdJSUlBWWdDU0FSSUFFZ0VIWkJBWEVpRUJzMkFnQWdCQ2dDZkNFQklBZEJCR3NpQ2lBS0tBSUFRU0J5TmdJQUlBY2dCeWdDQkVFSWNqWUNCQ0FISUFjb0FnQWdFRUVUZEhKQkVISTJBZ0FnSlEwQUlBZEJmaUFCYTBFQ2RHb2lBU0FCS0FJRVFZQ0FBbkkyQWdRZ0FTQUJLQUlBSUJCQkgzUnlRWUNBQkhJMkFnQWdBVUVFYXlJQklBRW9BZ0JCZ0lBSWNqWUNBQXNnQnlBSEtBSUFRWUNBZ0FGeUlnRTJBZ0FMQWtBZ0FVR0FnWUFJY1EwQUlBRkIrQjV4UlEwQUlBUW9BZ0FoQVFKQUlBUW9BZ2dpRUEwQUlBRkIvd0ZHSVFvZ0JDZ0NFQ0lRTFFBQUlRRUNRQ0FLUlFSQUlBUWdBVFlDQUNBRUlCQkJBV28yQWhBTUFRc2dBVUdQQVUwRVFDQUVJQUUyQWdBZ0JDQVFRUUZxTmdJUVFRY2hFQXdDQzBIL0FTRUJJQVJCL3dFMkFnQUxRUWdoRUFzZ0JDQVFRUUZySWhBMkFnZ2dCd0ovSUFFZ0VIWkJBWEZGQkVBZ0J5Z0NBQXdCQ3dKQUlCQU5BQ0FCUWY4QlJpRUtJQVFvQWhBaUVDMEFBQ0VCQWtBZ0NrVUVRQ0FFSUFFMkFnQWdCQ0FRUVFGcU5nSVFEQUVMSUFGQmp3Rk5CRUFnQkNBQk5nSUFJQVFnRUVFQmFqWUNFRUVISVJBTUFndEIvd0VoQVNBRVFmOEJOZ0lBQzBFSUlSQUxJQVFnRUVFQmF5SVFOZ0lJSUFZZ0RXb2dDU0FSSUFFZ0VIWkJBWEVpQVJzMkFnQWdCMEVFYXlJUUlCQW9BZ0JCZ0FKeU5nSUFJQWNnQnlnQ0JFSEFBSEkyQWdRZ0J5Z0NBQ0FCUVJaMGNrR0FBWElMUVlDQWdBaHlJZ0UyQWdBTEFrQWdBVUdBaUlEQUFIRU5BQ0FCUWNEM0FYRkZEUUFnQkNnQ0FDRUJBa0FnQkNnQ0NDSVFEUUFnQVVIL0FVWWhDaUFFS0FJUUloQXRBQUFoQVFKQUlBcEZCRUFnQkNBQk5nSUFJQVFnRUVFQmFqWUNFQXdCQ3lBQlFZOEJUUVJBSUFRZ0FUWUNBQ0FFSUJCQkFXbzJBaEJCQnlFUURBSUxRZjhCSVFFZ0JFSC9BVFlDQUF0QkNDRVFDeUFFSUJCQkFXc2lFRFlDQ0NBSEFuOGdBU0FRZGtFQmNVVUVRQ0FIS0FJQURBRUxBa0FnRUEwQUlBRkIvd0ZHSVFvZ0JDZ0NFQ0lRTFFBQUlRRUNRQ0FLUlFSQUlBUWdBVFlDQUNBRUlCQkJBV28yQWhBTUFRc2dBVUdQQVUwRVFDQUVJQUUyQWdBZ0JDQVFRUUZxTmdJUVFRY2hFQXdDQzBIL0FTRUJJQVJCL3dFMkFnQUxRUWdoRUFzZ0JDQVFRUUZySWhBMkFnZ2dCaUFMYWlBSklCRWdBU0FRZGtFQmNTSUJHellDQUNBSFFRUnJJaEFnRUNnQ0FFR0FFSEkyQWdBZ0J5QUhLQUlFUVlBRWNqWUNCQ0FIS0FJQUlBRkJHWFJ5UVlBSWNndEJnSUNBd0FCeUlnRTJBZ0FMSUFGQmdNQ0FnQVJ4RFFBZ0FVR0F2QTl4UlEwQUlBUW9BZ0FoQVFKQUlBUW9BZ2dpRUEwQUlBRkIvd0ZHSVFvZ0JDZ0NFQ0lRTFFBQUlRRUNRQ0FLUlFSQUlBUWdBVFlDQUNBRUlCQkJBV28yQWhBTUFRc2dBVUdQQVUwRVFDQUVJQUUyQWdBZ0JDQVFRUUZxTmdJUVFRY2hFQXdDQzBIL0FTRUJJQVJCL3dFMkFnQUxRUWdoRUFzZ0JDQVFRUUZySWhBMkFnZ2dBU0FRZGtFQmNRUkFJQVlnQWtFQ2RHb2hUd0pBSUJBTkFDQUJRZjhCUmlFVUlBUW9BaEFpRUMwQUFDRUJBa0FnRkVVRVFDQUVJQUUyQWdBZ0JDQVFRUUZxTmdJUURBRUxJQUZCandGTkJFQWdCQ0FCTmdJQUlBUWdFRUVCYWpZQ0VFRUhJUkFNQWd0Qi93RWhBU0FFUWY4Qk5nSUFDMEVJSVJBTElBUWdFRUVCYXlJUU5nSUlJRThnQ1NBUklBRWdFSFpCQVhFaUVCczJBZ0FnQkNnQ2ZDRUJJQWRCQkdzaUNpQUtLQUlBUVlDQUFYSTJBZ0FnQnlBSEtBSUVRWUFnY2pZQ0JDQUhJQWNvQWdBZ0VFRWNkSEpCZ01BQWNqWUNBQ0FISUFGQkFuUnFJZ0VnQVNnQ0JFRUVjallDQkNBQklBRW9BZ3hCQVhJMkFnd2dBU0FCS0FJSUlCQkJFblJ5UVFKeU5nSUlDeUFISUFjb0FnQkJnSUNBZ0FSeU5nSUFDeUFHUVFScUlRWWdCMEVFYWlFQklBTkJBV29pQXlBRlJ3MEFDeUFIUVF4cUlRRWdCaUFDUVFKMGFpRUdJQWhCQkdvaUNDQUVLQUtBQVNJRFFYeHhTUTBBQ3dzZ0F5QUlUUTBESUFWRkRRTkJBQ0VUUVFBZ0VXc2hDeUFESVJBRFFBSkFJQWdnRUVZRVFDQUlJUkFNQVFzZ0FVRUVheUVNSUFFb0FnQWhEVUVBSVFJRFFBSkFJQTBnQWtFRGJDSUhkaUlKUVpDQWdBRnhEUUFnQ1VIdkEzRkZEUUFnQkNnQ0FDRURBa0FnQkNnQ0NDSUpEUUFnQTBIL0FVY2hFQ0FFS0FJUUlna3RBQUFoQXdKQUlCQkZCRUFnQTBHUUFVOEVRRUgvQVNFRElBUkIvd0UyQWdBTUFnc2dCQ0FETmdJQUlBUWdDVUVCYWpZQ0VFRUhJUWtNQWdzZ0JDQUROZ0lBSUFRZ0NVRUJhallDRUF0QkNDRUpDeUFFSUFsQkFXc2lDVFlDQ0FKQUlBTWdDWFpCQVhGRkRRQWdCaUFDSUFWc1FRSjBhaUZRQWtBZ0NRMEFJQU5CL3dGSElRMGdCQ2dDRUNJSkxRQUFJUU1DUUNBTlJRUkFJQU5Ca0FGUEJFQkIvd0VoQXlBRVFmOEJOZ0lBREFJTElBUWdBellDQUNBRUlBbEJBV28yQWhCQkJ5RUpEQUlMSUFRZ0F6WUNBQ0FFSUFsQkFXbzJBaEFMUVFnaENRc2dCQ0FKUVFGcklnazJBZ2dnVUNBTElCRWdBeUFKZGtFQmNTSUpHellDQUNBRUtBSjhJUkFnRENBTUtBSUFRU0FnQjNSeU5nSUFJQUVnQVNnQ0FDQUpRUk4wUVJCeUlBZDBjallDQUNBQklBRW9BZ1JCQ0NBSGRISTJBZ1FnQWlBbGNrVUVRQ0FCUVg0Z0VHdEJBblJxSWdNZ0F5Z0NCRUdBZ0FKeU5nSUVJQU1nQXlnQ0FDQUpRUjkwY2tHQWdBUnlOZ0lBSUFOQkJHc2lBeUFES0FJQVFZQ0FDSEkyQWdBTElBSkJBMGNOQUNBQklCQkJBblJxSWdNZ0F5Z0NCRUVFY2pZQ0JDQURJQU1vQWd4QkFYSTJBZ3dnQXlBREtBSUlJQWxCRW5SeVFRSnlOZ0lJQ3lBQklBRW9BZ0JCZ0lDQUFTQUhkSElpRFRZQ0FDQUVLQUtBQVNFREN5QURJUkFnQWtFQmFpSUNJQU1nQ0d0SkRRQUxDeUFHUVFScUlRWWdBVUVFYWlFQklCTkJBV29pRXlBRlJ3MEFDd3dEQzBFQUlRZEJBQ0VOUVFBaEZ3SkFBa0FDUUFKQUlBUW9BbndpRUVIQUFFY05BQ0FFS0FLQUFVSEFBRWNOQUVFQVFRRWdHWFFpQVVFQmRpQUJjaUlSYXlFRklBUkJIR29oRUNBRUtBSjRRWXdDYWlFR0lBUW9BZ2doQ0NBRUtBSUVJUU1nQkNnQ0FDRUNJQVFvQW1naERDQUVLQUowSVFFZ0ZrRUljUTBCQTBCQkFDRVhBMEFnQVNFSklBWWlCeWdDQUNJR0JFQUNRQ0FHUVpDQWdBRnhEUUFnQmtIdkEzRWlBVVVOQUNBRElCQWdCQ2dDYkNBQmFpMEFBRUVDZEdvaURDZ0NBQ0lMS0FJQUlnRnJJUU1DZnlBQklBSkJFSFpMQkVBZ0N5Z0NCQ0VLSUF3Z0MwRUlRUXdnQVNBRFN5SVVHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRTWdDQzBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FEUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0FTRURJQW9nQ2tVZ0ZCc01BUXNnQWlBQlFSQjBheUVDSUFOQmdJQUNjVVVFUUNBTEtBSUVJUW9nRENBTFFReEJDQ0FCSUFOTEloUWJhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUxJQWd0QUFFaEFTQUlMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBd0NDeUFFSUFzMkFoQWdBVUVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQXMyQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3NnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBS1JTQUtJQlFiREFFTElBc29BZ1FMQkg4Z0F5QVFJQWNvQWdSQkVYWkJCSEVnQjBFRWF5SUtLQUlBUVJOMlFRRnhJQVpCRG5aQkVIRWdCa0VRZGtIQUFIRWdCa0dxQVhGeWNuSnlJaFJCMExrQmFpMEFBRUVDZEdvaURDZ0NBQ0lMS0FJQUlnRnJJUU1nRkVIUXV3RnFMUUFBSVJNZ0NTQUZJQkVDZnlBQklBSkJFSFpMQkVBZ0N5Z0NCQ0VVSUF3Z0MwRUlRUXdnQVNBRFN5SU9HMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRTWdDQzBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FEUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0FTRURJQlFnRkVVZ0Roc01BUXNnQWlBQlFSQjBheUVDSUFOQmdJQUNjVVVFUUNBTEtBSUVJUlFnRENBTFFReEJDQ0FCSUFOTElnNGJhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUxJQWd0QUFFaEFTQUlMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBd0NDeUFFSUFzMkFoQWdBVUVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQXMyQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3NnQ0VFQmF5RUlJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBVVJTQVVJQTRiREFFTElBc29BZ1FMSUJOeklnRWJOZ0lBSUFvZ0NpZ0NBRUVnY2pZQ0FDQUhJQWNvQWdSQkNISTJBZ1FnQjBHTUFtc2lDeUFMS0FJQVFZQ0FDSEkyQWdBZ0IwR0VBbXNpQ3lBTEtBSUFRWUNBQW5JMkFnQWdCMEdJQW1zaUN5QUxLQUlBSUFGQkgzUnlRWUNBQkhJMkFnQWdCaUFCUVJOMGNrRVFjZ1VnQmd0QmdJQ0FBWEloQmdzQ1FDQUdRWUNCZ0FoeERRQWdCa0g0SG5GRkRRQWdBeUFRSUFRb0Ftd2dCa0VEZGlJVVFlOERjV290QUFCQkFuUnFJZ3dvQWdBaUN5Z0NBQ0lCYXlFREFuOGdBU0FDUVJCMlN3UkFJQXNvQWdRaENpQU1JQXRCQ0VFTUlBRWdBMHNpRXh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VESUFndEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBRFFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBS0lBcEZJQk1iREFFTElBSWdBVUVRZEdzaEFpQURRWUNBQW5GRkJFQWdDeWdDQkNFS0lBd2dDMEVNUVFnZ0FTQURTeUlURzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ3lBSUxRQUJJUUVnQ0MwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdNQWdzZ0JDQUxOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBTE5nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dDa1VnQ2lBVEd3d0JDeUFMS0FJRUN3Ui9JQU1nRUNBSEtBSUVRUlIyUVFSeElBZEJCR3NpQ2lnQ0FFRVdka0VCY1NBR1FROTJRUkJ4SUFaQkUzWkJ3QUJ4SUJSQnFnRnhjbkp5Y2lJVVFkQzVBV290QUFCQkFuUnFJZ3dvQWdBaUN5Z0NBQ0lCYXlFRElCUkIwTHNCYWkwQUFDRVRJQWtnQlNBUkFuOGdBU0FDUVJCMlN3UkFJQXNvQWdRaEZDQU1JQXRCQ0VFTUlBRWdBMHNpRGh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VESUFndEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBRFFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBVUlCUkZJQTRiREFFTElBSWdBVUVRZEdzaEFpQURRWUNBQW5GRkJFQWdDeWdDQkNFVUlBd2dDMEVNUVFnZ0FTQURTeUlPRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ3lBSUxRQUJJUUVnQ0MwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdNQWdzZ0JDQUxOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBTE5nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dGRVVnRkNBT0d3d0JDeUFMS0FJRUN5QVRjeUlCR3pZQ2dBSWdDaUFLS0FJQVFZQUNjallDQUNBSElBY29BZ1JCd0FCeU5nSUVJQVlnQVVFV2RISkJnQUZ5QlNBR0MwR0FnSUFJY2lFR0N3SkFJQVpCZ0lpQXdBQnhEUUFnQmtIQTl3RnhSUTBBSUFNZ0VDQUVLQUpzSUFaQkJuWWlGRUh2QTNGcUxRQUFRUUowYWlJTUtBSUFJZ3NvQWdBaUFXc2hBd0ovSUFFZ0FrRVFka3NFUUNBTEtBSUVJUW9nRENBTFFRaEJEQ0FCSUFOTEloTWJhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUxJQWd0QUFFaEF5QUlMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBd0NDeUFFSUFzMkFoQWdBMEVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQXMyQWhCQkNDRUlJQU5CQ0hRZ0Ftb2hBZ3NnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdDaUFLUlNBVEd3d0JDeUFDSUFGQkVIUnJJUUlnQTBHQWdBSnhSUVJBSUFzb0FnUWhDaUFNSUF0QkRFRUlJQUVnQTBzaUV4dHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFQklBZ3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBVUVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFwRklBb2dFeHNNQVFzZ0N5Z0NCQXNFZnlBRElCQWdCeWdDQkVFWGRrRUVjU0FIUVFScklnb29BZ0JCR1haQkFYRWdCa0VTZGtFUWNTQUdRUloyUWNBQWNTQVVRYW9CY1hKeWNuSWlGRUhRdVFGcUxRQUFRUUowYWlJTUtBSUFJZ3NvQWdBaUFXc2hBeUFVUWRDN0FXb3RBQUFoRXlBSklBVWdFUUovSUFFZ0FrRVFka3NFUUNBTEtBSUVJUlFnRENBTFFRaEJEQ0FCSUFOTElnNGJhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUxJQWd0QUFFaEF5QUlMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBd0NDeUFFSUFzMkFoQWdBMEVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQXMyQWhCQkNDRUlJQU5CQ0hRZ0Ftb2hBZ3NnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdGQ0FVUlNBT0d3d0JDeUFDSUFGQkVIUnJJUUlnQTBHQWdBSnhSUVJBSUFzb0FnUWhGQ0FNSUF0QkRFRUlJQUVnQTBzaURodHFLQUlBTmdJQUEwQUNRQ0FJRFFBZ0JDZ0NFQ0lJUVFGcUlRc2dDQzBBQVNFQklBZ3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSURBSUxJQVFnQ3pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdDellDRUVFSUlRZ2dBVUVJZENBQ2FpRUNDeUFJUVFGcklRZ2dBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUJSRklCUWdEaHNNQVFzZ0N5Z0NCQXNnRTNNaUFSczJBb0FFSUFvZ0NpZ0NBRUdBRUhJMkFnQWdCeUFIS0FJRVFZQUVjallDQkNBR0lBRkJHWFJ5UVlBSWNnVWdCZ3RCZ0lDQXdBQnlJUVlMQWtBZ0JrR0F3SUNBQkhFTkFDQUdRWUM4RDNGRkRRQWdBeUFRSUFRb0Ftd2dCa0VKZGlJVVFlOERjV290QUFCQkFuUnFJZ3dvQWdBaUN5Z0NBQ0lCYXlFREFuOGdBU0FDUVJCMlN3UkFJQXNvQWdRaENpQU1JQXRCQ0VFTUlBRWdBMHNpRXh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VESUFndEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBRFFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBS0lBcEZJQk1iREFFTElBSWdBVUVRZEdzaEFpQURRWUNBQW5GRkJFQWdDeWdDQkNFS0lBd2dDMEVNUVFnZ0FTQURTeUlURzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ3lBSUxRQUJJUUVnQ0MwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdNQWdzZ0JDQUxOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBTE5nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dDa1VnQ2lBVEd3d0JDeUFMS0FJRUN3Ui9JQU1nRUNBSEtBSUVRUnAyUVFSeElBZEJCR3NpQ2lnQ0FFRWNka0VCY1NBR1FSVjJRUkJ4SUFaQkdYWkJ3QUJ4SUJSQnFnRnhjbkp5Y2lJVVFkQzVBV290QUFCQkFuUnFJZ3dvQWdBaUN5Z0NBQ0lCYXlFRElCUkIwTHNCYWkwQUFDRVRJQWtnQlNBUkFuOGdBU0FDUVJCMlN3UkFJQXNvQWdRaEZDQU1JQXRCQ0VFTUlBRWdBMHNpRGh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VESUFndEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBRFFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBVUlCUkZJQTRiREFFTElBSWdBVUVRZEdzaEFpQURRWUNBQW5GRkJFQWdDeWdDQkNFVUlBd2dDMEVNUVFnZ0FTQURTeUlPRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ3lBSUxRQUJJUUVnQ0MwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdNQWdzZ0JDQUxOZ0lRSUFGQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBTE5nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dGRVVnRkNBT0d3d0JDeUFMS0FJRUN5QVRjeUlCR3pZQ2dBWWdDaUFLS0FJQVFZQ0FBWEkyQWdBZ0J5QUhLQUlFUVlBZ2NqWUNCQ0FISUFjb0FvUUNRUVJ5TmdLRUFpQUhJQWNvQW93Q1FRRnlOZ0tNQWlBSElBY29Bb2dDSUFGQkVuUnlRUUp5TmdLSUFpQUdJQUZCSEhSeVFZREFBSElGSUFZTFFZQ0FnSUFFY2lFR0N5QUhJQVkyQWdBTElBZEJCR29oQmlBSlFRUnFJUUVnRjBFQmFpSVhRY0FBUncwQUN5QUhRUXhxSVFZZ0NVR0VCbW9oQVNBTlFUeEpJVkVnRFVFRWFpRU5JRkVOQUFzTUFndEJBU0FaZENJQlFRRjJJQUZ5SVEwZ0JDZ0NlQ0lKSUJCQkFuUnFRUXhxSVFZZ0JDZ0NnQUVoQVNBRUtBSUlJUWdnQkNnQ0JDRURJQVFvQWdBaEFpQUVLQUpvSVF3Z0JDZ0NkQ0VSQWtBZ0ZrRUljUVJBQWtBZ0FVRUVTUTBBSUJBRVFFRUFJQTFySVJRZ0JFRWNhaUVGSUJCQkRHd2hFeUFRUVFOMElSVURRRUVBSVFzRFFDQUdJZ2tvQWdBaUJnUkFBa0FnQmtHUWdJQUJjUTBBSUFaQjd3TnhJZ0ZGRFFBZ0F5QUZJQVFvQW13Z0FXb3RBQUJCQW5ScUlnd29BZ0FpQ2lnQ0FDSUJheUVEQW44Z0FTQUNRUkIyVFFSQUlBSWdBVUVRZEdzaEFpQURRWUNBQW5FRVFDQUtLQUlFREFJTElBb29BZ1FoRGlBTUlBcEJERUVJSUFFZ0Ewc2lFaHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUW9nQ0MwQUFTRUJJQWd0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQ0NBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQW8yQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBNUZJQTRnRWhzTUFRc2dDaWdDQkNFT0lBd2dDa0VJUVF3Z0FTQURTeUlTRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUU1nQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBTkJDSFFnQW1vaEFnd0JDeUFEUVk4QlRRUkFJQVFnQ2pZQ0VDQURRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dBU0VESUE0Z0RrVWdFaHNMQkg4Z0F5QUZJQWtvQWdSQkVYWkJCSEVnQ1VFRWF5SU9LQUlBUVJOMlFRRnhJQVpCRG5aQkVIRWdCa0VRZGtIQUFIRWdCa0dxQVhGeWNuSnlJaEpCMExrQmFpMEFBRUVDZEdvaURDZ0NBQ0lLS0FJQUlnRnJJUU1nRWtIUXV3RnFMUUFBSVJnZ0VTQVVJQTBDZnlBQklBSkJFSFpOQkVBZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1FSQUlBb29BZ1FNQWdzZ0NpZ0NCQ0VTSUF3Z0NrRU1RUWdnQVNBRFN5SWJHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRRWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0VrVWdFaUFiR3d3QkN5QUtLQUlFSVJJZ0RDQUtRUWhCRENBQklBTkxJaHNiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBeUFJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0RBRUxJQU5CandGTkJFQWdCQ0FLTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nRWlBU1JTQWJHd3NnR0hNaUFSczJBZ0FnRGlBT0tBSUFRU0J5TmdJQUlBa2dDU2dDQkVFSWNqWUNCQ0FHSUFGQkUzUnlRUkJ5QlNBR0MwR0FnSUFCY2lFR0N3SkFJQVpCZ0lHQUNIRU5BQ0FHUWZnZWNVVU5BQ0FESUFVZ0JDZ0NiQ0FHUVFOMkloSkI3d054YWkwQUFFRUNkR29pRENnQ0FDSUtLQUlBSWdGcklRTUNmeUFCSUFKQkVIWk5CRUFnQWlBQlFSQjBheUVDSUFOQmdJQUNjUVJBSUFvb0FnUU1BZ3NnQ2lnQ0JDRU9JQXdnQ2tFTVFRZ2dBU0FEU3lJWUcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFFZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRGtVZ0RpQVlHd3dCQ3lBS0tBSUVJUTRnRENBS1FRaEJEQ0FCSUFOTEloZ2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEF5QUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDREFFTElBTkJqd0ZOQkVBZ0JDQUtOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdEaUFPUlNBWUd3c0VmeUFESUFVZ0NTZ0NCRUVVZGtFRWNTQUpRUVJySWc0b0FnQkJGblpCQVhFZ0JrRVBka0VRY1NBR1FSTjJRY0FBY1NBU1Fhb0JjWEp5Y25JaUVrSFF1UUZxTFFBQVFRSjBhaUlNS0FJQUlnb29BZ0FpQVdzaEF5QVNRZEM3QVdvdEFBQWhHQ0FSSUJCQkFuUnFJQlFnRFFKL0lBRWdBa0VRZGswRVFDQUNJQUZCRUhScklRSWdBMEdBZ0FKeEJFQWdDaWdDQkF3Q0N5QUtLQUlFSVJJZ0RDQUtRUXhCQ0NBQklBTkxJaHNiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBU0FJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0FVRUlkQ0FDYWlFQ0RBRUxJQUZCandGTkJFQWdCQ0FLTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QVNSU0FTSUJzYkRBRUxJQW9vQWdRaEVpQU1JQXBCQ0VFTUlBRWdBMHNpR3h0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFvZ0NDMEFBU0VESUFndEFBQkIvd0ZIQkVBZ0JDQUtOZ0lRUVFnaENDQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFvMkFoQWdBMEVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSUN5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBU0lCSkZJQnNiQ3lBWWN5SUJHellDQUNBT0lBNG9BZ0JCZ0FKeU5nSUFJQWtnQ1NnQ0JFSEFBSEkyQWdRZ0JpQUJRUlowY2tHQUFYSUZJQVlMUVlDQWdBaHlJUVlMQWtBZ0JrR0FpSURBQUhFTkFDQUdRY0QzQVhGRkRRQWdBeUFGSUFRb0Ftd2dCa0VHZGlJU1FlOERjV290QUFCQkFuUnFJZ3dvQWdBaUNpZ0NBQ0lCYXlFREFuOGdBU0FDUVJCMlRRUkFJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRUVRQ0FLS0FJRURBSUxJQW9vQWdRaERpQU1JQXBCREVFSUlBRWdBMHNpR0J0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFvZ0NDMEFBU0VCSUFndEFBQkIvd0ZIQkVBZ0JDQUtOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFvMkFoQWdBVUVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSUN5QUlRUUZySVFnZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQTVGSUE0Z0dCc01BUXNnQ2lnQ0JDRU9JQXdnQ2tFSVFRd2dBU0FEU3lJWUcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFNZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQU5CQ0hRZ0Ftb2hBZ3dCQ3lBRFFZOEJUUVJBSUFRZ0NqWUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQVNFRElBNGdEa1VnR0JzTEJIOGdBeUFGSUFrb0FnUkJGM1pCQkhFZ0NVRUVheUlPS0FJQVFSbDJRUUZ4SUFaQkVuWkJFSEVnQmtFV2RrSEFBSEVnRWtHcUFYRnljbkp5SWhKQjBMa0JhaTBBQUVFQ2RHb2lEQ2dDQUNJS0tBSUFJZ0ZySVFNZ0VrSFF1d0ZxTFFBQUlSZ2dFU0FWYWlBVUlBMENmeUFCSUFKQkVIWk5CRUFnQWlBQlFSQjBheUVDSUFOQmdJQUNjUVJBSUFvb0FnUU1BZ3NnQ2lnQ0JDRVNJQXdnQ2tFTVFRZ2dBU0FEU3lJYkcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFFZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRWtVZ0VpQWJHd3dCQ3lBS0tBSUVJUklnRENBS1FRaEJEQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEF5QUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDREFFTElBTkJqd0ZOQkVBZ0JDQUtOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdFaUFTUlNBYkd3c2dHSE1pQVJzMkFnQWdEaUFPS0FJQVFZQVFjallDQUNBSklBa29BZ1JCZ0FSeU5nSUVJQVlnQVVFWmRISkJnQWh5QlNBR0MwR0FnSURBQUhJaEJnc0NRQ0FHUVlEQWdJQUVjUTBBSUFaQmdMd1BjVVVOQUNBRElBVWdCQ2dDYkNBR1FRbDJJaEpCN3dOeGFpMEFBRUVDZEdvaURDZ0NBQ0lLS0FJQUlnRnJJUU1DZnlBQklBSkJFSFpOQkVBZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1FSQUlBb29BZ1FNQWdzZ0NpZ0NCQ0VPSUF3Z0NrRU1RUWdnQVNBRFN5SVlHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRRWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0RrVWdEaUFZR3d3QkN5QUtLQUlFSVE0Z0RDQUtRUWhCRENBQklBTkxJaGdiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBeUFJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0RBRUxJQU5CandGTkJFQWdCQ0FLTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nRGlBT1JTQVlHd3NFZnlBRElBVWdDU2dDQkVFYWRrRUVjU0FKUVFScklnNG9BZ0JCSEhaQkFYRWdCa0VWZGtFUWNTQUdRUmwyUWNBQWNTQVNRYW9CY1hKeWNuSWlFa0hRdVFGcUxRQUFRUUowYWlJTUtBSUFJZ29vQWdBaUFXc2hBeUFTUWRDN0FXb3RBQUFoR0NBUklCTnFJQlFnRFFKL0lBRWdBa0VRZGswRVFDQUNJQUZCRUhScklRSWdBMEdBZ0FKeEJFQWdDaWdDQkF3Q0N5QUtLQUlFSVJJZ0RDQUtRUXhCQ0NBQklBTkxJaHNiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBU0FJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0FVRUlkQ0FDYWlFQ0RBRUxJQUZCandGTkJFQWdCQ0FLTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QVNSU0FTSUJzYkRBRUxJQW9vQWdRaEVpQU1JQXBCQ0VFTUlBRWdBMHNpR3h0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFvZ0NDMEFBU0VESUFndEFBQkIvd0ZIQkVBZ0JDQUtOZ0lRUVFnaENDQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFvMkFoQWdBMEVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSUN5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBU0lCSkZJQnNiQ3lBWWN5SUtHellDQUNBT0lBNG9BZ0JCZ0lBQmNqWUNBQ0FKSUFrb0FnUkJnQ0J5TmdJRUlBUW9BbnhCQW5RZ0NXb2lBU0FCS0FJRVFRUnlOZ0lFSUFFZ0FTZ0NERUVCY2pZQ0RDQUJJQUVvQWdnZ0NrRVNkSEpCQW5JMkFnZ2dCaUFLUVJ4MGNrR0F3QUJ5QlNBR0MwR0FnSUNBQkhJaEJnc2dDU0FHTmdJQUN5QUpRUVJxSVFZZ0VVRUVhaUVSSUF0QkFXb2lDeUFRUncwQUN5QUpRUXhxSVFZZ0VTQVRhaUVSSUFkQkJHb2lCeUFFS0FLQUFTSUJRWHh4U1EwQUN3d0JDMEVFSUFGQmZIRWlCaUFHUVFSTkcwRUJheUlHUVh4eFFRUnFJUWNnQ1NBR1FRRjBRWGh4YWtFVWFpRUdDeUFFSUFnMkFnZ2dCQ0FETmdJRUlBUWdBallDQUNBRUlBdzJBbWdnRUVVTkFTQUJJQWRORFFFRFFDQUJJQWRHSVZKQkFDRUlJQWNoQVNCU1JRUkFBMEFnQkNBR0lCRWdDQ0FRYkVFQ2RHb2dEU0FJSUFRb0FueEJBbXBCQVJCWklBaEJBV29pQ0NBRUtBS0FBU0lCSUFkclNRMEFDd3NnQmtFRWFpRUdJQkZCQkdvaEVTQVhRUUZxSWhjZ0VFY05BQXNNQVFzQ1FDQUJRUVJKRFFBZ0VBUkFRUUFnRFdzaEZDQUVRUnhxSVFVZ0VFRU1iQ0VUSUJCQkEzUWhGUU5BUVFBaEN3TkFJQVlpQ1NnQ0FDSUdCRUFDUUNBR1FaQ0FnQUZ4RFFBZ0JrSHZBM0VpQVVVTkFDQURJQVVnQkNnQ2JDQUJhaTBBQUVFQ2RHb2lEQ2dDQUNJS0tBSUFJZ0ZySVFNQ2Z5QUJJQUpCRUhaTkJFQWdBaUFCUVJCMGF5RUNJQU5CZ0lBQ2NRUkFJQW9vQWdRTUFnc2dDaWdDQkNFT0lBd2dDa0VNUVFnZ0FTQURTeUlTRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ2lBSUxRQUJJUUVnQ0MwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFSUlBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVJREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFnTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dEa1VnRGlBU0d3d0JDeUFLS0FJRUlRNGdEQ0FLUVFoQkRDQUJJQU5MSWhJYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFS0lBZ3RBQUVoQXlBSUxRQUFRZjhCUndSQUlBUWdDallDRUVFSUlRZ2dBMEVJZENBQ2FpRUNEQUVMSUFOQmp3Rk5CRUFnQkNBS05nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaENBc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0RpQU9SU0FTR3dzRWZ5QURJQVVnQ1NnQ0JFRVJka0VFY1NBSlFRUnJJZzRvQWdCQkUzWkJBWEVnQmtFT2RrRVFjU0FHUVJCMlFjQUFjU0FHUWFvQmNYSnljbklpRWtIUXVRRnFMUUFBUVFKMGFpSU1LQUlBSWdvb0FnQWlBV3NoQXlBU1FkQzdBV290QUFBaEdDQVJJQlFnRFFKL0lBRWdBa0VRZGswRVFDQUNJQUZCRUhScklRSWdBMEdBZ0FKeEJFQWdDaWdDQkF3Q0N5QUtLQUlFSVJJZ0RDQUtRUXhCQ0NBQklBTkxJaHNiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBU0FJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0FVRUlkQ0FDYWlFQ0RBRUxJQUZCandGTkJFQWdCQ0FLTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QVNSU0FTSUJzYkRBRUxJQW9vQWdRaEVpQU1JQXBCQ0VFTUlBRWdBMHNpR3h0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFvZ0NDMEFBU0VESUFndEFBQkIvd0ZIQkVBZ0JDQUtOZ0lRUVFnaENDQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFvMkFoQWdBMEVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSUN5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBU0lCSkZJQnNiQ3lBWWN5SUtHellDQUNBT0lBNG9BZ0JCSUhJMkFnQWdDU0FKS0FJRVFRaHlOZ0lFSUFsQmZpQUVLQUo4YTBFQ2RHb2lBU0FCS0FJRVFZQ0FBbkkyQWdRZ0FTQUJLQUlBSUFwQkgzUnlRWUNBQkhJMkFnQWdBVUVFYXlJQklBRW9BZ0JCZ0lBSWNqWUNBQ0FHSUFwQkUzUnlRUkJ5QlNBR0MwR0FnSUFCY2lFR0N3SkFJQVpCZ0lHQUNIRU5BQ0FHUWZnZWNVVU5BQ0FESUFVZ0JDZ0NiQ0FHUVFOMkloSkI3d054YWkwQUFFRUNkR29pRENnQ0FDSUtLQUlBSWdGcklRTUNmeUFCSUFKQkVIWk5CRUFnQWlBQlFSQjBheUVDSUFOQmdJQUNjUVJBSUFvb0FnUU1BZ3NnQ2lnQ0JDRU9JQXdnQ2tFTVFRZ2dBU0FEU3lJWUcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFFZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRGtVZ0RpQVlHd3dCQ3lBS0tBSUVJUTRnRENBS1FRaEJEQ0FCSUFOTEloZ2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEF5QUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDREFFTElBTkJqd0ZOQkVBZ0JDQUtOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdEaUFPUlNBWUd3c0VmeUFESUFVZ0NTZ0NCRUVVZGtFRWNTQUpRUVJySWc0b0FnQkJGblpCQVhFZ0JrRVBka0VRY1NBR1FSTjJRY0FBY1NBU1Fhb0JjWEp5Y25JaUVrSFF1UUZxTFFBQVFRSjBhaUlNS0FJQUlnb29BZ0FpQVdzaEF5QVNRZEM3QVdvdEFBQWhHQ0FSSUJCQkFuUnFJQlFnRFFKL0lBRWdBa0VRZGswRVFDQUNJQUZCRUhScklRSWdBMEdBZ0FKeEJFQWdDaWdDQkF3Q0N5QUtLQUlFSVJJZ0RDQUtRUXhCQ0NBQklBTkxJaHNiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBU0FJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0FVRUlkQ0FDYWlFQ0RBRUxJQUZCandGTkJFQWdCQ0FLTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QVNSU0FTSUJzYkRBRUxJQW9vQWdRaEVpQU1JQXBCQ0VFTUlBRWdBMHNpR3h0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFvZ0NDMEFBU0VESUFndEFBQkIvd0ZIQkVBZ0JDQUtOZ0lRUVFnaENDQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFvMkFoQWdBMEVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSUN5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBU0lCSkZJQnNiQ3lBWWN5SUJHellDQUNBT0lBNG9BZ0JCZ0FKeU5nSUFJQWtnQ1NnQ0JFSEFBSEkyQWdRZ0JpQUJRUlowY2tHQUFYSUZJQVlMUVlDQWdBaHlJUVlMQWtBZ0JrR0FpSURBQUhFTkFDQUdRY0QzQVhGRkRRQWdBeUFGSUFRb0Ftd2dCa0VHZGlJU1FlOERjV290QUFCQkFuUnFJZ3dvQWdBaUNpZ0NBQ0lCYXlFREFuOGdBU0FDUVJCMlRRUkFJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRUVRQ0FLS0FJRURBSUxJQW9vQWdRaERpQU1JQXBCREVFSUlBRWdBMHNpR0J0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFvZ0NDMEFBU0VCSUFndEFBQkIvd0ZIQkVBZ0JDQUtOZ0lRUVFnaENDQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFvMkFoQWdBVUVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSUN5QUlRUUZySVFnZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQTVGSUE0Z0dCc01BUXNnQ2lnQ0JDRU9JQXdnQ2tFSVFRd2dBU0FEU3lJWUcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFNZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQU5CQ0hRZ0Ftb2hBZ3dCQ3lBRFFZOEJUUVJBSUFRZ0NqWUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQVNFRElBNGdEa1VnR0JzTEJIOGdBeUFGSUFrb0FnUkJGM1pCQkhFZ0NVRUVheUlPS0FJQVFSbDJRUUZ4SUFaQkVuWkJFSEVnQmtFV2RrSEFBSEVnRWtHcUFYRnljbkp5SWhKQjBMa0JhaTBBQUVFQ2RHb2lEQ2dDQUNJS0tBSUFJZ0ZySVFNZ0VrSFF1d0ZxTFFBQUlSZ2dFU0FWYWlBVUlBMENmeUFCSUFKQkVIWk5CRUFnQWlBQlFSQjBheUVDSUFOQmdJQUNjUVJBSUFvb0FnUU1BZ3NnQ2lnQ0JDRVNJQXdnQ2tFTVFRZ2dBU0FEU3lJYkcyb29BZ0EyQWdBRFFBSkFJQWdOQUNBRUtBSVFJZ2hCQVdvaENpQUlMUUFCSVFFZ0NDMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUlJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ0xJQWhCQVdzaENDQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnRWtVZ0VpQWJHd3dCQ3lBS0tBSUVJUklnRENBS1FRaEJEQ0FCSUFOTEloc2JhaWdDQURZQ0FBTkFBa0FnQ0EwQUlBUW9BaEFpQ0VFQmFpRUtJQWd0QUFFaEF5QUlMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDREFFTElBTkJqd0ZOQkVBZ0JDQUtOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXNnQ0VFQmF5RUlJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBQklRTWdFaUFTUlNBYkd3c2dHSE1pQVJzMkFnQWdEaUFPS0FJQVFZQVFjallDQUNBSklBa29BZ1JCZ0FSeU5nSUVJQVlnQVVFWmRISkJnQWh5QlNBR0MwR0FnSURBQUhJaEJnc0NRQ0FHUVlEQWdJQUVjUTBBSUFaQmdMd1BjVVVOQUNBRElBVWdCQ2dDYkNBR1FRbDJJaEpCN3dOeGFpMEFBRUVDZEdvaURDZ0NBQ0lLS0FJQUlnRnJJUU1DZnlBQklBSkJFSFpOQkVBZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1FSQUlBb29BZ1FNQWdzZ0NpZ0NCQ0VPSUF3Z0NrRU1RUWdnQVNBRFN5SVlHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDaUFJTFFBQklRRWdDQzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDallDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0RrVWdEaUFZR3d3QkN5QUtLQUlFSVE0Z0RDQUtRUWhCRENBQklBTkxJaGdiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBeUFJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0EwRUlkQ0FDYWlFQ0RBRUxJQU5CandGTkJFQWdCQ0FLTmdJUUlBTkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUJJUU1nRGlBT1JTQVlHd3NFZnlBRElBVWdDU2dDQkVFYWRrRUVjU0FKUVFScklnNG9BZ0JCSEhaQkFYRWdCa0VWZGtFUWNTQUdRUmwyUWNBQWNTQVNRYW9CY1hKeWNuSWlFa0hRdVFGcUxRQUFRUUowYWlJTUtBSUFJZ29vQWdBaUFXc2hBeUFTUWRDN0FXb3RBQUFoR0NBUklCTnFJQlFnRFFKL0lBRWdBa0VRZGswRVFDQUNJQUZCRUhScklRSWdBMEdBZ0FKeEJFQWdDaWdDQkF3Q0N5QUtLQUlFSVJJZ0RDQUtRUXhCQ0NBQklBTkxJaHNiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVLSUFndEFBRWhBU0FJTFFBQVFmOEJSd1JBSUFRZ0NqWUNFRUVJSVFnZ0FVRUlkQ0FDYWlFQ0RBRUxJQUZCandGTkJFQWdCQ0FLTmdJUUlBRkJDWFFnQW1vaEFrRUhJUWdNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0FzZ0NFRUJheUVJSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QVNSU0FTSUJzYkRBRUxJQW9vQWdRaEVpQU1JQXBCQ0VFTUlBRWdBMHNpR3h0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFvZ0NDMEFBU0VESUFndEFBQkIvd0ZIQkVBZ0JDQUtOZ0lRUVFnaENDQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFvMkFoQWdBMEVKZENBQ2FpRUNRUWNoQ0F3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFSUN5QUlRUUZySVFnZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQUVoQXlBU0lCSkZJQnNiQ3lBWWN5SUtHellDQUNBT0lBNG9BZ0JCZ0lBQmNqWUNBQ0FKSUFrb0FnUkJnQ0J5TmdJRUlBUW9BbnhCQW5RZ0NXb2lBU0FCS0FJRVFRUnlOZ0lFSUFFZ0FTZ0NERUVCY2pZQ0RDQUJJQUVvQWdnZ0NrRVNkSEpCQW5JMkFnZ2dCaUFLUVJ4MGNrR0F3QUJ5QlNBR0MwR0FnSUNBQkhJaEJnc2dDU0FHTmdJQUN5QUpRUVJxSVFZZ0VVRUVhaUVSSUF0QkFXb2lDeUFRUncwQUN5QUpRUXhxSVFZZ0VTQVRhaUVSSUFkQkJHb2lCeUFFS0FLQUFTSUJRWHh4U1EwQUN3d0JDMEVFSUFGQmZIRWlCaUFHUVFSTkcwRUJheUlHUVh4eFFRUnFJUWNnQ1NBR1FRRjBRWGh4YWtFVWFpRUdDeUFFSUFnMkFnZ2dCQ0FETmdJRUlBUWdBallDQUNBRUlBdzJBbWdnRUVVTkFDQUJJQWRORFFBRFFDQUJJQWRHSVZOQkFDRUlJQWNoQVNCVFJRUkFBMEFnQkNBR0lCRWdDQ0FRYkVFQ2RHb2dEU0FJSUFRb0FueEJBbXBCQUJCWklBaEJBV29pQ0NBRUtBS0FBU0lCSUFkclNRMEFDd3NnQmtFRWFpRUdJQkZCQkdvaEVTQVhRUUZxSWhjZ0VFY05BQXNMREFJTEEwQkJBQ0VYQTBBZ0FTRUpJQVlpQnlnQ0FDSUdCRUFDUUNBR1FaQ0FnQUZ4RFFBZ0JrSHZBM0VpQVVVTkFDQURJQkFnQkNnQ2JDQUJhaTBBQUVFQ2RHb2lEQ2dDQUNJTEtBSUFJZ0ZySVFNQ2Z5QUJJQUpCRUhaTEJFQWdDeWdDQkNFS0lBd2dDMEVJUVF3Z0FTQURTeUlVRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ3lBSUxRQUJJUU1nQ0MwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdNQWdzZ0JDQUxOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBTE5nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dBU0VESUFvZ0NrVWdGQnNNQVFzZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1VVRVFDQUxLQUlFSVFvZ0RDQUxRUXhCQ0NBQklBTkxJaFFiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVMSUFndEFBRWhBU0FJTFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXdDQ3lBRUlBczJBaEFnQVVFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFzMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWdzZ0NFRUJheUVJSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QUtSU0FLSUJRYkRBRUxJQXNvQWdRTEJIOGdBeUFRSUFjb0FnUkJFWFpCQkhFZ0IwRUVheUlLS0FJQVFSTjJRUUZ4SUFaQkRuWkJFSEVnQmtFUWRrSEFBSEVnQmtHcUFYRnljbkp5SWhSQjBMa0JhaTBBQUVFQ2RHb2lEQ2dDQUNJTEtBSUFJZ0ZySVFNZ0ZFSFF1d0ZxTFFBQUlSTWdDU0FGSUJFQ2Z5QUJJQUpCRUhaTEJFQWdDeWdDQkNFVUlBd2dDMEVJUVF3Z0FTQURTeUlPRzJvb0FnQTJBZ0FEUUFKQUlBZ05BQ0FFS0FJUUlnaEJBV29oQ3lBSUxRQUJJUU1nQ0MwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUWdNQWdzZ0JDQUxOZ0lRSUFOQkNYUWdBbW9oQWtFSElRZ01BUXNnQkNBTE5nSVFRUWdoQ0NBRFFRaDBJQUpxSVFJTElBaEJBV3NoQ0NBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dBU0VESUJRZ0ZFVWdEaHNNQVFzZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1VVRVFDQUxLQUlFSVJRZ0RDQUxRUXhCQ0NBQklBTkxJZzRiYWlnQ0FEWUNBQU5BQWtBZ0NBMEFJQVFvQWhBaUNFRUJhaUVMSUFndEFBRWhBU0FJTFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hDQXdDQ3lBRUlBczJBaEFnQVVFSmRDQUNhaUVDUVFjaENBd0JDeUFFSUFzMkFoQkJDQ0VJSUFGQkNIUWdBbW9oQWdzZ0NFRUJheUVJSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QVVSU0FVSUE0YkRBRUxJQXNvQWdRTElCTnpJZ0ViTmdJQUlBb2dDaWdDQUVFZ2NqWUNBQ0FISUFjb0FnUkJDSEkyQWdRZ0JpQUJRUk4wY2tFUWNnVWdCZ3RCZ0lDQUFYSWhCZ3NDUUNBR1FZQ0JnQWh4RFFBZ0JrSDRIbkZGRFFBZ0F5QVFJQVFvQW13Z0JrRURkaUlVUWU4RGNXb3RBQUJCQW5ScUlnd29BZ0FpQ3lnQ0FDSUJheUVEQW44Z0FTQUNRUkIyU3dSQUlBc29BZ1FoQ2lBTUlBdEJDRUVNSUFFZ0Ewc2lFeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRURJQWd0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFLSUFwRklCTWJEQUVMSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VLSUF3Z0MwRU1RUWdnQVNBRFN5SVRHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRRWdDQzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0NrVWdDaUFUR3d3QkN5QUxLQUlFQ3dSL0lBTWdFQ0FIS0FJRVFSUjJRUVJ4SUFkQkJHc2lDaWdDQUVFV2RrRUJjU0FHUVE5MlFSQnhJQVpCRTNaQndBQnhJQlJCcWdGeGNuSnljaUlVUWRDNUFXb3RBQUJCQW5ScUlnd29BZ0FpQ3lnQ0FDSUJheUVESUJSQjBMc0JhaTBBQUNFVElBa2dCU0FSQW44Z0FTQUNRUkIyU3dSQUlBc29BZ1FoRkNBTUlBdEJDRUVNSUFFZ0Ewc2lEaHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRURJQWd0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFVSUJSRklBNGJEQUVMSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VVSUF3Z0MwRU1RUWdnQVNBRFN5SU9HMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRRWdDQzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0ZFVWdGQ0FPR3d3QkN5QUxLQUlFQ3lBVGN5SUJHellDZ0FJZ0NpQUtLQUlBUVlBQ2NqWUNBQ0FISUFjb0FnUkJ3QUJ5TmdJRUlBWWdBVUVXZEhKQmdBRnlCU0FHQzBHQWdJQUljaUVHQ3dKQUlBWkJnSWlBd0FCeERRQWdCa0hBOXdGeFJRMEFJQU1nRUNBRUtBSnNJQVpCQm5ZaUZFSHZBM0ZxTFFBQVFRSjBhaUlNS0FJQUlnc29BZ0FpQVdzaEF3Si9JQUVnQWtFUWRrc0VRQ0FMS0FJRUlRb2dEQ0FMUVFoQkRDQUJJQU5MSWhNYmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFTElBZ3RBQUVoQXlBSUxRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0F3Q0N5QUVJQXMyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBczJBaEJCQ0NFSUlBTkJDSFFnQW1vaEFnc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0NpQUtSU0FUR3d3QkN5QUNJQUZCRUhScklRSWdBMEdBZ0FKeFJRUkFJQXNvQWdRaENpQU1JQXRCREVFSUlBRWdBMHNpRXh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VCSUFndEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0FVRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQXBGSUFvZ0V4c01BUXNnQ3lnQ0JBc0VmeUFESUJBZ0J5Z0NCRUVYZGtFRWNTQUhRUVJySWdvb0FnQkJHWFpCQVhFZ0JrRVNka0VRY1NBR1FSWjJRY0FBY1NBVVFhb0JjWEp5Y25JaUZFSFF1UUZxTFFBQVFRSjBhaUlNS0FJQUlnc29BZ0FpQVdzaEF5QVVRZEM3QVdvdEFBQWhFeUFKSUFVZ0VRSi9JQUVnQWtFUWRrc0VRQ0FMS0FJRUlSUWdEQ0FMUVFoQkRDQUJJQU5MSWc0YmFpZ0NBRFlDQUFOQUFrQWdDQTBBSUFRb0FoQWlDRUVCYWlFTElBZ3RBQUVoQXlBSUxRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQ0F3Q0N5QUVJQXMyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hDQXdCQ3lBRUlBczJBaEJCQ0NFSUlBTkJDSFFnQW1vaEFnc2dDRUVCYXlFSUlBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFCSVFNZ0ZDQVVSU0FPR3d3QkN5QUNJQUZCRUhScklRSWdBMEdBZ0FKeFJRUkFJQXNvQWdRaEZDQU1JQXRCREVFSUlBRWdBMHNpRGh0cUtBSUFOZ0lBQTBBQ1FDQUlEUUFnQkNnQ0VDSUlRUUZxSVFzZ0NDMEFBU0VCSUFndEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VJREFJTElBUWdDellDRUNBQlFRbDBJQUpxSVFKQkJ5RUlEQUVMSUFRZ0N6WUNFRUVJSVFnZ0FVRUlkQ0FDYWlFQ0N5QUlRUUZySVFnZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQlJGSUJRZ0Roc01BUXNnQ3lnQ0JBc2dFM01pQVJzMkFvQUVJQW9nQ2lnQ0FFR0FFSEkyQWdBZ0J5QUhLQUlFUVlBRWNqWUNCQ0FHSUFGQkdYUnlRWUFJY2dVZ0JndEJnSUNBd0FCeUlRWUxBa0FnQmtHQXdJQ0FCSEVOQUNBR1FZQzhEM0ZGRFFBZ0F5QVFJQVFvQW13Z0JrRUpkaUlVUWU4RGNXb3RBQUJCQW5ScUlnd29BZ0FpQ3lnQ0FDSUJheUVEQW44Z0FTQUNRUkIyU3dSQUlBc29BZ1FoQ2lBTUlBdEJDRUVNSUFFZ0Ewc2lFeHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRURJQWd0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFLSUFwRklCTWJEQUVMSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VLSUF3Z0MwRU1RUWdnQVNBRFN5SVRHMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRRWdDQzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0NrVWdDaUFUR3d3QkN5QUxLQUlFQ3dSL0lBTWdFQ0FIS0FJRVFScDJRUVJ4SUFkQkJHc2lDaWdDQUVFY2RrRUJjU0FHUVJWMlFSQnhJQVpCR1haQndBQnhJQlJCcWdGeGNuSnljaUlVUWRDNUFXb3RBQUJCQW5ScUlnd29BZ0FpQ3lnQ0FDSUJheUVESUJSQjBMc0JhaTBBQUNFVElBa2dCU0FSQW44Z0FTQUNRUkIyU3dSQUlBc29BZ1FoRkNBTUlBdEJDRUVNSUFFZ0Ewc2lEaHRxS0FJQU5nSUFBMEFDUUNBSURRQWdCQ2dDRUNJSVFRRnFJUXNnQ0MwQUFTRURJQWd0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUlEQUlMSUFRZ0N6WUNFQ0FEUVFsMElBSnFJUUpCQnlFSURBRUxJQVFnQ3pZQ0VFRUlJUWdnQTBFSWRDQUNhaUVDQ3lBSVFRRnJJUWdnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBRWhBeUFVSUJSRklBNGJEQUVMSUFJZ0FVRVFkR3NoQWlBRFFZQ0FBbkZGQkVBZ0N5Z0NCQ0VVSUF3Z0MwRU1RUWdnQVNBRFN5SU9HMm9vQWdBMkFnQURRQUpBSUFnTkFDQUVLQUlRSWdoQkFXb2hDeUFJTFFBQklRRWdDQzBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRZ01BZ3NnQkNBTE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFnTUFRc2dCQ0FMTmdJUVFRZ2hDQ0FCUVFoMElBSnFJUUlMSUFoQkFXc2hDQ0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0ZFVWdGQ0FPR3d3QkN5QUxLQUlFQ3lBVGN5SUJHellDZ0FZZ0NpQUtLQUlBUVlDQUFYSTJBZ0FnQnlBSEtBSUVRWUFnY2pZQ0JDQUhJQWNvQW9RQ1FRUnlOZ0tFQWlBSElBY29Bb3dDUVFGeU5nS01BaUFISUFjb0FvZ0NJQUZCRW5SeVFRSnlOZ0tJQWlBR0lBRkJISFJ5UVlEQUFISUZJQVlMUVlDQWdJQUVjaUVHQ3lBSElBWTJBZ0FMSUFkQkJHb2hCaUFKUVFScUlRRWdGMEVCYWlJWFFjQUFSdzBBQ3lBSFFReHFJUVlnQ1VHRUJtb2hBU0FOUVR4SklWUWdEVUVFYWlFTklGUU5BQXNMSUFRZ0NEWUNDQ0FFSUFNMkFnUWdCQ0FDTmdJQUlBUWdERFlDYUFzTUFnc2dJZ1JBUVFFZ0dYUkJBWFloQ1NBRUtBSjhJaEZCQW5RaURDQUVLQUo0YWtFTWFpRUJJQVFvQW5RaEJrRUFJUTBnQkNnQ2dBRWlBMEVFVHdSQUlCRkZEUVFnRVVFRGJDRUZJQkZCQVhRaEMwRUFJQWxySVFJRFFDQUxRUUowSVFwQkFDRURBMEFDUUNBQklnY29BZ0FpQVVVTkFDQUJRWkNBZ0FGeFFSQkdCRUFnQkNnQ0FDRUJBa0FnQkNnQ0NDSVFEUUFnQVVIL0FVWWhFQ0FFS0FJUUlnZ3RBQUFoQVFKQUlCQkZCRUFnQkNBQk5nSUFJQVFnQ0VFQmFqWUNFQXdCQ3lBQlFZOEJUUVJBSUFRZ0FUWUNBQ0FFSUFoQkFXbzJBaEJCQnlFUURBSUxRZjhCSVFFZ0JFSC9BVFlDQUF0QkNDRVFDeUFFSUJCQkFXc2lDRFlDQ0NBR0lBSWdDU0FCSUFoMlFRRnhJQVlvQWdBaUFVRWZka1liSUFGcU5nSUFJQWNnQnlnQ0FFR0FnTUFBY2lJQk5nSUFDeUFCUVlDQmdBaHhRWUFCUmdSQUlBUW9BZ0FoQVFKQUlBUW9BZ2dpRUEwQUlBRkIvd0ZHSVJBZ0JDZ0NFQ0lJTFFBQUlRRUNRQ0FRUlFSQUlBUWdBVFlDQUNBRUlBaEJBV28yQWhBTUFRc2dBVUdQQVUwRVFDQUVJQUUyQWdBZ0JDQUlRUUZxTmdJUVFRY2hFQXdDQzBIL0FTRUJJQVJCL3dFMkFnQUxRUWdoRUFzZ0JDQVFRUUZySWdnMkFnZ2dCaUFNYWlJUUlBSWdDU0FCSUFoMlFRRnhJQkFvQWdBaUFVRWZka1liSUFGcU5nSUFJQWNnQnlnQ0FFR0FnSUFFY2lJQk5nSUFDeUFCUVlDSWdNQUFjVUdBQ0VZRVFDQUVLQUlBSVFFQ1FDQUVLQUlJSWhBTkFDQUJRZjhCUmlFUUlBUW9BaEFpQ0MwQUFDRUJBa0FnRUVVRVFDQUVJQUUyQWdBZ0JDQUlRUUZxTmdJUURBRUxJQUZCandGTkJFQWdCQ0FCTmdJQUlBUWdDRUVCYWpZQ0VFRUhJUkFNQWd0Qi93RWhBU0FFUWY4Qk5nSUFDMEVJSVJBTElBUWdFRUVCYXlJSU5nSUlJQVlnQ21vaUVDQUNJQWtnQVNBSWRrRUJjU0FRS0FJQUlnRkJIM1pHR3lBQmFqWUNBQ0FISUFjb0FnQkJnSUNBSUhJaUFUWUNBQXNnQVVHQXdJQ0FCSEZCZ01BQVJ3MEFJQVlnQlVFQ2RHb2hFQ0FFS0FJQUlRRUNRQ0FFS0FJSUlnZ05BQ0FCUWY4QlJpRVVJQVFvQWhBaUNDMEFBQ0VCQWtBZ0ZFVUVRQ0FFSUFFMkFnQWdCQ0FJUVFGcU5nSVFEQUVMSUFGQmp3Rk5CRUFnQkNBQk5nSUFJQVFnQ0VFQmFqWUNFRUVISVFnTUFndEIvd0VoQVNBRVFmOEJOZ0lBQzBFSUlRZ0xJQVFnQ0VFQmF5SUlOZ0lJSUJBZ0FpQUpJQUVnQ0haQkFYRWdFQ2dDQUNJQlFSOTJSaHNnQVdvMkFnQWdCeUFIS0FJQVFZQ0FnSUFDY2pZQ0FBc2dCa0VFYWlFR0lBZEJCR29oQVNBRFFRRnFJZ01nRVVjTkFBc2dCMEVNYWlFQklBWWdCVUVDZEdvaEJpQU5RUVJxSWcwZ0JDZ0NnQUVpQTBGOGNVa05BQXNMSUFNZ0RVME5BaUFSUlEwQ1FRQWhFMEVBSUFscklRVWdBeUVIQTBBQ1FDQUhJQTFHQkVBZ0RTRUhEQUVMSUFFb0FnQWhFRUVBSVFJRFFFR1FnSUFCSUFKQkEyd2lCM1FnRUhGQkVDQUhkRVlFUUNBR0lBSWdFV3hCQW5ScUlSQWdCQ2dDQUNFREFrQWdCQ2dDQ0NJSURRQWdBMEgvQVVjaERDQUVLQUlRSWdndEFBQWhBd0pBSUF4RkJFQWdBMEdRQVU4RVFFSC9BU0VESUFSQi93RTJBZ0FNQWdzZ0JDQUROZ0lBSUFRZ0NFRUJhallDRUVFSElRZ01BZ3NnQkNBRE5nSUFJQVFnQ0VFQmFqWUNFQXRCQ0NFSUN5QUVJQWhCQVdzaUNEWUNDQ0FRSUFVZ0NTQURJQWgyUVFGeElCQW9BZ0FpQTBFZmRrWWJJQU5xTmdJQUlBRWdBU2dDQUVHQWdNQUFJQWQwY2lJUU5nSUFJQVFvQW9BQklRTUxJQU1oQnlBQ1FRRnFJZ0lnQXlBTmEwa05BQXNMSUFaQkJHb2hCaUFCUVFScUlRRWdFMEVCYWlJVElCRkhEUUFMREFJTElBUW9BbmdoQ0NBRUtBSjBJUWNnQkNnQ2dBRWhBd0pBSUFRb0Fud2lERUhBQUVjTkFDQURRY0FBUncwQUlBaEJqQUpxSVFOQkFDRVRRUUJCQVNBWmRFRUJkaUlGYXlFTUlBUW9BZ2doQWlBRUtBSUVJUVlnQkNnQ0FDRUJJQVFvQW1naERRTkFRUUFoQ0FOQUlBY2hDU0FESWhBb0FnQWlCd1JBSUFNaFZTQUhRWkNBZ0FGeFFSQkdCRUFnQmlBUFFSQkJEMEVPSUFkQjd3TnhHeUFIUVlDQXdBQnhHMEVDZEdvaURTZ0NBQ0lSS0FJQUlnTnJJUVlDZnlBRElBRkJFSFpMQkVBZ0VTZ0NCQ0VMSUEwZ0VVRUlRUXdnQXlBR1N5SUtHMm9vQWdBMkFnQURRQUpBSUFJTkFDQUVLQUlRSWdKQkFXb2hFU0FDTFFBQklRWWdBaTBBQUVIL0FVWUVRQ0FHUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQlFZRCtBMm9oQVVFSUlRSU1BZ3NnQkNBUk5nSVFJQVpCQ1hRZ0FXb2hBVUVISVFJTUFRc2dCQ0FSTmdJUVFRZ2hBaUFHUVFoMElBRnFJUUVMSUFKQkFXc2hBaUFCUVFGMElRRWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUdJQXNnQzBVZ0Noc01BUXNnQVNBRFFSQjBheUVCSUFaQmdJQUNjVVVFUUNBUktBSUVJUXNnRFNBUlFReEJDQ0FESUFaTElnb2JhaWdDQURZQ0FBTkFBa0FnQWcwQUlBUW9BaEFpQWtFQmFpRVJJQUl0QUFFaEF5QUNMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFGQmdQNERhaUVCUVFnaEFnd0NDeUFFSUJFMkFoQWdBMEVKZENBQmFpRUJRUWNoQWd3QkN5QUVJQkUyQWhCQkNDRUNJQU5CQ0hRZ0FXb2hBUXNnQWtFQmF5RUNJQUZCQVhRaEFTQUdRUUYwSWdaQmdJQUNTUTBBQ3lBTFJTQUxJQW9iREFFTElCRW9BZ1FMSVFNZ0NTQU1JQVVnQXlBSktBSUFJaEZCSDNaR0d5QVJhallDQUNBSFFZQ0F3QUJ5SVFjTElBZEJnSUdBQ0hGQmdBRkdCRUFnQmlBUFFSQkJEMEVPSUFkQitCNXhHeUFIUVlDQWdBUnhHMEVDZEdvaURTZ0NBQ0lSS0FJQUlnTnJJUVlDZnlBRElBRkJFSFpMQkVBZ0VTZ0NCQ0VMSUEwZ0VVRUlRUXdnQXlBR1N5SUtHMm9vQWdBMkFnQURRQUpBSUFJTkFDQUVLQUlRSWdKQkFXb2hFU0FDTFFBQklRWWdBaTBBQUVIL0FVWUVRQ0FHUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQlFZRCtBMm9oQVVFSUlRSU1BZ3NnQkNBUk5nSVFJQVpCQ1hRZ0FXb2hBVUVISVFJTUFRc2dCQ0FSTmdJUVFRZ2hBaUFHUVFoMElBRnFJUUVMSUFKQkFXc2hBaUFCUVFGMElRRWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUdJQXNnQzBVZ0Noc01BUXNnQVNBRFFSQjBheUVCSUFaQmdJQUNjVVVFUUNBUktBSUVJUXNnRFNBUlFReEJDQ0FESUFaTElnb2JhaWdDQURZQ0FBTkFBa0FnQWcwQUlBUW9BaEFpQWtFQmFpRVJJQUl0QUFFaEF5QUNMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFGQmdQNERhaUVCUVFnaEFnd0NDeUFFSUJFMkFoQWdBMEVKZENBQmFpRUJRUWNoQWd3QkN5QUVJQkUyQWhCQkNDRUNJQU5CQ0hRZ0FXb2hBUXNnQWtFQmF5RUNJQUZCQVhRaEFTQUdRUUYwSWdaQmdJQUNTUTBBQ3lBTFJTQUxJQW9iREFFTElCRW9BZ1FMSVFNZ0NTQU1JQVVnQXlBSktBS0FBaUlSUVI5MlJoc2dFV28yQW9BQ0lBZEJnSUNBQkhJaEJ3c2dCMEdBaUlEQUFIRkJnQWhHQkVBZ0JpQVBRUkJCRDBFT0lBZEJ3UGNCY1JzZ0IwR0FnSUFnY1J0QkFuUnFJZzBvQWdBaUVTZ0NBQ0lEYXlFR0FuOGdBeUFCUVJCMlN3UkFJQkVvQWdRaEN5QU5JQkZCQ0VFTUlBTWdCa3NpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUNEUUFnQkNnQ0VDSUNRUUZxSVJFZ0FpMEFBU0VHSUFJdEFBQkIvd0ZHQkVBZ0JrR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBVUdBL2dOcUlRRkJDQ0VDREFJTElBUWdFVFlDRUNBR1FRbDBJQUZxSVFGQkJ5RUNEQUVMSUFRZ0VUWUNFRUVJSVFJZ0JrRUlkQ0FCYWlFQkN5QUNRUUZySVFJZ0FVRUJkQ0VCSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQmlBTElBdEZJQW9iREFFTElBRWdBMEVRZEdzaEFTQUdRWUNBQW5GRkJFQWdFU2dDQkNFTElBMGdFVUVNUVFnZ0F5QUdTeUlLRzJvb0FnQTJBZ0FEUUFKQUlBSU5BQ0FFS0FJUUlnSkJBV29oRVNBQ0xRQUJJUU1nQWkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUJRWUQrQTJvaEFVRUlJUUlNQWdzZ0JDQVJOZ0lRSUFOQkNYUWdBV29oQVVFSElRSU1BUXNnQkNBUk5nSVFRUWdoQWlBRFFRaDBJQUZxSVFFTElBSkJBV3NoQWlBQlFRRjBJUUVnQmtFQmRDSUdRWUNBQWtrTkFBc2dDMFVnQ3lBS0d3d0JDeUFSS0FJRUN5RURJQWtnRENBRklBTWdDU2dDZ0FRaUVVRWZka1liSUJGcU5nS0FCQ0FIUVlDQWdDQnlJUWNMSUZVZ0IwR0F3SUNBQkhGQmdNQUFSZ1IvSUFZZ0QwRVFRUTlCRGlBSFFZQzhEM0ViSUFkQmdJQ0FnQUp4RzBFQ2RHb2lEU2dDQUNJUktBSUFJZ05ySVFZQ2Z5QURJQUZCRUhaTEJFQWdFU2dDQkNFTElBMGdFVUVJUVF3Z0F5QUdTeUlLRzJvb0FnQTJBZ0FEUUFKQUlBSU5BQ0FFS0FJUUlnSkJBV29oRVNBQ0xRQUJJUVlnQWkwQUFFSC9BVVlFUUNBR1FaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUJRWUQrQTJvaEFVRUlJUUlNQWdzZ0JDQVJOZ0lRSUFaQkNYUWdBV29oQVVFSElRSU1BUXNnQkNBUk5nSVFRUWdoQWlBR1FRaDBJQUZxSVFFTElBSkJBV3NoQWlBQlFRRjBJUUVnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVHSUFzZ0MwVWdDaHNNQVFzZ0FTQURRUkIwYXlFQklBWkJnSUFDY1VVRVFDQVJLQUlFSVFzZ0RTQVJRUXhCQ0NBRElBWkxJZ29iYWlnQ0FEWUNBQU5BQWtBZ0FnMEFJQVFvQWhBaUFrRUJhaUVSSUFJdEFBRWhBeUFDTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBRkJnUDREYWlFQlFRZ2hBZ3dDQ3lBRUlCRTJBaEFnQTBFSmRDQUJhaUVCUVFjaEFnd0JDeUFFSUJFMkFoQkJDQ0VDSUFOQkNIUWdBV29oQVFzZ0FrRUJheUVDSUFGQkFYUWhBU0FHUVFGMElnWkJnSUFDU1EwQUN5QUxSU0FMSUFvYkRBRUxJQkVvQWdRTElRTWdDU0FNSUFVZ0F5QUpLQUtBQmlJUlFSOTJSaHNnRVdvMkFvQUdJQWRCZ0lDQWdBSnlCU0FIQ3pZQ0FBc2dFRUVFYWlFRElBbEJCR29oQnlBSVFRRnFJZ2hCd0FCSERRQUxJQkJCREdvaEF5QUpRWVFHYWlFSElCTkJQRWtoVmlBVFFRUnFJUk1nVmcwQUN5QUVJQUkyQWdnZ0JDQUdOZ0lFSUFRZ0FUWUNBQ0FFSUEwMkFtZ01BZ3RCQVNBWmRFRUJkaUVMSUFnZ0RFRUNkQ0lPYWtFTWFpRUpJQVFvQWdnaEFpQUVLQUlFSVFZZ0JDZ0NBQ0VCSUFRb0FtZ2hEVUVBSVJFQ1FDQURRUVJKRFFBZ0RBUkFJQXhCQTJ3aEZDQU1RUUYwSVJkQkFDQUxheUVLQTBBZ0YwRUNkQ0VTUVFBaENBTkFJQWtpQlNnQ0FDSVFCRUFnRUVHUWdJQUJjVUVRUmdSQUlBWWdEMEVRUVE5QkRpQVFRZThEY1JzZ0VFR0FnTUFBY1J0QkFuUnFJZzBvQWdBaUNTZ0NBQ0lEYXlFR0FuOGdBeUFCUVJCMlRRUkFJQUVnQTBFUWRHc2hBU0FHUVlDQUFuRUVRQ0FKS0FJRURBSUxJQWtvQWdRaEV5QU5JQWxCREVFSUlBTWdCa3NpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUNEUUFnQkNnQ0VDSUpRUUZxSVFJZ0NTMEFBU0VESUFrdEFBQkIvd0ZIQkVBZ0JDQUNOZ0lRUVFnaEFpQURRUWgwSUFGcUlRRU1BUXNnQTBHUEFVMEVRQ0FFSUFJMkFoQWdBMEVKZENBQmFpRUJRUWNoQWd3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQVVHQS9nTnFJUUZCQ0NFQ0N5QUNRUUZySVFJZ0FVRUJkQ0VCSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQk5GSUJNZ0ZSc01BUXNnQ1NnQ0JDRVRJQTBnQ1VFSVFRd2dBeUFHU3lJVkcyb29BZ0EyQWdBRFFBSkFJQUlOQUNBRUtBSVFJZ2xCQVdvaEFpQUpMUUFCSVFZZ0NTMEFBRUgvQVVjRVFDQUVJQUkyQWhCQkNDRUNJQVpCQ0hRZ0FXb2hBUXdCQ3lBR1FZOEJUUVJBSUFRZ0FqWUNFQ0FHUVFsMElBRnFJUUZCQnlFQ0RBRUxJQVFnQkNnQ0RFRUJhallDRENBQlFZRCtBMm9oQVVFSUlRSUxJQUpCQVdzaEFpQUJRUUYwSVFFZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFR0lCTWdFMFVnRlJzTElRTWdCeUFLSUFzZ0F5QUhLQUlBSWdsQkgzWkdHeUFKYWpZQ0FDQVFRWUNBd0FCeUlSQUxJQkJCZ0lHQUNIRkJnQUZHQkVBZ0JpQVBRUkJCRDBFT0lCQkIrQjV4R3lBUVFZQ0FnQVJ4RzBFQ2RHb2lEU2dDQUNJSktBSUFJZ05ySVFZQ2Z5QURJQUZCRUhaTkJFQWdBU0FEUVJCMGF5RUJJQVpCZ0lBQ2NRUkFJQWtvQWdRTUFnc2dDU2dDQkNFVElBMGdDVUVNUVFnZ0F5QUdTeUlWRzJvb0FnQTJBZ0FEUUFKQUlBSU5BQ0FFS0FJUUlnbEJBV29oQWlBSkxRQUJJUU1nQ1MwQUFFSC9BVWNFUUNBRUlBSTJBaEJCQ0NFQ0lBTkJDSFFnQVdvaEFRd0JDeUFEUVk4QlRRUkFJQVFnQWpZQ0VDQURRUWwwSUFGcUlRRkJCeUVDREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FCUVlEK0Eyb2hBVUVJSVFJTElBSkJBV3NoQWlBQlFRRjBJUUVnQmtFQmRDSUdRWUNBQWtrTkFBc2dFMFVnRXlBVkd3d0JDeUFKS0FJRUlSTWdEU0FKUVFoQkRDQURJQVpMSWhVYmFpZ0NBRFlDQUFOQUFrQWdBZzBBSUFRb0FoQWlDVUVCYWlFQ0lBa3RBQUVoQmlBSkxRQUFRZjhCUndSQUlBUWdBallDRUVFSUlRSWdCa0VJZENBQmFpRUJEQUVMSUFaQmp3Rk5CRUFnQkNBQ05nSVFJQVpCQ1hRZ0FXb2hBVUVISVFJTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFGQmdQNERhaUVCUVFnaEFnc2dBa0VCYXlFQ0lBRkJBWFFoQVNBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFESVFZZ0V5QVRSU0FWR3dzaEF5QUhJQTVxSWdrZ0NpQUxJQU1nQ1NnQ0FDSUpRUjkyUmhzZ0NXbzJBZ0FnRUVHQWdJQUVjaUVRQ3lBUVFZQ0lnTUFBY1VHQUNFWUVRQ0FHSUE5QkVFRVBRUTRnRUVIQTl3RnhHeUFRUVlDQWdDQnhHMEVDZEdvaURTZ0NBQ0lKS0FJQUlnTnJJUVlDZnlBRElBRkJFSFpOQkVBZ0FTQURRUkIwYXlFQklBWkJnSUFDY1FSQUlBa29BZ1FNQWdzZ0NTZ0NCQ0VUSUEwZ0NVRU1RUWdnQXlBR1N5SVZHMm9vQWdBMkFnQURRQUpBSUFJTkFDQUVLQUlRSWdsQkFXb2hBaUFKTFFBQklRTWdDUzBBQUVIL0FVY0VRQ0FFSUFJMkFoQkJDQ0VDSUFOQkNIUWdBV29oQVF3QkN5QURRWThCVFFSQUlBUWdBallDRUNBRFFRbDBJQUZxSVFGQkJ5RUNEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUJRWUQrQTJvaEFVRUlJUUlMSUFKQkFXc2hBaUFCUVFGMElRRWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0UwVWdFeUFWR3d3QkN5QUpLQUlFSVJNZ0RTQUpRUWhCRENBRElBWkxJaFViYWlnQ0FEWUNBQU5BQWtBZ0FnMEFJQVFvQWhBaUNVRUJhaUVDSUFrdEFBRWhCaUFKTFFBQVFmOEJSd1JBSUFRZ0FqWUNFRUVJSVFJZ0JrRUlkQ0FCYWlFQkRBRUxJQVpCandGTkJFQWdCQ0FDTmdJUUlBWkJDWFFnQVdvaEFVRUhJUUlNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUZCZ1A0RGFpRUJRUWdoQWdzZ0FrRUJheUVDSUFGQkFYUWhBU0FEUVFGMElnTkJnSUFDU1EwQUN5QURJUVlnRXlBVFJTQVZHd3NoQXlBSElCSnFJZ2tnQ2lBTElBTWdDU2dDQUNJSlFSOTJSaHNnQ1dvMkFnQWdFRUdBZ0lBZ2NpRVFDeUFGSUJCQmdNQ0FnQVJ4UVlEQUFFWUVmeUFHSUE5QkVFRVBRUTRnRUVHQXZBOXhHeUFRUVlDQWdJQUNjUnRCQW5ScUlnMG9BZ0FpQ1NnQ0FDSURheUVHQW44Z0F5QUJRUkIyVFFSQUlBRWdBMEVRZEdzaEFTQUdRWUNBQW5FRVFDQUpLQUlFREFJTElBa29BZ1FoRXlBTklBbEJERUVJSUFNZ0Jrc2lGUnRxS0FJQU5nSUFBMEFDUUNBQ0RRQWdCQ2dDRUNJSlFRRnFJUUlnQ1MwQUFTRURJQWt0QUFCQi93RkhCRUFnQkNBQ05nSVFRUWdoQWlBRFFRaDBJQUZxSVFFTUFRc2dBMEdQQVUwRVFDQUVJQUkyQWhBZ0EwRUpkQ0FCYWlFQlFRY2hBZ3dCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBVUdBL2dOcUlRRkJDQ0VDQ3lBQ1FRRnJJUUlnQVVFQmRDRUJJQVpCQVhRaUJrR0FnQUpKRFFBTElCTkZJQk1nRlJzTUFRc2dDU2dDQkNFVElBMGdDVUVJUVF3Z0F5QUdTeUlWRzJvb0FnQTJBZ0FEUUFKQUlBSU5BQ0FFS0FJUUlnbEJBV29oQWlBSkxRQUJJUVlnQ1MwQUFFSC9BVWNFUUNBRUlBSTJBaEJCQ0NFQ0lBWkJDSFFnQVdvaEFRd0JDeUFHUVk4QlRRUkFJQVFnQWpZQ0VDQUdRUWwwSUFGcUlRRkJCeUVDREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FCUVlEK0Eyb2hBVUVJSVFJTElBSkJBV3NoQWlBQlFRRjBJUUVnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVHSUJNZ0UwVWdGUnNMSVFNZ0J5QVVRUUowYWlJSklBb2dDeUFESUFrb0FnQWlDVUVmZGtZYklBbHFOZ0lBSUJCQmdJQ0FnQUp5QlNBUUN6WUNBQXNnQlVFRWFpRUpJQWRCQkdvaEJ5QUlRUUZxSWdnZ0RFY05BQXNnQlVFTWFpRUpJQWNnRkVFQ2RHb2hCeUFSUVFScUloRWdCQ2dDZ0FFaUEwRjhjVWtOQUFzTUFRdEJCQ0FEUVh4eElna2dDVUVFVFJ0QkFXc2lDVUY4Y1VFRWFpRVJJQWdnQ1VFQmRFRjRjV3BCRkdvaENRc2dCQ0FDTmdJSUlBUWdCallDQkNBRUlBRTJBZ0FnQkNBTk5nSm9JQXhGRFFFZ0F5QVJUUTBCUVFBaEUwRUFJQXRySVJRZ0F5RUJBMEFDUUNBQklCRkdCRUFnRVNFQkRBRUxJQWtvQWdBaEFrRUFJUkFEUUVHUWdJQUJJQkJCQTJ3aUNIUWdBbkZCRUNBSWRFWUVRQ0FISUF3Z0VHeEJBblJxSVFVZ0JDQVBRUkJCRDBFT0lBSWdDSFlpQVVIdkEzRWJJQUZCZ0lEQUFIRWJRUUowYWlJTk5nSm9JQVFnQkNnQ0JDQU5LQUlBSWdJb0FnQWlBV3NpQXpZQ0JBSi9JQUVnQkNnQ0FDSUdRUkIyU3dSQUlBSW9BZ1FoQ2lBRUlBRTJBZ1FnRFNBQ1FRaEJEQ0FCSUFOTElnNGJhaWdDQURZQ0FDQUVLQUlJSVFJRFFBSkFJQUlOQUNBRUtBSVFJZ0pCQVdvaERTQUNMUUFCSVFNZ0FpMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FHUVlEK0Eyb2hCa0VJSVFJTUFnc2dCQ0FOTmdJUUlBTkJDWFFnQm1vaEJrRUhJUUlNQVFzZ0JDQU5OZ0lRUVFnaEFpQURRUWgwSUFacUlRWUxJQVFnQWtFQmF5SUNOZ0lJSUFRZ0JrRUJkQ0lHTmdJQUlBUWdBVUVCZENJQk5nSUVJQUZCZ0lBQ1NRMEFDeUFLSUFwRklBNGJEQUVMSUFRZ0JpQUJRUkIwYXlJR05nSUFJQU5CZ0lBQ2NVVUVRQ0FDS0FJRUlRb2dEU0FDUVF4QkNDQUJJQU5MSWc0YmFpZ0NBRFlDQUNBRUtBSUlJUUlEUUFKQUlBSU5BQ0FFS0FJUUlnSkJBV29oRFNBQ0xRQUJJUUVnQWkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUdRWUQrQTJvaEJrRUlJUUlNQWdzZ0JDQU5OZ0lRSUFGQkNYUWdCbW9oQmtFSElRSU1BUXNnQkNBTk5nSVFRUWdoQWlBQlFRaDBJQVpxSVFZTElBUWdBa0VCYXlJQ05nSUlJQVFnQmtFQmRDSUdOZ0lBSUFRZ0EwRUJkQ0lETmdJRUlBTkJnSUFDU1EwQUN5QUtSU0FLSUE0YkRBRUxJQUlvQWdRTElRRWdCU0FVSUFzZ0FTQUZLQUlBSWdOQkgzWkdHeUFEYWpZQ0FDQUpJQWtvQWdCQmdJREFBQ0FJZEhJaUFqWUNBQ0FFS0FLQUFTRURDeUFRUVFGcUloQWdBeUlCSUJGclNRMEFDd3NnQ1VFRWFpRUpJQWRCQkdvaEJ5QVRRUUZxSWhNZ0RFY05BQXNNQVF0QkFDRVJRUUFoRndKQUFrQUNRQUpBSUFRb0Fud2lGRUhBQUVjTkFDQUVLQUtBQVVIQUFFY05BRUVBUVFFZ0dYUWlBVUVCZGlBQmNpSVVheUVUSUFSQjVBQnFJUWdnQkVIZ0FHb2hFQ0FFUVJ4cUlRc2dCQ2dDZUVHTUFtb2hCaUFFS0FJSUlRVWdCQ2dDQkNFQklBUW9BZ0FoQWlBRUtBSm9JUWtnQkNnQ2RDRURJQlpCQ0hFTkFRTkFRUUFoREFOQUlBTWhFUUpBQWtBQ2Z3SkFBa0FnQmlJTktBSUFJZ1pGQkVBZ0FTQVFLQUlBSWdNb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGtzRVFDQURLQUlFSVFjZ0VDQURRUWhCRENBQklBWkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUEwRUJhaUVKSUFNdEFBRWhBU0FETFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBazJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFHUVFGMElnWkJnSUFDU1EwQUN5QUdJUUVnQnlBSFJTQUtHd3dCQ3lBQ0lBWkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBTW9BZ1FoQnlBUUlBTkJERUVJSUFFZ0Jra2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0NUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQ1RZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBZEZJQWNnQ2hzTUFRc2dBeWdDQkF0RkJFQWdFQ0VKREFZTElBRWdDQ2dDQUNJREtBSUFJZ1pySVFFQ2Z5QUdJQUpCRUhaTEJFQWdBeWdDQkNFSElBZ2dBMEVJUVF3Z0FTQUdTU0lLRzJvb0FnQWlBellDQUFOQUFrQWdCUTBBSUFRb0FoQWlDVUVCYWlFRklBa3RBQUVoQVNBSkxRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFHSVFFZ0J5QUhSU0FLR3d3QkN5QUNJQVpCRUhScklRSWdBVUdBZ0FKeFJRUkFJQU1vQWdRaEJ5QUlJQU5CREVFSUlBRWdCa2tpQ2h0cUtBSUFJZ00yQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2xCQVdvaEJTQUpMUUFCSVFZZ0NTMEFBRUgvQVVZRVFDQUdRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBWkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQjBVZ0J5QUtHd3dCQ3lBREtBSUVDeUVLSUFFZ0F5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlN3UkFJQU1vQWdRaEJ5QUlJQU5CQ0VFTUlBRWdCa2tpRGh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSURRUUZxSVFrZ0F5MEFBU0VCSUFNdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdDVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0NUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQVNBSElBZEZJQTRiREFFTElBSWdCa0VRZEdzaEFpQUJRWUNBQW5GRkJFQWdBeWdDQkNFSElBZ2dBMEVNUVFnZ0FTQUdTU0lPRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnWkJBV29oQ1NBR0xRQUJJUU1nQmkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUpOZ0lRSUFOQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBSk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dCMFVnQnlBT0d3d0JDeUFES0FJRUN5RURRUUFoQmlBSUlRa0NRQUpBQWtBQ2Z3SkFBa0FnQXlBS1FRRjBjZzRFQUFFREJRb0xJQUVnQ3lBTktBSUVRUkYyUVFSeElBMUJCR3NpQnlnQ0FFRVRka0VCY1hJaURrSFF1UUZxTFFBQVFRSjBhaUlKS0FJQUlnTW9BZ0FpQm1zaEFRSi9JQVlnQWtFUWRrc0VRQ0FES0FJRUlRb2dDU0FEUVFoQkRDQUJJQVpKSWhJYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlBMEVCYWlFSklBTXRBQUVoQVNBRExRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQWsyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFHSVFFZ0NpQUtSU0FTR3d3QkN5QUNJQVpCRUhScklRSWdBVUdBZ0FKeFJRUkFJQU1vQWdRaENpQUpJQU5CREVFSUlBRWdCa2tpRWh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFrZ0JpMEFBU0VESUFZdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdDVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0NUWUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0Voc01BUXNnQXlnQ0JBc2hBeUFSSUJNZ0ZDQURJQTVCMExzQmFpMEFBSE1pQXhzMkFnQWdCeUFIS0FJQVFTQnlOZ0lBSUEwZ0RTZ0NCRUVJY2pZQ0JDQU5RWXdDYXlJR0lBWW9BZ0JCZ0lBSWNqWUNBQ0FOUVlRQ2F5SUdJQVlvQWdCQmdJQUNjallDQUNBTlFZZ0NheUlHSUFZb0FnQWdBMEVmZEhKQmdJQUVjallDQUNBRFFSTjBJVmNnQVNBTElBUW9BbXd0QUFKQkFuUnFJZ2NvQWdBaUF5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlN3UkFJQU1vQWdRaENTQUhJQU5CQ0VFTUlBRWdCa2tpRGh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSURRUUZxSVFjZ0F5MEFBU0VCSUFNdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCellDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0J6WUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQVNBSklBbEZJQTRiREFFTElBSWdCa0VRZEdzaEFpQUJRWUNBQW5GRkJFQWdBeWdDQkNFSklBY2dBMEVNUVFnZ0FTQUdTU0lPRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnWkJBV29oQnlBR0xRQUJJUU1nQmkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUhOZ0lRSUFOQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBSE5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dDVVVnQ1NBT0d3d0JDeUFES0FJRUN5RURJRmRCRUhJaUJpQURSUTBCR2dzZ0FTQUxJQTBvQWdSQkZIWkJCSEVnRFVFRWF5SUpLQUlBUVJaMlFRRnhJQVpCRDNaQkVIRWdCa0VUZGtIQUFIRWdCa0VEZGtHcUFYRnljbkp5SWhKQjBMa0JhaTBBQUVFQ2RHb2lDaWdDQUNJSEtBSUFJZ05ySVFFQ2Z5QURJQUpCRUhaTEJFQWdCeWdDQkNFT0lBb2dCMEVJUVF3Z0FTQURTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUE0Z0RrVWdDaHNNQVFzZ0FpQURRUkIwYXlFQ0lBRkJnSUFDY1VVRVFDQUhLQUlFSVE0Z0NpQUhRUXhCQ0NBQklBTkpJZ29iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBeUFITFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QU9SU0FPSUFvYkRBRUxJQWNvQWdRTElRTWdFU0FUSUJRZ0F5QVNRZEM3QVdvdEFBQnpJZ01iTmdLQUFpQUpJQWtvQWdCQmdBSnlOZ0lBSUEwZ0RTZ0NCRUhBQUhJMkFnUWdCaUFEUVJaMGNrR0FBWElMSVFZZ0FTQUxJQVFvQW13Z0JrRUdka0h2QTNGcUxRQUFRUUowYWlJSktBSUFJZ2NvQWdBaUEyc2hBUUovSUFNZ0FrRVFka3NFUUNBSEtBSUVJUW9nQ1NBSFFRaEJEQ0FCSUFOSklnNGJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUpJQWN0QUFFaEFTQUhMUUFBUWY4QlJnUkFJQUZCa0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFrMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQURRUUYwSWdOQmdJQUNTUTBBQ3lBRElRRWdDaUFLUlNBT0d3d0JDeUFDSUFOQkVIUnJJUUlnQVVHQWdBSnhSUVJBSUFjb0FnUWhDaUFKSUFkQkRFRUlJQUVnQTBraURodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRa2dCeTBBQVNFRElBY3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQ1RZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdDVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dEaHNNQVFzZ0J5Z0NCQXRGRFFFTElBRWdDeUFOS0FJRVFSZDJRUVJ4SUExQkJHc2lDU2dDQUVFWmRrRUJjU0FHUVJKMlFSQnhJQVpCRm5aQndBQnhJQVpCQm5aQnFnRnhjbkp5Y2lJU1FkQzVBV290QUFCQkFuUnFJZ29vQWdBaUJ5Z0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlN3UkFJQWNvQWdRaERpQUtJQWRCQ0VFTUlBRWdBMGtpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBT0lBNUZJQW9iREFFTElBSWdBMEVRZEdzaEFpQUJRWUNBQW5GRkJFQWdCeWdDQkNFT0lBb2dCMEVNUVFnZ0FTQURTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFOQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dEa1VnRGlBS0d3d0JDeUFIS0FJRUN5RURJQkVnRXlBVUlBTWdFa0hRdXdGcUxRQUFjeUlER3pZQ2dBUWdDU0FKS0FJQVFZQVFjallDQUNBTklBMG9BZ1JCZ0FSeU5nSUVJQVlnQTBFWmRISkJnQWh5SVFZTElBRWdDeUFFS0FKc0lBWkJDWFpCN3dOeGFpMEFBRUVDZEdvaUNTZ0NBQ0lIS0FJQUlnTnJJUUVDZnlBRElBSkJFSFpMQkVBZ0J5Z0NCQ0VLSUFrZ0IwRUlRUXdnQVNBRFNTSU9HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQW9nQ2tVZ0Roc01BUXNnQWlBRFFSQjBheUVDSUFGQmdJQUNjVVVFUUNBSEtBSUVJUW9nQ1NBSFFReEJDQ0FCSUFOSklnNGJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBS1JTQUtJQTRiREFFTElBY29BZ1FMUlEwRkN5QUJJQXNnRFNnQ0JFRWFka0VFY1NBTlFRUnJJZzRvQWdCQkhIWkJBWEVnQmtFVmRrRVFjU0FHUVJsMlFjQUFjU0FHUVFsMlFhb0JjWEp5Y25JaUNrSFF1UUZxTFFBQVFRSjBhaUlKS0FJQUlnY29BZ0FpQTJzaEFTQURJQUpCRUhaTEJFQWdCeWdDQkNFU0lBa2dCMEVJUVF3Z0FTQURTU0lWRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUJJZ0VrVWdGUnNNQkFzZ0FpQURRUkIwYXlFQ0lBRkJnSUFDY1EwQklBY29BZ1FoRWlBSklBZEJERUVJSUFFZ0Ewa2lGUnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRURJQWN0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElCSkZJQklnRlJzTUF3c0NRQ0FHUVpDQWdBRnhEUUFnQVNBTElBUW9BbXdnQmtIdkEzRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlBMnNoQVFKL0lBTWdBa0VRZGtzRVFDQUhLQUlFSVFvZ0NTQUhRUWhCRENBQklBTkpJZzRiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBU0FITFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QURJUUVnQ2lBS1JTQU9Hd3dCQ3lBQ0lBTkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBY29BZ1FoQ2lBSklBZEJERUVJSUFFZ0Ewa2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRURJQWN0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nRGhzTUFRc2dCeWdDQkF0RkRRQWdBU0FMSUEwb0FnUkJFWFpCQkhFZ0RVRUVheUlLS0FJQVFSTjJRUUZ4SUFaQkRuWkJFSEVnQmtFUWRrSEFBSEVnQmtHcUFYRnljbkp5SWhKQjBMa0JhaTBBQUVFQ2RHb2lDU2dDQUNJSEtBSUFJZ05ySVFFQ2Z5QURJQUpCRUhaTEJFQWdCeWdDQkNFT0lBa2dCMEVJUVF3Z0FTQURTU0lWRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUE0Z0RrVWdGUnNNQVFzZ0FpQURRUkIwYXlFQ0lBRkJnSUFDY1VVRVFDQUhLQUlFSVE0Z0NTQUhRUXhCQ0NBQklBTkpJaFViYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBeUFITFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QU9SU0FPSUJVYkRBRUxJQWNvQWdRTElRTWdFU0FUSUJRZ0F5QVNRZEM3QVdvdEFBQnpJZ01iTmdJQUlBb2dDaWdDQUVFZ2NqWUNBQ0FOSUEwb0FnUkJDSEkyQWdRZ0RVR01BbXNpQnlBSEtBSUFRWUNBQ0hJMkFnQWdEVUdFQW1zaUJ5QUhLQUlBUVlDQUFuSTJBZ0FnRFVHSUFtc2lCeUFIS0FJQUlBTkJIM1J5UVlDQUJISTJBZ0FnQmlBRFFSTjBja0VRY2lFR0N3SkFJQVpCZ0lHQUNIRU5BQ0FCSUFzZ0JDZ0NiQ0FHUVFOMklnNUI3d054YWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdOcklRRUNmeUFESUFKQkVIWkxCRUFnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FEU1NJU0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBb2dDa1VnRWhzTUFRc2dBaUFEUVJCMGF5RUNJQUZCZ0lBQ2NVVUVRQ0FIS0FJRUlRb2dDU0FIUVF4QkNDQUJJQU5KSWhJYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQXlBSExRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0EwRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFLUlNBS0lCSWJEQUVMSUFjb0FnUUxSUTBBSUFFZ0N5QU5LQUlFUVJSMlFRUnhJQTFCQkdzaUNpZ0NBRUVXZGtFQmNTQUdRUTkyUVJCeElBWkJFM1pCd0FCeElBNUJxZ0Z4Y25KeWNpSVNRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJTd1JBSUFjb0FnUWhEaUFKSUFkQkNFRU1JQUVnQTBraUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGR0JFQWdBVUdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBVUVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBTkJBWFFpQTBHQWdBSkpEUUFMSUFNaEFTQU9JQTVGSUJVYkRBRUxJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRkZCRUFnQnlnQ0JDRU9JQWtnQjBFTVFRZ2dBU0FEU1NJVkcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBTkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnRGtVZ0RpQVZHd3dCQ3lBSEtBSUVDeUVESUJFZ0V5QVVJQU1nRWtIUXV3RnFMUUFBY3lJREd6WUNnQUlnQ2lBS0tBSUFRWUFDY2pZQ0FDQU5JQTBvQWdSQndBQnlOZ0lFSUFZZ0EwRVdkSEpCZ0FGeUlRWUxBa0FnQmtHQWlJREFBSEVOQUNBQklBc2dCQ2dDYkNBR1FRWjJJZzVCN3dOeGFpMEFBRUVDZEdvaUNTZ0NBQ0lIS0FJQUlnTnJJUUVDZnlBRElBSkJFSFpMQkVBZ0J5Z0NCQ0VLSUFrZ0IwRUlRUXdnQVNBRFNTSVNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQW9nQ2tVZ0Voc01BUXNnQWlBRFFSQjBheUVDSUFGQmdJQUNjVVVFUUNBSEtBSUVJUW9nQ1NBSFFReEJDQ0FCSUFOSkloSWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFVMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBS1JTQUtJQkliREFFTElBY29BZ1FMUlEwQUlBRWdDeUFOS0FJRVFSZDJRUVJ4SUExQkJHc2lDaWdDQUVFWmRrRUJjU0FHUVJKMlFSQnhJQVpCRm5aQndBQnhJQTVCcWdGeGNuSnljaUlTUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSURheUVCQW44Z0F5QUNRUkIyU3dSQUlBY29BZ1FoRGlBSklBZEJDRUVNSUFFZ0Ewa2lGUnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FPSUE1RklCVWJEQUVMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0J5Z0NCQ0VPSUFrZ0IwRU1RUWdnQVNBRFNTSVZHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0RrVWdEaUFWR3d3QkN5QUhLQUlFQ3lFRElCRWdFeUFVSUFNZ0VrSFF1d0ZxTFFBQWN5SURHellDZ0FRZ0NpQUtLQUlBUVlBUWNqWUNBQ0FOSUEwb0FnUkJnQVJ5TmdJRUlBWWdBMEVaZEhKQmdBaHlJUVlMSUFaQmdNQ0FnQVJ4RFFNZ0FTQUxJQVFvQW13Z0JrRUpkaUlTUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQVNnQ0FDSURheUVIQW44Z0F5QUNRUkIyU3dSQUlBRW9BZ1FoQ2lBSklBRkJDRUVNSUFNZ0Iwc2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhCeUFLSUFwRklBNGJEQUVMSUFJZ0EwRVFkR3NoQWlBSFFZQ0FBbkZGQkVBZ0FTZ0NCQ0VLSUFrZ0FVRU1RUWdnQXlBSFN5SU9HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdOQkFXb2hCU0FETFFBQklRRWdBeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdCMEVCZENJSFFZQ0FBa2tOQUFzZ0NrVWdDaUFPR3d3QkN5QUJLQUlFQzBVRVFDQUhJUUVNQkFzZ0J5QUxJQTBvQWdSQkduWkJCSEVnRFVFRWF5SU9LQUlBUVJ4MlFRRnhJQVpCRlhaQkVIRWdCa0VaZGtIQUFIRWdFa0dxQVhGeWNuSnlJZ3BCMExrQmFpMEFBRUVDZEdvaUNTZ0NBQ0lIS0FJQUlnRnJJUU1nQVNBQ1FSQjJTd1JBSUFjb0FnUWhFaUFKSUFkQkNFRU1JQUVnQTBzaUZSdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFRElBY3RBQUJCL3dGR0JFQWdBMEdRQVU4RVFDQUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkRBSUxJQVFnQlRZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCVFlDRUVFSUlRVWdBMEVJZENBQ2FpRUNDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUJJZ0VrVWdGUnNNQXdzZ0FpQUJRUkIwYXlFQ0lBTkJnSUFDY1VVTkFTQURJUUVMSUFjb0FnUU1BUXNnQnlnQ0JDRVNJQWtnQjBFTVFRZ2dBU0FEU3lJVkcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVZRVFDQUJRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTUFnc2dCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklCSkZJQklnRlJzTElRTWdFU0FUSUJRZ0F5QUtRZEM3QVdvdEFBQnpJZ01iTmdLQUJpQU9JQTRvQWdCQmdJQUJjallDQUNBTklBMG9BZ1JCZ0NCeU5nSUVJQTBnRFNnQ2hBSkJCSEkyQW9RQ0lBMGdEU2dDakFKQkFYSTJBb3dDSUEwZ0RTZ0NpQUlnQTBFU2RISkJBbkkyQW9nQ0lBWWdBMEVjZEhKQmdNQUFjaUVHQ3lBTklBWkIvLy8vdG50eE5nSUFDeUFOUVFScUlRWWdFVUVFYWlFRElBeEJBV29pREVIQUFFY05BQXNnRFVFTWFpRUdJQkZCaEFacUlRTWdGMEU4U1NGWUlCZEJCR29oRnlCWURRQUxEQUlMUVFFZ0dYUWlBVUVCZGlBQmNpRU9JQVFvQW5naUJ5QVVRUUowYWtFTWFpRURJQVFvQW9BQklRWWdCQ2dDQ0NFRklBUW9BZ1FoQVNBRUtBSUFJUUlnQkNnQ2FDRUpJQVFvQW5RaEN3SkFBa0FnRmtFSWNRUkFJQVpCQkVrTkFpQVVSUTBCSUFSQjVBQnFJUkFnQkVIZ0FHb2hEU0FVUVFOc0lSc2dGRUVCZENFa1FRQWdEbXNoRlNBRVFSeHFJUklEUUVFQUlSZ0RRQUpBQWtBQ2Z3SkFJQU1pQ0NnQ0FDSURCRUFDUUNBRFFaQ0FnQUZ4RFFBZ0FTQVNJQVFvQW13Z0EwSHZBM0ZxTFFBQVFRSjBhaUlKS0FJQUlnY29BZ0FpQm1zaEFRSi9JQVlnQWtFUWRrMEVRQ0FDSUFaQkVIUnJJUUlnQVVHQWdBSnhCRUFnQnlnQ0JBd0NDeUFIS0FJRUlRd2dDU0FIUVF4QkNDQUJJQVpKSWdvYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQmlBSExRQUFRZjhCUndSQUlBUWdCVFlDRUVFSUlRVWdCa0VJZENBQ2FpRUNEQUVMSUFaQmp3Rk5CRUFnQkNBRk5nSVFJQVpCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFNUlNBTUlBb2JEQUVMSUFjb0FnUWhEQ0FKSUFkQkNFRU1JQUVnQmtraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBWkJBWFFpQmtHQWdBSkpEUUFMSUFZaEFTQU1JQXhGSUFvYkMwVU5BQ0FCSUJJZ0NDZ0NCRUVSZGtFRWNTQUlRUVJySWd3b0FnQkJFM1pCQVhFZ0EwRU9ka0VRY1NBRFFSQjJRY0FBY1NBRFFhb0JjWEp5Y25JaUUwSFF1UUZxTFFBQVFRSjBhaUlKS0FJQUlnY29BZ0FpQm1zaEFRSi9JQVlnQWtFUWRrMEVRQ0FDSUFaQkVIUnJJUUlnQVVHQWdBSnhCRUFnQnlnQ0JBd0NDeUFIS0FJRUlRb2dDU0FIUVF4QkNDQUJJQVpKSWh3YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQmlBSExRQUFRZjhCUndSQUlBUWdCVFlDRUVFSUlRVWdCa0VJZENBQ2FpRUNEQUVMSUFaQmp3Rk5CRUFnQkNBRk5nSVFJQVpCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFLUlNBS0lCd2JEQUVMSUFjb0FnUWhDaUFKSUFkQkNFRU1JQUVnQmtraUhCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBWkJBWFFpQmtHQWdBSkpEUUFMSUFZaEFTQUtJQXBGSUJ3YkN5RUdJQXNnRlNBT0lBWWdFMEhRdXdGcUxRQUFjeUlHR3pZQ0FDQU1JQXdvQWdCQklISTJBZ0FnQ0NBSUtBSUVRUWh5TmdJRUlBTWdCa0VUZEhKQkVISWhBd3NDUUNBRFFZQ0JnQWh4RFFBZ0FTQVNJQVFvQW13Z0EwRURkaUlLUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoRENBSklBZEJERUVJSUFFZ0Jra2lFeHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBeEZJQXdnRXhzTUFRc2dCeWdDQkNFTUlBa2dCMEVJUVF3Z0FTQUdTU0lURzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUF3Z0RFVWdFeHNMUlEwQUlBRWdFaUFJS0FJRVFSUjJRUVJ4SUFoQkJHc2lEQ2dDQUVFV2RrRUJjU0FEUVE5MlFSQnhJQU5CRTNaQndBQnhJQXBCcWdGeGNuSnljaUlUUWRDNUFXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoQ2lBSklBZEJERUVJSUFFZ0Jra2lIQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nSEJzTUFRc2dCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQUdTU0ljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFvZ0NrVWdIQnNMSVFZZ0N5QVVRUUowYWlBVklBNGdCaUFUUWRDN0FXb3RBQUJ6SWdZYk5nSUFJQXdnRENnQ0FFR0FBbkkyQWdBZ0NDQUlLQUlFUWNBQWNqWUNCQ0FESUFaQkZuUnlRWUFCY2lFREN3SkFJQU5CZ0lpQXdBQnhEUUFnQVNBU0lBUW9BbXdnQTBFR2RpSUtRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhEQ0FKSUFkQkRFRUlJQUVnQmtraUV4dHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUF4RklBd2dFeHNNQVFzZ0J5Z0NCQ0VNSUFrZ0IwRUlRUXdnQVNBR1NTSVRHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQXdnREVVZ0V4c0xSUTBBSUFFZ0VpQUlLQUlFUVJkMlFRUnhJQWhCQkdzaURDZ0NBRUVaZGtFQmNTQURRUkoyUVJCeElBTkJGblpCd0FCeElBcEJxZ0Z4Y25KeWNpSVRRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhDaUFKSUFkQkRFRUlJQUVnQmtraUhCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dIQnNNQVFzZ0J5Z0NCQ0VLSUFrZ0IwRUlRUXdnQVNBR1NTSWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQW9nQ2tVZ0hCc0xJUVlnQ3lBa1FRSjBhaUFWSUE0Z0JpQVRRZEM3QVdvdEFBQnpJZ1liTmdJQUlBd2dEQ2dDQUVHQUVISTJBZ0FnQ0NBSUtBSUVRWUFFY2pZQ0JDQURJQVpCR1hSeVFZQUljaUVEQ3lBRFFZREFnSUFFY1EwRElBRWdFaUFFS0FKc0lBTkJDWFlpQ2tIdkEzRnFMUUFBUVFKMGFpSUpLQUlBSWdFb0FnQWlCbXNoQndKL0lBWWdBa0VRZGswRVFDQUNJQVpCRUhScklRSWdCMEdBZ0FKeEJFQWdBU2dDQkF3Q0N5QUJLQUlFSVF3Z0NTQUJRUXhCQ0NBR0lBZExJaE1iYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUJrRUJhaUVGSUFZdEFBRWhBU0FHTFFBQVFmOEJSd1JBSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0RBRUxJQUZCandGTkJFQWdCQ0FGTmdJUUlBRkJDWFFnQW1vaEFrRUhJUVVNQVFzZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlFzZ0JVRUJheUVGSUFKQkFYUWhBaUFIUVFGMElnZEJnSUFDU1EwQUN5QU1SU0FNSUJNYkRBRUxJQUVvQWdRaERDQUpJQUZCQ0VFTUlBWWdCMHNpRXh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFaQkFYUWlCa0dBZ0FKSkRRQUxJQVloQnlBTUlBeEZJQk1iQzBVRVFDQUhJUUVNQkFzZ0J5QVNJQWdvQWdSQkduWkJCSEVnQ0VFRWF5SU1LQUlBUVJ4MlFRRnhJQU5CRlhaQkVIRWdBMEVaZGtIQUFIRWdDa0dxQVhGeWNuSnlJaE5CMExrQmFpMEFBRUVDZEdvaUNTZ0NBQ0lLS0FJQUlnRnJJUVlnQVNBQ1FSQjJUUVJBSUFJZ0FVRVFkR3NoQWlBR1FZQ0FBbkVFUUNBR0lRRU1Bd3NnQ2lnQ0JDRUhJQWtnQ2tFTVFRZ2dBU0FHU3lJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1ZCQVdvaENpQUZMUUFCSVFFZ0JTMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBZEZJQWNnSEJzTUF3c2dDaWdDQkNFSElBa2dDa0VJUVF3Z0FTQUdTeUljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnVkJBV29oQ2lBRkxRQUJJUVlnQlMwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFRklBWkJDSFFnQW1vaEFnd0JDeUFHUVk4QlRRUkFJQVFnQ2pZQ0VDQUdRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dCeUFIUlNBY0d3d0NDeUFCSUEwb0FnQWlCaWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJUUVJBSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkVFUUNBR0tBSUVEQUlMSUFZb0FnUWhCeUFOSUFaQkRFRUlJQUVnQTBraURCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRa2dCaTBBQVNFRElBWXRBQUJCL3dGSEJFQWdCQ0FKTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlNQVFzZ0EwR1BBVTBFUUNBRUlBazJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFkRklBY2dEQnNNQVFzZ0JpZ0NCQ0VISUEwZ0JrRUlRUXdnQVNBRFNTSU1HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdaQkFXb2hDU0FHTFFBQklRRWdCaTBBQUVIL0FVY0VRQ0FFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQWNnQjBVZ0RCc0xSUVJBSUEwaENRd0VDeUFCSUJBb0FnQWlCaWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJUUVJBSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkVFUUNBR0tBSUVEQUlMSUFZb0FnUWhCeUFRSUFaQkRFRUlJQUVnQTBraURCdHFLQUlBSWdZMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdsQkFXb2hCU0FKTFFBQklRTWdDUzBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWd3QkN5QURRWThCVFFSQUlBUWdCVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0IwVWdCeUFNR3d3QkN5QUdLQUlFSVFjZ0VDQUdRUWhCRENBQklBTkpJZ3diYWlnQ0FDSUdOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUpRUUZxSVFVZ0NTMEFBU0VCSUFrdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUJRUWgwSUFKcUlRSU1BUXNnQVVHUEFVMEVRQ0FFSUFVMkFoQWdBVUVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBSElBZEZJQXdiQ3lFTUlBRWdCaWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJUUVJBSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkVFUUNBR0tBSUVEQUlMSUFZb0FnUWhCeUFRSUFaQkRFRUlJQUVnQTBraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRa2dCaTBBQVNFRElBWXRBQUJCL3dGSEJFQWdCQ0FKTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlNQVFzZ0EwR1BBVTBFUUNBRUlBazJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFkRklBY2dDaHNNQVFzZ0JpZ0NCQ0VISUJBZ0JrRUlRUXdnQVNBRFNTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdaQkFXb2hDU0FHTFFBQklRRWdCaTBBQUVIL0FVY0VRQ0FFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQWNnQjBVZ0Noc0xJUVpCQUNFRElCQWhDUUpBQWtBQ1FBSi9Ba0FDUUNBR0lBeEJBWFJ5RGdRQUFRTUZDQXNnQVNBU0lBZ29BZ1JCRVhaQkJIRWdDRUVFYXlJSEtBSUFRUk4yUVFGeGNpSUtRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCaWdDQUNJRGF5RUJBbjhnQXlBQ1FSQjJUUVJBSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkVFUUNBR0tBSUVEQUlMSUFZb0FnUWhEQ0FKSUFaQkRFRUlJQUVnQTBraUV4dHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lHUVFGcUlRa2dCaTBBQVNFRElBWXRBQUJCL3dGSEJFQWdCQ0FKTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlNQVFzZ0EwR1BBVTBFUUNBRUlBazJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUF4RklBd2dFeHNNQVFzZ0JpZ0NCQ0VNSUFrZ0JrRUlRUXdnQVNBRFNTSVRHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdaQkFXb2hDU0FHTFFBQklRRWdCaTBBQUVIL0FVY0VRQ0FFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdDVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQXdnREVVZ0V4c0xJUU1nQ3lBVklBNGdBeUFLUWRDN0FXb3RBQUJ6SWdNYk5nSUFJQWNnQnlnQ0FFRWdjallDQUNBSUlBZ29BZ1JCQ0hJMkFnUWdBMEVUZENGWklBRWdFaUFFS0FKc0xRQUNRUUowYWlJSEtBSUFJZ1lvQWdBaUEyc2hBUUovSUFNZ0FrRVFkazBFUUNBQ0lBTkJFSFJySVFJZ0FVR0FnQUp4QkVBZ0JpZ0NCQXdDQ3lBR0tBSUVJUWtnQnlBR1FReEJDQ0FCSUFOSklnb2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQmtFQmFpRUhJQVl0QUFFaEF5QUdMUUFBUWY4QlJ3UkFJQVFnQnpZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDREFFTElBTkJqd0ZOQkVBZ0JDQUhOZ0lRSUFOQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXNnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBSlJTQUpJQW9iREFFTElBWW9BZ1FoQ1NBSElBWkJDRUVNSUFFZ0Ewa2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWNnQmkwQUFTRUJJQVl0QUFCQi93RkhCRUFnQkNBSE5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQWMyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FKSUFsRklBb2JDeUVHSUZsQkVISWlBeUFHUlEwQkdnc2dBU0FTSUFnb0FnUkJGSFpCQkhFZ0NFRUVheUlKS0FJQVFSWjJRUUZ4SUFOQkQzWkJFSEVnQTBFVGRrSEFBSEVnQTBFRGRrR3FBWEZ5Y25KeUloTkIwTGtCYWkwQUFFRUNkR29pRENnQ0FDSUhLQUlBSWdacklRRUNmeUFHSUFKQkVIWk5CRUFnQWlBR1FSQjBheUVDSUFGQmdJQUNjUVJBSUFjb0FnUU1BZ3NnQnlnQ0JDRUtJQXdnQjBFTVFRZ2dBU0FHU1NJTUcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFZZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQVpCQ0hRZ0Ftb2hBZ3dCQ3lBR1FZOEJUUVJBSUFRZ0JUWUNFQ0FHUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQ2tVZ0NpQU1Hd3dCQ3lBSEtBSUVJUW9nRENBSFFRaEJEQ0FCSUFaSklnd2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUZJQWN0QUFFaEFTQUhMUUFBUWY4QlJ3UkFJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXNnQlVFQmF5RUZJQUpCQVhRaEFpQUdRUUYwSWdaQmdJQUNTUTBBQ3lBR0lRRWdDaUFLUlNBTUd3c2hCaUFMSUJSQkFuUnFJQlVnRGlBR0lCTkIwTHNCYWkwQUFITWlCaHMyQWdBZ0NTQUpLQUlBUVlBQ2NqWUNBQ0FJSUFnb0FnUkJ3QUJ5TmdJRUlBTWdCa0VXZEhKQmdBRnlDeUVESUFFZ0VpQUVLQUpzSUFOQkJuWkI3d054YWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdacklRRUNmeUFHSUFKQkVIWk5CRUFnQWlBR1FSQjBheUVDSUFGQmdJQUNjUVJBSUFjb0FnUU1BZ3NnQnlnQ0JDRU1JQWtnQjBFTVFRZ2dBU0FHU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaENTQUhMUUFCSVFZZ0J5MEFBRUgvQVVjRVFDQUVJQWsyQWhCQkNDRUZJQVpCQ0hRZ0Ftb2hBZ3dCQ3lBR1FZOEJUUVJBSUFRZ0NUWUNFQ0FHUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnREVVZ0RDQUtHd3dCQ3lBSEtBSUVJUXdnQ1NBSFFRaEJEQ0FCSUFaSklnb2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUpJQWN0QUFFaEFTQUhMUUFBUWY4QlJ3UkFJQVFnQ1RZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUpOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXNnQlVFQmF5RUZJQUpCQVhRaEFpQUdRUUYwSWdaQmdJQUNTUTBBQ3lBR0lRRWdEQ0FNUlNBS0d3dEZEUUVMSUFFZ0VpQUlLQUlFUVJkMlFRUnhJQWhCQkdzaUNTZ0NBRUVaZGtFQmNTQURRUkoyUVJCeElBTkJGblpCd0FCeElBTkJCblpCcWdGeGNuSnljaUlUUWRDNUFXb3RBQUJCQW5ScUlnd29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoQ2lBTUlBZEJERUVJSUFFZ0Jra2lEQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nREJzTUFRc2dCeWdDQkNFS0lBd2dCMEVJUVF3Z0FTQUdTU0lNRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFvZ0NrVWdEQnNMSVFZZ0N5QWtRUUowYWlBVklBNGdCaUFUUWRDN0FXb3RBQUJ6SWdZYk5nSUFJQWtnQ1NnQ0FFR0FFSEkyQWdBZ0NDQUlLQUlFUVlBRWNqWUNCQ0FESUFaQkdYUnlRWUFJY2lFREN5QUJJQklnQkNnQ2JDQURRUWwyUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoRENBSklBZEJERUVJSUFFZ0Jra2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBeEZJQXdnQ2hzTUFRc2dCeWdDQkNFTUlBa2dCMEVJUVF3Z0FTQUdTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUF3Z0RFVWdDaHNMUlEwREN5QUJJQklnQ0NnQ0JFRWFka0VFY1NBSVFRUnJJZ3dvQWdCQkhIWkJBWEVnQTBFVmRrRVFjU0FEUVJsMlFjQUFjU0FEUVFsMlFhb0JjWEp5Y25JaUUwSFF1UUZxTFFBQVFRSjBhaUlKS0FJQUlnb29BZ0FpQm1zaEFTQUdJQUpCRUhaTkJFQWdBaUFHUVJCMGF5RUNJQUZCZ0lBQ2NRMEJJQW9vQWdRaEJ5QUpJQXBCREVFSUlBRWdCa2tpSEJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUZRUUZxSVFvZ0JTMEFBU0VHSUFVdEFBQkIvd0ZIQkVBZ0JDQUtOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFvMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQWRGSUFjZ0hCc01BZ3NnQ2lnQ0JDRUhJQWtnQ2tFSVFRd2dBU0FHU1NJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1ZCQVdvaENpQUZMUUFCSVFFZ0JTMEFBRUgvQVVjRVFDQUVJQW8yQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NqWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBY2dCMFVnSEJzTUFRc2dDaWdDQkFzaEJpQUxJQnRCQW5ScUlCVWdEaUFHSUJOQjBMc0JhaTBBQUhNaUJ4czJBZ0FnRENBTUtBSUFRWUNBQVhJMkFnQWdDQ0FJS0FJRVFZQWdjallDQkNBRUtBSjhRUUowSUFocUlnWWdCaWdDQkVFRWNqWUNCQ0FHSUFZb0FneEJBWEkyQWd3Z0JpQUdLQUlJSUFkQkVuUnlRUUp5TmdJSUlBTWdCMEVjZEhKQmdNQUFjaUVEQ3lBSUlBTkIvLy8vdG50eE5nSUFDeUFJUVFScUlRTWdDMEVFYWlFTElCaEJBV29pR0NBVVJ3MEFDeUFJUVF4cUlRTWdDeUFiUVFKMGFpRUxJQkZCQkdvaUVTQUVLQUtBQVNJR1FYeHhTUTBBQ3d3Q0N3SkFJQVpCQkVrTkFDQVVCRUFnQkVIa0FHb2hFQ0FFUWVBQWFpRU5JQlJCQTJ3aEd5QVVRUUYwSVNSQkFDQU9heUVWSUFSQkhHb2hFZ05BUVFBaEdBTkFBa0FDUUFKL0FrQWdBeUlJS0FJQUlnTUVRQUpBSUFOQmtJQ0FBWEVOQUNBQklCSWdCQ2dDYkNBRFFlOERjV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaERDQUpJQWRCREVFSUlBRWdCa2tpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXhGSUF3Z0Noc01BUXNnQnlnQ0JDRU1JQWtnQjBFSVFRd2dBU0FHU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBd2dERVVnQ2hzTFJRMEFJQUVnRWlBSUtBSUVRUkYyUVFSeElBaEJCR3NpRENnQ0FFRVRka0VCY1NBRFFRNTJRUkJ4SUFOQkVIWkJ3QUJ4SUFOQnFnRnhjbkp5Y2lJVFFkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaENpQUpJQWRCREVFSUlBRWdCa2tpSEJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0hCc01BUXNnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FHU1NJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBb2dDa1VnSEJzTElRWWdDeUFWSUE0Z0JpQVRRZEM3QVdvdEFBQnpJZ2NiTmdJQUlBd2dEQ2dDQUVFZ2NqWUNBQ0FJSUFnb0FnUkJDSEkyQWdRZ0NFRitJQVFvQW54clFRSjBhaUlHSUFZb0FnUkJnSUFDY2pZQ0JDQUdJQVlvQWdBZ0IwRWZkSEpCZ0lBRWNqWUNBQ0FHUVFScklnWWdCaWdDQUVHQWdBaHlOZ0lBSUFNZ0IwRVRkSEpCRUhJaEF3c0NRQ0FEUVlDQmdBaHhEUUFnQVNBU0lBUW9BbXdnQTBFRGRpSUtRZThEY1dvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhEQ0FKSUFkQkRFRUlJQUVnQmtraUV4dHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUF4RklBd2dFeHNNQVFzZ0J5Z0NCQ0VNSUFrZ0IwRUlRUXdnQVNBR1NTSVRHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQXdnREVVZ0V4c0xSUTBBSUFFZ0VpQUlLQUlFUVJSMlFRUnhJQWhCQkdzaURDZ0NBRUVXZGtFQmNTQURRUTkyUVJCeElBTkJFM1pCd0FCeElBcEJxZ0Z4Y25KeWNpSVRRZEM1QVdvdEFBQkJBblJxSWdrb0FnQWlCeWdDQUNJR2F5RUJBbjhnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVFUUNBSEtBSUVEQUlMSUFjb0FnUWhDaUFKSUFkQkRFRUlJQUVnQmtraUhCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFR0lBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FHUVFoMElBSnFJUUlNQVFzZ0JrR1BBVTBFUUNBRUlBVTJBaEFnQmtFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBRkJBWFFpQVVHQWdBSkpEUUFMSUFwRklBb2dIQnNNQVFzZ0J5Z0NCQ0VLSUFrZ0IwRUlRUXdnQVNBR1NTSWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRRWdCeTBBQUVIL0FVY0VRQ0FFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWd3QkN5QUJRWThCVFFSQUlBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQW9nQ2tVZ0hCc0xJUVlnQ3lBVVFRSjBhaUFWSUE0Z0JpQVRRZEM3QVdvdEFBQnpJZ1liTmdJQUlBd2dEQ2dDQUVHQUFuSTJBZ0FnQ0NBSUtBSUVRY0FBY2pZQ0JDQURJQVpCRm5SeVFZQUJjaUVEQ3dKQUlBTkJnSWlBd0FCeERRQWdBU0FTSUFRb0Ftd2dBMEVHZGlJS1FlOERjV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaERDQUpJQWRCREVFSUlBRWdCa2tpRXh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXhGSUF3Z0V4c01BUXNnQnlnQ0JDRU1JQWtnQjBFSVFRd2dBU0FHU1NJVEcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBd2dERVVnRXhzTFJRMEFJQUVnRWlBSUtBSUVRUmQyUVFSeElBaEJCR3NpRENnQ0FFRVpka0VCY1NBRFFSSjJRUkJ4SUFOQkZuWkJ3QUJ4SUFwQnFnRnhjbkp5Y2lJVFFkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lHYXlFQkFuOGdCaUFDUVJCMlRRUkFJQUlnQmtFUWRHc2hBaUFCUVlDQUFuRUVRQ0FIS0FJRURBSUxJQWNvQWdRaENpQUpJQWRCREVFSUlBRWdCa2tpSEJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VHSUFjdEFBQkIvd0ZIQkVBZ0JDQUZOZ0lRUVFnaEJTQUdRUWgwSUFKcUlRSU1BUXNnQmtHUEFVMEVRQ0FFSUFVMkFoQWdCa0VKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXBGSUFvZ0hCc01BUXNnQnlnQ0JDRUtJQWtnQjBFSVFRd2dBU0FHU1NJY0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2RCQVdvaEJTQUhMUUFCSVFFZ0J5MEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0JrRUJkQ0lHUVlDQUFra05BQXNnQmlFQklBb2dDa1VnSEJzTElRWWdDeUFrUVFKMGFpQVZJQTRnQmlBVFFkQzdBV290QUFCeklnWWJOZ0lBSUF3Z0RDZ0NBRUdBRUhJMkFnQWdDQ0FJS0FJRVFZQUVjallDQkNBRElBWkJHWFJ5UVlBSWNpRURDeUFEUVlEQWdJQUVjUTBESUFFZ0VpQUVLQUpzSUFOQkNYWWlDa0h2QTNGcUxRQUFRUUowYWlJSktBSUFJZ0VvQWdBaUJtc2hCd0ovSUFZZ0FrRVFkazBFUUNBQ0lBWkJFSFJySVFJZ0IwR0FnQUp4QkVBZ0FTZ0NCQXdDQ3lBQktBSUVJUXdnQ1NBQlFReEJDQ0FHSUFkTEloTWJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQmtFQmFpRUZJQVl0QUFFaEFTQUdMUUFBUWY4QlJ3UkFJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDREFFTElBRkJqd0ZOQkVBZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXNnQlVFQmF5RUZJQUpCQVhRaEFpQUhRUUYwSWdkQmdJQUNTUTBBQ3lBTVJTQU1JQk1iREFFTElBRW9BZ1FoRENBSklBRkJDRUVNSUFZZ0Iwc2lFeHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQVpCQVhRaUJrR0FnQUpKRFFBTElBWWhCeUFNSUF4RklCTWJDMFVFUUNBSElRRU1CQXNnQnlBU0lBZ29BZ1JCR25aQkJIRWdDRUVFYXlJTUtBSUFRUngyUVFGeElBTkJGWFpCRUhFZ0EwRVpka0hBQUhFZ0NrR3FBWEZ5Y25KeUloTkIwTGtCYWkwQUFFRUNkR29pQ1NnQ0FDSUtLQUlBSWdGcklRWWdBU0FDUVJCMlRRUkFJQUlnQVVFUWRHc2hBaUFHUVlDQUFuRUVRQ0FHSVFFTUF3c2dDaWdDQkNFSElBa2dDa0VNUVFnZ0FTQUdTeUljRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnVkJBV29oQ2lBRkxRQUJJUUVnQlMwQUFFSC9BVWNFUUNBRUlBbzJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ2pZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFkRklBY2dIQnNNQXdzZ0NpZ0NCQ0VISUFrZ0NrRUlRUXdnQVNBR1N5SWNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdWQkFXb2hDaUFGTFFBQklRWWdCUzBBQUVIL0FVY0VRQ0FFSUFvMkFoQkJDQ0VGSUFaQkNIUWdBbW9oQWd3QkN5QUdRWThCVFFSQUlBUWdDallDRUNBR1FRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0J5QUhSU0FjR3d3Q0N5QUJJQTBvQWdBaUJpZ0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlRRUkFJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRUVRQ0FHS0FJRURBSUxJQVlvQWdRaEJ5QU5JQVpCREVFSUlBRWdBMGtpREJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFrZ0JpMEFBU0VESUFZdEFBQkIvd0ZIQkVBZ0JDQUpOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQWRGSUFjZ0RCc01BUXNnQmlnQ0JDRUhJQTBnQmtFSVFRd2dBU0FEU1NJTUcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1pCQVdvaENTQUdMUUFCSVFFZ0JpMEFBRUgvQVVjRVFDQUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBY2dCMFVnREJzTFJRUkFJQTBoQ1F3RUN5QUJJQkFvQWdBaUJpZ0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlRRUkFJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRUVRQ0FHS0FJRURBSUxJQVlvQWdRaEJ5QVFJQVpCREVFSUlBRWdBMGtpREJ0cUtBSUFJZ1kyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ2xCQVdvaEJTQUpMUUFCSVFNZ0NTMEFBRUgvQVVjRVFDQUVJQVUyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3dCQ3lBRFFZOEJUUVJBSUFRZ0JUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0FVRUJkQ0lCUVlDQUFra05BQXNnQjBVZ0J5QU1Hd3dCQ3lBR0tBSUVJUWNnRUNBR1FRaEJEQ0FCSUFOSklnd2JhaWdDQUNJR05nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSlFRRnFJUVVnQ1MwQUFTRUJJQWt0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FISUFkRklBd2JDeUVNSUFFZ0JpZ0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlRRUkFJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRUVRQ0FHS0FJRURBSUxJQVlvQWdRaEJ5QVFJQVpCREVFSUlBRWdBMGtpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFrZ0JpMEFBU0VESUFZdEFBQkIvd0ZIQkVBZ0JDQUpOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQWRGSUFjZ0Noc01BUXNnQmlnQ0JDRUhJQkFnQmtFSVFRd2dBU0FEU1NJS0cyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1pCQVdvaENTQUdMUUFCSVFFZ0JpMEFBRUgvQVVjRVFDQUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBY2dCMFVnQ2hzTElRWkJBQ0VESUJBaENRSkFBa0FDUUFKL0FrQUNRQ0FHSUF4QkFYUnlEZ1FBQVFNRkNBc2dBU0FTSUFnb0FnUkJFWFpCQkhFZ0NFRUVheUlIS0FJQVFSTjJRUUZ4Y2lJS1FkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJpZ0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlRRUkFJQUlnQTBFUWRHc2hBaUFCUVlDQUFuRUVRQ0FHS0FJRURBSUxJQVlvQWdRaERDQUpJQVpCREVFSUlBRWdBMGtpRXh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFrZ0JpMEFBU0VESUFZdEFBQkIvd0ZIQkVBZ0JDQUpOZ0lRUVFnaEJTQURRUWgwSUFKcUlRSU1BUXNnQTBHUEFVMEVRQ0FFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQVFvQWd4QkFXbzJBZ3dnQWtHQS9nTnFJUUpCQ0NFRkN5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQXhGSUF3Z0V4c01BUXNnQmlnQ0JDRU1JQWtnQmtFSVFRd2dBU0FEU1NJVEcyb29BZ0EyQWdBRFFBSkFJQVVOQUNBRUtBSVFJZ1pCQVdvaENTQUdMUUFCSVFFZ0JpMEFBRUgvQVVjRVFDQUVJQWsyQWhCQkNDRUZJQUZCQ0hRZ0Ftb2hBZ3dCQ3lBQlFZOEJUUVJBSUFRZ0NUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVUxJQVZCQVdzaEJTQUNRUUYwSVFJZ0EwRUJkQ0lEUVlDQUFra05BQXNnQXlFQklBd2dERVVnRXhzTElRTWdDeUFWSUE0Z0F5QUtRZEM3QVdvdEFBQnpJZ1liTmdJQUlBY2dCeWdDQUVFZ2NqWUNBQ0FJSUFnb0FnUkJDSEkyQWdRZ0NFRitJQVFvQW54clFRSjBhaUlESUFNb0FnUkJnSUFDY2pZQ0JDQURJQU1vQWdBZ0JrRWZkSEpCZ0lBRWNqWUNBQ0FEUVFScklnTWdBeWdDQUVHQWdBaHlOZ0lBSUFaQkUzUWhXaUFCSUJJZ0JDZ0NiQzBBQWtFQ2RHb2lCeWdDQUNJR0tBSUFJZ05ySVFFQ2Z5QURJQUpCRUhaTkJFQWdBaUFEUVJCMGF5RUNJQUZCZ0lBQ2NRUkFJQVlvQWdRTUFnc2dCaWdDQkNFSklBY2dCa0VNUVFnZ0FTQURTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnWkJBV29oQnlBR0xRQUJJUU1nQmkwQUFFSC9BVWNFUUNBRUlBYzJBaEJCQ0NFRklBTkJDSFFnQW1vaEFnd0JDeUFEUVk4QlRRUkFJQVFnQnpZQ0VDQURRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dDVVVnQ1NBS0d3d0JDeUFHS0FJRUlRa2dCeUFHUVFoQkRDQUJJQU5KSWdvYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCa0VCYWlFSElBWXRBQUVoQVNBR0xRQUFRZjhCUndSQUlBUWdCellDRUVFSUlRVWdBVUVJZENBQ2FpRUNEQUVMSUFGQmp3Rk5CRUFnQkNBSE5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFESVFFZ0NTQUpSU0FLR3dzaEJpQmFRUkJ5SWdNZ0JrVU5BUm9MSUFFZ0VpQUlLQUlFUVJSMlFRUnhJQWhCQkdzaUNTZ0NBRUVXZGtFQmNTQURRUTkyUVJCeElBTkJFM1pCd0FCeElBTkJBM1pCcWdGeGNuSnljaUlUUWRDNUFXb3RBQUJCQW5ScUlnd29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoQ2lBTUlBZEJERUVJSUFFZ0Jra2lEQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBRk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQVUyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBcEZJQW9nREJzTUFRc2dCeWdDQkNFS0lBd2dCMEVJUVF3Z0FTQUdTU0lNRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQlRZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFvZ0NrVWdEQnNMSVFZZ0N5QVVRUUowYWlBVklBNGdCaUFUUWRDN0FXb3RBQUJ6SWdZYk5nSUFJQWtnQ1NnQ0FFR0FBbkkyQWdBZ0NDQUlLQUlFUWNBQWNqWUNCQ0FESUFaQkZuUnlRWUFCY2dzaEF5QUJJQklnQkNnQ2JDQURRUVoyUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyVFFSQUlBSWdCa0VRZEdzaEFpQUJRWUNBQW5FRVFDQUhLQUlFREFJTElBY29BZ1FoRENBSklBZEJERUVJSUFFZ0Jra2lDaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUWtnQnkwQUFTRUdJQWN0QUFCQi93RkhCRUFnQkNBSk5nSVFRUWdoQlNBR1FRaDBJQUpxSVFJTUFRc2dCa0dQQVUwRVFDQUVJQWsyQWhBZ0JrRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBeEZJQXdnQ2hzTUFRc2dCeWdDQkNFTUlBa2dCMEVJUVF3Z0FTQUdTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQ1NBSExRQUJJUUVnQnkwQUFFSC9BVWNFUUNBRUlBazJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnd0JDeUFCUVk4QlRRUkFJQVFnQ1RZQ0VDQUJRUWwwSUFKcUlRSkJCeUVGREFFTElBUWdCQ2dDREVFQmFqWUNEQ0FDUVlEK0Eyb2hBa0VJSVFVTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUF3Z0RFVWdDaHNMUlEwQkN5QUJJQklnQ0NnQ0JFRVhka0VFY1NBSVFRUnJJZ2tvQWdCQkdYWkJBWEVnQTBFU2RrRVFjU0FEUVJaMlFjQUFjU0FEUVFaMlFhb0JjWEp5Y25JaUUwSFF1UUZxTFFBQVFRSjBhaUlNS0FJQUlnY29BZ0FpQm1zaEFRSi9JQVlnQWtFUWRrMEVRQ0FDSUFaQkVIUnJJUUlnQVVHQWdBSnhCRUFnQnlnQ0JBd0NDeUFIS0FJRUlRb2dEQ0FIUVF4QkNDQUJJQVpKSWd3YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQmlBSExRQUFRZjhCUndSQUlBUWdCVFlDRUVFSUlRVWdCa0VJZENBQ2FpRUNEQUVMSUFaQmp3Rk5CRUFnQkNBRk5nSVFJQVpCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFLUlNBS0lBd2JEQUVMSUFjb0FnUWhDaUFNSUFkQkNFRU1JQUVnQmtraURCdHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBWkJBWFFpQmtHQWdBSkpEUUFMSUFZaEFTQUtJQXBGSUF3YkN5RUdJQXNnSkVFQ2RHb2dGU0FPSUFZZ0UwSFF1d0ZxTFFBQWN5SUdHellDQUNBSklBa29BZ0JCZ0JCeU5nSUFJQWdnQ0NnQ0JFR0FCSEkyQWdRZ0F5QUdRUmwwY2tHQUNISWhBd3NnQVNBU0lBUW9BbXdnQTBFSmRrSHZBM0ZxTFFBQVFRSjBhaUlKS0FJQUlnY29BZ0FpQm1zaEFRSi9JQVlnQWtFUWRrMEVRQ0FDSUFaQkVIUnJJUUlnQVVHQWdBSnhCRUFnQnlnQ0JBd0NDeUFIS0FJRUlRd2dDU0FIUVF4QkNDQUJJQVpKSWdvYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQmlBSExRQUFRZjhCUndSQUlBUWdCVFlDRUVFSUlRVWdCa0VJZENBQ2FpRUNEQUVMSUFaQmp3Rk5CRUFnQkNBRk5nSVFJQVpCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRc2dCVUVCYXlFRklBSkJBWFFoQWlBQlFRRjBJZ0ZCZ0lBQ1NRMEFDeUFNUlNBTUlBb2JEQUVMSUFjb0FnUWhEQ0FKSUFkQkNFRU1JQUVnQmtraUNodHFLQUlBTmdJQUEwQUNRQ0FGRFFBZ0JDZ0NFQ0lIUVFGcUlRVWdCeTBBQVNFQklBY3RBQUJCL3dGSEJFQWdCQ0FGTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlNQVFzZ0FVR1BBVTBFUUNBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZDeUFGUVFGcklRVWdBa0VCZENFQ0lBWkJBWFFpQmtHQWdBSkpEUUFMSUFZaEFTQU1JQXhGSUFvYkMwVU5Bd3NnQVNBU0lBZ29BZ1JCR25aQkJIRWdDRUVFYXlJTUtBSUFRUngyUVFGeElBTkJGWFpCRUhFZ0EwRVpka0hBQUhFZ0EwRUpka0dxQVhGeWNuSnlJaE5CMExrQmFpMEFBRUVDZEdvaUNTZ0NBQ0lLS0FJQUlnWnJJUUVnQmlBQ1FSQjJUUVJBSUFJZ0JrRVFkR3NoQWlBQlFZQ0FBbkVOQVNBS0tBSUVJUWNnQ1NBS1FReEJDQ0FCSUFaSklod2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQlVFQmFpRUtJQVV0QUFFaEJpQUZMUUFBUWY4QlJ3UkFJQVFnQ2pZQ0VFRUlJUVVnQmtFSWRDQUNhaUVDREFFTElBWkJqd0ZOQkVBZ0JDQUtOZ0lRSUFaQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXNnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBSFJTQUhJQndiREFJTElBb29BZ1FoQnlBSklBcEJDRUVNSUFFZ0Jra2lIQnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJRlFRRnFJUW9nQlMwQUFTRUJJQVV0QUFCQi93RkhCRUFnQkNBS05nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTUFRc2dBVUdQQVUwRVFDQUVJQW8yQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQVpCQVhRaUJrR0FnQUpKRFFBTElBWWhBU0FISUFkRklCd2JEQUVMSUFvb0FnUUxJUVlnQ3lBYlFRSjBhaUFWSUE0Z0JpQVRRZEM3QVdvdEFBQnpJZ2NiTmdJQUlBd2dEQ2dDQUVHQWdBRnlOZ0lBSUFnZ0NDZ0NCRUdBSUhJMkFnUWdCQ2dDZkVFQ2RDQUlhaUlHSUFZb0FnUkJCSEkyQWdRZ0JpQUdLQUlNUVFGeU5nSU1JQVlnQmlnQ0NDQUhRUkowY2tFQ2NqWUNDQ0FESUFkQkhIUnlRWURBQUhJaEF3c2dDQ0FEUWYvLy83WjdjVFlDQUFzZ0NFRUVhaUVESUF0QkJHb2hDeUFZUVFGcUloZ2dGRWNOQUFzZ0NFRU1haUVESUFzZ0cwRUNkR29oQ3lBUlFRUnFJaEVnQkNnQ2dBRWlCa0Y4Y1VrTkFBc01BUXRCQkNBR1FYeHhJZ01nQTBFRVRSdEJBV3NpQTBGOGNVRUVhaUVSSUFjZ0EwRUJkRUY0Y1dwQkZHb2hBd3NnQkNBRk5nSUlJQVFnQVRZQ0JDQUVJQUkyQWdBZ0JDQUpOZ0pvSUJSRkRRUWdCaUFSVFEwRUEwQkJBQ0VGSUJFZ0JDZ0NnQUZIQkVBRFFDQUVJQU1nQ3lBRklCUnNRUUowYWlBT0lBVkJBQkJZSUFWQkFXb2lCU0FFS0FLQUFTQVJhMGtOQUFzTElBTWdBeWdDQUVILy8vKzJlM0UyQWdBZ0MwRUVhaUVMSUFOQkJHb2hBeUFYUVFGcUloY2dGRWNOQUFzTUJBdEJCQ0FHUVh4eElnTWdBMEVFVFJ0QkFXc2lBMEY4Y1VFRWFpRVJJQWNnQTBFQmRFRjRjV3BCRkdvaEF3c2dCQ0FGTmdJSUlBUWdBVFlDQkNBRUlBSTJBZ0FnQkNBSk5nSm9JQlJGRFFJZ0JpQVJUUTBDQTBCQkFDRUZJQkVnQkNnQ2dBRkhCRUFEUUNBRUlBTWdDeUFGSUJSc1FRSjBhaUFPSUFWQkFSQllJQVZCQVdvaUJTQUVLQUtBQVNBUmEwa05BQXNMSUFNZ0F5Z0NBRUgvLy8rMmUzRTJBZ0FnQzBFRWFpRUxJQU5CQkdvaEF5QVhRUUZxSWhjZ0ZFY05BQXNNQWdzRFFFRUFJUXdEUUNBRElSRUNRQUpBQW44Q1FBSkFJQVlpRFNnQ0FDSUdSUVJBSUFFZ0VDZ0NBQ0lES0FJQUlnWnJJUUVDZnlBR0lBSkJFSFpMQkVBZ0F5Z0NCQ0VISUJBZ0EwRUlRUXdnQVNBR1NTSUtHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdOQkFXb2hDU0FETFFBQklRRWdBeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBSk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FKTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdCa0VCZENJR1FZQ0FBa2tOQUFzZ0JpRUJJQWNnQjBVZ0Noc01BUXNnQWlBR1FSQjBheUVDSUFGQmdJQUNjVVVFUUNBREtBSUVJUWNnRUNBRFFReEJDQ0FCSUFaSklnb2JhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQmtFQmFpRUpJQVl0QUFFaEF5QUdMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQWsyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBSFJTQUhJQW9iREFFTElBTW9BZ1FMUlFSQUlCQWhDUXdHQ3lBQklBZ29BZ0FpQXlnQ0FDSUdheUVCQW44Z0JpQUNRUkIyU3dSQUlBTW9BZ1FoQnlBSUlBTkJDRUVNSUFFZ0Jra2lDaHRxS0FJQUlnTTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnbEJBV29oQlNBSkxRQUJJUUVnQ1MwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFjZ0IwVWdDaHNNQVFzZ0FpQUdRUkIwYXlFQ0lBRkJnSUFDY1VVRVFDQURLQUlFSVFjZ0NDQURRUXhCQ0NBQklBWkpJZ29iYWlnQ0FDSUROZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUpRUUZxSVFVZ0NTMEFBU0VHSUFrdEFBQkIvd0ZHQkVBZ0JrR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBR1FRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0JrRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQWRGSUFjZ0Noc01BUXNnQXlnQ0JBc2hDaUFCSUFNb0FnQWlCbXNoQVFKL0lBWWdBa0VRZGtzRVFDQURLQUlFSVFjZ0NDQURRUWhCRENBQklBWkpJZzRiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUEwRUJhaUVKSUFNdEFBRWhBU0FETFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBazJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFrMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFHUVFGMElnWkJnSUFDU1EwQUN5QUdJUUVnQnlBSFJTQU9Hd3dCQ3lBQ0lBWkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBTW9BZ1FoQnlBSUlBTkJERUVJSUFFZ0Jra2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJR1FRRnFJUWtnQmkwQUFTRURJQVl0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0NUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQ1RZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBZEZJQWNnRGhzTUFRc2dBeWdDQkFzaEEwRUFJUVlnQ0NFSkFrQUNRQUpBQW44Q1FBSkFJQU1nQ2tFQmRISU9CQUFCQXdVS0N5QUJJQXNnRFNnQ0JFRVJka0VFY1NBTlFRUnJJZ2NvQWdCQkUzWkJBWEZ5SWc1QjBMa0JhaTBBQUVFQ2RHb2lDU2dDQUNJREtBSUFJZ1pySVFFQ2Z5QUdJQUpCRUhaTEJFQWdBeWdDQkNFS0lBa2dBMEVJUVF3Z0FTQUdTU0lTRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnTkJBV29oQ1NBRExRQUJJUUVnQXkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUpOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBSk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQmtFQmRDSUdRWUNBQWtrTkFBc2dCaUVCSUFvZ0NrVWdFaHNNQVFzZ0FpQUdRUkIwYXlFQ0lBRkJnSUFDY1VVRVFDQURLQUlFSVFvZ0NTQURRUXhCQ0NBQklBWkpJaEliYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUJrRUJhaUVKSUFZdEFBRWhBeUFHTFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBazJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFrMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUtSU0FLSUJJYkRBRUxJQU1vQWdRTElRTWdFU0FUSUJRZ0F5QU9RZEM3QVdvdEFBQnpJZ01iTmdJQUlBY2dCeWdDQUVFZ2NqWUNBQ0FOSUEwb0FnUkJDSEkyQWdRZ0EwRVRkQ0ZiSUFFZ0N5QUVLQUpzTFFBQ1FRSjBhaUlIS0FJQUlnTW9BZ0FpQm1zaEFRSi9JQVlnQWtFUWRrc0VRQ0FES0FJRUlRa2dCeUFEUVFoQkRDQUJJQVpKSWc0YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlBMEVCYWlFSElBTXRBQUVoQVNBRExRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQWMyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBYzJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBR1FRRjBJZ1pCZ0lBQ1NRMEFDeUFHSVFFZ0NTQUpSU0FPR3d3QkN5QUNJQVpCRUhScklRSWdBVUdBZ0FKeFJRUkFJQU1vQWdRaENTQUhJQU5CREVFSUlBRWdCa2tpRGh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUdRUUZxSVFjZ0JpMEFBU0VESUFZdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCellDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0J6WUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQWxGSUFrZ0Roc01BUXNnQXlnQ0JBc2hBeUJiUVJCeUlnWWdBMFVOQVJvTElBRWdDeUFOS0FJRVFSUjJRUVJ4SUExQkJHc2lDU2dDQUVFV2RrRUJjU0FHUVE5MlFSQnhJQVpCRTNaQndBQnhJQVpCQTNaQnFnRnhjbkp5Y2lJU1FkQzVBV290QUFCQkFuUnFJZ29vQWdBaUJ5Z0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlN3UkFJQWNvQWdRaERpQUtJQWRCQ0VFTUlBRWdBMGtpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBT0lBNUZJQW9iREFFTElBSWdBMEVRZEdzaEFpQUJRWUNBQW5GRkJFQWdCeWdDQkNFT0lBb2dCMEVNUVFnZ0FTQURTU0lLRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFOQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dEa1VnRGlBS0d3d0JDeUFIS0FJRUN5RURJQkVnRXlBVUlBTWdFa0hRdXdGcUxRQUFjeUlER3pZQ2dBSWdDU0FKS0FJQVFZQUNjallDQUNBTklBMG9BZ1JCd0FCeU5nSUVJQVlnQTBFV2RISkJnQUZ5Q3lFR0lBRWdDeUFFS0FKc0lBWkJCblpCN3dOeGFpMEFBRUVDZEdvaUNTZ0NBQ0lIS0FJQUlnTnJJUUVDZnlBRElBSkJFSFpMQkVBZ0J5Z0NCQ0VLSUFrZ0IwRUlRUXdnQVNBRFNTSU9HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hDU0FITFFBQklRRWdCeTBBQUVIL0FVWUVRQ0FCUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBSk5nSVFJQUZCQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FKTmdJUVFRZ2hCU0FCUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBMEVCZENJRFFZQ0FBa2tOQUFzZ0F5RUJJQW9nQ2tVZ0Roc01BUXNnQWlBRFFSQjBheUVDSUFGQmdJQUNjVVVFUUNBSEtBSUVJUW9nQ1NBSFFReEJDQ0FCSUFOSklnNGJhaWdDQURZQ0FBTkFBa0FnQlEwQUlBUW9BaEFpQjBFQmFpRUpJQWN0QUFFaEF5QUhMUUFBUWY4QlJnUkFJQU5Ca0FGUEJFQWdCQ0FFS0FJTVFRRnFOZ0lNSUFKQmdQNERhaUVDUVFnaEJRd0NDeUFFSUFrMkFoQWdBMEVKZENBQ2FpRUNRUWNoQlF3QkN5QUVJQWsyQWhCQkNDRUZJQU5CQ0hRZ0Ftb2hBZ3NnQlVFQmF5RUZJQUpCQVhRaEFpQUJRUUYwSWdGQmdJQUNTUTBBQ3lBS1JTQUtJQTRiREFFTElBY29BZ1FMUlEwQkN5QUJJQXNnRFNnQ0JFRVhka0VFY1NBTlFRUnJJZ2tvQWdCQkdYWkJBWEVnQmtFU2RrRVFjU0FHUVJaMlFjQUFjU0FHUVFaMlFhb0JjWEp5Y25JaUVrSFF1UUZxTFFBQVFRSjBhaUlLS0FJQUlnY29BZ0FpQTJzaEFRSi9JQU1nQWtFUWRrc0VRQ0FIS0FJRUlRNGdDaUFIUVFoQkRDQUJJQU5KSWdvYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQVNBSExRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFESVFFZ0RpQU9SU0FLR3d3QkN5QUNJQU5CRUhScklRSWdBVUdBZ0FKeFJRUkFJQWNvQWdRaERpQUtJQWRCREVFSUlBRWdBMGtpQ2h0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VESUFjdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQTVGSUE0Z0Noc01BUXNnQnlnQ0JBc2hBeUFSSUJNZ0ZDQURJQkpCMExzQmFpMEFBSE1pQXhzMkFvQUVJQWtnQ1NnQ0FFR0FFSEkyQWdBZ0RTQU5LQUlFUVlBRWNqWUNCQ0FHSUFOQkdYUnlRWUFJY2lFR0N5QUJJQXNnQkNnQ2JDQUdRUWwyUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSURheUVCQW44Z0F5QUNRUkIyU3dSQUlBY29BZ1FoQ2lBSklBZEJDRUVNSUFFZ0Ewa2lEaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FLSUFwRklBNGJEQUVMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0J5Z0NCQ0VLSUFrZ0IwRU1RUWdnQVNBRFNTSU9HMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0NrVWdDaUFPR3d3QkN5QUhLQUlFQzBVTkJRc2dBU0FMSUEwb0FnUkJHblpCQkhFZ0RVRUVheUlPS0FJQVFSeDJRUUZ4SUFaQkZYWkJFSEVnQmtFWmRrSEFBSEVnQmtFSmRrR3FBWEZ5Y25KeUlncEIwTGtCYWkwQUFFRUNkR29pQ1NnQ0FDSUhLQUlBSWdOcklRRWdBeUFDUVJCMlN3UkFJQWNvQWdRaEVpQUpJQWRCQ0VFTUlBRWdBMGtpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBU0lCSkZJQlViREFRTElBSWdBMEVRZEdzaEFpQUJRWUNBQW5FTkFTQUhLQUlFSVJJZ0NTQUhRUXhCQ0NBQklBTkpJaFViYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBeUFITFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QVNSU0FTSUJVYkRBTUxBa0FnQmtHUWdJQUJjUTBBSUFFZ0N5QUVLQUpzSUFaQjd3TnhhaTBBQUVFQ2RHb2lDU2dDQUNJSEtBSUFJZ05ySVFFQ2Z5QURJQUpCRUhaTEJFQWdCeWdDQkNFS0lBa2dCMEVJUVF3Z0FTQURTU0lPRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUUVnQnkwQUFFSC9BVVlFUUNBQlFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFGQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBQlFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQTBFQmRDSURRWUNBQWtrTkFBc2dBeUVCSUFvZ0NrVWdEaHNNQVFzZ0FpQURRUkIwYXlFQ0lBRkJnSUFDY1VVRVFDQUhLQUlFSVFvZ0NTQUhRUXhCQ0NBQklBTkpJZzRiYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBeUFITFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QUtSU0FLSUE0YkRBRUxJQWNvQWdRTFJRMEFJQUVnQ3lBTktBSUVRUkYyUVFSeElBMUJCR3NpQ2lnQ0FFRVRka0VCY1NBR1FRNTJRUkJ4SUFaQkVIWkJ3QUJ4SUFaQnFnRnhjbkp5Y2lJU1FkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlN3UkFJQWNvQWdRaERpQUpJQWRCQ0VFTUlBRWdBMGtpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBT0lBNUZJQlViREFFTElBSWdBMEVRZEdzaEFpQUJRWUNBQW5GRkJFQWdCeWdDQkNFT0lBa2dCMEVNUVFnZ0FTQURTU0lWRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFOQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dEa1VnRGlBVkd3d0JDeUFIS0FJRUN5RURJQkVnRXlBVUlBTWdFa0hRdXdGcUxRQUFjeUlER3pZQ0FDQUtJQW9vQWdCQklISTJBZ0FnRFNBTktBSUVRUWh5TmdJRUlBWWdBMEVUZEhKQkVISWhCZ3NDUUNBR1FZQ0JnQWh4RFFBZ0FTQUxJQVFvQW13Z0JrRURkaUlPUWU4RGNXb3RBQUJCQW5ScUlna29BZ0FpQnlnQ0FDSURheUVCQW44Z0F5QUNRUkIyU3dSQUlBY29BZ1FoQ2lBSklBZEJDRUVNSUFFZ0Ewa2lFaHRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FLSUFwRklCSWJEQUVMSUFJZ0EwRVFkR3NoQWlBQlFZQ0FBbkZGQkVBZ0J5Z0NCQ0VLSUFrZ0IwRU1RUWdnQVNBRFNTSVNHMm9vQWdBMkFnQURRQUpBSUFVTkFDQUVLQUlRSWdkQkFXb2hCU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBQ1FZRCtBMm9oQWtFSUlRVU1BZ3NnQkNBRk5nSVFJQU5CQ1hRZ0Ftb2hBa0VISVFVTUFRc2dCQ0FGTmdJUVFRZ2hCU0FEUVFoMElBSnFJUUlMSUFWQkFXc2hCU0FDUVFGMElRSWdBVUVCZENJQlFZQ0FBa2tOQUFzZ0NrVWdDaUFTR3d3QkN5QUhLQUlFQzBVTkFDQUJJQXNnRFNnQ0JFRVVka0VFY1NBTlFRUnJJZ29vQWdCQkZuWkJBWEVnQmtFUGRrRVFjU0FHUVJOMlFjQUFjU0FPUWFvQmNYSnljbklpRWtIUXVRRnFMUUFBUVFKMGFpSUpLQUlBSWdjb0FnQWlBMnNoQVFKL0lBTWdBa0VRZGtzRVFDQUhLQUlFSVE0Z0NTQUhRUWhCRENBQklBTkpJaFViYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBU0FITFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQVVFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFGQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFEUVFGMElnTkJnSUFDU1EwQUN5QURJUUVnRGlBT1JTQVZHd3dCQ3lBQ0lBTkJFSFJySVFJZ0FVR0FnQUp4UlFSQUlBY29BZ1FoRGlBSklBZEJERUVJSUFFZ0Ewa2lGUnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRURJQWN0QUFCQi93RkdCRUFnQTBHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FEUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQTBFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQUZCQVhRaUFVR0FnQUpKRFFBTElBNUZJQTRnRlJzTUFRc2dCeWdDQkFzaEF5QVJJQk1nRkNBRElCSkIwTHNCYWkwQUFITWlBeHMyQW9BQ0lBb2dDaWdDQUVHQUFuSTJBZ0FnRFNBTktBSUVRY0FBY2pZQ0JDQUdJQU5CRm5SeVFZQUJjaUVHQ3dKQUlBWkJnSWlBd0FCeERRQWdBU0FMSUFRb0Ftd2dCa0VHZGlJT1FlOERjV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lEYXlFQkFuOGdBeUFDUVJCMlN3UkFJQWNvQWdRaENpQUpJQWRCQ0VFTUlBRWdBMGtpRWh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VCSUFjdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFOQkFYUWlBMEdBZ0FKSkRRQUxJQU1oQVNBS0lBcEZJQkliREFFTElBSWdBMEVRZEdzaEFpQUJRWUNBQW5GRkJFQWdCeWdDQkNFS0lBa2dCMEVNUVFnZ0FTQURTU0lTRzJvb0FnQTJBZ0FEUUFKQUlBVU5BQ0FFS0FJUUlnZEJBV29oQlNBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUNRWUQrQTJvaEFrRUlJUVVNQWdzZ0JDQUZOZ0lRSUFOQkNYUWdBbW9oQWtFSElRVU1BUXNnQkNBRk5nSVFRUWdoQlNBRFFRaDBJQUpxSVFJTElBVkJBV3NoQlNBQ1FRRjBJUUlnQVVFQmRDSUJRWUNBQWtrTkFBc2dDa1VnQ2lBU0d3d0JDeUFIS0FJRUMwVU5BQ0FCSUFzZ0RTZ0NCRUVYZGtFRWNTQU5RUVJySWdvb0FnQkJHWFpCQVhFZ0JrRVNka0VRY1NBR1FSWjJRY0FBY1NBT1Fhb0JjWEp5Y25JaUVrSFF1UUZxTFFBQVFRSjBhaUlKS0FJQUlnY29BZ0FpQTJzaEFRSi9JQU1nQWtFUWRrc0VRQ0FIS0FJRUlRNGdDU0FIUVFoQkRDQUJJQU5KSWhVYmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQVNBSExRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFESVFFZ0RpQU9SU0FWR3d3QkN5QUNJQU5CRUhScklRSWdBVUdBZ0FKeFJRUkFJQWNvQWdRaERpQUpJQWRCREVFSUlBRWdBMGtpRlJ0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSUhRUUZxSVFVZ0J5MEFBU0VESUFjdEFBQkIvd0ZHQkVBZ0EwR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBRFFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0EwRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFGQkFYUWlBVUdBZ0FKSkRRQUxJQTVGSUE0Z0ZSc01BUXNnQnlnQ0JBc2hBeUFSSUJNZ0ZDQURJQkpCMExzQmFpMEFBSE1pQXhzMkFvQUVJQW9nQ2lnQ0FFR0FFSEkyQWdBZ0RTQU5LQUlFUVlBRWNqWUNCQ0FHSUFOQkdYUnlRWUFJY2lFR0N5QUdRWURBZ0lBRWNRMERJQUVnQ3lBRUtBSnNJQVpCQ1hZaUVrSHZBM0ZxTFFBQVFRSjBhaUlKS0FJQUlnRW9BZ0FpQTJzaEJ3Si9JQU1nQWtFUWRrc0VRQ0FCS0FJRUlRb2dDU0FCUVFoQkRDQURJQWRMSWc0YmFpZ0NBRFlDQUFOQUFrQWdCUTBBSUFRb0FoQWlCMEVCYWlFRklBY3RBQUVoQVNBSExRQUFRZjhCUmdSQUlBRkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQUpCZ1A0RGFpRUNRUWdoQlF3Q0N5QUVJQVUyQWhBZ0FVRUpkQ0FDYWlFQ1FRY2hCUXdCQ3lBRUlBVTJBaEJCQ0NFRklBRkJDSFFnQW1vaEFnc2dCVUVCYXlFRklBSkJBWFFoQWlBRFFRRjBJZ05CZ0lBQ1NRMEFDeUFESVFjZ0NpQUtSU0FPR3d3QkN5QUNJQU5CRUhScklRSWdCMEdBZ0FKeFJRUkFJQUVvQWdRaENpQUpJQUZCREVFSUlBTWdCMHNpRGh0cUtBSUFOZ0lBQTBBQ1FDQUZEUUFnQkNnQ0VDSURRUUZxSVFVZ0F5MEFBU0VCSUFNdEFBQkIvd0ZHQkVBZ0FVR1FBVThFUUNBRUlBUW9BZ3hCQVdvMkFnd2dBa0dBL2dOcUlRSkJDQ0VGREFJTElBUWdCVFlDRUNBQlFRbDBJQUpxSVFKQkJ5RUZEQUVMSUFRZ0JUWUNFRUVJSVFVZ0FVRUlkQ0FDYWlFQ0N5QUZRUUZySVFVZ0FrRUJkQ0VDSUFkQkFYUWlCMEdBZ0FKSkRRQUxJQXBGSUFvZ0Roc01BUXNnQVNnQ0JBdEZCRUFnQnlFQkRBUUxJQWNnQ3lBTktBSUVRUnAyUVFSeElBMUJCR3NpRGlnQ0FFRWNka0VCY1NBR1FSVjJRUkJ4SUFaQkdYWkJ3QUJ4SUJKQnFnRnhjbkp5Y2lJS1FkQzVBV290QUFCQkFuUnFJZ2tvQWdBaUJ5Z0NBQ0lCYXlFRElBRWdBa0VRZGtzRVFDQUhLQUlFSVJJZ0NTQUhRUWhCRENBQklBTkxJaFViYWlnQ0FEWUNBQU5BQWtBZ0JRMEFJQVFvQWhBaUIwRUJhaUVGSUFjdEFBRWhBeUFITFFBQVFmOEJSZ1JBSUFOQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBSkJnUDREYWlFQ1FRZ2hCUXdDQ3lBRUlBVTJBaEFnQTBFSmRDQUNhaUVDUVFjaEJRd0JDeUFFSUFVMkFoQkJDQ0VGSUFOQkNIUWdBbW9oQWdzZ0JVRUJheUVGSUFKQkFYUWhBaUFCUVFGMElnRkJnSUFDU1EwQUN5QVNJQkpGSUJVYkRBTUxJQUlnQVVFUWRHc2hBaUFEUVlDQUFuRkZEUUVnQXlFQkN5QUhLQUlFREFFTElBY29BZ1FoRWlBSklBZEJERUVJSUFFZ0Ewc2lGUnRxS0FJQU5nSUFBMEFDUUNBRkRRQWdCQ2dDRUNJSFFRRnFJUVVnQnkwQUFTRUJJQWN0QUFCQi93RkdCRUFnQVVHUUFVOEVRQ0FFSUFRb0FneEJBV28yQWd3Z0FrR0EvZ05xSVFKQkNDRUZEQUlMSUFRZ0JUWUNFQ0FCUVFsMElBSnFJUUpCQnlFRkRBRUxJQVFnQlRZQ0VFRUlJUVVnQVVFSWRDQUNhaUVDQ3lBRlFRRnJJUVVnQWtFQmRDRUNJQU5CQVhRaUEwR0FnQUpKRFFBTElBTWhBU0FTUlNBU0lCVWJDeUVESUJFZ0V5QVVJQU1nQ2tIUXV3RnFMUUFBY3lJREd6WUNnQVlnRGlBT0tBSUFRWUNBQVhJMkFnQWdEU0FOS0FJRVFZQWdjallDQkNBTklBMG9Bb1FDUVFSeU5nS0VBaUFOSUEwb0Fvd0NRUUZ5TmdLTUFpQU5JQTBvQW9nQ0lBTkJFblJ5UVFKeU5nS0lBaUFHSUFOQkhIUnlRWURBQUhJaEJnc2dEU0FHUWYvLy83WjdjVFlDQUFzZ0RVRUVhaUVHSUJGQkJHb2hBeUFNUVFGcUlneEJ3QUJIRFFBTElBMUJER29oQmlBUlFZUUdhaUVESUJkQlBFa2hYQ0FYUVFScUlSY2dYQTBBQ3dzZ0JDQUZOZ0lJSUFRZ0FUWUNCQ0FFSUFJMkFnQWdCQ0FKTmdKb0N3SkFJQlpCSUhGRkRRQWdCQ0FFUWVRQWFqWUNhQ0FFSUFRb0FnUWdCQ2dDWkNJR0tBSUFJZ0ZySWdJMkFnUUNRQ0FCSUFRb0FnQWlCVUVRZGtzRVFDQUVJQUUyQWdRZ0JDQUdRUWhCRENBQklBSkxHMm9vQWdBaUJqWUNaQ0FFS0FJSUlRSURRQUpBSUFJTkFDQUVLQUlRSWdkQkFXb2hDU0FITFFBQklRTWdCeTBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBRlFZRCtBMm9oQlVFSUlRSU1BZ3NnQkNBSk5nSVFJQU5CQ1hRZ0JXb2hCVUVISVFJTUFRc2dCQ0FKTmdJUVFRZ2hBaUFEUVFoMElBVnFJUVVMSUFRZ0FrRUJheUlDTmdJSUlBUWdCVUVCZENJRk5nSUFJQVFnQVVFQmRDSUJOZ0lFSUFGQmdJQUNTUTBBQ3lBQklRSU1BUXNnQkNBRklBRkJFSFJySWdVMkFnQWdBa0dBZ0FKeERRQWdCQ0FHUVF4QkNDQUJJQUpMRzJvb0FnQWlCallDWkNBRUtBSUlJUUVEUUFKQUlBRU5BQ0FFS0FJUUlnRkJBV29oQnlBQkxRQUJJUU1nQVMwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUZRWUQrQTJvaEJVRUlJUUVNQWdzZ0JDQUhOZ0lRSUFOQkNYUWdCV29oQlVFSElRRU1BUXNnQkNBSE5nSVFRUWdoQVNBRFFRaDBJQVZxSVFVTElBUWdBVUVCYXlJQk5nSUlJQVFnQlVFQmRDSUZOZ0lBSUFRZ0FrRUJkQ0lDTmdJRUlBSkJnSUFDU1EwQUN3c2dCQ0FDSUFZb0FnQWlBV3NpQWpZQ0JBSkFJQUVnQlVFUWRrc0VRQ0FFSUFFMkFnUWdCQ0FHUVFoQkRDQUJJQUpMRzJvb0FnQWlCallDWkNBRUtBSUlJUUlEUUFKQUlBSU5BQ0FFS0FJUUlnZEJBV29oQ1NBSExRQUJJUU1nQnkwQUFFSC9BVVlFUUNBRFFaQUJUd1JBSUFRZ0JDZ0NERUVCYWpZQ0RDQUZRWUQrQTJvaEJVRUlJUUlNQWdzZ0JDQUpOZ0lRSUFOQkNYUWdCV29oQlVFSElRSU1BUXNnQkNBSk5nSVFRUWdoQWlBRFFRaDBJQVZxSVFVTElBUWdBa0VCYXlJQ05nSUlJQVFnQlVFQmRDSUZOZ0lBSUFRZ0FVRUJkQ0lCTmdJRUlBRkJnSUFDU1EwQUN5QUJJUUlNQVFzZ0JDQUZJQUZCRUhScklnVTJBZ0FnQWtHQWdBSnhEUUFnQkNBR1FReEJDQ0FCSUFKTEcyb29BZ0FpQmpZQ1pDQUVLQUlJSVFFRFFBSkFJQUVOQUNBRUtBSVFJZ0ZCQVdvaEJ5QUJMUUFCSVFNZ0FTMEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FGUVlEK0Eyb2hCVUVJSVFFTUFnc2dCQ0FITmdJUUlBTkJDWFFnQldvaEJVRUhJUUVNQVFzZ0JDQUhOZ0lRUVFnaEFTQURRUWgwSUFWcUlRVUxJQVFnQVVFQmF5SUJOZ0lJSUFRZ0JVRUJkQ0lGTmdJQUlBUWdBa0VCZENJQ05nSUVJQUpCZ0lBQ1NRMEFDd3NnQkNBQ0lBWW9BZ0FpQVdzaUFqWUNCQUpBSUFFZ0JVRVFka3NFUUNBRUlBRTJBZ1FnQkNBR1FRaEJEQ0FCSUFKTEcyb29BZ0FpQmpZQ1pDQUVLQUlJSVFJRFFBSkFJQUlOQUNBRUtBSVFJZ2RCQVdvaENTQUhMUUFCSVFNZ0J5MEFBRUgvQVVZRVFDQURRWkFCVHdSQUlBUWdCQ2dDREVFQmFqWUNEQ0FGUVlEK0Eyb2hCVUVJSVFJTUFnc2dCQ0FKTmdJUUlBTkJDWFFnQldvaEJVRUhJUUlNQVFzZ0JDQUpOZ0lRUVFnaEFpQURRUWgwSUFWcUlRVUxJQVFnQWtFQmF5SUNOZ0lJSUFRZ0JVRUJkQ0lGTmdJQUlBUWdBVUVCZENJQk5nSUVJQUZCZ0lBQ1NRMEFDeUFCSVFJTUFRc2dCQ0FGSUFGQkVIUnJJZ1UyQWdBZ0FrR0FnQUp4RFFBZ0JDQUdRUXhCQ0NBQklBSkxHMm9vQWdBaUJqWUNaQ0FFS0FJSUlRRURRQUpBSUFFTkFDQUVLQUlRSWdGQkFXb2hCeUFCTFFBQklRTWdBUzBBQUVIL0FVWUVRQ0FEUVpBQlR3UkFJQVFnQkNnQ0RFRUJhallDRENBRlFZRCtBMm9oQlVFSUlRRU1BZ3NnQkNBSE5nSVFJQU5CQ1hRZ0JXb2hCVUVISVFFTUFRc2dCQ0FITmdJUVFRZ2hBU0FEUVFoMElBVnFJUVVMSUFRZ0FVRUJheUlCTmdJSUlBUWdCVUVCZENJRk5nSUFJQVFnQWtFQmRDSUNOZ0lFSUFKQmdJQUNTUTBBQ3dzZ0JDQUNJQVlvQWdBaUFXc2lBallDQkNBQklBVkJFSFpMQkVBZ0JDQUJOZ0lFSUFRZ0JrRUlRUXdnQVNBQ1N4dHFLQUlBTmdKa0lBUW9BZ2doQWdOQUFrQWdBZzBBSUFRb0FoQWlCa0VCYWlFSElBWXRBQUVoQXlBR0xRQUFRZjhCUmdSQUlBTkJrQUZQQkVBZ0JDQUVLQUlNUVFGcU5nSU1JQVZCZ1A0RGFpRUZRUWdoQWd3Q0N5QUVJQWMyQWhBZ0EwRUpkQ0FGYWlFRlFRY2hBZ3dCQ3lBRUlBYzJBaEJCQ0NFQ0lBTkJDSFFnQldvaEJRc2dCQ0FDUVFGcklnSTJBZ2dnQkNBRlFRRjBJZ1UyQWdBZ0JDQUJRUUYwSWdFMkFnUWdBVUdBZ0FKSkRRQUxEQUVMSUFRZ0JTQUJRUkIwYXlJSE5nSUFJQUpCZ0lBQ2NRMEFJQVFnQmtFTVFRZ2dBU0FDU3h0cUtBSUFOZ0prSUFRb0FnZ2hCUU5BQWtBZ0JRMEFJQVFvQWhBaUEwRUJhaUVHSUFNdEFBRWhBU0FETFFBQVFmOEJSZ1JBSUFGQmtBRlBCRUFnQkNBRUtBSU1RUUZxTmdJTUlBZEJnUDREYWlFSFFRZ2hCUXdDQ3lBRUlBWTJBaEFnQVVFSmRDQUhhaUVIUVFjaEJRd0JDeUFFSUFZMkFoQkJDQ0VGSUFGQkNIUWdCMm9oQndzZ0JDQUZRUUZySWdVMkFnZ2dCQ0FIUVFGMElnYzJBZ0FnQkNBQ1FRRjBJZ0kyQWdRZ0FrR0FnQUpKRFFBTEN3c2dKdzBBSUFRUVdpQUVRYkNwQVRZQ1pDQUVRZENlQVRZQ1lDQUVRZkNlQVRZQ0hBdEJBQ0FmUVFGcUlnRWdBVUVEUmlJQkd5RWZJQmtnQVdzaEdTQW1RUUZxSWlZZ0lDZ0NDRThOQVNBWlFRQktEUUFMQ3lBb0lDcHFJU2dnQkNnQ0dDQUVMd0Z3T3dBQUlDbEJBV29pS1NBYUtBSXNTUTBBQ3dzQ1FDQXJSUTBBQWtBZ0JDZ0NHQ0lCSUFRb0FoQWlBMEVDYWtzRVFDQWhSUTBCSUNNZ0FTQUVLQUlVSWdack5nSTRJQ01nQXlBR2F6WUNOQ0FqSUFFZ0EydEJBbXMyQWpBZ0hVRUNRWkR5QUNBalFUQnFFQThNQWdzZ0JDZ0NEQ0lCUVFOSkRRRWdJUVJBSUNNZ0FUWUNVQ0FkUVFKQjZUVWdJMEhRQUdvUUR3d0NDeUFqSUFFMkFrQWdIVUVDUWVrMUlDTkJRR3NRRHd3QkN5QWpJQUVnQkNnQ0ZDSUdhellDS0NBaklBTWdCbXMyQWlRZ0l5QUJJQU5yUVFKck5nSWdJQjFCQWtHUThnQWdJMEVnYWhBUEN5QWFLQUk4UlEwQUlBUWdMRFlDZEFzZ01DZ0NCQ0VCSUJvb0Fnd2hYU0FhS0FJSUlEQW9BZ0JySVFnZ01DZ0NFQ0lHUVFGeEJFQWdNaWdDSENBM1FaZ0JiR29pQjBHUUFXc29BZ0FnQ0dvZ0IwR1lBV3NvQWdCcklRZ0xJRjBnQVdzaEF5QUdRUUp4QkVBZ01pZ0NIQ0EzUVpnQmJHb2lBVUdNQVdzb0FnQWdBMm9nQVVHVUFXc29BZ0JySVFNTElCb29BandpQmlFQ0lBWkZCRUFnQkNnQ2RDRUNDeUFFS0FLQUFTRVdJQVFvQW53aERRSkFJQzhvQXFnR0lnZEZEUUFnRmtVZ0RVVnlJUUVnQjBFZVRBUkFJQUVOQVVFQUlSQURRQ0FOSUJCc0lRUkJBQ0VCQTBBZ0FpQUJJQVJxUVFKMGFpSVJLQUlBSWdrZ0NVRWZkU0lGY3lBRmF5SUZJQWQyQkVBZ0VVRUFJQVVnTHlnQ3FBWjJJaEZySUJFZ0NVRUFTQnMyQWdBTElBRkJBV29pQVNBTlJ3MEFDeUFRUVFGcUloQWdGa2NOQUFzTUFRc2dBUTBBSUFKQkFDQU5JQlpzUVFKMEVCVWFDeUFHQkVBZ0RTQVdiQ0VHSUM4b0FoUkJBVVlFUUNBR1JRMEZRUUFoQVNBR1FRUlBCRUFnQmtGOGNTRUJRUUFoQkFOQUlBSWdCRUVDZEdvaUF5QUQvUUFDQUNKZS9Sc0FRUUp0L1JFZ1h2MGJBVUVDYmYwY0FTQmUvUnNDUVFKdC9Sd0NJRjc5R3dOQkFtMzlIQVA5Q3dJQUlBUkJCR29pQkNBQlJ3MEFDeUFCSUFaR0RRWUxBMEFnQWlBQlFRSjBhaUlESUFNb0FnQkJBbTAyQWdBZ0FVRUJhaUlCSUFaSERRQUxEQVVMSUFaRkRRUWdNQ29DSUVNQUFBQS9sQ0ZtUVFBaEJBSkFJQVpCQkVrRVFDQUNJUUVNQVFzZ0FpQUdRWHh4SWdSQkFuUnFJUUVnWnYwVElWNUJBQ0VEQTBBZ0FpQURRUUowYWlJSElGNGdCLzBBQWdEOStnSDk1Z0g5Q3dJQUlBTkJCR29pQXlBRVJ3MEFDeUFFSUFaR0RRVUxBMEFnQVNCbUlBRW9BZ0N5bERnQ0FDQUJRUVJxSVFFZ0JFRUJhaUlFSUFaSERRQUxEQVFMSURZZ05Xc2hFU0F2S0FJVVFRRkhEUUlnRmtVTkF5QXlLQUlrSWdZZ0F5QVJiQ0lEUVFKMGFpQUlRUUowYWlFSklBMUJmSEVpREVFQmF5SUJRUVJ4SVFzZ05pQU5JRFZxYTBFQ2RDRWFJQUZCQW5aQkFXcEIvdi8vL3dkeElSMGdBeUFJYWtFQ2RDQUdhaUFDYXlFS1FRQWhDQ0FCUVFOSElSUURRRUVBSVFFQ1FDQU1SUTBBSUFnZ0RXd2hBeUFKSUFnZ0VXeEJBblJxSVFaQkFDRUhJQlFFUUFOQUlBWWdBVUVDZEdvZ0FpQUJJQU5xUVFKMGF2MEFBZ0FpWHYwYkFFRUNiZjBSSUY3OUd3RkJBbTM5SEFFZ1h2MGJBa0VDYmYwY0FpQmUvUnNEUVFKdC9Sd0QvUXNDQUNBR0lBRkJCSElpQkVFQ2RHb2dBaUFESUFScVFRSjBhdjBBQWdBaVh2MGJBRUVDYmYwUklGNzlHd0ZCQW0zOUhBRWdYdjBiQWtFQ2JmMGNBaUJlL1JzRFFRSnQvUndEL1FzQ0FDQUJRUWhxSVFFZ0IwRUNhaUlISUIxSERRQUxDeUFMRFFBZ0JpQUJRUUowYWlBQ0lBRWdBMnBCQW5ScS9RQUNBQ0plL1JzQVFRSnQvUkVnWHYwYkFVRUNiZjBjQVNCZS9Sc0NRUUp0L1J3Q0lGNzlHd05CQW0zOUhBUDlDd0lBSUFGQkJHb2hBUXNDUUNBQklBMVBEUUFnQ0NBTmJDRURJQWtnQ0NBUmJFRUNkR29oQndKQUlBMGdBV3NpRUVFRVNRUkFJQUVoQkF3QkN5QUtJQWdnR214cVFSQkpCRUFnQVNFRURBRUxJQUVnRUVGOGNTSUZhaUVFUVFBaEJnTkFJQWNnQVNBR2FpSWhRUUowYWlBQ0lBTWdJV3BCQW5ScS9RQUNBQ0plL1JzQVFRSnQvUkVnWHYwYkFVRUNiZjBjQVNCZS9Sc0NRUUp0L1J3Q0lGNzlHd05CQW0zOUhBUDlDd0lBSUFaQkJHb2lCaUFGUncwQUN5QUZJQkJHRFFFTElBUkJBV29oQVNBTklBUnJRUUZ4QkVBZ0J5QUVRUUowYWlBQ0lBTWdCR3BCQW5ScUtBSUFRUUp0TmdJQUlBRWhCQXNnQVNBTlJnMEFBMEFnQnlBRVFRSjBhaUFDSUFNZ0JHcEJBblJxS0FJQVFRSnROZ0lBSUFjZ0JFRUJhaUlCUVFKMGFpQUNJQUVnQTJwQkFuUnFLQUlBUVFKdE5nSUFJQVJCQW1vaUJDQU5SdzBBQ3dzZ0NFRUJhaUlJSUJaSERRQUxEQU1MSUNNZ0dUWUNBQ0FkUVFKQjFjRUFJQ01RRHdzZ0VDZ0NBRUVBTmdJQURBRUxJQlpGRFFBZ0RVVU5BQ0F5S0FJa0lBTWdFV3hCQW5ScUlBaEJBblJxSVFjZ0RVRjhjU0lEUVFKMElRWWdNQ29DSUVNQUFBQS9sQ0ptL1JNaFhrRUFJUkFnRFVFRVNTRUlBMEFDUUFKQUlBZ0VRQ0FDSVFrZ0J5RUJRUUFoQkF3QkN5QUdJQWRxSVFFZ0FpQUdhaUVKUVFBaEJBTkFJQWNnQkVFQ2RDSUZhaUJlSUFJZ0JXcjlBQUlBL2ZvQi9lWUIvUXNDQUNBRVFRUnFJZ1FnQTBjTkFBc2dDU0VDSUFNaUJDQU5SZzBCQ3lBSklRSURRQ0FCSUdZZ0FpZ0NBTEtVT0FJQUlBRkJCR29oQVNBQ1FRUnFJUUlnQkVFQmFpSUVJQTFIRFFBTEN5QUhJQkZCQW5ScUlRY2dFRUVCYWlJUUlCWkhEUUFMQ3lBQUVCQWdJMEhnQUdva0FBdldCQUVKZnlBQUtBSXNRUWhQQkVBZ0FDZ0NLQ0VGUVFnaENnTkFJQUFvQWd4QkJYUWhDQ0FBS0FJQUlRUWdBQ2dDSkNFREFrQWdBQ2dDRkNJR0lBQW9BaEFpQVUwTkFDQUVJQWhxSVFjZ0FVRUJhaUVDSUFZZ0FXdEJBWEVFUUNBSElBRkJCblJxSWdrZ0JTQUJJQU5zUVFKMGFpSUIvUUFDQVAwTEFnQWdDU0FCL1FBQ0VQMExBaEFnQWlFQkN5QUNJQVpHRFFBRFFDQUhJQUZCQm5ScUlnSWdCU0FCSUFOc1FRSjBhaUlKL1FBQ0FQMExBZ0FnQWlBSi9RQUNFUDBMQWhBZ0J5QUJRUUZxSWdKQkJuUnFJZ2tnQlNBQ0lBTnNRUUowYWlJQy9RQUNFUDBMQWhBZ0NTQUMvUUFDQVAwTEFnQWdBVUVDYWlJQklBWkhEUUFMQ3dKQUlBQW9BaHdpQmlBQUtBSVlJZ0ZORFFBZ0JDQUlhMEVnYWlFSElBVWdBQ2dDQ0NBRGJFRUNkR29oQ0NBQlFRRnFJUUlnQmlBQmEwRUJjUVJBSUFjZ0FVRUdkR29pQkNBSUlBRWdBMnhCQW5ScUlnSDlBQUlBL1FzQ0FDQUVJQUg5QUFJUS9Rc0NFQ0FDSVFFTElBSWdCa1lOQUFOQUlBY2dBVUVHZEdvaUFpQUlJQUVnQTJ4QkFuUnFJZ1Q5QUFJQS9Rc0NBQ0FDSUFUOUFBSVEvUXNDRUNBSElBRkJBV29pQWtFR2RHb2lCQ0FJSUFJZ0EyeEJBblJxSWdMOUFBSVEvUXNDRUNBRUlBTDlBQUlBL1FzQ0FDQUJRUUpxSWdFZ0JrY05BQXNMSUFBUUlrRUFJUUVnQUNnQ0lBUkFBMEFnQlNBQUtBSWtJQUZzUVFKMGFpSUNJQUFvQWdBZ0FVRUZkR29pQS8wQUFnRDlDd0lBSUFJZ0EvMEFBaEQ5Q3dJUUlBRkJBV29pQVNBQUtBSWdTUTBBQ3dzZ0JVRWdhaUVGSUFwQkNHb2lDaUFBS0FJc1RRMEFDd3NnQUNnQ0FCQVFJQUFRRUF2M0RRRWxmeUFBS0FJc1FRaFBCRUFnQUNnQ0pDSUtRUVYwSVI0Z0NrRUhiQ0VXSUFwQkJtd2hGeUFLUVFWc0lSZ2dDa0VEYkNFWklBcEJBWFFoR2lBQUtBSW9JZ0VnQ2tFY2JHb2hIeUFCSUFwQkdHeHFJU0FnQVNBS1FSUnNhaUVoSUFFZ0NrRUVkR29oSWlBQklBcEJER3hxSVNNZ0FTQUtRUU4wSWlScUlTVWdBU0FLUVFKMElodHFJU1pCQ0NFY0EwQWdBQ0FCSUFBb0FpUkJDQkE3SUFBUUlnSkFJQUFvQWlBaUMwVU5BQ0FkSUI1c0lRZ2dBQ2dDQUNFR1FRQWhCQUpBQWtBZ0MwSG9Ba2tOQUNBR1FReHFJZzRnQzBFQmF5SUNRUVYwSWdOcUlBNUpEUUFnQmtFSWFpSVBJQU5xSUE5SkRRQWdBeUFHYWlBR1NRMEFJQVpCQkdvaUVDQURhaUFRU1EwQUlBSkIvLy8vUDBzTkFDQUJJQWdnSm1vaUF5QUxRUUowSWdWcUlneEpJQU1nQVNBRmFpSUhTWEVOQUNBQklBZ2dKV29pQWlBRmFpSU5TU0FDSUFkSmNRMEFJQUVnQlNBSUlDTnFJZ2xxSWdWSklBY2dDVXR4RFFBZ0JpQUhTU0FCSUFZZ0MwRUZkR29pRVVFY2F5SVNTWEVOQUNBQklCRkJHR3NpRTBrZ0J5QVFTM0VOQUNBQklCRkJGR3NpRkVrZ0J5QVBTM0VOQUNBSElBNUxJQUVnRVVFUWF5SUhTWEVOQUNBRElBMUpJQUlnREVseERRQWdBeUFGU1NBSklBeEpjUTBBSUFNZ0Vra2dCaUFNU1hFTkFDQURJQk5KSUF3Z0VFdHhEUUFnQXlBVVNTQU1JQTlMY1EwQUlBTWdCMGtnRENBT1MzRU5BQ0FDSUFWSklBa2dEVWx4RFFBZ0FpQVNTU0FHSUExSmNRMEFJQUlnRTBrZ0RTQVFTM0VOQUNBQ0lCUkpJQTBnRDB0eERRQWdBaUFIU1NBTklBNUxjUTBBSUFrZ0Vra2dCU0FHUzNFTkFDQUpJQk5KSUFVZ0VFdHhEUUFnQ1NBVVNTQUZJQTlMY1EwQUlBY2dDVXNnQlNBT1MzRU5BQ0FMUWZ6Ly8vOEFjU0VFUVFBaEF3TkFJQUVnQTBFQ2RHb2dCaUFEUVFWMGFpSUMvUWtDQUNBQ0tnSWcvU0FCSUFKQlFHc3FBZ0Q5SUFJZ0Fpb0NZUDBnQS8wTEFnQWdBU0FESUFwcVFRSjBhaUFDL1FrQ0JDQUNLZ0lrL1NBQklBSXFBa1Q5SUFJZ0Fpb0NaUDBnQS8wTEFnQWdBU0FESUJwcVFRSjBhaUFDL1FrQ0NDQUNLZ0lvL1NBQklBSXFBa2o5SUFJZ0Fpb0NhUDBnQS8wTEFnQWdBU0FESUJscVFRSjBhaUFDL1FrQ0RDQUNLZ0lzL1NBQklBSXFBa3o5SUFJZ0Fpb0NiUDBnQS8wTEFnQWdBMEVFYWlJRElBUkhEUUFMSUFRZ0MwWU5BUXNEUUNBQklBUkJBblJxSUFZZ0JFRUZkR29pQXlvQ0FEZ0NBQ0FCSUFRZ0NtcEJBblJxSUFNcUFnUTRBZ0FnQVNBRUlCcHFRUUowYWlBREtnSUlPQUlBSUFFZ0JDQVpha0VDZEdvZ0F5b0NERGdDQUNBRVFRRnFJZ1FnQzBjTkFBc0xJQUFvQWdBaEJrRUFJUVFDUUNBTFFkd0FTUTBBSUFaQkhHb2lEeUFMUVFGcklnSkJCWFFpQTJvZ0Qwa05BQ0FHUVJocUloQWdBMm9nRUVrTkFDQUdRUkJxSWhFZ0Eyb2dFVWtOQUNBR1FSUnFJaElnQTJvZ0Vra05BQ0FDUWYvLy96OUxEUUFnQ0NBaWFpSURJQWdnSVdvaUFpQUxRUUowSWdWcUlneEpJQUlnQXlBRmFpSUhTWEVOQUNBRElBZ2dJR29pQ1NBRmFpSU5TU0FISUFsTGNRMEFJQU1nQ0NBZmFpSUlJQVZxSWdWSklBY2dDRXR4RFFBZ0F5QUdJQXRCQlhScUlnNUJER3NpRTBrZ0J5QVJTM0VOQUNBRElBNUJDR3NpRkVrZ0J5QVNTM0VOQUNBRElBNUJCR3NpRlVrZ0J5QVFTM0VOQUNBRElBNUpJQWNnRDB0eERRQWdBaUFOU1NBSklBeEpjUTBBSUFJZ0JVa2dDQ0FNU1hFTkFDQUNJQk5KSUF3Z0VVdHhEUUFnQWlBVVNTQU1JQkpMY1EwQUlBSWdGVWtnRENBUVMzRU5BQ0FDSUE1SklBd2dEMHR4RFFBZ0NDQU5TU0FGSUFsTGNRMEFJQWtnRTBrZ0RTQVJTM0VOQUNBSklCUkpJQTBnRWt0eERRQWdDU0FWU1NBTklCQkxjUTBBSUFrZ0Rra2dEU0FQUzNFTkFDQUlJQk5KSUFVZ0VVdHhEUUFnQ0NBVVNTQUZJQkpMY1EwQUlBZ2dGVWtnQlNBUVMzRU5BQ0FJSUE1SklBVWdEMHR4RFFBZ0MwSDgvLy8vQUhFaEJFRUFJUU1EUUNBQklBTWdHMnBCQW5ScUlBWWdBMEVGZEdvaUF2MEpBaEFnQWlvQ01QMGdBU0FDS2dKUS9TQUNJQUlxQW5EOUlBUDlDd0lBSUFFZ0F5QVlha0VDZEdvZ0F2MEpBaFFnQWlvQ05QMGdBU0FDS2dKVS9TQUNJQUlxQW5UOUlBUDlDd0lBSUFFZ0F5QVhha0VDZEdvZ0F2MEpBaGdnQWlvQ09QMGdBU0FDS2dKWS9TQUNJQUlxQW5qOUlBUDlDd0lBSUFFZ0F5QVdha0VDZEdvZ0F2MEpBaHdnQWlvQ1BQMGdBU0FDS2dKYy9TQUNJQUlxQW56OUlBUDlDd0lBSUFOQkJHb2lBeUFFUncwQUN5QUVJQXRHRFFFTEEwQWdBU0FFSUJ0cVFRSjBhaUFHSUFSQkJYUnFJZ01xQWhBNEFnQWdBU0FFSUJocVFRSjBhaUFES2dJVU9BSUFJQUVnQkNBWGFrRUNkR29nQXlvQ0dEZ0NBQ0FCSUFRZ0ZtcEJBblJxSUFNcUFodzRBZ0FnQkVFQmFpSUVJQXRIRFFBTEN5QWRRUUZxSVIwZ0FTQWtRUUowYWlFQklCeEJDR29pSENBQUtBSXNUUTBBQ3dzZ0FDZ0NBQkFRSUFBUUVBdHpBUUovSUFBb0Fod2lBVUVJYWlJRElBQW9BaUFpQWswRVFBTkFJQUFnQUNnQ0dDQUJRUUowYWlBQUtBSVVRUWdRTUNBRElnRkJDR29pQXlBQUtBSWdJZ0pORFFBTEN5QUJJQUpKQkVBZ0FDQUFLQUlZSUFGQkFuUnFJQUFvQWhRZ0FpQUJheEF3Q3lBQUtBSUFFQkFnQUJBUUMwUUFJQUFvQWh3aUFTQUFLQUlnU1FSQUEwQWdBQ0FBS0FJWUlBQW9BaFFnQVd4QkFuUnFFRjBnQVVFQmFpSUJJQUFvQWlCSkRRQUxDeUFBS0FJQUVCQWdBQkFRQzZnQkFRVi9JQUFvQWxRaUF5Z0NBQ0VGSUFNb0FnUWlCQ0FBS0FJVUlBQW9BaHdpQjJzaUJpQUVJQVpKR3lJR0JFQWdCU0FISUFZUUVob2dBeUFES0FJQUlBWnFJZ1UyQWdBZ0F5QURLQUlFSUFacklnUTJBZ1FMSUFRZ0FpQUNJQVJMR3lJRUJFQWdCU0FCSUFRUUVob2dBeUFES0FJQUlBUnFJZ1UyQWdBZ0F5QURLQUlFSUFSck5nSUVDeUFGUVFBNkFBQWdBQ0FBS0FJc0lnRTJBaHdnQUNBQk5nSVVJQUlMbmdVQ0JuNEVmeUFCSUFFb0FnQkJCMnBCZUhFaUFVRVFhallDQUNBQUlRc2dBU2tEQUNFRElBRXBBd2doQnlNQVFTQnJJZ2drQUNBSFF2Ly8vLy8vL3orRElRUUNmaUFIUWpDSVF2Ly9BWU1pQmFjaUNrR0IrQUJyUWYwUFRRUkFJQVJDQklZZ0EwSThpSVFoQWlBS1FZRDRBR3V0SVFVQ1FDQURRdi8vLy8vLy8vLy9ENE1pQTBLQmdJQ0FnSUNBZ0FoYUJFQWdBa0lCZkNFQ0RBRUxJQU5DZ0lDQWdJQ0FnSUFJVWcwQUlBSkNBWU1nQW53aEFndENBQ0FDSUFKQy8vLy8vLy8vL3dkV0lnQWJJUUlnQUswZ0JYd01BUXNDUUNBRElBU0VVQTBBSUFWQy8vOEJVZzBBSUFSQ0JJWWdBMEk4aUlSQ2dJQ0FnSUNBZ0FTRUlRSkMvdzhNQVF0Qy93OGdDa0graHdGTERRQWFRZ0JCZ1BnQVFZSDRBQ0FGVUNJQkd5SUFJQXBySWdsQjhBQktEUUFhSUFNaEFpQUVJQVJDZ0lDQWdJQ0F3QUNFSUFFYklnWWhCQUpBUVlBQklBbHJJZ0ZCd0FCeEJFQWdBeUFCUVVCcXJZWWhCRUlBSVFJTUFRc2dBVVVOQUNBRUlBR3RJZ1dHSUFKQndBQWdBV3V0aUlRaEJDQUNJQVdHSVFJTElBZ2dBamNERUNBSUlBUTNBeGdDUUNBSlFjQUFjUVJBSUFZZ0NVRkFhcTJJSVFOQ0FDRUdEQUVMSUFsRkRRQWdCa0hBQUNBSmE2MkdJQU1nQ2EwaUFvaUVJUU1nQmlBQ2lDRUdDeUFJSUFNM0F3QWdDQ0FHTndNSUlBZ3BBd2hDQklZZ0NDa0RBQ0lDUWp5SWhDRURBa0FnQUNBS1J5QUlLUU1RSUFncEF4aUVRZ0JTY2EwZ0FrTC8vLy8vLy8vLy93K0RoQ0lDUW9HQWdJQ0FnSUNBQ0ZvRVFDQURRZ0Y4SVFNTUFRc2dBa0tBZ0lDQWdJQ0FnQWhTRFFBZ0EwSUJneUFEZkNFREN5QURRb0NBZ0lDQWdJQUloU0FESUFOQy8vLy8vLy8vL3dkV0lnQWJJUUlnQUswTElRTWdDRUVnYWlRQUlBc2dCMEtBZ0lDQWdJQ0FnSUIvZ3lBRFFqU0doQ0FDaEw4NUF3QUxoaGdERTM4QmZBTitJd0JCc0FScklnd2tBQ0FNUVFBMkFpd0NRQ0FCdlNJYVFnQlRCRUJCQVNFUlFib0lJUk1nQVpvaUFiMGhHZ3dCQ3lBRVFZQVFjUVJBUVFFaEVVRzlDQ0VUREFFTFFjQUlRYnNJSUFSQkFYRWlFUnNoRXlBUlJTRVZDd0pBSUJwQ2dJQ0FnSUNBZ1BqL0FJTkNnSUNBZ0lDQWdQai9BRkVFUUNBQVFTQWdBaUFSUVFOcUlnTWdCRUgvLzN0eEVCd2dBQ0FUSUJFUUdTQUFRWklKUWZZS0lBVkJJSEVpQlJ0Qit3bEIrZ29nQlJzZ0FTQUJZaHRCQXhBWklBQkJJQ0FDSUFNZ0JFR0F3QUJ6RUJ3Z0F5QUNJQUlnQTBnYklRb01BUXNnREVFUWFpRVNBa0FDZndKQUlBRWdERUVzYWhCbElnRWdBYUFpQVVRQUFBQUFBQUFBQUdJRVFDQU1JQXdvQWl3aUJrRUJhellDTENBRlFTQnlJZzVCNFFCSERRRU1Bd3NnQlVFZ2NpSU9RZUVBUmcwQ0lBd29BaXdoQ1VFR0lBTWdBMEVBU0JzTUFRc2dEQ0FHUVIxcklnazJBaXdnQVVRQUFBQUFBQUN3UWFJaEFVRUdJQU1nQTBFQVNCc0xJUXNnREVFd2FrR2dBa0VBSUFsQkFFNGJhaUlOSVFjRFFDQUhBbjhnQVVRQUFBQUFBQUR3UVdNZ0FVUUFBQUFBQUFBQUFHWnhCRUFnQWFzTUFRdEJBQXNpQXpZQ0FDQUhRUVJxSVFjZ0FTQUR1S0ZFQUFBQUFHWE56VUdpSWdGRUFBQUFBQUFBQUFCaURRQUxBa0FnQ1VFQVRBUkFJQWtoQXlBSElRWWdEU0VJREFFTElBMGhDQ0FKSVFNRFFFRWRJQU1nQTBFZFR4c2hBd0pBSUFkQkJHc2lCaUFJU1EwQUlBT3RJUnhDQUNFYUEwQWdCaUFhUXYvLy8vOFBneUFHTlFJQUlCeUdmQ0liUW9DVTY5d0RnQ0lhUW9Ec2xLTU1maUFiZkQ0Q0FDQUdRUVJySWdZZ0NFOE5BQXNnRzBLQWxPdmNBMVFOQUNBSVFRUnJJZ2dnR2o0Q0FBc0RRQ0FJSUFjaUJra0VRQ0FHUVFScklnY29BZ0JGRFFFTEN5QU1JQXdvQWl3Z0Eyc2lBellDTENBR0lRY2dBMEVBU2cwQUN3c2dBMEVBU0FSQUlBdEJHV3BCQ1c1QkFXb2hEeUFPUWVZQVJpRVFBMEJCQ1VFQUlBTnJJZ01nQTBFSlR4c2hDZ0pBSUFZZ0NFMEVRQ0FJS0FJQVJVRUNkQ0VIREFFTFFZQ1U2OXdESUFwMklSUkJmeUFLZEVGL2N5RVdRUUFoQXlBSUlRY0RRQ0FISUFNZ0J5Z0NBQ0lYSUFwMmFqWUNBQ0FXSUJkeElCUnNJUU1nQjBFRWFpSUhJQVpKRFFBTElBZ29BZ0JGUVFKMElRY2dBMFVOQUNBR0lBTTJBZ0FnQmtFRWFpRUdDeUFNSUF3b0Fpd2dDbW9pQXpZQ0xDQU5JQWNnQ0dvaUNDQVFHeUlISUE5QkFuUnFJQVlnQmlBSGEwRUNkU0FQU2hzaEJpQURRUUJJRFFBTEMwRUFJUU1DUUNBR0lBaE5EUUFnRFNBSWEwRUNkVUVKYkNFRFFRb2hCeUFJS0FJQUlncEJDa2tOQUFOQUlBTkJBV29oQXlBS0lBZEJDbXdpQjA4TkFBc0xJQXNnQTBFQUlBNUI1Z0JIRzJzZ0RrSG5BRVlnQzBFQVIzRnJJZ2NnQmlBTmEwRUNkVUVKYkVFSmEwZ0VRQ0FNUVRCcVFZUmdRYVJpSUFsQkFFZ2JhaUFIUVlESUFHb2lDa0VKYlNJUFFRSjBhaUVKUVFvaEJ5QVBRWGRzSUFwcUlncEJCMHdFUUFOQUlBZEJDbXdoQnlBS1FRRnFJZ3BCQ0VjTkFBc0xBa0FnQ1NnQ0FDSVFJQkFnQjI0aUR5QUhiQ0lLUmlBSlFRUnFJaFFnQmtaeERRQWdFQ0FLYXlFUUFrQWdEMEVCY1VVRVFFUUFBQUFBQUFCQVF5RUJJQWRCZ0pUcjNBTkhEUUVnQ0NBSlR3MEJJQWxCQkdzdEFBQkJBWEZGRFFFTFJBRUFBQUFBQUVCRElRRUxSQUFBQUFBQUFPQS9SQUFBQUFBQUFQQS9SQUFBQUFBQUFQZy9JQVlnRkVZYlJBQUFBQUFBQVBnL0lCQWdCMEVCZGlJVVJoc2dFQ0FVU1JzaEdRSkFJQlVOQUNBVExRQUFRUzFIRFFBZ0dab2hHU0FCbWlFQkN5QUpJQW8yQWdBZ0FTQVpvQ0FCWVEwQUlBa2dCeUFLYWlJRE5nSUFJQU5CZ0pUcjNBTlBCRUFEUUNBSlFRQTJBZ0FnQ0NBSlFRUnJJZ2xMQkVBZ0NFRUVheUlJUVFBMkFnQUxJQWtnQ1NnQ0FFRUJhaUlETmdJQUlBTkIvNVByM0FOTERRQUxDeUFOSUFoclFRSjFRUWxzSVFOQkNpRUhJQWdvQWdBaUNrRUtTUTBBQTBBZ0EwRUJhaUVESUFvZ0IwRUtiQ0lIVHcwQUN3c2dDVUVFYWlJSElBWWdCaUFIU3hzaEJnc0RRQ0FHSWdjZ0NFMGlDa1VFUUNBR1FRUnJJZ1lvQWdCRkRRRUxDd0pBSUE1QjV3QkhCRUFnQkVFSWNTRUpEQUVMSUFOQmYzTkJmeUFMUVFFZ0N4c2lCaUFEU2lBRFFYdEtjU0lKR3lBR2FpRUxRWDlCZmlBSkd5QUZhaUVGSUFSQkNIRWlDUTBBUVhjaEJnSkFJQW9OQUNBSFFRUnJLQUlBSWc1RkRRQkJDaUVLUVFBaEJpQU9RUXB3RFFBRFFDQUdJZ2xCQVdvaEJpQU9JQXBCQ213aUNuQkZEUUFMSUFsQmYzTWhCZ3NnQnlBTmEwRUNkVUVKYkNFS0lBVkJYM0ZCeGdCR0JFQkJBQ0VKSUFzZ0JpQUtha0VKYXlJR1FRQWdCa0VBU2hzaUJpQUdJQXRLR3lFTERBRUxRUUFoQ1NBTElBTWdDbW9nQm1wQkNXc2lCa0VBSUFaQkFFb2JJZ1lnQmlBTFNoc2hDd3RCZnlFS0lBdEIvZi8vL3dkQi92Ly8vd2NnQ1NBTGNpSVFHMG9OQVNBTElCQkJBRWRxUVFGcUlRNENRQ0FGUVY5eEloVkJ4Z0JHQkVBZ0F5QU9RZi8vLy84SGMwb05BeUFEUVFBZ0EwRUFTaHNoQmd3QkN5QVNJQU1nQTBFZmRTSUdjeUFHYTYwZ0VoQXFJZ1pyUVFGTUJFQURRQ0FHUVFGcklnWkJNRG9BQUNBU0lBWnJRUUpJRFFBTEN5QUdRUUpySWc4Z0JUb0FBQ0FHUVFGclFTMUJLeUFEUVFCSUd6b0FBQ0FTSUE5cklnWWdEa0gvLy8vL0IzTktEUUlMSUFZZ0Rtb2lBeUFSUWYvLy8vOEhjMG9OQVNBQVFTQWdBaUFESUJGcUlnTWdCQkFjSUFBZ0V5QVJFQmtnQUVFd0lBSWdBeUFFUVlDQUJITVFIQUpBQWtBQ1FDQVZRY1lBUmdSQUlBeEJFR3BCQ1hJaEJTQU5JQWdnQ0NBTlN4c2lDU0VJQTBBZ0NEVUNBQ0FGRUNvaEJnSkFJQWdnQ1VjRVFDQUdJQXhCRUdwTkRRRURRQ0FHUVFGcklnWkJNRG9BQUNBR0lBeEJFR3BMRFFBTERBRUxJQVVnQmtjTkFDQUdRUUZySWdaQk1Eb0FBQXNnQUNBR0lBVWdCbXNRR1NBSVFRUnFJZ2dnRFUwTkFBc2dFQVJBSUFCQmdneEJBUkFaQ3lBSElBaE5EUUVnQzBFQVRBMEJBMEFnQ0RVQ0FDQUZFQ29pQmlBTVFSQnFTd1JBQTBBZ0JrRUJheUlHUVRBNkFBQWdCaUFNUVJCcVN3MEFDd3NnQUNBR1FRa2dDeUFMUVFsT0d4QVpJQXRCQ1dzaEJpQUlRUVJxSWdnZ0IwOE5BeUFMUVFsS0lSZ2dCaUVMSUJnTkFBc01BZ3NDUUNBTFFRQklEUUFnQnlBSVFRUnFJQWNnQ0VzYklRMGdERUVRYWtFSmNpRUZJQWdoQndOQUlBVWdCelVDQUNBRkVDb2lCa1lFUUNBR1FRRnJJZ1pCTURvQUFBc0NRQ0FISUFoSEJFQWdCaUFNUVJCcVRRMEJBMEFnQmtFQmF5SUdRVEE2QUFBZ0JpQU1RUkJxU3cwQUN3d0JDeUFBSUFaQkFSQVpJQVpCQVdvaEJpQUpJQXR5UlEwQUlBQkJnZ3hCQVJBWkN5QUFJQVlnQlNBR2F5SUdJQXNnQmlBTFNCc1FHU0FMSUFacklRc2dCMEVFYWlJSElBMVBEUUVnQzBFQVRnMEFDd3NnQUVFd0lBdEJFbXBCRWtFQUVCd2dBQ0FQSUJJZ0Qyc1FHUXdDQ3lBTElRWUxJQUJCTUNBR1FRbHFRUWxCQUJBY0N5QUFRU0FnQWlBRElBUkJnTUFBY3hBY0lBTWdBaUFDSUFOSUd5RUtEQUVMSUJNZ0JVRWFkRUVmZFVFSmNXb2hDQUpBSUFOQkMwc05BRUVNSUFOcklRWkVBQUFBQUFBQU1FQWhHUU5BSUJsRUFBQUFBQUFBTUVDaUlSa2dCa0VCYXlJR0RRQUxJQWd0QUFCQkxVWUVRQ0FaSUFHYUlCbWhvSm9oQVF3QkN5QUJJQm1nSUJtaElRRUxJQklnRENnQ0xDSUhJQWRCSDNVaUJuTWdCbXV0SUJJUUtpSUdSZ1JBSUFaQkFXc2lCa0V3T2dBQUN5QVJRUUp5SVFzZ0JVRWdjU0VOSUFaQkFtc2lDU0FGUVE5cU9nQUFJQVpCQVd0QkxVRXJJQWRCQUVnYk9nQUFJQVJCQ0hFaEJpQU1RUkJxSVFjRFFDQUhJZ1VDZnlBQm1VUUFBQUFBQUFEZ1FXTUVRQ0FCcWd3QkMwR0FnSUNBZUFzaUIwSFF4QUZxTFFBQUlBMXlPZ0FBSUFFZ0I3ZWhSQUFBQUFBQUFEQkFvaUVCQWtBZ0JVRUJhaUlISUF4QkVHcHJRUUZIRFFBQ1FDQUdEUUFnQTBFQVNnMEFJQUZFQUFBQUFBQUFBQUJoRFFFTElBVkJMam9BQVNBRlFRSnFJUWNMSUFGRUFBQUFBQUFBQUFCaURRQUxRWDhoQ2tIOS8vLy9CeUFMSUJJZ0NXc2lCbW9pRFdzZ0EwZ05BQ0FBUVNBZ0FpQU5JQU5CQW1vZ0J5QU1RUkJxSWdkcklnVWdCVUVDYXlBRFNCc2dCU0FER3lJS2FpSURJQVFRSENBQUlBZ2dDeEFaSUFCQk1DQUNJQU1nQkVHQWdBUnpFQndnQUNBSElBVVFHU0FBUVRBZ0NpQUZhMEVBUVFBUUhDQUFJQWtnQmhBWklBQkJJQ0FDSUFNZ0JFR0F3QUJ6RUJ3Z0F5QUNJQUlnQTBnYklRb0xJQXhCc0FScUpBQWdDZ3NFQUVJQUN3UUFRUUFMbndNQkNYOUI1Z29oQUFKQUEwQWdBQzBBQUNJQlJRMEJJQUZCUFVZTkFTQUFRUUZxSWdCQkEzRU5BQXNDUUFKQVFZQ0NoQWdnQUNnQ0FDSUNheUFDY2tHQWdZS0VlSEZCZ0lHQ2hIaEhEUUFEUUVHQWdvUUlJQUpCdmZyMDZRTnpJZ0ZySUFGeVFZQ0Jnb1I0Y1VHQWdZS0VlRWNOQVNBQUtBSUVJUUlnQUVFRWFpSUJJUUFnQWtHQWdvUUlJQUpyY2tHQWdZS0VlSEZCZ0lHQ2hIaEdEUUFMREFFTElBQWhBUXNEUUNBQklnQXRBQUFpQWtVTkFTQUFRUUZxSVFFZ0FrRTlSdzBBQ3dzZ0FDSUJRZVlLUmdSQVFRQVBDd0pBSUFGQjVncHJJZ0JCNWdwcUxRQUFEUUJCc004QktBSUFJZ1JGRFFBZ0JDZ0NBQ0lGUlEwQUEwQUNRQUovSUFVaEFrSG1DaUVHUVFBZ0FDSUJSUTBBR2tIbUNpMEFBQ0lEQkg4Q1FBTkFJQU1nQWkwQUFDSUhSdzBCSUFkRkRRRWdBVUVCYXlJQlJRMEJJQUpCQVdvaEFpQUdMUUFCSVFNZ0JrRUJhaUVHSUFNTkFBdEJBQ0VEQ3lBREJVRUFDeUFDTFFBQWF3dEZCRUFnQUNBRmFpSUJMUUFBUVQxR0RRRUxJQVFvQWdRaEJTQUVRUVJxSVFRZ0JRMEJEQUlMQ3lBQlFRRnFJUWdMSUFnTENRQWdBQ2dDUEJBTkM4NENBUWgvSXdCQklHc2lBeVFBSUFNZ0FDZ0NIQ0lFTmdJUUlBQW9BaFFoQlNBRElBSTJBaHdnQXlBQk5nSVlJQU1nQlNBRWF5SUJOZ0lVSUFFZ0Ftb2hCVUVDSVFZZ0EwRVFhaUVCQW44RFFBSkFBa0FDUUNBQUtBSThJQUVnQmlBRFFReHFFQUVpQkFSL1FaVEhBU0FFTmdJQVFYOEZRUUFMUlFSQUlBVWdBeWdDRENJSFJnMEJJQWRCQUU0TkFnd0RDeUFGUVg5SERRSUxJQUFnQUNnQ0xDSUJOZ0ljSUFBZ0FUWUNGQ0FBSUFFZ0FDZ0NNR28yQWhBZ0Fnd0RDeUFCSUFjZ0FTZ0NCQ0lJU3lJSlFRTjBhaUlFSUFjZ0NFRUFJQWtiYXlJSUlBUW9BZ0JxTmdJQUlBRkJERUVFSUFrYmFpSUJJQUVvQWdBZ0NHczJBZ0FnQlNBSGF5RUZJQVlnQ1dzaEJpQUVJUUVNQVFzTElBQkJBRFlDSENBQVFnQTNBeEFnQUNBQUtBSUFRU0J5TmdJQVFRQWdCa0VDUmcwQUdpQUNJQUVvQWdSckN5RUtJQU5CSUdva0FDQUtDMVlCQW44Z0FDZ0NQQ0VFSXdCQkVHc2lBQ1FBSUFRZ0FhY2dBVUlnaUtjZ0FrSC9BWEVnQUVFSWFoQUpJZ0lFZjBHVXh3RWdBallDQUVGL0JVRUFDeUVDSUFBcEF3Z2hBU0FBUVJCcUpBQkNmeUFCSUFJYkN3WUFJQUFRQUFzR0FDQUFFQU1MOG40RkFudzJmd2g3QTM0R2ZTTUFRZURBQUdzaUdDUUFJQmhCQURZQ0lFRUNJUXdDUUFKQUlBQW9BZ0FpQjBHTmxKelVBRVlOQUNBSFFmK2YvWThGUndSQUFrQWdCMEdBZ0lEZ0FFY05BQ0FBS0FJRVFlcWdnWUVDUncwQUlBQW9BZ2hCalpTYzFBQkdEUUlMUWMwSUVBQkJBU0VNREFJTFFRQWhEQXNDZjBFQVFRRkI0QUFRRXlJSFJRMEFHaUFIUVFFMkFrd0NRQUpBQWtBQ1FDQU1EZ01BQXdFREN5QUhRY01BTmdKWUlBZEJ4QUEyQWxRZ0IwSEZBRFlDVUNBSFFjWUFOZ0lRSUFkQnh3QTJBZ1FnQjBISUFEWUNIQ0FIUWNrQU5nSVlJQWRCeWdBMkFoUWdCMEhMQURZQ0FDQUhRY3dBTmdKY0lBZEJ6UUEyQWl3Z0IwSE9BRFlDS0NBSFFjOEFOZ0lrSUFkQjBBQTJBaUFnQjBIUkFEWUNEQ0FIUWRJQU5nSUlJQWNRVFNJSU5nSXdJQWdOQVF3Q0N5QUhRZE1BTmdKWUlBZEIxQUEyQWxRZ0IwSFZBRFlDVUNBSFFkWUFOZ0lRSUFkQjF3QTJBZ1FnQjBIWUFEWUNYQ0FIUWRrQU5nSXNJQWRCMmdBMkFpZ2dCMEhiQURZQ0pDQUhRZHdBTmdJZ0lBZEIzUUEyQWh3Z0IwSGVBRFlDR0NBSFFkOEFOZ0lVSUFkQjRBQTJBZ3dnQjBIaEFEWUNDQ0FIUWVJQU5nSUFJQWNDZjBFQlFZZ0JFQk1pQ0FSQUlBZ1FUU0lPTmdJQUFrQWdEa1VOQUNBSS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9Rc0NiQ0FJUVFBNkFId2dDQkF6SWc0MkFnUWdEa1VOQUNBSUVETWlEallDQ0NBT1JRMEFJQWdNQWdzZ0NCQndDMEVBQ3lJSU5nSXdJQWhGRFFFTElBZEJBVFlDU0NBSFFRRTJBa0FnQjBFQU5nSThJQWRDQURjQ05DQUhRUUUyQWtRZ0J3d0JDeUFIRUJCQkFBc2lDQVJBSUFoQkFEWUNQQ0FJUWVNQU5nSklDeUFJQkVBZ0NFRUFOZ0k0SUFoQjVBQTJBa1FMSUFnRVFDQUlRUUEyQWpRZ0NFSGxBRFlDUUFzZ0dFRWthaUlIQkVBZ0IwRUFRYmpBQUJBVklnZEJBRFlDdUVBZ0IwSi9Od0tJUUFzZ0F3UkFJQmdnR0NnQzNFQkJBWEkyQXR4QUN5QVlJQUUyQWh3Z0dDQUFOZ0lZSUJnZ0FEWUNGRUVCSVF4QkFDRUJBa0FnR0VFVWFpSUhSUTBBUVFGQnlBQVFFeUlBQkg4Q2Z5QUFRWUNBd0FBMkFrQWdBRUdBZ01BQUVCUWlEallDSUNBT1JRUkFJQUFRRUVFQURBRUxJQUFnRGpZQ0pDQUFRUUkyQWh3Z0FFRUROZ0lZSUFCQkJEWUNGQ0FBUVFVMkFoQWdBRUVHTmdJc0lBQkJDRFlDS0NBQUlBQW9Ba1JCQW5JMkFrUWdBQXNGUVFBTElnQkZEUUFnQUFSQUlBQkJBRFlDQkNBQUlBYzJBZ0FMSUFjMUFnZ2hSU0FBQkVBZ0FDQkZOd01JQ3dKQUlBQkZEUUFnQUMwQVJFRUNjVVVOQUNBQVFUODJBaEFMSUFBRVFDQUFRY0VBTmdJWUN5QUFCRUFnQUVIQ0FEWUNIQXNnQUNFQkN5QUJJUUFDZnlBWVFTUnFJUUVDUUNBSVJRMEFJQUZGRFFBZ0NDZ0NURVVFUUNBSVFUUnFRUUZCdE1rQVFRQVFEMEVBREFJTElBZ29BakFnQVNBSUtBSVlFUU1BUVFFaEN3c2dDd3RGQkVCQjNBZ1FBQ0FBRURRZ0NCQTFEQUVMQW44Z0dFRWdhaUVCUVFBaEJ3SkFJQUJGRFFBZ0NFVU5BQ0FJS0FKTVJRUkFJQWhCTkdwQkFVR0Z5Z0JCQUJBUFFRQU1BZ3NnQUNBSUtBSXdJQUVnQ0VFMGFpQUlLQUlBRVFFQUlRY0xJQWNMUlFSQVFmZ0lFQUFnQUJBMElBZ1FOU0FZS0FJZ0VDRU1BUXNnR0NnQ0lDRUJRUUFoQndKQUlBaEZEUUFnQUVVTkFDQUlLQUpNUlEwQUlBZ29BakFnQUNBQklBaEJOR29nQ0NnQ0JCRUJBQ0VIQ3dKQUlBY0VRRUVBSVFjQ1FDQUlSUTBBSUFCRkRRQWdDQ2dDVEVVTkFDQUlLQUl3SUFBZ0NFRTBhaUFJS0FJUUVRQUFJUWNMSUFjTkFRdEIvd2tRQUNBSUVEVWdBQkEwSUJnb0FpQVFJUXdCQ3lBQUVEUWdDQkExSUJnb0FpQWlEU2dDSENJQUJFQWdBQkFRSUJnb0FpQWlEVUlBTndJY0N5QU5LQUlRSVNFQ1FBSkFJQUpGQkVBQ1FDQUVSUTBBSUNGQkJFY05BRUVCSVJsQkJDRWhEQU1MQWtBQ1FDQU5LQUlVSWdGQkEwWU5BQ0FoUVFOSERRQWdEU2dDR0NJQUtBSUFJQUFvQWdSSERRRWdBQ2dDTkVFQlJnMEJJQTFCQXpZQ0ZBd0RDeUFoUVFKTERRQWdEVUVDTmdJVURBTUxBa0FDUUNBQlFRTnJEZ01EQVFBRUN5TUFRUkJySWc0a0FBSkFBa0FDUUNBTktBSVFRUVJKRFFBZ0RTZ0NHQ0lBS0FJQUlnRWdBQ2dDTkVjTkFDQUJJQUFvQW1oSERRQWdBU0FBS0FLY0FVY05BQ0FBS0FJRUlnRWdBQ2dDT0VjTkFDQUJJQUFvQW14SERRQWdBU0FBS0FLZ0FVWU5BUXNnRGtHSENEWUNCQ0FPUWJnS05nSUFRZWpFQVVIdFBTQU9FQllNQVFzQ1FDQUFLQUlNSUFBb0FnaHNJZ2hGQkVBZ0FDZ0N5QUVoQVF3QkMwTUFBSUEvUVg4Z0FDZ0N0QUYwUVg5enM1VWhTRU1BQUlBL1FYOGdBQ2dDZ0FGMFFYOXpzNVVoU2tNQUFJQS9RWDhnQUNnQ1RIUkJmM096bFNGTFF3QUFnRDlCZnlBQUtBSVlkRUYvYzdPVklVa2dBQ2dDeUFFaEFTQUFLQUtVQVNFQ0lBQW9BbUFoQ2lBQUtBSXNJUWRCQUNFQUFrQWdDRUVJU1EwQUlBY2dDaUFJUVFKMElndHFJZzlKSUFvZ0J5QUxhaUlYU1hFTkFDQUNJQmRKSUFjZ0FpQUxhaUlKU1hFTkFDQUJJQmRKSUFjZ0FTQUxhaUlMU1hFTkFDQUNJQTlKSUFrZ0NrdHhEUUFnQVNBUFNTQUtJQXRKY1EwQUlBRWdDVWtnQWlBTFNYRU5BQ0FJUVh4eElRQWdTUDBUSVQwZ1N2MFRJVDRnUy8wVElVTWdTZjBUSVVCQkFDRUxBMEFnQWlBTFFRSjBJZzlxSWhmOUFBSUFJVUVnQ2lBUGFpSUovUUFDQUNGQ0lBY2dEMm9pRVAwTUFBQ0FQd0FBZ0Q4QUFJQS9BQUNBUHlCQUlCRDlBQUlBL2ZvQi9lWUIvZVVCL1F3QUFIOURBQUIvUXdBQWYwTUFBSDlEL2VZQi9Rd0FBSUEvQUFDQVB3QUFnRDhBQUlBL0lEMGdBU0FQYXYwQUFnRDkrZ0g5NWdIOTVRRWlQLzNtQWYzNEFmMExBZ0FnQ2YwTUFBQ0FQd0FBZ0Q4QUFJQS9BQUNBUHlCRElFTDkrZ0g5NWdIOTVRSDlEQUFBZjBNQUFIOURBQUIvUXdBQWYwUDk1Z0VnUC8zbUFmMzRBZjBMQWdBZ0YvME1BQUNBUHdBQWdEOEFBSUEvQUFDQVB5QStJRUg5K2dIOTVnSDk1UUg5REFBQWYwTUFBSDlEQUFCL1F3QUFmMFA5NWdFZ1AvM21BZjM0QWYwTEFnQWdDMEVFYWlJTElBQkhEUUFMSUFBZ0NFWU5BUXNEUUFKL1F3QUFnRDhnU1NBSElBQkJBblFpQzJvaUR5Z0NBTEtVazBNQUFIOURsRU1BQUlBL0lFZ2dBU0FMYWlnQ0FMS1VreUpNbENKTmkwTUFBQUJQWFFSQUlFMm9EQUVMUVlDQWdJQjRDeUVYSUFJZ0Myb2lDU2dDQUNFUUlBb2dDMm9pQ3lnQ0FDRU1JQThnRnpZQ0FDQUxBbjlEQUFDQVB5QkxJQXl5bEpOREFBQi9RNVFnVEpRaVRZdERBQUFBVDEwRVFDQk5xQXdCQzBHQWdJQ0FlQXMyQWdBZ0NRSi9Rd0FBZ0Q4Z1NpQVFzcFNUUXdBQWYwT1VJRXlVSWt5TFF3QUFBRTlkQkVBZ1RLZ01BUXRCZ0lDQWdIZ0xOZ0lBSUFCQkFXb2lBQ0FJUncwQUN3c2dBUkFRSUEwb0FoZ2lBRUVJTmdLQUFTQUFRUWcyQWt3Z0FFRUlOZ0lZSUFCQkFEWUN5QUVnRFVFQk5nSVVJQTBnRFNnQ0VFRUJheUlBTmdJUUlBQkJCRWtOQUVFRElRQURRQ0FOS0FJWUlBQkJOR3hxSWdFZ0FTZ0NaRFlDTUNBQklBSDlBQUpVL1FzQ0lDQUJJQUg5QUFKRS9Rc0NFQ0FCSUFIOUFBSTAvUXNDQUNBQVFRRnFJZ0FnRFNnQ0VFa05BQXNMSUE1QkVHb2tBQXdEQ3lNQVFSQnJJZ3NrQUFKQUFrQUNRQ0FOS0FJUVFRTkpEUUFnRFNnQ0dDSUFLQUlBSWdFZ0FDZ0NORWNOQUNBQklBQW9BbWhIRFFBZ0FDZ0NCQ0lCSUFBb0FqaEhEUUFnQVNBQUtBSnNSZzBCQ3lBTFFjVUlOZ0lFSUF0QnVBbzJBZ0JCNk1RQlFaYytJQXNRRmd3QkN3SkFJQUFvQWd3Z0FDZ0NDR3dpQWtVTkFFRi9JQUFvQWhnaUNuUkJmM01oQVVFQVFRRWdDa0VCYTNRaUNpQUFLQUtJQVJzaEQwRUFJQW9nQUNnQ1ZCc2hGeUFBS0FLVUFTRUtJQUFvQW1BaEJ5QUFLQUlzSVE1QkFDRUFBa0FnQWtFRVNRMEFJQTRnQnlBQ1FRSjBJZ2hxSWdsSklBY2dDQ0FPYWlJUVNYRU5BQ0FLSUJCSklBNGdDQ0FLYWlJSVNYRU5BQ0FISUFoSklBa2dDa3R4RFFBZ0FrRjhjU0VBSUFIOUVTRS9JQS85RVNGQUlCZjlFU0ZCUVFBaENBTkFJQTRnQ0VFQ2RDSUphaUlRSUQ4Z0NTQUthaUlNL1FBQ0FDQkEvYkVCL2ZvQklqMzlER2wwc3o5cGRMTS9hWFN6UDJsMHN6Lzk1Z0VnQnlBSmFpSUovUUFDQUNCQi9iRUIvZm9CSWo3OURMTlpHcml6V1JxNHMxa2F1TE5aR3JqOTVnRWdFUDBBQWdEOStnRWlRLzNrQWYza0FmME1BQUFBUHdBQUFEOEFBQUEvQUFBQVAvM2tBZjM0QVNKQy9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9iZ0JJRDhnUXYwNS9WTDlDd0lBSUFrZ1B5QTkvUXdaMERhL0dkQTJ2eG5RTnI4WjBEYS8vZVlCSUVQOUROVUpnRC9WQ1lBLzFRbUFQOVVKZ0QvOTVnRWdQdjBNSnpHd3ZpY3hzTDRuTWJDK0p6R3d2djNtQWYza0FmM2tBZjBNQUFBQVB3QUFBRDhBQUFBL0FBQUFQLzNrQWYzNEFTSkMvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvYmdCSUQ4Z1F2MDUvVkw5Q3dJQUlBd2dQeUE5L1F5OU53YTN2VGNHdDcwM0JyZTlOd2EzL2VZQklFUDlER2IwZno5bTlIOC9adlIvUDJiMGZ6Lzk1Z0VnUHYwTU5kTGlQelhTNGo4MTB1SS9OZExpUC8zbUFmM2tBZjNrQWYwTUFBQUFQd0FBQUQ4QUFBQS9BQUFBUC8za0FmMzRBU0k5L1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL2JnQklEOGdQZjA1L1ZMOUN3SUFJQWhCQkdvaUNDQUFSdzBBQ3lBQUlBSkdEUUVMQTBBQ2Z5QUtJQUJCQW5RaUNHb2lDU2dDQUNBUGE3SWlTRU5wZExNL2xDQUhJQWhxSWhBb0FnQWdGMnV5SWtwRHMxa2F1SlFnQ0NBT2FpSU1LQUlBc2lKTGtwSkRBQUFBUDVJaVNZdERBQUFBVDEwRVFDQkpxQXdCQzBHQWdJQ0FlQXNoQ0NBTUlBRWdDRUVBSUFoQkFFb2JJQUVnQ0VnYk5nSUFJQkFnQVFKL0lFaERHZEEydjVRZ1MwUFZDWUEvbENCS1F5Y3hzTDZVa3BKREFBQUFQNUlpU1l0REFBQUFUMTBFUUNCSnFBd0JDMEdBZ0lDQWVBc2lDRUVBSUFoQkFFb2JJQUVnQ0VnYk5nSUFJQWtnQVFKL0lFaER2VGNHdDVRZ1MwTm05SDgvbENCS1F6WFM0aitVa3BKREFBQUFQNUlpU0l0REFBQUFUMTBFUUNCSXFBd0JDMEdBZ0lDQWVBc2lDRUVBSUFoQkFFb2JJQUVnQ0VnYk5nSUFJQUJCQVdvaUFDQUNSdzBBQ3dzZ0RVRUJOZ0lVQ3lBTFFSQnFKQUFNQWdzZ0lTQUNJQUlnSVVzYklTRkJBU0VaREFFTEFrQUNRQUovQWtBQ1FDQU5LQUlZSWdFb0FnQkJBVWNOQUFKQUFrQWdBU2dDTkVFQmF3NENBUUFDQ3lBQktBSm9RUUpIRFFFQ1FDQUJLQUlFUVFGSERRQWdBU2dDT0VFQ1J3MEFJQUVvQW14QkFrY05BRUVBSVFzZ0RTSVhLQUlZSWdBb0FoZ2hBU0FBS0FLVUFTRVJJQUFvQW1BaENpQUFLQUlzSVJBZ0FDZ0NDQ0lOSUFBb0Fnd2lBbXhCQW5RaUFCQVlJUWNnQUJBWUlRZ2dBQkFZSVE0Q1FBSkFBa0FDUUFKQUFrQWdCMFVOQUNBSVJRMEFJQTVGRFFCQmZ5QUJkRUYvY3lFSlFRRWdBVUVCYTNRaERDQUNJQmNvQWdSQkFYRWlBR3NoSGlBWEtBSUFRUUZ4SVJzZ0FFVU5BeUFOUlEwREFuOUJBQ0FNYTdLN0lnVkVhcngwa3hnRTFqK2lJQVZFREFJcmh4Ylo1aitpb0NJR21VUUFBQUFBQUFEZ1FXTUVRQ0FHcWd3QkMwR0FnSUNBZUFzaEZBSi9JQVZFSnpFSXJCeGEvRCtpSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lFYUlBMUJDRWtoT0FKL0lBVkVPOTlQalpkdTlqK2lJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUVkSURnTkFTQUlJQWRyUVJCSkRRRWdEaUFIYTBFUVNRMEJJQWNnRUd0QkVFa05BU0FPSUFoclFSQkpEUUVnQ0NBUWEwRVFTUTBCSUE0Z0VHdEJFRWtOQVNBT0lBMUJmSEVpQzBFQ2RDSUNhaUVCSUFJZ0Iyb2hBQ0FhL1JFaFBpQVUvUkVoUXlBSi9SRWhQeUFkL1JFaFFBTkFJQWNnRDBFQ2RDSVRhdjBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0FRSUJOcS9RQUNBQ0k5SUVEOXJnRWlRU0EvL2JZQklFSDlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlPZjFTL1FzQ0FDQUlJQk5xL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBSUQwZ1EvMnhBU0pCSUQvOXRnRWdRZjBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDA1L1ZMOUN3SUFJQTRnRTJyOURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZ1BTQSsvYTRCSWowZ1AvMjJBU0E5L1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBL1RuOVV2MExBZ0FnRDBFRWFpSVBJQXRIRFFBTElBSWdFR29oRUNBQ0lBaHFJUUlnQ3lBTlJnMEVEQUlMSUFjUUVDQUlFQkFnRGhBUURBUUxJQWNoQUNBSUlRSWdEaUVCQ3dOQUlBQWdFQ2dDQUNJUElCMXFJaE1nQ1NBSklCTktHMEVBSUJOQkFFNGJOZ0lBSUFJZ0R5QVVheUlUSUFrZ0NTQVRTaHRCQUNBVFFRQk9HellDQUNBQklBOGdHbW9pRHlBSklBa2dEMG9iUVFBZ0QwRUFUaHMyQWdBZ0FVRUVhaUVCSUFKQkJHb2hBaUFBUVFScUlRQWdFRUVFYWlFUUlBdEJBV29pQ3lBTlJ3MEFDd3dCQ3lBT0lRRWdDQ0VDSUFjaEFBc2dEU0FiYXlFYUFrQWdIa0YrY1NJZEJIOENmMEVBSUF4cnNyc2lCVVJxdkhTVEdBVFdQNklnQlVRTUFpdUhGdG5tUDZLZ0lnYVpSQUFBQUFBQUFPQkJZd1JBSUFhcURBRUxRWUNBZ0lCNEN5RWlJQnBCZm5FaUhFRUJheUU1QW44Z0JVUW5NUWlzSEZyOFA2SWlCcGxFQUFBQUFBQUE0RUZqQkVBZ0Jxb01BUXRCZ0lDQWdIZ0xJU01nT1VGK2NTRTZBbjhnQlVRNzMwK05sMjcyUDZJaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTElTUWdIVUVCYXlFbElEcEJBbW9oSmlBTlFRSjBJUTBEUUNBQklBMXFJUThnQWlBTmFpRVRJQUFnRFdvaEN5QU5JQkJxSVJRZ0d3UkFJQUFnRUNnQ0FDSVZJQ1JxSWhJZ0NTQUpJQkpLRzBFQUlCSkJBRTRiTmdJQUlBSWdGU0FpYXlJU0lBa2dDU0FTU2h0QkFDQVNRUUJPR3pZQ0FDQUJJQlVnSTJvaUZTQUpJQWtnRlVvYlFRQWdGVUVBVGhzMkFnQWdDaWdDQUNFV0lBc0NmeUFSS0FJQUlBeHJzcnNpQlVRNzMwK05sMjcyUDZJaUJwbEVBQUFBQUFBQTRFRmpCRUFnQnFvTUFRdEJnSUNBZ0hnTElCUW9BZ0FpRldvaUVpQUpJQWtnRWtvYlFRQWdFa0VBVGhzMkFnQWdFeUFWQW44Z0ZpQU1hN0s3SWdaRWFyeDBreGdFMWoraUlBVkVEQUlyaHhiWjVqK2lvQ0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXRySWhJZ0NTQUpJQkpLRzBFQUlCSkJBRTRiTmdJQUlBOENmeUFHUkNjeENLd2NXdncvb2lJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUFzZ0ZXb2lGU0FKSUFrZ0ZVb2JRUUFnRlVFQVRoczJBZ0FnRDBFRWFpRVBJQk5CQkdvaEV5QUxRUVJxSVFzZ0ZFRUVhaUVVSUFKQkJHb2hBaUFRUVFScUlSQWdBVUVFYWlFQklBQkJCR29oQUF0QkFDRVZJQndFZndOQUlBb29BZ0FoSHlBQUFuOGdFU2dDQUNBTWE3SzdJZ1ZFTzk5UGpaZHU5aitpSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lBUUtBSUFJaEpxSWhZZ0NTQUpJQlpLRzBFQUlCWkJBRTRiTmdJQUlBSWdFZ0ovSUI4Z0RHdXl1eUlHUkdxOGRKTVlCTlkvb2lBRlJBd0NLNGNXMmVZL29xQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xheUlXSUFrZ0NTQVdTaHRCQUNBV1FRQk9HellDQUNBQkFuOGdCa1FuTVFpc0hGcjhQNklpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMSUJKcUloSWdDU0FKSUJKS0cwRUFJQkpCQUU0Yk5nSUFJQW9vQWdBaEh5QUFBbjhnRVNnQ0FDQU1hN0s3SWdWRU85OVBqWmR1OWoraUlnYVpSQUFBQUFBQUFPQkJZd1JBSUFhcURBRUxRWUNBZ0lCNEN5QVFLQUlFSWhKcUloWWdDU0FKSUJaS0cwRUFJQlpCQUU0Yk5nSUVJQUlnRWdKL0lCOGdER3V5dXlJR1JHcThkSk1ZQk5ZL29pQUZSQXdDSzRjVzJlWS9vcUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMYXlJV0lBa2dDU0FXU2h0QkFDQVdRUUJPR3pZQ0JDQUJBbjhnQmtRbk1RaXNIRnI4UDZJaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTElCSnFJaElnQ1NBSklCSktHMEVBSUJKQkFFNGJOZ0lFSUFvb0FnQWhIeUFMQW44Z0VTZ0NBQ0FNYTdLN0lnVkVPOTlQalpkdTlqK2lJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDeUFVS0FJQUloSnFJaFlnQ1NBSklCWktHMEVBSUJaQkFFNGJOZ0lBSUJNZ0VnSi9JQjhnREd1eXV5SUdSR3E4ZEpNWUJOWS9vaUFGUkF3Q0s0Y1cyZVkvb3FBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTGF5SVdJQWtnQ1NBV1NodEJBQ0FXUVFCT0d6WUNBQ0FQQW44Z0JrUW5NUWlzSEZyOFA2SWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xJQkpxSWhJZ0NTQUpJQkpLRzBFQUlCSkJBRTRiTmdJQUlBb29BZ0FoSHlBTEFuOGdFU2dDQUNBTWE3SzdJZ1ZFTzk5UGpaZHU5aitpSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lBVUtBSUVJaEpxSWhZZ0NTQUpJQlpLRzBFQUlCWkJBRTRiTmdJRUlCTWdFZ0ovSUI4Z0RHdXl1eUlHUkdxOGRKTVlCTlkvb2lBRlJBd0NLNGNXMmVZL29xQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xheUlXSUFrZ0NTQVdTaHRCQUNBV1FRQk9HellDQkNBUEFuOGdCa1FuTVFpc0hGcjhQNklpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMSUJKcUloSWdDU0FKSUJKS0cwRUFJQkpCQUU0Yk5nSUVJQkZCQkdvaEVTQUtRUVJxSVFvZ0QwRUlhaUVQSUJOQkNHb2hFeUFMUVFocUlRc2dGRUVJYWlFVUlBRkJDR29oQVNBQ1FRaHFJUUlnQUVFSWFpRUFJQkJCQ0dvaEVDQVZRUUpxSWhVZ0hFa05BQXNnSmdWQkFBc2dHa2tFZnlBS0tBSUFJUllnQUFKL0lCRW9BZ0FnREd1eXV5SUZSRHZmVDQyWGJ2WS9vaUlHbVVRQUFBQUFBQURnUVdNRVFDQUdxZ3dCQzBHQWdJQ0FlQXNnRUNnQ0FDSVZhaUlTSUFrZ0NTQVNTaHRCQUNBU1FRQk9HellDQUNBQ0lCVUNmeUFXSUF4cnNyc2lCa1JxdkhTVEdBVFdQNklnQlVRTUFpdUhGdG5tUDZLZ0lnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMyc2lFaUFKSUFrZ0Vrb2JRUUFnRWtFQVRoczJBZ0FnQVFKL0lBWkVKekVJckJ4YS9EK2lJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUFWYWlJVklBa2dDU0FWU2h0QkFDQVZRUUJPR3pZQ0FDQUtLQUlBSVJVZ0N3Si9JQkVvQWdBZ0RHdXl1eUlGUkR2ZlQ0Mlhidlkvb2lJR21VUUFBQUFBQUFEZ1FXTUVRQ0FHcWd3QkMwR0FnSUNBZUFzZ0ZDZ0NBQ0lMYWlJVUlBa2dDU0FVU2h0QkFDQVVRUUJPR3pZQ0FDQVRJQXNDZnlBVklBeHJzcnNpQmtScXZIU1RHQVRXUDZJZ0JVUU1BaXVIRnRubVA2S2dJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDMnNpRXlBSklBa2dFMG9iUVFBZ0UwRUFUaHMyQWdBZ0R3Si9JQVpFSnpFSXJCeGEvRCtpSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Q3lBTGFpSUxJQWtnQ1NBTFNodEJBQ0FMUVFCT0d6WUNBQ0FSUVFScUlSRWdDa0VFYWlFS0lBSkJCR29oQWlBUVFRUnFJUkFnQUVFRWFpRUFJQUZCQkdvRklBRUxJQTFxSVFFZ0FpQU5haUVDSUFBZ0RXb2hBQ0FOSUJCcUlSQWdJRUVDYWlJZ0lCMUpEUUFMSUNWQmZuRkJBbW9GUVFBTElCNVBEUUFnR3dSQUlBQUNmMEVBSUF4cnNyc2lCVVE3MzArTmwyNzJQNklpQnBsRUFBQUFBQUFBNEVGakJFQWdCcW9NQVF0QmdJQ0FnSGdMSUJBb0FnQWlDMm9pRFNBSklBa2dEVW9iUVFBZ0RVRUFUaHMyQWdBZ0FpQUxBbjhnQlVScXZIU1RHQVRXUDZJZ0JVUU1BaXVIRnRubVA2S2dJZ2FaUkFBQUFBQUFBT0JCWXdSQUlBYXFEQUVMUVlDQWdJQjRDMnNpRFNBSklBa2dEVW9iUVFBZ0RVRUFUaHMyQWdBZ0FRSi9JQVZFSnpFSXJCeGEvRCtpSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Q3lBTGFpSUxJQWtnQ1NBTFNodEJBQ0FMUVFCT0d6WUNBQ0FDUVFScUlRSWdFRUVFYWlFUUlBRkJCR29oQVNBQVFRUnFJUUFMSUJwQmZuRWlJQVIvSUNCQkFXc2lDMEYrY1NFN0FrQUNmMEVBSUNCQkQwa05BQnBCQUNBQUlBSWdDMEVCZGlJVVFRTjBRUWhxSWhOcUlndEpJQUlnQUNBVGFpSU5TWEVOQUJwQkFDQUJJQTFKSUFBZ0FTQVRhaUlQU1hFTkFCcEJBQ0FBSUJBZ0Uyb2lFMGtnRFNBUVMzRU5BQnBCQUNBS0lBMUpJQUFnQ2lBVVFRSjBRUVJxSWg1cUlodEpjUTBBR2tFQUlBMGdFVXNnQUNBUklCNXFJZzFKY1EwQUdrRUFJQUlnRDBrZ0FTQUxTWEVOQUJwQkFDQUNJQk5KSUFzZ0VFdHhEUUFhUVFBZ0NpQUxTU0FDSUJ0SmNRMEFHa0VBSUFJZ0RVa2dDeUFSUzNFTkFCcEJBQ0FCSUJOSklBOGdFRXR4RFFBYVFRQWdDaUFQU1NBQklCdEpjUTBBR2tFQUlBRWdEVWtnRHlBUlMzRU5BQm9nQ2lBVVFRRnFJaFpCL1AvLy93ZHhJaHRCQW5RaUltb2hDeUFCSUJ0QkEzUWlIbW9oRFNBQUlCNXFJUThnQ2YwUklUOGdEUDBSSVVOQkFDRVRBMEFnRUNBVFFRTjBJaFJCR0hJaUhXb2lJeUFRSUJSQkVISWlIR29pSkNBUUlCUkJDSElpRldvaUpTQVFJQlJxSWliOUNRSUEvVllDQUFIOVZnSUFBdjFXQWdBRElUMENmeUFSSUJOQkFuUWlIMnI5QUFJQUlFUDlzUUg5K2dFaVB2MWZJa0Q5RER2ZlQ0MlhidlkvTzk5UGpaZHU5ai85OGdFaVFmMGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNoSnlBS0lCOXEvUUFDQUNGQ0lBQWdGR29pSC8wTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBOUFuOGdRZjBoQUNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF2OUVTQW4vUndCQW44Z1BpQSsvUTBJQ1FvTERBME9Ed0FCQWdNQUFRSUQvVjhpUWYwTU85OVBqWmR1OWo4NzMwK05sMjcyUC8zeUFTSSsvU0VBSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Qy8wY0FnSi9JRDc5SVFFaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9Sd0RJa1Q5cmdFaVBpQS8vYllCSUQ3OURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOU9mMVNJajc5V2dJQUFDQUFJQlZxSWljZ1B2MWFBZ0FCSUFBZ0hHb2lLU0ErL1ZvQ0FBSWdBQ0FkYWlJcUlENzlXZ0lBQXdKL0lFSWdRLzJ4QWYzNkFTSSsvVjhpUXYwTWFyeDBreGdFMWo5cXZIU1RHQVRXUC8zeUFTQkEvUXdNQWl1SEZ0bm1Qd3dDSzRjVzJlWS8vZklCL2ZBQklrRDlJUUVpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMSVNnZ0FpQVVhaUlyL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBSUQwQ2Z5QkEvU0VBSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Qy8wUklDajlIQUVDZnlBKy9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9RMElDUW9MREEwT0R3QUJBZ01BQVFJRC9WOGlRUDBNYXJ4MGt4Z0UxajlxdkhTVEdBVFdQLzN5QVNCQi9Rd01BaXVIRnRubVB3d0NLNGNXMmVZLy9mSUIvZkFCSWo3OUlRQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0wvUndDQW44Z1B2MGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5SEFNaVFmMnhBU0krSUQvOXRnRWdQdjBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDA1L1ZJaVB2MWFBZ0FBSUFJZ0ZXb2lLQ0ErL1ZvQ0FBRWdBaUFjYWlJc0lENzlXZ0lBQWlBQ0lCMXFJaTBnUHYxYUFnQURBbjhnUXYwTUp6RUlyQnhhL0Q4bk1RaXNIRnI4UC8zeUFTSSsvU0VCSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Q3lFdUlBRWdGR29pRlAwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBOUFuOGdQdjBoQUNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF2OUVTQXUvUndCQW44Z1FQME1KekVJckJ4YS9EOG5NUWlzSEZyOFAvM3lBU0k5L1NFQUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMvMGNBZ0ovSUQzOUlRRWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0wvUndESWtEOXJnRWlQU0EvL2JZQklEMzlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlPZjFTSWozOVdnSUFBQ0FCSUJWcUloVWdQZjFhQWdBQklBRWdIR29pSENBOS9Wb0NBQUlnQVNBZGFpSWRJRDM5V2dJQUF5QWYvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJQ05CQkdvZ0pFRUVhaUFsUVFScUlDYjlDUUlFL1ZZQ0FBSDlWZ0lBQXYxV0FnQURJajRnUlAydUFTSTlJRC85dGdFZ1BmME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMDUvVklpUGYxYUFnUUFJQ2NnUGYxYUFnUUJJQ2tnUGYxYUFnUUNJQ29nUGYxYUFnUURJQ3Y5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnUGlCQi9iRUJJajBnUC8yMkFTQTkvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvVG45VWlJOS9Wb0NCQUFnS0NBOS9Wb0NCQUVnTENBOS9Wb0NCQUlnTFNBOS9Wb0NCQU1nRlAwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNBK0lFRDlyZ0VpUFNBLy9iWUJJRDM5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5T2YxU0lqMzlXZ0lFQUNBVklEMzlXZ0lFQVNBY0lEMzlXZ0lFQWlBZElEMzlXZ0lFQXlBVFFRUnFJaE1nRzBjTkFBc2dFU0FpYWlFUklCQWdIbW9oRUNBQ0lCNXFJUUlnRmlBYlJnUkFJQThoQUNBTklRRWdDeUVLREFJTElBOGhBQ0FOSVFFZ0N5RUtJQnRCQVhRTElRc0RRQ0FLS0FJQUlSTWdBQUovSUJFb0FnQWdER3V5dXlJRlJEdmZUNDJYYnZZL29pSUdtVVFBQUFBQUFBRGdRV01FUUNBR3Fnd0JDMEdBZ0lDQWVBc2dFQ2dDQUNJTmFpSVBJQWtnQ1NBUFNodEJBQ0FQUVFCT0d6WUNBQ0FDSUEwQ2Z5QVRJQXhyc3JzaUJrUnF2SFNUR0FUV1A2SWdCVVFNQWl1SEZ0bm1QNktnSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0QzJzaUR5QUpJQWtnRDBvYlFRQWdEMEVBVGhzMkFnQWdBUUovSUFaRUp6RUlyQnhhL0QraUlnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEN5QU5haUlOSUFrZ0NTQU5TaHRCQUNBTlFRQk9HellDQUNBS0tBSUFJUk1nQUFKL0lCRW9BZ0FnREd1eXV5SUZSRHZmVDQyWGJ2WS9vaUlHbVVRQUFBQUFBQURnUVdNRVFDQUdxZ3dCQzBHQWdJQ0FlQXNnRUNnQ0JDSU5haUlQSUFrZ0NTQVBTaHRCQUNBUFFRQk9HellDQkNBQ0lBMENmeUFUSUF4cnNyc2lCa1JxdkhTVEdBVFdQNklnQlVRTUFpdUhGdG5tUDZLZ0lnV1pSQUFBQUFBQUFPQkJZd1JBSUFXcURBRUxRWUNBZ0lCNEMyc2lEeUFKSUFrZ0Qwb2JRUUFnRDBFQVRoczJBZ1FnQVFKL0lBWkVKekVJckJ4YS9EK2lJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUFOYWlJTklBa2dDU0FOU2h0QkFDQU5RUUJPR3pZQ0JDQVJRUVJxSVJFZ0NrRUVhaUVLSUFGQkNHb2hBU0FDUVFocUlRSWdBRUVJYWlFQUlCQkJDR29oRUNBTFFRSnFJZ3NnSUVrTkFBc0xJRHRCQW1vRlFRQUxJQnBQRFFBZ0NpZ0NBQ0VMSUFBQ2Z5QVJLQUlBSUF4cnNyc2lCVVE3MzArTmwyNzJQNklpQnBsRUFBQUFBQUFBNEVGakJFQWdCcW9NQVF0QmdJQ0FnSGdMSUJBb0FnQWlBR29pQ2lBSklBa2dDa29iUVFBZ0NrRUFUaHMyQWdBZ0FpQUFBbjhnQ3lBTWE3SzdJZ1pFYXJ4MGt4Z0UxaitpSUFWRURBSXJoeGJaNWoraW9DSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdHJJZ0lnQ1NBQ0lBbElHMEVBSUFKQkFFNGJOZ0lBSUFFQ2Z5QUdSQ2N4Q0t3Y1d2dy9vaUlGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNnQUdvaUFDQUpJQUFnQ1VnYlFRQWdBRUVBVGhzMkFnQUxJQmNvQWhnb0Fpd1FFQ0FYS0FJWUlnQWdCellDTENBQUtBSmdFQkFnRnlnQ0dDSUFJQWcyQW1BZ0FDZ0NsQUVRRUNBWEtBSVlJZ0FnRGpZQ2xBRWdBQ0FBL1FBQ0FDSS8vUXNDYUNBQUlELzlDd0kwSUJkQkFUWUNGQXNNQndzZ0FTZ0NCRUVCUncwQklBRW9BamhCQVVjTkFTQUJLQUpzUVFGSERRRWdBU2dDR0NFQUlBRW9BcFFCSVFJZ0FTZ0NZQ0VISUFFb0Fpd2hEQ0FCS0FJSUlnb2dBU2dDRENJV2JFRUNkQ0lCRUJnaER5QUJFQmdoRnlBQkVCZ2hDU0FQUlEwRklCZEZEUVVnQ1VVTkJTQVdCRUFnQ2lBTktBSUFRUUZ4SWg5cklTSUNmMEVBUVFFZ0FFRUJhM1FpRkd1eXV5SUZSR3E4ZEpNWUJOWS9vaUFGUkF3Q0s0Y1cyZVkvb3FBaUJwbEVBQUFBQUFBQTRFRmpCRUFnQnFvTUFRdEJnSUNBZ0hnTElTZEJmeUFBZENFOElDSkJmbkVpSFVFQmF5SUtRUUYySWdCQkFXb2hJd0ovSUFWRUp6RUlyQnhhL0QraUlnYVpSQUFBQUFBQUFPQkJZd1JBSUFhcURBRUxRWUNBZ0lCNEN5RXBJQXBCZm5FaENpQUFRUUowSVFnZ0FFRURkQ0VBSUNOQmZIRWhHeUE4UVg5eklSRUNmeUFGUkR2ZlQ0Mlhidlkvb2lJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUFzaEtpQUtRUUpxSVNRZ0NFRUVhaUVsSUFCQkNHb2hJQ0FiUVFKMElTWWdHMEVEZENFZUlCdEJBWFFoRUNBUi9SRWhQeUFVL1JFaFF5QWRRUWRKSVNnZ0R5RUtJQmNoQUNBSklRNERRQ0FmQkVBZ0NpQU1LQUlBSWdFZ0ttb2lDQ0FSSUFnZ0VVZ2JRUUFnQ0VFQVRoczJBZ0FnQUNBQklDZHJJZ2dnRVNBSUlCRklHMEVBSUFoQkFFNGJOZ0lBSUE0Z0FTQXBhaUlCSUJFZ0FTQVJTQnRCQUNBQlFRQk9HellDQUNBT1FRUnFJUTRnQ2tFRWFpRUtJQXhCQkdvaERDQUFRUVJxSVFBTEFuOENmeUFkUlFSQUlBY2hBU0FPSVFzZ0NpRUlRUUFNQVF0QkFDRVpBa0FDUUNBb0RRQWdDaUFBSUNCcUlnRkpJQUFnQ2lBZ2FpSUlTWEVOQUNBS0lBNGdJR29pQzBrZ0NDQU9TM0VOQUNBS0lBd2dJR29pR2trZ0NDQU1TM0VOQUNBSElBaEpJQW9nQnlBbGFpSWNTWEVOQUNBQ0lBaEpJQW9nQWlBbGFpSUlTWEVOQUNBQUlBdEpJQUVnRGt0eERRQWdBQ0FhU1NBQklBeExjUTBBSUFBZ0hFa2dBU0FIUzNFTkFDQUFJQWhKSUFFZ0FrdHhEUUFnRGlBYVNTQUxJQXhMY1EwQUlBNGdIRWtnQnlBTFNYRU5BQ0FDSUF0SklBZ2dEa3R4RFFBZ0J5QW1haUVCSUE0Z0htb2hDeUFLSUI1cUlRZ0RRQ0FNSUJsQkEzUWlHa0VZY2lJY2FpSXJJQXdnR2tFUWNpSVZhaUlzSUF3Z0drRUljaUlTYWlJdElBd2dHbW9pTHYwSkFnRDlWZ0lBQWYxV0FnQUMvVllDQUFNaFBRSi9JQUlnR1VFQ2RDSXZhdjBBQWdBZ1EvMnhBZjM2QVNJKy9WOGlRUDBNTzk5UGpaZHU5ajg3MzArTmwyNzJQLzN5QVNKQi9TRUJJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDeUV3SUFjZ0wycjlBQUlBSVVJZ0NpQWFhaUl2L1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBSUQwQ2Z5QkIvU0VBSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Qy8wUklERDlIQUVDZnlBK0lENzlEUWdKQ2dzTURRNFBBQUVDQXdBQkFnUDlYeUpCL1F3NzMwK05sMjcyUHp2ZlQ0MlhidlkvL2ZJQklqNzlJUUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdML1J3Q0FuOGdQdjBoQVNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF2OUhBTWlSUDJ1QVNJK0lELzl0Z0VnUHYwTUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAwNS9WSWlQdjFhQWdBQUlBb2dFbW9pTUNBKy9Wb0NBQUVnQ2lBVmFpSXlJRDc5V2dJQUFpQUtJQnhxSWpNZ1B2MWFBZ0FEQW44Z1FpQkQvYkVCL2ZvQklqNzlYeUpDL1F4cXZIU1RHQVRXUDJxOGRKTVlCTlkvL2ZJQklFRDlEQXdDSzRjVzJlWS9EQUlyaHhiWjVqLzk4Z0g5OEFFaVFQMGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNoTVNBQUlCcHFJalQ5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnUFFKL0lFRDlJUUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdML1JFZ01mMGNBUUovSUQ3OURBQUFBQUFBQUFBQUFBQUFBQUFBQUFEOURRZ0pDZ3NNRFE0UEFBRUNBd0FCQWdQOVh5SkEvUXhxdkhTVEdBVFdQMnE4ZEpNWUJOWS8vZklCSUVIOURBd0NLNGNXMmVZL0RBSXJoeGJaNWovOThnSDk4QUVpUHYwaEFDSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdjlIQUlDZnlBKy9TRUJJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBjQXlKQi9iRUJJajRnUC8yMkFTQSsvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUEvVG45VWlJKy9Wb0NBQUFnQUNBU2FpSXhJRDc5V2dJQUFTQUFJQlZxSWpVZ1B2MWFBZ0FDSUFBZ0hHb2lOaUErL1ZvQ0FBTUNmeUJDL1F3bk1RaXNIRnI4UHljeENLd2NXdncvL2ZJQklqNzlJUUVpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMSVRjZ0RpQWFhaUlhL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBSUQwQ2Z5QSsvU0VBSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Qy8wUklEZjlIQUVDZnlCQS9Rd25NUWlzSEZyOFB5Y3hDS3djV3Z3Ly9mSUJJajM5SVFBaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTC9Sd0NBbjhnUGYwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdjlIQU1pUVAydUFTSTlJRC85dGdFZ1BmME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMDUvVklpUGYxYUFnQUFJQTRnRW1vaUVpQTkvVm9DQUFFZ0RpQVZhaUlWSUQzOVdnSUFBaUFPSUJ4cUlod2dQZjFhQWdBRElDLzlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdLMEVFYWlBc1FRUnFJQzFCQkdvZ0x2MEpBZ1Q5VmdJQUFmMVdBZ0FDL1ZZQ0FBTWlQaUJFL2E0QklqMGdQLzIyQVNBOS9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9UbjlVaUk5L1ZvQ0JBQWdNQ0E5L1ZvQ0JBRWdNaUE5L1ZvQ0JBSWdNeUE5L1ZvQ0JBTWdOUDBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0ErSUVIOXNRRWlQU0EvL2JZQklEMzlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlPZjFTSWozOVdnSUVBQ0F4SUQzOVdnSUVBU0ExSUQzOVdnSUVBaUEySUQzOVdnSUVBeUFhL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBSUQ0Z1FQMnVBU0k5SUQvOXRnRWdQZjBNQUFBQUFBQUFBQUFBQUFBQUFBQUFBUDA1L1ZJaVBmMWFBZ1FBSUJJZ1BmMWFBZ1FCSUJVZ1BmMWFBZ1FDSUJ3Z1BmMWFBZ1FESUJsQkJHb2lHU0FiUncwQUN5QUNJQ1pxSVFJZ0RDQWVhaUVNSUFBZ0htb2hBQ0FRSVJrZ0pDQWJJQ05HRFFJYURBRUxJQW9oQ0NBT0lRc2dCeUVCQ3dOQUlBRW9BZ0FoRGlBSUFuOGdBaWdDQUNBVWE3SzdJZ1ZFTzk5UGpaZHU5aitpSWdhWlJBQUFBQUFBQU9CQll3UkFJQWFxREFFTFFZQ0FnSUI0Q3lBTUtBSUFJZ3BxSWdjZ0VTQUhJQkZJRzBFQUlBZEJBRTRiTmdJQUlBQWdDZ0ovSUE0Z0ZHdXl1eUlHUkdxOGRKTVlCTlkvb2lBRlJBd0NLNGNXMmVZL29xQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0xheUlISUJFZ0J5QVJTQnRCQUNBSFFRQk9HellDQUNBTEFuOGdCa1FuTVFpc0hGcjhQNklpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMSUFwcUlnb2dFU0FLSUJGSUcwRUFJQXBCQUU0Yk5nSUFJQUVvQWdBaERpQUlBbjhnQWlnQ0FDQVVhN0s3SWdWRU85OVBqWmR1OWoraUlnYVpSQUFBQUFBQUFPQkJZd1JBSUFhcURBRUxRWUNBZ0lCNEN5QU1LQUlFSWdwcUlnY2dFU0FISUJGSUcwRUFJQWRCQUU0Yk5nSUVJQUFnQ2dKL0lBNGdGR3V5dXlJR1JHcThkSk1ZQk5ZL29pQUZSQXdDSzRjVzJlWS9vcUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdMYXlJSElCRWdCeUFSU0J0QkFDQUhRUUJPR3pZQ0JDQUxBbjhnQmtRbk1RaXNIRnI4UDZJaUJabEVBQUFBQUFBQTRFRmpCRUFnQmFvTUFRdEJnSUNBZ0hnTElBcHFJZ29nRVNBS0lCRklHMEVBSUFwQkFFNGJOZ0lFSUFKQkJHb2hBaUFCUVFScUlRRWdDMEVJYWlFTElBQkJDR29oQUNBSVFRaHFJUWdnREVFSWFpRU1JQmxCQW1vaUdTQWRTUTBBQ3lBa0N5QWlUd1JBSUFFaEJ5QUlJUW9nQ3d3QkN5QUJLQUlBSVE0Z0NBSi9JQUlvQWdBZ0ZHdXl1eUlGUkR2ZlQ0Mlhidlkvb2lJR21VUUFBQUFBQUFEZ1FXTUVRQ0FHcWd3QkMwR0FnSUNBZUFzZ0RDZ0NBQ0lLYWlJSElCRWdCeUFSU0J0QkFDQUhRUUJPR3pZQ0FDQUFJQW9DZnlBT0lCUnJzcnNpQmtScXZIU1RHQVRXUDZJZ0JVUU1BaXVIRnRubVA2S2dJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDMnNpQnlBUklBY2dFVWdiUVFBZ0IwRUFUaHMyQWdBZ0N3Si9JQVpFSnpFSXJCeGEvRCtpSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Q3lBS2FpSUtJQkVnQ2lBUlNCdEJBQ0FLUVFCT0d6WUNBQ0FDUVFScUlRSWdBVUVFYWlFSElBQkJCR29oQUNBSVFRUnFJUW9nREVFRWFpRU1JQXRCQkdvTElRNGdFMEVCYWlJVElCWkhEUUFMQ3lBTktBSVlLQUlzRUJBZ0RTZ0NHQ0lBSUE4MkFpd2dBQ2dDWUJBUUlBMG9BaGdpQUNBWE5nSmdJQUFvQXBRQkVCQWdEU2dDR0NJQUlBazJBcFFCSUFBZ0FQMEFBZ0FpUC8wTEFtZ2dBQ0EvL1FzQ05DQU5RUUUyQWhSQkFDRVpEQVlMSUFFb0FtaEJBVWNOQUNBQktBSUVRUUZIRFFBZ0FTZ0NPRUVCUncwQUlBRW9BbXhCQVVjTkFDQUJLQUlZSVFJZ0FTZ0NsQUVoQ0NBQktBSmdJUXdnQVNnQ0xDRUFJQUVvQWd3Z0FTZ0NDR3dpRjBFQ2RDSUJFQmdoQnlBQkVCZ2hEeUFCRUJnaERnSkFJQWRGRFFBZ0QwVU5BQ0FPUlEwQUlCZEZEUVJCZnlBQ2RFRi9jeUVaUVFFZ0FrRUJhM1FoRVNBWFFRaEpEUUlnRHlBSGEwRVFTUTBDSUE0Z0IydEJFRWtOQWlBSElBQnJRUkJKRFFJZ0J5QU1hMEVRU1EwQ0lBY2dDR3RCRUVrTkFpQU9JQTlyUVJCSkRRSWdEeUFBYTBFUVNRMENJQThnREd0QkVFa05BaUFQSUFoclFSQkpEUUlnRGlBQWEwRVFTUTBDSUE0Z0RHdEJFRWtOQWlBT0lBaHJRUkJKRFFJZ0NDQVhRWHh4SWdwQkFuUWlDV29oQ3lBSklBNXFJUUVnQnlBSmFpRUNJQm45RVNFL0lCSDlFU0U5QTBBQ2Z5QUlJQk5CQW5RaUVHcjlBQUlBSUQzOXNRSDkrZ0VpUHYxZklrRDlERHZmVDQyWGJ2WS9POTlQalpkdTlqLzk4Z0VpUWYwaEFTSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBc2hGQ0FNSUJCcS9RQUNBQ0ZDSUFjZ0VHcjlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdBQ0FRYXYwQUFnQWlRd0ovSUVIOUlRQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0wvUkVnRlAwY0FRSi9JRDRnUHYwTkNBa0tDd3dORGc4QUFRSURBQUVDQS8xZklqNzlERHZmVDQyWGJ2WS9POTlQalpkdTlqLzk4Z0VpUWYwaEFDSUZtVVFBQUFBQUFBRGdRV01FUUNBRnFnd0JDMEdBZ0lDQWVBdjlIQUlDZnlCQi9TRUJJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBjQS8ydUFTSkJJRC85dGdFZ1FmME1BQUFBQUFBQUFBQUFBQUFBQUFBQUFQMDUvVkw5Q3dJQUFuOGdRaUE5L2JFQi9mb0JJa0g5WHlKQy9ReHF2SFNUR0FUV1AycThkSk1ZQk5ZLy9mSUJJRUQ5REF3Q0s0Y1cyZVkvREFJcmh4Ylo1ai85OGdIOThBRWlRUDBoQVNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUFzaEZDQVBJQkJxL1F3QUFBQUFBQUFBQUFBQUFBQUFBQUFBSUVNQ2Z5QkEvU0VBSWdXWlJBQUFBQUFBQU9CQll3UkFJQVdxREFFTFFZQ0FnSUI0Qy8wUklCVDlIQUVDZnlCQi9Rd0FBQUFBQUFBQUFBQUFBQUFBQUFBQS9RMElDUW9MREEwT0R3QUJBZ01BQVFJRC9WOGlRUDBNYXJ4MGt4Z0UxajlxdkhTVEdBVFdQLzN5QVNBKy9Rd01BaXVIRnRubVB3d0NLNGNXMmVZLy9mSUIvZkFCSWo3OUlRQWlCWmxFQUFBQUFBQUE0RUZqQkVBZ0Jhb01BUXRCZ0lDQWdIZ0wvUndDQW44Z1B2MGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXY5SEFQOXNRRWlQaUEvL2JZQklENzlEQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDlPZjFTL1FzQ0FBSi9JRUw5RENjeENLd2NXdncvSnpFSXJCeGEvRC85OGdFaVB2MGhBU0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXNoRkNBT0lCQnEvUXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRU1DZnlBKy9TRUFJZ1daUkFBQUFBQUFBT0JCWXdSQUlBV3FEQUVMUVlDQWdJQjRDLzBSSUJUOUhBRUNmeUJBL1F3bk1RaXNIRnI4UHljeENLd2NXdncvL2ZJQklqNzlJUUFpQlpsRUFBQUFBQUFBNEVGakJFQWdCYW9NQVF0QmdJQ0FnSGdML1J3Q0FuOGdQdjBoQVNJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUF2OUhBUDlyZ0VpUGlBLy9iWUJJRDc5REFBQUFBQUFBQUFBQUFBQUFBQUFBQUQ5T2YxUy9Rc0NBQ0FUUVFScUloTWdDa2NOQUFzZ0NpQVhSZzBFSUFrZ0RHb2hEQ0FBSUFscUlRQWdDU0FQYWd3REN5QUhFQkFnRHhBUUlBNFFFQXdGQ3lBWVFia0ROZ0lFSUJoQnVBbzJBZ0JCNk1RQlFjSStJQmdRRmd3RUN5QUhJUUlnRGlFQklBZ2hDeUFQQ3lFSUEwQWdEQ2dDQUNFVElBSUNmeUFMS0FJQUlCRnJzcnNpQlVRNzMwK05sMjcyUDZJaUJwbEVBQUFBQUFBQTRFRmpCRUFnQnFvTUFRdEJnSUNBZ0hnTElBQW9BZ0FpQ1dvaUVDQVpJQkFnR1VnYlFRQWdFRUVBVGhzMkFnQWdDQ0FKQW44Z0V5QVJhN0s3SWdaRWFyeDBreGdFMWoraUlBVkVEQUlyaHhiWjVqK2lvQ0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXRySWhBZ0dTQVFJQmxJRzBFQUlCQkJBRTRiTmdJQUlBRUNmeUFHUkNjeENLd2NXdncvb2lJRm1VUUFBQUFBQUFEZ1FXTUVRQ0FGcWd3QkMwR0FnSUNBZUFzZ0NXb2lDU0FaSUFrZ0dVZ2JRUUFnQ1VFQVRoczJBZ0FnQVVFRWFpRUJJQWhCQkdvaENDQUNRUVJxSVFJZ0MwRUVhaUVMSUF4QkJHb2hEQ0FBUVFScUlRQWdDa0VCYWlJS0lCZEhEUUFMQ3lBTktBSVlLQUlzRUJBZ0RTZ0NHQ0lBSUFjMkFpd2dBQ2dDWUJBUUlBMG9BaGdpQUNBUE5nSmdJQUFvQXBRQkVCQWdEU2dDR0NBT05nS1VBU0FOUVFFMkFoUkJBQ0VaREFFTElBOFFFQ0FYRUJBZ0NSQVFDeUFZS0FJZ0lRQUNRQ0FERFFBZ0lVVU5BQ0FBS0FJWUlRNUJBQ0VUQTBBZ0RpQVRRVFJzYWlJREtBSVlJZ0pCQ0VjRVFBSkFJQUpCQjAwRVFDQURLQUlNSUFNb0FnaHNJUUVnQXlnQ0xDRUtJQU1vQWlBRVFDQUJSUTBDUVFFZ0FrRUJhM1N0SVVWQkFDRUhJQUZCQkU4RVFDQUJRWHh4SVFjZ1JmMFNJVDlCQUNFTUEwQWdDaUFNUVFKMGFpSUNJQUw5QUFJQUlqMzl4d0ZCQi8zTEFTSSsvUjBBSUQvOUhRQWlSbi85RWlBKy9SMEJJRC85SFFFaVIzLzlIZ0VnUFNBLy9RMElDUW9MREEwT0R3QUJBZ01BQVFJRC9jY0JRUWY5eXdFaVBmMGRBQ0JHZi8wU0lEMzlIUUVnUjMvOUhnSDlEUUFCQWdNSUNRb0xFQkVTRXhnWkdodjlDd0lBSUF4QkJHb2lEQ0FIUncwQUN5QUJJQWRHRFFNTEEwQWdDaUFIUVFKMGFpSUNJQUkwQWdCQ0I0WWdSWDgrQWdBZ0IwRUJhaUlISUFGSERRQUxEQUlMSUFGRkRRRkJmeUFDZEVGL2M2MGhSVUVBSVFjZ0FVRUVUd1JBSUFGQmZIRWhCeUJGL1JJaFAwRUFJUXdEUUNBS0lBeEJBblJxSWdJZ0F2MEFBZ0FpUGYzSkFmME0vd0FBQUFBQUFBRC9BQUFBQUFBQUFQM1ZBU0krL1IwQUlELzlIUUFpUm9EOUVpQSsvUjBCSUQvOUhRRWlSNEQ5SGdFZ1BTQS8vUTBJQ1FvTERBME9Ed0FCQWdNQUFRSUQvY2tCL1F6L0FBQUFBQUFBQVA4QUFBQUFBQUFBL2RVQklqMzlIUUFnUm9EOUVpQTkvUjBCSUVlQS9SNEIvUTBBQVFJRENBa0tDeEFSRWhNWUdSb2IvUXNDQUNBTVFRUnFJZ3dnQjBjTkFBc2dBU0FIUmcwQ0N3TkFJQW9nQjBFQ2RHb2lBaUFDTlFJQVF2OEJmaUJGZ0Q0Q0FDQUhRUUZxSWdjZ0FVY05BQXNNQVFzZ0FrRUlheUVLSUFNb0Fnd2dBeWdDQ0d3aEFTQURLQUlzSVFnZ0F5Z0NJQVJBSUFGRkRRRkJBQ0VISUFGQkJFOEVRQ0FCUVh4eElRZEJBQ0VDQTBBZ0NDQUNRUUowYWlJTElBdjlBQUlBSUFyOXJBSDlDd0lBSUFKQkJHb2lBaUFIUncwQUN5QUJJQWRHRFFJTEEwQWdDQ0FIUVFKMGFpSUNJQUlvQWdBZ0NuVTJBZ0FnQjBFQmFpSUhJQUZIRFFBTERBRUxJQUZGRFFCQkFDRUhJQUZCQkU4RVFDQUJRWHh4SVFkQkFDRUNBMEFnQ0NBQ1FRSjBhaUlMSUF2OUFBSUFJQXI5clFIOUN3SUFJQUpCQkdvaUFpQUhSdzBBQ3lBQklBZEdEUUVMQTBBZ0NDQUhRUUowYWlJQ0lBSW9BZ0FnQ25ZMkFnQWdCMEVCYWlJSElBRkhEUUFMQ3lBRFFRZzJBaGdMSUJOQkFXb2lFeUFoUncwQUN3c2dBQ2dDRENBQUtBSUliQ0VCQWtBZ0dVVUVRQ0FBS0FJVVFRSkdCRUFnQUNnQ0VFRUJSZ1JBSUFBb0FoZ29BaXdnQVJBT0RBTUxJQVJGRFFJZ0FDZ0NHQ0lBS0FJc0lBQW9BbUFnQVJBSURBSUxJQUFvQWhnaUFDZ0NMQ0FBS0FKZ0lBQW9BcFFCSUFFUUJ3d0JDd0pBQWtBQ1FDQWhRUUZyRGdRQUF3RUNBd3NnQUNnQ0dDZ0NMQ0FCRUFZTUFnc2dBQ2dDR0NJQUtBSXNJQUFvQW1BZ0FDZ0NsQUVnQVJBRkRBRUxJQUFvQWhnaUFDZ0NMQ0FBS0FKZ0lBQW9BcFFCSUFBb0FzZ0JJQUVRQkFzZ0dDZ0NJQkFoUVFBaERBc2dHRUhnd0FCcUpBQWdEQXNJQUVFSUlBQVFKUXVyQWdJQ2ZnSi9RbjhoQXlBQUxRQkVRUWh4UlFSQUlBQWdBQ2dDSUNJR05nSWtBa0FDUUFKQUlBQWdBQ2dDTUNJRkJIOERRQ0FHSUFVZ0FDZ0NBQ0FBS0FJVUVRQUFJZ1ZCZjBZTkFpQUFJQUFvQWlRZ0JXb2lCallDSkNBQUlBQW9BakFnQldzaUJUWUNNQ0FGRFFBTElBQW9BaUFGSUFZTE5nSWtJQUZDQUZVTkFVSUFJUU1NQWdzZ0FDQUFLQUpFUVFoeU5nSkVJQUpCQkVHQjlRQkJBQkFQSUFCQkFEWUNNQ0FBSUFBb0FrUkJDSEkyQWtSQ2Z3OExRZ0FoQXdOQUlBRWdBQ2dDQUNBQUtBSVlFUXNBSWdSQ2YxRUVRQ0FDUVFSQjh2UUFRUUFRRHlBQUlBQW9Ba1JCQ0hJMkFrUWdBQ0FBS1FNNElBTjhOd000UW44Z0F5QURVQnNQQ3lBRElBUjhJUU1nQVNBRWZTSUJRZ0JWRFFBTEN5QUFJQUFwQXpnZ0EzdzNBemdMSUFNTEl3RUJmeUFCSUFFb0FnQWdBU2dDQ0NJQklBQ25JZ0lnQVNBQ1NSdHFOZ0lFUVFFTFBBSUNmd0YrSUFFb0FnQWdBU2dDQ0dvaUF5QUJLQUlFSWdKR0JFQkNmdzhMSUFFZ0FpQUFwMm8yQWdRZ0F5QUNhNndpQkNBQUlBQWdCRlViQzVnREFnSitBbjhnQUNnQ01DSUZJQUduSWdaUEJFQWdBQ0FGSUFack5nSXdJQUFnQUNnQ0pDQUdhallDSkNBQUlBQXBBemdnQVh3M0F6Z2dBUThMSUFBdEFFUkJCSEVFUUNBQVFRQTJBakFnQUNBQUtBSWtJQVZxTmdJa0lBQWdCYTBpQVNBQUtRTTRmRGNET0NBQlFuOGdCUnNQQ3dKQUlBVkZCRUFNQVFzZ0FFRUFOZ0l3SUFBZ0FDZ0NJRFlDSkNBQklBV3RJZ045SVFFTElBRkNBRlVFUUFOQUlBQXBBd2dnQUNrRE9DQUJJQU44ZkZRRVFDQUNRUVJCbS9VQVFRQVFEeUFBUVFBMkFqQWdBQ0FBS0FJZ05nSWtJQUFnQUNrRE9DQURmQ0lETndNNElBQXBBd2dpQVNBRGZTRUVJQUVnQUNnQ0FDQUFLQUljRVFvQUlRVWdBQ2dDUkNFQ0lBQWdCUVIvSUFBZ0FUY0RPQ0FDUVh0eEJTQUNDMEVFY2pZQ1JFSi9JQVFnQVNBRFVSc1BDeUFCSUFBb0FnQWdBQ2dDR0JFTEFDSUVRbjlSQkVBZ0FrRUVRWnYxQUVFQUVBOGdBQ0FBS0FKRVFRUnlOZ0pFSUFBZ0FDa0RPQ0FEZkRjRE9FSi9JQU1nQTFBYkR3c2dBeUFFZkNFRElBRWdCSDBpQVVJQVZRMEFDd3NnQUNBQUtRTTRJQU44TndNNElBTUxtd0VCQlg5QkFTQUNLQUlJSWdjZ0IwRUJUUnNoQkNBQ0tBSUVJZ01nQWlnQ0FHc2hCZ05BSUFRaUJVRUJkQ0VFSUFVZ0Jtc2dBVWtOQUFzZ0JTQUhSd1JBSUFVUUZDSURSUVJBUVg4UEN5QUNLQUlBSWdRRVFDQURJQVFnQmhBU0dpQUNLQUlBRUJBTElBSWdCVFlDQ0NBQ0lBTTJBZ0FnQWlBRElBWnFJZ00yQWdRTElBTWdBQ0FCRUJJYUlBSWdBaWdDQkNBQmFqWUNCQ0FCQzBZQkFuOGdBaWdDQUNBQ0tBSUlhaUlFSUFJb0FnUWlBMFlFUUVGL0R3c2dBQ0FESUFRZ0Eyc2lBQ0FCSUFBZ0FVa2JJZ0FRRWhvZ0FpQUNLQUlFSUFCcU5nSUVJQUFMcWdJQkJIOGpBRUVRYXlJRUpBQUNRQ0FBS0FKMERRQWdBa0VCVFFSQUlBTkJBVUg3d2dCQkFCQVBEQUVMSUFFZ0JFRU1ha0VDRUJFZ0JDZ0NEQ0lHUWYvL0EzRWlCMFVFUUNBRFFRRkJuTU1BUVFBUUR3d0JDeUFDSUFkQkJteEJBbXBKQkVBZ0EwRUJRZnZDQUVFQUVBOE1BUXNnQmtFR2JCQVVJZ05GRFFBZ0FFRUlFQlFpQWpZQ2RDQUNSUVJBSUFNUUVBd0JDeUFDSUFNMkFnQWdBaUFFTHdFTUlnSTdBUVFnQWtVRVFFRUJJUVVNQVF0QkFDRUNBMEFnQVVFQ2FpQUVRUXhxSWdWQkFoQVJJQU1nQWtFR2JHb2lCaUFFS0FJTU93RUFJQUZCQkdvZ0JVRUNFQkVnQmlBRUtBSU1Pd0VDSUFGQkJtb2lBU0FGUVFJUUVTQUdJQVFvQWd3N0FRUkJBU0VGSUFKQkFXb2lBaUFBS0FKMEx3RUVTUTBBQ3dzZ0JFRVFhaVFBSUFVTDhBRUJCWDhqQUVFUWF5SUVKQUFDZnlBQUtBSjRJZ1ZGQkVBZ0EwRUJRYzNDQUVFQUVBOUJBQXdCQ3lBRktBSU1CRUFnQTBFQlFkdlZBRUVBRUE5QkFBd0JDeUFDSUFVdEFCSWlCVUVDZENJR1NRUkFJQU5CQVVHc3dnQkJBQkFQUVFBTUFRdEJBQ0FHRUJRaUFrVU5BQm9nQlFSQVFRQWhBd05BSUFFZ0JFRU1haUlIUVFJUUVTQUNJQU5CQW5ScUlnWWdCQ2dDRERzQkFDQUJRUUpxSUFkQkFSQVJJQVlnQkNnQ0REb0FBaUFCUVFOcUlBZEJBUkFSSUFZZ0JDZ0NERG9BQXlBQlFRUnFJUUVnQTBFQmFpSURJQVZIRFFBTEN5QUFLQUo0SUFJMkFneEJBUXNoQ0NBRVFSQnFKQUFnQ0F2d0F3RUpmeU1BUVJCcklnVWtBQUpBSUFKQkEwa05BQ0FBS0FKNERRQWdBU0FGUVF4cVFRSVFFU0FGTHdFTUlnbEJnUWhyUWY5M1RRUkFJQVVnQ1RZQ0FDQURRUUZCdEJvZ0JSQVBEQUVMSUFGQkFtb2dCVUVNYWtFQkVCRWdCUzhCRENJSVJRUkFJQU5CQVVIVUYwRUFFQThNQVFzZ0NFRURhaUFDU3cwQUlBZ2dDV3hCQW5RUUZDSUhSUTBBSUFnUUZDSUtSUVJBSUFjUUVBd0JDeUFJRUJRaUMwVUVRQ0FIRUJBZ0NoQVFEQUVMUVJRUUZDSUdSUVJBSUFjUUVDQUtFQkFnQ3hBUURBRUxJQUZCQTJvaEF5QUdJQW8yQWdnZ0JpQUxOZ0lFSUFZZ0NUc0JFQ0FHSUFjMkFnQWdCU2dDRENFTUlBWkJBRFlDRENBR0lBdzZBQklnQUNBR05nSjRBMEFnQXlBRlFReHFRUUVRRVNBRUlBcHFJQVV0QUF4Qi93QnhRUUZxT2dBQUlBUWdDMm9nQlNnQ0RFR0FBWEZCQjNZNkFBQWdBMEVCYWlFRElBUkJBV29pQkNBSVJ3MEFDeUFKUlFSQVFRRWhCQXdCQzBFQUlRWURRRUVBSVFSQkFDRUFBMEFnQWtFRUlBUWdDbW90QUFCQkIycEJBM1lpQkNBRVFRUlBHeUlFSUFNZ0FXdHFTQVJBUVFBaEJBd0RDeUFESUFWQkRHb2dCQkFSSUFjZ0JTZ0NERFlDQUNBSFFRUnFJUWNnQXlBRWFpRURJQUJCQVdvaUFFSC8vd054SWdRZ0NFa05BQXRCQVNFRUlBWkJBV29pQmtILy93TnhJQWxKRFFBTEN5QUZRUkJxSkFBZ0JBdVlBUUVDZnlNQVFSQnJJZ1VrQUNBQUtBSVlJZ1JCL3dGSEJFQWdCU0FFTmdJQUlBTkJBa0hrRXlBRkVBOExBa0FDUUNBQ0lBQW9BaFJHQkVBZ0FnMEJRUUVoQkF3Q0MwRUFJUVFnQTBFQlFidnNBRUVBRUE4TUFRdEJBQ0VDQTBCQkFTRUVJQUVnQUNnQ1NDQUNRUXhzYWtFSWFrRUJFQkVnQVVFQmFpRUJJQUpCQVdvaUFpQUFLQUlVU1EwQUN3c2dCVUVRYWlRQUlBUUxqZ1lCQm44akFFSFFBR3NpQkNRQUFrQWdBa0VDVFFSQUlBTkJBVUdiN0FCQkFCQVBEQUVMSUFBdEFId0VRQ0FEUVFSQjd0SUFRUUFRRDBFQklRWU1BUXRCQVNFR0lBRWdBRUVvYWtFQkVCRWdBVUVCYWlBQVFUUnFRUUVRRVNBQlFRSnFJQUJCTEdwQkFSQVJJQUZCQTJvaEJRSkFBa0FDUUFKQUFrQWdBQ2dDS0NJSFFRRnJEZ0lBQVFJTElBSkJCazBFUUNBRUlBSTJBaEFnQTBFQlFjRHhBQ0FFUVJCcUVBOUJBQ0VHREFVTEFrQWdBa0VIUmcwQUlBQW9BakJCRGtZTkFDQUVJQUkyQWpBZ0EwRUNRY0R4QUNBRVFUQnFFQThMSUFVZ0FFRXdha0VFRUJFZ0FDZ0NNRUVPUncwRFFTUVFGQ0lGUlFSQVFRQWhCaUFEUVFGQnN6eEJBQkFQREFVTElBVkJEallDQUNBRVFRQTJBa0FnQkVFQU5nSTRJQVJCQURZQ1NDQUVRUUEyQWp3Z0JFRUFOZ0pFSUFSQkFEWUNURUd3NnBBQ0lRWWdCRUd3NnBBQ05nSTBJQVZCZ0l5Vm9nUTJBZ1FDZnlBQ1FRZEhCRUFnQWtFalJnUkFJQUZCQjJvZ0JFSE1BR3BCQkJBUklBRkJDMm9nQkVISUFHcEJCQkFSSUFGQkQyb2dCRUhFQUdwQkJCQVJJQUZCRTJvZ0JFRkFhMEVFRUJFZ0FVRVhhaUFFUVR4cVFRUVFFU0FCUVJ0cUlBUkJPR3BCQkJBUklBRkJIMm9nQkVFMGFrRUVFQkVnQlVFQU5nSUVJQVFvQWpRaEJpQUVLQUk0SVFJZ0JDZ0NRQ0VESUFRb0Fqd2hCeUFFS0FKRUlRZ2dCQ2dDVENFSklBUW9Ba2dNQWdzZ0JDQUNOZ0lnSUFOQkFrSGs4UUFnQkVFZ2FoQVBDMEVBSVFKQkFDRURRUUFoQjBFQUN5RUJJQVVnQnpZQ0dDQUZJQWcyQWhBZ0JTQUpOZ0lJSUFVZ0JqWUNJQ0FGSUFJMkFod2dCU0FETmdJVUlBVWdBVFlDRENBQVFRQTJBbkFnQUNBRk5nSnNEQU1MSUFBZ0FrRURheUlCTmdKd0lBQkJBU0FCRUJNaUF6WUNiQ0FEUlEwQklBSkJBMHdOQWtFQUlRSURRQ0FGSUFSQnpBQnFRUUVRRVNBQUtBSnNJQUpxSUFRb0FrdzZBQUFnQlVFQmFpRUZJQUpCQVdvaUFpQUJSdzBBQ3d3Q0N5QUhRUU5KRFFJZ0JDQUhOZ0lBSUFOQkJFSGI5d0FnQkJBUERBSUxRUUFoQmlBQVFRQTJBbkFNQVF0QkFTRUdJQUJCQVRvQWZBc2dCRUhRQUdva0FDQUdDN1FEQVFOL0l3QkJJR3NpQkNRQUFrQWdBQ2dDU0FSQUlBTkJBa0dOTlVFQUVBOUJBU0VDREFFTElBSkJEa2NFUUVFQUlRSWdBMEVCUWZyckFFRUFFQThNQVFzZ0FTQUFRUkJxUVFRUUVTQUJRUVJxSUFCQkRHcEJCQkFSSUFGQkNHb2dBRUVVYWtFQ0VCRWdBQ2dDRENFRkFrQWdCQUovSUFBb0FoQWlCa1VFUUNBQUtBSVVEQUVMSUFBb0FoUWlBaUFGUlEwQUdpQUNEUUZCQUFzMkFnZ2dCQ0FHTmdJRUlBUWdCVFlDQUNBRFFRRkIzdW9BSUFRUUQwRUFJUUlNQVFzZ0FrR0JnQUZyUWYvL2ZrMEVRRUVBSVFJZ0EwRUJRWWpxQUVFQUVBOE1BUXNnQUNBQ1FRd1FFeUlDTmdKSUlBSkZCRUJCQUNFQ0lBTkJBVUd0NmdCQkFCQVBEQUVMUVFFaEFpQUJRUXBxSUFCQkdHcEJBUkFSSUFGQkMyb2dBRUVjYWtFQkVCRWdBQ2dDSENJRlFRZEhCRUFnQkNBRk5nSVFJQU5CQkVHZCtnQWdCRUVRYWhBUEN5QUJRUXhxSUFCQklHcEJBUkFSSUFGQkRXb2dBRUVrYWtFQkVCRWdBQ2dDQUNJQklBRXRBTHdCUWZzQmNTQUFLQUlZUWY4QlJrRUNkSEk2QUx3QklBQW9BZ0FpQVNBQUtBSU1OZ0xZQVNBQklBQW9BaEEyQXR3QklBQkJBVG9BaFFFTElBUkJJR29rQUNBQ0M3b0VBUVovSXdCQkVHc2lCaVFBQW44Z0FDMEFaRUVDY1VVRVFDQURRUUZCa2RRQVFRQVFEMEVBREFFTElBQkJBRFlDYUFKQUFrQUNRQ0FDQkVBRFFDQUNRUWROQkVBZ0EwRUJRYmtaUVFBUUR3d0ZDeUFCSUFaQkRHb2lCVUVFRUJFZ0JpZ0NEQ0VFSUFGQkJHb2dCVUVFRUJGQkNDRUhJQVlvQWd3aEJRSkFBa0FDUUFKQUlBUU9BZ0VBQXdzZ0FrRVFTUVJBUWVFWklRUU1Cd3NnQVVFSWFpQUdRUWhxUVFRUUVTQUdLQUlJQkVCQnlqOGhCQXdIQ3lBQlFReHFJQVpCREdwQkJCQVJJQVlvQWd3aUJBMEJRYklZSVFRTUJnc2dBMEVCUWJJWVFRQVFEd3dHQzBFUUlRY0xJQVFnQjBrRVFDQURRUUZCaGNVQVFRQVFEd3dGQ3lBQ0lBUkpCRUFnQTBFQlFiM0VBRUVBRUE5QkFBd0dDd0pBQWtBZ0FDQUJJQWRxSUFRZ0Iyc2dBd0ovQWtBQ1FBSkFJQVZCOGRpOW13Wk1CRUFnQlVIanhzR1RCa1lOQVNBRlFlYktrWnNHUmcwRElBVkI4TUsxbXdaSERRVkI0TUFCREFRTElBVkI4dGlOZ3dkR0RRRkJ3TUFCSUFWQjhzaWh5d1pHRFFNYUlBVkI4dGk5bXdaSERRUkJ5TUFCREFNTFFkREFBUXdDQzBIWXdBRU1BUXRCNk1BQkN5Z0NCQkVCQUEwQlFRQU1Cd3NnQUNBQUtBSm9RZi8vLy84SGNqWUNhQXRCQVNBSUlBVkI4c2loeXdaR0d5RUlJQUVnQkdvaEFTQUNJQVJySWdJTkFBc2dDQTBCQ3lBRFFRRkIyY01BUVFBUUQwRUFEQU1MSUFCQkFUb0FoQUVnQUNBQUtBSmtRUVJ5TmdKa1FRRU1BZ3NnQTBFQklBUkJBQkFQQ3lBRFFRRkJuZzVCQUJBUFFRQUxJUWtnQmtFUWFpUUFJQWtMNGdFQkFYOGdBQ2dDWkVFQlJ3UkFJQU5CQVVHKzFBQkJBQkFQUVFBUEN3SkFJQUpCQjAwRVFBd0JDeUFCSUFCQk9HcEJCQkFSSUFGQkJHb2dBRUU4YWtFRUVCRWdBa0VEY1FSQURBRUxJQUFnQWtFSWF5SUNRUUoySWdRMkFrQUNRQ0FDUlEwQUlBQWdCRUVFRUJNaUFqWUNSQ0FDUlFSQUlBTkJBVUdwRUVFQUVBOUJBQThMSUFBb0FrQkZEUUFnQVVFSWFpRURRUUFoQWdOQUlBTWdBQ2dDUkNBQ1FRSjBha0VFRUJFZ0EwRUVhaUVESUFKQkFXb2lBaUFBS0FKQVNRMEFDd3NnQUNBQUtBSmtRUUp5TmdKa1FRRVBDeUFEUVFGQnFpMUJBQkFQUVFBTHhBRUJBbjhnQUNBQUtBSWdJZ1EyQWlRQ1FDQUFLQUl3SWdNRVFBTkFJQVFnQXlBQUtBSUFJQUFvQWhRUkFBQWlBMEYvUmcwQ0lBQWdBQ2dDSkNBRGFpSUVOZ0lrSUFBZ0FDZ0NNQ0FEYXlJRE5nSXdJQU1OQUFzZ0FDZ0NJQ0VFQ3lBQVFRQTJBakFnQUNBRU5nSWtJQUVnQUNnQ0FDQUFLQUljRVFvQVJRUkFJQUFnQUNnQ1JFRUljallDUkVFQUR3c2dBQ0FCTndNNFFRRVBDeUFBSUFBb0FrUkJDSEkyQWtRZ0FrRUVRWUgxQUVFQUVBOGdBQ0FBS0FKRVFRaHlOZ0pFUVFBTGdnRUJBbjhqQUVFUWF5SUVKQUFDZnlBQUtBSmtCRUFnQTBFQlFkdlRBRUVBRUE5QkFBd0JDeUFDUVFSSEJFQWdBMEVCUWM0dFFRQVFEMEVBREFFTElBRWdCRUVNYWtFRUVCRWdCQ2dDREVHS2pxcm9BRWNFUUNBRFFRRkI5aVZCQUJBUFFRQU1BUXNnQUNBQUtBSmtRUUZ5TmdKa1FRRUxJUVVnQkVFUWFpUUFJQVVMRFFBZ0FDZ0NBQ0FCSUFJUVJRc0pBQ0FBS0FJQUVFb0xDUUFnQUNnQ0FCQkpDdzBBSUFBb0FnQWdBU0FDRUV3TFFRRUJmeUFDQkg4Z0EwRUNRZHZMQUVFQUVBOGdBQ2dDQUNBQklBSWdBeUFFRUVaRkJFQWdBMEVCUWFrdlFRQVFEMEVBRHdzZ0FDQUNJQU1RY1FWQkFBc0xGUUFnQUNnQ0FDQUJJQUlnQXlBRUlBVWdCaEJPQ3c4QUlBQW9BZ0FnQVNBQ0lBTVFUd3NUQUNBQUtBSUFJQUVnQWlBRElBUWdCUkFyQ3gwQUlBQW9BZ0FnQVNBQ0lBTWdCQ0FGSUFZZ0J5QUlJQWtnQ2hBbkMrb0VBUWQvQWtBZ0FTZ0NDRUUxSUFNUUpFVU5BQ0FCS0FJRUlnY29BZ0FoQlNBSEtBSUlJUVFDUUNBRkJFQkJBU0VHSUFWQkFVY0VRQ0FGUVg1eElRb0RRQUovUVFBZ0JrVU5BQnBCQUNBQklBQWdBeUFFS0FJQUVRQUFSUTBBR2lBQklBQWdBeUFFS0FJRUVRQUFRUUJIQ3lFR0lBUkJDR29oQkNBSlFRSnFJZ2tnQ2tjTkFBc0xBa0FnQlVFQmNRUkFJQVpGRFFFZ0FTQUFJQU1nQkNnQ0FCRUFBRUVBUnlFR0N5QUhRUUEyQWdBZ0JrVU5Bd3dDQ3lBSFFRQTJBZ0JCQUE4TElBZEJBRFlDQUFzZ0FTZ0NDQ0lIS0FJQUlRVWdCeWdDQ0NFRUFrQUNRQUovQWtBZ0JRUkFRUUVoQmlBRlFRRnhJUWdnQlVFQlJ3MEJRUUFNQWdzZ0IwRUFOZ0lBREFJTElBVkJmbkVoQlVFQUlRa0RRQUovUVFBZ0JrVU5BQnBCQUNBQklBQWdBeUFFS0FJQUVRQUFSUTBBR2lBQklBQWdBeUFFS0FJRUVRQUFRUUJIQ3lFR0lBUkJDR29oQkNBSlFRSnFJZ2tnQlVjTkFBc2dCa1VMSVFVZ0NBUkFJQVVOQWlBQklBQWdBeUFFS0FJQUVRQUFRUUJISVFZTElBZEJBRFlDQUVFQUlRZ2dCa1VOQWdzZ0FTMEFoQUZGQkVBZ0EwRUJRYjNXQUVFQUVBOUJBQThMSUFFdEFJVUJSUVJBSUFOQkFVR2cxZ0JCQUJBUFFRQVBDeUFBSUFFb0FnQWdBaUFERUZBaENDQUNSUTBCSUFJb0FnQWlBRVVOQVVFQklRUUNRQUpBQWtBQ1FBSkFBa0FnQVNnQ01FRU1hdzROQXdRRUJBVUFBUVFFQkFRRUFnUUxRUUloQkF3RUMwRURJUVFNQXd0QkJDRUVEQUlMUVFVaEJBd0JDMEYvSVFRTElBQWdCRFlDRkNBQktBSnNJZ05GRFFFZ0FDQUROZ0ljSUFJb0FnQWdBU2dDY0RZQ0lDQUJRUUEyQW13Z0NBOExJQWRCQURZQ0FFRUFJUWdMSUFnTDVBa0NDbjhCZmlNQVFmQUFheUlESkFCQmdBZ2hDQUovQWtCQkFVR0FDQkFUSWdZRVFDQURRZHdBYWlFTElBTkI3QUJxSVFrRFFBSkFBa0FDUUNBQklBTkI2QUJxSWdSQkNDQUNFQnBCQ0VjTkFDQUVJQU5CMkFCcVFRUVFFU0FKSUF0QkJCQVJRUWdoQlFKQUFrQUNRQUpBQWtBZ0F5Z0NXQTRDQUFFRUN5QUJLUU1JSWcxUUJINUNBQVVnRFNBQktRTTRmUXNpRFVMNC8vLy9EMU1OQVNBQ1FRRkJ5ajlCQUJBUERBUUxJQUVnQTBIb0FHb2lCRUVJSUFJUUdrRUlSdzBESUFRZ0EwSGtBR3BCQkJBUklBTW9BbVJGRFFFZ0FrRUJRY28vUVFBUUR3d0RDeUFESUEyblFRaHFOZ0pZREFFTElBa2dBMEhZQUdwQkJCQVJRUkFoQlFzZ0F5Z0NYQ0lFUWVQa3dOTUdSZ1JBSUFBb0FtUWlBVUVFY1FSQUlBQWdBVUVJY2pZQ1pBd0NDeUFDUVFGQnJTdEJBQkFQSUFZUUVFRUFEQWNMSUFNb0FsZ2lCMFVFUUNBQ1FRRkJzaGhCQUJBUElBWVFFRUVBREFjTElBVWdCMHNFUUNBRElBUTJBZ1FnQXlBSE5nSUFJQUpCQVVINjV3QWdBeEFQREFZTEFrQUNmd0ovQWtBQ2Z3SkFBa0FDUUFKQUFrQWdCRUh4MkwyYkJrd0VRQ0FFUWVQR3daTUdSZzBDSUFSQjVzcVJtd1pHRFFRZ0JFSHd3cldiQmtjTkFVSGd3QUVNQmdzZ0JFR2Z3TURTQmt3RVFDQUVRZkxZdlpzR1JnMEZRY0RBQVNBRVFmTElvY3NHUmcwR0dpQUVRZkR5MGJNR1J3MEJRYWpBQVF3SUN5QUVRZkxZallNSFJnMENJQVJCb01EQTBnWkdEUVpCc01BQklBUkI2T1RBMHdaR0RRY2FDeUFBS0FKa0lnUkJBWEVOQ0NBQ1FRRkIvQTVCQUJBUElBWVFFRUVBREE4TFFkREFBUXdEQzBIWXdBRU1BZ3RCNk1BQkRBRUxRY2pBQVFzaENpQURJQVJCL3dGeE5nSk1JQU1nQkVFWWRqWUNRQ0FESUFSQkNIWkIvd0Z4TmdKSUlBTWdCRUVRZGtIL0FYRTJBa1FnQWtFQ1Fja09JQU5CUUdzUUR5QUhJQVZySWdVZ0FDMEFaRUVFY1EwQ0dpQURJQU1vQWx3aUJFRVlkallDTUNBRElBUkIvd0Z4TmdJOElBTWdCRUVRZGtIL0FYRTJBalFnQXlBRVFRaDJRZjhCY1RZQ09DQUNRUUpCMmpNZ0EwRXdhaEFQSUFBZ0FDZ0NaRUgvLy8vL0IzSTJBbVFnQVNBRnJTSU5JQUlnQVNnQ0tCRUlBQ0FOVVEwSElBSkJBVUdTSEVFQUVBOGdCaEFRUVFBTUNndEJvTUFCQ3lFS0lBY2dCV3NMSVFVZ0FTa0RDQ0lOVUFSK1FnQUZJQTBnQVNrRE9IMExJQVd0VXdSQUlBTW9BbGdoQkNBREtBSmNJUUFnQXlBQktRTUlJZzFRQkg1Q0FBVWdEU0FCS1FNNGZRcytBaWdnQXlBRk5nSWtJQU1nQUVIL0FYRTJBaUFnQXlBQVFSaDJOZ0lVSUFNZ0JEWUNFQ0FESUFCQkNIWkIvd0Z4TmdJY0lBTWdBRUVRZGtIL0FYRTJBaGdnQWtFQlFjMzFBQ0FEUVJCcUVBOE1Cd3NnQlNBSVRRUkFJQVloQkF3RUN5QUZJUWdnQmlBRkVCY2lCQTBESUFZUUVDQUNRUUZCL3c5QkFCQVBRUUFNQndzZ0JFRUNjVVVFUUNBQ1FRRkJ3ZzlCQUJBUElBWVFFRUVBREFjTElBQWdCRUgvLy8vL0IzSTJBbVFnQVNBSElBVnJyU0lOSUFJZ0FTZ0NLQkVJQUNBTlVRMERJQUF0QUdSQkNIRkZEUUVnQWtFQ1FaSWNRUUFRRHdzZ0JoQVFRUUVNQlFzZ0FrRUJRWkljUVFBUUR5QUdFQkJCQUF3RUN5QUJJQVFnQlNBQ0VCb2dCVWNFUUNBQ1FRRkJ4QnhCQUJBUElBUVFFRUVBREFRTElBQWdCQ0lHSUFVZ0FpQUtLQUlFRVFFQURRQUxJQVFRRUVFQURBSUxJQUpCQVVHaUpVRUFFQTlCQUF3QkN5QUdFQkJCQUFzaERDQURRZkFBYWlRQUlBd0w1Z0VCQm44Z0FDZ0NDRUUxSUFJUUpBUkFBa0FnQUNnQ0NDSUdLQUlBSVFNZ0JpZ0NDQ0VGQWtBQ1FBSi9Ba0FnQXdSQVFRRWhCQ0FEUVFGeElRY2dBMEVCUncwQlFRQU1BZ3NnQmtFQU5nSUFEQUlMSUFOQmZuRWhBd05BQW45QkFDQUVSUTBBR2tFQUlBQWdBU0FDSUFVb0FnQVJBQUJGRFFBYUlBQWdBU0FDSUFVb0FnUVJBQUJCQUVjTElRUWdCVUVJYWlFRklBaEJBbW9pQ0NBRFJ3MEFDeUFFUlFzaEF5QUhCRUFnQXcwQ0lBQWdBU0FDSUFVb0FnQVJBQUJCQUVjaEJBc2dCa0VBTmdJQUlBUkZEUUlMSUFBb0FnQWFRUUVQQ3lBR1FRQTJBZ0FMQzBFQUN3b0FJQUFvQWdBYVFRQUxGQUFnQUNnQ0FDSUFCRUFnQUNBQk5nSzRBUXNMSVFBZ0FDZ0NBQ0FCRUZNZ0FFRUFPZ0I4SUFBZ0FTZ0N1RUJCQVhFMkFvQUJDeklBSUFKRkJFQkJBQThMSUFBb0FnQWdBU0FDSUFNUVNFVUVRQ0FEUVFGQnFTOUJBQkFQUVFBUEN5QUFJQUlnQXhCeEMya0NBbjhCZkNNQVFSQnJJZ01rQUNBQ0JFQURRQ0FBSUFOQkNHb1FSQ0FCQW44Z0F5c0RDQ0lGbVVRQUFBQUFBQURnUVdNRVFDQUZxZ3dCQzBHQWdJQ0FlQXMyQWdBZ0FVRUVhaUVCSUFCQkNHb2hBQ0FFUVFGcUlnUWdBa2NOQUFzTElBTkJFR29rQUF1RUFRSUNmd0Y5SXdCQkVHc2lBeVFBSUFJRVFBTkFJQU1nQUMwQUFEb0FEeUFESUFBdEFBRTZBQTRnQXlBQUxRQUNPZ0FOSUFNZ0FDMEFBem9BRENBQkFuOGdBeW9DRENJRmkwTUFBQUJQWFFSQUlBV29EQUVMUVlDQWdJQjRDellDQUNBQlFRUnFJUUVnQUVFRWFpRUFJQVJCQVdvaUJDQUNSdzBBQ3dzZ0EwRVFhaVFBQzBzQkFuOGpBRUVRYXlJREpBQWdBZ1JBQTBBZ0FDQURRUXhxUVFRUUVTQUJJQU1vQWd3MkFnQWdBVUVFYWlFQklBQkJCR29oQUNBRVFRRnFJZ1FnQWtjTkFBc0xJQU5CRUdva0FBdExBUUovSXdCQkVHc2lBeVFBSUFJRVFBTkFJQUFnQTBFTWFrRUNFQkVnQVNBREtBSU1OZ0lBSUFGQkJHb2hBU0FBUVFKcUlRQWdCRUVCYWlJRUlBSkhEUUFMQ3lBRFFSQnFKQUFMU2dFQ2Z5TUFRUkJySWdNa0FDQUNCRUFEUUNBQUlBTkJDR29RUkNBQklBTXJBd2kyT0FJQUlBRkJCR29oQVNBQVFRaHFJUUFnQkVFQmFpSUVJQUpIRFFBTEN5QURRUkJxSkFBTGFBRUNmeU1BUVJCcklnTWtBQ0FDQkVBRFFDQURJQUF0QUFBNkFBOGdBeUFBTFFBQk9nQU9JQU1nQUMwQUFqb0FEU0FESUFBdEFBTTZBQXdnQVNBREtnSU1PQUlBSUFGQkJHb2hBU0FBUVFScUlRQWdCRUVCYWlJRUlBSkhEUUFMQ3lBRFFSQnFKQUFMVEFFQ2Z5TUFRUkJySWdNa0FDQUNCRUFEUUNBQUlBTkJER3BCQkJBUklBRWdBeWdDRExNNEFnQWdBVUVFYWlFQklBQkJCR29oQUNBRVFRRnFJZ1FnQWtjTkFBc0xJQU5CRUdva0FBdE1BUUovSXdCQkVHc2lBeVFBSUFJRVFBTkFJQUFnQTBFTWFrRUNFQkVnQVNBREtBSU1zemdDQUNBQlFRUnFJUUVnQUVFQ2FpRUFJQVJCQVdvaUJDQUNSdzBBQ3dzZ0EwRVFhaVFBQzZvSUFnMS9BWHNqQUVFUWF5SUlKQUFDZnlBQUtBSUlRUkJHQkVBZ0FDZ0NuQUVnQUNnQ3pBRkJqQ3hzYWd3QkN5QUFLQUlNQ3lFSkFrQWdBa1VFUUNBRFFRRkI4QjlCQUJBUERBRUxJQUFvQWtnaEJrRUJJUVFnQVNBSVFRaHFRUUVRRVNBSUtBSUlJZ1ZCQWs4RVFDQURRUUpCeHNnQVFRQVFEd3dCQ3lBQ0lBVkJBV3BIQkVCQkFDRUVJQU5CQWtId0gwRUFFQThNQVFzQ1FDQUdLQUlRSWdORkRRQWdDU2dDMENzaEJDQURRUWhQQkVBZ0EwRjRjU0VHUVFBaEFnTkFJQVJCQURZQ3ZFTWdCRUVBTmdLRU95QUVRUUEyQXN3eUlBUkJBRFlDbENvZ0JFRUFOZ0xjSVNBRVFRQTJBcVFaSUFSQkFEWUM3QkFnQkVFQU5nSzBDQ0FFUWNEREFHb2hCQ0FDUVFocUlnSWdCa2NOQUFzTElBTkJCM0VpQTBVTkFFRUFJUUlEUUNBRVFRQTJBclFJSUFSQnVBaHFJUVFnQWtFQmFpSUNJQU5IRFFBTEN5QUpLQUxvS3lJQ0JIOGdBaEFRSUFsQkFEWUM2Q3NnQ0NnQ0NBVWdCUXRGQkVCQkFTRUVEQUVMQTBBZ0FVRUJhaUlCSUFoQkRHcEJBUkFSQWtBZ0NTZ0NnQ3hGRFFBZ0NTZ0MvQ3NpQXlnQ0FDQUlLQUlNUncwQUlBTW9BZ1FpQlNBQUtBSklJZ1lvQWhCSERRQWdBeWdDQ0NJQ0JFQkJBQ0VFSUFJb0FoQWdCU0FGYkNJRklBSW9BZ0JCQW5SQjBMMEJhaWdDQUd4SERRTWdDU0FGUVFKMEVCUWlCellDNkNzZ0IwVU5BeUFDS0FJTUlBY2dCU0FDS0FJQVFRSjBRWURBQVdvb0FnQVJCUUFMSUFNb0Fnd2lBa1VOQUVFQUlRUWdBaWdDRUNBR0tBSVFJZ01nQWlnQ0FFRUNkRUhRdlFGcUtBSUFiRWNOQWlBRFFRSjBFQlFpQlVVTkFpQUNLQUlNSUFVZ0F5QUNLQUlBUVFKMFFaREFBV29vQWdBUkJRQUNRQ0FHS0FJUUlnZEZEUUFnQ1NnQzBDc2hCRUVBSVFzQ1FBSkFJQWRCQkVrTkFDQUVRYlFJYWlJTUlBVWdCMEVDZEdwSkJFQWdCU0FFSUFkQnVBaHNha2tOQVFzZ0JFSGNJV29oRFNBRVFhUVphaUVPSUFSQjdCQnFJUThnQlNBSFFYeHhJZ1pCQW5ScUlRSWdCQ0FHUWJnSWJHb2hCRUVBSVFNRFFDQU1JQU5CdUFoc0lncHFJQVVnQTBFQ2RHcjlBQUlBSWhIOVdnSUFBQ0FLSUE5cUlCSDlXZ0lBQVNBS0lBNXFJQkg5V2dJQUFpQUtJQTFxSUJIOVdnSUFBeUFEUVFScUlnTWdCa2NOQUFzZ0JpQUhSZzBDREFFTElBVWhBa0VBSVFZTElBY2dCaUlEYTBFSGNTSUtCRUFEUUNBRUlBSW9BZ0EyQXJRSUlBTkJBV29oQXlBRVFiZ0lhaUVFSUFKQkJHb2hBaUFMUVFGcUlnc2dDa2NOQUFzTElBWWdCMnRCZUVzTkFBTkFJQVFnQWlnQ0FEWUN0QWdnQkNBQ0tBSUVOZ0xzRUNBRUlBSW9BZ2cyQXFRWklBUWdBaWdDRERZQzNDRWdCQ0FDS0FJUU5nS1VLaUFFSUFJb0FoUTJBc3d5SUFRZ0FpZ0NHRFlDaERzZ0JDQUNLQUljTmdLOFF5QUVRY0REQUdvaEJDQUNRU0JxSVFJZ0EwRUlhaUlESUFkSERRQUxDeUFGRUJBTFFRRWhCQ0FRUVFGcUloQWdDQ2dDQ0VrTkFBc0xJQWhCRUdva0FDQUVDd1FBUW44THZ3a0JDMzhqQUVFUWF5SUZKQUFDZnlBQUtBSUlRUkJHQkVBZ0FDZ0NuQUVnQUNnQ3pBRkJqQ3hzYWd3QkN5QUFLQUlNQ3lFSEFuOGdBa0VCVFFSQUlBTkJBVUhZSTBFQUVBOUJBQXdCQ3lBQklBVkJER3BCQWhBUklBVW9BZ3dFUUNBRFFRSkI4Q3hCQUJBUFFRRU1BUXNnQWtFR1RRUkFJQU5CQVVIWUkwRUFFQTlCQUF3QkN5QUJRUUpxSUFWQkNHcEJBUkFSSUFjb0F2d3JJZ2toQUFKQUFrQUNRQ0FIS0FLQUxDSUdSUTBBSUFVb0FnZ2hDQU5BSUFBb0FnQWdDRVlOQVNBQVFSUnFJUUFnQkVFQmFpSUVJQVpIRFFBTERBRUxJQVFnQmtjTkFRc2dCeWdDaEN3Z0JrWUVmeUFISUFaQkNtb2lBRFlDaEN3Z0NTQUFRUlJzRUJjaUFFVUVRQ0FIS0FMOEt4QVFJQWRCQURZQ2hDd2dCMElBTndMOEt5QURRUUZCOGlOQkFCQVBRUUFNQXdzZ0J5QUFOZ0w4S3lBQUlBY29Bb0FzSWdSQkZHeHFRUUFnQnlnQ2hDd2dCR3RCRkd3UUZSb2dCeWdDL0NzaENTQUhLQUtBTEFVZ0JndEJGR3dnQ1dvaEFFRUJJUXNMSUFBZ0JTZ0NDRFlDQUNBQlFRTnFJQVZCREdwQkFoQVJJQVVvQWd3RVFDQURRUUpCOEN4QkFCQVBRUUVNQVFzZ0FVRUZhaUFGUVFScVFRSVFFU0FGS0FJRUlnUkJBazhFUUNBRFFRSkJxQmRCQUJBUFFRRU1BUXNnQWtFSGF5RUdJQVFFUUNBQlFRZHFJUUpCQUNFSkEwQWdCa0VDVFFSQUlBTkJBVUhZSTBFQUVBOUJBQXdEQ3lBQ0lBVkJER3BCQVJBUklBVW9BZ3hCQVVjRVFDQURRUUpCc2lwQkFCQVBRUUVNQXdzZ0FrRUJhaUFGUVFJUUVTQUFJQVVvQWdBaUJFSC8vd0Z4SWdFMkFnUWdCa0VEYXlJSUlBUkJEM1pCQVdvaUJpQUJiRUVDYWlJS1NRUkFJQU5CQVVIWUkwRUFFQTlCQUF3REN5QUNRUU5xSVFKQkFDRUVJQUVFUUFOQUlBSWdCVUVNYWlBR0VCRWdCQ0FGS0FJTVJ3UkFJQU5CQWtIYUwwRUFFQTlCQVF3RkN5QUNJQVpxSVFJZ0JFRUJhaUlFSUFBb0FnUkpEUUFMQ3lBQ0lBVkJBaEFSSUFVZ0JTZ0NBQ0lFUWYvL0FYRWlBVFlDQUNBQUtBSUVJQUZIQkVBZ0EwRUNRZGdZUVFBUUQwRUJEQU1MSUFnZ0Ntc2lDaUFFUVE5MlFRRnFJZ1lnQVd4QkEyb2lERWtFUUNBRFFRRkIyQ05CQUJBUFFRQU1Bd3NnQWtFQ2FpRUNRUUFoQkNBQkJFQURRQ0FDSUFWQkRHb2dCaEFSSUFRZ0JTZ0NERWNFUUNBRFFRSkIyaTlCQUJBUFFRRU1CUXNnQWlBR2FpRUNJQVJCQVdvaUJDQUFLQUlFU1EwQUN3c2dBaUFGUVF4cVFRTVFFU0FGS0FJTUlRWWdBRUlBTndJSUlBQWdCa0dBZ0FSeFJTQUFMUUFRUWY0QmNYSTZBQkFnQlNBR1FmOEJjU0lJTmdJSUFrQWdDRVVOQUNBSEtBTDBLeUlOQkVBZ0J5Z0M4Q3NoQkVFQUlRRURRQ0FJSUFRb0FnaEdCRUFnQUNBRU5nSUlEQU1MSUFSQkZHb2hCQ0FCUVFGcUlnRWdEVWNOQUFzTElBTkJBVUhZSTBFQUVBOUJBQXdEQ3lBRklBWkJDSFpCL3dGeElnWTJBZ2dDUUNBR1JRMEFJQWNvQXZRcklnZ0VRQ0FIS0FMd0t5RUVRUUFoQVFOQUlBWWdCQ2dDQ0VZRVFDQUFJQVEyQWd3TUF3c2dCRUVVYWlFRUlBRkJBV29pQVNBSVJ3MEFDd3NnQTBFQlFkZ2pRUUFRRDBFQURBTUxJQW9nREdzaEJpQUNRUU5xSVFJZ0NVRUJhaUlKSUFVb0FnUkpEUUFMQ3lBR0JFQWdBMEVCUWRnalFRQVFEMEVBREFFTFFRRWdDMFVOQUJvZ0J5QUhLQUtBTEVFQmFqWUNnQ3hCQVFzaERpQUZRUkJxSkFBZ0RndjFBUUVGZnlNQVFSQnJJZ1FrQUFKQUlBSWdBQ2dDU0NnQ0VDSUdRUUpxUndSQUlBTkJBVUh3SWtFQUVBOE1BUXNnQVNBRVFReHFRUUlRRVNBR0lBUW9BZ3hIQkVBZ0EwRUJRZkFpUVFBUUR3d0JDeUFHUlFSQVFRRWhCUXdCQ3lBQlFRSnFJUUlnQUNnQ1NDZ0NHQ0VBUVFBaEFRTkFJQUlnQkVFSWFrRUJFQkVnQUNBRUtBSUlJZ1ZCL3dCeElnZEJBV29pQ0RZQ0dDQUFJQVZCQjNaQkFYRTJBaUFnQjBFZlR3UkFJQVFnQ0RZQ0JDQUVJQUUyQWdBZ0EwRUJRYmZ6QUNBRUVBOUJBQ0VGREFJTElBQkJOR29oQUVFQklRVWdBa0VCYWlFQ0lBRkJBV29pQVNBR1J3MEFDd3NnQkVFUWFpUUFJQVVMbUFVQkNuOGpBRUVRYXlJSEpBQUNmeUFBS0FJSVFSQkdCRUFnQUNnQ25BRWdBQ2dDekFGQmpDeHNhZ3dCQ3lBQUtBSU1DeUVGQW44Z0FrRUJUUVJBSUFOQkFVSHhIa0VBRUE5QkFBd0JDeUFCSUFkQkRHcEJBaEFSQWtBZ0J5Z0NEQVJBSUFOQkFrR0dHMEVBRUE4TUFRc2dBa0VHVFFSQUlBTkJBVUh4SGtFQUVBOUJBQXdDQ3lBQlFRSnFJQWRCREdwQkFoQVJJQVVvQXZBcklRUWdCeTBBRENFS0FrQUNRQUpBSUFVb0F2UXJJZ1pGQkVBZ0JDRUFEQUVMSUFRaEFBTkFJQUFvQWdnZ0NrWU5BU0FBUVJScUlRQWdDRUVCYWlJSUlBWkhEUUFMREFFTElBWWdDRWNOQVFzZ0JTZ0MrQ3NnQmtZRVFDQUZJQVpCQ21vaUFEWUMrQ3NnQkNBQVFSUnNFQmNoQUNBRktBTHdLeUVFSUFCRkJFQWdCQkFRSUFWQkFEWUMrQ3NnQlVJQU53THdLeUFEUVFGQml4OUJBQkFQUVFBTUJBc0NRQ0FBSUFSR0RRQWdCU2dDZ0N3aUMwVU5BQ0FGS0FMOEt5RU1RUUFoQ0FOQUlBd2dDRUVVYkdvaUJpZ0NDQ0lKQkVBZ0JpQUFJQWtnQkd0cU5nSUlDeUFHS0FJTUlna0VRQ0FHSUFBZ0NTQUVhMm8yQWd3TElBaEJBV29pQ0NBTFJ3MEFDd3NnQlNBQU5nTHdLeUFBSUFVb0F2UXJJZ1JCRkd4cVFRQWdCU2dDK0NzZ0JHdEJGR3dRRlJvZ0JTZ0M5Q3NoQmlBRktBTHdLeUVFQ3lBRklBWkJBV28yQXZRcklBUWdCa0VVYkdvaEFBc2dBQ2dDRENJRUJFQWdCQkFRSUFCQ0FEY0NEQXNnQUNBS05nSUlJQUFnQnlnQ0RDSUVRUXAyUVFOeE5nSUFJQUFnQkVFSWRrRURjVFlDQkNBQlFRUnFJQWRCREdwQkFoQVJJQWNvQWd3RVFDQURRUUpCdlJaQkFCQVBEQUVMSUFBZ0FrRUdheUlDRUJRaUJEWUNEQ0FFUlFSQUlBTkJBVUh4SGtFQUVBOUJBQXdDQ3lBRUlBRkJCbW9nQWhBU0dpQUFJQUkyQWhBTFFRRUxJUTBnQjBFUWFpUUFJQTBMSndCQkFTRUJJQUlnQUNnQ1NDZ0NFRUVDZEVjRWZ5QURRUUZCMXlGQkFCQVBRUUFGUVFFTEM2c0RBUVYvSXdCQkVHc2lCaVFBQW44Z0FrRUJUUVJBSUFOQkFVSDlIVUVBRUE5QkFBd0JDeUFBTFFDOEFVRUJjUVJBSUFOQkFVR0ozZ0JCQUJBUFFRQU1BUXNnQUNnQ25BRWdBQ2dDekFGQmpDeHNhaUlBSUFBdEFJZ3NRUUp5T2dDSUxDQUJJQVpCREdwQkFSQVJBa0FnQUNnQ3JDZ2lCRVVFUUNBQUlBWW9BZ3hCQVdvaUJVRUlFQk1pQkRZQ3JDZ2dCRVVFUUNBRFFRRkJseDVCQUJBUFFRQU1Bd3NnQUNBRk5nS29LQXdCQ3lBR0tBSU1JZ1VnQUNnQ3FDaEpEUUFnQkNBRlFRRnFJZ1JCQTNRUUZ5SUZSUVJBSUFOQkFVR1hIa0VBRUE5QkFBd0NDeUFBSUFVMkFxd29JQVVnQUNnQ3FDZ2lCMEVEZEdwQkFDQUVJQWRyUVFOMEVCVWFJQUFnQkRZQ3FDZ2dBQ2dDckNnaEJBc2dCQ0FHS0FJTUlnVkJBM1JxS0FJQUJFQWdCaUFGTmdJQUlBTkJBVUc5TlNBR0VBOUJBQXdCQ3lBQ1FRRnJJZ0lRRkNFRUlBQW9BcXdvSWdBZ0JpZ0NEQ0lGUVFOMGFpQUVOZ0lBSUFSRkJFQWdBMEVCUVpjZVFRQVFEMEVBREFFTElBQWdCVUVEZEdvZ0FqWUNCQ0FBSUFZb0FneEJBM1JxS0FJQUlBRkJBV29nQWhBU0drRUJDeUVJSUFaQkVHb2tBQ0FJQy9VQ0FRVi9Jd0JCRUdzaUJpUUFBbjhnQWtFQlRRUkFJQU5CQVVHa0lFRUFFQTlCQUF3QkN5QUFJQUF0QUx3QlFRRnlPZ0M4QVNBQklBWkJER3BCQVJBUkFrQWdBQ2dDZENJRVJRUkFJQUFnQmlnQ0RFRUJhaUlGUVFnUUV5SUVOZ0owSUFSRkJFQWdBMEVCUWI0Z1FRQVFEMEVBREFNTElBQWdCVFlDY0F3QkN5QUdLQUlNSWdVZ0FDZ0NjRWtOQUNBRUlBVkJBV29pQkVFRGRCQVhJZ1ZGQkVBZ0EwRUJRYjRnUVFBUUQwRUFEQUlMSUFBZ0JUWUNkQ0FGSUFBb0FuQWlCMEVEZEdwQkFDQUVJQWRyUVFOMEVCVWFJQUFnQkRZQ2NDQUFLQUowSVFRTElBUWdCaWdDRENJRlFRTjBhaWdDQUFSQUlBWWdCVFlDQUNBRFFRRkIwelVnQmhBUFFRQU1BUXNnQWtFQmF5SUNFQlFoQkNBQUtBSjBJZ0FnQmlnQ0RDSUZRUU4wYWlBRU5nSUFJQVJGQkVBZ0EwRUJRYjRnUVFBUUQwRUFEQUVMSUFBZ0JVRURkR29nQWpZQ0JDQUFJQVlvQWd4QkEzUnFLQUlBSUFGQkFXb2dBaEFTR2tFQkN5RUlJQVpCRUdva0FDQUlDNkFCQVFSL0l3QkJFR3NpQkNRQUFuOGdBa1VFUUNBRFFRRkIxeDVCQUJBUFFRQU1BUXNnQVNBRVFReHFRUUVRRVVFQklBSkJBV3NpQlVVTkFCcEJBQ0VBUVFBaEFnTkFJQUZCQVdvaUFTQUVRUWhxUVFFUUVTQUVLQUlJSWdaQkdIUkJIM1VnQmtIL0FIRWdBbkpCQjNSeElRSWdBRUVCYWlJQUlBVkhEUUFMUVFFZ0FrVU5BQm9nQTBFQlFkY2VRUUFRRDBFQUN5RUhJQVJCRUdva0FDQUhDeHNBUVFFaEFDQUNCSDlCQVFVZ0EwRUJRZjRnUVFBUUQwRUFDd3VBQVFFQmZ5TUFRUkJySWdBa0FFRUJJUVFDUUNBQ1FRRk5CRUJCQUNFRUlBTkJBVUhrSUVFQUVBOE1BUXNnQVNBQVFReHFRUUVRRVNBQlFRRnFJQUJCQ0dwQkFSQVJJQUpCQW1zZ0FDZ0NDQ0lCUVFWMlFRSnhJQUZCQkhaQkEzRnFRUUpxY0VVTkFFRUFJUVFnQTBFQlFlUWdRUUFRRHdzZ0FFRVFhaVFBSUFRTEJBQkJBQXNMb3J3QklRQkJnQWdMa1hWallXNXViM1FnWVd4c2IyTmhkR1VnYjNCcVgzUmpaRjl6WldkZlpHRjBZVjlqYUhWdWExOTBLaUJoY25KaGVRQXRLeUFnSURCWU1IZ0FMVEJZS3pCWUlEQllMVEI0S3pCNElEQjRBRlZ1YTI1dmQyNGdabTl5YldGMEFFWmhhV3hsWkNCMGJ5QnpaWFIxY0NCMGFHVWdaR1ZqYjJSbGNnQkdZV2xzWldRZ2RHOGdjbVZoWkNCMGFHVWdhR1ZoWkdWeUFHNWhiZ0FxYkY5MGFXeGxYMnhsYmlBK0lGVkpUbFJmVFVGWUlDMGdUMUJLWDBOUFRVMVBUbDlEUWt4TFgwUkJWRUZmUlZoVVVrRWdMU0J3WDJveWF5MCtiVjl6Y0dWamFXWnBZMTl3WVhKaGJTNXRYMlJsWTI5a1pYSXViVjl6YjNSZmJHVnVaM1JvQUdsdVpnQkdZV2xzWldRZ2RHOGdaR1ZqYjJSbElIUm9aU0JwYldGblpRQkpiblpoYkdsa0lHRmpZMlZ6Y3lCMGJ5QndhUzArYVc1amJIVmtaUUF2ZEcxd0wyOXdaVzVxY0dWbkwzTnlZeTlpYVc0dlkyOXRiVzl1TDJOdmJHOXlMbU1BUVV4TVgwTlFWVk1BVDFCS1gwNVZUVjlVU0ZKRlFVUlRBRTVCVGdCSlRrWUFjRjlxTW1zdFBtMWZjM0JsWTJsbWFXTmZjR0Z5WVcwdWJWOWtaV052WkdWeUxtMWZjMjkwWDJ4bGJtZDBhQ0ErSUZWSlRsUmZUVUZZSUMwZ1QxQktYME5QVFUxUFRsOURRa3hMWDBSQlZFRmZSVmhVVWtFQUNRa0pJSEJ5WldOamFXNTBjMmw2WlNBb2R5eG9LVDBBQ1FrSklITjBaWEJ6YVhwbGN5QW9iU3hsS1QwQUxnQW9iblZzYkNrQUtDVmtMQ1ZrS1NBQUpYTjlDZ0FKQ1NCOUNnQmJSRVZXWFNCRWRXMXdJR0Z1SUdsdFlXZGxYMk52YlhCZmFHVmhaR1Z5SUhOMGNuVmpkQ0I3Q2dCYlJFVldYU0JFZFcxd0lHRnVJR2x0WVdkbFgyaGxZV1JsY2lCemRISjFZM1FnZXdvQVNXMWhaMlVnYVc1bWJ5QjdDZ0FKSUdSbFptRjFiSFFnZEdsc1pTQjdDZ0FsY3drZ1kyOXRjRzl1Wlc1MElDVmtJSHNLQUFrSklHTnZiWEFnSldRZ2V3b0FDU0JVYVd4bElHbHVaR1Y0T2lCN0NnQUpJRTFoY210bGNpQnNhWE4wT2lCN0NnQkRiMlJsYzNSeVpXRnRJR2x1WkdWNElHWnliMjBnYldGcGJpQm9aV0ZrWlhJNklIc0tBRU52WkdWemRISmxZVzBnYVc1bWJ5Qm1jbTl0SUcxaGFXNGdhR1ZoWkdWeU9pQjdDZ0JUZEhKbFlXMGdaWEp5YjNJZ2QyaHBiR1VnY21WaFpHbHVaeUJLVURJZ1NHVmhaR1Z5SUdKdmVBb0FSbTkxYm1RZ1lTQnRhWE53YkdGalpXUWdKeVZqSldNbFl5VmpKeUJpYjNnZ2IzVjBjMmxrWlNCcWNESm9JR0p2ZUFvQVRXRnNabTl5YldWa0lFcFFNaUJtYVd4bElHWnZjbTFoZERvZ1ptbHljM1FnWW05NElHMTFjM1FnWW1VZ1NsQkZSeUF5TURBd0lITnBaMjVoZEhWeVpTQmliM2dLQUUxaGJHWnZjbTFsWkNCS1VESWdabWxzWlNCbWIzSnRZWFE2SUhObFkyOXVaQ0JpYjNnZ2JYVnpkQ0JpWlNCbWFXeGxJSFI1Y0dVZ1ltOTRDZ0JPYjNRZ1pXNXZkV2RvSUcxbGJXOXllU0IwYnlCb1lXNWtiR1VnYW5CbFp6SXdNREFnWW05NENnQk9iM1FnWlc1dmRXZG9JRzFsYlc5eWVTQjNhWFJvSUVaVVdWQWdRbTk0Q2dCQklHMWhjbXRsY2lCSlJDQjNZWE1nWlhod1pXTjBaV1FnS0RCNFptWXRMU2tnYVc1emRHVmhaQ0J2WmlBbExqaDRDZ0FKQ1NCdFkzUTlKWGdLQUFrSkNTQmpZbXhyYzNSNVBTVWplQW9BQ1FrSklHTnpkSGs5SlNONENnQUpDU0J3Y21jOUpTTjRDZ0JKYm5SbFoyVnlJRzkyWlhKbWJHOTNDZ0FKSUhSa2VEMGxkU3dnZEdSNVBTVjFDZ0FKSUhSM1BTVjFMQ0IwYUQwbGRRb0FDU0IwZURBOUpYVXNJSFI1TUQwbGRRb0FTVzUyWVd4cFpDQmpiMjF3YjI1bGJuUWdhVzVrWlhnNklDVjFDZ0JUZEhKbFlXMGdkRzl2SUhOb2IzSjBDZ0JOWVhKclpYSWdhR0Z1Wkd4bGNpQm1kVzVqZEdsdmJpQm1ZV2xzWldRZ2RHOGdjbVZoWkNCMGFHVWdiV0Z5YTJWeUlITmxaMjFsYm5RS0FFNXZkQ0JsYm05MVoyZ2diV1Z0YjNKNUlHWnZjaUJqZFhKeVpXNTBJSEJ5WldOcGJtTjBJR052WkdWaWJHOWpheUJsYkdWdFpXNTBDZ0JGY25KdmNpQnlaV0ZrYVc1bklGTlFRMjlrSUZOUVEyOWpJR1ZzWlcxbGJuUUtBRVZ5Y205eUlISmxZV1JwYm1jZ1UxRmpaQ0J2Y2lCVFVXTmpJR1ZzWlcxbGJuUUtBRUVnUWxCRFF5Qm9aV0ZrWlhJZ1ltOTRJR2x6SUdGMllXbHNZV0pzWlNCaGJIUm9iM1ZuYUNCQ1VFTWdaMmwyWlc0Z1lua2dkR2hsSUVsSVJGSWdZbTk0SUNnbFpDa2dhVzVrYVdOaGRHVWdZMjl0Y0c5dVpXNTBjeUJpYVhRZ1pHVndkR2dnYVhNZ1kyOXVjM1JoYm5RS0FFVnljbTl5SUhkcGRHZ2dVMGxhSUcxaGNtdGxjam9nYVd4c1pXZGhiQ0IwYVd4bElHOW1abk5sZEFvQVNXNTJZV3hwWkNCd2NtVmphVzVqZEFvQVRtOTBJR1Z1YjNWbmFDQnRaVzF2Y25rZ2RHOGdhR0Z1Wkd4bElHSmhibVFnY0hKbFkybHVkSE1LQUVaaGFXeGxaQ0IwYnlCa1pXTnZaR1VnWVd4c0lIVnpaV1FnWTI5dGNHOXVaVzUwY3dvQVUybDZaU0J2WmlCamIyUmxJR0pzYjJOcklHUmhkR0VnWlhoalpXVmtjeUJ6ZVhOMFpXMGdiR2x0YVhSekNnQlRhWHBsSUc5bUlIUnBiR1VnWkdGMFlTQmxlR05sWldSeklITjVjM1JsYlNCc2FXMXBkSE1LQUVOaGJtNXZkQ0IwWVd0bElHbHVJR05vWVhKblpTQnRkV3gwYVhCc1pTQk5RMVFnYldGeWEyVnljd29BUTI5eWNuVndkR1ZrSUZCUVRTQnRZWEpyWlhKekNnQk9iM1FnWlc1dmRXZG9JRzFsYlc5eWVTQm1iM0lnZEdsc1pTQnlaWE52YkhWMGFXOXVjd29BUTJGdWJtOTBJSFJoYTJVZ2FXNGdZMmhoY21kbElHMTFiSFJwY0d4bElHTnZiR3hsWTNScGIyNXpDZ0JKYm5aaGJHbGtJRkJEVEZJZ1ltOTRMaUJTWlhCdmNuUnpJREFnY0dGc1pYUjBaU0JqYjJ4MWJXNXpDZ0JYWlNCa2J5QnViM1FnYzNWd2NHOXlkQ0JTVDBrZ2FXNGdaR1ZqYjJScGJtY2dTRlFnWTI5a1pXSnNiMk5yY3dvQVEyRnVibTkwSUdoaGJtUnNaU0JpYjNnZ2IyWWdkVzVrWldacGJtVmtJSE5wZW1WekNnQkRZVzV1YjNRZ2RHRnJaU0JwYmlCamFHRnlaMlVnWTI5c2JHVmpkR2x2Ym5NZ2QybDBhRzkxZENCellXMWxJRzUxYldKbGNpQnZaaUJwYm1ScGVHVnpDZ0JKYm5aaGJHbGtJSFJwYkdWakxUNTNhVzVmZUhoNElIWmhiSFZsY3dvQVEyRnVibTkwSUdoaGJtUnNaU0JpYjNnZ2IyWWdiR1Z6Y3lCMGFHRnVJRGdnWW5sMFpYTUtBRU5oYm01dmRDQm9ZVzVrYkdVZ1dFd2dZbTk0SUc5bUlHeGxjM01nZEdoaGJpQXhOaUJpZVhSbGN3b0FRMjl0Y0c5dVpXNTBJR2x1WkdWNElDVjFJSFZ6WldRZ2MyVjJaWEpoYkNCMGFXMWxjd29BU1c1MllXeHBaQ0JRUTB4U0lHSnZlQzRnVW1Wd2IzSjBjeUFsWkNCbGJuUnlhV1Z6Q2dCT2IzUWdaVzV2ZFdkb0lHMWxiVzl5ZVNCMGJ5QmpjbVZoZEdVZ1ZHRm5MWFJ5WldVZ2JtOWtaWE1LQUVOaGJtNXZkQ0IwWVd0bElHbHVJR05vWVhKblpTQnRZM1FnWkdGMFlTQjNhWFJvYVc0Z2JYVnNkR2x3YkdVZ1RVTlVJSEpsWTI5eVpITUtBRU5oYm01dmRDQmtaV052WkdVZ2RHbHNaU3dnYldWdGIzSjVJR1Z5Y205eUNnQnZjR3BmYWpKclgyRndjR3g1WDI1aVgzUnBiR1ZmY0dGeWRITmZZMjl5Y21WamRHbHZiaUJsY25KdmNnb0FVSEp2WW14bGJTQjNhWFJvSUhOcmFYQndhVzVuSUVwUVJVY3lNREF3SUdKdmVDd2djM1J5WldGdElHVnljbTl5Q2dCUWNtOWliR1Z0SUhkcGRHZ2djbVZoWkdsdVp5QktVRVZITWpBd01DQmliM2dzSUhOMGNtVmhiU0JsY25KdmNnb0FWVzVyYm05M2JpQnRZWEpyWlhJS0FFNXZkQ0JsYm05MVoyZ2diV1Z0YjNKNUlIUnZJR0ZrWkNCMGJDQnRZWEpyWlhJS0FFNXZkQ0JsYm05MVoyZ2diV1Z0YjNKNUlIUnZJR0ZrWkNCdGFDQnRZWEpyWlhJS0FFNXZkQ0JsYm05MVoyZ2diV1Z0YjNKNUlIUnZJSFJoYTJVZ2FXNGdZMmhoY21kbElGTkpXaUJ0WVhKclpYSUtBRVZ5Y205eUlISmxZV1JwYm1jZ1VGQlVJRzFoY210bGNnb0FUbTkwSUdWdWIzVm5hQ0J0WlcxdmNua2dkRzhnY21WaFpDQlFVRlFnYldGeWEyVnlDZ0JGY25KdmNpQnlaV0ZrYVc1bklGTlBWQ0J0WVhKclpYSUtBRVZ5Y205eUlISmxZV1JwYm1jZ1VFeFVJRzFoY210bGNnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCTlExUWdiV0Z5YTJWeUNnQk9iM1FnWlc1dmRXZG9JRzFsYlc5eWVTQjBieUJ5WldGa0lFMURWQ0J0WVhKclpYSUtBRTV2ZENCbGJtOTFaMmdnYzNCaFkyVWdabTl5SUdWNGNHVmpkR1ZrSUZOUFVDQnRZWEpyWlhJS0FFVjRjR1ZqZEdWa0lGTlBVQ0J0WVhKclpYSUtBRVZ5Y205eUlISmxZV1JwYm1jZ1RVTlBJRzFoY210bGNnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCU1IwNGdiV0Z5YTJWeUNnQkZjbkp2Y2lCeVpXRmthVzVuSUZCUVRTQnRZWEpyWlhJS0FFNXZkQ0JsYm05MVoyZ2diV1Z0YjNKNUlIUnZJSEpsWVdRZ1VGQk5JRzFoY210bGNnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCVVRFMGdiV0Z5YTJWeUNnQkZjbkp2Y2lCeVpXRmthVzVuSUZCTVRTQnRZWEpyWlhJS0FFNXZkQ0JsYm05MVoyZ2djM0JoWTJVZ1ptOXlJR1Y0Y0dWamRHVmtJRVZRU0NCdFlYSnJaWElLQUVWNGNHVmpkR1ZrSUVWUVNDQnRZWEpyWlhJS0FFVnljbTl5SUhKbFlXUnBibWNnUTFKSElHMWhjbXRsY2dvQVZXNXJibTkzYmlCd2NtOW5jbVZ6YzJsdmJpQnZjbVJsY2lCcGJpQkRUMFFnYldGeWEyVnlDZ0JWYm10dWIzZHVJRk5qYjJRZ2RtRnNkV1VnYVc0Z1EwOUVJRzFoY210bGNnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCRFQwUWdiV0Z5YTJWeUNnQkZjbkp2Y2lCeVpXRmthVzVuSUZGRFJDQnRZWEpyWlhJS0FFTnljbTl5SUhKbFlXUnBibWNnUTBKRUlHMWhjbXRsY2dvQVJYSnliM0lnY21WaFpHbHVaeUJRVDBNZ2JXRnlhMlZ5Q2dCRmNuSnZjaUJ5WldGa2FXNW5JRU5QUXlCdFlYSnJaWElLQUVWeWNtOXlJSEpsWVdScGJtY2dVVU5ESUcxaGNtdGxjZ29BUlhKeWIzSWdjbVZoWkdsdVp5Qk5RME1nYldGeWEyVnlDZ0JPYjNRZ1pXNXZkV2RvSUcxbGJXOXllU0IwYnlCeVpXRmtJRTFEUXlCdFlYSnJaWElLQUhKbGNYVnBjbVZrSUZOSldpQnRZWEpyWlhJZ2JtOTBJR1p2ZFc1a0lHbHVJRzFoYVc0Z2FHVmhaR1Z5Q2dCeVpYRjFhWEpsWkNCRFQwUWdiV0Z5YTJWeUlHNXZkQ0JtYjNWdVpDQnBiaUJ0WVdsdUlHaGxZV1JsY2dvQWNtVnhkV2x5WldRZ1VVTkVJRzFoY210bGNpQnViM1FnWm05MWJtUWdhVzRnYldGcGJpQm9aV0ZrWlhJS0FFNXZkQ0JsYm05MVoyZ2diV1Z0YjNKNUlIUnZJR2hoYm1Sc1pTQnFjR1ZuTWpBd01DQm1hV3hsSUdobFlXUmxjZ29BVG05MElHVnViM1ZuYUNCdFpXMXZjbmtnZEc4Z2NtVmhaQ0JvWldGa1pYSUtBRVZ5Y205eUlIZHBkR2dnU2xBZ1UybG5ibUYwZFhKbElEb2dZbUZrSUcxaFoybGpJRzUxYldKbGNnb0FTVzRnVTA5VUlHMWhjbXRsY2l3Z1ZGQlRiM1FnS0NWa0tTQnBjeUJ1YjNRZ2RtRnNhV1FnY21WbllYSmtjeUIwYnlCMGFHVWdZM1Z5Y21WdWRDQnVkVzFpWlhJZ2IyWWdkR2xzWlMxd1lYSjBJQ2dsWkNrc0lHZHBkbWx1WnlCMWNBb0FTVzRnVTA5VUlHMWhjbXRsY2l3Z1ZGQlRiM1FnS0NWa0tTQnBjeUJ1YjNRZ2RtRnNhV1FnY21WbllYSmtjeUIwYnlCMGFHVWdjSEpsZG1sdmRYTWdiblZ0WW1WeUlHOW1JSFJwYkdVdGNHRnlkQ0FvSldRcExDQm5hWFpwYm1jZ2RYQUtBRWx1SUZOUFZDQnRZWEpyWlhJc0lGUlFVMjkwSUNnbFpDa2dhWE1nYm05MElIWmhiR2xrSUhKbFoyRnlaSE1nZEc4Z2RHaGxJR04xY25KbGJuUWdiblZ0WW1WeUlHOW1JSFJwYkdVdGNHRnlkQ0FvYUdWaFpHVnlLU0FvSldRcExDQm5hWFpwYm1jZ2RYQUtBSFJwYkdWeklISmxjWFZwY21VZ1lYUWdiR1ZoYzNRZ2IyNWxJSEpsYzI5c2RYUnBiMjRLQUUxaGNtdGxjaUJwY3lCdWIzUWdZMjl0Y0d4cFlXNTBJSGRwZEdnZ2FYUnpJSEJ2YzJsMGFXOXVDZ0JRY205aWJHVnRJSGRwZEdnZ2MyVmxheUJtZFc1amRHbHZiZ29BUlhKeWIzSWdjbVZoWkdsdVp5QlRVRU52WkNCVFVFTnZZeUJsYkdWdFpXNTBMQ0JKYm5aaGJHbGtJR05pYkd0M0wyTmliR3RvSUdOdmJXSnBibUYwYVc5dUNnQkpiblpoYkdsa0lHMTFiSFJwY0d4bElHTnZiWEJ2Ym1WdWRDQjBjbUZ1YzJadmNtMWhkR2x2YmdvQVEyRnVibTkwSUhSaGEyVWdhVzRnWTJoaGNtZGxJR052Ykd4bFkzUnBiMjV6SUc5MGFHVnlJSFJvWVc0Z1lYSnlZWGtnWkdWamIzSnlaV3hoZEdsdmJnb0FWRzl2SUd4aGNtZGxJSFpoYkhWbElHWnZjaUJPY0hCdENnQk9iM1FnWlc1dmRXZG9JR0o1ZEdWeklIUnZJSEpsWVdRZ1RuQndiUW9BWW1Ga0lIQnNZV05sWkNCcWNHVm5JR052WkdWemRISmxZVzBLQUFrZ1RXRnBiaUJvWldGa1pYSWdjM1JoY25RZ2NHOXphWFJwYjI0OUpXeHNhUW9KSUUxaGFXNGdhR1ZoWkdWeUlHVnVaQ0J3YjNOcGRHbHZiajBsYkd4cENnQk5ZWEpyWlhJZ2MybDZaU0JwYm1OdmJuTnBjM1JsYm5RZ2QybDBhQ0J6ZEhKbFlXMGdiR1Z1WjNSb0NnQlVhV3hsSUhCaGNuUWdiR1Z1WjNSb0lITnBlbVVnYVc1amIyNXphWE4wWlc1MElIZHBkR2dnYzNSeVpXRnRJR3hsYm1kMGFBb0FRMkZ1Ym05MElIUmhhMlVnYVc0Z1kyaGhjbWRsSUcxMWJIUnBjR3hsSUdSaGRHRWdjM0JoYm01cGJtY0tBRmR5YjI1bklHWnNZV2NLQUVWeWNtOXlJSGRwZEdnZ1JsUlpVQ0J6YVdkdVlYUjFjbVVnUW05NElITnBlbVVLQUVWeWNtOXlJSGRwZEdnZ1NsQWdjMmxuYm1GMGRYSmxJRUp2ZUNCemFYcGxDZ0JKYm5aaGJHbGtJSEJ5WldOcGJtTjBJSE5wZW1VS0FFbHVZMjl1YzJsemRHVnVkQ0J0WVhKclpYSWdjMmw2WlFvQVNXNTJZV3hwWkNCdFlYSnJaWElnYzJsNlpRb0FSWEp5YjNJZ2QybDBhQ0JUU1ZvZ2JXRnlhMlZ5SUhOcGVtVUtBRTV2ZENCbGJtOTFaMmdnYldWdGIzSjVJSFJ2SUdGa1pDQmhJRzVsZHlCMllXeHBaR0YwYVc5dUlIQnliMk5sWkhWeVpRb0FUbTkwSUdWdWIzVm5hQ0J0WlcxdmNua2dkRzhnWkdWamIyUmxJSFJwYkdVS0FFWmhhV3hsWkNCMGJ5QmtaV052WkdVZ2RHaGxJR052WkdWemRISmxZVzBnYVc0Z2RHaGxJRXBRTWlCbWFXeGxDZ0JEWVc1dWIzUWdkR0ZyWlNCcGJpQmphR0Z5WjJVZ1kyOXNiR1ZqZEdsdmJuTWdkMmwwYUNCcGJtUnBlQ0J6YUhWbVpteGxDZ0JEWVc1dWIzUWdZV3hzYjJOaGRHVWdWR2xsY2lBeElHaGhibVJzWlFvQVRtOGdaR1ZqYjJSbFpDQmhjbVZoSUhCaGNtRnRaWFJsY25Nc0lITmxkQ0IwYUdVZ1pHVmpiMlJsWkNCaGNtVmhJSFJ2SUhSb1pTQjNhRzlzWlNCcGJXRm5aUW9BVG05MElHVnViM1ZuYUNCdFpXMXZjbmtnZEc4Z1kzSmxZWFJsSUZSaFp5MTBjbVZsQ2dCT2IzUWdaVzV2ZFdkb0lHMWxiVzl5ZVNCMGJ5QnlaV2x1YVhScFlXeHBlbVVnZEdobElIUmhaeUIwY21WbENnQkZjbkp2Y2lCeVpXRmthVzVuSUZOUVEyOWtJRk5RUTI5aklHVnNaVzFsYm5Rc0lFbHVkbUZzYVdRZ2RISmhibk5tYjNKdFlYUnBiMjRnWm05MWJtUUtBRVZ5Y205eUlISmxZV1JwYm1jZ1UxQkRiMlFnVTFCRGIyTWdaV3hsYldWdWRDNGdWVzV6ZFhCd2IzSjBaV1FnVFdsNFpXUWdTRlFnWTI5a1pTMWliRzlqYXlCemRIbHNaU0JtYjNWdVpBb0FWR2xzWlNCWklHTnZiM0prYVc1aGRHVnpJR0Z5WlNCdWIzUWdjM1Z3Y0c5eWRHVmtDZ0JVYVd4bElGZ2dZMjl2Y21ScGJtRjBaWE1nWVhKbElHNXZkQ0J6ZFhCd2IzSjBaV1FLQUVsdFlXZGxJR052YjNKa2FXNWhkR1Z6SUdGaWIzWmxJRWxPVkY5TlFWZ2dZWEpsSUc1dmRDQnpkWEJ3YjNKMFpXUUtBRXBRUlVjeU1EQXdJRWhsWVdSbGNpQmliM2dnYm05MElISmxZV1FnZVdWMExDQW5KV01sWXlWakpXTW5JR0p2ZUNCM2FXeHNJR0psSUdsbmJtOXlaV1FLQUc5d2FsOXFNbXRmYldWeVoyVmZjSEIwS0NrZ2FHRnpJR0ZzY21WaFpIa2dZbVZsYmlCallXeHNaV1FLQUU1dmRDQmxibTkxWjJnZ2JXVnRiM0o1SUhSdklISmxZV1FnVTA5VUlHMWhjbXRsY2k0Z1ZHbHNaU0JwYm1SbGVDQmhiR3h2WTJGMGFXOXVJR1poYVd4bFpBb0FTV2R1YjNKcGJtY2dhV2hrY2lCaWIzZ3VJRVpwY25OMElHbG9aSElnWW05NElHRnNjbVZoWkhrZ2NtVmhaQW9BV25Cd2RDQWxkU0JoYkhKbFlXUjVJSEpsWVdRS0FGcHdjRzBnSlhVZ1lXeHlaV0ZrZVNCeVpXRmtDZ0JRVkVWU1RTQmphR1ZqYXlCbVlXbHNkWEpsT2lBbFpDQnplVzUwYUdWMGFYcGxaQ0F3ZUVaR0lHMWhjbXRsY25NZ2NtVmhaQW9BQ1FrSklHTmliR3QzUFRKZUpXUUtBQWtKQ1NCallteHJhRDB5WGlWa0NnQUpDUWtnY1c1MGMzUjVQU1ZrQ2dBbGN5QmtlRDBsWkN3Z1pIazlKV1FLQUFrSkNTQnliMmx6YUdsbWREMGxaQW9BQ1FrSklHNTFiV2RpYVhSelBTVmtDZ0FKQ1NCdWRXMXNZWGxsY25NOUpXUUtBQ1Z6SUc1MWJXTnZiWEJ6UFNWa0NnQnZjR3BmYW5BeVgyRndjR3g1WDJOa1pXWTZJR0ZqYmowbFpDd2diblZ0WTI5dGNITTlKV1FLQUc5d2FsOXFjREpmWVhCd2JIbGZZMlJsWmpvZ1kyNDlKV1FzSUc1MWJXTnZiWEJ6UFNWa0NnQUpDUWtnYm5WdGNtVnpiMngxZEdsdmJuTTlKV1FLQUFrSklIUjVjR1U5SlNONExDQndiM005Sld4c2FTd2diR1Z1UFNWa0NnQWxjeUJ6WjI1a1BTVmtDZ0FKQ1FrZ2NXMW1ZbWxrUFNWa0NnQWxjeUJ3Y21WalBTVmtDZ0FKQ1NCdVlpQnZaaUIwYVd4bExYQmhjblFnYVc0Z2RHbHNaU0JiSldSZFBTVmtDZ0FsY3lCNE1UMGxaQ3dnZVRFOUpXUUtBQ1Z6SUhnd1BTVmtMQ0I1TUQwbFpBb0FSbUZwYkdWa0lIUnZJR1JsWTI5a1pTQjBhV3hsSUNWa0x5VmtDZ0JUWlhSMGFXNW5JR1JsWTI5a2FXNW5JR0Z5WldFZ2RHOGdKV1FzSldRc0pXUXNKV1FLQUVaaGFXeGxaQ0IwYnlCa1pXTnZaR1VnWTI5dGNHOXVaVzUwSUNWa0NnQkpiblpoYkdsa0lIWmhiSFZsSUdadmNpQnVkVzF5WlhOdmJIVjBhVzl1Y3lBNklDVmtMQ0J0WVhnZ2RtRnNkV1VnYVhNZ2MyVjBJR2x1SUc5d1pXNXFjR1ZuTG1nZ1lYUWdKV1FLQUVsdWRtRnNhV1FnWTI5dGNHOXVaVzUwSUc1MWJXSmxjam9nSldRc0lISmxaMkZ5WkdsdVp5QjBhR1VnYm5WdFltVnlJRzltSUdOdmJYQnZibVZ1ZEhNZ0pXUUtBRlJ2YnlCdFlXNTVJRkJQUTNNZ0pXUUtBRWx1ZG1Gc2FXUWdkR2xzWlNCdWRXMWlaWElnSldRS0FFbHVkbUZzYVdRZ2RHbHNaU0J3WVhKMElHbHVaR1Y0SUdadmNpQjBhV3hsSUc1MWJXSmxjaUFsWkM0Z1IyOTBJQ1ZrTENCbGVIQmxZM1JsWkNBbFpBb0FSWEp5YjNJZ2QybDBhQ0JUU1ZvZ2JXRnlhMlZ5T2lCdWRXMWlaWElnYjJZZ1kyOXRjRzl1Wlc1MElHbHpJR2xzYkdWbllXd2dMVDRnSldRS0FFNXZkQ0JsYm05MVoyZ2diV1Z0YjNKNUlHWnZjaUJqYVdWc1lXSUtBRU5oYm01dmRDQmhiR3h2WTJGMFpTQmpZbXhyTFQ1a1pXTnZaR1ZrWDJSaGRHRUtBRVpoYVd4bFpDQjBieUJ0WlhKblpTQlFVRlFnWkdGMFlRb0FSbUZwYkdWa0lIUnZJRzFsY21kbElGQlFUU0JrWVhSaENnQkpiblpoYkdsa0lHNTFiV0psY2lCdlppQnNZWGxsY25NZ2FXNGdRMDlFSUcxaGNtdGxjaUE2SUNWa0lHNXZkQ0JwYmlCeVlXNW5aU0JiTVMwMk5UVXpOVjBLQUNWek9pVmtPbU52Ykc5eVgyTnRlV3RmZEc5ZmNtZGlDZ2xEUVU0Z1RrOVVJRU5QVGxaRlVsUUtBQ1Z6T2lWa09tTnZiRzl5WDJWemVXTmpYM1J2WDNKbllnb0pRMEZPSUU1UFZDQkRUMDVXUlZKVUNnQWxjem9sWkRwamIyeHZjbDl6ZVdOalgzUnZYM0puWWdvSlEwRk9JRTVQVkNCRFQwNVdSVkpVQ2dCVGRISmxZVzBnZEc5dklITm9iM0owTENCbGVIQmxZM1JsWkNCVFQxUUtBRlZ1WVdKc1pTQjBieUJ6WlhRZ2RERWdhR0Z1Wkd4bElHRnpJRlJNVXdvQVUzUnlaV0Z0SUdSdlpYTWdibTkwSUdWdVpDQjNhWFJvSUVWUFF3b0FRMkZ1Ym05MElHaGhibVJzWlNCaWIzZ2djMmw2WlhNZ2FHbG5hR1Z5SUhSb1lXNGdNbDR6TWdvQWIzQnFYM0JwWDI1bGVIUmZiSEpqY0NncE9pQnBiblpoYkdsa0lHTnZiWEJ1YnpBdlkyOXRjRzV2TVFvQWIzQnFYM0JwWDI1bGVIUmZjbXhqY0NncE9pQnBiblpoYkdsa0lHTnZiWEJ1YnpBdlkyOXRjRzV2TVFvQWIzQnFYM0JwWDI1bGVIUmZZM0J5YkNncE9pQnBiblpoYkdsa0lHTnZiWEJ1YnpBdlkyOXRjRzV2TVFvQWIzQnFYM0JwWDI1bGVIUmZjR055YkNncE9pQnBiblpoYkdsa0lHTnZiWEJ1YnpBdlkyOXRjRzV2TVFvQWIzQnFYM0JwWDI1bGVIUmZjbkJqYkNncE9pQnBiblpoYkdsa0lHTnZiWEJ1YnpBdlkyOXRjRzV2TVFvQWIzQnFYM1F4WDJSbFkyOWtaVjlqWW14cktDazZJSFZ1YzNWd2NHOXlkR1ZrSUdKd2JtOWZjR3gxYzE5dmJtVWdQU0FsWkNBK1BTQXpNUW9BUm1GcGJHVmtJSFJ2SUdSbFkyOWtaU0IwYVd4bElERXZNUW9BU1c1emRXWm1hV05wWlc1MElHUmhkR0VnWm05eUlFTk5RVkFnWW05NExnb0FUbVZsWkNCMGJ5QnlaV0ZrSUdFZ1VFTk1VaUJpYjNnZ1ltVm1iM0psSUhSb1pTQkRUVUZRSUdKdmVDNEtBRWx1YzNWbVptbGphV1Z1ZENCa1lYUmhJR1p2Y2lCRFJFVkdJR0p2ZUM0S0FFNTFiV0psY2lCdlppQmphR0Z1Ym1Wc0lHUmxjMk55YVhCMGFXOXVJR2x6SUdWeGRXRnNJSFJ2SUhwbGNtOGdhVzRnUTBSRlJpQmliM2d1Q2dCVGRISmxZVzBnWlhKeWIzSWdkMmhwYkdVZ2NtVmhaR2x1WnlCS1VESWdTR1ZoWkdWeUlHSnZlRG9nYm04Z0oybG9aSEluSUdKdmVDNEtBRTV2YmlCamIyNW1iM0p0WVc1MElHTnZaR1Z6ZEhKbFlXMGdWRkJ6YjNROVBWUk9jMjkwTGdvQVUzUnlaV0Z0SUdWeWNtOXlJSGRvYVd4bElISmxZV1JwYm1jZ1NsQXlJRWhsWVdSbGNpQmliM2c2SUdKdmVDQnNaVzVuZEdnZ2FYTWdhVzVqYjI1emFYTjBaVzUwTGdvQVFtOTRJR3hsYm1kMGFDQnBjeUJwYm1OdmJuTnBjM1JsYm5RdUNnQlNaWE52YkhWMGFXOXVJR1poWTNSdmNpQnBjeUJuY21WaGRHVnlJSFJvWVc0Z2RHaGxJRzFoZUdsdGRXMGdjbVZ6YjJ4MWRHbHZiaUJwYmlCMGFHVWdZMjl0Y0c5dVpXNTBMZ29BUTI5dGNHOXVaVzUwSUcxaGNIQnBibWNnYzJWbGJYTWdkM0p2Ym1jdUlGUnllV2x1WnlCMGJ5QmpiM0p5WldOMExnb0FTVzVqYjIxd2JHVjBaU0JqYUdGdWJtVnNJR1JsWm1sdWFYUnBiMjV6TGdvQVRXRnNabTl5YldWa0lFaFVJR052WkdWaWJHOWpheTRnU1c1MllXeHBaQ0JqYjJSbFlteHZZMnNnYkdWdVozUm9JSFpoYkhWbGN5NEtBRmRsSUdSdklHNXZkQ0J6ZFhCd2IzSjBJRzF2Y21VZ2RHaGhiaUF6SUdOdlpHbHVaeUJ3WVhOelpYTWdhVzRnWVc0Z1NGUWdZMjlrWldKc2IyTnJPeUJVYUdseklHTnZaR1ZpYkc5amEzTWdhR0Z6SUNWa0lIQmhjM05sY3k0S0FFMWhiR1p2Y20xbFpDQklWQ0JqYjJSbFlteHZZMnN1SUVSbFkyOWthVzVuSUhSb2FYTWdZMjlrWldKc2IyTnJJR2x6SUhOMGIzQndaV1F1SUZSb1pYSmxJR0Z5WlNBbFpDQjZaWEp2SUdKcGRIQnNZVzVsY3lCcGJpQWxaQ0JpYVhSd2JHRnVaWE11Q2dCRFlXNXViM1FnZEdGclpTQnBiaUJqYUdGeVoyVWdiWFZzZEdsd2JHVWdkSEpoYm5ObWIzSnRZWFJwYjI0Z2MzUmhaMlZ6TGdvQVZXNXJibTkzYmlCdFlYSnJaWElnYUdGeklHSmxaVzRnWkdWMFpXTjBaV1FnWVc1a0lHZGxibVZ5WVhSbFpDQmxjbkp2Y2k0S0FFTnZaR1ZqSUhCeWIzWnBaR1ZrSUhSdklIUm9aU0J2Y0dwZmMyVjBkWEJmWkdWamIyUmxjaUJtZFc1amRHbHZiaUJwY3lCdWIzUWdZU0JrWldOdmJYQnlaWE56YjNJZ2FHRnVaR3hsY2k0S0FFTnZaR1ZqSUhCeWIzWnBaR1ZrSUhSdklIUm9aU0J2Y0dwZmNtVmhaRjlvWldGa1pYSWdablZ1WTNScGIyNGdhWE1nYm05MElHRWdaR1ZqYjIxd2NtVnpjMjl5SUdoaGJtUnNaWEl1Q2dCVWFXeGxjeUJrYjI0bmRDQmhiR3dnYUdGMlpTQjBhR1VnYzJGdFpTQmthVzFsYm5OcGIyNHVJRk5yYVhBZ2RHaGxJRTFEVkNCemRHVndMZ29BVG5WdFltVnlJRzltSUdOdmJYQnZibVZ1ZEhNZ0tDVmtLU0JwY3lCcGJtTnZibk5wYzNSbGJuUWdkMmwwYUNCaElFMURWQzRnVTJ0cGNDQjBhR1VnVFVOVUlITjBaWEF1Q2dCS1VESWdZbTk0SUhkb2FXTm9JR0Z5WlNCaFpuUmxjaUIwYUdVZ1kyOWtaWE4wY21WaGJTQjNhV3hzSUc1dmRDQmlaU0J5WldGa0lHSjVJSFJvYVhNZ1puVnVZM1JwYjI0dUNnQk5ZV3htYjNKdFpXUWdTRlFnWTI5a1pXSnNiMk5yTGlCWGFHVnVJSFJvWlNCdWRXMWlaWElnYjJZZ2VtVnlieUJ3YkdGdVpYTWdZbWwwY0d4aGJtVnpJR2x6SUdWeGRXRnNJSFJ2SUhSb1pTQnVkVzFpWlhJZ2IyWWdZbWwwY0d4aGJtVnpMQ0J2Ym14NUlIUm9aU0JqYkdWaGJuVndJSEJoYzNNZ2JXRnJaWE1nYzJWdWMyVXNJR0oxZENCM1pTQm9ZWFpsSUNWa0lIQmhjM05sY3lCcGJpQjBhR2x6SUdOdlpHVmliRzlqYXk0Z1ZHaGxjbVZtYjNKbExDQnZibXg1SUhSb1pTQmpiR1ZoYm5Wd0lIQmhjM01nZDJsc2JDQmlaU0JrWldOdlpHVmtMaUJVYUdseklHMWxjM05oWjJVZ2QybHNiQ0J1YjNRZ1ltVWdaR2x6Y0d4aGVXVmtJR0ZuWVdsdUxnb0FTVzFoWjJVZ2FHRnpJR3hsYzNNZ1kyOXRjRzl1Wlc1MGN5QjBhR0Z1SUdOdlpHVnpkSEpsWVcwdUNnQk9aV1ZrSUhSdklHUmxZMjlrWlNCMGFHVWdiV0ZwYmlCb1pXRmtaWElnWW1WbWIzSmxJR0psWjJsdUlIUnZJR1JsWTI5a1pTQjBhR1VnY21WdFlXbHVhVzVuSUdOdlpHVnpkSEpsWVcwdUNnQlFjMjkwSUhaaGJIVmxJRzltSUhSb1pTQmpkWEp5Wlc1MElIUnBiR1V0Y0dGeWRDQnBjeUJsY1hWaGJDQjBieUI2WlhKdkxDQjNaU0JoYzNOMWJXbHVaeUJwZENCcGN5QjBhR1VnYkdGemRDQjBhV3hsTFhCaGNuUWdiMllnZEdobElHTnZaR1Z6ZEhKbFlXMHVDZ0JCSUcxaGJHWnZjbTFsWkNCamIyUmxZbXh2WTJzZ2RHaGhkQ0JvWVhNZ2JXOXlaU0IwYUdGdUlHOXVaU0JqYjJScGJtY2djR0Z6Y3l3Z1luVjBJSHBsY204Z2JHVnVaM1JvSUdadmNpQXlibVFnWVc1a0lIQnZkR1Z1ZEdsaGJHeDVJSFJvWlNBemNtUWdjR0Z6Y3lCcGJpQmhiaUJJVkNCamIyUmxZbXh2WTJzdUNnQUpDUWtnZEdsc1pTMXdZWEowV3lWa1hUb2djM1JoY2w5d2IzTTlKV3hzYVN3Z1pXNWtYMmhsWVdSbGNqMGxiR3hwTENCbGJtUmZjRzl6UFNWc2JHa3VDZ0JVYVd4bElDVjFJR2hoY3lCVVVITnZkQ0E5UFNBd0lHRnVaQ0JVVG5OdmRDQTlQU0F3TENCaWRYUWdibThnYjNSb1pYSWdkR2xzWlMxd1lYSjBjeUIzWlhKbElHWnZkVzVrTGlCRlQwTWdhWE1nWVd4emJ5QnRhWE56YVc1bkxnb0FRMjl0Y0c5dVpXNTBJQ1ZrSUdSdlpYTnVKM1FnYUdGMlpTQmhJRzFoY0hCcGJtY3VDZ0JCSUdOdmJtWnZjbTFwYm1jZ1NsQXlJSEpsWVdSbGNpQnphR0ZzYkNCcFoyNXZjbVVnWVd4c0lFTnZiRzkxY2lCVGNHVmphV1pwWTJGMGFXOXVJR0p2ZUdWeklHRm1kR1Z5SUhSb1pTQm1hWEp6ZEN3Z2MyOGdkMlVnYVdkdWIzSmxJSFJvYVhNZ2IyNWxMZ29BVkdobElITnBaMjVoZEhWeVpTQmliM2dnYlhWemRDQmlaU0IwYUdVZ1ptbHljM1FnWW05NElHbHVJSFJvWlNCbWFXeGxMZ29BVkdobElDQmliM2dnYlhWemRDQmlaU0IwYUdVZ1ptbHljM1FnWW05NElHbHVJSFJvWlNCbWFXeGxMZ29BVkdobElHWjBlWEFnWW05NElHMTFjM1FnWW1VZ2RHaGxJSE5sWTI5dVpDQmliM2dnYVc0Z2RHaGxJR1pwYkdVdUNnQkdZV2xzWldRZ2RHOGdaR1ZqYjJSbExnb0FUV0ZzWm05eWJXVmtJRWhVSUdOdlpHVmliRzlqYXk0Z1NXNWpiM0p5WldOMElFMUZUQ0J6WldkdFpXNTBJSE5sY1hWbGJtTmxMZ29BUTI5dGNHOXVaVzUwSUNWa0lHbHpJRzFoY0hCbFpDQjBkMmxqWlM0S0FFOXViSGtnYjI1bElFTk5RVkFnWW05NElHbHpJR0ZzYkc5M1pXUXVDZ0JYWlNCdVpXVmtJR0Z1SUdsdFlXZGxJSEJ5WlhacGIzVnpiSGtnWTNKbFlYUmxaQzRLQUVsSVJGSWdZbTk0WDIxcGMzTnBibWN1SUZKbGNYVnBjbVZrTGdvQVNsQXlTQ0JpYjNnZ2JXbHpjMmx1Wnk0Z1VtVnhkV2x5WldRdUNnQk9iM1FnYzNWeVpTQm9iM2NnZEdoaGRDQm9ZWEJ3Wlc1bFpDNEtBRTFoYVc0Z2FHVmhaR1Z5SUdoaGN5QmlaV1Z1SUdOdmNuSmxZM1JzZVNCa1pXTnZaR1ZrTGdvQVZHbHNaU0FsWkM4bFpDQm9ZWE1nWW1WbGJpQmtaV052WkdWa0xnb0FTR1ZoWkdWeUlHOW1JSFJwYkdVZ0pXUWdMeUFsWkNCb1lYTWdZbVZsYmlCeVpXRmtMZ29BUlcxd2RIa2dVMDlVSUcxaGNtdGxjaUJrWlhSbFkzUmxaRG9nVUhOdmREMGxaQzRLQUVScGNtVmpkQ0IxYzJVZ1lYUWdJeVZrSUdodmQyVjJaWElnY0dOdmJEMGxaQzRLQUVsdGNHeGxiV1Z1ZEdGMGFXOXVJR3hwYldsMFlYUnBiMjQ2SUdadmNpQndZV3hsZEhSbElHMWhjSEJwYm1jc0lIQmpiMnhiSldSZElITm9iM1ZzWkNCaVpTQmxjWFZoYkNCMGJ5QWxaQ3dnWW5WMElHbHpJR1Z4ZFdGc0lIUnZJQ1ZrTGdvQVNXNTJZV3hwWkNCamIyMXdiMjVsYm5RdmNHRnNaWFIwWlNCcGJtUmxlQ0JtYjNJZ1pHbHlaV04wSUcxaGNIQnBibWNnSldRdUNnQkpiblpoYkdsa0lIWmhiSFZsSUdadmNpQmpiV0Z3V3lWa1hTNXRkSGx3SUQwZ0pXUXVDZ0JRYzI5MElIWmhiSFZsSUdseklHNXZkQ0JqYjNKeVpXTjBJSEpsWjJGeVpITWdkRzhnZEdobElFcFFSVWN5TURBd0lHNXZjbTA2SUNWa0xnb0FUV0ZzWm05eWJXVmtJRWhVSUdOdlpHVmliRzlqYXk0Z1ZreERJR052WkdVZ2NISnZaSFZqWlhNZ2MybG5ibWxtYVdOaGJuUWdjMkZ0Y0d4bGN5QnZkWFJ6YVdSbElIUm9aU0JqYjJSbFlteHZZMnNnWVhKbFlTNEtBRlZ1Wlhod1pXTjBaV1FnVDA5Tkxnb0FNeklnWW1sMGN5QmhjbVVnYm05MElHVnViM1ZuYUNCMGJ5QmtaV052WkdVZ2RHaHBjeUJqYjJSbFlteHZZMnNzSUhOcGJtTmxJSFJvWlNCdWRXMWlaWElnYjJZZ1ltbDBjR3hoYm1Vc0lDVmtMQ0JwY3lCc1lYSm5aWElnZEdoaGJpQXpNQzRLQUVKdmRIUnZiU0J3YjNOcGRHbHZiaUJ2WmlCMGFHVWdaR1ZqYjJSbFpDQmhjbVZoSUNoeVpXZHBiMjVmZVRFOUpXUXBJSE5vYjNWc1pDQmlaU0ErSURBdUNnQlNhV2RvZENCd2IzTnBkR2x2YmlCdlppQjBhR1VnWkdWamIyUmxaQ0JoY21WaElDaHlaV2RwYjI1ZmVERTlKV1FwSUhOb2IzVnNaQ0JpWlNBK0lEQXVDZ0JWY0NCd2IzTnBkR2x2YmlCdlppQjBhR1VnWkdWamIyUmxaQ0JoY21WaElDaHlaV2RwYjI1ZmVUQTlKV1FwSUhOb2IzVnNaQ0JpWlNBK1BTQXdMZ29BVEdWbWRDQndiM05wZEdsdmJpQnZaaUIwYUdVZ1pHVmpiMlJsWkNCaGNtVmhJQ2h5WldkcGIyNWZlREE5SldRcElITm9iM1ZzWkNCaVpTQStQU0F3TGdvQVJYSnliM0lnY21WaFpHbHVaeUJRVUZRZ2JXRnlhMlZ5T2lCd1lXTnJaWFFnYUdWaFpHVnlJR2hoZG1VZ1ltVmxiaUJ3Y21WMmFXOTFjMng1SUdadmRXNWtJR2x1SUhSb1pTQnRZV2x1SUdobFlXUmxjaUFvVUZCTklHMWhjbXRsY2lrdUNnQlRkR0Z5ZENCMGJ5QnlaV0ZrSUdveWF5QnRZV2x1SUdobFlXUmxjaUFvSld4c1pDa3VDZ0JDYjNSMGIyMGdjRzl6YVhScGIyNGdiMllnZEdobElHUmxZMjlrWldRZ1lYSmxZU0FvY21WbmFXOXVYM2t4UFNWa0tTQnBjeUJ2ZFhSemFXUmxJSFJvWlNCcGJXRm5aU0JoY21WaElDaFpjMmw2UFNWa0tTNEtBRlZ3SUhCdmMybDBhVzl1SUc5bUlIUm9aU0JrWldOdlpHVmtJR0Z5WldFZ0tISmxaMmx2Ymw5NU1EMGxaQ2tnYVhNZ2IzVjBjMmxrWlNCMGFHVWdhVzFoWjJVZ1lYSmxZU0FvV1hOcGVqMGxaQ2t1Q2dCU2FXZG9kQ0J3YjNOcGRHbHZiaUJ2WmlCMGFHVWdaR1ZqYjJSbFpDQmhjbVZoSUNoeVpXZHBiMjVmZURFOUpXUXBJR2x6SUc5MWRITnBaR1VnZEdobElHbHRZV2RsSUdGeVpXRWdLRmh6YVhvOUpXUXBMZ29BVEdWbWRDQndiM05wZEdsdmJpQnZaaUIwYUdVZ1pHVmpiMlJsWkNCaGNtVmhJQ2h5WldkcGIyNWZlREE5SldRcElHbHpJRzkxZEhOcFpHVWdkR2hsSUdsdFlXZGxJR0Z5WldFZ0tGaHphWG85SldRcExnb0FRbTkwZEc5dElIQnZjMmwwYVc5dUlHOW1JSFJvWlNCa1pXTnZaR1ZrSUdGeVpXRWdLSEpsWjJsdmJsOTVNVDBsWkNrZ2FYTWdiM1YwYzJsa1pTQjBhR1VnYVcxaFoyVWdZWEpsWVNBb1dVOXphWG85SldRcExnb0FWWEFnY0c5emFYUnBiMjRnYjJZZ2RHaGxJR1JsWTI5a1pXUWdZWEpsWVNBb2NtVm5hVzl1WDNrd1BTVmtLU0JwY3lCdmRYUnphV1JsSUhSb1pTQnBiV0ZuWlNCaGNtVmhJQ2haVDNOcGVqMGxaQ2t1Q2dCU2FXZG9kQ0J3YjNOcGRHbHZiaUJ2WmlCMGFHVWdaR1ZqYjJSbFpDQmhjbVZoSUNoeVpXZHBiMjVmZURFOUpXUXBJR2x6SUc5MWRITnBaR1VnZEdobElHbHRZV2RsSUdGeVpXRWdLRmhQYzJsNlBTVmtLUzRLQUV4bFpuUWdjRzl6YVhScGIyNGdiMllnZEdobElHUmxZMjlrWldRZ1lYSmxZU0FvY21WbmFXOXVYM2d3UFNWa0tTQnBjeUJ2ZFhSemFXUmxJSFJvWlNCcGJXRm5aU0JoY21WaElDaFlUM05wZWowbFpDa3VDZ0JUYVhwbElIZ2diMllnZEdobElHUmxZMjlrWldRZ1kyOXRjRzl1Wlc1MElHbHRZV2RsSUdseklHbHVZMjl5Y21WamRDQW9ZMjl0Y0ZzbFpGMHVkejBsWkNrdUNnQlRhWHBsSUhrZ2IyWWdkR2hsSUdSbFkyOWtaV1FnWTI5dGNHOXVaVzUwSUdsdFlXZGxJR2x6SUdsdVkyOXljbVZqZENBb1kyOXRjRnNsWkYwdWFEMGxaQ2t1Q2dCVWFXeGxJSEpsWVdRc0lHUmxZMjlrWldRZ1lXNWtJSFZ3WkdGMFpXUWdhWE1nYm05MElIUm9aU0JrWlhOcGNtVmtJRzl1WlNBb0pXUWdkbk1nSldRcExnb0FTVzUyWVd4cFpDQmpiMjF3YjI1bGJuUWdhVzVrWlhnZ0pXUWdLRDQ5SUNWa0tTNEtBRzl3YWw5eVpXRmtYMmhsWVdSbGNpZ3BJSE5vYjNWc1pDQmlaU0JqWVd4c1pXUWdZbVZtYjNKbElHOXdhbDl6WlhSZlpHVmpiMlJsWkY5amIyMXdiMjVsYm5SektDa3VDZ0JOWlcxdmNua2dZV3hzYjJOaGRHbHZiaUJtWVdsc2RYSmxJR2x1SUc5d2FsOXFjREpmWVhCd2JIbGZjR05zY2lncExnb0FhVzFoWjJVdFBtTnZiWEJ6V3lWa1hTNWtZWFJoSUQwOUlFNVZURXdnYVc0Z2IzQnFYMnB3TWw5aGNIQnNlVjl3WTJ4eUtDa3VDZ0JwYm5aaGJHbGtJR0p2ZUNCemFYcGxJQ1ZrSUNnbGVDa0tBRVpoYVd3Z2RHOGdjbVZoWkNCMGFHVWdZM1Z5Y21WdWRDQnRZWEpyWlhJZ2MyVm5iV1Z1ZENBb0pTTjRLUW9BUlhKeWIzSWdkMmwwYUNCVFNWb2diV0Z5YTJWeU9pQkpTRVJTSUhjb0pYVXBJR2dvSlhVcElIWnpMaUJUU1ZvZ2R5Z2xkU2tnYUNnbGRTa0tBRVZ5Y205eUlISmxZV1JwYm1jZ1EwOURJRzFoY210bGNpQW9ZbUZrSUc1MWJXSmxjaUJ2WmlCamIyMXdiMjVsYm5SektRb0FTVzUyWVd4cFpDQnVkVzFpWlhJZ2IyWWdkR2xzWlhNZ09pQWxkU0I0SUNWMUlDaHRZWGhwYlhWdElHWnBlR1ZrSUdKNUlHcHdaV2N5TURBd0lHNXZjbTBnYVhNZ05qVTFNelVnZEdsc1pYTXBDZ0JKYm5aaGJHbGtJRzUxYldKbGNpQnZaaUJqYjIxd2IyNWxiblJ6SUNocGFHUnlLUW9BVG05MElHVnViM1ZuYUNCdFpXMXZjbmtnZEc4Z2FHRnVaR3hsSUdsdFlXZGxJR2hsWVdSbGNpQW9hV2hrY2lrS0FGZHliMjVuSUhaaGJIVmxjeUJtYjNJNklIY29KV1FwSUdnb0pXUXBJRzUxYldOdmJYQnpLQ1ZrS1NBb2FXaGtjaWtLQUVsdWRtRnNhV1FnZG1Gc2RXVnpJR1p2Y2lCamIyMXdJRDBnSldRZ09pQmtlRDBsZFNCa2VUMGxkU0FvYzJodmRXeGtJR0psSUdKbGRIZGxaVzRnTVNCaGJtUWdNalUxSUdGalkyOXlaR2x1WnlCMGJ5QjBhR1VnU2xCRlJ6SXdNREFnYm05eWJTa0tBRUpoWkNCcGJXRm5aU0JvWldGa1pYSWdZbTk0SUNoaVlXUWdjMmw2WlNrS0FFSmhaQ0JEVDB4U0lHaGxZV1JsY2lCaWIzZ2dLR0poWkNCemFYcGxLUW9BUW1Ga0lFSlFRME1nYUdWaFpHVnlJR0p2ZUNBb1ltRmtJSE5wZW1VcENnQkZjbkp2Y2lCM2FYUm9JRk5KV2lCdFlYSnJaWEk2SUc1bFoyRjBhWFpsSUc5eUlIcGxjbThnYVcxaFoyVWdjMmw2WlNBb0pXeHNaQ0I0SUNWc2JHUXBDZ0J6YTJsd09pQnpaV2R0Wlc1MElIUnZieUJzYjI1bklDZ2xaQ2tnZDJsMGFDQnRZWGdnS0NWa0tTQm1iM0lnWTI5a1pXSnNiMk5ySUNWa0lDaHdQU1ZrTENCaVBTVmtMQ0J5UFNWa0xDQmpQU1ZrS1FvQWNtVmhaRG9nYzJWbmJXVnVkQ0IwYjI4Z2JHOXVaeUFvSldRcElIZHBkR2dnYldGNElDZ2xaQ2tnWm05eUlHTnZaR1ZpYkc5amF5QWxaQ0FvY0QwbFpDd2dZajBsWkN3Z2NqMGxaQ3dnWXowbFpDa0tBRVJsYzNCcGRHVWdTbEF5SUVKUVF5RTlNalUxTENCd2NtVmphWE5wYjI0Z1lXNWtMMjl5SUhObmJtUWdkbUZzZFdWeklHWnZjaUJqYjIxd1d5VmtYU0JwY3lCa2FXWm1aWEpsYm5RZ2RHaGhiaUJqYjIxd1d6QmRPZ29nSUNBZ0lDQWdJRnN3WFNCd2NtVmpLQ1ZrS1NCeloyNWtLQ1ZrS1NCYkpXUmRJSEJ5WldNb0pXUXBJSE5uYm1Rb0pXUXBDZ0JpWVdRZ1kyOXRjRzl1Wlc1MElHNTFiV0psY2lCcGJpQlNSMDRnS0NWa0lIZG9aVzRnZEdobGNtVWdZWEpsSUc5dWJIa2dKV1FwQ2dCRmNuSnZjaUIzYVhSb0lGTkpXaUJ0WVhKclpYSTZJRzUxYldKbGNpQnZaaUJqYjIxd2IyNWxiblFnYVhNZ2JtOTBJR052YlhCaGRHbGliR1VnZDJsMGFDQjBhR1VnY21WdFlXbHVhVzVuSUc1MWJXSmxjaUJ2WmlCd1lYSmhiV1YwWlhKeklDZ2dKV1FnZG5NZ0pXUXBDZ0JGY25KdmNpQjNhWFJvSUZOSldpQnRZWEpyWlhJNklHbHVkbUZzYVdRZ2RHbHNaU0J6YVhwbElDaDBaSGc2SUNWa0xDQjBaSGs2SUNWa0tRb0FRbUZrSUVOUFRGSWdhR1ZoWkdWeUlHSnZlQ0FvWW1Ga0lITnBlbVU2SUNWa0tRb0FRbUZrSUVOUFRGSWdhR1ZoWkdWeUlHSnZlQ0FvUTBsRlRHRmlMQ0JpWVdRZ2MybDZaVG9nSldRcENnQlFWRVZTVFNCamFHVmpheUJtWVdsc2RYSmxPaUFsWkNCeVpXMWhhVzVwYm1jZ1lubDBaWE1nYVc0Z1kyOWtaU0JpYkc5amF5QW9KV1FnZFhObFpDQXZJQ1ZrS1FvQVRXRnNabTl5YldWa0lFaFVJR052WkdWaWJHOWpheTRnVDI1bElHOW1JSFJvWlNCbWIyeHNiM2RwYm1jZ1kyOXVaR2wwYVc5dUlHbHpJRzV2ZENCdFpYUTZJRElnUEQwZ1UyTjFjQ0E4UFNCdGFXNG9UR04xY0N3Z05EQTNPU2tLQUVsdWRtRnNhV1FnZG1Gc2RXVnpJR1p2Y2lCamIyMXdJRDBnSldRZ09pQndjbVZqUFNWMUlDaHphRzkxYkdRZ1ltVWdZbVYwZDJWbGJpQXhJR0Z1WkNBek9DQmhZMk52Y21ScGJtY2dkRzhnZEdobElFcFFSVWN5TURBd0lHNXZjbTB1SUU5d1pXNUtjR1ZuSUc5dWJIa2djM1Z3Y0c5eWRITWdkWEFnZEc4Z016RXBDZ0JKYm5aaGJHbGtJR0pwZENCdWRXMWlaWElnSldRZ2FXNGdiM0JxWDNReVgzSmxZV1JmY0dGamEyVjBYMmhsWVdSbGNpZ3BDZ0JUZEhKbFlXMGdaWEp5YjNJaENnQkZjbkp2Y2lCdmJpQjNjbWwwYVc1bklITjBjbVZoYlNFS0FGTjBjbVZoYlNCeVpXRmphR1ZrSUdsMGN5QmxibVFnSVFvQVJYaHdaV04wWldRZ1lTQlRUME1nYldGeWEyVnlJQW9BU1c1MllXeHBaQ0JpYjNnZ2MybDZaU0FsWkNCbWIzSWdZbTk0SUNjbFl5VmpKV01sWXljdUlFNWxaV1FnSldRZ1lubDBaWE1zSUNWa0lHSjVkR1Z6SUhKbGJXRnBibWx1WnlBS0FFMWhiR1p2Y20xbFpDQklWQ0JqYjJSbFlteHZZMnN1SUVSbFkyOWthVzVuSUhSb2FYTWdZMjlrWldKc2IyTnJJR2x6SUhOMGIzQndaV1F1SUZWZmNTQnBjeUJzWVhKblpYSWdkR2hoYmlCNlpYSnZJR0pwZEhCc1lXNWxjeUFySURFZ0NnQk5ZV3htYjNKdFpXUWdTRlFnWTI5a1pXSnNiMk5yTGlCRVpXTnZaR2x1WnlCMGFHbHpJR052WkdWaWJHOWpheUJwY3lCemRHOXdjR1ZrTGlCVlgzRWdhWE5zWVhKblpYSWdkR2hoYmlCaWFYUndiR0Z1WlhNZ0t5QXhJQW9BUTA5TVVpQkNUMWdnYldWMGFDQjJZV3gxWlNCcGN5QnViM1FnWVNCeVpXZDFiR0Z5SUhaaGJIVmxJQ2dsWkNrc0lITnZJSGRsSUhkcGJHd2dhV2R1YjNKbElIUm9aU0JsYm5ScGNtVWdRMjlzYjNWeUlGTndaV05wWm1sallYUnBiMjRnWW05NExpQUtBRmRvYVd4bElISmxZV1JwYm1jZ1EwTlFYMUZPVkZOVVdTQmxiR1Z0Wlc1MElHbHVjMmxrWlNCUlEwUWdiM0lnVVVORElHMWhjbXRsY2lCelpXZHRaVzUwTENCdWRXMWlaWElnYjJZZ2MzVmlZbUZ1WkhNZ0tDVmtLU0JwY3lCbmNtVmhkR1Z5SUhSdklFOVFTbDlLTWt0ZlRVRllRa0ZPUkZNZ0tDVmtLUzRnVTI4Z2QyVWdiR2x0YVhRZ2RHaGxJRzUxYldKbGNpQnZaaUJsYkdWdFpXNTBjeUJ6ZEc5eVpXUWdkRzhnVDFCS1gwb3lTMTlOUVZoQ1FVNUVVeUFvSldRcElHRnVaQ0J6YTJsd0lIUm9aU0J5WlhOMExpQUtBRXBRTWlCSlNFUlNJR0p2ZURvZ1kyOXRjSEpsYzNOcGIyNGdkSGx3WlNCcGJtUnBZMkYwWlNCMGFHRjBJSFJvWlNCbWFXeGxJR2x6SUc1dmRDQmhJR052Ym1admNtMXBibWNnU2xBeUlHWnBiR1VnS0NWa0tTQUtBRlJwYkdVZ2FXNWtaWGdnY0hKdmRtbGtaV1FnWW5rZ2RHaGxJSFZ6WlhJZ2FYTWdhVzVqYjNKeVpXTjBJQ1ZrSUNodFlYZ2dQU0FsWkNrZ0NnQkZjbkp2Y2lCa1pXTnZaR2x1WnlCamIyMXdiMjVsYm5RZ0pXUXVDbFJvWlNCdWRXMWlaWElnYjJZZ2NtVnpiMngxZEdsdmJuTWdkRzhnY21WdGIzWmxJQ2dsWkNrZ2FYTWdaM0psWVhSbGNpQnZjaUJsY1hWaGJDQjBhR0Z1SUhSb1pTQnVkVzFpWlhJZ2IyWWdjbVZ6YjJ4MWRHbHZibk1nYjJZZ2RHaHBjeUJqYjIxd2IyNWxiblFnS0NWa0tRcE5iMlJwWm5rZ2RHaGxJR053WDNKbFpIVmpaU0J3WVhKaGJXVjBaWEl1Q2dvQVNXMWhaMlVnWkdGMFlTQm9ZWE1nWW1WbGJpQjFjR1JoZEdWa0lIZHBkR2dnZEdsc1pTQWxaQzRLQ2dCQm9QMEFDNEFnSXdDbEFFTUFaZ0NEQU82b0ZBRGYyQ01BdmhCREFQLzFnd0IrSUZVQVgxRWpBRFVBUXdCT1JJTUF6c1FVQU0vTUl3RCs0a01BLzVtREFKWUF4UUEvTVNNQXBRQkRBRjVFZ3dET3lCUUEzeEVqQVA3MFF3RC8vSU1BbmdCVkFIY0FJd0ExQUVNQS8vR0RBSzZJRkFDM0FDTUEvdmhEQU8va2d3Q09pTVVBSHhFakFLVUFRd0JtQUlNQTdxZ1VBTjlVSXdDK0VFTUE3eUtEQUg0Z1ZRQi9JaU1BTlFCREFFNUVnd0RPeEJRQXZ4RWpBUDdpUXdEM0FJTUFsZ0RGQUQ4aUl3Q2xBRU1BWGtTREFNN0lGQURYQUNNQS92UkRBUCs2Z3dDZUFGVUFid0FqQURVQVF3RC81b01Bcm9nVUFLK2lJd0QrK0VNQTV3Q0RBSTZJeFFBdklnSUF4UUNFQUg0Z0FnRE94Q1FBOXdBQ0FQNmlSQUJXQUFJQW5nQVVBTmNBQWdDK0VJUUFaZ0FDQUs2SUpBRGZFUUlBN3FoRUFEWUFBZ0NPaUJRQUh4RUNBTVVBaEFCdUFBSUF6b2drQVArSUFnRCt1RVFBVGtRQ0FKWUFGQUMzQUFJQS91U0VBRjVFQWdDbUFDUUE1d0FDQU41VVJBQXVJZ0lBUGdBVUFIY0FBZ0RGQUlRQWZpQUNBTTdFSkFELzhRSUEvcUpFQUZZQUFnQ2VBQlFBdnhFQ0FMNFFoQUJtQUFJQXJvZ2tBTzhpQWdEdXFFUUFOZ0FDQUk2SUZBQi9JZ0lBeFFDRUFHNEFBZ0RPaUNRQTcrUUNBUDY0UkFCT1JBSUFsZ0FVQUsraUFnRCs1SVFBWGtRQ0FLWUFKQURmMkFJQTNsUkVBQzRpQWdBK0FCUUFYMUVDQUZVQWhBQm1BQUlBM29na0FQOHlBZ0QrRVVRQVRrUUNBSzRBRkFDM0FBSUFmakdFQUY1UkFnREdBQ1FBMXdBQ0FPNGdSQUFlRVFJQW5nQVVBSGNBQWdCVkFJUUFYbFFDQU01RUpBRG5BQUlBL3ZGRUFEWUFBZ0NtQUJRQVgxVUNBUDUwaEFBK0VRSUF2aUFrQUg5MEFnRGV4RVFBLy9nQ0FKWUFGQUF2SWdJQVZRQ0VBR1lBQWdEZWlDUUE5d0FDQVA0UlJBQk9SQUlBcmdBVUFJK0lBZ0IrTVlRQVhsRUNBTVlBSkFEUHlBSUE3aUJFQUI0UkFnQ2VBQlFBYndBQ0FGVUFoQUJlVkFJQXprUWtBTi9SQWdEKzhVUUFOZ0FDQUtZQUZBQi9JZ0lBL25TRUFENFJBZ0MrSUNRQXZ5SUNBTjdFUkFEdklnSUFsZ0FVQUQ4eUF3RGUxUDMwLy93VUFENFJWUUNQaUFNQXZqS0ZBT2NBSlFCZVVmNnFmM0lEQU01RS9manZSQlFBZm1SRkFLK2lBd0NtQUYxVjM1bjk4VFlBL3ZWdllnTUEzdEg5OVAvbUZBQitjVlVBdjdFREFLNkloUURmMVNVQVRrVCs4bjltQXdER0FQMzQ3K0lVQUY1VVJRQ2ZFUU1BbGdCZFZjL0kvZkVlRWU3SVp3QURBTjdVL2ZULzh4UUFQaEZWQUw4UkF3QytNb1VBMzlnbEFGNVIvcW92SWdNQXprVDkrUGNBRkFCK1pFVUFuNWdEQUtZQVhWWFhBUDN4TmdEKzlXOUVBd0RlMGYzMC83a1VBSDV4VlFDM0FBTUFyb2lGQU4vY0pRQk9SUDd5ZHdBREFNWUEvZmp2NUJRQVhsUkZBSDl6QXdDV0FGMVZ2N2o5OFI0UjdzZy9NZ0lBcFFDRUFINUFBZ0RlRUNRQTN4RUNBUDV5UkFCV0FBSUFycWdVQUwreUFnQ1dBSVFBWmdBQ0FNWUFKQURuQUFJQTdzaEVBQzRpQWdDT2lCUUFkd0FDQUtVQWhBQnVBQUlBem9na0FQY0FBZ0Qra1VRQU5nQUNBSzZpRkFDdnFnSUEvcmlFQUY0QUFnQytBQ1FBejhRQ0FPNUVSQUQvOUFJQVBpSVVBQjhSQWdDbEFJUUFma0FDQU40UUpBRC9tUUlBL25KRUFGWUFBZ0N1cUJRQXR3QUNBSllBaEFCbUFBSUF4Z0FrQU5jQUFnRHV5RVFBTGlJQ0FJNklGQUJQUkFJQXBRQ0VBRzRBQWdET2lDUUE3K0lDQVA2UlJBQTJBQUlBcnFJVUFIOUVBZ0QrdUlRQVhnQUNBTDRBSkFDZkFBSUE3a1JFQVA5MkFnQStJaFFBUHpFREFNWUFoUUQvMmYzeWZtVCs4YitaQXdDdW9pVUE3MmI5OUZZQTd1Si9jd01BdnBoRkFQY0EvZmhtQVA1Mm40Z0RBSTZJRlFEZjFhVUFMaUxlbUU5RUF3Qytzb1VBLy96OThtNGlsZ0MzQUFNQXJxb2xBTi9SL2ZRMkFON1ViMlFEQUs2b1JRRHY2djM0WGtUdTZIOXhBd0ErTWhVQXo4U2xBUC82em9nL01RTUF4Z0NGQVA5My9mSitaUDd4djdNREFLNmlKUURuQVAzMFZnRHU0bmNBQXdDK21FVUE3K1Q5K0dZQS9uWi9aZ01Bam9nVkFOY0FwUUF1SXQ2WVB6TURBTDZ5aFFEL2RmM3liaUtXQUorUkF3Q3VxaVVBMzVuOTlEWUEzdFJmVVFNQXJxaEZBTy9zL2ZoZVJPN29mM0lEQUQ0eUZRQy9zYVVBLy9QT2lCOFJBd0RlVlAzeUhoRVVBSDVrL3ZqUHpBTUF2cEZGQU84aUpRQXVJdjd6ajRnREFNWUFoUUQzQUJRQVhoSCsvSytvQXdDbUFEVUEzOGo5OFQ0eC9tWnZaQU1BenNqOTh2LzFGQUJtQVA3MHY3b0RBSzRpUlFEbkFDVUFQakwrNm45ekF3Qytzb1VBMzFVVUFGWUFmbkdmRVFNQWxnQTFBTS9FL2ZFK00rN29UMFFEQU41VS9mSWVFUlFBZm1UKytMK1pBd0Mra1VVQTcrSWxBQzRpL3ZOL1pnTUF4Z0NGQU8va0ZBQmVFZjc4bjVnREFLWUFOUURYQVAzeFBqSCtabThpQXdET3lQM3kvN2tVQUdZQS92UzNBQU1BcmlKRkFOL1JKUUErTXY3cWR3QURBTDZ5aFFEdjdCUUFWZ0IrY1g5eUF3Q1dBRFVBdjdqOThUNHo3dWhmVlB6eDN0SDkrdGNBL1BnV0FQMy9mM1Q4OUg1eC9mTy9zL3p5NytydTZFOUUvUEd1SWdVQXY3ajgrUGNBL3Z4M0FQejBYaEg5OVg5MS9QTGYyTzdpUHpQODhiNnkvZnJQaVB6NC8vdjkvMzl6L1BSdUFQM3p0d0Q4OHU5bS92ay9NZnp4bmdBRkFMKzYvUGovL2Y3Mlp3RDg5Q1lBL2ZXUGlQenkzOXplMUM4aS9QSGUwZjM2ejhUOCtCWUEvZjkvY3Z6MGZuSDk4NytaL1BMdjdPN29Sd0Q4OGE0aUJRQ25BUHo0Ly9mKy9GY0EvUFJlRWYzMWx3RDg4dC9WN3VJM0FQenh2ckw5K3NjQS9Qai8vdjMvZjJiODlHNEEvZk92cVB6eTV3RCsrVDh5L1BHZUFBVUF2N0g4K08vay92WmZWUHowSmdEOTlZY0EvUExmbWQ3VUh4RVRBR1VBUXdEZUFJTUFqWWdqQUU1RUV3Q2xBRU1Bcm9pREFEVUFJd0RYQUJNQXhRQkRBSjRBZ3dCVkFDTUFMaUlUQUpVQVF3QitBSU1BL2hBakFIY0FFd0JsQUVNQXpvaURBSTJJSXdBZUVSTUFwUUJEQUY0QWd3QTFBQ01BNXdBVEFNVUFRd0MrQUlNQVZRQWpBUDhSRXdDVkFFTUFQZ0NEQU81QUl3Q3ZvaE1BWlFCREFONEFnd0NOaUNNQVRrUVRBS1VBUXdDdWlJTUFOUUFqQU85RUV3REZBRU1BbmdDREFGVUFJd0F1SWhNQWxRQkRBSDRBZ3dEK0VDTUF0d0FUQUdVQVF3RE9pSU1BallnakFCNFJFd0NsQUVNQVhnQ0RBRFVBSXdEUHhCTUF4UUJEQUw0QWd3QlZBQ01BOXdBVEFKVUFRd0ErQUlNQTdrQWpBRzhBQVFDRUFBRUFWZ0FCQUJRQUFRRFhBQUVBSkFBQkFKWUFBUUJGQUFFQWR3QUJBSVFBQVFER0FBRUFGQUFCQUkrSUFRQWtBQUVBOXdBQkFEVUFBUUF2SWdFQWhBQUJBUDVBQVFBVUFBRUF0d0FCQUNRQUFRQy9BQUVBUlFBQkFHY0FBUUNFQUFFQXBnQUJBQlFBQVFCUFJBRUFKQUFCQU9jQUFRQTFBQUVBUHhFQkFJUUFBUUJXQUFFQUZBQUJBTThBQVFBa0FBRUFsZ0FCQUVVQUFRQnZBQUVBaEFBQkFNWUFBUUFVQUFFQW53QUJBQ1FBQVFEdkFBRUFOUUFCQUQ4eUFRQ0VBQUVBL2tBQkFCUUFBUUN2QUFFQUpBQUJBUDlFQVFCRkFBRUFYd0FCQUlRQUFRQ21BQUVBRkFBQkFIOEFBUUFrQUFFQTN3QUJBRFVBQVFBZkVRRUFKQUFCQUZZQUFRQ0ZBQUVBdndBQkFCUUFBUUQzQUFFQXhnQUJBSGNBQVFBa0FBRUEvL2dCQUVVQUFRQi9BQUVBRkFBQkFOOEFBUUNtQUFFQVB6RUJBQ1FBQVFBdUlnRUFoUUFCQUxjQUFRQVVBQUVBNzBRQkFLNmlBUUJuQUFFQUpBQUJBUDlSQVFCRkFBRUFsd0FCQUJRQUFRRFBBQUVBTmdBQkFEOGlBUUFrQUFFQVZnQUJBSVVBQVFDL3NnRUFGQUFCQU85QUFRREdBQUVBYndBQkFDUUFBUUQvY2dFQVJRQUJBSjhBQVFBVUFBRUExd0FCQUtZQUFRQlBSQUVBSkFBQkFDNGlBUUNGQUFFQXI2Z0JBQlFBQVFEbkFBRUFycUlCQUY4QUFRQWtBQUVBLzBRQkFFVUFBUUNQaUFFQUZBQUJBSytxQVFBMkFBRUFIeEVDQVA3NEpBQldBQUlBdGdDRkFQOW1BZ0RPQUJRQUhoRUNBSllBTlFDdnFBSUE5Z0FrQUQ0eEFnQ21BRVVBdjdNQ0FMNnlGQUQvOVFJQVpnQitVVjlVQWdEKzhpUUFMaUlDQUs0aWhRRHZSQUlBeGdBVUFQLzBBZ0IyQURVQWYwUUNBTjVBSkFBK01nSUFuZ0JGQU5jQUFnQytpQlFBLy9vQ0FGNFIvdkZQUkFJQS92Z2tBRllBQWdDMkFJVUE3OGdDQU00QUZBQWVFUUlBbGdBMUFJK0lBZ0QyQUNRQVBqRUNBS1lBUlFEZlJBSUF2cklVQVArb0FnQm1BSDVSYndBQ0FQN3lKQUF1SWdJQXJpS0ZBT2NBQWdER0FCUUE3K0lDQUhZQU5RQi9jZ0lBM2tBa0FENHlBZ0NlQUVVQXY3RUNBTDZJRkFEL2N3SUFYaEgrOFQ4ekFRQ0VBQUVBN2lBQkFNVUFBUURQeEFFQVJBQUJBUDh5QVFBVkFBRUFqNGdCQUlRQUFRQm1BQUVBSlFBQkFLOEFBUUJFQUFFQTd5SUJBS1lBQVFCZkFBRUFoQUFCQUU1RUFRREZBQUVBejh3QkFFUUFBUUQzQUFFQUZRQUJBRzhBQVFDRUFBRUFWZ0FCQUNVQUFRQ2ZBQUVBUkFBQkFOOEFBUUQrTUFFQUx5SUJBSVFBQVFEdUlBRUF4UUFCQU0vSUFRQkVBQUVBL3hFQkFCVUFBUUIzQUFFQWhBQUJBR1lBQVFBbEFBRUFmd0FCQUVRQUFRRG5BQUVBcGdBQkFEY0FBUUNFQUFFQVRrUUJBTVVBQVFDM0FBRUFSQUFCQUw4QUFRQVZBQUVBUHdBQkFJUUFBUUJXQUFFQUpRQUJBSmNBQVFCRUFBRUExd0FCQVA0d0FRQWZFUUlBN3FoRUFJNklBZ0RXQU1VQS8vTUNBUDc4SlFBK0FBSUF0Z0JWQU4vWUFnRCsrRVFBWmdBQ0FINGdoUUQvbVFJQTVnRDFBRFlBQWdDbUFCVUFud0FDQVA3eVJBQjJBQUlBemtURkFQOTJBZ0QrOFNVQVRrUUNBSzRBVlFEUHlBSUEvdlJFQUY1RUFnQytFSVVBNytRQ0FONVU5UUFlRVFJQWxnQVZBQzhpQWdEdXFFUUFqb2dDQU5ZQXhRRC8rZ0lBL3Z3bEFENEFBZ0MyQUZVQXZ4RUNBUDc0UkFCbUFBSUFmaUNGQU84aUFnRG1BUFVBTmdBQ0FLWUFGUUIvSWdJQS92SkVBSFlBQWdET1JNVUEvOVVDQVA3eEpRQk9SQUlBcmdCVkFHOEFBZ0QrOUVRQVhrUUNBTDRRaFFEZkVRSUEzbFQxQUI0UkFnQ1dBQlVBWDFFREFQWUFGQUFlRVVRQWpvaWxBTi9VQXdDdW9sVUEvM1lrQUQ0aXRnQ3ZxZ01BNWdBVUFQLzFSQUJtQUlVQXo4d0RBSjRBeFFEdlJDUUFOZ0QrK0g4eEF3RHU2QlFBLy9GRUFIWUFwUURQeEFNQWZpSlZBTi9SSkFCT1JQNzBYMUVEQU5ZQUZBRHY0a1FBWGtTRkFMOGlBd0NXQU1VQTM4Z2tBQzRpL3ZKdklnTUE5Z0FVQUI0UlJBQ09pS1VBdjdFREFLNmlWUUQvTXlRQVBpSzJBSytvQXdEbUFCUUEvN2xFQUdZQWhRQy9xQU1BbmdERkFPL2tKQUEyQVA3NGIyUURBTzdvRkFELy9FUUFkZ0NsQU0vSUF3QitJbFVBNytva0FFNUUvdlIvZEFNQTFnQVVBUC82UkFCZVJJVUF2N0lEQUpZQXhRRGZSQ1FBTGlMKzhqOHg4d0QrK3YzeE5nQUVBTDR5ZFFEZkVmTUEzbFQ5OHUvazFRQitjZjc4ZjNQekFQN3ovZmdlRVFRQWxnQlZBTCt4OHdET0FMVUEzOWo5OUdZQS9ybGZWUE1BL25iOThTWUFCQUNtQUhVQW53RHpBSzRBL2ZMLzk5VUFSZ0QrOVg5MDh3RG1BUDM0RmdBRUFJWUFWUUNQaVBNQXhnQzFBTy9pL2ZSZUVlNm9QeEh6QVA3Ni9mRTJBQVFBdmpKMUFOL1I4d0RlVlAzeS8vdlZBSDV4L3Z4L1JQTUEvdlA5K0I0UkJBQ1dBRlVBZjNMekFNNEF0UUR2SXYzMFpnRCt1VTlFOHdEK2R2M3hKZ0FFQUtZQWRRQy9FZk1BcmdEOTh2Ly8xUUJHQVA3MVB6THpBT1lBL2ZnV0FBUUFoZ0JWQUc4QTh3REdBTFVBdjdqOTlGNFI3cWd2SWdCQnJKMEJDNlFlQVFBQUFBRUFBQUFCQUFBQUFnQUFBQUlBQUFBQ0FBQUFBd0FBQUFNQUFBQUVBQUFBQlFBQUFMY2hRaUZuSVVJaEVSRVJFVE16TXpOM2QzZDNBQUFBQUFBQUFBQUJWZ0FBQUFBQUFCQlBBQUFnVHdBQUFWWUFBQUVBQUFBZ1R3QUFFRThBQUFFMEFBQUFBQUFBTUU4QUFMQlBBQUFCTkFBQUFRQUFBRUJQQUFEQVR3QUFBUmdBQUFBQUFBQlFUd0FBRUZBQUFBRVlBQUFCQUFBQVlFOEFBQ0JRQUFEQkNnQUFBQUFBQUhCUEFBQndVQUFBd1FvQUFBRUFBQUNBVHdBQWdGQUFBQ0VGQUFBQUFBQUFrRThBQUpCU0FBQWhCUUFBQVFBQUFLQlBBQUNnVWdBQUlRSUFBQUFBQUFDd1V3QUFFRk1BQUNFQ0FBQUJBQUFBd0ZNQUFDQlRBQUFCVmdBQUFBQUFBTkJQQUFEQVR3QUFBVllBQUFFQUFBRGdUd0FBc0U4QUFBRlVBQUFBQUFBQThFOEFBTEJRQUFBQlZBQUFBUUFBQUFCUUFBREFVQUFBQVVnQUFBQUFBQUFRVUFBQXNGQUFBQUZJQUFBQkFBQUFJRkFBQU1CUUFBQUJPQUFBQUFBQUFEQlFBQUN3VUFBQUFUZ0FBQUVBQUFCQVVBQUF3RkFBQUFFd0FBQUFBQUFBVUZBQUFCQlJBQUFCTUFBQUFRQUFBR0JRQUFBZ1VRQUFBU1FBQUFBQUFBQndVQUFBTUZFQUFBRWtBQUFCQUFBQWdGQUFBRUJSQUFBQkhBQUFBQUFBQUpCUUFBQndVUUFBQVJ3QUFBRUFBQUNnVUFBQWdGRUFBQUVXQUFBQUFBQUFrRklBQUpCUkFBQUJGZ0FBQVFBQUFLQlNBQUNnVVFBQUFWWUFBQUFBQUFEUVVBQUF3RkFBQUFGV0FBQUJBQUFBNEZBQUFMQlFBQUFCVkFBQUFBQUFBUEJRQUFDd1VBQUFBVlFBQUFFQUFBQUFVUUFBd0ZBQUFBRlJBQUFBQUFBQUVGRUFBTkJRQUFBQlVRQUFBUUFBQUNCUkFBRGdVQUFBQVVnQUFBQUFBQUF3VVFBQThGQUFBQUZJQUFBQkFBQUFRRkVBQUFCUkFBQUJPQUFBQUFBQUFGQlJBQUFRVVFBQUFUZ0FBQUVBQUFCZ1VRQUFJRkVBQUFFMEFBQUFBQUFBY0ZFQUFEQlJBQUFCTkFBQUFRQUFBSUJSQUFCQVVRQUFBVEFBQUFBQUFBQ1FVUUFBVUZFQUFBRXdBQUFCQUFBQW9GRUFBR0JSQUFBQktBQUFBQUFBQUxCUkFBQlFVUUFBQVNnQUFBRUFBQURBVVFBQVlGRUFBQUVrQUFBQUFBQUEwRkVBQUhCUkFBQUJKQUFBQVFBQUFPQlJBQUNBVVFBQUFTSUFBQUFBQUFEd1VRQUFrRkVBQUFFaUFBQUJBQUFBQUZJQUFLQlJBQUFCSEFBQUFBQUFBQkJTQUFDd1VRQUFBUndBQUFFQUFBQWdVZ0FBd0ZFQUFBRVlBQUFBQUFBQU1GSUFBTkJSQUFBQkdBQUFBUUFBQUVCU0FBRGdVUUFBQVJZQUFBQUFBQUJRVWdBQThGRUFBQUVXQUFBQkFBQUFZRklBQUFCU0FBQUJGQUFBQUFBQUFIQlNBQUFRVWdBQUFSUUFBQUVBQUFDQVVnQUFJRklBQUFFU0FBQUFBQUFBa0ZJQUFEQlNBQUFCRWdBQUFRQUFBS0JTQUFCQVVnQUFBUkVBQUFBQUFBQ3dVZ0FBVUZJQUFBRVJBQUFCQUFBQXdGSUFBR0JTQUFEQkNnQUFBQUFBQU5CU0FBQndVZ0FBd1FvQUFBRUFBQURnVWdBQWdGSUFBTUVKQUFBQUFBQUE4RklBQUpCU0FBREJDUUFBQVFBQUFBQlRBQUNnVWdBQW9RZ0FBQUFBQUFBUVV3QUFzRklBQUtFSUFBQUJBQUFBSUZNQUFNQlNBQUFoQlFBQUFBQUFBREJUQUFEUVVnQUFJUVVBQUFFQUFBQkFVd0FBNEZJQUFFRUVBQUFBQUFBQVVGTUFBUEJTQUFCQkJBQUFBUUFBQUdCVEFBQUFVd0FBb1FJQUFBQUFBQUJ3VXdBQUVGTUFBS0VDQUFBQkFBQUFnRk1BQUNCVEFBQWhBZ0FBQUFBQUFKQlRBQUF3VXdBQUlRSUFBQUVBQUFDZ1V3QUFRRk1BQUVFQkFBQUFBQUFBc0ZNQUFGQlRBQUJCQVFBQUFRQUFBTUJUQUFCZ1V3QUFFUUVBQUFBQUFBRFFVd0FBY0ZNQUFCRUJBQUFCQUFBQTRGTUFBSUJUQUFDRkFBQUFBQUFBQVBCVEFBQ1FVd0FBaFFBQUFBRUFBQUFBVkFBQW9GTUFBRWtBQUFBQUFBQUFFRlFBQUxCVEFBQkpBQUFBQVFBQUFDQlVBQURBVXdBQUpRQUFBQUFBQUFBd1ZBQUEwRk1BQUNVQUFBQUJBQUFBUUZRQUFPQlRBQUFWQUFBQUFBQUFBRkJVQUFEd1V3QUFGUUFBQUFFQUFBQmdWQUFBQUZRQUFBa0FBQUFBQUFBQWNGUUFBQkJVQUFBSkFBQUFBUUFBQUlCVUFBQWdWQUFBQlFBQUFBQUFBQUNRVkFBQU1GUUFBQVVBQUFBQkFBQUFvRlFBQUVCVUFBQUJBQUFBQUFBQUFKQlVBQUJRVkFBQUFRQUFBQUVBQUFDZ1ZBQUFZRlFBQUFGV0FBQUFBQUFBc0ZRQUFMQlVBQUFCVmdBQUFRQUFBTUJVQUFEQVZBQUFBQUVEQXdFQ0F3TUZCZ2NIQmdZSEJ3QUJBd01CQWdNREJRWUhCd1lHQndjRkJnY0hCZ1lIQndnSUNBZ0lDQWdJQlFZSEJ3WUdCd2NJQ0FnSUNBZ0lDQUVDQXdNQ0FnTURCZ1lIQndZR0J3Y0JBZ01EQWdJREF3WUdCd2NHQmdjSEJnWUhCd1lHQndjSUNBZ0lDQWdJQ0FZR0J3Y0dCZ2NIQ0FnSUNBZ0lDQWdEQXdRRUF3TUVCQWNIQndjSEJ3Y0hBd01FQkFNREJBUUhCd2NIQndjSEJ3Y0hCd2NIQndjSENBZ0lDQWdJQ0FnSEJ3Y0hCd2NIQndnSUNBZ0lDQWdJQXdNRUJBTURCQVFIQndjSEJ3Y0hCd01EQkFRREF3UUVCd2NIQndjSEJ3Y0hCd2NIQndjSEJ3Z0lDQWdJQ0FnSUJ3Y0hCd2NIQndjSUNBZ0lDQWdJQ0FFQ0F3TUNBZ01EQmdZSEJ3WUdCd2NCQWdNREFnSURBd1lHQndjR0JnY0hCZ1lIQndZR0J3Y0lDQWdJQ0FnSUNBWUdCd2NHQmdjSENBZ0lDQWdJQ0FnQ0FnTURBZ0lEQXdZR0J3Y0dCZ2NIQWdJREF3SUNBd01HQmdjSEJnWUhCd1lHQndjR0JnY0hDQWdJQ0FnSUNBZ0dCZ2NIQmdZSEJ3Z0lDQWdJQ0FnSUF3TUVCQU1EQkFRSEJ3Y0hCd2NIQndNREJBUURBd1FFQndjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2dJQ0FnSUNBZ0lCd2NIQndjSEJ3Y0lDQWdJQ0FnSUNBTURCQVFEQXdRRUJ3Y0hCd2NIQndjREF3UUVBd01FQkFjSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NJQ0FnSUNBZ0lDQWNIQndjSEJ3Y0hDQWdJQ0FnSUNBZ0FBUVVHQVFJR0JnTURCd2NEQXdjSEFBRUZCZ0VDQmdZREF3Y0hBd01IQndNREJ3Y0RBd2NIQkFRSEJ3UUVCd2NEQXdjSEF3TUhCd1FFQndjRUJBY0hBUUlHQmdJQ0JnWURBd2NIQXdNSEJ3RUNCZ1lDQWdZR0F3TUhCd01EQndjREF3Y0hBd01IQndRRUJ3Y0VCQWNIQXdNSEJ3TURCd2NFQkFjSEJBUUhCd1VHQ0FnR0JnZ0lCd2NJQ0FjSENBZ0ZCZ2dJQmdZSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0hCd2dJQndjSUNBY0hDQWdHQmdnSUJnWUlDQWNIQ0FnSEJ3Z0lCZ1lJQ0FZR0NBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0hCd2dJQVFJR0JnSUNCZ1lEQXdjSEF3TUhCd0VDQmdZQ0FnWUdBd01IQndNREJ3Y0RBd2NIQXdNSEJ3UUVCd2NFQkFjSEF3TUhCd01EQndjRUJBY0hCQVFIQndJQ0JnWUNBZ1lHQXdNSEJ3TURCd2NDQWdZR0FnSUdCZ01EQndjREF3Y0hBd01IQndNREJ3Y0VCQWNIQkFRSEJ3TURCd2NEQXdjSEJBUUhCd1FFQndjR0JnZ0lCZ1lJQ0FjSENBZ0hCd2dJQmdZSUNBWUdDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0hCd2dJQndjSUNBY0hDQWdIQndnSUJnWUlDQVlHQ0FnSEJ3Z0lCd2NJQ0FZR0NBZ0dCZ2dJQndjSUNBY0hDQWdIQndnSUJ3Y0lDQWNIQ0FnSEJ3Z0lCd2NJQ0FjSENBZ0hCd2dJQndjSUNBQUJBd01CQWdNREJRWUhCd1lHQndjQUFRTURBUUlEQXdVR0J3Y0dCZ2NIQlFZSEJ3WUdCd2NJQ0FnSUNBZ0lDQVVHQndjR0JnY0hDQWdJQ0FnSUNBZ0JBZ01EQWdJREF3WUdCd2NHQmdjSEFRSURBd0lDQXdNR0JnY0hCZ1lIQndZR0J3Y0dCZ2NIQ0FnSUNBZ0lDQWdHQmdjSEJnWUhCd2dJQ0FnSUNBZ0lBd01FQkFNREJBUUhCd2NIQndjSEJ3TURCQVFEQXdRRUJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQndnSUNBZ0lDQWdJQndjSEJ3Y0hCd2NJQ0FnSUNBZ0lDQU1EQkFRREF3UUVCd2NIQndjSEJ3Y0RBd1FFQXdNRUJBY0hCd2NIQndjSEJ3Y0hCd2NIQndjSUNBZ0lDQWdJQ0FjSEJ3Y0hCd2NIQ0FnSUNBZ0lDQWdCQWdNREFnSURBd1lHQndjR0JnY0hBUUlEQXdJQ0F3TUdCZ2NIQmdZSEJ3WUdCd2NHQmdjSENBZ0lDQWdJQ0FnR0JnY0hCZ1lIQndnSUNBZ0lDQWdJQWdJREF3SUNBd01HQmdjSEJnWUhCd0lDQXdNQ0FnTURCZ1lIQndZR0J3Y0dCZ2NIQmdZSEJ3Z0lDQWdJQ0FnSUJnWUhCd1lHQndjSUNBZ0lDQWdJQ0FNREJBUURBd1FFQndjSEJ3Y0hCd2NEQXdRRUF3TUVCQWNIQndjSEJ3Y0hCd2NIQndjSEJ3Y0lDQWdJQ0FnSUNBY0hCd2NIQndjSENBZ0lDQWdJQ0FnREF3UUVBd01FQkFjSEJ3Y0hCd2NIQXdNRUJBTURCQVFIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hDQWdJQ0FnSUNBZ0hCd2NIQndjSEJ3Z0lDQWdJQ0FnSUFBTUJCQU1HQkFjQkJBSUZCQWNGQndBREFRUURCZ1FIQVFRQ0JRUUhCUWNCQkFJRkJBY0ZCd0lGQWdVRkJ3VUhBUVFDQlFRSEJRY0NCUUlGQlFjRkJ3TUdCQWNHQ0FjSUJBY0ZCd2NJQndnREJnUUhCZ2dIQ0FRSEJRY0hDQWNJQkFjRkJ3Y0lCd2dGQndVSEJ3Z0hDQVFIQlFjSENBY0lCUWNGQndjSUJ3Z0JCQUlGQkFjRkJ3SUZBZ1VGQndVSEFRUUNCUVFIQlFjQ0JRSUZCUWNGQndJRkFnVUZCd1VIQWdVQ0JRVUhCUWNDQlFJRkJRY0ZCd0lGQWdVRkJ3VUhCQWNGQndjSUJ3Z0ZCd1VIQndnSENBUUhCUWNIQ0FjSUJRY0ZCd2NJQndnRkJ3VUhCd2dIQ0FVSEJRY0hDQWNJQlFjRkJ3Y0lCd2dGQndVSEJ3Z0hDQU1HQkFjR0NBY0lCQWNGQndjSUJ3Z0RCZ1FIQmdnSENBUUhCUWNIQ0FjSUJBY0ZCd2NJQndnRkJ3VUhCd2dIQ0FRSEJRY0hDQWNJQlFjRkJ3Y0lCd2dHQ0FjSUNBZ0lDQWNJQndnSUNBZ0lCZ2dIQ0FnSUNBZ0hDQWNJQ0FnSUNBY0lCd2dJQ0FnSUJ3Z0hDQWdJQ0FnSENBY0lDQWdJQ0FjSUJ3Z0lDQWdJQkFjRkJ3Y0lCd2dGQndVSEJ3Z0hDQVFIQlFjSENBY0lCUWNGQndjSUJ3Z0ZCd1VIQndnSENBVUhCUWNIQ0FjSUJRY0ZCd2NJQndnRkJ3VUhCd2dIQ0FjSUJ3Z0lDQWdJQndnSENBZ0lDQWdIQ0FjSUNBZ0lDQWNJQndnSUNBZ0lCd2dIQ0FnSUNBZ0hDQWNJQ0FnSUNBY0lCd2dJQ0FnSUJ3Z0hDQWdJQ0FnSkNRb0tDUWtLQ2d3TURRc01EQTBMQ1FrS0Nna0pDZ29NREFzTkRBd0xEUXdNRFEwTURBc0xEQWtOQ2drTUNnc01EQXNMREF3TkRRd0pDd29KREFvTkNRa0tDZ2tKQ2dvTURBMExEQXdOQ3drSkNnb0pDUW9LREF3TERRd01DdzBNREEwTkRBd0xDd3dKRFFvSkRBb0xEQXdMQ3d3TURRME1DUXNLQ1F3S0RRb0tDZ29LQ2dvS0RRc05DdzBMRFFzS0Nna0pDZ29KQ1EwTERBd05Dd3dNRFEwTkRRc0xDd3NOQ2cwS0Nnc0tDdzBOREF3TEN3d01EUW9NQ1FvTENRd0tDZ2tKQ2dvSkNRc05EQXdMRFF3TUNnb0tDZ29LQ2dvTERRc05DdzBMRFFzTERBd05EUXdNQ3dvTUNRb05DUXdMQ3dzTERRME5EUXNLQ3dvS0RRb05BRUhadXdFTE53RUFBUUFCQUFFQUFBRUJBQUFCQVFBQkFBRUFBUUFCQUFBQUFBRUJBUUVBQUFBQUFBRUFBUUFBQUFBQkFRRUJBQUFBQVFBQkFRRUFRWm04QVFzM0FRQUJBQUVBQVFBQUFRRUFBQUVCQUFFQUFRQUJBQUVBQUFBQUFRRUJBUUFBQUFBQUFRQUJBQUFBQUFFQkFRRUFBQUFCQUFFQkFRQkIyYndCQ3djQkFBRUFBUUFCQUVIcHZBRUxsUUlCQUFFQUFRQUJBQUFBQUFFQkFRRUFBQUFBQUFFQUFRQUFBQUFCQVFFQkFBQUFBQUFCQUFFQkFRQUFBUUVBQUFBQkFBRUFBUUFCQVFFQkFRRUJBUUVBQVFBQkFBRUFBUUFBQUFBQkFRRUJBQUVBQUFFQkFBRUFBQUFBQVFFQkFRQUJBQUVCQVFFQkFnQUFBQVFBQUFBRUFBQUFDQUFBQUpEL0FBQU1BQUFBR0FBQUFGTC9BQUFVQUFBQUdRQUFBRlAvQUFBVUFBQUFHZ0FBQUY3L0FBQVVBQUFBR3dBQUFGei9BQUFVQUFBQUhBQUFBRjMvQUFBVUFBQUFIUUFBQUYvL0FBQVVBQUFBSGdBQUFGSC9BQUFDQUFBQUh3QUFBRlgvQUFBRUFBQUFJQUFBQUZmL0FBQUVBQUFBSVFBQUFGai9BQUFRQUFBQUlnQUFBR0QvQUFBRUFBQUFJd0FBQUdIL0FBQVFBQUFBSkFBQUFKSC9BRUdJdndFTFpXUC9BQUFFQUFBQUpRQUFBR1QvQUFBVUFBQUFKZ0FBQUhUL0FBQVVBQUFBSndBQUFIai9BQUFFQUFBQUtBQUFBRkQvQUFBRUFBQUFLUUFBQUZuL0FBQUVBQUFBS2dBQUFIWC9BQUFVQUFBQUt3QUFBSGYvQUFBVUFBQUFMQUFBQUFBQUFBQVVBRUdBd0FFTE5TMEFBQUF1QUFBQUx3QUFBREFBQUFBeEFBQUFNZ0FBQURNQUFBQTBBQUFBSUNCUWFqWUFBQUJ3ZVhSbU53QUFBR2d5Y0dvNEFFSEF3QUVMTW5Ka2FHazVBQUFBY214dll6b0FBQUJqWTNCaU93QUFBSEpzWTNBOEFBQUFjR0Z0WXowQUFBQm1aV1JqUGdBQUFQaGlBRUdBd1FFTFFSa0FDd0FaR1JrQUFBQUFCUUFBQUFBQUFBa0FBQUFBQ3dBQUFBQUFBQUFBR1FBS0Noa1pHUU1LQndBQkFBa0xHQUFBQ1FZTEFBQUxBQVlaQUFBQUdSa1pBRUhSd1FFTElRNEFBQUFBQUFBQUFCa0FDdzBaR1JrQURRQUFBZ0FKRGdBQUFBa0FEZ0FBRGdCQmk4SUJDd0VNQUVHWHdnRUxGUk1BQUFBQUV3QUFBQUFKREFBQUFBQUFEQUFBREFCQnhjSUJDd0VRQUVIUndnRUxGUThBQUFBRUR3QUFBQUFKRUFBQUFBQUFFQUFBRUFCQi84SUJDd0VTQUVHTHd3RUxIaEVBQUFBQUVRQUFBQUFKRWdBQUFBQUFFZ0FBRWdBQUdnQUFBQm9hR2dCQndzTUJDdzRhQUFBQUdob2FBQUFBQUFBQUNRQkI4OE1CQ3dFVUFFSC93d0VMRlJjQUFBQUFGd0FBQUFBSkZBQUFBQUFBRkFBQUZBQkJyY1FCQ3dFV0FFRzV4QUVMSnhVQUFBQUFGUUFBQUFBSkZnQUFBQUFBRmdBQUZnQUFNREV5TXpRMU5qYzRPVUZDUTBSRlJnQkI0TVFCQ3dtUWJBRUFBQUFBQUFVQVFmVEVBUXNCYVFCQmpNVUJDd3BxQUFBQWF3QUFBSGhvQUVHa3hRRUxBUUlBUWJURkFRc0kvLy8vLy8vLy8vOEFRZmpGQVFzQkJRQkJoTVlCQ3dGc0FFR2N4Z0VMRG1vQUFBQnRBQUFBaUdnQUFBQUVBRUcweGdFTEFRRUFRY1RHQVFzRi8vLy8vd289Iik7cmV0dXJuIHJlY2VpdmVJbnN0YW5jZShpbnN0YW50aWF0ZVN5bmModSxlKVswXSl9KCk7Ti5xLGEuX21hbGxvYz1OLnIsYS5fZnJlZT1OLnMsYS5fanAyX2RlY29kZT1OLnU7dz1mdW5jdGlvbiBydW5DYWxsZXIoKXtifHxydW4oKTtifHwodz1ydW5DYWxsZXIpfTtmdW5jdGlvbiBydW4oKXtpZighKG0+MCkpeyFmdW5jdGlvbiBwcmVSdW4oKXtpZihhLnByZVJ1bil7ImZ1bmN0aW9uIj09dHlwZW9mIGEucHJlUnVuJiYoYS5wcmVSdW49W2EucHJlUnVuXSk7Zm9yKDthLnByZVJ1bi5sZW5ndGg7KWU9YS5wcmVSdW4uc2hpZnQoKSxkLnVuc2hpZnQoZSl9dmFyIGU7Y2FsbFJ1bnRpbWVDYWxsYmFja3MoZCl9KCk7aWYoIShtPjApKWlmKGEuc2V0U3RhdHVzKXthLnNldFN0YXR1cygiUnVubmluZy4uLiIpO3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXthLnNldFN0YXR1cygiIil9KSwxKTtkb1J1bigpfSksMSl9ZWxzZSBkb1J1bigpfWZ1bmN0aW9uIGRvUnVuKCl7aWYoIWIpe2I9ITA7YS5jYWxsZWRSdW49ITA7IWZ1bmN0aW9uIGluaXRSdW50aW1lKCl7Y2FsbFJ1bnRpbWVDYWxsYmFja3MoZil9KCk7dChhKTthLm9uUnVudGltZUluaXRpYWxpemVkJiZhLm9uUnVudGltZUluaXRpYWxpemVkKCk7IWZ1bmN0aW9uIHBvc3RSdW4oKXtpZihhLnBvc3RSdW4peyJmdW5jdGlvbiI9PXR5cGVvZiBhLnBvc3RSdW4mJihhLnBvc3RSdW49W2EucG9zdFJ1bl0pO2Zvcig7YS5wb3N0UnVuLmxlbmd0aDspZT1hLnBvc3RSdW4uc2hpZnQoKSxwLnVuc2hpZnQoZSl9dmFyIGU7Y2FsbFJ1bnRpbWVDYWxsYmFja3MocCl9KCl9fX1pZihhLnByZUluaXQpeyJmdW5jdGlvbiI9PXR5cGVvZiBhLnByZUluaXQmJihhLnByZUluaXQ9W2EucHJlSW5pdF0pO2Zvcig7YS5wcmVJbml0Lmxlbmd0aD4wOylhLnByZUluaXQucG9wKCkoKX1ydW4oKTtyZXR1cm4gYX0pO2NvbnN0IGhpPUNpO2NsYXNzIEpweEVycm9yIGV4dGVuZHMgb3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiSnB4RXJyb3IiKX19Y2xhc3MgSnB4SW1hZ2V7c3RhdGljI3k9bnVsbDtzdGF0aWMgZGVjb2RlKGUsdCl7dHx8PXt9O3RoaXMuI3l8fD1oaSh7d2Fybn0pO2NvbnN0IGk9dGhpcy4jeS5kZWNvZGUoZSx0KTtpZigic3RyaW5nIj09dHlwZW9mIGkpdGhyb3cgbmV3IEpweEVycm9yKGkpO3JldHVybiBpfXN0YXRpYyBjbGVhbnVwKCl7dGhpcy4jeT1udWxsfXN0YXRpYyBwYXJzZUltYWdlUHJvcGVydGllcyhlKXtsZXQgdD1lLmdldEJ5dGUoKTtmb3IoO3Q+PTA7KXtjb25zdCBpPXQ7dD1lLmdldEJ5dGUoKTtpZig2NTM2MT09PShpPDw4fHQpKXtlLnNraXAoNCk7Y29uc3QgdD1lLmdldEludDMyKCk+Pj4wLGk9ZS5nZXRJbnQzMigpPj4+MCxhPWUuZ2V0SW50MzIoKT4+PjAscz1lLmdldEludDMyKCk+Pj4wO2Uuc2tpcCgxNik7cmV0dXJue3dpZHRoOnQtYSxoZWlnaHQ6aS1zLGJpdHNQZXJDb21wb25lbnQ6OCxjb21wb25lbnRzQ291bnQ6ZS5nZXRVaW50MTYoKX19fXRocm93IG5ldyBKcHhFcnJvcigiTm8gc2l6ZSBtYXJrZXIgZm91bmQgaW4gSlBYIHN0cmVhbSIpfX1jbGFzcyBKcHhTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKHQpO3RoaXMuc3RyZWFtPWU7dGhpcy5kaWN0PWUuZGljdDt0aGlzLm1heWJlTGVuZ3RoPXQ7dGhpcy5wYXJhbXM9aX1nZXQgYnl0ZXMoKXtyZXR1cm4gc2hhZG93KHRoaXMsImJ5dGVzIix0aGlzLnN0cmVhbS5nZXRCeXRlcyh0aGlzLm1heWJlTGVuZ3RoKSl9ZW5zdXJlQnVmZmVyKGUpe31yZWFkQmxvY2soZSl7dGhpcy5kZWNvZGVJbWFnZShudWxsLGUpfWRlY29kZUltYWdlKGUsdCl7aWYodGhpcy5lb2YpcmV0dXJuIHRoaXMuYnVmZmVyO2V8fD10aGlzLmJ5dGVzO3RoaXMuYnVmZmVyPUpweEltYWdlLmRlY29kZShlLHQpO3RoaXMuYnVmZmVyTGVuZ3RoPXRoaXMuYnVmZmVyLmxlbmd0aDt0aGlzLmVvZj0hMDtyZXR1cm4gdGhpcy5idWZmZXJ9Z2V0IGNhbkFzeW5jRGVjb2RlSW1hZ2VGcm9tQnVmZmVyKCl7cmV0dXJuIHRoaXMuc3RyZWFtLmlzQXN5bmN9fWNsYXNzIExaV1N0cmVhbSBleHRlbmRzIERlY29kZVN0cmVhbXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIodCk7dGhpcy5zdHI9ZTt0aGlzLmRpY3Q9ZS5kaWN0O3RoaXMuY2FjaGVkRGF0YT0wO3RoaXMuYml0c0NhY2hlZD0wO2NvbnN0IGE9NDA5NixzPXtlYXJseUNoYW5nZTppLGNvZGVMZW5ndGg6OSxuZXh0Q29kZToyNTgsZGljdGlvbmFyeVZhbHVlczpuZXcgVWludDhBcnJheShhKSxkaWN0aW9uYXJ5TGVuZ3RoczpuZXcgVWludDE2QXJyYXkoYSksZGljdGlvbmFyeVByZXZDb2RlczpuZXcgVWludDE2QXJyYXkoYSksY3VycmVudFNlcXVlbmNlOm5ldyBVaW50OEFycmF5KGEpLGN1cnJlbnRTZXF1ZW5jZUxlbmd0aDowfTtmb3IobGV0IGU9MDtlPDI1NjsrK2Upe3MuZGljdGlvbmFyeVZhbHVlc1tlXT1lO3MuZGljdGlvbmFyeUxlbmd0aHNbZV09MX10aGlzLmx6d1N0YXRlPXN9cmVhZEJpdHMoZSl7bGV0IHQ9dGhpcy5iaXRzQ2FjaGVkLGk9dGhpcy5jYWNoZWREYXRhO2Zvcig7dDxlOyl7Y29uc3QgZT10aGlzLnN0ci5nZXRCeXRlKCk7aWYoLTE9PT1lKXt0aGlzLmVvZj0hMDtyZXR1cm4gbnVsbH1pPWk8PDh8ZTt0Kz04fXRoaXMuYml0c0NhY2hlZD10LT1lO3RoaXMuY2FjaGVkRGF0YT1pO3RoaXMubGFzdENvZGU9bnVsbDtyZXR1cm4gaT4+PnQmKDE8PGUpLTF9cmVhZEJsb2NrKCl7bGV0IGUsdCxpLGE9MTAyNDtjb25zdCBzPXRoaXMubHp3U3RhdGU7aWYoIXMpcmV0dXJuO2NvbnN0IHI9cy5lYXJseUNoYW5nZTtsZXQgbj1zLm5leHRDb2RlO2NvbnN0IGc9cy5kaWN0aW9uYXJ5VmFsdWVzLG89cy5kaWN0aW9uYXJ5TGVuZ3RocyxjPXMuZGljdGlvbmFyeVByZXZDb2RlcztsZXQgQz1zLmNvZGVMZW5ndGgsaD1zLnByZXZDb2RlO2NvbnN0IGw9cy5jdXJyZW50U2VxdWVuY2U7bGV0IFE9cy5jdXJyZW50U2VxdWVuY2VMZW5ndGgsRT0wLHU9dGhpcy5idWZmZXJMZW5ndGgsZD10aGlzLmVuc3VyZUJ1ZmZlcih0aGlzLmJ1ZmZlckxlbmd0aCthKTtmb3IoZT0wO2U8NTEyO2UrKyl7Y29uc3QgZT10aGlzLnJlYWRCaXRzKEMpLHM9UT4wO2lmKGU8MjU2KXtsWzBdPWU7UT0xfWVsc2V7aWYoIShlPj0yNTgpKXtpZigyNTY9PT1lKXtDPTk7bj0yNTg7UT0wO2NvbnRpbnVlfXRoaXMuZW9mPSEwO2RlbGV0ZSB0aGlzLmx6d1N0YXRlO2JyZWFrfWlmKGU8bil7UT1vW2VdO2Zvcih0PVEtMSxpPWU7dD49MDt0LS0pe2xbdF09Z1tpXTtpPWNbaV19fWVsc2UgbFtRKytdPWxbMF19aWYocyl7Y1tuXT1oO29bbl09b1toXSsxO2dbbl09bFswXTtuKys7Qz1uK3ImbityLTE/QzowfE1hdGgubWluKE1hdGgubG9nKG4rcikvLjY5MzE0NzE4MDU1OTk0NTMrMSwxMil9aD1lO0UrPVE7aWYoYTxFKXtkb3thKz01MTJ9d2hpbGUoYTxFKTtkPXRoaXMuZW5zdXJlQnVmZmVyKHRoaXMuYnVmZmVyTGVuZ3RoK2EpfWZvcih0PTA7dDxRO3QrKylkW3UrK109bFt0XX1zLm5leHRDb2RlPW47cy5jb2RlTGVuZ3RoPUM7cy5wcmV2Q29kZT1oO3MuY3VycmVudFNlcXVlbmNlTGVuZ3RoPVE7dGhpcy5idWZmZXJMZW5ndGg9dX19Y2xhc3MgUHJlZGljdG9yU3RyZWFtIGV4dGVuZHMgRGVjb2RlU3RyZWFte2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcih0KTtpZighKGkgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gZTtjb25zdCBhPXRoaXMucHJlZGljdG9yPWkuZ2V0KCJQcmVkaWN0b3IiKXx8MTtpZihhPD0xKXJldHVybiBlO2lmKDIhPT1hJiYoYTwxMHx8YT4xNSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbnN1cHBvcnRlZCBwcmVkaWN0b3I6ICR7YX1gKTt0aGlzLnJlYWRCbG9jaz0yPT09YT90aGlzLnJlYWRCbG9ja1RpZmY6dGhpcy5yZWFkQmxvY2tQbmc7dGhpcy5zdHI9ZTt0aGlzLmRpY3Q9ZS5kaWN0O2NvbnN0IHM9dGhpcy5jb2xvcnM9aS5nZXQoIkNvbG9ycyIpfHwxLHI9dGhpcy5iaXRzPWkuZ2V0KCJCUEMiLCJCaXRzUGVyQ29tcG9uZW50Iil8fDgsbj10aGlzLmNvbHVtbnM9aS5nZXQoIkNvbHVtbnMiKXx8MTt0aGlzLnBpeEJ5dGVzPXMqcis3Pj4zO3RoaXMucm93Qnl0ZXM9bipzKnIrNz4+MztyZXR1cm4gdGhpc31yZWFkQmxvY2tUaWZmKCl7Y29uc3QgZT10aGlzLnJvd0J5dGVzLHQ9dGhpcy5idWZmZXJMZW5ndGgsaT10aGlzLmVuc3VyZUJ1ZmZlcih0K2UpLGE9dGhpcy5iaXRzLHM9dGhpcy5jb2xvcnMscj10aGlzLnN0ci5nZXRCeXRlcyhlKTt0aGlzLmVvZj0hci5sZW5ndGg7aWYodGhpcy5lb2YpcmV0dXJuO2xldCBuLGc9MCxvPTAsYz0wLEM9MCxoPXQ7aWYoMT09PWEmJjE9PT1zKWZvcihuPTA7bjxlOysrbil7bGV0IGU9cltuXV5nO2VePWU+PjE7ZV49ZT4+MjtlXj1lPj40O2c9KDEmZSk8PDc7aVtoKytdPWV9ZWxzZSBpZig4PT09YSl7Zm9yKG49MDtuPHM7KytuKWlbaCsrXT1yW25dO2Zvcig7bjxlOysrbil7aVtoXT1pW2gtc10rcltuXTtoKyt9fWVsc2UgaWYoMTY9PT1hKXtjb25zdCB0PTIqcztmb3Iobj0wO248dDsrK24paVtoKytdPXJbbl07Zm9yKDtuPGU7bis9Mil7Y29uc3QgZT0oKDI1NSZyW25dKTw8OCkrKDI1NSZyW24rMV0pKygoMjU1JmlbaC10XSk8PDgpKygyNTUmaVtoLXQrMV0pO2lbaCsrXT1lPj44JjI1NTtpW2grK109MjU1JmV9fWVsc2V7Y29uc3QgZT1uZXcgVWludDhBcnJheShzKzEpLGg9KDE8PGEpLTE7bGV0IGw9MCxRPXQ7Y29uc3QgRT10aGlzLmNvbHVtbnM7Zm9yKG49MDtuPEU7KytuKWZvcihsZXQgdD0wO3Q8czsrK3Qpe2lmKGM8YSl7Zz1nPDw4fDI1NSZyW2wrK107Yys9OH1lW3RdPWVbdF0rKGc+PmMtYSkmaDtjLT1hO289bzw8YXxlW3RdO0MrPWE7aWYoQz49OCl7aVtRKytdPW8+PkMtOCYyNTU7Qy09OH19Qz4wJiYoaVtRKytdPShvPDw4LUMpKyhnJigxPDw4LUMpLTEpKX10aGlzLmJ1ZmZlckxlbmd0aCs9ZX1yZWFkQmxvY2tQbmcoKXtjb25zdCBlPXRoaXMucm93Qnl0ZXMsdD10aGlzLnBpeEJ5dGVzLGk9dGhpcy5zdHIuZ2V0Qnl0ZSgpLGE9dGhpcy5zdHIuZ2V0Qnl0ZXMoZSk7dGhpcy5lb2Y9IWEubGVuZ3RoO2lmKHRoaXMuZW9mKXJldHVybjtjb25zdCBzPXRoaXMuYnVmZmVyTGVuZ3RoLHI9dGhpcy5lbnN1cmVCdWZmZXIocytlKTtsZXQgbj1yLnN1YmFycmF5KHMtZSxzKTswPT09bi5sZW5ndGgmJihuPW5ldyBVaW50OEFycmF5KGUpKTtsZXQgZyxvLGMsQz1zO3N3aXRjaChpKXtjYXNlIDA6Zm9yKGc9MDtnPGU7KytnKXJbQysrXT1hW2ddO2JyZWFrO2Nhc2UgMTpmb3IoZz0wO2c8dDsrK2cpcltDKytdPWFbZ107Zm9yKDtnPGU7KytnKXtyW0NdPXJbQy10XSthW2ddJjI1NTtDKyt9YnJlYWs7Y2FzZSAyOmZvcihnPTA7ZzxlOysrZylyW0MrK109bltnXSthW2ddJjI1NTticmVhaztjYXNlIDM6Zm9yKGc9MDtnPHQ7KytnKXJbQysrXT0obltnXT4+MSkrYVtnXTtmb3IoO2c8ZTsrK2cpe3JbQ109KG5bZ10rcltDLXRdPj4xKSthW2ddJjI1NTtDKyt9YnJlYWs7Y2FzZSA0OmZvcihnPTA7Zzx0OysrZyl7bz1uW2ddO2M9YVtnXTtyW0MrK109bytjfWZvcig7ZzxlOysrZyl7bz1uW2ddO2NvbnN0IGU9bltnLXRdLGk9cltDLXRdLHM9aStvLWU7bGV0IGg9cy1pO2g8MCYmKGg9LWgpO2xldCBsPXMtbztsPDAmJihsPS1sKTtsZXQgUT1zLWU7UTwwJiYoUT0tUSk7Yz1hW2ddO3JbQysrXT1oPD1sJiZoPD1RP2krYzpsPD1RP28rYzplK2N9YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVuc3VwcG9ydGVkIHByZWRpY3RvcjogJHtpfWApfXRoaXMuYnVmZmVyTGVuZ3RoKz1lfX1jbGFzcyBSdW5MZW5ndGhTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0KXtzdXBlcih0KTt0aGlzLnN0cj1lO3RoaXMuZGljdD1lLmRpY3R9cmVhZEJsb2NrKCl7Y29uc3QgZT10aGlzLnN0ci5nZXRCeXRlcygyKTtpZighZXx8ZS5sZW5ndGg8Mnx8MTI4PT09ZVswXSl7dGhpcy5lb2Y9ITA7cmV0dXJufWxldCB0LGk9dGhpcy5idWZmZXJMZW5ndGgsYT1lWzBdO2lmKGE8MTI4KXt0PXRoaXMuZW5zdXJlQnVmZmVyKGkrYSsxKTt0W2krK109ZVsxXTtpZihhPjApe2NvbnN0IGU9dGhpcy5zdHIuZ2V0Qnl0ZXMoYSk7dC5zZXQoZSxpKTtpKz1hfX1lbHNle2E9MjU3LWE7Y29uc3Qgcz1lWzFdO3Q9dGhpcy5lbnN1cmVCdWZmZXIoaSthKzEpO2ZvcihsZXQgZT0wO2U8YTtlKyspdFtpKytdPXN9dGhpcy5idWZmZXJMZW5ndGg9aX19Y2xhc3MgUGFyc2Vye2NvbnN0cnVjdG9yKHtsZXhlcjplLHhyZWY6dCxhbGxvd1N0cmVhbXM6aT0hMSxyZWNvdmVyeU1vZGU6YT0hMX0pe3RoaXMubGV4ZXI9ZTt0aGlzLnhyZWY9dDt0aGlzLmFsbG93U3RyZWFtcz1pO3RoaXMucmVjb3ZlcnlNb2RlPWE7dGhpcy5pbWFnZUNhY2hlPU9iamVjdC5jcmVhdGUobnVsbCk7dGhpcy5faW1hZ2VJZD0wO3RoaXMucmVmaWxsKCl9cmVmaWxsKCl7dGhpcy5idWYxPXRoaXMubGV4ZXIuZ2V0T2JqKCk7dGhpcy5idWYyPXRoaXMubGV4ZXIuZ2V0T2JqKCl9c2hpZnQoKXtpZih0aGlzLmJ1ZjIgaW5zdGFuY2VvZiBDbWQmJiJJRCI9PT10aGlzLmJ1ZjIuY21kKXt0aGlzLmJ1ZjE9dGhpcy5idWYyO3RoaXMuYnVmMj1udWxsfWVsc2V7dGhpcy5idWYxPXRoaXMuYnVmMjt0aGlzLmJ1ZjI9dGhpcy5sZXhlci5nZXRPYmooKX19dHJ5U2hpZnQoKXt0cnl7dGhpcy5zaGlmdCgpO3JldHVybiEwfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3JldHVybiExfX1nZXRPYmooZT1udWxsKXtjb25zdCB0PXRoaXMuYnVmMTt0aGlzLnNoaWZ0KCk7aWYodCBpbnN0YW5jZW9mIENtZClzd2l0Y2godC5jbWQpe2Nhc2UiQkkiOnJldHVybiB0aGlzLm1ha2VJbmxpbmVJbWFnZShlKTtjYXNlIlsiOmNvbnN0IGk9W107Zm9yKDshaXNDbWQodGhpcy5idWYxLCJdIikmJnRoaXMuYnVmMSE9PXd0OylpLnB1c2godGhpcy5nZXRPYmooZSkpO2lmKHRoaXMuYnVmMT09PXd0KXtpZih0aGlzLnJlY292ZXJ5TW9kZSlyZXR1cm4gaTt0aHJvdyBuZXcgUGFyc2VyRU9GRXhjZXB0aW9uKCJFbmQgb2YgZmlsZSBpbnNpZGUgYXJyYXkuIil9dGhpcy5zaGlmdCgpO3JldHVybiBpO2Nhc2UiPDwiOmNvbnN0IGE9bmV3IERpY3QodGhpcy54cmVmKTtmb3IoOyFpc0NtZCh0aGlzLmJ1ZjEsIj4+IikmJnRoaXMuYnVmMSE9PXd0Oyl7aWYoISh0aGlzLmJ1ZjEgaW5zdGFuY2VvZiBOYW1lKSl7aW5mbygiTWFsZm9ybWVkIGRpY3Rpb25hcnk6IGtleSBtdXN0IGJlIGEgbmFtZSBvYmplY3QiKTt0aGlzLnNoaWZ0KCk7Y29udGludWV9Y29uc3QgdD10aGlzLmJ1ZjEubmFtZTt0aGlzLnNoaWZ0KCk7aWYodGhpcy5idWYxPT09d3QpYnJlYWs7YS5zZXQodCx0aGlzLmdldE9iaihlKSl9aWYodGhpcy5idWYxPT09d3Qpe2lmKHRoaXMucmVjb3ZlcnlNb2RlKXJldHVybiBhO3Rocm93IG5ldyBQYXJzZXJFT0ZFeGNlcHRpb24oIkVuZCBvZiBmaWxlIGluc2lkZSBkaWN0aW9uYXJ5LiIpfWlmKGlzQ21kKHRoaXMuYnVmMiwic3RyZWFtIikpcmV0dXJuIHRoaXMuYWxsb3dTdHJlYW1zP3RoaXMubWFrZVN0cmVhbShhLGUpOmE7dGhpcy5zaGlmdCgpO3JldHVybiBhO2RlZmF1bHQ6cmV0dXJuIHR9aWYoTnVtYmVyLmlzSW50ZWdlcih0KSl7aWYoTnVtYmVyLmlzSW50ZWdlcih0aGlzLmJ1ZjEpJiZpc0NtZCh0aGlzLmJ1ZjIsIlIiKSl7Y29uc3QgZT1SZWYuZ2V0KHQsdGhpcy5idWYxKTt0aGlzLnNoaWZ0KCk7dGhpcy5zaGlmdCgpO3JldHVybiBlfXJldHVybiB0fXJldHVybiJzdHJpbmciPT10eXBlb2YgdCYmZT9lLmRlY3J5cHRTdHJpbmcodCk6dH1maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChlKXtjb25zdHtrbm93bkNvbW1hbmRzOnR9PXRoaXMubGV4ZXIsaT1lLnBvcztsZXQgYSxzLHI9MDtmb3IoOy0xIT09KGE9ZS5nZXRCeXRlKCkpOylpZigwPT09cilyPTY5PT09YT8xOjA7ZWxzZSBpZigxPT09cilyPTczPT09YT8yOjA7ZWxzZSBpZigzMj09PWF8fDEwPT09YXx8MTM9PT1hKXtzPWUucG9zO2NvbnN0IGk9ZS5wZWVrQnl0ZXMoMTUpLG49aS5sZW5ndGg7aWYoMD09PW4pYnJlYWs7Zm9yKGxldCBlPTA7ZTxuO2UrKyl7YT1pW2VdO2lmKCgwIT09YXx8MD09PWlbZSsxXSkmJigxMCE9PWEmJjEzIT09YSYmKGE8MzJ8fGE+MTI3KSkpe3I9MDticmVha319aWYoMiE9PXIpY29udGludWU7aWYoIXQpe3dhcm4oImZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kIC0gYGxleGVyLmtub3duQ29tbWFuZHNgIGlzIHVuZGVmaW5lZC4iKTtjb250aW51ZX1jb25zdCBnPW5ldyBMZXhlcihuZXcgU3RyZWFtKGkuc2xpY2UoKSksdCk7Zy5faGV4U3RyaW5nV2Fybj0oKT0+e307bGV0IG89MDtmb3IoOzspe2NvbnN0IGU9Zy5nZXRPYmooKTtpZihlPT09d3Qpe3I9MDticmVha31pZihlIGluc3RhbmNlb2YgQ21kKXtjb25zdCBpPXRbZS5jbWRdO2lmKCFpKXtyPTA7YnJlYWt9aWYoaS52YXJpYWJsZUFyZ3M/bzw9aS5udW1BcmdzOm89PT1pLm51bUFyZ3MpYnJlYWs7bz0wfWVsc2UgbysrfWlmKDI9PT1yKWJyZWFrfWVsc2Ugcj0wO2lmKC0xPT09YSl7d2FybigiZmluZERlZmF1bHRJbmxpbmVTdHJlYW1FbmQ6IFJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgc3RyZWFtIHdpdGhvdXQgZmluZGluZyBhIHZhbGlkIEVJIG1hcmtlciIpO2lmKHMpe3dhcm4oJy4uLiB0cnlpbmcgdG8gcmVjb3ZlciBieSB1c2luZyB0aGUgbGFzdCAiRUkiIG9jY3VycmVuY2UuJyk7ZS5za2lwKC0oZS5wb3MtcykpfX1sZXQgbj00O2Uuc2tpcCgtbik7YT1lLnBlZWtCeXRlKCk7ZS5za2lwKG4pO2lzV2hpdGVTcGFjZShhKXx8bi0tO3JldHVybiBlLnBvcy1uLWl9ZmluZERDVERlY29kZUlubGluZVN0cmVhbUVuZChlKXtjb25zdCB0PWUucG9zO2xldCBpLGEscz0hMTtmb3IoOy0xIT09KGk9ZS5nZXRCeXRlKCkpOylpZigyNTU9PT1pKXtzd2l0Y2goZS5nZXRCeXRlKCkpe2Nhc2UgMDpicmVhaztjYXNlIDI1NTplLnNraXAoLTEpO2JyZWFrO2Nhc2UgMjE3OnM9ITA7YnJlYWs7Y2FzZSAxOTI6Y2FzZSAxOTM6Y2FzZSAxOTQ6Y2FzZSAxOTU6Y2FzZSAxOTc6Y2FzZSAxOTg6Y2FzZSAxOTk6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDM6Y2FzZSAyMDU6Y2FzZSAyMDY6Y2FzZSAyMDc6Y2FzZSAxOTY6Y2FzZSAyMDQ6Y2FzZSAyMTg6Y2FzZSAyMTk6Y2FzZSAyMjA6Y2FzZSAyMjE6Y2FzZSAyMjI6Y2FzZSAyMjM6Y2FzZSAyMjQ6Y2FzZSAyMjU6Y2FzZSAyMjY6Y2FzZSAyMjc6Y2FzZSAyMjg6Y2FzZSAyMjk6Y2FzZSAyMzA6Y2FzZSAyMzE6Y2FzZSAyMzI6Y2FzZSAyMzM6Y2FzZSAyMzQ6Y2FzZSAyMzU6Y2FzZSAyMzY6Y2FzZSAyMzc6Y2FzZSAyMzg6Y2FzZSAyMzk6Y2FzZSAyNTQ6YT1lLmdldFVpbnQxNigpO2E+Mj9lLnNraXAoYS0yKTplLnNraXAoLTIpfWlmKHMpYnJlYWt9Y29uc3Qgcj1lLnBvcy10O2lmKC0xPT09aSl7d2FybigiSW5saW5lIERDVERlY29kZSBpbWFnZSBzdHJlYW06IEVPSSBtYXJrZXIgbm90IGZvdW5kLCBzZWFyY2hpbmcgZm9yIC9FSS8gaW5zdGVhZC4iKTtlLnNraXAoLXIpO3JldHVybiB0aGlzLmZpbmREZWZhdWx0SW5saW5lU3RyZWFtRW5kKGUpfXRoaXMuaW5saW5lU3RyZWFtU2tpcEVJKGUpO3JldHVybiByfWZpbmRBU0NJSTg1RGVjb2RlSW5saW5lU3RyZWFtRW5kKGUpe2NvbnN0IHQ9ZS5wb3M7bGV0IGk7Zm9yKDstMSE9PShpPWUuZ2V0Qnl0ZSgpKTspaWYoMTI2PT09aSl7Y29uc3QgdD1lLnBvcztpPWUucGVla0J5dGUoKTtmb3IoO2lzV2hpdGVTcGFjZShpKTspe2Uuc2tpcCgpO2k9ZS5wZWVrQnl0ZSgpfWlmKDYyPT09aSl7ZS5za2lwKCk7YnJlYWt9aWYoZS5wb3M+dCl7Y29uc3QgdD1lLnBlZWtCeXRlcygyKTtpZig2OT09PXRbMF0mJjczPT09dFsxXSlicmVha319Y29uc3QgYT1lLnBvcy10O2lmKC0xPT09aSl7d2FybigiSW5saW5lIEFTQ0lJODVEZWNvZGUgaW1hZ2Ugc3RyZWFtOiBFT0QgbWFya2VyIG5vdCBmb3VuZCwgc2VhcmNoaW5nIGZvciAvRUkvIGluc3RlYWQuIik7ZS5za2lwKC1hKTtyZXR1cm4gdGhpcy5maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChlKX10aGlzLmlubGluZVN0cmVhbVNraXBFSShlKTtyZXR1cm4gYX1maW5kQVNDSUlIZXhEZWNvZGVJbmxpbmVTdHJlYW1FbmQoZSl7Y29uc3QgdD1lLnBvcztsZXQgaTtmb3IoOy0xIT09KGk9ZS5nZXRCeXRlKCkpJiY2MiE9PWk7KTtjb25zdCBhPWUucG9zLXQ7aWYoLTE9PT1pKXt3YXJuKCJJbmxpbmUgQVNDSUlIZXhEZWNvZGUgaW1hZ2Ugc3RyZWFtOiBFT0QgbWFya2VyIG5vdCBmb3VuZCwgc2VhcmNoaW5nIGZvciAvRUkvIGluc3RlYWQuIik7ZS5za2lwKC1hKTtyZXR1cm4gdGhpcy5maW5kRGVmYXVsdElubGluZVN0cmVhbUVuZChlKX10aGlzLmlubGluZVN0cmVhbVNraXBFSShlKTtyZXR1cm4gYX1pbmxpbmVTdHJlYW1Ta2lwRUkoZSl7bGV0IHQsaT0wO2Zvcig7LTEhPT0odD1lLmdldEJ5dGUoKSk7KWlmKDA9PT1pKWk9Njk9PT10PzE6MDtlbHNlIGlmKDE9PT1pKWk9NzM9PT10PzI6MDtlbHNlIGlmKDI9PT1pKWJyZWFrfW1ha2VJbmxpbmVJbWFnZShlKXtjb25zdCB0PXRoaXMubGV4ZXIsaT10LnN0cmVhbSxhPU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IHM7Zm9yKDshaXNDbWQodGhpcy5idWYxLCJJRCIpJiZ0aGlzLmJ1ZjEhPT13dDspe2lmKCEodGhpcy5idWYxIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJEaWN0aW9uYXJ5IGtleSBtdXN0IGJlIGEgbmFtZSBvYmplY3QiKTtjb25zdCB0PXRoaXMuYnVmMS5uYW1lO3RoaXMuc2hpZnQoKTtpZih0aGlzLmJ1ZjE9PT13dClicmVhazthW3RdPXRoaXMuZ2V0T2JqKGUpfS0xIT09dC5iZWdpbklubGluZUltYWdlUG9zJiYocz1pLnBvcy10LmJlZ2luSW5saW5lSW1hZ2VQb3MpO2NvbnN0IHI9dGhpcy54cmVmLmZldGNoSWZSZWYoYS5GfHxhLkZpbHRlcik7bGV0IG47aWYociBpbnN0YW5jZW9mIE5hbWUpbj1yLm5hbWU7ZWxzZSBpZihBcnJheS5pc0FycmF5KHIpKXtjb25zdCBlPXRoaXMueHJlZi5mZXRjaElmUmVmKHJbMF0pO2UgaW5zdGFuY2VvZiBOYW1lJiYobj1lLm5hbWUpfWNvbnN0IGc9aS5wb3M7bGV0IG8sYztzd2l0Y2gobil7Y2FzZSJEQ1QiOmNhc2UiRENURGVjb2RlIjpvPXRoaXMuZmluZERDVERlY29kZUlubGluZVN0cmVhbUVuZChpKTticmVhaztjYXNlIkE4NSI6Y2FzZSJBU0NJSTg1RGVjb2RlIjpvPXRoaXMuZmluZEFTQ0lJODVEZWNvZGVJbmxpbmVTdHJlYW1FbmQoaSk7YnJlYWs7Y2FzZSJBSHgiOmNhc2UiQVNDSUlIZXhEZWNvZGUiOm89dGhpcy5maW5kQVNDSUlIZXhEZWNvZGVJbmxpbmVTdHJlYW1FbmQoaSk7YnJlYWs7ZGVmYXVsdDpvPXRoaXMuZmluZERlZmF1bHRJbmxpbmVTdHJlYW1FbmQoaSl9aWYobzwxZTMmJnM+MCl7Y29uc3QgZT1pLnBvcztpLnBvcz10LmJlZ2luSW5saW5lSW1hZ2VQb3M7Yz1mdW5jdGlvbiBnZXRJbmxpbmVJbWFnZUNhY2hlS2V5KGUpe2NvbnN0IHQ9W10saT1lLmxlbmd0aDtsZXQgYT0wO2Zvcig7YTxpLTE7KXQucHVzaChlW2ErK108PDh8ZVthKytdKTthPGkmJnQucHVzaChlW2FdKTtyZXR1cm4gaSsiXyIrU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLHQpfShpLmdldEJ5dGVzKHMrbykpO2kucG9zPWU7Y29uc3QgYT10aGlzLmltYWdlQ2FjaGVbY107aWYodm9pZCAwIT09YSl7dGhpcy5idWYyPUNtZC5nZXQoIkVJIik7dGhpcy5zaGlmdCgpO2EucmVzZXQoKTtyZXR1cm4gYX19Y29uc3QgQz1uZXcgRGljdCh0aGlzLnhyZWYpO2Zvcihjb25zdCBlIGluIGEpQy5zZXQoZSxhW2VdKTtsZXQgaD1pLm1ha2VTdWJTdHJlYW0oZyxvLEMpO2UmJihoPWUuY3JlYXRlU3RyZWFtKGgsbykpO2g9dGhpcy5maWx0ZXIoaCxDLG8pO2guZGljdD1DO2lmKHZvaWQgMCE9PWMpe2guY2FjaGVLZXk9ImlubGluZV9pbWdfIisgKyt0aGlzLl9pbWFnZUlkO3RoaXMuaW1hZ2VDYWNoZVtjXT1ofXRoaXMuYnVmMj1DbWQuZ2V0KCJFSSIpO3RoaXMuc2hpZnQoKTtyZXR1cm4gaH0jdyhlKXtjb25zdHtzdHJlYW06dH09dGhpcy5sZXhlcjt0LnBvcz1lO2NvbnN0IGk9bmV3IFVpbnQ4QXJyYXkoWzEwMSwxMTAsMTAwXSksYT1pLmxlbmd0aCxzPVtuZXcgVWludDhBcnJheShbMTE1LDExNiwxMTQsMTAxLDk3LDEwOV0pLG5ldyBVaW50OEFycmF5KFsxMTUsMTE2LDEwMSw5NywxMDldKSxuZXcgVWludDhBcnJheShbMTE1LDExNiwxMTQsMTAxLDk3XSldLHI9OS1hO2Zvcig7dC5wb3M8dC5lbmQ7KXtjb25zdCBuPXQucGVla0J5dGVzKDIwNDgpLGc9bi5sZW5ndGgtOTtpZihnPD0wKWJyZWFrO2xldCBvPTA7Zm9yKDtvPGc7KXtsZXQgZz0wO2Zvcig7ZzxhJiZuW28rZ109PT1pW2ddOylnKys7aWYoZz49YSl7bGV0IGE9ITE7Zm9yKGNvbnN0IGUgb2Ygcyl7Y29uc3QgdD1lLmxlbmd0aDtsZXQgcz0wO2Zvcig7czx0JiZuW28rZytzXT09PWVbc107KXMrKztpZihzPj1yKXthPSEwO2JyZWFrfWlmKHM+PXQpe2lmKGlzV2hpdGVTcGFjZShuW28rZytzXSkpe2luZm8oYEZvdW5kICIke2J5dGVzVG9TdHJpbmcoWy4uLmksLi4uZV0pfSIgd2hlbiBzZWFyY2hpbmcgZm9yIGVuZHN0cmVhbSBjb21tYW5kLmApO2E9ITB9YnJlYWt9fWlmKGEpe3QucG9zKz1vO3JldHVybiB0LnBvcy1lfX1vKyt9dC5wb3MrPWd9cmV0dXJuLTF9bWFrZVN0cmVhbShlLHQpe2NvbnN0IGk9dGhpcy5sZXhlcjtsZXQgYT1pLnN0cmVhbTtpLnNraXBUb05leHRMaW5lKCk7Y29uc3Qgcz1hLnBvcy0xO2xldCByPWUuZ2V0KCJMZW5ndGgiKTtpZighTnVtYmVyLmlzSW50ZWdlcihyKSl7aW5mbyhgQmFkIGxlbmd0aCAiJHtyJiZyLnRvU3RyaW5nKCl9IiBpbiBzdHJlYW0uYCk7cj0wfWEucG9zPXMrcjtpLm5leHRDaGFyKCk7aWYodGhpcy50cnlTaGlmdCgpJiZpc0NtZCh0aGlzLmJ1ZjIsImVuZHN0cmVhbSIpKXRoaXMuc2hpZnQoKTtlbHNle3I9dGhpcy4jdyhzKTtpZihyPDApdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJNaXNzaW5nIGVuZHN0cmVhbSBjb21tYW5kLiIpO2kubmV4dENoYXIoKTt0aGlzLnNoaWZ0KCk7dGhpcy5zaGlmdCgpfXRoaXMuc2hpZnQoKTthPWEubWFrZVN1YlN0cmVhbShzLHIsZSk7dCYmKGE9dC5jcmVhdGVTdHJlYW0oYSxyKSk7YT10aGlzLmZpbHRlcihhLGUscik7YS5kaWN0PWU7cmV0dXJuIGF9ZmlsdGVyKGUsdCxpKXtsZXQgYT10LmdldCgiRiIsIkZpbHRlciIpLHM9dC5nZXQoIkRQIiwiRGVjb2RlUGFybXMiKTtpZihhIGluc3RhbmNlb2YgTmFtZSl7QXJyYXkuaXNBcnJheShzKSYmd2FybigiL0RlY29kZVBhcm1zIHNob3VsZCBub3QgYmUgYW4gQXJyYXksIHdoZW4gL0ZpbHRlciBpcyBhIE5hbWUuIik7cmV0dXJuIHRoaXMubWFrZUZpbHRlcihlLGEubmFtZSxpLHMpfWxldCByPWk7aWYoQXJyYXkuaXNBcnJheShhKSl7Y29uc3QgdD1hLGk9cztmb3IobGV0IG49MCxnPXQubGVuZ3RoO248ZzsrK24pe2E9dGhpcy54cmVmLmZldGNoSWZSZWYodFtuXSk7aWYoIShhIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBCYWQgZmlsdGVyIG5hbWUgIiR7YX0iYCk7cz1udWxsO0FycmF5LmlzQXJyYXkoaSkmJm4gaW4gaSYmKHM9dGhpcy54cmVmLmZldGNoSWZSZWYoaVtuXSkpO2U9dGhpcy5tYWtlRmlsdGVyKGUsYS5uYW1lLHIscyk7cj1udWxsfX1yZXR1cm4gZX1tYWtlRmlsdGVyKGUsdCxpLGEpe2lmKDA9PT1pKXt3YXJuKGBFbXB0eSAiJHt0fSIgc3RyZWFtLmApO3JldHVybiBuZXcgTnVsbFN0cmVhbX10cnl7c3dpdGNoKHQpe2Nhc2UiRmwiOmNhc2UiRmxhdGVEZWNvZGUiOnJldHVybiBhP25ldyBQcmVkaWN0b3JTdHJlYW0obmV3IEZsYXRlU3RyZWFtKGUsaSksaSxhKTpuZXcgRmxhdGVTdHJlYW0oZSxpKTtjYXNlIkxaVyI6Y2FzZSJMWldEZWNvZGUiOmxldCB0PTE7aWYoYSl7YS5oYXMoIkVhcmx5Q2hhbmdlIikmJih0PWEuZ2V0KCJFYXJseUNoYW5nZSIpKTtyZXR1cm4gbmV3IFByZWRpY3RvclN0cmVhbShuZXcgTFpXU3RyZWFtKGUsaSx0KSxpLGEpfXJldHVybiBuZXcgTFpXU3RyZWFtKGUsaSx0KTtjYXNlIkRDVCI6Y2FzZSJEQ1REZWNvZGUiOnJldHVybiBuZXcgSnBlZ1N0cmVhbShlLGksYSk7Y2FzZSJKUFgiOmNhc2UiSlBYRGVjb2RlIjpyZXR1cm4gbmV3IEpweFN0cmVhbShlLGksYSk7Y2FzZSJBODUiOmNhc2UiQVNDSUk4NURlY29kZSI6cmV0dXJuIG5ldyBBc2NpaTg1U3RyZWFtKGUsaSk7Y2FzZSJBSHgiOmNhc2UiQVNDSUlIZXhEZWNvZGUiOnJldHVybiBuZXcgQXNjaWlIZXhTdHJlYW0oZSxpKTtjYXNlIkNDRiI6Y2FzZSJDQ0lUVEZheERlY29kZSI6cmV0dXJuIG5ldyBDQ0lUVEZheFN0cmVhbShlLGksYSk7Y2FzZSJSTCI6Y2FzZSJSdW5MZW5ndGhEZWNvZGUiOnJldHVybiBuZXcgUnVuTGVuZ3RoU3RyZWFtKGUsaSk7Y2FzZSJKQklHMkRlY29kZSI6cmV0dXJuIG5ldyBKYmlnMlN0cmVhbShlLGksYSl9d2FybihgRmlsdGVyICIke3R9IiBpcyBub3Qgc3VwcG9ydGVkLmApO3JldHVybiBlfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oYEludmFsaWQgc3RyZWFtOiAiJHtlfSJgKTtyZXR1cm4gbmV3IE51bGxTdHJlYW19fX1jb25zdCBCaT1bMSwwLDAsMCwwLDAsMCwwLDAsMSwxLDAsMSwxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwyLDAsMCwyLDIsMCwwLDAsMCwwLDIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwwLDIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDAsMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwwLDIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF07ZnVuY3Rpb24gdG9IZXhEaWdpdChlKXtyZXR1cm4gZT49NDgmJmU8PTU3PzE1JmU6ZT49NjUmJmU8PTcwfHxlPj05NyYmZTw9MTAyPzkrKDE1JmUpOi0xfWNsYXNzIExleGVye2NvbnN0cnVjdG9yKGUsdD1udWxsKXt0aGlzLnN0cmVhbT1lO3RoaXMubmV4dENoYXIoKTt0aGlzLnN0ckJ1Zj1bXTt0aGlzLmtub3duQ29tbWFuZHM9dDt0aGlzLl9oZXhTdHJpbmdOdW1XYXJuPTA7dGhpcy5iZWdpbklubGluZUltYWdlUG9zPS0xfW5leHRDaGFyKCl7cmV0dXJuIHRoaXMuY3VycmVudENoYXI9dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpfXBlZWtDaGFyKCl7cmV0dXJuIHRoaXMuc3RyZWFtLnBlZWtCeXRlKCl9Z2V0TnVtYmVyKCl7bGV0IGU9dGhpcy5jdXJyZW50Q2hhcix0PSExLGk9MCxhPTE7aWYoNDU9PT1lKXthPS0xO2U9dGhpcy5uZXh0Q2hhcigpOzQ1PT09ZSYmKGU9dGhpcy5uZXh0Q2hhcigpKX1lbHNlIDQzPT09ZSYmKGU9dGhpcy5uZXh0Q2hhcigpKTtpZigxMD09PWV8fDEzPT09ZSlkb3tlPXRoaXMubmV4dENoYXIoKX13aGlsZSgxMD09PWV8fDEzPT09ZSk7aWYoNDY9PT1lKXtpPTEwO2U9dGhpcy5uZXh0Q2hhcigpfWlmKGU8NDh8fGU+NTcpe2NvbnN0IHQ9YEludmFsaWQgbnVtYmVyOiAke1N0cmluZy5mcm9tQ2hhckNvZGUoZSl9IChjaGFyQ29kZSAke2V9KWA7aWYoaXNXaGl0ZVNwYWNlKGUpfHwtMT09PWUpe2luZm8oYExleGVyLmdldE51bWJlciAtICIke3R9Ii5gKTtyZXR1cm4gMH10aHJvdyBuZXcgRm9ybWF0RXJyb3IodCl9bGV0IHM9ZS00OCxyPTAsbj0xO2Zvcig7KGU9dGhpcy5uZXh0Q2hhcigpKT49MDspaWYoZT49NDgmJmU8PTU3KXtjb25zdCBhPWUtNDg7aWYodClyPTEwKnIrYTtlbHNlezAhPT1pJiYoaSo9MTApO3M9MTAqcythfX1lbHNlIGlmKDQ2PT09ZSl7aWYoMCE9PWkpYnJlYWs7aT0xfWVsc2UgaWYoNDU9PT1lKXdhcm4oIkJhZGx5IGZvcm1hdHRlZCBudW1iZXI6IG1pbnVzIHNpZ24gaW4gdGhlIG1pZGRsZSIpO2Vsc2V7aWYoNjkhPT1lJiYxMDEhPT1lKWJyZWFrO2U9dGhpcy5wZWVrQ2hhcigpO2lmKDQzPT09ZXx8NDU9PT1lKXtuPTQ1PT09ZT8tMToxO3RoaXMubmV4dENoYXIoKX1lbHNlIGlmKGU8NDh8fGU+NTcpYnJlYWs7dD0hMH0wIT09aSYmKHMvPWkpO3QmJihzKj0xMCoqKG4qcikpO3JldHVybiBhKnN9Z2V0U3RyaW5nKCl7bGV0IGU9MSx0PSExO2NvbnN0IGk9dGhpcy5zdHJCdWY7aS5sZW5ndGg9MDtsZXQgYT10aGlzLm5leHRDaGFyKCk7Zm9yKDs7KXtsZXQgcz0hMTtzd2l0Y2goMHxhKXtjYXNlLTE6d2FybigiVW50ZXJtaW5hdGVkIHN0cmluZyIpO3Q9ITA7YnJlYWs7Y2FzZSA0MDorK2U7aS5wdXNoKCIoIik7YnJlYWs7Y2FzZSA0MTppZigwPT0tLWUpe3RoaXMubmV4dENoYXIoKTt0PSEwfWVsc2UgaS5wdXNoKCIpIik7YnJlYWs7Y2FzZSA5MjphPXRoaXMubmV4dENoYXIoKTtzd2l0Y2goYSl7Y2FzZS0xOndhcm4oIlVudGVybWluYXRlZCBzdHJpbmciKTt0PSEwO2JyZWFrO2Nhc2UgMTEwOmkucHVzaCgiXG4iKTticmVhaztjYXNlIDExNDppLnB1c2goIlxyIik7YnJlYWs7Y2FzZSAxMTY6aS5wdXNoKCJcdCIpO2JyZWFrO2Nhc2UgOTg6aS5wdXNoKCJcYiIpO2JyZWFrO2Nhc2UgMTAyOmkucHVzaCgiXGYiKTticmVhaztjYXNlIDkyOmNhc2UgNDA6Y2FzZSA0MTppLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShhKSk7YnJlYWs7Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OmxldCBlPTE1JmE7YT10aGlzLm5leHRDaGFyKCk7cz0hMDtpZihhPj00OCYmYTw9NTUpe2U9KGU8PDMpKygxNSZhKTthPXRoaXMubmV4dENoYXIoKTtpZihhPj00OCYmYTw9NTUpe3M9ITE7ZT0oZTw8MykrKDE1JmEpfX1pLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShlKSk7YnJlYWs7Y2FzZSAxMzoxMD09PXRoaXMucGVla0NoYXIoKSYmdGhpcy5uZXh0Q2hhcigpO2JyZWFrO2Nhc2UgMTA6YnJlYWs7ZGVmYXVsdDppLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShhKSl9YnJlYWs7ZGVmYXVsdDppLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShhKSl9aWYodClicmVhaztzfHwoYT10aGlzLm5leHRDaGFyKCkpfXJldHVybiBpLmpvaW4oIiIpfWdldE5hbWUoKXtsZXQgZSx0O2NvbnN0IGk9dGhpcy5zdHJCdWY7aS5sZW5ndGg9MDtmb3IoOyhlPXRoaXMubmV4dENoYXIoKSk+PTAmJiFCaVtlXTspaWYoMzU9PT1lKXtlPXRoaXMubmV4dENoYXIoKTtpZihCaVtlXSl7d2FybigiTGV4ZXJfZ2V0TmFtZTogTlVNQkVSIFNJR04gKCMpIHNob3VsZCBiZSBmb2xsb3dlZCBieSBhIGhleGFkZWNpbWFsIG51bWJlci4iKTtpLnB1c2goIiMiKTticmVha31jb25zdCBhPXRvSGV4RGlnaXQoZSk7aWYoLTEhPT1hKXt0PWU7ZT10aGlzLm5leHRDaGFyKCk7Y29uc3Qgcz10b0hleERpZ2l0KGUpO2lmKC0xPT09cyl7d2FybihgTGV4ZXJfZ2V0TmFtZTogSWxsZWdhbCBkaWdpdCAoJHtTdHJpbmcuZnJvbUNoYXJDb2RlKGUpfSkgaW4gaGV4YWRlY2ltYWwgbnVtYmVyLmApO2kucHVzaCgiIyIsU3RyaW5nLmZyb21DaGFyQ29kZSh0KSk7aWYoQmlbZV0pYnJlYWs7aS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpO2NvbnRpbnVlfWkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGE8PDR8cykpfWVsc2UgaS5wdXNoKCIjIixTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKX1lbHNlIGkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKTtpLmxlbmd0aD4xMjcmJndhcm4oYE5hbWUgdG9rZW4gaXMgbG9uZ2VyIHRoYW4gYWxsb3dlZCBieSB0aGUgc3BlYzogJHtpLmxlbmd0aH1gKTtyZXR1cm4gTmFtZS5nZXQoaS5qb2luKCIiKSl9X2hleFN0cmluZ1dhcm4oZSl7NSE9dGhpcy5faGV4U3RyaW5nTnVtV2FybisrP3RoaXMuX2hleFN0cmluZ051bVdhcm4+NXx8d2FybihgZ2V0SGV4U3RyaW5nIC0gaWdub3JpbmcgaW52YWxpZCBjaGFyYWN0ZXI6ICR7ZX1gKTp3YXJuKCJnZXRIZXhTdHJpbmcgLSBpZ25vcmluZyBhZGRpdGlvbmFsIGludmFsaWQgY2hhcmFjdGVycy4iKX1nZXRIZXhTdHJpbmcoKXtjb25zdCBlPXRoaXMuc3RyQnVmO2UubGVuZ3RoPTA7bGV0IHQ9dGhpcy5jdXJyZW50Q2hhcixpPS0xLGE9LTE7dGhpcy5faGV4U3RyaW5nTnVtV2Fybj0wO2Zvcig7Oyl7aWYodDwwKXt3YXJuKCJVbnRlcm1pbmF0ZWQgaGV4IHN0cmluZyIpO2JyZWFrfWlmKDYyPT09dCl7dGhpcy5uZXh0Q2hhcigpO2JyZWFrfWlmKDEhPT1CaVt0XSl7YT10b0hleERpZ2l0KHQpO2lmKC0xPT09YSl0aGlzLl9oZXhTdHJpbmdXYXJuKHQpO2Vsc2UgaWYoLTE9PT1pKWk9YTtlbHNle2UucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGk8PDR8YSkpO2k9LTF9dD10aGlzLm5leHRDaGFyKCl9ZWxzZSB0PXRoaXMubmV4dENoYXIoKX0tMSE9PWkmJmUucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGk8PDQpKTtyZXR1cm4gZS5qb2luKCIiKX1nZXRPYmooKXtsZXQgZT0hMSx0PXRoaXMuY3VycmVudENoYXI7Zm9yKDs7KXtpZih0PDApcmV0dXJuIHd0O2lmKGUpMTAhPT10JiYxMyE9PXR8fChlPSExKTtlbHNlIGlmKDM3PT09dCllPSEwO2Vsc2UgaWYoMSE9PUJpW3RdKWJyZWFrO3Q9dGhpcy5uZXh0Q2hhcigpfXN3aXRjaCgwfHQpe2Nhc2UgNDg6Y2FzZSA0OTpjYXNlIDUwOmNhc2UgNTE6Y2FzZSA1MjpjYXNlIDUzOmNhc2UgNTQ6Y2FzZSA1NTpjYXNlIDU2OmNhc2UgNTc6Y2FzZSA0MzpjYXNlIDQ1OmNhc2UgNDY6cmV0dXJuIHRoaXMuZ2V0TnVtYmVyKCk7Y2FzZSA0MDpyZXR1cm4gdGhpcy5nZXRTdHJpbmcoKTtjYXNlIDQ3OnJldHVybiB0aGlzLmdldE5hbWUoKTtjYXNlIDkxOnRoaXMubmV4dENoYXIoKTtyZXR1cm4gQ21kLmdldCgiWyIpO2Nhc2UgOTM6dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KCJdIik7Y2FzZSA2MDp0PXRoaXMubmV4dENoYXIoKTtpZig2MD09PXQpe3RoaXMubmV4dENoYXIoKTtyZXR1cm4gQ21kLmdldCgiPDwiKX1yZXR1cm4gdGhpcy5nZXRIZXhTdHJpbmcoKTtjYXNlIDYyOnQ9dGhpcy5uZXh0Q2hhcigpO2lmKDYyPT09dCl7dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KCI+PiIpfXJldHVybiBDbWQuZ2V0KCI+Iik7Y2FzZSAxMjM6dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KCJ7Iik7Y2FzZSAxMjU6dGhpcy5uZXh0Q2hhcigpO3JldHVybiBDbWQuZ2V0KCJ9Iik7Y2FzZSA0MTp0aGlzLm5leHRDaGFyKCk7dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbGxlZ2FsIGNoYXJhY3RlcjogJHt0fWApfWxldCBpPVN0cmluZy5mcm9tQ2hhckNvZGUodCk7aWYodDwzMnx8dD4xMjcpe2NvbnN0IGU9dGhpcy5wZWVrQ2hhcigpO2lmKGU+PTMyJiZlPD0xMjcpe3RoaXMubmV4dENoYXIoKTtyZXR1cm4gQ21kLmdldChpKX19Y29uc3QgYT10aGlzLmtub3duQ29tbWFuZHM7bGV0IHM9dm9pZCAwIT09YT8uW2ldO2Zvcig7KHQ9dGhpcy5uZXh0Q2hhcigpKT49MCYmIUJpW3RdOyl7Y29uc3QgZT1pK1N0cmluZy5mcm9tQ2hhckNvZGUodCk7aWYocyYmdm9pZCAwPT09YVtlXSlicmVhaztpZigxMjg9PT1pLmxlbmd0aCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYENvbW1hbmQgdG9rZW4gdG9vIGxvbmc6ICR7aS5sZW5ndGh9YCk7aT1lO3M9dm9pZCAwIT09YT8uW2ldfWlmKCJ0cnVlIj09PWkpcmV0dXJuITA7aWYoImZhbHNlIj09PWkpcmV0dXJuITE7aWYoIm51bGwiPT09aSlyZXR1cm4gbnVsbDsiQkkiPT09aSYmKHRoaXMuYmVnaW5JbmxpbmVJbWFnZVBvcz10aGlzLnN0cmVhbS5wb3MpO3JldHVybiBDbWQuZ2V0KGkpfXNraXBUb05leHRMaW5lKCl7bGV0IGU9dGhpcy5jdXJyZW50Q2hhcjtmb3IoO2U+PTA7KXtpZigxMz09PWUpe2U9dGhpcy5uZXh0Q2hhcigpOzEwPT09ZSYmdGhpcy5uZXh0Q2hhcigpO2JyZWFrfWlmKDEwPT09ZSl7dGhpcy5uZXh0Q2hhcigpO2JyZWFrfWU9dGhpcy5uZXh0Q2hhcigpfX19Y2xhc3MgTGluZWFyaXphdGlvbntzdGF0aWMgY3JlYXRlKGUpe2Z1bmN0aW9uIGdldEludChlLHQsaT0hMSl7Y29uc3QgYT1lLmdldCh0KTtpZihOdW1iZXIuaXNJbnRlZ2VyKGEpJiYoaT9hPj0wOmE+MCkpcmV0dXJuIGE7dGhyb3cgbmV3IEVycm9yKGBUaGUgIiR7dH0iIHBhcmFtZXRlciBpbiB0aGUgbGluZWFyaXphdGlvbiBkaWN0aW9uYXJ5IGlzIGludmFsaWQuYCl9Y29uc3QgdD1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIoZSkseHJlZjpudWxsfSksaT10LmdldE9iaigpLGE9dC5nZXRPYmooKSxzPXQuZ2V0T2JqKCkscj10LmdldE9iaigpO2xldCBuLGc7aWYoIShOdW1iZXIuaXNJbnRlZ2VyKGkpJiZOdW1iZXIuaXNJbnRlZ2VyKGEpJiZpc0NtZChzLCJvYmoiKSYmciBpbnN0YW5jZW9mIERpY3QmJiJudW1iZXIiPT10eXBlb2Yobj1yLmdldCgiTGluZWFyaXplZCIpKSYmbj4wKSlyZXR1cm4gbnVsbDtpZigoZz1nZXRJbnQociwiTCIpKSE9PWUubGVuZ3RoKXRocm93IG5ldyBFcnJvcignVGhlICJMIiBwYXJhbWV0ZXIgaW4gdGhlIGxpbmVhcml6YXRpb24gZGljdGlvbmFyeSBkb2VzIG5vdCBlcXVhbCB0aGUgc3RyZWFtIGxlbmd0aC4nKTtyZXR1cm57bGVuZ3RoOmcsaGludHM6ZnVuY3Rpb24gZ2V0SGludHMoZSl7Y29uc3QgdD1lLmdldCgiSCIpO2xldCBpO2lmKEFycmF5LmlzQXJyYXkodCkmJigyPT09KGk9dC5sZW5ndGgpfHw0PT09aSkpe2ZvcihsZXQgZT0wO2U8aTtlKyspe2NvbnN0IGk9dFtlXTtpZighKE51bWJlci5pc0ludGVnZXIoaSkmJmk+MCkpdGhyb3cgbmV3IEVycm9yKGBIaW50ICgke2V9KSBpbiB0aGUgbGluZWFyaXphdGlvbiBkaWN0aW9uYXJ5IGlzIGludmFsaWQuYCl9cmV0dXJuIHR9dGhyb3cgbmV3IEVycm9yKCJIaW50IGFycmF5IGluIHRoZSBsaW5lYXJpemF0aW9uIGRpY3Rpb25hcnkgaXMgaW52YWxpZC4iKX0ociksb2JqZWN0TnVtYmVyRmlyc3Q6Z2V0SW50KHIsIk8iKSxlbmRGaXJzdDpnZXRJbnQociwiRSIpLG51bVBhZ2VzOmdldEludChyLCJOIiksbWFpblhSZWZFbnRyaWVzT2Zmc2V0OmdldEludChyLCJUIikscGFnZUZpcnN0OnIuaGFzKCJQIik/Z2V0SW50KHIsIlAiLCEwKTowfX19Y29uc3QgbGk9WyJBZG9iZS1HQjEtVUNTMiIsIkFkb2JlLUNOUzEtVUNTMiIsIkFkb2JlLUphcGFuMS1VQ1MyIiwiQWRvYmUtS29yZWExLVVDUzIiLCI3OC1FVUMtSCIsIjc4LUVVQy1WIiwiNzgtSCIsIjc4LVJLU0otSCIsIjc4LVJLU0otViIsIjc4LVYiLCI3OG1zLVJLU0otSCIsIjc4bXMtUktTSi1WIiwiODNwdi1SS1NKLUgiLCI5MG1zLVJLU0otSCIsIjkwbXMtUktTSi1WIiwiOTBtc3AtUktTSi1IIiwiOTBtc3AtUktTSi1WIiwiOTBwdi1SS1NKLUgiLCI5MHB2LVJLU0otViIsIkFkZC1IIiwiQWRkLVJLU0otSCIsIkFkZC1SS1NKLVYiLCJBZGQtViIsIkFkb2JlLUNOUzEtMCIsIkFkb2JlLUNOUzEtMSIsIkFkb2JlLUNOUzEtMiIsIkFkb2JlLUNOUzEtMyIsIkFkb2JlLUNOUzEtNCIsIkFkb2JlLUNOUzEtNSIsIkFkb2JlLUNOUzEtNiIsIkFkb2JlLUdCMS0wIiwiQWRvYmUtR0IxLTEiLCJBZG9iZS1HQjEtMiIsIkFkb2JlLUdCMS0zIiwiQWRvYmUtR0IxLTQiLCJBZG9iZS1HQjEtNSIsIkFkb2JlLUphcGFuMS0wIiwiQWRvYmUtSmFwYW4xLTEiLCJBZG9iZS1KYXBhbjEtMiIsIkFkb2JlLUphcGFuMS0zIiwiQWRvYmUtSmFwYW4xLTQiLCJBZG9iZS1KYXBhbjEtNSIsIkFkb2JlLUphcGFuMS02IiwiQWRvYmUtS29yZWExLTAiLCJBZG9iZS1Lb3JlYTEtMSIsIkFkb2JlLUtvcmVhMS0yIiwiQjUtSCIsIkI1LVYiLCJCNXBjLUgiLCJCNXBjLVYiLCJDTlMtRVVDLUgiLCJDTlMtRVVDLVYiLCJDTlMxLUgiLCJDTlMxLVYiLCJDTlMyLUgiLCJDTlMyLVYiLCJFVEhLLUI1LUgiLCJFVEhLLUI1LVYiLCJFVGVuLUI1LUgiLCJFVGVuLUI1LVYiLCJFVGVubXMtQjUtSCIsIkVUZW5tcy1CNS1WIiwiRVVDLUgiLCJFVUMtViIsIkV4dC1IIiwiRXh0LVJLU0otSCIsIkV4dC1SS1NKLVYiLCJFeHQtViIsIkdCLUVVQy1IIiwiR0ItRVVDLVYiLCJHQi1IIiwiR0ItViIsIkdCSy1FVUMtSCIsIkdCSy1FVUMtViIsIkdCSzJLLUgiLCJHQksySy1WIiwiR0JLcC1FVUMtSCIsIkdCS3AtRVVDLVYiLCJHQlQtRVVDLUgiLCJHQlQtRVVDLVYiLCJHQlQtSCIsIkdCVC1WIiwiR0JUcGMtRVVDLUgiLCJHQlRwYy1FVUMtViIsIkdCcGMtRVVDLUgiLCJHQnBjLUVVQy1WIiwiSCIsIkhLZGxhLUI1LUgiLCJIS2RsYS1CNS1WIiwiSEtkbGItQjUtSCIsIkhLZGxiLUI1LVYiLCJIS2djY3MtQjUtSCIsIkhLZ2Njcy1CNS1WIiwiSEttMzE0LUI1LUgiLCJIS20zMTQtQjUtViIsIkhLbTQ3MS1CNS1IIiwiSEttNDcxLUI1LVYiLCJIS3Njcy1CNS1IIiwiSEtzY3MtQjUtViIsIkhhbmtha3UiLCJIaXJhZ2FuYSIsIktTQy1FVUMtSCIsIktTQy1FVUMtViIsIktTQy1IIiwiS1NDLUpvaGFiLUgiLCJLU0MtSm9oYWItViIsIktTQy1WIiwiS1NDbXMtVUhDLUgiLCJLU0Ntcy1VSEMtSFctSCIsIktTQ21zLVVIQy1IVy1WIiwiS1NDbXMtVUhDLVYiLCJLU0NwYy1FVUMtSCIsIktTQ3BjLUVVQy1WIiwiS2F0YWthbmEiLCJOV1AtSCIsIk5XUC1WIiwiUktTSi1IIiwiUktTSi1WIiwiUm9tYW4iLCJVbmlDTlMtVUNTMi1IIiwiVW5pQ05TLVVDUzItViIsIlVuaUNOUy1VVEYxNi1IIiwiVW5pQ05TLVVURjE2LVYiLCJVbmlDTlMtVVRGMzItSCIsIlVuaUNOUy1VVEYzMi1WIiwiVW5pQ05TLVVURjgtSCIsIlVuaUNOUy1VVEY4LVYiLCJVbmlHQi1VQ1MyLUgiLCJVbmlHQi1VQ1MyLVYiLCJVbmlHQi1VVEYxNi1IIiwiVW5pR0ItVVRGMTYtViIsIlVuaUdCLVVURjMyLUgiLCJVbmlHQi1VVEYzMi1WIiwiVW5pR0ItVVRGOC1IIiwiVW5pR0ItVVRGOC1WIiwiVW5pSklTLVVDUzItSCIsIlVuaUpJUy1VQ1MyLUhXLUgiLCJVbmlKSVMtVUNTMi1IVy1WIiwiVW5pSklTLVVDUzItViIsIlVuaUpJUy1VVEYxNi1IIiwiVW5pSklTLVVURjE2LVYiLCJVbmlKSVMtVVRGMzItSCIsIlVuaUpJUy1VVEYzMi1WIiwiVW5pSklTLVVURjgtSCIsIlVuaUpJUy1VVEY4LVYiLCJVbmlKSVMyMDA0LVVURjE2LUgiLCJVbmlKSVMyMDA0LVVURjE2LVYiLCJVbmlKSVMyMDA0LVVURjMyLUgiLCJVbmlKSVMyMDA0LVVURjMyLVYiLCJVbmlKSVMyMDA0LVVURjgtSCIsIlVuaUpJUzIwMDQtVVRGOC1WIiwiVW5pSklTUHJvLVVDUzItSFctViIsIlVuaUpJU1Byby1VQ1MyLVYiLCJVbmlKSVNQcm8tVVRGOC1WIiwiVW5pSklTWDAyMTMtVVRGMzItSCIsIlVuaUpJU1gwMjEzLVVURjMyLVYiLCJVbmlKSVNYMDIxMzIwMDQtVVRGMzItSCIsIlVuaUpJU1gwMjEzMjAwNC1VVEYzMi1WIiwiVW5pS1MtVUNTMi1IIiwiVW5pS1MtVUNTMi1WIiwiVW5pS1MtVVRGMTYtSCIsIlVuaUtTLVVURjE2LVYiLCJVbmlLUy1VVEYzMi1IIiwiVW5pS1MtVVRGMzItViIsIlVuaUtTLVVURjgtSCIsIlVuaUtTLVVURjgtViIsIlYiLCJXUC1TeW1ib2wiXSxRaT0yKioyNC0xO2NsYXNzIENNYXB7Y29uc3RydWN0b3IoZT0hMSl7dGhpcy5jb2Rlc3BhY2VSYW5nZXM9W1tdLFtdLFtdLFtdXTt0aGlzLm51bUNvZGVzcGFjZVJhbmdlcz0wO3RoaXMuX21hcD1bXTt0aGlzLm5hbWU9IiI7dGhpcy52ZXJ0aWNhbD0hMTt0aGlzLnVzZUNNYXA9bnVsbDt0aGlzLmJ1aWx0SW5DTWFwPWV9YWRkQ29kZXNwYWNlUmFuZ2UoZSx0LGkpe3RoaXMuY29kZXNwYWNlUmFuZ2VzW2UtMV0ucHVzaCh0LGkpO3RoaXMubnVtQ29kZXNwYWNlUmFuZ2VzKyt9bWFwQ2lkUmFuZ2UoZSx0LGkpe2lmKHQtZT5RaSl0aHJvdyBuZXcgRXJyb3IoIm1hcENpZFJhbmdlIC0gaWdub3JpbmcgZGF0YSBhYm92ZSBNQVhfTUFQX1JBTkdFLiIpO2Zvcig7ZTw9dDspdGhpcy5fbWFwW2UrK109aSsrfW1hcEJmUmFuZ2UoZSx0LGkpe2lmKHQtZT5RaSl0aHJvdyBuZXcgRXJyb3IoIm1hcEJmUmFuZ2UgLSBpZ25vcmluZyBkYXRhIGFib3ZlIE1BWF9NQVBfUkFOR0UuIik7Y29uc3QgYT1pLmxlbmd0aC0xO2Zvcig7ZTw9dDspe3RoaXMuX21hcFtlKytdPWk7Y29uc3QgdD1pLmNoYXJDb2RlQXQoYSkrMTt0PjI1NT9pPWkuc3Vic3RyaW5nKDAsYS0xKStTdHJpbmcuZnJvbUNoYXJDb2RlKGkuY2hhckNvZGVBdChhLTEpKzEpKyJcMCI6aT1pLnN1YnN0cmluZygwLGEpK1N0cmluZy5mcm9tQ2hhckNvZGUodCl9fW1hcEJmUmFuZ2VUb0FycmF5KGUsdCxpKXtpZih0LWU+UWkpdGhyb3cgbmV3IEVycm9yKCJtYXBCZlJhbmdlVG9BcnJheSAtIGlnbm9yaW5nIGRhdGEgYWJvdmUgTUFYX01BUF9SQU5HRS4iKTtjb25zdCBhPWkubGVuZ3RoO2xldCBzPTA7Zm9yKDtlPD10JiZzPGE7KXt0aGlzLl9tYXBbZV09aVtzKytdOysrZX19bWFwT25lKGUsdCl7dGhpcy5fbWFwW2VdPXR9bG9va3VwKGUpe3JldHVybiB0aGlzLl9tYXBbZV19Y29udGFpbnMoZSl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX21hcFtlXX1mb3JFYWNoKGUpe2NvbnN0IHQ9dGhpcy5fbWFwLGk9dC5sZW5ndGg7aWYoaTw9NjU1MzYpZm9yKGxldCBhPTA7YTxpO2ErKyl2b2lkIDAhPT10W2FdJiZlKGEsdFthXSk7ZWxzZSBmb3IoY29uc3QgaSBpbiB0KWUoaSx0W2ldKX1jaGFyQ29kZU9mKGUpe2NvbnN0IHQ9dGhpcy5fbWFwO2lmKHQubGVuZ3RoPD02NTUzNilyZXR1cm4gdC5pbmRleE9mKGUpO2Zvcihjb25zdCBpIGluIHQpaWYodFtpXT09PWUpcmV0dXJuIDB8aTtyZXR1cm4tMX1nZXRNYXAoKXtyZXR1cm4gdGhpcy5fbWFwfXJlYWRDaGFyQ29kZShlLHQsaSl7bGV0IGE9MDtjb25zdCBzPXRoaXMuY29kZXNwYWNlUmFuZ2VzO2ZvcihsZXQgcj0wLG49cy5sZW5ndGg7cjxuO3IrKyl7YT0oYTw8OHxlLmNoYXJDb2RlQXQodCtyKSk+Pj4wO2NvbnN0IG49c1tyXTtmb3IobGV0IGU9MCx0PW4ubGVuZ3RoO2U8dDspe2NvbnN0IHQ9bltlKytdLHM9bltlKytdO2lmKGE+PXQmJmE8PXMpe2kuY2hhcmNvZGU9YTtpLmxlbmd0aD1yKzE7cmV0dXJufX19aS5jaGFyY29kZT0wO2kubGVuZ3RoPTF9Z2V0Q2hhckNvZGVMZW5ndGgoZSl7Y29uc3QgdD10aGlzLmNvZGVzcGFjZVJhbmdlcztmb3IobGV0IGk9MCxhPXQubGVuZ3RoO2k8YTtpKyspe2NvbnN0IGE9dFtpXTtmb3IobGV0IHQ9MCxzPWEubGVuZ3RoO3Q8czspe2NvbnN0IHM9YVt0KytdLHI9YVt0KytdO2lmKGU+PXMmJmU8PXIpcmV0dXJuIGkrMX19cmV0dXJuIDF9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLl9tYXAubGVuZ3RofWdldCBpc0lkZW50aXR5Q01hcCgpe2lmKCJJZGVudGl0eS1IIiE9PXRoaXMubmFtZSYmIklkZW50aXR5LVYiIT09dGhpcy5uYW1lKXJldHVybiExO2lmKDY1NTM2IT09dGhpcy5fbWFwLmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IGU9MDtlPDY1NTM2O2UrKylpZih0aGlzLl9tYXBbZV0hPT1lKXJldHVybiExO3JldHVybiEwfX1jbGFzcyBJZGVudGl0eUNNYXAgZXh0ZW5kcyBDTWFwe2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKTt0aGlzLnZlcnRpY2FsPWU7dGhpcy5hZGRDb2Rlc3BhY2VSYW5nZSh0LDAsNjU1MzUpfW1hcENpZFJhbmdlKGUsdCxpKXt1bnJlYWNoYWJsZSgic2hvdWxkIG5vdCBjYWxsIG1hcENpZFJhbmdlIil9bWFwQmZSYW5nZShlLHQsaSl7dW5yZWFjaGFibGUoInNob3VsZCBub3QgY2FsbCBtYXBCZlJhbmdlIil9bWFwQmZSYW5nZVRvQXJyYXkoZSx0LGkpe3VucmVhY2hhYmxlKCJzaG91bGQgbm90IGNhbGwgbWFwQmZSYW5nZVRvQXJyYXkiKX1tYXBPbmUoZSx0KXt1bnJlYWNoYWJsZSgic2hvdWxkIG5vdCBjYWxsIG1hcENpZE9uZSIpfWxvb2t1cChlKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihlKSYmZTw9NjU1MzU/ZTp2b2lkIDB9Y29udGFpbnMoZSl7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoZSkmJmU8PTY1NTM1fWZvckVhY2goZSl7Zm9yKGxldCB0PTA7dDw9NjU1MzU7dCsrKWUodCx0KX1jaGFyQ29kZU9mKGUpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPD02NTUzNT9lOi0xfWdldE1hcCgpe2NvbnN0IGU9bmV3IEFycmF5KDY1NTM2KTtmb3IobGV0IHQ9MDt0PD02NTUzNTt0KyspZVt0XT10O3JldHVybiBlfWdldCBsZW5ndGgoKXtyZXR1cm4gNjU1MzZ9Z2V0IGlzSWRlbnRpdHlDTWFwKCl7dW5yZWFjaGFibGUoInNob3VsZCBub3QgYWNjZXNzIC5pc0lkZW50aXR5Q01hcCIpfX1mdW5jdGlvbiBzdHJUb0ludChlKXtsZXQgdD0wO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9dDw8OHxlLmNoYXJDb2RlQXQoaSk7cmV0dXJuIHQ+Pj4wfWZ1bmN0aW9uIGV4cGVjdFN0cmluZyhlKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJNYWxmb3JtZWQgQ01hcDogZXhwZWN0ZWQgc3RyaW5nLiIpfWZ1bmN0aW9uIGV4cGVjdEludChlKXtpZighTnVtYmVyLmlzSW50ZWdlcihlKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk1hbGZvcm1lZCBDTWFwOiBleHBlY3RlZCBpbnQuIil9ZnVuY3Rpb24gcGFyc2VCZkNoYXIoZSx0KXtmb3IoOzspe2xldCBpPXQuZ2V0T2JqKCk7aWYoaT09PXd0KWJyZWFrO2lmKGlzQ21kKGksImVuZGJmY2hhciIpKXJldHVybjtleHBlY3RTdHJpbmcoaSk7Y29uc3QgYT1zdHJUb0ludChpKTtpPXQuZ2V0T2JqKCk7ZXhwZWN0U3RyaW5nKGkpO2NvbnN0IHM9aTtlLm1hcE9uZShhLHMpfX1mdW5jdGlvbiBwYXJzZUJmUmFuZ2UoZSx0KXtmb3IoOzspe2xldCBpPXQuZ2V0T2JqKCk7aWYoaT09PXd0KWJyZWFrO2lmKGlzQ21kKGksImVuZGJmcmFuZ2UiKSlyZXR1cm47ZXhwZWN0U3RyaW5nKGkpO2NvbnN0IGE9c3RyVG9JbnQoaSk7aT10LmdldE9iaigpO2V4cGVjdFN0cmluZyhpKTtjb25zdCBzPXN0clRvSW50KGkpO2k9dC5nZXRPYmooKTtpZihOdW1iZXIuaXNJbnRlZ2VyKGkpfHwic3RyaW5nIj09dHlwZW9mIGkpe2NvbnN0IHQ9TnVtYmVyLmlzSW50ZWdlcihpKT9TdHJpbmcuZnJvbUNoYXJDb2RlKGkpOmk7ZS5tYXBCZlJhbmdlKGEscyx0KX1lbHNle2lmKCFpc0NtZChpLCJbIikpYnJlYWs7e2k9dC5nZXRPYmooKTtjb25zdCByPVtdO2Zvcig7IWlzQ21kKGksIl0iKSYmaSE9PXd0Oyl7ci5wdXNoKGkpO2k9dC5nZXRPYmooKX1lLm1hcEJmUmFuZ2VUb0FycmF5KGEscyxyKX19fXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBiZiByYW5nZS4iKX1mdW5jdGlvbiBwYXJzZUNpZENoYXIoZSx0KXtmb3IoOzspe2xldCBpPXQuZ2V0T2JqKCk7aWYoaT09PXd0KWJyZWFrO2lmKGlzQ21kKGksImVuZGNpZGNoYXIiKSlyZXR1cm47ZXhwZWN0U3RyaW5nKGkpO2NvbnN0IGE9c3RyVG9JbnQoaSk7aT10LmdldE9iaigpO2V4cGVjdEludChpKTtjb25zdCBzPWk7ZS5tYXBPbmUoYSxzKX19ZnVuY3Rpb24gcGFyc2VDaWRSYW5nZShlLHQpe2Zvcig7Oyl7bGV0IGk9dC5nZXRPYmooKTtpZihpPT09d3QpYnJlYWs7aWYoaXNDbWQoaSwiZW5kY2lkcmFuZ2UiKSlyZXR1cm47ZXhwZWN0U3RyaW5nKGkpO2NvbnN0IGE9c3RyVG9JbnQoaSk7aT10LmdldE9iaigpO2V4cGVjdFN0cmluZyhpKTtjb25zdCBzPXN0clRvSW50KGkpO2k9dC5nZXRPYmooKTtleHBlY3RJbnQoaSk7Y29uc3Qgcj1pO2UubWFwQ2lkUmFuZ2UoYSxzLHIpfX1mdW5jdGlvbiBwYXJzZUNvZGVzcGFjZVJhbmdlKGUsdCl7Zm9yKDs7KXtsZXQgaT10LmdldE9iaigpO2lmKGk9PT13dClicmVhaztpZihpc0NtZChpLCJlbmRjb2Rlc3BhY2VyYW5nZSIpKXJldHVybjtpZigic3RyaW5nIiE9dHlwZW9mIGkpYnJlYWs7Y29uc3QgYT1zdHJUb0ludChpKTtpPXQuZ2V0T2JqKCk7aWYoInN0cmluZyIhPXR5cGVvZiBpKWJyZWFrO2NvbnN0IHM9c3RyVG9JbnQoaSk7ZS5hZGRDb2Rlc3BhY2VSYW5nZShpLmxlbmd0aCxhLHMpfXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBjb2Rlc3BhY2UgcmFuZ2UuIil9ZnVuY3Rpb24gcGFyc2VXTW9kZShlLHQpe2NvbnN0IGk9dC5nZXRPYmooKTtOdW1iZXIuaXNJbnRlZ2VyKGkpJiYoZS52ZXJ0aWNhbD0hIWkpfWZ1bmN0aW9uIHBhcnNlQ01hcE5hbWUoZSx0KXtjb25zdCBpPXQuZ2V0T2JqKCk7aSBpbnN0YW5jZW9mIE5hbWUmJihlLm5hbWU9aS5uYW1lKX1hc3luYyBmdW5jdGlvbiBwYXJzZUNNYXAoZSx0LGksYSl7bGV0IHMscjtBOmZvcig7Oyl0cnl7Y29uc3QgaT10LmdldE9iaigpO2lmKGk9PT13dClicmVhaztpZihpIGluc3RhbmNlb2YgTmFtZSl7IldNb2RlIj09PWkubmFtZT9wYXJzZVdNb2RlKGUsdCk6IkNNYXBOYW1lIj09PWkubmFtZSYmcGFyc2VDTWFwTmFtZShlLHQpO3M9aX1lbHNlIGlmKGkgaW5zdGFuY2VvZiBDbWQpc3dpdGNoKGkuY21kKXtjYXNlImVuZGNtYXAiOmJyZWFrIEE7Y2FzZSJ1c2VjbWFwIjpzIGluc3RhbmNlb2YgTmFtZSYmKHI9cy5uYW1lKTticmVhaztjYXNlImJlZ2luY29kZXNwYWNlcmFuZ2UiOnBhcnNlQ29kZXNwYWNlUmFuZ2UoZSx0KTticmVhaztjYXNlImJlZ2luYmZjaGFyIjpwYXJzZUJmQ2hhcihlLHQpO2JyZWFrO2Nhc2UiYmVnaW5jaWRjaGFyIjpwYXJzZUNpZENoYXIoZSx0KTticmVhaztjYXNlImJlZ2luYmZyYW5nZSI6cGFyc2VCZlJhbmdlKGUsdCk7YnJlYWs7Y2FzZSJiZWdpbmNpZHJhbmdlIjpwYXJzZUNpZFJhbmdlKGUsdCl9fWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oIkludmFsaWQgY01hcCBkYXRhOiAiK2UpO2NvbnRpbnVlfSFhJiZyJiYoYT1yKTtyZXR1cm4gYT9leHRlbmRDTWFwKGUsaSxhKTplfWFzeW5jIGZ1bmN0aW9uIGV4dGVuZENNYXAoZSx0LGkpe2UudXNlQ01hcD1hd2FpdCBjcmVhdGVCdWlsdEluQ01hcChpLHQpO2lmKDA9PT1lLm51bUNvZGVzcGFjZVJhbmdlcyl7Y29uc3QgdD1lLnVzZUNNYXAuY29kZXNwYWNlUmFuZ2VzO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKWUuY29kZXNwYWNlUmFuZ2VzW2ldPXRbaV0uc2xpY2UoKTtlLm51bUNvZGVzcGFjZVJhbmdlcz1lLnVzZUNNYXAubnVtQ29kZXNwYWNlUmFuZ2VzfWUudXNlQ01hcC5mb3JFYWNoKChmdW5jdGlvbih0LGkpe2UuY29udGFpbnModCl8fGUubWFwT25lKHQsZS51c2VDTWFwLmxvb2t1cCh0KSl9KSk7cmV0dXJuIGV9YXN5bmMgZnVuY3Rpb24gY3JlYXRlQnVpbHRJbkNNYXAoZSx0KXtpZigiSWRlbnRpdHktSCI9PT1lKXJldHVybiBuZXcgSWRlbnRpdHlDTWFwKCExLDIpO2lmKCJJZGVudGl0eS1WIj09PWUpcmV0dXJuIG5ldyBJZGVudGl0eUNNYXAoITAsMik7aWYoIWxpLmluY2x1ZGVzKGUpKXRocm93IG5ldyBFcnJvcigiVW5rbm93biBDTWFwIG5hbWU6ICIrZSk7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJCdWlsdC1pbiBDTWFwIHBhcmFtZXRlcnMgYXJlIG5vdCBwcm92aWRlZC4iKTtjb25zdHtjTWFwRGF0YTppLGNvbXByZXNzaW9uVHlwZTphfT1hd2FpdCB0KGUpLHM9bmV3IENNYXAoITApO2lmKGE9PT15QS5CSU5BUlkpcmV0dXJuKG5ldyBCaW5hcnlDTWFwUmVhZGVyKS5wcm9jZXNzKGkscywoZT0+ZXh0ZW5kQ01hcChzLHQsZSkpKTtpZihhPT09eUEuTk9ORSl7Y29uc3QgZT1uZXcgTGV4ZXIobmV3IFN0cmVhbShpKSk7cmV0dXJuIHBhcnNlQ01hcChzLGUsdCxudWxsKX10aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ01hcCAiY29tcHJlc3Npb25UeXBlIiB2YWx1ZTogJHthfWApfWNsYXNzIENNYXBGYWN0b3J5e3N0YXRpYyBhc3luYyBjcmVhdGUoe2VuY29kaW5nOmUsZmV0Y2hCdWlsdEluQ01hcDp0LHVzZUNNYXA6aX0pe2lmKGUgaW5zdGFuY2VvZiBOYW1lKXJldHVybiBjcmVhdGVCdWlsdEluQ01hcChlLm5hbWUsdCk7aWYoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pe2NvbnN0IGE9YXdhaXQgcGFyc2VDTWFwKG5ldyBDTWFwLG5ldyBMZXhlcihlKSx0LGkpO3JldHVybiBhLmlzSWRlbnRpdHlDTWFwP2NyZWF0ZUJ1aWx0SW5DTWFwKGEubmFtZSx0KTphfXRocm93IG5ldyBFcnJvcigiRW5jb2RpbmcgcmVxdWlyZWQuIil9fWNvbnN0IEVpPVsiLm5vdGRlZiIsInNwYWNlIiwiZXhjbGFtIiwicXVvdGVkYmwiLCJudW1iZXJzaWduIiwiZG9sbGFyIiwicGVyY2VudCIsImFtcGVyc2FuZCIsInF1b3RlcmlnaHQiLCJwYXJlbmxlZnQiLCJwYXJlbnJpZ2h0IiwiYXN0ZXJpc2siLCJwbHVzIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJzbGFzaCIsInplcm8iLCJvbmUiLCJ0d28iLCJ0aHJlZSIsImZvdXIiLCJmaXZlIiwic2l4Iiwic2V2ZW4iLCJlaWdodCIsIm5pbmUiLCJjb2xvbiIsInNlbWljb2xvbiIsImxlc3MiLCJlcXVhbCIsImdyZWF0ZXIiLCJxdWVzdGlvbiIsImF0IiwiQSIsIkIiLCJDIiwiRCIsIkUiLCJGIiwiRyIsIkgiLCJJIiwiSiIsIksiLCJMIiwiTSIsIk4iLCJPIiwiUCIsIlEiLCJSIiwiUyIsIlQiLCJVIiwiViIsIlciLCJYIiwiWSIsIloiLCJicmFja2V0bGVmdCIsImJhY2tzbGFzaCIsImJyYWNrZXRyaWdodCIsImFzY2lpY2lyY3VtIiwidW5kZXJzY29yZSIsInF1b3RlbGVmdCIsImEiLCJiIiwiYyIsImQiLCJlIiwiZiIsImciLCJoIiwiaSIsImoiLCJrIiwibCIsIm0iLCJuIiwibyIsInAiLCJxIiwiciIsInMiLCJ0IiwidSIsInYiLCJ3IiwieCIsInkiLCJ6IiwiYnJhY2VsZWZ0IiwiYmFyIiwiYnJhY2VyaWdodCIsImFzY2lpdGlsZGUiLCJleGNsYW1kb3duIiwiY2VudCIsInN0ZXJsaW5nIiwiZnJhY3Rpb24iLCJ5ZW4iLCJmbG9yaW4iLCJzZWN0aW9uIiwiY3VycmVuY3kiLCJxdW90ZXNpbmdsZSIsInF1b3RlZGJsbGVmdCIsImd1aWxsZW1vdGxlZnQiLCJndWlsc2luZ2xsZWZ0IiwiZ3VpbHNpbmdscmlnaHQiLCJmaSIsImZsIiwiZW5kYXNoIiwiZGFnZ2VyIiwiZGFnZ2VyZGJsIiwicGVyaW9kY2VudGVyZWQiLCJwYXJhZ3JhcGgiLCJidWxsZXQiLCJxdW90ZXNpbmdsYmFzZSIsInF1b3RlZGJsYmFzZSIsInF1b3RlZGJscmlnaHQiLCJndWlsbGVtb3RyaWdodCIsImVsbGlwc2lzIiwicGVydGhvdXNhbmQiLCJxdWVzdGlvbmRvd24iLCJncmF2ZSIsImFjdXRlIiwiY2lyY3VtZmxleCIsInRpbGRlIiwibWFjcm9uIiwiYnJldmUiLCJkb3RhY2NlbnQiLCJkaWVyZXNpcyIsInJpbmciLCJjZWRpbGxhIiwiaHVuZ2FydW1sYXV0Iiwib2dvbmVrIiwiY2Fyb24iLCJlbWRhc2giLCJBRSIsIm9yZGZlbWluaW5lIiwiTHNsYXNoIiwiT3NsYXNoIiwiT0UiLCJvcmRtYXNjdWxpbmUiLCJhZSIsImRvdGxlc3NpIiwibHNsYXNoIiwib3NsYXNoIiwib2UiLCJnZXJtYW5kYmxzIiwib25lc3VwZXJpb3IiLCJsb2dpY2Fsbm90IiwibXUiLCJ0cmFkZW1hcmsiLCJFdGgiLCJvbmVoYWxmIiwicGx1c21pbnVzIiwiVGhvcm4iLCJvbmVxdWFydGVyIiwiZGl2aWRlIiwiYnJva2VuYmFyIiwiZGVncmVlIiwidGhvcm4iLCJ0aHJlZXF1YXJ0ZXJzIiwidHdvc3VwZXJpb3IiLCJyZWdpc3RlcmVkIiwibWludXMiLCJldGgiLCJtdWx0aXBseSIsInRocmVlc3VwZXJpb3IiLCJjb3B5cmlnaHQiLCJBYWN1dGUiLCJBY2lyY3VtZmxleCIsIkFkaWVyZXNpcyIsIkFncmF2ZSIsIkFyaW5nIiwiQXRpbGRlIiwiQ2NlZGlsbGEiLCJFYWN1dGUiLCJFY2lyY3VtZmxleCIsIkVkaWVyZXNpcyIsIkVncmF2ZSIsIklhY3V0ZSIsIkljaXJjdW1mbGV4IiwiSWRpZXJlc2lzIiwiSWdyYXZlIiwiTnRpbGRlIiwiT2FjdXRlIiwiT2NpcmN1bWZsZXgiLCJPZGllcmVzaXMiLCJPZ3JhdmUiLCJPdGlsZGUiLCJTY2Fyb24iLCJVYWN1dGUiLCJVY2lyY3VtZmxleCIsIlVkaWVyZXNpcyIsIlVncmF2ZSIsIllhY3V0ZSIsIllkaWVyZXNpcyIsIlpjYXJvbiIsImFhY3V0ZSIsImFjaXJjdW1mbGV4IiwiYWRpZXJlc2lzIiwiYWdyYXZlIiwiYXJpbmciLCJhdGlsZGUiLCJjY2VkaWxsYSIsImVhY3V0ZSIsImVjaXJjdW1mbGV4IiwiZWRpZXJlc2lzIiwiZWdyYXZlIiwiaWFjdXRlIiwiaWNpcmN1bWZsZXgiLCJpZGllcmVzaXMiLCJpZ3JhdmUiLCJudGlsZGUiLCJvYWN1dGUiLCJvY2lyY3VtZmxleCIsIm9kaWVyZXNpcyIsIm9ncmF2ZSIsIm90aWxkZSIsInNjYXJvbiIsInVhY3V0ZSIsInVjaXJjdW1mbGV4IiwidWRpZXJlc2lzIiwidWdyYXZlIiwieWFjdXRlIiwieWRpZXJlc2lzIiwiemNhcm9uIl0sdWk9WyIubm90ZGVmIiwic3BhY2UiLCJleGNsYW1zbWFsbCIsIkh1bmdhcnVtbGF1dHNtYWxsIiwiZG9sbGFyb2xkc3R5bGUiLCJkb2xsYXJzdXBlcmlvciIsImFtcGVyc2FuZHNtYWxsIiwiQWN1dGVzbWFsbCIsInBhcmVubGVmdHN1cGVyaW9yIiwicGFyZW5yaWdodHN1cGVyaW9yIiwidHdvZG90ZW5sZWFkZXIiLCJvbmVkb3RlbmxlYWRlciIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwiZnJhY3Rpb24iLCJ6ZXJvb2xkc3R5bGUiLCJvbmVvbGRzdHlsZSIsInR3b29sZHN0eWxlIiwidGhyZWVvbGRzdHlsZSIsImZvdXJvbGRzdHlsZSIsImZpdmVvbGRzdHlsZSIsInNpeG9sZHN0eWxlIiwic2V2ZW5vbGRzdHlsZSIsImVpZ2h0b2xkc3R5bGUiLCJuaW5lb2xkc3R5bGUiLCJjb2xvbiIsInNlbWljb2xvbiIsImNvbW1hc3VwZXJpb3IiLCJ0aHJlZXF1YXJ0ZXJzZW1kYXNoIiwicGVyaW9kc3VwZXJpb3IiLCJxdWVzdGlvbnNtYWxsIiwiYXN1cGVyaW9yIiwiYnN1cGVyaW9yIiwiY2VudHN1cGVyaW9yIiwiZHN1cGVyaW9yIiwiZXN1cGVyaW9yIiwiaXN1cGVyaW9yIiwibHN1cGVyaW9yIiwibXN1cGVyaW9yIiwibnN1cGVyaW9yIiwib3N1cGVyaW9yIiwicnN1cGVyaW9yIiwic3N1cGVyaW9yIiwidHN1cGVyaW9yIiwiZmYiLCJmaSIsImZsIiwiZmZpIiwiZmZsIiwicGFyZW5sZWZ0aW5mZXJpb3IiLCJwYXJlbnJpZ2h0aW5mZXJpb3IiLCJDaXJjdW1mbGV4c21hbGwiLCJoeXBoZW5zdXBlcmlvciIsIkdyYXZlc21hbGwiLCJBc21hbGwiLCJCc21hbGwiLCJDc21hbGwiLCJEc21hbGwiLCJFc21hbGwiLCJGc21hbGwiLCJHc21hbGwiLCJIc21hbGwiLCJJc21hbGwiLCJKc21hbGwiLCJLc21hbGwiLCJMc21hbGwiLCJNc21hbGwiLCJOc21hbGwiLCJPc21hbGwiLCJQc21hbGwiLCJRc21hbGwiLCJSc21hbGwiLCJTc21hbGwiLCJUc21hbGwiLCJVc21hbGwiLCJWc21hbGwiLCJXc21hbGwiLCJYc21hbGwiLCJZc21hbGwiLCJac21hbGwiLCJjb2xvbm1vbmV0YXJ5Iiwib25lZml0dGVkIiwicnVwaWFoIiwiVGlsZGVzbWFsbCIsImV4Y2xhbWRvd25zbWFsbCIsImNlbnRvbGRzdHlsZSIsIkxzbGFzaHNtYWxsIiwiU2Nhcm9uc21hbGwiLCJaY2Fyb25zbWFsbCIsIkRpZXJlc2lzc21hbGwiLCJCcmV2ZXNtYWxsIiwiQ2Fyb25zbWFsbCIsIkRvdGFjY2VudHNtYWxsIiwiTWFjcm9uc21hbGwiLCJmaWd1cmVkYXNoIiwiaHlwaGVuaW5mZXJpb3IiLCJPZ29uZWtzbWFsbCIsIlJpbmdzbWFsbCIsIkNlZGlsbGFzbWFsbCIsIm9uZXF1YXJ0ZXIiLCJvbmVoYWxmIiwidGhyZWVxdWFydGVycyIsInF1ZXN0aW9uZG93bnNtYWxsIiwib25lZWlnaHRoIiwidGhyZWVlaWdodGhzIiwiZml2ZWVpZ2h0aHMiLCJzZXZlbmVpZ2h0aHMiLCJvbmV0aGlyZCIsInR3b3RoaXJkcyIsInplcm9zdXBlcmlvciIsIm9uZXN1cGVyaW9yIiwidHdvc3VwZXJpb3IiLCJ0aHJlZXN1cGVyaW9yIiwiZm91cnN1cGVyaW9yIiwiZml2ZXN1cGVyaW9yIiwic2l4c3VwZXJpb3IiLCJzZXZlbnN1cGVyaW9yIiwiZWlnaHRzdXBlcmlvciIsIm5pbmVzdXBlcmlvciIsInplcm9pbmZlcmlvciIsIm9uZWluZmVyaW9yIiwidHdvaW5mZXJpb3IiLCJ0aHJlZWluZmVyaW9yIiwiZm91cmluZmVyaW9yIiwiZml2ZWluZmVyaW9yIiwic2l4aW5mZXJpb3IiLCJzZXZlbmluZmVyaW9yIiwiZWlnaHRpbmZlcmlvciIsIm5pbmVpbmZlcmlvciIsImNlbnRpbmZlcmlvciIsImRvbGxhcmluZmVyaW9yIiwicGVyaW9kaW5mZXJpb3IiLCJjb21tYWluZmVyaW9yIiwiQWdyYXZlc21hbGwiLCJBYWN1dGVzbWFsbCIsIkFjaXJjdW1mbGV4c21hbGwiLCJBdGlsZGVzbWFsbCIsIkFkaWVyZXNpc3NtYWxsIiwiQXJpbmdzbWFsbCIsIkFFc21hbGwiLCJDY2VkaWxsYXNtYWxsIiwiRWdyYXZlc21hbGwiLCJFYWN1dGVzbWFsbCIsIkVjaXJjdW1mbGV4c21hbGwiLCJFZGllcmVzaXNzbWFsbCIsIklncmF2ZXNtYWxsIiwiSWFjdXRlc21hbGwiLCJJY2lyY3VtZmxleHNtYWxsIiwiSWRpZXJlc2lzc21hbGwiLCJFdGhzbWFsbCIsIk50aWxkZXNtYWxsIiwiT2dyYXZlc21hbGwiLCJPYWN1dGVzbWFsbCIsIk9jaXJjdW1mbGV4c21hbGwiLCJPdGlsZGVzbWFsbCIsIk9kaWVyZXNpc3NtYWxsIiwiT0VzbWFsbCIsIk9zbGFzaHNtYWxsIiwiVWdyYXZlc21hbGwiLCJVYWN1dGVzbWFsbCIsIlVjaXJjdW1mbGV4c21hbGwiLCJVZGllcmVzaXNzbWFsbCIsIllhY3V0ZXNtYWxsIiwiVGhvcm5zbWFsbCIsIllkaWVyZXNpc3NtYWxsIl0sZGk9WyIubm90ZGVmIiwic3BhY2UiLCJkb2xsYXJvbGRzdHlsZSIsImRvbGxhcnN1cGVyaW9yIiwicGFyZW5sZWZ0c3VwZXJpb3IiLCJwYXJlbnJpZ2h0c3VwZXJpb3IiLCJ0d29kb3RlbmxlYWRlciIsIm9uZWRvdGVubGVhZGVyIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJmcmFjdGlvbiIsInplcm9vbGRzdHlsZSIsIm9uZW9sZHN0eWxlIiwidHdvb2xkc3R5bGUiLCJ0aHJlZW9sZHN0eWxlIiwiZm91cm9sZHN0eWxlIiwiZml2ZW9sZHN0eWxlIiwic2l4b2xkc3R5bGUiLCJzZXZlbm9sZHN0eWxlIiwiZWlnaHRvbGRzdHlsZSIsIm5pbmVvbGRzdHlsZSIsImNvbG9uIiwic2VtaWNvbG9uIiwiY29tbWFzdXBlcmlvciIsInRocmVlcXVhcnRlcnNlbWRhc2giLCJwZXJpb2RzdXBlcmlvciIsImFzdXBlcmlvciIsImJzdXBlcmlvciIsImNlbnRzdXBlcmlvciIsImRzdXBlcmlvciIsImVzdXBlcmlvciIsImlzdXBlcmlvciIsImxzdXBlcmlvciIsIm1zdXBlcmlvciIsIm5zdXBlcmlvciIsIm9zdXBlcmlvciIsInJzdXBlcmlvciIsInNzdXBlcmlvciIsInRzdXBlcmlvciIsImZmIiwiZmkiLCJmbCIsImZmaSIsImZmbCIsInBhcmVubGVmdGluZmVyaW9yIiwicGFyZW5yaWdodGluZmVyaW9yIiwiaHlwaGVuc3VwZXJpb3IiLCJjb2xvbm1vbmV0YXJ5Iiwib25lZml0dGVkIiwicnVwaWFoIiwiY2VudG9sZHN0eWxlIiwiZmlndXJlZGFzaCIsImh5cGhlbmluZmVyaW9yIiwib25lcXVhcnRlciIsIm9uZWhhbGYiLCJ0aHJlZXF1YXJ0ZXJzIiwib25lZWlnaHRoIiwidGhyZWVlaWdodGhzIiwiZml2ZWVpZ2h0aHMiLCJzZXZlbmVpZ2h0aHMiLCJvbmV0aGlyZCIsInR3b3RoaXJkcyIsInplcm9zdXBlcmlvciIsIm9uZXN1cGVyaW9yIiwidHdvc3VwZXJpb3IiLCJ0aHJlZXN1cGVyaW9yIiwiZm91cnN1cGVyaW9yIiwiZml2ZXN1cGVyaW9yIiwic2l4c3VwZXJpb3IiLCJzZXZlbnN1cGVyaW9yIiwiZWlnaHRzdXBlcmlvciIsIm5pbmVzdXBlcmlvciIsInplcm9pbmZlcmlvciIsIm9uZWluZmVyaW9yIiwidHdvaW5mZXJpb3IiLCJ0aHJlZWluZmVyaW9yIiwiZm91cmluZmVyaW9yIiwiZml2ZWluZmVyaW9yIiwic2l4aW5mZXJpb3IiLCJzZXZlbmluZmVyaW9yIiwiZWlnaHRpbmZlcmlvciIsIm5pbmVpbmZlcmlvciIsImNlbnRpbmZlcmlvciIsImRvbGxhcmluZmVyaW9yIiwicGVyaW9kaW5mZXJpb3IiLCJjb21tYWluZmVyaW9yIl0sZmk9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJzcGFjZSIsImV4Y2xhbXNtYWxsIiwiSHVuZ2FydW1sYXV0c21hbGwiLCIiLCJkb2xsYXJvbGRzdHlsZSIsImRvbGxhcnN1cGVyaW9yIiwiYW1wZXJzYW5kc21hbGwiLCJBY3V0ZXNtYWxsIiwicGFyZW5sZWZ0c3VwZXJpb3IiLCJwYXJlbnJpZ2h0c3VwZXJpb3IiLCJ0d29kb3RlbmxlYWRlciIsIm9uZWRvdGVubGVhZGVyIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJmcmFjdGlvbiIsInplcm9vbGRzdHlsZSIsIm9uZW9sZHN0eWxlIiwidHdvb2xkc3R5bGUiLCJ0aHJlZW9sZHN0eWxlIiwiZm91cm9sZHN0eWxlIiwiZml2ZW9sZHN0eWxlIiwic2l4b2xkc3R5bGUiLCJzZXZlbm9sZHN0eWxlIiwiZWlnaHRvbGRzdHlsZSIsIm5pbmVvbGRzdHlsZSIsImNvbG9uIiwic2VtaWNvbG9uIiwiY29tbWFzdXBlcmlvciIsInRocmVlcXVhcnRlcnNlbWRhc2giLCJwZXJpb2RzdXBlcmlvciIsInF1ZXN0aW9uc21hbGwiLCIiLCJhc3VwZXJpb3IiLCJic3VwZXJpb3IiLCJjZW50c3VwZXJpb3IiLCJkc3VwZXJpb3IiLCJlc3VwZXJpb3IiLCIiLCIiLCIiLCJpc3VwZXJpb3IiLCIiLCIiLCJsc3VwZXJpb3IiLCJtc3VwZXJpb3IiLCJuc3VwZXJpb3IiLCJvc3VwZXJpb3IiLCIiLCIiLCJyc3VwZXJpb3IiLCJzc3VwZXJpb3IiLCJ0c3VwZXJpb3IiLCIiLCJmZiIsImZpIiwiZmwiLCJmZmkiLCJmZmwiLCJwYXJlbmxlZnRpbmZlcmlvciIsIiIsInBhcmVucmlnaHRpbmZlcmlvciIsIkNpcmN1bWZsZXhzbWFsbCIsImh5cGhlbnN1cGVyaW9yIiwiR3JhdmVzbWFsbCIsIkFzbWFsbCIsIkJzbWFsbCIsIkNzbWFsbCIsIkRzbWFsbCIsIkVzbWFsbCIsIkZzbWFsbCIsIkdzbWFsbCIsIkhzbWFsbCIsIklzbWFsbCIsIkpzbWFsbCIsIktzbWFsbCIsIkxzbWFsbCIsIk1zbWFsbCIsIk5zbWFsbCIsIk9zbWFsbCIsIlBzbWFsbCIsIlFzbWFsbCIsIlJzbWFsbCIsIlNzbWFsbCIsIlRzbWFsbCIsIlVzbWFsbCIsIlZzbWFsbCIsIldzbWFsbCIsIlhzbWFsbCIsIllzbWFsbCIsIlpzbWFsbCIsImNvbG9ubW9uZXRhcnkiLCJvbmVmaXR0ZWQiLCJydXBpYWgiLCJUaWxkZXNtYWxsIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiZXhjbGFtZG93bnNtYWxsIiwiY2VudG9sZHN0eWxlIiwiTHNsYXNoc21hbGwiLCIiLCIiLCJTY2Fyb25zbWFsbCIsIlpjYXJvbnNtYWxsIiwiRGllcmVzaXNzbWFsbCIsIkJyZXZlc21hbGwiLCJDYXJvbnNtYWxsIiwiIiwiRG90YWNjZW50c21hbGwiLCIiLCIiLCJNYWNyb25zbWFsbCIsIiIsIiIsImZpZ3VyZWRhc2giLCJoeXBoZW5pbmZlcmlvciIsIiIsIiIsIk9nb25la3NtYWxsIiwiUmluZ3NtYWxsIiwiQ2VkaWxsYXNtYWxsIiwiIiwiIiwiIiwib25lcXVhcnRlciIsIm9uZWhhbGYiLCJ0aHJlZXF1YXJ0ZXJzIiwicXVlc3Rpb25kb3duc21hbGwiLCJvbmVlaWdodGgiLCJ0aHJlZWVpZ2h0aHMiLCJmaXZlZWlnaHRocyIsInNldmVuZWlnaHRocyIsIm9uZXRoaXJkIiwidHdvdGhpcmRzIiwiIiwiIiwiemVyb3N1cGVyaW9yIiwib25lc3VwZXJpb3IiLCJ0d29zdXBlcmlvciIsInRocmVlc3VwZXJpb3IiLCJmb3Vyc3VwZXJpb3IiLCJmaXZlc3VwZXJpb3IiLCJzaXhzdXBlcmlvciIsInNldmVuc3VwZXJpb3IiLCJlaWdodHN1cGVyaW9yIiwibmluZXN1cGVyaW9yIiwiemVyb2luZmVyaW9yIiwib25laW5mZXJpb3IiLCJ0d29pbmZlcmlvciIsInRocmVlaW5mZXJpb3IiLCJmb3VyaW5mZXJpb3IiLCJmaXZlaW5mZXJpb3IiLCJzaXhpbmZlcmlvciIsInNldmVuaW5mZXJpb3IiLCJlaWdodGluZmVyaW9yIiwibmluZWluZmVyaW9yIiwiY2VudGluZmVyaW9yIiwiZG9sbGFyaW5mZXJpb3IiLCJwZXJpb2RpbmZlcmlvciIsImNvbW1haW5mZXJpb3IiLCJBZ3JhdmVzbWFsbCIsIkFhY3V0ZXNtYWxsIiwiQWNpcmN1bWZsZXhzbWFsbCIsIkF0aWxkZXNtYWxsIiwiQWRpZXJlc2lzc21hbGwiLCJBcmluZ3NtYWxsIiwiQUVzbWFsbCIsIkNjZWRpbGxhc21hbGwiLCJFZ3JhdmVzbWFsbCIsIkVhY3V0ZXNtYWxsIiwiRWNpcmN1bWZsZXhzbWFsbCIsIkVkaWVyZXNpc3NtYWxsIiwiSWdyYXZlc21hbGwiLCJJYWN1dGVzbWFsbCIsIkljaXJjdW1mbGV4c21hbGwiLCJJZGllcmVzaXNzbWFsbCIsIkV0aHNtYWxsIiwiTnRpbGRlc21hbGwiLCJPZ3JhdmVzbWFsbCIsIk9hY3V0ZXNtYWxsIiwiT2NpcmN1bWZsZXhzbWFsbCIsIk90aWxkZXNtYWxsIiwiT2RpZXJlc2lzc21hbGwiLCJPRXNtYWxsIiwiT3NsYXNoc21hbGwiLCJVZ3JhdmVzbWFsbCIsIlVhY3V0ZXNtYWxsIiwiVWNpcmN1bWZsZXhzbWFsbCIsIlVkaWVyZXNpc3NtYWxsIiwiWWFjdXRlc21hbGwiLCJUaG9ybnNtYWxsIiwiWWRpZXJlc2lzc21hbGwiXSxwaT1bIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsInNwYWNlIiwiZXhjbGFtc21hbGwiLCJIdW5nYXJ1bWxhdXRzbWFsbCIsImNlbnRvbGRzdHlsZSIsImRvbGxhcm9sZHN0eWxlIiwiZG9sbGFyc3VwZXJpb3IiLCJhbXBlcnNhbmRzbWFsbCIsIkFjdXRlc21hbGwiLCJwYXJlbmxlZnRzdXBlcmlvciIsInBhcmVucmlnaHRzdXBlcmlvciIsInR3b2RvdGVubGVhZGVyIiwib25lZG90ZW5sZWFkZXIiLCJjb21tYSIsImh5cGhlbiIsInBlcmlvZCIsImZyYWN0aW9uIiwiemVyb29sZHN0eWxlIiwib25lb2xkc3R5bGUiLCJ0d29vbGRzdHlsZSIsInRocmVlb2xkc3R5bGUiLCJmb3Vyb2xkc3R5bGUiLCJmaXZlb2xkc3R5bGUiLCJzaXhvbGRzdHlsZSIsInNldmVub2xkc3R5bGUiLCJlaWdodG9sZHN0eWxlIiwibmluZW9sZHN0eWxlIiwiY29sb24iLCJzZW1pY29sb24iLCIiLCJ0aHJlZXF1YXJ0ZXJzZW1kYXNoIiwiIiwicXVlc3Rpb25zbWFsbCIsIiIsIiIsIiIsIiIsIkV0aHNtYWxsIiwiIiwiIiwib25lcXVhcnRlciIsIm9uZWhhbGYiLCJ0aHJlZXF1YXJ0ZXJzIiwib25lZWlnaHRoIiwidGhyZWVlaWdodGhzIiwiZml2ZWVpZ2h0aHMiLCJzZXZlbmVpZ2h0aHMiLCJvbmV0aGlyZCIsInR3b3RoaXJkcyIsIiIsIiIsIiIsIiIsIiIsIiIsImZmIiwiZmkiLCJmbCIsImZmaSIsImZmbCIsInBhcmVubGVmdGluZmVyaW9yIiwiIiwicGFyZW5yaWdodGluZmVyaW9yIiwiQ2lyY3VtZmxleHNtYWxsIiwiaHlwaGVuaW5mZXJpb3IiLCJHcmF2ZXNtYWxsIiwiQXNtYWxsIiwiQnNtYWxsIiwiQ3NtYWxsIiwiRHNtYWxsIiwiRXNtYWxsIiwiRnNtYWxsIiwiR3NtYWxsIiwiSHNtYWxsIiwiSXNtYWxsIiwiSnNtYWxsIiwiS3NtYWxsIiwiTHNtYWxsIiwiTXNtYWxsIiwiTnNtYWxsIiwiT3NtYWxsIiwiUHNtYWxsIiwiUXNtYWxsIiwiUnNtYWxsIiwiU3NtYWxsIiwiVHNtYWxsIiwiVXNtYWxsIiwiVnNtYWxsIiwiV3NtYWxsIiwiWHNtYWxsIiwiWXNtYWxsIiwiWnNtYWxsIiwiY29sb25tb25ldGFyeSIsIm9uZWZpdHRlZCIsInJ1cGlhaCIsIlRpbGRlc21hbGwiLCIiLCIiLCJhc3VwZXJpb3IiLCJjZW50c3VwZXJpb3IiLCIiLCIiLCIiLCIiLCJBYWN1dGVzbWFsbCIsIkFncmF2ZXNtYWxsIiwiQWNpcmN1bWZsZXhzbWFsbCIsIkFkaWVyZXNpc3NtYWxsIiwiQXRpbGRlc21hbGwiLCJBcmluZ3NtYWxsIiwiQ2NlZGlsbGFzbWFsbCIsIkVhY3V0ZXNtYWxsIiwiRWdyYXZlc21hbGwiLCJFY2lyY3VtZmxleHNtYWxsIiwiRWRpZXJlc2lzc21hbGwiLCJJYWN1dGVzbWFsbCIsIklncmF2ZXNtYWxsIiwiSWNpcmN1bWZsZXhzbWFsbCIsIklkaWVyZXNpc3NtYWxsIiwiTnRpbGRlc21hbGwiLCJPYWN1dGVzbWFsbCIsIk9ncmF2ZXNtYWxsIiwiT2NpcmN1bWZsZXhzbWFsbCIsIk9kaWVyZXNpc3NtYWxsIiwiT3RpbGRlc21hbGwiLCJVYWN1dGVzbWFsbCIsIlVncmF2ZXNtYWxsIiwiVWNpcmN1bWZsZXhzbWFsbCIsIlVkaWVyZXNpc3NtYWxsIiwiIiwiZWlnaHRzdXBlcmlvciIsImZvdXJpbmZlcmlvciIsInRocmVlaW5mZXJpb3IiLCJzaXhpbmZlcmlvciIsImVpZ2h0aW5mZXJpb3IiLCJzZXZlbmluZmVyaW9yIiwiU2Nhcm9uc21hbGwiLCIiLCJjZW50aW5mZXJpb3IiLCJ0d29pbmZlcmlvciIsIiIsIkRpZXJlc2lzc21hbGwiLCIiLCJDYXJvbnNtYWxsIiwib3N1cGVyaW9yIiwiZml2ZWluZmVyaW9yIiwiIiwiY29tbWFpbmZlcmlvciIsInBlcmlvZGluZmVyaW9yIiwiWWFjdXRlc21hbGwiLCIiLCJkb2xsYXJpbmZlcmlvciIsIiIsIiIsIlRob3Juc21hbGwiLCIiLCJuaW5laW5mZXJpb3IiLCJ6ZXJvaW5mZXJpb3IiLCJaY2Fyb25zbWFsbCIsIkFFc21hbGwiLCJPc2xhc2hzbWFsbCIsInF1ZXN0aW9uZG93bnNtYWxsIiwib25laW5mZXJpb3IiLCJMc2xhc2hzbWFsbCIsIiIsIiIsIiIsIiIsIiIsIiIsIkNlZGlsbGFzbWFsbCIsIiIsIiIsIiIsIiIsIiIsIk9Fc21hbGwiLCJmaWd1cmVkYXNoIiwiaHlwaGVuc3VwZXJpb3IiLCIiLCIiLCIiLCIiLCJleGNsYW1kb3duc21hbGwiLCIiLCJZZGllcmVzaXNzbWFsbCIsIiIsIm9uZXN1cGVyaW9yIiwidHdvc3VwZXJpb3IiLCJ0aHJlZXN1cGVyaW9yIiwiZm91cnN1cGVyaW9yIiwiZml2ZXN1cGVyaW9yIiwic2l4c3VwZXJpb3IiLCJzZXZlbnN1cGVyaW9yIiwibmluZXN1cGVyaW9yIiwiemVyb3N1cGVyaW9yIiwiIiwiZXN1cGVyaW9yIiwicnN1cGVyaW9yIiwidHN1cGVyaW9yIiwiIiwiIiwiaXN1cGVyaW9yIiwic3N1cGVyaW9yIiwiZHN1cGVyaW9yIiwiIiwiIiwiIiwiIiwiIiwibHN1cGVyaW9yIiwiT2dvbmVrc21hbGwiLCJCcmV2ZXNtYWxsIiwiTWFjcm9uc21hbGwiLCJic3VwZXJpb3IiLCJuc3VwZXJpb3IiLCJtc3VwZXJpb3IiLCJjb21tYXN1cGVyaW9yIiwicGVyaW9kc3VwZXJpb3IiLCJEb3RhY2NlbnRzbWFsbCIsIlJpbmdzbWFsbCIsIiIsIiIsIiIsIiJdLG1pPVsiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwic3BhY2UiLCJleGNsYW0iLCJxdW90ZWRibCIsIm51bWJlcnNpZ24iLCJkb2xsYXIiLCJwZXJjZW50IiwiYW1wZXJzYW5kIiwicXVvdGVzaW5nbGUiLCJwYXJlbmxlZnQiLCJwYXJlbnJpZ2h0IiwiYXN0ZXJpc2siLCJwbHVzIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJzbGFzaCIsInplcm8iLCJvbmUiLCJ0d28iLCJ0aHJlZSIsImZvdXIiLCJmaXZlIiwic2l4Iiwic2V2ZW4iLCJlaWdodCIsIm5pbmUiLCJjb2xvbiIsInNlbWljb2xvbiIsImxlc3MiLCJlcXVhbCIsImdyZWF0ZXIiLCJxdWVzdGlvbiIsImF0IiwiQSIsIkIiLCJDIiwiRCIsIkUiLCJGIiwiRyIsIkgiLCJJIiwiSiIsIksiLCJMIiwiTSIsIk4iLCJPIiwiUCIsIlEiLCJSIiwiUyIsIlQiLCJVIiwiViIsIlciLCJYIiwiWSIsIloiLCJicmFja2V0bGVmdCIsImJhY2tzbGFzaCIsImJyYWNrZXRyaWdodCIsImFzY2lpY2lyY3VtIiwidW5kZXJzY29yZSIsImdyYXZlIiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJicmFjZWxlZnQiLCJiYXIiLCJicmFjZXJpZ2h0IiwiYXNjaWl0aWxkZSIsIiIsIkFkaWVyZXNpcyIsIkFyaW5nIiwiQ2NlZGlsbGEiLCJFYWN1dGUiLCJOdGlsZGUiLCJPZGllcmVzaXMiLCJVZGllcmVzaXMiLCJhYWN1dGUiLCJhZ3JhdmUiLCJhY2lyY3VtZmxleCIsImFkaWVyZXNpcyIsImF0aWxkZSIsImFyaW5nIiwiY2NlZGlsbGEiLCJlYWN1dGUiLCJlZ3JhdmUiLCJlY2lyY3VtZmxleCIsImVkaWVyZXNpcyIsImlhY3V0ZSIsImlncmF2ZSIsImljaXJjdW1mbGV4IiwiaWRpZXJlc2lzIiwibnRpbGRlIiwib2FjdXRlIiwib2dyYXZlIiwib2NpcmN1bWZsZXgiLCJvZGllcmVzaXMiLCJvdGlsZGUiLCJ1YWN1dGUiLCJ1Z3JhdmUiLCJ1Y2lyY3VtZmxleCIsInVkaWVyZXNpcyIsImRhZ2dlciIsImRlZ3JlZSIsImNlbnQiLCJzdGVybGluZyIsInNlY3Rpb24iLCJidWxsZXQiLCJwYXJhZ3JhcGgiLCJnZXJtYW5kYmxzIiwicmVnaXN0ZXJlZCIsImNvcHlyaWdodCIsInRyYWRlbWFyayIsImFjdXRlIiwiZGllcmVzaXMiLCJub3RlcXVhbCIsIkFFIiwiT3NsYXNoIiwiaW5maW5pdHkiLCJwbHVzbWludXMiLCJsZXNzZXF1YWwiLCJncmVhdGVyZXF1YWwiLCJ5ZW4iLCJtdSIsInBhcnRpYWxkaWZmIiwic3VtbWF0aW9uIiwicHJvZHVjdCIsInBpIiwiaW50ZWdyYWwiLCJvcmRmZW1pbmluZSIsIm9yZG1hc2N1bGluZSIsIk9tZWdhIiwiYWUiLCJvc2xhc2giLCJxdWVzdGlvbmRvd24iLCJleGNsYW1kb3duIiwibG9naWNhbG5vdCIsInJhZGljYWwiLCJmbG9yaW4iLCJhcHByb3hlcXVhbCIsIkRlbHRhIiwiZ3VpbGxlbW90bGVmdCIsImd1aWxsZW1vdHJpZ2h0IiwiZWxsaXBzaXMiLCJzcGFjZSIsIkFncmF2ZSIsIkF0aWxkZSIsIk90aWxkZSIsIk9FIiwib2UiLCJlbmRhc2giLCJlbWRhc2giLCJxdW90ZWRibGxlZnQiLCJxdW90ZWRibHJpZ2h0IiwicXVvdGVsZWZ0IiwicXVvdGVyaWdodCIsImRpdmlkZSIsImxvemVuZ2UiLCJ5ZGllcmVzaXMiLCJZZGllcmVzaXMiLCJmcmFjdGlvbiIsImN1cnJlbmN5IiwiZ3VpbHNpbmdsbGVmdCIsImd1aWxzaW5nbHJpZ2h0IiwiZmkiLCJmbCIsImRhZ2dlcmRibCIsInBlcmlvZGNlbnRlcmVkIiwicXVvdGVzaW5nbGJhc2UiLCJxdW90ZWRibGJhc2UiLCJwZXJ0aG91c2FuZCIsIkFjaXJjdW1mbGV4IiwiRWNpcmN1bWZsZXgiLCJBYWN1dGUiLCJFZGllcmVzaXMiLCJFZ3JhdmUiLCJJYWN1dGUiLCJJY2lyY3VtZmxleCIsIklkaWVyZXNpcyIsIklncmF2ZSIsIk9hY3V0ZSIsIk9jaXJjdW1mbGV4IiwiYXBwbGUiLCJPZ3JhdmUiLCJVYWN1dGUiLCJVY2lyY3VtZmxleCIsIlVncmF2ZSIsImRvdGxlc3NpIiwiY2lyY3VtZmxleCIsInRpbGRlIiwibWFjcm9uIiwiYnJldmUiLCJkb3RhY2NlbnQiLCJyaW5nIiwiY2VkaWxsYSIsImh1bmdhcnVtbGF1dCIsIm9nb25layIsImNhcm9uIl0seWk9WyIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJzcGFjZSIsImV4Y2xhbSIsInF1b3RlZGJsIiwibnVtYmVyc2lnbiIsImRvbGxhciIsInBlcmNlbnQiLCJhbXBlcnNhbmQiLCJxdW90ZXJpZ2h0IiwicGFyZW5sZWZ0IiwicGFyZW5yaWdodCIsImFzdGVyaXNrIiwicGx1cyIsImNvbW1hIiwiaHlwaGVuIiwicGVyaW9kIiwic2xhc2giLCJ6ZXJvIiwib25lIiwidHdvIiwidGhyZWUiLCJmb3VyIiwiZml2ZSIsInNpeCIsInNldmVuIiwiZWlnaHQiLCJuaW5lIiwiY29sb24iLCJzZW1pY29sb24iLCJsZXNzIiwiZXF1YWwiLCJncmVhdGVyIiwicXVlc3Rpb24iLCJhdCIsIkEiLCJCIiwiQyIsIkQiLCJFIiwiRiIsIkciLCJIIiwiSSIsIkoiLCJLIiwiTCIsIk0iLCJOIiwiTyIsIlAiLCJRIiwiUiIsIlMiLCJUIiwiVSIsIlYiLCJXIiwiWCIsIlkiLCJaIiwiYnJhY2tldGxlZnQiLCJiYWNrc2xhc2giLCJicmFja2V0cmlnaHQiLCJhc2NpaWNpcmN1bSIsInVuZGVyc2NvcmUiLCJxdW90ZWxlZnQiLCJhIiwiYiIsImMiLCJkIiwiZSIsImYiLCJnIiwiaCIsImkiLCJqIiwiayIsImwiLCJtIiwibiIsIm8iLCJwIiwicSIsInIiLCJzIiwidCIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsImJyYWNlbGVmdCIsImJhciIsImJyYWNlcmlnaHQiLCJhc2NpaXRpbGRlIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiZXhjbGFtZG93biIsImNlbnQiLCJzdGVybGluZyIsImZyYWN0aW9uIiwieWVuIiwiZmxvcmluIiwic2VjdGlvbiIsImN1cnJlbmN5IiwicXVvdGVzaW5nbGUiLCJxdW90ZWRibGxlZnQiLCJndWlsbGVtb3RsZWZ0IiwiZ3VpbHNpbmdsbGVmdCIsImd1aWxzaW5nbHJpZ2h0IiwiZmkiLCJmbCIsIiIsImVuZGFzaCIsImRhZ2dlciIsImRhZ2dlcmRibCIsInBlcmlvZGNlbnRlcmVkIiwiIiwicGFyYWdyYXBoIiwiYnVsbGV0IiwicXVvdGVzaW5nbGJhc2UiLCJxdW90ZWRibGJhc2UiLCJxdW90ZWRibHJpZ2h0IiwiZ3VpbGxlbW90cmlnaHQiLCJlbGxpcHNpcyIsInBlcnRob3VzYW5kIiwiIiwicXVlc3Rpb25kb3duIiwiIiwiZ3JhdmUiLCJhY3V0ZSIsImNpcmN1bWZsZXgiLCJ0aWxkZSIsIm1hY3JvbiIsImJyZXZlIiwiZG90YWNjZW50IiwiZGllcmVzaXMiLCIiLCJyaW5nIiwiY2VkaWxsYSIsIiIsImh1bmdhcnVtbGF1dCIsIm9nb25layIsImNhcm9uIiwiZW1kYXNoIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiQUUiLCIiLCJvcmRmZW1pbmluZSIsIiIsIiIsIiIsIiIsIkxzbGFzaCIsIk9zbGFzaCIsIk9FIiwib3JkbWFzY3VsaW5lIiwiIiwiIiwiIiwiIiwiIiwiYWUiLCIiLCIiLCIiLCJkb3RsZXNzaSIsIiIsIiIsImxzbGFzaCIsIm9zbGFzaCIsIm9lIiwiZ2VybWFuZGJscyIsIiIsIiIsIiIsIiJdLHdpPVsiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwic3BhY2UiLCJleGNsYW0iLCJxdW90ZWRibCIsIm51bWJlcnNpZ24iLCJkb2xsYXIiLCJwZXJjZW50IiwiYW1wZXJzYW5kIiwicXVvdGVzaW5nbGUiLCJwYXJlbmxlZnQiLCJwYXJlbnJpZ2h0IiwiYXN0ZXJpc2siLCJwbHVzIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJzbGFzaCIsInplcm8iLCJvbmUiLCJ0d28iLCJ0aHJlZSIsImZvdXIiLCJmaXZlIiwic2l4Iiwic2V2ZW4iLCJlaWdodCIsIm5pbmUiLCJjb2xvbiIsInNlbWljb2xvbiIsImxlc3MiLCJlcXVhbCIsImdyZWF0ZXIiLCJxdWVzdGlvbiIsImF0IiwiQSIsIkIiLCJDIiwiRCIsIkUiLCJGIiwiRyIsIkgiLCJJIiwiSiIsIksiLCJMIiwiTSIsIk4iLCJPIiwiUCIsIlEiLCJSIiwiUyIsIlQiLCJVIiwiViIsIlciLCJYIiwiWSIsIloiLCJicmFja2V0bGVmdCIsImJhY2tzbGFzaCIsImJyYWNrZXRyaWdodCIsImFzY2lpY2lyY3VtIiwidW5kZXJzY29yZSIsImdyYXZlIiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJicmFjZWxlZnQiLCJiYXIiLCJicmFjZXJpZ2h0IiwiYXNjaWl0aWxkZSIsImJ1bGxldCIsIkV1cm8iLCJidWxsZXQiLCJxdW90ZXNpbmdsYmFzZSIsImZsb3JpbiIsInF1b3RlZGJsYmFzZSIsImVsbGlwc2lzIiwiZGFnZ2VyIiwiZGFnZ2VyZGJsIiwiY2lyY3VtZmxleCIsInBlcnRob3VzYW5kIiwiU2Nhcm9uIiwiZ3VpbHNpbmdsbGVmdCIsIk9FIiwiYnVsbGV0IiwiWmNhcm9uIiwiYnVsbGV0IiwiYnVsbGV0IiwicXVvdGVsZWZ0IiwicXVvdGVyaWdodCIsInF1b3RlZGJsbGVmdCIsInF1b3RlZGJscmlnaHQiLCJidWxsZXQiLCJlbmRhc2giLCJlbWRhc2giLCJ0aWxkZSIsInRyYWRlbWFyayIsInNjYXJvbiIsImd1aWxzaW5nbHJpZ2h0Iiwib2UiLCJidWxsZXQiLCJ6Y2Fyb24iLCJZZGllcmVzaXMiLCJzcGFjZSIsImV4Y2xhbWRvd24iLCJjZW50Iiwic3RlcmxpbmciLCJjdXJyZW5jeSIsInllbiIsImJyb2tlbmJhciIsInNlY3Rpb24iLCJkaWVyZXNpcyIsImNvcHlyaWdodCIsIm9yZGZlbWluaW5lIiwiZ3VpbGxlbW90bGVmdCIsImxvZ2ljYWxub3QiLCJoeXBoZW4iLCJyZWdpc3RlcmVkIiwibWFjcm9uIiwiZGVncmVlIiwicGx1c21pbnVzIiwidHdvc3VwZXJpb3IiLCJ0aHJlZXN1cGVyaW9yIiwiYWN1dGUiLCJtdSIsInBhcmFncmFwaCIsInBlcmlvZGNlbnRlcmVkIiwiY2VkaWxsYSIsIm9uZXN1cGVyaW9yIiwib3JkbWFzY3VsaW5lIiwiZ3VpbGxlbW90cmlnaHQiLCJvbmVxdWFydGVyIiwib25laGFsZiIsInRocmVlcXVhcnRlcnMiLCJxdWVzdGlvbmRvd24iLCJBZ3JhdmUiLCJBYWN1dGUiLCJBY2lyY3VtZmxleCIsIkF0aWxkZSIsIkFkaWVyZXNpcyIsIkFyaW5nIiwiQUUiLCJDY2VkaWxsYSIsIkVncmF2ZSIsIkVhY3V0ZSIsIkVjaXJjdW1mbGV4IiwiRWRpZXJlc2lzIiwiSWdyYXZlIiwiSWFjdXRlIiwiSWNpcmN1bWZsZXgiLCJJZGllcmVzaXMiLCJFdGgiLCJOdGlsZGUiLCJPZ3JhdmUiLCJPYWN1dGUiLCJPY2lyY3VtZmxleCIsIk90aWxkZSIsIk9kaWVyZXNpcyIsIm11bHRpcGx5IiwiT3NsYXNoIiwiVWdyYXZlIiwiVWFjdXRlIiwiVWNpcmN1bWZsZXgiLCJVZGllcmVzaXMiLCJZYWN1dGUiLCJUaG9ybiIsImdlcm1hbmRibHMiLCJhZ3JhdmUiLCJhYWN1dGUiLCJhY2lyY3VtZmxleCIsImF0aWxkZSIsImFkaWVyZXNpcyIsImFyaW5nIiwiYWUiLCJjY2VkaWxsYSIsImVncmF2ZSIsImVhY3V0ZSIsImVjaXJjdW1mbGV4IiwiZWRpZXJlc2lzIiwiaWdyYXZlIiwiaWFjdXRlIiwiaWNpcmN1bWZsZXgiLCJpZGllcmVzaXMiLCJldGgiLCJudGlsZGUiLCJvZ3JhdmUiLCJvYWN1dGUiLCJvY2lyY3VtZmxleCIsIm90aWxkZSIsIm9kaWVyZXNpcyIsImRpdmlkZSIsIm9zbGFzaCIsInVncmF2ZSIsInVhY3V0ZSIsInVjaXJjdW1mbGV4IiwidWRpZXJlc2lzIiwieWFjdXRlIiwidGhvcm4iLCJ5ZGllcmVzaXMiXSxEaT1bIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsIiIsInNwYWNlIiwiZXhjbGFtIiwidW5pdmVyc2FsIiwibnVtYmVyc2lnbiIsImV4aXN0ZW50aWFsIiwicGVyY2VudCIsImFtcGVyc2FuZCIsInN1Y2h0aGF0IiwicGFyZW5sZWZ0IiwicGFyZW5yaWdodCIsImFzdGVyaXNrbWF0aCIsInBsdXMiLCJjb21tYSIsIm1pbnVzIiwicGVyaW9kIiwic2xhc2giLCJ6ZXJvIiwib25lIiwidHdvIiwidGhyZWUiLCJmb3VyIiwiZml2ZSIsInNpeCIsInNldmVuIiwiZWlnaHQiLCJuaW5lIiwiY29sb24iLCJzZW1pY29sb24iLCJsZXNzIiwiZXF1YWwiLCJncmVhdGVyIiwicXVlc3Rpb24iLCJjb25ncnVlbnQiLCJBbHBoYSIsIkJldGEiLCJDaGkiLCJEZWx0YSIsIkVwc2lsb24iLCJQaGkiLCJHYW1tYSIsIkV0YSIsIklvdGEiLCJ0aGV0YTEiLCJLYXBwYSIsIkxhbWJkYSIsIk11IiwiTnUiLCJPbWljcm9uIiwiUGkiLCJUaGV0YSIsIlJobyIsIlNpZ21hIiwiVGF1IiwiVXBzaWxvbiIsInNpZ21hMSIsIk9tZWdhIiwiWGkiLCJQc2kiLCJaZXRhIiwiYnJhY2tldGxlZnQiLCJ0aGVyZWZvcmUiLCJicmFja2V0cmlnaHQiLCJwZXJwZW5kaWN1bGFyIiwidW5kZXJzY29yZSIsInJhZGljYWxleCIsImFscGhhIiwiYmV0YSIsImNoaSIsImRlbHRhIiwiZXBzaWxvbiIsInBoaSIsImdhbW1hIiwiZXRhIiwiaW90YSIsInBoaTEiLCJrYXBwYSIsImxhbWJkYSIsIm11IiwibnUiLCJvbWljcm9uIiwicGkiLCJ0aGV0YSIsInJobyIsInNpZ21hIiwidGF1IiwidXBzaWxvbiIsIm9tZWdhMSIsIm9tZWdhIiwieGkiLCJwc2kiLCJ6ZXRhIiwiYnJhY2VsZWZ0IiwiYmFyIiwiYnJhY2VyaWdodCIsInNpbWlsYXIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCIiLCJFdXJvIiwiVXBzaWxvbjEiLCJtaW51dGUiLCJsZXNzZXF1YWwiLCJmcmFjdGlvbiIsImluZmluaXR5IiwiZmxvcmluIiwiY2x1YiIsImRpYW1vbmQiLCJoZWFydCIsInNwYWRlIiwiYXJyb3dib3RoIiwiYXJyb3dsZWZ0IiwiYXJyb3d1cCIsImFycm93cmlnaHQiLCJhcnJvd2Rvd24iLCJkZWdyZWUiLCJwbHVzbWludXMiLCJzZWNvbmQiLCJncmVhdGVyZXF1YWwiLCJtdWx0aXBseSIsInByb3BvcnRpb25hbCIsInBhcnRpYWxkaWZmIiwiYnVsbGV0IiwiZGl2aWRlIiwibm90ZXF1YWwiLCJlcXVpdmFsZW5jZSIsImFwcHJveGVxdWFsIiwiZWxsaXBzaXMiLCJhcnJvd3ZlcnRleCIsImFycm93aG9yaXpleCIsImNhcnJpYWdlcmV0dXJuIiwiYWxlcGgiLCJJZnJha3R1ciIsIlJmcmFrdHVyIiwid2VpZXJzdHJhc3MiLCJjaXJjbGVtdWx0aXBseSIsImNpcmNsZXBsdXMiLCJlbXB0eXNldCIsImludGVyc2VjdGlvbiIsInVuaW9uIiwicHJvcGVyc3VwZXJzZXQiLCJyZWZsZXhzdXBlcnNldCIsIm5vdHN1YnNldCIsInByb3BlcnN1YnNldCIsInJlZmxleHN1YnNldCIsImVsZW1lbnQiLCJub3RlbGVtZW50IiwiYW5nbGUiLCJncmFkaWVudCIsInJlZ2lzdGVyc2VyaWYiLCJjb3B5cmlnaHRzZXJpZiIsInRyYWRlbWFya3NlcmlmIiwicHJvZHVjdCIsInJhZGljYWwiLCJkb3RtYXRoIiwibG9naWNhbG5vdCIsImxvZ2ljYWxhbmQiLCJsb2dpY2Fsb3IiLCJhcnJvd2RibGJvdGgiLCJhcnJvd2RibGxlZnQiLCJhcnJvd2RibHVwIiwiYXJyb3dkYmxyaWdodCIsImFycm93ZGJsZG93biIsImxvemVuZ2UiLCJhbmdsZWxlZnQiLCJyZWdpc3RlcnNhbnMiLCJjb3B5cmlnaHRzYW5zIiwidHJhZGVtYXJrc2FucyIsInN1bW1hdGlvbiIsInBhcmVubGVmdHRwIiwicGFyZW5sZWZ0ZXgiLCJwYXJlbmxlZnRidCIsImJyYWNrZXRsZWZ0dHAiLCJicmFja2V0bGVmdGV4IiwiYnJhY2tldGxlZnRidCIsImJyYWNlbGVmdHRwIiwiYnJhY2VsZWZ0bWlkIiwiYnJhY2VsZWZ0YnQiLCJicmFjZWV4IiwiIiwiYW5nbGVyaWdodCIsImludGVncmFsIiwiaW50ZWdyYWx0cCIsImludGVncmFsZXgiLCJpbnRlZ3JhbGJ0IiwicGFyZW5yaWdodHRwIiwicGFyZW5yaWdodGV4IiwicGFyZW5yaWdodGJ0IiwiYnJhY2tldHJpZ2h0dHAiLCJicmFja2V0cmlnaHRleCIsImJyYWNrZXRyaWdodGJ0IiwiYnJhY2VyaWdodHRwIiwiYnJhY2VyaWdodG1pZCIsImJyYWNlcmlnaHRidCIsIiJdLGJpPVsiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwic3BhY2UiLCJhMSIsImEyIiwiYTIwMiIsImEzIiwiYTQiLCJhNSIsImExMTkiLCJhMTE4IiwiYTExNyIsImExMSIsImExMiIsImExMyIsImExNCIsImExNSIsImExNiIsImExMDUiLCJhMTciLCJhMTgiLCJhMTkiLCJhMjAiLCJhMjEiLCJhMjIiLCJhMjMiLCJhMjQiLCJhMjUiLCJhMjYiLCJhMjciLCJhMjgiLCJhNiIsImE3IiwiYTgiLCJhOSIsImExMCIsImEyOSIsImEzMCIsImEzMSIsImEzMiIsImEzMyIsImEzNCIsImEzNSIsImEzNiIsImEzNyIsImEzOCIsImEzOSIsImE0MCIsImE0MSIsImE0MiIsImE0MyIsImE0NCIsImE0NSIsImE0NiIsImE0NyIsImE0OCIsImE0OSIsImE1MCIsImE1MSIsImE1MiIsImE1MyIsImE1NCIsImE1NSIsImE1NiIsImE1NyIsImE1OCIsImE1OSIsImE2MCIsImE2MSIsImE2MiIsImE2MyIsImE2NCIsImE2NSIsImE2NiIsImE2NyIsImE2OCIsImE2OSIsImE3MCIsImE3MSIsImE3MiIsImE3MyIsImE3NCIsImEyMDMiLCJhNzUiLCJhMjA0IiwiYTc2IiwiYTc3IiwiYTc4IiwiYTc5IiwiYTgxIiwiYTgyIiwiYTgzIiwiYTg0IiwiYTk3IiwiYTk4IiwiYTk5IiwiYTEwMCIsIiIsImE4OSIsImE5MCIsImE5MyIsImE5NCIsImE5MSIsImE5MiIsImEyMDUiLCJhODUiLCJhMjA2IiwiYTg2IiwiYTg3IiwiYTg4IiwiYTk1IiwiYTk2IiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiIiwiYTEwMSIsImExMDIiLCJhMTAzIiwiYTEwNCIsImExMDYiLCJhMTA3IiwiYTEwOCIsImExMTIiLCJhMTExIiwiYTExMCIsImExMDkiLCJhMTIwIiwiYTEyMSIsImExMjIiLCJhMTIzIiwiYTEyNCIsImExMjUiLCJhMTI2IiwiYTEyNyIsImExMjgiLCJhMTI5IiwiYTEzMCIsImExMzEiLCJhMTMyIiwiYTEzMyIsImExMzQiLCJhMTM1IiwiYTEzNiIsImExMzciLCJhMTM4IiwiYTEzOSIsImExNDAiLCJhMTQxIiwiYTE0MiIsImExNDMiLCJhMTQ0IiwiYTE0NSIsImExNDYiLCJhMTQ3IiwiYTE0OCIsImExNDkiLCJhMTUwIiwiYTE1MSIsImExNTIiLCJhMTUzIiwiYTE1NCIsImExNTUiLCJhMTU2IiwiYTE1NyIsImExNTgiLCJhMTU5IiwiYTE2MCIsImExNjEiLCJhMTYzIiwiYTE2NCIsImExOTYiLCJhMTY1IiwiYTE5MiIsImExNjYiLCJhMTY3IiwiYTE2OCIsImExNjkiLCJhMTcwIiwiYTE3MSIsImExNzIiLCJhMTczIiwiYTE2MiIsImExNzQiLCJhMTc1IiwiYTE3NiIsImExNzciLCJhMTc4IiwiYTE3OSIsImExOTMiLCJhMTgwIiwiYTE5OSIsImExODEiLCJhMjAwIiwiYTE4MiIsIiIsImEyMDEiLCJhMTgzIiwiYTE4NCIsImExOTciLCJhMTg1IiwiYTE5NCIsImExOTgiLCJhMTg2IiwiYTE5NSIsImExODciLCJhMTg4IiwiYTE4OSIsImExOTAiLCJhMTkxIiwiIl07ZnVuY3Rpb24gZ2V0RW5jb2RpbmcoZSl7c3dpdGNoKGUpe2Nhc2UiV2luQW5zaUVuY29kaW5nIjpyZXR1cm4gd2k7Y2FzZSJTdGFuZGFyZEVuY29kaW5nIjpyZXR1cm4geWk7Y2FzZSJNYWNSb21hbkVuY29kaW5nIjpyZXR1cm4gbWk7Y2FzZSJTeW1ib2xTZXRFbmNvZGluZyI6cmV0dXJuIERpO2Nhc2UiWmFwZkRpbmdiYXRzRW5jb2RpbmciOnJldHVybiBiaTtjYXNlIkV4cGVydEVuY29kaW5nIjpyZXR1cm4gZmk7Y2FzZSJNYWNFeHBlcnRFbmNvZGluZyI6cmV0dXJuIHBpO2RlZmF1bHQ6cmV0dXJuIG51bGx9fWNvbnN0IEZpPVsiLm5vdGRlZiIsInNwYWNlIiwiZXhjbGFtIiwicXVvdGVkYmwiLCJudW1iZXJzaWduIiwiZG9sbGFyIiwicGVyY2VudCIsImFtcGVyc2FuZCIsInF1b3RlcmlnaHQiLCJwYXJlbmxlZnQiLCJwYXJlbnJpZ2h0IiwiYXN0ZXJpc2siLCJwbHVzIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJzbGFzaCIsInplcm8iLCJvbmUiLCJ0d28iLCJ0aHJlZSIsImZvdXIiLCJmaXZlIiwic2l4Iiwic2V2ZW4iLCJlaWdodCIsIm5pbmUiLCJjb2xvbiIsInNlbWljb2xvbiIsImxlc3MiLCJlcXVhbCIsImdyZWF0ZXIiLCJxdWVzdGlvbiIsImF0IiwiQSIsIkIiLCJDIiwiRCIsIkUiLCJGIiwiRyIsIkgiLCJJIiwiSiIsIksiLCJMIiwiTSIsIk4iLCJPIiwiUCIsIlEiLCJSIiwiUyIsIlQiLCJVIiwiViIsIlciLCJYIiwiWSIsIloiLCJicmFja2V0bGVmdCIsImJhY2tzbGFzaCIsImJyYWNrZXRyaWdodCIsImFzY2lpY2lyY3VtIiwidW5kZXJzY29yZSIsInF1b3RlbGVmdCIsImEiLCJiIiwiYyIsImQiLCJlIiwiZiIsImciLCJoIiwiaSIsImoiLCJrIiwibCIsIm0iLCJuIiwibyIsInAiLCJxIiwiciIsInMiLCJ0IiwidSIsInYiLCJ3IiwieCIsInkiLCJ6IiwiYnJhY2VsZWZ0IiwiYmFyIiwiYnJhY2VyaWdodCIsImFzY2lpdGlsZGUiLCJleGNsYW1kb3duIiwiY2VudCIsInN0ZXJsaW5nIiwiZnJhY3Rpb24iLCJ5ZW4iLCJmbG9yaW4iLCJzZWN0aW9uIiwiY3VycmVuY3kiLCJxdW90ZXNpbmdsZSIsInF1b3RlZGJsbGVmdCIsImd1aWxsZW1vdGxlZnQiLCJndWlsc2luZ2xsZWZ0IiwiZ3VpbHNpbmdscmlnaHQiLCJmaSIsImZsIiwiZW5kYXNoIiwiZGFnZ2VyIiwiZGFnZ2VyZGJsIiwicGVyaW9kY2VudGVyZWQiLCJwYXJhZ3JhcGgiLCJidWxsZXQiLCJxdW90ZXNpbmdsYmFzZSIsInF1b3RlZGJsYmFzZSIsInF1b3RlZGJscmlnaHQiLCJndWlsbGVtb3RyaWdodCIsImVsbGlwc2lzIiwicGVydGhvdXNhbmQiLCJxdWVzdGlvbmRvd24iLCJncmF2ZSIsImFjdXRlIiwiY2lyY3VtZmxleCIsInRpbGRlIiwibWFjcm9uIiwiYnJldmUiLCJkb3RhY2NlbnQiLCJkaWVyZXNpcyIsInJpbmciLCJjZWRpbGxhIiwiaHVuZ2FydW1sYXV0Iiwib2dvbmVrIiwiY2Fyb24iLCJlbWRhc2giLCJBRSIsIm9yZGZlbWluaW5lIiwiTHNsYXNoIiwiT3NsYXNoIiwiT0UiLCJvcmRtYXNjdWxpbmUiLCJhZSIsImRvdGxlc3NpIiwibHNsYXNoIiwib3NsYXNoIiwib2UiLCJnZXJtYW5kYmxzIiwib25lc3VwZXJpb3IiLCJsb2dpY2Fsbm90IiwibXUiLCJ0cmFkZW1hcmsiLCJFdGgiLCJvbmVoYWxmIiwicGx1c21pbnVzIiwiVGhvcm4iLCJvbmVxdWFydGVyIiwiZGl2aWRlIiwiYnJva2VuYmFyIiwiZGVncmVlIiwidGhvcm4iLCJ0aHJlZXF1YXJ0ZXJzIiwidHdvc3VwZXJpb3IiLCJyZWdpc3RlcmVkIiwibWludXMiLCJldGgiLCJtdWx0aXBseSIsInRocmVlc3VwZXJpb3IiLCJjb3B5cmlnaHQiLCJBYWN1dGUiLCJBY2lyY3VtZmxleCIsIkFkaWVyZXNpcyIsIkFncmF2ZSIsIkFyaW5nIiwiQXRpbGRlIiwiQ2NlZGlsbGEiLCJFYWN1dGUiLCJFY2lyY3VtZmxleCIsIkVkaWVyZXNpcyIsIkVncmF2ZSIsIklhY3V0ZSIsIkljaXJjdW1mbGV4IiwiSWRpZXJlc2lzIiwiSWdyYXZlIiwiTnRpbGRlIiwiT2FjdXRlIiwiT2NpcmN1bWZsZXgiLCJPZGllcmVzaXMiLCJPZ3JhdmUiLCJPdGlsZGUiLCJTY2Fyb24iLCJVYWN1dGUiLCJVY2lyY3VtZmxleCIsIlVkaWVyZXNpcyIsIlVncmF2ZSIsIllhY3V0ZSIsIllkaWVyZXNpcyIsIlpjYXJvbiIsImFhY3V0ZSIsImFjaXJjdW1mbGV4IiwiYWRpZXJlc2lzIiwiYWdyYXZlIiwiYXJpbmciLCJhdGlsZGUiLCJjY2VkaWxsYSIsImVhY3V0ZSIsImVjaXJjdW1mbGV4IiwiZWRpZXJlc2lzIiwiZWdyYXZlIiwiaWFjdXRlIiwiaWNpcmN1bWZsZXgiLCJpZGllcmVzaXMiLCJpZ3JhdmUiLCJudGlsZGUiLCJvYWN1dGUiLCJvY2lyY3VtZmxleCIsIm9kaWVyZXNpcyIsIm9ncmF2ZSIsIm90aWxkZSIsInNjYXJvbiIsInVhY3V0ZSIsInVjaXJjdW1mbGV4IiwidWRpZXJlc2lzIiwidWdyYXZlIiwieWFjdXRlIiwieWRpZXJlc2lzIiwiemNhcm9uIiwiZXhjbGFtc21hbGwiLCJIdW5nYXJ1bWxhdXRzbWFsbCIsImRvbGxhcm9sZHN0eWxlIiwiZG9sbGFyc3VwZXJpb3IiLCJhbXBlcnNhbmRzbWFsbCIsIkFjdXRlc21hbGwiLCJwYXJlbmxlZnRzdXBlcmlvciIsInBhcmVucmlnaHRzdXBlcmlvciIsInR3b2RvdGVubGVhZGVyIiwib25lZG90ZW5sZWFkZXIiLCJ6ZXJvb2xkc3R5bGUiLCJvbmVvbGRzdHlsZSIsInR3b29sZHN0eWxlIiwidGhyZWVvbGRzdHlsZSIsImZvdXJvbGRzdHlsZSIsImZpdmVvbGRzdHlsZSIsInNpeG9sZHN0eWxlIiwic2V2ZW5vbGRzdHlsZSIsImVpZ2h0b2xkc3R5bGUiLCJuaW5lb2xkc3R5bGUiLCJjb21tYXN1cGVyaW9yIiwidGhyZWVxdWFydGVyc2VtZGFzaCIsInBlcmlvZHN1cGVyaW9yIiwicXVlc3Rpb25zbWFsbCIsImFzdXBlcmlvciIsImJzdXBlcmlvciIsImNlbnRzdXBlcmlvciIsImRzdXBlcmlvciIsImVzdXBlcmlvciIsImlzdXBlcmlvciIsImxzdXBlcmlvciIsIm1zdXBlcmlvciIsIm5zdXBlcmlvciIsIm9zdXBlcmlvciIsInJzdXBlcmlvciIsInNzdXBlcmlvciIsInRzdXBlcmlvciIsImZmIiwiZmZpIiwiZmZsIiwicGFyZW5sZWZ0aW5mZXJpb3IiLCJwYXJlbnJpZ2h0aW5mZXJpb3IiLCJDaXJjdW1mbGV4c21hbGwiLCJoeXBoZW5zdXBlcmlvciIsIkdyYXZlc21hbGwiLCJBc21hbGwiLCJCc21hbGwiLCJDc21hbGwiLCJEc21hbGwiLCJFc21hbGwiLCJGc21hbGwiLCJHc21hbGwiLCJIc21hbGwiLCJJc21hbGwiLCJKc21hbGwiLCJLc21hbGwiLCJMc21hbGwiLCJNc21hbGwiLCJOc21hbGwiLCJPc21hbGwiLCJQc21hbGwiLCJRc21hbGwiLCJSc21hbGwiLCJTc21hbGwiLCJUc21hbGwiLCJVc21hbGwiLCJWc21hbGwiLCJXc21hbGwiLCJYc21hbGwiLCJZc21hbGwiLCJac21hbGwiLCJjb2xvbm1vbmV0YXJ5Iiwib25lZml0dGVkIiwicnVwaWFoIiwiVGlsZGVzbWFsbCIsImV4Y2xhbWRvd25zbWFsbCIsImNlbnRvbGRzdHlsZSIsIkxzbGFzaHNtYWxsIiwiU2Nhcm9uc21hbGwiLCJaY2Fyb25zbWFsbCIsIkRpZXJlc2lzc21hbGwiLCJCcmV2ZXNtYWxsIiwiQ2Fyb25zbWFsbCIsIkRvdGFjY2VudHNtYWxsIiwiTWFjcm9uc21hbGwiLCJmaWd1cmVkYXNoIiwiaHlwaGVuaW5mZXJpb3IiLCJPZ29uZWtzbWFsbCIsIlJpbmdzbWFsbCIsIkNlZGlsbGFzbWFsbCIsInF1ZXN0aW9uZG93bnNtYWxsIiwib25lZWlnaHRoIiwidGhyZWVlaWdodGhzIiwiZml2ZWVpZ2h0aHMiLCJzZXZlbmVpZ2h0aHMiLCJvbmV0aGlyZCIsInR3b3RoaXJkcyIsInplcm9zdXBlcmlvciIsImZvdXJzdXBlcmlvciIsImZpdmVzdXBlcmlvciIsInNpeHN1cGVyaW9yIiwic2V2ZW5zdXBlcmlvciIsImVpZ2h0c3VwZXJpb3IiLCJuaW5lc3VwZXJpb3IiLCJ6ZXJvaW5mZXJpb3IiLCJvbmVpbmZlcmlvciIsInR3b2luZmVyaW9yIiwidGhyZWVpbmZlcmlvciIsImZvdXJpbmZlcmlvciIsImZpdmVpbmZlcmlvciIsInNpeGluZmVyaW9yIiwic2V2ZW5pbmZlcmlvciIsImVpZ2h0aW5mZXJpb3IiLCJuaW5laW5mZXJpb3IiLCJjZW50aW5mZXJpb3IiLCJkb2xsYXJpbmZlcmlvciIsInBlcmlvZGluZmVyaW9yIiwiY29tbWFpbmZlcmlvciIsIkFncmF2ZXNtYWxsIiwiQWFjdXRlc21hbGwiLCJBY2lyY3VtZmxleHNtYWxsIiwiQXRpbGRlc21hbGwiLCJBZGllcmVzaXNzbWFsbCIsIkFyaW5nc21hbGwiLCJBRXNtYWxsIiwiQ2NlZGlsbGFzbWFsbCIsIkVncmF2ZXNtYWxsIiwiRWFjdXRlc21hbGwiLCJFY2lyY3VtZmxleHNtYWxsIiwiRWRpZXJlc2lzc21hbGwiLCJJZ3JhdmVzbWFsbCIsIklhY3V0ZXNtYWxsIiwiSWNpcmN1bWZsZXhzbWFsbCIsIklkaWVyZXNpc3NtYWxsIiwiRXRoc21hbGwiLCJOdGlsZGVzbWFsbCIsIk9ncmF2ZXNtYWxsIiwiT2FjdXRlc21hbGwiLCJPY2lyY3VtZmxleHNtYWxsIiwiT3RpbGRlc21hbGwiLCJPZGllcmVzaXNzbWFsbCIsIk9Fc21hbGwiLCJPc2xhc2hzbWFsbCIsIlVncmF2ZXNtYWxsIiwiVWFjdXRlc21hbGwiLCJVY2lyY3VtZmxleHNtYWxsIiwiVWRpZXJlc2lzc21hbGwiLCJZYWN1dGVzbWFsbCIsIlRob3Juc21hbGwiLCJZZGllcmVzaXNzbWFsbCIsIjAwMS4wMDAiLCIwMDEuMDAxIiwiMDAxLjAwMiIsIjAwMS4wMDMiLCJCbGFjayIsIkJvbGQiLCJCb29rIiwiTGlnaHQiLCJNZWRpdW0iLCJSZWd1bGFyIiwiUm9tYW4iLCJTZW1pYm9sZCJdLFNpPTM5MSxraT1bbnVsbCx7aWQ6ImhzdGVtIixtaW46MixzdGFja0NsZWFyaW5nOiEwLHN0ZW06ITB9LG51bGwse2lkOiJ2c3RlbSIsbWluOjIsc3RhY2tDbGVhcmluZzohMCxzdGVtOiEwfSx7aWQ6InZtb3ZldG8iLG1pbjoxLHN0YWNrQ2xlYXJpbmc6ITB9LHtpZDoicmxpbmV0byIsbWluOjIscmVzZXRTdGFjazohMH0se2lkOiJobGluZXRvIixtaW46MSxyZXNldFN0YWNrOiEwfSx7aWQ6InZsaW5ldG8iLG1pbjoxLHJlc2V0U3RhY2s6ITB9LHtpZDoicnJjdXJ2ZXRvIixtaW46NixyZXNldFN0YWNrOiEwfSxudWxsLHtpZDoiY2FsbHN1YnIiLG1pbjoxLHVuZGVmU3RhY2s6ITB9LHtpZDoicmV0dXJuIixtaW46MCx1bmRlZlN0YWNrOiEwfSxudWxsLG51bGwse2lkOiJlbmRjaGFyIixtaW46MCxzdGFja0NsZWFyaW5nOiEwfSxudWxsLG51bGwsbnVsbCx7aWQ6ImhzdGVtaG0iLG1pbjoyLHN0YWNrQ2xlYXJpbmc6ITAsc3RlbTohMH0se2lkOiJoaW50bWFzayIsbWluOjAsc3RhY2tDbGVhcmluZzohMH0se2lkOiJjbnRybWFzayIsbWluOjAsc3RhY2tDbGVhcmluZzohMH0se2lkOiJybW92ZXRvIixtaW46MixzdGFja0NsZWFyaW5nOiEwfSx7aWQ6Imhtb3ZldG8iLG1pbjoxLHN0YWNrQ2xlYXJpbmc6ITB9LHtpZDoidnN0ZW1obSIsbWluOjIsc3RhY2tDbGVhcmluZzohMCxzdGVtOiEwfSx7aWQ6InJjdXJ2ZWxpbmUiLG1pbjo4LHJlc2V0U3RhY2s6ITB9LHtpZDoicmxpbmVjdXJ2ZSIsbWluOjgscmVzZXRTdGFjazohMH0se2lkOiJ2dmN1cnZldG8iLG1pbjo0LHJlc2V0U3RhY2s6ITB9LHtpZDoiaGhjdXJ2ZXRvIixtaW46NCxyZXNldFN0YWNrOiEwfSxudWxsLHtpZDoiY2FsbGdzdWJyIixtaW46MSx1bmRlZlN0YWNrOiEwfSx7aWQ6InZoY3VydmV0byIsbWluOjQscmVzZXRTdGFjazohMH0se2lkOiJodmN1cnZldG8iLG1pbjo0LHJlc2V0U3RhY2s6ITB9XSxSaT1bbnVsbCxudWxsLG51bGwse2lkOiJhbmQiLG1pbjoyLHN0YWNrRGVsdGE6LTF9LHtpZDoib3IiLG1pbjoyLHN0YWNrRGVsdGE6LTF9LHtpZDoibm90IixtaW46MSxzdGFja0RlbHRhOjB9LG51bGwsbnVsbCxudWxsLHtpZDoiYWJzIixtaW46MSxzdGFja0RlbHRhOjB9LHtpZDoiYWRkIixtaW46MixzdGFja0RlbHRhOi0xLHN0YWNrRm4oZSx0KXtlW3QtMl09ZVt0LTJdK2VbdC0xXX19LHtpZDoic3ViIixtaW46MixzdGFja0RlbHRhOi0xLHN0YWNrRm4oZSx0KXtlW3QtMl09ZVt0LTJdLWVbdC0xXX19LHtpZDoiZGl2IixtaW46MixzdGFja0RlbHRhOi0xLHN0YWNrRm4oZSx0KXtlW3QtMl09ZVt0LTJdL2VbdC0xXX19LG51bGwse2lkOiJuZWciLG1pbjoxLHN0YWNrRGVsdGE6MCxzdGFja0ZuKGUsdCl7ZVt0LTFdPS1lW3QtMV19fSx7aWQ6ImVxIixtaW46MixzdGFja0RlbHRhOi0xfSxudWxsLG51bGwse2lkOiJkcm9wIixtaW46MSxzdGFja0RlbHRhOi0xfSxudWxsLHtpZDoicHV0IixtaW46MixzdGFja0RlbHRhOi0yfSx7aWQ6ImdldCIsbWluOjEsc3RhY2tEZWx0YTowfSx7aWQ6ImlmZWxzZSIsbWluOjQsc3RhY2tEZWx0YTotM30se2lkOiJyYW5kb20iLG1pbjowLHN0YWNrRGVsdGE6MX0se2lkOiJtdWwiLG1pbjoyLHN0YWNrRGVsdGE6LTEsc3RhY2tGbihlLHQpe2VbdC0yXT1lW3QtMl0qZVt0LTFdfX0sbnVsbCx7aWQ6InNxcnQiLG1pbjoxLHN0YWNrRGVsdGE6MH0se2lkOiJkdXAiLG1pbjoxLHN0YWNrRGVsdGE6MX0se2lkOiJleGNoIixtaW46MixzdGFja0RlbHRhOjB9LHtpZDoiaW5kZXgiLG1pbjoyLHN0YWNrRGVsdGE6MH0se2lkOiJyb2xsIixtaW46MyxzdGFja0RlbHRhOi0yfSxudWxsLG51bGwsbnVsbCx7aWQ6ImhmbGV4IixtaW46NyxyZXNldFN0YWNrOiEwfSx7aWQ6ImZsZXgiLG1pbjoxMyxyZXNldFN0YWNrOiEwfSx7aWQ6ImhmbGV4MSIsbWluOjkscmVzZXRTdGFjazohMH0se2lkOiJmbGV4MSIsbWluOjExLHJlc2V0U3RhY2s6ITB9XTtjbGFzcyBDRkZQYXJzZXJ7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuYnl0ZXM9ZS5nZXRCeXRlcygpO3RoaXMucHJvcGVydGllcz10O3RoaXMuc2VhY0FuYWx5c2lzRW5hYmxlZD0hIWl9cGFyc2UoKXtjb25zdCBlPXRoaXMucHJvcGVydGllcyx0PW5ldyBDRkY7dGhpcy5jZmY9dDtjb25zdCBpPXRoaXMucGFyc2VIZWFkZXIoKSxhPXRoaXMucGFyc2VJbmRleChpLmVuZFBvcykscz10aGlzLnBhcnNlSW5kZXgoYS5lbmRQb3MpLHI9dGhpcy5wYXJzZUluZGV4KHMuZW5kUG9zKSxuPXRoaXMucGFyc2VJbmRleChyLmVuZFBvcyksZz10aGlzLnBhcnNlRGljdChzLm9iai5nZXQoMCkpLG89dGhpcy5jcmVhdGVEaWN0KENGRlRvcERpY3QsZyx0LnN0cmluZ3MpO3QuaGVhZGVyPWkub2JqO3QubmFtZXM9dGhpcy5wYXJzZU5hbWVJbmRleChhLm9iaik7dC5zdHJpbmdzPXRoaXMucGFyc2VTdHJpbmdJbmRleChyLm9iaik7dC50b3BEaWN0PW87dC5nbG9iYWxTdWJySW5kZXg9bi5vYmo7dGhpcy5wYXJzZVByaXZhdGVEaWN0KHQudG9wRGljdCk7dC5pc0NJREZvbnQ9by5oYXNOYW1lKCJST1MiKTtjb25zdCBjPW8uZ2V0QnlOYW1lKCJDaGFyU3RyaW5ncyIpLEM9dGhpcy5wYXJzZUluZGV4KGMpLm9iaixoPW8uZ2V0QnlOYW1lKCJGb250TWF0cml4Iik7aCYmKGUuZm9udE1hdHJpeD1oKTtjb25zdCBsPW8uZ2V0QnlOYW1lKCJGb250QkJveCIpO2lmKGwpe2UuYXNjZW50PU1hdGgubWF4KGxbM10sbFsxXSk7ZS5kZXNjZW50PU1hdGgubWluKGxbMV0sbFszXSk7ZS5hc2NlbnRTY2FsZWQ9ITB9bGV0IFEsRTtpZih0LmlzQ0lERm9udCl7Y29uc3QgZT10aGlzLnBhcnNlSW5kZXgoby5nZXRCeU5hbWUoIkZEQXJyYXkiKSkub2JqO2ZvcihsZXQgaT0wLGE9ZS5jb3VudDtpPGE7KytpKXtjb25zdCBhPWUuZ2V0KGkpLHM9dGhpcy5jcmVhdGVEaWN0KENGRlRvcERpY3QsdGhpcy5wYXJzZURpY3QoYSksdC5zdHJpbmdzKTt0aGlzLnBhcnNlUHJpdmF0ZURpY3Qocyk7dC5mZEFycmF5LnB1c2gocyl9RT1udWxsO1E9dGhpcy5wYXJzZUNoYXJzZXRzKG8uZ2V0QnlOYW1lKCJjaGFyc2V0IiksQy5jb3VudCx0LnN0cmluZ3MsITApO3QuZmRTZWxlY3Q9dGhpcy5wYXJzZUZEU2VsZWN0KG8uZ2V0QnlOYW1lKCJGRFNlbGVjdCIpLEMuY291bnQpfWVsc2V7UT10aGlzLnBhcnNlQ2hhcnNldHMoby5nZXRCeU5hbWUoImNoYXJzZXQiKSxDLmNvdW50LHQuc3RyaW5ncywhMSk7RT10aGlzLnBhcnNlRW5jb2Rpbmcoby5nZXRCeU5hbWUoIkVuY29kaW5nIiksZSx0LnN0cmluZ3MsUS5jaGFyc2V0KX10LmNoYXJzZXQ9UTt0LmVuY29kaW5nPUU7Y29uc3QgdT10aGlzLnBhcnNlQ2hhclN0cmluZ3Moe2NoYXJTdHJpbmdzOkMsbG9jYWxTdWJySW5kZXg6by5wcml2YXRlRGljdC5zdWJyc0luZGV4LGdsb2JhbFN1YnJJbmRleDpuLm9iaixmZFNlbGVjdDp0LmZkU2VsZWN0LGZkQXJyYXk6dC5mZEFycmF5LHByaXZhdGVEaWN0Om8ucHJpdmF0ZURpY3R9KTt0LmNoYXJTdHJpbmdzPXUuY2hhclN0cmluZ3M7dC5zZWFjcz11LnNlYWNzO3Qud2lkdGhzPXUud2lkdGhzO3JldHVybiB0fXBhcnNlSGVhZGVyKCl7bGV0IGU9dGhpcy5ieXRlcztjb25zdCB0PWUubGVuZ3RoO2xldCBpPTA7Zm9yKDtpPHQmJjEhPT1lW2ldOykrK2k7aWYoaT49dCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgQ0ZGIGhlYWRlciIpO2lmKDAhPT1pKXtpbmZvKCJjZmYgZGF0YSBpcyBzaGlmdGVkIik7ZT1lLnN1YmFycmF5KGkpO3RoaXMuYnl0ZXM9ZX1jb25zdCBhPWVbMF0scz1lWzFdLHI9ZVsyXSxuPWVbM107cmV0dXJue29iajpuZXcgQ0ZGSGVhZGVyKGEscyxyLG4pLGVuZFBvczpyfX1wYXJzZURpY3QoZSl7bGV0IHQ9MDtmdW5jdGlvbiBwYXJzZU9wZXJhbmQoKXtsZXQgaT1lW3QrK107aWYoMzA9PT1pKXJldHVybiBmdW5jdGlvbiBwYXJzZUZsb2F0T3BlcmFuZCgpe2xldCBpPSIiO2NvbnN0IGE9MTUscz1bIjAiLCIxIiwiMiIsIjMiLCI0IiwiNSIsIjYiLCI3IiwiOCIsIjkiLCIuIiwiRSIsIkUtIixudWxsLCItIl0scj1lLmxlbmd0aDtmb3IoO3Q8cjspe2NvbnN0IHI9ZVt0KytdLG49cj4+NCxnPTE1JnI7aWYobj09PWEpYnJlYWs7aSs9c1tuXTtpZihnPT09YSlicmVhaztpKz1zW2ddfXJldHVybiBwYXJzZUZsb2F0KGkpfSgpO2lmKDI4PT09aSl7aT1lW3QrK107aT0oaTw8MjR8ZVt0KytdPDwxNik+PjE2O3JldHVybiBpfWlmKDI5PT09aSl7aT1lW3QrK107aT1pPDw4fGVbdCsrXTtpPWk8PDh8ZVt0KytdO2k9aTw8OHxlW3QrK107cmV0dXJuIGl9aWYoaT49MzImJmk8PTI0NilyZXR1cm4gaS0xMzk7aWYoaT49MjQ3JiZpPD0yNTApcmV0dXJuIDI1NiooaS0yNDcpK2VbdCsrXSsxMDg7aWYoaT49MjUxJiZpPD0yNTQpcmV0dXJuLTI1NiooaS0yNTEpLWVbdCsrXS0xMDg7d2FybignQ0ZGUGFyc2VyX3BhcnNlRGljdDogIicraSsnIiBpcyBhIHJlc2VydmVkIGNvbW1hbmQuJyk7cmV0dXJuIE5hTn1sZXQgaT1bXTtjb25zdCBhPVtdO3Q9MDtjb25zdCBzPWUubGVuZ3RoO2Zvcig7dDxzOyl7bGV0IHM9ZVt0XTtpZihzPD0yMSl7MTI9PT1zJiYocz1zPDw4fGVbKyt0XSk7YS5wdXNoKFtzLGldKTtpPVtdOysrdH1lbHNlIGkucHVzaChwYXJzZU9wZXJhbmQoKSl9cmV0dXJuIGF9cGFyc2VJbmRleChlKXtjb25zdCB0PW5ldyBDRkZJbmRleCxpPXRoaXMuYnl0ZXMsYT1pW2UrK108PDh8aVtlKytdLHM9W107bGV0IHIsbixnPWU7aWYoMCE9PWEpe2NvbnN0IHQ9aVtlKytdLG89ZSsoYSsxKSp0LTE7Zm9yKHI9MCxuPWErMTtyPG47KytyKXtsZXQgYT0wO2ZvcihsZXQgcz0wO3M8dDsrK3Mpe2E8PD04O2ErPWlbZSsrXX1zLnB1c2gobythKX1nPXNbYV19Zm9yKHI9MCxuPXMubGVuZ3RoLTE7cjxuOysrcil7Y29uc3QgZT1zW3JdLGE9c1tyKzFdO3QuYWRkKGkuc3ViYXJyYXkoZSxhKSl9cmV0dXJue29iajp0LGVuZFBvczpnfX1wYXJzZU5hbWVJbmRleChlKXtjb25zdCB0PVtdO2ZvcihsZXQgaT0wLGE9ZS5jb3VudDtpPGE7KytpKXtjb25zdCBhPWUuZ2V0KGkpO3QucHVzaChieXRlc1RvU3RyaW5nKGEpKX1yZXR1cm4gdH1wYXJzZVN0cmluZ0luZGV4KGUpe2NvbnN0IHQ9bmV3IENGRlN0cmluZ3M7Zm9yKGxldCBpPTAsYT1lLmNvdW50O2k8YTsrK2kpe2NvbnN0IGE9ZS5nZXQoaSk7dC5hZGQoYnl0ZXNUb1N0cmluZyhhKSl9cmV0dXJuIHR9Y3JlYXRlRGljdChlLHQsaSl7Y29uc3QgYT1uZXcgZShpKTtmb3IoY29uc3RbZSxpXW9mIHQpYS5zZXRCeUtleShlLGkpO3JldHVybiBhfXBhcnNlQ2hhclN0cmluZyhlLHQsaSxhKXtpZighdHx8ZS5jYWxsRGVwdGg+MTApcmV0dXJuITE7bGV0IHM9ZS5zdGFja1NpemU7Y29uc3Qgcj1lLnN0YWNrO2xldCBuPXQubGVuZ3RoO2ZvcihsZXQgZz0wO2c8bjspe2NvbnN0IG89dFtnKytdO2xldCBjPW51bGw7aWYoMTI9PT1vKXtjb25zdCBlPXRbZysrXTtpZigwPT09ZSl7dFtnLTJdPTEzOTt0W2ctMV09MjI7cz0wfWVsc2UgYz1SaVtlXX1lbHNlIGlmKDI4PT09byl7cltzXT0odFtnXTw8MjR8dFtnKzFdPDwxNik+PjE2O2crPTI7cysrfWVsc2UgaWYoMTQ9PT1vKXtpZihzPj00KXtzLT00O2lmKHRoaXMuc2VhY0FuYWx5c2lzRW5hYmxlZCl7ZS5zZWFjPXIuc2xpY2UocyxzKzQpO3JldHVybiExfX1jPWtpW29dfWVsc2UgaWYobz49MzImJm88PTI0Nil7cltzXT1vLTEzOTtzKyt9ZWxzZSBpZihvPj0yNDcmJm88PTI1NCl7cltzXT1vPDI1MT8oby0yNDc8PDgpK3RbZ10rMTA4Oi0oby0yNTE8PDgpLXRbZ10tMTA4O2crKztzKyt9ZWxzZSBpZigyNTU9PT1vKXtyW3NdPSh0W2ddPDwyNHx0W2crMV08PDE2fHRbZysyXTw8OHx0W2crM10pLzY1NTM2O2crPTQ7cysrfWVsc2UgaWYoMTk9PT1vfHwyMD09PW8pe2UuaGludHMrPXM+PjE7aWYoMD09PWUuaGludHMpe3QuY29weVdpdGhpbihnLTEsZywtMSk7Zy09MTtuLT0xO2NvbnRpbnVlfWcrPWUuaGludHMrNz4+MztzJT0yO2M9a2lbb119ZWxzZXtpZigxMD09PW98fDI5PT09byl7Y29uc3QgdD0xMD09PW8/aTphO2lmKCF0KXtjPWtpW29dO3dhcm4oIk1pc3Npbmcgc3VicnNJbmRleCBmb3IgIitjLmlkKTtyZXR1cm4hMX1sZXQgbj0zMjc2ODt0LmNvdW50PDEyNDA/bj0xMDc6dC5jb3VudDwzMzkwMCYmKG49MTEzMSk7Y29uc3QgZz1yWy0tc10rbjtpZihnPDB8fGc+PXQuY291bnR8fGlzTmFOKGcpKXtjPWtpW29dO3dhcm4oIk91dCBvZiBib3VuZHMgc3VickluZGV4IGZvciAiK2MuaWQpO3JldHVybiExfWUuc3RhY2tTaXplPXM7ZS5jYWxsRGVwdGgrKztpZighdGhpcy5wYXJzZUNoYXJTdHJpbmcoZSx0LmdldChnKSxpLGEpKXJldHVybiExO2UuY2FsbERlcHRoLS07cz1lLnN0YWNrU2l6ZTtjb250aW51ZX1pZigxMT09PW8pe2Uuc3RhY2tTaXplPXM7cmV0dXJuITB9aWYoMD09PW8mJmc9PT10Lmxlbmd0aCl7dFtnLTFdPTE0O2M9a2lbMTRdfWVsc2V7aWYoOT09PW8pe3QuY29weVdpdGhpbihnLTEsZywtMSk7Zy09MTtuLT0xO2NvbnRpbnVlfWM9a2lbb119fWlmKGMpe2lmKGMuc3RlbSl7ZS5oaW50cys9cz4+MTtpZigzPT09b3x8MjM9PT1vKWUuaGFzVlN0ZW1zPSEwO2Vsc2UgaWYoZS5oYXNWU3RlbXMmJigxPT09b3x8MTg9PT1vKSl7d2FybigiQ0ZGIHN0ZW0gaGludHMgYXJlIGluIHdyb25nIG9yZGVyIik7dFtnLTFdPTE9PT1vPzM6MjN9fWlmKCJtaW4iaW4gYyYmIWUudW5kZWZTdGFjayYmczxjLm1pbil7d2FybigiTm90IGVub3VnaCBwYXJhbWV0ZXJzIGZvciAiK2MuaWQrIjsgYWN0dWFsOiAiK3MrIiwgZXhwZWN0ZWQ6ICIrYy5taW4pO2lmKDA9PT1zKXt0W2ctMV09MTQ7cmV0dXJuITB9cmV0dXJuITF9aWYoZS5maXJzdFN0YWNrQ2xlYXJpbmcmJmMuc3RhY2tDbGVhcmluZyl7ZS5maXJzdFN0YWNrQ2xlYXJpbmc9ITE7cy09Yy5taW47cz49MiYmYy5zdGVtP3MlPTI6cz4xJiZ3YXJuKCJGb3VuZCB0b28gbWFueSBwYXJhbWV0ZXJzIGZvciBzdGFjay1jbGVhcmluZyBjb21tYW5kIik7cz4wJiYoZS53aWR0aD1yW3MtMV0pfWlmKCJzdGFja0RlbHRhImluIGMpeyJzdGFja0ZuImluIGMmJmMuc3RhY2tGbihyLHMpO3MrPWMuc3RhY2tEZWx0YX1lbHNlIGlmKGMuc3RhY2tDbGVhcmluZylzPTA7ZWxzZSBpZihjLnJlc2V0U3RhY2spe3M9MDtlLnVuZGVmU3RhY2s9ITF9ZWxzZSBpZihjLnVuZGVmU3RhY2spe3M9MDtlLnVuZGVmU3RhY2s9ITA7ZS5maXJzdFN0YWNrQ2xlYXJpbmc9ITF9fX1uPHQubGVuZ3RoJiZ0LmZpbGwoMTQsbik7ZS5zdGFja1NpemU9cztyZXR1cm4hMH1wYXJzZUNoYXJTdHJpbmdzKHtjaGFyU3RyaW5nczplLGxvY2FsU3VickluZGV4OnQsZ2xvYmFsU3VickluZGV4OmksZmRTZWxlY3Q6YSxmZEFycmF5OnMscHJpdmF0ZURpY3Q6cn0pe2NvbnN0IG49W10sZz1bXSxvPWUuY291bnQ7Zm9yKGxldCBjPTA7YzxvO2MrKyl7Y29uc3Qgbz1lLmdldChjKSxDPXtjYWxsRGVwdGg6MCxzdGFja1NpemU6MCxzdGFjazpbXSx1bmRlZlN0YWNrOiEwLGhpbnRzOjAsZmlyc3RTdGFja0NsZWFyaW5nOiEwLHNlYWM6bnVsbCx3aWR0aDpudWxsLGhhc1ZTdGVtczohMX07bGV0IGg9ITAsbD1udWxsLFE9cjtpZihhJiZzLmxlbmd0aCl7Y29uc3QgZT1hLmdldEZESW5kZXgoYyk7aWYoLTE9PT1lKXt3YXJuKCJHbHlwaCBpbmRleCBpcyBub3QgaW4gZmQgc2VsZWN0LiIpO2g9ITF9aWYoZT49cy5sZW5ndGgpe3dhcm4oIkludmFsaWQgZmQgaW5kZXggZm9yIGdseXBoIGluZGV4LiIpO2g9ITF9aWYoaCl7UT1zW2VdLnByaXZhdGVEaWN0O2w9US5zdWJyc0luZGV4fX1lbHNlIHQmJihsPXQpO2gmJihoPXRoaXMucGFyc2VDaGFyU3RyaW5nKEMsbyxsLGkpKTtpZihudWxsIT09Qy53aWR0aCl7Y29uc3QgZT1RLmdldEJ5TmFtZSgibm9taW5hbFdpZHRoWCIpO2dbY109ZStDLndpZHRofWVsc2V7Y29uc3QgZT1RLmdldEJ5TmFtZSgiZGVmYXVsdFdpZHRoWCIpO2dbY109ZX1udWxsIT09Qy5zZWFjJiYobltjXT1DLnNlYWMpO2h8fGUuc2V0KGMsbmV3IFVpbnQ4QXJyYXkoWzE0XSkpfXJldHVybntjaGFyU3RyaW5nczplLHNlYWNzOm4sd2lkdGhzOmd9fWVtcHR5UHJpdmF0ZURpY3Rpb25hcnkoZSl7Y29uc3QgdD10aGlzLmNyZWF0ZURpY3QoQ0ZGUHJpdmF0ZURpY3QsW10sZS5zdHJpbmdzKTtlLnNldEJ5S2V5KDE4LFswLDBdKTtlLnByaXZhdGVEaWN0PXR9cGFyc2VQcml2YXRlRGljdChlKXtpZighZS5oYXNOYW1lKCJQcml2YXRlIikpe3RoaXMuZW1wdHlQcml2YXRlRGljdGlvbmFyeShlKTtyZXR1cm59Y29uc3QgdD1lLmdldEJ5TmFtZSgiUHJpdmF0ZSIpO2lmKCFBcnJheS5pc0FycmF5KHQpfHwyIT09dC5sZW5ndGgpe2UucmVtb3ZlQnlOYW1lKCJQcml2YXRlIik7cmV0dXJufWNvbnN0IGk9dFswXSxhPXRbMV07aWYoMD09PWl8fGE+PXRoaXMuYnl0ZXMubGVuZ3RoKXt0aGlzLmVtcHR5UHJpdmF0ZURpY3Rpb25hcnkoZSk7cmV0dXJufWNvbnN0IHM9YStpLHI9dGhpcy5ieXRlcy5zdWJhcnJheShhLHMpLG49dGhpcy5wYXJzZURpY3QociksZz10aGlzLmNyZWF0ZURpY3QoQ0ZGUHJpdmF0ZURpY3QsbixlLnN0cmluZ3MpO2UucHJpdmF0ZURpY3Q9ZzswPT09Zy5nZXRCeU5hbWUoIkV4cGFuc2lvbkZhY3RvciIpJiZnLnNldEJ5TmFtZSgiRXhwYW5zaW9uRmFjdG9yIiwuMDYpO2lmKCFnLmdldEJ5TmFtZSgiU3VicnMiKSlyZXR1cm47Y29uc3Qgbz1nLmdldEJ5TmFtZSgiU3VicnMiKSxjPWErbztpZigwPT09b3x8Yz49dGhpcy5ieXRlcy5sZW5ndGgpe3RoaXMuZW1wdHlQcml2YXRlRGljdGlvbmFyeShlKTtyZXR1cm59Y29uc3QgQz10aGlzLnBhcnNlSW5kZXgoYyk7Zy5zdWJyc0luZGV4PUMub2JqfXBhcnNlQ2hhcnNldHMoZSx0LGksYSl7aWYoMD09PWUpcmV0dXJuIG5ldyBDRkZDaGFyc2V0KCEwLHhpLklTT19BRE9CRSxFaSk7aWYoMT09PWUpcmV0dXJuIG5ldyBDRkZDaGFyc2V0KCEwLHhpLkVYUEVSVCx1aSk7aWYoMj09PWUpcmV0dXJuIG5ldyBDRkZDaGFyc2V0KCEwLHhpLkVYUEVSVF9TVUJTRVQsZGkpO2NvbnN0IHM9dGhpcy5ieXRlcyxyPWUsbj1zW2UrK10sZz1bYT8wOiIubm90ZGVmIl07bGV0IG8sYyxDO3QtPTE7c3dpdGNoKG4pe2Nhc2UgMDpmb3IoQz0wO0M8dDtDKyspe289c1tlKytdPDw4fHNbZSsrXTtnLnB1c2goYT9vOmkuZ2V0KG8pKX1icmVhaztjYXNlIDE6Zm9yKDtnLmxlbmd0aDw9dDspe289c1tlKytdPDw4fHNbZSsrXTtjPXNbZSsrXTtmb3IoQz0wO0M8PWM7QysrKWcucHVzaChhP28rKzppLmdldChvKyspKX1icmVhaztjYXNlIDI6Zm9yKDtnLmxlbmd0aDw9dDspe289c1tlKytdPDw4fHNbZSsrXTtjPXNbZSsrXTw8OHxzW2UrK107Zm9yKEM9MDtDPD1jO0MrKylnLnB1c2goYT9vKys6aS5nZXQobysrKSl9YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gY2hhcnNldCBmb3JtYXQiKX1jb25zdCBoPWUsbD1zLnN1YmFycmF5KHIsaCk7cmV0dXJuIG5ldyBDRkZDaGFyc2V0KCExLG4sZyxsKX1wYXJzZUVuY29kaW5nKGUsdCxpLGEpe2NvbnN0IHM9T2JqZWN0LmNyZWF0ZShudWxsKSxyPXRoaXMuYnl0ZXM7bGV0IG4sZyxvLGM9ITEsQz1udWxsO2lmKDA9PT1lfHwxPT09ZSl7Yz0hMDtuPWU7Y29uc3QgdD1lP2ZpOnlpO2ZvcihnPTAsbz1hLmxlbmd0aDtnPG87ZysrKXtjb25zdCBlPXQuaW5kZXhPZihhW2ddKTstMSE9PWUmJihzW2VdPWcpfX1lbHNle2NvbnN0IHQ9ZTtuPXJbZSsrXTtzd2l0Y2goMTI3Jm4pe2Nhc2UgMDpjb25zdCB0PXJbZSsrXTtmb3IoZz0xO2c8PXQ7ZysrKXNbcltlKytdXT1nO2JyZWFrO2Nhc2UgMTpjb25zdCBpPXJbZSsrXTtsZXQgYT0xO2ZvcihnPTA7ZzxpO2crKyl7Y29uc3QgdD1yW2UrK10saT1yW2UrK107Zm9yKGxldCBlPXQ7ZTw9dCtpO2UrKylzW2VdPWErK31icmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5rbm93biBlbmNvZGluZyBmb3JtYXQ6ICR7bn0gaW4gQ0ZGYCl9Y29uc3Qgbz1lO2lmKDEyOCZuKXtyW3RdJj0xMjc7IWZ1bmN0aW9uIHJlYWRTdXBwbGVtZW50KCl7Y29uc3QgdD1yW2UrK107Zm9yKGc9MDtnPHQ7ZysrKXtjb25zdCB0PXJbZSsrXSxuPShyW2UrK108PDgpKygyNTUmcltlKytdKTtzW3RdPWEuaW5kZXhPZihpLmdldChuKSl9fSgpfUM9ci5zdWJhcnJheSh0LG8pfW4mPTEyNztyZXR1cm4gbmV3IENGRkVuY29kaW5nKGMsbixzLEMpfXBhcnNlRkRTZWxlY3QoZSx0KXtjb25zdCBpPXRoaXMuYnl0ZXMsYT1pW2UrK10scz1bXTtsZXQgcjtzd2l0Y2goYSl7Y2FzZSAwOmZvcihyPTA7cjx0Oysrcil7Y29uc3QgdD1pW2UrK107cy5wdXNoKHQpfWJyZWFrO2Nhc2UgMzpjb25zdCBuPWlbZSsrXTw8OHxpW2UrK107Zm9yKHI9MDtyPG47KytyKXtsZXQgdD1pW2UrK108PDh8aVtlKytdO2lmKDA9PT1yJiYwIT09dCl7d2FybigicGFyc2VGRFNlbGVjdDogVGhlIGZpcnN0IHJhbmdlIG11c3QgaGF2ZSBhIGZpcnN0IEdJRCBvZiAwIC0tIHRyeWluZyB0byByZWNvdmVyLiIpO3Q9MH1jb25zdCBhPWlbZSsrXSxuPWlbZV08PDh8aVtlKzFdO2ZvcihsZXQgZT10O2U8bjsrK2Upcy5wdXNoKGEpfWUrPTI7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYHBhcnNlRkRTZWxlY3Q6IFVua25vd24gZm9ybWF0ICIke2F9Ii5gKX1pZihzLmxlbmd0aCE9PXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJwYXJzZUZEU2VsZWN0OiBJbnZhbGlkIGZvbnQgZGF0YS4iKTtyZXR1cm4gbmV3IENGRkZEU2VsZWN0KGEscyl9fWNsYXNzIENGRntjb25zdHJ1Y3Rvcigpe3RoaXMuaGVhZGVyPW51bGw7dGhpcy5uYW1lcz1bXTt0aGlzLnRvcERpY3Q9bnVsbDt0aGlzLnN0cmluZ3M9bmV3IENGRlN0cmluZ3M7dGhpcy5nbG9iYWxTdWJySW5kZXg9bnVsbDt0aGlzLmVuY29kaW5nPW51bGw7dGhpcy5jaGFyc2V0PW51bGw7dGhpcy5jaGFyU3RyaW5ncz1udWxsO3RoaXMuZmRBcnJheT1bXTt0aGlzLmZkU2VsZWN0PW51bGw7dGhpcy5pc0NJREZvbnQ9ITF9ZHVwbGljYXRlRmlyc3RHbHlwaCgpe2lmKHRoaXMuY2hhclN0cmluZ3MuY291bnQ+PTY1NTM1KXt3YXJuKCJOb3QgZW5vdWdoIHNwYWNlIGluIGNoYXJzdHJpbmdzIHRvIGR1cGxpY2F0ZSBmaXJzdCBnbHlwaC4iKTtyZXR1cm59Y29uc3QgZT10aGlzLmNoYXJTdHJpbmdzLmdldCgwKTt0aGlzLmNoYXJTdHJpbmdzLmFkZChlKTt0aGlzLmlzQ0lERm9udCYmdGhpcy5mZFNlbGVjdC5mZFNlbGVjdC5wdXNoKHRoaXMuZmRTZWxlY3QuZmRTZWxlY3RbMF0pfWhhc0dseXBoSWQoZSl7aWYoZTwwfHxlPj10aGlzLmNoYXJTdHJpbmdzLmNvdW50KXJldHVybiExO3JldHVybiB0aGlzLmNoYXJTdHJpbmdzLmdldChlKS5sZW5ndGg+MH19Y2xhc3MgQ0ZGSGVhZGVye2NvbnN0cnVjdG9yKGUsdCxpLGEpe3RoaXMubWFqb3I9ZTt0aGlzLm1pbm9yPXQ7dGhpcy5oZHJTaXplPWk7dGhpcy5vZmZTaXplPWF9fWNsYXNzIENGRlN0cmluZ3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0cmluZ3M9W119Z2V0KGUpe3JldHVybiBlPj0wJiZlPD0zOTA/RmlbZV06ZS1TaTw9dGhpcy5zdHJpbmdzLmxlbmd0aD90aGlzLnN0cmluZ3NbZS1TaV06RmlbMF19Z2V0U0lEKGUpe2xldCB0PUZpLmluZGV4T2YoZSk7aWYoLTEhPT10KXJldHVybiB0O3Q9dGhpcy5zdHJpbmdzLmluZGV4T2YoZSk7cmV0dXJuLTEhPT10P3QrU2k6LTF9YWRkKGUpe3RoaXMuc3RyaW5ncy5wdXNoKGUpfWdldCBjb3VudCgpe3JldHVybiB0aGlzLnN0cmluZ3MubGVuZ3RofX1jbGFzcyBDRkZJbmRleHtjb25zdHJ1Y3Rvcigpe3RoaXMub2JqZWN0cz1bXTt0aGlzLmxlbmd0aD0wfWFkZChlKXt0aGlzLmxlbmd0aCs9ZS5sZW5ndGg7dGhpcy5vYmplY3RzLnB1c2goZSl9c2V0KGUsdCl7dGhpcy5sZW5ndGgrPXQubGVuZ3RoLXRoaXMub2JqZWN0c1tlXS5sZW5ndGg7dGhpcy5vYmplY3RzW2VdPXR9Z2V0KGUpe3JldHVybiB0aGlzLm9iamVjdHNbZV19Z2V0IGNvdW50KCl7cmV0dXJuIHRoaXMub2JqZWN0cy5sZW5ndGh9fWNsYXNzIENGRkRpY3R7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmtleVRvTmFtZU1hcD1lLmtleVRvTmFtZU1hcDt0aGlzLm5hbWVUb0tleU1hcD1lLm5hbWVUb0tleU1hcDt0aGlzLmRlZmF1bHRzPWUuZGVmYXVsdHM7dGhpcy50eXBlcz1lLnR5cGVzO3RoaXMub3Bjb2Rlcz1lLm9wY29kZXM7dGhpcy5vcmRlcj1lLm9yZGVyO3RoaXMuc3RyaW5ncz10O3RoaXMudmFsdWVzPU9iamVjdC5jcmVhdGUobnVsbCl9c2V0QnlLZXkoZSx0KXtpZighKGUgaW4gdGhpcy5rZXlUb05hbWVNYXApKXJldHVybiExO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4hMDtmb3IoY29uc3QgaSBvZiB0KWlmKGlzTmFOKGkpKXt3YXJuKGBJbnZhbGlkIENGRkRpY3QgdmFsdWU6ICIke3R9IiBmb3Iga2V5ICIke2V9Ii5gKTtyZXR1cm4hMH1jb25zdCBpPXRoaXMudHlwZXNbZV07Im51bSIhPT1pJiYic2lkIiE9PWkmJiJvZmZzZXQiIT09aXx8KHQ9dFswXSk7dGhpcy52YWx1ZXNbZV09dDtyZXR1cm4hMH1zZXRCeU5hbWUoZSx0KXtpZighKGUgaW4gdGhpcy5uYW1lVG9LZXlNYXApKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBkaWN0aW9uYXJ5IG5hbWUgIiR7ZX0iYCk7dGhpcy52YWx1ZXNbdGhpcy5uYW1lVG9LZXlNYXBbZV1dPXR9aGFzTmFtZShlKXtyZXR1cm4gdGhpcy5uYW1lVG9LZXlNYXBbZV1pbiB0aGlzLnZhbHVlc31nZXRCeU5hbWUoZSl7aWYoIShlIGluIHRoaXMubmFtZVRvS2V5TWFwKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgZGljdGlvbmFyeSBuYW1lICR7ZX0iYCk7Y29uc3QgdD10aGlzLm5hbWVUb0tleU1hcFtlXTtyZXR1cm4gdCBpbiB0aGlzLnZhbHVlcz90aGlzLnZhbHVlc1t0XTp0aGlzLmRlZmF1bHRzW3RdfXJlbW92ZUJ5TmFtZShlKXtkZWxldGUgdGhpcy52YWx1ZXNbdGhpcy5uYW1lVG9LZXlNYXBbZV1dfXN0YXRpYyBjcmVhdGVUYWJsZXMoZSl7Y29uc3QgdD17a2V5VG9OYW1lTWFwOnt9LG5hbWVUb0tleU1hcDp7fSxkZWZhdWx0czp7fSx0eXBlczp7fSxvcGNvZGVzOnt9LG9yZGVyOltdfTtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPUFycmF5LmlzQXJyYXkoaVswXSk/KGlbMF1bMF08PDgpK2lbMF1bMV06aVswXTt0LmtleVRvTmFtZU1hcFtlXT1pWzFdO3QubmFtZVRvS2V5TWFwW2lbMV1dPWU7dC50eXBlc1tlXT1pWzJdO3QuZGVmYXVsdHNbZV09aVszXTt0Lm9wY29kZXNbZV09QXJyYXkuaXNBcnJheShpWzBdKT9pWzBdOltpWzBdXTt0Lm9yZGVyLnB1c2goZSl9cmV0dXJuIHR9fWNvbnN0IE5pPVtbWzEyLDMwXSwiUk9TIixbInNpZCIsInNpZCIsIm51bSJdLG51bGxdLFtbMTIsMjBdLCJTeW50aGV0aWNCYXNlIiwibnVtIixudWxsXSxbMCwidmVyc2lvbiIsInNpZCIsbnVsbF0sWzEsIk5vdGljZSIsInNpZCIsbnVsbF0sW1sxMiwwXSwiQ29weXJpZ2h0Iiwic2lkIixudWxsXSxbMiwiRnVsbE5hbWUiLCJzaWQiLG51bGxdLFszLCJGYW1pbHlOYW1lIiwic2lkIixudWxsXSxbNCwiV2VpZ2h0Iiwic2lkIixudWxsXSxbWzEyLDFdLCJpc0ZpeGVkUGl0Y2giLCJudW0iLDBdLFtbMTIsMl0sIkl0YWxpY0FuZ2xlIiwibnVtIiwwXSxbWzEyLDNdLCJVbmRlcmxpbmVQb3NpdGlvbiIsIm51bSIsLTEwMF0sW1sxMiw0XSwiVW5kZXJsaW5lVGhpY2tuZXNzIiwibnVtIiw1MF0sW1sxMiw1XSwiUGFpbnRUeXBlIiwibnVtIiwwXSxbWzEyLDZdLCJDaGFyc3RyaW5nVHlwZSIsIm51bSIsMl0sW1sxMiw3XSwiRm9udE1hdHJpeCIsWyJudW0iLCJudW0iLCJudW0iLCJudW0iLCJudW0iLCJudW0iXSxbLjAwMSwwLDAsLjAwMSwwLDBdXSxbMTMsIlVuaXF1ZUlEIiwibnVtIixudWxsXSxbNSwiRm9udEJCb3giLFsibnVtIiwibnVtIiwibnVtIiwibnVtIl0sWzAsMCwwLDBdXSxbWzEyLDhdLCJTdHJva2VXaWR0aCIsIm51bSIsMF0sWzE0LCJYVUlEIiwiYXJyYXkiLG51bGxdLFsxNSwiY2hhcnNldCIsIm9mZnNldCIsMF0sWzE2LCJFbmNvZGluZyIsIm9mZnNldCIsMF0sWzE3LCJDaGFyU3RyaW5ncyIsIm9mZnNldCIsMF0sWzE4LCJQcml2YXRlIixbIm9mZnNldCIsIm9mZnNldCJdLG51bGxdLFtbMTIsMjFdLCJQb3N0U2NyaXB0Iiwic2lkIixudWxsXSxbWzEyLDIyXSwiQmFzZUZvbnROYW1lIiwic2lkIixudWxsXSxbWzEyLDIzXSwiQmFzZUZvbnRCbGVuZCIsImRlbHRhIixudWxsXSxbWzEyLDMxXSwiQ0lERm9udFZlcnNpb24iLCJudW0iLDBdLFtbMTIsMzJdLCJDSURGb250UmV2aXNpb24iLCJudW0iLDBdLFtbMTIsMzNdLCJDSURGb250VHlwZSIsIm51bSIsMF0sW1sxMiwzNF0sIkNJRENvdW50IiwibnVtIiw4NzIwXSxbWzEyLDM1XSwiVUlEQmFzZSIsIm51bSIsbnVsbF0sW1sxMiwzN10sIkZEU2VsZWN0Iiwib2Zmc2V0IixudWxsXSxbWzEyLDM2XSwiRkRBcnJheSIsIm9mZnNldCIsbnVsbF0sW1sxMiwzOF0sIkZvbnROYW1lIiwic2lkIixudWxsXV07Y2xhc3MgQ0ZGVG9wRGljdCBleHRlbmRzIENGRkRpY3R7c3RhdGljIGdldCB0YWJsZXMoKXtyZXR1cm4gc2hhZG93KHRoaXMsInRhYmxlcyIsdGhpcy5jcmVhdGVUYWJsZXMoTmkpKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihDRkZUb3BEaWN0LnRhYmxlcyxlKTt0aGlzLnByaXZhdGVEaWN0PW51bGx9fWNvbnN0IEdpPVtbNiwiQmx1ZVZhbHVlcyIsImRlbHRhIixudWxsXSxbNywiT3RoZXJCbHVlcyIsImRlbHRhIixudWxsXSxbOCwiRmFtaWx5Qmx1ZXMiLCJkZWx0YSIsbnVsbF0sWzksIkZhbWlseU90aGVyQmx1ZXMiLCJkZWx0YSIsbnVsbF0sW1sxMiw5XSwiQmx1ZVNjYWxlIiwibnVtIiwuMDM5NjI1XSxbWzEyLDEwXSwiQmx1ZVNoaWZ0IiwibnVtIiw3XSxbWzEyLDExXSwiQmx1ZUZ1enoiLCJudW0iLDFdLFsxMCwiU3RkSFciLCJudW0iLG51bGxdLFsxMSwiU3RkVlciLCJudW0iLG51bGxdLFtbMTIsMTJdLCJTdGVtU25hcEgiLCJkZWx0YSIsbnVsbF0sW1sxMiwxM10sIlN0ZW1TbmFwViIsImRlbHRhIixudWxsXSxbWzEyLDE0XSwiRm9yY2VCb2xkIiwibnVtIiwwXSxbWzEyLDE3XSwiTGFuZ3VhZ2VHcm91cCIsIm51bSIsMF0sW1sxMiwxOF0sIkV4cGFuc2lvbkZhY3RvciIsIm51bSIsLjA2XSxbWzEyLDE5XSwiaW5pdGlhbFJhbmRvbVNlZWQiLCJudW0iLDBdLFsyMCwiZGVmYXVsdFdpZHRoWCIsIm51bSIsMF0sWzIxLCJub21pbmFsV2lkdGhYIiwibnVtIiwwXSxbMTksIlN1YnJzIiwib2Zmc2V0IixudWxsXV07Y2xhc3MgQ0ZGUHJpdmF0ZURpY3QgZXh0ZW5kcyBDRkZEaWN0e3N0YXRpYyBnZXQgdGFibGVzKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJ0YWJsZXMiLHRoaXMuY3JlYXRlVGFibGVzKEdpKSl9Y29uc3RydWN0b3IoZSl7c3VwZXIoQ0ZGUHJpdmF0ZURpY3QudGFibGVzLGUpO3RoaXMuc3VicnNJbmRleD1udWxsfX1jb25zdCB4aT17SVNPX0FET0JFOjAsRVhQRVJUOjEsRVhQRVJUX1NVQlNFVDoyfTtjbGFzcyBDRkZDaGFyc2V0e2NvbnN0cnVjdG9yKGUsdCxpLGEpe3RoaXMucHJlZGVmaW5lZD1lO3RoaXMuZm9ybWF0PXQ7dGhpcy5jaGFyc2V0PWk7dGhpcy5yYXc9YX19Y2xhc3MgQ0ZGRW5jb2Rpbmd7Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5wcmVkZWZpbmVkPWU7dGhpcy5mb3JtYXQ9dDt0aGlzLmVuY29kaW5nPWk7dGhpcy5yYXc9YX19Y2xhc3MgQ0ZGRkRTZWxlY3R7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZvcm1hdD1lO3RoaXMuZmRTZWxlY3Q9dH1nZXRGREluZGV4KGUpe3JldHVybiBlPDB8fGU+PXRoaXMuZmRTZWxlY3QubGVuZ3RoPy0xOnRoaXMuZmRTZWxlY3RbZV19fWNsYXNzIENGRk9mZnNldFRyYWNrZXJ7Y29uc3RydWN0b3IoKXt0aGlzLm9mZnNldHM9T2JqZWN0LmNyZWF0ZShudWxsKX1pc1RyYWNraW5nKGUpe3JldHVybiBlIGluIHRoaXMub2Zmc2V0c310cmFjayhlLHQpe2lmKGUgaW4gdGhpcy5vZmZzZXRzKXRocm93IG5ldyBGb3JtYXRFcnJvcihgQWxyZWFkeSB0cmFja2luZyBsb2NhdGlvbiBvZiAke2V9YCk7dGhpcy5vZmZzZXRzW2VdPXR9b2Zmc2V0KGUpe2Zvcihjb25zdCB0IGluIHRoaXMub2Zmc2V0cyl0aGlzLm9mZnNldHNbdF0rPWV9c2V0RW50cnlMb2NhdGlvbihlLHQsaSl7aWYoIShlIGluIHRoaXMub2Zmc2V0cykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBOb3QgdHJhY2tpbmcgbG9jYXRpb24gb2YgJHtlfWApO2NvbnN0IGE9aS5kYXRhLHM9dGhpcy5vZmZzZXRzW2VdO2ZvcihsZXQgZT0wLGk9dC5sZW5ndGg7ZTxpOysrZSl7Y29uc3QgaT01KmUrcyxyPWkrMSxuPWkrMixnPWkrMyxvPWkrNDtpZigyOSE9PWFbaV18fDAhPT1hW3JdfHwwIT09YVtuXXx8MCE9PWFbZ118fDAhPT1hW29dKXRocm93IG5ldyBGb3JtYXRFcnJvcigid3JpdGluZyB0byBhbiBvZmZzZXQgdGhhdCBpcyBub3QgZW1wdHkiKTtjb25zdCBjPXRbZV07YVtpXT0yOTthW3JdPWM+PjI0JjI1NTthW25dPWM+PjE2JjI1NTthW2ddPWM+PjgmMjU1O2Fbb109MjU1JmN9fX1jbGFzcyBDRkZDb21waWxlcntjb25zdHJ1Y3RvcihlKXt0aGlzLmNmZj1lfWNvbXBpbGUoKXtjb25zdCBlPXRoaXMuY2ZmLHQ9e2RhdGE6W10sbGVuZ3RoOjAsYWRkKGUpe3RyeXt0aGlzLmRhdGEucHVzaCguLi5lKX1jYXRjaHt0aGlzLmRhdGE9dGhpcy5kYXRhLmNvbmNhdChlKX10aGlzLmxlbmd0aD10aGlzLmRhdGEubGVuZ3RofX0saT10aGlzLmNvbXBpbGVIZWFkZXIoZS5oZWFkZXIpO3QuYWRkKGkpO2NvbnN0IGE9dGhpcy5jb21waWxlTmFtZUluZGV4KGUubmFtZXMpO3QuYWRkKGEpO2lmKGUuaXNDSURGb250JiZlLnRvcERpY3QuaGFzTmFtZSgiRm9udE1hdHJpeCIpKXtjb25zdCB0PWUudG9wRGljdC5nZXRCeU5hbWUoIkZvbnRNYXRyaXgiKTtlLnRvcERpY3QucmVtb3ZlQnlOYW1lKCJGb250TWF0cml4Iik7Zm9yKGNvbnN0IGkgb2YgZS5mZEFycmF5KXtsZXQgZT10LnNsaWNlKDApO2kuaGFzTmFtZSgiRm9udE1hdHJpeCIpJiYoZT1VdGlsLnRyYW5zZm9ybShlLGkuZ2V0QnlOYW1lKCJGb250TWF0cml4IikpKTtpLnNldEJ5TmFtZSgiRm9udE1hdHJpeCIsZSl9fWNvbnN0IHM9ZS50b3BEaWN0LmdldEJ5TmFtZSgiWFVJRCIpO3M/Lmxlbmd0aD4xNiYmZS50b3BEaWN0LnJlbW92ZUJ5TmFtZSgiWFVJRCIpO2UudG9wRGljdC5zZXRCeU5hbWUoImNoYXJzZXQiLDApO2xldCByPXRoaXMuY29tcGlsZVRvcERpY3RzKFtlLnRvcERpY3RdLHQubGVuZ3RoLGUuaXNDSURGb250KTt0LmFkZChyLm91dHB1dCk7Y29uc3Qgbj1yLnRyYWNrZXJzWzBdLGc9dGhpcy5jb21waWxlU3RyaW5nSW5kZXgoZS5zdHJpbmdzLnN0cmluZ3MpO3QuYWRkKGcpO2NvbnN0IG89dGhpcy5jb21waWxlSW5kZXgoZS5nbG9iYWxTdWJySW5kZXgpO3QuYWRkKG8pO2lmKGUuZW5jb2RpbmcmJmUudG9wRGljdC5oYXNOYW1lKCJFbmNvZGluZyIpKWlmKGUuZW5jb2RpbmcucHJlZGVmaW5lZCluLnNldEVudHJ5TG9jYXRpb24oIkVuY29kaW5nIixbZS5lbmNvZGluZy5mb3JtYXRdLHQpO2Vsc2V7Y29uc3QgaT10aGlzLmNvbXBpbGVFbmNvZGluZyhlLmVuY29kaW5nKTtuLnNldEVudHJ5TG9jYXRpb24oIkVuY29kaW5nIixbdC5sZW5ndGhdLHQpO3QuYWRkKGkpfWNvbnN0IGM9dGhpcy5jb21waWxlQ2hhcnNldChlLmNoYXJzZXQsZS5jaGFyU3RyaW5ncy5jb3VudCxlLnN0cmluZ3MsZS5pc0NJREZvbnQpO24uc2V0RW50cnlMb2NhdGlvbigiY2hhcnNldCIsW3QubGVuZ3RoXSx0KTt0LmFkZChjKTtjb25zdCBDPXRoaXMuY29tcGlsZUNoYXJTdHJpbmdzKGUuY2hhclN0cmluZ3MpO24uc2V0RW50cnlMb2NhdGlvbigiQ2hhclN0cmluZ3MiLFt0Lmxlbmd0aF0sdCk7dC5hZGQoQyk7aWYoZS5pc0NJREZvbnQpe24uc2V0RW50cnlMb2NhdGlvbigiRkRTZWxlY3QiLFt0Lmxlbmd0aF0sdCk7Y29uc3QgaT10aGlzLmNvbXBpbGVGRFNlbGVjdChlLmZkU2VsZWN0KTt0LmFkZChpKTtyPXRoaXMuY29tcGlsZVRvcERpY3RzKGUuZmRBcnJheSx0Lmxlbmd0aCwhMCk7bi5zZXRFbnRyeUxvY2F0aW9uKCJGREFycmF5IixbdC5sZW5ndGhdLHQpO3QuYWRkKHIub3V0cHV0KTtjb25zdCBhPXIudHJhY2tlcnM7dGhpcy5jb21waWxlUHJpdmF0ZURpY3RzKGUuZmRBcnJheSxhLHQpfXRoaXMuY29tcGlsZVByaXZhdGVEaWN0cyhbZS50b3BEaWN0XSxbbl0sdCk7dC5hZGQoWzBdKTtyZXR1cm4gdC5kYXRhfWVuY29kZU51bWJlcihlKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihlKT90aGlzLmVuY29kZUludGVnZXIoZSk6dGhpcy5lbmNvZGVGbG9hdChlKX1zdGF0aWMgZ2V0IEVuY29kZUZsb2F0UmVnRXhwKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJFbmNvZGVGbG9hdFJlZ0V4cCIsL1wuKFxkKj8pKD86OXs1LDIwfXwwezUsMjB9KVxkezAsMn0oPzplKC4rKXwkKS8pfWVuY29kZUZsb2F0KGUpe2xldCB0PWUudG9TdHJpbmcoKTtjb25zdCBpPUNGRkNvbXBpbGVyLkVuY29kZUZsb2F0UmVnRXhwLmV4ZWModCk7aWYoaSl7Y29uc3QgYT1wYXJzZUZsb2F0KCIxZSIrKChpWzJdPytpWzJdOjApK2lbMV0ubGVuZ3RoKSk7dD0oTWF0aC5yb3VuZChlKmEpL2EpLnRvU3RyaW5nKCl9bGV0IGEscyxyPSIiO2ZvcihhPTAscz10Lmxlbmd0aDthPHM7KythKXtjb25zdCBlPXRbYV07cis9ImUiPT09ZT8iLSI9PT10WysrYV0/ImMiOiJiIjoiLiI9PT1lPyJhIjoiLSI9PT1lPyJlIjplfXIrPTEmci5sZW5ndGg/ImYiOiJmZiI7Y29uc3Qgbj1bMzBdO2ZvcihhPTAscz1yLmxlbmd0aDthPHM7YSs9MiluLnB1c2gocGFyc2VJbnQoci5zdWJzdHJpbmcoYSxhKzIpLDE2KSk7cmV0dXJuIG59ZW5jb2RlSW50ZWdlcihlKXtsZXQgdDt0PWU+PS0xMDcmJmU8PTEwNz9bZSsxMzldOmU+PTEwOCYmZTw9MTEzMT9bMjQ3KygoZS09MTA4KT4+OCksMjU1JmVdOmU+PS0xMTMxJiZlPD0tMTA4P1syNTErKChlPS1lLTEwOCk+PjgpLDI1NSZlXTplPj0tMzI3NjgmJmU8PTMyNzY3P1syOCxlPj44JjI1NSwyNTUmZV06WzI5LGU+PjI0JjI1NSxlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmVdO3JldHVybiB0fWNvbXBpbGVIZWFkZXIoZSl7cmV0dXJuW2UubWFqb3IsZS5taW5vciw0LGUub2ZmU2l6ZV19Y29tcGlsZU5hbWVJbmRleChlKXtjb25zdCB0PW5ldyBDRkZJbmRleDtmb3IoY29uc3QgaSBvZiBlKXtjb25zdCBlPU1hdGgubWluKGkubGVuZ3RoLDEyNyk7bGV0IGE9bmV3IEFycmF5KGUpO2ZvcihsZXQgdD0wO3Q8ZTt0Kyspe2xldCBlPWlbdF07KGU8IiEifHxlPiJ+Inx8IlsiPT09ZXx8Il0iPT09ZXx8IigiPT09ZXx8IikiPT09ZXx8InsiPT09ZXx8In0iPT09ZXx8IjwiPT09ZXx8Ij4iPT09ZXx8Ii8iPT09ZXx8IiUiPT09ZSkmJihlPSJfIik7YVt0XT1lfWE9YS5qb2luKCIiKTsiIj09PWEmJihhPSJCYWRfRm9udF9OYW1lIik7dC5hZGQoc3RyaW5nVG9CeXRlcyhhKSl9cmV0dXJuIHRoaXMuY29tcGlsZUluZGV4KHQpfWNvbXBpbGVUb3BEaWN0cyhlLHQsaSl7Y29uc3QgYT1bXTtsZXQgcz1uZXcgQ0ZGSW5kZXg7Zm9yKGNvbnN0IHIgb2YgZSl7aWYoaSl7ci5yZW1vdmVCeU5hbWUoIkNJREZvbnRWZXJzaW9uIik7ci5yZW1vdmVCeU5hbWUoIkNJREZvbnRSZXZpc2lvbiIpO3IucmVtb3ZlQnlOYW1lKCJDSURGb250VHlwZSIpO3IucmVtb3ZlQnlOYW1lKCJDSURDb3VudCIpO3IucmVtb3ZlQnlOYW1lKCJVSURCYXNlIil9Y29uc3QgZT1uZXcgQ0ZGT2Zmc2V0VHJhY2tlcixuPXRoaXMuY29tcGlsZURpY3QocixlKTthLnB1c2goZSk7cy5hZGQobik7ZS5vZmZzZXQodCl9cz10aGlzLmNvbXBpbGVJbmRleChzLGEpO3JldHVybnt0cmFja2VyczphLG91dHB1dDpzfX1jb21waWxlUHJpdmF0ZURpY3RzKGUsdCxpKXtmb3IobGV0IGE9MCxzPWUubGVuZ3RoO2E8czsrK2Epe2NvbnN0IHM9ZVthXSxyPXMucHJpdmF0ZURpY3Q7aWYoIXJ8fCFzLmhhc05hbWUoIlByaXZhdGUiKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlRoZXJlIG11c3QgYmUgYSBwcml2YXRlIGRpY3Rpb25hcnkuIik7Y29uc3Qgbj1uZXcgQ0ZGT2Zmc2V0VHJhY2tlcixnPXRoaXMuY29tcGlsZURpY3QocixuKTtsZXQgbz1pLmxlbmd0aDtuLm9mZnNldChvKTtnLmxlbmd0aHx8KG89MCk7dFthXS5zZXRFbnRyeUxvY2F0aW9uKCJQcml2YXRlIixbZy5sZW5ndGgsb10saSk7aS5hZGQoZyk7aWYoci5zdWJyc0luZGV4JiZyLmhhc05hbWUoIlN1YnJzIikpe2NvbnN0IGU9dGhpcy5jb21waWxlSW5kZXgoci5zdWJyc0luZGV4KTtuLnNldEVudHJ5TG9jYXRpb24oIlN1YnJzIixbZy5sZW5ndGhdLGkpO2kuYWRkKGUpfX19Y29tcGlsZURpY3QoZSx0KXtjb25zdCBpPVtdO2Zvcihjb25zdCBhIG9mIGUub3JkZXIpe2lmKCEoYSBpbiBlLnZhbHVlcykpY29udGludWU7bGV0IHM9ZS52YWx1ZXNbYV0scj1lLnR5cGVzW2FdO0FycmF5LmlzQXJyYXkocil8fChyPVtyXSk7QXJyYXkuaXNBcnJheShzKXx8KHM9W3NdKTtpZigwIT09cy5sZW5ndGgpe2ZvcihsZXQgbj0wLGc9ci5sZW5ndGg7bjxnOysrbil7Y29uc3QgZz1yW25dLG89c1tuXTtzd2l0Y2goZyl7Y2FzZSJudW0iOmNhc2Uic2lkIjppLnB1c2goLi4udGhpcy5lbmNvZGVOdW1iZXIobykpO2JyZWFrO2Nhc2Uib2Zmc2V0Ijpjb25zdCByPWUua2V5VG9OYW1lTWFwW2FdO3QuaXNUcmFja2luZyhyKXx8dC50cmFjayhyLGkubGVuZ3RoKTtpLnB1c2goMjksMCwwLDAsMCk7YnJlYWs7Y2FzZSJhcnJheSI6Y2FzZSJkZWx0YSI6aS5wdXNoKC4uLnRoaXMuZW5jb2RlTnVtYmVyKG8pKTtmb3IobGV0IGU9MSx0PXMubGVuZ3RoO2U8dDsrK2UpaS5wdXNoKC4uLnRoaXMuZW5jb2RlTnVtYmVyKHNbZV0pKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5rbm93biBkYXRhIHR5cGUgb2YgJHtnfWApfX1pLnB1c2goLi4uZS5vcGNvZGVzW2FdKX19cmV0dXJuIGl9Y29tcGlsZVN0cmluZ0luZGV4KGUpe2NvbnN0IHQ9bmV3IENGRkluZGV4O2Zvcihjb25zdCBpIG9mIGUpdC5hZGQoc3RyaW5nVG9CeXRlcyhpKSk7cmV0dXJuIHRoaXMuY29tcGlsZUluZGV4KHQpfWNvbXBpbGVDaGFyU3RyaW5ncyhlKXtjb25zdCB0PW5ldyBDRkZJbmRleDtmb3IobGV0IGk9MDtpPGUuY291bnQ7aSsrKXtjb25zdCBhPWUuZ2V0KGkpOzAhPT1hLmxlbmd0aD90LmFkZChhKTp0LmFkZChuZXcgVWludDhBcnJheShbMTM5LDE0XSkpfXJldHVybiB0aGlzLmNvbXBpbGVJbmRleCh0KX1jb21waWxlQ2hhcnNldChlLHQsaSxhKXtsZXQgcztjb25zdCByPXQtMTtpZihhKXM9bmV3IFVpbnQ4QXJyYXkoWzIsMCwwLHI+PjgmMjU1LDI1NSZyXSk7ZWxzZXtzPW5ldyBVaW50OEFycmF5KDErMipyKTtzWzBdPTA7bGV0IHQ9MDtjb25zdCBhPWUuY2hhcnNldC5sZW5ndGg7bGV0IG49ITE7Zm9yKGxldCByPTE7cjxzLmxlbmd0aDtyKz0yKXtsZXQgZz0wO2lmKHQ8YSl7Y29uc3QgYT1lLmNoYXJzZXRbdCsrXTtnPWkuZ2V0U0lEKGEpO2lmKC0xPT09Zyl7Zz0wO2lmKCFuKXtuPSEwO3dhcm4oYENvdWxkbid0IGZpbmQgJHthfSBpbiBDRkYgc3RyaW5nc2ApfX19c1tyXT1nPj44JjI1NTtzW3IrMV09MjU1Jmd9fXJldHVybiB0aGlzLmNvbXBpbGVUeXBlZEFycmF5KHMpfWNvbXBpbGVFbmNvZGluZyhlKXtyZXR1cm4gdGhpcy5jb21waWxlVHlwZWRBcnJheShlLnJhdyl9Y29tcGlsZUZEU2VsZWN0KGUpe2NvbnN0IHQ9ZS5mb3JtYXQ7bGV0IGksYTtzd2l0Y2godCl7Y2FzZSAwOmk9bmV3IFVpbnQ4QXJyYXkoMStlLmZkU2VsZWN0Lmxlbmd0aCk7aVswXT10O2ZvcihhPTA7YTxlLmZkU2VsZWN0Lmxlbmd0aDthKyspaVthKzFdPWUuZmRTZWxlY3RbYV07YnJlYWs7Y2FzZSAzOmNvbnN0IHM9MDtsZXQgcj1lLmZkU2VsZWN0WzBdO2NvbnN0IG49W3QsMCwwLHM+PjgmMjU1LDI1NSZzLHJdO2ZvcihhPTE7YTxlLmZkU2VsZWN0Lmxlbmd0aDthKyspe2NvbnN0IHQ9ZS5mZFNlbGVjdFthXTtpZih0IT09cil7bi5wdXNoKGE+PjgmMjU1LDI1NSZhLHQpO3I9dH19Y29uc3QgZz0obi5sZW5ndGgtMykvMztuWzFdPWc+PjgmMjU1O25bMl09MjU1Jmc7bi5wdXNoKGE+PjgmMjU1LDI1NSZhKTtpPW5ldyBVaW50OEFycmF5KG4pfXJldHVybiB0aGlzLmNvbXBpbGVUeXBlZEFycmF5KGkpfWNvbXBpbGVUeXBlZEFycmF5KGUpe3JldHVybiBBcnJheS5mcm9tKGUpfWNvbXBpbGVJbmRleChlLHQ9W10pe2NvbnN0IGk9ZS5vYmplY3RzLGE9aS5sZW5ndGg7aWYoMD09PWEpcmV0dXJuWzAsMF07Y29uc3Qgcz1bYT4+OCYyNTUsMjU1JmFdO2xldCByLG4sZz0xO2ZvcihyPTA7cjxhOysrcilnKz1pW3JdLmxlbmd0aDtuPWc8MjU2PzE6Zzw2NTUzNj8yOmc8MTY3NzcyMTY/Mzo0O3MucHVzaChuKTtsZXQgbz0xO2ZvcihyPTA7cjxhKzE7cisrKXsxPT09bj9zLnB1c2goMjU1Jm8pOjI9PT1uP3MucHVzaChvPj44JjI1NSwyNTUmbyk6Mz09PW4/cy5wdXNoKG8+PjE2JjI1NSxvPj44JjI1NSwyNTUmbyk6cy5wdXNoKG8+Pj4yNCYyNTUsbz4+MTYmMjU1LG8+PjgmMjU1LDI1NSZvKTtpW3JdJiYobys9aVtyXS5sZW5ndGgpfWZvcihyPTA7cjxhO3IrKyl7dFtyXSYmdFtyXS5vZmZzZXQocy5sZW5ndGgpO3MucHVzaCguLi5pW3JdKX1yZXR1cm4gc319Y29uc3QgTWk9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLkE9NjU7ZS5BRT0xOTg7ZS5BRWFjdXRlPTUwODtlLkFFbWFjcm9uPTQ4MjtlLkFFc21hbGw9NjM0NjI7ZS5BYWN1dGU9MTkzO2UuQWFjdXRlc21hbGw9NjM0NTc7ZS5BYnJldmU9MjU4O2UuQWJyZXZlYWN1dGU9Nzg1NDtlLkFicmV2ZWN5cmlsbGljPTEyMzI7ZS5BYnJldmVkb3RiZWxvdz03ODYyO2UuQWJyZXZlZ3JhdmU9Nzg1NjtlLkFicmV2ZWhvb2thYm92ZT03ODU4O2UuQWJyZXZldGlsZGU9Nzg2MDtlLkFjYXJvbj00NjE7ZS5BY2lyY2xlPTkzOTg7ZS5BY2lyY3VtZmxleD0xOTQ7ZS5BY2lyY3VtZmxleGFjdXRlPTc4NDQ7ZS5BY2lyY3VtZmxleGRvdGJlbG93PTc4NTI7ZS5BY2lyY3VtZmxleGdyYXZlPTc4NDY7ZS5BY2lyY3VtZmxleGhvb2thYm92ZT03ODQ4O2UuQWNpcmN1bWZsZXhzbWFsbD02MzQ1ODtlLkFjaXJjdW1mbGV4dGlsZGU9Nzg1MDtlLkFjdXRlPTYzMTc3O2UuQWN1dGVzbWFsbD02MzQxMjtlLkFjeXJpbGxpYz0xMDQwO2UuQWRibGdyYXZlPTUxMjtlLkFkaWVyZXNpcz0xOTY7ZS5BZGllcmVzaXNjeXJpbGxpYz0xMjM0O2UuQWRpZXJlc2lzbWFjcm9uPTQ3ODtlLkFkaWVyZXNpc3NtYWxsPTYzNDYwO2UuQWRvdGJlbG93PTc4NDA7ZS5BZG90bWFjcm9uPTQ4MDtlLkFncmF2ZT0xOTI7ZS5BZ3JhdmVzbWFsbD02MzQ1NjtlLkFob29rYWJvdmU9Nzg0MjtlLkFpZWN5cmlsbGljPTEyMzY7ZS5BaW52ZXJ0ZWRicmV2ZT01MTQ7ZS5BbHBoYT05MTM7ZS5BbHBoYXRvbm9zPTkwMjtlLkFtYWNyb249MjU2O2UuQW1vbm9zcGFjZT02NTMxMztlLkFvZ29uZWs9MjYwO2UuQXJpbmc9MTk3O2UuQXJpbmdhY3V0ZT01MDY7ZS5BcmluZ2JlbG93PTc2ODA7ZS5BcmluZ3NtYWxsPTYzNDYxO2UuQXNtYWxsPTYzMzI5O2UuQXRpbGRlPTE5NTtlLkF0aWxkZXNtYWxsPTYzNDU5O2UuQXliYXJtZW5pYW49MTMyOTtlLkI9NjY7ZS5CY2lyY2xlPTkzOTk7ZS5CZG90YWNjZW50PTc2ODI7ZS5CZG90YmVsb3c9NzY4NDtlLkJlY3lyaWxsaWM9MTA0MTtlLkJlbmFybWVuaWFuPTEzMzA7ZS5CZXRhPTkxNDtlLkJob29rPTM4NTtlLkJsaW5lYmVsb3c9NzY4NjtlLkJtb25vc3BhY2U9NjUzMTQ7ZS5CcmV2ZXNtYWxsPTYzMjIwO2UuQnNtYWxsPTYzMzMwO2UuQnRvcGJhcj0zODY7ZS5DPTY3O2UuQ2Fhcm1lbmlhbj0xMzQyO2UuQ2FjdXRlPTI2MjtlLkNhcm9uPTYzMTc4O2UuQ2Fyb25zbWFsbD02MzIyMTtlLkNjYXJvbj0yNjg7ZS5DY2VkaWxsYT0xOTk7ZS5DY2VkaWxsYWFjdXRlPTc2ODg7ZS5DY2VkaWxsYXNtYWxsPTYzNDYzO2UuQ2NpcmNsZT05NDAwO2UuQ2NpcmN1bWZsZXg9MjY0O2UuQ2RvdD0yNjY7ZS5DZG90YWNjZW50PTI2NjtlLkNlZGlsbGFzbWFsbD02MzQxNjtlLkNoYWFybWVuaWFuPTEzNTM7ZS5DaGVhYmtoYXNpYW5jeXJpbGxpYz0xMjEyO2UuQ2hlY3lyaWxsaWM9MTA2MztlLkNoZWRlc2NlbmRlcmFia2hhc2lhbmN5cmlsbGljPTEyMTQ7ZS5DaGVkZXNjZW5kZXJjeXJpbGxpYz0xMjA2O2UuQ2hlZGllcmVzaXNjeXJpbGxpYz0xMjY4O2UuQ2hlaGFybWVuaWFuPTEzNDc7ZS5DaGVraGFrYXNzaWFuY3lyaWxsaWM9MTIyNztlLkNoZXZlcnRpY2Fsc3Ryb2tlY3lyaWxsaWM9MTIwODtlLkNoaT05MzU7ZS5DaG9vaz0zOTE7ZS5DaXJjdW1mbGV4c21hbGw9NjMyMjI7ZS5DbW9ub3NwYWNlPTY1MzE1O2UuQ29hcm1lbmlhbj0xMzYxO2UuQ3NtYWxsPTYzMzMxO2UuRD02ODtlLkRaPTQ5NztlLkRaY2Fyb249NDUyO2UuRGFhcm1lbmlhbj0xMzMyO2UuRGFmcmljYW49MzkzO2UuRGNhcm9uPTI3MDtlLkRjZWRpbGxhPTc2OTY7ZS5EY2lyY2xlPTk0MDE7ZS5EY2lyY3VtZmxleGJlbG93PTc2OTg7ZS5EY3JvYXQ9MjcyO2UuRGRvdGFjY2VudD03NjkwO2UuRGRvdGJlbG93PTc2OTI7ZS5EZWN5cmlsbGljPTEwNDQ7ZS5EZWljb3B0aWM9MTAwNjtlLkRlbHRhPTg3MTA7ZS5EZWx0YWdyZWVrPTkxNjtlLkRob29rPTM5NDtlLkRpZXJlc2lzPTYzMTc5O2UuRGllcmVzaXNBY3V0ZT02MzE4MDtlLkRpZXJlc2lzR3JhdmU9NjMxODE7ZS5EaWVyZXNpc3NtYWxsPTYzNDAwO2UuRGlnYW1tYWdyZWVrPTk4ODtlLkRqZWN5cmlsbGljPTEwMjY7ZS5EbGluZWJlbG93PTc2OTQ7ZS5EbW9ub3NwYWNlPTY1MzE2O2UuRG90YWNjZW50c21hbGw9NjMyMjM7ZS5Ec2xhc2g9MjcyO2UuRHNtYWxsPTYzMzMyO2UuRHRvcGJhcj0zOTU7ZS5Eej00OTg7ZS5EemNhcm9uPTQ1MztlLkR6ZWFia2hhc2lhbmN5cmlsbGljPTEyNDg7ZS5EemVjeXJpbGxpYz0xMDI5O2UuRHpoZWN5cmlsbGljPTEwMzk7ZS5FPTY5O2UuRWFjdXRlPTIwMTtlLkVhY3V0ZXNtYWxsPTYzNDY1O2UuRWJyZXZlPTI3NjtlLkVjYXJvbj0yODI7ZS5FY2VkaWxsYWJyZXZlPTc3MDg7ZS5FY2hhcm1lbmlhbj0xMzMzO2UuRWNpcmNsZT05NDAyO2UuRWNpcmN1bWZsZXg9MjAyO2UuRWNpcmN1bWZsZXhhY3V0ZT03ODcwO2UuRWNpcmN1bWZsZXhiZWxvdz03NzA0O2UuRWNpcmN1bWZsZXhkb3RiZWxvdz03ODc4O2UuRWNpcmN1bWZsZXhncmF2ZT03ODcyO2UuRWNpcmN1bWZsZXhob29rYWJvdmU9Nzg3NDtlLkVjaXJjdW1mbGV4c21hbGw9NjM0NjY7ZS5FY2lyY3VtZmxleHRpbGRlPTc4NzY7ZS5FY3lyaWxsaWM9MTAyODtlLkVkYmxncmF2ZT01MTY7ZS5FZGllcmVzaXM9MjAzO2UuRWRpZXJlc2lzc21hbGw9NjM0Njc7ZS5FZG90PTI3ODtlLkVkb3RhY2NlbnQ9Mjc4O2UuRWRvdGJlbG93PTc4NjQ7ZS5FZmN5cmlsbGljPTEwNjA7ZS5FZ3JhdmU9MjAwO2UuRWdyYXZlc21hbGw9NjM0NjQ7ZS5FaGFybWVuaWFuPTEzMzU7ZS5FaG9va2Fib3ZlPTc4NjY7ZS5FaWdodHJvbWFuPTg1NTE7ZS5FaW52ZXJ0ZWRicmV2ZT01MTg7ZS5FaW90aWZpZWRjeXJpbGxpYz0xMTI0O2UuRWxjeXJpbGxpYz0xMDUxO2UuRWxldmVucm9tYW49ODU1NDtlLkVtYWNyb249Mjc0O2UuRW1hY3JvbmFjdXRlPTc3MDI7ZS5FbWFjcm9uZ3JhdmU9NzcwMDtlLkVtY3lyaWxsaWM9MTA1MjtlLkVtb25vc3BhY2U9NjUzMTc7ZS5FbmN5cmlsbGljPTEwNTM7ZS5FbmRlc2NlbmRlcmN5cmlsbGljPTExODY7ZS5Fbmc9MzMwO2UuRW5naGVjeXJpbGxpYz0xMTg4O2UuRW5ob29rY3lyaWxsaWM9MTIyMztlLkVvZ29uZWs9MjgwO2UuRW9wZW49NDAwO2UuRXBzaWxvbj05MTc7ZS5FcHNpbG9udG9ub3M9OTA0O2UuRXJjeXJpbGxpYz0xMDU2O2UuRXJldmVyc2VkPTM5ODtlLkVyZXZlcnNlZGN5cmlsbGljPTEwNjk7ZS5Fc2N5cmlsbGljPTEwNTc7ZS5Fc2Rlc2NlbmRlcmN5cmlsbGljPTExOTQ7ZS5Fc2g9NDI1O2UuRXNtYWxsPTYzMzMzO2UuRXRhPTkxOTtlLkV0YXJtZW5pYW49MTMzNjtlLkV0YXRvbm9zPTkwNTtlLkV0aD0yMDg7ZS5FdGhzbWFsbD02MzQ3MjtlLkV0aWxkZT03ODY4O2UuRXRpbGRlYmVsb3c9NzcwNjtlLkV1cm89ODM2NDtlLkV6aD00Mzk7ZS5FemhjYXJvbj00OTQ7ZS5FemhyZXZlcnNlZD00NDA7ZS5GPTcwO2UuRmNpcmNsZT05NDAzO2UuRmRvdGFjY2VudD03NzEwO2UuRmVoYXJtZW5pYW49MTM2NjtlLkZlaWNvcHRpYz05OTY7ZS5GaG9vaz00MDE7ZS5GaXRhY3lyaWxsaWM9MTEzODtlLkZpdmVyb21hbj04NTQ4O2UuRm1vbm9zcGFjZT02NTMxODtlLkZvdXJyb21hbj04NTQ3O2UuRnNtYWxsPTYzMzM0O2UuRz03MTtlLkdCc3F1YXJlPTEzMTkxO2UuR2FjdXRlPTUwMDtlLkdhbW1hPTkxNTtlLkdhbW1hYWZyaWNhbj00MDQ7ZS5HYW5naWFjb3B0aWM9MTAwMjtlLkdicmV2ZT0yODY7ZS5HY2Fyb249NDg2O2UuR2NlZGlsbGE9MjkwO2UuR2NpcmNsZT05NDA0O2UuR2NpcmN1bWZsZXg9Mjg0O2UuR2NvbW1hYWNjZW50PTI5MDtlLkdkb3Q9Mjg4O2UuR2RvdGFjY2VudD0yODg7ZS5HZWN5cmlsbGljPTEwNDM7ZS5HaGFkYXJtZW5pYW49MTM0NjtlLkdoZW1pZGRsZWhvb2tjeXJpbGxpYz0xMTcyO2UuR2hlc3Ryb2tlY3lyaWxsaWM9MTE3MDtlLkdoZXVwdHVybmN5cmlsbGljPTExNjg7ZS5HaG9vaz00MDM7ZS5HaW1hcm1lbmlhbj0xMzMxO2UuR2plY3lyaWxsaWM9MTAyNztlLkdtYWNyb249NzcxMjtlLkdtb25vc3BhY2U9NjUzMTk7ZS5HcmF2ZT02MzE4MjtlLkdyYXZlc21hbGw9NjMzMjg7ZS5Hc21hbGw9NjMzMzU7ZS5Hc21hbGxob29rPTY2NztlLkdzdHJva2U9NDg0O2UuSD03MjtlLkgxODUzMz05Njc5O2UuSDE4NTQzPTk2NDI7ZS5IMTg1NTE9OTY0MztlLkgyMjA3Mz05NjMzO2UuSFBzcXVhcmU9MTMyNTk7ZS5IYWFia2hhc2lhbmN5cmlsbGljPTExOTI7ZS5IYWRlc2NlbmRlcmN5cmlsbGljPTEyMDI7ZS5IYXJkc2lnbmN5cmlsbGljPTEwNjY7ZS5IYmFyPTI5NDtlLkhicmV2ZWJlbG93PTc3MjI7ZS5IY2VkaWxsYT03NzIwO2UuSGNpcmNsZT05NDA1O2UuSGNpcmN1bWZsZXg9MjkyO2UuSGRpZXJlc2lzPTc3MTg7ZS5IZG90YWNjZW50PTc3MTQ7ZS5IZG90YmVsb3c9NzcxNjtlLkhtb25vc3BhY2U9NjUzMjA7ZS5Ib2FybWVuaWFuPTEzNDQ7ZS5Ib3JpY29wdGljPTFlMztlLkhzbWFsbD02MzMzNjtlLkh1bmdhcnVtbGF1dD02MzE4MztlLkh1bmdhcnVtbGF1dHNtYWxsPTYzMjI0O2UuSHpzcXVhcmU9MTMyMDA7ZS5JPTczO2UuSUFjeXJpbGxpYz0xMDcxO2UuSUo9MzA2O2UuSVVjeXJpbGxpYz0xMDcwO2UuSWFjdXRlPTIwNTtlLklhY3V0ZXNtYWxsPTYzNDY5O2UuSWJyZXZlPTMwMDtlLkljYXJvbj00NjM7ZS5JY2lyY2xlPTk0MDY7ZS5JY2lyY3VtZmxleD0yMDY7ZS5JY2lyY3VtZmxleHNtYWxsPTYzNDcwO2UuSWN5cmlsbGljPTEwMzA7ZS5JZGJsZ3JhdmU9NTIwO2UuSWRpZXJlc2lzPTIwNztlLklkaWVyZXNpc2FjdXRlPTc3MjY7ZS5JZGllcmVzaXNjeXJpbGxpYz0xMjUyO2UuSWRpZXJlc2lzc21hbGw9NjM0NzE7ZS5JZG90PTMwNDtlLklkb3RhY2NlbnQ9MzA0O2UuSWRvdGJlbG93PTc4ODI7ZS5JZWJyZXZlY3lyaWxsaWM9MTIzODtlLkllY3lyaWxsaWM9MTA0NTtlLklmcmFrdHVyPTg0NjU7ZS5JZ3JhdmU9MjA0O2UuSWdyYXZlc21hbGw9NjM0Njg7ZS5JaG9va2Fib3ZlPTc4ODA7ZS5JaWN5cmlsbGljPTEwNDg7ZS5JaW52ZXJ0ZWRicmV2ZT01MjI7ZS5JaXNob3J0Y3lyaWxsaWM9MTA0OTtlLkltYWNyb249Mjk4O2UuSW1hY3JvbmN5cmlsbGljPTEyNTA7ZS5JbW9ub3NwYWNlPTY1MzIxO2UuSW5pYXJtZW5pYW49MTMzOTtlLklvY3lyaWxsaWM9MTAyNTtlLklvZ29uZWs9MzAyO2UuSW90YT05MjE7ZS5Jb3RhYWZyaWNhbj00MDY7ZS5Jb3RhZGllcmVzaXM9OTM4O2UuSW90YXRvbm9zPTkwNjtlLklzbWFsbD02MzMzNztlLklzdHJva2U9NDA3O2UuSXRpbGRlPTI5NjtlLkl0aWxkZWJlbG93PTc3MjQ7ZS5JemhpdHNhY3lyaWxsaWM9MTE0MDtlLkl6aGl0c2FkYmxncmF2ZWN5cmlsbGljPTExNDI7ZS5KPTc0O2UuSmFhcm1lbmlhbj0xMzQ1O2UuSmNpcmNsZT05NDA3O2UuSmNpcmN1bWZsZXg9MzA4O2UuSmVjeXJpbGxpYz0xMDMyO2UuSmhlaGFybWVuaWFuPTEzNTU7ZS5KbW9ub3NwYWNlPTY1MzIyO2UuSnNtYWxsPTYzMzM4O2UuSz03NTtlLktCc3F1YXJlPTEzMTg5O2UuS0tzcXVhcmU9MTMyNjE7ZS5LYWJhc2hraXJjeXJpbGxpYz0xMTg0O2UuS2FjdXRlPTc3Mjg7ZS5LYWN5cmlsbGljPTEwNTA7ZS5LYWRlc2NlbmRlcmN5cmlsbGljPTExNzg7ZS5LYWhvb2tjeXJpbGxpYz0xMjE5O2UuS2FwcGE9OTIyO2UuS2FzdHJva2VjeXJpbGxpYz0xMTgyO2UuS2F2ZXJ0aWNhbHN0cm9rZWN5cmlsbGljPTExODA7ZS5LY2Fyb249NDg4O2UuS2NlZGlsbGE9MzEwO2UuS2NpcmNsZT05NDA4O2UuS2NvbW1hYWNjZW50PTMxMDtlLktkb3RiZWxvdz03NzMwO2UuS2VoYXJtZW5pYW49MTM2NDtlLktlbmFybWVuaWFuPTEzNDM7ZS5LaGFjeXJpbGxpYz0xMDYxO2UuS2hlaWNvcHRpYz05OTg7ZS5LaG9vaz00MDg7ZS5LamVjeXJpbGxpYz0xMDM2O2UuS2xpbmViZWxvdz03NzMyO2UuS21vbm9zcGFjZT02NTMyMztlLktvcHBhY3lyaWxsaWM9MTE1MjtlLktvcHBhZ3JlZWs9OTkwO2UuS3NpY3lyaWxsaWM9MTEzNDtlLktzbWFsbD02MzMzOTtlLkw9NzY7ZS5MSj00NTU7ZS5MTD02MzE2NztlLkxhY3V0ZT0zMTM7ZS5MYW1iZGE9OTIzO2UuTGNhcm9uPTMxNztlLkxjZWRpbGxhPTMxNTtlLkxjaXJjbGU9OTQwOTtlLkxjaXJjdW1mbGV4YmVsb3c9Nzc0MDtlLkxjb21tYWFjY2VudD0zMTU7ZS5MZG90PTMxOTtlLkxkb3RhY2NlbnQ9MzE5O2UuTGRvdGJlbG93PTc3MzQ7ZS5MZG90YmVsb3dtYWNyb249NzczNjtlLkxpd25hcm1lbmlhbj0xMzQwO2UuTGo9NDU2O2UuTGplY3lyaWxsaWM9MTAzMztlLkxsaW5lYmVsb3c9NzczODtlLkxtb25vc3BhY2U9NjUzMjQ7ZS5Mc2xhc2g9MzIxO2UuTHNsYXNoc21hbGw9NjMyMjU7ZS5Mc21hbGw9NjMzNDA7ZS5NPTc3O2UuTUJzcXVhcmU9MTMxOTA7ZS5NYWNyb249NjMxODQ7ZS5NYWNyb25zbWFsbD02MzQwNztlLk1hY3V0ZT03NzQyO2UuTWNpcmNsZT05NDEwO2UuTWRvdGFjY2VudD03NzQ0O2UuTWRvdGJlbG93PTc3NDY7ZS5NZW5hcm1lbmlhbj0xMzQ4O2UuTW1vbm9zcGFjZT02NTMyNTtlLk1zbWFsbD02MzM0MTtlLk10dXJuZWQ9NDEyO2UuTXU9OTI0O2UuTj03ODtlLk5KPTQ1ODtlLk5hY3V0ZT0zMjM7ZS5OY2Fyb249MzI3O2UuTmNlZGlsbGE9MzI1O2UuTmNpcmNsZT05NDExO2UuTmNpcmN1bWZsZXhiZWxvdz03NzU0O2UuTmNvbW1hYWNjZW50PTMyNTtlLk5kb3RhY2NlbnQ9Nzc0ODtlLk5kb3RiZWxvdz03NzUwO2UuTmhvb2tsZWZ0PTQxMztlLk5pbmVyb21hbj04NTUyO2UuTmo9NDU5O2UuTmplY3lyaWxsaWM9MTAzNDtlLk5saW5lYmVsb3c9Nzc1MjtlLk5tb25vc3BhY2U9NjUzMjY7ZS5Ob3dhcm1lbmlhbj0xMzUwO2UuTnNtYWxsPTYzMzQyO2UuTnRpbGRlPTIwOTtlLk50aWxkZXNtYWxsPTYzNDczO2UuTnU9OTI1O2UuTz03OTtlLk9FPTMzODtlLk9Fc21hbGw9NjMyMjY7ZS5PYWN1dGU9MjExO2UuT2FjdXRlc21hbGw9NjM0NzU7ZS5PYmFycmVkY3lyaWxsaWM9MTI1NjtlLk9iYXJyZWRkaWVyZXNpc2N5cmlsbGljPTEyNTg7ZS5PYnJldmU9MzM0O2UuT2Nhcm9uPTQ2NTtlLk9jZW50ZXJlZHRpbGRlPTQxNTtlLk9jaXJjbGU9OTQxMjtlLk9jaXJjdW1mbGV4PTIxMjtlLk9jaXJjdW1mbGV4YWN1dGU9Nzg4ODtlLk9jaXJjdW1mbGV4ZG90YmVsb3c9Nzg5NjtlLk9jaXJjdW1mbGV4Z3JhdmU9Nzg5MDtlLk9jaXJjdW1mbGV4aG9va2Fib3ZlPTc4OTI7ZS5PY2lyY3VtZmxleHNtYWxsPTYzNDc2O2UuT2NpcmN1bWZsZXh0aWxkZT03ODk0O2UuT2N5cmlsbGljPTEwNTQ7ZS5PZGJsYWN1dGU9MzM2O2UuT2RibGdyYXZlPTUyNDtlLk9kaWVyZXNpcz0yMTQ7ZS5PZGllcmVzaXNjeXJpbGxpYz0xMjU0O2UuT2RpZXJlc2lzc21hbGw9NjM0Nzg7ZS5PZG90YmVsb3c9Nzg4NDtlLk9nb25la3NtYWxsPTYzMjI3O2UuT2dyYXZlPTIxMDtlLk9ncmF2ZXNtYWxsPTYzNDc0O2UuT2hhcm1lbmlhbj0xMzY1O2UuT2htPTg0ODY7ZS5PaG9va2Fib3ZlPTc4ODY7ZS5PaG9ybj00MTY7ZS5PaG9ybmFjdXRlPTc4OTg7ZS5PaG9ybmRvdGJlbG93PTc5MDY7ZS5PaG9ybmdyYXZlPTc5MDA7ZS5PaG9ybmhvb2thYm92ZT03OTAyO2UuT2hvcm50aWxkZT03OTA0O2UuT2h1bmdhcnVtbGF1dD0zMzY7ZS5PaT00MTg7ZS5PaW52ZXJ0ZWRicmV2ZT01MjY7ZS5PbWFjcm9uPTMzMjtlLk9tYWNyb25hY3V0ZT03NzYyO2UuT21hY3JvbmdyYXZlPTc3NjA7ZS5PbWVnYT04NDg2O2UuT21lZ2FjeXJpbGxpYz0xMTIwO2UuT21lZ2FncmVlaz05Mzc7ZS5PbWVnYXJvdW5kY3lyaWxsaWM9MTE0NjtlLk9tZWdhdGl0bG9jeXJpbGxpYz0xMTQ4O2UuT21lZ2F0b25vcz05MTE7ZS5PbWljcm9uPTkyNztlLk9taWNyb250b25vcz05MDg7ZS5PbW9ub3NwYWNlPTY1MzI3O2UuT25lcm9tYW49ODU0NDtlLk9vZ29uZWs9NDkwO2UuT29nb25la21hY3Jvbj00OTI7ZS5Pb3Blbj0zOTA7ZS5Pc2xhc2g9MjE2O2UuT3NsYXNoYWN1dGU9NTEwO2UuT3NsYXNoc21hbGw9NjM0ODA7ZS5Pc21hbGw9NjMzNDM7ZS5Pc3Ryb2tlYWN1dGU9NTEwO2UuT3RjeXJpbGxpYz0xMTUwO2UuT3RpbGRlPTIxMztlLk90aWxkZWFjdXRlPTc3NTY7ZS5PdGlsZGVkaWVyZXNpcz03NzU4O2UuT3RpbGRlc21hbGw9NjM0Nzc7ZS5QPTgwO2UuUGFjdXRlPTc3NjQ7ZS5QY2lyY2xlPTk0MTM7ZS5QZG90YWNjZW50PTc3NjY7ZS5QZWN5cmlsbGljPTEwNTU7ZS5QZWhhcm1lbmlhbj0xMzU0O2UuUGVtaWRkbGVob29rY3lyaWxsaWM9MTE5MDtlLlBoaT05MzQ7ZS5QaG9vaz00MjA7ZS5QaT05Mjg7ZS5QaXdyYXJtZW5pYW49MTM2MztlLlBtb25vc3BhY2U9NjUzMjg7ZS5Qc2k9OTM2O2UuUHNpY3lyaWxsaWM9MTEzNjtlLlBzbWFsbD02MzM0NDtlLlE9ODE7ZS5RY2lyY2xlPTk0MTQ7ZS5RbW9ub3NwYWNlPTY1MzI5O2UuUXNtYWxsPTYzMzQ1O2UuUj04MjtlLlJhYXJtZW5pYW49MTM1NjtlLlJhY3V0ZT0zNDA7ZS5SY2Fyb249MzQ0O2UuUmNlZGlsbGE9MzQyO2UuUmNpcmNsZT05NDE1O2UuUmNvbW1hYWNjZW50PTM0MjtlLlJkYmxncmF2ZT01Mjg7ZS5SZG90YWNjZW50PTc3Njg7ZS5SZG90YmVsb3c9Nzc3MDtlLlJkb3RiZWxvd21hY3Jvbj03NzcyO2UuUmVoYXJtZW5pYW49MTM2MDtlLlJmcmFrdHVyPTg0NzY7ZS5SaG89OTI5O2UuUmluZ3NtYWxsPTYzMjI4O2UuUmludmVydGVkYnJldmU9NTMwO2UuUmxpbmViZWxvdz03Nzc0O2UuUm1vbm9zcGFjZT02NTMzMDtlLlJzbWFsbD02MzM0NjtlLlJzbWFsbGludmVydGVkPTY0MTtlLlJzbWFsbGludmVydGVkc3VwZXJpb3I9Njk0O2UuUz04MztlLlNGMDEwMDAwPTk0ODQ7ZS5TRjAyMDAwMD05NDkyO2UuU0YwMzAwMDA9OTQ4ODtlLlNGMDQwMDAwPTk0OTY7ZS5TRjA1MDAwMD05NTMyO2UuU0YwNjAwMDA9OTUxNjtlLlNGMDcwMDAwPTk1MjQ7ZS5TRjA4MDAwMD05NTAwO2UuU0YwOTAwMDA9OTUwODtlLlNGMTAwMDAwPTk0NzI7ZS5TRjExMDAwMD05NDc0O2UuU0YxOTAwMDA9OTU2OTtlLlNGMjAwMDAwPTk1NzA7ZS5TRjIxMDAwMD05NTU4O2UuU0YyMjAwMDA9OTU1NztlLlNGMjMwMDAwPTk1NzE7ZS5TRjI0MDAwMD05NTUzO2UuU0YyNTAwMDA9OTU1OTtlLlNGMjYwMDAwPTk1NjU7ZS5TRjI3MDAwMD05NTY0O2UuU0YyODAwMDA9OTU2MztlLlNGMzYwMDAwPTk1NjY7ZS5TRjM3MDAwMD05NTY3O2UuU0YzODAwMDA9OTU2MjtlLlNGMzkwMDAwPTk1NTY7ZS5TRjQwMDAwMD05NTc3O2UuU0Y0MTAwMDA9OTU3NDtlLlNGNDIwMDAwPTk1Njg7ZS5TRjQzMDAwMD05NTUyO2UuU0Y0NDAwMDA9OTU4MDtlLlNGNDUwMDAwPTk1NzU7ZS5TRjQ2MDAwMD05NTc2O2UuU0Y0NzAwMDA9OTU3MjtlLlNGNDgwMDAwPTk1NzM7ZS5TRjQ5MDAwMD05NTYxO2UuU0Y1MDAwMDA9OTU2MDtlLlNGNTEwMDAwPTk1NTQ7ZS5TRjUyMDAwMD05NTU1O2UuU0Y1MzAwMDA9OTU3OTtlLlNGNTQwMDAwPTk1Nzg7ZS5TYWN1dGU9MzQ2O2UuU2FjdXRlZG90YWNjZW50PTc3ODA7ZS5TYW1waWdyZWVrPTk5MjtlLlNjYXJvbj0zNTI7ZS5TY2Fyb25kb3RhY2NlbnQ9Nzc4MjtlLlNjYXJvbnNtYWxsPTYzMjI5O2UuU2NlZGlsbGE9MzUwO2UuU2Nod2E9Mzk5O2UuU2Nod2FjeXJpbGxpYz0xMjQwO2UuU2Nod2FkaWVyZXNpc2N5cmlsbGljPTEyNDI7ZS5TY2lyY2xlPTk0MTY7ZS5TY2lyY3VtZmxleD0zNDg7ZS5TY29tbWFhY2NlbnQ9NTM2O2UuU2RvdGFjY2VudD03Nzc2O2UuU2RvdGJlbG93PTc3Nzg7ZS5TZG90YmVsb3dkb3RhY2NlbnQ9Nzc4NDtlLlNlaGFybWVuaWFuPTEzNTc7ZS5TZXZlbnJvbWFuPTg1NTA7ZS5TaGFhcm1lbmlhbj0xMzUxO2UuU2hhY3lyaWxsaWM9MTA2NDtlLlNoY2hhY3lyaWxsaWM9MTA2NTtlLlNoZWljb3B0aWM9OTk0O2UuU2hoYWN5cmlsbGljPTEyMTA7ZS5TaGltYWNvcHRpYz0xMDA0O2UuU2lnbWE9OTMxO2UuU2l4cm9tYW49ODU0OTtlLlNtb25vc3BhY2U9NjUzMzE7ZS5Tb2Z0c2lnbmN5cmlsbGljPTEwNjg7ZS5Tc21hbGw9NjMzNDc7ZS5TdGlnbWFncmVlaz05ODY7ZS5UPTg0O2UuVGF1PTkzMjtlLlRiYXI9MzU4O2UuVGNhcm9uPTM1NjtlLlRjZWRpbGxhPTM1NDtlLlRjaXJjbGU9OTQxNztlLlRjaXJjdW1mbGV4YmVsb3c9Nzc5MjtlLlRjb21tYWFjY2VudD0zNTQ7ZS5UZG90YWNjZW50PTc3ODY7ZS5UZG90YmVsb3c9Nzc4ODtlLlRlY3lyaWxsaWM9MTA1ODtlLlRlZGVzY2VuZGVyY3lyaWxsaWM9MTE5NjtlLlRlbnJvbWFuPTg1NTM7ZS5UZXRzZWN5cmlsbGljPTEyMDQ7ZS5UaGV0YT05MjA7ZS5UaG9vaz00Mjg7ZS5UaG9ybj0yMjI7ZS5UaG9ybnNtYWxsPTYzNDg2O2UuVGhyZWVyb21hbj04NTQ2O2UuVGlsZGVzbWFsbD02MzIzMDtlLlRpd25hcm1lbmlhbj0xMzU5O2UuVGxpbmViZWxvdz03NzkwO2UuVG1vbm9zcGFjZT02NTMzMjtlLlRvYXJtZW5pYW49MTMzNztlLlRvbmVmaXZlPTQ0NDtlLlRvbmVzaXg9Mzg4O2UuVG9uZXR3bz00MjM7ZS5UcmV0cm9mbGV4aG9vaz00MzA7ZS5Uc2VjeXJpbGxpYz0xMDYyO2UuVHNoZWN5cmlsbGljPTEwMzU7ZS5Uc21hbGw9NjMzNDg7ZS5Ud2VsdmVyb21hbj04NTU1O2UuVHdvcm9tYW49ODU0NTtlLlU9ODU7ZS5VYWN1dGU9MjE4O2UuVWFjdXRlc21hbGw9NjM0ODI7ZS5VYnJldmU9MzY0O2UuVWNhcm9uPTQ2NztlLlVjaXJjbGU9OTQxODtlLlVjaXJjdW1mbGV4PTIxOTtlLlVjaXJjdW1mbGV4YmVsb3c9Nzc5ODtlLlVjaXJjdW1mbGV4c21hbGw9NjM0ODM7ZS5VY3lyaWxsaWM9MTA1OTtlLlVkYmxhY3V0ZT0zNjg7ZS5VZGJsZ3JhdmU9NTMyO2UuVWRpZXJlc2lzPTIyMDtlLlVkaWVyZXNpc2FjdXRlPTQ3MTtlLlVkaWVyZXNpc2JlbG93PTc3OTQ7ZS5VZGllcmVzaXNjYXJvbj00NzM7ZS5VZGllcmVzaXNjeXJpbGxpYz0xMjY0O2UuVWRpZXJlc2lzZ3JhdmU9NDc1O2UuVWRpZXJlc2lzbWFjcm9uPTQ2OTtlLlVkaWVyZXNpc3NtYWxsPTYzNDg0O2UuVWRvdGJlbG93PTc5MDg7ZS5VZ3JhdmU9MjE3O2UuVWdyYXZlc21hbGw9NjM0ODE7ZS5VaG9va2Fib3ZlPTc5MTA7ZS5VaG9ybj00MzE7ZS5VaG9ybmFjdXRlPTc5MTI7ZS5VaG9ybmRvdGJlbG93PTc5MjA7ZS5VaG9ybmdyYXZlPTc5MTQ7ZS5VaG9ybmhvb2thYm92ZT03OTE2O2UuVWhvcm50aWxkZT03OTE4O2UuVWh1bmdhcnVtbGF1dD0zNjg7ZS5VaHVuZ2FydW1sYXV0Y3lyaWxsaWM9MTI2NjtlLlVpbnZlcnRlZGJyZXZlPTUzNDtlLlVrY3lyaWxsaWM9MTE0NDtlLlVtYWNyb249MzYyO2UuVW1hY3JvbmN5cmlsbGljPTEyNjI7ZS5VbWFjcm9uZGllcmVzaXM9NzgwMjtlLlVtb25vc3BhY2U9NjUzMzM7ZS5Vb2dvbmVrPTM3MDtlLlVwc2lsb249OTMzO2UuVXBzaWxvbjE9OTc4O2UuVXBzaWxvbmFjdXRlaG9va3N5bWJvbGdyZWVrPTk3OTtlLlVwc2lsb25hZnJpY2FuPTQzMztlLlVwc2lsb25kaWVyZXNpcz05Mzk7ZS5VcHNpbG9uZGllcmVzaXNob29rc3ltYm9sZ3JlZWs9OTgwO2UuVXBzaWxvbmhvb2tzeW1ib2w9OTc4O2UuVXBzaWxvbnRvbm9zPTkxMDtlLlVyaW5nPTM2NjtlLlVzaG9ydGN5cmlsbGljPTEwMzg7ZS5Vc21hbGw9NjMzNDk7ZS5Vc3RyYWlnaHRjeXJpbGxpYz0xMTk4O2UuVXN0cmFpZ2h0c3Ryb2tlY3lyaWxsaWM9MTIwMDtlLlV0aWxkZT0zNjA7ZS5VdGlsZGVhY3V0ZT03ODAwO2UuVXRpbGRlYmVsb3c9Nzc5NjtlLlY9ODY7ZS5WY2lyY2xlPTk0MTk7ZS5WZG90YmVsb3c9NzgwNjtlLlZlY3lyaWxsaWM9MTA0MjtlLlZld2FybWVuaWFuPTEzNTg7ZS5WaG9vaz00MzQ7ZS5WbW9ub3NwYWNlPTY1MzM0O2UuVm9hcm1lbmlhbj0xMzUyO2UuVnNtYWxsPTYzMzUwO2UuVnRpbGRlPTc4MDQ7ZS5XPTg3O2UuV2FjdXRlPTc4MTA7ZS5XY2lyY2xlPTk0MjA7ZS5XY2lyY3VtZmxleD0zNzI7ZS5XZGllcmVzaXM9NzgxMjtlLldkb3RhY2NlbnQ9NzgxNDtlLldkb3RiZWxvdz03ODE2O2UuV2dyYXZlPTc4MDg7ZS5XbW9ub3NwYWNlPTY1MzM1O2UuV3NtYWxsPTYzMzUxO2UuWD04ODtlLlhjaXJjbGU9OTQyMTtlLlhkaWVyZXNpcz03ODIwO2UuWGRvdGFjY2VudD03ODE4O2UuWGVoYXJtZW5pYW49MTM0MTtlLlhpPTkyNjtlLlhtb25vc3BhY2U9NjUzMzY7ZS5Yc21hbGw9NjMzNTI7ZS5ZPTg5O2UuWWFjdXRlPTIyMTtlLllhY3V0ZXNtYWxsPTYzNDg1O2UuWWF0Y3lyaWxsaWM9MTEyMjtlLlljaXJjbGU9OTQyMjtlLlljaXJjdW1mbGV4PTM3NDtlLllkaWVyZXNpcz0zNzY7ZS5ZZGllcmVzaXNzbWFsbD02MzQ4NztlLllkb3RhY2NlbnQ9NzgyMjtlLllkb3RiZWxvdz03OTI0O2UuWWVyaWN5cmlsbGljPTEwNjc7ZS5ZZXJ1ZGllcmVzaXNjeXJpbGxpYz0xMjcyO2UuWWdyYXZlPTc5MjI7ZS5ZaG9vaz00MzU7ZS5ZaG9va2Fib3ZlPTc5MjY7ZS5ZaWFybWVuaWFuPTEzNDk7ZS5ZaWN5cmlsbGljPTEwMzE7ZS5ZaXduYXJtZW5pYW49MTM2MjtlLlltb25vc3BhY2U9NjUzMzc7ZS5Zc21hbGw9NjMzNTM7ZS5ZdGlsZGU9NzkyODtlLll1c2JpZ2N5cmlsbGljPTExMzA7ZS5ZdXNiaWdpb3RpZmllZGN5cmlsbGljPTExMzI7ZS5ZdXNsaXR0bGVjeXJpbGxpYz0xMTI2O2UuWXVzbGl0dGxlaW90aWZpZWRjeXJpbGxpYz0xMTI4O2UuWj05MDtlLlphYXJtZW5pYW49MTMzNDtlLlphY3V0ZT0zNzc7ZS5aY2Fyb249MzgxO2UuWmNhcm9uc21hbGw9NjMyMzE7ZS5aY2lyY2xlPTk0MjM7ZS5aY2lyY3VtZmxleD03ODI0O2UuWmRvdD0zNzk7ZS5aZG90YWNjZW50PTM3OTtlLlpkb3RiZWxvdz03ODI2O2UuWmVjeXJpbGxpYz0xMDQ3O2UuWmVkZXNjZW5kZXJjeXJpbGxpYz0xMTc2O2UuWmVkaWVyZXNpc2N5cmlsbGljPTEyNDY7ZS5aZXRhPTkxODtlLlpoZWFybWVuaWFuPTEzMzg7ZS5aaGVicmV2ZWN5cmlsbGljPTEyMTc7ZS5aaGVjeXJpbGxpYz0xMDQ2O2UuWmhlZGVzY2VuZGVyY3lyaWxsaWM9MTE3NDtlLlpoZWRpZXJlc2lzY3lyaWxsaWM9MTI0NDtlLlpsaW5lYmVsb3c9NzgyODtlLlptb25vc3BhY2U9NjUzMzg7ZS5ac21hbGw9NjMzNTQ7ZS5ac3Ryb2tlPTQzNztlLmE9OTc7ZS5hYWJlbmdhbGk9MjQzODtlLmFhY3V0ZT0yMjU7ZS5hYWRldmE9MjMxMDtlLmFhZ3VqYXJhdGk9MjY5NDtlLmFhZ3VybXVraGk9MjU2NjtlLmFhbWF0cmFndXJtdWtoaT0yNjIyO2UuYWFydXNxdWFyZT0xMzA1OTtlLmFhdm93ZWxzaWduYmVuZ2FsaT0yNDk0O2UuYWF2b3dlbHNpZ25kZXZhPTIzNjY7ZS5hYXZvd2Vsc2lnbmd1amFyYXRpPTI3NTA7ZS5hYmJyZXZpYXRpb25tYXJrYXJtZW5pYW49MTM3NTtlLmFiYnJldmlhdGlvbnNpZ25kZXZhPTI0MTY7ZS5hYmVuZ2FsaT0yNDM3O2UuYWJvcG9tb2ZvPTEyNTcwO2UuYWJyZXZlPTI1OTtlLmFicmV2ZWFjdXRlPTc4NTU7ZS5hYnJldmVjeXJpbGxpYz0xMjMzO2UuYWJyZXZlZG90YmVsb3c9Nzg2MztlLmFicmV2ZWdyYXZlPTc4NTc7ZS5hYnJldmVob29rYWJvdmU9Nzg1OTtlLmFicmV2ZXRpbGRlPTc4NjE7ZS5hY2Fyb249NDYyO2UuYWNpcmNsZT05NDI0O2UuYWNpcmN1bWZsZXg9MjI2O2UuYWNpcmN1bWZsZXhhY3V0ZT03ODQ1O2UuYWNpcmN1bWZsZXhkb3RiZWxvdz03ODUzO2UuYWNpcmN1bWZsZXhncmF2ZT03ODQ3O2UuYWNpcmN1bWZsZXhob29rYWJvdmU9Nzg0OTtlLmFjaXJjdW1mbGV4dGlsZGU9Nzg1MTtlLmFjdXRlPTE4MDtlLmFjdXRlYmVsb3djbWI9NzkxO2UuYWN1dGVjbWI9NzY5O2UuYWN1dGVjb21iPTc2OTtlLmFjdXRlZGV2YT0yMzg4O2UuYWN1dGVsb3dtb2Q9NzE5O2UuYWN1dGV0b25lY21iPTgzMztlLmFjeXJpbGxpYz0xMDcyO2UuYWRibGdyYXZlPTUxMztlLmFkZGFrZ3VybXVraGk9MjY3MztlLmFkZXZhPTIzMDk7ZS5hZGllcmVzaXM9MjI4O2UuYWRpZXJlc2lzY3lyaWxsaWM9MTIzNTtlLmFkaWVyZXNpc21hY3Jvbj00Nzk7ZS5hZG90YmVsb3c9Nzg0MTtlLmFkb3RtYWNyb249NDgxO2UuYWU9MjMwO2UuYWVhY3V0ZT01MDk7ZS5hZWtvcmVhbj0xMjYyNDtlLmFlbWFjcm9uPTQ4MztlLmFmaWkwMDIwOD04MjEzO2UuYWZpaTA4OTQxPTgzNTY7ZS5hZmlpMTAwMTc9MTA0MDtlLmFmaWkxMDAxOD0xMDQxO2UuYWZpaTEwMDE5PTEwNDI7ZS5hZmlpMTAwMjA9MTA0MztlLmFmaWkxMDAyMT0xMDQ0O2UuYWZpaTEwMDIyPTEwNDU7ZS5hZmlpMTAwMjM9MTAyNTtlLmFmaWkxMDAyND0xMDQ2O2UuYWZpaTEwMDI1PTEwNDc7ZS5hZmlpMTAwMjY9MTA0ODtlLmFmaWkxMDAyNz0xMDQ5O2UuYWZpaTEwMDI4PTEwNTA7ZS5hZmlpMTAwMjk9MTA1MTtlLmFmaWkxMDAzMD0xMDUyO2UuYWZpaTEwMDMxPTEwNTM7ZS5hZmlpMTAwMzI9MTA1NDtlLmFmaWkxMDAzMz0xMDU1O2UuYWZpaTEwMDM0PTEwNTY7ZS5hZmlpMTAwMzU9MTA1NztlLmFmaWkxMDAzNj0xMDU4O2UuYWZpaTEwMDM3PTEwNTk7ZS5hZmlpMTAwMzg9MTA2MDtlLmFmaWkxMDAzOT0xMDYxO2UuYWZpaTEwMDQwPTEwNjI7ZS5hZmlpMTAwNDE9MTA2MztlLmFmaWkxMDA0Mj0xMDY0O2UuYWZpaTEwMDQzPTEwNjU7ZS5hZmlpMTAwNDQ9MTA2NjtlLmFmaWkxMDA0NT0xMDY3O2UuYWZpaTEwMDQ2PTEwNjg7ZS5hZmlpMTAwNDc9MTA2OTtlLmFmaWkxMDA0OD0xMDcwO2UuYWZpaTEwMDQ5PTEwNzE7ZS5hZmlpMTAwNTA9MTE2ODtlLmFmaWkxMDA1MT0xMDI2O2UuYWZpaTEwMDUyPTEwMjc7ZS5hZmlpMTAwNTM9MTAyODtlLmFmaWkxMDA1ND0xMDI5O2UuYWZpaTEwMDU1PTEwMzA7ZS5hZmlpMTAwNTY9MTAzMTtlLmFmaWkxMDA1Nz0xMDMyO2UuYWZpaTEwMDU4PTEwMzM7ZS5hZmlpMTAwNTk9MTAzNDtlLmFmaWkxMDA2MD0xMDM1O2UuYWZpaTEwMDYxPTEwMzY7ZS5hZmlpMTAwNjI9MTAzODtlLmFmaWkxMDA2Mz02MzE3MjtlLmFmaWkxMDA2ND02MzE3MztlLmFmaWkxMDA2NT0xMDcyO2UuYWZpaTEwMDY2PTEwNzM7ZS5hZmlpMTAwNjc9MTA3NDtlLmFmaWkxMDA2OD0xMDc1O2UuYWZpaTEwMDY5PTEwNzY7ZS5hZmlpMTAwNzA9MTA3NztlLmFmaWkxMDA3MT0xMTA1O2UuYWZpaTEwMDcyPTEwNzg7ZS5hZmlpMTAwNzM9MTA3OTtlLmFmaWkxMDA3ND0xMDgwO2UuYWZpaTEwMDc1PTEwODE7ZS5hZmlpMTAwNzY9MTA4MjtlLmFmaWkxMDA3Nz0xMDgzO2UuYWZpaTEwMDc4PTEwODQ7ZS5hZmlpMTAwNzk9MTA4NTtlLmFmaWkxMDA4MD0xMDg2O2UuYWZpaTEwMDgxPTEwODc7ZS5hZmlpMTAwODI9MTA4ODtlLmFmaWkxMDA4Mz0xMDg5O2UuYWZpaTEwMDg0PTEwOTA7ZS5hZmlpMTAwODU9MTA5MTtlLmFmaWkxMDA4Nj0xMDkyO2UuYWZpaTEwMDg3PTEwOTM7ZS5hZmlpMTAwODg9MTA5NDtlLmFmaWkxMDA4OT0xMDk1O2UuYWZpaTEwMDkwPTEwOTY7ZS5hZmlpMTAwOTE9MTA5NztlLmFmaWkxMDA5Mj0xMDk4O2UuYWZpaTEwMDkzPTEwOTk7ZS5hZmlpMTAwOTQ9MTEwMDtlLmFmaWkxMDA5NT0xMTAxO2UuYWZpaTEwMDk2PTExMDI7ZS5hZmlpMTAwOTc9MTEwMztlLmFmaWkxMDA5OD0xMTY5O2UuYWZpaTEwMDk5PTExMDY7ZS5hZmlpMTAxMDA9MTEwNztlLmFmaWkxMDEwMT0xMTA4O2UuYWZpaTEwMTAyPTExMDk7ZS5hZmlpMTAxMDM9MTExMDtlLmFmaWkxMDEwND0xMTExO2UuYWZpaTEwMTA1PTExMTI7ZS5hZmlpMTAxMDY9MTExMztlLmFmaWkxMDEwNz0xMTE0O2UuYWZpaTEwMTA4PTExMTU7ZS5hZmlpMTAxMDk9MTExNjtlLmFmaWkxMDExMD0xMTE4O2UuYWZpaTEwMTQ1PTEwMzk7ZS5hZmlpMTAxNDY9MTEyMjtlLmFmaWkxMDE0Nz0xMTM4O2UuYWZpaTEwMTQ4PTExNDA7ZS5hZmlpMTAxOTI9NjMxNzQ7ZS5hZmlpMTAxOTM9MTExOTtlLmFmaWkxMDE5ND0xMTIzO2UuYWZpaTEwMTk1PTExMzk7ZS5hZmlpMTAxOTY9MTE0MTtlLmFmaWkxMDgzMT02MzE3NTtlLmFmaWkxMDgzMj02MzE3NjtlLmFmaWkxMDg0Nj0xMjQxO2UuYWZpaTI5OT04MjA2O2UuYWZpaTMwMD04MjA3O2UuYWZpaTMwMT04MjA1O2UuYWZpaTU3MzgxPTE2NDI7ZS5hZmlpNTczODg9MTU0ODtlLmFmaWk1NzM5Mj0xNjMyO2UuYWZpaTU3MzkzPTE2MzM7ZS5hZmlpNTczOTQ9MTYzNDtlLmFmaWk1NzM5NT0xNjM1O2UuYWZpaTU3Mzk2PTE2MzY7ZS5hZmlpNTczOTc9MTYzNztlLmFmaWk1NzM5OD0xNjM4O2UuYWZpaTU3Mzk5PTE2Mzk7ZS5hZmlpNTc0MDA9MTY0MDtlLmFmaWk1NzQwMT0xNjQxO2UuYWZpaTU3NDAzPTE1NjM7ZS5hZmlpNTc0MDc9MTU2NztlLmFmaWk1NzQwOT0xNTY5O2UuYWZpaTU3NDEwPTE1NzA7ZS5hZmlpNTc0MTE9MTU3MTtlLmFmaWk1NzQxMj0xNTcyO2UuYWZpaTU3NDEzPTE1NzM7ZS5hZmlpNTc0MTQ9MTU3NDtlLmFmaWk1NzQxNT0xNTc1O2UuYWZpaTU3NDE2PTE1NzY7ZS5hZmlpNTc0MTc9MTU3NztlLmFmaWk1NzQxOD0xNTc4O2UuYWZpaTU3NDE5PTE1Nzk7ZS5hZmlpNTc0MjA9MTU4MDtlLmFmaWk1NzQyMT0xNTgxO2UuYWZpaTU3NDIyPTE1ODI7ZS5hZmlpNTc0MjM9MTU4MztlLmFmaWk1NzQyND0xNTg0O2UuYWZpaTU3NDI1PTE1ODU7ZS5hZmlpNTc0MjY9MTU4NjtlLmFmaWk1NzQyNz0xNTg3O2UuYWZpaTU3NDI4PTE1ODg7ZS5hZmlpNTc0Mjk9MTU4OTtlLmFmaWk1NzQzMD0xNTkwO2UuYWZpaTU3NDMxPTE1OTE7ZS5hZmlpNTc0MzI9MTU5MjtlLmFmaWk1NzQzMz0xNTkzO2UuYWZpaTU3NDM0PTE1OTQ7ZS5hZmlpNTc0NDA9MTYwMDtlLmFmaWk1NzQ0MT0xNjAxO2UuYWZpaTU3NDQyPTE2MDI7ZS5hZmlpNTc0NDM9MTYwMztlLmFmaWk1NzQ0ND0xNjA0O2UuYWZpaTU3NDQ1PTE2MDU7ZS5hZmlpNTc0NDY9MTYwNjtlLmFmaWk1NzQ0OD0xNjA4O2UuYWZpaTU3NDQ5PTE2MDk7ZS5hZmlpNTc0NTA9MTYxMDtlLmFmaWk1NzQ1MT0xNjExO2UuYWZpaTU3NDUyPTE2MTI7ZS5hZmlpNTc0NTM9MTYxMztlLmFmaWk1NzQ1ND0xNjE0O2UuYWZpaTU3NDU1PTE2MTU7ZS5hZmlpNTc0NTY9MTYxNjtlLmFmaWk1NzQ1Nz0xNjE3O2UuYWZpaTU3NDU4PTE2MTg7ZS5hZmlpNTc0NzA9MTYwNztlLmFmaWk1NzUwNT0xNzAwO2UuYWZpaTU3NTA2PTE2NjI7ZS5hZmlpNTc1MDc9MTY3MDtlLmFmaWk1NzUwOD0xNjg4O2UuYWZpaTU3NTA5PTE3MTE7ZS5hZmlpNTc1MTE9MTY1NztlLmFmaWk1NzUxMj0xNjcyO2UuYWZpaTU3NTEzPTE2ODE7ZS5hZmlpNTc1MTQ9MTcyMjtlLmFmaWk1NzUxOT0xNzQ2O2UuYWZpaTU3NTM0PTE3NDk7ZS5hZmlpNTc2MzY9ODM2MjtlLmFmaWk1NzY0NT0xNDcwO2UuYWZpaTU3NjU4PTE0NzU7ZS5hZmlpNTc2NjQ9MTQ4ODtlLmFmaWk1NzY2NT0xNDg5O2UuYWZpaTU3NjY2PTE0OTA7ZS5hZmlpNTc2Njc9MTQ5MTtlLmFmaWk1NzY2OD0xNDkyO2UuYWZpaTU3NjY5PTE0OTM7ZS5hZmlpNTc2NzA9MTQ5NDtlLmFmaWk1NzY3MT0xNDk1O2UuYWZpaTU3NjcyPTE0OTY7ZS5hZmlpNTc2NzM9MTQ5NztlLmFmaWk1NzY3ND0xNDk4O2UuYWZpaTU3Njc1PTE0OTk7ZS5hZmlpNTc2NzY9MTUwMDtlLmFmaWk1NzY3Nz0xNTAxO2UuYWZpaTU3Njc4PTE1MDI7ZS5hZmlpNTc2Nzk9MTUwMztlLmFmaWk1NzY4MD0xNTA0O2UuYWZpaTU3NjgxPTE1MDU7ZS5hZmlpNTc2ODI9MTUwNjtlLmFmaWk1NzY4Mz0xNTA3O2UuYWZpaTU3Njg0PTE1MDg7ZS5hZmlpNTc2ODU9MTUwOTtlLmFmaWk1NzY4Nj0xNTEwO2UuYWZpaTU3Njg3PTE1MTE7ZS5hZmlpNTc2ODg9MTUxMjtlLmFmaWk1NzY4OT0xNTEzO2UuYWZpaTU3NjkwPTE1MTQ7ZS5hZmlpNTc2OTQ9NjQyOTg7ZS5hZmlpNTc2OTU9NjQyOTk7ZS5hZmlpNTc3MDA9NjQzMzE7ZS5hZmlpNTc3MDU9NjQyODc7ZS5hZmlpNTc3MTY9MTUyMDtlLmFmaWk1NzcxNz0xNTIxO2UuYWZpaTU3NzE4PTE1MjI7ZS5hZmlpNTc3MjM9NjQzMDk7ZS5hZmlpNTc3OTM9MTQ2MDtlLmFmaWk1Nzc5ND0xNDYxO2UuYWZpaTU3Nzk1PTE0NjI7ZS5hZmlpNTc3OTY9MTQ2NztlLmFmaWk1Nzc5Nz0xNDY0O2UuYWZpaTU3Nzk4PTE0NjM7ZS5hZmlpNTc3OTk9MTQ1NjtlLmFmaWk1NzgwMD0xNDU4O2UuYWZpaTU3ODAxPTE0NTc7ZS5hZmlpNTc4MDI9MTQ1OTtlLmFmaWk1NzgwMz0xNDc0O2UuYWZpaTU3ODA0PTE0NzM7ZS5hZmlpNTc4MDY9MTQ2NTtlLmFmaWk1NzgwNz0xNDY4O2UuYWZpaTU3ODM5PTE0Njk7ZS5hZmlpNTc4NDE9MTQ3MTtlLmFmaWk1Nzg0Mj0xNDcyO2UuYWZpaTU3OTI5PTcwMDtlLmFmaWk2MTI0OD04NDUzO2UuYWZpaTYxMjg5PTg0Njc7ZS5hZmlpNjEzNTI9ODQ3MDtlLmFmaWk2MTU3Mz04MjM2O2UuYWZpaTYxNTc0PTgyMzc7ZS5hZmlpNjE1NzU9ODIzODtlLmFmaWk2MTY2ND04MjA0O2UuYWZpaTYzMTY3PTE2NDU7ZS5hZmlpNjQ5Mzc9NzAxO2UuYWdyYXZlPTIyNDtlLmFndWphcmF0aT0yNjkzO2UuYWd1cm11a2hpPTI1NjU7ZS5haGlyYWdhbmE9MTIzNTQ7ZS5haG9va2Fib3ZlPTc4NDM7ZS5haWJlbmdhbGk9MjQ0ODtlLmFpYm9wb21vZm89MTI1NzQ7ZS5haWRldmE9MjMyMDtlLmFpZWN5cmlsbGljPTEyMzc7ZS5haWd1amFyYXRpPTI3MDQ7ZS5haWd1cm11a2hpPTI1NzY7ZS5haW1hdHJhZ3VybXVraGk9MjYzMjtlLmFpbmFyYWJpYz0xNTkzO2UuYWluZmluYWxhcmFiaWM9NjUyMjY7ZS5haW5pbml0aWFsYXJhYmljPTY1MjI3O2UuYWlubWVkaWFsYXJhYmljPTY1MjI4O2UuYWludmVydGVkYnJldmU9NTE1O2UuYWl2b3dlbHNpZ25iZW5nYWxpPTI1MDQ7ZS5haXZvd2Vsc2lnbmRldmE9MjM3NjtlLmFpdm93ZWxzaWduZ3VqYXJhdGk9Mjc2MDtlLmFrYXRha2FuYT0xMjQ1MDtlLmFrYXRha2FuYWhhbGZ3aWR0aD02NTM5MztlLmFrb3JlYW49MTI2MjM7ZS5hbGVmPTE0ODg7ZS5hbGVmYXJhYmljPTE1NzU7ZS5hbGVmZGFnZXNoaGVicmV3PTY0MzA0O2UuYWxlZmZpbmFsYXJhYmljPTY1MTY2O2UuYWxlZmhhbXphYWJvdmVhcmFiaWM9MTU3MTtlLmFsZWZoYW16YWFib3ZlZmluYWxhcmFiaWM9NjUxNTY7ZS5hbGVmaGFtemFiZWxvd2FyYWJpYz0xNTczO2UuYWxlZmhhbXphYmVsb3dmaW5hbGFyYWJpYz02NTE2MDtlLmFsZWZoZWJyZXc9MTQ4ODtlLmFsZWZsYW1lZGhlYnJldz02NDMzNTtlLmFsZWZtYWRkYWFib3ZlYXJhYmljPTE1NzA7ZS5hbGVmbWFkZGFhYm92ZWZpbmFsYXJhYmljPTY1MTU0O2UuYWxlZm1ha3N1cmFhcmFiaWM9MTYwOTtlLmFsZWZtYWtzdXJhZmluYWxhcmFiaWM9NjUyNjQ7ZS5hbGVmbWFrc3VyYWluaXRpYWxhcmFiaWM9NjUyNjc7ZS5hbGVmbWFrc3VyYW1lZGlhbGFyYWJpYz02NTI2ODtlLmFsZWZwYXRhaGhlYnJldz02NDMwMjtlLmFsZWZxYW1hdHNoZWJyZXc9NjQzMDM7ZS5hbGVwaD04NTAxO2UuYWxsZXF1YWw9ODc4MDtlLmFscGhhPTk0NTtlLmFscGhhdG9ub3M9OTQwO2UuYW1hY3Jvbj0yNTc7ZS5hbW9ub3NwYWNlPTY1MzQ1O2UuYW1wZXJzYW5kPTM4O2UuYW1wZXJzYW5kbW9ub3NwYWNlPTY1Mjg2O2UuYW1wZXJzYW5kc21hbGw9NjMyNzA7ZS5hbXNxdWFyZT0xMzI1MDtlLmFuYm9wb21vZm89MTI1Nzg7ZS5hbmdib3BvbW9mbz0xMjU4MDtlLmFuZ2JyYWNrZXRsZWZ0PTEyMjk2O2UuYW5nYnJhY2tldHJpZ2h0PTEyMjk3O2UuYW5na2hhbmtodXRoYWk9MzY3NDtlLmFuZ2xlPTg3MzY7ZS5hbmdsZWJyYWNrZXRsZWZ0PTEyMjk2O2UuYW5nbGVicmFja2V0bGVmdHZlcnRpY2FsPTY1MDg3O2UuYW5nbGVicmFja2V0cmlnaHQ9MTIyOTc7ZS5hbmdsZWJyYWNrZXRyaWdodHZlcnRpY2FsPTY1MDg4O2UuYW5nbGVsZWZ0PTkwMDE7ZS5hbmdsZXJpZ2h0PTkwMDI7ZS5hbmdzdHJvbT04NDkxO2UuYW5vdGVsZWlhPTkwMztlLmFudWRhdHRhZGV2YT0yMzg2O2UuYW51c3ZhcmFiZW5nYWxpPTI0MzQ7ZS5hbnVzdmFyYWRldmE9MjMwNjtlLmFudXN2YXJhZ3VqYXJhdGk9MjY5MDtlLmFvZ29uZWs9MjYxO2UuYXBhYXRvc3F1YXJlPTEzMDU2O2UuYXBhcmVuPTkzNzI7ZS5hcG9zdHJvcGhlYXJtZW5pYW49MTM3MDtlLmFwb3N0cm9waGVtb2Q9NzAwO2UuYXBwbGU9NjM3NDM7ZS5hcHByb2FjaGVzPTg3ODQ7ZS5hcHByb3hlcXVhbD04Nzc2O2UuYXBwcm94ZXF1YWxvcmltYWdlPTg3ODY7ZS5hcHByb3hpbWF0ZWx5ZXF1YWw9ODc3MztlLmFyYWVhZWtvcmVhbj0xMjY4NjtlLmFyYWVha29yZWFuPTEyNjg1O2UuYXJjPTg5Nzg7ZS5hcmlnaHRoYWxmcmluZz03ODM0O2UuYXJpbmc9MjI5O2UuYXJpbmdhY3V0ZT01MDc7ZS5hcmluZ2JlbG93PTc2ODE7ZS5hcnJvd2JvdGg9ODU5NjtlLmFycm93ZGFzaGRvd249ODY3NTtlLmFycm93ZGFzaGxlZnQ9ODY3MjtlLmFycm93ZGFzaHJpZ2h0PTg2NzQ7ZS5hcnJvd2Rhc2h1cD04NjczO2UuYXJyb3dkYmxib3RoPTg2NjA7ZS5hcnJvd2RibGRvd249ODY1OTtlLmFycm93ZGJsbGVmdD04NjU2O2UuYXJyb3dkYmxyaWdodD04NjU4O2UuYXJyb3dkYmx1cD04NjU3O2UuYXJyb3dkb3duPTg1OTU7ZS5hcnJvd2Rvd25sZWZ0PTg2MDE7ZS5hcnJvd2Rvd25yaWdodD04NjAwO2UuYXJyb3dkb3dud2hpdGU9ODY4MTtlLmFycm93aGVhZGRvd25tb2Q9NzA5O2UuYXJyb3doZWFkbGVmdG1vZD03MDY7ZS5hcnJvd2hlYWRyaWdodG1vZD03MDc7ZS5hcnJvd2hlYWR1cG1vZD03MDg7ZS5hcnJvd2hvcml6ZXg9NjM3MTk7ZS5hcnJvd2xlZnQ9ODU5MjtlLmFycm93bGVmdGRibD04NjU2O2UuYXJyb3dsZWZ0ZGJsc3Ryb2tlPTg2NTM7ZS5hcnJvd2xlZnRvdmVycmlnaHQ9ODY0NjtlLmFycm93bGVmdHdoaXRlPTg2Nzg7ZS5hcnJvd3JpZ2h0PTg1OTQ7ZS5hcnJvd3JpZ2h0ZGJsc3Ryb2tlPTg2NTU7ZS5hcnJvd3JpZ2h0aGVhdnk9MTAxNDI7ZS5hcnJvd3JpZ2h0b3ZlcmxlZnQ9ODY0NDtlLmFycm93cmlnaHR3aGl0ZT04NjgwO2UuYXJyb3d0YWJsZWZ0PTg2NzY7ZS5hcnJvd3RhYnJpZ2h0PTg2Nzc7ZS5hcnJvd3VwPTg1OTM7ZS5hcnJvd3VwZG49ODU5NztlLmFycm93dXBkbmJzZT04NjE2O2UuYXJyb3d1cGRvd25iYXNlPTg2MTY7ZS5hcnJvd3VwbGVmdD04NTk4O2UuYXJyb3d1cGxlZnRvZmRvd249ODY0NTtlLmFycm93dXByaWdodD04NTk5O2UuYXJyb3d1cHdoaXRlPTg2Nzk7ZS5hcnJvd3ZlcnRleD02MzcxODtlLmFzY2lpY2lyY3VtPTk0O2UuYXNjaWljaXJjdW1tb25vc3BhY2U9NjUzNDI7ZS5hc2NpaXRpbGRlPTEyNjtlLmFzY2lpdGlsZGVtb25vc3BhY2U9NjUzNzQ7ZS5hc2NyaXB0PTU5MztlLmFzY3JpcHR0dXJuZWQ9NTk0O2UuYXNtYWxsaGlyYWdhbmE9MTIzNTM7ZS5hc21hbGxrYXRha2FuYT0xMjQ0OTtlLmFzbWFsbGthdGFrYW5haGFsZndpZHRoPTY1MzgzO2UuYXN0ZXJpc2s9NDI7ZS5hc3Rlcmlza2FsdG9uZWFyYWJpYz0xNjQ1O2UuYXN0ZXJpc2thcmFiaWM9MTY0NTtlLmFzdGVyaXNrbWF0aD04NzI3O2UuYXN0ZXJpc2ttb25vc3BhY2U9NjUyOTA7ZS5hc3Rlcmlza3NtYWxsPTY1MTIxO2UuYXN0ZXJpc209ODI1ODtlLmFzdXBlcmlvcj02MzIwOTtlLmFzeW1wdG90aWNhbGx5ZXF1YWw9ODc3MTtlLmF0PTY0O2UuYXRpbGRlPTIyNztlLmF0bW9ub3NwYWNlPTY1MzEyO2UuYXRzbWFsbD02NTEzMTtlLmF0dXJuZWQ9NTkyO2UuYXViZW5nYWxpPTI0NTI7ZS5hdWJvcG9tb2ZvPTEyNTc2O2UuYXVkZXZhPTIzMjQ7ZS5hdWd1amFyYXRpPTI3MDg7ZS5hdWd1cm11a2hpPTI1ODA7ZS5hdWxlbmd0aG1hcmtiZW5nYWxpPTI1MTk7ZS5hdW1hdHJhZ3VybXVraGk9MjYzNjtlLmF1dm93ZWxzaWduYmVuZ2FsaT0yNTA4O2UuYXV2b3dlbHNpZ25kZXZhPTIzODA7ZS5hdXZvd2Vsc2lnbmd1amFyYXRpPTI3NjQ7ZS5hdmFncmFoYWRldmE9MjM2NTtlLmF5YmFybWVuaWFuPTEzNzc7ZS5heWluPTE1MDY7ZS5heWluYWx0b25laGVicmV3PTY0Mjg4O2UuYXlpbmhlYnJldz0xNTA2O2UuYj05ODtlLmJhYmVuZ2FsaT0yNDc2O2UuYmFja3NsYXNoPTkyO2UuYmFja3NsYXNobW9ub3NwYWNlPTY1MzQwO2UuYmFkZXZhPTIzNDg7ZS5iYWd1amFyYXRpPTI3MzI7ZS5iYWd1cm11a2hpPTI2MDQ7ZS5iYWhpcmFnYW5hPTEyNDAwO2UuYmFodHRoYWk9MzY0NztlLmJha2F0YWthbmE9MTI0OTY7ZS5iYXI9MTI0O2UuYmFybW9ub3NwYWNlPTY1MzcyO2UuYmJvcG9tb2ZvPTEyNTQ5O2UuYmNpcmNsZT05NDI1O2UuYmRvdGFjY2VudD03NjgzO2UuYmRvdGJlbG93PTc2ODU7ZS5iZWFtZWRzaXh0ZWVudGhub3Rlcz05ODM2O2UuYmVjYXVzZT04NzU3O2UuYmVjeXJpbGxpYz0xMDczO2UuYmVoYXJhYmljPTE1NzY7ZS5iZWhmaW5hbGFyYWJpYz02NTE2ODtlLmJlaGluaXRpYWxhcmFiaWM9NjUxNjk7ZS5iZWhpcmFnYW5hPTEyNDA5O2UuYmVobWVkaWFsYXJhYmljPTY1MTcwO2UuYmVobWVlbWluaXRpYWxhcmFiaWM9NjQ2NzE7ZS5iZWhtZWVtaXNvbGF0ZWRhcmFiaWM9NjQ1MjA7ZS5iZWhub29uZmluYWxhcmFiaWM9NjQ2MjE7ZS5iZWthdGFrYW5hPTEyNTA1O2UuYmVuYXJtZW5pYW49MTM3ODtlLmJldD0xNDg5O2UuYmV0YT05NDY7ZS5iZXRhc3ltYm9sZ3JlZWs9OTc2O2UuYmV0ZGFnZXNoPTY0MzA1O2UuYmV0ZGFnZXNoaGVicmV3PTY0MzA1O2UuYmV0aGVicmV3PTE0ODk7ZS5iZXRyYWZlaGVicmV3PTY0MzMyO2UuYmhhYmVuZ2FsaT0yNDc3O2UuYmhhZGV2YT0yMzQ5O2UuYmhhZ3VqYXJhdGk9MjczMztlLmJoYWd1cm11a2hpPTI2MDU7ZS5iaG9vaz01OTU7ZS5iaWhpcmFnYW5hPTEyNDAzO2UuYmlrYXRha2FuYT0xMjQ5OTtlLmJpbGFiaWFsY2xpY2s9NjY0O2UuYmluZGlndXJtdWtoaT0yNTYyO2UuYmlydXNxdWFyZT0xMzEwNTtlLmJsYWNrY2lyY2xlPTk2Nzk7ZS5ibGFja2RpYW1vbmQ9OTY3MDtlLmJsYWNrZG93bnBvaW50aW5ndHJpYW5nbGU9OTY2MDtlLmJsYWNrbGVmdHBvaW50aW5ncG9pbnRlcj05NjY4O2UuYmxhY2tsZWZ0cG9pbnRpbmd0cmlhbmdsZT05NjY0O2UuYmxhY2tsZW50aWN1bGFyYnJhY2tldGxlZnQ9MTIzMDQ7ZS5ibGFja2xlbnRpY3VsYXJicmFja2V0bGVmdHZlcnRpY2FsPTY1MDgzO2UuYmxhY2tsZW50aWN1bGFyYnJhY2tldHJpZ2h0PTEyMzA1O2UuYmxhY2tsZW50aWN1bGFyYnJhY2tldHJpZ2h0dmVydGljYWw9NjUwODQ7ZS5ibGFja2xvd2VybGVmdHRyaWFuZ2xlPTk2OTk7ZS5ibGFja2xvd2VycmlnaHR0cmlhbmdsZT05Njk4O2UuYmxhY2tyZWN0YW5nbGU9OTY0NDtlLmJsYWNrcmlnaHRwb2ludGluZ3BvaW50ZXI9OTY1ODtlLmJsYWNrcmlnaHRwb2ludGluZ3RyaWFuZ2xlPTk2NTQ7ZS5ibGFja3NtYWxsc3F1YXJlPTk2NDI7ZS5ibGFja3NtaWxpbmdmYWNlPTk3ODc7ZS5ibGFja3NxdWFyZT05NjMyO2UuYmxhY2tzdGFyPTk3MzM7ZS5ibGFja3VwcGVybGVmdHRyaWFuZ2xlPTk3MDA7ZS5ibGFja3VwcGVycmlnaHR0cmlhbmdsZT05NzAxO2UuYmxhY2t1cHBvaW50aW5nc21hbGx0cmlhbmdsZT05NjUyO2UuYmxhY2t1cHBvaW50aW5ndHJpYW5nbGU9OTY1MDtlLmJsYW5rPTkyNTE7ZS5ibGluZWJlbG93PTc2ODc7ZS5ibG9jaz05NjA4O2UuYm1vbm9zcGFjZT02NTM0NjtlLmJvYmFpbWFpdGhhaT0zNjEwO2UuYm9oaXJhZ2FuYT0xMjQxMjtlLmJva2F0YWthbmE9MTI1MDg7ZS5icGFyZW49OTM3MztlLmJxc3F1YXJlPTEzMjUxO2UuYnJhY2VleD02MzczMjtlLmJyYWNlbGVmdD0xMjM7ZS5icmFjZWxlZnRidD02MzczMTtlLmJyYWNlbGVmdG1pZD02MzczMDtlLmJyYWNlbGVmdG1vbm9zcGFjZT02NTM3MTtlLmJyYWNlbGVmdHNtYWxsPTY1MTE1O2UuYnJhY2VsZWZ0dHA9NjM3Mjk7ZS5icmFjZWxlZnR2ZXJ0aWNhbD02NTA3OTtlLmJyYWNlcmlnaHQ9MTI1O2UuYnJhY2VyaWdodGJ0PTYzNzQyO2UuYnJhY2VyaWdodG1pZD02Mzc0MTtlLmJyYWNlcmlnaHRtb25vc3BhY2U9NjUzNzM7ZS5icmFjZXJpZ2h0c21hbGw9NjUxMTY7ZS5icmFjZXJpZ2h0dHA9NjM3NDA7ZS5icmFjZXJpZ2h0dmVydGljYWw9NjUwODA7ZS5icmFja2V0bGVmdD05MTtlLmJyYWNrZXRsZWZ0YnQ9NjM3Mjg7ZS5icmFja2V0bGVmdGV4PTYzNzI3O2UuYnJhY2tldGxlZnRtb25vc3BhY2U9NjUzMzk7ZS5icmFja2V0bGVmdHRwPTYzNzI2O2UuYnJhY2tldHJpZ2h0PTkzO2UuYnJhY2tldHJpZ2h0YnQ9NjM3Mzk7ZS5icmFja2V0cmlnaHRleD02MzczODtlLmJyYWNrZXRyaWdodG1vbm9zcGFjZT02NTM0MTtlLmJyYWNrZXRyaWdodHRwPTYzNzM3O2UuYnJldmU9NzI4O2UuYnJldmViZWxvd2NtYj04MTQ7ZS5icmV2ZWNtYj03NzQ7ZS5icmV2ZWludmVydGVkYmVsb3djbWI9ODE1O2UuYnJldmVpbnZlcnRlZGNtYj03ODU7ZS5icmV2ZWludmVydGVkZG91YmxlY21iPTg2NTtlLmJyaWRnZWJlbG93Y21iPTgxMDtlLmJyaWRnZWludmVydGVkYmVsb3djbWI9ODI2O2UuYnJva2VuYmFyPTE2NjtlLmJzdHJva2U9Mzg0O2UuYnN1cGVyaW9yPTYzMjEwO2UuYnRvcGJhcj0zODc7ZS5idWhpcmFnYW5hPTEyNDA2O2UuYnVrYXRha2FuYT0xMjUwMjtlLmJ1bGxldD04MjI2O2UuYnVsbGV0aW52ZXJzZT05Njg4O2UuYnVsbGV0b3BlcmF0b3I9ODcyOTtlLmJ1bGxzZXllPTk2Nzg7ZS5jPTk5O2UuY2Fhcm1lbmlhbj0xMzkwO2UuY2FiZW5nYWxpPTI0NTg7ZS5jYWN1dGU9MjYzO2UuY2FkZXZhPTIzMzA7ZS5jYWd1amFyYXRpPTI3MTQ7ZS5jYWd1cm11a2hpPTI1ODY7ZS5jYWxzcXVhcmU9MTMxOTI7ZS5jYW5kcmFiaW5kdWJlbmdhbGk9MjQzMztlLmNhbmRyYWJpbmR1Y21iPTc4NDtlLmNhbmRyYWJpbmR1ZGV2YT0yMzA1O2UuY2FuZHJhYmluZHVndWphcmF0aT0yNjg5O2UuY2Fwc2xvY2s9ODY4MjtlLmNhcmVvZj04NDUzO2UuY2Fyb249NzExO2UuY2Fyb25iZWxvd2NtYj04MTI7ZS5jYXJvbmNtYj03ODA7ZS5jYXJyaWFnZXJldHVybj04NjI5O2UuY2JvcG9tb2ZvPTEyNTY4O2UuY2Nhcm9uPTI2OTtlLmNjZWRpbGxhPTIzMTtlLmNjZWRpbGxhYWN1dGU9NzY4OTtlLmNjaXJjbGU9OTQyNjtlLmNjaXJjdW1mbGV4PTI2NTtlLmNjdXJsPTU5NztlLmNkb3Q9MjY3O2UuY2RvdGFjY2VudD0yNjc7ZS5jZHNxdWFyZT0xMzI1MztlLmNlZGlsbGE9MTg0O2UuY2VkaWxsYWNtYj04MDc7ZS5jZW50PTE2MjtlLmNlbnRpZ3JhZGU9ODQ1MTtlLmNlbnRpbmZlcmlvcj02MzE5OTtlLmNlbnRtb25vc3BhY2U9NjU1MDQ7ZS5jZW50b2xkc3R5bGU9NjMzOTQ7ZS5jZW50c3VwZXJpb3I9NjMyMDA7ZS5jaGFhcm1lbmlhbj0xNDAxO2UuY2hhYmVuZ2FsaT0yNDU5O2UuY2hhZGV2YT0yMzMxO2UuY2hhZ3VqYXJhdGk9MjcxNTtlLmNoYWd1cm11a2hpPTI1ODc7ZS5jaGJvcG9tb2ZvPTEyNTY0O2UuY2hlYWJraGFzaWFuY3lyaWxsaWM9MTIxMztlLmNoZWNrbWFyaz0xMDAwMztlLmNoZWN5cmlsbGljPTEwOTU7ZS5jaGVkZXNjZW5kZXJhYmtoYXNpYW5jeXJpbGxpYz0xMjE1O2UuY2hlZGVzY2VuZGVyY3lyaWxsaWM9MTIwNztlLmNoZWRpZXJlc2lzY3lyaWxsaWM9MTI2OTtlLmNoZWhhcm1lbmlhbj0xMzk1O2UuY2hla2hha2Fzc2lhbmN5cmlsbGljPTEyMjg7ZS5jaGV2ZXJ0aWNhbHN0cm9rZWN5cmlsbGljPTEyMDk7ZS5jaGk9OTY3O2UuY2hpZXVjaGFjaXJjbGVrb3JlYW49MTI5MTk7ZS5jaGlldWNoYXBhcmVua29yZWFuPTEyODIzO2UuY2hpZXVjaGNpcmNsZWtvcmVhbj0xMjkwNTtlLmNoaWV1Y2hrb3JlYW49MTI2MTg7ZS5jaGlldWNocGFyZW5rb3JlYW49MTI4MDk7ZS5jaG9jaGFuZ3RoYWk9MzU5NDtlLmNob2NoYW50aGFpPTM1OTI7ZS5jaG9jaGluZ3RoYWk9MzU5MztlLmNob2Nob2V0aGFpPTM1OTY7ZS5jaG9vaz0zOTI7ZS5jaWV1Y2FjaXJjbGVrb3JlYW49MTI5MTg7ZS5jaWV1Y2FwYXJlbmtvcmVhbj0xMjgyMjtlLmNpZXVjY2lyY2xla29yZWFuPTEyOTA0O2UuY2lldWNrb3JlYW49MTI2MTY7ZS5jaWV1Y3BhcmVua29yZWFuPTEyODA4O2UuY2lldWN1cGFyZW5rb3JlYW49MTI4Mjg7ZS5jaXJjbGU9OTY3NTtlLmNpcmNsZWNvcHlydD0xNjk7ZS5jaXJjbGVtdWx0aXBseT04ODU1O2UuY2lyY2xlb3Q9ODg1NztlLmNpcmNsZXBsdXM9ODg1MztlLmNpcmNsZXBvc3RhbG1hcms9MTIzNDI7ZS5jaXJjbGV3aXRobGVmdGhhbGZibGFjaz05NjgwO2UuY2lyY2xld2l0aHJpZ2h0aGFsZmJsYWNrPTk2ODE7ZS5jaXJjdW1mbGV4PTcxMDtlLmNpcmN1bWZsZXhiZWxvd2NtYj04MTM7ZS5jaXJjdW1mbGV4Y21iPTc3MDtlLmNsZWFyPTg5OTk7ZS5jbGlja2FsdmVvbGFyPTQ1MDtlLmNsaWNrZGVudGFsPTQ0ODtlLmNsaWNrbGF0ZXJhbD00NDk7ZS5jbGlja3JldHJvZmxleD00NTE7ZS5jbHViPTk4Mjc7ZS5jbHVic3VpdGJsYWNrPTk4Mjc7ZS5jbHVic3VpdHdoaXRlPTk4MzE7ZS5jbWN1YmVkc3F1YXJlPTEzMjIwO2UuY21vbm9zcGFjZT02NTM0NztlLmNtc3F1YXJlZHNxdWFyZT0xMzIxNjtlLmNvYXJtZW5pYW49MTQwOTtlLmNvbG9uPTU4O2UuY29sb25tb25ldGFyeT04MzUzO2UuY29sb25tb25vc3BhY2U9NjUzMDY7ZS5jb2xvbnNpZ249ODM1MztlLmNvbG9uc21hbGw9NjUxMDk7ZS5jb2xvbnRyaWFuZ3VsYXJoYWxmbW9kPTcyMTtlLmNvbG9udHJpYW5ndWxhcm1vZD03MjA7ZS5jb21tYT00NDtlLmNvbW1hYWJvdmVjbWI9Nzg3O2UuY29tbWFhYm92ZXJpZ2h0Y21iPTc4OTtlLmNvbW1hYWNjZW50PTYzMTcxO2UuY29tbWFhcmFiaWM9MTU0ODtlLmNvbW1hYXJtZW5pYW49MTM3MztlLmNvbW1haW5mZXJpb3I9NjMyMDE7ZS5jb21tYW1vbm9zcGFjZT02NTI5MjtlLmNvbW1hcmV2ZXJzZWRhYm92ZWNtYj03ODg7ZS5jb21tYXJldmVyc2VkbW9kPTcwMTtlLmNvbW1hc21hbGw9NjUxMDQ7ZS5jb21tYXN1cGVyaW9yPTYzMjAyO2UuY29tbWF0dXJuZWRhYm92ZWNtYj03ODY7ZS5jb21tYXR1cm5lZG1vZD02OTk7ZS5jb21wYXNzPTk3ODg7ZS5jb25ncnVlbnQ9ODc3MztlLmNvbnRvdXJpbnRlZ3JhbD04NzUwO2UuY29udHJvbD04OTYzO2UuY29udHJvbEFDSz02O2UuY29udHJvbEJFTD03O2UuY29udHJvbEJTPTg7ZS5jb250cm9sQ0FOPTI0O2UuY29udHJvbENSPTEzO2UuY29udHJvbERDMT0xNztlLmNvbnRyb2xEQzI9MTg7ZS5jb250cm9sREMzPTE5O2UuY29udHJvbERDND0yMDtlLmNvbnRyb2xERUw9MTI3O2UuY29udHJvbERMRT0xNjtlLmNvbnRyb2xFTT0yNTtlLmNvbnRyb2xFTlE9NTtlLmNvbnRyb2xFT1Q9NDtlLmNvbnRyb2xFU0M9Mjc7ZS5jb250cm9sRVRCPTIzO2UuY29udHJvbEVUWD0zO2UuY29udHJvbEZGPTEyO2UuY29udHJvbEZTPTI4O2UuY29udHJvbEdTPTI5O2UuY29udHJvbEhUPTk7ZS5jb250cm9sTEY9MTA7ZS5jb250cm9sTkFLPTIxO2UuY29udHJvbE5VTEw9MDtlLmNvbnRyb2xSUz0zMDtlLmNvbnRyb2xTST0xNTtlLmNvbnRyb2xTTz0xNDtlLmNvbnRyb2xTT1Q9MjtlLmNvbnRyb2xTVFg9MTtlLmNvbnRyb2xTVUI9MjY7ZS5jb250cm9sU1lOPTIyO2UuY29udHJvbFVTPTMxO2UuY29udHJvbFZUPTExO2UuY29weXJpZ2h0PTE2OTtlLmNvcHlyaWdodHNhbnM9NjM3MjE7ZS5jb3B5cmlnaHRzZXJpZj02MzE5MztlLmNvcm5lcmJyYWNrZXRsZWZ0PTEyMzAwO2UuY29ybmVyYnJhY2tldGxlZnRoYWxmd2lkdGg9NjUzNzg7ZS5jb3JuZXJicmFja2V0bGVmdHZlcnRpY2FsPTY1MDg5O2UuY29ybmVyYnJhY2tldHJpZ2h0PTEyMzAxO2UuY29ybmVyYnJhY2tldHJpZ2h0aGFsZndpZHRoPTY1Mzc5O2UuY29ybmVyYnJhY2tldHJpZ2h0dmVydGljYWw9NjUwOTA7ZS5jb3Jwb3JhdGlvbnNxdWFyZT0xMzE4MztlLmNvc3F1YXJlPTEzMjU1O2UuY292ZXJrZ3NxdWFyZT0xMzI1NDtlLmNwYXJlbj05Mzc0O2UuY3J1emVpcm89ODM1NDtlLmNzdHJldGNoZWQ9NjYzO2UuY3VybHlhbmQ9ODkxMTtlLmN1cmx5b3I9ODkxMDtlLmN1cnJlbmN5PTE2NDtlLmN5ckJyZXZlPTYzMTg1O2UuY3lyRmxleD02MzE4NjtlLmN5cmJyZXZlPTYzMTg4O2UuY3lyZmxleD02MzE4OTtlLmQ9MTAwO2UuZGFhcm1lbmlhbj0xMzgwO2UuZGFiZW5nYWxpPTI0NzA7ZS5kYWRhcmFiaWM9MTU5MDtlLmRhZGV2YT0yMzQyO2UuZGFkZmluYWxhcmFiaWM9NjUyMTQ7ZS5kYWRpbml0aWFsYXJhYmljPTY1MjE1O2UuZGFkbWVkaWFsYXJhYmljPTY1MjE2O2UuZGFnZXNoPTE0Njg7ZS5kYWdlc2hoZWJyZXc9MTQ2ODtlLmRhZ2dlcj04MjI0O2UuZGFnZ2VyZGJsPTgyMjU7ZS5kYWd1amFyYXRpPTI3MjY7ZS5kYWd1cm11a2hpPTI1OTg7ZS5kYWhpcmFnYW5hPTEyMzg0O2UuZGFrYXRha2FuYT0xMjQ4MDtlLmRhbGFyYWJpYz0xNTgzO2UuZGFsZXQ9MTQ5MTtlLmRhbGV0ZGFnZXNoPTY0MzA3O2UuZGFsZXRkYWdlc2hoZWJyZXc9NjQzMDc7ZS5kYWxldGhlYnJldz0xNDkxO2UuZGFsZmluYWxhcmFiaWM9NjUxOTQ7ZS5kYW1tYWFyYWJpYz0xNjE1O2UuZGFtbWFsb3dhcmFiaWM9MTYxNTtlLmRhbW1hdGFuYWx0b25lYXJhYmljPTE2MTI7ZS5kYW1tYXRhbmFyYWJpYz0xNjEyO2UuZGFuZGE9MjQwNDtlLmRhcmdhaGVicmV3PTE0NDc7ZS5kYXJnYWxlZnRoZWJyZXc9MTQ0NztlLmRhc2lhcG5ldW1hdGFjeXJpbGxpY2NtYj0xMTU3O2UuZGJsR3JhdmU9NjMxODc7ZS5kYmxhbmdsZWJyYWNrZXRsZWZ0PTEyMjk4O2UuZGJsYW5nbGVicmFja2V0bGVmdHZlcnRpY2FsPTY1MDg1O2UuZGJsYW5nbGVicmFja2V0cmlnaHQ9MTIyOTk7ZS5kYmxhbmdsZWJyYWNrZXRyaWdodHZlcnRpY2FsPTY1MDg2O2UuZGJsYXJjaGludmVydGVkYmVsb3djbWI9ODExO2UuZGJsYXJyb3dsZWZ0PTg2NjA7ZS5kYmxhcnJvd3JpZ2h0PTg2NTg7ZS5kYmxkYW5kYT0yNDA1O2UuZGJsZ3JhdmU9NjMxOTA7ZS5kYmxncmF2ZWNtYj03ODM7ZS5kYmxpbnRlZ3JhbD04NzQ4O2UuZGJsbG93bGluZT04MjE1O2UuZGJsbG93bGluZWNtYj04MTk7ZS5kYmxvdmVybGluZWNtYj04MzE7ZS5kYmxwcmltZW1vZD02OTg7ZS5kYmx2ZXJ0aWNhbGJhcj04MjE0O2UuZGJsdmVydGljYWxsaW5lYWJvdmVjbWI9NzgyO2UuZGJvcG9tb2ZvPTEyNTUzO2UuZGJzcXVhcmU9MTMyNTY7ZS5kY2Fyb249MjcxO2UuZGNlZGlsbGE9NzY5NztlLmRjaXJjbGU9OTQyNztlLmRjaXJjdW1mbGV4YmVsb3c9NzY5OTtlLmRjcm9hdD0yNzM7ZS5kZGFiZW5nYWxpPTI0NjU7ZS5kZGFkZXZhPTIzMzc7ZS5kZGFndWphcmF0aT0yNzIxO2UuZGRhZ3VybXVraGk9MjU5MztlLmRkYWxhcmFiaWM9MTY3MjtlLmRkYWxmaW5hbGFyYWJpYz02NDM5MztlLmRkZGhhZGV2YT0yMzk2O2UuZGRoYWJlbmdhbGk9MjQ2NjtlLmRkaGFkZXZhPTIzMzg7ZS5kZGhhZ3VqYXJhdGk9MjcyMjtlLmRkaGFndXJtdWtoaT0yNTk0O2UuZGRvdGFjY2VudD03NjkxO2UuZGRvdGJlbG93PTc2OTM7ZS5kZWNpbWFsc2VwYXJhdG9yYXJhYmljPTE2NDM7ZS5kZWNpbWFsc2VwYXJhdG9ycGVyc2lhbj0xNjQzO2UuZGVjeXJpbGxpYz0xMDc2O2UuZGVncmVlPTE3NjtlLmRlaGloZWJyZXc9MTQ1MztlLmRlaGlyYWdhbmE9MTIzOTE7ZS5kZWljb3B0aWM9MTAwNztlLmRla2F0YWthbmE9MTI0ODc7ZS5kZWxldGVsZWZ0PTkwMDM7ZS5kZWxldGVyaWdodD04OTk4O2UuZGVsdGE9OTQ4O2UuZGVsdGF0dXJuZWQ9Mzk3O2UuZGVub21pbmF0b3JtaW51c29uZW51bWVyYXRvcmJlbmdhbGk9MjU1MjtlLmRlemg9Njc2O2UuZGhhYmVuZ2FsaT0yNDcxO2UuZGhhZGV2YT0yMzQzO2UuZGhhZ3VqYXJhdGk9MjcyNztlLmRoYWd1cm11a2hpPTI1OTk7ZS5kaG9vaz01OTk7ZS5kaWFseXRpa2F0b25vcz05MDE7ZS5kaWFseXRpa2F0b25vc2NtYj04MzY7ZS5kaWFtb25kPTk4MzA7ZS5kaWFtb25kc3VpdHdoaXRlPTk4MjY7ZS5kaWVyZXNpcz0xNjg7ZS5kaWVyZXNpc2FjdXRlPTYzMTkxO2UuZGllcmVzaXNiZWxvd2NtYj04MDQ7ZS5kaWVyZXNpc2NtYj03NzY7ZS5kaWVyZXNpc2dyYXZlPTYzMTkyO2UuZGllcmVzaXN0b25vcz05MDE7ZS5kaWhpcmFnYW5hPTEyMzg2O2UuZGlrYXRha2FuYT0xMjQ4MjtlLmRpdHRvbWFyaz0xMjI5MTtlLmRpdmlkZT0yNDc7ZS5kaXZpZGVzPTg3Mzk7ZS5kaXZpc2lvbnNsYXNoPTg3MjU7ZS5kamVjeXJpbGxpYz0xMTA2O2UuZGtzaGFkZT05NjE5O2UuZGxpbmViZWxvdz03Njk1O2UuZGxzcXVhcmU9MTMyMDc7ZS5kbWFjcm9uPTI3MztlLmRtb25vc3BhY2U9NjUzNDg7ZS5kbmJsb2NrPTk2MDQ7ZS5kb2NoYWRhdGhhaT0zNTk4O2UuZG9kZWt0aGFpPTM2MDQ7ZS5kb2hpcmFnYW5hPTEyMzkzO2UuZG9rYXRha2FuYT0xMjQ4OTtlLmRvbGxhcj0zNjtlLmRvbGxhcmluZmVyaW9yPTYzMjAzO2UuZG9sbGFybW9ub3NwYWNlPTY1Mjg0O2UuZG9sbGFyb2xkc3R5bGU9NjMyNjg7ZS5kb2xsYXJzbWFsbD02NTEyOTtlLmRvbGxhcnN1cGVyaW9yPTYzMjA0O2UuZG9uZz04MzYzO2UuZG9ydXNxdWFyZT0xMzA5NDtlLmRvdGFjY2VudD03Mjk7ZS5kb3RhY2NlbnRjbWI9Nzc1O2UuZG90YmVsb3djbWI9ODAzO2UuZG90YmVsb3djb21iPTgwMztlLmRvdGthdGFrYW5hPTEyNTM5O2UuZG90bGVzc2k9MzA1O2UuZG90bGVzc2o9NjMxNjY7ZS5kb3RsZXNzanN0cm9rZWhvb2s9NjQ0O2UuZG90bWF0aD04OTAxO2UuZG90dGVkY2lyY2xlPTk2NzY7ZS5kb3VibGV5b2RwYXRhaD02NDI4NztlLmRvdWJsZXlvZHBhdGFoaGVicmV3PTY0Mjg3O2UuZG93bnRhY2tiZWxvd2NtYj03OTg7ZS5kb3dudGFja21vZD03MjU7ZS5kcGFyZW49OTM3NTtlLmRzdXBlcmlvcj02MzIxMTtlLmR0YWlsPTU5ODtlLmR0b3BiYXI9Mzk2O2UuZHVoaXJhZ2FuYT0xMjM4OTtlLmR1a2F0YWthbmE9MTI0ODU7ZS5kej00OTk7ZS5kemFsdG9uZT02NzU7ZS5kemNhcm9uPTQ1NDtlLmR6Y3VybD02Nzc7ZS5kemVhYmtoYXNpYW5jeXJpbGxpYz0xMjQ5O2UuZHplY3lyaWxsaWM9MTEwOTtlLmR6aGVjeXJpbGxpYz0xMTE5O2UuZT0xMDE7ZS5lYWN1dGU9MjMzO2UuZWFydGg9OTc5MztlLmViZW5nYWxpPTI0NDc7ZS5lYm9wb21vZm89MTI1NzI7ZS5lYnJldmU9Mjc3O2UuZWNhbmRyYWRldmE9MjMxNztlLmVjYW5kcmFndWphcmF0aT0yNzAxO2UuZWNhbmRyYXZvd2Vsc2lnbmRldmE9MjM3MztlLmVjYW5kcmF2b3dlbHNpZ25ndWphcmF0aT0yNzU3O2UuZWNhcm9uPTI4MztlLmVjZWRpbGxhYnJldmU9NzcwOTtlLmVjaGFybWVuaWFuPTEzODE7ZS5lY2h5aXduYXJtZW5pYW49MTQxNTtlLmVjaXJjbGU9OTQyODtlLmVjaXJjdW1mbGV4PTIzNDtlLmVjaXJjdW1mbGV4YWN1dGU9Nzg3MTtlLmVjaXJjdW1mbGV4YmVsb3c9NzcwNTtlLmVjaXJjdW1mbGV4ZG90YmVsb3c9Nzg3OTtlLmVjaXJjdW1mbGV4Z3JhdmU9Nzg3MztlLmVjaXJjdW1mbGV4aG9va2Fib3ZlPTc4NzU7ZS5lY2lyY3VtZmxleHRpbGRlPTc4Nzc7ZS5lY3lyaWxsaWM9MTEwODtlLmVkYmxncmF2ZT01MTc7ZS5lZGV2YT0yMzE5O2UuZWRpZXJlc2lzPTIzNTtlLmVkb3Q9Mjc5O2UuZWRvdGFjY2VudD0yNzk7ZS5lZG90YmVsb3c9Nzg2NTtlLmVlZ3VybXVraGk9MjU3NTtlLmVlbWF0cmFndXJtdWtoaT0yNjMxO2UuZWZjeXJpbGxpYz0xMDkyO2UuZWdyYXZlPTIzMjtlLmVndWphcmF0aT0yNzAzO2UuZWhhcm1lbmlhbj0xMzgzO2UuZWhib3BvbW9mbz0xMjU3MztlLmVoaXJhZ2FuYT0xMjM2MDtlLmVob29rYWJvdmU9Nzg2NztlLmVpYm9wb21vZm89MTI1NzU7ZS5laWdodD01NjtlLmVpZ2h0YXJhYmljPTE2NDA7ZS5laWdodGJlbmdhbGk9MjU0MjtlLmVpZ2h0Y2lyY2xlPTkzMTk7ZS5laWdodGNpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMjk7ZS5laWdodGRldmE9MjQxNDtlLmVpZ2h0ZWVuY2lyY2xlPTkzMjk7ZS5laWdodGVlbnBhcmVuPTkzNDk7ZS5laWdodGVlbnBlcmlvZD05MzY5O2UuZWlnaHRndWphcmF0aT0yNzk4O2UuZWlnaHRndXJtdWtoaT0yNjcwO2UuZWlnaHRoYWNrYXJhYmljPTE2NDA7ZS5laWdodGhhbmd6aG91PTEyMzI4O2UuZWlnaHRobm90ZWJlYW1lZD05ODM1O2UuZWlnaHRpZGVvZ3JhcGhpY3BhcmVuPTEyODM5O2UuZWlnaHRpbmZlcmlvcj04MzI4O2UuZWlnaHRtb25vc3BhY2U9NjUzMDQ7ZS5laWdodG9sZHN0eWxlPTYzMjg4O2UuZWlnaHRwYXJlbj05MzM5O2UuZWlnaHRwZXJpb2Q9OTM1OTtlLmVpZ2h0cGVyc2lhbj0xNzg0O2UuZWlnaHRyb21hbj04NTY3O2UuZWlnaHRzdXBlcmlvcj04MzEyO2UuZWlnaHR0aGFpPTM2NzI7ZS5laW52ZXJ0ZWRicmV2ZT01MTk7ZS5laW90aWZpZWRjeXJpbGxpYz0xMTI1O2UuZWthdGFrYW5hPTEyNDU2O2UuZWthdGFrYW5haGFsZndpZHRoPTY1Mzk2O2UuZWtvbmthcmd1cm11a2hpPTI2NzY7ZS5la29yZWFuPTEyNjI4O2UuZWxjeXJpbGxpYz0xMDgzO2UuZWxlbWVudD04NzEyO2UuZWxldmVuY2lyY2xlPTkzMjI7ZS5lbGV2ZW5wYXJlbj05MzQyO2UuZWxldmVucGVyaW9kPTkzNjI7ZS5lbGV2ZW5yb21hbj04NTcwO2UuZWxsaXBzaXM9ODIzMDtlLmVsbGlwc2lzdmVydGljYWw9ODk0MjtlLmVtYWNyb249Mjc1O2UuZW1hY3JvbmFjdXRlPTc3MDM7ZS5lbWFjcm9uZ3JhdmU9NzcwMTtlLmVtY3lyaWxsaWM9MTA4NDtlLmVtZGFzaD04MjEyO2UuZW1kYXNodmVydGljYWw9NjUwNzM7ZS5lbW9ub3NwYWNlPTY1MzQ5O2UuZW1waGFzaXNtYXJrYXJtZW5pYW49MTM3MTtlLmVtcHR5c2V0PTg3MDk7ZS5lbmJvcG9tb2ZvPTEyNTc5O2UuZW5jeXJpbGxpYz0xMDg1O2UuZW5kYXNoPTgyMTE7ZS5lbmRhc2h2ZXJ0aWNhbD02NTA3NDtlLmVuZGVzY2VuZGVyY3lyaWxsaWM9MTE4NztlLmVuZz0zMzE7ZS5lbmdib3BvbW9mbz0xMjU4MTtlLmVuZ2hlY3lyaWxsaWM9MTE4OTtlLmVuaG9va2N5cmlsbGljPTEyMjQ7ZS5lbnNwYWNlPTgxOTQ7ZS5lb2dvbmVrPTI4MTtlLmVva29yZWFuPTEyNjI3O2UuZW9wZW49NjAzO2UuZW9wZW5jbG9zZWQ9NjY2O2UuZW9wZW5yZXZlcnNlZD02MDQ7ZS5lb3BlbnJldmVyc2VkY2xvc2VkPTYwNjtlLmVvcGVucmV2ZXJzZWRob29rPTYwNTtlLmVwYXJlbj05Mzc2O2UuZXBzaWxvbj05NDk7ZS5lcHNpbG9udG9ub3M9OTQxO2UuZXF1YWw9NjE7ZS5lcXVhbG1vbm9zcGFjZT02NTMwOTtlLmVxdWFsc21hbGw9NjUxMjY7ZS5lcXVhbHN1cGVyaW9yPTgzMTY7ZS5lcXVpdmFsZW5jZT04ODAxO2UuZXJib3BvbW9mbz0xMjU4MjtlLmVyY3lyaWxsaWM9MTA4ODtlLmVyZXZlcnNlZD02MDA7ZS5lcmV2ZXJzZWRjeXJpbGxpYz0xMTAxO2UuZXNjeXJpbGxpYz0xMDg5O2UuZXNkZXNjZW5kZXJjeXJpbGxpYz0xMTk1O2UuZXNoPTY0MztlLmVzaGN1cmw9NjQ2O2UuZXNob3J0ZGV2YT0yMzE4O2UuZXNob3J0dm93ZWxzaWduZGV2YT0yMzc0O2UuZXNocmV2ZXJzZWRsb29wPTQyNjtlLmVzaHNxdWF0cmV2ZXJzZWQ9NjQ1O2UuZXNtYWxsaGlyYWdhbmE9MTIzNTk7ZS5lc21hbGxrYXRha2FuYT0xMjQ1NTtlLmVzbWFsbGthdGFrYW5haGFsZndpZHRoPTY1Mzg2O2UuZXN0aW1hdGVkPTg0OTQ7ZS5lc3VwZXJpb3I9NjMyMTI7ZS5ldGE9OTUxO2UuZXRhcm1lbmlhbj0xMzg0O2UuZXRhdG9ub3M9OTQyO2UuZXRoPTI0MDtlLmV0aWxkZT03ODY5O2UuZXRpbGRlYmVsb3c9NzcwNztlLmV0bmFodGFmb3VraGhlYnJldz0xNDI1O2UuZXRuYWh0YWZvdWtobGVmdGhlYnJldz0xNDI1O2UuZXRuYWh0YWhlYnJldz0xNDI1O2UuZXRuYWh0YWxlZnRoZWJyZXc9MTQyNTtlLmV0dXJuZWQ9NDc3O2UuZXVrb3JlYW49MTI2NDE7ZS5ldXJvPTgzNjQ7ZS5ldm93ZWxzaWduYmVuZ2FsaT0yNTAzO2UuZXZvd2Vsc2lnbmRldmE9MjM3NTtlLmV2b3dlbHNpZ25ndWphcmF0aT0yNzU5O2UuZXhjbGFtPTMzO2UuZXhjbGFtYXJtZW5pYW49MTM3MjtlLmV4Y2xhbWRibD04MjUyO2UuZXhjbGFtZG93bj0xNjE7ZS5leGNsYW1kb3duc21hbGw9NjMzOTM7ZS5leGNsYW1tb25vc3BhY2U9NjUyODE7ZS5leGNsYW1zbWFsbD02MzI2NTtlLmV4aXN0ZW50aWFsPTg3MDc7ZS5lemg9NjU4O2UuZXpoY2Fyb249NDk1O2UuZXpoY3VybD02NTk7ZS5lemhyZXZlcnNlZD00NDE7ZS5lemh0YWlsPTQ0MjtlLmY9MTAyO2UuZmFkZXZhPTIzOTg7ZS5mYWd1cm11a2hpPTI2NTQ7ZS5mYWhyZW5oZWl0PTg0NTc7ZS5mYXRoYWFyYWJpYz0xNjE0O2UuZmF0aGFsb3dhcmFiaWM9MTYxNDtlLmZhdGhhdGFuYXJhYmljPTE2MTE7ZS5mYm9wb21vZm89MTI1NTI7ZS5mY2lyY2xlPTk0Mjk7ZS5mZG90YWNjZW50PTc3MTE7ZS5mZWhhcmFiaWM9MTYwMTtlLmZlaGFybWVuaWFuPTE0MTQ7ZS5mZWhmaW5hbGFyYWJpYz02NTIzNDtlLmZlaGluaXRpYWxhcmFiaWM9NjUyMzU7ZS5mZWhtZWRpYWxhcmFiaWM9NjUyMzY7ZS5mZWljb3B0aWM9OTk3O2UuZmVtYWxlPTk3OTI7ZS5mZj02NDI1NjtlLmZfZj02NDI1NjtlLmZmaT02NDI1OTtlLmZfZl9pPTY0MjU5O2UuZmZsPTY0MjYwO2UuZl9mX2w9NjQyNjA7ZS5maT02NDI1NztlLmZfaT02NDI1NztlLmZpZnRlZW5jaXJjbGU9OTMyNjtlLmZpZnRlZW5wYXJlbj05MzQ2O2UuZmlmdGVlbnBlcmlvZD05MzY2O2UuZmlndXJlZGFzaD04MjEwO2UuZmlsbGVkYm94PTk2MzI7ZS5maWxsZWRyZWN0PTk2NDQ7ZS5maW5hbGthZj0xNDk4O2UuZmluYWxrYWZkYWdlc2g9NjQzMTQ7ZS5maW5hbGthZmRhZ2VzaGhlYnJldz02NDMxNDtlLmZpbmFsa2FmaGVicmV3PTE0OTg7ZS5maW5hbG1lbT0xNTAxO2UuZmluYWxtZW1oZWJyZXc9MTUwMTtlLmZpbmFsbnVuPTE1MDM7ZS5maW5hbG51bmhlYnJldz0xNTAzO2UuZmluYWxwZT0xNTA3O2UuZmluYWxwZWhlYnJldz0xNTA3O2UuZmluYWx0c2FkaT0xNTA5O2UuZmluYWx0c2FkaWhlYnJldz0xNTA5O2UuZmlyc3R0b25lY2hpbmVzZT03MTM7ZS5maXNoZXllPTk2NzM7ZS5maXRhY3lyaWxsaWM9MTEzOTtlLmZpdmU9NTM7ZS5maXZlYXJhYmljPTE2Mzc7ZS5maXZlYmVuZ2FsaT0yNTM5O2UuZml2ZWNpcmNsZT05MzE2O2UuZml2ZWNpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMjY7ZS5maXZlZGV2YT0yNDExO2UuZml2ZWVpZ2h0aHM9ODU0MTtlLmZpdmVndWphcmF0aT0yNzk1O2UuZml2ZWd1cm11a2hpPTI2Njc7ZS5maXZlaGFja2FyYWJpYz0xNjM3O2UuZml2ZWhhbmd6aG91PTEyMzI1O2UuZml2ZWlkZW9ncmFwaGljcGFyZW49MTI4MzY7ZS5maXZlaW5mZXJpb3I9ODMyNTtlLmZpdmVtb25vc3BhY2U9NjUzMDE7ZS5maXZlb2xkc3R5bGU9NjMyODU7ZS5maXZlcGFyZW49OTMzNjtlLmZpdmVwZXJpb2Q9OTM1NjtlLmZpdmVwZXJzaWFuPTE3ODE7ZS5maXZlcm9tYW49ODU2NDtlLmZpdmVzdXBlcmlvcj04MzA5O2UuZml2ZXRoYWk9MzY2OTtlLmZsPTY0MjU4O2UuZl9sPTY0MjU4O2UuZmxvcmluPTQwMjtlLmZtb25vc3BhY2U9NjUzNTA7ZS5mbXNxdWFyZT0xMzIwOTtlLmZvZmFudGhhaT0zNjE1O2UuZm9mYXRoYWk9MzYxMztlLmZvbmdtYW50aGFpPTM2NjM7ZS5mb3JhbGw9ODcwNDtlLmZvdXI9NTI7ZS5mb3VyYXJhYmljPTE2MzY7ZS5mb3VyYmVuZ2FsaT0yNTM4O2UuZm91cmNpcmNsZT05MzE1O2UuZm91cmNpcmNsZWludmVyc2VzYW5zc2VyaWY9MTAxMjU7ZS5mb3VyZGV2YT0yNDEwO2UuZm91cmd1amFyYXRpPTI3OTQ7ZS5mb3VyZ3VybXVraGk9MjY2NjtlLmZvdXJoYWNrYXJhYmljPTE2MzY7ZS5mb3VyaGFuZ3pob3U9MTIzMjQ7ZS5mb3VyaWRlb2dyYXBoaWNwYXJlbj0xMjgzNTtlLmZvdXJpbmZlcmlvcj04MzI0O2UuZm91cm1vbm9zcGFjZT02NTMwMDtlLmZvdXJudW1lcmF0b3JiZW5nYWxpPTI1NTE7ZS5mb3Vyb2xkc3R5bGU9NjMyODQ7ZS5mb3VycGFyZW49OTMzNTtlLmZvdXJwZXJpb2Q9OTM1NTtlLmZvdXJwZXJzaWFuPTE3ODA7ZS5mb3Vycm9tYW49ODU2MztlLmZvdXJzdXBlcmlvcj04MzA4O2UuZm91cnRlZW5jaXJjbGU9OTMyNTtlLmZvdXJ0ZWVucGFyZW49OTM0NTtlLmZvdXJ0ZWVucGVyaW9kPTkzNjU7ZS5mb3VydGhhaT0zNjY4O2UuZm91cnRodG9uZWNoaW5lc2U9NzE1O2UuZnBhcmVuPTkzNzc7ZS5mcmFjdGlvbj04MjYwO2UuZnJhbmM9ODM1NTtlLmc9MTAzO2UuZ2FiZW5nYWxpPTI0NTU7ZS5nYWN1dGU9NTAxO2UuZ2FkZXZhPTIzMjc7ZS5nYWZhcmFiaWM9MTcxMTtlLmdhZmZpbmFsYXJhYmljPTY0NDAzO2UuZ2FmaW5pdGlhbGFyYWJpYz02NDQwNDtlLmdhZm1lZGlhbGFyYWJpYz02NDQwNTtlLmdhZ3VqYXJhdGk9MjcxMTtlLmdhZ3VybXVraGk9MjU4MztlLmdhaGlyYWdhbmE9MTIzNjQ7ZS5nYWthdGFrYW5hPTEyNDYwO2UuZ2FtbWE9OTQ3O2UuZ2FtbWFsYXRpbnNtYWxsPTYxMTtlLmdhbW1hc3VwZXJpb3I9NzM2O2UuZ2FuZ2lhY29wdGljPTEwMDM7ZS5nYm9wb21vZm89MTI1NTc7ZS5nYnJldmU9Mjg3O2UuZ2Nhcm9uPTQ4NztlLmdjZWRpbGxhPTI5MTtlLmdjaXJjbGU9OTQzMDtlLmdjaXJjdW1mbGV4PTI4NTtlLmdjb21tYWFjY2VudD0yOTE7ZS5nZG90PTI4OTtlLmdkb3RhY2NlbnQ9Mjg5O2UuZ2VjeXJpbGxpYz0xMDc1O2UuZ2VoaXJhZ2FuYT0xMjM3MDtlLmdla2F0YWthbmE9MTI0NjY7ZS5nZW9tZXRyaWNhbGx5ZXF1YWw9ODc4NTtlLmdlcmVzaGFjY2VudGhlYnJldz0xNDM2O2UuZ2VyZXNoaGVicmV3PTE1MjM7ZS5nZXJlc2htdXFkYW1oZWJyZXc9MTQzNztlLmdlcm1hbmRibHM9MjIzO2UuZ2Vyc2hheWltYWNjZW50aGVicmV3PTE0Mzg7ZS5nZXJzaGF5aW1oZWJyZXc9MTUyNDtlLmdldGFtYXJrPTEyMzA3O2UuZ2hhYmVuZ2FsaT0yNDU2O2UuZ2hhZGFybWVuaWFuPTEzOTQ7ZS5naGFkZXZhPTIzMjg7ZS5naGFndWphcmF0aT0yNzEyO2UuZ2hhZ3VybXVraGk9MjU4NDtlLmdoYWluYXJhYmljPTE1OTQ7ZS5naGFpbmZpbmFsYXJhYmljPTY1MjMwO2UuZ2hhaW5pbml0aWFsYXJhYmljPTY1MjMxO2UuZ2hhaW5tZWRpYWxhcmFiaWM9NjUyMzI7ZS5naGVtaWRkbGVob29rY3lyaWxsaWM9MTE3MztlLmdoZXN0cm9rZWN5cmlsbGljPTExNzE7ZS5naGV1cHR1cm5jeXJpbGxpYz0xMTY5O2UuZ2hoYWRldmE9MjM5NDtlLmdoaGFndXJtdWtoaT0yNjUwO2UuZ2hvb2s9NjA4O2UuZ2h6c3F1YXJlPTEzMjAzO2UuZ2loaXJhZ2FuYT0xMjM2NjtlLmdpa2F0YWthbmE9MTI0NjI7ZS5naW1hcm1lbmlhbj0xMzc5O2UuZ2ltZWw9MTQ5MDtlLmdpbWVsZGFnZXNoPTY0MzA2O2UuZ2ltZWxkYWdlc2hoZWJyZXc9NjQzMDY7ZS5naW1lbGhlYnJldz0xNDkwO2UuZ2plY3lyaWxsaWM9MTEwNztlLmdsb3R0YWxpbnZlcnRlZHN0cm9rZT00NDY7ZS5nbG90dGFsc3RvcD02NjA7ZS5nbG90dGFsc3RvcGludmVydGVkPTY2MjtlLmdsb3R0YWxzdG9wbW9kPTcwNDtlLmdsb3R0YWxzdG9wcmV2ZXJzZWQ9NjYxO2UuZ2xvdHRhbHN0b3ByZXZlcnNlZG1vZD03MDU7ZS5nbG90dGFsc3RvcHJldmVyc2Vkc3VwZXJpb3I9NzQwO2UuZ2xvdHRhbHN0b3BzdHJva2U9NjczO2UuZ2xvdHRhbHN0b3BzdHJva2VyZXZlcnNlZD02NzQ7ZS5nbWFjcm9uPTc3MTM7ZS5nbW9ub3NwYWNlPTY1MzUxO2UuZ29oaXJhZ2FuYT0xMjM3MjtlLmdva2F0YWthbmE9MTI0Njg7ZS5ncGFyZW49OTM3ODtlLmdwYXNxdWFyZT0xMzIyODtlLmdyYWRpZW50PTg3MTE7ZS5ncmF2ZT05NjtlLmdyYXZlYmVsb3djbWI9NzkwO2UuZ3JhdmVjbWI9NzY4O2UuZ3JhdmVjb21iPTc2ODtlLmdyYXZlZGV2YT0yMzg3O2UuZ3JhdmVsb3dtb2Q9NzE4O2UuZ3JhdmVtb25vc3BhY2U9NjUzNDQ7ZS5ncmF2ZXRvbmVjbWI9ODMyO2UuZ3JlYXRlcj02MjtlLmdyZWF0ZXJlcXVhbD04ODA1O2UuZ3JlYXRlcmVxdWFsb3JsZXNzPTg5MjM7ZS5ncmVhdGVybW9ub3NwYWNlPTY1MzEwO2UuZ3JlYXRlcm9yZXF1aXZhbGVudD04ODE5O2UuZ3JlYXRlcm9ybGVzcz04ODIzO2UuZ3JlYXRlcm92ZXJlcXVhbD04ODA3O2UuZ3JlYXRlcnNtYWxsPTY1MTI1O2UuZ3NjcmlwdD02MDk7ZS5nc3Ryb2tlPTQ4NTtlLmd1aGlyYWdhbmE9MTIzNjg7ZS5ndWlsbGVtb3RsZWZ0PTE3MTtlLmd1aWxsZW1vdHJpZ2h0PTE4NztlLmd1aWxzaW5nbGxlZnQ9ODI0OTtlLmd1aWxzaW5nbHJpZ2h0PTgyNTA7ZS5ndWthdGFrYW5hPTEyNDY0O2UuZ3VyYW11c3F1YXJlPTEzMDgwO2UuZ3lzcXVhcmU9MTMyNTc7ZS5oPTEwNDtlLmhhYWJraGFzaWFuY3lyaWxsaWM9MTE5MztlLmhhYWx0b25lYXJhYmljPTE3Mjk7ZS5oYWJlbmdhbGk9MjQ4OTtlLmhhZGVzY2VuZGVyY3lyaWxsaWM9MTIwMztlLmhhZGV2YT0yMzYxO2UuaGFndWphcmF0aT0yNzQ1O2UuaGFndXJtdWtoaT0yNjE3O2UuaGFoYXJhYmljPTE1ODE7ZS5oYWhmaW5hbGFyYWJpYz02NTE4NjtlLmhhaGluaXRpYWxhcmFiaWM9NjUxODc7ZS5oYWhpcmFnYW5hPTEyMzk5O2UuaGFobWVkaWFsYXJhYmljPTY1MTg4O2UuaGFpdHVzcXVhcmU9MTMwOTg7ZS5oYWthdGFrYW5hPTEyNDk1O2UuaGFrYXRha2FuYWhhbGZ3aWR0aD02NTQxODtlLmhhbGFudGd1cm11a2hpPTI2Mzc7ZS5oYW16YWFyYWJpYz0xNTY5O2UuaGFtemFsb3dhcmFiaWM9MTU2OTtlLmhhbmd1bGZpbGxlcj0xMjY0NDtlLmhhcmRzaWduY3lyaWxsaWM9MTA5ODtlLmhhcnBvb25sZWZ0YmFyYnVwPTg2MzY7ZS5oYXJwb29ucmlnaHRiYXJidXA9ODY0MDtlLmhhc3F1YXJlPTEzMjU4O2UuaGF0YWZwYXRhaD0xNDU4O2UuaGF0YWZwYXRhaDE2PTE0NTg7ZS5oYXRhZnBhdGFoMjM9MTQ1ODtlLmhhdGFmcGF0YWgyZj0xNDU4O2UuaGF0YWZwYXRhaGhlYnJldz0xNDU4O2UuaGF0YWZwYXRhaG5hcnJvd2hlYnJldz0xNDU4O2UuaGF0YWZwYXRhaHF1YXJ0ZXJoZWJyZXc9MTQ1ODtlLmhhdGFmcGF0YWh3aWRlaGVicmV3PTE0NTg7ZS5oYXRhZnFhbWF0cz0xNDU5O2UuaGF0YWZxYW1hdHMxYj0xNDU5O2UuaGF0YWZxYW1hdHMyOD0xNDU5O2UuaGF0YWZxYW1hdHMzND0xNDU5O2UuaGF0YWZxYW1hdHNoZWJyZXc9MTQ1OTtlLmhhdGFmcWFtYXRzbmFycm93aGVicmV3PTE0NTk7ZS5oYXRhZnFhbWF0c3F1YXJ0ZXJoZWJyZXc9MTQ1OTtlLmhhdGFmcWFtYXRzd2lkZWhlYnJldz0xNDU5O2UuaGF0YWZzZWdvbD0xNDU3O2UuaGF0YWZzZWdvbDE3PTE0NTc7ZS5oYXRhZnNlZ29sMjQ9MTQ1NztlLmhhdGFmc2Vnb2wzMD0xNDU3O2UuaGF0YWZzZWdvbGhlYnJldz0xNDU3O2UuaGF0YWZzZWdvbG5hcnJvd2hlYnJldz0xNDU3O2UuaGF0YWZzZWdvbHF1YXJ0ZXJoZWJyZXc9MTQ1NztlLmhhdGFmc2Vnb2x3aWRlaGVicmV3PTE0NTc7ZS5oYmFyPTI5NTtlLmhib3BvbW9mbz0xMjU1OTtlLmhicmV2ZWJlbG93PTc3MjM7ZS5oY2VkaWxsYT03NzIxO2UuaGNpcmNsZT05NDMxO2UuaGNpcmN1bWZsZXg9MjkzO2UuaGRpZXJlc2lzPTc3MTk7ZS5oZG90YWNjZW50PTc3MTU7ZS5oZG90YmVsb3c9NzcxNztlLmhlPTE0OTI7ZS5oZWFydD05ODI5O2UuaGVhcnRzdWl0YmxhY2s9OTgyOTtlLmhlYXJ0c3VpdHdoaXRlPTk4MjU7ZS5oZWRhZ2VzaD02NDMwODtlLmhlZGFnZXNoaGVicmV3PTY0MzA4O2UuaGVoYWx0b25lYXJhYmljPTE3Mjk7ZS5oZWhhcmFiaWM9MTYwNztlLmhlaGVicmV3PTE0OTI7ZS5oZWhmaW5hbGFsdG9uZWFyYWJpYz02NDQyMztlLmhlaGZpbmFsYWx0dHdvYXJhYmljPTY1MjU4O2UuaGVoZmluYWxhcmFiaWM9NjUyNTg7ZS5oZWhoYW16YWFib3ZlZmluYWxhcmFiaWM9NjQ0MjE7ZS5oZWhoYW16YWFib3ZlaXNvbGF0ZWRhcmFiaWM9NjQ0MjA7ZS5oZWhpbml0aWFsYWx0b25lYXJhYmljPTY0NDI0O2UuaGVoaW5pdGlhbGFyYWJpYz02NTI1OTtlLmhlaGlyYWdhbmE9MTI0MDg7ZS5oZWhtZWRpYWxhbHRvbmVhcmFiaWM9NjQ0MjU7ZS5oZWhtZWRpYWxhcmFiaWM9NjUyNjA7ZS5oZWlzZWllcmFzcXVhcmU9MTMxNzk7ZS5oZWthdGFrYW5hPTEyNTA0O2UuaGVrYXRha2FuYWhhbGZ3aWR0aD02NTQyMTtlLmhla3V0YWFydXNxdWFyZT0xMzExMDtlLmhlbmdob29rPTYxNTtlLmhlcnV0dXNxdWFyZT0xMzExMztlLmhldD0xNDk1O2UuaGV0aGVicmV3PTE0OTU7ZS5oaG9vaz02MTQ7ZS5oaG9va3N1cGVyaW9yPTY4OTtlLmhpZXVoYWNpcmNsZWtvcmVhbj0xMjkyMztlLmhpZXVoYXBhcmVua29yZWFuPTEyODI3O2UuaGlldWhjaXJjbGVrb3JlYW49MTI5MDk7ZS5oaWV1aGtvcmVhbj0xMjYyMjtlLmhpZXVocGFyZW5rb3JlYW49MTI4MTM7ZS5oaWhpcmFnYW5hPTEyNDAyO2UuaGlrYXRha2FuYT0xMjQ5ODtlLmhpa2F0YWthbmFoYWxmd2lkdGg9NjU0MTk7ZS5oaXJpcT0xNDYwO2UuaGlyaXExND0xNDYwO2UuaGlyaXEyMT0xNDYwO2UuaGlyaXEyZD0xNDYwO2UuaGlyaXFoZWJyZXc9MTQ2MDtlLmhpcmlxbmFycm93aGVicmV3PTE0NjA7ZS5oaXJpcXF1YXJ0ZXJoZWJyZXc9MTQ2MDtlLmhpcmlxd2lkZWhlYnJldz0xNDYwO2UuaGxpbmViZWxvdz03ODMwO2UuaG1vbm9zcGFjZT02NTM1MjtlLmhvYXJtZW5pYW49MTM5MjtlLmhvaGlwdGhhaT0zNjI3O2UuaG9oaXJhZ2FuYT0xMjQxMTtlLmhva2F0YWthbmE9MTI1MDc7ZS5ob2thdGFrYW5haGFsZndpZHRoPTY1NDIyO2UuaG9sYW09MTQ2NTtlLmhvbGFtMTk9MTQ2NTtlLmhvbGFtMjY9MTQ2NTtlLmhvbGFtMzI9MTQ2NTtlLmhvbGFtaGVicmV3PTE0NjU7ZS5ob2xhbW5hcnJvd2hlYnJldz0xNDY1O2UuaG9sYW1xdWFydGVyaGVicmV3PTE0NjU7ZS5ob2xhbXdpZGVoZWJyZXc9MTQ2NTtlLmhvbm9raHVrdGhhaT0zNjMwO2UuaG9va2Fib3ZlY29tYj03Nzc7ZS5ob29rY21iPTc3NztlLmhvb2twYWxhdGFsaXplZGJlbG93Y21iPTgwMTtlLmhvb2tyZXRyb2ZsZXhiZWxvd2NtYj04MDI7ZS5ob29uc3F1YXJlPTEzMTIyO2UuaG9yaWNvcHRpYz0xMDAxO2UuaG9yaXpvbnRhbGJhcj04MjEzO2UuaG9ybmNtYj03OTU7ZS5ob3RzcHJpbmdzPTk4MzI7ZS5ob3VzZT04OTYyO2UuaHBhcmVuPTkzNzk7ZS5oc3VwZXJpb3I9Njg4O2UuaHR1cm5lZD02MTM7ZS5odWhpcmFnYW5hPTEyNDA1O2UuaHVpaXRvc3F1YXJlPTEzMTA3O2UuaHVrYXRha2FuYT0xMjUwMTtlLmh1a2F0YWthbmFoYWxmd2lkdGg9NjU0MjA7ZS5odW5nYXJ1bWxhdXQ9NzMzO2UuaHVuZ2FydW1sYXV0Y21iPTc3OTtlLmh2PTQwNTtlLmh5cGhlbj00NTtlLmh5cGhlbmluZmVyaW9yPTYzMjA1O2UuaHlwaGVubW9ub3NwYWNlPTY1MjkzO2UuaHlwaGVuc21hbGw9NjUxMjM7ZS5oeXBoZW5zdXBlcmlvcj02MzIwNjtlLmh5cGhlbnR3bz04MjA4O2UuaT0xMDU7ZS5pYWN1dGU9MjM3O2UuaWFjeXJpbGxpYz0xMTAzO2UuaWJlbmdhbGk9MjQzOTtlLmlib3BvbW9mbz0xMjU4MztlLmlicmV2ZT0zMDE7ZS5pY2Fyb249NDY0O2UuaWNpcmNsZT05NDMyO2UuaWNpcmN1bWZsZXg9MjM4O2UuaWN5cmlsbGljPTExMTA7ZS5pZGJsZ3JhdmU9NTIxO2UuaWRlb2dyYXBoZWFydGhjaXJjbGU9MTI5NDM7ZS5pZGVvZ3JhcGhmaXJlY2lyY2xlPTEyOTM5O2UuaWRlb2dyYXBoaWNhbGxpYW5jZXBhcmVuPTEyODYzO2UuaWRlb2dyYXBoaWNjYWxscGFyZW49MTI4NTg7ZS5pZGVvZ3JhcGhpY2NlbnRyZWNpcmNsZT0xMjk2NTtlLmlkZW9ncmFwaGljY2xvc2U9MTIyOTQ7ZS5pZGVvZ3JhcGhpY2NvbW1hPTEyMjg5O2UuaWRlb2dyYXBoaWNjb21tYWxlZnQ9NjUzODA7ZS5pZGVvZ3JhcGhpY2NvbmdyYXR1bGF0aW9ucGFyZW49MTI4NTU7ZS5pZGVvZ3JhcGhpY2NvcnJlY3RjaXJjbGU9MTI5NjM7ZS5pZGVvZ3JhcGhpY2VhcnRocGFyZW49MTI4NDc7ZS5pZGVvZ3JhcGhpY2VudGVycHJpc2VwYXJlbj0xMjg2MTtlLmlkZW9ncmFwaGljZXhjZWxsZW50Y2lyY2xlPTEyOTU3O2UuaWRlb2dyYXBoaWNmZXN0aXZhbHBhcmVuPTEyODY0O2UuaWRlb2dyYXBoaWNmaW5hbmNpYWxjaXJjbGU9MTI5NTA7ZS5pZGVvZ3JhcGhpY2ZpbmFuY2lhbHBhcmVuPTEyODU0O2UuaWRlb2dyYXBoaWNmaXJlcGFyZW49MTI4NDM7ZS5pZGVvZ3JhcGhpY2hhdmVwYXJlbj0xMjg1MDtlLmlkZW9ncmFwaGljaGlnaGNpcmNsZT0xMjk2NDtlLmlkZW9ncmFwaGljaXRlcmF0aW9ubWFyaz0xMjI5MztlLmlkZW9ncmFwaGljbGFib3JjaXJjbGU9MTI5NTI7ZS5pZGVvZ3JhcGhpY2xhYm9ycGFyZW49MTI4NTY7ZS5pZGVvZ3JhcGhpY2xlZnRjaXJjbGU9MTI5Njc7ZS5pZGVvZ3JhcGhpY2xvd2NpcmNsZT0xMjk2NjtlLmlkZW9ncmFwaGljbWVkaWNpbmVjaXJjbGU9MTI5Njk7ZS5pZGVvZ3JhcGhpY21ldGFscGFyZW49MTI4NDY7ZS5pZGVvZ3JhcGhpY21vb25wYXJlbj0xMjg0MjtlLmlkZW9ncmFwaGljbmFtZXBhcmVuPTEyODUyO2UuaWRlb2dyYXBoaWNwZXJpb2Q9MTIyOTA7ZS5pZGVvZ3JhcGhpY3ByaW50Y2lyY2xlPTEyOTU4O2UuaWRlb2dyYXBoaWNyZWFjaHBhcmVuPTEyODY3O2UuaWRlb2dyYXBoaWNyZXByZXNlbnRwYXJlbj0xMjg1NztlLmlkZW9ncmFwaGljcmVzb3VyY2VwYXJlbj0xMjg2MjtlLmlkZW9ncmFwaGljcmlnaHRjaXJjbGU9MTI5Njg7ZS5pZGVvZ3JhcGhpY3NlY3JldGNpcmNsZT0xMjk1MztlLmlkZW9ncmFwaGljc2VsZnBhcmVuPTEyODY2O2UuaWRlb2dyYXBoaWNzb2NpZXR5cGFyZW49MTI4NTE7ZS5pZGVvZ3JhcGhpY3NwYWNlPTEyMjg4O2UuaWRlb2dyYXBoaWNzcGVjaWFscGFyZW49MTI4NTM7ZS5pZGVvZ3JhcGhpY3N0b2NrcGFyZW49MTI4NDk7ZS5pZGVvZ3JhcGhpY3N0dWR5cGFyZW49MTI4NTk7ZS5pZGVvZ3JhcGhpY3N1bnBhcmVuPTEyODQ4O2UuaWRlb2dyYXBoaWNzdXBlcnZpc2VwYXJlbj0xMjg2MDtlLmlkZW9ncmFwaGljd2F0ZXJwYXJlbj0xMjg0NDtlLmlkZW9ncmFwaGljd29vZHBhcmVuPTEyODQ1O2UuaWRlb2dyYXBoaWN6ZXJvPTEyMjk1O2UuaWRlb2dyYXBobWV0YWxjaXJjbGU9MTI5NDI7ZS5pZGVvZ3JhcGhtb29uY2lyY2xlPTEyOTM4O2UuaWRlb2dyYXBobmFtZWNpcmNsZT0xMjk0ODtlLmlkZW9ncmFwaHN1bmNpcmNsZT0xMjk0NDtlLmlkZW9ncmFwaHdhdGVyY2lyY2xlPTEyOTQwO2UuaWRlb2dyYXBod29vZGNpcmNsZT0xMjk0MTtlLmlkZXZhPTIzMTE7ZS5pZGllcmVzaXM9MjM5O2UuaWRpZXJlc2lzYWN1dGU9NzcyNztlLmlkaWVyZXNpc2N5cmlsbGljPTEyNTM7ZS5pZG90YmVsb3c9Nzg4MztlLmllYnJldmVjeXJpbGxpYz0xMjM5O2UuaWVjeXJpbGxpYz0xMDc3O2UuaWV1bmdhY2lyY2xla29yZWFuPTEyOTE3O2UuaWV1bmdhcGFyZW5rb3JlYW49MTI4MjE7ZS5pZXVuZ2NpcmNsZWtvcmVhbj0xMjkwMztlLmlldW5na29yZWFuPTEyNjE1O2UuaWV1bmdwYXJlbmtvcmVhbj0xMjgwNztlLmlncmF2ZT0yMzY7ZS5pZ3VqYXJhdGk9MjY5NTtlLmlndXJtdWtoaT0yNTY3O2UuaWhpcmFnYW5hPTEyMzU2O2UuaWhvb2thYm92ZT03ODgxO2UuaWliZW5nYWxpPTI0NDA7ZS5paWN5cmlsbGljPTEwODA7ZS5paWRldmE9MjMxMjtlLmlpZ3VqYXJhdGk9MjY5NjtlLmlpZ3VybXVraGk9MjU2ODtlLmlpbWF0cmFndXJtdWtoaT0yNjI0O2UuaWludmVydGVkYnJldmU9NTIzO2UuaWlzaG9ydGN5cmlsbGljPTEwODE7ZS5paXZvd2Vsc2lnbmJlbmdhbGk9MjQ5NjtlLmlpdm93ZWxzaWduZGV2YT0yMzY4O2UuaWl2b3dlbHNpZ25ndWphcmF0aT0yNzUyO2UuaWo9MzA3O2UuaWthdGFrYW5hPTEyNDUyO2UuaWthdGFrYW5haGFsZndpZHRoPTY1Mzk0O2UuaWtvcmVhbj0xMjY0MztlLmlsZGU9NzMyO2UuaWx1eWhlYnJldz0xNDUyO2UuaW1hY3Jvbj0yOTk7ZS5pbWFjcm9uY3lyaWxsaWM9MTI1MTtlLmltYWdlb3JhcHByb3hpbWF0ZWx5ZXF1YWw9ODc4NztlLmltYXRyYWd1cm11a2hpPTI2MjM7ZS5pbW9ub3NwYWNlPTY1MzUzO2UuaW5jcmVtZW50PTg3MTA7ZS5pbmZpbml0eT04NzM0O2UuaW5pYXJtZW5pYW49MTM4NztlLmludGVncmFsPTg3NDc7ZS5pbnRlZ3JhbGJvdHRvbT04OTkzO2UuaW50ZWdyYWxidD04OTkzO2UuaW50ZWdyYWxleD02MzczMztlLmludGVncmFsdG9wPTg5OTI7ZS5pbnRlZ3JhbHRwPTg5OTI7ZS5pbnRlcnNlY3Rpb249ODc0NTtlLmludGlzcXVhcmU9MTMwNjE7ZS5pbnZidWxsZXQ9OTY4ODtlLmludmNpcmNsZT05Njg5O2UuaW52c21pbGVmYWNlPTk3ODc7ZS5pb2N5cmlsbGljPTExMDU7ZS5pb2dvbmVrPTMwMztlLmlvdGE9OTUzO2UuaW90YWRpZXJlc2lzPTk3MDtlLmlvdGFkaWVyZXNpc3Rvbm9zPTkxMjtlLmlvdGFsYXRpbj02MTc7ZS5pb3RhdG9ub3M9OTQzO2UuaXBhcmVuPTkzODA7ZS5pcmlndXJtdWtoaT0yNjc0O2UuaXNtYWxsaGlyYWdhbmE9MTIzNTU7ZS5pc21hbGxrYXRha2FuYT0xMjQ1MTtlLmlzbWFsbGthdGFrYW5haGFsZndpZHRoPTY1Mzg0O2UuaXNzaGFyYmVuZ2FsaT0yNTU0O2UuaXN0cm9rZT02MTY7ZS5pc3VwZXJpb3I9NjMyMTM7ZS5pdGVyYXRpb25oaXJhZ2FuYT0xMjQ0NTtlLml0ZXJhdGlvbmthdGFrYW5hPTEyNTQxO2UuaXRpbGRlPTI5NztlLml0aWxkZWJlbG93PTc3MjU7ZS5pdWJvcG9tb2ZvPTEyNTg1O2UuaXVjeXJpbGxpYz0xMTAyO2UuaXZvd2Vsc2lnbmJlbmdhbGk9MjQ5NTtlLml2b3dlbHNpZ25kZXZhPTIzNjc7ZS5pdm93ZWxzaWduZ3VqYXJhdGk9Mjc1MTtlLml6aGl0c2FjeXJpbGxpYz0xMTQxO2UuaXpoaXRzYWRibGdyYXZlY3lyaWxsaWM9MTE0MztlLmo9MTA2O2UuamFhcm1lbmlhbj0xMzkzO2UuamFiZW5nYWxpPTI0NjA7ZS5qYWRldmE9MjMzMjtlLmphZ3VqYXJhdGk9MjcxNjtlLmphZ3VybXVraGk9MjU4ODtlLmpib3BvbW9mbz0xMjU2MDtlLmpjYXJvbj00OTY7ZS5qY2lyY2xlPTk0MzM7ZS5qY2lyY3VtZmxleD0zMDk7ZS5qY3Jvc3NlZHRhaWw9NjY5O2UuamRvdGxlc3NzdHJva2U9NjA3O2UuamVjeXJpbGxpYz0xMTEyO2UuamVlbWFyYWJpYz0xNTgwO2UuamVlbWZpbmFsYXJhYmljPTY1MTgyO2UuamVlbWluaXRpYWxhcmFiaWM9NjUxODM7ZS5qZWVtbWVkaWFsYXJhYmljPTY1MTg0O2UuamVoYXJhYmljPTE2ODg7ZS5qZWhmaW5hbGFyYWJpYz02NDM5NTtlLmpoYWJlbmdhbGk9MjQ2MTtlLmpoYWRldmE9MjMzMztlLmpoYWd1amFyYXRpPTI3MTc7ZS5qaGFndXJtdWtoaT0yNTg5O2UuamhlaGFybWVuaWFuPTE0MDM7ZS5qaXM9MTIyOTI7ZS5qbW9ub3NwYWNlPTY1MzU0O2UuanBhcmVuPTkzODE7ZS5qc3VwZXJpb3I9NjkwO2Uuaz0xMDc7ZS5rYWJhc2hraXJjeXJpbGxpYz0xMTg1O2Uua2FiZW5nYWxpPTI0NTM7ZS5rYWN1dGU9NzcyOTtlLmthY3lyaWxsaWM9MTA4MjtlLmthZGVzY2VuZGVyY3lyaWxsaWM9MTE3OTtlLmthZGV2YT0yMzI1O2Uua2FmPTE0OTk7ZS5rYWZhcmFiaWM9MTYwMztlLmthZmRhZ2VzaD02NDMxNTtlLmthZmRhZ2VzaGhlYnJldz02NDMxNTtlLmthZmZpbmFsYXJhYmljPTY1MjQyO2Uua2FmaGVicmV3PTE0OTk7ZS5rYWZpbml0aWFsYXJhYmljPTY1MjQzO2Uua2FmbWVkaWFsYXJhYmljPTY1MjQ0O2Uua2FmcmFmZWhlYnJldz02NDMzMztlLmthZ3VqYXJhdGk9MjcwOTtlLmthZ3VybXVraGk9MjU4MTtlLmthaGlyYWdhbmE9MTIzNjM7ZS5rYWhvb2tjeXJpbGxpYz0xMjIwO2Uua2FrYXRha2FuYT0xMjQ1OTtlLmtha2F0YWthbmFoYWxmd2lkdGg9NjUzOTg7ZS5rYXBwYT05NTQ7ZS5rYXBwYXN5bWJvbGdyZWVrPTEwMDg7ZS5rYXB5ZW91bm1pZXVta29yZWFuPTEyNjU3O2Uua2FweWVvdW5waGlldXBoa29yZWFuPTEyNjc2O2Uua2FweWVvdW5waWV1cGtvcmVhbj0xMjY2NDtlLmthcHllb3Vuc3NhbmdwaWV1cGtvcmVhbj0xMjY2NTtlLmthcm9yaWlzcXVhcmU9MTMwNjk7ZS5rYXNoaWRhYXV0b2FyYWJpYz0xNjAwO2Uua2FzaGlkYWF1dG9ub3NpZGViZWFyaW5nYXJhYmljPTE2MDA7ZS5rYXNtYWxsa2F0YWthbmE9MTI1MzM7ZS5rYXNxdWFyZT0xMzE4ODtlLmthc3JhYXJhYmljPTE2MTY7ZS5rYXNyYXRhbmFyYWJpYz0xNjEzO2Uua2FzdHJva2VjeXJpbGxpYz0xMTgzO2Uua2F0YWhpcmFwcm9sb25nbWFya2hhbGZ3aWR0aD02NTM5MjtlLmthdmVydGljYWxzdHJva2VjeXJpbGxpYz0xMTgxO2Uua2JvcG9tb2ZvPTEyNTU4O2Uua2NhbHNxdWFyZT0xMzE5MztlLmtjYXJvbj00ODk7ZS5rY2VkaWxsYT0zMTE7ZS5rY2lyY2xlPTk0MzQ7ZS5rY29tbWFhY2NlbnQ9MzExO2Uua2RvdGJlbG93PTc3MzE7ZS5rZWhhcm1lbmlhbj0xNDEyO2Uua2VoaXJhZ2FuYT0xMjM2OTtlLmtla2F0YWthbmE9MTI0NjU7ZS5rZWthdGFrYW5haGFsZndpZHRoPTY1NDAxO2Uua2VuYXJtZW5pYW49MTM5MTtlLmtlc21hbGxrYXRha2FuYT0xMjUzNDtlLmtncmVlbmxhbmRpYz0zMTI7ZS5raGFiZW5nYWxpPTI0NTQ7ZS5raGFjeXJpbGxpYz0xMDkzO2Uua2hhZGV2YT0yMzI2O2Uua2hhZ3VqYXJhdGk9MjcxMDtlLmtoYWd1cm11a2hpPTI1ODI7ZS5raGFoYXJhYmljPTE1ODI7ZS5raGFoZmluYWxhcmFiaWM9NjUxOTA7ZS5raGFoaW5pdGlhbGFyYWJpYz02NTE5MTtlLmtoYWhtZWRpYWxhcmFiaWM9NjUxOTI7ZS5raGVpY29wdGljPTk5OTtlLmtoaGFkZXZhPTIzOTM7ZS5raGhhZ3VybXVraGk9MjY0OTtlLmtoaWV1a2hhY2lyY2xla29yZWFuPTEyOTIwO2Uua2hpZXVraGFwYXJlbmtvcmVhbj0xMjgyNDtlLmtoaWV1a2hjaXJjbGVrb3JlYW49MTI5MDY7ZS5raGlldWtoa29yZWFuPTEyNjE5O2Uua2hpZXVraHBhcmVua29yZWFuPTEyODEwO2Uua2hva2hhaXRoYWk9MzU4NjtlLmtob2tob250aGFpPTM1ODk7ZS5raG9raHVhdHRoYWk9MzU4NztlLmtob2tod2FpdGhhaT0zNTg4O2Uua2hvbXV0dGhhaT0zNjc1O2Uua2hvb2s9NDA5O2Uua2hvcmFraGFuZ3RoYWk9MzU5MDtlLmtoenNxdWFyZT0xMzIwMTtlLmtpaGlyYWdhbmE9MTIzNjU7ZS5raWthdGFrYW5hPTEyNDYxO2Uua2lrYXRha2FuYWhhbGZ3aWR0aD02NTM5OTtlLmtpcm9ndXJhbXVzcXVhcmU9MTMwNzc7ZS5raXJvbWVldG9ydXNxdWFyZT0xMzA3ODtlLmtpcm9zcXVhcmU9MTMwNzY7ZS5raXllb2thY2lyY2xla29yZWFuPTEyOTEwO2Uua2l5ZW9rYXBhcmVua29yZWFuPTEyODE0O2Uua2l5ZW9rY2lyY2xla29yZWFuPTEyODk2O2Uua2l5ZW9ra29yZWFuPTEyNTkzO2Uua2l5ZW9rcGFyZW5rb3JlYW49MTI4MDA7ZS5raXllb2tzaW9za29yZWFuPTEyNTk1O2Uua2plY3lyaWxsaWM9MTExNjtlLmtsaW5lYmVsb3c9NzczMztlLmtsc3F1YXJlPTEzMjA4O2Uua21jdWJlZHNxdWFyZT0xMzIyMjtlLmttb25vc3BhY2U9NjUzNTU7ZS5rbXNxdWFyZWRzcXVhcmU9MTMyMTg7ZS5rb2hpcmFnYW5hPTEyMzcxO2Uua29obXNxdWFyZT0xMzI0ODtlLmtva2FpdGhhaT0zNTg1O2Uua29rYXRha2FuYT0xMjQ2NztlLmtva2F0YWthbmFoYWxmd2lkdGg9NjU0MDI7ZS5rb29wb3NxdWFyZT0xMzA4NjtlLmtvcHBhY3lyaWxsaWM9MTE1MztlLmtvcmVhbnN0YW5kYXJkc3ltYm9sPTEyOTI3O2Uua29yb25pc2NtYj04MzU7ZS5rcGFyZW49OTM4MjtlLmtwYXNxdWFyZT0xMzIyNjtlLmtzaWN5cmlsbGljPTExMzU7ZS5rdHNxdWFyZT0xMzI2MztlLmt0dXJuZWQ9NjcwO2Uua3VoaXJhZ2FuYT0xMjM2NztlLmt1a2F0YWthbmE9MTI0NjM7ZS5rdWthdGFrYW5haGFsZndpZHRoPTY1NDAwO2Uua3ZzcXVhcmU9MTMyNDA7ZS5rd3NxdWFyZT0xMzI0NjtlLmw9MTA4O2UubGFiZW5nYWxpPTI0ODI7ZS5sYWN1dGU9MzE0O2UubGFkZXZhPTIzNTQ7ZS5sYWd1amFyYXRpPTI3Mzg7ZS5sYWd1cm11a2hpPTI2MTA7ZS5sYWtraGFuZ3lhb3RoYWk9MzY1MztlLmxhbWFsZWZmaW5hbGFyYWJpYz02NTI3NjtlLmxhbWFsZWZoYW16YWFib3ZlZmluYWxhcmFiaWM9NjUyNzI7ZS5sYW1hbGVmaGFtemFhYm92ZWlzb2xhdGVkYXJhYmljPTY1MjcxO2UubGFtYWxlZmhhbXphYmVsb3dmaW5hbGFyYWJpYz02NTI3NDtlLmxhbWFsZWZoYW16YWJlbG93aXNvbGF0ZWRhcmFiaWM9NjUyNzM7ZS5sYW1hbGVmaXNvbGF0ZWRhcmFiaWM9NjUyNzU7ZS5sYW1hbGVmbWFkZGFhYm92ZWZpbmFsYXJhYmljPTY1MjcwO2UubGFtYWxlZm1hZGRhYWJvdmVpc29sYXRlZGFyYWJpYz02NTI2OTtlLmxhbWFyYWJpYz0xNjA0O2UubGFtYmRhPTk1NTtlLmxhbWJkYXN0cm9rZT00MTE7ZS5sYW1lZD0xNTAwO2UubGFtZWRkYWdlc2g9NjQzMTY7ZS5sYW1lZGRhZ2VzaGhlYnJldz02NDMxNjtlLmxhbWVkaGVicmV3PTE1MDA7ZS5sYW1maW5hbGFyYWJpYz02NTI0NjtlLmxhbWhhaGluaXRpYWxhcmFiaWM9NjQ3MTQ7ZS5sYW1pbml0aWFsYXJhYmljPTY1MjQ3O2UubGFtamVlbWluaXRpYWxhcmFiaWM9NjQ3MTM7ZS5sYW1raGFoaW5pdGlhbGFyYWJpYz02NDcxNTtlLmxhbWxhbWhlaGlzb2xhdGVkYXJhYmljPTY1MDEwO2UubGFtbWVkaWFsYXJhYmljPTY1MjQ4O2UubGFtbWVlbWhhaGluaXRpYWxhcmFiaWM9NjQ5MDQ7ZS5sYW1tZWVtaW5pdGlhbGFyYWJpYz02NDcxNjtlLmxhcmdlY2lyY2xlPTk3MTE7ZS5sYmFyPTQxMDtlLmxiZWx0PTYyMDtlLmxib3BvbW9mbz0xMjU1NjtlLmxjYXJvbj0zMTg7ZS5sY2VkaWxsYT0zMTY7ZS5sY2lyY2xlPTk0MzU7ZS5sY2lyY3VtZmxleGJlbG93PTc3NDE7ZS5sY29tbWFhY2NlbnQ9MzE2O2UubGRvdD0zMjA7ZS5sZG90YWNjZW50PTMyMDtlLmxkb3RiZWxvdz03NzM1O2UubGRvdGJlbG93bWFjcm9uPTc3Mzc7ZS5sZWZ0YW5nbGVhYm92ZWNtYj03OTQ7ZS5sZWZ0dGFja2JlbG93Y21iPTc5MjtlLmxlc3M9NjA7ZS5sZXNzZXF1YWw9ODgwNDtlLmxlc3NlcXVhbG9yZ3JlYXRlcj04OTIyO2UubGVzc21vbm9zcGFjZT02NTMwODtlLmxlc3NvcmVxdWl2YWxlbnQ9ODgxODtlLmxlc3NvcmdyZWF0ZXI9ODgyMjtlLmxlc3NvdmVyZXF1YWw9ODgwNjtlLmxlc3NzbWFsbD02NTEyNDtlLmxlemg9NjIyO2UubGZibG9jaz05NjEyO2UubGhvb2tyZXRyb2ZsZXg9NjIxO2UubGlyYT04MzU2O2UubGl3bmFybWVuaWFuPTEzODg7ZS5saj00NTc7ZS5samVjeXJpbGxpYz0xMTEzO2UubGw9NjMxNjg7ZS5sbGFkZXZhPTIzNTU7ZS5sbGFndWphcmF0aT0yNzM5O2UubGxpbmViZWxvdz03NzM5O2UubGxsYWRldmE9MjM1NjtlLmxsdm9jYWxpY2JlbmdhbGk9MjUyOTtlLmxsdm9jYWxpY2RldmE9MjQwMTtlLmxsdm9jYWxpY3Zvd2Vsc2lnbmJlbmdhbGk9MjUzMTtlLmxsdm9jYWxpY3Zvd2Vsc2lnbmRldmE9MjQwMztlLmxtaWRkbGV0aWxkZT02MTk7ZS5sbW9ub3NwYWNlPTY1MzU2O2UubG1zcXVhcmU9MTMyNjQ7ZS5sb2NodWxhdGhhaT0zNjI4O2UubG9naWNhbGFuZD04NzQzO2UubG9naWNhbG5vdD0xNzI7ZS5sb2dpY2Fsbm90cmV2ZXJzZWQ9ODk3NjtlLmxvZ2ljYWxvcj04NzQ0O2UubG9saW5ndGhhaT0zNjIxO2UubG9uZ3M9MzgzO2UubG93bGluZWNlbnRlcmxpbmU9NjUxMDI7ZS5sb3dsaW5lY21iPTgxODtlLmxvd2xpbmVkYXNoZWQ9NjUxMDE7ZS5sb3plbmdlPTk2NzQ7ZS5scGFyZW49OTM4MztlLmxzbGFzaD0zMjI7ZS5sc3F1YXJlPTg0Njc7ZS5sc3VwZXJpb3I9NjMyMTQ7ZS5sdHNoYWRlPTk2MTc7ZS5sdXRoYWk9MzYyMjtlLmx2b2NhbGljYmVuZ2FsaT0yNDQ0O2UubHZvY2FsaWNkZXZhPTIzMTY7ZS5sdm9jYWxpY3Zvd2Vsc2lnbmJlbmdhbGk9MjUzMDtlLmx2b2NhbGljdm93ZWxzaWduZGV2YT0yNDAyO2UubHhzcXVhcmU9MTMyNjc7ZS5tPTEwOTtlLm1hYmVuZ2FsaT0yNDc4O2UubWFjcm9uPTE3NTtlLm1hY3JvbmJlbG93Y21iPTgxNztlLm1hY3JvbmNtYj03NzI7ZS5tYWNyb25sb3dtb2Q9NzE3O2UubWFjcm9ubW9ub3NwYWNlPTY1NTA3O2UubWFjdXRlPTc3NDM7ZS5tYWRldmE9MjM1MDtlLm1hZ3VqYXJhdGk9MjczNDtlLm1hZ3VybXVraGk9MjYwNjtlLm1haGFwYWtoaGVicmV3PTE0NDQ7ZS5tYWhhcGFraGxlZnRoZWJyZXc9MTQ0NDtlLm1haGlyYWdhbmE9MTI0MTQ7ZS5tYWljaGF0dGF3YWxvd2xlZnR0aGFpPTYzNjM3O2UubWFpY2hhdHRhd2Fsb3dyaWdodHRoYWk9NjM2MzY7ZS5tYWljaGF0dGF3YXRoYWk9MzY1OTtlLm1haWNoYXR0YXdhdXBwZXJsZWZ0dGhhaT02MzYzNTtlLm1haWVrbG93bGVmdHRoYWk9NjM2Mjg7ZS5tYWlla2xvd3JpZ2h0dGhhaT02MzYyNztlLm1haWVrdGhhaT0zNjU2O2UubWFpZWt1cHBlcmxlZnR0aGFpPTYzNjI2O2UubWFpaGFuYWthdGxlZnR0aGFpPTYzNjIwO2UubWFpaGFuYWthdHRoYWk9MzYzMztlLm1haXRhaWtodWxlZnR0aGFpPTYzNjI1O2UubWFpdGFpa2h1dGhhaT0zNjU1O2UubWFpdGhvbG93bGVmdHRoYWk9NjM2MzE7ZS5tYWl0aG9sb3dyaWdodHRoYWk9NjM2MzA7ZS5tYWl0aG90aGFpPTM2NTc7ZS5tYWl0aG91cHBlcmxlZnR0aGFpPTYzNjI5O2UubWFpdHJpbG93bGVmdHRoYWk9NjM2MzQ7ZS5tYWl0cmlsb3dyaWdodHRoYWk9NjM2MzM7ZS5tYWl0cml0aGFpPTM2NTg7ZS5tYWl0cml1cHBlcmxlZnR0aGFpPTYzNjMyO2UubWFpeWFtb2t0aGFpPTM2NTQ7ZS5tYWthdGFrYW5hPTEyNTEwO2UubWFrYXRha2FuYWhhbGZ3aWR0aD02NTQyMztlLm1hbGU9OTc5NDtlLm1hbnN5b25zcXVhcmU9MTMxMjc7ZS5tYXFhZmhlYnJldz0xNDcwO2UubWFycz05Nzk0O2UubWFzb3JhY2lyY2xlaGVicmV3PTE0NTU7ZS5tYXNxdWFyZT0xMzE4NztlLm1ib3BvbW9mbz0xMjU1MTtlLm1ic3F1YXJlPTEzMjY4O2UubWNpcmNsZT05NDM2O2UubWN1YmVkc3F1YXJlPTEzMjIxO2UubWRvdGFjY2VudD03NzQ1O2UubWRvdGJlbG93PTc3NDc7ZS5tZWVtYXJhYmljPTE2MDU7ZS5tZWVtZmluYWxhcmFiaWM9NjUyNTA7ZS5tZWVtaW5pdGlhbGFyYWJpYz02NTI1MTtlLm1lZW1tZWRpYWxhcmFiaWM9NjUyNTI7ZS5tZWVtbWVlbWluaXRpYWxhcmFiaWM9NjQ3MjE7ZS5tZWVtbWVlbWlzb2xhdGVkYXJhYmljPTY0NTg0O2UubWVldG9ydXNxdWFyZT0xMzEzMztlLm1laGlyYWdhbmE9MTI0MTc7ZS5tZWl6aWVyYXNxdWFyZT0xMzE4MjtlLm1la2F0YWthbmE9MTI1MTM7ZS5tZWthdGFrYW5haGFsZndpZHRoPTY1NDI2O2UubWVtPTE1MDI7ZS5tZW1kYWdlc2g9NjQzMTg7ZS5tZW1kYWdlc2hoZWJyZXc9NjQzMTg7ZS5tZW1oZWJyZXc9MTUwMjtlLm1lbmFybWVuaWFuPTEzOTY7ZS5tZXJraGFoZWJyZXc9MTQ0NTtlLm1lcmtoYWtlZnVsYWhlYnJldz0xNDQ2O2UubWVya2hha2VmdWxhbGVmdGhlYnJldz0xNDQ2O2UubWVya2hhbGVmdGhlYnJldz0xNDQ1O2UubWhvb2s9NjI1O2UubWh6c3F1YXJlPTEzMjAyO2UubWlkZGxlZG90a2F0YWthbmFoYWxmd2lkdGg9NjUzODE7ZS5taWRkb3Q9MTgzO2UubWlldW1hY2lyY2xla29yZWFuPTEyOTE0O2UubWlldW1hcGFyZW5rb3JlYW49MTI4MTg7ZS5taWV1bWNpcmNsZWtvcmVhbj0xMjkwMDtlLm1pZXVta29yZWFuPTEyNjA5O2UubWlldW1wYW5zaW9za29yZWFuPTEyNjU2O2UubWlldW1wYXJlbmtvcmVhbj0xMjgwNDtlLm1pZXVtcGlldXBrb3JlYW49MTI2NTQ7ZS5taWV1bXNpb3Nrb3JlYW49MTI2NTU7ZS5taWhpcmFnYW5hPTEyNDE1O2UubWlrYXRha2FuYT0xMjUxMTtlLm1pa2F0YWthbmFoYWxmd2lkdGg9NjU0MjQ7ZS5taW51cz04NzIyO2UubWludXNiZWxvd2NtYj04MDA7ZS5taW51c2NpcmNsZT04ODU0O2UubWludXNtb2Q9NzI3O2UubWludXNwbHVzPTg3MjM7ZS5taW51dGU9ODI0MjtlLm1pcmliYWFydXNxdWFyZT0xMzEzMDtlLm1pcmlzcXVhcmU9MTMxMjk7ZS5tbG9uZ2xlZ3R1cm5lZD02MjQ7ZS5tbHNxdWFyZT0xMzIwNjtlLm1tY3ViZWRzcXVhcmU9MTMyMTk7ZS5tbW9ub3NwYWNlPTY1MzU3O2UubW1zcXVhcmVkc3F1YXJlPTEzMjE1O2UubW9oaXJhZ2FuYT0xMjQxODtlLm1vaG1zcXVhcmU9MTMyNDk7ZS5tb2thdGFrYW5hPTEyNTE0O2UubW9rYXRha2FuYWhhbGZ3aWR0aD02NTQyNztlLm1vbHNxdWFyZT0xMzI3MDtlLm1vbWF0aGFpPTM2MTc7ZS5tb3ZlcnNzcXVhcmU9MTMyMjM7ZS5tb3ZlcnNzcXVhcmVkc3F1YXJlPTEzMjI0O2UubXBhcmVuPTkzODQ7ZS5tcGFzcXVhcmU9MTMyMjc7ZS5tc3NxdWFyZT0xMzIzNTtlLm1zdXBlcmlvcj02MzIxNTtlLm10dXJuZWQ9NjIzO2UubXU9MTgxO2UubXUxPTE4MTtlLm11YXNxdWFyZT0xMzE4NjtlLm11Y2hncmVhdGVyPTg4MTE7ZS5tdWNobGVzcz04ODEwO2UubXVmc3F1YXJlPTEzMTk2O2UubXVncmVlaz05NTY7ZS5tdWdzcXVhcmU9MTMxOTc7ZS5tdWhpcmFnYW5hPTEyNDE2O2UubXVrYXRha2FuYT0xMjUxMjtlLm11a2F0YWthbmFoYWxmd2lkdGg9NjU0MjU7ZS5tdWxzcXVhcmU9MTMyMDU7ZS5tdWx0aXBseT0yMTU7ZS5tdW1zcXVhcmU9MTMyMTE7ZS5tdW5haGhlYnJldz0xNDQzO2UubXVuYWhsZWZ0aGVicmV3PTE0NDM7ZS5tdXNpY2Fsbm90ZT05ODM0O2UubXVzaWNhbG5vdGVkYmw9OTgzNTtlLm11c2ljZmxhdHNpZ249OTgzNztlLm11c2ljc2hhcnBzaWduPTk4Mzk7ZS5tdXNzcXVhcmU9MTMyMzQ7ZS5tdXZzcXVhcmU9MTMyMzg7ZS5tdXdzcXVhcmU9MTMyNDQ7ZS5tdm1lZ2FzcXVhcmU9MTMyNDE7ZS5tdnNxdWFyZT0xMzIzOTtlLm13bWVnYXNxdWFyZT0xMzI0NztlLm13c3F1YXJlPTEzMjQ1O2Uubj0xMTA7ZS5uYWJlbmdhbGk9MjQ3MjtlLm5hYmxhPTg3MTE7ZS5uYWN1dGU9MzI0O2UubmFkZXZhPTIzNDQ7ZS5uYWd1amFyYXRpPTI3Mjg7ZS5uYWd1cm11a2hpPTI2MDA7ZS5uYWhpcmFnYW5hPTEyMzk0O2UubmFrYXRha2FuYT0xMjQ5MDtlLm5ha2F0YWthbmFoYWxmd2lkdGg9NjU0MTM7ZS5uYXBvc3Ryb3BoZT0zMjk7ZS5uYXNxdWFyZT0xMzE4NTtlLm5ib3BvbW9mbz0xMjU1NTtlLm5ic3BhY2U9MTYwO2UubmNhcm9uPTMyODtlLm5jZWRpbGxhPTMyNjtlLm5jaXJjbGU9OTQzNztlLm5jaXJjdW1mbGV4YmVsb3c9Nzc1NTtlLm5jb21tYWFjY2VudD0zMjY7ZS5uZG90YWNjZW50PTc3NDk7ZS5uZG90YmVsb3c9Nzc1MTtlLm5laGlyYWdhbmE9MTIzOTc7ZS5uZWthdGFrYW5hPTEyNDkzO2UubmVrYXRha2FuYWhhbGZ3aWR0aD02NTQxNjtlLm5ld3NoZXFlbHNpZ249ODM2MjtlLm5mc3F1YXJlPTEzMTk1O2UubmdhYmVuZ2FsaT0yNDU3O2UubmdhZGV2YT0yMzI5O2UubmdhZ3VqYXJhdGk9MjcxMztlLm5nYWd1cm11a2hpPTI1ODU7ZS5uZ29uZ3V0aGFpPTM1OTE7ZS5uaGlyYWdhbmE9MTI0MzU7ZS5uaG9va2xlZnQ9NjI2O2Uubmhvb2tyZXRyb2ZsZXg9NjI3O2UubmlldW5hY2lyY2xla29yZWFuPTEyOTExO2UubmlldW5hcGFyZW5rb3JlYW49MTI4MTU7ZS5uaWV1bmNpZXVja29yZWFuPTEyNTk3O2UubmlldW5jaXJjbGVrb3JlYW49MTI4OTc7ZS5uaWV1bmhpZXVoa29yZWFuPTEyNTk4O2UubmlldW5rb3JlYW49MTI1OTY7ZS5uaWV1bnBhbnNpb3Nrb3JlYW49MTI2NDg7ZS5uaWV1bnBhcmVua29yZWFuPTEyODAxO2UubmlldW5zaW9za29yZWFuPTEyNjQ3O2UubmlldW50aWtldXRrb3JlYW49MTI2NDY7ZS5uaWhpcmFnYW5hPTEyMzk1O2UubmlrYXRha2FuYT0xMjQ5MTtlLm5pa2F0YWthbmFoYWxmd2lkdGg9NjU0MTQ7ZS5uaWtoYWhpdGxlZnR0aGFpPTYzNjQxO2UubmlraGFoaXR0aGFpPTM2NjE7ZS5uaW5lPTU3O2UubmluZWFyYWJpYz0xNjQxO2UubmluZWJlbmdhbGk9MjU0MztlLm5pbmVjaXJjbGU9OTMyMDtlLm5pbmVjaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTMwO2UubmluZWRldmE9MjQxNTtlLm5pbmVndWphcmF0aT0yNzk5O2UubmluZWd1cm11a2hpPTI2NzE7ZS5uaW5laGFja2FyYWJpYz0xNjQxO2UubmluZWhhbmd6aG91PTEyMzI5O2UubmluZWlkZW9ncmFwaGljcGFyZW49MTI4NDA7ZS5uaW5laW5mZXJpb3I9ODMyOTtlLm5pbmVtb25vc3BhY2U9NjUzMDU7ZS5uaW5lb2xkc3R5bGU9NjMyODk7ZS5uaW5lcGFyZW49OTM0MDtlLm5pbmVwZXJpb2Q9OTM2MDtlLm5pbmVwZXJzaWFuPTE3ODU7ZS5uaW5lcm9tYW49ODU2ODtlLm5pbmVzdXBlcmlvcj04MzEzO2UubmluZXRlZW5jaXJjbGU9OTMzMDtlLm5pbmV0ZWVucGFyZW49OTM1MDtlLm5pbmV0ZWVucGVyaW9kPTkzNzA7ZS5uaW5ldGhhaT0zNjczO2Uubmo9NDYwO2UubmplY3lyaWxsaWM9MTExNDtlLm5rYXRha2FuYT0xMjUzMTtlLm5rYXRha2FuYWhhbGZ3aWR0aD02NTQzNztlLm5sZWdyaWdodGxvbmc9NDE0O2UubmxpbmViZWxvdz03NzUzO2Uubm1vbm9zcGFjZT02NTM1ODtlLm5tc3F1YXJlPTEzMjEwO2Uubm5hYmVuZ2FsaT0yNDY3O2Uubm5hZGV2YT0yMzM5O2Uubm5hZ3VqYXJhdGk9MjcyMztlLm5uYWd1cm11a2hpPTI1OTU7ZS5ubm5hZGV2YT0yMzQ1O2Uubm9oaXJhZ2FuYT0xMjM5ODtlLm5va2F0YWthbmE9MTI0OTQ7ZS5ub2thdGFrYW5haGFsZndpZHRoPTY1NDE3O2Uubm9uYnJlYWtpbmdzcGFjZT0xNjA7ZS5ub25lbnRoYWk9MzYwMztlLm5vbnV0aGFpPTM2MDk7ZS5ub29uYXJhYmljPTE2MDY7ZS5ub29uZmluYWxhcmFiaWM9NjUyNTQ7ZS5ub29uZ2h1bm5hYXJhYmljPTE3MjI7ZS5ub29uZ2h1bm5hZmluYWxhcmFiaWM9NjQ0MTU7ZS5ub29uaW5pdGlhbGFyYWJpYz02NTI1NTtlLm5vb25qZWVtaW5pdGlhbGFyYWJpYz02NDcyMjtlLm5vb25qZWVtaXNvbGF0ZWRhcmFiaWM9NjQ1ODc7ZS5ub29ubWVkaWFsYXJhYmljPTY1MjU2O2Uubm9vbm1lZW1pbml0aWFsYXJhYmljPTY0NzI1O2Uubm9vbm1lZW1pc29sYXRlZGFyYWJpYz02NDU5MDtlLm5vb25ub29uZmluYWxhcmFiaWM9NjQ2NTM7ZS5ub3Rjb250YWlucz04NzE2O2Uubm90ZWxlbWVudD04NzEzO2Uubm90ZWxlbWVudG9mPTg3MTM7ZS5ub3RlcXVhbD04ODAwO2Uubm90Z3JlYXRlcj04ODE1O2Uubm90Z3JlYXRlcm5vcmVxdWFsPTg4MTc7ZS5ub3RncmVhdGVybm9ybGVzcz04ODI1O2Uubm90aWRlbnRpY2FsPTg4MDI7ZS5ub3RsZXNzPTg4MTQ7ZS5ub3RsZXNzbm9yZXF1YWw9ODgxNjtlLm5vdHBhcmFsbGVsPTg3NDI7ZS5ub3RwcmVjZWRlcz04ODMyO2Uubm90c3Vic2V0PTg4MzY7ZS5ub3RzdWNjZWVkcz04ODMzO2Uubm90c3VwZXJzZXQ9ODgzNztlLm5vd2FybWVuaWFuPTEzOTg7ZS5ucGFyZW49OTM4NTtlLm5zc3F1YXJlPTEzMjMzO2UubnN1cGVyaW9yPTgzMTk7ZS5udGlsZGU9MjQxO2UubnU9OTU3O2UubnVoaXJhZ2FuYT0xMjM5NjtlLm51a2F0YWthbmE9MTI0OTI7ZS5udWthdGFrYW5haGFsZndpZHRoPTY1NDE1O2UubnVrdGFiZW5nYWxpPTI0OTI7ZS5udWt0YWRldmE9MjM2NDtlLm51a3RhZ3VqYXJhdGk9Mjc0ODtlLm51a3RhZ3VybXVraGk9MjYyMDtlLm51bWJlcnNpZ249MzU7ZS5udW1iZXJzaWdubW9ub3NwYWNlPTY1MjgzO2UubnVtYmVyc2lnbnNtYWxsPTY1MTE5O2UubnVtZXJhbHNpZ25ncmVlaz04ODQ7ZS5udW1lcmFsc2lnbmxvd2VyZ3JlZWs9ODg1O2UubnVtZXJvPTg0NzA7ZS5udW49MTUwNDtlLm51bmRhZ2VzaD02NDMyMDtlLm51bmRhZ2VzaGhlYnJldz02NDMyMDtlLm51bmhlYnJldz0xNTA0O2UubnZzcXVhcmU9MTMyMzc7ZS5ud3NxdWFyZT0xMzI0MztlLm55YWJlbmdhbGk9MjQ2MjtlLm55YWRldmE9MjMzNDtlLm55YWd1amFyYXRpPTI3MTg7ZS5ueWFndXJtdWtoaT0yNTkwO2Uubz0xMTE7ZS5vYWN1dGU9MjQzO2Uub2FuZ3RoYWk9MzYyOTtlLm9iYXJyZWQ9NjI5O2Uub2JhcnJlZGN5cmlsbGljPTEyNTc7ZS5vYmFycmVkZGllcmVzaXNjeXJpbGxpYz0xMjU5O2Uub2JlbmdhbGk9MjQ1MTtlLm9ib3BvbW9mbz0xMjU3MTtlLm9icmV2ZT0zMzU7ZS5vY2FuZHJhZGV2YT0yMzIxO2Uub2NhbmRyYWd1amFyYXRpPTI3MDU7ZS5vY2FuZHJhdm93ZWxzaWduZGV2YT0yMzc3O2Uub2NhbmRyYXZvd2Vsc2lnbmd1amFyYXRpPTI3NjE7ZS5vY2Fyb249NDY2O2Uub2NpcmNsZT05NDM4O2Uub2NpcmN1bWZsZXg9MjQ0O2Uub2NpcmN1bWZsZXhhY3V0ZT03ODg5O2Uub2NpcmN1bWZsZXhkb3RiZWxvdz03ODk3O2Uub2NpcmN1bWZsZXhncmF2ZT03ODkxO2Uub2NpcmN1bWZsZXhob29rYWJvdmU9Nzg5MztlLm9jaXJjdW1mbGV4dGlsZGU9Nzg5NTtlLm9jeXJpbGxpYz0xMDg2O2Uub2RibGFjdXRlPTMzNztlLm9kYmxncmF2ZT01MjU7ZS5vZGV2YT0yMzIzO2Uub2RpZXJlc2lzPTI0NjtlLm9kaWVyZXNpc2N5cmlsbGljPTEyNTU7ZS5vZG90YmVsb3c9Nzg4NTtlLm9lPTMzOTtlLm9la29yZWFuPTEyNjM0O2Uub2dvbmVrPTczMTtlLm9nb25la2NtYj04MDg7ZS5vZ3JhdmU9MjQyO2Uub2d1amFyYXRpPTI3MDc7ZS5vaGFybWVuaWFuPTE0MTM7ZS5vaGlyYWdhbmE9MTIzNjI7ZS5vaG9va2Fib3ZlPTc4ODc7ZS5vaG9ybj00MTc7ZS5vaG9ybmFjdXRlPTc4OTk7ZS5vaG9ybmRvdGJlbG93PTc5MDc7ZS5vaG9ybmdyYXZlPTc5MDE7ZS5vaG9ybmhvb2thYm92ZT03OTAzO2Uub2hvcm50aWxkZT03OTA1O2Uub2h1bmdhcnVtbGF1dD0zMzc7ZS5vaT00MTk7ZS5vaW52ZXJ0ZWRicmV2ZT01Mjc7ZS5va2F0YWthbmE9MTI0NTg7ZS5va2F0YWthbmFoYWxmd2lkdGg9NjUzOTc7ZS5va29yZWFuPTEyNjMxO2Uub2xlaGVicmV3PTE0NTE7ZS5vbWFjcm9uPTMzMztlLm9tYWNyb25hY3V0ZT03NzYzO2Uub21hY3JvbmdyYXZlPTc3NjE7ZS5vbWRldmE9MjM4NDtlLm9tZWdhPTk2OTtlLm9tZWdhMT05ODI7ZS5vbWVnYWN5cmlsbGljPTExMjE7ZS5vbWVnYWxhdGluY2xvc2VkPTYzMTtlLm9tZWdhcm91bmRjeXJpbGxpYz0xMTQ3O2Uub21lZ2F0aXRsb2N5cmlsbGljPTExNDk7ZS5vbWVnYXRvbm9zPTk3NDtlLm9tZ3VqYXJhdGk9Mjc2ODtlLm9taWNyb249OTU5O2Uub21pY3JvbnRvbm9zPTk3MjtlLm9tb25vc3BhY2U9NjUzNTk7ZS5vbmU9NDk7ZS5vbmVhcmFiaWM9MTYzMztlLm9uZWJlbmdhbGk9MjUzNTtlLm9uZWNpcmNsZT05MzEyO2Uub25lY2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyMjtlLm9uZWRldmE9MjQwNztlLm9uZWRvdGVubGVhZGVyPTgyMjg7ZS5vbmVlaWdodGg9ODUzOTtlLm9uZWZpdHRlZD02MzE5NjtlLm9uZWd1amFyYXRpPTI3OTE7ZS5vbmVndXJtdWtoaT0yNjYzO2Uub25laGFja2FyYWJpYz0xNjMzO2Uub25laGFsZj0xODk7ZS5vbmVoYW5nemhvdT0xMjMyMTtlLm9uZWlkZW9ncmFwaGljcGFyZW49MTI4MzI7ZS5vbmVpbmZlcmlvcj04MzIxO2Uub25lbW9ub3NwYWNlPTY1Mjk3O2Uub25lbnVtZXJhdG9yYmVuZ2FsaT0yNTQ4O2Uub25lb2xkc3R5bGU9NjMyODE7ZS5vbmVwYXJlbj05MzMyO2Uub25lcGVyaW9kPTkzNTI7ZS5vbmVwZXJzaWFuPTE3Nzc7ZS5vbmVxdWFydGVyPTE4ODtlLm9uZXJvbWFuPTg1NjA7ZS5vbmVzdXBlcmlvcj0xODU7ZS5vbmV0aGFpPTM2NjU7ZS5vbmV0aGlyZD04NTMxO2Uub29nb25laz00OTE7ZS5vb2dvbmVrbWFjcm9uPTQ5MztlLm9vZ3VybXVraGk9MjU3OTtlLm9vbWF0cmFndXJtdWtoaT0yNjM1O2Uub29wZW49NTk2O2Uub3BhcmVuPTkzODY7ZS5vcGVuYnVsbGV0PTk3MDI7ZS5vcHRpb249ODk5NztlLm9yZGZlbWluaW5lPTE3MDtlLm9yZG1hc2N1bGluZT0xODY7ZS5vcnRob2dvbmFsPTg3MzU7ZS5vc2hvcnRkZXZhPTIzMjI7ZS5vc2hvcnR2b3dlbHNpZ25kZXZhPTIzNzg7ZS5vc2xhc2g9MjQ4O2Uub3NsYXNoYWN1dGU9NTExO2Uub3NtYWxsaGlyYWdhbmE9MTIzNjE7ZS5vc21hbGxrYXRha2FuYT0xMjQ1NztlLm9zbWFsbGthdGFrYW5haGFsZndpZHRoPTY1Mzg3O2Uub3N0cm9rZWFjdXRlPTUxMTtlLm9zdXBlcmlvcj02MzIxNjtlLm90Y3lyaWxsaWM9MTE1MTtlLm90aWxkZT0yNDU7ZS5vdGlsZGVhY3V0ZT03NzU3O2Uub3RpbGRlZGllcmVzaXM9Nzc1OTtlLm91Ym9wb21vZm89MTI1Nzc7ZS5vdmVybGluZT04MjU0O2Uub3ZlcmxpbmVjZW50ZXJsaW5lPTY1MDk4O2Uub3ZlcmxpbmVjbWI9NzczO2Uub3ZlcmxpbmVkYXNoZWQ9NjUwOTc7ZS5vdmVybGluZWRibHdhdnk9NjUxMDA7ZS5vdmVybGluZXdhdnk9NjUwOTk7ZS5vdmVyc2NvcmU9MTc1O2Uub3Zvd2Vsc2lnbmJlbmdhbGk9MjUwNztlLm92b3dlbHNpZ25kZXZhPTIzNzk7ZS5vdm93ZWxzaWduZ3VqYXJhdGk9Mjc2MztlLnA9MTEyO2UucGFhbXBzc3F1YXJlPTEzMTg0O2UucGFhc2VudG9zcXVhcmU9MTMwOTk7ZS5wYWJlbmdhbGk9MjQ3NDtlLnBhY3V0ZT03NzY1O2UucGFkZXZhPTIzNDY7ZS5wYWdlZG93bj04NjcxO2UucGFnZXVwPTg2NzA7ZS5wYWd1amFyYXRpPTI3MzA7ZS5wYWd1cm11a2hpPTI2MDI7ZS5wYWhpcmFnYW5hPTEyNDAxO2UucGFpeWFubm9pdGhhaT0zNjMxO2UucGFrYXRha2FuYT0xMjQ5NztlLnBhbGF0YWxpemF0aW9uY3lyaWxsaWNjbWI9MTE1NjtlLnBhbG9jaGthY3lyaWxsaWM9MTIxNjtlLnBhbnNpb3Nrb3JlYW49MTI2NzE7ZS5wYXJhZ3JhcGg9MTgyO2UucGFyYWxsZWw9ODc0MTtlLnBhcmVubGVmdD00MDtlLnBhcmVubGVmdGFsdG9uZWFyYWJpYz02NDgzMDtlLnBhcmVubGVmdGJ0PTYzNzI1O2UucGFyZW5sZWZ0ZXg9NjM3MjQ7ZS5wYXJlbmxlZnRpbmZlcmlvcj04MzMzO2UucGFyZW5sZWZ0bW9ub3NwYWNlPTY1Mjg4O2UucGFyZW5sZWZ0c21hbGw9NjUxMTM7ZS5wYXJlbmxlZnRzdXBlcmlvcj04MzE3O2UucGFyZW5sZWZ0dHA9NjM3MjM7ZS5wYXJlbmxlZnR2ZXJ0aWNhbD02NTA3NztlLnBhcmVucmlnaHQ9NDE7ZS5wYXJlbnJpZ2h0YWx0b25lYXJhYmljPTY0ODMxO2UucGFyZW5yaWdodGJ0PTYzNzM2O2UucGFyZW5yaWdodGV4PTYzNzM1O2UucGFyZW5yaWdodGluZmVyaW9yPTgzMzQ7ZS5wYXJlbnJpZ2h0bW9ub3NwYWNlPTY1Mjg5O2UucGFyZW5yaWdodHNtYWxsPTY1MTE0O2UucGFyZW5yaWdodHN1cGVyaW9yPTgzMTg7ZS5wYXJlbnJpZ2h0dHA9NjM3MzQ7ZS5wYXJlbnJpZ2h0dmVydGljYWw9NjUwNzg7ZS5wYXJ0aWFsZGlmZj04NzA2O2UucGFzZXFoZWJyZXc9MTQ3MjtlLnBhc2h0YWhlYnJldz0xNDMzO2UucGFzcXVhcmU9MTMyMjU7ZS5wYXRhaD0xNDYzO2UucGF0YWgxMT0xNDYzO2UucGF0YWgxZD0xNDYzO2UucGF0YWgyYT0xNDYzO2UucGF0YWhoZWJyZXc9MTQ2MztlLnBhdGFobmFycm93aGVicmV3PTE0NjM7ZS5wYXRhaHF1YXJ0ZXJoZWJyZXc9MTQ2MztlLnBhdGFod2lkZWhlYnJldz0xNDYzO2UucGF6ZXJoZWJyZXc9MTQ0MTtlLnBib3BvbW9mbz0xMjU1MDtlLnBjaXJjbGU9OTQzOTtlLnBkb3RhY2NlbnQ9Nzc2NztlLnBlPTE1MDg7ZS5wZWN5cmlsbGljPTEwODc7ZS5wZWRhZ2VzaD02NDMyNDtlLnBlZGFnZXNoaGVicmV3PTY0MzI0O2UucGVlemlzcXVhcmU9MTMxMTU7ZS5wZWZpbmFsZGFnZXNoaGVicmV3PTY0MzIzO2UucGVoYXJhYmljPTE2NjI7ZS5wZWhhcm1lbmlhbj0xNDAyO2UucGVoZWJyZXc9MTUwODtlLnBlaGZpbmFsYXJhYmljPTY0MzQzO2UucGVoaW5pdGlhbGFyYWJpYz02NDM0NDtlLnBlaGlyYWdhbmE9MTI0MTA7ZS5wZWhtZWRpYWxhcmFiaWM9NjQzNDU7ZS5wZWthdGFrYW5hPTEyNTA2O2UucGVtaWRkbGVob29rY3lyaWxsaWM9MTE5MTtlLnBlcmFmZWhlYnJldz02NDMzNDtlLnBlcmNlbnQ9Mzc7ZS5wZXJjZW50YXJhYmljPTE2NDI7ZS5wZXJjZW50bW9ub3NwYWNlPTY1Mjg1O2UucGVyY2VudHNtYWxsPTY1MTMwO2UucGVyaW9kPTQ2O2UucGVyaW9kYXJtZW5pYW49MTQxNztlLnBlcmlvZGNlbnRlcmVkPTE4MztlLnBlcmlvZGhhbGZ3aWR0aD02NTM3NztlLnBlcmlvZGluZmVyaW9yPTYzMjA3O2UucGVyaW9kbW9ub3NwYWNlPTY1Mjk0O2UucGVyaW9kc21hbGw9NjUxMDY7ZS5wZXJpb2RzdXBlcmlvcj02MzIwODtlLnBlcmlzcG9tZW5pZ3JlZWtjbWI9ODM0O2UucGVycGVuZGljdWxhcj04ODY5O2UucGVydGhvdXNhbmQ9ODI0MDtlLnBlc2V0YT04MzU5O2UucGZzcXVhcmU9MTMxOTQ7ZS5waGFiZW5nYWxpPTI0NzU7ZS5waGFkZXZhPTIzNDc7ZS5waGFndWphcmF0aT0yNzMxO2UucGhhZ3VybXVraGk9MjYwMztlLnBoaT05NjY7ZS5waGkxPTk4MTtlLnBoaWV1cGhhY2lyY2xla29yZWFuPTEyOTIyO2UucGhpZXVwaGFwYXJlbmtvcmVhbj0xMjgyNjtlLnBoaWV1cGhjaXJjbGVrb3JlYW49MTI5MDg7ZS5waGlldXBoa29yZWFuPTEyNjIxO2UucGhpZXVwaHBhcmVua29yZWFuPTEyODEyO2UucGhpbGF0aW49NjMyO2UucGhpbnRodXRoYWk9MzY0MjtlLnBoaXN5bWJvbGdyZWVrPTk4MTtlLnBob29rPTQyMTtlLnBob3BoYW50aGFpPTM2MTQ7ZS5waG9waHVuZ3RoYWk9MzYxMjtlLnBob3NhbXBoYW90aGFpPTM2MTY7ZS5waT05NjA7ZS5waWV1cGFjaXJjbGVrb3JlYW49MTI5MTU7ZS5waWV1cGFwYXJlbmtvcmVhbj0xMjgxOTtlLnBpZXVwY2lldWNrb3JlYW49MTI2NjI7ZS5waWV1cGNpcmNsZWtvcmVhbj0xMjkwMTtlLnBpZXVwa2l5ZW9ra29yZWFuPTEyNjU4O2UucGlldXBrb3JlYW49MTI2MTA7ZS5waWV1cHBhcmVua29yZWFuPTEyODA1O2UucGlldXBzaW9za2l5ZW9ra29yZWFuPTEyNjYwO2UucGlldXBzaW9za29yZWFuPTEyNjEyO2UucGlldXBzaW9zdGlrZXV0a29yZWFuPTEyNjYxO2UucGlldXB0aGlldXRoa29yZWFuPTEyNjYzO2UucGlldXB0aWtldXRrb3JlYW49MTI2NTk7ZS5waWhpcmFnYW5hPTEyNDA0O2UucGlrYXRha2FuYT0xMjUwMDtlLnBpc3ltYm9sZ3JlZWs9OTgyO2UucGl3cmFybWVuaWFuPTE0MTE7ZS5wbGFuY2tvdmVyMnBpPTg0NjM7ZS5wbGFuY2tvdmVyMnBpMT04NDYzO2UucGx1cz00MztlLnBsdXNiZWxvd2NtYj03OTk7ZS5wbHVzY2lyY2xlPTg4NTM7ZS5wbHVzbWludXM9MTc3O2UucGx1c21vZD03MjY7ZS5wbHVzbW9ub3NwYWNlPTY1MjkxO2UucGx1c3NtYWxsPTY1MTIyO2UucGx1c3N1cGVyaW9yPTgzMTQ7ZS5wbW9ub3NwYWNlPTY1MzYwO2UucG1zcXVhcmU9MTMyNzI7ZS5wb2hpcmFnYW5hPTEyNDEzO2UucG9pbnRpbmdpbmRleGRvd253aGl0ZT05NzU5O2UucG9pbnRpbmdpbmRleGxlZnR3aGl0ZT05NzU2O2UucG9pbnRpbmdpbmRleHJpZ2h0d2hpdGU9OTc1ODtlLnBvaW50aW5naW5kZXh1cHdoaXRlPTk3NTc7ZS5wb2thdGFrYW5hPTEyNTA5O2UucG9wbGF0aGFpPTM2MTE7ZS5wb3N0YWxtYXJrPTEyMzA2O2UucG9zdGFsbWFya2ZhY2U9MTIzMjA7ZS5wcGFyZW49OTM4NztlLnByZWNlZGVzPTg4MjY7ZS5wcmVzY3JpcHRpb249ODQ3ODtlLnByaW1lbW9kPTY5NztlLnByaW1lcmV2ZXJzZWQ9ODI0NTtlLnByb2R1Y3Q9ODcxOTtlLnByb2plY3RpdmU9ODk2NTtlLnByb2xvbmdlZGthbmE9MTI1NDA7ZS5wcm9wZWxsb3I9ODk4NDtlLnByb3BlcnN1YnNldD04ODM0O2UucHJvcGVyc3VwZXJzZXQ9ODgzNTtlLnByb3BvcnRpb249ODc1OTtlLnByb3BvcnRpb25hbD04NzMzO2UucHNpPTk2ODtlLnBzaWN5cmlsbGljPTExMzc7ZS5wc2lsaXBuZXVtYXRhY3lyaWxsaWNjbWI9MTE1ODtlLnBzc3F1YXJlPTEzMjMyO2UucHVoaXJhZ2FuYT0xMjQwNztlLnB1a2F0YWthbmE9MTI1MDM7ZS5wdnNxdWFyZT0xMzIzNjtlLnB3c3F1YXJlPTEzMjQyO2UucT0xMTM7ZS5xYWRldmE9MjM5MjtlLnFhZG1haGVicmV3PTE0NDg7ZS5xYWZhcmFiaWM9MTYwMjtlLnFhZmZpbmFsYXJhYmljPTY1MjM4O2UucWFmaW5pdGlhbGFyYWJpYz02NTIzOTtlLnFhZm1lZGlhbGFyYWJpYz02NTI0MDtlLnFhbWF0cz0xNDY0O2UucWFtYXRzMTA9MTQ2NDtlLnFhbWF0czFhPTE0NjQ7ZS5xYW1hdHMxYz0xNDY0O2UucWFtYXRzMjc9MTQ2NDtlLnFhbWF0czI5PTE0NjQ7ZS5xYW1hdHMzMz0xNDY0O2UucWFtYXRzZGU9MTQ2NDtlLnFhbWF0c2hlYnJldz0xNDY0O2UucWFtYXRzbmFycm93aGVicmV3PTE0NjQ7ZS5xYW1hdHNxYXRhbmhlYnJldz0xNDY0O2UucWFtYXRzcWF0YW5uYXJyb3doZWJyZXc9MTQ2NDtlLnFhbWF0c3FhdGFucXVhcnRlcmhlYnJldz0xNDY0O2UucWFtYXRzcWF0YW53aWRlaGVicmV3PTE0NjQ7ZS5xYW1hdHNxdWFydGVyaGVicmV3PTE0NjQ7ZS5xYW1hdHN3aWRlaGVicmV3PTE0NjQ7ZS5xYXJuZXlwYXJhaGVicmV3PTE0Mzk7ZS5xYm9wb21vZm89MTI1NjE7ZS5xY2lyY2xlPTk0NDA7ZS5xaG9vaz02NzI7ZS5xbW9ub3NwYWNlPTY1MzYxO2UucW9mPTE1MTE7ZS5xb2ZkYWdlc2g9NjQzMjc7ZS5xb2ZkYWdlc2hoZWJyZXc9NjQzMjc7ZS5xb2ZoZWJyZXc9MTUxMTtlLnFwYXJlbj05Mzg4O2UucXVhcnRlcm5vdGU9OTgzMztlLnF1YnV0cz0xNDY3O2UucXVidXRzMTg9MTQ2NztlLnF1YnV0czI1PTE0Njc7ZS5xdWJ1dHMzMT0xNDY3O2UucXVidXRzaGVicmV3PTE0Njc7ZS5xdWJ1dHNuYXJyb3doZWJyZXc9MTQ2NztlLnF1YnV0c3F1YXJ0ZXJoZWJyZXc9MTQ2NztlLnF1YnV0c3dpZGVoZWJyZXc9MTQ2NztlLnF1ZXN0aW9uPTYzO2UucXVlc3Rpb25hcmFiaWM9MTU2NztlLnF1ZXN0aW9uYXJtZW5pYW49MTM3NDtlLnF1ZXN0aW9uZG93bj0xOTE7ZS5xdWVzdGlvbmRvd25zbWFsbD02MzQyMztlLnF1ZXN0aW9uZ3JlZWs9ODk0O2UucXVlc3Rpb25tb25vc3BhY2U9NjUzMTE7ZS5xdWVzdGlvbnNtYWxsPTYzMjk1O2UucXVvdGVkYmw9MzQ7ZS5xdW90ZWRibGJhc2U9ODIyMjtlLnF1b3RlZGJsbGVmdD04MjIwO2UucXVvdGVkYmxtb25vc3BhY2U9NjUyODI7ZS5xdW90ZWRibHByaW1lPTEyMzE4O2UucXVvdGVkYmxwcmltZXJldmVyc2VkPTEyMzE3O2UucXVvdGVkYmxyaWdodD04MjIxO2UucXVvdGVsZWZ0PTgyMTY7ZS5xdW90ZWxlZnRyZXZlcnNlZD04MjE5O2UucXVvdGVyZXZlcnNlZD04MjE5O2UucXVvdGVyaWdodD04MjE3O2UucXVvdGVyaWdodG49MzI5O2UucXVvdGVzaW5nbGJhc2U9ODIxODtlLnF1b3Rlc2luZ2xlPTM5O2UucXVvdGVzaW5nbGVtb25vc3BhY2U9NjUyODc7ZS5yPTExNDtlLnJhYXJtZW5pYW49MTQwNDtlLnJhYmVuZ2FsaT0yNDgwO2UucmFjdXRlPTM0MTtlLnJhZGV2YT0yMzUyO2UucmFkaWNhbD04NzMwO2UucmFkaWNhbGV4PTYzNzE3O2UucmFkb3ZlcnNzcXVhcmU9MTMyMzA7ZS5yYWRvdmVyc3NxdWFyZWRzcXVhcmU9MTMyMzE7ZS5yYWRzcXVhcmU9MTMyMjk7ZS5yYWZlPTE0NzE7ZS5yYWZlaGVicmV3PTE0NzE7ZS5yYWd1amFyYXRpPTI3MzY7ZS5yYWd1cm11a2hpPTI2MDg7ZS5yYWhpcmFnYW5hPTEyNDI1O2UucmFrYXRha2FuYT0xMjUyMTtlLnJha2F0YWthbmFoYWxmd2lkdGg9NjU0MzE7ZS5yYWxvd2VyZGlhZ29uYWxiZW5nYWxpPTI1NDU7ZS5yYW1pZGRsZWRpYWdvbmFsYmVuZ2FsaT0yNTQ0O2UucmFtc2hvcm49NjEyO2UucmF0aW89ODc1ODtlLnJib3BvbW9mbz0xMjU2NjtlLnJjYXJvbj0zNDU7ZS5yY2VkaWxsYT0zNDM7ZS5yY2lyY2xlPTk0NDE7ZS5yY29tbWFhY2NlbnQ9MzQzO2UucmRibGdyYXZlPTUyOTtlLnJkb3RhY2NlbnQ9Nzc2OTtlLnJkb3RiZWxvdz03NzcxO2UucmRvdGJlbG93bWFjcm9uPTc3NzM7ZS5yZWZlcmVuY2VtYXJrPTgyNTE7ZS5yZWZsZXhzdWJzZXQ9ODgzODtlLnJlZmxleHN1cGVyc2V0PTg4Mzk7ZS5yZWdpc3RlcmVkPTE3NDtlLnJlZ2lzdGVyc2Fucz02MzcyMDtlLnJlZ2lzdGVyc2VyaWY9NjMxOTQ7ZS5yZWhhcmFiaWM9MTU4NTtlLnJlaGFybWVuaWFuPTE0MDg7ZS5yZWhmaW5hbGFyYWJpYz02NTE5ODtlLnJlaGlyYWdhbmE9MTI0Mjg7ZS5yZWthdGFrYW5hPTEyNTI0O2UucmVrYXRha2FuYWhhbGZ3aWR0aD02NTQzNDtlLnJlc2g9MTUxMjtlLnJlc2hkYWdlc2hoZWJyZXc9NjQzMjg7ZS5yZXNoaGVicmV3PTE1MTI7ZS5yZXZlcnNlZHRpbGRlPTg3NjU7ZS5yZXZpYWhlYnJldz0xNDMxO2UucmV2aWFtdWdyYXNoaGVicmV3PTE0MzE7ZS5yZXZsb2dpY2Fsbm90PTg5NzY7ZS5yZmlzaGhvb2s9NjM4O2UucmZpc2hob29rcmV2ZXJzZWQ9NjM5O2UucmhhYmVuZ2FsaT0yNTI1O2UucmhhZGV2YT0yMzk3O2UucmhvPTk2MTtlLnJob29rPTYzNztlLnJob29rdHVybmVkPTYzNTtlLnJob29rdHVybmVkc3VwZXJpb3I9NjkzO2Uucmhvc3ltYm9sZ3JlZWs9MTAwOTtlLnJob3RpY2hvb2ttb2Q9NzM0O2UucmlldWxhY2lyY2xla29yZWFuPTEyOTEzO2UucmlldWxhcGFyZW5rb3JlYW49MTI4MTc7ZS5yaWV1bGNpcmNsZWtvcmVhbj0xMjg5OTtlLnJpZXVsaGlldWhrb3JlYW49MTI2MDg7ZS5yaWV1bGtpeWVva2tvcmVhbj0xMjYwMjtlLnJpZXVsa2l5ZW9rc2lvc2tvcmVhbj0xMjY0OTtlLnJpZXVsa29yZWFuPTEyNjAxO2UucmlldWxtaWV1bWtvcmVhbj0xMjYwMztlLnJpZXVscGFuc2lvc2tvcmVhbj0xMjY1MjtlLnJpZXVscGFyZW5rb3JlYW49MTI4MDM7ZS5yaWV1bHBoaWV1cGhrb3JlYW49MTI2MDc7ZS5yaWV1bHBpZXVwa29yZWFuPTEyNjA0O2UucmlldWxwaWV1cHNpb3Nrb3JlYW49MTI2NTE7ZS5yaWV1bHNpb3Nrb3JlYW49MTI2MDU7ZS5yaWV1bHRoaWV1dGhrb3JlYW49MTI2MDY7ZS5yaWV1bHRpa2V1dGtvcmVhbj0xMjY1MDtlLnJpZXVseWVvcmluaGlldWhrb3JlYW49MTI2NTM7ZS5yaWdodGFuZ2xlPTg3MzU7ZS5yaWdodHRhY2tiZWxvd2NtYj03OTM7ZS5yaWdodHRyaWFuZ2xlPTg4OTU7ZS5yaWhpcmFnYW5hPTEyNDI2O2UucmlrYXRha2FuYT0xMjUyMjtlLnJpa2F0YWthbmFoYWxmd2lkdGg9NjU0MzI7ZS5yaW5nPTczMDtlLnJpbmdiZWxvd2NtYj04MDU7ZS5yaW5nY21iPTc3ODtlLnJpbmdoYWxmbGVmdD03MDM7ZS5yaW5naGFsZmxlZnRhcm1lbmlhbj0xMzY5O2UucmluZ2hhbGZsZWZ0YmVsb3djbWI9Nzk2O2UucmluZ2hhbGZsZWZ0Y2VudGVyZWQ9NzIzO2UucmluZ2hhbGZyaWdodD03MDI7ZS5yaW5naGFsZnJpZ2h0YmVsb3djbWI9ODI1O2UucmluZ2hhbGZyaWdodGNlbnRlcmVkPTcyMjtlLnJpbnZlcnRlZGJyZXZlPTUzMTtlLnJpdHRvcnVzcXVhcmU9MTMxMzc7ZS5ybGluZWJlbG93PTc3NzU7ZS5ybG9uZ2xlZz02MzY7ZS5ybG9uZ2xlZ3R1cm5lZD02MzQ7ZS5ybW9ub3NwYWNlPTY1MzYyO2Uucm9oaXJhZ2FuYT0xMjQyOTtlLnJva2F0YWthbmE9MTI1MjU7ZS5yb2thdGFrYW5haGFsZndpZHRoPTY1NDM1O2Uucm9ydWF0aGFpPTM2MTk7ZS5ycGFyZW49OTM4OTtlLnJyYWJlbmdhbGk9MjUyNDtlLnJyYWRldmE9MjM1MztlLnJyYWd1cm11a2hpPTI2NTI7ZS5ycmVoYXJhYmljPTE2ODE7ZS5ycmVoZmluYWxhcmFiaWM9NjQzOTc7ZS5ycnZvY2FsaWNiZW5nYWxpPTI1Mjg7ZS5ycnZvY2FsaWNkZXZhPTI0MDA7ZS5ycnZvY2FsaWNndWphcmF0aT0yNzg0O2UucnJ2b2NhbGljdm93ZWxzaWduYmVuZ2FsaT0yNTAwO2UucnJ2b2NhbGljdm93ZWxzaWduZGV2YT0yMzcyO2UucnJ2b2NhbGljdm93ZWxzaWduZ3VqYXJhdGk9Mjc1NjtlLnJzdXBlcmlvcj02MzIxNztlLnJ0YmxvY2s9OTYxNjtlLnJ0dXJuZWQ9NjMzO2UucnR1cm5lZHN1cGVyaW9yPTY5MjtlLnJ1aGlyYWdhbmE9MTI0Mjc7ZS5ydWthdGFrYW5hPTEyNTIzO2UucnVrYXRha2FuYWhhbGZ3aWR0aD02NTQzMztlLnJ1cGVlbWFya2JlbmdhbGk9MjU0NjtlLnJ1cGVlc2lnbmJlbmdhbGk9MjU0NztlLnJ1cGlhaD02MzE5NztlLnJ1dGhhaT0zNjIwO2UucnZvY2FsaWNiZW5nYWxpPTI0NDM7ZS5ydm9jYWxpY2RldmE9MjMxNTtlLnJ2b2NhbGljZ3VqYXJhdGk9MjY5OTtlLnJ2b2NhbGljdm93ZWxzaWduYmVuZ2FsaT0yNDk5O2UucnZvY2FsaWN2b3dlbHNpZ25kZXZhPTIzNzE7ZS5ydm9jYWxpY3Zvd2Vsc2lnbmd1amFyYXRpPTI3NTU7ZS5zPTExNTtlLnNhYmVuZ2FsaT0yNDg4O2Uuc2FjdXRlPTM0NztlLnNhY3V0ZWRvdGFjY2VudD03NzgxO2Uuc2FkYXJhYmljPTE1ODk7ZS5zYWRldmE9MjM2MDtlLnNhZGZpbmFsYXJhYmljPTY1MjEwO2Uuc2FkaW5pdGlhbGFyYWJpYz02NTIxMTtlLnNhZG1lZGlhbGFyYWJpYz02NTIxMjtlLnNhZ3VqYXJhdGk9Mjc0NDtlLnNhZ3VybXVraGk9MjYxNjtlLnNhaGlyYWdhbmE9MTIzNzM7ZS5zYWthdGFrYW5hPTEyNDY5O2Uuc2FrYXRha2FuYWhhbGZ3aWR0aD02NTQwMztlLnNhbGxhbGxhaG91YWxheWhld2FzYWxsYW1hcmFiaWM9NjUwMTg7ZS5zYW1la2g9MTUwNTtlLnNhbWVraGRhZ2VzaD02NDMyMTtlLnNhbWVraGRhZ2VzaGhlYnJldz02NDMyMTtlLnNhbWVraGhlYnJldz0xNTA1O2Uuc2FyYWFhdGhhaT0zNjM0O2Uuc2FyYWFldGhhaT0zNjQ5O2Uuc2FyYWFpbWFpbWFsYWl0aGFpPTM2NTI7ZS5zYXJhYWltYWltdWFudGhhaT0zNjUxO2Uuc2FyYWFtdGhhaT0zNjM1O2Uuc2FyYWF0aGFpPTM2MzI7ZS5zYXJhZXRoYWk9MzY0ODtlLnNhcmFpaWxlZnR0aGFpPTYzNjIyO2Uuc2FyYWlpdGhhaT0zNjM3O2Uuc2FyYWlsZWZ0dGhhaT02MzYyMTtlLnNhcmFpdGhhaT0zNjM2O2Uuc2FyYW90aGFpPTM2NTA7ZS5zYXJhdWVlbGVmdHRoYWk9NjM2MjQ7ZS5zYXJhdWVldGhhaT0zNjM5O2Uuc2FyYXVlbGVmdHRoYWk9NjM2MjM7ZS5zYXJhdWV0aGFpPTM2Mzg7ZS5zYXJhdXRoYWk9MzY0MDtlLnNhcmF1dXRoYWk9MzY0MTtlLnNib3BvbW9mbz0xMjU2OTtlLnNjYXJvbj0zNTM7ZS5zY2Fyb25kb3RhY2NlbnQ9Nzc4MztlLnNjZWRpbGxhPTM1MTtlLnNjaHdhPTYwMTtlLnNjaHdhY3lyaWxsaWM9MTI0MTtlLnNjaHdhZGllcmVzaXNjeXJpbGxpYz0xMjQzO2Uuc2Nod2Fob29rPTYwMjtlLnNjaXJjbGU9OTQ0MjtlLnNjaXJjdW1mbGV4PTM0OTtlLnNjb21tYWFjY2VudD01Mzc7ZS5zZG90YWNjZW50PTc3Nzc7ZS5zZG90YmVsb3c9Nzc3OTtlLnNkb3RiZWxvd2RvdGFjY2VudD03Nzg1O2Uuc2VhZ3VsbGJlbG93Y21iPTgyODtlLnNlY29uZD04MjQzO2Uuc2Vjb25kdG9uZWNoaW5lc2U9NzE0O2Uuc2VjdGlvbj0xNjc7ZS5zZWVuYXJhYmljPTE1ODc7ZS5zZWVuZmluYWxhcmFiaWM9NjUyMDI7ZS5zZWVuaW5pdGlhbGFyYWJpYz02NTIwMztlLnNlZW5tZWRpYWxhcmFiaWM9NjUyMDQ7ZS5zZWdvbD0xNDYyO2Uuc2Vnb2wxMz0xNDYyO2Uuc2Vnb2wxZj0xNDYyO2Uuc2Vnb2wyYz0xNDYyO2Uuc2Vnb2xoZWJyZXc9MTQ2MjtlLnNlZ29sbmFycm93aGVicmV3PTE0NjI7ZS5zZWdvbHF1YXJ0ZXJoZWJyZXc9MTQ2MjtlLnNlZ29sdGFoZWJyZXc9MTQyNjtlLnNlZ29sd2lkZWhlYnJldz0xNDYyO2Uuc2VoYXJtZW5pYW49MTQwNTtlLnNlaGlyYWdhbmE9MTIzNzk7ZS5zZWthdGFrYW5hPTEyNDc1O2Uuc2VrYXRha2FuYWhhbGZ3aWR0aD02NTQwNjtlLnNlbWljb2xvbj01OTtlLnNlbWljb2xvbmFyYWJpYz0xNTYzO2Uuc2VtaWNvbG9ubW9ub3NwYWNlPTY1MzA3O2Uuc2VtaWNvbG9uc21hbGw9NjUxMDg7ZS5zZW1pdm9pY2VkbWFya2thbmE9MTI0NDQ7ZS5zZW1pdm9pY2VkbWFya2thbmFoYWxmd2lkdGg9NjU0Mzk7ZS5zZW50aXNxdWFyZT0xMzA5MDtlLnNlbnRvc3F1YXJlPTEzMDkxO2Uuc2V2ZW49NTU7ZS5zZXZlbmFyYWJpYz0xNjM5O2Uuc2V2ZW5iZW5nYWxpPTI1NDE7ZS5zZXZlbmNpcmNsZT05MzE4O2Uuc2V2ZW5jaXJjbGVpbnZlcnNlc2Fuc3NlcmlmPTEwMTI4O2Uuc2V2ZW5kZXZhPTI0MTM7ZS5zZXZlbmVpZ2h0aHM9ODU0MjtlLnNldmVuZ3VqYXJhdGk9Mjc5NztlLnNldmVuZ3VybXVraGk9MjY2OTtlLnNldmVuaGFja2FyYWJpYz0xNjM5O2Uuc2V2ZW5oYW5nemhvdT0xMjMyNztlLnNldmVuaWRlb2dyYXBoaWNwYXJlbj0xMjgzODtlLnNldmVuaW5mZXJpb3I9ODMyNztlLnNldmVubW9ub3NwYWNlPTY1MzAzO2Uuc2V2ZW5vbGRzdHlsZT02MzI4NztlLnNldmVucGFyZW49OTMzODtlLnNldmVucGVyaW9kPTkzNTg7ZS5zZXZlbnBlcnNpYW49MTc4MztlLnNldmVucm9tYW49ODU2NjtlLnNldmVuc3VwZXJpb3I9ODMxMTtlLnNldmVudGVlbmNpcmNsZT05MzI4O2Uuc2V2ZW50ZWVucGFyZW49OTM0ODtlLnNldmVudGVlbnBlcmlvZD05MzY4O2Uuc2V2ZW50aGFpPTM2NzE7ZS5zZnRoeXBoZW49MTczO2Uuc2hhYXJtZW5pYW49MTM5OTtlLnNoYWJlbmdhbGk9MjQ4NjtlLnNoYWN5cmlsbGljPTEwOTY7ZS5zaGFkZGFhcmFiaWM9MTYxNztlLnNoYWRkYWRhbW1hYXJhYmljPTY0NjA5O2Uuc2hhZGRhZGFtbWF0YW5hcmFiaWM9NjQ2MDY7ZS5zaGFkZGFmYXRoYWFyYWJpYz02NDYwODtlLnNoYWRkYWthc3JhYXJhYmljPTY0NjEwO2Uuc2hhZGRha2FzcmF0YW5hcmFiaWM9NjQ2MDc7ZS5zaGFkZT05NjE4O2Uuc2hhZGVkYXJrPTk2MTk7ZS5zaGFkZWxpZ2h0PTk2MTc7ZS5zaGFkZW1lZGl1bT05NjE4O2Uuc2hhZGV2YT0yMzU4O2Uuc2hhZ3VqYXJhdGk9Mjc0MjtlLnNoYWd1cm11a2hpPTI2MTQ7ZS5zaGFsc2hlbGV0aGVicmV3PTE0Mjc7ZS5zaGJvcG9tb2ZvPTEyNTY1O2Uuc2hjaGFjeXJpbGxpYz0xMDk3O2Uuc2hlZW5hcmFiaWM9MTU4ODtlLnNoZWVuZmluYWxhcmFiaWM9NjUyMDY7ZS5zaGVlbmluaXRpYWxhcmFiaWM9NjUyMDc7ZS5zaGVlbm1lZGlhbGFyYWJpYz02NTIwODtlLnNoZWljb3B0aWM9OTk1O2Uuc2hlcWVsPTgzNjI7ZS5zaGVxZWxoZWJyZXc9ODM2MjtlLnNoZXZhPTE0NTY7ZS5zaGV2YTExNT0xNDU2O2Uuc2hldmExNT0xNDU2O2Uuc2hldmEyMj0xNDU2O2Uuc2hldmEyZT0xNDU2O2Uuc2hldmFoZWJyZXc9MTQ1NjtlLnNoZXZhbmFycm93aGVicmV3PTE0NTY7ZS5zaGV2YXF1YXJ0ZXJoZWJyZXc9MTQ1NjtlLnNoZXZhd2lkZWhlYnJldz0xNDU2O2Uuc2hoYWN5cmlsbGljPTEyMTE7ZS5zaGltYWNvcHRpYz0xMDA1O2Uuc2hpbj0xNTEzO2Uuc2hpbmRhZ2VzaD02NDMyOTtlLnNoaW5kYWdlc2hoZWJyZXc9NjQzMjk7ZS5zaGluZGFnZXNoc2hpbmRvdD02NDMwMDtlLnNoaW5kYWdlc2hzaGluZG90aGVicmV3PTY0MzAwO2Uuc2hpbmRhZ2VzaHNpbmRvdD02NDMwMTtlLnNoaW5kYWdlc2hzaW5kb3RoZWJyZXc9NjQzMDE7ZS5zaGluZG90aGVicmV3PTE0NzM7ZS5zaGluaGVicmV3PTE1MTM7ZS5zaGluc2hpbmRvdD02NDI5ODtlLnNoaW5zaGluZG90aGVicmV3PTY0Mjk4O2Uuc2hpbnNpbmRvdD02NDI5OTtlLnNoaW5zaW5kb3RoZWJyZXc9NjQyOTk7ZS5zaG9vaz02NDI7ZS5zaWdtYT05NjM7ZS5zaWdtYTE9OTYyO2Uuc2lnbWFmaW5hbD05NjI7ZS5zaWdtYWx1bmF0ZXN5bWJvbGdyZWVrPTEwMTA7ZS5zaWhpcmFnYW5hPTEyMzc1O2Uuc2lrYXRha2FuYT0xMjQ3MTtlLnNpa2F0YWthbmFoYWxmd2lkdGg9NjU0MDQ7ZS5zaWx1cWhlYnJldz0xNDY5O2Uuc2lsdXFsZWZ0aGVicmV3PTE0Njk7ZS5zaW1pbGFyPTg3NjQ7ZS5zaW5kb3RoZWJyZXc9MTQ3NDtlLnNpb3NhY2lyY2xla29yZWFuPTEyOTE2O2Uuc2lvc2FwYXJlbmtvcmVhbj0xMjgyMDtlLnNpb3NjaWV1Y2tvcmVhbj0xMjY3MDtlLnNpb3NjaXJjbGVrb3JlYW49MTI5MDI7ZS5zaW9za2l5ZW9ra29yZWFuPTEyNjY2O2Uuc2lvc2tvcmVhbj0xMjYxMztlLnNpb3NuaWV1bmtvcmVhbj0xMjY2NztlLnNpb3NwYXJlbmtvcmVhbj0xMjgwNjtlLnNpb3NwaWV1cGtvcmVhbj0xMjY2OTtlLnNpb3N0aWtldXRrb3JlYW49MTI2Njg7ZS5zaXg9NTQ7ZS5zaXhhcmFiaWM9MTYzODtlLnNpeGJlbmdhbGk9MjU0MDtlLnNpeGNpcmNsZT05MzE3O2Uuc2l4Y2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyNztlLnNpeGRldmE9MjQxMjtlLnNpeGd1amFyYXRpPTI3OTY7ZS5zaXhndXJtdWtoaT0yNjY4O2Uuc2l4aGFja2FyYWJpYz0xNjM4O2Uuc2l4aGFuZ3pob3U9MTIzMjY7ZS5zaXhpZGVvZ3JhcGhpY3BhcmVuPTEyODM3O2Uuc2l4aW5mZXJpb3I9ODMyNjtlLnNpeG1vbm9zcGFjZT02NTMwMjtlLnNpeG9sZHN0eWxlPTYzMjg2O2Uuc2l4cGFyZW49OTMzNztlLnNpeHBlcmlvZD05MzU3O2Uuc2l4cGVyc2lhbj0xNzgyO2Uuc2l4cm9tYW49ODU2NTtlLnNpeHN1cGVyaW9yPTgzMTA7ZS5zaXh0ZWVuY2lyY2xlPTkzMjc7ZS5zaXh0ZWVuY3VycmVuY3lkZW5vbWluYXRvcmJlbmdhbGk9MjU1MztlLnNpeHRlZW5wYXJlbj05MzQ3O2Uuc2l4dGVlbnBlcmlvZD05MzY3O2Uuc2l4dGhhaT0zNjcwO2Uuc2xhc2g9NDc7ZS5zbGFzaG1vbm9zcGFjZT02NTI5NTtlLnNsb25nPTM4MztlLnNsb25nZG90YWNjZW50PTc4MzU7ZS5zbWlsZWZhY2U9OTc4NjtlLnNtb25vc3BhY2U9NjUzNjM7ZS5zb2ZwYXN1cWhlYnJldz0xNDc1O2Uuc29mdGh5cGhlbj0xNzM7ZS5zb2Z0c2lnbmN5cmlsbGljPTExMDA7ZS5zb2hpcmFnYW5hPTEyMzgxO2Uuc29rYXRha2FuYT0xMjQ3NztlLnNva2F0YWthbmFoYWxmd2lkdGg9NjU0MDc7ZS5zb2xpZHVzbG9uZ292ZXJsYXljbWI9ODI0O2Uuc29saWR1c3Nob3J0b3ZlcmxheWNtYj04MjM7ZS5zb3J1c2l0aGFpPTM2MjU7ZS5zb3NhbGF0aGFpPTM2MjQ7ZS5zb3NvdGhhaT0zNTk1O2Uuc29zdWF0aGFpPTM2MjY7ZS5zcGFjZT0zMjtlLnNwYWNlaGFja2FyYWJpYz0zMjtlLnNwYWRlPTk4MjQ7ZS5zcGFkZXN1aXRibGFjaz05ODI0O2Uuc3BhZGVzdWl0d2hpdGU9OTgyODtlLnNwYXJlbj05MzkwO2Uuc3F1YXJlYmVsb3djbWI9ODI3O2Uuc3F1YXJlY2M9MTMyNTI7ZS5zcXVhcmVjbT0xMzIxMztlLnNxdWFyZWRpYWdvbmFsY3Jvc3NoYXRjaGZpbGw9OTY0MTtlLnNxdWFyZWhvcml6b250YWxmaWxsPTk2MzY7ZS5zcXVhcmVrZz0xMzE5OTtlLnNxdWFyZWttPTEzMjE0O2Uuc3F1YXJla21jYXBpdGFsPTEzMjYyO2Uuc3F1YXJlbG49MTMyNjU7ZS5zcXVhcmVsb2c9MTMyNjY7ZS5zcXVhcmVtZz0xMzE5ODtlLnNxdWFyZW1pbD0xMzI2OTtlLnNxdWFyZW1tPTEzMjEyO2Uuc3F1YXJlbXNxdWFyZWQ9MTMyMTc7ZS5zcXVhcmVvcnRob2dvbmFsY3Jvc3NoYXRjaGZpbGw9OTYzODtlLnNxdWFyZXVwcGVybGVmdHRvbG93ZXJyaWdodGZpbGw9OTYzOTtlLnNxdWFyZXVwcGVycmlnaHR0b2xvd2VybGVmdGZpbGw9OTY0MDtlLnNxdWFyZXZlcnRpY2FsZmlsbD05NjM3O2Uuc3F1YXJld2hpdGV3aXRoc21hbGxibGFjaz05NjM1O2Uuc3JzcXVhcmU9MTMyNzU7ZS5zc2FiZW5nYWxpPTI0ODc7ZS5zc2FkZXZhPTIzNTk7ZS5zc2FndWphcmF0aT0yNzQzO2Uuc3NhbmdjaWV1Y2tvcmVhbj0xMjYxNztlLnNzYW5naGlldWhrb3JlYW49MTI2Nzc7ZS5zc2FuZ2lldW5na29yZWFuPTEyNjcyO2Uuc3NhbmdraXllb2trb3JlYW49MTI1OTQ7ZS5zc2FuZ25pZXVua29yZWFuPTEyNjQ1O2Uuc3NhbmdwaWV1cGtvcmVhbj0xMjYxMTtlLnNzYW5nc2lvc2tvcmVhbj0xMjYxNDtlLnNzYW5ndGlrZXV0a29yZWFuPTEyNjAwO2Uuc3N1cGVyaW9yPTYzMjE4O2Uuc3Rlcmxpbmc9MTYzO2Uuc3Rlcmxpbmdtb25vc3BhY2U9NjU1MDU7ZS5zdHJva2Vsb25nb3ZlcmxheWNtYj04MjI7ZS5zdHJva2VzaG9ydG92ZXJsYXljbWI9ODIxO2Uuc3Vic2V0PTg4MzQ7ZS5zdWJzZXRub3RlcXVhbD04ODQyO2Uuc3Vic2V0b3JlcXVhbD04ODM4O2Uuc3VjY2VlZHM9ODgyNztlLnN1Y2h0aGF0PTg3MTU7ZS5zdWhpcmFnYW5hPTEyMzc3O2Uuc3VrYXRha2FuYT0xMjQ3MztlLnN1a2F0YWthbmFoYWxmd2lkdGg9NjU0MDU7ZS5zdWt1bmFyYWJpYz0xNjE4O2Uuc3VtbWF0aW9uPTg3MjE7ZS5zdW49OTc4ODtlLnN1cGVyc2V0PTg4MzU7ZS5zdXBlcnNldG5vdGVxdWFsPTg4NDM7ZS5zdXBlcnNldG9yZXF1YWw9ODgzOTtlLnN2c3F1YXJlPTEzMjc2O2Uuc3lvdXdhZXJhc3F1YXJlPTEzMTgwO2UudD0xMTY7ZS50YWJlbmdhbGk9MjQ2ODtlLnRhY2tkb3duPTg4Njg7ZS50YWNrbGVmdD04ODY3O2UudGFkZXZhPTIzNDA7ZS50YWd1amFyYXRpPTI3MjQ7ZS50YWd1cm11a2hpPTI1OTY7ZS50YWhhcmFiaWM9MTU5MTtlLnRhaGZpbmFsYXJhYmljPTY1MjE4O2UudGFoaW5pdGlhbGFyYWJpYz02NTIxOTtlLnRhaGlyYWdhbmE9MTIzODM7ZS50YWhtZWRpYWxhcmFiaWM9NjUyMjA7ZS50YWlzeW91ZXJhc3F1YXJlPTEzMTgxO2UudGFrYXRha2FuYT0xMjQ3OTtlLnRha2F0YWthbmFoYWxmd2lkdGg9NjU0MDg7ZS50YXR3ZWVsYXJhYmljPTE2MDA7ZS50YXU9OTY0O2UudGF2PTE1MTQ7ZS50YXZkYWdlcz02NDMzMDtlLnRhdmRhZ2VzaD02NDMzMDtlLnRhdmRhZ2VzaGhlYnJldz02NDMzMDtlLnRhdmhlYnJldz0xNTE0O2UudGJhcj0zNTk7ZS50Ym9wb21vZm89MTI1NTQ7ZS50Y2Fyb249MzU3O2UudGNjdXJsPTY4MDtlLnRjZWRpbGxhPTM1NTtlLnRjaGVoYXJhYmljPTE2NzA7ZS50Y2hlaGZpbmFsYXJhYmljPTY0Mzc5O2UudGNoZWhpbml0aWFsYXJhYmljPTY0MzgwO2UudGNoZWhtZWRpYWxhcmFiaWM9NjQzODE7ZS50Y2lyY2xlPTk0NDM7ZS50Y2lyY3VtZmxleGJlbG93PTc3OTM7ZS50Y29tbWFhY2NlbnQ9MzU1O2UudGRpZXJlc2lzPTc4MzE7ZS50ZG90YWNjZW50PTc3ODc7ZS50ZG90YmVsb3c9Nzc4OTtlLnRlY3lyaWxsaWM9MTA5MDtlLnRlZGVzY2VuZGVyY3lyaWxsaWM9MTE5NztlLnRlaGFyYWJpYz0xNTc4O2UudGVoZmluYWxhcmFiaWM9NjUxNzQ7ZS50ZWhoYWhpbml0aWFsYXJhYmljPTY0Njc0O2UudGVoaGFoaXNvbGF0ZWRhcmFiaWM9NjQ1MjQ7ZS50ZWhpbml0aWFsYXJhYmljPTY1MTc1O2UudGVoaXJhZ2FuYT0xMjM5MDtlLnRlaGplZW1pbml0aWFsYXJhYmljPTY0NjczO2UudGVoamVlbWlzb2xhdGVkYXJhYmljPTY0NTIzO2UudGVobWFyYnV0YWFyYWJpYz0xNTc3O2UudGVobWFyYnV0YWZpbmFsYXJhYmljPTY1MTcyO2UudGVobWVkaWFsYXJhYmljPTY1MTc2O2UudGVobWVlbWluaXRpYWxhcmFiaWM9NjQ2NzY7ZS50ZWhtZWVtaXNvbGF0ZWRhcmFiaWM9NjQ1MjY7ZS50ZWhub29uZmluYWxhcmFiaWM9NjQ2Mjc7ZS50ZWthdGFrYW5hPTEyNDg2O2UudGVrYXRha2FuYWhhbGZ3aWR0aD02NTQxMTtlLnRlbGVwaG9uZT04NDgxO2UudGVsZXBob25lYmxhY2s9OTc0MjtlLnRlbGlzaGFnZWRvbGFoZWJyZXc9MTQ0MDtlLnRlbGlzaGFxZXRhbmFoZWJyZXc9MTQ0OTtlLnRlbmNpcmNsZT05MzIxO2UudGVuaWRlb2dyYXBoaWNwYXJlbj0xMjg0MTtlLnRlbnBhcmVuPTkzNDE7ZS50ZW5wZXJpb2Q9OTM2MTtlLnRlbnJvbWFuPTg1Njk7ZS50ZXNoPTY3OTtlLnRldD0xNDk2O2UudGV0ZGFnZXNoPTY0MzEyO2UudGV0ZGFnZXNoaGVicmV3PTY0MzEyO2UudGV0aGVicmV3PTE0OTY7ZS50ZXRzZWN5cmlsbGljPTEyMDU7ZS50ZXZpcmhlYnJldz0xNDM1O2UudGV2aXJsZWZ0aGVicmV3PTE0MzU7ZS50aGFiZW5nYWxpPTI0Njk7ZS50aGFkZXZhPTIzNDE7ZS50aGFndWphcmF0aT0yNzI1O2UudGhhZ3VybXVraGk9MjU5NztlLnRoYWxhcmFiaWM9MTU4NDtlLnRoYWxmaW5hbGFyYWJpYz02NTE5NjtlLnRoYW50aGFraGF0bG93bGVmdHRoYWk9NjM2NDA7ZS50aGFudGhha2hhdGxvd3JpZ2h0dGhhaT02MzYzOTtlLnRoYW50aGFraGF0dGhhaT0zNjYwO2UudGhhbnRoYWtoYXR1cHBlcmxlZnR0aGFpPTYzNjM4O2UudGhlaGFyYWJpYz0xNTc5O2UudGhlaGZpbmFsYXJhYmljPTY1MTc4O2UudGhlaGluaXRpYWxhcmFiaWM9NjUxNzk7ZS50aGVobWVkaWFsYXJhYmljPTY1MTgwO2UudGhlcmVleGlzdHM9ODcwNztlLnRoZXJlZm9yZT04NzU2O2UudGhldGE9OTUyO2UudGhldGExPTk3NztlLnRoZXRhc3ltYm9sZ3JlZWs9OTc3O2UudGhpZXV0aGFjaXJjbGVrb3JlYW49MTI5MjE7ZS50aGlldXRoYXBhcmVua29yZWFuPTEyODI1O2UudGhpZXV0aGNpcmNsZWtvcmVhbj0xMjkwNztlLnRoaWV1dGhrb3JlYW49MTI2MjA7ZS50aGlldXRocGFyZW5rb3JlYW49MTI4MTE7ZS50aGlydGVlbmNpcmNsZT05MzI0O2UudGhpcnRlZW5wYXJlbj05MzQ0O2UudGhpcnRlZW5wZXJpb2Q9OTM2NDtlLnRob25hbmdtb250aG90aGFpPTM2MDE7ZS50aG9vaz00Mjk7ZS50aG9waHV0aGFvdGhhaT0zNjAyO2UudGhvcm49MjU0O2UudGhvdGhhaGFudGhhaT0zNjA3O2UudGhvdGhhbnRoYWk9MzYwMDtlLnRob3Rob25ndGhhaT0zNjA4O2UudGhvdGh1bmd0aGFpPTM2MDY7ZS50aG91c2FuZGN5cmlsbGljPTExNTQ7ZS50aG91c2FuZHNzZXBhcmF0b3JhcmFiaWM9MTY0NDtlLnRob3VzYW5kc3NlcGFyYXRvcnBlcnNpYW49MTY0NDtlLnRocmVlPTUxO2UudGhyZWVhcmFiaWM9MTYzNTtlLnRocmVlYmVuZ2FsaT0yNTM3O2UudGhyZWVjaXJjbGU9OTMxNDtlLnRocmVlY2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyNDtlLnRocmVlZGV2YT0yNDA5O2UudGhyZWVlaWdodGhzPTg1NDA7ZS50aHJlZWd1amFyYXRpPTI3OTM7ZS50aHJlZWd1cm11a2hpPTI2NjU7ZS50aHJlZWhhY2thcmFiaWM9MTYzNTtlLnRocmVlaGFuZ3pob3U9MTIzMjM7ZS50aHJlZWlkZW9ncmFwaGljcGFyZW49MTI4MzQ7ZS50aHJlZWluZmVyaW9yPTgzMjM7ZS50aHJlZW1vbm9zcGFjZT02NTI5OTtlLnRocmVlbnVtZXJhdG9yYmVuZ2FsaT0yNTUwO2UudGhyZWVvbGRzdHlsZT02MzI4MztlLnRocmVlcGFyZW49OTMzNDtlLnRocmVlcGVyaW9kPTkzNTQ7ZS50aHJlZXBlcnNpYW49MTc3OTtlLnRocmVlcXVhcnRlcnM9MTkwO2UudGhyZWVxdWFydGVyc2VtZGFzaD02MzE5ODtlLnRocmVlcm9tYW49ODU2MjtlLnRocmVlc3VwZXJpb3I9MTc5O2UudGhyZWV0aGFpPTM2Njc7ZS50aHpzcXVhcmU9MTMyMDQ7ZS50aWhpcmFnYW5hPTEyMzg1O2UudGlrYXRha2FuYT0xMjQ4MTtlLnRpa2F0YWthbmFoYWxmd2lkdGg9NjU0MDk7ZS50aWtldXRhY2lyY2xla29yZWFuPTEyOTEyO2UudGlrZXV0YXBhcmVua29yZWFuPTEyODE2O2UudGlrZXV0Y2lyY2xla29yZWFuPTEyODk4O2UudGlrZXV0a29yZWFuPTEyNTk5O2UudGlrZXV0cGFyZW5rb3JlYW49MTI4MDI7ZS50aWxkZT03MzI7ZS50aWxkZWJlbG93Y21iPTgxNjtlLnRpbGRlY21iPTc3MTtlLnRpbGRlY29tYj03NzE7ZS50aWxkZWRvdWJsZWNtYj04NjQ7ZS50aWxkZW9wZXJhdG9yPTg3NjQ7ZS50aWxkZW92ZXJsYXljbWI9ODIwO2UudGlsZGV2ZXJ0aWNhbGNtYj04MzA7ZS50aW1lc2NpcmNsZT04ODU1O2UudGlwZWhhaGVicmV3PTE0MzA7ZS50aXBlaGFsZWZ0aGVicmV3PTE0MzA7ZS50aXBwaWd1cm11a2hpPTI2NzI7ZS50aXRsb2N5cmlsbGljY21iPTExNTU7ZS50aXduYXJtZW5pYW49MTQwNztlLnRsaW5lYmVsb3c9Nzc5MTtlLnRtb25vc3BhY2U9NjUzNjQ7ZS50b2FybWVuaWFuPTEzODU7ZS50b2hpcmFnYW5hPTEyMzkyO2UudG9rYXRha2FuYT0xMjQ4ODtlLnRva2F0YWthbmFoYWxmd2lkdGg9NjU0MTI7ZS50b25lYmFyZXh0cmFoaWdobW9kPTc0MTtlLnRvbmViYXJleHRyYWxvd21vZD03NDU7ZS50b25lYmFyaGlnaG1vZD03NDI7ZS50b25lYmFybG93bW9kPTc0NDtlLnRvbmViYXJtaWRtb2Q9NzQzO2UudG9uZWZpdmU9NDQ1O2UudG9uZXNpeD0zODk7ZS50b25ldHdvPTQyNDtlLnRvbm9zPTkwMDtlLnRvbnNxdWFyZT0xMzA5NTtlLnRvcGF0YWt0aGFpPTM1OTk7ZS50b3J0b2lzZXNoZWxsYnJhY2tldGxlZnQ9MTIzMDg7ZS50b3J0b2lzZXNoZWxsYnJhY2tldGxlZnRzbWFsbD02NTExNztlLnRvcnRvaXNlc2hlbGxicmFja2V0bGVmdHZlcnRpY2FsPTY1MDgxO2UudG9ydG9pc2VzaGVsbGJyYWNrZXRyaWdodD0xMjMwOTtlLnRvcnRvaXNlc2hlbGxicmFja2V0cmlnaHRzbWFsbD02NTExODtlLnRvcnRvaXNlc2hlbGxicmFja2V0cmlnaHR2ZXJ0aWNhbD02NTA4MjtlLnRvdGFvdGhhaT0zNjA1O2UudHBhbGF0YWxob29rPTQyNztlLnRwYXJlbj05MzkxO2UudHJhZGVtYXJrPTg0ODI7ZS50cmFkZW1hcmtzYW5zPTYzNzIyO2UudHJhZGVtYXJrc2VyaWY9NjMxOTU7ZS50cmV0cm9mbGV4aG9vaz02NDg7ZS50cmlhZ2RuPTk2NjA7ZS50cmlhZ2xmPTk2Njg7ZS50cmlhZ3J0PTk2NTg7ZS50cmlhZ3VwPTk2NTA7ZS50cz02Nzg7ZS50c2FkaT0xNTEwO2UudHNhZGlkYWdlc2g9NjQzMjY7ZS50c2FkaWRhZ2VzaGhlYnJldz02NDMyNjtlLnRzYWRpaGVicmV3PTE1MTA7ZS50c2VjeXJpbGxpYz0xMDk0O2UudHNlcmU9MTQ2MTtlLnRzZXJlMTI9MTQ2MTtlLnRzZXJlMWU9MTQ2MTtlLnRzZXJlMmI9MTQ2MTtlLnRzZXJlaGVicmV3PTE0NjE7ZS50c2VyZW5hcnJvd2hlYnJldz0xNDYxO2UudHNlcmVxdWFydGVyaGVicmV3PTE0NjE7ZS50c2VyZXdpZGVoZWJyZXc9MTQ2MTtlLnRzaGVjeXJpbGxpYz0xMTE1O2UudHN1cGVyaW9yPTYzMjE5O2UudHRhYmVuZ2FsaT0yNDYzO2UudHRhZGV2YT0yMzM1O2UudHRhZ3VqYXJhdGk9MjcxOTtlLnR0YWd1cm11a2hpPTI1OTE7ZS50dGVoYXJhYmljPTE2NTc7ZS50dGVoZmluYWxhcmFiaWM9NjQzNTk7ZS50dGVoaW5pdGlhbGFyYWJpYz02NDM2MDtlLnR0ZWhtZWRpYWxhcmFiaWM9NjQzNjE7ZS50dGhhYmVuZ2FsaT0yNDY0O2UudHRoYWRldmE9MjMzNjtlLnR0aGFndWphcmF0aT0yNzIwO2UudHRoYWd1cm11a2hpPTI1OTI7ZS50dHVybmVkPTY0NztlLnR1aGlyYWdhbmE9MTIzODg7ZS50dWthdGFrYW5hPTEyNDg0O2UudHVrYXRha2FuYWhhbGZ3aWR0aD02NTQxMDtlLnR1c21hbGxoaXJhZ2FuYT0xMjM4NztlLnR1c21hbGxrYXRha2FuYT0xMjQ4MztlLnR1c21hbGxrYXRha2FuYWhhbGZ3aWR0aD02NTM5MTtlLnR3ZWx2ZWNpcmNsZT05MzIzO2UudHdlbHZlcGFyZW49OTM0MztlLnR3ZWx2ZXBlcmlvZD05MzYzO2UudHdlbHZlcm9tYW49ODU3MTtlLnR3ZW50eWNpcmNsZT05MzMxO2UudHdlbnR5aGFuZ3pob3U9MjEzMTY7ZS50d2VudHlwYXJlbj05MzUxO2UudHdlbnR5cGVyaW9kPTkzNzE7ZS50d289NTA7ZS50d29hcmFiaWM9MTYzNDtlLnR3b2JlbmdhbGk9MjUzNjtlLnR3b2NpcmNsZT05MzEzO2UudHdvY2lyY2xlaW52ZXJzZXNhbnNzZXJpZj0xMDEyMztlLnR3b2RldmE9MjQwODtlLnR3b2RvdGVubGVhZGVyPTgyMjk7ZS50d29kb3RsZWFkZXI9ODIyOTtlLnR3b2RvdGxlYWRlcnZlcnRpY2FsPTY1MDcyO2UudHdvZ3VqYXJhdGk9Mjc5MjtlLnR3b2d1cm11a2hpPTI2NjQ7ZS50d29oYWNrYXJhYmljPTE2MzQ7ZS50d29oYW5nemhvdT0xMjMyMjtlLnR3b2lkZW9ncmFwaGljcGFyZW49MTI4MzM7ZS50d29pbmZlcmlvcj04MzIyO2UudHdvbW9ub3NwYWNlPTY1Mjk4O2UudHdvbnVtZXJhdG9yYmVuZ2FsaT0yNTQ5O2UudHdvb2xkc3R5bGU9NjMyODI7ZS50d29wYXJlbj05MzMzO2UudHdvcGVyaW9kPTkzNTM7ZS50d29wZXJzaWFuPTE3Nzg7ZS50d29yb21hbj04NTYxO2UudHdvc3Ryb2tlPTQ0MztlLnR3b3N1cGVyaW9yPTE3ODtlLnR3b3RoYWk9MzY2NjtlLnR3b3RoaXJkcz04NTMyO2UudT0xMTc7ZS51YWN1dGU9MjUwO2UudWJhcj02NDk7ZS51YmVuZ2FsaT0yNDQxO2UudWJvcG9tb2ZvPTEyNTg0O2UudWJyZXZlPTM2NTtlLnVjYXJvbj00Njg7ZS51Y2lyY2xlPTk0NDQ7ZS51Y2lyY3VtZmxleD0yNTE7ZS51Y2lyY3VtZmxleGJlbG93PTc3OTk7ZS51Y3lyaWxsaWM9MTA5MTtlLnVkYXR0YWRldmE9MjM4NTtlLnVkYmxhY3V0ZT0zNjk7ZS51ZGJsZ3JhdmU9NTMzO2UudWRldmE9MjMxMztlLnVkaWVyZXNpcz0yNTI7ZS51ZGllcmVzaXNhY3V0ZT00NzI7ZS51ZGllcmVzaXNiZWxvdz03Nzk1O2UudWRpZXJlc2lzY2Fyb249NDc0O2UudWRpZXJlc2lzY3lyaWxsaWM9MTI2NTtlLnVkaWVyZXNpc2dyYXZlPTQ3NjtlLnVkaWVyZXNpc21hY3Jvbj00NzA7ZS51ZG90YmVsb3c9NzkwOTtlLnVncmF2ZT0yNDk7ZS51Z3VqYXJhdGk9MjY5NztlLnVndXJtdWtoaT0yNTY5O2UudWhpcmFnYW5hPTEyMzU4O2UudWhvb2thYm92ZT03OTExO2UudWhvcm49NDMyO2UudWhvcm5hY3V0ZT03OTEzO2UudWhvcm5kb3RiZWxvdz03OTIxO2UudWhvcm5ncmF2ZT03OTE1O2UudWhvcm5ob29rYWJvdmU9NzkxNztlLnVob3JudGlsZGU9NzkxOTtlLnVodW5nYXJ1bWxhdXQ9MzY5O2UudWh1bmdhcnVtbGF1dGN5cmlsbGljPTEyNjc7ZS51aW52ZXJ0ZWRicmV2ZT01MzU7ZS51a2F0YWthbmE9MTI0NTQ7ZS51a2F0YWthbmFoYWxmd2lkdGg9NjUzOTU7ZS51a2N5cmlsbGljPTExNDU7ZS51a29yZWFuPTEyNjM2O2UudW1hY3Jvbj0zNjM7ZS51bWFjcm9uY3lyaWxsaWM9MTI2MztlLnVtYWNyb25kaWVyZXNpcz03ODAzO2UudW1hdHJhZ3VybXVraGk9MjYyNTtlLnVtb25vc3BhY2U9NjUzNjU7ZS51bmRlcnNjb3JlPTk1O2UudW5kZXJzY29yZWRibD04MjE1O2UudW5kZXJzY29yZW1vbm9zcGFjZT02NTM0MztlLnVuZGVyc2NvcmV2ZXJ0aWNhbD02NTA3NTtlLnVuZGVyc2NvcmV3YXZ5PTY1MTAzO2UudW5pb249ODc0NjtlLnVuaXZlcnNhbD04NzA0O2UudW9nb25laz0zNzE7ZS51cGFyZW49OTM5MjtlLnVwYmxvY2s9OTYwMDtlLnVwcGVyZG90aGVicmV3PTE0NzY7ZS51cHNpbG9uPTk2NTtlLnVwc2lsb25kaWVyZXNpcz05NzE7ZS51cHNpbG9uZGllcmVzaXN0b25vcz05NDQ7ZS51cHNpbG9ubGF0aW49NjUwO2UudXBzaWxvbnRvbm9zPTk3MztlLnVwdGFja2JlbG93Y21iPTc5NztlLnVwdGFja21vZD03MjQ7ZS51cmFndXJtdWtoaT0yNjc1O2UudXJpbmc9MzY3O2UudXNob3J0Y3lyaWxsaWM9MTExODtlLnVzbWFsbGhpcmFnYW5hPTEyMzU3O2UudXNtYWxsa2F0YWthbmE9MTI0NTM7ZS51c21hbGxrYXRha2FuYWhhbGZ3aWR0aD02NTM4NTtlLnVzdHJhaWdodGN5cmlsbGljPTExOTk7ZS51c3RyYWlnaHRzdHJva2VjeXJpbGxpYz0xMjAxO2UudXRpbGRlPTM2MTtlLnV0aWxkZWFjdXRlPTc4MDE7ZS51dGlsZGViZWxvdz03Nzk3O2UudXViZW5nYWxpPTI0NDI7ZS51dWRldmE9MjMxNDtlLnV1Z3VqYXJhdGk9MjY5ODtlLnV1Z3VybXVraGk9MjU3MDtlLnV1bWF0cmFndXJtdWtoaT0yNjI2O2UudXV2b3dlbHNpZ25iZW5nYWxpPTI0OTg7ZS51dXZvd2Vsc2lnbmRldmE9MjM3MDtlLnV1dm93ZWxzaWduZ3VqYXJhdGk9Mjc1NDtlLnV2b3dlbHNpZ25iZW5nYWxpPTI0OTc7ZS51dm93ZWxzaWduZGV2YT0yMzY5O2UudXZvd2Vsc2lnbmd1amFyYXRpPTI3NTM7ZS52PTExODtlLnZhZGV2YT0yMzU3O2UudmFndWphcmF0aT0yNzQxO2UudmFndXJtdWtoaT0yNjEzO2UudmFrYXRha2FuYT0xMjUzNTtlLnZhdj0xNDkzO2UudmF2ZGFnZXNoPTY0MzA5O2UudmF2ZGFnZXNoNjU9NjQzMDk7ZS52YXZkYWdlc2hoZWJyZXc9NjQzMDk7ZS52YXZoZWJyZXc9MTQ5MztlLnZhdmhvbGFtPTY0MzMxO2UudmF2aG9sYW1oZWJyZXc9NjQzMzE7ZS52YXZ2YXZoZWJyZXc9MTUyMDtlLnZhdnlvZGhlYnJldz0xNTIxO2UudmNpcmNsZT05NDQ1O2UudmRvdGJlbG93PTc4MDc7ZS52ZWN5cmlsbGljPTEwNzQ7ZS52ZWhhcmFiaWM9MTcwMDtlLnZlaGZpbmFsYXJhYmljPTY0MzYzO2UudmVoaW5pdGlhbGFyYWJpYz02NDM2NDtlLnZlaG1lZGlhbGFyYWJpYz02NDM2NTtlLnZla2F0YWthbmE9MTI1Mzc7ZS52ZW51cz05NzkyO2UudmVydGljYWxiYXI9MTI0O2UudmVydGljYWxsaW5lYWJvdmVjbWI9NzgxO2UudmVydGljYWxsaW5lYmVsb3djbWI9ODA5O2UudmVydGljYWxsaW5lbG93bW9kPTcxNjtlLnZlcnRpY2FsbGluZW1vZD03MTI7ZS52ZXdhcm1lbmlhbj0xNDA2O2Uudmhvb2s9NjUxO2UudmlrYXRha2FuYT0xMjUzNjtlLnZpcmFtYWJlbmdhbGk9MjUwOTtlLnZpcmFtYWRldmE9MjM4MTtlLnZpcmFtYWd1amFyYXRpPTI3NjU7ZS52aXNhcmdhYmVuZ2FsaT0yNDM1O2UudmlzYXJnYWRldmE9MjMwNztlLnZpc2FyZ2FndWphcmF0aT0yNjkxO2Uudm1vbm9zcGFjZT02NTM2NjtlLnZvYXJtZW5pYW49MTQwMDtlLnZvaWNlZGl0ZXJhdGlvbmhpcmFnYW5hPTEyNDQ2O2Uudm9pY2VkaXRlcmF0aW9ua2F0YWthbmE9MTI1NDI7ZS52b2ljZWRtYXJra2FuYT0xMjQ0MztlLnZvaWNlZG1hcmtrYW5haGFsZndpZHRoPTY1NDM4O2Uudm9rYXRha2FuYT0xMjUzODtlLnZwYXJlbj05MzkzO2UudnRpbGRlPTc4MDU7ZS52dHVybmVkPTY1MjtlLnZ1aGlyYWdhbmE9MTI0MzY7ZS52dWthdGFrYW5hPTEyNTMyO2Uudz0xMTk7ZS53YWN1dGU9NzgxMTtlLndhZWtvcmVhbj0xMjYzMztlLndhaGlyYWdhbmE9MTI0MzE7ZS53YWthdGFrYW5hPTEyNTI3O2Uud2FrYXRha2FuYWhhbGZ3aWR0aD02NTQzNjtlLndha29yZWFuPTEyNjMyO2Uud2FzbWFsbGhpcmFnYW5hPTEyNDMwO2Uud2FzbWFsbGthdGFrYW5hPTEyNTI2O2Uud2F0dG9zcXVhcmU9MTMxNDM7ZS53YXZlZGFzaD0xMjMxNjtlLndhdnl1bmRlcnNjb3JldmVydGljYWw9NjUwNzY7ZS53YXdhcmFiaWM9MTYwODtlLndhd2ZpbmFsYXJhYmljPTY1MjYyO2Uud2F3aGFtemFhYm92ZWFyYWJpYz0xNTcyO2Uud2F3aGFtemFhYm92ZWZpbmFsYXJhYmljPTY1MTU4O2Uud2JzcXVhcmU9MTMyNzc7ZS53Y2lyY2xlPTk0NDY7ZS53Y2lyY3VtZmxleD0zNzM7ZS53ZGllcmVzaXM9NzgxMztlLndkb3RhY2NlbnQ9NzgxNTtlLndkb3RiZWxvdz03ODE3O2Uud2VoaXJhZ2FuYT0xMjQzMztlLndlaWVyc3RyYXNzPTg0NzI7ZS53ZWthdGFrYW5hPTEyNTI5O2Uud2Vrb3JlYW49MTI2Mzg7ZS53ZW9rb3JlYW49MTI2Mzc7ZS53Z3JhdmU9NzgwOTtlLndoaXRlYnVsbGV0PTk3MDI7ZS53aGl0ZWNpcmNsZT05Njc1O2Uud2hpdGVjaXJjbGVpbnZlcnNlPTk2ODk7ZS53aGl0ZWNvcm5lcmJyYWNrZXRsZWZ0PTEyMzAyO2Uud2hpdGVjb3JuZXJicmFja2V0bGVmdHZlcnRpY2FsPTY1MDkxO2Uud2hpdGVjb3JuZXJicmFja2V0cmlnaHQ9MTIzMDM7ZS53aGl0ZWNvcm5lcmJyYWNrZXRyaWdodHZlcnRpY2FsPTY1MDkyO2Uud2hpdGVkaWFtb25kPTk2NzE7ZS53aGl0ZWRpYW1vbmRjb250YWluaW5nYmxhY2tzbWFsbGRpYW1vbmQ9OTY3MjtlLndoaXRlZG93bnBvaW50aW5nc21hbGx0cmlhbmdsZT05NjYzO2Uud2hpdGVkb3ducG9pbnRpbmd0cmlhbmdsZT05NjYxO2Uud2hpdGVsZWZ0cG9pbnRpbmdzbWFsbHRyaWFuZ2xlPTk2Njc7ZS53aGl0ZWxlZnRwb2ludGluZ3RyaWFuZ2xlPTk2NjU7ZS53aGl0ZWxlbnRpY3VsYXJicmFja2V0bGVmdD0xMjMxMDtlLndoaXRlbGVudGljdWxhcmJyYWNrZXRyaWdodD0xMjMxMTtlLndoaXRlcmlnaHRwb2ludGluZ3NtYWxsdHJpYW5nbGU9OTY1NztlLndoaXRlcmlnaHRwb2ludGluZ3RyaWFuZ2xlPTk2NTU7ZS53aGl0ZXNtYWxsc3F1YXJlPTk2NDM7ZS53aGl0ZXNtaWxpbmdmYWNlPTk3ODY7ZS53aGl0ZXNxdWFyZT05NjMzO2Uud2hpdGVzdGFyPTk3MzQ7ZS53aGl0ZXRlbGVwaG9uZT05NzQzO2Uud2hpdGV0b3J0b2lzZXNoZWxsYnJhY2tldGxlZnQ9MTIzMTI7ZS53aGl0ZXRvcnRvaXNlc2hlbGxicmFja2V0cmlnaHQ9MTIzMTM7ZS53aGl0ZXVwcG9pbnRpbmdzbWFsbHRyaWFuZ2xlPTk2NTM7ZS53aGl0ZXVwcG9pbnRpbmd0cmlhbmdsZT05NjUxO2Uud2loaXJhZ2FuYT0xMjQzMjtlLndpa2F0YWthbmE9MTI1Mjg7ZS53aWtvcmVhbj0xMjYzOTtlLndtb25vc3BhY2U9NjUzNjc7ZS53b2hpcmFnYW5hPTEyNDM0O2Uud29rYXRha2FuYT0xMjUzMDtlLndva2F0YWthbmFoYWxmd2lkdGg9NjUzODI7ZS53b249ODM2MTtlLndvbm1vbm9zcGFjZT02NTUxMDtlLndvd2FlbnRoYWk9MzYyMztlLndwYXJlbj05Mzk0O2Uud3Jpbmc9NzgzMjtlLndzdXBlcmlvcj02OTU7ZS53dHVybmVkPTY1MztlLnd5bm49NDQ3O2UueD0xMjA7ZS54YWJvdmVjbWI9ODI5O2UueGJvcG9tb2ZvPTEyNTYyO2UueGNpcmNsZT05NDQ3O2UueGRpZXJlc2lzPTc4MjE7ZS54ZG90YWNjZW50PTc4MTk7ZS54ZWhhcm1lbmlhbj0xMzg5O2UueGk9OTU4O2UueG1vbm9zcGFjZT02NTM2ODtlLnhwYXJlbj05Mzk1O2UueHN1cGVyaW9yPTczOTtlLnk9MTIxO2UueWFhZG9zcXVhcmU9MTMxMzQ7ZS55YWJlbmdhbGk9MjQ3OTtlLnlhY3V0ZT0yNTM7ZS55YWRldmE9MjM1MTtlLnlhZWtvcmVhbj0xMjYyNjtlLnlhZ3VqYXJhdGk9MjczNTtlLnlhZ3VybXVraGk9MjYwNztlLnlhaGlyYWdhbmE9MTI0MjA7ZS55YWthdGFrYW5hPTEyNTE2O2UueWFrYXRha2FuYWhhbGZ3aWR0aD02NTQyODtlLnlha29yZWFuPTEyNjI1O2UueWFtYWtrYW50aGFpPTM2NjI7ZS55YXNtYWxsaGlyYWdhbmE9MTI0MTk7ZS55YXNtYWxsa2F0YWthbmE9MTI1MTU7ZS55YXNtYWxsa2F0YWthbmFoYWxmd2lkdGg9NjUzODg7ZS55YXRjeXJpbGxpYz0xMTIzO2UueWNpcmNsZT05NDQ4O2UueWNpcmN1bWZsZXg9Mzc1O2UueWRpZXJlc2lzPTI1NTtlLnlkb3RhY2NlbnQ9NzgyMztlLnlkb3RiZWxvdz03OTI1O2UueWVoYXJhYmljPTE2MTA7ZS55ZWhiYXJyZWVhcmFiaWM9MTc0NjtlLnllaGJhcnJlZWZpbmFsYXJhYmljPTY0NDMxO2UueWVoZmluYWxhcmFiaWM9NjUyNjY7ZS55ZWhoYW16YWFib3ZlYXJhYmljPTE1NzQ7ZS55ZWhoYW16YWFib3ZlZmluYWxhcmFiaWM9NjUxNjI7ZS55ZWhoYW16YWFib3ZlaW5pdGlhbGFyYWJpYz02NTE2MztlLnllaGhhbXphYWJvdmVtZWRpYWxhcmFiaWM9NjUxNjQ7ZS55ZWhpbml0aWFsYXJhYmljPTY1MjY3O2UueWVobWVkaWFsYXJhYmljPTY1MjY4O2UueWVobWVlbWluaXRpYWxhcmFiaWM9NjQ3MzM7ZS55ZWhtZWVtaXNvbGF0ZWRhcmFiaWM9NjQ2MDA7ZS55ZWhub29uZmluYWxhcmFiaWM9NjQ2NjA7ZS55ZWh0aHJlZWRvdHNiZWxvd2FyYWJpYz0xNzQ1O2UueWVrb3JlYW49MTI2MzA7ZS55ZW49MTY1O2UueWVubW9ub3NwYWNlPTY1NTA5O2UueWVva29yZWFuPTEyNjI5O2UueWVvcmluaGlldWhrb3JlYW49MTI2Nzg7ZS55ZXJhaGJlbnlvbW9oZWJyZXc9MTQ1MDtlLnllcmFoYmVueW9tb2xlZnRoZWJyZXc9MTQ1MDtlLnllcmljeXJpbGxpYz0xMDk5O2UueWVydWRpZXJlc2lzY3lyaWxsaWM9MTI3MztlLnllc2lldW5na29yZWFuPTEyNjczO2UueWVzaWV1bmdwYW5zaW9za29yZWFuPTEyNjc1O2UueWVzaWV1bmdzaW9za29yZWFuPTEyNjc0O2UueWV0aXZoZWJyZXc9MTQzNDtlLnlncmF2ZT03OTIzO2UueWhvb2s9NDM2O2UueWhvb2thYm92ZT03OTI3O2UueWlhcm1lbmlhbj0xMzk3O2UueWljeXJpbGxpYz0xMTExO2UueWlrb3JlYW49MTI2NDI7ZS55aW55YW5nPTk3NzU7ZS55aXduYXJtZW5pYW49MTQxMDtlLnltb25vc3BhY2U9NjUzNjk7ZS55b2Q9MTQ5NztlLnlvZGRhZ2VzaD02NDMxMztlLnlvZGRhZ2VzaGhlYnJldz02NDMxMztlLnlvZGhlYnJldz0xNDk3O2UueW9keW9kaGVicmV3PTE1MjI7ZS55b2R5b2RwYXRhaGhlYnJldz02NDI4NztlLnlvaGlyYWdhbmE9MTI0MjQ7ZS55b2lrb3JlYW49MTI2ODE7ZS55b2thdGFrYW5hPTEyNTIwO2UueW9rYXRha2FuYWhhbGZ3aWR0aD02NTQzMDtlLnlva29yZWFuPTEyNjM1O2UueW9zbWFsbGhpcmFnYW5hPTEyNDIzO2UueW9zbWFsbGthdGFrYW5hPTEyNTE5O2UueW9zbWFsbGthdGFrYW5haGFsZndpZHRoPTY1MzkwO2UueW90Z3JlZWs9MTAxMTtlLnlveWFla29yZWFuPTEyNjgwO2UueW95YWtvcmVhbj0xMjY3OTtlLnlveWFrdGhhaT0zNjE4O2UueW95aW5ndGhhaT0zNTk3O2UueXBhcmVuPTkzOTY7ZS55cG9nZWdyYW1tZW5pPTg5MDtlLnlwb2dlZ3JhbW1lbmlncmVla2NtYj04Mzc7ZS55cj00MjI7ZS55cmluZz03ODMzO2UueXN1cGVyaW9yPTY5NjtlLnl0aWxkZT03OTI5O2UueXR1cm5lZD02NTQ7ZS55dWhpcmFnYW5hPTEyNDIyO2UueXVpa29yZWFuPTEyNjg0O2UueXVrYXRha2FuYT0xMjUxODtlLnl1a2F0YWthbmFoYWxmd2lkdGg9NjU0Mjk7ZS55dWtvcmVhbj0xMjY0MDtlLnl1c2JpZ2N5cmlsbGljPTExMzE7ZS55dXNiaWdpb3RpZmllZGN5cmlsbGljPTExMzM7ZS55dXNsaXR0bGVjeXJpbGxpYz0xMTI3O2UueXVzbGl0dGxlaW90aWZpZWRjeXJpbGxpYz0xMTI5O2UueXVzbWFsbGhpcmFnYW5hPTEyNDIxO2UueXVzbWFsbGthdGFrYW5hPTEyNTE3O2UueXVzbWFsbGthdGFrYW5haGFsZndpZHRoPTY1Mzg5O2UueXV5ZWtvcmVhbj0xMjY4MztlLnl1eWVva29yZWFuPTEyNjgyO2UueXlhYmVuZ2FsaT0yNTI3O2UueXlhZGV2YT0yMzk5O2Uuej0xMjI7ZS56YWFybWVuaWFuPTEzODI7ZS56YWN1dGU9Mzc4O2UuemFkZXZhPTIzOTU7ZS56YWd1cm11a2hpPTI2NTE7ZS56YWhhcmFiaWM9MTU5MjtlLnphaGZpbmFsYXJhYmljPTY1MjIyO2UuemFoaW5pdGlhbGFyYWJpYz02NTIyMztlLnphaGlyYWdhbmE9MTIzNzQ7ZS56YWhtZWRpYWxhcmFiaWM9NjUyMjQ7ZS56YWluYXJhYmljPTE1ODY7ZS56YWluZmluYWxhcmFiaWM9NjUyMDA7ZS56YWthdGFrYW5hPTEyNDcwO2UuemFxZWZnYWRvbGhlYnJldz0xNDI5O2UuemFxZWZxYXRhbmhlYnJldz0xNDI4O2UuemFycWFoZWJyZXc9MTQzMjtlLnpheWluPTE0OTQ7ZS56YXlpbmRhZ2VzaD02NDMxMDtlLnpheWluZGFnZXNoaGVicmV3PTY0MzEwO2UuemF5aW5oZWJyZXc9MTQ5NDtlLnpib3BvbW9mbz0xMjU2NztlLnpjYXJvbj0zODI7ZS56Y2lyY2xlPTk0NDk7ZS56Y2lyY3VtZmxleD03ODI1O2UuemN1cmw9NjU3O2UuemRvdD0zODA7ZS56ZG90YWNjZW50PTM4MDtlLnpkb3RiZWxvdz03ODI3O2UuemVjeXJpbGxpYz0xMDc5O2UuemVkZXNjZW5kZXJjeXJpbGxpYz0xMTc3O2UuemVkaWVyZXNpc2N5cmlsbGljPTEyNDc7ZS56ZWhpcmFnYW5hPTEyMzgwO2UuemVrYXRha2FuYT0xMjQ3NjtlLnplcm89NDg7ZS56ZXJvYXJhYmljPTE2MzI7ZS56ZXJvYmVuZ2FsaT0yNTM0O2UuemVyb2RldmE9MjQwNjtlLnplcm9ndWphcmF0aT0yNzkwO2UuemVyb2d1cm11a2hpPTI2NjI7ZS56ZXJvaGFja2FyYWJpYz0xNjMyO2UuemVyb2luZmVyaW9yPTgzMjA7ZS56ZXJvbW9ub3NwYWNlPTY1Mjk2O2UuemVyb29sZHN0eWxlPTYzMjgwO2UuemVyb3BlcnNpYW49MTc3NjtlLnplcm9zdXBlcmlvcj04MzA0O2UuemVyb3RoYWk9MzY2NDtlLnplcm93aWR0aGpvaW5lcj02NTI3OTtlLnplcm93aWR0aG5vbmpvaW5lcj04MjA0O2UuemVyb3dpZHRoc3BhY2U9ODIwMztlLnpldGE9OTUwO2Uuemhib3BvbW9mbz0xMjU2MztlLnpoZWFybWVuaWFuPTEzODY7ZS56aGVicmV2ZWN5cmlsbGljPTEyMTg7ZS56aGVjeXJpbGxpYz0xMDc4O2UuemhlZGVzY2VuZGVyY3lyaWxsaWM9MTE3NTtlLnpoZWRpZXJlc2lzY3lyaWxsaWM9MTI0NTtlLnppaGlyYWdhbmE9MTIzNzY7ZS56aWthdGFrYW5hPTEyNDcyO2Uuemlub3JoZWJyZXc9MTQ1NDtlLnpsaW5lYmVsb3c9NzgyOTtlLnptb25vc3BhY2U9NjUzNzA7ZS56b2hpcmFnYW5hPTEyMzgyO2Uuem9rYXRha2FuYT0xMjQ3ODtlLnpwYXJlbj05Mzk3O2UuenJldHJvZmxleGhvb2s9NjU2O2UuenN0cm9rZT00Mzg7ZS56dWhpcmFnYW5hPTEyMzc4O2UuenVrYXRha2FuYT0xMjQ3NDtlWyIubm90ZGVmIl09MDtlLmFuZ2JyYWNrZXRsZWZ0YmlnPTkwMDE7ZS5hbmdicmFja2V0bGVmdEJpZz05MDAxO2UuYW5nYnJhY2tldGxlZnRiaWdnPTkwMDE7ZS5hbmdicmFja2V0bGVmdEJpZ2c9OTAwMTtlLmFuZ2JyYWNrZXRyaWdodEJpZz05MDAyO2UuYW5nYnJhY2tldHJpZ2h0YmlnPTkwMDI7ZS5hbmdicmFja2V0cmlnaHRCaWdnPTkwMDI7ZS5hbmdicmFja2V0cmlnaHRiaWdnPTkwMDI7ZS5hcnJvd2hvb2tsZWZ0PTg2MTg7ZS5hcnJvd2hvb2tyaWdodD04NjE3O2UuYXJyb3dsZWZ0dG9waGFsZj04NjM2O2UuYXJyb3dsZWZ0Ym90aGFsZj04NjM3O2UuYXJyb3dub3J0aGVhc3Q9ODU5OTtlLmFycm93bm9ydGh3ZXN0PTg1OTg7ZS5hcnJvd3JpZ2h0dG9waGFsZj04NjQwO2UuYXJyb3dyaWdodGJvdGhhbGY9ODY0MTtlLmFycm93c291dGhlYXN0PTg2MDA7ZS5hcnJvd3NvdXRod2VzdD04NjAxO2UuYmFja3NsYXNoYmlnPTg3MjY7ZS5iYWNrc2xhc2hCaWc9ODcyNjtlLmJhY2tzbGFzaEJpZ2c9ODcyNjtlLmJhY2tzbGFzaGJpZ2c9ODcyNjtlLmJhcmRibD04MjE0O2UuYnJhY2VodGlwZG93bmxlZnQ9NjUwNzk7ZS5icmFjZWh0aXBkb3ducmlnaHQ9NjUwNzk7ZS5icmFjZWh0aXB1cGxlZnQ9NjUwODA7ZS5icmFjZWh0aXB1cHJpZ2h0PTY1MDgwO2UuYnJhY2VsZWZ0QmlnPTEyMztlLmJyYWNlbGVmdGJpZz0xMjM7ZS5icmFjZWxlZnRiaWdnPTEyMztlLmJyYWNlbGVmdEJpZ2c9MTIzO2UuYnJhY2VyaWdodEJpZz0xMjU7ZS5icmFjZXJpZ2h0YmlnPTEyNTtlLmJyYWNlcmlnaHRiaWdnPTEyNTtlLmJyYWNlcmlnaHRCaWdnPTEyNTtlLmJyYWNrZXRsZWZ0YmlnPTkxO2UuYnJhY2tldGxlZnRCaWc9OTE7ZS5icmFja2V0bGVmdGJpZ2c9OTE7ZS5icmFja2V0bGVmdEJpZ2c9OTE7ZS5icmFja2V0cmlnaHRCaWc9OTM7ZS5icmFja2V0cmlnaHRiaWc9OTM7ZS5icmFja2V0cmlnaHRiaWdnPTkzO2UuYnJhY2tldHJpZ2h0QmlnZz05MztlLmNlaWxpbmdsZWZ0YmlnPTg5Njg7ZS5jZWlsaW5nbGVmdEJpZz04OTY4O2UuY2VpbGluZ2xlZnRCaWdnPTg5Njg7ZS5jZWlsaW5nbGVmdGJpZ2c9ODk2ODtlLmNlaWxpbmdyaWdodGJpZz04OTY5O2UuY2VpbGluZ3JpZ2h0QmlnPTg5Njk7ZS5jZWlsaW5ncmlnaHRiaWdnPTg5Njk7ZS5jZWlsaW5ncmlnaHRCaWdnPTg5Njk7ZS5jaXJjbGVkb3RkaXNwbGF5PTg4NTc7ZS5jaXJjbGVkb3R0ZXh0PTg4NTc7ZS5jaXJjbGVtdWx0aXBseWRpc3BsYXk9ODg1NTtlLmNpcmNsZW11bHRpcGx5dGV4dD04ODU1O2UuY2lyY2xlcGx1c2Rpc3BsYXk9ODg1MztlLmNpcmNsZXBsdXN0ZXh0PTg4NTM7ZS5jb250aW50ZWdyYWxkaXNwbGF5PTg3NTA7ZS5jb250aW50ZWdyYWx0ZXh0PTg3NTA7ZS5jb3Byb2R1Y3RkaXNwbGF5PTg3MjA7ZS5jb3Byb2R1Y3R0ZXh0PTg3MjA7ZS5mbG9vcmxlZnRCaWc9ODk3MDtlLmZsb29ybGVmdGJpZz04OTcwO2UuZmxvb3JsZWZ0YmlnZz04OTcwO2UuZmxvb3JsZWZ0QmlnZz04OTcwO2UuZmxvb3JyaWdodGJpZz04OTcxO2UuZmxvb3JyaWdodEJpZz04OTcxO2UuZmxvb3JyaWdodEJpZ2c9ODk3MTtlLmZsb29ycmlnaHRiaWdnPTg5NzE7ZS5oYXR3aWRlPTc3MDtlLmhhdHdpZGVyPTc3MDtlLmhhdHdpZGVzdD03NzA7ZS5pbnRlcmNhbD03NDg4O2UuaW50ZWdyYWxkaXNwbGF5PTg3NDc7ZS5pbnRlZ3JhbHRleHQ9ODc0NztlLmludGVyc2VjdGlvbmRpc3BsYXk9ODg5ODtlLmludGVyc2VjdGlvbnRleHQ9ODg5ODtlLmxvZ2ljYWxhbmRkaXNwbGF5PTg3NDM7ZS5sb2dpY2FsYW5kdGV4dD04NzQzO2UubG9naWNhbG9yZGlzcGxheT04NzQ0O2UubG9naWNhbG9ydGV4dD04NzQ0O2UucGFyZW5sZWZ0QmlnPTQwO2UucGFyZW5sZWZ0YmlnPTQwO2UucGFyZW5sZWZ0QmlnZz00MDtlLnBhcmVubGVmdGJpZ2c9NDA7ZS5wYXJlbnJpZ2h0QmlnPTQxO2UucGFyZW5yaWdodGJpZz00MTtlLnBhcmVucmlnaHRCaWdnPTQxO2UucGFyZW5yaWdodGJpZ2c9NDE7ZS5wcmltZT04MjQyO2UucHJvZHVjdGRpc3BsYXk9ODcxOTtlLnByb2R1Y3R0ZXh0PTg3MTk7ZS5yYWRpY2FsYmlnPTg3MzA7ZS5yYWRpY2FsQmlnPTg3MzA7ZS5yYWRpY2FsQmlnZz04NzMwO2UucmFkaWNhbGJpZ2c9ODczMDtlLnJhZGljYWxidD04NzMwO2UucmFkaWNhbHRwPTg3MzA7ZS5yYWRpY2FsdmVydGV4PTg3MzA7ZS5zbGFzaGJpZz00NztlLnNsYXNoQmlnPTQ3O2Uuc2xhc2hCaWdnPTQ3O2Uuc2xhc2hiaWdnPTQ3O2Uuc3VtbWF0aW9uZGlzcGxheT04NzIxO2Uuc3VtbWF0aW9udGV4dD04NzIxO2UudGlsZGV3aWRlPTczMjtlLnRpbGRld2lkZXI9NzMyO2UudGlsZGV3aWRlc3Q9NzMyO2UudW5pb25kaXNwbGF5PTg4OTk7ZS51bmlvbm11bHRpZGlzcGxheT04ODQ2O2UudW5pb25tdWx0aXRleHQ9ODg0NjtlLnVuaW9uc3FkaXNwbGF5PTg4NTI7ZS51bmlvbnNxdGV4dD04ODUyO2UudW5pb250ZXh0PTg4OTk7ZS52ZXh0ZW5kZG91YmxlPTg3NDE7ZS52ZXh0ZW5kc2luZ2xlPTg3Mzl9KSksSGk9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTMyO2UuYTE9OTk4NTtlLmEyPTk5ODY7ZS5hMjAyPTk5ODc7ZS5hMz05OTg4O2UuYTQ9OTc0MjtlLmE1PTk5OTA7ZS5hMTE5PTk5OTE7ZS5hMTE4PTk5OTI7ZS5hMTE3PTk5OTM7ZS5hMTE9OTc1NTtlLmExMj05NzU4O2UuYTEzPTk5OTY7ZS5hMTQ9OTk5NztlLmExNT05OTk4O2UuYTE2PTk5OTk7ZS5hMTA1PTFlNDtlLmExNz0xMDAwMTtlLmExOD0xMDAwMjtlLmExOT0xMDAwMztlLmEyMD0xMDAwNDtlLmEyMT0xMDAwNTtlLmEyMj0xMDAwNjtlLmEyMz0xMDAwNztlLmEyND0xMDAwODtlLmEyNT0xMDAwOTtlLmEyNj0xMDAxMDtlLmEyNz0xMDAxMTtlLmEyOD0xMDAxMjtlLmE2PTEwMDEzO2UuYTc9MTAwMTQ7ZS5hOD0xMDAxNTtlLmE5PTEwMDE2O2UuYTEwPTEwMDE3O2UuYTI5PTEwMDE4O2UuYTMwPTEwMDE5O2UuYTMxPTEwMDIwO2UuYTMyPTEwMDIxO2UuYTMzPTEwMDIyO2UuYTM0PTEwMDIzO2UuYTM1PTk3MzM7ZS5hMzY9MTAwMjU7ZS5hMzc9MTAwMjY7ZS5hMzg9MTAwMjc7ZS5hMzk9MTAwMjg7ZS5hNDA9MTAwMjk7ZS5hNDE9MTAwMzA7ZS5hNDI9MTAwMzE7ZS5hNDM9MTAwMzI7ZS5hNDQ9MTAwMzM7ZS5hNDU9MTAwMzQ7ZS5hNDY9MTAwMzU7ZS5hNDc9MTAwMzY7ZS5hNDg9MTAwMzc7ZS5hNDk9MTAwMzg7ZS5hNTA9MTAwMzk7ZS5hNTE9MTAwNDA7ZS5hNTI9MTAwNDE7ZS5hNTM9MTAwNDI7ZS5hNTQ9MTAwNDM7ZS5hNTU9MTAwNDQ7ZS5hNTY9MTAwNDU7ZS5hNTc9MTAwNDY7ZS5hNTg9MTAwNDc7ZS5hNTk9MTAwNDg7ZS5hNjA9MTAwNDk7ZS5hNjE9MTAwNTA7ZS5hNjI9MTAwNTE7ZS5hNjM9MTAwNTI7ZS5hNjQ9MTAwNTM7ZS5hNjU9MTAwNTQ7ZS5hNjY9MTAwNTU7ZS5hNjc9MTAwNTY7ZS5hNjg9MTAwNTc7ZS5hNjk9MTAwNTg7ZS5hNzA9MTAwNTk7ZS5hNzE9OTY3OTtlLmE3Mj0xMDA2MTtlLmE3Mz05NjMyO2UuYTc0PTEwMDYzO2UuYTIwMz0xMDA2NDtlLmE3NT0xMDA2NTtlLmEyMDQ9MTAwNjY7ZS5hNzY9OTY1MDtlLmE3Nz05NjYwO2UuYTc4PTk2NzA7ZS5hNzk9MTAwNzA7ZS5hODE9OTY4NztlLmE4Mj0xMDA3MjtlLmE4Mz0xMDA3MztlLmE4ND0xMDA3NDtlLmE5Nz0xMDA3NTtlLmE5OD0xMDA3NjtlLmE5OT0xMDA3NztlLmExMDA9MTAwNzg7ZS5hMTAxPTEwMDgxO2UuYTEwMj0xMDA4MjtlLmExMDM9MTAwODM7ZS5hMTA0PTEwMDg0O2UuYTEwNj0xMDA4NTtlLmExMDc9MTAwODY7ZS5hMTA4PTEwMDg3O2UuYTExMj05ODI3O2UuYTExMT05ODMwO2UuYTExMD05ODI5O2UuYTEwOT05ODI0O2UuYTEyMD05MzEyO2UuYTEyMT05MzEzO2UuYTEyMj05MzE0O2UuYTEyMz05MzE1O2UuYTEyND05MzE2O2UuYTEyNT05MzE3O2UuYTEyNj05MzE4O2UuYTEyNz05MzE5O2UuYTEyOD05MzIwO2UuYTEyOT05MzIxO2UuYTEzMD0xMDEwMjtlLmExMzE9MTAxMDM7ZS5hMTMyPTEwMTA0O2UuYTEzMz0xMDEwNTtlLmExMzQ9MTAxMDY7ZS5hMTM1PTEwMTA3O2UuYTEzNj0xMDEwODtlLmExMzc9MTAxMDk7ZS5hMTM4PTEwMTEwO2UuYTEzOT0xMDExMTtlLmExNDA9MTAxMTI7ZS5hMTQxPTEwMTEzO2UuYTE0Mj0xMDExNDtlLmExNDM9MTAxMTU7ZS5hMTQ0PTEwMTE2O2UuYTE0NT0xMDExNztlLmExNDY9MTAxMTg7ZS5hMTQ3PTEwMTE5O2UuYTE0OD0xMDEyMDtlLmExNDk9MTAxMjE7ZS5hMTUwPTEwMTIyO2UuYTE1MT0xMDEyMztlLmExNTI9MTAxMjQ7ZS5hMTUzPTEwMTI1O2UuYTE1ND0xMDEyNjtlLmExNTU9MTAxMjc7ZS5hMTU2PTEwMTI4O2UuYTE1Nz0xMDEyOTtlLmExNTg9MTAxMzA7ZS5hMTU5PTEwMTMxO2UuYTE2MD0xMDEzMjtlLmExNjE9ODU5NDtlLmExNjM9ODU5NjtlLmExNjQ9ODU5NztlLmExOTY9MTAxMzY7ZS5hMTY1PTEwMTM3O2UuYTE5Mj0xMDEzODtlLmExNjY9MTAxMzk7ZS5hMTY3PTEwMTQwO2UuYTE2OD0xMDE0MTtlLmExNjk9MTAxNDI7ZS5hMTcwPTEwMTQzO2UuYTE3MT0xMDE0NDtlLmExNzI9MTAxNDU7ZS5hMTczPTEwMTQ2O2UuYTE2Mj0xMDE0NztlLmExNzQ9MTAxNDg7ZS5hMTc1PTEwMTQ5O2UuYTE3Nj0xMDE1MDtlLmExNzc9MTAxNTE7ZS5hMTc4PTEwMTUyO2UuYTE3OT0xMDE1MztlLmExOTM9MTAxNTQ7ZS5hMTgwPTEwMTU1O2UuYTE5OT0xMDE1NjtlLmExODE9MTAxNTc7ZS5hMjAwPTEwMTU4O2UuYTE4Mj0xMDE1OTtlLmEyMDE9MTAxNjE7ZS5hMTgzPTEwMTYyO2UuYTE4ND0xMDE2MztlLmExOTc9MTAxNjQ7ZS5hMTg1PTEwMTY1O2UuYTE5ND0xMDE2NjtlLmExOTg9MTAxNjc7ZS5hMTg2PTEwMTY4O2UuYTE5NT0xMDE2OTtlLmExODc9MTAxNzA7ZS5hMTg4PTEwMTcxO2UuYTE4OT0xMDE3MjtlLmExOTA9MTAxNzM7ZS5hMTkxPTEwMTc0O2UuYTg5PTEwMDg4O2UuYTkwPTEwMDg5O2UuYTkzPTEwMDkwO2UuYTk0PTEwMDkxO2UuYTkxPTEwMDkyO2UuYTkyPTEwMDkzO2UuYTIwNT0xMDA5NDtlLmE4NT0xMDA5NTtlLmEyMDY9MTAwOTY7ZS5hODY9MTAwOTc7ZS5hODc9MTAwOTg7ZS5hODg9MTAwOTk7ZS5hOTU9MTAxMDA7ZS5hOTY9MTAxMDE7ZVsiLm5vdGRlZiJdPTB9KSksSmk9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlWzYzNzIxXT0xNjk7ZVs2MzE5M109MTY5O2VbNjM3MjBdPTE3NDtlWzYzMTk0XT0xNzQ7ZVs2MzcyMl09ODQ4MjtlWzYzMTk1XT04NDgyO2VbNjM3MjldPTkxMjc7ZVs2MzczMF09OTEyODtlWzYzNzMxXT05MTI5O2VbNjM3NDBdPTkxMzE7ZVs2Mzc0MV09OTEzMjtlWzYzNzQyXT05MTMzO2VbNjM3MjZdPTkxMjE7ZVs2MzcyN109OTEyMjtlWzYzNzI4XT05MTIzO2VbNjM3MzddPTkxMjQ7ZVs2MzczOF09OTEyNTtlWzYzNzM5XT05MTI2O2VbNjM3MjNdPTkxMTU7ZVs2MzcyNF09OTExNjtlWzYzNzI1XT05MTE3O2VbNjM3MzRdPTkxMTg7ZVs2MzczNV09OTExOTtlWzYzNzM2XT05MTIwfSkpO2Z1bmN0aW9uIGdldFVuaWNvZGVGb3JHbHlwaChlLHQpe2xldCBpPXRbZV07aWYodm9pZCAwIT09aSlyZXR1cm4gaTtpZighZSlyZXR1cm4tMTtpZigidSI9PT1lWzBdKXtjb25zdCB0PWUubGVuZ3RoO2xldCBhO2lmKDc9PT10JiYibiI9PT1lWzFdJiYiaSI9PT1lWzJdKWE9ZS5zdWJzdHJpbmcoMyk7ZWxzZXtpZighKHQ+PTUmJnQ8PTcpKXJldHVybi0xO2E9ZS5zdWJzdHJpbmcoMSl9aWYoYT09PWEudG9VcHBlckNhc2UoKSl7aT1wYXJzZUludChhLDE2KTtpZihpPj0wKXJldHVybiBpfX1yZXR1cm4tMX1jb25zdCBZaT1bWzAsMTI3XSxbMTI4LDI1NV0sWzI1NiwzODNdLFszODQsNTkxXSxbNTkyLDY4Nyw3NDI0LDc1NTEsNzU1Miw3NjE1XSxbNjg4LDc2Nyw0Mjc1Miw0Mjc4M10sWzc2OCw4NzksNzYxNiw3Njc5XSxbODgwLDEwMjNdLFsxMTM5MiwxMTUxOV0sWzEwMjQsMTI3OSwxMjgwLDEzMjcsMTE3NDQsMTE3NzUsNDI1NjAsNDI2NTVdLFsxMzI4LDE0MjNdLFsxNDI0LDE1MzVdLFs0MjI0MCw0MjU1OV0sWzE1MzYsMTc5MSwxODcyLDE5MTldLFsxOTg0LDIwNDddLFsyMzA0LDI0MzFdLFsyNDMyLDI1NTldLFsyNTYwLDI2ODddLFsyNjg4LDI4MTVdLFsyODE2LDI5NDNdLFsyOTQ0LDMwNzFdLFszMDcyLDMxOTldLFszMjAwLDMzMjddLFszMzI4LDM0NTVdLFszNTg0LDM3MTFdLFszNzEyLDM4MzldLFs0MjU2LDQzNTEsMTE1MjAsMTE1NjddLFs2OTEyLDcwMzldLFs0MzUyLDQ2MDddLFs3NjgwLDc5MzUsMTEzNjAsMTEzOTEsNDI3ODQsNDMwMDddLFs3OTM2LDgxOTFdLFs4MTkyLDgzMDMsMTE3NzYsMTE5MDNdLFs4MzA0LDgzNTFdLFs4MzUyLDgzOTldLFs4NDAwLDg0NDddLFs4NDQ4LDg1MjddLFs4NTI4LDg1OTFdLFs4NTkyLDg3MDMsMTAyMjQsMTAyMzksMTA0OTYsMTA2MjMsMTEwMDgsMTEyNjNdLFs4NzA0LDg5NTksMTA3NTIsMTEwMDcsMTAxNzYsMTAyMjMsMTA2MjQsMTA3NTFdLFs4OTYwLDkyMTVdLFs5MjE2LDkyNzldLFs5MjgwLDkzMTFdLFs5MzEyLDk0NzFdLFs5NDcyLDk1OTldLFs5NjAwLDk2MzFdLFs5NjMyLDk3MjddLFs5NzI4LDk5ODNdLFs5OTg0LDEwMTc1XSxbMTIyODgsMTIzNTFdLFsxMjM1MiwxMjQ0N10sWzEyNDQ4LDEyNTQzLDEyNzg0LDEyNzk5XSxbMTI1NDQsMTI1OTEsMTI3MDQsMTI3MzVdLFsxMjU5MiwxMjY4N10sWzQzMDcyLDQzMTM1XSxbMTI4MDAsMTMwNTVdLFsxMzA1NiwxMzMxMV0sWzQ0MDMyLDU1MjE1XSxbNTUyOTYsNTczNDNdLFs2Nzg0MCw2Nzg3MV0sWzE5OTY4LDQwOTU5LDExOTA0LDEyMDMxLDEyMDMyLDEyMjU1LDEyMjcyLDEyMjg3LDEzMzEyLDE5OTAzLDEzMTA3MiwxNzM3OTEsMTI2ODgsMTI3MDNdLFs1NzM0NCw2Mzc0M10sWzEyNzM2LDEyNzgzLDYzNzQ0LDY0MjU1LDE5NDU2MCwxOTUxMDNdLFs2NDI1Niw2NDMzNV0sWzY0MzM2LDY1MDIzXSxbNjUwNTYsNjUwNzFdLFs2NTA0MCw2NTA1NV0sWzY1MTA0LDY1MTM1XSxbNjUxMzYsNjUyNzldLFs2NTI4MCw2NTUxOV0sWzY1NTIwLDY1NTM1XSxbMzg0MCw0MDk1XSxbMTc5MiwxODcxXSxbMTkyMCwxOTgzXSxbMzQ1NiwzNTgzXSxbNDA5Niw0MjU1XSxbNDYwOCw0OTkxLDQ5OTIsNTAyMywxMTY0OCwxMTc0M10sWzUwMjQsNTExOV0sWzUxMjAsNTc1OV0sWzU3NjAsNTc5MV0sWzU3OTIsNTg4N10sWzYwMTYsNjE0M10sWzYxNDQsNjMxOV0sWzEwMjQwLDEwNDk1XSxbNDA5NjAsNDIxMjddLFs1ODg4LDU5MTksNTkyMCw1OTUxLDU5NTIsNTk4Myw1OTg0LDYwMTVdLFs2NjMwNCw2NjM1MV0sWzY2MzUyLDY2MzgzXSxbNjY1NjAsNjY2MzldLFsxMTg3ODQsMTE5MDM5LDExOTA0MCwxMTkyOTUsMTE5Mjk2LDExOTM3NV0sWzExOTgwOCwxMjA4MzFdLFsxMDQ0NDgwLDEwNDg1NzNdLFs2NTAyNCw2NTAzOSw5MTc3NjAsOTE3OTk5XSxbOTE3NTA0LDkxNzYzMV0sWzY0MDAsNjQ3OV0sWzY0ODAsNjUyN10sWzY1MjgsNjYyM10sWzY2NTYsNjY4N10sWzExMjY0LDExMzU5XSxbMTE1NjgsMTE2NDddLFsxOTkwNCwxOTk2N10sWzQzMDA4LDQzMDU1XSxbNjU1MzYsNjU2NjMsNjU2NjQsNjU3OTEsNjU3OTIsNjU4NTVdLFs2NTg1Niw2NTkzNV0sWzY2NDMyLDY2NDYzXSxbNjY0NjQsNjY1MjddLFs2NjY0MCw2NjY4N10sWzY2Njg4LDY2NzM1XSxbNjc1ODQsNjc2NDddLFs2ODA5Niw2ODE5MV0sWzExOTU1MiwxMTk2NDddLFs3MzcyOCw3NDc1MSw3NDc1Miw3NDg3OV0sWzExOTY0OCwxMTk2NzldLFs3MDQwLDcxMDNdLFs3MTY4LDcyNDddLFs3MjQ4LDcyOTVdLFs0MzEzNiw0MzIzMV0sWzQzMjY0LDQzMzExXSxbNDMzMTIsNDMzNTldLFs0MzUyMCw0MzYxNV0sWzY1OTM2LDY1OTk5XSxbNjZlMyw2NjA0N10sWzY2MjA4LDY2MjcxLDY2MTc2LDY2MjA3LDY3ODcyLDY3OTAzXSxbMTI3MDI0LDEyNzEzNSwxMjY5NzYsMTI3MDIzXV07ZnVuY3Rpb24gZ2V0VW5pY29kZVJhbmdlRm9yKGUsdD0tMSl7aWYoLTEhPT10KXtjb25zdCBpPVlpW3RdO2ZvcihsZXQgYT0wLHM9aS5sZW5ndGg7YTxzO2ErPTIpaWYoZT49aVthXSYmZTw9aVthKzFdKXJldHVybiB0fWZvcihsZXQgdD0wLGk9WWkubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0IGk9WWlbdF07Zm9yKGxldCBhPTAscz1pLmxlbmd0aDthPHM7YSs9MilpZihlPj1pW2FdJiZlPD1pW2ErMV0pcmV0dXJuIHR9cmV0dXJuLTF9Y29uc3Qgdmk9bmV3IFJlZ0V4cCgiXihcXHMpfChcXHB7TW59KXwoXFxwe0NmfSkkIiwidSIpLEtpPW5ldyBNYXA7Y29uc3QgVGk9ITAscWk9MSxPaT0yLFBpPTQsV2k9MzIsamk9WyIubm90ZGVmIiwiLm51bGwiLCJub25tYXJraW5ncmV0dXJuIiwic3BhY2UiLCJleGNsYW0iLCJxdW90ZWRibCIsIm51bWJlcnNpZ24iLCJkb2xsYXIiLCJwZXJjZW50IiwiYW1wZXJzYW5kIiwicXVvdGVzaW5nbGUiLCJwYXJlbmxlZnQiLCJwYXJlbnJpZ2h0IiwiYXN0ZXJpc2siLCJwbHVzIiwiY29tbWEiLCJoeXBoZW4iLCJwZXJpb2QiLCJzbGFzaCIsInplcm8iLCJvbmUiLCJ0d28iLCJ0aHJlZSIsImZvdXIiLCJmaXZlIiwic2l4Iiwic2V2ZW4iLCJlaWdodCIsIm5pbmUiLCJjb2xvbiIsInNlbWljb2xvbiIsImxlc3MiLCJlcXVhbCIsImdyZWF0ZXIiLCJxdWVzdGlvbiIsImF0IiwiQSIsIkIiLCJDIiwiRCIsIkUiLCJGIiwiRyIsIkgiLCJJIiwiSiIsIksiLCJMIiwiTSIsIk4iLCJPIiwiUCIsIlEiLCJSIiwiUyIsIlQiLCJVIiwiViIsIlciLCJYIiwiWSIsIloiLCJicmFja2V0bGVmdCIsImJhY2tzbGFzaCIsImJyYWNrZXRyaWdodCIsImFzY2lpY2lyY3VtIiwidW5kZXJzY29yZSIsImdyYXZlIiwiYSIsImIiLCJjIiwiZCIsImUiLCJmIiwiZyIsImgiLCJpIiwiaiIsImsiLCJsIiwibSIsIm4iLCJvIiwicCIsInEiLCJyIiwicyIsInQiLCJ1IiwidiIsInciLCJ4IiwieSIsInoiLCJicmFjZWxlZnQiLCJiYXIiLCJicmFjZXJpZ2h0IiwiYXNjaWl0aWxkZSIsIkFkaWVyZXNpcyIsIkFyaW5nIiwiQ2NlZGlsbGEiLCJFYWN1dGUiLCJOdGlsZGUiLCJPZGllcmVzaXMiLCJVZGllcmVzaXMiLCJhYWN1dGUiLCJhZ3JhdmUiLCJhY2lyY3VtZmxleCIsImFkaWVyZXNpcyIsImF0aWxkZSIsImFyaW5nIiwiY2NlZGlsbGEiLCJlYWN1dGUiLCJlZ3JhdmUiLCJlY2lyY3VtZmxleCIsImVkaWVyZXNpcyIsImlhY3V0ZSIsImlncmF2ZSIsImljaXJjdW1mbGV4IiwiaWRpZXJlc2lzIiwibnRpbGRlIiwib2FjdXRlIiwib2dyYXZlIiwib2NpcmN1bWZsZXgiLCJvZGllcmVzaXMiLCJvdGlsZGUiLCJ1YWN1dGUiLCJ1Z3JhdmUiLCJ1Y2lyY3VtZmxleCIsInVkaWVyZXNpcyIsImRhZ2dlciIsImRlZ3JlZSIsImNlbnQiLCJzdGVybGluZyIsInNlY3Rpb24iLCJidWxsZXQiLCJwYXJhZ3JhcGgiLCJnZXJtYW5kYmxzIiwicmVnaXN0ZXJlZCIsImNvcHlyaWdodCIsInRyYWRlbWFyayIsImFjdXRlIiwiZGllcmVzaXMiLCJub3RlcXVhbCIsIkFFIiwiT3NsYXNoIiwiaW5maW5pdHkiLCJwbHVzbWludXMiLCJsZXNzZXF1YWwiLCJncmVhdGVyZXF1YWwiLCJ5ZW4iLCJtdSIsInBhcnRpYWxkaWZmIiwic3VtbWF0aW9uIiwicHJvZHVjdCIsInBpIiwiaW50ZWdyYWwiLCJvcmRmZW1pbmluZSIsIm9yZG1hc2N1bGluZSIsIk9tZWdhIiwiYWUiLCJvc2xhc2giLCJxdWVzdGlvbmRvd24iLCJleGNsYW1kb3duIiwibG9naWNhbG5vdCIsInJhZGljYWwiLCJmbG9yaW4iLCJhcHByb3hlcXVhbCIsIkRlbHRhIiwiZ3VpbGxlbW90bGVmdCIsImd1aWxsZW1vdHJpZ2h0IiwiZWxsaXBzaXMiLCJub25icmVha2luZ3NwYWNlIiwiQWdyYXZlIiwiQXRpbGRlIiwiT3RpbGRlIiwiT0UiLCJvZSIsImVuZGFzaCIsImVtZGFzaCIsInF1b3RlZGJsbGVmdCIsInF1b3RlZGJscmlnaHQiLCJxdW90ZWxlZnQiLCJxdW90ZXJpZ2h0IiwiZGl2aWRlIiwibG96ZW5nZSIsInlkaWVyZXNpcyIsIllkaWVyZXNpcyIsImZyYWN0aW9uIiwiY3VycmVuY3kiLCJndWlsc2luZ2xsZWZ0IiwiZ3VpbHNpbmdscmlnaHQiLCJmaSIsImZsIiwiZGFnZ2VyZGJsIiwicGVyaW9kY2VudGVyZWQiLCJxdW90ZXNpbmdsYmFzZSIsInF1b3RlZGJsYmFzZSIsInBlcnRob3VzYW5kIiwiQWNpcmN1bWZsZXgiLCJFY2lyY3VtZmxleCIsIkFhY3V0ZSIsIkVkaWVyZXNpcyIsIkVncmF2ZSIsIklhY3V0ZSIsIkljaXJjdW1mbGV4IiwiSWRpZXJlc2lzIiwiSWdyYXZlIiwiT2FjdXRlIiwiT2NpcmN1bWZsZXgiLCJhcHBsZSIsIk9ncmF2ZSIsIlVhY3V0ZSIsIlVjaXJjdW1mbGV4IiwiVWdyYXZlIiwiZG90bGVzc2kiLCJjaXJjdW1mbGV4IiwidGlsZGUiLCJtYWNyb24iLCJicmV2ZSIsImRvdGFjY2VudCIsInJpbmciLCJjZWRpbGxhIiwiaHVuZ2FydW1sYXV0Iiwib2dvbmVrIiwiY2Fyb24iLCJMc2xhc2giLCJsc2xhc2giLCJTY2Fyb24iLCJzY2Fyb24iLCJaY2Fyb24iLCJ6Y2Fyb24iLCJicm9rZW5iYXIiLCJFdGgiLCJldGgiLCJZYWN1dGUiLCJ5YWN1dGUiLCJUaG9ybiIsInRob3JuIiwibWludXMiLCJtdWx0aXBseSIsIm9uZXN1cGVyaW9yIiwidHdvc3VwZXJpb3IiLCJ0aHJlZXN1cGVyaW9yIiwib25laGFsZiIsIm9uZXF1YXJ0ZXIiLCJ0aHJlZXF1YXJ0ZXJzIiwiZnJhbmMiLCJHYnJldmUiLCJnYnJldmUiLCJJZG90YWNjZW50IiwiU2NlZGlsbGEiLCJzY2VkaWxsYSIsIkNhY3V0ZSIsImNhY3V0ZSIsIkNjYXJvbiIsImNjYXJvbiIsImRjcm9hdCJdO2Z1bmN0aW9uIHJlY292ZXJHbHlwaE5hbWUoZSx0KXtpZih2b2lkIDAhPT10W2VdKXJldHVybiBlO2NvbnN0IGk9Z2V0VW5pY29kZUZvckdseXBoKGUsdCk7aWYoLTEhPT1pKWZvcihjb25zdCBlIGluIHQpaWYodFtlXT09PWkpcmV0dXJuIGU7aW5mbygiVW5hYmxlIHRvIHJlY292ZXIgYSBzdGFuZGFyZCBnbHlwaCBuYW1lIGZvcjogIitlKTtyZXR1cm4gZX1mdW5jdGlvbiB0eXBlMUZvbnRHbHlwaE1hcHBpbmcoZSx0LGkpe2NvbnN0IGE9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgcyxyLG47Y29uc3QgZz0hIShlLmZsYWdzJlBpKTtpZihlLmlzSW50ZXJuYWxGb250KXtuPXQ7Zm9yKHI9MDtyPG4ubGVuZ3RoO3IrKyl7cz1pLmluZGV4T2YobltyXSk7YVtyXT1zPj0wP3M6MH19ZWxzZSBpZihlLmJhc2VFbmNvZGluZ05hbWUpe249Z2V0RW5jb2RpbmcoZS5iYXNlRW5jb2RpbmdOYW1lKTtmb3Iocj0wO3I8bi5sZW5ndGg7cisrKXtzPWkuaW5kZXhPZihuW3JdKTthW3JdPXM+PTA/czowfX1lbHNlIGlmKGcpZm9yKHIgaW4gdClhW3JdPXRbcl07ZWxzZXtuPXlpO2ZvcihyPTA7cjxuLmxlbmd0aDtyKyspe3M9aS5pbmRleE9mKG5bcl0pO2Fbcl09cz49MD9zOjB9fWNvbnN0IG89ZS5kaWZmZXJlbmNlcztsZXQgYztpZihvKWZvcihyIGluIG8pe2NvbnN0IGU9b1tyXTtzPWkuaW5kZXhPZihlKTtpZigtMT09PXMpe2N8fChjPU1pKCkpO2NvbnN0IHQ9cmVjb3ZlckdseXBoTmFtZShlLGMpO3QhPT1lJiYocz1pLmluZGV4T2YodCkpfWFbcl09cz49MD9zOjB9cmV0dXJuIGF9ZnVuY3Rpb24gbm9ybWFsaXplRm9udE5hbWUoZSl7cmV0dXJuIGUucmVwbGFjZUFsbCgvWyxfXS9nLCItIikucmVwbGFjZUFsbCgvXHMvZywiIil9Y29uc3QgWGk9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChlPT57ZVs4MjExXT02NTA3NDtlWzgyMTJdPTY1MDczO2VbODIyOV09NjUwNzI7ZVs4MjMwXT02NTA0OTtlWzEyMjg5XT02NTA0MTtlWzEyMjkwXT02NTA0MjtlWzEyMjk2XT02NTA4NztlWzEyMjk3XT02NTA4ODtlWzEyMjk4XT02NTA4NTtlWzEyMjk5XT02NTA4NjtlWzEyMzAwXT02NTA4OTtlWzEyMzAxXT02NTA5MDtlWzEyMzAyXT02NTA5MTtlWzEyMzAzXT02NTA5MjtlWzEyMzA0XT02NTA4MztlWzEyMzA1XT02NTA4NDtlWzEyMzA4XT02NTA4MTtlWzEyMzA5XT02NTA4MjtlWzEyMzEwXT02NTA0NztlWzEyMzExXT02NTA0ODtlWzY1MTAzXT02NTA3NjtlWzY1MjgxXT02NTA0NTtlWzY1Mjg4XT02NTA3NztlWzY1Mjg5XT02NTA3ODtlWzY1MjkyXT02NTA0MDtlWzY1MzA2XT02NTA0MztlWzY1MzA3XT02NTA0NDtlWzY1MzExXT02NTA0NjtlWzY1MzM5XT02NTA5NTtlWzY1MzQxXT02NTA5NjtlWzY1MzQzXT02NTA3NTtlWzY1MzcxXT02NTA3OTtlWzY1MzczXT02NTA4MH0pKSxaaT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2VbIlRpbWVzLVJvbWFuIl09IlRpbWVzLVJvbWFuIjtlLkhlbHZldGljYT0iSGVsdmV0aWNhIjtlLkNvdXJpZXI9IkNvdXJpZXIiO2UuU3ltYm9sPSJTeW1ib2wiO2VbIlRpbWVzLUJvbGQiXT0iVGltZXMtQm9sZCI7ZVsiSGVsdmV0aWNhLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkNvdXJpZXItQm9sZCJdPSJDb3VyaWVyLUJvbGQiO2UuWmFwZkRpbmdiYXRzPSJaYXBmRGluZ2JhdHMiO2VbIlRpbWVzLUl0YWxpYyJdPSJUaW1lcy1JdGFsaWMiO2VbIkhlbHZldGljYS1PYmxpcXVlIl09IkhlbHZldGljYS1PYmxpcXVlIjtlWyJDb3VyaWVyLU9ibGlxdWUiXT0iQ291cmllci1PYmxpcXVlIjtlWyJUaW1lcy1Cb2xkSXRhbGljIl09IlRpbWVzLUJvbGRJdGFsaWMiO2VbIkhlbHZldGljYS1Cb2xkT2JsaXF1ZSJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkNvdXJpZXItQm9sZE9ibGlxdWUiXT0iQ291cmllci1Cb2xkT2JsaXF1ZSI7ZS5BcmlhbE5hcnJvdz0iSGVsdmV0aWNhIjtlWyJBcmlhbE5hcnJvdy1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJBcmlhbE5hcnJvdy1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQXJpYWxOYXJyb3ctSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlLkFyaWFsQmxhY2s9IkhlbHZldGljYSI7ZVsiQXJpYWxCbGFjay1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJBcmlhbEJsYWNrLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJBcmlhbEJsYWNrLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZVsiQXJpYWwtQmxhY2siXT0iSGVsdmV0aWNhIjtlWyJBcmlhbC1CbGFjay1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJBcmlhbC1CbGFjay1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQXJpYWwtQmxhY2stSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlLkFyaWFsPSJIZWx2ZXRpY2EiO2VbIkFyaWFsLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsLUJvbGRJdGFsaWMiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJBcmlhbC1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuQXJpYWxNVD0iSGVsdmV0aWNhIjtlWyJBcmlhbC1Cb2xkSXRhbGljTVQiXT0iSGVsdmV0aWNhLUJvbGRPYmxpcXVlIjtlWyJBcmlhbC1Cb2xkTVQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkFyaWFsLUl0YWxpY01UIl09IkhlbHZldGljYS1PYmxpcXVlIjtlWyJBcmlhbC1Cb2xkSXRhbGljTVQtQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsLUJvbGRNVC1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJBcmlhbC1JdGFsaWNNVC1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuQXJpYWxVbmljb2RlTVM9IkhlbHZldGljYSI7ZVsiQXJpYWxVbmljb2RlTVMtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQXJpYWxVbmljb2RlTVMtQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkFyaWFsVW5pY29kZU1TLUl0YWxpYyJdPSJIZWx2ZXRpY2EtT2JsaXF1ZSI7ZVsiQ291cmllci1Cb2xkSXRhbGljIl09IkNvdXJpZXItQm9sZE9ibGlxdWUiO2VbIkNvdXJpZXItSXRhbGljIl09IkNvdXJpZXItT2JsaXF1ZSI7ZS5Db3VyaWVyTmV3PSJDb3VyaWVyIjtlWyJDb3VyaWVyTmV3LUJvbGQiXT0iQ291cmllci1Cb2xkIjtlWyJDb3VyaWVyTmV3LUJvbGRJdGFsaWMiXT0iQ291cmllci1Cb2xkT2JsaXF1ZSI7ZVsiQ291cmllck5ldy1JdGFsaWMiXT0iQ291cmllci1PYmxpcXVlIjtlWyJDb3VyaWVyTmV3UFMtQm9sZEl0YWxpY01UIl09IkNvdXJpZXItQm9sZE9ibGlxdWUiO2VbIkNvdXJpZXJOZXdQUy1Cb2xkTVQiXT0iQ291cmllci1Cb2xkIjtlWyJDb3VyaWVyTmV3UFMtSXRhbGljTVQiXT0iQ291cmllci1PYmxpcXVlIjtlLkNvdXJpZXJOZXdQU01UPSJDb3VyaWVyIjtlWyJIZWx2ZXRpY2EtQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkhlbHZldGljYS1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2VbIlN5bWJvbC1Cb2xkIl09IlN5bWJvbCI7ZVsiU3ltYm9sLUJvbGRJdGFsaWMiXT0iU3ltYm9sIjtlWyJTeW1ib2wtSXRhbGljIl09IlN5bWJvbCI7ZS5UaW1lc05ld1JvbWFuPSJUaW1lcy1Sb21hbiI7ZVsiVGltZXNOZXdSb21hbi1Cb2xkIl09IlRpbWVzLUJvbGQiO2VbIlRpbWVzTmV3Um9tYW4tQm9sZEl0YWxpYyJdPSJUaW1lcy1Cb2xkSXRhbGljIjtlWyJUaW1lc05ld1JvbWFuLUl0YWxpYyJdPSJUaW1lcy1JdGFsaWMiO2UuVGltZXNOZXdSb21hblBTPSJUaW1lcy1Sb21hbiI7ZVsiVGltZXNOZXdSb21hblBTLUJvbGQiXT0iVGltZXMtQm9sZCI7ZVsiVGltZXNOZXdSb21hblBTLUJvbGRJdGFsaWMiXT0iVGltZXMtQm9sZEl0YWxpYyI7ZVsiVGltZXNOZXdSb21hblBTLUJvbGRJdGFsaWNNVCJdPSJUaW1lcy1Cb2xkSXRhbGljIjtlWyJUaW1lc05ld1JvbWFuUFMtQm9sZE1UIl09IlRpbWVzLUJvbGQiO2VbIlRpbWVzTmV3Um9tYW5QUy1JdGFsaWMiXT0iVGltZXMtSXRhbGljIjtlWyJUaW1lc05ld1JvbWFuUFMtSXRhbGljTVQiXT0iVGltZXMtSXRhbGljIjtlLlRpbWVzTmV3Um9tYW5QU01UPSJUaW1lcy1Sb21hbiI7ZVsiVGltZXNOZXdSb21hblBTTVQtQm9sZCJdPSJUaW1lcy1Cb2xkIjtlWyJUaW1lc05ld1JvbWFuUFNNVC1Cb2xkSXRhbGljIl09IlRpbWVzLUJvbGRJdGFsaWMiO2VbIlRpbWVzTmV3Um9tYW5QU01ULUl0YWxpYyJdPSJUaW1lcy1JdGFsaWMifSkpLFZpPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5Db3VyaWVyPSJGb3hpdEZpeGVkLnBmYiI7ZVsiQ291cmllci1Cb2xkIl09IkZveGl0Rml4ZWRCb2xkLnBmYiI7ZVsiQ291cmllci1Cb2xkT2JsaXF1ZSJdPSJGb3hpdEZpeGVkQm9sZEl0YWxpYy5wZmIiO2VbIkNvdXJpZXItT2JsaXF1ZSJdPSJGb3hpdEZpeGVkSXRhbGljLnBmYiI7ZS5IZWx2ZXRpY2E9IkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIudHRmIjtlWyJIZWx2ZXRpY2EtQm9sZCJdPSJMaWJlcmF0aW9uU2Fucy1Cb2xkLnR0ZiI7ZVsiSGVsdmV0aWNhLUJvbGRPYmxpcXVlIl09IkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMudHRmIjtlWyJIZWx2ZXRpY2EtT2JsaXF1ZSJdPSJMaWJlcmF0aW9uU2Fucy1JdGFsaWMudHRmIjtlWyJUaW1lcy1Sb21hbiJdPSJGb3hpdFNlcmlmLnBmYiI7ZVsiVGltZXMtQm9sZCJdPSJGb3hpdFNlcmlmQm9sZC5wZmIiO2VbIlRpbWVzLUJvbGRJdGFsaWMiXT0iRm94aXRTZXJpZkJvbGRJdGFsaWMucGZiIjtlWyJUaW1lcy1JdGFsaWMiXT0iRm94aXRTZXJpZkl0YWxpYy5wZmIiO2UuU3ltYm9sPSJGb3hpdFN5bWJvbC5wZmIiO2UuWmFwZkRpbmdiYXRzPSJGb3hpdERpbmdiYXRzLnBmYiI7ZVsiTGliZXJhdGlvblNhbnMtUmVndWxhciJdPSJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyLnR0ZiI7ZVsiTGliZXJhdGlvblNhbnMtQm9sZCJdPSJMaWJlcmF0aW9uU2Fucy1Cb2xkLnR0ZiI7ZVsiTGliZXJhdGlvblNhbnMtSXRhbGljIl09IkxpYmVyYXRpb25TYW5zLUl0YWxpYy50dGYiO2VbIkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMiXT0iTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYy50dGYifSkpLHppPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5DYWxpYnJpPSJIZWx2ZXRpY2EiO2VbIkNhbGlicmktQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiQ2FsaWJyaS1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiQ2FsaWJyaS1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuQ2VudHVyeUdvdGhpYz0iSGVsdmV0aWNhIjtlWyJDZW50dXJ5R290aGljLUJvbGQiXT0iSGVsdmV0aWNhLUJvbGQiO2VbIkNlbnR1cnlHb3RoaWMtQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkNlbnR1cnlHb3RoaWMtSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlLkNvbWljU2Fuc01TPSJDb21pYyBTYW5zIE1TIjtlWyJDb21pY1NhbnNNUy1Cb2xkIl09IkNvbWljIFNhbnMgTVMtQm9sZCI7ZVsiQ29taWNTYW5zTVMtQm9sZEl0YWxpYyJdPSJDb21pYyBTYW5zIE1TLUJvbGRJdGFsaWMiO2VbIkNvbWljU2Fuc01TLUl0YWxpYyJdPSJDb21pYyBTYW5zIE1TLUl0YWxpYyI7ZS5HaWxsU2Fuc01UPSJIZWx2ZXRpY2EiO2VbIkdpbGxTYW5zTVQtQm9sZCJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiR2lsbFNhbnNNVC1Cb2xkSXRhbGljIl09IkhlbHZldGljYS1Cb2xkT2JsaXF1ZSI7ZVsiR2lsbFNhbnNNVC1JdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2UuSW1wYWN0PSJIZWx2ZXRpY2EiO2VbIkl0Y1N5bWJvbC1Cb2xkIl09IkhlbHZldGljYS1Cb2xkIjtlWyJJdGNTeW1ib2wtQm9sZEl0YWxpYyJdPSJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiO2VbIkl0Y1N5bWJvbC1Cb29rIl09IkhlbHZldGljYSI7ZVsiSXRjU3ltYm9sLUJvb2tJdGFsaWMiXT0iSGVsdmV0aWNhLU9ibGlxdWUiO2VbIkl0Y1N5bWJvbC1NZWRpdW0iXT0iSGVsdmV0aWNhIjtlWyJJdGNTeW1ib2wtTWVkaXVtSXRhbGljIl09IkhlbHZldGljYS1PYmxpcXVlIjtlLkx1Y2lkYUNvbnNvbGU9IkNvdXJpZXIiO2VbIkx1Y2lkYUNvbnNvbGUtQm9sZCJdPSJDb3VyaWVyLUJvbGQiO2VbIkx1Y2lkYUNvbnNvbGUtQm9sZEl0YWxpYyJdPSJDb3VyaWVyLUJvbGRPYmxpcXVlIjtlWyJMdWNpZGFDb25zb2xlLUl0YWxpYyJdPSJDb3VyaWVyLU9ibGlxdWUiO2VbIkx1Y2lkYVNhbnMtRGVtaSJdPSJIZWx2ZXRpY2EtQm9sZCI7ZVsiTVMtR290aGljIl09Ik1TIEdvdGhpYyI7ZVsiTVMtR290aGljLUJvbGQiXT0iTVMgR290aGljLUJvbGQiO2VbIk1TLUdvdGhpYy1Cb2xkSXRhbGljIl09Ik1TIEdvdGhpYy1Cb2xkSXRhbGljIjtlWyJNUy1Hb3RoaWMtSXRhbGljIl09Ik1TIEdvdGhpYy1JdGFsaWMiO2VbIk1TLU1pbmNobyJdPSJNUyBNaW5jaG8iO2VbIk1TLU1pbmNoby1Cb2xkIl09Ik1TIE1pbmNoby1Cb2xkIjtlWyJNUy1NaW5jaG8tQm9sZEl0YWxpYyJdPSJNUyBNaW5jaG8tQm9sZEl0YWxpYyI7ZVsiTVMtTWluY2hvLUl0YWxpYyJdPSJNUyBNaW5jaG8tSXRhbGljIjtlWyJNUy1QR290aGljIl09Ik1TIFBHb3RoaWMiO2VbIk1TLVBHb3RoaWMtQm9sZCJdPSJNUyBQR290aGljLUJvbGQiO2VbIk1TLVBHb3RoaWMtQm9sZEl0YWxpYyJdPSJNUyBQR290aGljLUJvbGRJdGFsaWMiO2VbIk1TLVBHb3RoaWMtSXRhbGljIl09Ik1TIFBHb3RoaWMtSXRhbGljIjtlWyJNUy1QTWluY2hvIl09Ik1TIFBNaW5jaG8iO2VbIk1TLVBNaW5jaG8tQm9sZCJdPSJNUyBQTWluY2hvLUJvbGQiO2VbIk1TLVBNaW5jaG8tQm9sZEl0YWxpYyJdPSJNUyBQTWluY2hvLUJvbGRJdGFsaWMiO2VbIk1TLVBNaW5jaG8tSXRhbGljIl09Ik1TIFBNaW5jaG8tSXRhbGljIjtlLk51cHRpYWxTY3JpcHQ9IlRpbWVzLUl0YWxpYyI7ZS5TZWdvZVVJU3ltYm9sPSJIZWx2ZXRpY2EifSkpLF9pPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsiQWRvYmUgSmVuc29uIl09ITA7ZVsiQWRvYmUgVGV4dCJdPSEwO2UuQWxiZXJ0dXM9ITA7ZS5BbGR1cz0hMDtlLkFsZXhhbmRyaWE9ITA7ZS5BbGdlcmlhbj0hMDtlWyJBbWVyaWNhbiBUeXBld3JpdGVyIl09ITA7ZS5BbnRpcXVhPSEwO2UuQXBleD0hMDtlLkFybm89ITA7ZS5Bc3Rlcj0hMDtlLkF1cm9yYT0hMDtlLkJhc2tlcnZpbGxlPSEwO2UuQmVsbD0hMDtlLkJlbWJvPSEwO2VbIkJlbWJvIFNjaG9vbGJvb2siXT0hMDtlLkJlbmd1aWF0PSEwO2VbIkJlcmtlbGV5IE9sZCBTdHlsZSJdPSEwO2VbIkJlcm5oYXJkIE1vZGVybiJdPSEwO2VbIkJlcnRob2xkIENpdHkiXT0hMDtlLkJvZG9uaT0hMDtlWyJCYXVlciBCb2RvbmkiXT0hMDtlWyJCb29rIEFudGlxdWEiXT0hMDtlLkJvb2ttYW49ITA7ZVsiQm9yZGVhdXggUm9tYW4iXT0hMDtlWyJDYWxpZm9ybmlhbiBGQiJdPSEwO2UuQ2FsaXN0bz0hMDtlLkNhbHZlcnQ9ITA7ZS5DYXBpdGFscz0hMDtlLkNhbWJyaWE9ITA7ZS5DYXJ0aWVyPSEwO2UuQ2FzbG9uPSEwO2UuQ2F0dWxsPSEwO2UuQ2VudGF1cj0hMDtlWyJDZW50dXJ5IE9sZCBTdHlsZSJdPSEwO2VbIkNlbnR1cnkgU2Nob29sYm9vayJdPSEwO2UuQ2hhcGFycmFsPSEwO2VbIkNoYXJpcyBTSUwiXT0hMDtlLkNoZWx0ZW5oYW09ITA7ZVsiQ2hvbGxhIFNsYWIiXT0hMDtlLkNsYXJlbmRvbj0hMDtlLkNsZWFyZmFjZT0hMDtlLkNvY2hpbj0hMDtlLkNvbG9ubmE9ITA7ZVsiQ29tcHV0ZXIgTW9kZXJuIl09ITA7ZVsiQ29uY3JldGUgUm9tYW4iXT0hMDtlLkNvbnN0YW50aWE9ITA7ZVsiQ29vcGVyIEJsYWNrIl09ITA7ZS5Db3JvbmE9ITA7ZS5FY290eXBlPSEwO2UuRWd5cHRpZW5uZT0hMDtlLkVsZXBoYW50PSEwO2UuRXhjZWxzaW9yPSEwO2UuRmFpcmZpZWxkPSEwO2VbIkZGIFNjYWxhIl09ITA7ZS5Gb2xrYXJkPSEwO2UuRm9vdGxpZ2h0PSEwO2UuRnJlZVNlcmlmPSEwO2VbIkZyaXogUXVhZHJhdGEiXT0hMDtlLkdhcmFtb25kPSEwO2UuR2VudGl1bT0hMDtlLkdlb3JnaWE9ITA7ZS5HbG91Y2VzdGVyPSEwO2VbIkdvdWR5IE9sZCBTdHlsZSJdPSEwO2VbIkdvdWR5IFNjaG9vbGJvb2siXT0hMDtlWyJHb3VkeSBQcm8gRm9udCJdPSEwO2UuR3Jhbmpvbj0hMDtlWyJHdWFyZGlhbiBFZ3lwdGlhbiJdPSEwO2UuSGVhdGhlcj0hMDtlLkhlcmN1bGVzPSEwO2VbIkhpZ2ggVG93ZXIgVGV4dCJdPSEwO2UuSGlyb3NoaWdlPSEwO2VbIkhvZWZsZXIgVGV4dCJdPSEwO2VbIkh1bWFuYSBTZXJpZiJdPSEwO2UuSW1wcmludD0hMDtlWyJJb25pYyBOby4gNSJdPSEwO2UuSmFuc29uPSEwO2UuSm9hbm5hPSEwO2UuS29yaW5uYT0hMDtlLkxleGljb249ITA7ZS5MaWJlcmF0aW9uU2VyaWY9ITA7ZVsiTGliZXJhdGlvbiBTZXJpZiJdPSEwO2VbIkxpbnV4IExpYmVydGluZSJdPSEwO2UuTGl0ZXJhdHVybmF5YT0hMDtlLkx1Y2lkYT0hMDtlWyJMdWNpZGEgQnJpZ2h0Il09ITA7ZS5NZWxpb3I9ITA7ZS5NZW1waGlzPSEwO2UuTWlsbGVyPSEwO2UuTWluaW9uPSEwO2UuTW9kZXJuPSEwO2VbIk1vbmEgTGlzYSJdPSEwO2VbIk1ycyBFYXZlcyJdPSEwO2VbIk1TIFNlcmlmIl09ITA7ZVsiTXVzZW8gU2xhYiJdPSEwO2VbIk5ldyBZb3JrIl09ITA7ZVsiTmltYnVzIFJvbWFuIl09ITA7ZVsiTlBTIFJhd2xpbnNvbiBSb2Fkd2F5Il09ITA7ZS5OdXB0aWFsU2NyaXB0PSEwO2UuUGFsYXRpbm89ITA7ZS5QZXJwZXR1YT0hMDtlLlBsYW50aW49ITA7ZVsiUGxhbnRpbiBTY2hvb2xib29rIl09ITA7ZS5QbGF5YmlsbD0hMDtlWyJQb29yIFJpY2hhcmQiXT0hMDtlWyJSYXdsaW5zb24gUm9hZHdheSJdPSEwO2UuUmVuYXVsdD0hMDtlLlJlcXVpZW09ITA7ZS5Sb2Nrd2VsbD0hMDtlLlJvbWFuPSEwO2VbIlJvdGlzIFNlcmlmIl09ITA7ZS5TYWJvbj0hMDtlLlNjYWxhPSEwO2UuU2VhZ3VsbD0hMDtlLlNpc3RpbmE9ITA7ZS5Tb3V2ZW5pcj0hMDtlLlNUSVg9ITA7ZVsiU3RvbmUgSW5mb3JtYWwiXT0hMDtlWyJTdG9uZSBTZXJpZiJdPSEwO2UuU3lsZmFlbj0hMDtlLlRpbWVzPSEwO2UuVHJhamFuPSEwO2VbIlRyaW5pdMOpIl09ITA7ZVsiVHJ1bXAgTWVkaWFldmFsIl09ITA7ZS5VdG9waWE9ITA7ZVsiVmFsZSBUeXBlIl09ITA7ZVsiQml0c3RyZWFtIFZlcmEiXT0hMDtlWyJWZXJhIFNlcmlmIl09ITA7ZS5WZXJzYWlsbGVzPSEwO2UuV2FudGVkPSEwO2UuV2Vpc3M9ITA7ZVsiV2lkZSBMYXRpbiJdPSEwO2UuV2luZHNvcj0hMDtlLlhJVFM9ITB9KSksJGk9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLkRpbmdiYXRzPSEwO2UuU3ltYm9sPSEwO2UuWmFwZkRpbmdiYXRzPSEwO2UuV2luZ2RpbmdzPSEwO2VbIldpbmdkaW5ncy1Cb2xkIl09ITA7ZVsiV2luZ2RpbmdzLVJlZ3VsYXIiXT0hMH0pKSxBYT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2VbMl09MTA7ZVszXT0zMjtlWzRdPTMzO2VbNV09MzQ7ZVs2XT0zNTtlWzddPTM2O2VbOF09Mzc7ZVs5XT0zODtlWzEwXT0zOTtlWzExXT00MDtlWzEyXT00MTtlWzEzXT00MjtlWzE0XT00MztlWzE1XT00NDtlWzE2XT00NTtlWzE3XT00NjtlWzE4XT00NztlWzE5XT00ODtlWzIwXT00OTtlWzIxXT01MDtlWzIyXT01MTtlWzIzXT01MjtlWzI0XT01MztlWzI1XT01NDtlWzI2XT01NTtlWzI3XT01NjtlWzI4XT01NztlWzI5XT01ODtlWzMwXT04OTQ7ZVszMV09NjA7ZVszMl09NjE7ZVszM109NjI7ZVszNF09NjM7ZVszNV09NjQ7ZVszNl09NjU7ZVszN109NjY7ZVszOF09Njc7ZVszOV09Njg7ZVs0MF09Njk7ZVs0MV09NzA7ZVs0Ml09NzE7ZVs0M109NzI7ZVs0NF09NzM7ZVs0NV09NzQ7ZVs0Nl09NzU7ZVs0N109NzY7ZVs0OF09Nzc7ZVs0OV09Nzg7ZVs1MF09Nzk7ZVs1MV09ODA7ZVs1Ml09ODE7ZVs1M109ODI7ZVs1NF09ODM7ZVs1NV09ODQ7ZVs1Nl09ODU7ZVs1N109ODY7ZVs1OF09ODc7ZVs1OV09ODg7ZVs2MF09ODk7ZVs2MV09OTA7ZVs2Ml09OTE7ZVs2M109OTI7ZVs2NF09OTM7ZVs2NV09OTQ7ZVs2Nl09OTU7ZVs2N109OTY7ZVs2OF09OTc7ZVs2OV09OTg7ZVs3MF09OTk7ZVs3MV09MTAwO2VbNzJdPTEwMTtlWzczXT0xMDI7ZVs3NF09MTAzO2VbNzVdPTEwNDtlWzc2XT0xMDU7ZVs3N109MTA2O2VbNzhdPTEwNztlWzc5XT0xMDg7ZVs4MF09MTA5O2VbODFdPTExMDtlWzgyXT0xMTE7ZVs4M109MTEyO2VbODRdPTExMztlWzg1XT0xMTQ7ZVs4Nl09MTE1O2VbODddPTExNjtlWzg4XT0xMTc7ZVs4OV09MTE4O2VbOTBdPTExOTtlWzkxXT0xMjA7ZVs5Ml09MTIxO2VbOTNdPTEyMjtlWzk0XT0xMjM7ZVs5NV09MTI0O2VbOTZdPTEyNTtlWzk3XT0xMjY7ZVs5OF09MTk2O2VbOTldPTE5NztlWzEwMF09MTk5O2VbMTAxXT0yMDE7ZVsxMDJdPTIwOTtlWzEwM109MjE0O2VbMTA0XT0yMjA7ZVsxMDVdPTIyNTtlWzEwNl09MjI0O2VbMTA3XT0yMjY7ZVsxMDhdPTIyODtlWzEwOV09MjI3O2VbMTEwXT0yMjk7ZVsxMTFdPTIzMTtlWzExMl09MjMzO2VbMTEzXT0yMzI7ZVsxMTRdPTIzNDtlWzExNV09MjM1O2VbMTE2XT0yMzc7ZVsxMTddPTIzNjtlWzExOF09MjM4O2VbMTE5XT0yMzk7ZVsxMjBdPTI0MTtlWzEyMV09MjQzO2VbMTIyXT0yNDI7ZVsxMjNdPTI0NDtlWzEyNF09MjQ2O2VbMTI1XT0yNDU7ZVsxMjZdPTI1MDtlWzEyN109MjQ5O2VbMTI4XT0yNTE7ZVsxMjldPTI1MjtlWzEzMF09ODIyNDtlWzEzMV09MTc2O2VbMTMyXT0xNjI7ZVsxMzNdPTE2MztlWzEzNF09MTY3O2VbMTM1XT04MjI2O2VbMTM2XT0xODI7ZVsxMzddPTIyMztlWzEzOF09MTc0O2VbMTM5XT0xNjk7ZVsxNDBdPTg0ODI7ZVsxNDFdPTE4MDtlWzE0Ml09MTY4O2VbMTQzXT04ODAwO2VbMTQ0XT0xOTg7ZVsxNDVdPTIxNjtlWzE0Nl09ODczNDtlWzE0N109MTc3O2VbMTQ4XT04ODA0O2VbMTQ5XT04ODA1O2VbMTUwXT0xNjU7ZVsxNTFdPTE4MTtlWzE1Ml09ODcwNjtlWzE1M109ODcyMTtlWzE1NF09ODcxOTtlWzE1Nl09ODc0NztlWzE1N109MTcwO2VbMTU4XT0xODY7ZVsxNTldPTg0ODY7ZVsxNjBdPTIzMDtlWzE2MV09MjQ4O2VbMTYyXT0xOTE7ZVsxNjNdPTE2MTtlWzE2NF09MTcyO2VbMTY1XT04NzMwO2VbMTY2XT00MDI7ZVsxNjddPTg3NzY7ZVsxNjhdPTg3MTA7ZVsxNjldPTE3MTtlWzE3MF09MTg3O2VbMTcxXT04MjMwO2VbMTc5XT04MjIwO2VbMTgwXT04MjIxO2VbMTgxXT04MjE2O2VbMTgyXT04MjE3O2VbMjAwXT0xOTM7ZVsyMDNdPTIwNTtlWzIwN109MjExO2VbMjEwXT0yMTg7ZVsyMjNdPTcxMTtlWzIyNF09MzIxO2VbMjI1XT0zMjI7ZVsyMjZdPTM1MjtlWzIyN109MzUzO2VbMjI4XT0zODE7ZVsyMjldPTM4MjtlWzIzM109MjIxO2VbMjM0XT0yNTM7ZVsyNTJdPTI2MztlWzI1M109MjY4O2VbMjU0XT0yNjk7ZVsyNThdPTI1ODtlWzI2MF09MjYwO2VbMjYxXT0yNjE7ZVsyNjVdPTI4MDtlWzI2Nl09MjgxO2VbMjY3XT0yODI7ZVsyNjhdPTI4MztlWzI2OV09MzEzO2VbMjc1XT0zMjM7ZVsyNzZdPTMyNDtlWzI3OF09MzI4O2VbMjgzXT0zNDQ7ZVsyODRdPTM0NTtlWzI4NV09MzQ2O2VbMjg2XT0zNDc7ZVsyOTJdPTM2NztlWzI5NV09Mzc3O2VbMjk2XT0zNzg7ZVsyOThdPTM4MDtlWzMwNV09OTYzO2VbMzA2XT05NjQ7ZVszMDddPTk2NjtlWzMwOF09ODIxNTtlWzMwOV09ODI1MjtlWzMxMF09ODMxOTtlWzMxMV09ODM1OTtlWzMxMl09ODU5MjtlWzMxM109ODU5MztlWzMzN109OTU1MjtlWzQ5M109MTAzOTtlWzQ5NF09MTA0MDtlWzY3Ml09MTQ4ODtlWzY3M109MTQ4OTtlWzY3NF09MTQ5MDtlWzY3NV09MTQ5MTtlWzY3Nl09MTQ5MjtlWzY3N109MTQ5MztlWzY3OF09MTQ5NDtlWzY3OV09MTQ5NTtlWzY4MF09MTQ5NjtlWzY4MV09MTQ5NztlWzY4Ml09MTQ5ODtlWzY4M109MTQ5OTtlWzY4NF09MTUwMDtlWzY4NV09MTUwMTtlWzY4Nl09MTUwMjtlWzY4N109MTUwMztlWzY4OF09MTUwNDtlWzY4OV09MTUwNTtlWzY5MF09MTUwNjtlWzY5MV09MTUwNztlWzY5Ml09MTUwODtlWzY5M109MTUwOTtlWzY5NF09MTUxMDtlWzY5NV09MTUxMTtlWzY5Nl09MTUxMjtlWzY5N109MTUxMztlWzY5OF09MTUxNDtlWzcwNV09MTUyNDtlWzcwNl09ODM2MjtlWzcxMF09NjQyODg7ZVs3MTFdPTY0Mjk4O2VbNzU5XT0xNjE3O2VbNzYxXT0xNzc2O2VbNzYzXT0xNzc4O2VbNzc1XT0xNjUyO2VbNzc3XT0xNzY0O2VbNzc4XT0xNzgwO2VbNzc5XT0xNzgxO2VbNzgwXT0xNzgyO2VbNzgyXT03NzE7ZVs3ODNdPTY0NzI2O2VbNzg2XT04MzYzO2VbNzg4XT04NTMyO2VbNzkwXT03Njg7ZVs3OTFdPTc2OTtlWzc5Ml09NzY4O2VbNzk1XT04MDM7ZVs3OTddPTY0MzM2O2VbNzk4XT02NDMzNztlWzc5OV09NjQzNDI7ZVs4MDBdPTY0MzQzO2VbODAxXT02NDM0NDtlWzgwMl09NjQzNDU7ZVs4MDNdPTY0MzYyO2VbODA0XT02NDM2MztlWzgwNV09NjQzNjQ7ZVsyNDI0XT03ODIxO2VbMjQyNV09NzgyMjtlWzI0MjZdPTc4MjM7ZVsyNDI3XT03ODI0O2VbMjQyOF09NzgyNTtlWzI0MjldPTc4MjY7ZVsyNDMwXT03ODI3O2VbMjQzM109NzY4MjtlWzI2NzhdPTgwNDU7ZVsyNjc5XT04MDQ2O2VbMjgzMF09MTU1MjtlWzI4MzhdPTY4NjtlWzI4NDBdPTc1MTtlWzI4NDJdPTc1MztlWzI4NDNdPTc1NDtlWzI4NDRdPTc1NTtlWzI4NDZdPTc1NztlWzI4NTZdPTc2NztlWzI4NTddPTg0ODtlWzI4NThdPTg0OTtlWzI4NjJdPTg1MztlWzI4NjNdPTg1NDtlWzI4NjRdPTg1NTtlWzI4NjVdPTg2MTtlWzI4NjZdPTg2MjtlWzI5MDZdPTc0NjA7ZVsyOTA4XT03NDYyO2VbMjkwOV09NzQ2MztlWzI5MTBdPTc0NjQ7ZVsyOTEyXT03NDY2O2VbMjkxM109NzQ2NztlWzI5MTRdPTc0Njg7ZVsyOTE2XT03NDcwO2VbMjkxN109NzQ3MTtlWzI5MThdPTc0NzI7ZVsyOTIwXT03NDc0O2VbMjkyMV09NzQ3NTtlWzI5MjJdPTc0NzY7ZVsyOTI0XT03NDc4O2VbMjkyNV09NzQ3OTtlWzI5MjZdPTc0ODA7ZVsyOTI4XT03NDgyO2VbMjkyOV09NzQ4MztlWzI5MzBdPTc0ODQ7ZVsyOTMyXT03NDg2O2VbMjkzM109NzQ4NztlWzI5MzRdPTc0ODg7ZVsyOTM2XT03NDkwO2VbMjkzN109NzQ5MTtlWzI5MzhdPTc0OTI7ZVsyOTQwXT03NDk0O2VbMjk0MV09NzQ5NTtlWzI5NDJdPTc0OTY7ZVsyOTQ0XT03NDk4O2VbMjk0Nl09NzUwMDtlWzI5NDhdPTc1MDI7ZVsyOTUwXT03NTA0O2VbMjk1MV09NzUwNTtlWzI5NTJdPTc1MDY7ZVsyOTU0XT03NTA4O2VbMjk1NV09NzUwOTtlWzI5NTZdPTc1MTA7ZVsyOTU4XT03NTEyO2VbMjk1OV09NzUxMztlWzI5NjBdPTc1MTQ7ZVsyOTYyXT03NTE2O2VbMjk2M109NzUxNztlWzI5NjRdPTc1MTg7ZVsyOTY2XT03NTIwO2VbMjk2N109NzUyMTtlWzI5NjhdPTc1MjI7ZVsyOTcwXT03NTI0O2VbMjk3MV09NzUyNTtlWzI5NzJdPTc1MjY7ZVsyOTc0XT03NTI4O2VbMjk3NV09NzUyOTtlWzI5NzZdPTc1MzA7ZVsyOTc4XT0xNTM3O2VbMjk3OV09MTUzODtlWzI5ODBdPTE1Mzk7ZVsyOTgyXT0xNTQ5O2VbMjk4M109MTU1MTtlWzI5ODRdPTE1NTI7ZVsyOTg2XT0xNTU0O2VbMjk4N109MTU1NTtlWzI5ODhdPTE1NTY7ZVsyOTkwXT0xNjIzO2VbMjk5MV09MTYyNDtlWzI5OTVdPTE3NzU7ZVsyOTk5XT0xNzkxO2VbMzAwMl09NjQyOTA7ZVszMDAzXT02NDI5MTtlWzMwMDRdPTY0MjkyO2VbMzAwNl09NjQyOTQ7ZVszMDA3XT02NDI5NTtlWzMwMDhdPTY0Mjk2O2VbMzAxMV09MTkwMDtlWzMwMTRdPTgyMjM7ZVszMDE1XT04MjQ0O2VbMzAxN109NzUzMjtlWzMwMThdPTc1MzM7ZVszMDE5XT03NTM0O2VbMzA3NV09NzU5MDtlWzMwNzZdPTc1OTE7ZVszMDc5XT03NTk0O2VbMzA4MF09NzU5NTtlWzMwODNdPTc1OTg7ZVszMDg0XT03NTk5O2VbMzA4N109NzYwMjtlWzMwODhdPTc2MDM7ZVszMDkxXT03NjA2O2VbMzA5Ml09NzYwNztlWzMwOTVdPTc2MTA7ZVszMDk2XT03NjExO2VbMzA5OV09NzYxNDtlWzMxMDBdPTc2MTU7ZVszMTAzXT03NjE4O2VbMzEwNF09NzYxOTtlWzMxMDddPTgzMzc7ZVszMTA4XT04MzM4O2VbMzExNl09MTg4NDtlWzMxMTldPTE4ODU7ZVszMTIwXT0xODg1O2VbMzEyM109MTg4NjtlWzMxMjRdPTE4ODY7ZVszMTI3XT0xODg3O2VbMzEyOF09MTg4NztlWzMxMzFdPTE4ODg7ZVszMTMyXT0xODg4O2VbMzEzNV09MTg4OTtlWzMxMzZdPTE4ODk7ZVszMTM5XT0xODkwO2VbMzE0MF09MTg5MDtlWzMxNDNdPTE4OTE7ZVszMTQ0XT0xODkxO2VbMzE0N109MTg5MjtlWzMxNDhdPTE4OTI7ZVszMTUzXT01ODA7ZVszMTU0XT01ODE7ZVszMTU3XT01ODQ7ZVszMTU4XT01ODU7ZVszMTYxXT01ODg7ZVszMTYyXT01ODk7ZVszMTY1XT04OTE7ZVszMTY2XT04OTI7ZVszMTY5XT0xMjc0O2VbMzE3MF09MTI3NTtlWzMxNzNdPTEyNzg7ZVszMTc0XT0xMjc5O2VbMzE4MV09NzYyMjtlWzMxODJdPTc2MjM7ZVszMjgyXT0xMTc5OTtlWzMzMTZdPTU3ODtlWzMzNzldPTQyNzg1O2VbMzM5M109MTE1OTtlWzM0MTZdPTgzNzd9KSksZWE9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlWzIyN109MzIyO2VbMjY0XT0yNjE7ZVsyOTFdPTM0Nn0pKSx0YT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2VbMV09MzI7ZVs0XT02NTtlWzVdPTE5MjtlWzZdPTE5MztlWzldPTE5NjtlWzE3XT02NjtlWzE4XT02NztlWzIxXT0yNjg7ZVsyNF09Njg7ZVsyOF09Njk7ZVsyOV09MjAwO2VbMzBdPTIwMTtlWzMyXT0yODI7ZVszOF09NzA7ZVszOV09NzE7ZVs0NF09NzI7ZVs0N109NzM7ZVs0OF09MjA0O2VbNDldPTIwNTtlWzU4XT03NDtlWzYwXT03NTtlWzYyXT03NjtlWzY4XT03NztlWzY5XT03ODtlWzc1XT03OTtlWzc2XT0yMTA7ZVs4MF09MjE0O2VbODddPTgwO2VbODldPTgxO2VbOTBdPTgyO2VbOTJdPTM0NDtlWzk0XT04MztlWzk3XT0zNTI7ZVsxMDBdPTg0O2VbMTA0XT04NTtlWzEwOV09MjIwO2VbMTE1XT04NjtlWzExNl09ODc7ZVsxMjFdPTg4O2VbMTIyXT04OTtlWzEyNF09MjIxO2VbMTI3XT05MDtlWzEyOV09MzgxO2VbMjU4XT05NztlWzI1OV09MjI0O2VbMjYwXT0yMjU7ZVsyNjNdPTIyODtlWzI2OF09MjYxO2VbMjcxXT05ODtlWzI3Ml09OTk7ZVsyNzNdPTI2MztlWzI3NV09MjY5O2VbMjgyXT0xMDA7ZVsyODZdPTEwMTtlWzI4N109MjMyO2VbMjg4XT0yMzM7ZVsyOTBdPTI4MztlWzI5NV09MjgxO2VbMjk2XT0xMDI7ZVszMzZdPTEwMztlWzM0Nl09MTA0O2VbMzQ5XT0xMDU7ZVszNTBdPTIzNjtlWzM1MV09MjM3O2VbMzYxXT0xMDY7ZVszNjRdPTEwNztlWzM2N109MTA4O2VbMzcxXT0zMjI7ZVszNzNdPTEwOTtlWzM3NF09MTEwO2VbMzgxXT0xMTE7ZVszODJdPTI0MjtlWzM4M109MjQzO2VbMzg2XT0yNDY7ZVszOTNdPTExMjtlWzM5NV09MTEzO2VbMzk2XT0xMTQ7ZVszOThdPTM0NTtlWzQwMF09MTE1O2VbNDAxXT0zNDc7ZVs0MDNdPTM1MztlWzQxMF09MTE2O2VbNDM3XT0xMTc7ZVs0NDJdPTI1MjtlWzQ0OF09MTE4O2VbNDQ5XT0xMTk7ZVs0NTRdPTEyMDtlWzQ1NV09MTIxO2VbNDU3XT0yNTM7ZVs0NjBdPTEyMjtlWzQ2Ml09MzgyO2VbNDYzXT0zODA7ZVs4NTNdPTQ0O2VbODU1XT01ODtlWzg1Nl09NDY7ZVs4NzZdPTQ3O2VbODc4XT00NTtlWzg4Ml09NDU7ZVs4OTRdPTQwO2VbODk1XT00MTtlWzg5Nl09OTE7ZVs4OTddPTkzO2VbOTIzXT02NDtlWzEwMDRdPTQ4O2VbMTAwNV09NDk7ZVsxMDA2XT01MDtlWzEwMDddPTUxO2VbMTAwOF09NTI7ZVsxMDA5XT01MztlWzEwMTBdPTU0O2VbMTAxMV09NTU7ZVsxMDEyXT01NjtlWzEwMTNdPTU3O2VbMTA4MV09Mzc7ZVsxMDg1XT00MztlWzEwODZdPTQ1fSkpO2Z1bmN0aW9uIGdldFN0YW5kYXJkRm9udE5hbWUoZSl7Y29uc3QgdD1ub3JtYWxpemVGb250TmFtZShlKTtyZXR1cm4gWmkoKVt0XX1mdW5jdGlvbiBpc0tub3duRm9udE5hbWUoZSl7Y29uc3QgdD1ub3JtYWxpemVGb250TmFtZShlKTtyZXR1cm4hIShaaSgpW3RdfHx6aSgpW3RdfHxfaSgpW3RdfHwkaSgpW3RdKX1jbGFzcyBUb1VuaWNvZGVNYXB7Y29uc3RydWN0b3IoZT1bXSl7dGhpcy5fbWFwPWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLl9tYXAubGVuZ3RofWZvckVhY2goZSl7Zm9yKGNvbnN0IHQgaW4gdGhpcy5fbWFwKWUodCx0aGlzLl9tYXBbdF0uY2hhckNvZGVBdCgwKSl9aGFzKGUpe3JldHVybiB2b2lkIDAhPT10aGlzLl9tYXBbZV19Z2V0KGUpe3JldHVybiB0aGlzLl9tYXBbZV19Y2hhckNvZGVPZihlKXtjb25zdCB0PXRoaXMuX21hcDtpZih0Lmxlbmd0aDw9NjU1MzYpcmV0dXJuIHQuaW5kZXhPZihlKTtmb3IoY29uc3QgaSBpbiB0KWlmKHRbaV09PT1lKXJldHVybiAwfGk7cmV0dXJuLTF9YW1lbmQoZSl7Zm9yKGNvbnN0IHQgaW4gZSl0aGlzLl9tYXBbdF09ZVt0XX19Y2xhc3MgSWRlbnRpdHlUb1VuaWNvZGVNYXB7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZpcnN0Q2hhcj1lO3RoaXMubGFzdENoYXI9dH1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMubGFzdENoYXIrMS10aGlzLmZpcnN0Q2hhcn1mb3JFYWNoKGUpe2ZvcihsZXQgdD10aGlzLmZpcnN0Q2hhcixpPXRoaXMubGFzdENoYXI7dDw9aTt0KyspZSh0LHQpfWhhcyhlKXtyZXR1cm4gdGhpcy5maXJzdENoYXI8PWUmJmU8PXRoaXMubGFzdENoYXJ9Z2V0KGUpe2lmKHRoaXMuZmlyc3RDaGFyPD1lJiZlPD10aGlzLmxhc3RDaGFyKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGUpfWNoYXJDb2RlT2YoZSl7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoZSkmJmU+PXRoaXMuZmlyc3RDaGFyJiZlPD10aGlzLmxhc3RDaGFyP2U6LTF9YW1lbmQoZSl7dW5yZWFjaGFibGUoIlNob3VsZCBub3QgY2FsbCBhbWVuZCgpIil9fWNsYXNzIENGRkZvbnR7Y29uc3RydWN0b3IoZSx0KXt0aGlzLnByb3BlcnRpZXM9dDtjb25zdCBpPW5ldyBDRkZQYXJzZXIoZSx0LFRpKTt0aGlzLmNmZj1pLnBhcnNlKCk7dGhpcy5jZmYuZHVwbGljYXRlRmlyc3RHbHlwaCgpO2NvbnN0IGE9bmV3IENGRkNvbXBpbGVyKHRoaXMuY2ZmKTt0aGlzLnNlYWNzPXRoaXMuY2ZmLnNlYWNzO3RyeXt0aGlzLmRhdGE9YS5jb21waWxlKCl9Y2F0Y2h7d2FybigiRmFpbGVkIHRvIGNvbXBpbGUgZm9udCAiK3QubG9hZGVkTmFtZSk7dGhpcy5kYXRhPWV9dGhpcy5fY3JlYXRlQnVpbHRJbkVuY29kaW5nKCl9Z2V0IG51bUdseXBocygpe3JldHVybiB0aGlzLmNmZi5jaGFyU3RyaW5ncy5jb3VudH1nZXRDaGFyc2V0KCl7cmV0dXJuIHRoaXMuY2ZmLmNoYXJzZXQuY2hhcnNldH1nZXRHbHlwaE1hcHBpbmcoKXtjb25zdCBlPXRoaXMuY2ZmLHQ9dGhpcy5wcm9wZXJ0aWVzLHtjaWRUb0dpZE1hcDppLGNNYXA6YX09dCxzPWUuY2hhcnNldC5jaGFyc2V0O2xldCByLG47aWYodC5jb21wb3NpdGUpe2xldCB0LGc7aWYoaT8ubGVuZ3RoPjApe3Q9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IGU9MCxhPWkubGVuZ3RoO2U8YTtlKyspe2NvbnN0IGE9aVtlXTt2b2lkIDAhPT1hJiYodFthXT1lKX19cj1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGUuaXNDSURGb250KWZvcihuPTA7bjxzLmxlbmd0aDtuKyspe2NvbnN0IGU9c1tuXTtnPWEuY2hhckNvZGVPZihlKTt2b2lkIDAhPT10Py5bZ10mJihnPXRbZ10pO3JbZ109bn1lbHNlIGZvcihuPTA7bjxlLmNoYXJTdHJpbmdzLmNvdW50O24rKyl7Zz1hLmNoYXJDb2RlT2Yobik7cltnXT1ufXJldHVybiByfWxldCBnPWUuZW5jb2Rpbmc/ZS5lbmNvZGluZy5lbmNvZGluZzpudWxsO3QuaXNJbnRlcm5hbEZvbnQmJihnPXQuZGVmYXVsdEVuY29kaW5nKTtyPXR5cGUxRm9udEdseXBoTWFwcGluZyh0LGcscyk7cmV0dXJuIHJ9aGFzR2x5cGhJZChlKXtyZXR1cm4gdGhpcy5jZmYuaGFzR2x5cGhJZChlKX1fY3JlYXRlQnVpbHRJbkVuY29kaW5nKCl7Y29uc3R7Y2hhcnNldDplLGVuY29kaW5nOnR9PXRoaXMuY2ZmO2lmKCFlfHwhdClyZXR1cm47Y29uc3QgaT1lLmNoYXJzZXQsYT10LmVuY29kaW5nLHM9W107Zm9yKGNvbnN0IGUgaW4gYSl7Y29uc3QgdD1hW2VdO2lmKHQ+PTApe2NvbnN0IGE9aVt0XTthJiYoc1tlXT1hKX19cy5sZW5ndGg+MCYmKHRoaXMucHJvcGVydGllcy5idWlsdEluRW5jb2Rpbmc9cyl9fWZ1bmN0aW9uIGdldFVpbnQzMihlLHQpe3JldHVybihlW3RdPDwyNHxlW3QrMV08PDE2fGVbdCsyXTw8OHxlW3QrM10pPj4+MH1mdW5jdGlvbiBnZXRVaW50MTYoZSx0KXtyZXR1cm4gZVt0XTw8OHxlW3QrMV19ZnVuY3Rpb24gZ2V0SW50MTYoZSx0KXtyZXR1cm4oZVt0XTw8MjR8ZVt0KzFdPDwxNik+PjE2fWZ1bmN0aW9uIGdldEludDgoZSx0KXtyZXR1cm4gZVt0XTw8MjQ+PjI0fWZ1bmN0aW9uIGdldEZsb2F0MjE0KGUsdCl7cmV0dXJuIGdldEludDE2KGUsdCkvMTYzODR9ZnVuY3Rpb24gZ2V0U3Vicm91dGluZUJpYXMoZSl7Y29uc3QgdD1lLmxlbmd0aDtsZXQgaT0zMjc2ODt0PDEyNDA/aT0xMDc6dDwzMzkwMCYmKGk9MTEzMSk7cmV0dXJuIGl9ZnVuY3Rpb24gcGFyc2VDbWFwKGUsdCxpKXtjb25zdCBhPTE9PT1nZXRVaW50MTYoZSx0KzIpP2dldFVpbnQzMihlLHQrOCk6Z2V0VWludDMyKGUsdCsxNikscz1nZXRVaW50MTYoZSx0K2EpO2xldCByLG4sZztpZig0PT09cyl7Z2V0VWludDE2KGUsdCthKzIpO2NvbnN0IGk9Z2V0VWludDE2KGUsdCthKzYpPj4xO249dCthKzE0O3I9W107Zm9yKGc9MDtnPGk7ZysrLG4rPTIpcltnXT17ZW5kOmdldFVpbnQxNihlLG4pfTtuKz0yO2ZvcihnPTA7ZzxpO2crKyxuKz0yKXJbZ10uc3RhcnQ9Z2V0VWludDE2KGUsbik7Zm9yKGc9MDtnPGk7ZysrLG4rPTIpcltnXS5pZERlbHRhPWdldFVpbnQxNihlLG4pO2ZvcihnPTA7ZzxpO2crKyxuKz0yKXtsZXQgdD1nZXRVaW50MTYoZSxuKTtpZigwIT09dCl7cltnXS5pZHM9W107Zm9yKGxldCBpPTAsYT1yW2ddLmVuZC1yW2ddLnN0YXJ0KzE7aTxhO2krKyl7cltnXS5pZHNbaV09Z2V0VWludDE2KGUsbit0KTt0Kz0yfX19cmV0dXJuIHJ9aWYoMTI9PT1zKXtjb25zdCBpPWdldFVpbnQzMihlLHQrYSsxMik7bj10K2ErMTY7cj1bXTtmb3IoZz0wO2c8aTtnKyspe3Q9Z2V0VWludDMyKGUsbik7ci5wdXNoKHtzdGFydDp0LGVuZDpnZXRVaW50MzIoZSxuKzQpLGlkRGVsdGE6Z2V0VWludDMyKGUsbis4KS10fSk7bis9MTJ9cmV0dXJuIHJ9dGhyb3cgbmV3IEZvcm1hdEVycm9yKGB1bnN1cHBvcnRlZCBjbWFwOiAke3N9YCl9ZnVuY3Rpb24gcGFyc2VDZmYoZSx0LGksYSl7Y29uc3Qgcz1uZXcgQ0ZGUGFyc2VyKG5ldyBTdHJlYW0oZSx0LGktdCkse30sYSkucGFyc2UoKTtyZXR1cm57Z2x5cGhzOnMuY2hhclN0cmluZ3Mub2JqZWN0cyxzdWJyczpzLnRvcERpY3QucHJpdmF0ZURpY3Q/LnN1YnJzSW5kZXg/Lm9iamVjdHMsZ3N1YnJzOnMuZ2xvYmFsU3VickluZGV4Py5vYmplY3RzLGlzQ0ZGQ0lERm9udDpzLmlzQ0lERm9udCxmZFNlbGVjdDpzLmZkU2VsZWN0LGZkQXJyYXk6cy5mZEFycmF5fX1mdW5jdGlvbiBsb29rdXBDbWFwKGUsdCl7Y29uc3QgaT10LmNvZGVQb2ludEF0KDApO2xldCBhPTAscz0wLHI9ZS5sZW5ndGgtMTtmb3IoO3M8cjspe2NvbnN0IHQ9cytyKzE+PjE7aTxlW3RdLnN0YXJ0P3I9dC0xOnM9dH1lW3NdLnN0YXJ0PD1pJiZpPD1lW3NdLmVuZCYmKGE9ZVtzXS5pZERlbHRhKyhlW3NdLmlkcz9lW3NdLmlkc1tpLWVbc10uc3RhcnRdOmkpJjY1NTM1KTtyZXR1cm57Y2hhckNvZGU6aSxnbHlwaElkOmF9fWZ1bmN0aW9uIGNvbXBpbGVHbHlmKGUsdCxpKXtmdW5jdGlvbiBtb3ZlVG8oZSxpKXt0LmFkZChsdCxbZSxpXSl9ZnVuY3Rpb24gbGluZVRvKGUsaSl7dC5hZGQoUXQsW2UsaV0pfWZ1bmN0aW9uIHF1YWRyYXRpY0N1cnZlVG8oZSxpLGEscyl7dC5hZGQoRXQsW2UsaSxhLHNdKX1sZXQgYT0wO2NvbnN0IHM9Z2V0SW50MTYoZSxhKTtsZXQgcixuPTAsZz0wO2ErPTEwO2lmKHM8MClkb3tyPWdldFVpbnQxNihlLGEpO2NvbnN0IHM9Z2V0VWludDE2KGUsYSsyKTthKz00O2xldCBvLGM7aWYoMSZyKXtpZigyJnIpe289Z2V0SW50MTYoZSxhKTtjPWdldEludDE2KGUsYSsyKX1lbHNle289Z2V0VWludDE2KGUsYSk7Yz1nZXRVaW50MTYoZSxhKzIpfWErPTR9ZWxzZSBpZigyJnIpe289Z2V0SW50OChlLGErKyk7Yz1nZXRJbnQ4KGUsYSsrKX1lbHNle289ZVthKytdO2M9ZVthKytdfWlmKDImcil7bj1vO2c9Y31lbHNle249MDtnPTB9bGV0IEM9MSxoPTEsbD0wLFE9MDtpZig4JnIpe0M9aD1nZXRGbG9hdDIxNChlLGEpO2ErPTJ9ZWxzZSBpZig2NCZyKXtDPWdldEZsb2F0MjE0KGUsYSk7aD1nZXRGbG9hdDIxNChlLGErMik7YSs9NH1lbHNlIGlmKDEyOCZyKXtDPWdldEZsb2F0MjE0KGUsYSk7bD1nZXRGbG9hdDIxNChlLGErMik7UT1nZXRGbG9hdDIxNChlLGErNCk7aD1nZXRGbG9hdDIxNChlLGErNik7YSs9OH1jb25zdCBFPWkuZ2x5cGhzW3NdO2lmKEUpe3QuYWRkKGR0KTt0LmFkZChwdCxbQyxsLFEsaCxuLGddKTtjb21waWxlR2x5ZihFLHQsaSk7dC5hZGQodXQpfX13aGlsZSgzMiZyKTtlbHNle2NvbnN0IHQ9W107bGV0IGksbztmb3IoaT0wO2k8cztpKyspe3QucHVzaChnZXRVaW50MTYoZSxhKSk7YSs9Mn1hKz0yK2dldFVpbnQxNihlLGEpO2NvbnN0IGM9dC5hdCgtMSkrMSxDPVtdO2Zvcig7Qy5sZW5ndGg8Yzspe3I9ZVthKytdO2xldCB0PTE7OCZyJiYodCs9ZVthKytdKTtmb3IoO3QtLSA+MDspQy5wdXNoKHtmbGFnczpyfSl9Zm9yKGk9MDtpPGM7aSsrKXtzd2l0Y2goMTgmQ1tpXS5mbGFncyl7Y2FzZSAwOm4rPWdldEludDE2KGUsYSk7YSs9MjticmVhaztjYXNlIDI6bi09ZVthKytdO2JyZWFrO2Nhc2UgMTg6bis9ZVthKytdfUNbaV0ueD1ufWZvcihpPTA7aTxjO2krKyl7c3dpdGNoKDM2JkNbaV0uZmxhZ3Mpe2Nhc2UgMDpnKz1nZXRJbnQxNihlLGEpO2ErPTI7YnJlYWs7Y2FzZSA0OmctPWVbYSsrXTticmVhaztjYXNlIDM2OmcrPWVbYSsrXX1DW2ldLnk9Z31sZXQgaD0wO2ZvcihhPTA7YTxzO2ErKyl7Y29uc3QgZT10W2FdLHM9Qy5zbGljZShoLGUrMSk7aWYoMSZzWzBdLmZsYWdzKXMucHVzaChzWzBdKTtlbHNlIGlmKDEmcy5hdCgtMSkuZmxhZ3Mpcy51bnNoaWZ0KHMuYXQoLTEpKTtlbHNle2NvbnN0IGU9e2ZsYWdzOjEseDooc1swXS54K3MuYXQoLTEpLngpLzIseTooc1swXS55K3MuYXQoLTEpLnkpLzJ9O3MudW5zaGlmdChlKTtzLnB1c2goZSl9bW92ZVRvKHNbMF0ueCxzWzBdLnkpO2ZvcihpPTEsbz1zLmxlbmd0aDtpPG87aSsrKWlmKDEmc1tpXS5mbGFncylsaW5lVG8oc1tpXS54LHNbaV0ueSk7ZWxzZSBpZigxJnNbaSsxXS5mbGFncyl7cXVhZHJhdGljQ3VydmVUbyhzW2ldLngsc1tpXS55LHNbaSsxXS54LHNbaSsxXS55KTtpKyt9ZWxzZSBxdWFkcmF0aWNDdXJ2ZVRvKHNbaV0ueCxzW2ldLnksKHNbaV0ueCtzW2krMV0ueCkvMiwoc1tpXS55K3NbaSsxXS55KS8yKTtoPWUrMX19fWZ1bmN0aW9uIGNvbXBpbGVDaGFyU3RyaW5nKGUsdCxpLGEpe2Z1bmN0aW9uIG1vdmVUbyhlLGkpe3QuYWRkKGx0LFtlLGldKX1mdW5jdGlvbiBsaW5lVG8oZSxpKXt0LmFkZChRdCxbZSxpXSl9ZnVuY3Rpb24gYmV6aWVyQ3VydmVUbyhlLGksYSxzLHIsbil7dC5hZGQoQnQsW2UsaSxhLHMscixuXSl9Y29uc3Qgcz1bXTtsZXQgcj0wLG49MCxnPTA7IWZ1bmN0aW9uIHBhcnNlKGUpe2xldCBvPTA7Zm9yKDtvPGUubGVuZ3RoOyl7bGV0IGMsQyxoLGwsUSxFLHUsZCxmLHA9ITEsbT1lW28rK107c3dpdGNoKG0pe2Nhc2UgMTpjYXNlIDM6Y2FzZSAxODpjYXNlIDIzOmcrPXMubGVuZ3RoPj4xO3A9ITA7YnJlYWs7Y2FzZSA0Om4rPXMucG9wKCk7bW92ZVRvKHIsbik7cD0hMDticmVhaztjYXNlIDU6Zm9yKDtzLmxlbmd0aD4wOyl7cis9cy5zaGlmdCgpO24rPXMuc2hpZnQoKTtsaW5lVG8ocixuKX1icmVhaztjYXNlIDY6Zm9yKDtzLmxlbmd0aD4wOyl7cis9cy5zaGlmdCgpO2xpbmVUbyhyLG4pO2lmKDA9PT1zLmxlbmd0aClicmVhaztuKz1zLnNoaWZ0KCk7bGluZVRvKHIsbil9YnJlYWs7Y2FzZSA3OmZvcig7cy5sZW5ndGg+MDspe24rPXMuc2hpZnQoKTtsaW5lVG8ocixuKTtpZigwPT09cy5sZW5ndGgpYnJlYWs7cis9cy5zaGlmdCgpO2xpbmVUbyhyLG4pfWJyZWFrO2Nhc2UgODpmb3IoO3MubGVuZ3RoPjA7KXtjPXIrcy5zaGlmdCgpO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7bj1sK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKX1icmVhaztjYXNlIDEwOmQ9cy5wb3AoKTtmPW51bGw7aWYoaS5pc0NGRkNJREZvbnQpe2NvbnN0IGU9aS5mZFNlbGVjdC5nZXRGREluZGV4KGEpO2lmKGU+PTAmJmU8aS5mZEFycmF5Lmxlbmd0aCl7Y29uc3QgdD1pLmZkQXJyYXlbZV07bGV0IGE7dC5wcml2YXRlRGljdD8uc3VicnNJbmRleCYmKGE9dC5wcml2YXRlRGljdC5zdWJyc0luZGV4Lm9iamVjdHMpO2lmKGEpe2QrPWdldFN1YnJvdXRpbmVCaWFzKGEpO2Y9YVtkXX19ZWxzZSB3YXJuKCJJbnZhbGlkIGZkIGluZGV4IGZvciBnbHlwaCBpbmRleC4iKX1lbHNlIGY9aS5zdWJyc1tkK2kuc3VicnNCaWFzXTtmJiZwYXJzZShmKTticmVhaztjYXNlIDExOnJldHVybjtjYXNlIDEyOm09ZVtvKytdO3N3aXRjaChtKXtjYXNlIDM0OmM9citzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtRPW4rcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLG4sQyxRLHIsUSk7Yz1yK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLFEsQyxuLHIsbik7YnJlYWs7Y2FzZSAzNTpjPXIrcy5zaGlmdCgpO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7bj1sK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKTtjPXIrcy5zaGlmdCgpO2g9bitzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7bj1sK3Muc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKTtzLnBvcCgpO2JyZWFrO2Nhc2UgMzY6Yz1yK3Muc2hpZnQoKTtRPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7RT1RK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxRLEMsRSxyLEUpO2M9citzLnNoaWZ0KCk7Qz1jK3Muc2hpZnQoKTt1PUUrcy5zaGlmdCgpO3I9QytzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLEUsQyx1LHIsbik7YnJlYWs7Y2FzZSAzNzpjb25zdCBlPXIsdD1uO2M9citzLnNoaWZ0KCk7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtuPWwrcy5zaGlmdCgpO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pO2M9citzLnNoaWZ0KCk7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DO249bDtNYXRoLmFicyhyLWUpPk1hdGguYWJzKG4tdCk/cis9cy5zaGlmdCgpOm4rPXMuc2hpZnQoKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgdW5rbm93biBvcGVyYXRvcjogMTIgJHttfWApfWJyZWFrO2Nhc2UgMTQ6aWYocy5sZW5ndGg+PTQpe2NvbnN0IGU9cy5wb3AoKSxhPXMucG9wKCk7bj1zLnBvcCgpO3I9cy5wb3AoKTt0LmFkZChkdCk7dC5hZGQobXQsW3Isbl0pO2xldCBnPWxvb2t1cENtYXAoaS5jbWFwLFN0cmluZy5mcm9tQ2hhckNvZGUoaS5nbHlwaE5hbWVNYXBbeWlbZV1dKSk7Y29tcGlsZUNoYXJTdHJpbmcoaS5nbHlwaHNbZy5nbHlwaElkXSx0LGksZy5nbHlwaElkKTt0LmFkZCh1dCk7Zz1sb29rdXBDbWFwKGkuY21hcCxTdHJpbmcuZnJvbUNoYXJDb2RlKGkuZ2x5cGhOYW1lTWFwW3lpW2FdXSkpO2NvbXBpbGVDaGFyU3RyaW5nKGkuZ2x5cGhzW2cuZ2x5cGhJZF0sdCxpLGcuZ2x5cGhJZCl9cmV0dXJuO2Nhc2UgMTk6Y2FzZSAyMDpnKz1zLmxlbmd0aD4+MTtvKz1nKzc+PjM7cD0hMDticmVhaztjYXNlIDIxOm4rPXMucG9wKCk7cis9cy5wb3AoKTttb3ZlVG8ocixuKTtwPSEwO2JyZWFrO2Nhc2UgMjI6cis9cy5wb3AoKTttb3ZlVG8ocixuKTtwPSEwO2JyZWFrO2Nhc2UgMjQ6Zm9yKDtzLmxlbmd0aD4yOyl7Yz1yK3Muc2hpZnQoKTtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO249bCtzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbil9cis9cy5zaGlmdCgpO24rPXMuc2hpZnQoKTtsaW5lVG8ocixuKTticmVhaztjYXNlIDI1OmZvcig7cy5sZW5ndGg+Njspe3IrPXMuc2hpZnQoKTtuKz1zLnNoaWZ0KCk7bGluZVRvKHIsbil9Yz1yK3Muc2hpZnQoKTtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO249bCtzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbik7YnJlYWs7Y2FzZSAyNjpzLmxlbmd0aCUyJiYocis9cy5zaGlmdCgpKTtmb3IoO3MubGVuZ3RoPjA7KXtjPXI7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DO249bCtzLnNoaWZ0KCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbil9YnJlYWs7Y2FzZSAyNzpzLmxlbmd0aCUyJiYobis9cy5zaGlmdCgpKTtmb3IoO3MubGVuZ3RoPjA7KXtjPXIrcy5zaGlmdCgpO2g9bjtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtuPWw7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbil9YnJlYWs7Y2FzZSAyODpzLnB1c2goKGVbb108PDI0fGVbbysxXTw8MTYpPj4xNik7bys9MjticmVhaztjYXNlIDI5OmQ9cy5wb3AoKStpLmdzdWJyc0JpYXM7Zj1pLmdzdWJyc1tkXTtmJiZwYXJzZShmKTticmVhaztjYXNlIDMwOmZvcig7cy5sZW5ndGg+MDspe2M9cjtoPW4rcy5zaGlmdCgpO0M9YytzLnNoaWZ0KCk7bD1oK3Muc2hpZnQoKTtyPUMrcy5zaGlmdCgpO249bCsoMT09PXMubGVuZ3RoP3Muc2hpZnQoKTowKTtiZXppZXJDdXJ2ZVRvKGMsaCxDLGwscixuKTtpZigwPT09cy5sZW5ndGgpYnJlYWs7Yz1yK3Muc2hpZnQoKTtoPW47Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO249bCtzLnNoaWZ0KCk7cj1DKygxPT09cy5sZW5ndGg/cy5zaGlmdCgpOjApO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pfWJyZWFrO2Nhc2UgMzE6Zm9yKDtzLmxlbmd0aD4wOyl7Yz1yK3Muc2hpZnQoKTtoPW47Qz1jK3Muc2hpZnQoKTtsPWgrcy5zaGlmdCgpO249bCtzLnNoaWZ0KCk7cj1DKygxPT09cy5sZW5ndGg/cy5zaGlmdCgpOjApO2JlemllckN1cnZlVG8oYyxoLEMsbCxyLG4pO2lmKDA9PT1zLmxlbmd0aClicmVhaztjPXI7aD1uK3Muc2hpZnQoKTtDPWMrcy5zaGlmdCgpO2w9aCtzLnNoaWZ0KCk7cj1DK3Muc2hpZnQoKTtuPWwrKDE9PT1zLmxlbmd0aD9zLnNoaWZ0KCk6MCk7YmV6aWVyQ3VydmVUbyhjLGgsQyxsLHIsbil9YnJlYWs7ZGVmYXVsdDppZihtPDMyKXRocm93IG5ldyBGb3JtYXRFcnJvcihgdW5rbm93biBvcGVyYXRvcjogJHttfWApO2lmKG08MjQ3KXMucHVzaChtLTEzOSk7ZWxzZSBpZihtPDI1MSlzLnB1c2goMjU2KihtLTI0NykrZVtvKytdKzEwOCk7ZWxzZSBpZihtPDI1NSlzLnB1c2goMjU2Ki0obS0yNTEpLWVbbysrXS0xMDgpO2Vsc2V7cy5wdXNoKChlW29dPDwyNHxlW28rMV08PDE2fGVbbysyXTw8OHxlW28rM10pLzY1NTM2KTtvKz00fX1wJiYocy5sZW5ndGg9MCl9fShlKX1jb25zdCBpYT1bXTtjbGFzcyBDb21tYW5kc3tjbWRzPVtdO2FkZChlLHQpe2lmKHQpaWYoaXNOdW1iZXJBcnJheSh0LG51bGwpKXRoaXMuY21kcy5wdXNoKGUsLi4udCk7ZWxzZXt3YXJuKGBDb21tYW5kcy5hZGQgLSAiJHtlfSIgaGFzIGF0IGxlYXN0IG9uZSBub24tbnVtYmVyIGFyZzogIiR7dH0iLmApO2NvbnN0IGk9dC5tYXAoKGU9PiJudW1iZXIiPT10eXBlb2YgZT9lOjApKTt0aGlzLmNtZHMucHVzaChlLC4uLmkpfWVsc2UgdGhpcy5jbWRzLnB1c2goZSl9fWNsYXNzIENvbXBpbGVkRm9udHtjb25zdHJ1Y3RvcihlKXt0aGlzLmZvbnRNYXRyaXg9ZTt0aGlzLmNvbXBpbGVkR2x5cGhzPU9iamVjdC5jcmVhdGUobnVsbCk7dGhpcy5jb21waWxlZENoYXJDb2RlVG9HbHlwaElkPU9iamVjdC5jcmVhdGUobnVsbCl9Z2V0UGF0aEpzKGUpe2NvbnN0e2NoYXJDb2RlOnQsZ2x5cGhJZDppfT1sb29rdXBDbWFwKHRoaXMuY21hcCxlKTtsZXQgYSxzPXRoaXMuY29tcGlsZWRHbHlwaHNbaV07aWYoIXMpe3RyeXtzPXRoaXMuY29tcGlsZUdseXBoKHRoaXMuZ2x5cGhzW2ldLGkpfWNhdGNoKGUpe3M9aWE7YT1lfXRoaXMuY29tcGlsZWRHbHlwaHNbaV09c310aGlzLmNvbXBpbGVkQ2hhckNvZGVUb0dseXBoSWRbdF0/Pz1pO2lmKGEpdGhyb3cgYTtyZXR1cm4gc31jb21waWxlR2x5cGgoZSx0KXtpZighZXx8MD09PWUubGVuZ3RofHwxND09PWVbMF0pcmV0dXJuIGlhO2xldCBpPXRoaXMuZm9udE1hdHJpeDtpZih0aGlzLmlzQ0ZGQ0lERm9udCl7Y29uc3QgZT10aGlzLmZkU2VsZWN0LmdldEZESW5kZXgodCk7aWYoZT49MCYmZTx0aGlzLmZkQXJyYXkubGVuZ3RoKXtpPXRoaXMuZmRBcnJheVtlXS5nZXRCeU5hbWUoIkZvbnRNYXRyaXgiKXx8YX1lbHNlIHdhcm4oIkludmFsaWQgZmQgaW5kZXggZm9yIGdseXBoIGluZGV4LiIpfWNvbnN0IHM9bmV3IENvbW1hbmRzO3MuYWRkKGR0KTtzLmFkZChwdCxpLnNsaWNlKCkpO3MuYWRkKGZ0KTt0aGlzLmNvbXBpbGVHbHlwaEltcGwoZSxzLHQpO3MuYWRkKHV0KTtyZXR1cm4gcy5jbWRzfWNvbXBpbGVHbHlwaEltcGwoKXt1bnJlYWNoYWJsZSgiQ2hpbGRyZW4gY2xhc3NlcyBzaG91bGQgaW1wbGVtZW50IHRoaXMuIil9aGFzQnVpbHRQYXRoKGUpe2NvbnN0e2NoYXJDb2RlOnQsZ2x5cGhJZDppfT1sb29rdXBDbWFwKHRoaXMuY21hcCxlKTtyZXR1cm4gdm9pZCAwIT09dGhpcy5jb21waWxlZEdseXBoc1tpXSYmdm9pZCAwIT09dGhpcy5jb21waWxlZENoYXJDb2RlVG9HbHlwaElkW3RdfX1jbGFzcyBUcnVlVHlwZUNvbXBpbGVkIGV4dGVuZHMgQ29tcGlsZWRGb250e2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihpfHxbNDg4ZS02LDAsMCw0ODhlLTYsMCwwXSk7dGhpcy5nbHlwaHM9ZTt0aGlzLmNtYXA9dH1jb21waWxlR2x5cGhJbXBsKGUsdCl7Y29tcGlsZUdseWYoZSx0LHRoaXMpfX1jbGFzcyBUeXBlMkNvbXBpbGVkIGV4dGVuZHMgQ29tcGlsZWRGb250e2NvbnN0cnVjdG9yKGUsdCxpLGEpe3N1cGVyKGl8fFsuMDAxLDAsMCwuMDAxLDAsMF0pO3RoaXMuZ2x5cGhzPWUuZ2x5cGhzO3RoaXMuZ3N1YnJzPWUuZ3N1YnJzfHxbXTt0aGlzLnN1YnJzPWUuc3VicnN8fFtdO3RoaXMuY21hcD10O3RoaXMuZ2x5cGhOYW1lTWFwPWF8fE1pKCk7dGhpcy5nc3VicnNCaWFzPWdldFN1YnJvdXRpbmVCaWFzKHRoaXMuZ3N1YnJzKTt0aGlzLnN1YnJzQmlhcz1nZXRTdWJyb3V0aW5lQmlhcyh0aGlzLnN1YnJzKTt0aGlzLmlzQ0ZGQ0lERm9udD1lLmlzQ0ZGQ0lERm9udDt0aGlzLmZkU2VsZWN0PWUuZmRTZWxlY3Q7dGhpcy5mZEFycmF5PWUuZmRBcnJheX1jb21waWxlR2x5cGhJbXBsKGUsdCxpKXtjb21waWxlQ2hhclN0cmluZyhlLHQsdGhpcyxpKX19Y2xhc3MgRm9udFJlbmRlcmVyRmFjdG9yeXtzdGF0aWMgY3JlYXRlKGUsdCl7Y29uc3QgaT1uZXcgVWludDhBcnJheShlLmRhdGEpO2xldCBhLHMscixuLGcsbztjb25zdCBjPWdldFVpbnQxNihpLDQpO2ZvcihsZXQgZT0wLEM9MTI7ZTxjO2UrKyxDKz0xNil7Y29uc3QgZT1ieXRlc1RvU3RyaW5nKGkuc3ViYXJyYXkoQyxDKzQpKSxjPWdldFVpbnQzMihpLEMrOCksaD1nZXRVaW50MzIoaSxDKzEyKTtzd2l0Y2goZSl7Y2FzZSJjbWFwIjphPXBhcnNlQ21hcChpLGMpO2JyZWFrO2Nhc2UiZ2x5ZiI6cz1pLnN1YmFycmF5KGMsYytoKTticmVhaztjYXNlImxvY2EiOnI9aS5zdWJhcnJheShjLGMraCk7YnJlYWs7Y2FzZSJoZWFkIjpvPWdldFVpbnQxNihpLGMrMTgpO2c9Z2V0VWludDE2KGksYys1MCk7YnJlYWs7Y2FzZSJDRkYgIjpuPXBhcnNlQ2ZmKGksYyxjK2gsdCl9fWlmKHMpe2NvbnN0IHQ9bz9bMS9vLDAsMCwxL28sMCwwXTplLmZvbnRNYXRyaXg7cmV0dXJuIG5ldyBUcnVlVHlwZUNvbXBpbGVkKGZ1bmN0aW9uIHBhcnNlR2x5ZlRhYmxlKGUsdCxpKXtsZXQgYSxzO2lmKGkpe2E9NDtzPWdldFVpbnQzMn1lbHNle2E9MjtzPShlLHQpPT4yKmdldFVpbnQxNihlLHQpfWNvbnN0IHI9W107bGV0IG49cyh0LDApO2ZvcihsZXQgaT1hO2k8dC5sZW5ndGg7aSs9YSl7Y29uc3QgYT1zKHQsaSk7ci5wdXNoKGUuc3ViYXJyYXkobixhKSk7bj1hfXJldHVybiByfShzLHIsZyksYSx0KX1yZXR1cm4gbmV3IFR5cGUyQ29tcGlsZWQobixhLGUuZm9udE1hdHJpeCxlLmdseXBoTmFtZU1hcCl9fWNvbnN0IGFhPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5Db3VyaWVyPTYwMDtlWyJDb3VyaWVyLUJvbGQiXT02MDA7ZVsiQ291cmllci1Cb2xkT2JsaXF1ZSJdPTYwMDtlWyJDb3VyaWVyLU9ibGlxdWUiXT02MDA7ZS5IZWx2ZXRpY2E9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI3ODtlLmV4Y2xhbT0yNzg7ZS5xdW90ZWRibD0zNTU7ZS5udW1iZXJzaWduPTU1NjtlLmRvbGxhcj01NTY7ZS5wZXJjZW50PTg4OTtlLmFtcGVyc2FuZD02Njc7ZS5xdW90ZXJpZ2h0PTIyMjtlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrPTM4OTtlLnBsdXM9NTg0O2UuY29tbWE9Mjc4O2UuaHlwaGVuPTMzMztlLnBlcmlvZD0yNzg7ZS5zbGFzaD0yNzg7ZS56ZXJvPTU1NjtlLm9uZT01NTY7ZS50d289NTU2O2UudGhyZWU9NTU2O2UuZm91cj01NTY7ZS5maXZlPTU1NjtlLnNpeD01NTY7ZS5zZXZlbj01NTY7ZS5laWdodD01NTY7ZS5uaW5lPTU1NjtlLmNvbG9uPTI3ODtlLnNlbWljb2xvbj0yNzg7ZS5sZXNzPTU4NDtlLmVxdWFsPTU4NDtlLmdyZWF0ZXI9NTg0O2UucXVlc3Rpb249NTU2O2UuYXQ9MTAxNTtlLkE9NjY3O2UuQj02Njc7ZS5DPTcyMjtlLkQ9NzIyO2UuRT02Njc7ZS5GPTYxMTtlLkc9Nzc4O2UuSD03MjI7ZS5JPTI3ODtlLko9NTAwO2UuSz02Njc7ZS5MPTU1NjtlLk09ODMzO2UuTj03MjI7ZS5PPTc3ODtlLlA9NjY3O2UuUT03Nzg7ZS5SPTcyMjtlLlM9NjY3O2UuVD02MTE7ZS5VPTcyMjtlLlY9NjY3O2UuVz05NDQ7ZS5YPTY2NztlLlk9NjY3O2UuWj02MTE7ZS5icmFja2V0bGVmdD0yNzg7ZS5iYWNrc2xhc2g9Mjc4O2UuYnJhY2tldHJpZ2h0PTI3ODtlLmFzY2lpY2lyY3VtPTQ2OTtlLnVuZGVyc2NvcmU9NTU2O2UucXVvdGVsZWZ0PTIyMjtlLmE9NTU2O2UuYj01NTY7ZS5jPTUwMDtlLmQ9NTU2O2UuZT01NTY7ZS5mPTI3ODtlLmc9NTU2O2UuaD01NTY7ZS5pPTIyMjtlLmo9MjIyO2Uuaz01MDA7ZS5sPTIyMjtlLm09ODMzO2Uubj01NTY7ZS5vPTU1NjtlLnA9NTU2O2UucT01NTY7ZS5yPTMzMztlLnM9NTAwO2UudD0yNzg7ZS51PTU1NjtlLnY9NTAwO2Uudz03MjI7ZS54PTUwMDtlLnk9NTAwO2Uuej01MDA7ZS5icmFjZWxlZnQ9MzM0O2UuYmFyPTI2MDtlLmJyYWNlcmlnaHQ9MzM0O2UuYXNjaWl0aWxkZT01ODQ7ZS5leGNsYW1kb3duPTMzMztlLmNlbnQ9NTU2O2Uuc3Rlcmxpbmc9NTU2O2UuZnJhY3Rpb249MTY3O2UueWVuPTU1NjtlLmZsb3Jpbj01NTY7ZS5zZWN0aW9uPTU1NjtlLmN1cnJlbmN5PTU1NjtlLnF1b3Rlc2luZ2xlPTE5MTtlLnF1b3RlZGJsbGVmdD0zMzM7ZS5ndWlsbGVtb3RsZWZ0PTU1NjtlLmd1aWxzaW5nbGxlZnQ9MzMzO2UuZ3VpbHNpbmdscmlnaHQ9MzMzO2UuZmk9NTAwO2UuZmw9NTAwO2UuZW5kYXNoPTU1NjtlLmRhZ2dlcj01NTY7ZS5kYWdnZXJkYmw9NTU2O2UucGVyaW9kY2VudGVyZWQ9Mjc4O2UucGFyYWdyYXBoPTUzNztlLmJ1bGxldD0zNTA7ZS5xdW90ZXNpbmdsYmFzZT0yMjI7ZS5xdW90ZWRibGJhc2U9MzMzO2UucXVvdGVkYmxyaWdodD0zMzM7ZS5ndWlsbGVtb3RyaWdodD01NTY7ZS5lbGxpcHNpcz0xZTM7ZS5wZXJ0aG91c2FuZD0xZTM7ZS5xdWVzdGlvbmRvd249NjExO2UuZ3JhdmU9MzMzO2UuYWN1dGU9MzMzO2UuY2lyY3VtZmxleD0zMzM7ZS50aWxkZT0zMzM7ZS5tYWNyb249MzMzO2UuYnJldmU9MzMzO2UuZG90YWNjZW50PTMzMztlLmRpZXJlc2lzPTMzMztlLnJpbmc9MzMzO2UuY2VkaWxsYT0zMzM7ZS5odW5nYXJ1bWxhdXQ9MzMzO2Uub2dvbmVrPTMzMztlLmNhcm9uPTMzMztlLmVtZGFzaD0xZTM7ZS5BRT0xZTM7ZS5vcmRmZW1pbmluZT0zNzA7ZS5Mc2xhc2g9NTU2O2UuT3NsYXNoPTc3ODtlLk9FPTFlMztlLm9yZG1hc2N1bGluZT0zNjU7ZS5hZT04ODk7ZS5kb3RsZXNzaT0yNzg7ZS5sc2xhc2g9MjIyO2Uub3NsYXNoPTYxMTtlLm9lPTk0NDtlLmdlcm1hbmRibHM9NjExO2UuSWRpZXJlc2lzPTI3ODtlLmVhY3V0ZT01NTY7ZS5hYnJldmU9NTU2O2UudWh1bmdhcnVtbGF1dD01NTY7ZS5lY2Fyb249NTU2O2UuWWRpZXJlc2lzPTY2NztlLmRpdmlkZT01ODQ7ZS5ZYWN1dGU9NjY3O2UuQWNpcmN1bWZsZXg9NjY3O2UuYWFjdXRlPTU1NjtlLlVjaXJjdW1mbGV4PTcyMjtlLnlhY3V0ZT01MDA7ZS5zY29tbWFhY2NlbnQ9NTAwO2UuZWNpcmN1bWZsZXg9NTU2O2UuVXJpbmc9NzIyO2UuVWRpZXJlc2lzPTcyMjtlLmFvZ29uZWs9NTU2O2UuVWFjdXRlPTcyMjtlLnVvZ29uZWs9NTU2O2UuRWRpZXJlc2lzPTY2NztlLkRjcm9hdD03MjI7ZS5jb21tYWFjY2VudD0yNTA7ZS5jb3B5cmlnaHQ9NzM3O2UuRW1hY3Jvbj02Njc7ZS5jY2Fyb249NTAwO2UuYXJpbmc9NTU2O2UuTmNvbW1hYWNjZW50PTcyMjtlLmxhY3V0ZT0yMjI7ZS5hZ3JhdmU9NTU2O2UuVGNvbW1hYWNjZW50PTYxMTtlLkNhY3V0ZT03MjI7ZS5hdGlsZGU9NTU2O2UuRWRvdGFjY2VudD02Njc7ZS5zY2Fyb249NTAwO2Uuc2NlZGlsbGE9NTAwO2UuaWFjdXRlPTI3ODtlLmxvemVuZ2U9NDcxO2UuUmNhcm9uPTcyMjtlLkdjb21tYWFjY2VudD03Nzg7ZS51Y2lyY3VtZmxleD01NTY7ZS5hY2lyY3VtZmxleD01NTY7ZS5BbWFjcm9uPTY2NztlLnJjYXJvbj0zMzM7ZS5jY2VkaWxsYT01MDA7ZS5aZG90YWNjZW50PTYxMTtlLlRob3JuPTY2NztlLk9tYWNyb249Nzc4O2UuUmFjdXRlPTcyMjtlLlNhY3V0ZT02Njc7ZS5kY2Fyb249NjQzO2UuVW1hY3Jvbj03MjI7ZS51cmluZz01NTY7ZS50aHJlZXN1cGVyaW9yPTMzMztlLk9ncmF2ZT03Nzg7ZS5BZ3JhdmU9NjY3O2UuQWJyZXZlPTY2NztlLm11bHRpcGx5PTU4NDtlLnVhY3V0ZT01NTY7ZS5UY2Fyb249NjExO2UucGFydGlhbGRpZmY9NDc2O2UueWRpZXJlc2lzPTUwMDtlLk5hY3V0ZT03MjI7ZS5pY2lyY3VtZmxleD0yNzg7ZS5FY2lyY3VtZmxleD02Njc7ZS5hZGllcmVzaXM9NTU2O2UuZWRpZXJlc2lzPTU1NjtlLmNhY3V0ZT01MDA7ZS5uYWN1dGU9NTU2O2UudW1hY3Jvbj01NTY7ZS5OY2Fyb249NzIyO2UuSWFjdXRlPTI3ODtlLnBsdXNtaW51cz01ODQ7ZS5icm9rZW5iYXI9MjYwO2UucmVnaXN0ZXJlZD03Mzc7ZS5HYnJldmU9Nzc4O2UuSWRvdGFjY2VudD0yNzg7ZS5zdW1tYXRpb249NjAwO2UuRWdyYXZlPTY2NztlLnJhY3V0ZT0zMzM7ZS5vbWFjcm9uPTU1NjtlLlphY3V0ZT02MTE7ZS5aY2Fyb249NjExO2UuZ3JlYXRlcmVxdWFsPTU0OTtlLkV0aD03MjI7ZS5DY2VkaWxsYT03MjI7ZS5sY29tbWFhY2NlbnQ9MjIyO2UudGNhcm9uPTMxNztlLmVvZ29uZWs9NTU2O2UuVW9nb25laz03MjI7ZS5BYWN1dGU9NjY3O2UuQWRpZXJlc2lzPTY2NztlLmVncmF2ZT01NTY7ZS56YWN1dGU9NTAwO2UuaW9nb25laz0yMjI7ZS5PYWN1dGU9Nzc4O2Uub2FjdXRlPTU1NjtlLmFtYWNyb249NTU2O2Uuc2FjdXRlPTUwMDtlLmlkaWVyZXNpcz0yNzg7ZS5PY2lyY3VtZmxleD03Nzg7ZS5VZ3JhdmU9NzIyO2UuRGVsdGE9NjEyO2UudGhvcm49NTU2O2UudHdvc3VwZXJpb3I9MzMzO2UuT2RpZXJlc2lzPTc3ODtlLm11PTU1NjtlLmlncmF2ZT0yNzg7ZS5vaHVuZ2FydW1sYXV0PTU1NjtlLkVvZ29uZWs9NjY3O2UuZGNyb2F0PTU1NjtlLnRocmVlcXVhcnRlcnM9ODM0O2UuU2NlZGlsbGE9NjY3O2UubGNhcm9uPTI5OTtlLktjb21tYWFjY2VudD02Njc7ZS5MYWN1dGU9NTU2O2UudHJhZGVtYXJrPTFlMztlLmVkb3RhY2NlbnQ9NTU2O2UuSWdyYXZlPTI3ODtlLkltYWNyb249Mjc4O2UuTGNhcm9uPTU1NjtlLm9uZWhhbGY9ODM0O2UubGVzc2VxdWFsPTU0OTtlLm9jaXJjdW1mbGV4PTU1NjtlLm50aWxkZT01NTY7ZS5VaHVuZ2FydW1sYXV0PTcyMjtlLkVhY3V0ZT02Njc7ZS5lbWFjcm9uPTU1NjtlLmdicmV2ZT01NTY7ZS5vbmVxdWFydGVyPTgzNDtlLlNjYXJvbj02Njc7ZS5TY29tbWFhY2NlbnQ9NjY3O2UuT2h1bmdhcnVtbGF1dD03Nzg7ZS5kZWdyZWU9NDAwO2Uub2dyYXZlPTU1NjtlLkNjYXJvbj03MjI7ZS51Z3JhdmU9NTU2O2UucmFkaWNhbD00NTM7ZS5EY2Fyb249NzIyO2UucmNvbW1hYWNjZW50PTMzMztlLk50aWxkZT03MjI7ZS5vdGlsZGU9NTU2O2UuUmNvbW1hYWNjZW50PTcyMjtlLkxjb21tYWFjY2VudD01NTY7ZS5BdGlsZGU9NjY3O2UuQW9nb25laz02Njc7ZS5BcmluZz02Njc7ZS5PdGlsZGU9Nzc4O2UuemRvdGFjY2VudD01MDA7ZS5FY2Fyb249NjY3O2UuSW9nb25laz0yNzg7ZS5rY29tbWFhY2NlbnQ9NTAwO2UubWludXM9NTg0O2UuSWNpcmN1bWZsZXg9Mjc4O2UubmNhcm9uPTU1NjtlLnRjb21tYWFjY2VudD0yNzg7ZS5sb2dpY2Fsbm90PTU4NDtlLm9kaWVyZXNpcz01NTY7ZS51ZGllcmVzaXM9NTU2O2Uubm90ZXF1YWw9NTQ5O2UuZ2NvbW1hYWNjZW50PTU1NjtlLmV0aD01NTY7ZS56Y2Fyb249NTAwO2UubmNvbW1hYWNjZW50PTU1NjtlLm9uZXN1cGVyaW9yPTMzMztlLmltYWNyb249Mjc4O2UuRXVybz01NTZ9KSk7ZVsiSGVsdmV0aWNhLUJvbGQiXT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9Mjc4O2UuZXhjbGFtPTMzMztlLnF1b3RlZGJsPTQ3NDtlLm51bWJlcnNpZ249NTU2O2UuZG9sbGFyPTU1NjtlLnBlcmNlbnQ9ODg5O2UuYW1wZXJzYW5kPTcyMjtlLnF1b3RlcmlnaHQ9Mjc4O2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2s9Mzg5O2UucGx1cz01ODQ7ZS5jb21tYT0yNzg7ZS5oeXBoZW49MzMzO2UucGVyaW9kPTI3ODtlLnNsYXNoPTI3ODtlLnplcm89NTU2O2Uub25lPTU1NjtlLnR3bz01NTY7ZS50aHJlZT01NTY7ZS5mb3VyPTU1NjtlLmZpdmU9NTU2O2Uuc2l4PTU1NjtlLnNldmVuPTU1NjtlLmVpZ2h0PTU1NjtlLm5pbmU9NTU2O2UuY29sb249MzMzO2Uuc2VtaWNvbG9uPTMzMztlLmxlc3M9NTg0O2UuZXF1YWw9NTg0O2UuZ3JlYXRlcj01ODQ7ZS5xdWVzdGlvbj02MTE7ZS5hdD05NzU7ZS5BPTcyMjtlLkI9NzIyO2UuQz03MjI7ZS5EPTcyMjtlLkU9NjY3O2UuRj02MTE7ZS5HPTc3ODtlLkg9NzIyO2UuST0yNzg7ZS5KPTU1NjtlLks9NzIyO2UuTD02MTE7ZS5NPTgzMztlLk49NzIyO2UuTz03Nzg7ZS5QPTY2NztlLlE9Nzc4O2UuUj03MjI7ZS5TPTY2NztlLlQ9NjExO2UuVT03MjI7ZS5WPTY2NztlLlc9OTQ0O2UuWD02Njc7ZS5ZPTY2NztlLlo9NjExO2UuYnJhY2tldGxlZnQ9MzMzO2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0zMzM7ZS5hc2NpaWNpcmN1bT01ODQ7ZS51bmRlcnNjb3JlPTU1NjtlLnF1b3RlbGVmdD0yNzg7ZS5hPTU1NjtlLmI9NjExO2UuYz01NTY7ZS5kPTYxMTtlLmU9NTU2O2UuZj0zMzM7ZS5nPTYxMTtlLmg9NjExO2UuaT0yNzg7ZS5qPTI3ODtlLms9NTU2O2UubD0yNzg7ZS5tPTg4OTtlLm49NjExO2Uubz02MTE7ZS5wPTYxMTtlLnE9NjExO2Uucj0zODk7ZS5zPTU1NjtlLnQ9MzMzO2UudT02MTE7ZS52PTU1NjtlLnc9Nzc4O2UueD01NTY7ZS55PTU1NjtlLno9NTAwO2UuYnJhY2VsZWZ0PTM4OTtlLmJhcj0yODA7ZS5icmFjZXJpZ2h0PTM4OTtlLmFzY2lpdGlsZGU9NTg0O2UuZXhjbGFtZG93bj0zMzM7ZS5jZW50PTU1NjtlLnN0ZXJsaW5nPTU1NjtlLmZyYWN0aW9uPTE2NztlLnllbj01NTY7ZS5mbG9yaW49NTU2O2Uuc2VjdGlvbj01NTY7ZS5jdXJyZW5jeT01NTY7ZS5xdW90ZXNpbmdsZT0yMzg7ZS5xdW90ZWRibGxlZnQ9NTAwO2UuZ3VpbGxlbW90bGVmdD01NTY7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTYxMTtlLmZsPTYxMTtlLmVuZGFzaD01NTY7ZS5kYWdnZXI9NTU2O2UuZGFnZ2VyZGJsPTU1NjtlLnBlcmlvZGNlbnRlcmVkPTI3ODtlLnBhcmFncmFwaD01NTY7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9Mjc4O2UucXVvdGVkYmxiYXNlPTUwMDtlLnF1b3RlZGJscmlnaHQ9NTAwO2UuZ3VpbGxlbW90cmlnaHQ9NTU2O2UuZWxsaXBzaXM9MWUzO2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTYxMTtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9MWUzO2UuQUU9MWUzO2Uub3JkZmVtaW5pbmU9MzcwO2UuTHNsYXNoPTYxMTtlLk9zbGFzaD03Nzg7ZS5PRT0xZTM7ZS5vcmRtYXNjdWxpbmU9MzY1O2UuYWU9ODg5O2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTI3ODtlLm9zbGFzaD02MTE7ZS5vZT05NDQ7ZS5nZXJtYW5kYmxzPTYxMTtlLklkaWVyZXNpcz0yNzg7ZS5lYWN1dGU9NTU2O2UuYWJyZXZlPTU1NjtlLnVodW5nYXJ1bWxhdXQ9NjExO2UuZWNhcm9uPTU1NjtlLllkaWVyZXNpcz02Njc7ZS5kaXZpZGU9NTg0O2UuWWFjdXRlPTY2NztlLkFjaXJjdW1mbGV4PTcyMjtlLmFhY3V0ZT01NTY7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NTU2O2Uuc2NvbW1hYWNjZW50PTU1NjtlLmVjaXJjdW1mbGV4PTU1NjtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTU1NjtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTYxMTtlLkVkaWVyZXNpcz02Njc7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTczNztlLkVtYWNyb249NjY3O2UuY2Nhcm9uPTU1NjtlLmFyaW5nPTU1NjtlLk5jb21tYWFjY2VudD03MjI7ZS5sYWN1dGU9Mjc4O2UuYWdyYXZlPTU1NjtlLlRjb21tYWFjY2VudD02MTE7ZS5DYWN1dGU9NzIyO2UuYXRpbGRlPTU1NjtlLkVkb3RhY2NlbnQ9NjY3O2Uuc2Nhcm9uPTU1NjtlLnNjZWRpbGxhPTU1NjtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ5NDtlLlJjYXJvbj03MjI7ZS5HY29tbWFhY2NlbnQ9Nzc4O2UudWNpcmN1bWZsZXg9NjExO2UuYWNpcmN1bWZsZXg9NTU2O2UuQW1hY3Jvbj03MjI7ZS5yY2Fyb249Mzg5O2UuY2NlZGlsbGE9NTU2O2UuWmRvdGFjY2VudD02MTE7ZS5UaG9ybj02Njc7ZS5PbWFjcm9uPTc3ODtlLlJhY3V0ZT03MjI7ZS5TYWN1dGU9NjY3O2UuZGNhcm9uPTc0MztlLlVtYWNyb249NzIyO2UudXJpbmc9NjExO2UudGhyZWVzdXBlcmlvcj0zMzM7ZS5PZ3JhdmU9Nzc4O2UuQWdyYXZlPTcyMjtlLkFicmV2ZT03MjI7ZS5tdWx0aXBseT01ODQ7ZS51YWN1dGU9NjExO2UuVGNhcm9uPTYxMTtlLnBhcnRpYWxkaWZmPTQ5NDtlLnlkaWVyZXNpcz01NTY7ZS5OYWN1dGU9NzIyO2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjY3O2UuYWRpZXJlc2lzPTU1NjtlLmVkaWVyZXNpcz01NTY7ZS5jYWN1dGU9NTU2O2UubmFjdXRlPTYxMTtlLnVtYWNyb249NjExO2UuTmNhcm9uPTcyMjtlLklhY3V0ZT0yNzg7ZS5wbHVzbWludXM9NTg0O2UuYnJva2VuYmFyPTI4MDtlLnJlZ2lzdGVyZWQ9NzM3O2UuR2JyZXZlPTc3ODtlLklkb3RhY2NlbnQ9Mjc4O2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02Njc7ZS5yYWN1dGU9Mzg5O2Uub21hY3Jvbj02MTE7ZS5aYWN1dGU9NjExO2UuWmNhcm9uPTYxMTtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NzIyO2UubGNvbW1hYWNjZW50PTI3ODtlLnRjYXJvbj0zODk7ZS5lb2dvbmVrPTU1NjtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTcyMjtlLkFkaWVyZXNpcz03MjI7ZS5lZ3JhdmU9NTU2O2UuemFjdXRlPTUwMDtlLmlvZ29uZWs9Mjc4O2UuT2FjdXRlPTc3ODtlLm9hY3V0ZT02MTE7ZS5hbWFjcm9uPTU1NjtlLnNhY3V0ZT01NTY7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9Nzc4O2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTYxMTtlLnR3b3N1cGVyaW9yPTMzMztlLk9kaWVyZXNpcz03Nzg7ZS5tdT02MTE7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD02MTE7ZS5Fb2dvbmVrPTY2NztlLmRjcm9hdD02MTE7ZS50aHJlZXF1YXJ0ZXJzPTgzNDtlLlNjZWRpbGxhPTY2NztlLmxjYXJvbj00MDA7ZS5LY29tbWFhY2NlbnQ9NzIyO2UuTGFjdXRlPTYxMTtlLnRyYWRlbWFyaz0xZTM7ZS5lZG90YWNjZW50PTU1NjtlLklncmF2ZT0yNzg7ZS5JbWFjcm9uPTI3ODtlLkxjYXJvbj02MTE7ZS5vbmVoYWxmPTgzNDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD02MTE7ZS5udGlsZGU9NjExO2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjY3O2UuZW1hY3Jvbj01NTY7ZS5nYnJldmU9NjExO2Uub25lcXVhcnRlcj04MzQ7ZS5TY2Fyb249NjY3O2UuU2NvbW1hYWNjZW50PTY2NztlLk9odW5nYXJ1bWxhdXQ9Nzc4O2UuZGVncmVlPTQwMDtlLm9ncmF2ZT02MTE7ZS5DY2Fyb249NzIyO2UudWdyYXZlPTYxMTtlLnJhZGljYWw9NTQ5O2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zODk7ZS5OdGlsZGU9NzIyO2Uub3RpbGRlPTYxMTtlLlJjb21tYWFjY2VudD03MjI7ZS5MY29tbWFhY2NlbnQ9NjExO2UuQXRpbGRlPTcyMjtlLkFvZ29uZWs9NzIyO2UuQXJpbmc9NzIyO2UuT3RpbGRlPTc3ODtlLnpkb3RhY2NlbnQ9NTAwO2UuRWNhcm9uPTY2NztlLklvZ29uZWs9Mjc4O2Uua2NvbW1hYWNjZW50PTU1NjtlLm1pbnVzPTU4NDtlLkljaXJjdW1mbGV4PTI3ODtlLm5jYXJvbj02MTE7ZS50Y29tbWFhY2NlbnQ9MzMzO2UubG9naWNhbG5vdD01ODQ7ZS5vZGllcmVzaXM9NjExO2UudWRpZXJlc2lzPTYxMTtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD02MTE7ZS5ldGg9NjExO2UuemNhcm9uPTUwMDtlLm5jb21tYWFjY2VudD02MTE7ZS5vbmVzdXBlcmlvcj0zMzM7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTU2fSkpO2VbIkhlbHZldGljYS1Cb2xkT2JsaXF1ZSJdPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNzg7ZS5leGNsYW09MzMzO2UucXVvdGVkYmw9NDc0O2UubnVtYmVyc2lnbj01NTY7ZS5kb2xsYXI9NTU2O2UucGVyY2VudD04ODk7ZS5hbXBlcnNhbmQ9NzIyO2UucXVvdGVyaWdodD0yNzg7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlzaz0zODk7ZS5wbHVzPTU4NDtlLmNvbW1hPTI3ODtlLmh5cGhlbj0zMzM7ZS5wZXJpb2Q9Mjc4O2Uuc2xhc2g9Mjc4O2UuemVybz01NTY7ZS5vbmU9NTU2O2UudHdvPTU1NjtlLnRocmVlPTU1NjtlLmZvdXI9NTU2O2UuZml2ZT01NTY7ZS5zaXg9NTU2O2Uuc2V2ZW49NTU2O2UuZWlnaHQ9NTU2O2UubmluZT01NTY7ZS5jb2xvbj0zMzM7ZS5zZW1pY29sb249MzMzO2UubGVzcz01ODQ7ZS5lcXVhbD01ODQ7ZS5ncmVhdGVyPTU4NDtlLnF1ZXN0aW9uPTYxMTtlLmF0PTk3NTtlLkE9NzIyO2UuQj03MjI7ZS5DPTcyMjtlLkQ9NzIyO2UuRT02Njc7ZS5GPTYxMTtlLkc9Nzc4O2UuSD03MjI7ZS5JPTI3ODtlLko9NTU2O2UuSz03MjI7ZS5MPTYxMTtlLk09ODMzO2UuTj03MjI7ZS5PPTc3ODtlLlA9NjY3O2UuUT03Nzg7ZS5SPTcyMjtlLlM9NjY3O2UuVD02MTE7ZS5VPTcyMjtlLlY9NjY3O2UuVz05NDQ7ZS5YPTY2NztlLlk9NjY3O2UuWj02MTE7ZS5icmFja2V0bGVmdD0zMzM7ZS5iYWNrc2xhc2g9Mjc4O2UuYnJhY2tldHJpZ2h0PTMzMztlLmFzY2lpY2lyY3VtPTU4NDtlLnVuZGVyc2NvcmU9NTU2O2UucXVvdGVsZWZ0PTI3ODtlLmE9NTU2O2UuYj02MTE7ZS5jPTU1NjtlLmQ9NjExO2UuZT01NTY7ZS5mPTMzMztlLmc9NjExO2UuaD02MTE7ZS5pPTI3ODtlLmo9Mjc4O2Uuaz01NTY7ZS5sPTI3ODtlLm09ODg5O2Uubj02MTE7ZS5vPTYxMTtlLnA9NjExO2UucT02MTE7ZS5yPTM4OTtlLnM9NTU2O2UudD0zMzM7ZS51PTYxMTtlLnY9NTU2O2Uudz03Nzg7ZS54PTU1NjtlLnk9NTU2O2Uuej01MDA7ZS5icmFjZWxlZnQ9Mzg5O2UuYmFyPTI4MDtlLmJyYWNlcmlnaHQ9Mzg5O2UuYXNjaWl0aWxkZT01ODQ7ZS5leGNsYW1kb3duPTMzMztlLmNlbnQ9NTU2O2Uuc3Rlcmxpbmc9NTU2O2UuZnJhY3Rpb249MTY3O2UueWVuPTU1NjtlLmZsb3Jpbj01NTY7ZS5zZWN0aW9uPTU1NjtlLmN1cnJlbmN5PTU1NjtlLnF1b3Rlc2luZ2xlPTIzODtlLnF1b3RlZGJsbGVmdD01MDA7ZS5ndWlsbGVtb3RsZWZ0PTU1NjtlLmd1aWxzaW5nbGxlZnQ9MzMzO2UuZ3VpbHNpbmdscmlnaHQ9MzMzO2UuZmk9NjExO2UuZmw9NjExO2UuZW5kYXNoPTU1NjtlLmRhZ2dlcj01NTY7ZS5kYWdnZXJkYmw9NTU2O2UucGVyaW9kY2VudGVyZWQ9Mjc4O2UucGFyYWdyYXBoPTU1NjtlLmJ1bGxldD0zNTA7ZS5xdW90ZXNpbmdsYmFzZT0yNzg7ZS5xdW90ZWRibGJhc2U9NTAwO2UucXVvdGVkYmxyaWdodD01MDA7ZS5ndWlsbGVtb3RyaWdodD01NTY7ZS5lbGxpcHNpcz0xZTM7ZS5wZXJ0aG91c2FuZD0xZTM7ZS5xdWVzdGlvbmRvd249NjExO2UuZ3JhdmU9MzMzO2UuYWN1dGU9MzMzO2UuY2lyY3VtZmxleD0zMzM7ZS50aWxkZT0zMzM7ZS5tYWNyb249MzMzO2UuYnJldmU9MzMzO2UuZG90YWNjZW50PTMzMztlLmRpZXJlc2lzPTMzMztlLnJpbmc9MzMzO2UuY2VkaWxsYT0zMzM7ZS5odW5nYXJ1bWxhdXQ9MzMzO2Uub2dvbmVrPTMzMztlLmNhcm9uPTMzMztlLmVtZGFzaD0xZTM7ZS5BRT0xZTM7ZS5vcmRmZW1pbmluZT0zNzA7ZS5Mc2xhc2g9NjExO2UuT3NsYXNoPTc3ODtlLk9FPTFlMztlLm9yZG1hc2N1bGluZT0zNjU7ZS5hZT04ODk7ZS5kb3RsZXNzaT0yNzg7ZS5sc2xhc2g9Mjc4O2Uub3NsYXNoPTYxMTtlLm9lPTk0NDtlLmdlcm1hbmRibHM9NjExO2UuSWRpZXJlc2lzPTI3ODtlLmVhY3V0ZT01NTY7ZS5hYnJldmU9NTU2O2UudWh1bmdhcnVtbGF1dD02MTE7ZS5lY2Fyb249NTU2O2UuWWRpZXJlc2lzPTY2NztlLmRpdmlkZT01ODQ7ZS5ZYWN1dGU9NjY3O2UuQWNpcmN1bWZsZXg9NzIyO2UuYWFjdXRlPTU1NjtlLlVjaXJjdW1mbGV4PTcyMjtlLnlhY3V0ZT01NTY7ZS5zY29tbWFhY2NlbnQ9NTU2O2UuZWNpcmN1bWZsZXg9NTU2O2UuVXJpbmc9NzIyO2UuVWRpZXJlc2lzPTcyMjtlLmFvZ29uZWs9NTU2O2UuVWFjdXRlPTcyMjtlLnVvZ29uZWs9NjExO2UuRWRpZXJlc2lzPTY2NztlLkRjcm9hdD03MjI7ZS5jb21tYWFjY2VudD0yNTA7ZS5jb3B5cmlnaHQ9NzM3O2UuRW1hY3Jvbj02Njc7ZS5jY2Fyb249NTU2O2UuYXJpbmc9NTU2O2UuTmNvbW1hYWNjZW50PTcyMjtlLmxhY3V0ZT0yNzg7ZS5hZ3JhdmU9NTU2O2UuVGNvbW1hYWNjZW50PTYxMTtlLkNhY3V0ZT03MjI7ZS5hdGlsZGU9NTU2O2UuRWRvdGFjY2VudD02Njc7ZS5zY2Fyb249NTU2O2Uuc2NlZGlsbGE9NTU2O2UuaWFjdXRlPTI3ODtlLmxvemVuZ2U9NDk0O2UuUmNhcm9uPTcyMjtlLkdjb21tYWFjY2VudD03Nzg7ZS51Y2lyY3VtZmxleD02MTE7ZS5hY2lyY3VtZmxleD01NTY7ZS5BbWFjcm9uPTcyMjtlLnJjYXJvbj0zODk7ZS5jY2VkaWxsYT01NTY7ZS5aZG90YWNjZW50PTYxMTtlLlRob3JuPTY2NztlLk9tYWNyb249Nzc4O2UuUmFjdXRlPTcyMjtlLlNhY3V0ZT02Njc7ZS5kY2Fyb249NzQzO2UuVW1hY3Jvbj03MjI7ZS51cmluZz02MTE7ZS50aHJlZXN1cGVyaW9yPTMzMztlLk9ncmF2ZT03Nzg7ZS5BZ3JhdmU9NzIyO2UuQWJyZXZlPTcyMjtlLm11bHRpcGx5PTU4NDtlLnVhY3V0ZT02MTE7ZS5UY2Fyb249NjExO2UucGFydGlhbGRpZmY9NDk0O2UueWRpZXJlc2lzPTU1NjtlLk5hY3V0ZT03MjI7ZS5pY2lyY3VtZmxleD0yNzg7ZS5FY2lyY3VtZmxleD02Njc7ZS5hZGllcmVzaXM9NTU2O2UuZWRpZXJlc2lzPTU1NjtlLmNhY3V0ZT01NTY7ZS5uYWN1dGU9NjExO2UudW1hY3Jvbj02MTE7ZS5OY2Fyb249NzIyO2UuSWFjdXRlPTI3ODtlLnBsdXNtaW51cz01ODQ7ZS5icm9rZW5iYXI9MjgwO2UucmVnaXN0ZXJlZD03Mzc7ZS5HYnJldmU9Nzc4O2UuSWRvdGFjY2VudD0yNzg7ZS5zdW1tYXRpb249NjAwO2UuRWdyYXZlPTY2NztlLnJhY3V0ZT0zODk7ZS5vbWFjcm9uPTYxMTtlLlphY3V0ZT02MTE7ZS5aY2Fyb249NjExO2UuZ3JlYXRlcmVxdWFsPTU0OTtlLkV0aD03MjI7ZS5DY2VkaWxsYT03MjI7ZS5sY29tbWFhY2NlbnQ9Mjc4O2UudGNhcm9uPTM4OTtlLmVvZ29uZWs9NTU2O2UuVW9nb25laz03MjI7ZS5BYWN1dGU9NzIyO2UuQWRpZXJlc2lzPTcyMjtlLmVncmF2ZT01NTY7ZS56YWN1dGU9NTAwO2UuaW9nb25laz0yNzg7ZS5PYWN1dGU9Nzc4O2Uub2FjdXRlPTYxMTtlLmFtYWNyb249NTU2O2Uuc2FjdXRlPTU1NjtlLmlkaWVyZXNpcz0yNzg7ZS5PY2lyY3VtZmxleD03Nzg7ZS5VZ3JhdmU9NzIyO2UuRGVsdGE9NjEyO2UudGhvcm49NjExO2UudHdvc3VwZXJpb3I9MzMzO2UuT2RpZXJlc2lzPTc3ODtlLm11PTYxMTtlLmlncmF2ZT0yNzg7ZS5vaHVuZ2FydW1sYXV0PTYxMTtlLkVvZ29uZWs9NjY3O2UuZGNyb2F0PTYxMTtlLnRocmVlcXVhcnRlcnM9ODM0O2UuU2NlZGlsbGE9NjY3O2UubGNhcm9uPTQwMDtlLktjb21tYWFjY2VudD03MjI7ZS5MYWN1dGU9NjExO2UudHJhZGVtYXJrPTFlMztlLmVkb3RhY2NlbnQ9NTU2O2UuSWdyYXZlPTI3ODtlLkltYWNyb249Mjc4O2UuTGNhcm9uPTYxMTtlLm9uZWhhbGY9ODM0O2UubGVzc2VxdWFsPTU0OTtlLm9jaXJjdW1mbGV4PTYxMTtlLm50aWxkZT02MTE7ZS5VaHVuZ2FydW1sYXV0PTcyMjtlLkVhY3V0ZT02Njc7ZS5lbWFjcm9uPTU1NjtlLmdicmV2ZT02MTE7ZS5vbmVxdWFydGVyPTgzNDtlLlNjYXJvbj02Njc7ZS5TY29tbWFhY2NlbnQ9NjY3O2UuT2h1bmdhcnVtbGF1dD03Nzg7ZS5kZWdyZWU9NDAwO2Uub2dyYXZlPTYxMTtlLkNjYXJvbj03MjI7ZS51Z3JhdmU9NjExO2UucmFkaWNhbD01NDk7ZS5EY2Fyb249NzIyO2UucmNvbW1hYWNjZW50PTM4OTtlLk50aWxkZT03MjI7ZS5vdGlsZGU9NjExO2UuUmNvbW1hYWNjZW50PTcyMjtlLkxjb21tYWFjY2VudD02MTE7ZS5BdGlsZGU9NzIyO2UuQW9nb25laz03MjI7ZS5BcmluZz03MjI7ZS5PdGlsZGU9Nzc4O2UuemRvdGFjY2VudD01MDA7ZS5FY2Fyb249NjY3O2UuSW9nb25laz0yNzg7ZS5rY29tbWFhY2NlbnQ9NTU2O2UubWludXM9NTg0O2UuSWNpcmN1bWZsZXg9Mjc4O2UubmNhcm9uPTYxMTtlLnRjb21tYWFjY2VudD0zMzM7ZS5sb2dpY2Fsbm90PTU4NDtlLm9kaWVyZXNpcz02MTE7ZS51ZGllcmVzaXM9NjExO2Uubm90ZXF1YWw9NTQ5O2UuZ2NvbW1hYWNjZW50PTYxMTtlLmV0aD02MTE7ZS56Y2Fyb249NTAwO2UubmNvbW1hYWNjZW50PTYxMTtlLm9uZXN1cGVyaW9yPTMzMztlLmltYWNyb249Mjc4O2UuRXVybz01NTZ9KSk7ZVsiSGVsdmV0aWNhLU9ibGlxdWUiXT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9Mjc4O2UuZXhjbGFtPTI3ODtlLnF1b3RlZGJsPTM1NTtlLm51bWJlcnNpZ249NTU2O2UuZG9sbGFyPTU1NjtlLnBlcmNlbnQ9ODg5O2UuYW1wZXJzYW5kPTY2NztlLnF1b3RlcmlnaHQ9MjIyO2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2s9Mzg5O2UucGx1cz01ODQ7ZS5jb21tYT0yNzg7ZS5oeXBoZW49MzMzO2UucGVyaW9kPTI3ODtlLnNsYXNoPTI3ODtlLnplcm89NTU2O2Uub25lPTU1NjtlLnR3bz01NTY7ZS50aHJlZT01NTY7ZS5mb3VyPTU1NjtlLmZpdmU9NTU2O2Uuc2l4PTU1NjtlLnNldmVuPTU1NjtlLmVpZ2h0PTU1NjtlLm5pbmU9NTU2O2UuY29sb249Mjc4O2Uuc2VtaWNvbG9uPTI3ODtlLmxlc3M9NTg0O2UuZXF1YWw9NTg0O2UuZ3JlYXRlcj01ODQ7ZS5xdWVzdGlvbj01NTY7ZS5hdD0xMDE1O2UuQT02Njc7ZS5CPTY2NztlLkM9NzIyO2UuRD03MjI7ZS5FPTY2NztlLkY9NjExO2UuRz03Nzg7ZS5IPTcyMjtlLkk9Mjc4O2UuSj01MDA7ZS5LPTY2NztlLkw9NTU2O2UuTT04MzM7ZS5OPTcyMjtlLk89Nzc4O2UuUD02Njc7ZS5RPTc3ODtlLlI9NzIyO2UuUz02Njc7ZS5UPTYxMTtlLlU9NzIyO2UuVj02Njc7ZS5XPTk0NDtlLlg9NjY3O2UuWT02Njc7ZS5aPTYxMTtlLmJyYWNrZXRsZWZ0PTI3ODtlLmJhY2tzbGFzaD0yNzg7ZS5icmFja2V0cmlnaHQ9Mjc4O2UuYXNjaWljaXJjdW09NDY5O2UudW5kZXJzY29yZT01NTY7ZS5xdW90ZWxlZnQ9MjIyO2UuYT01NTY7ZS5iPTU1NjtlLmM9NTAwO2UuZD01NTY7ZS5lPTU1NjtlLmY9Mjc4O2UuZz01NTY7ZS5oPTU1NjtlLmk9MjIyO2Uuaj0yMjI7ZS5rPTUwMDtlLmw9MjIyO2UubT04MzM7ZS5uPTU1NjtlLm89NTU2O2UucD01NTY7ZS5xPTU1NjtlLnI9MzMzO2Uucz01MDA7ZS50PTI3ODtlLnU9NTU2O2Uudj01MDA7ZS53PTcyMjtlLng9NTAwO2UueT01MDA7ZS56PTUwMDtlLmJyYWNlbGVmdD0zMzQ7ZS5iYXI9MjYwO2UuYnJhY2VyaWdodD0zMzQ7ZS5hc2NpaXRpbGRlPTU4NDtlLmV4Y2xhbWRvd249MzMzO2UuY2VudD01NTY7ZS5zdGVybGluZz01NTY7ZS5mcmFjdGlvbj0xNjc7ZS55ZW49NTU2O2UuZmxvcmluPTU1NjtlLnNlY3Rpb249NTU2O2UuY3VycmVuY3k9NTU2O2UucXVvdGVzaW5nbGU9MTkxO2UucXVvdGVkYmxsZWZ0PTMzMztlLmd1aWxsZW1vdGxlZnQ9NTU2O2UuZ3VpbHNpbmdsbGVmdD0zMzM7ZS5ndWlsc2luZ2xyaWdodD0zMzM7ZS5maT01MDA7ZS5mbD01MDA7ZS5lbmRhc2g9NTU2O2UuZGFnZ2VyPTU1NjtlLmRhZ2dlcmRibD01NTY7ZS5wZXJpb2RjZW50ZXJlZD0yNzg7ZS5wYXJhZ3JhcGg9NTM3O2UuYnVsbGV0PTM1MDtlLnF1b3Rlc2luZ2xiYXNlPTIyMjtlLnF1b3RlZGJsYmFzZT0zMzM7ZS5xdW90ZWRibHJpZ2h0PTMzMztlLmd1aWxsZW1vdHJpZ2h0PTU1NjtlLmVsbGlwc2lzPTFlMztlLnBlcnRob3VzYW5kPTFlMztlLnF1ZXN0aW9uZG93bj02MTE7ZS5ncmF2ZT0zMzM7ZS5hY3V0ZT0zMzM7ZS5jaXJjdW1mbGV4PTMzMztlLnRpbGRlPTMzMztlLm1hY3Jvbj0zMzM7ZS5icmV2ZT0zMzM7ZS5kb3RhY2NlbnQ9MzMzO2UuZGllcmVzaXM9MzMzO2UucmluZz0zMzM7ZS5jZWRpbGxhPTMzMztlLmh1bmdhcnVtbGF1dD0zMzM7ZS5vZ29uZWs9MzMzO2UuY2Fyb249MzMzO2UuZW1kYXNoPTFlMztlLkFFPTFlMztlLm9yZGZlbWluaW5lPTM3MDtlLkxzbGFzaD01NTY7ZS5Pc2xhc2g9Nzc4O2UuT0U9MWUzO2Uub3JkbWFzY3VsaW5lPTM2NTtlLmFlPTg4OTtlLmRvdGxlc3NpPTI3ODtlLmxzbGFzaD0yMjI7ZS5vc2xhc2g9NjExO2Uub2U9OTQ0O2UuZ2VybWFuZGJscz02MTE7ZS5JZGllcmVzaXM9Mjc4O2UuZWFjdXRlPTU1NjtlLmFicmV2ZT01NTY7ZS51aHVuZ2FydW1sYXV0PTU1NjtlLmVjYXJvbj01NTY7ZS5ZZGllcmVzaXM9NjY3O2UuZGl2aWRlPTU4NDtlLllhY3V0ZT02Njc7ZS5BY2lyY3VtZmxleD02Njc7ZS5hYWN1dGU9NTU2O2UuVWNpcmN1bWZsZXg9NzIyO2UueWFjdXRlPTUwMDtlLnNjb21tYWFjY2VudD01MDA7ZS5lY2lyY3VtZmxleD01NTY7ZS5VcmluZz03MjI7ZS5VZGllcmVzaXM9NzIyO2UuYW9nb25laz01NTY7ZS5VYWN1dGU9NzIyO2UudW9nb25laz01NTY7ZS5FZGllcmVzaXM9NjY3O2UuRGNyb2F0PTcyMjtlLmNvbW1hYWNjZW50PTI1MDtlLmNvcHlyaWdodD03Mzc7ZS5FbWFjcm9uPTY2NztlLmNjYXJvbj01MDA7ZS5hcmluZz01NTY7ZS5OY29tbWFhY2NlbnQ9NzIyO2UubGFjdXRlPTIyMjtlLmFncmF2ZT01NTY7ZS5UY29tbWFhY2NlbnQ9NjExO2UuQ2FjdXRlPTcyMjtlLmF0aWxkZT01NTY7ZS5FZG90YWNjZW50PTY2NztlLnNjYXJvbj01MDA7ZS5zY2VkaWxsYT01MDA7ZS5pYWN1dGU9Mjc4O2UubG96ZW5nZT00NzE7ZS5SY2Fyb249NzIyO2UuR2NvbW1hYWNjZW50PTc3ODtlLnVjaXJjdW1mbGV4PTU1NjtlLmFjaXJjdW1mbGV4PTU1NjtlLkFtYWNyb249NjY3O2UucmNhcm9uPTMzMztlLmNjZWRpbGxhPTUwMDtlLlpkb3RhY2NlbnQ9NjExO2UuVGhvcm49NjY3O2UuT21hY3Jvbj03Nzg7ZS5SYWN1dGU9NzIyO2UuU2FjdXRlPTY2NztlLmRjYXJvbj02NDM7ZS5VbWFjcm9uPTcyMjtlLnVyaW5nPTU1NjtlLnRocmVlc3VwZXJpb3I9MzMzO2UuT2dyYXZlPTc3ODtlLkFncmF2ZT02Njc7ZS5BYnJldmU9NjY3O2UubXVsdGlwbHk9NTg0O2UudWFjdXRlPTU1NjtlLlRjYXJvbj02MTE7ZS5wYXJ0aWFsZGlmZj00NzY7ZS55ZGllcmVzaXM9NTAwO2UuTmFjdXRlPTcyMjtlLmljaXJjdW1mbGV4PTI3ODtlLkVjaXJjdW1mbGV4PTY2NztlLmFkaWVyZXNpcz01NTY7ZS5lZGllcmVzaXM9NTU2O2UuY2FjdXRlPTUwMDtlLm5hY3V0ZT01NTY7ZS51bWFjcm9uPTU1NjtlLk5jYXJvbj03MjI7ZS5JYWN1dGU9Mjc4O2UucGx1c21pbnVzPTU4NDtlLmJyb2tlbmJhcj0yNjA7ZS5yZWdpc3RlcmVkPTczNztlLkdicmV2ZT03Nzg7ZS5JZG90YWNjZW50PTI3ODtlLnN1bW1hdGlvbj02MDA7ZS5FZ3JhdmU9NjY3O2UucmFjdXRlPTMzMztlLm9tYWNyb249NTU2O2UuWmFjdXRlPTYxMTtlLlpjYXJvbj02MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UuRXRoPTcyMjtlLkNjZWRpbGxhPTcyMjtlLmxjb21tYWFjY2VudD0yMjI7ZS50Y2Fyb249MzE3O2UuZW9nb25laz01NTY7ZS5Vb2dvbmVrPTcyMjtlLkFhY3V0ZT02Njc7ZS5BZGllcmVzaXM9NjY3O2UuZWdyYXZlPTU1NjtlLnphY3V0ZT01MDA7ZS5pb2dvbmVrPTIyMjtlLk9hY3V0ZT03Nzg7ZS5vYWN1dGU9NTU2O2UuYW1hY3Jvbj01NTY7ZS5zYWN1dGU9NTAwO2UuaWRpZXJlc2lzPTI3ODtlLk9jaXJjdW1mbGV4PTc3ODtlLlVncmF2ZT03MjI7ZS5EZWx0YT02MTI7ZS50aG9ybj01NTY7ZS50d29zdXBlcmlvcj0zMzM7ZS5PZGllcmVzaXM9Nzc4O2UubXU9NTU2O2UuaWdyYXZlPTI3ODtlLm9odW5nYXJ1bWxhdXQ9NTU2O2UuRW9nb25laz02Njc7ZS5kY3JvYXQ9NTU2O2UudGhyZWVxdWFydGVycz04MzQ7ZS5TY2VkaWxsYT02Njc7ZS5sY2Fyb249Mjk5O2UuS2NvbW1hYWNjZW50PTY2NztlLkxhY3V0ZT01NTY7ZS50cmFkZW1hcms9MWUzO2UuZWRvdGFjY2VudD01NTY7ZS5JZ3JhdmU9Mjc4O2UuSW1hY3Jvbj0yNzg7ZS5MY2Fyb249NTU2O2Uub25laGFsZj04MzQ7ZS5sZXNzZXF1YWw9NTQ5O2Uub2NpcmN1bWZsZXg9NTU2O2UubnRpbGRlPTU1NjtlLlVodW5nYXJ1bWxhdXQ9NzIyO2UuRWFjdXRlPTY2NztlLmVtYWNyb249NTU2O2UuZ2JyZXZlPTU1NjtlLm9uZXF1YXJ0ZXI9ODM0O2UuU2Nhcm9uPTY2NztlLlNjb21tYWFjY2VudD02Njc7ZS5PaHVuZ2FydW1sYXV0PTc3ODtlLmRlZ3JlZT00MDA7ZS5vZ3JhdmU9NTU2O2UuQ2Nhcm9uPTcyMjtlLnVncmF2ZT01NTY7ZS5yYWRpY2FsPTQ1MztlLkRjYXJvbj03MjI7ZS5yY29tbWFhY2NlbnQ9MzMzO2UuTnRpbGRlPTcyMjtlLm90aWxkZT01NTY7ZS5SY29tbWFhY2NlbnQ9NzIyO2UuTGNvbW1hYWNjZW50PTU1NjtlLkF0aWxkZT02Njc7ZS5Bb2dvbmVrPTY2NztlLkFyaW5nPTY2NztlLk90aWxkZT03Nzg7ZS56ZG90YWNjZW50PTUwMDtlLkVjYXJvbj02Njc7ZS5Jb2dvbmVrPTI3ODtlLmtjb21tYWFjY2VudD01MDA7ZS5taW51cz01ODQ7ZS5JY2lyY3VtZmxleD0yNzg7ZS5uY2Fyb249NTU2O2UudGNvbW1hYWNjZW50PTI3ODtlLmxvZ2ljYWxub3Q9NTg0O2Uub2RpZXJlc2lzPTU1NjtlLnVkaWVyZXNpcz01NTY7ZS5ub3RlcXVhbD01NDk7ZS5nY29tbWFhY2NlbnQ9NTU2O2UuZXRoPTU1NjtlLnpjYXJvbj01MDA7ZS5uY29tbWFhY2NlbnQ9NTU2O2Uub25lc3VwZXJpb3I9MzMzO2UuaW1hY3Jvbj0yNzg7ZS5FdXJvPTU1Nn0pKTtlLlN5bWJvbD1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9MjUwO2UuZXhjbGFtPTMzMztlLnVuaXZlcnNhbD03MTM7ZS5udW1iZXJzaWduPTUwMDtlLmV4aXN0ZW50aWFsPTU0OTtlLnBlcmNlbnQ9ODMzO2UuYW1wZXJzYW5kPTc3ODtlLnN1Y2h0aGF0PTQzOTtlLnBhcmVubGVmdD0zMzM7ZS5wYXJlbnJpZ2h0PTMzMztlLmFzdGVyaXNrbWF0aD01MDA7ZS5wbHVzPTU0OTtlLmNvbW1hPTI1MDtlLm1pbnVzPTU0OTtlLnBlcmlvZD0yNTA7ZS5zbGFzaD0yNzg7ZS56ZXJvPTUwMDtlLm9uZT01MDA7ZS50d289NTAwO2UudGhyZWU9NTAwO2UuZm91cj01MDA7ZS5maXZlPTUwMDtlLnNpeD01MDA7ZS5zZXZlbj01MDA7ZS5laWdodD01MDA7ZS5uaW5lPTUwMDtlLmNvbG9uPTI3ODtlLnNlbWljb2xvbj0yNzg7ZS5sZXNzPTU0OTtlLmVxdWFsPTU0OTtlLmdyZWF0ZXI9NTQ5O2UucXVlc3Rpb249NDQ0O2UuY29uZ3J1ZW50PTU0OTtlLkFscGhhPTcyMjtlLkJldGE9NjY3O2UuQ2hpPTcyMjtlLkRlbHRhPTYxMjtlLkVwc2lsb249NjExO2UuUGhpPTc2MztlLkdhbW1hPTYwMztlLkV0YT03MjI7ZS5Jb3RhPTMzMztlLnRoZXRhMT02MzE7ZS5LYXBwYT03MjI7ZS5MYW1iZGE9Njg2O2UuTXU9ODg5O2UuTnU9NzIyO2UuT21pY3Jvbj03MjI7ZS5QaT03Njg7ZS5UaGV0YT03NDE7ZS5SaG89NTU2O2UuU2lnbWE9NTkyO2UuVGF1PTYxMTtlLlVwc2lsb249NjkwO2Uuc2lnbWExPTQzOTtlLk9tZWdhPTc2ODtlLlhpPTY0NTtlLlBzaT03OTU7ZS5aZXRhPTYxMTtlLmJyYWNrZXRsZWZ0PTMzMztlLnRoZXJlZm9yZT04NjM7ZS5icmFja2V0cmlnaHQ9MzMzO2UucGVycGVuZGljdWxhcj02NTg7ZS51bmRlcnNjb3JlPTUwMDtlLnJhZGljYWxleD01MDA7ZS5hbHBoYT02MzE7ZS5iZXRhPTU0OTtlLmNoaT01NDk7ZS5kZWx0YT00OTQ7ZS5lcHNpbG9uPTQzOTtlLnBoaT01MjE7ZS5nYW1tYT00MTE7ZS5ldGE9NjAzO2UuaW90YT0zMjk7ZS5waGkxPTYwMztlLmthcHBhPTU0OTtlLmxhbWJkYT01NDk7ZS5tdT01NzY7ZS5udT01MjE7ZS5vbWljcm9uPTU0OTtlLnBpPTU0OTtlLnRoZXRhPTUyMTtlLnJobz01NDk7ZS5zaWdtYT02MDM7ZS50YXU9NDM5O2UudXBzaWxvbj01NzY7ZS5vbWVnYTE9NzEzO2Uub21lZ2E9Njg2O2UueGk9NDkzO2UucHNpPTY4NjtlLnpldGE9NDk0O2UuYnJhY2VsZWZ0PTQ4MDtlLmJhcj0yMDA7ZS5icmFjZXJpZ2h0PTQ4MDtlLnNpbWlsYXI9NTQ5O2UuRXVybz03NTA7ZS5VcHNpbG9uMT02MjA7ZS5taW51dGU9MjQ3O2UubGVzc2VxdWFsPTU0OTtlLmZyYWN0aW9uPTE2NztlLmluZmluaXR5PTcxMztlLmZsb3Jpbj01MDA7ZS5jbHViPTc1MztlLmRpYW1vbmQ9NzUzO2UuaGVhcnQ9NzUzO2Uuc3BhZGU9NzUzO2UuYXJyb3dib3RoPTEwNDI7ZS5hcnJvd2xlZnQ9OTg3O2UuYXJyb3d1cD02MDM7ZS5hcnJvd3JpZ2h0PTk4NztlLmFycm93ZG93bj02MDM7ZS5kZWdyZWU9NDAwO2UucGx1c21pbnVzPTU0OTtlLnNlY29uZD00MTE7ZS5ncmVhdGVyZXF1YWw9NTQ5O2UubXVsdGlwbHk9NTQ5O2UucHJvcG9ydGlvbmFsPTcxMztlLnBhcnRpYWxkaWZmPTQ5NDtlLmJ1bGxldD00NjA7ZS5kaXZpZGU9NTQ5O2Uubm90ZXF1YWw9NTQ5O2UuZXF1aXZhbGVuY2U9NTQ5O2UuYXBwcm94ZXF1YWw9NTQ5O2UuZWxsaXBzaXM9MWUzO2UuYXJyb3d2ZXJ0ZXg9NjAzO2UuYXJyb3dob3JpemV4PTFlMztlLmNhcnJpYWdlcmV0dXJuPTY1ODtlLmFsZXBoPTgyMztlLklmcmFrdHVyPTY4NjtlLlJmcmFrdHVyPTc5NTtlLndlaWVyc3RyYXNzPTk4NztlLmNpcmNsZW11bHRpcGx5PTc2ODtlLmNpcmNsZXBsdXM9NzY4O2UuZW1wdHlzZXQ9ODIzO2UuaW50ZXJzZWN0aW9uPTc2ODtlLnVuaW9uPTc2ODtlLnByb3BlcnN1cGVyc2V0PTcxMztlLnJlZmxleHN1cGVyc2V0PTcxMztlLm5vdHN1YnNldD03MTM7ZS5wcm9wZXJzdWJzZXQ9NzEzO2UucmVmbGV4c3Vic2V0PTcxMztlLmVsZW1lbnQ9NzEzO2Uubm90ZWxlbWVudD03MTM7ZS5hbmdsZT03Njg7ZS5ncmFkaWVudD03MTM7ZS5yZWdpc3RlcnNlcmlmPTc5MDtlLmNvcHlyaWdodHNlcmlmPTc5MDtlLnRyYWRlbWFya3NlcmlmPTg5MDtlLnByb2R1Y3Q9ODIzO2UucmFkaWNhbD01NDk7ZS5kb3RtYXRoPTI1MDtlLmxvZ2ljYWxub3Q9NzEzO2UubG9naWNhbGFuZD02MDM7ZS5sb2dpY2Fsb3I9NjAzO2UuYXJyb3dkYmxib3RoPTEwNDI7ZS5hcnJvd2RibGxlZnQ9OTg3O2UuYXJyb3dkYmx1cD02MDM7ZS5hcnJvd2RibHJpZ2h0PTk4NztlLmFycm93ZGJsZG93bj02MDM7ZS5sb3plbmdlPTQ5NDtlLmFuZ2xlbGVmdD0zMjk7ZS5yZWdpc3RlcnNhbnM9NzkwO2UuY29weXJpZ2h0c2Fucz03OTA7ZS50cmFkZW1hcmtzYW5zPTc4NjtlLnN1bW1hdGlvbj03MTM7ZS5wYXJlbmxlZnR0cD0zODQ7ZS5wYXJlbmxlZnRleD0zODQ7ZS5wYXJlbmxlZnRidD0zODQ7ZS5icmFja2V0bGVmdHRwPTM4NDtlLmJyYWNrZXRsZWZ0ZXg9Mzg0O2UuYnJhY2tldGxlZnRidD0zODQ7ZS5icmFjZWxlZnR0cD00OTQ7ZS5icmFjZWxlZnRtaWQ9NDk0O2UuYnJhY2VsZWZ0YnQ9NDk0O2UuYnJhY2VleD00OTQ7ZS5hbmdsZXJpZ2h0PTMyOTtlLmludGVncmFsPTI3NDtlLmludGVncmFsdHA9Njg2O2UuaW50ZWdyYWxleD02ODY7ZS5pbnRlZ3JhbGJ0PTY4NjtlLnBhcmVucmlnaHR0cD0zODQ7ZS5wYXJlbnJpZ2h0ZXg9Mzg0O2UucGFyZW5yaWdodGJ0PTM4NDtlLmJyYWNrZXRyaWdodHRwPTM4NDtlLmJyYWNrZXRyaWdodGV4PTM4NDtlLmJyYWNrZXRyaWdodGJ0PTM4NDtlLmJyYWNlcmlnaHR0cD00OTQ7ZS5icmFjZXJpZ2h0bWlkPTQ5NDtlLmJyYWNlcmlnaHRidD00OTQ7ZS5hcHBsZT03OTB9KSk7ZVsiVGltZXMtUm9tYW4iXT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9MjUwO2UuZXhjbGFtPTMzMztlLnF1b3RlZGJsPTQwODtlLm51bWJlcnNpZ249NTAwO2UuZG9sbGFyPTUwMDtlLnBlcmNlbnQ9ODMzO2UuYW1wZXJzYW5kPTc3ODtlLnF1b3RlcmlnaHQ9MzMzO2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2s9NTAwO2UucGx1cz01NjQ7ZS5jb21tYT0yNTA7ZS5oeXBoZW49MzMzO2UucGVyaW9kPTI1MDtlLnNsYXNoPTI3ODtlLnplcm89NTAwO2Uub25lPTUwMDtlLnR3bz01MDA7ZS50aHJlZT01MDA7ZS5mb3VyPTUwMDtlLmZpdmU9NTAwO2Uuc2l4PTUwMDtlLnNldmVuPTUwMDtlLmVpZ2h0PTUwMDtlLm5pbmU9NTAwO2UuY29sb249Mjc4O2Uuc2VtaWNvbG9uPTI3ODtlLmxlc3M9NTY0O2UuZXF1YWw9NTY0O2UuZ3JlYXRlcj01NjQ7ZS5xdWVzdGlvbj00NDQ7ZS5hdD05MjE7ZS5BPTcyMjtlLkI9NjY3O2UuQz02Njc7ZS5EPTcyMjtlLkU9NjExO2UuRj01NTY7ZS5HPTcyMjtlLkg9NzIyO2UuST0zMzM7ZS5KPTM4OTtlLks9NzIyO2UuTD02MTE7ZS5NPTg4OTtlLk49NzIyO2UuTz03MjI7ZS5QPTU1NjtlLlE9NzIyO2UuUj02Njc7ZS5TPTU1NjtlLlQ9NjExO2UuVT03MjI7ZS5WPTcyMjtlLlc9OTQ0O2UuWD03MjI7ZS5ZPTcyMjtlLlo9NjExO2UuYnJhY2tldGxlZnQ9MzMzO2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0zMzM7ZS5hc2NpaWNpcmN1bT00Njk7ZS51bmRlcnNjb3JlPTUwMDtlLnF1b3RlbGVmdD0zMzM7ZS5hPTQ0NDtlLmI9NTAwO2UuYz00NDQ7ZS5kPTUwMDtlLmU9NDQ0O2UuZj0zMzM7ZS5nPTUwMDtlLmg9NTAwO2UuaT0yNzg7ZS5qPTI3ODtlLms9NTAwO2UubD0yNzg7ZS5tPTc3ODtlLm49NTAwO2Uubz01MDA7ZS5wPTUwMDtlLnE9NTAwO2Uucj0zMzM7ZS5zPTM4OTtlLnQ9Mjc4O2UudT01MDA7ZS52PTUwMDtlLnc9NzIyO2UueD01MDA7ZS55PTUwMDtlLno9NDQ0O2UuYnJhY2VsZWZ0PTQ4MDtlLmJhcj0yMDA7ZS5icmFjZXJpZ2h0PTQ4MDtlLmFzY2lpdGlsZGU9NTQxO2UuZXhjbGFtZG93bj0zMzM7ZS5jZW50PTUwMDtlLnN0ZXJsaW5nPTUwMDtlLmZyYWN0aW9uPTE2NztlLnllbj01MDA7ZS5mbG9yaW49NTAwO2Uuc2VjdGlvbj01MDA7ZS5jdXJyZW5jeT01MDA7ZS5xdW90ZXNpbmdsZT0xODA7ZS5xdW90ZWRibGxlZnQ9NDQ0O2UuZ3VpbGxlbW90bGVmdD01MDA7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTU1NjtlLmZsPTU1NjtlLmVuZGFzaD01MDA7ZS5kYWdnZXI9NTAwO2UuZGFnZ2VyZGJsPTUwMDtlLnBlcmlvZGNlbnRlcmVkPTI1MDtlLnBhcmFncmFwaD00NTM7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9MzMzO2UucXVvdGVkYmxiYXNlPTQ0NDtlLnF1b3RlZGJscmlnaHQ9NDQ0O2UuZ3VpbGxlbW90cmlnaHQ9NTAwO2UuZWxsaXBzaXM9MWUzO2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTQ0NDtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9MWUzO2UuQUU9ODg5O2Uub3JkZmVtaW5pbmU9Mjc2O2UuTHNsYXNoPTYxMTtlLk9zbGFzaD03MjI7ZS5PRT04ODk7ZS5vcmRtYXNjdWxpbmU9MzEwO2UuYWU9NjY3O2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTI3ODtlLm9zbGFzaD01MDA7ZS5vZT03MjI7ZS5nZXJtYW5kYmxzPTUwMDtlLklkaWVyZXNpcz0zMzM7ZS5lYWN1dGU9NDQ0O2UuYWJyZXZlPTQ0NDtlLnVodW5nYXJ1bWxhdXQ9NTAwO2UuZWNhcm9uPTQ0NDtlLllkaWVyZXNpcz03MjI7ZS5kaXZpZGU9NTY0O2UuWWFjdXRlPTcyMjtlLkFjaXJjdW1mbGV4PTcyMjtlLmFhY3V0ZT00NDQ7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NTAwO2Uuc2NvbW1hYWNjZW50PTM4OTtlLmVjaXJjdW1mbGV4PTQ0NDtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTQ0NDtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTUwMDtlLkVkaWVyZXNpcz02MTE7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTc2MDtlLkVtYWNyb249NjExO2UuY2Nhcm9uPTQ0NDtlLmFyaW5nPTQ0NDtlLk5jb21tYWFjY2VudD03MjI7ZS5sYWN1dGU9Mjc4O2UuYWdyYXZlPTQ0NDtlLlRjb21tYWFjY2VudD02MTE7ZS5DYWN1dGU9NjY3O2UuYXRpbGRlPTQ0NDtlLkVkb3RhY2NlbnQ9NjExO2Uuc2Nhcm9uPTM4OTtlLnNjZWRpbGxhPTM4OTtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ3MTtlLlJjYXJvbj02Njc7ZS5HY29tbWFhY2NlbnQ9NzIyO2UudWNpcmN1bWZsZXg9NTAwO2UuYWNpcmN1bWZsZXg9NDQ0O2UuQW1hY3Jvbj03MjI7ZS5yY2Fyb249MzMzO2UuY2NlZGlsbGE9NDQ0O2UuWmRvdGFjY2VudD02MTE7ZS5UaG9ybj01NTY7ZS5PbWFjcm9uPTcyMjtlLlJhY3V0ZT02Njc7ZS5TYWN1dGU9NTU2O2UuZGNhcm9uPTU4ODtlLlVtYWNyb249NzIyO2UudXJpbmc9NTAwO2UudGhyZWVzdXBlcmlvcj0zMDA7ZS5PZ3JhdmU9NzIyO2UuQWdyYXZlPTcyMjtlLkFicmV2ZT03MjI7ZS5tdWx0aXBseT01NjQ7ZS51YWN1dGU9NTAwO2UuVGNhcm9uPTYxMTtlLnBhcnRpYWxkaWZmPTQ3NjtlLnlkaWVyZXNpcz01MDA7ZS5OYWN1dGU9NzIyO2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjExO2UuYWRpZXJlc2lzPTQ0NDtlLmVkaWVyZXNpcz00NDQ7ZS5jYWN1dGU9NDQ0O2UubmFjdXRlPTUwMDtlLnVtYWNyb249NTAwO2UuTmNhcm9uPTcyMjtlLklhY3V0ZT0zMzM7ZS5wbHVzbWludXM9NTY0O2UuYnJva2VuYmFyPTIwMDtlLnJlZ2lzdGVyZWQ9NzYwO2UuR2JyZXZlPTcyMjtlLklkb3RhY2NlbnQ9MzMzO2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02MTE7ZS5yYWN1dGU9MzMzO2Uub21hY3Jvbj01MDA7ZS5aYWN1dGU9NjExO2UuWmNhcm9uPTYxMTtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NjY3O2UubGNvbW1hYWNjZW50PTI3ODtlLnRjYXJvbj0zMjY7ZS5lb2dvbmVrPTQ0NDtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTcyMjtlLkFkaWVyZXNpcz03MjI7ZS5lZ3JhdmU9NDQ0O2UuemFjdXRlPTQ0NDtlLmlvZ29uZWs9Mjc4O2UuT2FjdXRlPTcyMjtlLm9hY3V0ZT01MDA7ZS5hbWFjcm9uPTQ0NDtlLnNhY3V0ZT0zODk7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9NzIyO2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTUwMDtlLnR3b3N1cGVyaW9yPTMwMDtlLk9kaWVyZXNpcz03MjI7ZS5tdT01MDA7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD01MDA7ZS5Fb2dvbmVrPTYxMTtlLmRjcm9hdD01MDA7ZS50aHJlZXF1YXJ0ZXJzPTc1MDtlLlNjZWRpbGxhPTU1NjtlLmxjYXJvbj0zNDQ7ZS5LY29tbWFhY2NlbnQ9NzIyO2UuTGFjdXRlPTYxMTtlLnRyYWRlbWFyaz05ODA7ZS5lZG90YWNjZW50PTQ0NDtlLklncmF2ZT0zMzM7ZS5JbWFjcm9uPTMzMztlLkxjYXJvbj02MTE7ZS5vbmVoYWxmPTc1MDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD01MDA7ZS5udGlsZGU9NTAwO2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjExO2UuZW1hY3Jvbj00NDQ7ZS5nYnJldmU9NTAwO2Uub25lcXVhcnRlcj03NTA7ZS5TY2Fyb249NTU2O2UuU2NvbW1hYWNjZW50PTU1NjtlLk9odW5nYXJ1bWxhdXQ9NzIyO2UuZGVncmVlPTQwMDtlLm9ncmF2ZT01MDA7ZS5DY2Fyb249NjY3O2UudWdyYXZlPTUwMDtlLnJhZGljYWw9NDUzO2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zMzM7ZS5OdGlsZGU9NzIyO2Uub3RpbGRlPTUwMDtlLlJjb21tYWFjY2VudD02Njc7ZS5MY29tbWFhY2NlbnQ9NjExO2UuQXRpbGRlPTcyMjtlLkFvZ29uZWs9NzIyO2UuQXJpbmc9NzIyO2UuT3RpbGRlPTcyMjtlLnpkb3RhY2NlbnQ9NDQ0O2UuRWNhcm9uPTYxMTtlLklvZ29uZWs9MzMzO2Uua2NvbW1hYWNjZW50PTUwMDtlLm1pbnVzPTU2NDtlLkljaXJjdW1mbGV4PTMzMztlLm5jYXJvbj01MDA7ZS50Y29tbWFhY2NlbnQ9Mjc4O2UubG9naWNhbG5vdD01NjQ7ZS5vZGllcmVzaXM9NTAwO2UudWRpZXJlc2lzPTUwMDtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD01MDA7ZS5ldGg9NTAwO2UuemNhcm9uPTQ0NDtlLm5jb21tYWFjY2VudD01MDA7ZS5vbmVzdXBlcmlvcj0zMDA7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTAwfSkpO2VbIlRpbWVzLUJvbGQiXT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9MjUwO2UuZXhjbGFtPTMzMztlLnF1b3RlZGJsPTU1NTtlLm51bWJlcnNpZ249NTAwO2UuZG9sbGFyPTUwMDtlLnBlcmNlbnQ9MWUzO2UuYW1wZXJzYW5kPTgzMztlLnF1b3RlcmlnaHQ9MzMzO2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2s9NTAwO2UucGx1cz01NzA7ZS5jb21tYT0yNTA7ZS5oeXBoZW49MzMzO2UucGVyaW9kPTI1MDtlLnNsYXNoPTI3ODtlLnplcm89NTAwO2Uub25lPTUwMDtlLnR3bz01MDA7ZS50aHJlZT01MDA7ZS5mb3VyPTUwMDtlLmZpdmU9NTAwO2Uuc2l4PTUwMDtlLnNldmVuPTUwMDtlLmVpZ2h0PTUwMDtlLm5pbmU9NTAwO2UuY29sb249MzMzO2Uuc2VtaWNvbG9uPTMzMztlLmxlc3M9NTcwO2UuZXF1YWw9NTcwO2UuZ3JlYXRlcj01NzA7ZS5xdWVzdGlvbj01MDA7ZS5hdD05MzA7ZS5BPTcyMjtlLkI9NjY3O2UuQz03MjI7ZS5EPTcyMjtlLkU9NjY3O2UuRj02MTE7ZS5HPTc3ODtlLkg9Nzc4O2UuST0zODk7ZS5KPTUwMDtlLks9Nzc4O2UuTD02Njc7ZS5NPTk0NDtlLk49NzIyO2UuTz03Nzg7ZS5QPTYxMTtlLlE9Nzc4O2UuUj03MjI7ZS5TPTU1NjtlLlQ9NjY3O2UuVT03MjI7ZS5WPTcyMjtlLlc9MWUzO2UuWD03MjI7ZS5ZPTcyMjtlLlo9NjY3O2UuYnJhY2tldGxlZnQ9MzMzO2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0zMzM7ZS5hc2NpaWNpcmN1bT01ODE7ZS51bmRlcnNjb3JlPTUwMDtlLnF1b3RlbGVmdD0zMzM7ZS5hPTUwMDtlLmI9NTU2O2UuYz00NDQ7ZS5kPTU1NjtlLmU9NDQ0O2UuZj0zMzM7ZS5nPTUwMDtlLmg9NTU2O2UuaT0yNzg7ZS5qPTMzMztlLms9NTU2O2UubD0yNzg7ZS5tPTgzMztlLm49NTU2O2Uubz01MDA7ZS5wPTU1NjtlLnE9NTU2O2Uucj00NDQ7ZS5zPTM4OTtlLnQ9MzMzO2UudT01NTY7ZS52PTUwMDtlLnc9NzIyO2UueD01MDA7ZS55PTUwMDtlLno9NDQ0O2UuYnJhY2VsZWZ0PTM5NDtlLmJhcj0yMjA7ZS5icmFjZXJpZ2h0PTM5NDtlLmFzY2lpdGlsZGU9NTIwO2UuZXhjbGFtZG93bj0zMzM7ZS5jZW50PTUwMDtlLnN0ZXJsaW5nPTUwMDtlLmZyYWN0aW9uPTE2NztlLnllbj01MDA7ZS5mbG9yaW49NTAwO2Uuc2VjdGlvbj01MDA7ZS5jdXJyZW5jeT01MDA7ZS5xdW90ZXNpbmdsZT0yNzg7ZS5xdW90ZWRibGxlZnQ9NTAwO2UuZ3VpbGxlbW90bGVmdD01MDA7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTU1NjtlLmZsPTU1NjtlLmVuZGFzaD01MDA7ZS5kYWdnZXI9NTAwO2UuZGFnZ2VyZGJsPTUwMDtlLnBlcmlvZGNlbnRlcmVkPTI1MDtlLnBhcmFncmFwaD01NDA7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9MzMzO2UucXVvdGVkYmxiYXNlPTUwMDtlLnF1b3RlZGJscmlnaHQ9NTAwO2UuZ3VpbGxlbW90cmlnaHQ9NTAwO2UuZWxsaXBzaXM9MWUzO2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTUwMDtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9MWUzO2UuQUU9MWUzO2Uub3JkZmVtaW5pbmU9MzAwO2UuTHNsYXNoPTY2NztlLk9zbGFzaD03Nzg7ZS5PRT0xZTM7ZS5vcmRtYXNjdWxpbmU9MzMwO2UuYWU9NzIyO2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTI3ODtlLm9zbGFzaD01MDA7ZS5vZT03MjI7ZS5nZXJtYW5kYmxzPTU1NjtlLklkaWVyZXNpcz0zODk7ZS5lYWN1dGU9NDQ0O2UuYWJyZXZlPTUwMDtlLnVodW5nYXJ1bWxhdXQ9NTU2O2UuZWNhcm9uPTQ0NDtlLllkaWVyZXNpcz03MjI7ZS5kaXZpZGU9NTcwO2UuWWFjdXRlPTcyMjtlLkFjaXJjdW1mbGV4PTcyMjtlLmFhY3V0ZT01MDA7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NTAwO2Uuc2NvbW1hYWNjZW50PTM4OTtlLmVjaXJjdW1mbGV4PTQ0NDtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTUwMDtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTU1NjtlLkVkaWVyZXNpcz02Njc7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTc0NztlLkVtYWNyb249NjY3O2UuY2Nhcm9uPTQ0NDtlLmFyaW5nPTUwMDtlLk5jb21tYWFjY2VudD03MjI7ZS5sYWN1dGU9Mjc4O2UuYWdyYXZlPTUwMDtlLlRjb21tYWFjY2VudD02Njc7ZS5DYWN1dGU9NzIyO2UuYXRpbGRlPTUwMDtlLkVkb3RhY2NlbnQ9NjY3O2Uuc2Nhcm9uPTM4OTtlLnNjZWRpbGxhPTM4OTtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ5NDtlLlJjYXJvbj03MjI7ZS5HY29tbWFhY2NlbnQ9Nzc4O2UudWNpcmN1bWZsZXg9NTU2O2UuYWNpcmN1bWZsZXg9NTAwO2UuQW1hY3Jvbj03MjI7ZS5yY2Fyb249NDQ0O2UuY2NlZGlsbGE9NDQ0O2UuWmRvdGFjY2VudD02Njc7ZS5UaG9ybj02MTE7ZS5PbWFjcm9uPTc3ODtlLlJhY3V0ZT03MjI7ZS5TYWN1dGU9NTU2O2UuZGNhcm9uPTY3MjtlLlVtYWNyb249NzIyO2UudXJpbmc9NTU2O2UudGhyZWVzdXBlcmlvcj0zMDA7ZS5PZ3JhdmU9Nzc4O2UuQWdyYXZlPTcyMjtlLkFicmV2ZT03MjI7ZS5tdWx0aXBseT01NzA7ZS51YWN1dGU9NTU2O2UuVGNhcm9uPTY2NztlLnBhcnRpYWxkaWZmPTQ5NDtlLnlkaWVyZXNpcz01MDA7ZS5OYWN1dGU9NzIyO2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjY3O2UuYWRpZXJlc2lzPTUwMDtlLmVkaWVyZXNpcz00NDQ7ZS5jYWN1dGU9NDQ0O2UubmFjdXRlPTU1NjtlLnVtYWNyb249NTU2O2UuTmNhcm9uPTcyMjtlLklhY3V0ZT0zODk7ZS5wbHVzbWludXM9NTcwO2UuYnJva2VuYmFyPTIyMDtlLnJlZ2lzdGVyZWQ9NzQ3O2UuR2JyZXZlPTc3ODtlLklkb3RhY2NlbnQ9Mzg5O2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02Njc7ZS5yYWN1dGU9NDQ0O2Uub21hY3Jvbj01MDA7ZS5aYWN1dGU9NjY3O2UuWmNhcm9uPTY2NztlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NzIyO2UubGNvbW1hYWNjZW50PTI3ODtlLnRjYXJvbj00MTY7ZS5lb2dvbmVrPTQ0NDtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTcyMjtlLkFkaWVyZXNpcz03MjI7ZS5lZ3JhdmU9NDQ0O2UuemFjdXRlPTQ0NDtlLmlvZ29uZWs9Mjc4O2UuT2FjdXRlPTc3ODtlLm9hY3V0ZT01MDA7ZS5hbWFjcm9uPTUwMDtlLnNhY3V0ZT0zODk7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9Nzc4O2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTU1NjtlLnR3b3N1cGVyaW9yPTMwMDtlLk9kaWVyZXNpcz03Nzg7ZS5tdT01NTY7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD01MDA7ZS5Fb2dvbmVrPTY2NztlLmRjcm9hdD01NTY7ZS50aHJlZXF1YXJ0ZXJzPTc1MDtlLlNjZWRpbGxhPTU1NjtlLmxjYXJvbj0zOTQ7ZS5LY29tbWFhY2NlbnQ9Nzc4O2UuTGFjdXRlPTY2NztlLnRyYWRlbWFyaz0xZTM7ZS5lZG90YWNjZW50PTQ0NDtlLklncmF2ZT0zODk7ZS5JbWFjcm9uPTM4OTtlLkxjYXJvbj02Njc7ZS5vbmVoYWxmPTc1MDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD01MDA7ZS5udGlsZGU9NTU2O2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjY3O2UuZW1hY3Jvbj00NDQ7ZS5nYnJldmU9NTAwO2Uub25lcXVhcnRlcj03NTA7ZS5TY2Fyb249NTU2O2UuU2NvbW1hYWNjZW50PTU1NjtlLk9odW5nYXJ1bWxhdXQ9Nzc4O2UuZGVncmVlPTQwMDtlLm9ncmF2ZT01MDA7ZS5DY2Fyb249NzIyO2UudWdyYXZlPTU1NjtlLnJhZGljYWw9NTQ5O2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD00NDQ7ZS5OdGlsZGU9NzIyO2Uub3RpbGRlPTUwMDtlLlJjb21tYWFjY2VudD03MjI7ZS5MY29tbWFhY2NlbnQ9NjY3O2UuQXRpbGRlPTcyMjtlLkFvZ29uZWs9NzIyO2UuQXJpbmc9NzIyO2UuT3RpbGRlPTc3ODtlLnpkb3RhY2NlbnQ9NDQ0O2UuRWNhcm9uPTY2NztlLklvZ29uZWs9Mzg5O2Uua2NvbW1hYWNjZW50PTU1NjtlLm1pbnVzPTU3MDtlLkljaXJjdW1mbGV4PTM4OTtlLm5jYXJvbj01NTY7ZS50Y29tbWFhY2NlbnQ9MzMzO2UubG9naWNhbG5vdD01NzA7ZS5vZGllcmVzaXM9NTAwO2UudWRpZXJlc2lzPTU1NjtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD01MDA7ZS5ldGg9NTAwO2UuemNhcm9uPTQ0NDtlLm5jb21tYWFjY2VudD01NTY7ZS5vbmVzdXBlcmlvcj0zMDA7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTAwfSkpO2VbIlRpbWVzLUJvbGRJdGFsaWMiXT1nZXRMb29rdXBUYWJsZUZhY3RvcnkoKGZ1bmN0aW9uKGUpe2Uuc3BhY2U9MjUwO2UuZXhjbGFtPTM4OTtlLnF1b3RlZGJsPTU1NTtlLm51bWJlcnNpZ249NTAwO2UuZG9sbGFyPTUwMDtlLnBlcmNlbnQ9ODMzO2UuYW1wZXJzYW5kPTc3ODtlLnF1b3RlcmlnaHQ9MzMzO2UucGFyZW5sZWZ0PTMzMztlLnBhcmVucmlnaHQ9MzMzO2UuYXN0ZXJpc2s9NTAwO2UucGx1cz01NzA7ZS5jb21tYT0yNTA7ZS5oeXBoZW49MzMzO2UucGVyaW9kPTI1MDtlLnNsYXNoPTI3ODtlLnplcm89NTAwO2Uub25lPTUwMDtlLnR3bz01MDA7ZS50aHJlZT01MDA7ZS5mb3VyPTUwMDtlLmZpdmU9NTAwO2Uuc2l4PTUwMDtlLnNldmVuPTUwMDtlLmVpZ2h0PTUwMDtlLm5pbmU9NTAwO2UuY29sb249MzMzO2Uuc2VtaWNvbG9uPTMzMztlLmxlc3M9NTcwO2UuZXF1YWw9NTcwO2UuZ3JlYXRlcj01NzA7ZS5xdWVzdGlvbj01MDA7ZS5hdD04MzI7ZS5BPTY2NztlLkI9NjY3O2UuQz02Njc7ZS5EPTcyMjtlLkU9NjY3O2UuRj02Njc7ZS5HPTcyMjtlLkg9Nzc4O2UuST0zODk7ZS5KPTUwMDtlLks9NjY3O2UuTD02MTE7ZS5NPTg4OTtlLk49NzIyO2UuTz03MjI7ZS5QPTYxMTtlLlE9NzIyO2UuUj02Njc7ZS5TPTU1NjtlLlQ9NjExO2UuVT03MjI7ZS5WPTY2NztlLlc9ODg5O2UuWD02Njc7ZS5ZPTYxMTtlLlo9NjExO2UuYnJhY2tldGxlZnQ9MzMzO2UuYmFja3NsYXNoPTI3ODtlLmJyYWNrZXRyaWdodD0zMzM7ZS5hc2NpaWNpcmN1bT01NzA7ZS51bmRlcnNjb3JlPTUwMDtlLnF1b3RlbGVmdD0zMzM7ZS5hPTUwMDtlLmI9NTAwO2UuYz00NDQ7ZS5kPTUwMDtlLmU9NDQ0O2UuZj0zMzM7ZS5nPTUwMDtlLmg9NTU2O2UuaT0yNzg7ZS5qPTI3ODtlLms9NTAwO2UubD0yNzg7ZS5tPTc3ODtlLm49NTU2O2Uubz01MDA7ZS5wPTUwMDtlLnE9NTAwO2Uucj0zODk7ZS5zPTM4OTtlLnQ9Mjc4O2UudT01NTY7ZS52PTQ0NDtlLnc9NjY3O2UueD01MDA7ZS55PTQ0NDtlLno9Mzg5O2UuYnJhY2VsZWZ0PTM0ODtlLmJhcj0yMjA7ZS5icmFjZXJpZ2h0PTM0ODtlLmFzY2lpdGlsZGU9NTcwO2UuZXhjbGFtZG93bj0zODk7ZS5jZW50PTUwMDtlLnN0ZXJsaW5nPTUwMDtlLmZyYWN0aW9uPTE2NztlLnllbj01MDA7ZS5mbG9yaW49NTAwO2Uuc2VjdGlvbj01MDA7ZS5jdXJyZW5jeT01MDA7ZS5xdW90ZXNpbmdsZT0yNzg7ZS5xdW90ZWRibGxlZnQ9NTAwO2UuZ3VpbGxlbW90bGVmdD01MDA7ZS5ndWlsc2luZ2xsZWZ0PTMzMztlLmd1aWxzaW5nbHJpZ2h0PTMzMztlLmZpPTU1NjtlLmZsPTU1NjtlLmVuZGFzaD01MDA7ZS5kYWdnZXI9NTAwO2UuZGFnZ2VyZGJsPTUwMDtlLnBlcmlvZGNlbnRlcmVkPTI1MDtlLnBhcmFncmFwaD01MDA7ZS5idWxsZXQ9MzUwO2UucXVvdGVzaW5nbGJhc2U9MzMzO2UucXVvdGVkYmxiYXNlPTUwMDtlLnF1b3RlZGJscmlnaHQ9NTAwO2UuZ3VpbGxlbW90cmlnaHQ9NTAwO2UuZWxsaXBzaXM9MWUzO2UucGVydGhvdXNhbmQ9MWUzO2UucXVlc3Rpb25kb3duPTUwMDtlLmdyYXZlPTMzMztlLmFjdXRlPTMzMztlLmNpcmN1bWZsZXg9MzMzO2UudGlsZGU9MzMzO2UubWFjcm9uPTMzMztlLmJyZXZlPTMzMztlLmRvdGFjY2VudD0zMzM7ZS5kaWVyZXNpcz0zMzM7ZS5yaW5nPTMzMztlLmNlZGlsbGE9MzMzO2UuaHVuZ2FydW1sYXV0PTMzMztlLm9nb25laz0zMzM7ZS5jYXJvbj0zMzM7ZS5lbWRhc2g9MWUzO2UuQUU9OTQ0O2Uub3JkZmVtaW5pbmU9MjY2O2UuTHNsYXNoPTYxMTtlLk9zbGFzaD03MjI7ZS5PRT05NDQ7ZS5vcmRtYXNjdWxpbmU9MzAwO2UuYWU9NzIyO2UuZG90bGVzc2k9Mjc4O2UubHNsYXNoPTI3ODtlLm9zbGFzaD01MDA7ZS5vZT03MjI7ZS5nZXJtYW5kYmxzPTUwMDtlLklkaWVyZXNpcz0zODk7ZS5lYWN1dGU9NDQ0O2UuYWJyZXZlPTUwMDtlLnVodW5nYXJ1bWxhdXQ9NTU2O2UuZWNhcm9uPTQ0NDtlLllkaWVyZXNpcz02MTE7ZS5kaXZpZGU9NTcwO2UuWWFjdXRlPTYxMTtlLkFjaXJjdW1mbGV4PTY2NztlLmFhY3V0ZT01MDA7ZS5VY2lyY3VtZmxleD03MjI7ZS55YWN1dGU9NDQ0O2Uuc2NvbW1hYWNjZW50PTM4OTtlLmVjaXJjdW1mbGV4PTQ0NDtlLlVyaW5nPTcyMjtlLlVkaWVyZXNpcz03MjI7ZS5hb2dvbmVrPTUwMDtlLlVhY3V0ZT03MjI7ZS51b2dvbmVrPTU1NjtlLkVkaWVyZXNpcz02Njc7ZS5EY3JvYXQ9NzIyO2UuY29tbWFhY2NlbnQ9MjUwO2UuY29weXJpZ2h0PTc0NztlLkVtYWNyb249NjY3O2UuY2Nhcm9uPTQ0NDtlLmFyaW5nPTUwMDtlLk5jb21tYWFjY2VudD03MjI7ZS5sYWN1dGU9Mjc4O2UuYWdyYXZlPTUwMDtlLlRjb21tYWFjY2VudD02MTE7ZS5DYWN1dGU9NjY3O2UuYXRpbGRlPTUwMDtlLkVkb3RhY2NlbnQ9NjY3O2Uuc2Nhcm9uPTM4OTtlLnNjZWRpbGxhPTM4OTtlLmlhY3V0ZT0yNzg7ZS5sb3plbmdlPTQ5NDtlLlJjYXJvbj02Njc7ZS5HY29tbWFhY2NlbnQ9NzIyO2UudWNpcmN1bWZsZXg9NTU2O2UuYWNpcmN1bWZsZXg9NTAwO2UuQW1hY3Jvbj02Njc7ZS5yY2Fyb249Mzg5O2UuY2NlZGlsbGE9NDQ0O2UuWmRvdGFjY2VudD02MTE7ZS5UaG9ybj02MTE7ZS5PbWFjcm9uPTcyMjtlLlJhY3V0ZT02Njc7ZS5TYWN1dGU9NTU2O2UuZGNhcm9uPTYwODtlLlVtYWNyb249NzIyO2UudXJpbmc9NTU2O2UudGhyZWVzdXBlcmlvcj0zMDA7ZS5PZ3JhdmU9NzIyO2UuQWdyYXZlPTY2NztlLkFicmV2ZT02Njc7ZS5tdWx0aXBseT01NzA7ZS51YWN1dGU9NTU2O2UuVGNhcm9uPTYxMTtlLnBhcnRpYWxkaWZmPTQ5NDtlLnlkaWVyZXNpcz00NDQ7ZS5OYWN1dGU9NzIyO2UuaWNpcmN1bWZsZXg9Mjc4O2UuRWNpcmN1bWZsZXg9NjY3O2UuYWRpZXJlc2lzPTUwMDtlLmVkaWVyZXNpcz00NDQ7ZS5jYWN1dGU9NDQ0O2UubmFjdXRlPTU1NjtlLnVtYWNyb249NTU2O2UuTmNhcm9uPTcyMjtlLklhY3V0ZT0zODk7ZS5wbHVzbWludXM9NTcwO2UuYnJva2VuYmFyPTIyMDtlLnJlZ2lzdGVyZWQ9NzQ3O2UuR2JyZXZlPTcyMjtlLklkb3RhY2NlbnQ9Mzg5O2Uuc3VtbWF0aW9uPTYwMDtlLkVncmF2ZT02Njc7ZS5yYWN1dGU9Mzg5O2Uub21hY3Jvbj01MDA7ZS5aYWN1dGU9NjExO2UuWmNhcm9uPTYxMTtlLmdyZWF0ZXJlcXVhbD01NDk7ZS5FdGg9NzIyO2UuQ2NlZGlsbGE9NjY3O2UubGNvbW1hYWNjZW50PTI3ODtlLnRjYXJvbj0zNjY7ZS5lb2dvbmVrPTQ0NDtlLlVvZ29uZWs9NzIyO2UuQWFjdXRlPTY2NztlLkFkaWVyZXNpcz02Njc7ZS5lZ3JhdmU9NDQ0O2UuemFjdXRlPTM4OTtlLmlvZ29uZWs9Mjc4O2UuT2FjdXRlPTcyMjtlLm9hY3V0ZT01MDA7ZS5hbWFjcm9uPTUwMDtlLnNhY3V0ZT0zODk7ZS5pZGllcmVzaXM9Mjc4O2UuT2NpcmN1bWZsZXg9NzIyO2UuVWdyYXZlPTcyMjtlLkRlbHRhPTYxMjtlLnRob3JuPTUwMDtlLnR3b3N1cGVyaW9yPTMwMDtlLk9kaWVyZXNpcz03MjI7ZS5tdT01NzY7ZS5pZ3JhdmU9Mjc4O2Uub2h1bmdhcnVtbGF1dD01MDA7ZS5Fb2dvbmVrPTY2NztlLmRjcm9hdD01MDA7ZS50aHJlZXF1YXJ0ZXJzPTc1MDtlLlNjZWRpbGxhPTU1NjtlLmxjYXJvbj0zODI7ZS5LY29tbWFhY2NlbnQ9NjY3O2UuTGFjdXRlPTYxMTtlLnRyYWRlbWFyaz0xZTM7ZS5lZG90YWNjZW50PTQ0NDtlLklncmF2ZT0zODk7ZS5JbWFjcm9uPTM4OTtlLkxjYXJvbj02MTE7ZS5vbmVoYWxmPTc1MDtlLmxlc3NlcXVhbD01NDk7ZS5vY2lyY3VtZmxleD01MDA7ZS5udGlsZGU9NTU2O2UuVWh1bmdhcnVtbGF1dD03MjI7ZS5FYWN1dGU9NjY3O2UuZW1hY3Jvbj00NDQ7ZS5nYnJldmU9NTAwO2Uub25lcXVhcnRlcj03NTA7ZS5TY2Fyb249NTU2O2UuU2NvbW1hYWNjZW50PTU1NjtlLk9odW5nYXJ1bWxhdXQ9NzIyO2UuZGVncmVlPTQwMDtlLm9ncmF2ZT01MDA7ZS5DY2Fyb249NjY3O2UudWdyYXZlPTU1NjtlLnJhZGljYWw9NTQ5O2UuRGNhcm9uPTcyMjtlLnJjb21tYWFjY2VudD0zODk7ZS5OdGlsZGU9NzIyO2Uub3RpbGRlPTUwMDtlLlJjb21tYWFjY2VudD02Njc7ZS5MY29tbWFhY2NlbnQ9NjExO2UuQXRpbGRlPTY2NztlLkFvZ29uZWs9NjY3O2UuQXJpbmc9NjY3O2UuT3RpbGRlPTcyMjtlLnpkb3RhY2NlbnQ9Mzg5O2UuRWNhcm9uPTY2NztlLklvZ29uZWs9Mzg5O2Uua2NvbW1hYWNjZW50PTUwMDtlLm1pbnVzPTYwNjtlLkljaXJjdW1mbGV4PTM4OTtlLm5jYXJvbj01NTY7ZS50Y29tbWFhY2NlbnQ9Mjc4O2UubG9naWNhbG5vdD02MDY7ZS5vZGllcmVzaXM9NTAwO2UudWRpZXJlc2lzPTU1NjtlLm5vdGVxdWFsPTU0OTtlLmdjb21tYWFjY2VudD01MDA7ZS5ldGg9NTAwO2UuemNhcm9uPTM4OTtlLm5jb21tYWFjY2VudD01NTY7ZS5vbmVzdXBlcmlvcj0zMDA7ZS5pbWFjcm9uPTI3ODtlLkV1cm89NTAwfSkpO2VbIlRpbWVzLUl0YWxpYyJdPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5zcGFjZT0yNTA7ZS5leGNsYW09MzMzO2UucXVvdGVkYmw9NDIwO2UubnVtYmVyc2lnbj01MDA7ZS5kb2xsYXI9NTAwO2UucGVyY2VudD04MzM7ZS5hbXBlcnNhbmQ9Nzc4O2UucXVvdGVyaWdodD0zMzM7ZS5wYXJlbmxlZnQ9MzMzO2UucGFyZW5yaWdodD0zMzM7ZS5hc3Rlcmlzaz01MDA7ZS5wbHVzPTY3NTtlLmNvbW1hPTI1MDtlLmh5cGhlbj0zMzM7ZS5wZXJpb2Q9MjUwO2Uuc2xhc2g9Mjc4O2UuemVybz01MDA7ZS5vbmU9NTAwO2UudHdvPTUwMDtlLnRocmVlPTUwMDtlLmZvdXI9NTAwO2UuZml2ZT01MDA7ZS5zaXg9NTAwO2Uuc2V2ZW49NTAwO2UuZWlnaHQ9NTAwO2UubmluZT01MDA7ZS5jb2xvbj0zMzM7ZS5zZW1pY29sb249MzMzO2UubGVzcz02NzU7ZS5lcXVhbD02NzU7ZS5ncmVhdGVyPTY3NTtlLnF1ZXN0aW9uPTUwMDtlLmF0PTkyMDtlLkE9NjExO2UuQj02MTE7ZS5DPTY2NztlLkQ9NzIyO2UuRT02MTE7ZS5GPTYxMTtlLkc9NzIyO2UuSD03MjI7ZS5JPTMzMztlLko9NDQ0O2UuSz02Njc7ZS5MPTU1NjtlLk09ODMzO2UuTj02Njc7ZS5PPTcyMjtlLlA9NjExO2UuUT03MjI7ZS5SPTYxMTtlLlM9NTAwO2UuVD01NTY7ZS5VPTcyMjtlLlY9NjExO2UuVz04MzM7ZS5YPTYxMTtlLlk9NTU2O2UuWj01NTY7ZS5icmFja2V0bGVmdD0zODk7ZS5iYWNrc2xhc2g9Mjc4O2UuYnJhY2tldHJpZ2h0PTM4OTtlLmFzY2lpY2lyY3VtPTQyMjtlLnVuZGVyc2NvcmU9NTAwO2UucXVvdGVsZWZ0PTMzMztlLmE9NTAwO2UuYj01MDA7ZS5jPTQ0NDtlLmQ9NTAwO2UuZT00NDQ7ZS5mPTI3ODtlLmc9NTAwO2UuaD01MDA7ZS5pPTI3ODtlLmo9Mjc4O2Uuaz00NDQ7ZS5sPTI3ODtlLm09NzIyO2Uubj01MDA7ZS5vPTUwMDtlLnA9NTAwO2UucT01MDA7ZS5yPTM4OTtlLnM9Mzg5O2UudD0yNzg7ZS51PTUwMDtlLnY9NDQ0O2Uudz02Njc7ZS54PTQ0NDtlLnk9NDQ0O2Uuej0zODk7ZS5icmFjZWxlZnQ9NDAwO2UuYmFyPTI3NTtlLmJyYWNlcmlnaHQ9NDAwO2UuYXNjaWl0aWxkZT01NDE7ZS5leGNsYW1kb3duPTM4OTtlLmNlbnQ9NTAwO2Uuc3Rlcmxpbmc9NTAwO2UuZnJhY3Rpb249MTY3O2UueWVuPTUwMDtlLmZsb3Jpbj01MDA7ZS5zZWN0aW9uPTUwMDtlLmN1cnJlbmN5PTUwMDtlLnF1b3Rlc2luZ2xlPTIxNDtlLnF1b3RlZGJsbGVmdD01NTY7ZS5ndWlsbGVtb3RsZWZ0PTUwMDtlLmd1aWxzaW5nbGxlZnQ9MzMzO2UuZ3VpbHNpbmdscmlnaHQ9MzMzO2UuZmk9NTAwO2UuZmw9NTAwO2UuZW5kYXNoPTUwMDtlLmRhZ2dlcj01MDA7ZS5kYWdnZXJkYmw9NTAwO2UucGVyaW9kY2VudGVyZWQ9MjUwO2UucGFyYWdyYXBoPTUyMztlLmJ1bGxldD0zNTA7ZS5xdW90ZXNpbmdsYmFzZT0zMzM7ZS5xdW90ZWRibGJhc2U9NTU2O2UucXVvdGVkYmxyaWdodD01NTY7ZS5ndWlsbGVtb3RyaWdodD01MDA7ZS5lbGxpcHNpcz04ODk7ZS5wZXJ0aG91c2FuZD0xZTM7ZS5xdWVzdGlvbmRvd249NTAwO2UuZ3JhdmU9MzMzO2UuYWN1dGU9MzMzO2UuY2lyY3VtZmxleD0zMzM7ZS50aWxkZT0zMzM7ZS5tYWNyb249MzMzO2UuYnJldmU9MzMzO2UuZG90YWNjZW50PTMzMztlLmRpZXJlc2lzPTMzMztlLnJpbmc9MzMzO2UuY2VkaWxsYT0zMzM7ZS5odW5nYXJ1bWxhdXQ9MzMzO2Uub2dvbmVrPTMzMztlLmNhcm9uPTMzMztlLmVtZGFzaD04ODk7ZS5BRT04ODk7ZS5vcmRmZW1pbmluZT0yNzY7ZS5Mc2xhc2g9NTU2O2UuT3NsYXNoPTcyMjtlLk9FPTk0NDtlLm9yZG1hc2N1bGluZT0zMTA7ZS5hZT02Njc7ZS5kb3RsZXNzaT0yNzg7ZS5sc2xhc2g9Mjc4O2Uub3NsYXNoPTUwMDtlLm9lPTY2NztlLmdlcm1hbmRibHM9NTAwO2UuSWRpZXJlc2lzPTMzMztlLmVhY3V0ZT00NDQ7ZS5hYnJldmU9NTAwO2UudWh1bmdhcnVtbGF1dD01MDA7ZS5lY2Fyb249NDQ0O2UuWWRpZXJlc2lzPTU1NjtlLmRpdmlkZT02NzU7ZS5ZYWN1dGU9NTU2O2UuQWNpcmN1bWZsZXg9NjExO2UuYWFjdXRlPTUwMDtlLlVjaXJjdW1mbGV4PTcyMjtlLnlhY3V0ZT00NDQ7ZS5zY29tbWFhY2NlbnQ9Mzg5O2UuZWNpcmN1bWZsZXg9NDQ0O2UuVXJpbmc9NzIyO2UuVWRpZXJlc2lzPTcyMjtlLmFvZ29uZWs9NTAwO2UuVWFjdXRlPTcyMjtlLnVvZ29uZWs9NTAwO2UuRWRpZXJlc2lzPTYxMTtlLkRjcm9hdD03MjI7ZS5jb21tYWFjY2VudD0yNTA7ZS5jb3B5cmlnaHQ9NzYwO2UuRW1hY3Jvbj02MTE7ZS5jY2Fyb249NDQ0O2UuYXJpbmc9NTAwO2UuTmNvbW1hYWNjZW50PTY2NztlLmxhY3V0ZT0yNzg7ZS5hZ3JhdmU9NTAwO2UuVGNvbW1hYWNjZW50PTU1NjtlLkNhY3V0ZT02Njc7ZS5hdGlsZGU9NTAwO2UuRWRvdGFjY2VudD02MTE7ZS5zY2Fyb249Mzg5O2Uuc2NlZGlsbGE9Mzg5O2UuaWFjdXRlPTI3ODtlLmxvemVuZ2U9NDcxO2UuUmNhcm9uPTYxMTtlLkdjb21tYWFjY2VudD03MjI7ZS51Y2lyY3VtZmxleD01MDA7ZS5hY2lyY3VtZmxleD01MDA7ZS5BbWFjcm9uPTYxMTtlLnJjYXJvbj0zODk7ZS5jY2VkaWxsYT00NDQ7ZS5aZG90YWNjZW50PTU1NjtlLlRob3JuPTYxMTtlLk9tYWNyb249NzIyO2UuUmFjdXRlPTYxMTtlLlNhY3V0ZT01MDA7ZS5kY2Fyb249NTQ0O2UuVW1hY3Jvbj03MjI7ZS51cmluZz01MDA7ZS50aHJlZXN1cGVyaW9yPTMwMDtlLk9ncmF2ZT03MjI7ZS5BZ3JhdmU9NjExO2UuQWJyZXZlPTYxMTtlLm11bHRpcGx5PTY3NTtlLnVhY3V0ZT01MDA7ZS5UY2Fyb249NTU2O2UucGFydGlhbGRpZmY9NDc2O2UueWRpZXJlc2lzPTQ0NDtlLk5hY3V0ZT02Njc7ZS5pY2lyY3VtZmxleD0yNzg7ZS5FY2lyY3VtZmxleD02MTE7ZS5hZGllcmVzaXM9NTAwO2UuZWRpZXJlc2lzPTQ0NDtlLmNhY3V0ZT00NDQ7ZS5uYWN1dGU9NTAwO2UudW1hY3Jvbj01MDA7ZS5OY2Fyb249NjY3O2UuSWFjdXRlPTMzMztlLnBsdXNtaW51cz02NzU7ZS5icm9rZW5iYXI9Mjc1O2UucmVnaXN0ZXJlZD03NjA7ZS5HYnJldmU9NzIyO2UuSWRvdGFjY2VudD0zMzM7ZS5zdW1tYXRpb249NjAwO2UuRWdyYXZlPTYxMTtlLnJhY3V0ZT0zODk7ZS5vbWFjcm9uPTUwMDtlLlphY3V0ZT01NTY7ZS5aY2Fyb249NTU2O2UuZ3JlYXRlcmVxdWFsPTU0OTtlLkV0aD03MjI7ZS5DY2VkaWxsYT02Njc7ZS5sY29tbWFhY2NlbnQ9Mjc4O2UudGNhcm9uPTMwMDtlLmVvZ29uZWs9NDQ0O2UuVW9nb25laz03MjI7ZS5BYWN1dGU9NjExO2UuQWRpZXJlc2lzPTYxMTtlLmVncmF2ZT00NDQ7ZS56YWN1dGU9Mzg5O2UuaW9nb25laz0yNzg7ZS5PYWN1dGU9NzIyO2Uub2FjdXRlPTUwMDtlLmFtYWNyb249NTAwO2Uuc2FjdXRlPTM4OTtlLmlkaWVyZXNpcz0yNzg7ZS5PY2lyY3VtZmxleD03MjI7ZS5VZ3JhdmU9NzIyO2UuRGVsdGE9NjEyO2UudGhvcm49NTAwO2UudHdvc3VwZXJpb3I9MzAwO2UuT2RpZXJlc2lzPTcyMjtlLm11PTUwMDtlLmlncmF2ZT0yNzg7ZS5vaHVuZ2FydW1sYXV0PTUwMDtlLkVvZ29uZWs9NjExO2UuZGNyb2F0PTUwMDtlLnRocmVlcXVhcnRlcnM9NzUwO2UuU2NlZGlsbGE9NTAwO2UubGNhcm9uPTMwMDtlLktjb21tYWFjY2VudD02Njc7ZS5MYWN1dGU9NTU2O2UudHJhZGVtYXJrPTk4MDtlLmVkb3RhY2NlbnQ9NDQ0O2UuSWdyYXZlPTMzMztlLkltYWNyb249MzMzO2UuTGNhcm9uPTYxMTtlLm9uZWhhbGY9NzUwO2UubGVzc2VxdWFsPTU0OTtlLm9jaXJjdW1mbGV4PTUwMDtlLm50aWxkZT01MDA7ZS5VaHVuZ2FydW1sYXV0PTcyMjtlLkVhY3V0ZT02MTE7ZS5lbWFjcm9uPTQ0NDtlLmdicmV2ZT01MDA7ZS5vbmVxdWFydGVyPTc1MDtlLlNjYXJvbj01MDA7ZS5TY29tbWFhY2NlbnQ9NTAwO2UuT2h1bmdhcnVtbGF1dD03MjI7ZS5kZWdyZWU9NDAwO2Uub2dyYXZlPTUwMDtlLkNjYXJvbj02Njc7ZS51Z3JhdmU9NTAwO2UucmFkaWNhbD00NTM7ZS5EY2Fyb249NzIyO2UucmNvbW1hYWNjZW50PTM4OTtlLk50aWxkZT02Njc7ZS5vdGlsZGU9NTAwO2UuUmNvbW1hYWNjZW50PTYxMTtlLkxjb21tYWFjY2VudD01NTY7ZS5BdGlsZGU9NjExO2UuQW9nb25laz02MTE7ZS5BcmluZz02MTE7ZS5PdGlsZGU9NzIyO2UuemRvdGFjY2VudD0zODk7ZS5FY2Fyb249NjExO2UuSW9nb25laz0zMzM7ZS5rY29tbWFhY2NlbnQ9NDQ0O2UubWludXM9Njc1O2UuSWNpcmN1bWZsZXg9MzMzO2UubmNhcm9uPTUwMDtlLnRjb21tYWFjY2VudD0yNzg7ZS5sb2dpY2Fsbm90PTY3NTtlLm9kaWVyZXNpcz01MDA7ZS51ZGllcmVzaXM9NTAwO2Uubm90ZXF1YWw9NTQ5O2UuZ2NvbW1hYWNjZW50PTUwMDtlLmV0aD01MDA7ZS56Y2Fyb249Mzg5O2UubmNvbW1hYWNjZW50PTUwMDtlLm9uZXN1cGVyaW9yPTMwMDtlLmltYWNyb249Mjc4O2UuRXVybz01MDB9KSk7ZS5aYXBmRGluZ2JhdHM9Z2V0TG9va3VwVGFibGVGYWN0b3J5KChmdW5jdGlvbihlKXtlLnNwYWNlPTI3ODtlLmExPTk3NDtlLmEyPTk2MTtlLmEyMDI9OTc0O2UuYTM9OTgwO2UuYTQ9NzE5O2UuYTU9Nzg5O2UuYTExOT03OTA7ZS5hMTE4PTc5MTtlLmExMTc9NjkwO2UuYTExPTk2MDtlLmExMj05Mzk7ZS5hMTM9NTQ5O2UuYTE0PTg1NTtlLmExNT05MTE7ZS5hMTY9OTMzO2UuYTEwNT05MTE7ZS5hMTc9OTQ1O2UuYTE4PTk3NDtlLmExOT03NTU7ZS5hMjA9ODQ2O2UuYTIxPTc2MjtlLmEyMj03NjE7ZS5hMjM9NTcxO2UuYTI0PTY3NztlLmEyNT03NjM7ZS5hMjY9NzYwO2UuYTI3PTc1OTtlLmEyOD03NTQ7ZS5hNj00OTQ7ZS5hNz01NTI7ZS5hOD01Mzc7ZS5hOT01Nzc7ZS5hMTA9NjkyO2UuYTI5PTc4NjtlLmEzMD03ODg7ZS5hMzE9Nzg4O2UuYTMyPTc5MDtlLmEzMz03OTM7ZS5hMzQ9Nzk0O2UuYTM1PTgxNjtlLmEzNj04MjM7ZS5hMzc9Nzg5O2UuYTM4PTg0MTtlLmEzOT04MjM7ZS5hNDA9ODMzO2UuYTQxPTgxNjtlLmE0Mj04MzE7ZS5hNDM9OTIzO2UuYTQ0PTc0NDtlLmE0NT03MjM7ZS5hNDY9NzQ5O2UuYTQ3PTc5MDtlLmE0OD03OTI7ZS5hNDk9Njk1O2UuYTUwPTc3NjtlLmE1MT03Njg7ZS5hNTI9NzkyO2UuYTUzPTc1OTtlLmE1ND03MDc7ZS5hNTU9NzA4O2UuYTU2PTY4MjtlLmE1Nz03MDE7ZS5hNTg9ODI2O2UuYTU5PTgxNTtlLmE2MD03ODk7ZS5hNjE9Nzg5O2UuYTYyPTcwNztlLmE2Mz02ODc7ZS5hNjQ9Njk2O2UuYTY1PTY4OTtlLmE2Nj03ODY7ZS5hNjc9Nzg3O2UuYTY4PTcxMztlLmE2OT03OTE7ZS5hNzA9Nzg1O2UuYTcxPTc5MTtlLmE3Mj04NzM7ZS5hNzM9NzYxO2UuYTc0PTc2MjtlLmEyMDM9NzYyO2UuYTc1PTc1OTtlLmEyMDQ9NzU5O2UuYTc2PTg5MjtlLmE3Nz04OTI7ZS5hNzg9Nzg4O2UuYTc5PTc4NDtlLmE4MT00Mzg7ZS5hODI9MTM4O2UuYTgzPTI3NztlLmE4ND00MTU7ZS5hOTc9MzkyO2UuYTk4PTM5MjtlLmE5OT02Njg7ZS5hMTAwPTY2ODtlLmE4OT0zOTA7ZS5hOTA9MzkwO2UuYTkzPTMxNztlLmE5ND0zMTc7ZS5hOTE9Mjc2O2UuYTkyPTI3NjtlLmEyMDU9NTA5O2UuYTg1PTUwOTtlLmEyMDY9NDEwO2UuYTg2PTQxMDtlLmE4Nz0yMzQ7ZS5hODg9MjM0O2UuYTk1PTMzNDtlLmE5Nj0zMzQ7ZS5hMTAxPTczMjtlLmExMDI9NTQ0O2UuYTEwMz01NDQ7ZS5hMTA0PTkxMDtlLmExMDY9NjY3O2UuYTEwNz03NjA7ZS5hMTA4PTc2MDtlLmExMTI9Nzc2O2UuYTExMT01OTU7ZS5hMTEwPTY5NDtlLmExMDk9NjI2O2UuYTEyMD03ODg7ZS5hMTIxPTc4ODtlLmExMjI9Nzg4O2UuYTEyMz03ODg7ZS5hMTI0PTc4ODtlLmExMjU9Nzg4O2UuYTEyNj03ODg7ZS5hMTI3PTc4ODtlLmExMjg9Nzg4O2UuYTEyOT03ODg7ZS5hMTMwPTc4ODtlLmExMzE9Nzg4O2UuYTEzMj03ODg7ZS5hMTMzPTc4ODtlLmExMzQ9Nzg4O2UuYTEzNT03ODg7ZS5hMTM2PTc4ODtlLmExMzc9Nzg4O2UuYTEzOD03ODg7ZS5hMTM5PTc4ODtlLmExNDA9Nzg4O2UuYTE0MT03ODg7ZS5hMTQyPTc4ODtlLmExNDM9Nzg4O2UuYTE0ND03ODg7ZS5hMTQ1PTc4ODtlLmExNDY9Nzg4O2UuYTE0Nz03ODg7ZS5hMTQ4PTc4ODtlLmExNDk9Nzg4O2UuYTE1MD03ODg7ZS5hMTUxPTc4ODtlLmExNTI9Nzg4O2UuYTE1Mz03ODg7ZS5hMTU0PTc4ODtlLmExNTU9Nzg4O2UuYTE1Nj03ODg7ZS5hMTU3PTc4ODtlLmExNTg9Nzg4O2UuYTE1OT03ODg7ZS5hMTYwPTg5NDtlLmExNjE9ODM4O2UuYTE2Mz0xMDE2O2UuYTE2ND00NTg7ZS5hMTk2PTc0ODtlLmExNjU9OTI0O2UuYTE5Mj03NDg7ZS5hMTY2PTkxODtlLmExNjc9OTI3O2UuYTE2OD05Mjg7ZS5hMTY5PTkyODtlLmExNzA9ODM0O2UuYTE3MT04NzM7ZS5hMTcyPTgyODtlLmExNzM9OTI0O2UuYTE2Mj05MjQ7ZS5hMTc0PTkxNztlLmExNzU9OTMwO2UuYTE3Nj05MzE7ZS5hMTc3PTQ2MztlLmExNzg9ODgzO2UuYTE3OT04MzY7ZS5hMTkzPTgzNjtlLmExODA9ODY3O2UuYTE5OT04Njc7ZS5hMTgxPTY5NjtlLmEyMDA9Njk2O2UuYTE4Mj04NzQ7ZS5hMjAxPTg3NDtlLmExODM9NzYwO2UuYTE4ND05NDY7ZS5hMTk3PTc3MTtlLmExODU9ODY1O2UuYTE5ND03NzE7ZS5hMTk4PTg4ODtlLmExODY9OTY3O2UuYTE5NT04ODg7ZS5hMTg3PTgzMTtlLmExODg9ODczO2UuYTE4OT05Mjc7ZS5hMTkwPTk3MDtlLmExOTE9OTE4fSkpfSkpLHNhPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZS5Db3VyaWVyPXthc2NlbnQ6NjI5LGRlc2NlbnQ6LTE1NyxjYXBIZWlnaHQ6NTYyLHhIZWlnaHQ6LTQyNn07ZVsiQ291cmllci1Cb2xkIl09e2FzY2VudDo2MjksZGVzY2VudDotMTU3LGNhcEhlaWdodDo1NjIseEhlaWdodDo0Mzl9O2VbIkNvdXJpZXItT2JsaXF1ZSJdPXthc2NlbnQ6NjI5LGRlc2NlbnQ6LTE1NyxjYXBIZWlnaHQ6NTYyLHhIZWlnaHQ6NDI2fTtlWyJDb3VyaWVyLUJvbGRPYmxpcXVlIl09e2FzY2VudDo2MjksZGVzY2VudDotMTU3LGNhcEhlaWdodDo1NjIseEhlaWdodDo0MjZ9O2UuSGVsdmV0aWNhPXthc2NlbnQ6NzE4LGRlc2NlbnQ6LTIwNyxjYXBIZWlnaHQ6NzE4LHhIZWlnaHQ6NTIzfTtlWyJIZWx2ZXRpY2EtQm9sZCJdPXthc2NlbnQ6NzE4LGRlc2NlbnQ6LTIwNyxjYXBIZWlnaHQ6NzE4LHhIZWlnaHQ6NTMyfTtlWyJIZWx2ZXRpY2EtT2JsaXF1ZSJdPXthc2NlbnQ6NzE4LGRlc2NlbnQ6LTIwNyxjYXBIZWlnaHQ6NzE4LHhIZWlnaHQ6NTIzfTtlWyJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiXT17YXNjZW50OjcxOCxkZXNjZW50Oi0yMDcsY2FwSGVpZ2h0OjcxOCx4SGVpZ2h0OjUzMn07ZVsiVGltZXMtUm9tYW4iXT17YXNjZW50OjY4MyxkZXNjZW50Oi0yMTcsY2FwSGVpZ2h0OjY2Mix4SGVpZ2h0OjQ1MH07ZVsiVGltZXMtQm9sZCJdPXthc2NlbnQ6NjgzLGRlc2NlbnQ6LTIxNyxjYXBIZWlnaHQ6Njc2LHhIZWlnaHQ6NDYxfTtlWyJUaW1lcy1JdGFsaWMiXT17YXNjZW50OjY4MyxkZXNjZW50Oi0yMTcsY2FwSGVpZ2h0OjY1Myx4SGVpZ2h0OjQ0MX07ZVsiVGltZXMtQm9sZEl0YWxpYyJdPXthc2NlbnQ6NjgzLGRlc2NlbnQ6LTIxNyxjYXBIZWlnaHQ6NjY5LHhIZWlnaHQ6NDYyfTtlLlN5bWJvbD17YXNjZW50Ok1hdGguTmFOLGRlc2NlbnQ6TWF0aC5OYU4sY2FwSGVpZ2h0Ok1hdGguTmFOLHhIZWlnaHQ6TWF0aC5OYU59O2UuWmFwZkRpbmdiYXRzPXthc2NlbnQ6TWF0aC5OYU4sZGVzY2VudDpNYXRoLk5hTixjYXBIZWlnaHQ6TWF0aC5OYU4seEhlaWdodDpNYXRoLk5hTn19KSk7Y2xhc3MgR2x5ZlRhYmxle2NvbnN0cnVjdG9yKHtnbHlmVGFibGU6ZSxpc0dseXBoTG9jYXRpb25zTG9uZzp0LGxvY2FUYWJsZTppLG51bUdseXBoczphfSl7dGhpcy5nbHlwaHM9W107Y29uc3Qgcz1uZXcgRGF0YVZpZXcoaS5idWZmZXIsaS5ieXRlT2Zmc2V0LGkuYnl0ZUxlbmd0aCkscj1uZXcgRGF0YVZpZXcoZS5idWZmZXIsZS5ieXRlT2Zmc2V0LGUuYnl0ZUxlbmd0aCksbj10PzQ6MjtsZXQgZz10P3MuZ2V0VWludDMyKDApOjIqcy5nZXRVaW50MTYoMCksbz0wO2ZvcihsZXQgZT0wO2U8YTtlKyspe28rPW47Y29uc3QgZT10P3MuZ2V0VWludDMyKG8pOjIqcy5nZXRVaW50MTYobyk7aWYoZT09PWcpe3RoaXMuZ2x5cGhzLnB1c2gobmV3IEdseXBoKHt9KSk7Y29udGludWV9Y29uc3QgaT1HbHlwaC5wYXJzZShnLHIpO3RoaXMuZ2x5cGhzLnB1c2goaSk7Zz1lfX1nZXRTaXplKCl7cmV0dXJuIHRoaXMuZ2x5cGhzLnJlZHVjZSgoKGUsdCk9PmUrKHQuZ2V0U2l6ZSgpKzMmLTQpKSwwKX13cml0ZSgpe2NvbnN0IGU9dGhpcy5nZXRTaXplKCksdD1uZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKGUpKSxpPWU+MTMxMDcwLGE9aT80OjIscz1uZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKCh0aGlzLmdseXBocy5sZW5ndGgrMSkqYSkpO2k/cy5zZXRVaW50MzIoMCwwKTpzLnNldFVpbnQxNigwLDApO2xldCByPTAsbj0wO2Zvcihjb25zdCBlIG9mIHRoaXMuZ2x5cGhzKXtyKz1lLndyaXRlKHIsdCk7cj1yKzMmLTQ7bis9YTtpP3Muc2V0VWludDMyKG4scik6cy5zZXRVaW50MTYobixyPj4xKX1yZXR1cm57aXNMb2NhdGlvbkxvbmc6aSxsb2NhOm5ldyBVaW50OEFycmF5KHMuYnVmZmVyKSxnbHlmOm5ldyBVaW50OEFycmF5KHQuYnVmZmVyKX19c2NhbGUoZSl7Zm9yKGxldCB0PTAsaT10aGlzLmdseXBocy5sZW5ndGg7dDxpO3QrKyl0aGlzLmdseXBoc1t0XS5zY2FsZShlW3RdKX19Y2xhc3MgR2x5cGh7Y29uc3RydWN0b3Ioe2hlYWRlcjplPW51bGwsc2ltcGxlOnQ9bnVsbCxjb21wb3NpdGVzOmk9bnVsbH0pe3RoaXMuaGVhZGVyPWU7dGhpcy5zaW1wbGU9dDt0aGlzLmNvbXBvc2l0ZXM9aX1zdGF0aWMgcGFyc2UoZSx0KXtjb25zdFtpLGFdPUdseXBoSGVhZGVyLnBhcnNlKGUsdCk7ZSs9aTtpZihhLm51bWJlck9mQ29udG91cnM8MCl7Y29uc3QgaT1bXTtmb3IoOzspe2NvbnN0W2Esc109Q29tcG9zaXRlR2x5cGgucGFyc2UoZSx0KTtlKz1hO2kucHVzaChzKTtpZighKDMyJnMuZmxhZ3MpKWJyZWFrfXJldHVybiBuZXcgR2x5cGgoe2hlYWRlcjphLGNvbXBvc2l0ZXM6aX0pfWNvbnN0IHM9U2ltcGxlR2x5cGgucGFyc2UoZSx0LGEubnVtYmVyT2ZDb250b3Vycyk7cmV0dXJuIG5ldyBHbHlwaCh7aGVhZGVyOmEsc2ltcGxlOnN9KX1nZXRTaXplKCl7aWYoIXRoaXMuaGVhZGVyKXJldHVybiAwO2NvbnN0IGU9dGhpcy5zaW1wbGU/dGhpcy5zaW1wbGUuZ2V0U2l6ZSgpOnRoaXMuY29tcG9zaXRlcy5yZWR1Y2UoKChlLHQpPT5lK3QuZ2V0U2l6ZSgpKSwwKTtyZXR1cm4gdGhpcy5oZWFkZXIuZ2V0U2l6ZSgpK2V9d3JpdGUoZSx0KXtpZighdGhpcy5oZWFkZXIpcmV0dXJuIDA7Y29uc3QgaT1lO2UrPXRoaXMuaGVhZGVyLndyaXRlKGUsdCk7aWYodGhpcy5zaW1wbGUpZSs9dGhpcy5zaW1wbGUud3JpdGUoZSx0KTtlbHNlIGZvcihjb25zdCBpIG9mIHRoaXMuY29tcG9zaXRlcyllKz1pLndyaXRlKGUsdCk7cmV0dXJuIGUtaX1zY2FsZShlKXtpZighdGhpcy5oZWFkZXIpcmV0dXJuO2NvbnN0IHQ9KHRoaXMuaGVhZGVyLnhNaW4rdGhpcy5oZWFkZXIueE1heCkvMjt0aGlzLmhlYWRlci5zY2FsZSh0LGUpO2lmKHRoaXMuc2ltcGxlKXRoaXMuc2ltcGxlLnNjYWxlKHQsZSk7ZWxzZSBmb3IoY29uc3QgaSBvZiB0aGlzLmNvbXBvc2l0ZXMpaS5zY2FsZSh0LGUpfX1jbGFzcyBHbHlwaEhlYWRlcntjb25zdHJ1Y3Rvcih7bnVtYmVyT2ZDb250b3VyczplLHhNaW46dCx5TWluOmkseE1heDphLHlNYXg6c30pe3RoaXMubnVtYmVyT2ZDb250b3Vycz1lO3RoaXMueE1pbj10O3RoaXMueU1pbj1pO3RoaXMueE1heD1hO3RoaXMueU1heD1zfXN0YXRpYyBwYXJzZShlLHQpe3JldHVyblsxMCxuZXcgR2x5cGhIZWFkZXIoe251bWJlck9mQ29udG91cnM6dC5nZXRJbnQxNihlKSx4TWluOnQuZ2V0SW50MTYoZSsyKSx5TWluOnQuZ2V0SW50MTYoZSs0KSx4TWF4OnQuZ2V0SW50MTYoZSs2KSx5TWF4OnQuZ2V0SW50MTYoZSs4KX0pXX1nZXRTaXplKCl7cmV0dXJuIDEwfXdyaXRlKGUsdCl7dC5zZXRJbnQxNihlLHRoaXMubnVtYmVyT2ZDb250b3Vycyk7dC5zZXRJbnQxNihlKzIsdGhpcy54TWluKTt0LnNldEludDE2KGUrNCx0aGlzLnlNaW4pO3Quc2V0SW50MTYoZSs2LHRoaXMueE1heCk7dC5zZXRJbnQxNihlKzgsdGhpcy55TWF4KTtyZXR1cm4gMTB9c2NhbGUoZSx0KXt0aGlzLnhNaW49TWF0aC5yb3VuZChlKyh0aGlzLnhNaW4tZSkqdCk7dGhpcy54TWF4PU1hdGgucm91bmQoZSsodGhpcy54TWF4LWUpKnQpfX1jbGFzcyBDb250b3Vye2NvbnN0cnVjdG9yKHtmbGFnczplLHhDb29yZGluYXRlczp0LHlDb29yZGluYXRlczppfSl7dGhpcy54Q29vcmRpbmF0ZXM9dDt0aGlzLnlDb29yZGluYXRlcz1pO3RoaXMuZmxhZ3M9ZX19Y2xhc3MgU2ltcGxlR2x5cGh7Y29uc3RydWN0b3Ioe2NvbnRvdXJzOmUsaW5zdHJ1Y3Rpb25zOnR9KXt0aGlzLmNvbnRvdXJzPWU7dGhpcy5pbnN0cnVjdGlvbnM9dH1zdGF0aWMgcGFyc2UoZSx0LGkpe2NvbnN0IGE9W107Zm9yKGxldCBzPTA7czxpO3MrKyl7Y29uc3QgaT10LmdldFVpbnQxNihlKTtlKz0yO2EucHVzaChpKX1jb25zdCBzPWFbaS0xXSsxLHI9dC5nZXRVaW50MTYoZSk7ZSs9Mjtjb25zdCBuPW5ldyBVaW50OEFycmF5KHQpLnNsaWNlKGUsZStyKTtlKz1yO2NvbnN0IGc9W107Zm9yKGxldCBpPTA7aTxzO2UrKyxpKyspe2xldCBhPXQuZ2V0VWludDgoZSk7Zy5wdXNoKGEpO2lmKDgmYSl7Y29uc3Qgcz10LmdldFVpbnQ4KCsrZSk7YV49ODtmb3IobGV0IGU9MDtlPHM7ZSsrKWcucHVzaChhKTtpKz1zfX1jb25zdCBvPVtdO2xldCBjPVtdLEM9W10saD1bXTtjb25zdCBsPVtdO2xldCBRPTAsRT0wO2ZvcihsZXQgaT0wO2k8cztpKyspe2NvbnN0IHM9Z1tpXTtpZigyJnMpe2NvbnN0IGk9dC5nZXRVaW50OChlKyspO0UrPTE2JnM/aTotaTtjLnB1c2goRSl9ZWxzZSBpZigxNiZzKWMucHVzaChFKTtlbHNle0UrPXQuZ2V0SW50MTYoZSk7ZSs9MjtjLnB1c2goRSl9aWYoYVtRXT09PWkpe1ErKztvLnB1c2goYyk7Yz1bXX19RT0wO1E9MDtmb3IobGV0IGk9MDtpPHM7aSsrKXtjb25zdCBzPWdbaV07aWYoNCZzKXtjb25zdCBpPXQuZ2V0VWludDgoZSsrKTtFKz0zMiZzP2k6LWk7Qy5wdXNoKEUpfWVsc2UgaWYoMzImcylDLnB1c2goRSk7ZWxzZXtFKz10LmdldEludDE2KGUpO2UrPTI7Qy5wdXNoKEUpfWgucHVzaCgxJnN8NjQmcyk7aWYoYVtRXT09PWkpe2M9b1tRXTtRKys7bC5wdXNoKG5ldyBDb250b3VyKHtmbGFnczpoLHhDb29yZGluYXRlczpjLHlDb29yZGluYXRlczpDfSkpO0M9W107aD1bXX19cmV0dXJuIG5ldyBTaW1wbGVHbHlwaCh7Y29udG91cnM6bCxpbnN0cnVjdGlvbnM6bn0pfWdldFNpemUoKXtsZXQgZT0yKnRoaXMuY29udG91cnMubGVuZ3RoKzIrdGhpcy5pbnN0cnVjdGlvbnMubGVuZ3RoLHQ9MCxpPTA7Zm9yKGNvbnN0IGEgb2YgdGhpcy5jb250b3Vycyl7ZSs9YS5mbGFncy5sZW5ndGg7Zm9yKGxldCBzPTAscj1hLnhDb29yZGluYXRlcy5sZW5ndGg7czxyO3MrKyl7Y29uc3Qgcj1hLnhDb29yZGluYXRlc1tzXSxuPWEueUNvb3JkaW5hdGVzW3NdO2xldCBnPU1hdGguYWJzKHItdCk7Zz4yNTU/ZSs9MjpnPjAmJihlKz0xKTt0PXI7Zz1NYXRoLmFicyhuLWkpO2c+MjU1P2UrPTI6Zz4wJiYoZSs9MSk7aT1ufX1yZXR1cm4gZX13cml0ZShlLHQpe2NvbnN0IGk9ZSxhPVtdLHM9W10scj1bXTtsZXQgbj0wLGc9MDtmb3IoY29uc3QgaSBvZiB0aGlzLmNvbnRvdXJzKXtmb3IobGV0IGU9MCx0PWkueENvb3JkaW5hdGVzLmxlbmd0aDtlPHQ7ZSsrKXtsZXQgdD1pLmZsYWdzW2VdO2NvbnN0IG89aS54Q29vcmRpbmF0ZXNbZV07bGV0IGM9by1uO2lmKDA9PT1jKXt0fD0xNjthLnB1c2goMCl9ZWxzZXtjb25zdCBlPU1hdGguYWJzKGMpO2lmKGU8PTI1NSl7dHw9Yz49MD8xODoyO2EucHVzaChlKX1lbHNlIGEucHVzaChjKX1uPW87Y29uc3QgQz1pLnlDb29yZGluYXRlc1tlXTtjPUMtZztpZigwPT09Yyl7dHw9MzI7cy5wdXNoKDApfWVsc2V7Y29uc3QgZT1NYXRoLmFicyhjKTtpZihlPD0yNTUpe3R8PWM+PTA/MzY6NDtzLnB1c2goZSl9ZWxzZSBzLnB1c2goYyl9Zz1DO3IucHVzaCh0KX10LnNldFVpbnQxNihlLGEubGVuZ3RoLTEpO2UrPTJ9dC5zZXRVaW50MTYoZSx0aGlzLmluc3RydWN0aW9ucy5sZW5ndGgpO2UrPTI7aWYodGhpcy5pbnN0cnVjdGlvbnMubGVuZ3RoKXtuZXcgVWludDhBcnJheSh0LmJ1ZmZlciwwLHQuYnVmZmVyLmJ5dGVMZW5ndGgpLnNldCh0aGlzLmluc3RydWN0aW9ucyxlKTtlKz10aGlzLmluc3RydWN0aW9ucy5sZW5ndGh9Zm9yKGNvbnN0IGkgb2Ygcil0LnNldFVpbnQ4KGUrKyxpKTtmb3IobGV0IGk9MCxzPWEubGVuZ3RoO2k8cztpKyspe2NvbnN0IHM9YVtpXSxuPXJbaV07aWYoMiZuKXQuc2V0VWludDgoZSsrLHMpO2Vsc2UgaWYoISgxNiZuKSl7dC5zZXRJbnQxNihlLHMpO2UrPTJ9fWZvcihsZXQgaT0wLGE9cy5sZW5ndGg7aTxhO2krKyl7Y29uc3QgYT1zW2ldLG49cltpXTtpZig0Jm4pdC5zZXRVaW50OChlKyssYSk7ZWxzZSBpZighKDMyJm4pKXt0LnNldEludDE2KGUsYSk7ZSs9Mn19cmV0dXJuIGUtaX1zY2FsZShlLHQpe2Zvcihjb25zdCBpIG9mIHRoaXMuY29udG91cnMpaWYoMCE9PWkueENvb3JkaW5hdGVzLmxlbmd0aClmb3IobGV0IGE9MCxzPWkueENvb3JkaW5hdGVzLmxlbmd0aDthPHM7YSsrKWkueENvb3JkaW5hdGVzW2FdPU1hdGgucm91bmQoZSsoaS54Q29vcmRpbmF0ZXNbYV0tZSkqdCl9fWNsYXNzIENvbXBvc2l0ZUdseXBoe2NvbnN0cnVjdG9yKHtmbGFnczplLGdseXBoSW5kZXg6dCxhcmd1bWVudDE6aSxhcmd1bWVudDI6YSx0cmFuc2Y6cyxpbnN0cnVjdGlvbnM6cn0pe3RoaXMuZmxhZ3M9ZTt0aGlzLmdseXBoSW5kZXg9dDt0aGlzLmFyZ3VtZW50MT1pO3RoaXMuYXJndW1lbnQyPWE7dGhpcy50cmFuc2Y9czt0aGlzLmluc3RydWN0aW9ucz1yfXN0YXRpYyBwYXJzZShlLHQpe2NvbnN0IGk9ZSxhPVtdO2xldCBzPXQuZ2V0VWludDE2KGUpO2NvbnN0IHI9dC5nZXRVaW50MTYoZSsyKTtlKz00O2xldCBuLGc7aWYoMSZzKXtpZigyJnMpe249dC5nZXRJbnQxNihlKTtnPXQuZ2V0SW50MTYoZSsyKX1lbHNle249dC5nZXRVaW50MTYoZSk7Zz10LmdldFVpbnQxNihlKzIpfWUrPTQ7c149MX1lbHNle2lmKDImcyl7bj10LmdldEludDgoZSk7Zz10LmdldEludDgoZSsxKX1lbHNle249dC5nZXRVaW50OChlKTtnPXQuZ2V0VWludDgoZSsxKX1lKz0yfWlmKDgmcyl7YS5wdXNoKHQuZ2V0VWludDE2KGUpKTtlKz0yfWVsc2UgaWYoNjQmcyl7YS5wdXNoKHQuZ2V0VWludDE2KGUpLHQuZ2V0VWludDE2KGUrMikpO2UrPTR9ZWxzZSBpZigxMjgmcyl7YS5wdXNoKHQuZ2V0VWludDE2KGUpLHQuZ2V0VWludDE2KGUrMiksdC5nZXRVaW50MTYoZSs0KSx0LmdldFVpbnQxNihlKzYpKTtlKz04fWxldCBvPW51bGw7aWYoMjU2JnMpe2NvbnN0IGk9dC5nZXRVaW50MTYoZSk7ZSs9MjtvPW5ldyBVaW50OEFycmF5KHQpLnNsaWNlKGUsZStpKTtlKz1pfXJldHVybltlLWksbmV3IENvbXBvc2l0ZUdseXBoKHtmbGFnczpzLGdseXBoSW5kZXg6cixhcmd1bWVudDE6bixhcmd1bWVudDI6Zyx0cmFuc2Y6YSxpbnN0cnVjdGlvbnM6b30pXX1nZXRTaXplKCl7bGV0IGU9NCsyKnRoaXMudHJhbnNmLmxlbmd0aDsyNTYmdGhpcy5mbGFncyYmKGUrPTIrdGhpcy5pbnN0cnVjdGlvbnMubGVuZ3RoKTtlKz0yOzImdGhpcy5mbGFncz90aGlzLmFyZ3VtZW50MT49LTEyOCYmdGhpcy5hcmd1bWVudDE8PTEyNyYmdGhpcy5hcmd1bWVudDI+PS0xMjgmJnRoaXMuYXJndW1lbnQyPD0xMjd8fChlKz0yKTp0aGlzLmFyZ3VtZW50MT49MCYmdGhpcy5hcmd1bWVudDE8PTI1NSYmdGhpcy5hcmd1bWVudDI+PTAmJnRoaXMuYXJndW1lbnQyPD0yNTV8fChlKz0yKTtyZXR1cm4gZX13cml0ZShlLHQpe2NvbnN0IGk9ZTsyJnRoaXMuZmxhZ3M/dGhpcy5hcmd1bWVudDE+PS0xMjgmJnRoaXMuYXJndW1lbnQxPD0xMjcmJnRoaXMuYXJndW1lbnQyPj0tMTI4JiZ0aGlzLmFyZ3VtZW50Mjw9MTI3fHwodGhpcy5mbGFnc3w9MSk6dGhpcy5hcmd1bWVudDE+PTAmJnRoaXMuYXJndW1lbnQxPD0yNTUmJnRoaXMuYXJndW1lbnQyPj0wJiZ0aGlzLmFyZ3VtZW50Mjw9MjU1fHwodGhpcy5mbGFnc3w9MSk7dC5zZXRVaW50MTYoZSx0aGlzLmZsYWdzKTt0LnNldFVpbnQxNihlKzIsdGhpcy5nbHlwaEluZGV4KTtlKz00O2lmKDEmdGhpcy5mbGFncyl7aWYoMiZ0aGlzLmZsYWdzKXt0LnNldEludDE2KGUsdGhpcy5hcmd1bWVudDEpO3Quc2V0SW50MTYoZSsyLHRoaXMuYXJndW1lbnQyKX1lbHNle3Quc2V0VWludDE2KGUsdGhpcy5hcmd1bWVudDEpO3Quc2V0VWludDE2KGUrMix0aGlzLmFyZ3VtZW50Mil9ZSs9NH1lbHNle3Quc2V0VWludDgoZSx0aGlzLmFyZ3VtZW50MSk7dC5zZXRVaW50OChlKzEsdGhpcy5hcmd1bWVudDIpO2UrPTJ9aWYoMjU2JnRoaXMuZmxhZ3Mpe3Quc2V0VWludDE2KGUsdGhpcy5pbnN0cnVjdGlvbnMubGVuZ3RoKTtlKz0yO2lmKHRoaXMuaW5zdHJ1Y3Rpb25zLmxlbmd0aCl7bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsMCx0LmJ1ZmZlci5ieXRlTGVuZ3RoKS5zZXQodGhpcy5pbnN0cnVjdGlvbnMsZSk7ZSs9dGhpcy5pbnN0cnVjdGlvbnMubGVuZ3RofX1yZXR1cm4gZS1pfXNjYWxlKGUsdCl7fX1mdW5jdGlvbiB3cml0ZUludDE2KGUsdCxpKXtlW3RdPWk+PjgmMjU1O2VbdCsxXT0yNTUmaX1mdW5jdGlvbiB3cml0ZUludDMyKGUsdCxpKXtlW3RdPWk+PjI0JjI1NTtlW3QrMV09aT4+MTYmMjU1O2VbdCsyXT1pPj44JjI1NTtlW3QrM109MjU1Jml9ZnVuY3Rpb24gd3JpdGVEYXRhKGUsdCxpKXtpZihpIGluc3RhbmNlb2YgVWludDhBcnJheSllLnNldChpLHQpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBpKWZvcihsZXQgYT0wLHM9aS5sZW5ndGg7YTxzO2ErKyllW3QrK109MjU1JmkuY2hhckNvZGVBdChhKTtlbHNlIGZvcihjb25zdCBhIG9mIGkpZVt0KytdPTI1NSZhfWNsYXNzIE9wZW5UeXBlRmlsZUJ1aWxkZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5zZm50PWU7dGhpcy50YWJsZXM9T2JqZWN0LmNyZWF0ZShudWxsKX1zdGF0aWMgZ2V0U2VhcmNoUGFyYW1zKGUsdCl7bGV0IGk9MSxhPTA7Zm9yKDsoaV5lKT5pOyl7aTw8PTE7YSsrfWNvbnN0IHM9aSp0O3JldHVybntyYW5nZTpzLGVudHJ5OmEscmFuZ2VTaGlmdDp0KmUtc319dG9BcnJheSgpe2xldCBlPXRoaXMuc2ZudDtjb25zdCB0PXRoaXMudGFibGVzLGk9T2JqZWN0LmtleXModCk7aS5zb3J0KCk7Y29uc3QgYT1pLmxlbmd0aDtsZXQgcyxyLG4sZyxvLGM9MTIrMTYqYTtjb25zdCBDPVtjXTtmb3Iocz0wO3M8YTtzKyspe2c9dFtpW3NdXTtjKz0oZy5sZW5ndGgrMyYtNCk+Pj4wO0MucHVzaChjKX1jb25zdCBoPW5ldyBVaW50OEFycmF5KGMpO2ZvcihzPTA7czxhO3MrKyl7Zz10W2lbc11dO3dyaXRlRGF0YShoLENbc10sZyl9InRydWUiPT09ZSYmKGU9c3RyaW5nMzIoNjU1MzYpKTtoWzBdPTI1NSZlLmNoYXJDb2RlQXQoMCk7aFsxXT0yNTUmZS5jaGFyQ29kZUF0KDEpO2hbMl09MjU1JmUuY2hhckNvZGVBdCgyKTtoWzNdPTI1NSZlLmNoYXJDb2RlQXQoMyk7d3JpdGVJbnQxNihoLDQsYSk7Y29uc3QgbD1PcGVuVHlwZUZpbGVCdWlsZGVyLmdldFNlYXJjaFBhcmFtcyhhLDE2KTt3cml0ZUludDE2KGgsNixsLnJhbmdlKTt3cml0ZUludDE2KGgsOCxsLmVudHJ5KTt3cml0ZUludDE2KGgsMTAsbC5yYW5nZVNoaWZ0KTtjPTEyO2ZvcihzPTA7czxhO3MrKyl7bz1pW3NdO2hbY109MjU1Jm8uY2hhckNvZGVBdCgwKTtoW2MrMV09MjU1Jm8uY2hhckNvZGVBdCgxKTtoW2MrMl09MjU1Jm8uY2hhckNvZGVBdCgyKTtoW2MrM109MjU1Jm8uY2hhckNvZGVBdCgzKTtsZXQgZT0wO2ZvcihyPUNbc10sbj1DW3MrMV07cjxuO3IrPTQpe2U9ZStyZWFkVWludDMyKGgscik+Pj4wfXdyaXRlSW50MzIoaCxjKzQsZSk7d3JpdGVJbnQzMihoLGMrOCxDW3NdKTt3cml0ZUludDMyKGgsYysxMix0W29dLmxlbmd0aCk7Yys9MTZ9cmV0dXJuIGh9YWRkVGFibGUoZSx0KXtpZihlIGluIHRoaXMudGFibGVzKXRocm93IG5ldyBFcnJvcigiVGFibGUgIitlKyIgYWxyZWFkeSBleGlzdHMiKTt0aGlzLnRhYmxlc1tlXT10fX1jb25zdCByYT1bNF0sbmE9WzVdLGdhPVs2XSxvYT1bN10sSWE9WzhdLGNhPVsxMiwzNV0sQ2E9WzE0XSxoYT1bMjFdLEJhPVsyMl0sbGE9WzMwXSxRYT1bMzFdO2NsYXNzIFR5cGUxQ2hhclN0cmluZ3tjb25zdHJ1Y3Rvcigpe3RoaXMud2lkdGg9MDt0aGlzLmxzYj0wO3RoaXMuZmxleGluZz0hMTt0aGlzLm91dHB1dD1bXTt0aGlzLnN0YWNrPVtdfWNvbnZlcnQoZSx0LGkpe2NvbnN0IGE9ZS5sZW5ndGg7bGV0IHMscixuLGc9ITE7Zm9yKGxldCBvPTA7bzxhO28rKyl7bGV0IGE9ZVtvXTtpZihhPDMyKXsxMj09PWEmJihhPShhPDw4KStlWysrb10pO3N3aXRjaChhKXtjYXNlIDE6Y2FzZSAzOmNhc2UgOTpjYXNlIDMwNzI6Y2FzZSAzMDczOmNhc2UgMzA3NDpjYXNlIDMxMDU6dGhpcy5zdGFjaz1bXTticmVhaztjYXNlIDQ6aWYodGhpcy5mbGV4aW5nKXtpZih0aGlzLnN0YWNrLmxlbmd0aDwxKXtnPSEwO2JyZWFrfWNvbnN0IGU9dGhpcy5zdGFjay5wb3AoKTt0aGlzLnN0YWNrLnB1c2goMCxlKTticmVha31nPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMSxyYSk7YnJlYWs7Y2FzZSA1Omc9dGhpcy5leGVjdXRlQ29tbWFuZCgyLG5hKTticmVhaztjYXNlIDY6Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDEsZ2EpO2JyZWFrO2Nhc2UgNzpnPXRoaXMuZXhlY3V0ZUNvbW1hbmQoMSxvYSk7YnJlYWs7Y2FzZSA4Omc9dGhpcy5leGVjdXRlQ29tbWFuZCg2LElhKTticmVhaztjYXNlIDEwOmlmKHRoaXMuc3RhY2subGVuZ3RoPDEpe2c9ITA7YnJlYWt9bj10aGlzLnN0YWNrLnBvcCgpO2lmKCF0W25dKXtnPSEwO2JyZWFrfWc9dGhpcy5jb252ZXJ0KHRbbl0sdCxpKTticmVhaztjYXNlIDExOnJldHVybiBnO2Nhc2UgMTM6aWYodGhpcy5zdGFjay5sZW5ndGg8Mil7Zz0hMDticmVha31zPXRoaXMuc3RhY2sucG9wKCk7cj10aGlzLnN0YWNrLnBvcCgpO3RoaXMubHNiPXI7dGhpcy53aWR0aD1zO3RoaXMuc3RhY2sucHVzaChzLHIpO2c9dGhpcy5leGVjdXRlQ29tbWFuZCgyLEJhKTticmVhaztjYXNlIDE0OnRoaXMub3V0cHV0LnB1c2goQ2FbMF0pO2JyZWFrO2Nhc2UgMjE6aWYodGhpcy5mbGV4aW5nKWJyZWFrO2c9dGhpcy5leGVjdXRlQ29tbWFuZCgyLGhhKTticmVhaztjYXNlIDIyOmlmKHRoaXMuZmxleGluZyl7dGhpcy5zdGFjay5wdXNoKDApO2JyZWFrfWc9dGhpcy5leGVjdXRlQ29tbWFuZCgxLEJhKTticmVhaztjYXNlIDMwOmc9dGhpcy5leGVjdXRlQ29tbWFuZCg0LGxhKTticmVhaztjYXNlIDMxOmc9dGhpcy5leGVjdXRlQ29tbWFuZCg0LFFhKTticmVhaztjYXNlIDMwNzg6aWYoaSl7Y29uc3QgZT10aGlzLnN0YWNrLmF0KC01KTt0aGlzLnNlYWM9dGhpcy5zdGFjay5zcGxpY2UoLTQsNCk7dGhpcy5zZWFjWzBdKz10aGlzLmxzYi1lO2c9dGhpcy5leGVjdXRlQ29tbWFuZCgwLENhKX1lbHNlIGc9dGhpcy5leGVjdXRlQ29tbWFuZCg0LENhKTticmVhaztjYXNlIDMwNzk6aWYodGhpcy5zdGFjay5sZW5ndGg8NCl7Zz0hMDticmVha310aGlzLnN0YWNrLnBvcCgpO3M9dGhpcy5zdGFjay5wb3AoKTtjb25zdCBlPXRoaXMuc3RhY2sucG9wKCk7cj10aGlzLnN0YWNrLnBvcCgpO3RoaXMubHNiPXI7dGhpcy53aWR0aD1zO3RoaXMuc3RhY2sucHVzaChzLHIsZSk7Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDMsaGEpO2JyZWFrO2Nhc2UgMzA4NDppZih0aGlzLnN0YWNrLmxlbmd0aDwyKXtnPSEwO2JyZWFrfWNvbnN0IG89dGhpcy5zdGFjay5wb3AoKSxjPXRoaXMuc3RhY2sucG9wKCk7dGhpcy5zdGFjay5wdXNoKGMvbyk7YnJlYWs7Y2FzZSAzMDg4OmlmKHRoaXMuc3RhY2subGVuZ3RoPDIpe2c9ITA7YnJlYWt9bj10aGlzLnN0YWNrLnBvcCgpO2NvbnN0IEM9dGhpcy5zdGFjay5wb3AoKTtpZigwPT09biYmMz09PUMpe2NvbnN0IGU9dGhpcy5zdGFjay5zcGxpY2UoLTE3LDE3KTt0aGlzLnN0YWNrLnB1c2goZVsyXStlWzBdLGVbM10rZVsxXSxlWzRdLGVbNV0sZVs2XSxlWzddLGVbOF0sZVs5XSxlWzEwXSxlWzExXSxlWzEyXSxlWzEzXSxlWzE0XSk7Zz10aGlzLmV4ZWN1dGVDb21tYW5kKDEzLGNhLCEwKTt0aGlzLmZsZXhpbmc9ITE7dGhpcy5zdGFjay5wdXNoKGVbMTVdLGVbMTZdKX1lbHNlIDE9PT1uJiYwPT09QyYmKHRoaXMuZmxleGluZz0hMCk7YnJlYWs7Y2FzZSAzMDg5OmJyZWFrO2RlZmF1bHQ6d2FybignVW5rbm93biB0eXBlIDEgY2hhcnN0cmluZyBjb21tYW5kIG9mICInK2ErJyInKX1pZihnKWJyZWFrfWVsc2V7YTw9MjQ2P2EtPTEzOTphPWE8PTI1MD8yNTYqKGEtMjQ3KStlWysrb10rMTA4OmE8PTI1ND8tMjU2KihhLTI1MSktZVsrK29dLTEwODooMjU1JmVbKytvXSk8PDI0fCgyNTUmZVsrK29dKTw8MTZ8KDI1NSZlWysrb10pPDw4fCgyNTUmZVsrK29dKTw8MDt0aGlzLnN0YWNrLnB1c2goYSl9fXJldHVybiBnfWV4ZWN1dGVDb21tYW5kKGUsdCxpKXtjb25zdCBhPXRoaXMuc3RhY2subGVuZ3RoO2lmKGU+YSlyZXR1cm4hMDtjb25zdCBzPWEtZTtmb3IobGV0IGU9cztlPGE7ZSsrKXtsZXQgdD10aGlzLnN0YWNrW2VdO2lmKE51bWJlci5pc0ludGVnZXIodCkpdGhpcy5vdXRwdXQucHVzaCgyOCx0Pj44JjI1NSwyNTUmdCk7ZWxzZXt0PTY1NTM2KnR8MDt0aGlzLm91dHB1dC5wdXNoKDI1NSx0Pj4yNCYyNTUsdD4+MTYmMjU1LHQ+PjgmMjU1LDI1NSZ0KX19dGhpcy5vdXRwdXQucHVzaCguLi50KTtpP3RoaXMuc3RhY2suc3BsaWNlKHMsZSk6dGhpcy5zdGFjay5sZW5ndGg9MDtyZXR1cm4hMX19ZnVuY3Rpb24gaXNIZXhEaWdpdChlKXtyZXR1cm4gZT49NDgmJmU8PTU3fHxlPj02NSYmZTw9NzB8fGU+PTk3JiZlPD0xMDJ9ZnVuY3Rpb24gZGVjcnlwdChlLHQsaSl7aWYoaT49ZS5sZW5ndGgpcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO2xldCBhLHMscj0wfHQ7Zm9yKGE9MDthPGk7YSsrKXI9NTI4NDUqKGVbYV0rcikrMjI3MTkmNjU1MzU7Y29uc3Qgbj1lLmxlbmd0aC1pLGc9bmV3IFVpbnQ4QXJyYXkobik7Zm9yKGE9aSxzPTA7czxuO2ErKyxzKyspe2NvbnN0IHQ9ZVthXTtnW3NdPXRecj4+ODtyPTUyODQ1Kih0K3IpKzIyNzE5JjY1NTM1fXJldHVybiBnfWZ1bmN0aW9uIGlzU3BlY2lhbChlKXtyZXR1cm4gNDc9PT1lfHw5MT09PWV8fDkzPT09ZXx8MTIzPT09ZXx8MTI1PT09ZXx8NDA9PT1lfHw0MT09PWV9Y2xhc3MgVHlwZTFQYXJzZXJ7Y29uc3RydWN0b3IoZSx0LGkpe2lmKHQpe2NvbnN0IHQ9ZS5nZXRCeXRlcygpLGk9ISgoaXNIZXhEaWdpdCh0WzBdKXx8aXNXaGl0ZVNwYWNlKHRbMF0pKSYmaXNIZXhEaWdpdCh0WzFdKSYmaXNIZXhEaWdpdCh0WzJdKSYmaXNIZXhEaWdpdCh0WzNdKSYmaXNIZXhEaWdpdCh0WzRdKSYmaXNIZXhEaWdpdCh0WzVdKSYmaXNIZXhEaWdpdCh0WzZdKSYmaXNIZXhEaWdpdCh0WzddKSk7ZT1uZXcgU3RyZWFtKGk/ZGVjcnlwdCh0LDU1NjY1LDQpOmZ1bmN0aW9uIGRlY3J5cHRBc2NpaShlLHQsaSl7bGV0IGE9MHx0O2NvbnN0IHM9ZS5sZW5ndGgscj1uZXcgVWludDhBcnJheShzPj4+MSk7bGV0IG4sZztmb3Iobj0wLGc9MDtuPHM7bisrKXtjb25zdCB0PWVbbl07aWYoIWlzSGV4RGlnaXQodCkpY29udGludWU7bisrO2xldCBpO2Zvcig7bjxzJiYhaXNIZXhEaWdpdChpPWVbbl0pOyluKys7aWYobjxzKXtjb25zdCBlPXBhcnNlSW50KFN0cmluZy5mcm9tQ2hhckNvZGUodCxpKSwxNik7cltnKytdPWVeYT4+ODthPTUyODQ1KihlK2EpKzIyNzE5JjY1NTM1fX1yZXR1cm4gci5zbGljZShpLGcpfSh0LDU1NjY1LDQpKX10aGlzLnNlYWNBbmFseXNpc0VuYWJsZWQ9ISFpO3RoaXMuc3RyZWFtPWU7dGhpcy5uZXh0Q2hhcigpfXJlYWROdW1iZXJBcnJheSgpe3RoaXMuZ2V0VG9rZW4oKTtjb25zdCBlPVtdO2Zvcig7Oyl7Y29uc3QgdD10aGlzLmdldFRva2VuKCk7aWYobnVsbD09PXR8fCJdIj09PXR8fCJ9Ij09PXQpYnJlYWs7ZS5wdXNoKHBhcnNlRmxvYXQodHx8MCkpfXJldHVybiBlfXJlYWROdW1iZXIoKXtjb25zdCBlPXRoaXMuZ2V0VG9rZW4oKTtyZXR1cm4gcGFyc2VGbG9hdChlfHwwKX1yZWFkSW50KCl7Y29uc3QgZT10aGlzLmdldFRva2VuKCk7cmV0dXJuIDB8cGFyc2VJbnQoZXx8MCwxMCl9cmVhZEJvb2xlYW4oKXtyZXR1cm4idHJ1ZSI9PT10aGlzLmdldFRva2VuKCk/MTowfW5leHRDaGFyKCl7cmV0dXJuIHRoaXMuY3VycmVudENoYXI9dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpfXByZXZDaGFyKCl7dGhpcy5zdHJlYW0uc2tpcCgtMik7cmV0dXJuIHRoaXMuY3VycmVudENoYXI9dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpfWdldFRva2VuKCl7bGV0IGU9ITEsdD10aGlzLmN1cnJlbnRDaGFyO2Zvcig7Oyl7aWYoLTE9PT10KXJldHVybiBudWxsO2lmKGUpMTAhPT10JiYxMyE9PXR8fChlPSExKTtlbHNlIGlmKDM3PT09dCllPSEwO2Vsc2UgaWYoIWlzV2hpdGVTcGFjZSh0KSlicmVhazt0PXRoaXMubmV4dENoYXIoKX1pZihpc1NwZWNpYWwodCkpe3RoaXMubmV4dENoYXIoKTtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSh0KX1sZXQgaT0iIjtkb3tpKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHQpO3Q9dGhpcy5uZXh0Q2hhcigpfXdoaWxlKHQ+PTAmJiFpc1doaXRlU3BhY2UodCkmJiFpc1NwZWNpYWwodCkpO3JldHVybiBpfXJlYWRDaGFyU3RyaW5ncyhlLHQpe3JldHVybi0xPT09dD9lOmRlY3J5cHQoZSw0MzMwLHQpfWV4dHJhY3RGb250UHJvZ3JhbShlKXtjb25zdCB0PXRoaXMuc3RyZWFtLGk9W10sYT1bXSxzPU9iamVjdC5jcmVhdGUobnVsbCk7cy5sZW5JVj00O2NvbnN0IHI9e3N1YnJzOltdLGNoYXJzdHJpbmdzOltdLHByb3BlcnRpZXM6e3ByaXZhdGVEYXRhOnN9fTtsZXQgbixnLG8sYztmb3IoO251bGwhPT0obj10aGlzLmdldFRva2VuKCkpOylpZigiLyI9PT1uKXtuPXRoaXMuZ2V0VG9rZW4oKTtzd2l0Y2gobil7Y2FzZSJDaGFyU3RyaW5ncyI6dGhpcy5nZXRUb2tlbigpO3RoaXMuZ2V0VG9rZW4oKTt0aGlzLmdldFRva2VuKCk7dGhpcy5nZXRUb2tlbigpO2Zvcig7Oyl7bj10aGlzLmdldFRva2VuKCk7aWYobnVsbD09PW58fCJlbmQiPT09bilicmVhaztpZigiLyIhPT1uKWNvbnRpbnVlO2NvbnN0IGU9dGhpcy5nZXRUb2tlbigpO2c9dGhpcy5yZWFkSW50KCk7dGhpcy5nZXRUb2tlbigpO289Zz4wP3QuZ2V0Qnl0ZXMoZyk6bmV3IFVpbnQ4QXJyYXkoMCk7Yz1yLnByb3BlcnRpZXMucHJpdmF0ZURhdGEubGVuSVY7Y29uc3QgaT10aGlzLnJlYWRDaGFyU3RyaW5ncyhvLGMpO3RoaXMubmV4dENoYXIoKTtuPXRoaXMuZ2V0VG9rZW4oKTsibm9hY2Nlc3MiPT09bj90aGlzLmdldFRva2VuKCk6Ii8iPT09biYmdGhpcy5wcmV2Q2hhcigpO2EucHVzaCh7Z2x5cGg6ZSxlbmNvZGVkOml9KX1icmVhaztjYXNlIlN1YnJzIjp0aGlzLnJlYWRJbnQoKTt0aGlzLmdldFRva2VuKCk7Zm9yKDsiZHVwIj09PXRoaXMuZ2V0VG9rZW4oKTspe2NvbnN0IGU9dGhpcy5yZWFkSW50KCk7Zz10aGlzLnJlYWRJbnQoKTt0aGlzLmdldFRva2VuKCk7bz1nPjA/dC5nZXRCeXRlcyhnKTpuZXcgVWludDhBcnJheSgwKTtjPXIucHJvcGVydGllcy5wcml2YXRlRGF0YS5sZW5JVjtjb25zdCBhPXRoaXMucmVhZENoYXJTdHJpbmdzKG8sYyk7dGhpcy5uZXh0Q2hhcigpO249dGhpcy5nZXRUb2tlbigpOyJub2FjY2VzcyI9PT1uJiZ0aGlzLmdldFRva2VuKCk7aVtlXT1hfWJyZWFrO2Nhc2UiQmx1ZVZhbHVlcyI6Y2FzZSJPdGhlckJsdWVzIjpjYXNlIkZhbWlseUJsdWVzIjpjYXNlIkZhbWlseU90aGVyQmx1ZXMiOmNvbnN0IGU9dGhpcy5yZWFkTnVtYmVyQXJyYXkoKTtlLmxlbmd0aD4wJiZlLmxlbmd0aCwwO2JyZWFrO2Nhc2UiU3RlbVNuYXBIIjpjYXNlIlN0ZW1TbmFwViI6ci5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhW25dPXRoaXMucmVhZE51bWJlckFycmF5KCk7YnJlYWs7Y2FzZSJTdGRIVyI6Y2FzZSJTdGRWVyI6ci5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhW25dPXRoaXMucmVhZE51bWJlckFycmF5KClbMF07YnJlYWs7Y2FzZSJCbHVlU2hpZnQiOmNhc2UibGVuSVYiOmNhc2UiQmx1ZUZ1enoiOmNhc2UiQmx1ZVNjYWxlIjpjYXNlIkxhbmd1YWdlR3JvdXAiOnIucHJvcGVydGllcy5wcml2YXRlRGF0YVtuXT10aGlzLnJlYWROdW1iZXIoKTticmVhaztjYXNlIkV4cGFuc2lvbkZhY3RvciI6ci5wcm9wZXJ0aWVzLnByaXZhdGVEYXRhW25dPXRoaXMucmVhZE51bWJlcigpfHwuMDY7YnJlYWs7Y2FzZSJGb3JjZUJvbGQiOnIucHJvcGVydGllcy5wcml2YXRlRGF0YVtuXT10aGlzLnJlYWRCb29sZWFuKCl9fWZvcihjb25zdHtlbmNvZGVkOnQsZ2x5cGg6c31vZiBhKXtjb25zdCBhPW5ldyBUeXBlMUNoYXJTdHJpbmcsbj1hLmNvbnZlcnQodCxpLHRoaXMuc2VhY0FuYWx5c2lzRW5hYmxlZCk7bGV0IGc9YS5vdXRwdXQ7biYmKGc9WzE0XSk7Y29uc3Qgbz17Z2x5cGhOYW1lOnMsY2hhcnN0cmluZzpnLHdpZHRoOmEud2lkdGgsbHNiOmEubHNiLHNlYWM6YS5zZWFjfTsiLm5vdGRlZiI9PT1zP3IuY2hhcnN0cmluZ3MudW5zaGlmdChvKTpyLmNoYXJzdHJpbmdzLnB1c2gobyk7aWYoZS5idWlsdEluRW5jb2Rpbmcpe2NvbnN0IHQ9ZS5idWlsdEluRW5jb2RpbmcuaW5kZXhPZihzKTt0Pi0xJiZ2b2lkIDA9PT1lLndpZHRoc1t0XSYmdD49ZS5maXJzdENoYXImJnQ8PWUubGFzdENoYXImJihlLndpZHRoc1t0XT1hLndpZHRoKX19cmV0dXJuIHJ9ZXh0cmFjdEZvbnRIZWFkZXIoZSl7bGV0IHQ7Zm9yKDtudWxsIT09KHQ9dGhpcy5nZXRUb2tlbigpKTspaWYoIi8iPT09dCl7dD10aGlzLmdldFRva2VuKCk7c3dpdGNoKHQpe2Nhc2UiRm9udE1hdHJpeCI6Y29uc3QgaT10aGlzLnJlYWROdW1iZXJBcnJheSgpO2UuZm9udE1hdHJpeD1pO2JyZWFrO2Nhc2UiRW5jb2RpbmciOmNvbnN0IGE9dGhpcy5nZXRUb2tlbigpO2xldCBzO2lmKC9eXGQrJC8udGVzdChhKSl7cz1bXTtjb25zdCBlPTB8cGFyc2VJbnQoYSwxMCk7dGhpcy5nZXRUb2tlbigpO2ZvcihsZXQgaT0wO2k8ZTtpKyspe3Q9dGhpcy5nZXRUb2tlbigpO2Zvcig7ImR1cCIhPT10JiYiZGVmIiE9PXQ7KXt0PXRoaXMuZ2V0VG9rZW4oKTtpZihudWxsPT09dClyZXR1cm59aWYoImRlZiI9PT10KWJyZWFrO2NvbnN0IGU9dGhpcy5yZWFkSW50KCk7dGhpcy5nZXRUb2tlbigpO2NvbnN0IGk9dGhpcy5nZXRUb2tlbigpO3NbZV09aTt0aGlzLmdldFRva2VuKCl9fWVsc2Ugcz1nZXRFbmNvZGluZyhhKTtlLmJ1aWx0SW5FbmNvZGluZz1zO2JyZWFrO2Nhc2UiRm9udEJCb3giOmNvbnN0IHI9dGhpcy5yZWFkTnVtYmVyQXJyYXkoKTtlLmFzY2VudD1NYXRoLm1heChyWzNdLHJbMV0pO2UuZGVzY2VudD1NYXRoLm1pbihyWzFdLHJbM10pO2UuYXNjZW50U2NhbGVkPSEwfX19fWZ1bmN0aW9uIGZpbmRCbG9jayhlLHQsaSl7Y29uc3QgYT1lLmxlbmd0aCxzPXQubGVuZ3RoLHI9YS1zO2xldCBuPWksZz0hMTtmb3IoO248cjspe2xldCBpPTA7Zm9yKDtpPHMmJmVbbitpXT09PXRbaV07KWkrKztpZihpPj1zKXtuKz1pO2Zvcig7bjxhJiZpc1doaXRlU3BhY2UoZVtuXSk7KW4rKztnPSEwO2JyZWFrfW4rK31yZXR1cm57Zm91bmQ6ZyxsZW5ndGg6bn19Y2xhc3MgVHlwZTFGb250e2NvbnN0cnVjdG9yKGUsdCxpKXtsZXQgYT1pLmxlbmd0aDEscz1pLmxlbmd0aDIscj10LnBlZWtCeXRlcyg2KTtjb25zdCBuPTEyOD09PXJbMF0mJjE9PT1yWzFdO2lmKG4pe3Quc2tpcCg2KTthPXJbNV08PDI0fHJbNF08PDE2fHJbM108PDh8clsyXX1jb25zdCBnPWZ1bmN0aW9uIGdldEhlYWRlckJsb2NrKGUsdCl7Y29uc3QgaT1bMTAxLDEwMSwxMjAsMTAxLDk5XSxhPWUucG9zO2xldCBzLHIsbixnO3RyeXtzPWUuZ2V0Qnl0ZXModCk7cj1zLmxlbmd0aH1jYXRjaHt9aWYocj09PXQpe249ZmluZEJsb2NrKHMsaSx0LTIqaS5sZW5ndGgpO2lmKG4uZm91bmQmJm4ubGVuZ3RoPT09dClyZXR1cm57c3RyZWFtOm5ldyBTdHJlYW0ocyksbGVuZ3RoOnR9fXdhcm4oJ0ludmFsaWQgIkxlbmd0aDEiIHByb3BlcnR5IGluIFR5cGUxIGZvbnQgLS0gdHJ5aW5nIHRvIHJlY292ZXIuJyk7ZS5wb3M9YTtmb3IoOzspe249ZmluZEJsb2NrKGUucGVla0J5dGVzKDIwNDgpLGksMCk7aWYoMD09PW4ubGVuZ3RoKWJyZWFrO2UucG9zKz1uLmxlbmd0aDtpZihuLmZvdW5kKXtnPWUucG9zLWE7YnJlYWt9fWUucG9zPWE7aWYoZylyZXR1cm57c3RyZWFtOm5ldyBTdHJlYW0oZS5nZXRCeXRlcyhnKSksbGVuZ3RoOmd9O3dhcm4oJ1VuYWJsZSB0byByZWNvdmVyICJMZW5ndGgxIiBwcm9wZXJ0eSBpbiBUeXBlMSBmb250IC0tIHVzaW5nIGFzIGlzLicpO3JldHVybntzdHJlYW06bmV3IFN0cmVhbShlLmdldEJ5dGVzKHQpKSxsZW5ndGg6dH19KHQsYSk7bmV3IFR5cGUxUGFyc2VyKGcuc3RyZWFtLCExLFRpKS5leHRyYWN0Rm9udEhlYWRlcihpKTtpZihuKXtyPXQuZ2V0Qnl0ZXMoNik7cz1yWzVdPDwyNHxyWzRdPDwxNnxyWzNdPDw4fHJbMl19Y29uc3Qgbz1mdW5jdGlvbiBnZXRFZXhlY0Jsb2NrKGUsdCl7Y29uc3QgaT1lLmdldEJ5dGVzKCk7aWYoMD09PWkubGVuZ3RoKXRocm93IG5ldyBGb3JtYXRFcnJvcigiZ2V0RWV4ZWNCbG9jayAtIG5vIGZvbnQgcHJvZ3JhbSBmb3VuZC4iKTtyZXR1cm57c3RyZWFtOm5ldyBTdHJlYW0oaSksbGVuZ3RoOmkubGVuZ3RofX0odCksYz1uZXcgVHlwZTFQYXJzZXIoby5zdHJlYW0sITAsVGkpLmV4dHJhY3RGb250UHJvZ3JhbShpKTtmb3IoY29uc3QgZSBpbiBjLnByb3BlcnRpZXMpaVtlXT1jLnByb3BlcnRpZXNbZV07Y29uc3QgQz1jLmNoYXJzdHJpbmdzLGg9dGhpcy5nZXRUeXBlMkNoYXJzdHJpbmdzKEMpLGw9dGhpcy5nZXRUeXBlMlN1YnJzKGMuc3VicnMpO3RoaXMuY2hhcnN0cmluZ3M9Qzt0aGlzLmRhdGE9dGhpcy53cmFwKGUsaCx0aGlzLmNoYXJzdHJpbmdzLGwsaSk7dGhpcy5zZWFjcz10aGlzLmdldFNlYWNzKGMuY2hhcnN0cmluZ3MpfWdldCBudW1HbHlwaHMoKXtyZXR1cm4gdGhpcy5jaGFyc3RyaW5ncy5sZW5ndGgrMX1nZXRDaGFyc2V0KCl7Y29uc3QgZT1bIi5ub3RkZWYiXTtmb3IoY29uc3R7Z2x5cGhOYW1lOnR9b2YgdGhpcy5jaGFyc3RyaW5ncyllLnB1c2godCk7cmV0dXJuIGV9Z2V0R2x5cGhNYXBwaW5nKGUpe2NvbnN0IHQ9dGhpcy5jaGFyc3RyaW5ncztpZihlLmNvbXBvc2l0ZSl7Y29uc3QgaT1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihsZXQgYT0wLHM9dC5sZW5ndGg7YTxzO2ErKyl7aVtlLmNNYXAuY2hhckNvZGVPZihhKV09YSsxfXJldHVybiBpfWNvbnN0IGk9WyIubm90ZGVmIl07bGV0IGEscztmb3Iocz0wO3M8dC5sZW5ndGg7cysrKWkucHVzaCh0W3NdLmdseXBoTmFtZSk7Y29uc3Qgcj1lLmJ1aWx0SW5FbmNvZGluZztpZihyKXthPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGNvbnN0IGUgaW4gcil7cz1pLmluZGV4T2YocltlXSk7cz49MCYmKGFbZV09cyl9fXJldHVybiB0eXBlMUZvbnRHbHlwaE1hcHBpbmcoZSxhLGkpfWhhc0dseXBoSWQoZSl7aWYoZTwwfHxlPj10aGlzLm51bUdseXBocylyZXR1cm4hMTtpZigwPT09ZSlyZXR1cm4hMDtyZXR1cm4gdGhpcy5jaGFyc3RyaW5nc1tlLTFdLmNoYXJzdHJpbmcubGVuZ3RoPjB9Z2V0U2VhY3MoZSl7Y29uc3QgdD1bXTtmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspe2NvbnN0IGE9ZVtpXTthLnNlYWMmJih0W2krMV09YS5zZWFjKX1yZXR1cm4gdH1nZXRUeXBlMkNoYXJzdHJpbmdzKGUpe2NvbnN0IHQ9W107Zm9yKGNvbnN0IGkgb2YgZSl0LnB1c2goaS5jaGFyc3RyaW5nKTtyZXR1cm4gdH1nZXRUeXBlMlN1YnJzKGUpe2xldCB0PTA7Y29uc3QgaT1lLmxlbmd0aDt0PWk8MTEzMz8xMDc6aTwzMzc2OT8xMTMxOjMyNzY4O2NvbnN0IGE9W107bGV0IHM7Zm9yKHM9MDtzPHQ7cysrKWEucHVzaChbMTFdKTtmb3Iocz0wO3M8aTtzKyspYS5wdXNoKGVbc10pO3JldHVybiBhfXdyYXAoZSx0LGksYSxzKXtjb25zdCByPW5ldyBDRkY7ci5oZWFkZXI9bmV3IENGRkhlYWRlcigxLDAsNCw0KTtyLm5hbWVzPVtlXTtjb25zdCBuPW5ldyBDRkZUb3BEaWN0O24uc2V0QnlOYW1lKCJ2ZXJzaW9uIiwzOTEpO24uc2V0QnlOYW1lKCJOb3RpY2UiLDM5Mik7bi5zZXRCeU5hbWUoIkZ1bGxOYW1lIiwzOTMpO24uc2V0QnlOYW1lKCJGYW1pbHlOYW1lIiwzOTQpO24uc2V0QnlOYW1lKCJXZWlnaHQiLDM5NSk7bi5zZXRCeU5hbWUoIkVuY29kaW5nIixudWxsKTtuLnNldEJ5TmFtZSgiRm9udE1hdHJpeCIscy5mb250TWF0cml4KTtuLnNldEJ5TmFtZSgiRm9udEJCb3giLHMuYmJveCk7bi5zZXRCeU5hbWUoImNoYXJzZXQiLG51bGwpO24uc2V0QnlOYW1lKCJDaGFyU3RyaW5ncyIsbnVsbCk7bi5zZXRCeU5hbWUoIlByaXZhdGUiLG51bGwpO3IudG9wRGljdD1uO2NvbnN0IGc9bmV3IENGRlN0cmluZ3M7Zy5hZGQoIlZlcnNpb24gMC4xMSIpO2cuYWRkKCJTZWUgb3JpZ2luYWwgbm90aWNlIik7Zy5hZGQoZSk7Zy5hZGQoZSk7Zy5hZGQoIk1lZGl1bSIpO3Iuc3RyaW5ncz1nO3IuZ2xvYmFsU3VickluZGV4PW5ldyBDRkZJbmRleDtjb25zdCBvPXQubGVuZ3RoLGM9WyIubm90ZGVmIl07bGV0IEMsaDtmb3IoQz0wO0M8bztDKyspe2NvbnN0IGU9aVtDXS5nbHlwaE5hbWU7LTE9PT1GaS5pbmRleE9mKGUpJiZnLmFkZChlKTtjLnB1c2goZSl9ci5jaGFyc2V0PW5ldyBDRkZDaGFyc2V0KCExLDAsYyk7Y29uc3QgbD1uZXcgQ0ZGSW5kZXg7bC5hZGQoWzEzOSwxNF0pO2ZvcihDPTA7QzxvO0MrKylsLmFkZCh0W0NdKTtyLmNoYXJTdHJpbmdzPWw7Y29uc3QgUT1uZXcgQ0ZGUHJpdmF0ZURpY3Q7US5zZXRCeU5hbWUoIlN1YnJzIixudWxsKTtjb25zdCBFPVsiQmx1ZVZhbHVlcyIsIk90aGVyQmx1ZXMiLCJGYW1pbHlCbHVlcyIsIkZhbWlseU90aGVyQmx1ZXMiLCJTdGVtU25hcEgiLCJTdGVtU25hcFYiLCJCbHVlU2hpZnQiLCJCbHVlRnV6eiIsIkJsdWVTY2FsZSIsIkxhbmd1YWdlR3JvdXAiLCJFeHBhbnNpb25GYWN0b3IiLCJGb3JjZUJvbGQiLCJTdGRIVyIsIlN0ZFZXIl07Zm9yKEM9MCxoPUUubGVuZ3RoO0M8aDtDKyspe2NvbnN0IGU9RVtDXTtpZighKGUgaW4gcy5wcml2YXRlRGF0YSkpY29udGludWU7Y29uc3QgdD1zLnByaXZhdGVEYXRhW2VdO2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKGxldCBlPXQubGVuZ3RoLTE7ZT4wO2UtLSl0W2VdLT10W2UtMV07US5zZXRCeU5hbWUoZSx0KX1yLnRvcERpY3QucHJpdmF0ZURpY3Q9UTtjb25zdCB1PW5ldyBDRkZJbmRleDtmb3IoQz0wLGg9YS5sZW5ndGg7QzxoO0MrKyl1LmFkZChhW0NdKTtRLnN1YnJzSW5kZXg9dTtyZXR1cm4gbmV3IENGRkNvbXBpbGVyKHIpLmNvbXBpbGUoKX19Y29uc3QgRWE9W1s1NzM0NCw2Mzc0M10sWzEwNDg1NzYsMTExNDEwOV1dLHVhPTFlMyxkYT1bImFzY2VudCIsImJib3giLCJibGFjayIsImJvbGQiLCJjaGFyUHJvY09wZXJhdG9yTGlzdCIsImNvbXBvc2l0ZSIsImNzc0ZvbnRJbmZvIiwiZGF0YSIsImRlZmF1bHRWTWV0cmljcyIsImRlZmF1bHRXaWR0aCIsImRlc2NlbnQiLCJmYWxsYmFja05hbWUiLCJmb250TWF0cml4IiwiaXNJbnZhbGlkUERGanNGb250IiwiaXNUeXBlM0ZvbnQiLCJpdGFsaWMiLCJsb2FkZWROYW1lIiwibWltZXR5cGUiLCJtaXNzaW5nRmlsZSIsIm5hbWUiLCJyZW1lYXN1cmUiLCJzdWJ0eXBlIiwic3lzdGVtRm9udEluZm8iLCJ0eXBlIiwidmVydGljYWwiXSxmYT1bImNNYXAiLCJkZWZhdWx0RW5jb2RpbmciLCJkaWZmZXJlbmNlcyIsImlzTW9ub3NwYWNlIiwiaXNTZXJpZkZvbnQiLCJpc1N5bWJvbGljRm9udCIsInNlYWNNYXAiLCJ0b0ZvbnRDaGFyIiwidG9Vbmljb2RlIiwidm1ldHJpY3MiLCJ3aWR0aHMiXTtmdW5jdGlvbiBhZGp1c3RXaWR0aHMoZSl7aWYoIWUuZm9udE1hdHJpeClyZXR1cm47aWYoZS5mb250TWF0cml4WzBdPT09YVswXSlyZXR1cm47Y29uc3QgdD0uMDAxL2UuZm9udE1hdHJpeFswXSxpPWUud2lkdGhzO2Zvcihjb25zdCBlIGluIGkpaVtlXSo9dDtlLmRlZmF1bHRXaWR0aCo9dH1mdW5jdGlvbiBhbWVuZEZhbGxiYWNrVG9Vbmljb2RlKGUpe2lmKCFlLmZhbGxiYWNrVG9Vbmljb2RlKXJldHVybjtpZihlLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwKXJldHVybjtjb25zdCB0PVtdO2Zvcihjb25zdCBpIGluIGUuZmFsbGJhY2tUb1VuaWNvZGUpZS50b1VuaWNvZGUuaGFzKGkpfHwodFtpXT1lLmZhbGxiYWNrVG9Vbmljb2RlW2ldKTt0Lmxlbmd0aD4wJiZlLnRvVW5pY29kZS5hbWVuZCh0KX1jbGFzcyBmb250c19HbHlwaHtjb25zdHJ1Y3RvcihlLHQsaSxhLHMscixuLGcsbyl7dGhpcy5vcmlnaW5hbENoYXJDb2RlPWU7dGhpcy5mb250Q2hhcj10O3RoaXMudW5pY29kZT1pO3RoaXMuYWNjZW50PWE7dGhpcy53aWR0aD1zO3RoaXMudm1ldHJpYz1yO3RoaXMub3BlcmF0b3JMaXN0SWQ9bjt0aGlzLmlzU3BhY2U9Zzt0aGlzLmlzSW5Gb250PW99Z2V0IGNhdGVnb3J5KCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJjYXRlZ29yeSIsZnVuY3Rpb24gZ2V0Q2hhclVuaWNvZGVDYXRlZ29yeShlKXtjb25zdCB0PUtpLmdldChlKTtpZih0KXJldHVybiB0O2NvbnN0IGk9ZS5tYXRjaCh2aSksYT17aXNXaGl0ZXNwYWNlOiEhaT8uWzFdLGlzWmVyb1dpZHRoRGlhY3JpdGljOiEhaT8uWzJdLGlzSW52aXNpYmxlRm9ybWF0TWFyazohIWk/LlszXX07S2kuc2V0KGUsYSk7cmV0dXJuIGF9KHRoaXMudW5pY29kZSksITApfX1mdW5jdGlvbiBpbnQxNihlLHQpe3JldHVybihlPDw4KSt0fWZ1bmN0aW9uIHdyaXRlU2lnbmVkSW50MTYoZSx0LGkpe2VbdCsxXT1pO2VbdF09aT4+Pjh9ZnVuY3Rpb24gc2lnbmVkSW50MTYoZSx0KXtjb25zdCBpPShlPDw4KSt0O3JldHVybiAzMjc2OCZpP2ktNjU1MzY6aX1mdW5jdGlvbiBzdHJpbmcxNihlKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlPj44JjI1NSwyNTUmZSl9ZnVuY3Rpb24gc2FmZVN0cmluZzE2KGUpe2U+MzI3Njc/ZT0zMjc2NzplPC0zMjc2OCYmKGU9LTMyNzY4KTtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlPj44JjI1NSwyNTUmZSl9ZnVuY3Rpb24gaXNUcnVlVHlwZUNvbGxlY3Rpb25GaWxlKGUpe3JldHVybiJ0dGNmIj09PWJ5dGVzVG9TdHJpbmcoZS5wZWVrQnl0ZXMoNCkpfWZ1bmN0aW9uIGdldEZvbnRGaWxlVHlwZShlLHt0eXBlOnQsc3VidHlwZTppLGNvbXBvc2l0ZTphfSl7bGV0IHMscjtpZihmdW5jdGlvbiBpc1RydWVUeXBlRmlsZShlKXtjb25zdCB0PWUucGVla0J5dGVzKDQpO3JldHVybiA2NTUzNj09PXJlYWRVaW50MzIodCwwKXx8InRydWUiPT09Ynl0ZXNUb1N0cmluZyh0KX0oZSl8fGlzVHJ1ZVR5cGVDb2xsZWN0aW9uRmlsZShlKSlzPWE/IkNJREZvbnRUeXBlMiI6IlRydWVUeXBlIjtlbHNlIGlmKGZ1bmN0aW9uIGlzT3BlblR5cGVGaWxlKGUpe3JldHVybiJPVFRPIj09PWJ5dGVzVG9TdHJpbmcoZS5wZWVrQnl0ZXMoNCkpfShlKSlzPWE/IkNJREZvbnRUeXBlMiI6Ik9wZW5UeXBlIjtlbHNlIGlmKGZ1bmN0aW9uIGlzVHlwZTFGaWxlKGUpe2NvbnN0IHQ9ZS5wZWVrQnl0ZXMoMik7cmV0dXJuIDM3PT09dFswXSYmMzM9PT10WzFdfHwxMjg9PT10WzBdJiYxPT09dFsxXX0oZSkpcz1hPyJDSURGb250VHlwZTAiOiJNTVR5cGUxIj09PXQ/Ik1NVHlwZTEiOiJUeXBlMSI7ZWxzZSBpZihmdW5jdGlvbiBpc0NGRkZpbGUoZSl7Y29uc3QgdD1lLnBlZWtCeXRlcyg0KTtyZXR1cm4gdFswXT49MSYmdFszXT49MSYmdFszXTw9NH0oZSkpaWYoYSl7cz0iQ0lERm9udFR5cGUwIjtyPSJDSURGb250VHlwZTBDIn1lbHNle3M9Ik1NVHlwZTEiPT09dD8iTU1UeXBlMSI6IlR5cGUxIjtyPSJUeXBlMUMifWVsc2V7d2FybigiZ2V0Rm9udEZpbGVUeXBlOiBVbmFibGUgdG8gZGV0ZWN0IGNvcnJlY3QgZm9udCBmaWxlIFR5cGUvU3VidHlwZS4iKTtzPXQ7cj1pfXJldHVybltzLHJdfWZ1bmN0aW9uIGFwcGx5U3RhbmRhcmRGb250R2x5cGhNYXAoZSx0KXtmb3IoY29uc3QgaSBpbiB0KWVbK2ldPXRbaV19ZnVuY3Rpb24gYnVpbGRUb0ZvbnRDaGFyKGUsdCxpKXtjb25zdCBhPVtdO2xldCBzO2ZvcihsZXQgaT0wLHI9ZS5sZW5ndGg7aTxyO2krKyl7cz1nZXRVbmljb2RlRm9yR2x5cGgoZVtpXSx0KTstMSE9PXMmJihhW2ldPXMpfWZvcihjb25zdCBlIGluIGkpe3M9Z2V0VW5pY29kZUZvckdseXBoKGlbZV0sdCk7LTEhPT1zJiYoYVsrZV09cyl9cmV0dXJuIGF9ZnVuY3Rpb24gaXNNYWNOYW1lUmVjb3JkKGUpe3JldHVybiAxPT09ZS5wbGF0Zm9ybSYmMD09PWUuZW5jb2RpbmcmJjA9PT1lLmxhbmd1YWdlfWZ1bmN0aW9uIGlzV2luTmFtZVJlY29yZChlKXtyZXR1cm4gMz09PWUucGxhdGZvcm0mJjE9PT1lLmVuY29kaW5nJiYxMDMzPT09ZS5sYW5ndWFnZX1mdW5jdGlvbiBjb252ZXJ0Q2lkU3RyaW5nKGUsdCxpPSExKXtzd2l0Y2godC5sZW5ndGgpe2Nhc2UgMTpyZXR1cm4gdC5jaGFyQ29kZUF0KDApO2Nhc2UgMjpyZXR1cm4gdC5jaGFyQ29kZUF0KDApPDw4fHQuY2hhckNvZGVBdCgxKX1jb25zdCBhPWBVbnN1cHBvcnRlZCBDSUQgc3RyaW5nIChjaGFyQ29kZSAke2V9KTogIiR7dH0iLmA7aWYoaSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYSk7d2FybihhKTtyZXR1cm4gdH1mdW5jdGlvbiBhZGp1c3RNYXBwaW5nKGUsdCxpLGEpe2NvbnN0IHM9T2JqZWN0LmNyZWF0ZShudWxsKSxyPW5ldyBNYXAsbj1bXSxnPW5ldyBTZXQ7bGV0IG89MDtsZXQgYz1FYVtvXVswXSxDPUVhW29dWzFdO2Zvcihjb25zdCBsIGluIGUpe2xldCBRPWVbbF07aWYoIXQoUSkpY29udGludWU7aWYoYz5DKXtvKys7aWYobz49RWEubGVuZ3RoKXt3YXJuKCJSYW4gb3V0IG9mIHNwYWNlIGluIGZvbnQgcHJpdmF0ZSB1c2UgYXJlYS4iKTticmVha31jPUVhW29dWzBdO0M9RWFbb11bMV19Y29uc3QgRT1jKys7MD09PVEmJihRPWkpO2xldCB1PWEuZ2V0KGwpOyJzdHJpbmciPT10eXBlb2YgdSYmKHU9dS5jb2RlUG9pbnRBdCgwKSk7aWYodSYmIShoPXUsRWFbMF1bMF08PWgmJmg8PUVhWzBdWzFdfHxFYVsxXVswXTw9aCYmaDw9RWFbMV1bMV0pJiYhZy5oYXMoUSkpe3Iuc2V0KHUsUSk7Zy5hZGQoUSl9c1tFXT1RO25bbF09RX12YXIgaDtyZXR1cm57dG9Gb250Q2hhcjpuLGNoYXJDb2RlVG9HbHlwaElkOnMsdG9Vbmljb2RlRXh0cmFNYXA6cixuZXh0QXZhaWxhYmxlRm9udENoYXJDb2RlOmN9fWZ1bmN0aW9uIGNyZWF0ZUNtYXBUYWJsZShlLHQsaSl7Y29uc3QgYT1mdW5jdGlvbiBnZXRSYW5nZXMoZSx0LGkpe2NvbnN0IGE9W107Zm9yKGNvbnN0IHQgaW4gZSllW3RdPj1pfHxhLnB1c2goe2ZvbnRDaGFyQ29kZTowfHQsZ2x5cGhJZDplW3RdfSk7aWYodClmb3IoY29uc3RbZSxzXW9mIHQpcz49aXx8YS5wdXNoKHtmb250Q2hhckNvZGU6ZSxnbHlwaElkOnN9KTswPT09YS5sZW5ndGgmJmEucHVzaCh7Zm9udENoYXJDb2RlOjAsZ2x5cGhJZDowfSk7YS5zb3J0KChmdW5jdGlvbiBmb250R2V0UmFuZ2VzU29ydChlLHQpe3JldHVybiBlLmZvbnRDaGFyQ29kZS10LmZvbnRDaGFyQ29kZX0pKTtjb25zdCBzPVtdLHI9YS5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxyOyl7Y29uc3QgdD1hW2VdLmZvbnRDaGFyQ29kZSxpPVthW2VdLmdseXBoSWRdOysrZTtsZXQgbj10O2Zvcig7ZTxyJiZuKzE9PT1hW2VdLmZvbnRDaGFyQ29kZTspe2kucHVzaChhW2VdLmdseXBoSWQpOysrbjsrK2U7aWYoNjU1MzU9PT1uKWJyZWFrfXMucHVzaChbdCxuLGldKX1yZXR1cm4gc30oZSx0LGkpLHM9YS5hdCgtMSlbMV0+NjU1MzU/MjoxO2xldCByLG4sZyxvLGM9IlwwXDAiK3N0cmluZzE2KHMpKyJcMANcMAEiK3N0cmluZzMyKDQrOCpzKTtmb3Iocj1hLmxlbmd0aC0xO3I+PTAmJiEoYVtyXVswXTw9NjU1MzUpOy0tcik7Y29uc3QgQz1yKzE7YVtyXVswXTw2NTUzNSYmNjU1MzU9PT1hW3JdWzFdJiYoYVtyXVsxXT02NTUzNCk7Y29uc3QgaD1hW3JdWzFdPDY1NTM1PzE6MCxsPUMraCxRPU9wZW5UeXBlRmlsZUJ1aWxkZXIuZ2V0U2VhcmNoUGFyYW1zKGwsMik7bGV0IEUsdSxkLGYscD0iIixtPSIiLHk9IiIsdz0iIixEPSIiLGI9MDtmb3Iocj0wLG49QztyPG47cisrKXtFPWFbcl07dT1FWzBdO2Q9RVsxXTtwKz1zdHJpbmcxNih1KTttKz1zdHJpbmcxNihkKTtmPUVbMl07bGV0IGU9ITA7Zm9yKGc9MSxvPWYubGVuZ3RoO2c8bzsrK2cpaWYoZltnXSE9PWZbZy0xXSsxKXtlPSExO2JyZWFrfWlmKGUpe3krPXN0cmluZzE2KGZbMF0tdSY2NTUzNSk7dys9c3RyaW5nMTYoMCl9ZWxzZXtjb25zdCBlPTIqKGwtcikrMipiO2IrPWQtdSsxO3krPXN0cmluZzE2KDApO3crPXN0cmluZzE2KGUpO2ZvcihnPTAsbz1mLmxlbmd0aDtnPG87KytnKUQrPXN0cmluZzE2KGZbZ10pfX1pZihoPjApe20rPSLDv8O/IjtwKz0iw7/DvyI7eSs9IlwwASI7dys9IlwwXDAifWNvbnN0IEY9IlwwXDAiK3N0cmluZzE2KDIqbCkrc3RyaW5nMTYoUS5yYW5nZSkrc3RyaW5nMTYoUS5lbnRyeSkrc3RyaW5nMTYoUS5yYW5nZVNoaWZ0KSttKyJcMFwwIitwK3krdytEO2xldCBTPSIiLGs9IiI7aWYocz4xKXtjKz0iXDADXDBcbiIrc3RyaW5nMzIoNCs4KnMrNCtGLmxlbmd0aCk7Uz0iIjtmb3Iocj0wLG49YS5sZW5ndGg7cjxuO3IrKyl7RT1hW3JdO3U9RVswXTtmPUVbMl07bGV0IGU9ZlswXTtmb3IoZz0xLG89Zi5sZW5ndGg7ZzxvOysrZylpZihmW2ddIT09ZltnLTFdKzEpe2Q9RVswXStnLTE7Uys9c3RyaW5nMzIodSkrc3RyaW5nMzIoZCkrc3RyaW5nMzIoZSk7dT1kKzE7ZT1mW2ddfVMrPXN0cmluZzMyKHUpK3N0cmluZzMyKEVbMV0pK3N0cmluZzMyKGUpfWs9IlwwXGZcMFwwIitzdHJpbmczMihTLmxlbmd0aCsxNikrIlwwXDBcMFwwIitzdHJpbmczMihTLmxlbmd0aC8xMil9cmV0dXJuIGMrIlwwBCIrc3RyaW5nMTYoRi5sZW5ndGgrNCkrRitrK1N9ZnVuY3Rpb24gY3JlYXRlT1MyVGFibGUoZSx0LGkpe2l8fD17dW5pdHNQZXJFbTowLHlNYXg6MCx5TWluOjAsYXNjZW50OjAsZGVzY2VudDowfTtsZXQgYT0wLHM9MCxyPTAsbj0wLGc9bnVsbCxvPTAsYz0tMTtpZih0KXtmb3IobGV0IGUgaW4gdCl7ZXw9MDsoZz5lfHwhZykmJihnPWUpO288ZSYmKG89ZSk7Yz1nZXRVbmljb2RlUmFuZ2VGb3IoZSxjKTtpZihjPDMyKWF8PTE8PGM7ZWxzZSBpZihjPDY0KXN8PTE8PGMtMzI7ZWxzZSBpZihjPDk2KXJ8PTE8PGMtNjQ7ZWxzZXtpZighKGM8MTIzKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVuaWNvZGUgcmFuZ2VzIEJpdHMgPiAxMjMgYXJlIHJlc2VydmVkIGZvciBpbnRlcm5hbCB1c2FnZSIpO258PTE8PGMtOTZ9fW8+NjU1MzUmJihvPTY1NTM1KX1lbHNle2c9MDtvPTI1NX1jb25zdCBDPWUuYmJveHx8WzAsMCwwLDBdLGg9aS51bml0c1BlckVtfHwoZS5mb250TWF0cml4PzEvTWF0aC5tYXgoLi4uZS5mb250TWF0cml4LnNsaWNlKDAsNCkubWFwKE1hdGguYWJzKSk6MWUzKSxsPWUuYXNjZW50U2NhbGVkPzE6aC91YSxRPWkuYXNjZW50fHxNYXRoLnJvdW5kKGwqKGUuYXNjZW50fHxDWzNdKSk7bGV0IEU9aS5kZXNjZW50fHxNYXRoLnJvdW5kKGwqKGUuZGVzY2VudHx8Q1sxXSkpO0U+MCYmZS5kZXNjZW50PjAmJkNbMV08MCYmKEU9LUUpO2NvbnN0IHU9aS55TWF4fHxRLGQ9LWkueU1pbnx8LUU7cmV0dXJuIlwwAwIkAcO0XDAFXDBcMALCigLCu1wwXDBcMMKMAsKKAsK7XDBcMAHDn1x4MDAxAQJcMFwwXDBcMAYiK1N0cmluZy5mcm9tQ2hhckNvZGUoZS5maXhlZFBpdGNoPzk6MCkrIlwwXDBcMFwwXDBcMCIrc3RyaW5nMzIoYSkrc3RyaW5nMzIocykrc3RyaW5nMzIocikrc3RyaW5nMzIobikrIioyMSoiK3N0cmluZzE2KGUuaXRhbGljQW5nbGU/MTowKStzdHJpbmcxNihnfHxlLmZpcnN0Q2hhcikrc3RyaW5nMTYob3x8ZS5sYXN0Q2hhcikrc3RyaW5nMTYoUSkrc3RyaW5nMTYoRSkrIlwwZCIrc3RyaW5nMTYodSkrc3RyaW5nMTYoZCkrIlwwXDBcMFwwXDBcMFwwXDAiK3N0cmluZzE2KGUueEhlaWdodCkrc3RyaW5nMTYoZS5jYXBIZWlnaHQpK3N0cmluZzE2KDApK3N0cmluZzE2KGd8fGUuZmlyc3RDaGFyKSsiXDADIn1mdW5jdGlvbiBjcmVhdGVQb3N0VGFibGUoZSl7cmV0dXJuIlwwA1wwXDAiK3N0cmluZzMyKE1hdGguZmxvb3IoNjU1MzYqZS5pdGFsaWNBbmdsZSkpKyJcMFwwXDBcMCIrc3RyaW5nMzIoZS5maXhlZFBpdGNoPzE6MCkrIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwIn1mdW5jdGlvbiBjcmVhdGVQb3N0c2NyaXB0TmFtZShlKXtyZXR1cm4gZS5yZXBsYWNlQWxsKC9bXlx4MjEtXHg3RV18W1tcXSgpe308Pi8lXS9nLCIiKS5zbGljZSgwLDYzKX1mdW5jdGlvbiBjcmVhdGVOYW1lVGFibGUoZSx0KXt0fHwodD1bW10sW11dKTtjb25zdCBpPVt0WzBdWzBdfHwiT3JpZ2luYWwgbGljZW5jZSIsdFswXVsxXXx8ZSx0WzBdWzJdfHwiVW5rbm93biIsdFswXVszXXx8InVuaXF1ZUlEIix0WzBdWzRdfHxlLHRbMF1bNV18fCJWZXJzaW9uIDAuMTEiLHRbMF1bNl18fGNyZWF0ZVBvc3RzY3JpcHROYW1lKGUpLHRbMF1bN118fCJVbmtub3duIix0WzBdWzhdfHwiVW5rbm93biIsdFswXVs5XXx8IlVua25vd24iXSxhPVtdO2xldCBzLHIsbixnLG87Zm9yKHM9MCxyPWkubGVuZ3RoO3M8cjtzKyspe289dFsxXVtzXXx8aVtzXTtjb25zdCBlPVtdO2ZvcihuPTAsZz1vLmxlbmd0aDtuPGc7bisrKWUucHVzaChzdHJpbmcxNihvLmNoYXJDb2RlQXQobikpKTthLnB1c2goZS5qb2luKCIiKSl9Y29uc3QgYz1baSxhXSxDPVsiXDABIiwiXDADIl0saD1bIlwwXDAiLCJcMAEiXSxsPVsiXDBcMCIsIgRcdCJdLFE9aS5sZW5ndGgqQy5sZW5ndGg7bGV0IEU9IlwwXDAiK3N0cmluZzE2KFEpK3N0cmluZzE2KDEyKlErNiksdT0wO2ZvcihzPTAscj1DLmxlbmd0aDtzPHI7cysrKXtjb25zdCBlPWNbc107Zm9yKG49MCxnPWUubGVuZ3RoO248ZztuKyspe289ZVtuXTtFKz1DW3NdK2hbc10rbFtzXStzdHJpbmcxNihuKStzdHJpbmcxNihvLmxlbmd0aCkrc3RyaW5nMTYodSk7dSs9by5sZW5ndGh9fUUrPWkuam9pbigiIikrYS5qb2luKCIiKTtyZXR1cm4gRX1jbGFzcyBGb250e2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLm5hbWU9ZTt0aGlzLnBzTmFtZT1udWxsO3RoaXMubWltZXR5cGU9bnVsbDt0aGlzLmRpc2FibGVGb250RmFjZT0hMTt0aGlzLmxvYWRlZE5hbWU9aS5sb2FkZWROYW1lO3RoaXMuaXNUeXBlM0ZvbnQ9aS5pc1R5cGUzRm9udDt0aGlzLm1pc3NpbmdGaWxlPSExO3RoaXMuY3NzRm9udEluZm89aS5jc3NGb250SW5mbzt0aGlzLl9jaGFyc0NhY2hlPU9iamVjdC5jcmVhdGUobnVsbCk7dGhpcy5fZ2x5cGhDYWNoZT1PYmplY3QuY3JlYXRlKG51bGwpO2xldCBhPSEhKGkuZmxhZ3MmT2kpO2lmKCFhJiYhaS5pc1NpbXVsYXRlZEZsYWdzKXtjb25zdCB0PWUucmVwbGFjZUFsbCgvWyxfXS9nLCItIikuc3BsaXQoIi0iLDEpWzBdLGk9X2koKTtmb3IoY29uc3QgZSBvZiB0LnNwbGl0KCIrIikpaWYoaVtlXSl7YT0hMDticmVha319dGhpcy5pc1NlcmlmRm9udD1hO3RoaXMuaXNTeW1ib2xpY0ZvbnQ9ISEoaS5mbGFncyZQaSk7dGhpcy5pc01vbm9zcGFjZT0hIShpLmZsYWdzJnFpKTtsZXR7dHlwZTpzLHN1YnR5cGU6cn09aTt0aGlzLnR5cGU9czt0aGlzLnN1YnR5cGU9cjt0aGlzLnN5c3RlbUZvbnRJbmZvPWkuc3lzdGVtRm9udEluZm87Y29uc3Qgbj1lLm1hdGNoKC9eSW52YWxpZFBERmpzRm9udF8oLiopX1xkKyQvKTt0aGlzLmlzSW52YWxpZFBERmpzRm9udD0hIW47dGhpcy5pc0ludmFsaWRQREZqc0ZvbnQ/dGhpcy5mYWxsYmFja05hbWU9blsxXTp0aGlzLmlzTW9ub3NwYWNlP3RoaXMuZmFsbGJhY2tOYW1lPSJtb25vc3BhY2UiOnRoaXMuaXNTZXJpZkZvbnQ/dGhpcy5mYWxsYmFja05hbWU9InNlcmlmIjp0aGlzLmZhbGxiYWNrTmFtZT0ic2Fucy1zZXJpZiI7aWYodGhpcy5zeXN0ZW1Gb250SW5mbz8uZ3Vlc3NGYWxsYmFjayl7dGhpcy5zeXN0ZW1Gb250SW5mby5ndWVzc0ZhbGxiYWNrPSExO3RoaXMuc3lzdGVtRm9udEluZm8uY3NzKz1gLCR7dGhpcy5mYWxsYmFja05hbWV9YH10aGlzLmRpZmZlcmVuY2VzPWkuZGlmZmVyZW5jZXM7dGhpcy53aWR0aHM9aS53aWR0aHM7dGhpcy5kZWZhdWx0V2lkdGg9aS5kZWZhdWx0V2lkdGg7dGhpcy5jb21wb3NpdGU9aS5jb21wb3NpdGU7dGhpcy5jTWFwPWkuY01hcDt0aGlzLmNhcEhlaWdodD1pLmNhcEhlaWdodC91YTt0aGlzLmFzY2VudD1pLmFzY2VudC91YTt0aGlzLmRlc2NlbnQ9aS5kZXNjZW50L3VhO3RoaXMubGluZUhlaWdodD10aGlzLmFzY2VudC10aGlzLmRlc2NlbnQ7dGhpcy5mb250TWF0cml4PWkuZm9udE1hdHJpeDt0aGlzLmJib3g9aS5iYm94O3RoaXMuZGVmYXVsdEVuY29kaW5nPWkuZGVmYXVsdEVuY29kaW5nO3RoaXMudG9Vbmljb2RlPWkudG9Vbmljb2RlO3RoaXMudG9Gb250Q2hhcj1bXTtpZigiVHlwZTMiPT09aS50eXBlKXtmb3IobGV0IGU9MDtlPDI1NjtlKyspdGhpcy50b0ZvbnRDaGFyW2VdPXRoaXMuZGlmZmVyZW5jZXNbZV18fGkuZGVmYXVsdEVuY29kaW5nW2VdO3JldHVybn10aGlzLmNpZEVuY29kaW5nPWkuY2lkRW5jb2Rpbmd8fCIiO3RoaXMudmVydGljYWw9ISFpLnZlcnRpY2FsO2lmKHRoaXMudmVydGljYWwpe3RoaXMudm1ldHJpY3M9aS52bWV0cmljczt0aGlzLmRlZmF1bHRWTWV0cmljcz1pLmRlZmF1bHRWTWV0cmljc31pZighdHx8dC5pc0VtcHR5KXt0JiZ3YXJuKCdGb250IGZpbGUgaXMgZW1wdHkgaW4gIicrZSsnIiAoJyt0aGlzLmxvYWRlZE5hbWUrIikiKTt0aGlzLmZhbGxiYWNrVG9TeXN0ZW1Gb250KGkpO3JldHVybn1bcyxyXT1nZXRGb250RmlsZVR5cGUodCxpKTtzPT09dGhpcy50eXBlJiZyPT09dGhpcy5zdWJ0eXBlfHxpbmZvKGBJbmNvbnNpc3RlbnQgZm9udCBmaWxlIFR5cGUvU3ViVHlwZSwgZXhwZWN0ZWQ6ICR7dGhpcy50eXBlfS8ke3RoaXMuc3VidHlwZX0gYnV0IGZvdW5kOiAke3N9LyR7cn0uYCk7bGV0IGc7dHJ5e3N3aXRjaChzKXtjYXNlIk1NVHlwZTEiOmluZm8oIk1NVHlwZTEgZm9udCAoIitlKyIpLCBmYWxsaW5nIGJhY2sgdG8gVHlwZTEuIik7Y2FzZSJUeXBlMSI6Y2FzZSJDSURGb250VHlwZTAiOnRoaXMubWltZXR5cGU9ImZvbnQvb3BlbnR5cGUiO2NvbnN0IGE9IlR5cGUxQyI9PT1yfHwiQ0lERm9udFR5cGUwQyI9PT1yP25ldyBDRkZGb250KHQsaSk6bmV3IFR5cGUxRm9udChlLHQsaSk7YWRqdXN0V2lkdGhzKGkpO2c9dGhpcy5jb252ZXJ0KGUsYSxpKTticmVhaztjYXNlIk9wZW5UeXBlIjpjYXNlIlRydWVUeXBlIjpjYXNlIkNJREZvbnRUeXBlMiI6dGhpcy5taW1ldHlwZT0iZm9udC9vcGVudHlwZSI7Zz10aGlzLmNoZWNrQW5kUmVwYWlyKGUsdCxpKTtpZih0aGlzLmlzT3BlblR5cGUpe2FkanVzdFdpZHRocyhpKTtzPSJPcGVuVHlwZSJ9YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEZvbnQgJHtzfSBpcyBub3Qgc3VwcG9ydGVkYCl9fWNhdGNoKGUpe3dhcm4oZSk7dGhpcy5mYWxsYmFja1RvU3lzdGVtRm9udChpKTtyZXR1cm59YW1lbmRGYWxsYmFja1RvVW5pY29kZShpKTt0aGlzLmRhdGE9Zzt0aGlzLnR5cGU9czt0aGlzLnN1YnR5cGU9cjt0aGlzLmZvbnRNYXRyaXg9aS5mb250TWF0cml4O3RoaXMud2lkdGhzPWkud2lkdGhzO3RoaXMuZGVmYXVsdFdpZHRoPWkuZGVmYXVsdFdpZHRoO3RoaXMudG9Vbmljb2RlPWkudG9Vbmljb2RlO3RoaXMuc2VhY01hcD1pLnNlYWNNYXB9Z2V0IHJlbmRlcmVyKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJyZW5kZXJlciIsRm9udFJlbmRlcmVyRmFjdG9yeS5jcmVhdGUodGhpcyxUaSkpfWV4cG9ydERhdGEoZT0hMSl7Y29uc3QgdD1lP1suLi5kYSwuLi5mYV06ZGEsaT1PYmplY3QuY3JlYXRlKG51bGwpO2xldCBhLHM7Zm9yKGEgb2YgdCl7cz10aGlzW2FdO3ZvaWQgMCE9PXMmJihpW2FdPXMpfXJldHVybiBpfWZhbGxiYWNrVG9TeXN0ZW1Gb250KGUpe3RoaXMubWlzc2luZ0ZpbGU9ITA7Y29uc3R7bmFtZTp0LHR5cGU6aX09dGhpcztsZXQgYT1ub3JtYWxpemVGb250TmFtZSh0KTtjb25zdCBzPVppKCkscj16aSgpLG49ISFzW2FdLGc9ISghclthXXx8IXNbclthXV0pO2E9c1thXXx8clthXXx8YTtjb25zdCBvPXNhKClbYV07aWYobyl7aXNOYU4odGhpcy5hc2NlbnQpJiYodGhpcy5hc2NlbnQ9by5hc2NlbnQvdWEpO2lzTmFOKHRoaXMuZGVzY2VudCkmJih0aGlzLmRlc2NlbnQ9by5kZXNjZW50L3VhKTtpc05hTih0aGlzLmNhcEhlaWdodCkmJih0aGlzLmNhcEhlaWdodD1vLmNhcEhlaWdodC91YSl9dGhpcy5ib2xkPS9ib2xkL2dpLnRlc3QoYSk7dGhpcy5pdGFsaWM9L29ibGlxdWV8aXRhbGljL2dpLnRlc3QoYSk7dGhpcy5ibGFjaz0vQmxhY2svZy50ZXN0KHQpO2NvbnN0IGM9L05hcnJvdy9nLnRlc3QodCk7dGhpcy5yZW1lYXN1cmU9KCFufHxjKSYmT2JqZWN0LmtleXModGhpcy53aWR0aHMpLmxlbmd0aD4wO2lmKChufHxnKSYmIkNJREZvbnRUeXBlMiI9PT1pJiZ0aGlzLmNpZEVuY29kaW5nLnN0YXJ0c1dpdGgoIklkZW50aXR5LSIpKXtjb25zdCBpPWUuY2lkVG9HaWRNYXAsYT1bXTthcHBseVN0YW5kYXJkRm9udEdseXBoTWFwKGEsQWEoKSk7L0FyaWFsLT9CbGFjay9pLnRlc3QodCk/YXBwbHlTdGFuZGFyZEZvbnRHbHlwaE1hcChhLGVhKCkpOi9DYWxpYnJpL2kudGVzdCh0KSYmYXBwbHlTdGFuZGFyZEZvbnRHbHlwaE1hcChhLHRhKCkpO2lmKGkpe2Zvcihjb25zdCBlIGluIGEpe2NvbnN0IHQ9YVtlXTt2b2lkIDAhPT1pW3RdJiYoYVsrZV09aVt0XSl9aS5sZW5ndGghPT10aGlzLnRvVW5pY29kZS5sZW5ndGgmJmUuaGFzSW5jbHVkZWRUb1VuaWNvZGVNYXAmJnRoaXMudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXAmJnRoaXMudG9Vbmljb2RlLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgcz1hW2VdO3ZvaWQgMD09PWlbc10mJihhWytlXT10KX0pKX10aGlzLnRvVW5pY29kZSBpbnN0YW5jZW9mIElkZW50aXR5VG9Vbmljb2RlTWFwfHx0aGlzLnRvVW5pY29kZS5mb3JFYWNoKChmdW5jdGlvbihlLHQpe2FbK2VdPXR9KSk7dGhpcy50b0ZvbnRDaGFyPWE7dGhpcy50b1VuaWNvZGU9bmV3IFRvVW5pY29kZU1hcChhKX1lbHNlIGlmKC9TeW1ib2wvaS50ZXN0KGEpKXRoaXMudG9Gb250Q2hhcj1idWlsZFRvRm9udENoYXIoRGksTWkoKSx0aGlzLmRpZmZlcmVuY2VzKTtlbHNlIGlmKC9EaW5nYmF0cy9pLnRlc3QoYSkpdGhpcy50b0ZvbnRDaGFyPWJ1aWxkVG9Gb250Q2hhcihiaSxIaSgpLHRoaXMuZGlmZmVyZW5jZXMpO2Vsc2UgaWYobnx8Zyl7Y29uc3QgZT1idWlsZFRvRm9udENoYXIodGhpcy5kZWZhdWx0RW5jb2RpbmcsTWkoKSx0aGlzLmRpZmZlcmVuY2VzKTsiQ0lERm9udFR5cGUyIiE9PWl8fHRoaXMuY2lkRW5jb2Rpbmcuc3RhcnRzV2l0aCgiSWRlbnRpdHktIil8fHRoaXMudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXB8fHRoaXMudG9Vbmljb2RlLmZvckVhY2goKGZ1bmN0aW9uKHQsaSl7ZVsrdF09aX0pKTt0aGlzLnRvRm9udENoYXI9ZX1lbHNle2NvbnN0IGU9TWkoKSxpPVtdO3RoaXMudG9Vbmljb2RlLmZvckVhY2goKCh0LGEpPT57aWYoIXRoaXMuY29tcG9zaXRlKXtjb25zdCBpPWdldFVuaWNvZGVGb3JHbHlwaCh0aGlzLmRpZmZlcmVuY2VzW3RdfHx0aGlzLmRlZmF1bHRFbmNvZGluZ1t0XSxlKTstMSE9PWkmJihhPWkpfWlbK3RdPWF9KSk7dGhpcy5jb21wb3NpdGUmJnRoaXMudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXAmJi9UYWhvbWF8VmVyZGFuYS9pLnRlc3QodCkmJmFwcGx5U3RhbmRhcmRGb250R2x5cGhNYXAoaSxBYSgpKTt0aGlzLnRvRm9udENoYXI9aX1hbWVuZEZhbGxiYWNrVG9Vbmljb2RlKGUpO3RoaXMubG9hZGVkTmFtZT1hLnNwbGl0KCItIiwxKVswXX1jaGVja0FuZFJlcGFpcihlLHQsaSl7Y29uc3QgYT1bIk9TLzIiLCJjbWFwIiwiaGVhZCIsImhoZWEiLCJobXR4IiwibWF4cCIsIm5hbWUiLCJwb3N0IiwibG9jYSIsImdseWYiLCJmcGdtIiwicHJlcCIsImN2dCAiLCJDRkYgIl07ZnVuY3Rpb24gcmVhZFRhYmxlcyhlLHQpe2NvbnN0IGk9T2JqZWN0LmNyZWF0ZShudWxsKTtpWyJPUy8yIl09bnVsbDtpLmNtYXA9bnVsbDtpLmhlYWQ9bnVsbDtpLmhoZWE9bnVsbDtpLmhtdHg9bnVsbDtpLm1heHA9bnVsbDtpLm5hbWU9bnVsbDtpLnBvc3Q9bnVsbDtmb3IobGV0IHM9MDtzPHQ7cysrKXtjb25zdCB0PXJlYWRUYWJsZUVudHJ5KGUpO2EuaW5jbHVkZXModC50YWcpJiYoMCE9PXQubGVuZ3RoJiYoaVt0LnRhZ109dCkpfXJldHVybiBpfWZ1bmN0aW9uIHJlYWRUYWJsZUVudHJ5KGUpe2NvbnN0IHQ9ZS5nZXRTdHJpbmcoNCksaT1lLmdldEludDMyKCk+Pj4wLGE9ZS5nZXRJbnQzMigpPj4+MCxzPWUuZ2V0SW50MzIoKT4+PjAscj1lLnBvcztlLnBvcz1lLnN0YXJ0fHwwO2Uuc2tpcChhKTtjb25zdCBuPWUuZ2V0Qnl0ZXMocyk7ZS5wb3M9cjtpZigiaGVhZCI9PT10KXtuWzhdPW5bOV09blsxMF09blsxMV09MDtuWzE3XXw9MzJ9cmV0dXJue3RhZzp0LGNoZWNrc3VtOmksbGVuZ3RoOnMsb2Zmc2V0OmEsZGF0YTpufX1mdW5jdGlvbiByZWFkT3BlblR5cGVIZWFkZXIoZSl7cmV0dXJue3ZlcnNpb246ZS5nZXRTdHJpbmcoNCksbnVtVGFibGVzOmUuZ2V0VWludDE2KCksc2VhcmNoUmFuZ2U6ZS5nZXRVaW50MTYoKSxlbnRyeVNlbGVjdG9yOmUuZ2V0VWludDE2KCkscmFuZ2VTaGlmdDplLmdldFVpbnQxNigpfX1mdW5jdGlvbiBzYW5pdGl6ZUdseXBoKGUsdCxpLGEscyxyKXtjb25zdCBuPXtsZW5ndGg6MCxzaXplT2ZJbnN0cnVjdGlvbnM6MH07aWYodDwwfHx0Pj1lLmxlbmd0aHx8aT5lLmxlbmd0aHx8aS10PD0xMilyZXR1cm4gbjtjb25zdCBnPWUuc3ViYXJyYXkodCxpKSxvPXNpZ25lZEludDE2KGdbMl0sZ1szXSksYz1zaWduZWRJbnQxNihnWzRdLGdbNV0pLEM9c2lnbmVkSW50MTYoZ1s2XSxnWzddKSxoPXNpZ25lZEludDE2KGdbOF0sZ1s5XSk7aWYobz5DKXt3cml0ZVNpZ25lZEludDE2KGcsMixDKTt3cml0ZVNpZ25lZEludDE2KGcsNixvKX1pZihjPmgpe3dyaXRlU2lnbmVkSW50MTYoZyw0LGgpO3dyaXRlU2lnbmVkSW50MTYoZyw4LGMpfWNvbnN0IGw9c2lnbmVkSW50MTYoZ1swXSxnWzFdKTtpZihsPDApe2lmKGw8LTEpcmV0dXJuIG47YS5zZXQoZyxzKTtuLmxlbmd0aD1nLmxlbmd0aDtyZXR1cm4gbn1sZXQgUSxFPTEwLHU9MDtmb3IoUT0wO1E8bDtRKyspe3U9KGdbRV08PDh8Z1tFKzFdKSsxO0UrPTJ9Y29uc3QgZD1FLGY9Z1tFXTw8OHxnW0UrMV07bi5zaXplT2ZJbnN0cnVjdGlvbnM9ZjtFKz0yK2Y7Y29uc3QgcD1FO2xldCBtPTA7Zm9yKFE9MDtRPHU7USsrKXtjb25zdCBlPWdbRSsrXTsxOTImZSYmKGdbRS0xXT02MyZlKTtsZXQgdD0yOzImZT90PTE6MTYmZSYmKHQ9MCk7bGV0IGk9Mjs0JmU/aT0xOjMyJmUmJihpPTApO2NvbnN0IGE9dCtpO20rPWE7aWYoOCZlKXtjb25zdCBlPWdbRSsrXTswPT09ZSYmKGdbRS0xXV49OCk7USs9ZTttKz1lKmF9fWlmKDA9PT1tKXJldHVybiBuO2xldCB5PUUrbTtpZih5PmcubGVuZ3RoKXJldHVybiBuO2lmKCFyJiZmPjApe2Euc2V0KGcuc3ViYXJyYXkoMCxkKSxzKTthLnNldChbMCwwXSxzK2QpO2Euc2V0KGcuc3ViYXJyYXkocCx5KSxzK2QrMik7eS09ZjtnLmxlbmd0aC15PjMmJih5PXkrMyYtNCk7bi5sZW5ndGg9eTtyZXR1cm4gbn1pZihnLmxlbmd0aC15PjMpe3k9eSszJi00O2Euc2V0KGcuc3ViYXJyYXkoMCx5KSxzKTtuLmxlbmd0aD15O3JldHVybiBufWEuc2V0KGcscyk7bi5sZW5ndGg9Zy5sZW5ndGg7cmV0dXJuIG59ZnVuY3Rpb24gcmVhZE5hbWVUYWJsZShlKXtjb25zdCBpPSh0LnN0YXJ0fHwwKStlLm9mZnNldDt0LnBvcz1pO2NvbnN0IGE9W1tdLFtdXSxzPVtdLHI9ZS5sZW5ndGgsbj1pK3I7aWYoMCE9PXQuZ2V0VWludDE2KCl8fHI8NilyZXR1cm5bYSxzXTtjb25zdCBnPXQuZ2V0VWludDE2KCksbz10LmdldFVpbnQxNigpO2xldCBjLEM7Zm9yKGM9MDtjPGcmJnQucG9zKzEyPD1uO2MrKyl7Y29uc3QgZT17cGxhdGZvcm06dC5nZXRVaW50MTYoKSxlbmNvZGluZzp0LmdldFVpbnQxNigpLGxhbmd1YWdlOnQuZ2V0VWludDE2KCksbmFtZTp0LmdldFVpbnQxNigpLGxlbmd0aDp0LmdldFVpbnQxNigpLG9mZnNldDp0LmdldFVpbnQxNigpfTsoaXNNYWNOYW1lUmVjb3JkKGUpfHxpc1dpbk5hbWVSZWNvcmQoZSkpJiZzLnB1c2goZSl9Zm9yKGM9MCxDPXMubGVuZ3RoO2M8QztjKyspe2NvbnN0IGU9c1tjXTtpZihlLmxlbmd0aDw9MCljb250aW51ZTtjb25zdCByPWkrbytlLm9mZnNldDtpZihyK2UubGVuZ3RoPm4pY29udGludWU7dC5wb3M9cjtjb25zdCBnPWUubmFtZTtpZihlLmVuY29kaW5nKXtsZXQgaT0iIjtmb3IobGV0IGE9MCxzPWUubGVuZ3RoO2E8czthKz0yKWkrPVN0cmluZy5mcm9tQ2hhckNvZGUodC5nZXRVaW50MTYoKSk7YVsxXVtnXT1pfWVsc2UgYVswXVtnXT10LmdldFN0cmluZyhlLmxlbmd0aCl9cmV0dXJuW2Esc119Y29uc3Qgcz1bMCwwLDAsMCwwLDAsMCwwLC0yLC0yLC0yLC0yLDAsMCwtMiwtNSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwwLDAsLTEsMCwtMSwtMSwtMSwtMSwxLC0xLC05OTksMCwxLDAsLTEsLTIsMCwtMSwtMiwtMSwtMSwwLC0xLC0xLDAsMCwtOTk5LC05OTksLTEsLTEsLTEsLTEsLTIsLTk5OSwtMiwtMiwtOTk5LDAsLTIsLTIsMCwwLC0yLDAsLTIsMCwwLDAsLTIsLTEsLTEsMSwxLDAsMCwtMSwtMSwtMSwtMSwtMSwtMSwtMSwwLDAsLTEsMCwtMSwtMSwwLC05OTksLTEsLTEsLTEsLTEsLTEsLTEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsLTIsLTk5OSwtOTk5LC05OTksLTk5OSwtOTk5LC0xLC0xLC0yLC0yLDAsMCwwLDAsLTEsLTEsLTk5OSwtMiwtMiwwLDAsLTEsLTIsLTIsMCwwLDAsLTEsLTEsLTEsLTJdO2Z1bmN0aW9uIHNhbml0aXplVFRQcm9ncmFtKGUsdCl7bGV0IGksYSxyLG4sZyxvPWUuZGF0YSxjPTAsQz0wLGg9MDtjb25zdCBsPVtdLFE9W10sRT1bXTtsZXQgdT10LnRvb0NvbXBsZXhUb0ZvbGxvd0Z1bmN0aW9ucyxkPSExLGY9MCxwPTA7Zm9yKGxldCBlPW8ubGVuZ3RoO2M8ZTspe2NvbnN0IGU9b1tjKytdO2lmKDY0PT09ZSl7YT1vW2MrK107aWYoZHx8cCljKz1hO2Vsc2UgZm9yKGk9MDtpPGE7aSsrKWwucHVzaChvW2MrK10pfWVsc2UgaWYoNjU9PT1lKXthPW9bYysrXTtpZihkfHxwKWMrPTIqYTtlbHNlIGZvcihpPTA7aTxhO2krKyl7cj1vW2MrK107bC5wdXNoKHI8PDh8b1tjKytdKX19ZWxzZSBpZigxNzY9PSgyNDgmZSkpe2E9ZS0xNzYrMTtpZihkfHxwKWMrPWE7ZWxzZSBmb3IoaT0wO2k8YTtpKyspbC5wdXNoKG9bYysrXSl9ZWxzZSBpZigxODQ9PSgyNDgmZSkpe2E9ZS0xODQrMTtpZihkfHxwKWMrPTIqYTtlbHNlIGZvcihpPTA7aTxhO2krKyl7cj1vW2MrK107bC5wdXNoKHNpZ25lZEludDE2KHIsb1tjKytdKSl9fWVsc2UgaWYoNDMhPT1lfHx1KWlmKDQ0IT09ZXx8dSl7aWYoNDU9PT1lKWlmKGQpe2Q9ITE7Qz1jfWVsc2V7Zz1RLnBvcCgpO2lmKCFnKXt3YXJuKCJUVDogRU5ERiBiYWQgc3RhY2siKTt0LmhpbnRzVmFsaWQ9ITE7cmV0dXJufW49RS5wb3AoKTtvPWcuZGF0YTtjPWcuaTt0LmZ1bmN0aW9uc1N0YWNrRGVsdGFzW25dPWwubGVuZ3RoLWcuc3RhY2tUb3B9ZWxzZSBpZigxMzc9PT1lKXtpZihkfHxwKXt3YXJuKCJUVDogbmVzdGVkIElERUZzIG5vdCBhbGxvd2VkIik7dT0hMH1kPSEwO2g9Y31lbHNlIGlmKDg4PT09ZSkrK2Y7ZWxzZSBpZigyNz09PWUpcD1mO2Vsc2UgaWYoODk9PT1lKXtwPT09ZiYmKHA9MCk7LS1mfWVsc2UgaWYoMjg9PT1lJiYhZCYmIXApe2NvbnN0IGU9bC5hdCgtMSk7ZT4wJiYoYys9ZS0xKX19ZWxzZXtpZihkfHxwKXt3YXJuKCJUVDogbmVzdGVkIEZERUZzIG5vdCBhbGxvd2VkIik7dT0hMH1kPSEwO2g9YztuPWwucG9wKCk7dC5mdW5jdGlvbnNEZWZpbmVkW25dPXtkYXRhOm8saTpjfX1lbHNlIGlmKCFkJiYhcCl7bj1sLmF0KC0xKTtpZihpc05hTihuKSlpbmZvKCJUVDogQ0FMTCBlbXB0eSBzdGFjayAob3IgaW52YWxpZCBlbnRyeSkuIik7ZWxzZXt0LmZ1bmN0aW9uc1VzZWRbbl09ITA7aWYobiBpbiB0LmZ1bmN0aW9uc1N0YWNrRGVsdGFzKXtjb25zdCBlPWwubGVuZ3RoK3QuZnVuY3Rpb25zU3RhY2tEZWx0YXNbbl07aWYoZTwwKXt3YXJuKCJUVDogQ0FMTCBpbnZhbGlkIGZ1bmN0aW9ucyBzdGFjayBkZWx0YS4iKTt0LmhpbnRzVmFsaWQ9ITE7cmV0dXJufWwubGVuZ3RoPWV9ZWxzZSBpZihuIGluIHQuZnVuY3Rpb25zRGVmaW5lZCYmIUUuaW5jbHVkZXMobikpe1EucHVzaCh7ZGF0YTpvLGk6YyxzdGFja1RvcDpsLmxlbmd0aC0xfSk7RS5wdXNoKG4pO2c9dC5mdW5jdGlvbnNEZWZpbmVkW25dO2lmKCFnKXt3YXJuKCJUVDogQ0FMTCBub24tZXhpc3RlbnQgZnVuY3Rpb24iKTt0LmhpbnRzVmFsaWQ9ITE7cmV0dXJufW89Zy5kYXRhO2M9Zy5pfX19aWYoIWQmJiFwKXtsZXQgdD0wO2U8PTE0Mj90PXNbZV06ZT49MTkyJiZlPD0yMjM/dD0tMTplPj0yMjQmJih0PS0yKTtpZihlPj0xMTMmJmU8PTExNyl7YT1sLnBvcCgpO2lzTmFOKGEpfHwodD0yKi1hKX1mb3IoO3Q8MCYmbC5sZW5ndGg+MDspe2wucG9wKCk7dCsrfWZvcig7dD4wOyl7bC5wdXNoKE5hTik7dC0tfX19dC50b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnM9dTtjb25zdCBtPVtvXTtjPm8ubGVuZ3RoJiZtLnB1c2gobmV3IFVpbnQ4QXJyYXkoYy1vLmxlbmd0aCkpO2lmKGg+Qyl7d2FybigiVFQ6IGNvbXBsZW1lbnRpbmcgYSBtaXNzaW5nIGZ1bmN0aW9uIHRhaWwiKTttLnB1c2gobmV3IFVpbnQ4QXJyYXkoWzM0LDQ1XSkpfSFmdW5jdGlvbiBmb2xkVFRUYWJsZShlLHQpe2lmKHQubGVuZ3RoPjEpe2xldCBpLGEscz0wO2ZvcihpPTAsYT10Lmxlbmd0aDtpPGE7aSsrKXMrPXRbaV0ubGVuZ3RoO3M9cyszJi00O2NvbnN0IHI9bmV3IFVpbnQ4QXJyYXkocyk7bGV0IG49MDtmb3IoaT0wLGE9dC5sZW5ndGg7aTxhO2krKyl7ci5zZXQodFtpXSxuKTtuKz10W2ldLmxlbmd0aH1lLmRhdGE9cjtlLmxlbmd0aD1zfX0oZSxtKX1sZXQgcixuLGcsbztpZihpc1RydWVUeXBlQ29sbGVjdGlvbkZpbGUodD1uZXcgU3RyZWFtKG5ldyBVaW50OEFycmF5KHQuZ2V0Qnl0ZXMoKSkpKSl7Y29uc3QgZT1mdW5jdGlvbiByZWFkVHJ1ZVR5cGVDb2xsZWN0aW9uRGF0YShlLHQpe2NvbnN0e251bUZvbnRzOmksb2Zmc2V0VGFibGU6YX09ZnVuY3Rpb24gcmVhZFRydWVUeXBlQ29sbGVjdGlvbkhlYWRlcihlKXtjb25zdCB0PWUuZ2V0U3RyaW5nKDQpO2Fzc2VydCgidHRjZiI9PT10LCJNdXN0IGJlIGEgVHJ1ZVR5cGUgQ29sbGVjdGlvbiBmb250LiIpO2NvbnN0IGk9ZS5nZXRVaW50MTYoKSxhPWUuZ2V0VWludDE2KCkscz1lLmdldEludDMyKCk+Pj4wLHI9W107Zm9yKGxldCB0PTA7dDxzO3QrKylyLnB1c2goZS5nZXRJbnQzMigpPj4+MCk7Y29uc3Qgbj17dHRjVGFnOnQsbWFqb3JWZXJzaW9uOmksbWlub3JWZXJzaW9uOmEsbnVtRm9udHM6cyxvZmZzZXRUYWJsZTpyfTtzd2l0Y2goaSl7Y2FzZSAxOnJldHVybiBuO2Nhc2UgMjpuLmRzaWdUYWc9ZS5nZXRJbnQzMigpPj4+MDtuLmRzaWdMZW5ndGg9ZS5nZXRJbnQzMigpPj4+MDtuLmRzaWdPZmZzZXQ9ZS5nZXRJbnQzMigpPj4+MDtyZXR1cm4gbn10aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgVHJ1ZVR5cGUgQ29sbGVjdGlvbiBtYWpvclZlcnNpb246ICR7aX0uYCl9KGUpLHM9dC5zcGxpdCgiKyIpO2xldCByO2ZvcihsZXQgbj0wO248aTtuKyspe2UucG9zPShlLnN0YXJ0fHwwKSthW25dO2NvbnN0IGk9cmVhZE9wZW5UeXBlSGVhZGVyKGUpLGc9cmVhZFRhYmxlcyhlLGkubnVtVGFibGVzKTtpZighZy5uYW1lKXRocm93IG5ldyBGb3JtYXRFcnJvcignVHJ1ZVR5cGUgQ29sbGVjdGlvbiBmb250IG11c3QgY29udGFpbiBhICJuYW1lIiB0YWJsZS4nKTtjb25zdFtvXT1yZWFkTmFtZVRhYmxlKGcubmFtZSk7Zm9yKGxldCBlPTAsYT1vLmxlbmd0aDtlPGE7ZSsrKWZvcihsZXQgYT0wLG49b1tlXS5sZW5ndGg7YTxuO2ErKyl7Y29uc3Qgbj1vW2VdW2FdPy5yZXBsYWNlQWxsKC9ccy9nLCIiKTtpZihuKXtpZihuPT09dClyZXR1cm57aGVhZGVyOmksdGFibGVzOmd9O2lmKCEocy5sZW5ndGg8MikpZm9yKGNvbnN0IGUgb2YgcyluPT09ZSYmKHI9e25hbWU6ZSxoZWFkZXI6aSx0YWJsZXM6Z30pfX19aWYocil7d2FybihgVHJ1ZVR5cGUgQ29sbGVjdGlvbiBkb2VzIG5vdCBjb250YWluICIke3R9IiBmb250LCBmYWxsaW5nIGJhY2sgdG8gIiR7ci5uYW1lfSIgZm9udCBpbnN0ZWFkLmApO3JldHVybntoZWFkZXI6ci5oZWFkZXIsdGFibGVzOnIudGFibGVzfX10aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFRydWVUeXBlIENvbGxlY3Rpb24gZG9lcyBub3QgY29udGFpbiAiJHt0fSIgZm9udC5gKX0odCx0aGlzLm5hbWUpO3I9ZS5oZWFkZXI7bj1lLnRhYmxlc31lbHNle3I9cmVhZE9wZW5UeXBlSGVhZGVyKHQpO249cmVhZFRhYmxlcyh0LHIubnVtVGFibGVzKX1jb25zdCBjPSFuWyJDRkYgIl07aWYoYyl7aWYoIW4ubG9jYSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ1JlcXVpcmVkICJsb2NhIiB0YWJsZSBpcyBub3QgZm91bmQnKTtpZighbi5nbHlmKXt3YXJuKCdSZXF1aXJlZCAiZ2x5ZiIgdGFibGUgaXMgbm90IGZvdW5kIC0tIHRyeWluZyB0byByZWNvdmVyLicpO24uZ2x5Zj17dGFnOiJnbHlmIixkYXRhOm5ldyBVaW50OEFycmF5KDApfX10aGlzLmlzT3BlblR5cGU9ITF9ZWxzZXtjb25zdCB0PWkuY29tcG9zaXRlJiYoaS5jaWRUb0dpZE1hcD8ubGVuZ3RoPjB8fCEoaS5jTWFwIGluc3RhbmNlb2YgSWRlbnRpdHlDTWFwKSk7aWYoIk9UVE8iPT09ci52ZXJzaW9uJiYhdHx8IW4uaGVhZHx8IW4uaGhlYXx8IW4ubWF4cHx8IW4ucG9zdCl7bz1uZXcgU3RyZWFtKG5bIkNGRiAiXS5kYXRhKTtnPW5ldyBDRkZGb250KG8saSk7YWRqdXN0V2lkdGhzKGkpO3JldHVybiB0aGlzLmNvbnZlcnQoZSxnLGkpfWRlbGV0ZSBuLmdseWY7ZGVsZXRlIG4ubG9jYTtkZWxldGUgbi5mcGdtO2RlbGV0ZSBuLnByZXA7ZGVsZXRlIG5bImN2dCAiXTt0aGlzLmlzT3BlblR5cGU9ITB9aWYoIW4ubWF4cCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ1JlcXVpcmVkICJtYXhwIiB0YWJsZSBpcyBub3QgZm91bmQnKTt0LnBvcz0odC5zdGFydHx8MCkrbi5tYXhwLm9mZnNldDtsZXQgQz10LmdldEludDMyKCk7Y29uc3QgaD10LmdldFVpbnQxNigpO2lmKDY1NTM2IT09QyYmMjA0ODAhPT1DKXtpZig2PT09bi5tYXhwLmxlbmd0aClDPTIwNDgwO2Vsc2V7aWYoIShuLm1heHAubGVuZ3RoPj0zMikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCcibWF4cCIgdGFibGUgaGFzIGEgd3JvbmcgdmVyc2lvbiBudW1iZXInKTtDPTY1NTM2fSFmdW5jdGlvbiB3cml0ZVVpbnQzMihlLHQsaSl7ZVt0KzNdPTI1NSZpO2VbdCsyXT1pPj4+ODtlW3QrMV09aT4+PjE2O2VbdF09aT4+PjI0fShuLm1heHAuZGF0YSwwLEMpfWlmKGkuc2NhbGVGYWN0b3JzPy5sZW5ndGg9PT1oJiZjKXtjb25zdHtzY2FsZUZhY3RvcnM6ZX09aSx0PWludDE2KG4uaGVhZC5kYXRhWzUwXSxuLmhlYWQuZGF0YVs1MV0pLGE9bmV3IEdseWZUYWJsZSh7Z2x5ZlRhYmxlOm4uZ2x5Zi5kYXRhLGlzR2x5cGhMb2NhdGlvbnNMb25nOnQsbG9jYVRhYmxlOm4ubG9jYS5kYXRhLG51bUdseXBoczpofSk7YS5zY2FsZShlKTtjb25zdHtnbHlmOnMsbG9jYTpyLGlzTG9jYXRpb25Mb25nOmd9PWEud3JpdGUoKTtuLmdseWYuZGF0YT1zO24ubG9jYS5kYXRhPXI7aWYoZyE9PSEhdCl7bi5oZWFkLmRhdGFbNTBdPTA7bi5oZWFkLmRhdGFbNTFdPWc/MTowfWNvbnN0IG89bi5obXR4LmRhdGE7Zm9yKGxldCB0PTA7dDxoO3QrKyl7Y29uc3QgaT00KnQsYT1NYXRoLnJvdW5kKGVbdF0qaW50MTYob1tpXSxvW2krMV0pKTtvW2ldPWE+PjgmMjU1O29baSsxXT0yNTUmYTt3cml0ZVNpZ25lZEludDE2KG8saSsyLE1hdGgucm91bmQoZVt0XSpzaWduZWRJbnQxNihvW2krMl0sb1tpKzNdKSkpfX1sZXQgbD1oKzEsUT0hMDtpZihsPjY1NTM1KXtRPSExO2w9aDt3YXJuKCJOb3QgZW5vdWdoIHNwYWNlIGluIGdseWZzIHRvIGR1cGxpY2F0ZSBmaXJzdCBnbHlwaC4iKX1sZXQgRT0wLHU9MDtpZihDPj02NTUzNiYmbi5tYXhwLmxlbmd0aD49MzIpe3QucG9zKz04O2lmKHQuZ2V0VWludDE2KCk+Mil7bi5tYXhwLmRhdGFbMTRdPTA7bi5tYXhwLmRhdGFbMTVdPTJ9dC5wb3MrPTQ7RT10LmdldFVpbnQxNigpO3QucG9zKz00O3U9dC5nZXRVaW50MTYoKX1uLm1heHAuZGF0YVs0XT1sPj44O24ubWF4cC5kYXRhWzVdPTI1NSZsO2NvbnN0IGQ9ZnVuY3Rpb24gc2FuaXRpemVUVFByb2dyYW1zKGUsdCxpLGEpe2NvbnN0IHM9e2Z1bmN0aW9uc0RlZmluZWQ6W10sZnVuY3Rpb25zVXNlZDpbXSxmdW5jdGlvbnNTdGFja0RlbHRhczpbXSx0b29Db21wbGV4VG9Gb2xsb3dGdW5jdGlvbnM6ITEsaGludHNWYWxpZDohMH07ZSYmc2FuaXRpemVUVFByb2dyYW0oZSxzKTt0JiZzYW5pdGl6ZVRUUHJvZ3JhbSh0LHMpO2UmJmZ1bmN0aW9uIGNoZWNrSW52YWxpZEZ1bmN0aW9ucyhlLHQpe2lmKCFlLnRvb0NvbXBsZXhUb0ZvbGxvd0Z1bmN0aW9ucylpZihlLmZ1bmN0aW9uc0RlZmluZWQubGVuZ3RoPnQpe3dhcm4oIlRUOiBtb3JlIGZ1bmN0aW9ucyBkZWZpbmVkIHRoYW4gZXhwZWN0ZWQiKTtlLmhpbnRzVmFsaWQ9ITF9ZWxzZSBmb3IobGV0IGk9MCxhPWUuZnVuY3Rpb25zVXNlZC5sZW5ndGg7aTxhO2krKyl7aWYoaT50KXt3YXJuKCJUVDogaW52YWxpZCBmdW5jdGlvbiBpZDogIitpKTtlLmhpbnRzVmFsaWQ9ITE7cmV0dXJufWlmKGUuZnVuY3Rpb25zVXNlZFtpXSYmIWUuZnVuY3Rpb25zRGVmaW5lZFtpXSl7d2FybigiVFQ6IHVuZGVmaW5lZCBmdW5jdGlvbjogIitpKTtlLmhpbnRzVmFsaWQ9ITE7cmV0dXJufX19KHMsYSk7aWYoaSYmMSZpLmxlbmd0aCl7Y29uc3QgZT1uZXcgVWludDhBcnJheShpLmxlbmd0aCsxKTtlLnNldChpLmRhdGEpO2kuZGF0YT1lfXJldHVybiBzLmhpbnRzVmFsaWR9KG4uZnBnbSxuLnByZXAsblsiY3Z0ICJdLEUpO2lmKCFkKXtkZWxldGUgbi5mcGdtO2RlbGV0ZSBuLnByZXA7ZGVsZXRlIG5bImN2dCAiXX0hZnVuY3Rpb24gc2FuaXRpemVNZXRyaWNzKGUsdCxpLGEscyxyKXtpZighdCl7aSYmKGkuZGF0YT1udWxsKTtyZXR1cm59ZS5wb3M9KGUuc3RhcnR8fDApK3Qub2Zmc2V0O2UucG9zKz00O2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2UucG9zKz0yO2NvbnN0IG49ZS5nZXRVaW50MTYoKTtlLnBvcys9ODtlLnBvcys9MjtsZXQgZz1lLmdldFVpbnQxNigpO2lmKDAhPT1uKXtpZighKDImaW50MTYoYS5kYXRhWzQ0XSxhLmRhdGFbNDVdKSkpe3QuZGF0YVsyMl09MDt0LmRhdGFbMjNdPTB9fWlmKGc+cyl7aW5mbyhgVGhlIG51bU9mTWV0cmljcyAoJHtnfSkgc2hvdWxkIG5vdCBiZSBncmVhdGVyIHRoYW4gdGhlIG51bUdseXBocyAoJHtzfSkuYCk7Zz1zO3QuZGF0YVszNF09KDY1MjgwJmcpPj44O3QuZGF0YVszNV09MjU1Jmd9Y29uc3Qgbz1zLWctKGkubGVuZ3RoLTQqZz4+MSk7aWYobz4wKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KGkubGVuZ3RoKzIqbyk7ZS5zZXQoaS5kYXRhKTtpZihyKXtlW2kubGVuZ3RoXT1pLmRhdGFbMl07ZVtpLmxlbmd0aCsxXT1pLmRhdGFbM119aS5kYXRhPWV9fSh0LG4uaGhlYSxuLmhtdHgsbi5oZWFkLGwsUSk7aWYoIW4uaGVhZCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoJ1JlcXVpcmVkICJoZWFkIiB0YWJsZSBpcyBub3QgZm91bmQnKTshZnVuY3Rpb24gc2FuaXRpemVIZWFkKGUsdCxpKXtjb25zdCBhPWUuZGF0YSxzPWZ1bmN0aW9uIGludDMyKGUsdCxpLGEpe3JldHVybihlPDwyNCkrKHQ8PDE2KSsoaTw8OCkrYX0oYVswXSxhWzFdLGFbMl0sYVszXSk7aWYocz4+MTYhPTEpe2luZm8oIkF0dGVtcHRpbmcgdG8gZml4IGludmFsaWQgdmVyc2lvbiBpbiBoZWFkIHRhYmxlOiAiK3MpO2FbMF09MDthWzFdPTE7YVsyXT0wO2FbM109MH1jb25zdCByPWludDE2KGFbNTBdLGFbNTFdKTtpZihyPDB8fHI+MSl7aW5mbygiQXR0ZW1wdGluZyB0byBmaXggaW52YWxpZCBpbmRleFRvTG9jRm9ybWF0IGluIGhlYWQgdGFibGU6ICIrcik7Y29uc3QgZT10KzE7aWYoaT09PWU8PDEpe2FbNTBdPTA7YVs1MV09MH1lbHNle2lmKGkhPT1lPDwyKXRocm93IG5ldyBGb3JtYXRFcnJvcigiQ291bGQgbm90IGZpeCBpbmRleFRvTG9jRm9ybWF0OiAiK3IpO2FbNTBdPTA7YVs1MV09MX19fShuLmhlYWQsaCxjP24ubG9jYS5sZW5ndGg6MCk7bGV0IGY9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihjKXtjb25zdCBlPWludDE2KG4uaGVhZC5kYXRhWzUwXSxuLmhlYWQuZGF0YVs1MV0pLHQ9ZnVuY3Rpb24gc2FuaXRpemVHbHlwaExvY2F0aW9ucyhlLHQsaSxhLHMscixuKXtsZXQgZyxvLGM7aWYoYSl7Zz00O289ZnVuY3Rpb24gZm9udEl0ZW1EZWNvZGVMb25nKGUsdCl7cmV0dXJuIGVbdF08PDI0fGVbdCsxXTw8MTZ8ZVt0KzJdPDw4fGVbdCszXX07Yz1mdW5jdGlvbiBmb250SXRlbUVuY29kZUxvbmcoZSx0LGkpe2VbdF09aT4+PjI0JjI1NTtlW3QrMV09aT4+MTYmMjU1O2VbdCsyXT1pPj44JjI1NTtlW3QrM109MjU1Jml9fWVsc2V7Zz0yO289ZnVuY3Rpb24gZm9udEl0ZW1EZWNvZGUoZSx0KXtyZXR1cm4gZVt0XTw8OXxlW3QrMV08PDF9O2M9ZnVuY3Rpb24gZm9udEl0ZW1FbmNvZGUoZSx0LGkpe2VbdF09aT4+OSYyNTU7ZVt0KzFdPWk+PjEmMjU1fX1jb25zdCBDPXI/aSsxOmksaD1nKigxK0MpLGw9bmV3IFVpbnQ4QXJyYXkoaCk7bC5zZXQoZS5kYXRhLnN1YmFycmF5KDAsaCkpO2UuZGF0YT1sO2NvbnN0IFE9dC5kYXRhLEU9US5sZW5ndGgsdT1uZXcgVWludDhBcnJheShFKTtsZXQgZCxmO2NvbnN0IHA9W107Zm9yKGQ9MCxmPTA7ZDxpKzE7ZCsrLGYrPWcpe2xldCBlPW8obCxmKTtlPkUmJihlPUUpO3AucHVzaCh7aW5kZXg6ZCxvZmZzZXQ6ZSxlbmRPZmZzZXQ6MH0pfXAuc29ydCgoKGUsdCk9PmUub2Zmc2V0LXQub2Zmc2V0KSk7Zm9yKGQ9MDtkPGk7ZCsrKXBbZF0uZW5kT2Zmc2V0PXBbZCsxXS5vZmZzZXQ7cC5zb3J0KCgoZSx0KT0+ZS5pbmRleC10LmluZGV4KSk7Zm9yKGQ9MDtkPGk7ZCsrKXtjb25zdHtvZmZzZXQ6ZSxlbmRPZmZzZXQ6dH09cFtkXTtpZigwIT09ZXx8MCE9PXQpYnJlYWs7Y29uc3QgaT1wW2QrMV0ub2Zmc2V0O2lmKDAhPT1pKXtwW2RdLmVuZE9mZnNldD1pO2JyZWFrfX1jb25zdCBtPXAuYXQoLTIpOzAhPT1tLm9mZnNldCYmMD09PW0uZW5kT2Zmc2V0JiYobS5lbmRPZmZzZXQ9RSk7Y29uc3QgeT1PYmplY3QuY3JlYXRlKG51bGwpO2xldCB3PTA7YyhsLDAsdyk7Zm9yKGQ9MCxmPWc7ZDxpO2QrKyxmKz1nKXtjb25zdCBlPXNhbml0aXplR2x5cGgoUSxwW2RdLm9mZnNldCxwW2RdLmVuZE9mZnNldCx1LHcscyksdD1lLmxlbmd0aDswPT09dCYmKHlbZF09ITApO2Uuc2l6ZU9mSW5zdHJ1Y3Rpb25zPm4mJihuPWUuc2l6ZU9mSW5zdHJ1Y3Rpb25zKTt3Kz10O2MobCxmLHcpfWlmKDA9PT13KXtjb25zdCBlPW5ldyBVaW50OEFycmF5KFswLDEsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNDksMF0pO2ZvcihkPTAsZj1nO2Q8QztkKyssZis9ZyljKGwsZixlLmxlbmd0aCk7dC5kYXRhPWV9ZWxzZSBpZihyKXtjb25zdCBpPW8obCxnKTtpZih1Lmxlbmd0aD5pK3cpdC5kYXRhPXUuc3ViYXJyYXkoMCxpK3cpO2Vsc2V7dC5kYXRhPW5ldyBVaW50OEFycmF5KGkrdyk7dC5kYXRhLnNldCh1LnN1YmFycmF5KDAsdykpfXQuZGF0YS5zZXQodS5zdWJhcnJheSgwLGkpLHcpO2MoZS5kYXRhLGwubGVuZ3RoLWcsdytpKX1lbHNlIHQuZGF0YT11LnN1YmFycmF5KDAsdyk7cmV0dXJue21pc3NpbmdHbHlwaHM6eSxtYXhTaXplT2ZJbnN0cnVjdGlvbnM6bn19KG4ubG9jYSxuLmdseWYsaCxlLGQsUSx1KTtmPXQubWlzc2luZ0dseXBocztpZihDPj02NTUzNiYmbi5tYXhwLmxlbmd0aD49MzIpe24ubWF4cC5kYXRhWzI2XT10Lm1heFNpemVPZkluc3RydWN0aW9ucz4+ODtuLm1heHAuZGF0YVsyN109MjU1JnQubWF4U2l6ZU9mSW5zdHJ1Y3Rpb25zfX1pZighbi5oaGVhKXRocm93IG5ldyBGb3JtYXRFcnJvcignUmVxdWlyZWQgImhoZWEiIHRhYmxlIGlzIG5vdCBmb3VuZCcpO2lmKDA9PT1uLmhoZWEuZGF0YVsxMF0mJjA9PT1uLmhoZWEuZGF0YVsxMV0pe24uaGhlYS5kYXRhWzEwXT0yNTU7bi5oaGVhLmRhdGFbMTFdPTI1NX1jb25zdCBwPXt1bml0c1BlckVtOmludDE2KG4uaGVhZC5kYXRhWzE4XSxuLmhlYWQuZGF0YVsxOV0pLHlNYXg6c2lnbmVkSW50MTYobi5oZWFkLmRhdGFbNDJdLG4uaGVhZC5kYXRhWzQzXSkseU1pbjpzaWduZWRJbnQxNihuLmhlYWQuZGF0YVszOF0sbi5oZWFkLmRhdGFbMzldKSxhc2NlbnQ6c2lnbmVkSW50MTYobi5oaGVhLmRhdGFbNF0sbi5oaGVhLmRhdGFbNV0pLGRlc2NlbnQ6c2lnbmVkSW50MTYobi5oaGVhLmRhdGFbNl0sbi5oaGVhLmRhdGFbN10pLGxpbmVHYXA6c2lnbmVkSW50MTYobi5oaGVhLmRhdGFbOF0sbi5oaGVhLmRhdGFbOV0pfTt0aGlzLmFzY2VudD1wLmFzY2VudC9wLnVuaXRzUGVyRW07dGhpcy5kZXNjZW50PXAuZGVzY2VudC9wLnVuaXRzUGVyRW07dGhpcy5saW5lR2FwPXAubGluZUdhcC9wLnVuaXRzUGVyRW07aWYodGhpcy5jc3NGb250SW5mbz8ubGluZUhlaWdodCl7dGhpcy5saW5lSGVpZ2h0PXRoaXMuY3NzRm9udEluZm8ubWV0cmljcy5saW5lSGVpZ2h0O3RoaXMubGluZUdhcD10aGlzLmNzc0ZvbnRJbmZvLm1ldHJpY3MubGluZUdhcH1lbHNlIHRoaXMubGluZUhlaWdodD10aGlzLmFzY2VudC10aGlzLmRlc2NlbnQrdGhpcy5saW5lR2FwO24ucG9zdCYmZnVuY3Rpb24gcmVhZFBvc3RTY3JpcHRUYWJsZShlLGksYSl7Y29uc3Qgcz0odC5zdGFydHx8MCkrZS5vZmZzZXQ7dC5wb3M9cztjb25zdCByPXMrZS5sZW5ndGgsbj10LmdldEludDMyKCk7dC5za2lwKDI4KTtsZXQgZyxvLGM9ITA7c3dpdGNoKG4pe2Nhc2UgNjU1MzY6Zz1qaTticmVhaztjYXNlIDEzMTA3Mjpjb25zdCBlPXQuZ2V0VWludDE2KCk7aWYoZSE9PWEpe2M9ITE7YnJlYWt9Y29uc3Qgcz1bXTtmb3Iobz0wO288ZTsrK28pe2NvbnN0IGU9dC5nZXRVaW50MTYoKTtpZihlPj0zMjc2OCl7Yz0hMTticmVha31zLnB1c2goZSl9aWYoIWMpYnJlYWs7Y29uc3QgQz1bXSxoPVtdO2Zvcig7dC5wb3M8cjspe2NvbnN0IGU9dC5nZXRCeXRlKCk7aC5sZW5ndGg9ZTtmb3Iobz0wO288ZTsrK28paFtvXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHQuZ2V0Qnl0ZSgpKTtDLnB1c2goaC5qb2luKCIiKSl9Zz1bXTtmb3Iobz0wO288ZTsrK28pe2NvbnN0IGU9c1tvXTtlPDI1OD9nLnB1c2goamlbZV0pOmcucHVzaChDW2UtMjU4XSl9YnJlYWs7Y2FzZSAxOTY2MDg6YnJlYWs7ZGVmYXVsdDp3YXJuKCJVbmtub3duL3Vuc3VwcG9ydGVkIHBvc3QgdGFibGUgdmVyc2lvbiAiK24pO2M9ITE7aS5kZWZhdWx0RW5jb2RpbmcmJihnPWkuZGVmYXVsdEVuY29kaW5nKX1pLmdseXBoTmFtZXM9ZztyZXR1cm4gY30obi5wb3N0LGksaCk7bi5wb3N0PXt0YWc6InBvc3QiLGRhdGE6Y3JlYXRlUG9zdFRhYmxlKGkpfTtjb25zdCBtPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gaGFzR2x5cGgoZSl7cmV0dXJuIWZbZV19aWYoaS5jb21wb3NpdGUpe2NvbnN0IGU9aS5jaWRUb0dpZE1hcHx8W10sdD0wPT09ZS5sZW5ndGg7aS5jTWFwLmZvckVhY2goKGZ1bmN0aW9uKGksYSl7InN0cmluZyI9PXR5cGVvZiBhJiYoYT1jb252ZXJ0Q2lkU3RyaW5nKGksYSwhMCkpO2lmKGE+NjU1MzUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJNYXggc2l6ZSBvZiBDSUQgaXMgNjUsNTM1Iik7bGV0IHM9LTE7dD9zPWE6dm9pZCAwIT09ZVthXSYmKHM9ZVthXSk7cz49MCYmczxoJiZoYXNHbHlwaChzKSYmKG1baV09cyl9KSl9ZWxzZXtjb25zdCBlPWZ1bmN0aW9uIHJlYWRDbWFwVGFibGUoZSx0LGksYSl7aWYoIWUpe3dhcm4oIk5vIGNtYXAgdGFibGUgYXZhaWxhYmxlLiIpO3JldHVybntwbGF0Zm9ybUlkOi0xLGVuY29kaW5nSWQ6LTEsbWFwcGluZ3M6W10saGFzU2hvcnRDbWFwOiExfX1sZXQgcyxyPSh0LnN0YXJ0fHwwKStlLm9mZnNldDt0LnBvcz1yO3Quc2tpcCgyKTtjb25zdCBuPXQuZ2V0VWludDE2KCk7bGV0IGcsbz0hMTtmb3IobGV0IGU9MDtlPG47ZSsrKXtjb25zdCBzPXQuZ2V0VWludDE2KCkscj10LmdldFVpbnQxNigpLGM9dC5nZXRJbnQzMigpPj4+MDtsZXQgQz0hMTtpZihnPy5wbGF0Zm9ybUlkIT09c3x8Zz8uZW5jb2RpbmdJZCE9PXIpe2lmKDAhPT1zfHwwIT09ciYmMSE9PXImJjMhPT1yKWlmKDE9PT1zJiYwPT09cilDPSEwO2Vsc2UgaWYoMyE9PXN8fDEhPT1yfHwhYSYmZyl7aWYoaSYmMz09PXMmJjA9PT1yKXtDPSEwO2xldCBpPSEwO2lmKGU8bi0xKXtjb25zdCBlPXQucGVla0J5dGVzKDIpO2ludDE2KGVbMF0sZVsxXSk8cyYmKGk9ITEpfWkmJihvPSEwKX19ZWxzZXtDPSEwO2l8fChvPSEwKX1lbHNlIEM9ITA7QyYmKGc9e3BsYXRmb3JtSWQ6cyxlbmNvZGluZ0lkOnIsb2Zmc2V0OmN9KTtpZihvKWJyZWFrfX1nJiYodC5wb3M9citnLm9mZnNldCk7aWYoIWd8fC0xPT09dC5wZWVrQnl0ZSgpKXt3YXJuKCJDb3VsZCBub3QgZmluZCBhIHByZWZlcnJlZCBjbWFwIHRhYmxlLiIpO3JldHVybntwbGF0Zm9ybUlkOi0xLGVuY29kaW5nSWQ6LTEsbWFwcGluZ3M6W10saGFzU2hvcnRDbWFwOiExfX1jb25zdCBjPXQuZ2V0VWludDE2KCk7bGV0IEM9ITE7Y29uc3QgaD1bXTtsZXQgbCxRO2lmKDA9PT1jKXt0LnNraXAoNCk7Zm9yKGw9MDtsPDI1NjtsKyspe2NvbnN0IGU9dC5nZXRCeXRlKCk7ZSYmaC5wdXNoKHtjaGFyQ29kZTpsLGdseXBoSWQ6ZX0pfUM9ITB9ZWxzZSBpZigyPT09Yyl7dC5za2lwKDQpO2NvbnN0IGU9W107bGV0IGk9MDtmb3IobGV0IGE9MDthPDI1NjthKyspe2NvbnN0IGE9dC5nZXRVaW50MTYoKT4+MztlLnB1c2goYSk7aT1NYXRoLm1heChhLGkpfWNvbnN0IGE9W107Zm9yKGxldCBlPTA7ZTw9aTtlKyspYS5wdXNoKHtmaXJzdENvZGU6dC5nZXRVaW50MTYoKSxlbnRyeUNvdW50OnQuZ2V0VWludDE2KCksaWREZWx0YTpzaWduZWRJbnQxNih0LmdldEJ5dGUoKSx0LmdldEJ5dGUoKSksaWRSYW5nZVBvczp0LnBvcyt0LmdldFVpbnQxNigpfSk7Zm9yKGxldCBpPTA7aTwyNTY7aSsrKWlmKDA9PT1lW2ldKXt0LnBvcz1hWzBdLmlkUmFuZ2VQb3MrMippO1E9dC5nZXRVaW50MTYoKTtoLnB1c2goe2NoYXJDb2RlOmksZ2x5cGhJZDpRfSl9ZWxzZXtjb25zdCBzPWFbZVtpXV07Zm9yKGw9MDtsPHMuZW50cnlDb3VudDtsKyspe2NvbnN0IGU9KGk8PDgpK2wrcy5maXJzdENvZGU7dC5wb3M9cy5pZFJhbmdlUG9zKzIqbDtRPXQuZ2V0VWludDE2KCk7MCE9PVEmJihRPShRK3MuaWREZWx0YSklNjU1MzYpO2gucHVzaCh7Y2hhckNvZGU6ZSxnbHlwaElkOlF9KX19fWVsc2UgaWYoND09PWMpe3Quc2tpcCg0KTtjb25zdCBlPXQuZ2V0VWludDE2KCk+PjE7dC5za2lwKDYpO2NvbnN0IGk9W107bGV0IGE7Zm9yKGE9MDthPGU7YSsrKWkucHVzaCh7ZW5kOnQuZ2V0VWludDE2KCl9KTt0LnNraXAoMik7Zm9yKGE9MDthPGU7YSsrKWlbYV0uc3RhcnQ9dC5nZXRVaW50MTYoKTtmb3IoYT0wO2E8ZTthKyspaVthXS5kZWx0YT10LmdldFVpbnQxNigpO2xldCBuLGc9MDtmb3IoYT0wO2E8ZTthKyspe3M9aVthXTtjb25zdCByPXQuZ2V0VWludDE2KCk7aWYocil7bj0ocj4+MSktKGUtYSk7cy5vZmZzZXRJbmRleD1uO2c9TWF0aC5tYXgoZyxuK3MuZW5kLXMuc3RhcnQrMSl9ZWxzZSBzLm9mZnNldEluZGV4PS0xfWNvbnN0IG89W107Zm9yKGw9MDtsPGc7bCsrKW8ucHVzaCh0LmdldFVpbnQxNigpKTtmb3IoYT0wO2E8ZTthKyspe3M9aVthXTtyPXMuc3RhcnQ7Y29uc3QgZT1zLmVuZCx0PXMuZGVsdGE7bj1zLm9mZnNldEluZGV4O2ZvcihsPXI7bDw9ZTtsKyspaWYoNjU1MzUhPT1sKXtRPW48MD9sOm9bbitsLXJdO1E9USt0JjY1NTM1O2gucHVzaCh7Y2hhckNvZGU6bCxnbHlwaElkOlF9KX19fWVsc2UgaWYoNj09PWMpe3Quc2tpcCg0KTtjb25zdCBlPXQuZ2V0VWludDE2KCksaT10LmdldFVpbnQxNigpO2ZvcihsPTA7bDxpO2wrKyl7UT10LmdldFVpbnQxNigpO2NvbnN0IGk9ZStsO2gucHVzaCh7Y2hhckNvZGU6aSxnbHlwaElkOlF9KX19ZWxzZXtpZigxMiE9PWMpe3dhcm4oImNtYXAgdGFibGUgaGFzIHVuc3VwcG9ydGVkIGZvcm1hdDogIitjKTtyZXR1cm57cGxhdGZvcm1JZDotMSxlbmNvZGluZ0lkOi0xLG1hcHBpbmdzOltdLGhhc1Nob3J0Q21hcDohMX19e3Quc2tpcCgxMCk7Y29uc3QgZT10LmdldEludDMyKCk+Pj4wO2ZvcihsPTA7bDxlO2wrKyl7Y29uc3QgZT10LmdldEludDMyKCk+Pj4wLGk9dC5nZXRJbnQzMigpPj4+MDtsZXQgYT10LmdldEludDMyKCk+Pj4wO2ZvcihsZXQgdD1lO3Q8PWk7dCsrKWgucHVzaCh7Y2hhckNvZGU6dCxnbHlwaElkOmErK30pfX19aC5zb3J0KChmdW5jdGlvbihlLHQpe3JldHVybiBlLmNoYXJDb2RlLXQuY2hhckNvZGV9KSk7Zm9yKGxldCBlPTE7ZTxoLmxlbmd0aDtlKyspaWYoaFtlLTFdLmNoYXJDb2RlPT09aFtlXS5jaGFyQ29kZSl7aC5zcGxpY2UoZSwxKTtlLS19cmV0dXJue3BsYXRmb3JtSWQ6Zy5wbGF0Zm9ybUlkLGVuY29kaW5nSWQ6Zy5lbmNvZGluZ0lkLG1hcHBpbmdzOmgsaGFzU2hvcnRDbWFwOkN9fShuLmNtYXAsdCx0aGlzLmlzU3ltYm9saWNGb250LGkuaGFzRW5jb2RpbmcpLGE9ZS5wbGF0Zm9ybUlkLHM9ZS5lbmNvZGluZ0lkLHI9ZS5tYXBwaW5ncztsZXQgZz1bXSxvPSExOyFpLmhhc0VuY29kaW5nfHwiTWFjUm9tYW5FbmNvZGluZyIhPT1pLmJhc2VFbmNvZGluZ05hbWUmJiJXaW5BbnNpRW5jb2RpbmciIT09aS5iYXNlRW5jb2RpbmdOYW1lfHwoZz1nZXRFbmNvZGluZyhpLmJhc2VFbmNvZGluZ05hbWUpKTtpZihpLmhhc0VuY29kaW5nJiYhdGhpcy5pc1N5bWJvbGljRm9udCYmKDM9PT1hJiYxPT09c3x8MT09PWEmJjA9PT1zKSl7Y29uc3QgZT1NaSgpO2ZvcihsZXQgdD0wO3Q8MjU2O3QrKyl7bGV0IG47bj12b2lkIDAhPT10aGlzLmRpZmZlcmVuY2VzW3RdP3RoaXMuZGlmZmVyZW5jZXNbdF06Zy5sZW5ndGgmJiIiIT09Z1t0XT9nW3RdOnlpW3RdO2lmKCFuKWNvbnRpbnVlO2NvbnN0IG89cmVjb3ZlckdseXBoTmFtZShuLGUpO2xldCBjOzM9PT1hJiYxPT09cz9jPWVbb106MT09PWEmJjA9PT1zJiYoYz1taS5pbmRleE9mKG8pKTtpZih2b2lkIDA9PT1jKXtpZighaS5nbHlwaE5hbWVzJiZpLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwJiYhKHRoaXMudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXApKXtjb25zdCBlPXRoaXMudG9Vbmljb2RlLmdldCh0KTtlJiYoYz1lLmNvZGVQb2ludEF0KDApKX1pZih2b2lkIDA9PT1jKWNvbnRpbnVlfWZvcihjb25zdCBlIG9mIHIpaWYoZS5jaGFyQ29kZT09PWMpe21bdF09ZS5nbHlwaElkO2JyZWFrfX19ZWxzZSBpZigwPT09YSl7Zm9yKGNvbnN0IGUgb2YgciltW2UuY2hhckNvZGVdPWUuZ2x5cGhJZDtvPSEwfWVsc2UgaWYoMz09PWEmJjA9PT1zKWZvcihjb25zdCBlIG9mIHIpe2xldCB0PWUuY2hhckNvZGU7dD49NjE0NDAmJnQ8PTYxNjk1JiYodCY9MjU1KTttW3RdPWUuZ2x5cGhJZH1lbHNlIGZvcihjb25zdCBlIG9mIHIpbVtlLmNoYXJDb2RlXT1lLmdseXBoSWQ7aWYoaS5nbHlwaE5hbWVzJiYoZy5sZW5ndGh8fHRoaXMuZGlmZmVyZW5jZXMubGVuZ3RoKSlmb3IobGV0IGU9MDtlPDI1NjsrK2Upe2lmKCFvJiZ2b2lkIDAhPT1tW2VdKWNvbnRpbnVlO2NvbnN0IHQ9dGhpcy5kaWZmZXJlbmNlc1tlXXx8Z1tlXTtpZighdCljb250aW51ZTtjb25zdCBhPWkuZ2x5cGhOYW1lcy5pbmRleE9mKHQpO2E+MCYmaGFzR2x5cGgoYSkmJihtW2VdPWEpfX0wPT09bS5sZW5ndGgmJihtWzBdPTApO2xldCB5PWwtMTtRfHwoeT0wKTtpZighaS5jc3NGb250SW5mbyl7Y29uc3QgZT1hZGp1c3RNYXBwaW5nKG0saGFzR2x5cGgseSx0aGlzLnRvVW5pY29kZSk7dGhpcy50b0ZvbnRDaGFyPWUudG9Gb250Q2hhcjtuLmNtYXA9e3RhZzoiY21hcCIsZGF0YTpjcmVhdGVDbWFwVGFibGUoZS5jaGFyQ29kZVRvR2x5cGhJZCxlLnRvVW5pY29kZUV4dHJhTWFwLGwpfTtuWyJPUy8yIl0mJmZ1bmN0aW9uIHZhbGlkYXRlT1MyVGFibGUoZSx0KXt0LnBvcz0odC5zdGFydHx8MCkrZS5vZmZzZXQ7Y29uc3QgaT10LmdldFVpbnQxNigpO3Quc2tpcCg2MCk7Y29uc3QgYT10LmdldFVpbnQxNigpO2lmKGk8NCYmNzY4JmEpcmV0dXJuITE7aWYodC5nZXRVaW50MTYoKT50LmdldFVpbnQxNigpKXJldHVybiExO3Quc2tpcCg2KTtpZigwPT09dC5nZXRVaW50MTYoKSlyZXR1cm4hMTtlLmRhdGFbOF09ZS5kYXRhWzldPTA7cmV0dXJuITB9KG5bIk9TLzIiXSx0KXx8KG5bIk9TLzIiXT17dGFnOiJPUy8yIixkYXRhOmNyZWF0ZU9TMlRhYmxlKGksZS5jaGFyQ29kZVRvR2x5cGhJZCxwKX0pfWlmKCFjKXRyeXtvPW5ldyBTdHJlYW0oblsiQ0ZGICJdLmRhdGEpO2c9bmV3IENGRlBhcnNlcihvLGksVGkpLnBhcnNlKCk7Zy5kdXBsaWNhdGVGaXJzdEdseXBoKCk7Y29uc3QgZT1uZXcgQ0ZGQ29tcGlsZXIoZyk7blsiQ0ZGICJdLmRhdGE9ZS5jb21waWxlKCl9Y2F0Y2h7d2FybigiRmFpbGVkIHRvIGNvbXBpbGUgZm9udCAiK2kubG9hZGVkTmFtZSl9aWYobi5uYW1lKXtjb25zdFt0LGFdPXJlYWROYW1lVGFibGUobi5uYW1lKTtuLm5hbWUuZGF0YT1jcmVhdGVOYW1lVGFibGUoZSx0KTt0aGlzLnBzTmFtZT10WzBdWzZdfHxudWxsO2kuY29tcG9zaXRlfHxmdW5jdGlvbiBhZGp1c3RUcnVlVHlwZVRvVW5pY29kZShlLHQsaSl7aWYoZS5pc0ludGVybmFsRm9udClyZXR1cm47aWYoZS5oYXNJbmNsdWRlZFRvVW5pY29kZU1hcClyZXR1cm47aWYoZS5oYXNFbmNvZGluZylyZXR1cm47aWYoZS50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcClyZXR1cm47aWYoIXQpcmV0dXJuO2lmKDA9PT1pLmxlbmd0aClyZXR1cm47aWYoZS5kZWZhdWx0RW5jb2Rpbmc9PT13aSlyZXR1cm47Zm9yKGNvbnN0IGUgb2YgaSlpZighaXNXaW5OYW1lUmVjb3JkKGUpKXJldHVybjtjb25zdCBhPXdpLHM9W10scj1NaSgpO2Zvcihjb25zdCBlIGluIGEpe2NvbnN0IHQ9YVtlXTtpZigiIj09PXQpY29udGludWU7Y29uc3QgaT1yW3RdO3ZvaWQgMCE9PWkmJihzW2VdPVN0cmluZy5mcm9tQ2hhckNvZGUoaSkpfXMubGVuZ3RoPjAmJmUudG9Vbmljb2RlLmFtZW5kKHMpfShpLHRoaXMuaXNTeW1ib2xpY0ZvbnQsYSl9ZWxzZSBuLm5hbWU9e3RhZzoibmFtZSIsZGF0YTpjcmVhdGVOYW1lVGFibGUodGhpcy5uYW1lKX07Y29uc3Qgdz1uZXcgT3BlblR5cGVGaWxlQnVpbGRlcihyLnZlcnNpb24pO2Zvcihjb25zdCBlIGluIG4pdy5hZGRUYWJsZShlLG5bZV0uZGF0YSk7cmV0dXJuIHcudG9BcnJheSgpfWNvbnZlcnQoZSx0LGkpe2kuZml4ZWRQaXRjaD0hMTtpLmJ1aWx0SW5FbmNvZGluZyYmZnVuY3Rpb24gYWRqdXN0VHlwZTFUb1VuaWNvZGUoZSx0KXtpZihlLmlzSW50ZXJuYWxGb250KXJldHVybjtpZihlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwKXJldHVybjtpZih0PT09ZS5kZWZhdWx0RW5jb2RpbmcpcmV0dXJuO2lmKGUudG9Vbmljb2RlIGluc3RhbmNlb2YgSWRlbnRpdHlUb1VuaWNvZGVNYXApcmV0dXJuO2NvbnN0IGk9W10sYT1NaSgpO2Zvcihjb25zdCBzIGluIHQpe2lmKGUuaGFzRW5jb2RpbmcmJihlLmJhc2VFbmNvZGluZ05hbWV8fHZvaWQgMCE9PWUuZGlmZmVyZW5jZXNbc10pKWNvbnRpbnVlO2NvbnN0IHI9Z2V0VW5pY29kZUZvckdseXBoKHRbc10sYSk7LTEhPT1yJiYoaVtzXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHIpKX1pLmxlbmd0aD4wJiZlLnRvVW5pY29kZS5hbWVuZChpKX0oaSxpLmJ1aWx0SW5FbmNvZGluZyk7bGV0IHM9MTt0IGluc3RhbmNlb2YgQ0ZGRm9udCYmKHM9dC5udW1HbHlwaHMtMSk7Y29uc3Qgcj10LmdldEdseXBoTWFwcGluZyhpKTtsZXQgbj1udWxsLGc9cixvPW51bGw7aWYoIWkuY3NzRm9udEluZm8pe249YWRqdXN0TWFwcGluZyhyLHQuaGFzR2x5cGhJZC5iaW5kKHQpLHMsdGhpcy50b1VuaWNvZGUpO3RoaXMudG9Gb250Q2hhcj1uLnRvRm9udENoYXI7Zz1uLmNoYXJDb2RlVG9HbHlwaElkO289bi50b1VuaWNvZGVFeHRyYU1hcH1jb25zdCBjPXQubnVtR2x5cGhzO2Z1bmN0aW9uIGdldENoYXJDb2RlcyhlLHQpe2xldCBpPW51bGw7Zm9yKGNvbnN0IGEgaW4gZSl0PT09ZVthXSYmKGl8fD1bXSkucHVzaCgwfGEpO3JldHVybiBpfWZ1bmN0aW9uIGNyZWF0ZUNoYXJDb2RlKGUsdCl7Zm9yKGNvbnN0IGkgaW4gZSlpZih0PT09ZVtpXSlyZXR1cm4gMHxpO24uY2hhckNvZGVUb0dseXBoSWRbbi5uZXh0QXZhaWxhYmxlRm9udENoYXJDb2RlXT10O3JldHVybiBuLm5leHRBdmFpbGFibGVGb250Q2hhckNvZGUrK31jb25zdCBDPXQuc2VhY3M7aWYobiYmQz8ubGVuZ3RoKXtjb25zdCBlPWkuZm9udE1hdHJpeHx8YSxzPXQuZ2V0Q2hhcnNldCgpLGc9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IHQgaW4gQyl7dHw9MDtjb25zdCBpPUNbdF0sYT15aVtpWzJdXSxvPXlpW2lbM11dLGM9cy5pbmRleE9mKGEpLGg9cy5pbmRleE9mKG8pO2lmKGM8MHx8aDwwKWNvbnRpbnVlO2NvbnN0IGw9e3g6aVswXSplWzBdK2lbMV0qZVsyXStlWzRdLHk6aVswXSplWzFdK2lbMV0qZVszXStlWzVdfSxRPWdldENoYXJDb2RlcyhyLHQpO2lmKFEpZm9yKGNvbnN0IGUgb2YgUSl7Y29uc3QgdD1uLmNoYXJDb2RlVG9HbHlwaElkLGk9Y3JlYXRlQ2hhckNvZGUodCxjKSxhPWNyZWF0ZUNoYXJDb2RlKHQsaCk7Z1tlXT17YmFzZUZvbnRDaGFyQ29kZTppLGFjY2VudEZvbnRDaGFyQ29kZTphLGFjY2VudE9mZnNldDpsfX19aS5zZWFjTWFwPWd9Y29uc3QgaD1pLmZvbnRNYXRyaXg/MS9NYXRoLm1heCguLi5pLmZvbnRNYXRyaXguc2xpY2UoMCw0KS5tYXAoTWF0aC5hYnMpKToxZTMsbD1uZXcgT3BlblR5cGVGaWxlQnVpbGRlcigiT1RUTyIpO2wuYWRkVGFibGUoIkNGRiAiLHQuZGF0YSk7bC5hZGRUYWJsZSgiT1MvMiIsY3JlYXRlT1MyVGFibGUoaSxnKSk7bC5hZGRUYWJsZSgiY21hcCIsY3JlYXRlQ21hcFRhYmxlKGcsbyxjKSk7bC5hZGRUYWJsZSgiaGVhZCIsIlwwAVwwXDBcMFwwEFwwXDBcMFwwXDBfDzzDtVwwXDAiK3NhZmVTdHJpbmcxNihoKSsiXDBcMFwwXDDCnlx2fidcMFwwXDBcMMKeXHZ+J1wwXDAiK3NhZmVTdHJpbmcxNihpLmRlc2NlbnQpKyIPw78iK3NhZmVTdHJpbmcxNihpLmFzY2VudCkrc3RyaW5nMTYoaS5pdGFsaWNBbmdsZT8yOjApKyJcMBFcMFwwXDBcMFwwXDAiKTtsLmFkZFRhYmxlKCJoaGVhIiwiXDABXDBcMCIrc2FmZVN0cmluZzE2KGkuYXNjZW50KStzYWZlU3RyaW5nMTYoaS5kZXNjZW50KSsiXDBcMMO/w79cMFwwXDBcMFwwXDAiK3NhZmVTdHJpbmcxNihpLmNhcEhlaWdodCkrc2FmZVN0cmluZzE2KE1hdGgudGFuKGkuaXRhbGljQW5nbGUpKmkueEhlaWdodCkrIlwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIrc3RyaW5nMTYoYykpO2wuYWRkVGFibGUoImhtdHgiLGZ1bmN0aW9uIGZvbnRGaWVsZHNIbXR4KCl7Y29uc3QgZT10LmNoYXJzdHJpbmdzLGk9dC5jZmY/dC5jZmYud2lkdGhzOm51bGw7bGV0IGE9IlwwXDBcMFwwIjtmb3IobGV0IHQ9MSxzPWM7dDxzO3QrKyl7bGV0IHM9MDtpZihlKXtjb25zdCBpPWVbdC0xXTtzPSJ3aWR0aCJpbiBpP2kud2lkdGg6MH1lbHNlIGkmJihzPU1hdGguY2VpbChpW3RdfHwwKSk7YSs9c3RyaW5nMTYocykrc3RyaW5nMTYoMCl9cmV0dXJuIGF9KCkpO2wuYWRkVGFibGUoIm1heHAiLCJcMFwwUFwwIitzdHJpbmcxNihjKSk7bC5hZGRUYWJsZSgibmFtZSIsY3JlYXRlTmFtZVRhYmxlKGUpKTtsLmFkZFRhYmxlKCJwb3N0IixjcmVhdGVQb3N0VGFibGUoaSkpO3JldHVybiBsLnRvQXJyYXkoKX1nZXQgX3NwYWNlV2lkdGgoKXtjb25zdCBlPVsic3BhY2UiLCJtaW51cyIsIm9uZSIsImkiLCJJIl07bGV0IHQ7Zm9yKGNvbnN0IGkgb2YgZSl7aWYoaSBpbiB0aGlzLndpZHRocyl7dD10aGlzLndpZHRoc1tpXTticmVha31jb25zdCBlPU1pKClbaV07bGV0IGE9MDtpZih0aGlzLmNvbXBvc2l0ZSYmdGhpcy5jTWFwLmNvbnRhaW5zKGUpKXthPXRoaXMuY01hcC5sb29rdXAoZSk7InN0cmluZyI9PXR5cGVvZiBhJiYoYT1jb252ZXJ0Q2lkU3RyaW5nKGUsYSkpfSFhJiZ0aGlzLnRvVW5pY29kZSYmKGE9dGhpcy50b1VuaWNvZGUuY2hhckNvZGVPZihlKSk7YTw9MCYmKGE9ZSk7dD10aGlzLndpZHRoc1thXTtpZih0KWJyZWFrfXJldHVybiBzaGFkb3codGhpcywiX3NwYWNlV2lkdGgiLHR8fHRoaXMuZGVmYXVsdFdpZHRoKX1fY2hhclRvR2x5cGgoZSx0PSExKXtsZXQgaSxhLHMscj10aGlzLl9nbHlwaENhY2hlW2VdO2lmKHI/LmlzU3BhY2U9PT10KXJldHVybiByO2xldCBuPWU7aWYodGhpcy5jTWFwPy5jb250YWlucyhlKSl7bj10aGlzLmNNYXAubG9va3VwKGUpOyJzdHJpbmciPT10eXBlb2YgbiYmKG49Y29udmVydENpZFN0cmluZyhlLG4pKX1hPXRoaXMud2lkdGhzW25dOyJudW1iZXIiIT10eXBlb2YgYSYmKGE9dGhpcy5kZWZhdWx0V2lkdGgpO2NvbnN0IGc9dGhpcy52bWV0cmljcz8uW25dO2xldCBvPXRoaXMudG9Vbmljb2RlLmdldChlKXx8ZTsibnVtYmVyIj09dHlwZW9mIG8mJihvPVN0cmluZy5mcm9tQ2hhckNvZGUobykpO2xldCBjPXZvaWQgMCE9PXRoaXMudG9Gb250Q2hhcltlXTtpPXRoaXMudG9Gb250Q2hhcltlXXx8ZTtpZih0aGlzLm1pc3NpbmdGaWxlKXtjb25zdCB0PXRoaXMuZGlmZmVyZW5jZXNbZV18fHRoaXMuZGVmYXVsdEVuY29kaW5nW2VdO2lmKCgiLm5vdGRlZiI9PT10fHwiIj09PXQpJiYiVHlwZTEiPT09dGhpcy50eXBlKXtpPTMyO2lmKCIiPT09dCl7YXx8PXRoaXMuX3NwYWNlV2lkdGg7bz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpfX1pPWZ1bmN0aW9uIG1hcFNwZWNpYWxVbmljb2RlVmFsdWVzKGUpe3JldHVybiBlPj02NTUyMCYmZTw9NjU1MzU/MDplPj02Mjk3NiYmZTw9NjM3NDM/SmkoKVtlXXx8ZToxNzM9PT1lPzQ1OmV9KGkpfXRoaXMuaXNUeXBlM0ZvbnQmJihzPWkpO2xldCBDPW51bGw7aWYodGhpcy5zZWFjTWFwPy5bZV0pe2M9ITA7Y29uc3QgdD10aGlzLnNlYWNNYXBbZV07aT10LmJhc2VGb250Q2hhckNvZGU7Qz17Zm9udENoYXI6U3RyaW5nLmZyb21Db2RlUG9pbnQodC5hY2NlbnRGb250Q2hhckNvZGUpLG9mZnNldDp0LmFjY2VudE9mZnNldH19bGV0IGg9IiI7Im51bWJlciI9PXR5cGVvZiBpJiYoaTw9MTExNDExMT9oPVN0cmluZy5mcm9tQ29kZVBvaW50KGkpOndhcm4oYGNoYXJUb0dseXBoIC0gaW52YWxpZCBmb250Q2hhckNvZGU6ICR7aX1gKSk7aWYodGhpcy5taXNzaW5nRmlsZSYmdGhpcy52ZXJ0aWNhbCYmMT09PWgubGVuZ3RoKXtjb25zdCBlPVhpKClbaC5jaGFyQ29kZUF0KDApXTtlJiYoaD1vPVN0cmluZy5mcm9tQ2hhckNvZGUoZSkpfXI9bmV3IGZvbnRzX0dseXBoKGUsaCxvLEMsYSxnLHMsdCxjKTtyZXR1cm4gdGhpcy5fZ2x5cGhDYWNoZVtlXT1yfWNoYXJzVG9HbHlwaHMoZSl7bGV0IHQ9dGhpcy5fY2hhcnNDYWNoZVtlXTtpZih0KXJldHVybiB0O3Q9W107aWYodGhpcy5jTWFwKXtjb25zdCBpPU9iamVjdC5jcmVhdGUobnVsbCksYT1lLmxlbmd0aDtsZXQgcz0wO2Zvcig7czxhOyl7dGhpcy5jTWFwLnJlYWRDaGFyQ29kZShlLHMsaSk7Y29uc3R7Y2hhcmNvZGU6YSxsZW5ndGg6cn09aTtzKz1yO2NvbnN0IG49dGhpcy5fY2hhclRvR2x5cGgoYSwxPT09ciYmMzI9PT1lLmNoYXJDb2RlQXQocy0xKSk7dC5wdXNoKG4pfX1lbHNlIGZvcihsZXQgaT0wLGE9ZS5sZW5ndGg7aTxhOysraSl7Y29uc3QgYT1lLmNoYXJDb2RlQXQoaSkscz10aGlzLl9jaGFyVG9HbHlwaChhLDMyPT09YSk7dC5wdXNoKHMpfXJldHVybiB0aGlzLl9jaGFyc0NhY2hlW2VdPXR9Z2V0Q2hhclBvc2l0aW9ucyhlKXtjb25zdCB0PVtdO2lmKHRoaXMuY01hcCl7Y29uc3QgaT1PYmplY3QuY3JlYXRlKG51bGwpO2xldCBhPTA7Zm9yKDthPGUubGVuZ3RoOyl7dGhpcy5jTWFwLnJlYWRDaGFyQ29kZShlLGEsaSk7Y29uc3Qgcz1pLmxlbmd0aDt0LnB1c2goW2EsYStzXSk7YSs9c319ZWxzZSBmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTsrK2kpdC5wdXNoKFtpLGkrMV0pO3JldHVybiB0fWdldCBnbHlwaENhY2hlVmFsdWVzKCl7cmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5fZ2x5cGhDYWNoZSl9ZW5jb2RlU3RyaW5nKGUpe2NvbnN0IHQ9W10saT1bXSxoYXNDdXJyZW50QnVmRXJyb3JzPSgpPT50Lmxlbmd0aCUyPT0xLGE9dGhpcy50b1VuaWNvZGUgaW5zdGFuY2VvZiBJZGVudGl0eVRvVW5pY29kZU1hcD9lPT50aGlzLnRvVW5pY29kZS5jaGFyQ29kZU9mKGUpOmU9PnRoaXMudG9Vbmljb2RlLmNoYXJDb2RlT2YoU3RyaW5nLmZyb21Db2RlUG9pbnQoZSkpO2ZvcihsZXQgcz0wLHI9ZS5sZW5ndGg7czxyO3MrKyl7Y29uc3Qgcj1lLmNvZGVQb2ludEF0KHMpO3I+NTUyOTUmJihyPDU3MzQ0fHxyPjY1NTMzKSYmcysrO2lmKHRoaXMudG9Vbmljb2RlKXtjb25zdCBlPWEocik7aWYoLTEhPT1lKXtpZihoYXNDdXJyZW50QnVmRXJyb3JzKCkpe3QucHVzaChpLmpvaW4oIiIpKTtpLmxlbmd0aD0wfWZvcihsZXQgdD0odGhpcy5jTWFwP3RoaXMuY01hcC5nZXRDaGFyQ29kZUxlbmd0aChlKToxKS0xO3Q+PTA7dC0tKWkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGU+PjgqdCYyNTUpKTtjb250aW51ZX19aWYoIWhhc0N1cnJlbnRCdWZFcnJvcnMoKSl7dC5wdXNoKGkuam9pbigiIikpO2kubGVuZ3RoPTB9aS5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KHIpKX10LnB1c2goaS5qb2luKCIiKSk7cmV0dXJuIHR9fWNsYXNzIEVycm9yRm9udHtjb25zdHJ1Y3RvcihlKXt0aGlzLmVycm9yPWU7dGhpcy5sb2FkZWROYW1lPSJnX2ZvbnRfZXJyb3IiO3RoaXMubWlzc2luZ0ZpbGU9ITB9Y2hhcnNUb0dseXBocygpe3JldHVybltdfWVuY29kZVN0cmluZyhlKXtyZXR1cm5bZV19ZXhwb3J0RGF0YShlPSExKXtyZXR1cm57ZXJyb3I6dGhpcy5lcnJvcn19fWNvbnN0IHBhPTIsbWE9Myx5YT00LHdhPTUsRGE9NixiYT03O2NsYXNzIFBhdHRlcm57Y29uc3RydWN0b3IoKXt1bnJlYWNoYWJsZSgiQ2Fubm90IGluaXRpYWxpemUgUGF0dGVybi4iKX1zdGF0aWMgcGFyc2VTaGFkaW5nKGUsdCxpLGEscyl7Y29uc3Qgcj1lIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9lLmRpY3Q6ZSxuPXIuZ2V0KCJTaGFkaW5nVHlwZSIpO3RyeXtzd2l0Y2gobil7Y2FzZSBwYTpjYXNlIG1hOnJldHVybiBuZXcgUmFkaWFsQXhpYWxTaGFkaW5nKHIsdCxpLGEscyk7Y2FzZSB5YTpjYXNlIHdhOmNhc2UgRGE6Y2FzZSBiYTpyZXR1cm4gbmV3IE1lc2hTaGFkaW5nKGUsdCxpLGEscyk7ZGVmYXVsdDp0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVuc3VwcG9ydGVkIFNoYWRpbmdUeXBlOiAiK24pfX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKGUpO3JldHVybiBuZXcgRHVtbXlTaGFkaW5nfX19Y2xhc3MgQmFzZVNoYWRpbmd7c3RhdGljIFNNQUxMX05VTUJFUj0xZS02O2dldElSKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZ2V0SVJgIGNhbGxlZC4iKX19Y2xhc3MgUmFkaWFsQXhpYWxTaGFkaW5nIGV4dGVuZHMgQmFzZVNoYWRpbmd7Y29uc3RydWN0b3IoZSx0LGksYSxzKXtzdXBlcigpO3RoaXMuc2hhZGluZ1R5cGU9ZS5nZXQoIlNoYWRpbmdUeXBlIik7bGV0IHI9MDt0aGlzLnNoYWRpbmdUeXBlPT09cGE/cj00OnRoaXMuc2hhZGluZ1R5cGU9PT1tYSYmKHI9Nik7dGhpcy5jb29yZHNBcnI9ZS5nZXRBcnJheSgiQ29vcmRzIik7aWYoIWlzTnVtYmVyQXJyYXkodGhpcy5jb29yZHNBcnIscikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJSYWRpYWxBeGlhbFNoYWRpbmc6IEludmFsaWQgL0Nvb3JkcyBhcnJheS4iKTtjb25zdCBuPUNvbG9yU3BhY2UucGFyc2Uoe2NzOmUuZ2V0UmF3KCJDUyIpfHxlLmdldFJhdygiQ29sb3JTcGFjZSIpLHhyZWY6dCxyZXNvdXJjZXM6aSxwZGZGdW5jdGlvbkZhY3Rvcnk6YSxsb2NhbENvbG9yU3BhY2VDYWNoZTpzfSk7dGhpcy5iYm94PWxvb2t1cE5vcm1hbFJlY3QoZS5nZXRBcnJheSgiQkJveCIpLG51bGwpO2xldCBnPTAsbz0xO2NvbnN0IGM9ZS5nZXRBcnJheSgiRG9tYWluIik7aXNOdW1iZXJBcnJheShjLDIpJiYoW2csb109Yyk7bGV0IEM9ITEsaD0hMTtjb25zdCBsPWUuZ2V0QXJyYXkoIkV4dGVuZCIpOyhmdW5jdGlvbiBpc0Jvb2xlYW5BcnJheShlLHQpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiYobnVsbD09PXR8fGUubGVuZ3RoPT09dCkmJmUuZXZlcnkoKGU9PiJib29sZWFuIj09dHlwZW9mIGUpKX0pKGwsMikmJihbQyxoXT1sKTtpZighKHRoaXMuc2hhZGluZ1R5cGUhPT1tYXx8QyYmaCkpe2NvbnN0W2UsdCxpLGEscyxyXT10aGlzLmNvb3Jkc0FycixuPU1hdGguaHlwb3QoZS1hLHQtcyk7aTw9cituJiZyPD1pK24mJndhcm4oIlVuc3VwcG9ydGVkIHJhZGlhbCBncmFkaWVudC4iKX10aGlzLmV4dGVuZFN0YXJ0PUM7dGhpcy5leHRlbmRFbmQ9aDtjb25zdCBRPWUuZ2V0UmF3KCJGdW5jdGlvbiIpLEU9YS5jcmVhdGVGcm9tQXJyYXkoUSksdT0oby1nKS84NDAsZD10aGlzLmNvbG9yU3RvcHM9W107aWYoZz49b3x8dTw9MCl7aW5mbygiQmFkIHNoYWRpbmcgZG9tYWluLiIpO3JldHVybn1jb25zdCBmPW5ldyBGbG9hdDMyQXJyYXkobi5udW1Db21wcykscD1uZXcgRmxvYXQzMkFycmF5KDEpO2xldCBtLHk9MDtwWzBdPWc7RShwLDAsZiwwKTtsZXQgdz1uLmdldFJnYihmLDApO2NvbnN0IEQ9VXRpbC5tYWtlSGV4Q29sb3Iod1swXSx3WzFdLHdbMl0pO2QucHVzaChbMCxEXSk7bGV0IGI9MTtwWzBdPWcrdTtFKHAsMCxmLDApO2xldCBGPW4uZ2V0UmdiKGYsMCksUz1GWzBdLXdbMF0rMSxrPUZbMV0td1sxXSsxLFI9RlsyXS13WzJdKzEsTj1GWzBdLXdbMF0tMSxHPUZbMV0td1sxXS0xLHg9RlsyXS13WzJdLTE7Zm9yKGxldCBlPTI7ZTw4NDA7ZSsrKXtwWzBdPWcrZSp1O0UocCwwLGYsMCk7bT1uLmdldFJnYihmLDApO2NvbnN0IHQ9ZS15O1M9TWF0aC5taW4oUywobVswXS13WzBdKzEpL3QpO2s9TWF0aC5taW4oaywobVsxXS13WzFdKzEpL3QpO1I9TWF0aC5taW4oUiwobVsyXS13WzJdKzEpL3QpO049TWF0aC5tYXgoTiwobVswXS13WzBdLTEpL3QpO0c9TWF0aC5tYXgoRywobVsxXS13WzFdLTEpL3QpO3g9TWF0aC5tYXgoeCwobVsyXS13WzJdLTEpL3QpO2lmKCEoTjw9UyYmRzw9ayYmeDw9Uikpe2NvbnN0IGU9VXRpbC5tYWtlSGV4Q29sb3IoRlswXSxGWzFdLEZbMl0pO2QucHVzaChbYi84NDAsZV0pO1M9bVswXS1GWzBdKzE7az1tWzFdLUZbMV0rMTtSPW1bMl0tRlsyXSsxO049bVswXS1GWzBdLTE7Rz1tWzFdLUZbMV0tMTt4PW1bMl0tRlsyXS0xO3k9Yjt3PUZ9Yj1lO0Y9bX1jb25zdCBVPVV0aWwubWFrZUhleENvbG9yKEZbMF0sRlsxXSxGWzJdKTtkLnB1c2goWzEsVV0pO2xldCBNPSJ0cmFuc3BhcmVudCI7aWYoZS5oYXMoIkJhY2tncm91bmQiKSl7bT1uLmdldFJnYihlLmdldCgiQmFja2dyb3VuZCIpLDApO009VXRpbC5tYWtlSGV4Q29sb3IobVswXSxtWzFdLG1bMl0pfWlmKCFDKXtkLnVuc2hpZnQoWzAsTV0pO2RbMV1bMF0rPUJhc2VTaGFkaW5nLlNNQUxMX05VTUJFUn1pZighaCl7ZC5hdCgtMSlbMF0tPUJhc2VTaGFkaW5nLlNNQUxMX05VTUJFUjtkLnB1c2goWzEsTV0pfXRoaXMuY29sb3JTdG9wcz1kfWdldElSKCl7Y29uc3R7Y29vcmRzQXJyOmUsc2hhZGluZ1R5cGU6dH09dGhpcztsZXQgaSxhLHMscixuO2lmKHQ9PT1wYSl7YT1bZVswXSxlWzFdXTtzPVtlWzJdLGVbM11dO3I9bnVsbDtuPW51bGw7aT0iYXhpYWwifWVsc2UgaWYodD09PW1hKXthPVtlWzBdLGVbMV1dO3M9W2VbM10sZVs0XV07cj1lWzJdO249ZVs1XTtpPSJyYWRpYWwifWVsc2UgdW5yZWFjaGFibGUoYGdldFBhdHRlcm4gdHlwZSB1bmtub3duOiAke3R9YCk7cmV0dXJuWyJSYWRpYWxBeGlhbCIsaSx0aGlzLmJib3gsdGhpcy5jb2xvclN0b3BzLGEscyxyLG5dfX1jbGFzcyBNZXNoU3RyZWFtUmVhZGVye2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5zdHJlYW09ZTt0aGlzLmNvbnRleHQ9dDt0aGlzLmJ1ZmZlcj0wO3RoaXMuYnVmZmVyTGVuZ3RoPTA7Y29uc3QgaT10Lm51bUNvbXBzO3RoaXMudG1wQ29tcHNCdWY9bmV3IEZsb2F0MzJBcnJheShpKTtjb25zdCBhPXQuY29sb3JTcGFjZS5udW1Db21wczt0aGlzLnRtcENzQ29tcHNCdWY9dC5jb2xvckZuP25ldyBGbG9hdDMyQXJyYXkoYSk6dGhpcy50bXBDb21wc0J1Zn1nZXQgaGFzRGF0YSgpe2lmKHRoaXMuc3RyZWFtLmVuZClyZXR1cm4gdGhpcy5zdHJlYW0ucG9zPHRoaXMuc3RyZWFtLmVuZDtpZih0aGlzLmJ1ZmZlckxlbmd0aD4wKXJldHVybiEwO2NvbnN0IGU9dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpO2lmKGU8MClyZXR1cm4hMTt0aGlzLmJ1ZmZlcj1lO3RoaXMuYnVmZmVyTGVuZ3RoPTg7cmV0dXJuITB9cmVhZEJpdHMoZSl7bGV0IHQ9dGhpcy5idWZmZXIsaT10aGlzLmJ1ZmZlckxlbmd0aDtpZigzMj09PWUpe2lmKDA9PT1pKXJldHVybih0aGlzLnN0cmVhbS5nZXRCeXRlKCk8PDI0fHRoaXMuc3RyZWFtLmdldEJ5dGUoKTw8MTZ8dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpPDw4fHRoaXMuc3RyZWFtLmdldEJ5dGUoKSk+Pj4wO3Q9dDw8MjR8dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpPDwxNnx0aGlzLnN0cmVhbS5nZXRCeXRlKCk8PDh8dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpO2NvbnN0IGU9dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpO3RoaXMuYnVmZmVyPWUmKDE8PGkpLTE7cmV0dXJuKHQ8PDgtaXwoMjU1JmUpPj5pKT4+PjB9aWYoOD09PWUmJjA9PT1pKXJldHVybiB0aGlzLnN0cmVhbS5nZXRCeXRlKCk7Zm9yKDtpPGU7KXt0PXQ8PDh8dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpO2krPTh9aS09ZTt0aGlzLmJ1ZmZlckxlbmd0aD1pO3RoaXMuYnVmZmVyPXQmKDE8PGkpLTE7cmV0dXJuIHQ+Pml9YWxpZ24oKXt0aGlzLmJ1ZmZlcj0wO3RoaXMuYnVmZmVyTGVuZ3RoPTB9cmVhZEZsYWcoKXtyZXR1cm4gdGhpcy5yZWFkQml0cyh0aGlzLmNvbnRleHQuYml0c1BlckZsYWcpfXJlYWRDb29yZGluYXRlKCl7Y29uc3QgZT10aGlzLmNvbnRleHQuYml0c1BlckNvb3JkaW5hdGUsdD10aGlzLnJlYWRCaXRzKGUpLGk9dGhpcy5yZWFkQml0cyhlKSxhPXRoaXMuY29udGV4dC5kZWNvZGUscz1lPDMyPzEvKCgxPDxlKS0xKToyLjMyODMwNjQzNjUzODY5NjNlLTEwO3JldHVyblt0KnMqKGFbMV0tYVswXSkrYVswXSxpKnMqKGFbM10tYVsyXSkrYVsyXV19cmVhZENvbXBvbmVudHMoKXtjb25zdCBlPXRoaXMuY29udGV4dC5udW1Db21wcyx0PXRoaXMuY29udGV4dC5iaXRzUGVyQ29tcG9uZW50LGk9dDwzMj8xLygoMTw8dCktMSk6Mi4zMjgzMDY0MzY1Mzg2OTYzZS0xMCxhPXRoaXMuY29udGV4dC5kZWNvZGUscz10aGlzLnRtcENvbXBzQnVmO2ZvcihsZXQgcj0wLG49NDtyPGU7cisrLG4rPTIpe2NvbnN0IGU9dGhpcy5yZWFkQml0cyh0KTtzW3JdPWUqaSooYVtuKzFdLWFbbl0pK2Fbbl19Y29uc3Qgcj10aGlzLnRtcENzQ29tcHNCdWY7dGhpcy5jb250ZXh0LmNvbG9yRm4mJnRoaXMuY29udGV4dC5jb2xvckZuKHMsMCxyLDApO3JldHVybiB0aGlzLmNvbnRleHQuY29sb3JTcGFjZS5nZXRSZ2IociwwKX19bGV0IEZhPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gZ2V0QihlKXtyZXR1cm4gRmFbZV18fD1mdW5jdGlvbiBidWlsZEIoZSl7Y29uc3QgdD1bXTtmb3IobGV0IGk9MDtpPD1lO2krKyl7Y29uc3QgYT1pL2Uscz0xLWE7dC5wdXNoKG5ldyBGbG9hdDMyQXJyYXkoW3MqKjMsMyphKnMqKjIsMyphKioyKnMsYSoqM10pKX1yZXR1cm4gdH0oZSl9Y2xhc3MgTWVzaFNoYWRpbmcgZXh0ZW5kcyBCYXNlU2hhZGluZ3tzdGF0aWMgTUlOX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQ9MztzdGF0aWMgTUFYX1NQTElUX1BBVENIX0NIVU5LU19BTU9VTlQ9MjA7c3RhdGljIFRSSUFOR0xFX0RFTlNJVFk9MjA7Y29uc3RydWN0b3IoZSx0LGksYSxzKXtzdXBlcigpO2lmKCEoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTWVzaCBkYXRhIGlzIG5vdCBhIHN0cmVhbSIpO2NvbnN0IHI9ZS5kaWN0O3RoaXMuc2hhZGluZ1R5cGU9ci5nZXQoIlNoYWRpbmdUeXBlIik7dGhpcy5iYm94PWxvb2t1cE5vcm1hbFJlY3Qoci5nZXRBcnJheSgiQkJveCIpLG51bGwpO2NvbnN0IG49Q29sb3JTcGFjZS5wYXJzZSh7Y3M6ci5nZXRSYXcoIkNTIil8fHIuZ2V0UmF3KCJDb2xvclNwYWNlIikseHJlZjp0LHJlc291cmNlczppLHBkZkZ1bmN0aW9uRmFjdG9yeTphLGxvY2FsQ29sb3JTcGFjZUNhY2hlOnN9KTt0aGlzLmJhY2tncm91bmQ9ci5oYXMoIkJhY2tncm91bmQiKT9uLmdldFJnYihyLmdldCgiQmFja2dyb3VuZCIpLDApOm51bGw7Y29uc3QgZz1yLmdldFJhdygiRnVuY3Rpb24iKSxvPWc/YS5jcmVhdGVGcm9tQXJyYXkoZyk6bnVsbDt0aGlzLmNvb3Jkcz1bXTt0aGlzLmNvbG9ycz1bXTt0aGlzLmZpZ3VyZXM9W107Y29uc3QgYz17Yml0c1BlckNvb3JkaW5hdGU6ci5nZXQoIkJpdHNQZXJDb29yZGluYXRlIiksYml0c1BlckNvbXBvbmVudDpyLmdldCgiQml0c1BlckNvbXBvbmVudCIpLGJpdHNQZXJGbGFnOnIuZ2V0KCJCaXRzUGVyRmxhZyIpLGRlY29kZTpyLmdldEFycmF5KCJEZWNvZGUiKSxjb2xvckZuOm8sY29sb3JTcGFjZTpuLG51bUNvbXBzOm8/MTpuLm51bUNvbXBzfSxDPW5ldyBNZXNoU3RyZWFtUmVhZGVyKGUsYyk7bGV0IGg9ITE7c3dpdGNoKHRoaXMuc2hhZGluZ1R5cGUpe2Nhc2UgeWE6dGhpcy5fZGVjb2RlVHlwZTRTaGFkaW5nKEMpO2JyZWFrO2Nhc2Ugd2E6Y29uc3QgZT0wfHIuZ2V0KCJWZXJ0aWNlc1BlclJvdyIpO2lmKGU8Mil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgVmVydGljZXNQZXJSb3ciKTt0aGlzLl9kZWNvZGVUeXBlNVNoYWRpbmcoQyxlKTticmVhaztjYXNlIERhOnRoaXMuX2RlY29kZVR5cGU2U2hhZGluZyhDKTtoPSEwO2JyZWFrO2Nhc2UgYmE6dGhpcy5fZGVjb2RlVHlwZTdTaGFkaW5nKEMpO2g9ITA7YnJlYWs7ZGVmYXVsdDp1bnJlYWNoYWJsZSgiVW5zdXBwb3J0ZWQgbWVzaCB0eXBlLiIpfWlmKGgpe3RoaXMuX3VwZGF0ZUJvdW5kcygpO2ZvcihsZXQgZT0wLHQ9dGhpcy5maWd1cmVzLmxlbmd0aDtlPHQ7ZSsrKXRoaXMuX2J1aWxkRmlndXJlRnJvbVBhdGNoKGUpfXRoaXMuX3VwZGF0ZUJvdW5kcygpO3RoaXMuX3BhY2tEYXRhKCl9X2RlY29kZVR5cGU0U2hhZGluZyhlKXtjb25zdCB0PXRoaXMuY29vcmRzLGk9dGhpcy5jb2xvcnMsYT1bXSxzPVtdO2xldCByPTA7Zm9yKDtlLmhhc0RhdGE7KXtjb25zdCBuPWUucmVhZEZsYWcoKSxnPWUucmVhZENvb3JkaW5hdGUoKSxvPWUucmVhZENvbXBvbmVudHMoKTtpZigwPT09cil7aWYoISgwPD1uJiZuPD0yKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gdHlwZTQgZmxhZyIpO3N3aXRjaChuKXtjYXNlIDA6cj0zO2JyZWFrO2Nhc2UgMTpzLnB1c2gocy5hdCgtMikscy5hdCgtMSkpO3I9MTticmVhaztjYXNlIDI6cy5wdXNoKHMuYXQoLTMpLHMuYXQoLTEpKTtyPTF9YS5wdXNoKG4pfXMucHVzaCh0Lmxlbmd0aCk7dC5wdXNoKGcpO2kucHVzaChvKTtyLS07ZS5hbGlnbigpfXRoaXMuZmlndXJlcy5wdXNoKHt0eXBlOiJ0cmlhbmdsZXMiLGNvb3JkczpuZXcgSW50MzJBcnJheShzKSxjb2xvcnM6bmV3IEludDMyQXJyYXkocyl9KX1fZGVjb2RlVHlwZTVTaGFkaW5nKGUsdCl7Y29uc3QgaT10aGlzLmNvb3JkcyxhPXRoaXMuY29sb3JzLHM9W107Zm9yKDtlLmhhc0RhdGE7KXtjb25zdCB0PWUucmVhZENvb3JkaW5hdGUoKSxyPWUucmVhZENvbXBvbmVudHMoKTtzLnB1c2goaS5sZW5ndGgpO2kucHVzaCh0KTthLnB1c2gocil9dGhpcy5maWd1cmVzLnB1c2goe3R5cGU6ImxhdHRpY2UiLGNvb3JkczpuZXcgSW50MzJBcnJheShzKSxjb2xvcnM6bmV3IEludDMyQXJyYXkocyksdmVydGljZXNQZXJSb3c6dH0pfV9kZWNvZGVUeXBlNlNoYWRpbmcoZSl7Y29uc3QgdD10aGlzLmNvb3JkcyxpPXRoaXMuY29sb3JzLGE9bmV3IEludDMyQXJyYXkoMTYpLHM9bmV3IEludDMyQXJyYXkoNCk7Zm9yKDtlLmhhc0RhdGE7KXtjb25zdCByPWUucmVhZEZsYWcoKTtpZighKDA8PXImJnI8PTMpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biB0eXBlNiBmbGFnIik7Y29uc3Qgbj10Lmxlbmd0aDtmb3IobGV0IGk9MCxhPTAhPT1yPzg6MTI7aTxhO2krKyl0LnB1c2goZS5yZWFkQ29vcmRpbmF0ZSgpKTtjb25zdCBnPWkubGVuZ3RoO2ZvcihsZXQgdD0wLGE9MCE9PXI/Mjo0O3Q8YTt0KyspaS5wdXNoKGUucmVhZENvbXBvbmVudHMoKSk7bGV0IG8sYyxDLGg7c3dpdGNoKHIpe2Nhc2UgMDphWzEyXT1uKzM7YVsxM109bis0O2FbMTRdPW4rNTthWzE1XT1uKzY7YVs4XT1uKzI7YVsxMV09bis3O2FbNF09bisxO2FbN109bis4O2FbMF09bjthWzFdPW4rMTE7YVsyXT1uKzEwO2FbM109bis5O3NbMl09ZysxO3NbM109ZysyO3NbMF09ZztzWzFdPWcrMzticmVhaztjYXNlIDE6bz1hWzEyXTtjPWFbMTNdO0M9YVsxNF07aD1hWzE1XTthWzEyXT1oO2FbMTNdPW4rMDthWzE0XT1uKzE7YVsxNV09bisyO2FbOF09QzthWzExXT1uKzM7YVs0XT1jO2FbN109bis0O2FbMF09bzthWzFdPW4rNzthWzJdPW4rNjthWzNdPW4rNTtvPXNbMl07Yz1zWzNdO3NbMl09YztzWzNdPWc7c1swXT1vO3NbMV09ZysxO2JyZWFrO2Nhc2UgMjpvPWFbMTVdO2M9YVsxMV07YVsxMl09YVszXTthWzEzXT1uKzA7YVsxNF09bisxO2FbMTVdPW4rMjthWzhdPWFbN107YVsxMV09biszO2FbNF09YzthWzddPW4rNDthWzBdPW87YVsxXT1uKzc7YVsyXT1uKzY7YVszXT1uKzU7bz1zWzNdO3NbMl09c1sxXTtzWzNdPWc7c1swXT1vO3NbMV09ZysxO2JyZWFrO2Nhc2UgMzphWzEyXT1hWzBdO2FbMTNdPW4rMDthWzE0XT1uKzE7YVsxNV09bisyO2FbOF09YVsxXTthWzExXT1uKzM7YVs0XT1hWzJdO2FbN109bis0O2FbMF09YVszXTthWzFdPW4rNzthWzJdPW4rNjthWzNdPW4rNTtzWzJdPXNbMF07c1szXT1nO3NbMF09c1sxXTtzWzFdPWcrMX1hWzVdPXQubGVuZ3RoO3QucHVzaChbKC00KnRbYVswXV1bMF0tdFthWzE1XV1bMF0rNioodFthWzRdXVswXSt0W2FbMV1dWzBdKS0yKih0W2FbMTJdXVswXSt0W2FbM11dWzBdKSszKih0W2FbMTNdXVswXSt0W2FbN11dWzBdKSkvOSwoLTQqdFthWzBdXVsxXS10W2FbMTVdXVsxXSs2Kih0W2FbNF1dWzFdK3RbYVsxXV1bMV0pLTIqKHRbYVsxMl1dWzFdK3RbYVszXV1bMV0pKzMqKHRbYVsxM11dWzFdK3RbYVs3XV1bMV0pKS85XSk7YVs2XT10Lmxlbmd0aDt0LnB1c2goWygtNCp0W2FbM11dWzBdLXRbYVsxMl1dWzBdKzYqKHRbYVsyXV1bMF0rdFthWzddXVswXSktMioodFthWzBdXVswXSt0W2FbMTVdXVswXSkrMyoodFthWzRdXVswXSt0W2FbMTRdXVswXSkpLzksKC00KnRbYVszXV1bMV0tdFthWzEyXV1bMV0rNioodFthWzJdXVsxXSt0W2FbN11dWzFdKS0yKih0W2FbMF1dWzFdK3RbYVsxNV1dWzFdKSszKih0W2FbNF1dWzFdK3RbYVsxNF1dWzFdKSkvOV0pO2FbOV09dC5sZW5ndGg7dC5wdXNoKFsoLTQqdFthWzEyXV1bMF0tdFthWzNdXVswXSs2Kih0W2FbOF1dWzBdK3RbYVsxM11dWzBdKS0yKih0W2FbMF1dWzBdK3RbYVsxNV1dWzBdKSszKih0W2FbMTFdXVswXSt0W2FbMV1dWzBdKSkvOSwoLTQqdFthWzEyXV1bMV0tdFthWzNdXVsxXSs2Kih0W2FbOF1dWzFdK3RbYVsxM11dWzFdKS0yKih0W2FbMF1dWzFdK3RbYVsxNV1dWzFdKSszKih0W2FbMTFdXVsxXSt0W2FbMV1dWzFdKSkvOV0pO2FbMTBdPXQubGVuZ3RoO3QucHVzaChbKC00KnRbYVsxNV1dWzBdLXRbYVswXV1bMF0rNioodFthWzExXV1bMF0rdFthWzE0XV1bMF0pLTIqKHRbYVsxMl1dWzBdK3RbYVszXV1bMF0pKzMqKHRbYVsyXV1bMF0rdFthWzhdXVswXSkpLzksKC00KnRbYVsxNV1dWzFdLXRbYVswXV1bMV0rNioodFthWzExXV1bMV0rdFthWzE0XV1bMV0pLTIqKHRbYVsxMl1dWzFdK3RbYVszXV1bMV0pKzMqKHRbYVsyXV1bMV0rdFthWzhdXVsxXSkpLzldKTt0aGlzLmZpZ3VyZXMucHVzaCh7dHlwZToicGF0Y2giLGNvb3JkczpuZXcgSW50MzJBcnJheShhKSxjb2xvcnM6bmV3IEludDMyQXJyYXkocyl9KX19X2RlY29kZVR5cGU3U2hhZGluZyhlKXtjb25zdCB0PXRoaXMuY29vcmRzLGk9dGhpcy5jb2xvcnMsYT1uZXcgSW50MzJBcnJheSgxNikscz1uZXcgSW50MzJBcnJheSg0KTtmb3IoO2UuaGFzRGF0YTspe2NvbnN0IHI9ZS5yZWFkRmxhZygpO2lmKCEoMDw9ciYmcjw9MykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJVbmtub3duIHR5cGU3IGZsYWciKTtjb25zdCBuPXQubGVuZ3RoO2ZvcihsZXQgaT0wLGE9MCE9PXI/MTI6MTY7aTxhO2krKyl0LnB1c2goZS5yZWFkQ29vcmRpbmF0ZSgpKTtjb25zdCBnPWkubGVuZ3RoO2ZvcihsZXQgdD0wLGE9MCE9PXI/Mjo0O3Q8YTt0KyspaS5wdXNoKGUucmVhZENvbXBvbmVudHMoKSk7bGV0IG8sYyxDLGg7c3dpdGNoKHIpe2Nhc2UgMDphWzEyXT1uKzM7YVsxM109bis0O2FbMTRdPW4rNTthWzE1XT1uKzY7YVs4XT1uKzI7YVs5XT1uKzEzO2FbMTBdPW4rMTQ7YVsxMV09bis3O2FbNF09bisxO2FbNV09bisxMjthWzZdPW4rMTU7YVs3XT1uKzg7YVswXT1uO2FbMV09bisxMTthWzJdPW4rMTA7YVszXT1uKzk7c1syXT1nKzE7c1szXT1nKzI7c1swXT1nO3NbMV09ZyszO2JyZWFrO2Nhc2UgMTpvPWFbMTJdO2M9YVsxM107Qz1hWzE0XTtoPWFbMTVdO2FbMTJdPWg7YVsxM109biswO2FbMTRdPW4rMTthWzE1XT1uKzI7YVs4XT1DO2FbOV09bis5O2FbMTBdPW4rMTA7YVsxMV09biszO2FbNF09YzthWzVdPW4rODthWzZdPW4rMTE7YVs3XT1uKzQ7YVswXT1vO2FbMV09bis3O2FbMl09bis2O2FbM109bis1O289c1syXTtjPXNbM107c1syXT1jO3NbM109ZztzWzBdPW87c1sxXT1nKzE7YnJlYWs7Y2FzZSAyOm89YVsxNV07Yz1hWzExXTthWzEyXT1hWzNdO2FbMTNdPW4rMDthWzE0XT1uKzE7YVsxNV09bisyO2FbOF09YVs3XTthWzldPW4rOTthWzEwXT1uKzEwO2FbMTFdPW4rMzthWzRdPWM7YVs1XT1uKzg7YVs2XT1uKzExO2FbN109bis0O2FbMF09bzthWzFdPW4rNzthWzJdPW4rNjthWzNdPW4rNTtvPXNbM107c1syXT1zWzFdO3NbM109ZztzWzBdPW87c1sxXT1nKzE7YnJlYWs7Y2FzZSAzOmFbMTJdPWFbMF07YVsxM109biswO2FbMTRdPW4rMTthWzE1XT1uKzI7YVs4XT1hWzFdO2FbOV09bis5O2FbMTBdPW4rMTA7YVsxMV09biszO2FbNF09YVsyXTthWzVdPW4rODthWzZdPW4rMTE7YVs3XT1uKzQ7YVswXT1hWzNdO2FbMV09bis3O2FbMl09bis2O2FbM109bis1O3NbMl09c1swXTtzWzNdPWc7c1swXT1zWzFdO3NbMV09ZysxfXRoaXMuZmlndXJlcy5wdXNoKHt0eXBlOiJwYXRjaCIsY29vcmRzOm5ldyBJbnQzMkFycmF5KGEpLGNvbG9yczpuZXcgSW50MzJBcnJheShzKX0pfX1fYnVpbGRGaWd1cmVGcm9tUGF0Y2goZSl7Y29uc3QgdD10aGlzLmZpZ3VyZXNbZV07YXNzZXJ0KCJwYXRjaCI9PT10LnR5cGUsIlVuZXhwZWN0ZWQgcGF0Y2ggbWVzaCBmaWd1cmUiKTtjb25zdCBpPXRoaXMuY29vcmRzLGE9dGhpcy5jb2xvcnMscz10LmNvb3JkcyxyPXQuY29sb3JzLG49TWF0aC5taW4oaVtzWzBdXVswXSxpW3NbM11dWzBdLGlbc1sxMl1dWzBdLGlbc1sxNV1dWzBdKSxnPU1hdGgubWluKGlbc1swXV1bMV0saVtzWzNdXVsxXSxpW3NbMTJdXVsxXSxpW3NbMTVdXVsxXSksbz1NYXRoLm1heChpW3NbMF1dWzBdLGlbc1szXV1bMF0saVtzWzEyXV1bMF0saVtzWzE1XV1bMF0pLGM9TWF0aC5tYXgoaVtzWzBdXVsxXSxpW3NbM11dWzFdLGlbc1sxMl1dWzFdLGlbc1sxNV1dWzFdKTtsZXQgQz1NYXRoLmNlaWwoKG8tbikqTWVzaFNoYWRpbmcuVFJJQU5HTEVfREVOU0lUWS8odGhpcy5ib3VuZHNbMl0tdGhpcy5ib3VuZHNbMF0pKTtDPU1hdGgubWF4KE1lc2hTaGFkaW5nLk1JTl9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5ULE1hdGgubWluKE1lc2hTaGFkaW5nLk1BWF9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5ULEMpKTtsZXQgaD1NYXRoLmNlaWwoKGMtZykqTWVzaFNoYWRpbmcuVFJJQU5HTEVfREVOU0lUWS8odGhpcy5ib3VuZHNbM10tdGhpcy5ib3VuZHNbMV0pKTtoPU1hdGgubWF4KE1lc2hTaGFkaW5nLk1JTl9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5ULE1hdGgubWluKE1lc2hTaGFkaW5nLk1BWF9TUExJVF9QQVRDSF9DSFVOS1NfQU1PVU5ULGgpKTtjb25zdCBsPUMrMSxRPW5ldyBJbnQzMkFycmF5KChoKzEpKmwpLEU9bmV3IEludDMyQXJyYXkoKGgrMSkqbCk7bGV0IHU9MDtjb25zdCBkPW5ldyBVaW50OEFycmF5KDMpLGY9bmV3IFVpbnQ4QXJyYXkoMykscD1hW3JbMF1dLG09YVtyWzFdXSx5PWFbclsyXV0sdz1hW3JbM11dLEQ9Z2V0QihoKSxiPWdldEIoQyk7Zm9yKGxldCBlPTA7ZTw9aDtlKyspe2RbMF09KHBbMF0qKGgtZSkreVswXSplKS9ofDA7ZFsxXT0ocFsxXSooaC1lKSt5WzFdKmUpL2h8MDtkWzJdPShwWzJdKihoLWUpK3lbMl0qZSkvaHwwO2ZbMF09KG1bMF0qKGgtZSkrd1swXSplKS9ofDA7ZlsxXT0obVsxXSooaC1lKSt3WzFdKmUpL2h8MDtmWzJdPShtWzJdKihoLWUpK3dbMl0qZSkvaHwwO2ZvcihsZXQgdD0wO3Q8PUM7dCsrLHUrKyl7aWYoISgwIT09ZSYmZSE9PWh8fDAhPT10JiZ0IT09QykpY29udGludWU7bGV0IHI9MCxuPTAsZz0wO2ZvcihsZXQgYT0wO2E8PTM7YSsrKWZvcihsZXQgbz0wO288PTM7bysrLGcrKyl7Y29uc3QgYz1EW2VdW2FdKmJbdF1bb107cis9aVtzW2ddXVswXSpjO24rPWlbc1tnXV1bMV0qY31RW3VdPWkubGVuZ3RoO2kucHVzaChbcixuXSk7RVt1XT1hLmxlbmd0aDtjb25zdCBvPW5ldyBVaW50OEFycmF5KDMpO29bMF09KGRbMF0qKEMtdCkrZlswXSp0KS9DfDA7b1sxXT0oZFsxXSooQy10KStmWzFdKnQpL0N8MDtvWzJdPShkWzJdKihDLXQpK2ZbMl0qdCkvQ3wwO2EucHVzaChvKX19UVswXT1zWzBdO0VbMF09clswXTtRW0NdPXNbM107RVtDXT1yWzFdO1FbbCpoXT1zWzEyXTtFW2wqaF09clsyXTtRW2wqaCtDXT1zWzE1XTtFW2wqaCtDXT1yWzNdO3RoaXMuZmlndXJlc1tlXT17dHlwZToibGF0dGljZSIsY29vcmRzOlEsY29sb3JzOkUsdmVydGljZXNQZXJSb3c6bH19X3VwZGF0ZUJvdW5kcygpe2xldCBlPXRoaXMuY29vcmRzWzBdWzBdLHQ9dGhpcy5jb29yZHNbMF1bMV0saT1lLGE9dDtmb3IobGV0IHM9MSxyPXRoaXMuY29vcmRzLmxlbmd0aDtzPHI7cysrKXtjb25zdCByPXRoaXMuY29vcmRzW3NdWzBdLG49dGhpcy5jb29yZHNbc11bMV07ZT1lPnI/cjplO3Q9dD5uP246dDtpPWk8cj9yOmk7YT1hPG4/bjphfXRoaXMuYm91bmRzPVtlLHQsaSxhXX1fcGFja0RhdGEoKXtsZXQgZSx0LGksYTtjb25zdCBzPXRoaXMuY29vcmRzLHI9bmV3IEZsb2F0MzJBcnJheSgyKnMubGVuZ3RoKTtmb3IoZT0wLGk9MCx0PXMubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9c1tlXTtyW2krK109dFswXTtyW2krK109dFsxXX10aGlzLmNvb3Jkcz1yO2NvbnN0IG49dGhpcy5jb2xvcnMsZz1uZXcgVWludDhBcnJheSgzKm4ubGVuZ3RoKTtmb3IoZT0wLGk9MCx0PW4ubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9bltlXTtnW2krK109dFswXTtnW2krK109dFsxXTtnW2krK109dFsyXX10aGlzLmNvbG9ycz1nO2NvbnN0IG89dGhpcy5maWd1cmVzO2ZvcihlPTAsdD1vLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PW9bZV0scz10LmNvb3JkcyxyPXQuY29sb3JzO2ZvcihpPTAsYT1zLmxlbmd0aDtpPGE7aSsrKXtzW2ldKj0yO3JbaV0qPTN9fX1nZXRJUigpe2NvbnN0e2JvdW5kczplfT10aGlzO2lmKGVbMl0tZVswXT09MHx8ZVszXS1lWzFdPT0wKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBNZXNoU2hhZGluZyBib3VuZHM6IFske2V9XS5gKTtyZXR1cm5bIk1lc2giLHRoaXMuc2hhZGluZ1R5cGUsdGhpcy5jb29yZHMsdGhpcy5jb2xvcnMsdGhpcy5maWd1cmVzLGUsdGhpcy5iYm94LHRoaXMuYmFja2dyb3VuZF19fWNsYXNzIER1bW15U2hhZGluZyBleHRlbmRzIEJhc2VTaGFkaW5ne2dldElSKCl7cmV0dXJuWyJEdW1teSJdfX1mdW5jdGlvbiBnZXRUaWxpbmdQYXR0ZXJuSVIoZSx0LGEpe2NvbnN0IHM9bG9va3VwTWF0cml4KHQuZ2V0QXJyYXkoIk1hdHJpeCIpLGkpLHI9bG9va3VwTm9ybWFsUmVjdCh0LmdldEFycmF5KCJCQm94IiksbnVsbCk7aWYoIXJ8fHJbMl0tclswXT09MHx8clszXS1yWzFdPT0wKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBnZXRUaWxpbmdQYXR0ZXJuSVIgL0JCb3ggYXJyYXkuIik7Y29uc3Qgbj10LmdldCgiWFN0ZXAiKTtpZigibnVtYmVyIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGdldFRpbGluZ1BhdHRlcm5JUiAvWFN0ZXAgdmFsdWUuIik7Y29uc3QgZz10LmdldCgiWVN0ZXAiKTtpZigibnVtYmVyIiE9dHlwZW9mIGcpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGdldFRpbGluZ1BhdHRlcm5JUiAvWVN0ZXAgdmFsdWUuIik7Y29uc3Qgbz10LmdldCgiUGFpbnRUeXBlIik7aWYoIU51bWJlci5pc0ludGVnZXIobykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIGdldFRpbGluZ1BhdHRlcm5JUiAvUGFpbnRUeXBlIHZhbHVlLiIpO2NvbnN0IGM9dC5nZXQoIlRpbGluZ1R5cGUiKTtpZighTnVtYmVyLmlzSW50ZWdlcihjKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgZ2V0VGlsaW5nUGF0dGVybklSIC9UaWxpbmdUeXBlIHZhbHVlLiIpO3JldHVyblsiVGlsaW5nUGF0dGVybiIsYSxlLHMscixuLGcsbyxjXX1jb25zdCBTYT1bMS4zODc3LDEsMSwxLC45NzgwMSwuOTI0ODIsLjg5NTUyLC45MTEzMywuODE5ODgsLjk3NTY2LC45ODE1MiwuOTM1NDgsLjkzNTQ4LDEuMjc5OCwuODUyODQsLjkyNzk0LDEsLjk2MTM0LDEuNTQ2NTcsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC44Mjg0NSwuODI4NDUsLjg1Mjg0LC44NTI4NCwuODUyODQsLjc1ODU5LC45MjEzOCwuODM5MDgsLjc3NjIsLjczMjkzLC44NzI4OSwuNzMxMzMsLjc1MTQsLjgxOTIxLC44NzM1NiwuOTU5NTgsLjU5NTI2LC43NTcyNywuNjkyMjUsMS4wNDkyNCwuOTEyMSwuODY5NDMsLjc5Nzk1LC44ODE5OCwuNzc5NTgsLjcwODY0LC44MTA1NSwuOTAzOTksLjg4NjUzLC45NjAxNywuODI1NzcsLjc3ODkyLC43ODI1NywuOTc1MDcsMS41NDY1NywuOTc1MDcsLjg1Mjg0LC44OTU1MiwuOTAxNzYsLjg4NzYyLC44Nzg1LC43NTI0MSwuODc4NSwuOTA1MTgsLjk1MDE1LC43NzYxOCwuODc4NSwuODg0MDEsLjkxOTE2LC44NjMwNCwuODg0MDEsLjkxNDg4LC44Nzg1LC44ODAxLC44Nzg1LC44Nzg1LC45MTM0MywuNzE3MywxLjA0MTA2LC44Nzg1LC44NTA3NSwuOTU3OTQsLjgyNjE2LC44NTE2MiwuNzk0OTIsLjg4MzMxLDEuNjk4MDgsLjg4MzMxLC44NTI4NCwuOTc4MDEsLjg5NTUyLC45MTEzMywuODk1NTIsLjkxMTMzLDEuNzgwMSwuODk1NTIsMS4yNDQ4NywxLjEzMjU0LDEuMTI0MDEsLjk2ODM5LC44NTI4NCwuNjg3ODcsLjcwNjQ1LC44NTU5MiwuOTA3NDcsMS4wMTQ2NiwxLjAwODgsLjkwMzIzLDEsMS4wNzQ2MywxLC45MTA1NiwuNzU4MDYsMS4xOTExOCwuOTY4MzksLjc4ODY0LC44Mjg0NSwuODQxMzMsLjc1ODU5LC44MzkwOCwuODM5MDgsLjgzOTA4LC44MzkwOCwuODM5MDgsLjgzOTA4LC43NzUzOSwuNzMyOTMsLjczMTMzLC43MzEzMywuNzMxMzMsLjczMTMzLC45NTk1OCwuOTU5NTgsLjk1OTU4LC45NTk1OCwuODg1MDYsLjkxMjEsLjg2OTQzLC44Njk0MywuODY5NDMsLjg2OTQzLC44Njk0MywuODUyODQsLjg3NTA4LC45MDM5OSwuOTAzOTksLjkwMzk5LC45MDM5OSwuNzc4OTIsLjc5Nzk1LC45MDgwNywuODg3NjIsLjg4NzYyLC44ODc2MiwuODg3NjIsLjg4NzYyLC44ODc2MiwuODcxNSwuNzUyNDEsLjkwNTE4LC45MDUxOCwuOTA1MTgsLjkwNTE4LC44ODQwMSwuODg0MDEsLjg4NDAxLC44ODQwMSwuODc4NSwuODc4NSwuODgwMSwuODgwMSwuODgwMSwuODgwMSwuODgwMSwuOTA3NDcsLjg5MDQ5LC44Nzg1LC44Nzg1LC44Nzg1LC44Nzg1LC44NTE2MiwuODc4NSwuODUxNjIsLjgzOTA4LC44ODc2MiwuODM5MDgsLjg4NzYyLC44MzkwOCwuODg3NjIsLjczMjkzLC43NTI0MSwuNzMyOTMsLjc1MjQxLC43MzI5MywuNzUyNDEsLjczMjkzLC43NTI0MSwuODcyODksLjgzMDE2LC44ODUwNiwuOTMxMjUsLjczMTMzLC45MDUxOCwuNzMxMzMsLjkwNTE4LC43MzEzMywuOTA1MTgsLjczMTMzLC45MDUxOCwuNzMxMzMsLjkwNTE4LC44MTkyMSwuNzc2MTgsLjgxOTIxLC43NzYxOCwuODE5MjEsLjc3NjE4LDEsMSwuODczNTYsLjg3ODUsLjkxMDc1LC44OTYwOCwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjk1OTU4LC44ODQwMSwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjc2MjI5LC45MDE2NywuNTk1MjYsLjkxOTE2LDEsMSwuODYzMDQsLjY5MjI1LC44ODQwMSwxLDEsLjcwNDI0LC43OTQ2OCwuOTE5MjYsLjg4MTc1LC43MDgyMywuOTQ5MDMsLjkxMjEsLjg3ODUsMSwxLC45MTIxLC44Nzg1LC44NzgwMiwuODg2NTYsLjg3ODUsLjg2OTQzLC44ODAxLC44Njk0MywuODgwMSwuODY5NDMsLjg4MDEsLjg3NDAyLC44OTI5MSwuNzc5NTgsLjkxMzQzLDEsMSwuNzc5NTgsLjkxMzQzLC43MDg2NCwuNzE3MywuNzA4NjQsLjcxNzMsLjcwODY0LC43MTczLC43MDg2NCwuNzE3MywxLDEsLjgxMDU1LC43NTg0MSwuODEwNTUsMS4wNjQ1MiwuOTAzOTksLjg3ODUsLjkwMzk5LC44Nzg1LC45MDM5OSwuODc4NSwuOTAzOTksLjg3ODUsLjkwMzk5LC44Nzg1LC45MDM5OSwuODc4NSwuOTYwMTcsLjk1Nzk0LC43Nzg5MiwuODUxNjIsLjc3ODkyLC43ODI1NywuNzk0OTIsLjc4MjU3LC43OTQ5MiwuNzgyNTcsLjc5NDkyLC45Mjk3LC41Njg5MiwuODM5MDgsLjg4NzYyLC43NzUzOSwuODcxNSwuODc1MDgsLjg5MDQ5LDEsMSwuODEwNTUsMS4wNDEwNiwxLjIwNTI4LDEuMjA1MjgsMSwxLjE1NTQzLC43MDY3NCwuOTgzODcsLjk0NzIxLDEuMzM0MzEsMS40NTg5NCwuOTUxNjEsMS4wNjMwMywuODM5MDgsLjgwMzUyLC41NzE4NCwuNjk2NSwuNTYyODksLjgyMDAxLC41NjAyOSwuODEyMzUsMS4wMjk4OCwuODM5MDgsLjc3NjIsLjY4MTU2LC44MDM2NywuNzMxMzMsLjc4MjU3LC44NzM1NiwuODY5NDMsLjk1OTU4LC43NTcyNywuODkwMTksMS4wNDkyNCwuOTEyMSwuNzY0OCwuODY5NDMsLjg3MzU2LC43OTc5NSwuNzgyNzUsLjgxMDU1LC43Nzg5MiwuOTc2MiwuODI1NzcsLjk5ODE5LC44NDg5NiwuOTU5NTgsLjc3ODkyLC45NjEwOCwxLjAxNDA3LC44OTA0OSwxLjAyOTg4LC45NDIxMSwuOTYxMDgsLjg5MzYsLjg0MDIxLC44Nzg0MiwuOTYzOTksLjc5MTA5LC44OTA0OSwxLjAwODEzLDEuMDI5ODgsLjg2MDc3LC44NzQ0NSwuOTIwOTksLjg0NzIzLC44NjUxMywuODgwMSwuNzU2MzgsLjg1NzE0LC43ODIxNiwuNzk1ODYsLjg3OTY1LC45NDIxMSwuOTc3NDcsLjc4Mjg3LC45NzkyNiwuODQ5NzEsMS4wMjk4OCwuOTQyMTEsLjg4MDEsLjk0MjExLC44NDk3MSwuNzMxMzMsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwMjY0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45MDUxOCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTA1NDgsMSwxLDEsMSwxLDEsLjk2MDE3LC45NTc5NCwuOTYwMTcsLjk1Nzk0LC45NjAxNywuOTU3OTQsLjc3ODkyLC44NTE2MiwxLDEsLjg5NTUyLC45MDUyNywxLC45MDM2MywuOTI3OTQsLjkyNzk0LC45Mjc5NCwuOTI3OTQsLjg3MDEyLC44NzAxMiwuODcwMTIsLjg5NTUyLC44OTU1MiwxLjQyMjU5LC43MTE0MywxLjA2MTUyLDEsMSwxLjAzMzcyLDEuMDMzNzIsLjk3MTcxLDEuNDk1NiwyLjI4MDcsLjkzODM1LC44MzQwNiwuOTExMzMsLjg0MTA3LC45MTEzMywxLDEsMSwuNzIwMjEsMSwxLjIzMTA4LC44MzQ4OSwuODg1MjUsLjg4NTI1LC44MTQ5OSwuOTA1MjcsMS44MTA1NSwuOTA1MjcsMS44MTA1NSwxLjMxMDA2LDEuNTM3MTEsLjk0NDM0LDEuMDg2OTYsMSwuOTUwMTgsLjc3MTkyLC44NTI4NCwuOTA3NDcsMS4xNzUzNCwuNjk4MjUsLjk3MTYsMS4zNzA3NywuOTA3NDcsLjkwNzQ3LC44NTM1NiwuOTA3NDcsLjkwNzQ3LDEuNDQ5NDcsLjg1Mjg0LC44OTQxLC44OTQxLC43MDU3MiwuOCwuNzA1NzIsLjcwNTcyLC43MDU3MiwuNzA1NzIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45OTg2MiwuOTk4NjIsMSwxLDEsMSwxLDEuMDgwMDQsLjkxMDI3LDEsMSwxLC45OTg2MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTA3MjcsLjkwNzI3LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxrYT17bGluZUhlaWdodDoxLjIyMDcsbGluZUdhcDouMjIwN30sUmE9WzEuMzg3NywxLDEsMSwuOTc4MDEsLjkyNDgyLC44OTU1MiwuOTExMzMsLjgxOTg4LC45NzU2NiwuOTgxNTIsLjkzNTQ4LC45MzU0OCwxLjI3OTgsLjg1Mjg0LC45Mjc5NCwxLC45NjEzNCwxLjU2MjM5LC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuODI4NDUsLjgyODQ1LC44NTI4NCwuODUyODQsLjg1Mjg0LC43NTg1OSwuOTIxMzgsLjgzOTA4LC43NzYyLC43MTgwNSwuODcyODksLjczMTMzLC43NTE0LC44MTkyMSwuODczNTYsLjk1OTU4LC41OTUyNiwuNzU3MjcsLjY5MjI1LDEuMDQ5MjQsLjkwODcyLC44NTkzOCwuNzk3OTUsLjg3MDY4LC43Nzk1OCwuNjk3NjYsLjgxMDU1LC45MDM5OSwuODg2NTMsLjk2MDY4LC44MjU3NywuNzc4OTIsLjc4MjU3LC45NzUwNywxLjUyOSwuOTc1MDcsLjg1Mjg0LC44OTU1MiwuOTAxNzYsLjk0OTA4LC44NjQxMSwuNzQwMTIsLjg2NDExLC44ODMyMywuOTUwMTUsLjg2NDExLC44NjMzMSwuODg0MDEsLjkxOTE2LC44NjMwNCwuODg0MDEsLjkwMzksLjg2MzMxLC44NjMzMSwuODY0MTEsLjg2NDExLC45MDQ2NCwuNzA4NTIsMS4wNDEwNiwuODYzMzEsLjg0MzcyLC45NTc5NCwuODI2MTYsLjg0NTQ4LC43OTQ5MiwuODgzMzEsMS42OTgwOCwuODgzMzEsLjg1Mjg0LC45NzgwMSwuODk1NTIsLjkxMTMzLC44OTU1MiwuOTExMzMsMS43ODAxLC44OTU1MiwxLjI0NDg3LDEuMTMyNTQsMS4xOTEyOSwuOTY4MzksLjg1Mjg0LC42ODc4NywuNzA2NDUsLjg1NTkyLC45MDc0NywxLjAxNDY2LDEuMDA4OCwuOTAzMjMsMSwxLjA3NDYzLDEsLjkxMDU2LC43NTgwNiwxLjE5MTE4LC45NjgzOSwuNzg4NjQsLjgyODQ1LC44NDEzMywuNzU4NTksLjgzOTA4LC44MzkwOCwuODM5MDgsLjgzOTA4LC44MzkwOCwuODM5MDgsLjc3NTM5LC43MTgwNSwuNzMxMzMsLjczMTMzLC43MzEzMywuNzMxMzMsLjk1OTU4LC45NTk1OCwuOTU5NTgsLjk1OTU4LC44ODUwNiwuOTA4NzIsLjg1OTM4LC44NTkzOCwuODU5MzgsLjg1OTM4LC44NTkzOCwuODUyODQsLjg3MDY4LC45MDM5OSwuOTAzOTksLjkwMzk5LC45MDM5OSwuNzc4OTIsLjc5Nzk1LC45MDgwNywuOTQ5MDgsLjk0OTA4LC45NDkwOCwuOTQ5MDgsLjk0OTA4LC45NDkwOCwuODU4ODcsLjc0MDEyLC44ODMyMywuODgzMjMsLjg4MzIzLC44ODMyMywuODg0MDEsLjg4NDAxLC44ODQwMSwuODg0MDEsLjg3ODUsLjg2MzMxLC44NjMzMSwuODYzMzEsLjg2MzMxLC44NjMzMSwuODYzMzEsLjkwNzQ3LC44OTA0OSwuODYzMzEsLjg2MzMxLC44NjMzMSwuODYzMzEsLjg0NTQ4LC44NjQxMSwuODQ1NDgsLjgzOTA4LC45NDkwOCwuODM5MDgsLjk0OTA4LC44MzkwOCwuOTQ5MDgsLjcxODA1LC43NDAxMiwuNzE4MDUsLjc0MDEyLC43MTgwNSwuNzQwMTIsLjcxODA1LC43NDAxMiwuODcyODksLjc5NTM4LC44ODUwNiwuOTI3MjYsLjczMTMzLC44ODMyMywuNzMxMzMsLjg4MzIzLC43MzEzMywuODgzMjMsLjczMTMzLC44ODMyMywuNzMxMzMsLjg4MzIzLC44MTkyMSwuODY0MTEsLjgxOTIxLC44NjQxMSwuODE5MjEsLjg2NDExLDEsMSwuODczNTYsLjg2MzMxLC45MTA3NSwuODc3NywuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjk1OTU4LC44ODQwMSwuOTU5NTgsLjg4NDAxLC45NTk1OCwuODg0MDEsLjc2NDY3LC45MDE2NywuNTk1MjYsLjkxOTE2LDEsMSwuODYzMDQsLjY5MjI1LC44ODQwMSwxLDEsLjcwNDI0LC43NzMxMiwuOTE5MjYsLjg4MTc1LC43MDgyMywuOTQ5MDMsLjkwODcyLC44NjMzMSwxLDEsLjkwODcyLC44NjMzMSwuODY5MDYsLjg4MTE2LC44NjMzMSwuODU5MzgsLjg2MzMxLC44NTkzOCwuODYzMzEsLjg1OTM4LC44NjMzMSwuODc0MDIsLjg2NTQ5LC43Nzk1OCwuOTA0NjQsMSwxLC43Nzk1OCwuOTA0NjQsLjY5NzY2LC43MDg1MiwuNjk3NjYsLjcwODUyLC42OTc2NiwuNzA4NTIsLjY5NzY2LC43MDg1MiwxLDEsLjgxMDU1LC43NTg0MSwuODEwNTUsMS4wNjQ1MiwuOTAzOTksLjg2MzMxLC45MDM5OSwuODYzMzEsLjkwMzk5LC44NjMzMSwuOTAzOTksLjg2MzMxLC45MDM5OSwuODYzMzEsLjkwMzk5LC44NjMzMSwuOTYwNjgsLjk1Nzk0LC43Nzg5MiwuODQ1NDgsLjc3ODkyLC43ODI1NywuNzk0OTIsLjc4MjU3LC43OTQ5MiwuNzgyNTcsLjc5NDkyLC45Mjk3LC41Njg5MiwuODM5MDgsLjk0OTA4LC43NzUzOSwuODU4ODcsLjg3MDY4LC44OTA0OSwxLDEsLjgxMDU1LDEuMDQxMDYsMS4yMDUyOCwxLjIwNTI4LDEsMS4xNTU0MywuNzAwODgsLjk4Mzg3LC45NDcyMSwxLjMzNDMxLDEuNDU4OTQsLjk1MTYxLDEuNDgzODcsLjgzOTA4LC44MDM1MiwuNTcxMTgsLjY5NjUsLjU2MzQ3LC43OTE3OSwuNTU4NTMsLjgwMzQ2LDEuMDI5ODgsLjgzOTA4LC43NzYyLC42NzE3NCwuODYwMzYsLjczMTMzLC43ODI1NywuODczNTYsLjg2NDQxLC45NTk1OCwuNzU3MjcsLjg5MDE5LDEuMDQ5MjQsLjkwODcyLC43NDg4OSwuODU5MzgsLjg3ODkxLC43OTc5NSwuNzk1NywuODEwNTUsLjc3ODkyLC45NzQ0NywuODI1NzcsLjk3NDY2LC44NzE3OSwuOTU5NTgsLjc3ODkyLC45NDI1MiwuOTU2MTIsLjg3NTMsMS4wMjk4OCwuOTI3MzMsLjk0MjUyLC44NzQxMSwuODQwMjEsLjg3MjgsLjk1NjEyLC43NDA4MSwuODc1MywxLjAyMTg5LDEuMDI5ODgsLjg0ODE0LC44NzQ0NSwuOTE4MjIsLjg0NzIzLC44NTY2OCwuODYzMzEsLjgxMzQ0LC44NzU4MSwuNzY0MjIsLjgyMDQ2LC45NjA1NywuOTI3MzMsLjk5Mzc1LC43ODAyMiwuOTU0NTIsLjg2MDE1LDEuMDI5ODgsLjkyNzMzLC44NjMzMSwuOTI3MzMsLjg2MDE1LC43MzEzMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTA2MzEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg4MzIzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44NTE3NCwxLDEsMSwxLDEsMSwuOTYwNjgsLjk1Nzk0LC45NjA2OCwuOTU3OTQsLjk2MDY4LC45NTc5NCwuNzc4OTIsLjg0NTQ4LDEsMSwuODk1NTIsLjkwNTI3LDEsLjkwMzYzLC45Mjc5NCwuOTI3OTQsLjkyNzk0LC44OTgwNywuODcwMTIsLjg3MDEyLC44NzAxMiwuODk1NTIsLjg5NTUyLDEuNDIyNTksLjcxMDk0LDEuMDYxNTIsMSwxLDEuMDMzNzIsMS4wMzM3MiwuOTcxNzEsMS40OTU2LDIuMjgwNywuOTI5NzIsLjgzNDA2LC45MTEzMywuODMzMjYsLjkxMTMzLDEsMSwxLC43MjAyMSwxLDEuMjMxMDgsLjgzNDg5LC44ODUyNSwuODg1MjUsLjgxNDk5LC45MDYxNiwxLjgxMDU1LC45MDUyNywxLjgxMDU1LDEuMzEwNywxLjUzNzExLC45NDQzNCwxLjA4Njk2LDEsLjk1MDE4LC43NzE5MiwuODUyODQsLjkwNzQ3LDEuMTc1MzQsLjY5ODI1LC45NzE2LDEuMzcwNzcsLjkwNzQ3LC45MDc0NywuODUzNTYsLjkwNzQ3LC45MDc0NywxLjQ0OTQ3LC44NTI4NCwuODk0MSwuODk0MSwuNzA1NzIsLjgsLjcwNTcyLC43MDU3MiwuNzA1NzIsLjcwNTcyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTk4NjIsLjk5ODYyLDEsMSwxLDEsMSwxLjA4MDA0LC45MTAyNywxLDEsMSwuOTk4NjIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwNzI3LC45MDcyNywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sTmE9e2xpbmVIZWlnaHQ6MS4yMjA3LGxpbmVHYXA6LjIyMDd9LEdhPVsxLjM4NzcsMSwxLDEsMS4xNzIyMywxLjEyOTMsLjg5NTUyLC45MTEzMywuODAzOTUsMS4wMjI2OSwxLjE1NjAxLC45MTA1NiwuOTEwNTYsMS4yNzk4LC44NTI4NCwuODk4MDcsMSwuOTA4NjEsMS4zOTU0MywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjk2MzA5LC45NjMwOSwuODUyODQsLjg1Mjg0LC44NTI4NCwuODMzMTksLjg4MDcxLC44Njc1LC44MTU1MiwuNzIzNDYsLjg1MTkzLC43MzIwNiwuNzUyMiwuODExMDUsLjg2Mjc1LC45MDY4NSwuNjM3NywuNzc4OTIsLjc1NTkzLDEuMDI2MzgsLjg5MjQ5LC44NDExOCwuNzc0NTIsLjg1Mzc0LC43NTE4NiwuNjc3ODksLjc5Nzc2LC44ODg0NCwuODUwNjYsLjk0MzA5LC43NzgxOCwuNzMwNiwuNzY2NTksMS4xMDM2OSwxLjM4MzEzLDEuMTAzNjksMS4wNjEzOSwuODk1NTIsLjg3MzksLjkyNDUsLjkyNDUsLjgzMjAzLC45MjQ1LC44NTg2NSwxLjA5ODQyLC45MjQ1LC45MjQ1LDEuMDMyOTcsMS4wNzY5MiwuOTA5MTgsMS4wMzI5NywuOTQ5NTksLjkyNDUsLjkyMjc0LC45MjQ1LC45MjQ1LDEuMDI5MzMsLjc3ODMyLDEuMjA1NjIsLjkyNDUsLjg5MTYsLjk4OTg2LC44NjYyMSwuODk0NTMsLjc5MDA0LC45NDE1MiwxLjc3MjU2LC45NDE1MiwuODUyODQsLjk3ODAxLC44OTU1MiwuOTExMzMsLjg5NTUyLC45MTEzMywxLjkxNzI5LC44OTU1MiwxLjE3ODg5LDEuMTMyNTQsMS4xNjM1OSwuOTIwOTgsLjg1Mjg0LC42ODc4NywuNzEzNTMsLjg0NzM3LC45MDc0NywxLjAwODgsMS4wMDQ0LC44NzY4MywxLDEuMDkwOTEsMSwuOTIyMjksLjczOSwxLjE1NjQyLC45MjA5OCwuNzYyODgsLjgwNTA0LC44MDk3MiwuNzU4NTksLjg2NzUsLjg2NzUsLjg2NzUsLjg2NzUsLjg2NzUsLjg2NzUsLjc2MzE4LC43MjM0NiwuNzMyMDYsLjczMjA2LC43MzIwNiwuNzMyMDYsLjkwNjg1LC45MDY4NSwuOTA2ODUsLjkwNjg1LC44NjQ3NywuODkyNDksLjg0MTE4LC44NDExOCwuODQxMTgsLjg0MTE4LC44NDExOCwuODUyODQsLjg0NTU3LC44ODg0NCwuODg4NDQsLjg4ODQ0LC44ODg0NCwuNzMwNiwuNzc0NTIsLjg2MzMxLC45MjQ1LC45MjQ1LC45MjQ1LC45MjQ1LC45MjQ1LC45MjQ1LC44NDg0MywuODMyMDMsLjg1ODY1LC44NTg2NSwuODU4NjUsLjg1ODY1LC44MjYwMSwuODI2MDEsLjgyNjAxLC44MjYwMSwuOTQ0NjksLjkyNDUsLjkyMjc0LC45MjI3NCwuOTIyNzQsLjkyMjc0LC45MjI3NCwuOTA3NDcsLjg2NjUxLC45MjQ1LC45MjQ1LC45MjQ1LC45MjQ1LC44OTQ1MywuOTI0NSwuODk0NTMsLjg2NzUsLjkyNDUsLjg2NzUsLjkyNDUsLjg2NzUsLjkyNDUsLjcyMzQ2LC44MzIwMywuNzIzNDYsLjgzMjAzLC43MjM0NiwuODMyMDMsLjcyMzQ2LC44MzIwMywuODUxOTMsLjg4NzUsLjg2NDc3LC45OTAzNCwuNzMyMDYsLjg1ODY1LC43MzIwNiwuODU4NjUsLjczMjA2LC44NTg2NSwuNzMyMDYsLjg1ODY1LC43MzIwNiwuODU4NjUsLjgxMTA1LC45MjQ1LC44MTEwNSwuOTI0NSwuODExMDUsLjkyNDUsMSwxLC44NjI3NSwuOTI0NSwuOTA4NzIsLjkzNTkxLC45MDY4NSwuODI2MDEsLjkwNjg1LC44MjYwMSwuOTA2ODUsLjgyNjAxLC45MDY4NSwxLjAzMjk3LC45MDY4NSwuODI2MDEsLjc3ODk2LDEuMDU2MTEsLjYzNzcsMS4wNzY5MiwxLDEsLjkwOTE4LC43NTU5MywxLjAzMjk3LDEsMSwuNzYwMzIsLjkzNzUsLjk4MTU2LC45MzQwNywuNzcyNjEsMS4xMTQyOSwuODkyNDksLjkyNDUsMSwxLC44OTI0OSwuOTI0NSwuOTI1MzQsLjg2Njk4LC45MjQ1LC44NDExOCwuOTIyNzQsLjg0MTE4LC45MjI3NCwuODQxMTgsLjkyMjc0LC44NjY3LC44NjI5MSwuNzUxODYsMS4wMjkzMywxLDEsLjc1MTg2LDEuMDI5MzMsLjY3Nzg5LC43NzgzMiwuNjc3ODksLjc3ODMyLC42Nzc4OSwuNzc4MzIsLjY3Nzg5LC43NzgzMiwxLDEsLjc5Nzc2LC45NzY1NSwuNzk3NzYsMS4yMzAyMywuODg4NDQsLjkyNDUsLjg4ODQ0LC45MjQ1LC44ODg0NCwuOTI0NSwuODg4NDQsLjkyNDUsLjg4ODQ0LC45MjQ1LC44ODg0NCwuOTI0NSwuOTQzMDksLjk4OTg2LC43MzA2LC44OTQ1MywuNzMwNiwuNzY2NTksLjc5MDA0LC43NjY1OSwuNzkwMDQsLjc2NjU5LC43OTAwNCwxLjA5MjMxLC41NDg3MywuODY3NSwuOTI0NSwuNzYzMTgsLjg0ODQzLC44NDU1NywuODY2NTEsMSwxLC43OTc3NiwxLjIwNTYyLDEuMTg2MjIsMS4xODYyMiwxLDEuMTQzNywuNjcwMDksLjk2MzM0LC45MzY5NSwxLjM1MTkxLDEuNDA5MDksLjk1MTYxLDEuNDgzODcsLjg2NzUsLjkwODYxLC42MTkyLC43MzYzLC42NDgyNCwuODI0MTEsLjU2MzIxLC44NTY5NiwxLjIzNTE2LC44Njc1LC44MTU1MiwuNzI4NiwuODQxMzQsLjczMjA2LC43NjY1OSwuODYyNzUsLjg0MzY5LC45MDY4NSwuNzc4OTIsLjg1ODcxLDEuMDI2MzgsLjg5MjQ5LC43NTgyOCwuODQxMTgsLjg1OTg0LC43NzQ1MiwuNzY0NjYsLjc5Nzc2LC43MzA2LC45MDc4MiwuNzc4MTgsLjkwMywuODcyOTEsLjkwNjg1LC43MzA2LC45OTA1OCwxLjAzNjY3LC45NDYzNSwxLjIzNTE2LC45ODQ5LC45OTA1OCwuOTIzOTMsLjg5MTYsLjk0MiwxLjAzNjY3LC43NTAyNiwuOTQ2MzUsMS4wMjk3LDEuMjM1MTYsLjkwOTE4LC45NDA0OCwuOTgyMTcsLjg5NzQ2LC44NDE1MywuOTIyNzQsLjgyNTA3LC44ODgzMiwuODQ0MzgsLjg4MTc4LDEuMDM1MjUsLjk4NDksMS4wMDIyNSwuNzgwODYsLjk3MjQ4LC44OTQwNCwxLjIzNTE2LC45ODQ5LC45MjI3NCwuOTg0OSwuODk0MDQsLjczMjA2LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44OTY5MywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODU4NjUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkwOTMzLDEsMSwxLDEsMSwxLC45NDMwOSwuOTg5ODYsLjk0MzA5LC45ODk4NiwuOTQzMDksLjk4OTg2LC43MzA2LC44OTQ1MywxLDEsLjg5NTUyLC45MDUyNywxLC45MDE4NiwxLjEyMzA4LDEuMTIzMDgsMS4xMjMwOCwxLjEyMzA4LDEuMjU2NiwxLjI1NjYsMS4yNTY2LC44OTU1MiwuODk1NTIsMS40MjI1OSwuNjg5OTQsMS4wMzgwOSwxLDEsMS4wMTc2LDEuMDE3NiwxLjExNTIzLDEuNDk1NiwyLjAxNDYyLC45Nzg1OCwuODI2MTYsLjkxMTMzLC44MzQzNywuOTExMzMsMSwxLDEsLjcwNTA4LDEsMS4yMzEwOCwuNzk4MDEsLjg0NDI2LC44NDQyNiwuNzc0LC45MDU3MiwxLjgxMDU1LC45MDc0OSwxLjgxMDU1LDEuMjg4MDksMS41NTQ2OSwuOTQ0MzQsMS4wNzgwNiwxLC45NzA5NCwuNzU4OSwuODUyODQsLjkwNzQ3LDEuMTk2NTgsLjY5ODI1LC45NzYyMiwxLjMzNTEyLC45MDc0NywuOTA3NDcsLjg1Mjg0LC45MDc0NywuOTA3NDcsMS40NDk0NywuODUyODQsLjg5NDEsLjg5NDEsLjcwNTcyLC44LC43MDU3MiwuNzA1NzIsLjcwNTcyLC43MDU3MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjk5ODYyLC45OTg2MiwxLDEsMSwxLDEsMS4wMzM2LC45MTAyNywxLDEsMSwuOTk4NjIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wNTg1OSwxLjA1ODU5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSx4YT17bGluZUhlaWdodDoxLjIyMDcsbGluZUdhcDouMjIwN30sVWE9WzEuMzg3NywxLDEsMSwxLjE3MjIzLDEuMTI5MywuODk1NTIsLjkxMTMzLC44MDM5NSwxLjAyMjY5LDEuMTU2MDEsLjkxMDU2LC45MTA1NiwxLjI3OTgsLjg1Mjg0LC44OTgwNywxLC45MDg2MSwxLjM5MDE2LC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTExMzMsLjkxMTMzLC45MTEzMywuOTYzMDksLjk2MzA5LC44NTI4NCwuODUyODQsLjg1Mjg0LC44MzMxOSwuODgwNzEsLjg2NzUsLjgxNTUyLC43MzgzNCwuODUxOTMsLjczMjA2LC43NTIyLC44MTEwNSwuODYyNzUsLjkwNjg1LC42Mzc3LC43Nzg5MiwuNzU1OTMsMS4wMjYzOCwuODkzODUsLjg1MTIyLC43NzQ1MiwuODY1MDMsLjc1MTg2LC42ODg4NywuNzk3NzYsLjg4ODQ0LC44NTA2NiwuOTQyNTgsLjc3ODE4LC43MzA2LC43NjY1OSwxLjEwMzY5LDEuMzkwMTYsMS4xMDM2OSwxLjA2MTM5LC44OTU1MiwuODczOSwuODYxMjgsLjk0NDY5LC44NDU3LC45NDQ2OSwuODk0NjQsMS4wOTg0MiwuODQ2MzYsLjk0NDY5LDEuMDMyOTcsMS4wNzY5MiwuOTA5MTgsMS4wMzI5NywuOTU4OTcsLjk0NDY5LC45NDgyLC45NDQ2OSwuOTQ0NjksMS4wNDY5MiwuNzgyMjMsMS4yMDU2MiwuOTQ0NjksLjkwMzMyLC45ODk4NiwuODY2MjEsLjkwNTI3LC43OTAwNCwuOTQxNTIsMS43NzI1NiwuOTQxNTIsLjg1Mjg0LC45NzgwMSwuODk1NTIsLjkxMTMzLC44OTU1MiwuOTExMzMsMS45MTcyOSwuODk1NTIsMS4xNzg4OSwxLjEzMjU0LDEuMDg3MDcsLjkyMDk4LC44NTI4NCwuNjg3ODcsLjcxMzUzLC44NDczNywuOTA3NDcsMS4wMDg4LDEuMDA0NCwuODc2ODMsMSwxLjA5MDkxLDEsLjkyMjI5LC43MzksMS4xNTY0MiwuOTIwOTgsLjc2Mjg4LC44MDUwNCwuODA5NzIsLjc1ODU5LC44Njc1LC44Njc1LC44Njc1LC44Njc1LC44Njc1LC44Njc1LC43NjMxOCwuNzM4MzQsLjczMjA2LC43MzIwNiwuNzMyMDYsLjczMjA2LC45MDY4NSwuOTA2ODUsLjkwNjg1LC45MDY4NSwuODY0NzcsLjg5Mzg1LC44NTEyMiwuODUxMjIsLjg1MTIyLC44NTEyMiwuODUxMjIsLjg1Mjg0LC44NTMxMSwuODg4NDQsLjg4ODQ0LC44ODg0NCwuODg4NDQsLjczMDYsLjc3NDUyLC44NjMzMSwuODYxMjgsLjg2MTI4LC44NjEyOCwuODYxMjgsLjg2MTI4LC44NjEyOCwuODY5MywuODQ1NywuODk0NjQsLjg5NDY0LC44OTQ2NCwuODk0NjQsLjgyNjAxLC44MjYwMSwuODI2MDEsLjgyNjAxLC45NDQ2OSwuOTQ0NjksLjk0ODIsLjk0ODIsLjk0ODIsLjk0ODIsLjk0ODIsLjkwNzQ3LC44NjY1MSwuOTQ0NjksLjk0NDY5LC45NDQ2OSwuOTQ0NjksLjkwNTI3LC45NDQ2OSwuOTA1MjcsLjg2NzUsLjg2MTI4LC44Njc1LC44NjEyOCwuODY3NSwuODYxMjgsLjczODM0LC44NDU3LC43MzgzNCwuODQ1NywuNzM4MzQsLjg0NTcsLjczODM0LC44NDU3LC44NTE5MywuOTI0NTQsLjg2NDc3LC45OTIxLC43MzIwNiwuODk0NjQsLjczMjA2LC44OTQ2NCwuNzMyMDYsLjg5NDY0LC43MzIwNiwuODk0NjQsLjczMjA2LC44OTQ2NCwuODExMDUsLjg0NjM2LC44MTEwNSwuODQ2MzYsLjgxMTA1LC44NDYzNiwxLDEsLjg2Mjc1LC45NDQ2OSwuOTA4NzIsLjk1Nzg2LC45MDY4NSwuODI2MDEsLjkwNjg1LC44MjYwMSwuOTA2ODUsLjgyNjAxLC45MDY4NSwxLjAzMjk3LC45MDY4NSwuODI2MDEsLjc3NzQxLDEuMDU2MTEsLjYzNzcsMS4wNzY5MiwxLDEsLjkwOTE4LC43NTU5MywxLjAzMjk3LDEsMSwuNzYwMzIsLjkwNDUyLC45ODE1NiwxLjExODQyLC43NzI2MSwxLjExNDI5LC44OTM4NSwuOTQ0NjksMSwxLC44OTM4NSwuOTQ0NjksLjk1ODc3LC44NjkwMSwuOTQ0NjksLjg1MTIyLC45NDgyLC44NTEyMiwuOTQ4MiwuODUxMjIsLjk0ODIsLjg2NjcsLjkwMDE2LC43NTE4NiwxLjA0NjkyLDEsMSwuNzUxODYsMS4wNDY5MiwuNjg4ODcsLjc4MjIzLC42ODg4NywuNzgyMjMsLjY4ODg3LC43ODIyMywuNjg4ODcsLjc4MjIzLDEsMSwuNzk3NzYsLjkyMTg4LC43OTc3NiwxLjIzMDIzLC44ODg0NCwuOTQ0NjksLjg4ODQ0LC45NDQ2OSwuODg4NDQsLjk0NDY5LC44ODg0NCwuOTQ0NjksLjg4ODQ0LC45NDQ2OSwuODg4NDQsLjk0NDY5LC45NDI1OCwuOTg5ODYsLjczMDYsLjkwNTI3LC43MzA2LC43NjY1OSwuNzkwMDQsLjc2NjU5LC43OTAwNCwuNzY2NTksLjc5MDA0LDEuMDkyMzEsLjU0ODczLC44Njc1LC44NjEyOCwuNzYzMTgsLjg2OTMsLjg1MzExLC44NjY1MSwxLDEsLjc5Nzc2LDEuMjA1NjIsMS4xODYyMiwxLjE4NjIyLDEsMS4xNDM3LC42Nzc0MiwuOTYzMzQsLjkzNjk1LDEuMzUxOTEsMS40MDkwOSwuOTUxNjEsMS40ODM4NywuODY2ODYsLjkwODYxLC42MjI2NywuNzQzNTksLjY1NjQ5LC44NTQ5OCwuNTY5NjMsLjg4MjU0LDEuMjM1MTYsLjg2NzUsLjgxNTUyLC43NTQ0MywuODQ1MDMsLjczMjA2LC43NjY1OSwuODYyNzUsLjg1MTIyLC45MDY4NSwuNzc4OTIsLjg1NzQ2LDEuMDI2MzgsLjg5Mzg1LC43NTY1NywuODUxMjIsLjg2Mjc1LC43NzQ1MiwuNzQxNzEsLjc5Nzc2LC43MzA2LC45NTE2NSwuNzc4MTgsLjg5NzcyLC44ODgzMSwuOTA2ODUsLjczMDYsLjk4MTQyLDEuMDIxOTEsLjk2NTc2LDEuMjM1MTYsLjk5MDE4LC45ODE0MiwuOTIzNiwuODkyNTgsLjk0MDM1LDEuMDIxOTEsLjc4ODQ4LC45NjU3NiwuOTU2MSwxLjIzNTE2LC45MDkxOCwuOTI1NzgsLjk1NDI0LC44OTc0NiwuODM5NjksLjk0ODIsLjgwMTEzLC44OTQ0MiwuODUyMDgsLjg2MTU1LC45ODAyMiwuOTkwMTgsMS4wMDQ1MiwuODEyMDksLjk5MjQ3LC44OTE4MSwxLjIzNTE2LC45OTAxOCwuOTQ4MiwuOTkwMTgsLjg5MTgxLC43MzIwNiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODg4NDQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg5NDY0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45Njc2NiwxLDEsMSwxLDEsMSwuOTQyNTgsLjk4OTg2LC45NDI1OCwuOTg5ODYsLjk0MjU4LC45ODk4NiwuNzMwNiwuOTA1MjcsMSwxLC44OTU1MiwuOTA1MjcsMSwuOTAxODYsMS4xMjMwOCwxLjEyMzA4LDEuMTIzMDgsMS4xMjMwOCwxLjI1NjYsMS4yNTY2LDEuMjU2NiwuODk1NTIsLjg5NTUyLDEuNDIyNTksLjY5MDQzLDEuMDM4MDksMSwxLDEuMDE3NiwxLjAxNzYsMS4xMTUyMywxLjQ5NTYsMi4wMTQ2MiwuOTkzMzEsLjgyNjE2LC45MTEzMywuODQyODYsLjkxMTMzLDEsMSwxLC43MDUwOCwxLDEuMjMxMDgsLjc5ODAxLC44NDQyNiwuODQ0MjYsLjc3NCwuOTA1MjcsMS44MTA1NSwuOTA1MjcsMS44MTA1NSwxLjI4ODA5LDEuNTU0NjksLjk0NDM0LDEuMDc4MDYsMSwuOTcwOTQsLjc1ODksLjg1Mjg0LC45MDc0NywxLjE5NjU4LC42OTgyNSwuOTc2MjIsMS4zMzUxMiwuOTA3NDcsLjkwNzQ3LC44NTM1NiwuOTA3NDcsLjkwNzQ3LDEuNDQ5NDcsLjg1Mjg0LC44OTQxLC44OTQxLC43MDU3MiwuOCwuNzA1NzIsLjcwNTcyLC43MDU3MiwuNzA1NzIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45OTg2MiwuOTk4NjIsMSwxLDEsMSwxLDEuMDMzNiwuOTEwMjcsMSwxLDEsLjk5ODYyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDU4NTksMS4wNTg1OSwxLDEsMSwxLjA3MTg1LC45OTQxMywuOTYzMzQsMS4wODA2NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLE1hPXtsaW5lSGVpZ2h0OjEuMjIwNyxsaW5lR2FwOi4yMjA3fSxMYT1bLjc2MTE2LDEsMSwxLjAwMDYsLjk5OTk4LC45OTk3NCwuOTk5NzMsLjk5OTczLC45OTk4MiwuOTk5NzcsMS4wMDA4NywuOTk5OTgsLjk5OTk4LC45OTk1OSwxLjAwMDAzLDEuMDAwNiwuOTk5OTgsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTk4LDEsMS4wMDAwMywxLjAwMDAzLDEuMDAwMDMsMS4wMDAyNiwuOTk5OSwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LDEuMDAwMjIsLjk5OTc3LDEuMDAwNiwuOTk5NzMsLjk5OTc3LDEuMDAwMjYsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMDEsMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDAxLDEuMDAwMTYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTk4LDEuMDAwNiwuOTk5OTgsMS4wMDAwMywuOTk5NzMsLjk5OTk4LC45OTk3MywxLjAwMDI2LC45OTk3MywxLjAwMDI2LC45OTk3MywuOTk5OTgsMS4wMDAyNiwxLjAwMDI2LDEuMDAwNiwxLjAwMDYsLjk5OTczLDEuMDAwNiwuOTk5ODIsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NTksLjk5OTczLC45OTk5OCwxLjAwMDI2LC45OTk3MywxLjAwMDIyLC45OTk3MywuOTk5NzMsMSwuOTk5NTksMS4wMDA3NywuOTk5NTksMS4wMDAwMywuOTk5OTgsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNzcsLjk5OTczLC45OTk5OCwxLjAwMDI1LC45OTk2OCwuOTk5NzMsMS4wMDAwMywxLjAwMDI1LC42MDI5OSwxLjAwMDI0LDEuMDY0MDksMSwxLC45OTk5OCwxLC45OTk3MywxLjAwMDYsLjk5OTk4LDEsLjk5OTM2LC45OTk3MywxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDI2LC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LDEsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3NywuOTk5NzcsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMDMsMS4wMDAyMiwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTgyLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wNjQwOSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk5OTczLDEuMDAwMjYsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LDEuMDMzNzQsLjk5OTc3LDEuMDAwMjYsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDQyLC45OTk3MywuOTk5NzMsMS4wMDA2LC45OTk3NywuOTk5NzMsLjk5OTczLDEuMDAwMjYsMS4wMDA2LDEuMDAwMjYsMS4wMDA2LDEuMDAwMjYsMS4wMzgyOCwxLjAwMDI2LC45OTk5OSwxLjAwMDI2LDEuMDAwNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5MywuOTk5OCwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEsMS4wMDAxNiwuOTk5NzcsLjk5OTU5LC45OTk3NywuOTk5NTksLjk5OTc3LC45OTk1OSwxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDI2LC45OTk5OCwxLjAwMDI2LC44MTIxLDEuMDAwMjYsLjk5OTk4LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LC45OTk3NywxLjAwMDI2LDEuMDAwMTYsMS4wMDAyMiwxLjAwMDAxLC45OTk3MywxLjAwMDAxLDEuMDAwMjYsMSwxLjAwMDI2LDEsMS4wMDAyNiwxLDEuMDAwNiwuOTk5NzMsLjk5OTc3LC45OTk3MywxLC45OTk4MiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAwMSwuOTk5NzMsMS4wMDAyNiwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LDEuMDAwMzQsLjk5OTc3LDEsLjk5OTk3LDEuMDAwMjYsMS4wMDA3OCwxLjAwMDM2LC45OTk3MywxLjAwMDEzLDEuMDAwNiwuOTk5NzcsLjk5OTc3LC45OTk4OCwuODUxNDgsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDIyLDEuMDAwNiwuOTk5NzcsMS4wMDAwMSwuOTk5OTksLjk5OTc3LDEuMDAwNjksMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwuOTk5ODQsMS4wMDAyNiwxLjAwMDAxLDEuMDAwMjQsMS4wMDAwMSwuOTk5OSwxLDEuMDAwNiwxLjAwMDAxLDEuMDAwNDEsLjk5OTYyLDEuMDAwMjYsMS4wMDA2LC45OTk5NSwxLjAwMDQxLC45OTk0MiwuOTk5NzMsLjk5OTI3LDEuMDAwODIsLjk5OTAyLDEuMDAwMjYsMS4wMDA4NywxLjAwMDYsMS4wMDA2OSwuOTk5NzMsLjk5ODY3LC45OTk3MywuOTk5MywxLjAwMDI2LDEuMDAwNDksMS4wMDA1NiwxLC45OTk4OCwuOTk5MzUsLjk5OTk1LC45OTk1NCwxLjAwMDU1LC45OTk0NSwxLjAwMDMyLDEuMDAwNiwuOTk5OTUsMS4wMDAyNiwuOTk5OTUsMS4wMDAzMiwxLjAwMDAxLDEuMDAwMDgsLjk5OTcxLDEuMDAwMTksLjk5OTQsMS4wMDAwMSwxLjAwMDYsMS4wMDA0NCwuOTk5NzMsMS4wMDAyMywxLjAwMDQ3LDEsLjk5OTQyLC45OTU2MSwuOTk5ODksMS4wMDAzNSwuOTk5NzcsMS4wMDAzNSwuOTk5NzcsMS4wMDAxOSwuOTk5NDQsMS4wMDAwMSwxLjAwMDIxLC45OTkyNiwxLjAwMDM1LDEuMDAwMzUsLjk5OTQyLDEuMDAwNDgsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMzUsMS4wMDAwMSwuOTk5NzcsMS4wMDAyNiwuOTk5ODksMS4wMDA1NywxLjAwMDAxLC45OTkzNiwxLjAwMDUyLDEuMDAwMTIsLjk5OTk2LDEuMDAwNDMsMSwxLjAwMDM1LC45OTk0LC45OTk3NiwxLjAwMDM1LC45OTk3MywxLjAwMDUyLDEuMDAwNDEsMS4wMDExOSwxLjAwMDM3LC45OTk3MywxLjAwMDAyLC45OTk4NiwxLjAwMDQxLDEuMDAwNDEsLjk5OTAyLC45OTk2LDEuMDAwMzQsLjk5OTk5LDEuMDAwMjYsLjk5OTk5LDEuMDAwMjYsLjk5OTczLDEuMDAwNTIsLjk5OTczLDEsLjk5OTczLDEuMDAwNDEsMS4wMDA3NSwuOTk5NCwxLjAwMDMsLjk5OTk5LDEsMS4wMDA0MSwuOTk5NTUsMSwuOTk5MTUsLjk5OTczLC45OTk3MywxLjAwMDI2LDEuMDAxMTksLjk5OTU1LC45OTk3MywxLjAwMDYsLjk5OTExLDEuMDAwNiwxLjAwMDI2LC45OTk3MiwxLjAwMDI2LC45OTkwMiwxLjAwMDQxLC45OTk3MywuOTk5OTksMSwxLDEuMDAwMzgsMS4wMDA1LDEuMDAwMTYsMS4wMDAyMiwxLjAwMDE2LDEuMDAwMjIsMS4wMDAxNiwxLjAwMDIyLDEuMDAwMDEsLjk5OTczLDEsMSwuOTk5NzMsMSwxLC45OTk1NSwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMSwxLDEsLjk5OTczLC45OTk3MywuOTk5NzIsMSwxLDEuMDAxMDYsLjk5OTk5LC45OTk5OCwuOTk5OTgsLjk5OTk5LC45OTk5OCwxLjY2NDc1LDEsLjk5OTczLC45OTk3MywxLjAwMDIzLC45OTk3MywuOTk5NzEsMS4wMDA0NywxLjAwMDIzLDEsLjk5OTkxLC45OTk4NCwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEsMSwxLDEsMSwxLDEsLjk5OTcyLDEsMS4yMDk4NSwxLjM5NzEzLDEuMDAwMDMsMS4wMDAzMSwxLjAwMDE1LDEsLjk5NTYxLDEuMDAwMjcsMS4wMDAzMSwxLjAwMDMxLC45OTkxNSwxLjAwMDMxLDEuMDAwMzEsLjk5OTk5LDEuMDAwMDMsLjk5OTk5LC45OTk5OSwxLjQxMTQ0LDEuNiwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDA1NzksMS40MDU3OSwxLjM2NjI1LC45OTk5OSwxLC45OTg2MSwuOTk4NjEsMSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45OTk3MiwuOTk5OTksLjk5OTk5LC45OTk5OSwuOTk5OTksMS40MDQ4MywxLC45OTk3NywxLjAwMDU0LDEsMSwuOTk5NTMsLjk5OTYyLDEuMDAwNDIsLjk5OTUsMSwxLDEsMSwxLDEsMSwxLC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLEhhPXtsaW5lSGVpZ2h0OjEuMixsaW5lR2FwOi4yfSxKYT1bLjc2MTE2LDEsMSwxLjAwMDYsLjk5OTk4LC45OTk3NCwuOTk5NzMsLjk5OTczLC45OTk4MiwuOTk5NzcsMS4wMDA4NywuOTk5OTgsLjk5OTk4LC45OTk1OSwxLjAwMDAzLDEuMDAwNiwuOTk5OTgsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTk4LDEsMS4wMDAwMywxLjAwMDAzLDEuMDAwMDMsMS4wMDAyNiwuOTk5OSwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LDEuMDAwMjIsLjk5OTc3LDEuMDAwNiwuOTk5NzMsLjk5OTc3LDEuMDAwMjYsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMDEsMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDAxLDEuMDAwMTYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTk4LDEuMDAwNiwuOTk5OTgsMS4wMDAwMywuOTk5NzMsLjk5OTk4LC45OTk3MywxLjAwMDI2LC45OTk3MywxLjAwMDI2LC45OTk3MywuOTk5OTgsMS4wMDAyNiwxLjAwMDI2LDEuMDAwNiwxLjAwMDYsLjk5OTczLDEuMDAwNiwuOTk5ODIsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NTksLjk5OTczLC45OTk5OCwxLjAwMDI2LC45OTk3MywxLjAwMDIyLC45OTk3MywuOTk5NzMsMSwuOTk5NTksMS4wMDA3NywuOTk5NTksMS4wMDAwMywuOTk5OTgsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNzcsLjk5OTczLC45OTk5OCwxLjAwMDI1LC45OTk2OCwuOTk5NzMsMS4wMDAwMywxLjAwMDI1LC42MDI5OSwxLjAwMDI0LDEuMDY0MDksMSwxLC45OTk5OCwxLC45OTk3MywxLjAwMDYsLjk5OTk4LDEsLjk5OTM2LC45OTk3MywxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDI2LC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsLjk5OTc3LDEsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3NywuOTk5NzcsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMDMsMS4wMDAyMiwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTgyLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsMS4wNjQwOSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk5OTczLDEuMDAwMjYsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LDEuMDA0NCwuOTk5NzcsMS4wMDAyNiwxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3MSwuOTk5NzMsLjk5OTczLDEuMDAwNiwuOTk5NzcsLjk5OTczLC45OTk3MywxLjAwMDI2LDEuMDAwNiwxLjAwMDI2LDEuMDAwNiwxLjAwMDI2LDEuMDEwMTEsMS4wMDAyNiwuOTk5OTksMS4wMDAyNiwxLjAwMDYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTc3LDEuMDAwMjYsLjk5OTMsLjk5OTgsMS4wMDAyNiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMjIsMS4wMDAyNiwxLDEuMDAwMTYsLjk5OTc3LC45OTk1OSwuOTk5NzcsLjk5OTU5LC45OTk3NywuOTk5NTksMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAyNiwuOTk5OTgsMS4wMDAyNiwuODEyMSwxLjAwMDI2LC45OTk5OCwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwuOTk5NzcsMS4wMDAyNiwxLjAwMDE2LDEuMDAwMjIsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwxLjAwMDI2LDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwxLjAwMDYsLjk5OTczLC45OTk3NywuOTk5NzMsMSwuOTk5ODIsMS4wMDAyMiwxLjAwMDI2LDEuMDAwMDEsLjk5OTczLDEuMDAwMjYsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTc3LDEsMSwxLjAwMDI2LC45OTk2OSwuOTk5NzIsLjk5OTgxLC45OTk4LDEuMDAwNiwuOTk5NzcsLjk5OTc3LDEuMDAwMjIsLjkxMTU1LDEuMDAwMDEsMS4wMDAyNiwuOTk5NzcsMS4wMDAyMiwxLjAwMDYsLjk5OTc3LDEuMDAwMDEsLjk5OTk5LC45OTk3NywuOTk5NjYsMS4wMDAyMiwxLjAwMDMyLDEuMDAwMDEsLjk5OTQ0LDEuMDAwMjYsMS4wMDAwMSwuOTk5NjgsMS4wMDAwMSwxLjAwMDQ3LDEsMS4wMDA2LDEuMDAwMDEsLjk5OTgxLDEuMDAxMDEsMS4wMDAyNiwxLjAwMDYsLjk5OTQ4LC45OTk4MSwxLjAwMDY0LC45OTk3MywuOTk5NDIsMS4wMDEwMSwxLjAwMDYxLDEuMDAwMjYsMS4wMDA2OSwxLjAwMDYsMS4wMDAxNCwuOTk5NzMsMS4wMTMyMiwuOTk5NzMsMS4wMDA2NSwxLjAwMDI2LDEuMDAwMTIsLjk5OTIzLDEsMS4wMDA2NCwxLjAwMDc2LC45OTk0OCwxLjAwMDU1LDEuMDAwNjMsMS4wMDAwNywuOTk5NDMsMS4wMDA2LC45OTk0OCwxLjAwMDI2LC45OTk0OCwuOTk5NDMsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjksMS4wMDAzOCwxLjAwMDM1LDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTc4LDEuMDAwMDEsMS4wMDA1NywuOTk5ODksLjk5OTY3LC45OTk2NCwuOTk5NjcsLjk5OTc3LC45OTk5OSwuOTk5NzcsMS4wMDAzOCwuOTk5NzcsMS4wMDAwMSwuOTk5NzMsMS4wMDA2NiwuOTk5NjcsLjk5OTY3LDEuMDAwNDEsLjk5OTk4LC45OTk5OSwuOTk5NzcsMS4wMDAyMiwuOTk5NjcsMS4wMDAwMSwuOTk5NzcsMS4wMDAyNiwuOTk5NjQsMS4wMDAzMSwxLjAwMDAxLC45OTk5OSwuOTk5OTksMSwxLjAwMDIzLDEsMSwuOTk5OTksMS4wMDAzNSwxLjAwMDAxLC45OTk5OSwuOTk5NzMsLjk5OTc3LC45OTk5OSwxLjAwMDU4LC45OTk3MywuOTk5NzMsLjk5OTU1LC45OTk1LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDMyLC45OTk4OSwxLjAwMDM0LC45OTk5OSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwuOTk5NzMsLjQ1OTk4LC45OTk3MywxLjAwMDI2LC45OTk3MywxLjAwMDAxLC45OTk5OSwuOTk5ODIsLjk5OTk0LC45OTk5NiwxLDEuMDAwNDIsMS4wMDA0NCwxLjAwMDI5LDEuMDAwMjMsLjk5OTczLC45OTk3MywxLjAwMDI2LC45OTk0OSwxLjAwMDAyLC45OTk3MywxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NzUsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMzIsLjk4Njg1LC45OTk3MywxLjAwMDI2LDEsMSwuOTk5NjYsMS4wMDA0NCwxLjAwMDE2LDEuMDAwMjIsMS4wMDAxNiwxLjAwMDIyLDEuMDAwMTYsMS4wMDAyMiwxLjAwMDAxLC45OTk3MywxLDEsLjk5OTczLDEsMSwuOTk5NTUsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEsMSwxLC45OTk3MywuOTk5NzMsLjk5OTcyLDEsMSwxLjAwMTA2LC45OTk5OSwuOTk5OTgsLjk5OTk4LC45OTk5OSwuOTk5OTgsMS42NjQ3NSwxLC45OTk3MywuOTk5NzMsMSwuOTk5NzMsLjk5OTcxLC45OTk3OCwxLDEsLjk5OTkxLC45OTk4NCwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwOTgsMSwxLDEsMS4wMDA0OSwxLDEsLjk5OTcyLDEsMS4yMDk4NSwxLjM5NzEzLDEuMDAwMDMsMS4wMDAzMSwxLjAwMDE1LDEsLjk5NTYxLDEuMDAwMjcsMS4wMDAzMSwxLjAwMDMxLC45OTkxNSwxLjAwMDMxLDEuMDAwMzEsLjk5OTk5LDEuMDAwMDMsLjk5OTk5LC45OTk5OSwxLjQxMTQ0LDEuNiwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDA1NzksMS40MDU3OSwxLjM2NjI1LC45OTk5OSwxLC45OTg2MSwuOTk4NjEsMSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45OTk3MiwuOTk5OTksLjk5OTk5LC45OTk5OSwuOTk5OTksMS40MDQ4MywxLC45OTk3NywxLjAwMDU0LDEsMSwuOTk5NTMsLjk5OTYyLDEuMDAwNDIsLjk5OTUsMSwxLDEsMSwxLDEsMSwxLC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLFlhPXtsaW5lSGVpZ2h0OjEuMzUsbGluZUdhcDouMn0sdmE9Wy43NjExNiwxLDEsMS4wMDA2LDEuMDAwNiwxLjAwMDA2LC45OTk3MywuOTk5NzMsLjk5OTgyLDEuMDAwMDEsMS4wMDA0MywuOTk5OTgsLjk5OTk4LC45OTk1OSwxLjAwMDAzLDEuMDAwNiwuOTk5OTgsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEsMS4wMDAwMywxLjAwMDAzLDEuMDAwMDMsLjk5OTczLC45OTk4NywxLjAwMDAxLDEuMDAwMDEsLjk5OTc3LC45OTk3NywxLjAwMDAxLDEuMDAwMjYsMS4wMDAyMiwuOTk5NzcsMS4wMDA2LDEsMS4wMDAwMSwuOTk5NzMsLjk5OTk5LC45OTk3NywxLjAwMDIyLDEuMDAwMDEsMS4wMDAyMiwuOTk5NzcsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDAxLDEuMDAwMTYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTQ5LC45OTk3MywuOTk5OTgsLjk5OTczLC45OTk3MywxLC45OTk3MywuOTk5NzMsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTI0LC45OTkyNCwxLC45OTkyNCwuOTk5OTksLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk5OCwxLDEuMDAwNiwuOTk5NzMsMSwuOTk5NzcsMSwxLDEsMS4wMDAwNSwxLjAwMDksMS4wMDAwNSwxLjAwMDAzLC45OTk5OCwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA5LC45OTk3MywuOTk5OTgsMS4wMDAyNSwuOTk5NjgsLjk5OTczLDEuMDAwMDMsMS4wMDAyNSwuNjAyOTksMS4wMDAyNCwxLjA2NDA5LDEsMSwuOTk5OTgsMSwuOTk5OCwxLjAwMDYsLjk5OTk4LDEsLjk5OTM2LC45OTk3MywxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDI2LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEsLjk5OTc3LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3NywuOTk5NzcsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMDMsMS4wMDAyMiwuOTk5NzcsLjk5OTc3LC45OTk3NywuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTgyLDEsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wNjQwOSwxLjAwMDI2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLC45OTk3MywxLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLDEuMDAwMDEsLjk5OTczLC45OTk3NywxLC45OTk3NywxLC45OTk3NywxLC45OTk3NywxLC45OTk3NywxLjAyODgsLjk5OTc3LC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTkyNCwxLjAwMDYsMS4wMDA2LC45OTk0NiwxLjAwMDM0LDEsLjk5OTI0LDEuMDAwMDEsMSwxLC45OTk3MywuOTk5MjQsLjk5OTczLC45OTkyNCwuOTk5NzMsMS4wNjMxMSwuOTk5NzMsMS4wMDAyNCwuOTk5NzMsLjk5OTI0LC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLDEuMDAwNDEsLjk5OTgsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEsMS4wMDAxNiwuOTk5NzcsLjk5OTk4LC45OTk3NywuOTk5OTgsLjk5OTc3LC45OTk5OCwxLjAwMDAxLDEsMS4wMDAwMSwxLDEuMDAwMDEsMSwxLjAwMDAxLDEsMS4wMDAyNiwxLjAwMDYsMS4wMDAyNiwuODk1NDcsMS4wMDAyNiwxLjAwMDYsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDAxNiwuOTk5NzcsMS4wMDAwMSwxLDEuMDAwMDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwxLjAwMDI2LDEsLjk5OTI0LC45OTk3MywxLjAwMDAxLC45OTk3MywxLC45OTk4MiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAwMSwxLDEuMDAwMjYsMS4wMDA2LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsMS4wMDAwMSwxLDEuMDAwNTQsLjk5OTc3LDEuMDAwODQsMS4wMDAwNywuOTk5NzMsMS4wMDAxMywuOTk5MjQsMS4wMDAwMSwxLjAwMDAxLC45OTk0NSwuOTEyMjEsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDIyLDEuMDAwNiwxLjAwMDAxLDEuMDAwMDEsLjk5OTk5LC45OTk3NywuOTk5MzMsMS4wMDAyMiwxLjAwMDU0LDEuMDAwMDEsMS4wMDA2NSwxLjAwMDI2LDEuMDAwMDEsMS4wMDAxLDEuMDAwMDEsMS4wMDA1MiwxLDEuMDAwNiwxLjAwMDAxLC45OTk0NSwuOTk4OTcsLjk5OTY4LC45OTkyNCwxLjAwMDM2LC45OTk0NSwuOTk5NDksMSwxLjAwMDYsLjk5ODk3LC45OTkxOCwuOTk5NjgsLjk5OTExLC45OTkyNCwxLC45OTk2MiwxLjAxNDg3LDEsMS4wMDA1LC45OTk3MywxLjAwMDEyLDEuMDAwNDMsMSwuOTk5OTUsLjk5OTk0LDEuMDAwMzYsLjk5OTQ3LDEuMDAwMTksMS4wMDA2MywxLjAwMDI1LC45OTkyNCwxLjAwMDM2LC45OTk3MywxLjAwMDM2LDEuMDAwMjUsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMjcsMS4wMDAxLDEuMDAwNjgsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LDEsMS4wMDAwOCwuOTk5NTcsLjk5OTcyLC45OTk0LC45OTk1NCwuOTk5NzUsMS4wMDA1MSwxLjAwMDAxLDEuMDAwMTksMS4wMDAwMSwxLjAwMDEsLjk5OTg2LDEuMDAwMDEsMS4wMDAwMSwxLjAwMDM4LC45OTk1NCwuOTk5NTQsLjk5OTQsMS4wMDA2NiwuOTk5OTksLjk5OTc3LDEuMDAwMjIsMS4wMDA1NCwxLjAwMDAxLC45OTk3NywxLjAwMDI2LC45OTk3NSwxLjAwMDEsMS4wMDAwMSwuOTk5OTMsLjk5OTUsLjk5OTU1LDEuMDAwMTYsLjk5OTc4LC45OTk3NCwxLjAwMDE5LDEuMDAwMjIsLjk5OTU1LDEuMDAwNTMsLjk5OTczLDEuMDAwODksMS4wMDAwNSwuOTk5NjcsMS4wMDA0OCwuOTk5NzMsMS4wMDAwMiwxLjAwMDM0LC45OTk3MywuOTk5NzMsLjk5OTY0LDEuMDAwMDYsMS4wMDA2NiwuOTk5NDcsLjk5OTczLC45ODg5NCwuOTk5NzMsMSwuNDQ4OTgsMSwuOTk5NDYsMSwxLjAwMDM5LDEuMDAwODIsLjk5OTkxLC45OTk5MSwuOTk5ODUsMS4wMDAyMiwxLjAwMDIzLDEuMDAwNjEsMS4wMDAwNiwuOTk5NjYsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDAxOSwxLjAwMDgsMSwuOTk5MjQsLjk5OTI0LC45OTkyNCwuOTk5ODMsMS4wMDA0NCwuOTk5NzMsLjk5OTY0LC45ODMzMiwxLC45OTk3MywxLDEsLjk5OTYyLC45OTg5NSwxLjAwMDE2LC45OTk3NywxLjAwMDE2LC45OTk3NywxLjAwMDE2LC45OTk3NywxLjAwMDAxLDEsMSwxLC45OTk3MywxLDEsLjk5OTU1LC45OTkyNCwuOTk5MjQsLjk5OTI0LC45OTkyNCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5NzMsLjk5OTczLC45OTk3MiwxLDEsMS4wMDI2NywuOTk5OTksLjk5OTk4LC45OTk5OCwxLC45OTk5OCwxLjY2NDc1LDEsLjk5OTczLC45OTk3MywxLjAwMDIzLC45OTk3MywxLjAwNDIzLC45OTkyNSwuOTk5OTksMSwuOTk5OTEsLjk5OTg0LDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDA0OSwxLDEuMDAyNDUsMSwxLDEsMSwuOTYzMjksMSwxLjIwOTg1LDEuMzk3MTMsMS4wMDAwMywuODI1NCwxLjAwMDE1LDEsMS4wMDAzNSwxLjAwMDI3LDEuMDAwMzEsMS4wMDAzMSwxLjAwMDAzLDEuMDAwMzEsMS4wMDAzMSwuOTk5OTksMS4wMDAwMywuOTk5OTksLjk5OTk5LDEuNDExNDQsMS42LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MDU3OSwxLjQwNTc5LDEuMzY2MjUsLjk5OTk5LDEsLjk5ODYxLC45OTg2MSwxLDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LDEuMDAwMjYsLjk1MzE3LC45OTk5OSwuOTk5OTksLjk5OTk5LC45OTk5OSwxLjQwNDgzLDEsLjk5OTc3LDEuMDAwNTQsMSwxLC45OTk1MywuOTk5NjIsMS4wMDA0MiwuOTk5NSwxLDEsMSwxLDEsMSwxLDEsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sS2E9e2xpbmVIZWlnaHQ6MS4zNSxsaW5lR2FwOi4yfSxUYT1bLjc2MTE2LDEsMSwxLjAwMDYsMS4wMDA2LDEuMDAwMDYsLjk5OTczLC45OTk3MywuOTk5ODIsMS4wMDAwMSwxLjAwMDQzLC45OTk5OCwuOTk5OTgsLjk5OTU5LDEuMDAwMDMsMS4wMDA2LC45OTk5OCwxLjAwMDYsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDYsMSwxLjAwMDAzLDEuMDAwMDMsMS4wMDAwMywuOTk5NzMsLjk5OTg3LDEuMDAwMDEsMS4wMDAwMSwuOTk5NzcsLjk5OTc3LDEuMDAwMDEsMS4wMDAyNiwxLjAwMDIyLC45OTk3NywxLjAwMDYsMSwxLjAwMDAxLC45OTk3MywuOTk5OTksLjk5OTc3LDEuMDAwMjIsMS4wMDAwMSwxLjAwMDIyLC45OTk3NywxLjAwMDAxLDEuMDAwMjYsLjk5OTc3LDEuMDAwMDEsMS4wMDAxNiwxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwuOTk5NDksLjk5OTczLC45OTk5OCwuOTk5NzMsLjk5OTczLDEsLjk5OTczLC45OTk3MywxLjAwMDYsLjk5OTczLC45OTk3MywuOTk5MjQsLjk5OTI0LDEsLjk5OTI0LC45OTk5OSwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTk4LDEsMS4wMDA2LC45OTk3MywxLC45OTk3NywxLDEsMSwxLjAwMDA1LDEuMDAwOSwxLjAwMDA1LDEuMDAwMDMsLjk5OTk4LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjAwMDksLjk5OTczLC45OTk5OCwxLjAwMDI1LC45OTk2OCwuOTk5NzMsMS4wMDAwMywxLjAwMDI1LC42MDI5OSwxLjAwMDI0LDEuMDY0MDksMSwxLC45OTk5OCwxLC45OTk4LDEuMDAwNiwuOTk5OTgsMSwuOTk5MzYsLjk5OTczLDEuMDAwMDIsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMjYsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMSwuOTk5NzcsMS4wMDAwMSwxLjAwMDAxLDEuMDAwMDEsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsLjk5OTc3LC45OTk3NywxLjAwMDIyLDEuMDAwMjIsMS4wMDAyMiwxLjAwMDIyLDEuMDAwMjIsMS4wMDAwMywxLjAwMDIyLC45OTk3NywuOTk5NzcsLjk5OTc3LC45OTk3NywxLjAwMDAxLDEuMDAwMDEsMS4wMDAyNiwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5ODIsMSwuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLC45OTk3MywxLjA2NDA5LDEuMDAwMjYsLjk5OTczLC45OTk3MywuOTk5NzMsLjk5OTczLDEsLjk5OTczLDEsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsMS4wMDAwMSwuOTk5NzMsLjk5OTc3LDEsLjk5OTc3LDEsLjk5OTc3LDEsLjk5OTc3LDEsLjk5OTc3LDEuMDQ1OTYsLjk5OTc3LC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDAxLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywxLjAwMDIyLC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LDEuMDAwNiwxLjAwMDYsMS4wMDA2LC45OTkyNCwxLjAwMDYsMS4wMDA2LDEuMDAwMTksMS4wMDAzNCwxLC45OTkyNCwxLjAwMDAxLDEsMSwuOTk5NzMsLjk5OTI0LC45OTk3MywuOTk5MjQsLjk5OTczLDEuMDI1NzIsLjk5OTczLDEuMDAwMDUsLjk5OTczLC45OTkyNCwuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5OTksLjk5OTgsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEuMDAwMjIsLjk5OTczLDEsMS4wMDAxNiwuOTk5NzcsLjk5OTk4LC45OTk3NywuOTk5OTgsLjk5OTc3LC45OTk5OCwxLjAwMDAxLDEsMS4wMDAwMSwxLDEuMDAwMDEsMSwxLjAwMDAxLDEsMS4wMDAyNiwxLjAwMDYsMS4wMDAyNiwuODQ1MzMsMS4wMDAyNiwxLjAwMDYsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsLjk5OTc3LC45OTk3MywuOTk5NzcsLjk5OTczLC45OTk3NywuOTk5NzMsMS4wMDAxNiwuOTk5NzcsMS4wMDAwMSwxLDEuMDAwMDEsMS4wMDAyNiwxLDEuMDAwMjYsMSwxLjAwMDI2LDEsLjk5OTI0LC45OTk3MywxLjAwMDAxLC45OTk3MywxLC45OTk4MiwxLjAwMDIyLDEuMDAwMjYsMS4wMDAwMSwxLDEuMDAwMjYsMS4wMDA2LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk5OCwuOTk5OTgsLjk5OTI4LDEsLjk5OTc3LDEuMDAwMTMsMS4wMDA1NSwuOTk5NDcsLjk5OTQ1LC45OTk0MSwuOTk5MjQsMS4wMDAwMSwxLjAwMDAxLDEuMDAwNCwuOTE2MjEsMS4wMDAwMSwxLjAwMDI2LC45OTk3NywxLjAwMDIyLDEuMDAwNiwxLjAwMDAxLDEuMDAwMDUsLjk5OTk5LC45OTk3NywxLjAwMDE1LDEuMDAwMjIsLjk5OTc3LDEuMDAwMDEsLjk5OTczLDEuMDAwMjYsMS4wMDAwMSwxLjAwMDE5LDEuMDAwMDEsLjk5OTQ2LDEsMS4wMDA2LDEuMDAwMDEsLjk5OTc4LDEuMDAwNDUsLjk5OTczLC45OTkyNCwxLjAwMDIzLC45OTk3OCwuOTk5NjYsMSwxLjAwMDY1LDEuMDAwNDUsMS4wMDAxOSwuOTk5NzMsLjk5OTczLC45OTkyNCwxLDEsLjk2NDk5LDEsMS4wMDA1NSwuOTk5NzMsMS4wMDAwOCwxLjAwMDI3LDEsLjk5OTcsLjk5OTk1LDEuMDAwMjMsLjk5OTMzLDEuMDAwMTksMS4wMDAxNSwxLjAwMDMxLC45OTkyNCwxLjAwMDIzLC45OTk3MywxLjAwMDIzLDEuMDAwMzEsMS4wMDAwMSwuOTk5MjgsMS4wMDAyOSwxLjAwMDkyLDEuMDAwMzUsMS4wMDAwMSwxLjAwMDYsMS4wMDA2LDEsLjk5OTg4LC45OTk3NSwxLDEuMDAwODIsLjk5NTYxLC45OTk2LDEuMDAwMzUsMS4wMDAwMSwuOTk5NjIsMS4wMDAwMSwxLjAwMDkyLC45OTk2NCwxLjAwMDAxLC45OTk2MywuOTk5OTksMS4wMDAzNSwxLjAwMDM1LDEuMDAwODIsLjk5OTYyLC45OTk5OSwuOTk5NzcsMS4wMDAyMiwxLjAwMDM1LDEuMDAwMDEsLjk5OTc3LDEuMDAwMjYsLjk5OTYsLjk5OTY3LDEuMDAwMDEsMS4wMDAzNCwxLjAwMDc0LDEuMDAwNTQsMS4wMDA1MywxLjAwMDYzLC45OTk3MSwuOTk5NjIsMS4wMDAzNSwuOTk5NzUsLjk5OTc3LC45OTk3MywxLjAwMDQzLC45OTk1MywxLjAwMDcsLjk5OTE1LC45OTk3MywxLjAwMDA4LC45OTg5MiwxLjAwMDczLDEuMDAwNzMsMS4wMDExNCwuOTk5MTUsMS4wMDA3MywuOTk5NTUsLjk5OTczLDEuMDAwOTIsLjk5OTczLDEsLjk5OTk4LDEsMS4wMDAzLDEsMS4wMDA0MywxLjAwMDAxLC45OTk2OSwxLjAwMDMsMSwxLjAwMDM1LDEuMDAwMDEsLjk5OTUsMSwxLjAwMDkyLC45OTk3MywuOTk5NzMsLjk5OTczLDEuMDAwNywuOTk5NSwxLC45OTkyNCwxLjAwMDYsLjk5OTI0LC45OTk3MiwxLjAwMDYyLC45OTk3MywxLjAwMTE0LDEuMDAwNzMsMSwuOTk5NTUsMSwxLDEuMDAwNDcsLjk5OTY4LDEuMDAwMTYsLjk5OTc3LDEuMDAwMTYsLjk5OTc3LDEuMDAwMTYsLjk5OTc3LDEuMDAwMDEsMSwxLDEsLjk5OTczLDEsMSwuOTk5NTUsLjk5OTI0LC45OTkyNCwuOTk5MjQsLjk5OTI0LC45OTk5OCwuOTk5OTgsLjk5OTk4LC45OTk3MywuOTk5NzMsLjk5OTcyLDEsMSwxLjAwMjY3LC45OTk5OSwuOTk5OTgsLjk5OTk4LDEsLjk5OTk4LDEuNjY0NzUsMSwuOTk5NzMsLjk5OTczLDEuMDAwMjMsLjk5OTczLC45OTk3MSwuOTk5MjUsMS4wMDAyMywxLC45OTk5MSwuOTk5ODQsMS4wMDAwMiwxLjAwMDAyLDEuMDAwMDIsMS4wMDAwMiwxLDEsMSwxLDEsMSwxLC45NjMyOSwxLDEuMjA5ODUsMS4zOTcxMywxLjAwMDAzLC44MjU0LDEuMDAwMTUsMSwxLjAwMDM1LDEuMDAwMjcsMS4wMDAzMSwxLjAwMDMxLC45OTkxNSwxLjAwMDMxLDEuMDAwMzEsLjk5OTk5LDEuMDAwMDMsLjk5OTk5LC45OTk5OSwxLjQxMTQ0LDEuNiwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDExNDQsMS40MTE0NCwxLjQxMTQ0LDEuNDA1NzksMS40MDU3OSwxLjM2NjI1LC45OTk5OSwxLC45OTg2MSwuOTk4NjEsMSwxLjAwMDI2LDEuMDAwMjYsMS4wMDAyNiwxLjAwMDI2LC45NTMxNywuOTk5OTksLjk5OTk5LC45OTk5OSwuOTk5OTksMS40MDQ4MywxLC45OTk3NywxLjAwMDU0LDEsMSwuOTk5NTMsLjk5OTYyLDEuMDAwNDIsLjk5OTUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxxYT17bGluZUhlaWdodDoxLjIsbGluZUdhcDouMn0sT2E9WzM2NSwwLDMzMywyNzgsMzMzLDQ3NCw1NTYsNTU2LDg4OSw3MjIsMjM4LDMzMywzMzMsMzg5LDU4NCwyNzgsMzMzLDI3OCwyNzgsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDMzMywzMzMsNTg0LDU4NCw1ODQsNjExLDk3NSw3MjIsNzIyLDcyMiw3MjIsNjY3LDYxMSw3NzgsNzIyLDI3OCw1NTYsNzIyLDYxMSw4MzMsNzIyLDc3OCw2NjcsNzc4LDcyMiw2NjcsNjExLDcyMiw2NjcsOTQ0LDY2Nyw2NjcsNjExLDMzMywyNzgsMzMzLDU4NCw1NTYsMzMzLDU1Niw2MTEsNTU2LDYxMSw1NTYsMzMzLDYxMSw2MTEsMjc4LDI3OCw1NTYsMjc4LDg4OSw2MTEsNjExLDYxMSw2MTEsMzg5LDU1NiwzMzMsNjExLDU1Niw3NzgsNTU2LDU1Niw1MDAsMzg5LDI4MCwzODksNTg0LDMzMyw1NTYsNTU2LDU1Niw1NTYsMjgwLDU1NiwzMzMsNzM3LDM3MCw1NTYsNTg0LDczNyw1NTIsNDAwLDU0OSwzMzMsMzMzLDMzMyw1NzYsNTU2LDI3OCwzMzMsMzMzLDM2NSw1NTYsODM0LDgzNCw4MzQsNjExLDcyMiw3MjIsNzIyLDcyMiw3MjIsNzIyLDFlMyw3MjIsNjY3LDY2Nyw2NjcsNjY3LDI3OCwyNzgsMjc4LDI3OCw3MjIsNzIyLDc3OCw3NzgsNzc4LDc3OCw3NzgsNTg0LDc3OCw3MjIsNzIyLDcyMiw3MjIsNjY3LDY2Nyw2MTEsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsODg5LDU1Niw1NTYsNTU2LDU1Niw1NTYsMjc4LDI3OCwyNzgsMjc4LDYxMSw2MTEsNjExLDYxMSw2MTEsNjExLDYxMSw1NDksNjExLDYxMSw2MTEsNjExLDYxMSw1NTYsNjExLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw3MTksNzIyLDYxMSw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNzc4LDYxMSw3NzgsNjExLDc3OCw2MTEsNzc4LDYxMSw3MjIsNjExLDcyMiw2MTEsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDc4NSw1NTYsNTU2LDI3OCw3MjIsNTU2LDU1Niw2MTEsMjc4LDYxMSwyNzgsNjExLDM4NSw2MTEsNDc5LDYxMSwyNzgsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzA4LDcyMyw2MTEsNzc4LDYxMSw3NzgsNjExLDc3OCw2MTEsMWUzLDk0NCw3MjIsMzg5LDcyMiwzODksNzIyLDM4OSw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDYxMSwzMzMsNjExLDQ3OSw2MTEsMzMzLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDk0NCw3NzgsNjY3LDU1Niw2NjcsNjExLDUwMCw2MTEsNTAwLDYxMSw1MDAsMjc4LDU1Niw3MjIsNTU2LDFlMyw4ODksNzc4LDYxMSw2NjcsNTU2LDYxMSwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDQ2NSw3MjIsMzMzLDg1Myw5MDYsNDc0LDgyNSw5MjcsODM4LDI3OCw3MjIsNzIyLDYwMSw3MTksNjY3LDYxMSw3MjIsNzc4LDI3OCw3MjIsNjY3LDgzMyw3MjIsNjQ0LDc3OCw3MjIsNjY3LDYwMCw2MTEsNjY3LDgyMSw2NjcsODA5LDgwMiwyNzgsNjY3LDYxNSw0NTEsNjExLDI3OCw1ODIsNjE1LDYxMCw1NTYsNjA2LDQ3NSw0NjAsNjExLDU0MSwyNzgsNTU4LDU1Niw2MTIsNTU2LDQ0NSw2MTEsNzY2LDYxOSw1MjAsNjg0LDQ0Niw1ODIsNzE1LDU3Niw3NTMsODQ1LDI3OCw1ODIsNjExLDU4Miw4NDUsNjY3LDY2OSw4ODUsNTY3LDcxMSw2NjcsMjc4LDI3Niw1NTYsMTA5NCwxMDYyLDg3NSw2MTAsNzIyLDYyMiw3MTksNzIyLDcxOSw3MjIsNTY3LDcxMiw2NjcsOTA0LDYyNiw3MTksNzE5LDYxMCw3MDIsODMzLDcyMiw3NzgsNzE5LDY2Nyw3MjIsNjExLDYyMiw4NTQsNjY3LDczMCw3MDMsMTAwNSwxMDE5LDg3MCw5NzksNzE5LDcxMSwxMDMxLDcxOSw1NTYsNjE4LDYxNSw0MTcsNjM1LDU1Niw3MDksNDk3LDYxNSw2MTUsNTAwLDYzNSw3NDAsNjA0LDYxMSw2MDQsNjExLDU1Niw0OTAsNTU2LDg3NSw1NTYsNjE1LDU4MSw4MzMsODQ0LDcyOSw4NTQsNjE1LDU1Miw4NTQsNTgzLDU1Niw1NTYsNjExLDQxNyw1NTIsNTU2LDI3OCwyODEsMjc4LDk2OSw5MDYsNjExLDUwMCw2MTUsNTU2LDYwNCw3NzgsNjExLDQ4Nyw0NDcsOTQ0LDc3OCw5NDQsNzc4LDk0NCw3NzgsNjY3LDU1NiwzMzMsMzMzLDU1NiwxZTMsMWUzLDU1MiwyNzgsMjc4LDI3OCwyNzgsNTAwLDUwMCw1MDAsNTU2LDU1NiwzNTAsMWUzLDFlMywyNDAsNDc5LDMzMywzMzMsNjA0LDMzMywxNjcsMzk2LDU1Niw1NTYsMTA5NCw1NTYsODg1LDQ4OSwxMTE1LDFlMyw3NjgsNjAwLDgzNCw4MzQsODM0LDgzNCwxZTMsNTAwLDFlMyw1MDAsMWUzLDUwMCw1MDAsNDk0LDYxMiw4MjMsNzEzLDU4NCw1NDksNzEzLDk3OSw3MjIsMjc0LDU0OSw1NDksNTgzLDU0OSw1NDksNjA0LDU4NCw2MDQsNjA0LDcwOCw2MjUsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzI5LDYwNCw2MDQsMzU0LDM1NCwxZTMsOTkwLDk5MCw5OTAsOTkwLDQ5NCw2MDQsNjA0LDYwNCw2MDQsMzU0LDEwMjEsMTA1Miw5MTcsNzUwLDc1MCw1MzEsNjU2LDU5NCw1MTAsNTAwLDc1MCw3NTAsNjExLDYxMSwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDIyMiwyMjIsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzM10sUGE9Wy0xLC0xLC0xLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1LDQ2LDQ3LDQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDU4LDU5LDYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LDcwLDcxLDcyLDczLDc0LDc1LDc2LDc3LDc4LDc5LDgwLDgxLDgyLDgzLDg0LDg1LDg2LDg3LDg4LDg5LDkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5LDEwMCwxMDEsMTAyLDEwMywxMDQsMTA1LDEwNiwxMDcsMTA4LDEwOSwxMTAsMTExLDExMiwxMTMsMTE0LDExNSwxMTYsMTE3LDExOCwxMTksMTIwLDEyMSwxMjIsMTIzLDEyNCwxMjUsMTI2LDE2MSwxNjIsMTYzLDE2NCwxNjUsMTY2LDE2NywxNjgsMTY5LDE3MCwxNzEsMTcyLDE3NCwxNzUsMTc2LDE3NywxNzgsMTc5LDE4MCwxODEsMTgyLDE4MywxODQsMTg1LDE4NiwxODcsMTg4LDE4OSwxOTAsMTkxLDE5MiwxOTMsMTk0LDE5NSwxOTYsMTk3LDE5OCwxOTksMjAwLDIwMSwyMDIsMjAzLDIwNCwyMDUsMjA2LDIwNywyMDgsMjA5LDIxMCwyMTEsMjEyLDIxMywyMTQsMjE1LDIxNiwyMTcsMjE4LDIxOSwyMjAsMjIxLDIyMiwyMjMsMjI0LDIyNSwyMjYsMjI3LDIyOCwyMjksMjMwLDIzMSwyMzIsMjMzLDIzNCwyMzUsMjM2LDIzNywyMzgsMjM5LDI0MCwyNDEsMjQyLDI0MywyNDQsMjQ1LDI0NiwyNDcsMjQ4LDI0OSwyNTAsMjUxLDI1MiwyNTMsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjIsMjYzLDI2NCwyNjUsMjY2LDI2NywyNjgsMjY5LDI3MCwyNzEsMjcyLDI3MywyNzQsMjc1LDI3NiwyNzcsMjc4LDI3OSwyODAsMjgxLDI4MiwyODMsMjg0LDI4NSwyODYsMjg3LDI4OCwyODksMjkwLDI5MSwyOTIsMjkzLDI5NCwyOTUsMjk2LDI5NywyOTgsMjk5LDMwMCwzMDEsMzAyLDMwMywzMDQsMzA1LDMwNiwzMDcsMzA4LDMwOSwzMTAsMzExLDMxMiwzMTMsMzE0LDMxNSwzMTYsMzE3LDMxOCwzMTksMzIwLDMyMSwzMjIsMzIzLDMyNCwzMjUsMzI2LDMyNywzMjgsMzI5LDMzMCwzMzEsMzMyLDMzMywzMzQsMzM1LDMzNiwzMzcsMzM4LDMzOSwzNDAsMzQxLDM0MiwzNDMsMzQ0LDM0NSwzNDYsMzQ3LDM0OCwzNDksMzUwLDM1MSwzNTIsMzUzLDM1NCwzNTUsMzU2LDM1NywzNTgsMzU5LDM2MCwzNjEsMzYyLDM2MywzNjQsMzY1LDM2NiwzNjcsMzY4LDM2OSwzNzAsMzcxLDM3MiwzNzMsMzc0LDM3NSwzNzYsMzc3LDM3OCwzNzksMzgwLDM4MSwzODIsMzgzLDQwMiw1MDYsNTA3LDUwOCw1MDksNTEwLDUxMSw1MzYsNTM3LDUzOCw1MzksNzEwLDcxMSw3MTMsNzI4LDcyOSw3MzAsNzMxLDczMiw3MzMsOTAwLDkwMSw5MDIsOTAzLDkwNCw5MDUsOTA2LDkwOCw5MTAsOTExLDkxMiw5MTMsOTE0LDkxNSw5MTYsOTE3LDkxOCw5MTksOTIwLDkyMSw5MjIsOTIzLDkyNCw5MjUsOTI2LDkyNyw5MjgsOTI5LDkzMSw5MzIsOTMzLDkzNCw5MzUsOTM2LDkzNyw5MzgsOTM5LDk0MCw5NDEsOTQyLDk0Myw5NDQsOTQ1LDk0Niw5NDcsOTQ4LDk0OSw5NTAsOTUxLDk1Miw5NTMsOTU0LDk1NSw5NTYsOTU3LDk1OCw5NTksOTYwLDk2MSw5NjIsOTYzLDk2NCw5NjUsOTY2LDk2Nyw5NjgsOTY5LDk3MCw5NzEsOTcyLDk3Myw5NzQsMTAyNCwxMDI1LDEwMjYsMTAyNywxMDI4LDEwMjksMTAzMCwxMDMxLDEwMzIsMTAzMywxMDM0LDEwMzUsMTAzNiwxMDM3LDEwMzgsMTAzOSwxMDQwLDEwNDEsMTA0MiwxMDQzLDEwNDQsMTA0NSwxMDQ2LDEwNDcsMTA0OCwxMDQ5LDEwNTAsMTA1MSwxMDUyLDEwNTMsMTA1NCwxMDU1LDEwNTYsMTA1NywxMDU4LDEwNTksMTA2MCwxMDYxLDEwNjIsMTA2MywxMDY0LDEwNjUsMTA2NiwxMDY3LDEwNjgsMTA2OSwxMDcwLDEwNzEsMTA3MiwxMDczLDEwNzQsMTA3NSwxMDc2LDEwNzcsMTA3OCwxMDc5LDEwODAsMTA4MSwxMDgyLDEwODMsMTA4NCwxMDg1LDEwODYsMTA4NywxMDg4LDEwODksMTA5MCwxMDkxLDEwOTIsMTA5MywxMDk0LDEwOTUsMTA5NiwxMDk3LDEwOTgsMTA5OSwxMTAwLDExMDEsMTEwMiwxMTAzLDExMDQsMTEwNSwxMTA2LDExMDcsMTEwOCwxMTA5LDExMTAsMTExMSwxMTEyLDExMTMsMTExNCwxMTE1LDExMTYsMTExNywxMTE4LDExMTksMTEzOCwxMTM5LDExNjgsMTE2OSw3ODA4LDc4MDksNzgxMCw3ODExLDc4MTIsNzgxMyw3OTIyLDc5MjMsODIwOCw4MjA5LDgyMTEsODIxMiw4MjEzLDgyMTUsODIxNiw4MjE3LDgyMTgsODIxOSw4MjIwLDgyMjEsODIyMiw4MjI0LDgyMjUsODIyNiw4MjMwLDgyNDAsODI0Miw4MjQzLDgyNDksODI1MCw4MjUyLDgyNTQsODI2MCw4MzE5LDgzNTUsODM1Niw4MzU5LDgzNjQsODQ1Myw4NDY3LDg0NzAsODQ4Miw4NDg2LDg0OTQsODUzOSw4NTQwLDg1NDEsODU0Miw4NTkyLDg1OTMsODU5NCw4NTk1LDg1OTYsODU5Nyw4NjE2LDg3MDYsODcxMCw4NzE5LDg3MjEsODcyMiw4NzMwLDg3MzQsODczNSw4NzQ1LDg3NDcsODc3Niw4ODAwLDg4MDEsODgwNCw4ODA1LDg5NjIsODk3Niw4OTkyLDg5OTMsOTQ3Miw5NDc0LDk0ODQsOTQ4OCw5NDkyLDk0OTYsOTUwMCw5NTA4LDk1MTYsOTUyNCw5NTMyLDk1NTIsOTU1Myw5NTU0LDk1NTUsOTU1Niw5NTU3LDk1NTgsOTU1OSw5NTYwLDk1NjEsOTU2Miw5NTYzLDk1NjQsOTU2NSw5NTY2LDk1NjcsOTU2OCw5NTY5LDk1NzAsOTU3MSw5NTcyLDk1NzMsOTU3NCw5NTc1LDk1NzYsOTU3Nyw5NTc4LDk1NzksOTU4MCw5NjAwLDk2MDQsOTYwOCw5NjEyLDk2MTYsOTYxNyw5NjE4LDk2MTksOTYzMiw5NjMzLDk2NDIsOTY0Myw5NjQ0LDk2NTAsOTY1OCw5NjYwLDk2NjgsOTY3NCw5Njc1LDk2NzksOTY4OCw5Njg5LDk3MDIsOTc4Niw5Nzg3LDk3ODgsOTc5Miw5Nzk0LDk4MjQsOTgyNyw5ODI5LDk4MzAsOTgzNCw5ODM1LDk4MzYsNjE0NDEsNjE0NDIsNjE0NDUsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTFdLFdhPVszNjUsMCwzMzMsMjc4LDMzMyw0NzQsNTU2LDU1Niw4ODksNzIyLDIzOCwzMzMsMzMzLDM4OSw1ODQsMjc4LDMzMywyNzgsMjc4LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1NiwzMzMsMzMzLDU4NCw1ODQsNTg0LDYxMSw5NzUsNzIyLDcyMiw3MjIsNzIyLDY2Nyw2MTEsNzc4LDcyMiwyNzgsNTU2LDcyMiw2MTEsODMzLDcyMiw3NzgsNjY3LDc3OCw3MjIsNjY3LDYxMSw3MjIsNjY3LDk0NCw2NjcsNjY3LDYxMSwzMzMsMjc4LDMzMyw1ODQsNTU2LDMzMyw1NTYsNjExLDU1Niw2MTEsNTU2LDMzMyw2MTEsNjExLDI3OCwyNzgsNTU2LDI3OCw4ODksNjExLDYxMSw2MTEsNjExLDM4OSw1NTYsMzMzLDYxMSw1NTYsNzc4LDU1Niw1NTYsNTAwLDM4OSwyODAsMzg5LDU4NCwzMzMsNTU2LDU1Niw1NTYsNTU2LDI4MCw1NTYsMzMzLDczNywzNzAsNTU2LDU4NCw3MzcsNTUyLDQwMCw1NDksMzMzLDMzMywzMzMsNTc2LDU1NiwyNzgsMzMzLDMzMywzNjUsNTU2LDgzNCw4MzQsODM0LDYxMSw3MjIsNzIyLDcyMiw3MjIsNzIyLDcyMiwxZTMsNzIyLDY2Nyw2NjcsNjY3LDY2NywyNzgsMjc4LDI3OCwyNzgsNzIyLDcyMiw3NzgsNzc4LDc3OCw3NzgsNzc4LDU4NCw3NzgsNzIyLDcyMiw3MjIsNzIyLDY2Nyw2NjcsNjExLDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDg4OSw1NTYsNTU2LDU1Niw1NTYsNTU2LDI3OCwyNzgsMjc4LDI3OCw2MTEsNjExLDYxMSw2MTEsNjExLDYxMSw2MTEsNTQ5LDYxMSw2MTEsNjExLDYxMSw2MTEsNTU2LDYxMSw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNzQwLDcyMiw2MTEsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDc3OCw2MTEsNzc4LDYxMSw3NzgsNjExLDc3OCw2MTEsNzIyLDYxMSw3MjIsNjExLDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCw3ODIsNTU2LDU1NiwyNzgsNzIyLDU1Niw1NTYsNjExLDI3OCw2MTEsMjc4LDYxMSwzOTYsNjExLDQ3OSw2MTEsMjc4LDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcwOCw3MjMsNjExLDc3OCw2MTEsNzc4LDYxMSw3NzgsNjExLDFlMyw5NDQsNzIyLDM4OSw3MjIsMzg5LDcyMiwzODksNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2MTEsMzMzLDYxMSw0NzksNjExLDMzMyw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw3MjIsNjExLDcyMiw2MTEsNzIyLDYxMSw5NDQsNzc4LDY2Nyw1NTYsNjY3LDYxMSw1MDAsNjExLDUwMCw2MTEsNTAwLDI3OCw1NTYsNzIyLDU1NiwxZTMsODg5LDc3OCw2MTEsNjY3LDU1Niw2MTEsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsNzIyLDMzMyw4NTQsOTA2LDQ3Myw4NDQsOTMwLDg0NywyNzgsNzIyLDcyMiw2MTAsNjcxLDY2Nyw2MTEsNzIyLDc3OCwyNzgsNzIyLDY2Nyw4MzMsNzIyLDY1Nyw3NzgsNzE4LDY2Nyw1OTAsNjExLDY2Nyw4MjIsNjY3LDgyOSw3ODEsMjc4LDY2Nyw2MjAsNDc5LDYxMSwyNzgsNTkxLDYyMCw2MjEsNTU2LDYxMCw0NzksNDkyLDYxMSw1NTgsMjc4LDU2Niw1NTYsNjAzLDU1Niw0NTAsNjExLDcxMiw2MDUsNTMyLDY2NCw0MDksNTkxLDcwNCw1NzgsNzczLDgzNCwyNzgsNTkxLDYxMSw1OTEsODM0LDY2Nyw2NjcsODg2LDYxNCw3MTksNjY3LDI3OCwyNzgsNTU2LDEwOTQsMTA0Miw4NTQsNjIyLDcxOSw2NzcsNzE5LDcyMiw3MDgsNzIyLDYxNCw3MjIsNjY3LDkyNyw2NDMsNzE5LDcxOSw2MTUsNjg3LDgzMyw3MjIsNzc4LDcxOSw2NjcsNzIyLDYxMSw2NzcsNzgxLDY2Nyw3MjksNzA4LDk3OSw5ODksODU0LDFlMyw3MDgsNzE5LDEwNDIsNzI5LDU1Niw2MTksNjA0LDUzNCw2MTgsNTU2LDczNiw1MTAsNjExLDYxMSw1MDcsNjIyLDc0MCw2MDQsNjExLDYxMSw2MTEsNTU2LDg4OSw1NTYsODg1LDU1Niw2NDYsNTgzLDg4OSw5MzUsNzA3LDg1NCw1OTQsNTUyLDg2NSw1ODksNTU2LDU1Niw2MTEsNDY5LDU2Myw1NTYsMjc4LDI3OCwyNzgsOTY5LDkwNiw2MTEsNTA3LDYxOSw1NTYsNjExLDc3OCw2MTEsNTc1LDQ2Nyw5NDQsNzc4LDk0NCw3NzgsOTQ0LDc3OCw2NjcsNTU2LDMzMywzMzMsNTU2LDFlMywxZTMsNTUyLDI3OCwyNzgsMjc4LDI3OCw1MDAsNTAwLDUwMCw1NTYsNTU2LDM1MCwxZTMsMWUzLDI0MCw0NzksMzMzLDMzMyw2MDQsMzMzLDE2NywzOTYsNTU2LDU1NiwxMTA0LDU1Niw4ODUsNTE2LDExNDYsMWUzLDc2OCw2MDAsODM0LDgzNCw4MzQsODM0LDk5OSw1MDAsMWUzLDUwMCwxZTMsNTAwLDUwMCw0OTQsNjEyLDgyMyw3MTMsNTg0LDU0OSw3MTMsOTc5LDcyMiwyNzQsNTQ5LDU0OSw1ODMsNTQ5LDU0OSw2MDQsNTg0LDYwNCw2MDQsNzA4LDYyNSw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MjksNjA0LDYwNCwzNTQsMzU0LDFlMyw5OTAsOTkwLDk5MCw5OTAsNDk0LDYwNCw2MDQsNjA0LDYwNCwzNTQsMTAyMSwxMDUyLDkxNyw3NTAsNzUwLDUzMSw2NTYsNTk0LDUxMCw1MDAsNzUwLDc1MCw2MTEsNjExLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMjIyLDIyMiwzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzXSxqYT1bLTEsLTEsLTEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDUsNDYsNDcsNDgsNDksNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksNjAsNjEsNjIsNjMsNjQsNjUsNjYsNjcsNjgsNjksNzAsNzEsNzIsNzMsNzQsNzUsNzYsNzcsNzgsNzksODAsODEsODIsODMsODQsODUsODYsODcsODgsODksOTAsOTEsOTIsOTMsOTQsOTUsOTYsOTcsOTgsOTksMTAwLDEwMSwxMDIsMTAzLDEwNCwxMDUsMTA2LDEwNywxMDgsMTA5LDExMCwxMTEsMTEyLDExMywxMTQsMTE1LDExNiwxMTcsMTE4LDExOSwxMjAsMTIxLDEyMiwxMjMsMTI0LDEyNSwxMjYsMTYxLDE2MiwxNjMsMTY0LDE2NSwxNjYsMTY3LDE2OCwxNjksMTcwLDE3MSwxNzIsMTc0LDE3NSwxNzYsMTc3LDE3OCwxNzksMTgwLDE4MSwxODIsMTgzLDE4NCwxODUsMTg2LDE4NywxODgsMTg5LDE5MCwxOTEsMTkyLDE5MywxOTQsMTk1LDE5NiwxOTcsMTk4LDE5OSwyMDAsMjAxLDIwMiwyMDMsMjA0LDIwNSwyMDYsMjA3LDIwOCwyMDksMjEwLDIxMSwyMTIsMjEzLDIxNCwyMTUsMjE2LDIxNywyMTgsMjE5LDIyMCwyMjEsMjIyLDIyMywyMjQsMjI1LDIyNiwyMjcsMjI4LDIyOSwyMzAsMjMxLDIzMiwyMzMsMjM0LDIzNSwyMzYsMjM3LDIzOCwyMzksMjQwLDI0MSwyNDIsMjQzLDI0NCwyNDUsMjQ2LDI0NywyNDgsMjQ5LDI1MCwyNTEsMjUyLDI1MywyNTQsMjU1LDI1NiwyNTcsMjU4LDI1OSwyNjAsMjYxLDI2MiwyNjMsMjY0LDI2NSwyNjYsMjY3LDI2OCwyNjksMjcwLDI3MSwyNzIsMjczLDI3NCwyNzUsMjc2LDI3NywyNzgsMjc5LDI4MCwyODEsMjgyLDI4MywyODQsMjg1LDI4NiwyODcsMjg4LDI4OSwyOTAsMjkxLDI5MiwyOTMsMjk0LDI5NSwyOTYsMjk3LDI5OCwyOTksMzAwLDMwMSwzMDIsMzAzLDMwNCwzMDUsMzA2LDMwNywzMDgsMzA5LDMxMCwzMTEsMzEyLDMxMywzMTQsMzE1LDMxNiwzMTcsMzE4LDMxOSwzMjAsMzIxLDMyMiwzMjMsMzI0LDMyNSwzMjYsMzI3LDMyOCwzMjksMzMwLDMzMSwzMzIsMzMzLDMzNCwzMzUsMzM2LDMzNywzMzgsMzM5LDM0MCwzNDEsMzQyLDM0MywzNDQsMzQ1LDM0NiwzNDcsMzQ4LDM0OSwzNTAsMzUxLDM1MiwzNTMsMzU0LDM1NSwzNTYsMzU3LDM1OCwzNTksMzYwLDM2MSwzNjIsMzYzLDM2NCwzNjUsMzY2LDM2NywzNjgsMzY5LDM3MCwzNzEsMzcyLDM3MywzNzQsMzc1LDM3NiwzNzcsMzc4LDM3OSwzODAsMzgxLDM4MiwzODMsNDAyLDUwNiw1MDcsNTA4LDUwOSw1MTAsNTExLDUzNiw1MzcsNTM4LDUzOSw3MTAsNzExLDcxMyw3MjgsNzI5LDczMCw3MzEsNzMyLDczMyw5MDAsOTAxLDkwMiw5MDMsOTA0LDkwNSw5MDYsOTA4LDkxMCw5MTEsOTEyLDkxMyw5MTQsOTE1LDkxNiw5MTcsOTE4LDkxOSw5MjAsOTIxLDkyMiw5MjMsOTI0LDkyNSw5MjYsOTI3LDkyOCw5MjksOTMxLDkzMiw5MzMsOTM0LDkzNSw5MzYsOTM3LDkzOCw5MzksOTQwLDk0MSw5NDIsOTQzLDk0NCw5NDUsOTQ2LDk0Nyw5NDgsOTQ5LDk1MCw5NTEsOTUyLDk1Myw5NTQsOTU1LDk1Niw5NTcsOTU4LDk1OSw5NjAsOTYxLDk2Miw5NjMsOTY0LDk2NSw5NjYsOTY3LDk2OCw5NjksOTcwLDk3MSw5NzIsOTczLDk3NCwxMDI0LDEwMjUsMTAyNiwxMDI3LDEwMjgsMTAyOSwxMDMwLDEwMzEsMTAzMiwxMDMzLDEwMzQsMTAzNSwxMDM2LDEwMzcsMTAzOCwxMDM5LDEwNDAsMTA0MSwxMDQyLDEwNDMsMTA0NCwxMDQ1LDEwNDYsMTA0NywxMDQ4LDEwNDksMTA1MCwxMDUxLDEwNTIsMTA1MywxMDU0LDEwNTUsMTA1NiwxMDU3LDEwNTgsMTA1OSwxMDYwLDEwNjEsMTA2MiwxMDYzLDEwNjQsMTA2NSwxMDY2LDEwNjcsMTA2OCwxMDY5LDEwNzAsMTA3MSwxMDcyLDEwNzMsMTA3NCwxMDc1LDEwNzYsMTA3NywxMDc4LDEwNzksMTA4MCwxMDgxLDEwODIsMTA4MywxMDg0LDEwODUsMTA4NiwxMDg3LDEwODgsMTA4OSwxMDkwLDEwOTEsMTA5MiwxMDkzLDEwOTQsMTA5NSwxMDk2LDEwOTcsMTA5OCwxMDk5LDExMDAsMTEwMSwxMTAyLDExMDMsMTEwNCwxMTA1LDExMDYsMTEwNywxMTA4LDExMDksMTExMCwxMTExLDExMTIsMTExMywxMTE0LDExMTUsMTExNiwxMTE3LDExMTgsMTExOSwxMTM4LDExMzksMTE2OCwxMTY5LDc4MDgsNzgwOSw3ODEwLDc4MTEsNzgxMiw3ODEzLDc5MjIsNzkyMyw4MjA4LDgyMDksODIxMSw4MjEyLDgyMTMsODIxNSw4MjE2LDgyMTcsODIxOCw4MjE5LDgyMjAsODIyMSw4MjIyLDgyMjQsODIyNSw4MjI2LDgyMzAsODI0MCw4MjQyLDgyNDMsODI0OSw4MjUwLDgyNTIsODI1NCw4MjYwLDgzMTksODM1NSw4MzU2LDgzNTksODM2NCw4NDUzLDg0NjcsODQ3MCw4NDgyLDg0ODYsODQ5NCw4NTM5LDg1NDAsODU0MSw4NTQyLDg1OTIsODU5Myw4NTk0LDg1OTUsODU5Niw4NTk3LDg2MTYsODcwNiw4NzEwLDg3MTksODcyMSw4NzIyLDg3MzAsODczNCw4NzM1LDg3NDUsODc0Nyw4Nzc2LDg4MDAsODgwMSw4ODA0LDg4MDUsODk2Miw4OTc2LDg5OTIsODk5Myw5NDcyLDk0NzQsOTQ4NCw5NDg4LDk0OTIsOTQ5Niw5NTAwLDk1MDgsOTUxNiw5NTI0LDk1MzIsOTU1Miw5NTUzLDk1NTQsOTU1NSw5NTU2LDk1NTcsOTU1OCw5NTU5LDk1NjAsOTU2MSw5NTYyLDk1NjMsOTU2NCw5NTY1LDk1NjYsOTU2Nyw5NTY4LDk1NjksOTU3MCw5NTcxLDk1NzIsOTU3Myw5NTc0LDk1NzUsOTU3Niw5NTc3LDk1NzgsOTU3OSw5NTgwLDk2MDAsOTYwNCw5NjA4LDk2MTIsOTYxNiw5NjE3LDk2MTgsOTYxOSw5NjMyLDk2MzMsOTY0Miw5NjQzLDk2NDQsOTY1MCw5NjU4LDk2NjAsOTY2OCw5Njc0LDk2NzUsOTY3OSw5Njg4LDk2ODksOTcwMiw5Nzg2LDk3ODcsOTc4OCw5NzkyLDk3OTQsOTgyNCw5ODI3LDk4MjksOTgzMCw5ODM0LDk4MzUsOTgzNiw2MTQ0MSw2MTQ0Miw2MTQ0NSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMV0sWGE9WzM2NSwwLDMzMywyNzgsMjc4LDM1NSw1NTYsNTU2LDg4OSw2NjcsMTkxLDMzMywzMzMsMzg5LDU4NCwyNzgsMzMzLDI3OCwyNzgsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDI3OCwyNzgsNTg0LDU4NCw1ODQsNTU2LDEwMTUsNjY3LDY2Nyw3MjIsNzIyLDY2Nyw2MTEsNzc4LDcyMiwyNzgsNTAwLDY2Nyw1NTYsODMzLDcyMiw3NzgsNjY3LDc3OCw3MjIsNjY3LDYxMSw3MjIsNjY3LDk0NCw2NjcsNjY3LDYxMSwyNzgsMjc4LDI3OCw0NjksNTU2LDMzMyw1NTYsNTU2LDUwMCw1NTYsNTU2LDI3OCw1NTYsNTU2LDIyMiwyMjIsNTAwLDIyMiw4MzMsNTU2LDU1Niw1NTYsNTU2LDMzMyw1MDAsMjc4LDU1Niw1MDAsNzIyLDUwMCw1MDAsNTAwLDMzNCwyNjAsMzM0LDU4NCwzMzMsNTU2LDU1Niw1NTYsNTU2LDI2MCw1NTYsMzMzLDczNywzNzAsNTU2LDU4NCw3MzcsNTUyLDQwMCw1NDksMzMzLDMzMywzMzMsNTc2LDUzNywyNzgsMzMzLDMzMywzNjUsNTU2LDgzNCw4MzQsODM0LDYxMSw2NjcsNjY3LDY2Nyw2NjcsNjY3LDY2NywxZTMsNzIyLDY2Nyw2NjcsNjY3LDY2NywyNzgsMjc4LDI3OCwyNzgsNzIyLDcyMiw3NzgsNzc4LDc3OCw3NzgsNzc4LDU4NCw3NzgsNzIyLDcyMiw3MjIsNzIyLDY2Nyw2NjcsNjExLDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDg4OSw1MDAsNTU2LDU1Niw1NTYsNTU2LDI3OCwyNzgsMjc4LDI3OCw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTQ5LDYxMSw1NTYsNTU2LDU1Niw1NTYsNTAwLDU1Niw1MDAsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNzIyLDUwMCw3MjIsNTAwLDcyMiw1MDAsNzIyLDUwMCw3MjIsNjI1LDcyMiw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDc3OCw1NTYsNzc4LDU1Niw3NzgsNTU2LDc3OCw1NTYsNzIyLDU1Niw3MjIsNTU2LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDI3OCwyMjIsMjc4LDI3OCw3MzMsNDQ0LDUwMCwyMjIsNjY3LDUwMCw1MDAsNTU2LDIyMiw1NTYsMjIyLDU1NiwyODEsNTU2LDQwMCw1NTYsMjIyLDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDYxNSw3MjMsNTU2LDc3OCw1NTYsNzc4LDU1Niw3NzgsNTU2LDFlMyw5NDQsNzIyLDMzMyw3MjIsMzMzLDcyMiwzMzMsNjY3LDUwMCw2NjcsNTAwLDY2Nyw1MDAsNjY3LDUwMCw2MTEsMjc4LDYxMSwzNTQsNjExLDI3OCw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw5NDQsNzIyLDY2Nyw1MDAsNjY3LDYxMSw1MDAsNjExLDUwMCw2MTEsNTAwLDIyMiw1NTYsNjY3LDU1NiwxZTMsODg5LDc3OCw2MTEsNjY3LDUwMCw2MTEsMjc4LDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsNjY3LDI3OCw3ODksODQ2LDM4OSw3OTQsODY1LDc3NSwyMjIsNjY3LDY2Nyw1NzAsNjcxLDY2Nyw2MTEsNzIyLDc3OCwyNzgsNjY3LDY2Nyw4MzMsNzIyLDY0OCw3NzgsNzI1LDY2Nyw2MDAsNjExLDY2Nyw4MzcsNjY3LDgzMSw3NjEsMjc4LDY2Nyw1NzAsNDM5LDU1NSwyMjIsNTUwLDU3MCw1NzEsNTAwLDU1Niw0MzksNDYzLDU1NSw1NDIsMjIyLDUwMCw0OTIsNTQ4LDUwMCw0NDcsNTU2LDY3MCw1NzMsNDg2LDYwMywzNzQsNTUwLDY1Miw1NDYsNzI4LDc3OSwyMjIsNTUwLDU1Niw1NTAsNzc5LDY2Nyw2NjcsODQzLDU0NCw3MDgsNjY3LDI3OCwyNzgsNTAwLDEwNjYsOTgyLDg0NCw1ODksNzE1LDYzOSw3MjQsNjY3LDY1MSw2NjcsNTQ0LDcwNCw2NjcsOTE3LDYxNCw3MTUsNzE1LDU4OSw2ODYsODMzLDcyMiw3NzgsNzI1LDY2Nyw3MjIsNjExLDYzOSw3OTUsNjY3LDcyNyw2NzMsOTIwLDkyMyw4MDUsODg2LDY1MSw2OTQsMTAyMiw2ODIsNTU2LDU2Miw1MjIsNDkzLDU1Myw1NTYsNjg4LDQ2NSw1NTYsNTU2LDQ3Miw1NjQsNjg2LDU1MCw1NTYsNTU2LDU1Niw1MDAsODMzLDUwMCw4MzUsNTAwLDU3Miw1MTgsODMwLDg1MSw2MjEsNzM2LDUyNiw0OTIsNzUyLDUzNCw1NTYsNTU2LDU1NiwzNzgsNDk2LDUwMCwyMjIsMjIyLDIyMiw5MTAsODI4LDU1Niw0NzIsNTY1LDUwMCw1NTYsNzc4LDU1Niw0OTIsMzM5LDk0NCw3MjIsOTQ0LDcyMiw5NDQsNzIyLDY2Nyw1MDAsMzMzLDMzMyw1NTYsMWUzLDFlMyw1NTIsMjIyLDIyMiwyMjIsMjIyLDMzMywzMzMsMzMzLDU1Niw1NTYsMzUwLDFlMywxZTMsMTg4LDM1NCwzMzMsMzMzLDUwMCwzMzMsMTY3LDM2NSw1NTYsNTU2LDEwOTQsNTU2LDg4NSwzMjMsMTA4MywxZTMsNzY4LDYwMCw4MzQsODM0LDgzNCw4MzQsMWUzLDUwMCw5OTgsNTAwLDFlMyw1MDAsNTAwLDQ5NCw2MTIsODIzLDcxMyw1ODQsNTQ5LDcxMyw5NzksNzE5LDI3NCw1NDksNTQ5LDU4NCw1NDksNTQ5LDYwNCw1ODQsNjA0LDYwNCw3MDgsNjI1LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcyOSw2MDQsNjA0LDM1NCwzNTQsMWUzLDk5MCw5OTAsOTkwLDk5MCw0OTQsNjA0LDYwNCw2MDQsNjA0LDM1NCwxMDIxLDEwNTIsOTE3LDc1MCw3NTAsNTMxLDY1Niw1OTQsNTEwLDUwMCw3NTAsNzUwLDUwMCw1MDAsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywyMjIsMjIyLDI5NCwyOTQsMzI0LDMyNCwzMTYsMzI4LDM5OCwyODVdLFphPVstMSwtMSwtMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2Nyw2OCw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEyMCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxNjEsMTYyLDE2MywxNjQsMTY1LDE2NiwxNjcsMTY4LDE2OSwxNzAsMTcxLDE3MiwxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTg0LDE4NSwxODYsMTg3LDE4OCwxODksMTkwLDE5MSwxOTIsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDcsMjA4LDIwOSwyMTAsMjExLDIxMiwyMTMsMjE0LDIxNSwyMTYsMjE3LDIxOCwyMTksMjIwLDIyMSwyMjIsMjIzLDIyNCwyMjUsMjI2LDIyNywyMjgsMjI5LDIzMCwyMzEsMjMyLDIzMywyMzQsMjM1LDIzNiwyMzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3LDI0OCwyNDksMjUwLDI1MSwyNTIsMjUzLDI1NCwyNTUsMjU2LDI1NywyNTgsMjU5LDI2MCwyNjEsMjYyLDI2MywyNjQsMjY1LDI2NiwyNjcsMjY4LDI2OSwyNzAsMjcxLDI3MiwyNzMsMjc0LDI3NSwyNzYsMjc3LDI3OCwyNzksMjgwLDI4MSwyODIsMjgzLDI4NCwyODUsMjg2LDI4NywyODgsMjg5LDI5MCwyOTEsMjkyLDI5MywyOTQsMjk1LDI5NiwyOTcsMjk4LDI5OSwzMDAsMzAxLDMwMiwzMDMsMzA0LDMwNSwzMDYsMzA3LDMwOCwzMDksMzEwLDMxMSwzMTIsMzEzLDMxNCwzMTUsMzE2LDMxNywzMTgsMzE5LDMyMCwzMjEsMzIyLDMyMywzMjQsMzI1LDMyNiwzMjcsMzI4LDMyOSwzMzAsMzMxLDMzMiwzMzMsMzM0LDMzNSwzMzYsMzM3LDMzOCwzMzksMzQwLDM0MSwzNDIsMzQzLDM0NCwzNDUsMzQ2LDM0NywzNDgsMzQ5LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM1OSwzNjAsMzYxLDM2MiwzNjMsMzY0LDM2NSwzNjYsMzY3LDM2OCwzNjksMzcwLDM3MSwzNzIsMzczLDM3NCwzNzUsMzc2LDM3NywzNzgsMzc5LDM4MCwzODEsMzgyLDM4Myw0MDIsNTA2LDUwNyw1MDgsNTA5LDUxMCw1MTEsNTM2LDUzNyw1MzgsNTM5LDcxMCw3MTEsNzEzLDcyOCw3MjksNzMwLDczMSw3MzIsNzMzLDkwMCw5MDEsOTAyLDkwMyw5MDQsOTA1LDkwNiw5MDgsOTEwLDkxMSw5MTIsOTEzLDkxNCw5MTUsOTE2LDkxNyw5MTgsOTE5LDkyMCw5MjEsOTIyLDkyMyw5MjQsOTI1LDkyNiw5MjcsOTI4LDkyOSw5MzEsOTMyLDkzMyw5MzQsOTM1LDkzNiw5MzcsOTM4LDkzOSw5NDAsOTQxLDk0Miw5NDMsOTQ0LDk0NSw5NDYsOTQ3LDk0OCw5NDksOTUwLDk1MSw5NTIsOTUzLDk1NCw5NTUsOTU2LDk1Nyw5NTgsOTU5LDk2MCw5NjEsOTYyLDk2Myw5NjQsOTY1LDk2Niw5NjcsOTY4LDk2OSw5NzAsOTcxLDk3Miw5NzMsOTc0LDEwMjQsMTAyNSwxMDI2LDEwMjcsMTAyOCwxMDI5LDEwMzAsMTAzMSwxMDMyLDEwMzMsMTAzNCwxMDM1LDEwMzYsMTAzNywxMDM4LDEwMzksMTA0MCwxMDQxLDEwNDIsMTA0MywxMDQ0LDEwNDUsMTA0NiwxMDQ3LDEwNDgsMTA0OSwxMDUwLDEwNTEsMTA1MiwxMDUzLDEwNTQsMTA1NSwxMDU2LDEwNTcsMTA1OCwxMDU5LDEwNjAsMTA2MSwxMDYyLDEwNjMsMTA2NCwxMDY1LDEwNjYsMTA2NywxMDY4LDEwNjksMTA3MCwxMDcxLDEwNzIsMTA3MywxMDc0LDEwNzUsMTA3NiwxMDc3LDEwNzgsMTA3OSwxMDgwLDEwODEsMTA4MiwxMDgzLDEwODQsMTA4NSwxMDg2LDEwODcsMTA4OCwxMDg5LDEwOTAsMTA5MSwxMDkyLDEwOTMsMTA5NCwxMDk1LDEwOTYsMTA5NywxMDk4LDEwOTksMTEwMCwxMTAxLDExMDIsMTEwMywxMTA0LDExMDUsMTEwNiwxMTA3LDExMDgsMTEwOSwxMTEwLDExMTEsMTExMiwxMTEzLDExMTQsMTExNSwxMTE2LDExMTcsMTExOCwxMTE5LDExMzgsMTEzOSwxMTY4LDExNjksNzgwOCw3ODA5LDc4MTAsNzgxMSw3ODEyLDc4MTMsNzkyMiw3OTIzLDgyMDgsODIwOSw4MjExLDgyMTIsODIxMyw4MjE1LDgyMTYsODIxNyw4MjE4LDgyMTksODIyMCw4MjIxLDgyMjIsODIyNCw4MjI1LDgyMjYsODIzMCw4MjQwLDgyNDIsODI0Myw4MjQ5LDgyNTAsODI1Miw4MjU0LDgyNjAsODMxOSw4MzU1LDgzNTYsODM1OSw4MzY0LDg0NTMsODQ2Nyw4NDcwLDg0ODIsODQ4Niw4NDk0LDg1MzksODU0MCw4NTQxLDg1NDIsODU5Miw4NTkzLDg1OTQsODU5NSw4NTk2LDg1OTcsODYxNiw4NzA2LDg3MTAsODcxOSw4NzIxLDg3MjIsODczMCw4NzM0LDg3MzUsODc0NSw4NzQ3LDg3NzYsODgwMCw4ODAxLDg4MDQsODgwNSw4OTYyLDg5NzYsODk5Miw4OTkzLDk0NzIsOTQ3NCw5NDg0LDk0ODgsOTQ5Miw5NDk2LDk1MDAsOTUwOCw5NTE2LDk1MjQsOTUzMiw5NTUyLDk1NTMsOTU1NCw5NTU1LDk1NTYsOTU1Nyw5NTU4LDk1NTksOTU2MCw5NTYxLDk1NjIsOTU2Myw5NTY0LDk1NjUsOTU2Niw5NTY3LDk1NjgsOTU2OSw5NTcwLDk1NzEsOTU3Miw5NTczLDk1NzQsOTU3NSw5NTc2LDk1NzcsOTU3OCw5NTc5LDk1ODAsOTYwMCw5NjA0LDk2MDgsOTYxMiw5NjE2LDk2MTcsOTYxOCw5NjE5LDk2MzIsOTYzMyw5NjQyLDk2NDMsOTY0NCw5NjUwLDk2NTgsOTY2MCw5NjY4LDk2NzQsOTY3NSw5Njc5LDk2ODgsOTY4OSw5NzAyLDk3ODYsOTc4Nyw5Nzg4LDk3OTIsOTc5NCw5ODI0LDk4MjcsOTgyOSw5ODMwLDk4MzQsOTgzNSw5ODM2LDYxNDQxLDYxNDQyLDYxNDQ1LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xXSxWYT1bMzY1LDAsMzMzLDI3OCwyNzgsMzU1LDU1Niw1NTYsODg5LDY2NywxOTEsMzMzLDMzMywzODksNTg0LDI3OCwzMzMsMjc4LDI3OCw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsMjc4LDI3OCw1ODQsNTg0LDU4NCw1NTYsMTAxNSw2NjcsNjY3LDcyMiw3MjIsNjY3LDYxMSw3NzgsNzIyLDI3OCw1MDAsNjY3LDU1Niw4MzMsNzIyLDc3OCw2NjcsNzc4LDcyMiw2NjcsNjExLDcyMiw2NjcsOTQ0LDY2Nyw2NjcsNjExLDI3OCwyNzgsMjc4LDQ2OSw1NTYsMzMzLDU1Niw1NTYsNTAwLDU1Niw1NTYsMjc4LDU1Niw1NTYsMjIyLDIyMiw1MDAsMjIyLDgzMyw1NTYsNTU2LDU1Niw1NTYsMzMzLDUwMCwyNzgsNTU2LDUwMCw3MjIsNTAwLDUwMCw1MDAsMzM0LDI2MCwzMzQsNTg0LDMzMyw1NTYsNTU2LDU1Niw1NTYsMjYwLDU1NiwzMzMsNzM3LDM3MCw1NTYsNTg0LDczNyw1NTIsNDAwLDU0OSwzMzMsMzMzLDMzMyw1NzYsNTM3LDI3OCwzMzMsMzMzLDM2NSw1NTYsODM0LDgzNCw4MzQsNjExLDY2Nyw2NjcsNjY3LDY2Nyw2NjcsNjY3LDFlMyw3MjIsNjY3LDY2Nyw2NjcsNjY3LDI3OCwyNzgsMjc4LDI3OCw3MjIsNzIyLDc3OCw3NzgsNzc4LDc3OCw3NzgsNTg0LDc3OCw3MjIsNzIyLDcyMiw3MjIsNjY3LDY2Nyw2MTEsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NTYsODg5LDUwMCw1NTYsNTU2LDU1Niw1NTYsMjc4LDI3OCwyNzgsMjc4LDU1Niw1NTYsNTU2LDU1Niw1NTYsNTU2LDU1Niw1NDksNjExLDU1Niw1NTYsNTU2LDU1Niw1MDAsNTU2LDUwMCw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw3MjIsNTAwLDcyMiw1MDAsNzIyLDUwMCw3MjIsNTAwLDcyMiw2MTUsNzIyLDU1Niw2NjcsNTU2LDY2Nyw1NTYsNjY3LDU1Niw2NjcsNTU2LDY2Nyw1NTYsNzc4LDU1Niw3NzgsNTU2LDc3OCw1NTYsNzc4LDU1Niw3MjIsNTU2LDcyMiw1NTYsMjc4LDI3OCwyNzgsMjc4LDI3OCwyNzgsMjc4LDIyMiwyNzgsMjc4LDczNSw0NDQsNTAwLDIyMiw2NjcsNTAwLDUwMCw1NTYsMjIyLDU1NiwyMjIsNTU2LDI5Miw1NTYsMzM0LDU1NiwyMjIsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNjA0LDcyMyw1NTYsNzc4LDU1Niw3NzgsNTU2LDc3OCw1NTYsMWUzLDk0NCw3MjIsMzMzLDcyMiwzMzMsNzIyLDMzMyw2NjcsNTAwLDY2Nyw1MDAsNjY3LDUwMCw2NjcsNTAwLDYxMSwyNzgsNjExLDM3NSw2MTEsMjc4LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDcyMiw1NTYsNzIyLDU1Niw3MjIsNTU2LDk0NCw3MjIsNjY3LDUwMCw2NjcsNjExLDUwMCw2MTEsNTAwLDYxMSw1MDAsMjIyLDU1Niw2NjcsNTU2LDFlMyw4ODksNzc4LDYxMSw2NjcsNTAwLDYxMSwyNzgsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMyw2NjcsMjc4LDc4NCw4MzgsMzg0LDc3NCw4NTUsNzUyLDIyMiw2NjcsNjY3LDU1MSw2NjgsNjY3LDYxMSw3MjIsNzc4LDI3OCw2NjcsNjY4LDgzMyw3MjIsNjUwLDc3OCw3MjIsNjY3LDYxOCw2MTEsNjY3LDc5OCw2NjcsODM1LDc0OCwyNzgsNjY3LDU3OCw0NDYsNTU2LDIyMiw1NDcsNTc4LDU3NSw1MDAsNTU3LDQ0Niw0NDEsNTU2LDU1NiwyMjIsNTAwLDUwMCw1NzYsNTAwLDQ0OCw1NTYsNjkwLDU2OSw0ODIsNjE3LDM5NSw1NDcsNjQ4LDUyNSw3MTMsNzgxLDIyMiw1NDcsNTU2LDU0Nyw3ODEsNjY3LDY2Nyw4NjUsNTQyLDcxOSw2NjcsMjc4LDI3OCw1MDAsMTA1NywxMDEwLDg1NCw1ODMsNzIyLDYzNSw3MTksNjY3LDY1Niw2NjcsNTQyLDY3Nyw2NjcsOTIzLDYwNCw3MTksNzE5LDU4Myw2NTYsODMzLDcyMiw3NzgsNzE5LDY2Nyw3MjIsNjExLDYzNSw3NjAsNjY3LDc0MCw2NjcsOTE3LDkzOCw3OTIsODg1LDY1Niw3MTksMTAxMCw3MjIsNTU2LDU3Myw1MzEsMzY1LDU4Myw1NTYsNjY5LDQ1OCw1NTksNTU5LDQzOCw1ODMsNjg4LDU1Miw1NTYsNTQyLDU1Niw1MDAsNDU4LDUwMCw4MjMsNTAwLDU3Myw1MjEsODAyLDgyMyw2MjUsNzE5LDUyMSw1MTAsNzUwLDU0Miw1NTYsNTU2LDU1NiwzNjUsNTEwLDUwMCwyMjIsMjc4LDIyMiw5MDYsODEyLDU1Niw0MzgsNTU5LDUwMCw1NTIsNzc4LDU1Niw0ODksNDExLDk0NCw3MjIsOTQ0LDcyMiw5NDQsNzIyLDY2Nyw1MDAsMzMzLDMzMyw1NTYsMWUzLDFlMyw1NTIsMjIyLDIyMiwyMjIsMjIyLDMzMywzMzMsMzMzLDU1Niw1NTYsMzUwLDFlMywxZTMsMTg4LDM1NCwzMzMsMzMzLDUwMCwzMzMsMTY3LDM2NSw1NTYsNTU2LDEwOTQsNTU2LDg4NSwzMjMsMTA3MywxZTMsNzY4LDYwMCw4MzQsODM0LDgzNCw4MzQsMWUzLDUwMCwxZTMsNTAwLDFlMyw1MDAsNTAwLDQ5NCw2MTIsODIzLDcxMyw1ODQsNTQ5LDcxMyw5NzksNzE5LDI3NCw1NDksNTQ5LDU4Myw1NDksNTQ5LDYwNCw1ODQsNjA0LDYwNCw3MDgsNjI1LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcwOCw3MDgsNzA4LDcyOSw2MDQsNjA0LDM1NCwzNTQsMWUzLDk5MCw5OTAsOTkwLDk5MCw0OTQsNjA0LDYwNCw2MDQsNjA0LDM1NCwxMDIxLDEwNTIsOTE3LDc1MCw3NTAsNTMxLDY1Niw1OTQsNTEwLDUwMCw3NTAsNzUwLDUwMCw1MDAsMzMzLDMzMywzMzMsMzMzLDMzMywzMzMsMzMzLDMzMywyMjIsMjIyLDI5NCwyOTQsMzI0LDMyNCwzMTYsMzI4LDM5OCwyODVdLHphPVstMSwtMSwtMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSw1MCw1MSw1Miw1Myw1NCw1NSw1Niw1Nyw1OCw1OSw2MCw2MSw2Miw2Myw2NCw2NSw2Niw2Nyw2OCw2OSw3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSw4MCw4MSw4Miw4Myw4NCw4NSw4Niw4Nyw4OCw4OSw5MCw5MSw5Miw5Myw5NCw5NSw5Niw5Nyw5OCw5OSwxMDAsMTAxLDEwMiwxMDMsMTA0LDEwNSwxMDYsMTA3LDEwOCwxMDksMTEwLDExMSwxMTIsMTEzLDExNCwxMTUsMTE2LDExNywxMTgsMTE5LDEyMCwxMjEsMTIyLDEyMywxMjQsMTI1LDEyNiwxNjEsMTYyLDE2MywxNjQsMTY1LDE2NiwxNjcsMTY4LDE2OSwxNzAsMTcxLDE3MiwxNzQsMTc1LDE3NiwxNzcsMTc4LDE3OSwxODAsMTgxLDE4MiwxODMsMTg0LDE4NSwxODYsMTg3LDE4OCwxODksMTkwLDE5MSwxOTIsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDcsMjA4LDIwOSwyMTAsMjExLDIxMiwyMTMsMjE0LDIxNSwyMTYsMjE3LDIxOCwyMTksMjIwLDIyMSwyMjIsMjIzLDIyNCwyMjUsMjI2LDIyNywyMjgsMjI5LDIzMCwyMzEsMjMyLDIzMywyMzQsMjM1LDIzNiwyMzcsMjM4LDIzOSwyNDAsMjQxLDI0MiwyNDMsMjQ0LDI0NSwyNDYsMjQ3LDI0OCwyNDksMjUwLDI1MSwyNTIsMjUzLDI1NCwyNTUsMjU2LDI1NywyNTgsMjU5LDI2MCwyNjEsMjYyLDI2MywyNjQsMjY1LDI2NiwyNjcsMjY4LDI2OSwyNzAsMjcxLDI3MiwyNzMsMjc0LDI3NSwyNzYsMjc3LDI3OCwyNzksMjgwLDI4MSwyODIsMjgzLDI4NCwyODUsMjg2LDI4NywyODgsMjg5LDI5MCwyOTEsMjkyLDI5MywyOTQsMjk1LDI5NiwyOTcsMjk4LDI5OSwzMDAsMzAxLDMwMiwzMDMsMzA0LDMwNSwzMDYsMzA3LDMwOCwzMDksMzEwLDMxMSwzMTIsMzEzLDMxNCwzMTUsMzE2LDMxNywzMTgsMzE5LDMyMCwzMjEsMzIyLDMyMywzMjQsMzI1LDMyNiwzMjcsMzI4LDMyOSwzMzAsMzMxLDMzMiwzMzMsMzM0LDMzNSwzMzYsMzM3LDMzOCwzMzksMzQwLDM0MSwzNDIsMzQzLDM0NCwzNDUsMzQ2LDM0NywzNDgsMzQ5LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM1OSwzNjAsMzYxLDM2MiwzNjMsMzY0LDM2NSwzNjYsMzY3LDM2OCwzNjksMzcwLDM3MSwzNzIsMzczLDM3NCwzNzUsMzc2LDM3NywzNzgsMzc5LDM4MCwzODEsMzgyLDM4Myw0MDIsNTA2LDUwNyw1MDgsNTA5LDUxMCw1MTEsNTM2LDUzNyw1MzgsNTM5LDcxMCw3MTEsNzEzLDcyOCw3MjksNzMwLDczMSw3MzIsNzMzLDkwMCw5MDEsOTAyLDkwMyw5MDQsOTA1LDkwNiw5MDgsOTEwLDkxMSw5MTIsOTEzLDkxNCw5MTUsOTE2LDkxNyw5MTgsOTE5LDkyMCw5MjEsOTIyLDkyMyw5MjQsOTI1LDkyNiw5MjcsOTI4LDkyOSw5MzEsOTMyLDkzMyw5MzQsOTM1LDkzNiw5MzcsOTM4LDkzOSw5NDAsOTQxLDk0Miw5NDMsOTQ0LDk0NSw5NDYsOTQ3LDk0OCw5NDksOTUwLDk1MSw5NTIsOTUzLDk1NCw5NTUsOTU2LDk1Nyw5NTgsOTU5LDk2MCw5NjEsOTYyLDk2Myw5NjQsOTY1LDk2Niw5NjcsOTY4LDk2OSw5NzAsOTcxLDk3Miw5NzMsOTc0LDEwMjQsMTAyNSwxMDI2LDEwMjcsMTAyOCwxMDI5LDEwMzAsMTAzMSwxMDMyLDEwMzMsMTAzNCwxMDM1LDEwMzYsMTAzNywxMDM4LDEwMzksMTA0MCwxMDQxLDEwNDIsMTA0MywxMDQ0LDEwNDUsMTA0NiwxMDQ3LDEwNDgsMTA0OSwxMDUwLDEwNTEsMTA1MiwxMDUzLDEwNTQsMTA1NSwxMDU2LDEwNTcsMTA1OCwxMDU5LDEwNjAsMTA2MSwxMDYyLDEwNjMsMTA2NCwxMDY1LDEwNjYsMTA2NywxMDY4LDEwNjksMTA3MCwxMDcxLDEwNzIsMTA3MywxMDc0LDEwNzUsMTA3NiwxMDc3LDEwNzgsMTA3OSwxMDgwLDEwODEsMTA4MiwxMDgzLDEwODQsMTA4NSwxMDg2LDEwODcsMTA4OCwxMDg5LDEwOTAsMTA5MSwxMDkyLDEwOTMsMTA5NCwxMDk1LDEwOTYsMTA5NywxMDk4LDEwOTksMTEwMCwxMTAxLDExMDIsMTEwMywxMTA0LDExMDUsMTEwNiwxMTA3LDExMDgsMTEwOSwxMTEwLDExMTEsMTExMiwxMTEzLDExMTQsMTExNSwxMTE2LDExMTcsMTExOCwxMTE5LDExMzgsMTEzOSwxMTY4LDExNjksNzgwOCw3ODA5LDc4MTAsNzgxMSw3ODEyLDc4MTMsNzkyMiw3OTIzLDgyMDgsODIwOSw4MjExLDgyMTIsODIxMyw4MjE1LDgyMTYsODIxNyw4MjE4LDgyMTksODIyMCw4MjIxLDgyMjIsODIyNCw4MjI1LDgyMjYsODIzMCw4MjQwLDgyNDIsODI0Myw4MjQ5LDgyNTAsODI1Miw4MjU0LDgyNjAsODMxOSw4MzU1LDgzNTYsODM1OSw4MzY0LDg0NTMsODQ2Nyw4NDcwLDg0ODIsODQ4Niw4NDk0LDg1MzksODU0MCw4NTQxLDg1NDIsODU5Miw4NTkzLDg1OTQsODU5NSw4NTk2LDg1OTcsODYxNiw4NzA2LDg3MTAsODcxOSw4NzIxLDg3MjIsODczMCw4NzM0LDg3MzUsODc0NSw4NzQ3LDg3NzYsODgwMCw4ODAxLDg4MDQsODgwNSw4OTYyLDg5NzYsODk5Miw4OTkzLDk0NzIsOTQ3NCw5NDg0LDk0ODgsOTQ5Miw5NDk2LDk1MDAsOTUwOCw5NTE2LDk1MjQsOTUzMiw5NTUyLDk1NTMsOTU1NCw5NTU1LDk1NTYsOTU1Nyw5NTU4LDk1NTksOTU2MCw5NTYxLDk1NjIsOTU2Myw5NTY0LDk1NjUsOTU2Niw5NTY3LDk1NjgsOTU2OSw5NTcwLDk1NzEsOTU3Miw5NTczLDk1NzQsOTU3NSw5NTc2LDk1NzcsOTU3OCw5NTc5LDk1ODAsOTYwMCw5NjA0LDk2MDgsOTYxMiw5NjE2LDk2MTcsOTYxOCw5NjE5LDk2MzIsOTYzMyw5NjQyLDk2NDMsOTY0NCw5NjUwLDk2NTgsOTY2MCw5NjY4LDk2NzQsOTY3NSw5Njc5LDk2ODgsOTY4OSw5NzAyLDk3ODYsOTc4Nyw5Nzg4LDk3OTIsOTc5NCw5ODI0LDk4MjcsOTgyOSw5ODMwLDk4MzQsOTgzNSw5ODM2LDYxNDQxLDYxNDQyLDYxNDQ1LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xXSxfYT1bMS4zNjg5OCwxLDEsLjcyNzA2LC44MDQ3OSwuODM3MzQsLjk4ODk0LC45OTc5MywuOTg5NywuOTM4ODQsLjg2MjA5LC45NDI5MiwuOTQyOTIsMS4xNjY2MSwxLjAyMDU4LC45MzU4MiwuOTY2OTQsLjkzNTgyLDEuMTkxMzcsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLC43ODA3NiwuNzgwNzYsMS4wMjA1OCwxLjAyMDU4LDEuMDIwNTgsLjcyODUxLC43ODk2NiwuOTA4MzgsLjgzNjM3LC44MjM5MSwuOTYzNzYsLjgwMDYxLC44NjI3NSwuODc2OCwuOTU0MDcsMS4wMjU4LC43MzkwMSwuODUwMjIsLjgzNjU1LDEuMDE1NiwuOTU1NDYsLjkyMTc5LC44NzEwNywuOTIxNzksLjgyMTE0LC44MDk2LC44OTcxMywuOTQ0MzgsLjk1MzUzLC45NDA4MywuOTE5MDUsLjkwNDA2LC45NDQ2LC45NDI5MiwxLjE4Nzc3LC45NDI5MiwxLjAyMDU4LC44OTkwMywuOTAwODgsLjk0OTM4LC45Nzg5OCwuODEwOTMsLjk3NTcxLC45NDkzOCwxLjAyNCwuOTU3NywuOTU5MzMsLjk4NjIxLDEuMDQ3NCwuOTc0NTUsLjk4OTgxLC45NjcyLC45NTkzMywuOTQ0NiwuOTc4OTgsLjk3NDA3LC45NzY0NiwuNzgwMzYsMS4xMDIwOCwuOTU0NDIsLjk1Mjk4LC45NzU3OSwuOTMzMiwuOTQwMzksLjkzOCwuODA2ODcsMS4wMTE0OSwuODA2ODcsMS4wMjA1OCwuODA0NzksLjk5NzkzLC45OTc5MywuOTk3OTMsLjk5NzkzLDEuMDExNDksMS4wMDg3MiwuOTAwODgsLjkxODgyLDEuMDIxMywuODM2MSwxLjAyMDU4LC42MjI5NSwuNTQzMjQsLjg5MDIyLDEuMDg1OTUsMSwxLC45MDA4OCwxLC45NzQ1NSwuOTM1ODIsLjkwMDg4LDEsMS4wNTY4NiwuODM2MSwuOTk2NDIsLjk5NjQyLC45OTY0MiwuNzI4NTEsLjkwODM4LC45MDgzOCwuOTA4MzgsLjkwODM4LC45MDgzOCwuOTA4MzgsLjg2OCwuODIzOTEsLjgwMDYxLC44MDA2MSwuODAwNjEsLjgwMDYxLDEuMDI1OCwxLjAyNTgsMS4wMjU4LDEuMDI1OCwuOTc0ODQsLjk1NTQ2LC45MjE3OSwuOTIxNzksLjkyMTc5LC45MjE3OSwuOTIxNzksMS4wMjA1OCwuOTIxNzksLjk0NDM4LC45NDQzOCwuOTQ0MzgsLjk0NDM4LC45MDQwNiwuODY5NTgsLjk4MjI1LC45NDkzOCwuOTQ5MzgsLjk0OTM4LC45NDkzOCwuOTQ5MzgsLjk0OTM4LC45MDMxLC44MTA5MywuOTQ5MzgsLjk0OTM4LC45NDkzOCwuOTQ5MzgsLjk4NjIxLC45ODYyMSwuOTg2MjEsLjk4NjIxLC45Mzk2OSwuOTU5MzMsLjk0NDYsLjk0NDYsLjk0NDYsLjk0NDYsLjk0NDYsMS4wODU5NSwuOTQ0NiwuOTU0NDIsLjk1NDQyLC45NTQ0MiwuOTU0NDIsLjk0MDM5LC45Nzg5OCwuOTQwMzksLjkwODM4LC45NDkzOCwuOTA4MzgsLjk0OTM4LC45MDgzOCwuOTQ5MzgsLjgyMzkxLC44MTA5MywuODIzOTEsLjgxMDkzLC44MjM5MSwuODEwOTMsLjgyMzkxLC44MTA5MywuOTYzNzYsLjg0MzEzLC45NzQ4NCwuOTc1NzEsLjgwMDYxLC45NDkzOCwuODAwNjEsLjk0OTM4LC44MDA2MSwuOTQ5MzgsLjgwMDYxLC45NDkzOCwuODAwNjEsLjk0OTM4LC44NzY4LC45NTc3LC44NzY4LC45NTc3LC44NzY4LC45NTc3LDEsMSwuOTU0MDcsLjk1OTMzLC45NzA2OSwuOTU5MzMsMS4wMjU4LC45ODYyMSwxLjAyNTgsLjk4NjIxLDEuMDI1OCwuOTg2MjEsMS4wMjU4LC45ODYyMSwxLjAyNTgsLjk4NjIxLC44ODcsMS4wMTU5MSwuNzM5MDEsMS4wNDc0LDEsMSwuOTc0NTUsLjgzNjU1LC45ODk4MSwxLDEsLjgzNjU1LC43Mzk3NywuODM2NTUsLjczOTAzLC44NDYzOCwxLjAzMywuOTU1NDYsLjk1OTMzLDEsMSwuOTU1NDYsLjk1OTMzLC44MjcxLC45NTQxNywuOTU5MzMsLjkyMTc5LC45NDQ2LC45MjE3OSwuOTQ0NiwuOTIxNzksLjk0NDYsLjkzNiwuOTE5NjQsLjgyMTE0LC45NzY0NiwxLDEsLjgyMTE0LC45NzY0NiwuODA5NiwuNzgwMzYsLjgwOTYsLjc4MDM2LDEsMSwuODA5NiwuNzgwMzYsMSwxLC44OTcxMywuNzc0NTIsLjg5NzEzLDEuMTAyMDgsLjk0NDM4LC45NTQ0MiwuOTQ0MzgsLjk1NDQyLC45NDQzOCwuOTU0NDIsLjk0NDM4LC45NTQ0MiwuOTQ0MzgsLjk1NDQyLC45NDQzOCwuOTU0NDIsLjk0MDgzLC45NzU3OSwuOTA0MDYsLjk0MDM5LC45MDQwNiwuOTQ0NiwuOTM4LC45NDQ2LC45MzgsLjk0NDYsLjkzOCwxLC45OTc5MywuOTA4MzgsLjk0OTM4LC44NjgsLjkwMzEsLjkyMTc5LC45NDQ2LDEsMSwuODk3MTMsMS4xMDIwOCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTA5ODksLjkzNTgsLjkxOTQ1LC44MzE4MSwuNzUyNjEsLjg3OTkyLC44Mjk3NiwuOTYwMzQsLjgzNjg5LC45NzI2OCwxLjAwNzgsLjkwODM4LC44MzYzNywuODAxOSwuOTAxNTcsLjgwMDYxLC45NDQ2LC45NTQwNywuOTI0MzYsMS4wMjU4LC44NTAyMiwuOTcxNTMsMS4wMTU2LC45NTU0NiwuODkxOTIsLjkyMTc5LC45MjM2MSwuODcxMDcsLjk2MzE4LC44OTcxMywuOTM3MDQsLjk1NjM4LC45MTkwNSwuOTE3MDksLjkyNzk2LDEuMDI1OCwuOTM3MDQsLjk0ODM2LDEuMDM3MywuOTU5MzMsMS4wMDc4LC45NTg3MSwuOTQ4MzYsLjk2MTc0LC45MjYwMSwuOTQ5OCwuOTg2MDcsLjk1Nzc2LC45NTkzMywxLjA1NDUzLDEuMDA3OCwuOTgyNzUsLjkzMTQsLjk1NjE3LC45MTcwMSwxLjA1OTkzLC45NDQ2LC43ODM2NywuOTU1MywxLC44NjgzMiwxLjAxMjgsLjk1ODcxLC45OTM5NCwuODc1NDgsLjk2MzYxLC44Njc3NCwxLjAwNzgsLjk1ODcxLC45NDQ2LC45NTg3MSwuODY3NzQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTQwODMsLjk3NTc5LC45NDA4MywuOTc1NzksLjk0MDgzLC45NzU3OSwuOTA0MDYsLjk0MDM5LC45NjY5NCwxLC44OTkwMywxLDEsMSwuOTM1ODIsLjkzNTgyLC45MzU4MiwxLC45MDgsLjkwOCwuOTE4LC45NDIxOSwuOTQyMTksLjk2NTQ0LDEsMS4yODUsMSwxLC44MTA3OSwuODEwNzksMSwxLC43NDg1NCwxLDEsMSwxLC45OTc5MywxLDEsMSwuNjUsMSwxLjM2MTQ1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjE3MTczLDEsLjgwNTM1LC43NjE2OSwxLjAyMDU4LDEuMDczMiwxLjA1NDg2LDEsMSwxLjMwNjkyLDEuMDg1OTUsMS4wODU5NSwxLDEuMDg1OTUsMS4wODU5NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMTYxNjEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sJGE9e2xpbmVIZWlnaHQ6MS4yLGxpbmVHYXA6LjJ9LEFzPVsxLjM2ODk4LDEsMSwuNjYyMjcsLjgwNzc5LC44MTYyNSwuOTcyNzYsLjk3Mjc2LC45NzczMywuOTIyMjIsLjgzMjY2LC45NDI5MiwuOTQyOTIsMS4xNjE0OCwxLjAyMDU4LC45MzU4MiwuOTY2OTQsLjkzNTgyLDEuMTczMzcsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC43ODA3NiwuNzgwNzYsMS4wMjA1OCwxLjAyMDU4LDEuMDIwNTgsLjcxNTQxLC43NjgxMywuODU1NzYsLjgwNTkxLC44MDcyOSwuOTQyOTksLjc3NTEyLC44MzY1NSwuODY1MjMsLjkyMjIyLC45ODYyMSwuNzE3NDMsLjgxNjk4LC43OTcyNiwuOTg1NTgsLjkyMjIyLC45MDYzNywuODM4MDksLjkwNjM3LC44MDcyOSwuNzY0NjMsLjg2Mjc1LC45MDY5OSwuOTE2MDUsLjkxNTQsLjg1MzA4LC44NTQ1OCwuOTA1MzEsLjk0MjkyLDEuMjEyOTYsLjk0MjkyLDEuMDIwNTgsLjg5OTAzLDEuMTg2MTYsLjk5NjEzLC45MTY3NywuNzgyMTYsLjkxNjc3LC45MDA4MywuOTg3OTYsLjkxMzUsLjkyMTY4LC45NTM4MSwuOTg5ODEsLjk1Mjk4LC45NTM4MSwuOTM0NTksLjkyMTY4LC45MTUxMywuOTIwMDQsLjkxNjc3LC45NTA3NywuNzQ4LDEuMDQ1MDIsLjkxNjc3LC45MjA2MSwuOTQyMzYsLjg5NTQ0LC44OTM2NCwuOSwuODA2ODcsLjg1NzgsLjgwNjg3LDEuMDIwNTgsLjgwNzc5LC45NzI3NiwuOTcyNzYsLjk3Mjc2LC45NzI3NiwuODU3OCwuOTk5NzMsMS4xODYxNiwuOTEzMzksMS4wODA3NCwuODI4OTEsMS4wMjA1OCwuNTU1MDksLjcxNTI2LC44OTAyMiwxLjA4NTk1LDEsMSwxLjE4NjE2LDEsLjk2NzM2LC45MzU4MiwxLjE4NjE2LDEsMS4wNDg2NCwuODI3MTEsLjk5MDQzLC45OTA0MywuOTkwNDMsLjcxNTQxLC44NTU3NiwuODU1NzYsLjg1NTc2LC44NTU3NiwuODU1NzYsLjg1NTc2LC44NDUsLjgwNzI5LC43NzUxMiwuNzc1MTIsLjc3NTEyLC43NzUxMiwuOTg2MjEsLjk4NjIxLC45ODYyMSwuOTg2MjEsLjk1OTYxLC45MjIyMiwuOTA2MzcsLjkwNjM3LC45MDYzNywuOTA2MzcsLjkwNjM3LDEuMDIwNTgsLjkwMjUxLC45MDY5OSwuOTA2OTksLjkwNjk5LC45MDY5OSwuODU0NTgsLjgzNjU5LC45NDk1MSwuOTk2MTMsLjk5NjEzLC45OTYxMywuOTk2MTMsLjk5NjEzLC45OTYxMywuODU4MTEsLjc4MjE2LC45MDA4MywuOTAwODMsLjkwMDgzLC45MDA4MywuOTUzODEsLjk1MzgxLC45NTM4MSwuOTUzODEsLjkxMzUsLjkyMTY4LC45MTUxMywuOTE1MTMsLjkxNTEzLC45MTUxMywuOTE1MTMsMS4wODU5NSwuOTE2NzcsLjkxNjc3LC45MTY3NywuOTE2NzcsLjkxNjc3LC44OTM2NCwuOTIzMzIsLjg5MzY0LC44NTU3NiwuOTk2MTMsLjg1NTc2LC45OTYxMywuODU1NzYsLjk5NjEzLC44MDcyOSwuNzgyMTYsLjgwNzI5LC43ODIxNiwuODA3MjksLjc4MjE2LC44MDcyOSwuNzgyMTYsLjk0Mjk5LC43Njc4MywuOTU5NjEsLjkxNjc3LC43NzUxMiwuOTAwODMsLjc3NTEyLC45MDA4MywuNzc1MTIsLjkwMDgzLC43NzUxMiwuOTAwODMsLjc3NTEyLC45MDA4MywuODY1MjMsLjkxMzUsLjg2NTIzLC45MTM1LC44NjUyMywuOTEzNSwxLDEsLjkyMjIyLC45MjE2OCwuOTIyMjIsLjkyMTY4LC45ODYyMSwuOTUzODEsLjk4NjIxLC45NTM4MSwuOTg2MjEsLjk1MzgxLC45ODYyMSwuOTUzODEsLjk4NjIxLC45NTM4MSwuODYwMzYsLjk3MDk2LC43MTc0MywuOTg5ODEsMSwxLC45NTI5OCwuNzk3MjYsLjk1MzgxLDEsMSwuNzk3MjYsLjY4OTQsLjc5NzI2LC43NDMyMSwuODE2OTEsMS4wMDA2LC45MjIyMiwuOTIxNjgsMSwxLC45MjIyMiwuOTIxNjgsLjc5NDY0LC45MjA5OCwuOTIxNjgsLjkwNjM3LC45MTUxMywuOTA2MzcsLjkxNTEzLC45MDYzNywuOTE1MTMsLjkwOSwuODc1MTQsLjgwNzI5LC45NTA3NywxLDEsLjgwNzI5LC45NTA3NywuNzY0NjMsLjc0OCwuNzY0NjMsLjc0OCwxLDEsLjc2NDYzLC43NDgsMSwxLC44NjI3NSwuNzI2NTEsLjg2Mjc1LDEuMDQ1MDIsLjkwNjk5LC45MTY3NywuOTA2OTksLjkxNjc3LC45MDY5OSwuOTE2NzcsLjkwNjk5LC45MTY3NywuOTA2OTksLjkxNjc3LC45MDY5OSwuOTE2NzcsLjkxNTQsLjk0MjM2LC44NTQ1OCwuODkzNjQsLjg1NDU4LC45MDUzMSwuOSwuOTA1MzEsLjksLjkwNTMxLC45LDEsLjk3Mjc2LC44NTU3NiwuOTk2MTMsLjg0NSwuODU4MTEsLjkwMjUxLC45MTY3NywxLDEsLjg2Mjc1LDEuMDQ1MDIsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4xODYxNiwxLjE4NjE2LDEuMTg2MTYsMS4wMDg5OSwxLjMwNjI4LC44NTU3NiwuODAxNzgsLjY2ODYyLC43OTI3LC42OTMyMywuODgxMjcsLjcyNDU5LC44OTcxMSwuOTUzODEsLjg1NTc2LC44MDU5MSwuNzgwNSwuOTQ3MjksLjc3NTEyLC45MDUzMSwuOTIyMjIsLjkwNjM3LC45ODYyMSwuODE2OTgsLjkyNjU1LC45ODU1OCwuOTIyMjIsLjg1MzU5LC45MDYzNywuOTA5NzYsLjgzODA5LC45NDUyMywuODYyNzUsLjgzNTA5LC45MzE1NywuODUzMDgsLjgzMzkyLC45MjM0NiwuOTg2MjEsLjgzNTA5LC45Mjg4NiwuOTEzMjQsLjkyMTY4LC45NTM4MSwuOTA2NDYsLjkyODg2LC45MDU1NywuODY4NDcsLjkwMjc2LC45MTMyNCwuODY4NDIsLjkyMTY4LC45OTUzMSwuOTUzODEsLjkyMjQsLjg1NDA4LC45MjY5OSwuODY4NDcsMS4wMDUxLC45MTUxMywuODA0ODcsLjkzNDgxLDEsLjg4MTU5LDEuMDUyMTQsLjkwNjQ2LC45NzM1NSwuODE1MzksLjg5Mzk4LC44NTkyMywuOTUzODEsLjkwNjQ2LC45MTUxMywuOTA2NDYsLjg1OTIzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkxNTQsLjk0MjM2LC45MTU0LC45NDIzNiwuOTE1NCwuOTQyMzYsLjg1NDU4LC44OTM2NCwuOTY2OTQsMSwuODk5MDMsMSwxLDEsLjkxNzgyLC45MTc4MiwuOTE3ODIsMSwuODk2LC44OTYsLjg5NiwuOTMzMiwuOTMzMiwuOTU5NzMsMSwxLjI2LDEsMSwuODA0NzksLjgwMTc4LDEsMSwuODU2MzMsMSwxLDEsMSwuOTcyNzYsMSwxLDEsLjY5OCwxLDEuMzYxNDUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMTQ1NDIsMSwuNzkxOTksLjc4Njk0LDEuMDIwNTgsMS4wMzQ5MywxLjA1NDg2LDEsMSwxLjIzMDI2LDEuMDg1OTUsMS4wODU5NSwxLDEuMDg1OTUsMS4wODU5NSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMjAwMDYsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0sZXM9e2xpbmVIZWlnaHQ6MS4yLGxpbmVHYXA6LjJ9LHRzPVsxLjM2ODk4LDEsMSwuNjU1MDcsLjg0OTQzLC44NTYzOSwuODg0NjUsLjg4NDY1LC44NjkzNiwuODgzMDcsLjg2OTQ4LC44NTI4MywuODUyODMsMS4wNjM4MywxLjAyMDU4LC43NTk0NSwuOTIxOSwuNzU5NDUsMS4xNzMzNywuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODg0NjUsLjc1OTQ1LC43NTk0NSwxLjAyMDU4LDEuMDIwNTgsMS4wMjA1OCwuNjkwNDYsLjcwOTI2LC44NTE1OCwuNzc4MTIsLjc2ODUyLC44OTU5MSwuNzA0NjYsLjc2MTI1LC44MDA5NCwuODY4MjIsLjgzODY0LC43MjgsLjc3MjEyLC43OTQ3NSwuOTM2MzcsLjg3NTE0LC44NTg4LC43NjAxMywuODU4OCwuNzI0MjEsLjY5ODY2LC43NzU5OCwuODU5OTEsLjgwODExLC44NzgzMiwuNzgxMTIsLjc3NTEyLC44NTYyLDEuMDIyMiwxLjE4NDE3LDEuMDIyMiwxLjI3MDE0LC44OTkwMywxLjE1MDEyLC45Mzg1OSwuOTQzOTksLjg0NiwuOTQzOTksLjgxNDUzLDEuMDE4NiwuOTQyMTksLjk2MDE3LDEuMDMwNzUsMS4wMjE3NSwuOTEyLDEuMDMwNzUsLjk2OTk4LC45NjAxNywuOTM4NTksLjk0Mzk5LC45NDM5OSwuOTU0OTMsLjc0NiwxLjEyNjU4LC45NDU3OCwuOTEsLjk3OSwuODgyLC44ODIsLjgzLC44NTAzNCwuODM1MzcsLjg1MDM0LDEuMDIwNTgsLjcwODY5LC44ODQ2NSwuODg0NjUsLjg4NDY1LC44ODQ2NSwuODM1MzcsLjkwMDgzLDEuMTUwMTIsLjkxNjEsLjk0NTY1LC43MzU0MSwxLjAyMDU4LC41MzYwOSwuNjkzNTMsLjc5NTE5LDEuMDg1OTUsMSwxLDEuMTUwMTIsMSwuOTE5NzQsLjc1OTQ1LDEuMTUwMTIsMSwuOTQ0NiwuNzMzNjEsLjkwMDUsLjkwMDUsLjkwMDUsLjYyODY0LC44NTE1OCwuODUxNTgsLjg1MTU4LC44NTE1OCwuODUxNTgsLjg1MTU4LC43NzMsLjc2ODUyLC43MDQ2NiwuNzA0NjYsLjcwNDY2LC43MDQ2NiwuODM4NjQsLjgzODY0LC44Mzg2NCwuODM4NjQsLjkwNTYxLC44NzUxNCwuODU4OCwuODU4OCwuODU4OCwuODU4OCwuODU4OCwxLjAyMDU4LC44NTc1MSwuODU5OTEsLjg1OTkxLC44NTk5MSwuODU5OTEsLjc3NTEyLC43NjAxMywuODgwNzUsLjkzODU5LC45Mzg1OSwuOTM4NTksLjkzODU5LC45Mzg1OSwuOTM4NTksLjgwNzUsLjg0NiwuODE0NTMsLjgxNDUzLC44MTQ1MywuODE0NTMsLjgyNDI0LC44MjQyNCwuODI0MjQsLjgyNDI0LC45Mjc4LC45NjAxNywuOTM4NTksLjkzODU5LC45Mzg1OSwuOTM4NTksLjkzODU5LDEuMDg1OTUsLjg1NjIsLjk0NTc4LC45NDU3OCwuOTQ1NzgsLjk0NTc4LC44ODIsLjk0NTc4LC44ODIsLjg1MTU4LC45Mzg1OSwuODUxNTgsLjkzODU5LC44NTE1OCwuOTM4NTksLjc2ODUyLC44NDYsLjc2ODUyLC44NDYsLjc2ODUyLC44NDYsLjc2ODUyLC44NDYsLjg5NTkxLC44NTQ0LC45MDU2MSwuOTQzOTksLjcwNDY2LC44MTQ1MywuNzA0NjYsLjgxNDUzLC43MDQ2NiwuODE0NTMsLjcwNDY2LC44MTQ1MywuNzA0NjYsLjgxNDUzLC44MDA5NCwuOTQyMTksLjgwMDk0LC45NDIxOSwuODAwOTQsLjk0MjE5LDEsMSwuODY4MjIsLjk2MDE3LC44NjgyMiwuOTYwMTcsLjgzODY0LC44MjQyNCwuODM4NjQsLjgyNDI0LC44Mzg2NCwuODI0MjQsLjgzODY0LDEuMDMwNzUsLjgzODY0LC44MjQyNCwuODE0MDIsMS4wMjczOCwuNzI4LDEuMDIxNzUsMSwxLC45MTIsLjc5NDc1LDEuMDMwNzUsMSwxLC43OTQ3NSwuODM5MTEsLjc5NDc1LC42NjI2NiwuODA1NTMsMS4wNjY3NiwuODc1MTQsLjk2MDE3LDEsMSwuODc1MTQsLjk2MDE3LC44Njg2NSwuODczOTYsLjk2MDE3LC44NTg4LC45Mzg1OSwuODU4OCwuOTM4NTksLjg1ODgsLjkzODU5LC44NjcsLjg0NzU5LC43MjQyMSwuOTU0OTMsMSwxLC43MjQyMSwuOTU0OTMsLjY5ODY2LC43NDYsLjY5ODY2LC43NDYsMSwxLC42OTg2NiwuNzQ2LDEsMSwuNzc1OTgsLjg4NDE3LC43NzU5OCwxLjEyNjU4LC44NTk5MSwuOTQ1NzgsLjg1OTkxLC45NDU3OCwuODU5OTEsLjk0NTc4LC44NTk5MSwuOTQ1NzgsLjg1OTkxLC45NDU3OCwuODU5OTEsLjk0NTc4LC44NzgzMiwuOTc5LC43NzUxMiwuODgyLC43NzUxMiwuODU2MiwuODMsLjg1NjIsLjgzLC44NTYyLC44MywxLC44ODQ2NSwuODUxNTgsLjkzODU5LC43NzMsLjgwNzUsLjg1NzUxLC44NTYyLDEsMSwuNzc1OTgsMS4xMjY1OCwxLjE1MDEyLDEuMTUwMTIsMS4xNTAxMiwxLjE1MDEyLDEuMTUwMTIsMS4xNTMxMywxLjE1MDEyLDEuMTUwMTIsMS4xNTAxMiwxLjA4MTA2LDEuMDM5MDEsLjg1MTU4LC43NzAyNSwuNjIyNjQsLjc2NDYsLjY1MzUxLC44NjAyNiwuNjk0NjEsLjg5OTQ3LDEuMDMwNzUsLjg1MTU4LC43NzgxMiwuNzY0NDksLjg4ODM2LC43MDQ2NiwuODU2MiwuODY4MjIsLjg1ODgsLjgzODY0LC43NzIxMiwuODUzMDgsLjkzNjM3LC44NzUxNCwuODIzNTIsLjg1ODgsLjg1NzAxLC43NjAxMywuODkwNTgsLjc3NTk4LC44MTU2LC44MjU2NSwuNzgxMTIsLjc3ODk5LC44OTM4NiwuODM4NjQsLjgxNTYsLjk0ODYsLjkyMzg4LC45NjE4NiwxLjAzMDc1LC45MTEyMywuOTQ4NiwuOTMyOTgsLjg3OCwuOTM5NDIsLjkyMzg4LC44NDU5NiwuOTYxODYsLjk1MTE5LDEuMDMwNzUsLjkyMiwuODg3ODcsLjk1ODI5LC44OCwuOTM1NTksLjkzODU5LC43ODgxNSwuOTM3NTgsMSwuODkyMTcsMS4wMzczNywuOTExMjMsLjkzOTY5LC43NzQ4NywuODU3NjksLjg2Nzk5LDEuMDMwNzUsLjkxMTIzLC45Mzg1OSwuOTExMjMsLjg2Nzk5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjg3ODMyLC45NzksLjg3ODMyLC45NzksLjg3ODMyLC45NzksLjc3NTEyLC44ODIsLjkyMTksMSwuODk5MDMsMSwxLDEsLjg3MzIxLC44NzMyMSwuODczMjEsMSwxLjAyNywxLjAyNywxLjAyNywuODY4NDcsLjg2ODQ3LC43OTEyMSwxLDEuMTI0LDEsMSwuNzM1NzIsLjczNTcyLDEsMSwuODUwMzQsMSwxLDEsMSwuODg0NjUsMSwxLDEsLjY2OSwxLDEuMzYxNDUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDQ4MjgsMSwuNzQ5NDgsLjc1MTg3LDEuMDIwNTgsLjk4MzkxLDEuMDIxMTksMSwxLDEuMDYyMzMsMS4wODU5NSwxLjA4NTk1LDEsMS4wODU5NSwxLjA4NTk1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wNTIzMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxpcz17bGluZUhlaWdodDoxLjIsbGluZUdhcDouMn0sYXM9WzEuMzY4OTgsMSwxLC43NjMwNSwuODI3ODQsLjk0OTM1LC44OTM2NCwuOTIyNDEsLjg5MDczLC45MDcwNiwuOTg0NzIsLjg1MjgzLC44NTI4MywxLjA2NjQsMS4wMjA1OCwuNzQ1MDUsLjkyMTksLjc0NTA1LDEuMjM0NTYsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMjQxLC43NDUwNSwuNzQ1MDUsMS4wMjA1OCwxLjAyMDU4LDEuMDIwNTgsLjczMDAyLC43MjYwMSwuOTE3NTUsLjgxMjYsLjgwMzE0LC45MjIyMiwuNzM3NjQsLjc5NzI2LC44MzA1MSwuOTAyODQsLjg2MDIzLC43NCwuODEyNiwuODQ4NjksLjk2NTE4LC45MTExNSwuODg1OCwuNzk3NjEsLjg4NTgsLjc0NDk4LC43MzkxNCwuODEzNjMsLjg5NTkxLC44MzY1OSwuODk2MzMsLjg1NjA4LC44MTExLC45MDUzMSwxLjAyMjIsMS4yMjczNiwxLjAyMjIsMS4yNzAxNCwuODk5MDMsLjkwMDg4LC44NjY2NywxLjAyMzEsLjg5NiwxLjAxNDExLC45MDA4MywxLjA1MDk5LDEuMDA1MTIsLjk5NzkzLDEuMDUzMjYsMS4wOTM3NywuOTM4LDEuMDYyMjYsMS4wMDExOSwuOTk3OTMsLjk4NzE0LDEuMDIzMSwxLjAxMjMxLC45ODE5NiwuNzkyLDEuMTkxMzcsLjk5MDc0LC45NjIsMS4wMTkxNSwuOTI2LC45NDIsLjg1NiwuODUwMzQsLjkyMDA2LC44NTAzNCwxLjAyMDU4LC42OTA2NywuOTIyNDEsLjkyMjQxLC45MjI0MSwuOTIyNDEsLjkyMDA2LC45MzMyLC45MDA4OCwuOTE4ODIsLjkzNDg0LC43NTMzOSwxLjAyMDU4LC41Njg2NiwuNTQzMjQsLjc5NTE5LDEuMDg1OTUsMSwxLC45MDA4OCwxLC45NTMyNSwuNzQ1MDUsLjkwMDg4LDEsLjk3MTk4LC43NTMzOSwuOTEwMDksLjkxMDA5LC45MTAwOSwuNjY0NjYsLjkxNzU1LC45MTc1NSwuOTE3NTUsLjkxNzU1LC45MTc1NSwuOTE3NTUsLjc4OCwuODAzMTQsLjczNzY0LC43Mzc2NCwuNzM3NjQsLjczNzY0LC44NjAyMywuODYwMjMsLjg2MDIzLC44NjAyMywuOTI5MTUsLjkxMTE1LC44ODU4LC44ODU4LC44ODU4LC44ODU4LC44ODU4LDEuMDIwNTgsLjg4NTgsLjg5NTkxLC44OTU5MSwuODk1OTEsLjg5NTkxLC44MTExLC43OTYxMSwuODk3MTMsLjg2NjY3LC44NjY2NywuODY2NjcsLjg2NjY3LC44NjY2NywuODY2NjcsLjg2OTM2LC44OTYsLjkwMDgzLC45MDA4MywuOTAwODMsLjkwMDgzLC44NDIyNCwuODQyMjQsLjg0MjI0LC44NDIyNCwuOTcyNzYsLjk5NzkzLC45ODcxNCwuOTg3MTQsLjk4NzE0LC45ODcxNCwuOTg3MTQsMS4wODU5NSwuODk4NzYsLjk5MDc0LC45OTA3NCwuOTkwNzQsLjk5MDc0LC45NDIsMS4wMjMxLC45NDIsLjkxNzU1LC44NjY2NywuOTE3NTUsLjg2NjY3LC45MTc1NSwuODY2NjcsLjgwMzE0LC44OTYsLjgwMzE0LC44OTYsLjgwMzE0LC44OTYsLjgwMzE0LC44OTYsLjkyMjIyLC45MzM3MiwuOTI5MTUsMS4wMTQxMSwuNzM3NjQsLjkwMDgzLC43Mzc2NCwuOTAwODMsLjczNzY0LC45MDA4MywuNzM3NjQsLjkwMDgzLC43Mzc2NCwuOTAwODMsLjgzMDUxLDEuMDA1MTIsLjgzMDUxLDEuMDA1MTIsLjgzMDUxLDEuMDA1MTIsMSwxLC45MDI4NCwuOTk3OTMsLjkwOTc2LC45OTc5MywuODYwMjMsLjg0MjI0LC44NjAyMywuODQyMjQsLjg2MDIzLC44NDIyNCwuODYwMjMsMS4wNTMyNiwuODYwMjMsLjg0MjI0LC44Mjg3MywxLjA3NDY5LC43NCwxLjA5Mzc3LDEsMSwuOTM4LC44NDg2OSwxLjA2MjI2LDEsMSwuODQ4NjksLjgzNzA0LC44NDg2OSwuODE0NDEsLjg1NTg4LDEuMDg5MjcsLjkxMTE1LC45OTc5MywxLDEsLjkxMTE1LC45OTc5MywuOTE4ODcsLjkwOTkxLC45OTc5MywuODg1OCwuOTg3MTQsLjg4NTgsLjk4NzE0LC44ODU4LC45ODcxNCwuODk0LC45MTQzNCwuNzQ0OTgsLjk4MTk2LDEsMSwuNzQ0OTgsLjk4MTk2LC43MzkxNCwuNzkyLC43MzkxNCwuNzkyLDEsMSwuNzM5MTQsLjc5MiwxLDEsLjgxMzYzLC45MDQsLjgxMzYzLDEuMTkxMzcsLjg5NTkxLC45OTA3NCwuODk1OTEsLjk5MDc0LC44OTU5MSwuOTkwNzQsLjg5NTkxLC45OTA3NCwuODk1OTEsLjk5MDc0LC44OTU5MSwuOTkwNzQsLjg5NjMzLDEuMDE5MTUsLjgxMTEsLjk0MiwuODExMSwuOTA1MzEsLjg1NiwuOTA1MzEsLjg1NiwuOTA1MzEsLjg1NiwxLC45MjI0MSwuOTE3NTUsLjg2NjY3LC43ODgsLjg2OTM2LC44ODU4LC44OTg3NiwxLDEsLjgxMzYzLDEuMTkxMzcsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMDg4LC45MDA4OCwuOTAwODgsLjkwMzg4LDEuMDM5MDEsLjkyMTM4LC43ODEwNSwuNzE1NCwuODYxNjksLjgwNTEzLC45NDAwNywuODI1MjgsLjk4NjEyLDEuMDYyMjYsLjkxNzU1LC44MTI2LC44MTg4NCwuOTI4MTksLjczNzY0LC45MDUzMSwuOTAyODQsLjg4NTgsLjg2MDIzLC44MTI2LC45MTE3MiwuOTY1MTgsLjkxMTE1LC44MzA4OSwuODg1OCwuODc3OTEsLjc5NzYxLC44OTI5NywuODEzNjMsLjg4MTU3LC44OTk5MiwuODU2MDgsLjgxOTkyLC45NDMwNywuODYwMjMsLjg4MTU3LC45NTMwOCwuOTg2OTksLjk5NzkzLDEuMDYyMjYsLjk1ODE3LC45NTMwOCwuOTczNTgsLjkyOCwuOTgwODgsLjk4Njk5LC45Mjc2MSwuOTk3OTMsLjk2MDE3LDEuMDYyMjYsLjk4NiwuOTQ0LC45NTk3OCwuOTM4LC45NjcwNSwuOTg3MTQsLjgwNDQyLC45ODk3MiwxLC44OTc2MiwxLjA0NTUyLC45NTgxNywuOTkwMDcsLjg3MDY0LC45MTg3OSwuODg4ODgsMS4wNjIyNiwuOTU4MTcsLjk4NzE0LC45NTgxNywuODg4ODgsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuODk2MzMsMS4wMTkxNSwuODk2MzMsMS4wMTkxNSwuODk2MzMsMS4wMTkxNSwuODExMSwuOTQyLC45MjE5LDEsLjg5OTAzLDEsMSwxLC45MzE3MywuOTMxNzMsLjkzMTczLDEsMS4wNjMwNCwxLjA2MzA0LDEuMDY5MDQsLjg5OTAzLC44OTkwMywuODA1NDksMSwxLjE1NiwxLDEsLjc2NTc1LC43NjU3NSwxLDEsLjcyNDU4LDEsMSwxLDEsLjkyMjQxLDEsMSwxLC42MTksMSwxLjM2MTQ1LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA3MjU3LDEsLjc0NzA1LC43MTExOSwxLjAyMDU4LDEuMDI0LDEuMDIxMTksMSwxLDEuMTUzNiwxLjA4NTk1LDEuMDg1OTUsMSwxLjA4NTk1LDEuMDg1OTUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjA1NjM4LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLHNzPXtsaW5lSGVpZ2h0OjEuMixsaW5lR2FwOi4yfSxycz1bMS43NjczOCwxLDEsLjk5Mjk3LC45ODI0LDEuMDQwMTYsMS4wNjQ5NywxLjAzNDI0LC45NzUyOSwxLjE3NjQ3LDEuMjMyMDMsMS4xMDg1LDEuMTA4NSwxLjE2OTM5LDEuMjEwNywuOTc1NCwxLjIxNDA4LC45NzU0LDEuNTk1NzgsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwxLjAzNDI0LDEuMDM0MjQsMS4wMzQyNCwuODEzNzgsLjgxMzc4LDEuMjEwNywxLjIxMDcsMS4yMTA3LC43MTcwMywuOTc4NDcsLjk3MzYzLC44ODc3NiwuODY0MSwxLjAyMDk2LC43OTc5NSwuODUxMzIsLjkxNCwxLjA2MDg1LDEuMTQwNiwuODAwNywuODk4NTgsLjgzNjkzLDEuMTQ4ODksMS4wOTM5OCwuOTc0ODksLjkyMDk0LC45NzQ4OSwuOTAzOTksLjg0MDQxLC45NTkyMywxLjAwMTM1LDEsMS4wNjQ2NywuOTgyNDMsLjkwOTk2LC45OTM2MSwxLjEwODUsMS41Njk0MiwxLjEwODUsMS4yMTA3LC43NDYyNywuOTQyODIsLjk2NzUyLDEuMDE1MTksLjg2MzA0LDEuMDEzNTksLjk3Mjc4LDEuMTUxMDMsMS4wMTM1OSwuOTg1NjEsMS4wMjI4NSwxLjAyMjg1LDEuMDA1MjcsMS4wMjI4NSwxLjAzMDIsLjk5MDQxLDEuMDAwOCwxLjAxNTE5LDEuMDEzNTksMS4wMjI1OCwuNzkxMDQsMS4xNjg2MiwuOTkwNDEsLjk3NDU0LDEuMDI1MTEsLjk5Mjk4LC45Njc1MiwuOTU4MDEsLjk0ODU2LDEuMTY1NzksLjk0ODU2LDEuMjEwNywuOTgyNCwxLjAzNDI0LDEuMDM0MjQsMSwxLjAzNDI0LDEuMTY1NzksLjg3MjcsMS4zODcxLDEuMTg2MjIsMS4xMDgxOCwxLjA0NDc4LDEuMjEwNywxLjE4NjIyLC43NTE1NSwuOTQ5OTQsMS4yODgyNiwxLjIxNDA4LDEuMjE0MDgsLjkxMDU2LDEsLjkxNTcyLC45NzU0LC42NDY2MywxLjE4MzI4LDEuMjQ4NjYsMS4wNDQ3OCwxLjE0MTY5LDEuMTU3NDksMS4xNzM4OSwuNzE3MDMsLjk3MzYzLC45NzM2MywuOTczNjMsLjk3MzYzLC45NzM2MywuOTczNjMsLjkzNTA2LC44NjQxLC43OTc5NSwuNzk3OTUsLjc5Nzk1LC43OTc5NSwxLjE0MDYsMS4xNDA2LDEuMTQwNiwxLjE0MDYsMS4wMjA5NiwxLjA5Mzk4LC45NzQyNiwuOTc0MjYsLjk3NDI2LC45NzQyNiwuOTc0MjYsMS4yMTA3LC45NzQ4OSwxLjAwMTM1LDEuMDAxMzUsMS4wMDEzNSwxLjAwMTM1LC45MDk5NiwuOTIwOTQsMS4wMjc5OCwuOTY3NTIsLjk2NzUyLC45Njc1MiwuOTY3NTIsLjk2NzUyLC45Njc1MiwuOTMxMzYsLjg2MzA0LC45NzI3OCwuOTcyNzgsLjk3Mjc4LC45NzI3OCwxLjAyMjg1LDEuMDIyODUsMS4wMjI4NSwxLjAyMjg1LC45NzEyMiwuOTkwNDEsMSwxLDEsMSwxLDEuMjg4MjYsMS4wMDA4LC45OTA0MSwuOTkwNDEsLjk5MDQxLC45OTA0MSwuOTY3NTIsMS4wMTUxOSwuOTY3NTIsLjk3MzYzLC45Njc1MiwuOTczNjMsLjk2NzUyLC45NzM2MywuOTY3NTIsLjg2NDEsLjg2MzA0LC44NjQxLC44NjMwNCwuODY0MSwuODYzMDQsLjg2NDEsLjg2MzA0LDEuMDIwOTYsMS4wMzA1NywxLjAyMDk2LDEuMDM1MTcsLjc5Nzk1LC45NzI3OCwuNzk3OTUsLjk3Mjc4LC43OTc5NSwuOTcyNzgsLjc5Nzk1LC45NzI3OCwuNzk3OTUsLjk3Mjc4LC45MTQsMS4wMTM1OSwuOTE0LDEuMDEzNTksLjkxNCwxLjAxMzU5LDEsMSwxLjA2MDg1LC45ODU2MSwxLjA2MDg1LDEuMDA4NzksMS4xNDA2LDEuMDIyODUsMS4xNDA2LDEuMDIyODUsMS4xNDA2LDEuMDIyODUsMS4xNDA2LDEuMDIyODUsMS4xNDA2LDEuMDIyODUsLjk3MTM4LDEuMDg2OTIsLjgwMDcsMS4wMjI4NSwxLDEsMS4wMDUyNywuODM2OTMsMS4wMjI4NSwxLDEsLjgzNjkzLC45NDU1LC44MzY5MywuOTA0MTgsLjgzNjkzLDEuMTMwMDUsMS4wOTM5OCwuOTkwNDEsMSwxLDEuMDkzOTgsLjk5MDQxLC45NjY5MiwxLjA5MjUxLC45OTA0MSwuOTc0ODksMS4wMDA4LC45NzQ4OSwxLjAwMDgsLjk3NDg5LDEuMDAwOCwuOTM5OTQsLjk3OTMxLC45MDM5OSwxLjAyMjU4LDEsMSwuOTAzOTksMS4wMjI1OCwuODQwNDEsLjc5MTA0LC44NDA0MSwuNzkxMDQsLjg0MDQxLC43OTEwNCwuODQwNDEsLjc5MTA0LDEsMSwuOTU5MjMsMS4wNzAzNCwuOTU5MjMsMS4xNjg2MiwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjAwMTM1LC45OTA0MSwxLjA2NDY3LDEuMDI1MTEsLjkwOTk2LC45Njc1MiwuOTA5OTYsLjk5MzYxLC45NTgwMSwuOTkzNjEsLjk1ODAxLC45OTM2MSwuOTU4MDEsMS4wNzczMywxLjAzNDI0LC45NzM2MywuOTY3NTIsLjkzNTA2LC45MzEzNiwuOTc0ODksMS4wMDA4LDEsMSwuOTU5MjMsMS4xNjg2MiwxLjE1MTAzLDEuMTUxMDMsMS4wMTE3MywxLjAzOTU5LC43NTk1MywuODEzNzgsLjc5OTEyLDEuMTUxMDMsMS4yMTk5NCwuOTUxNjEsLjg3ODE1LDEuMDExNDksLjgxNTI1LC43Njc2LC45ODE2NywxLjAxMTM0LDEuMDI1NDYsLjg0MDk3LDEuMDMwODksMS4xODEwMiwuOTczNjMsLjg4Nzc2LC44NTEzNCwuOTc4MjYsLjc5Nzk1LC45OTM2MSwxLjA2MDg1LC45NzQ4OSwxLjE0MDYsLjg5ODU4LDEuMDM4OCwxLjE0ODg5LDEuMDkzOTgsLjg2MDM5LC45NzQ4OSwxLjA1OTUsLjkyMDk0LC45NDc5MywuOTU5MjMsLjkwOTk2LC45OTM0NiwuOTgyNDMsMS4wMjExMiwuOTU0OTMsMS4xNDA2LC45MDk5NiwxLjAzNTc0LDEuMDI1OTcsMS4wMDA4LDEuMTgxMDIsMS4wNjYyOCwxLjAzNTc0LDEuMDE5MiwxLjAxOTMyLDEuMDA4ODYsLjk3NTMxLDEuMDEwNiwxLjAwMDgsMS4xMzE4OSwxLjE4MTAyLDEuMDIyNzcsLjk4NjgzLDEuMDAxNiwuOTk1NjEsMS4wNzIzNywxLjAwMDgsLjkwNDM0LC45OTkyMSwuOTM4MDMsLjg5NjUsMS4yMzA4NSwxLjA2NjI4LDEuMDQ5ODMsLjk2MjY4LDEuMDQ5OSwuOTg0MzksMS4xODEwMiwxLjA2NjI4LDEuMDAwOCwxLjA2NjI4LC45ODQzOSwuNzk3OTUsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wOTQ2NiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTcyNzgsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS4wMjA2NSwxLDEsMSwxLDEsMSwxLjA2NDY3LDEuMDI1MTEsMS4wNjQ2NywxLjAyNTExLDEuMDY0NjcsMS4wMjUxMSwuOTA5OTYsLjk2NzUyLDEsMS4yMTQwOCwuODk5MDMsMSwxLC43NTE1NSwxLjA0Mzk0LDEuMDQzOTQsMS4wNDM5NCwxLjA0Mzk0LC45ODYzMywuOTg2MzMsLjk4NjMzLC43MzA0NywuNzMwNDcsMS4yMDY0MiwuOTEyMTEsMS4yNTYzNSwxLjIyMiwxLjAyOTU2LDEuMDMzNzIsMS4wMzM3MiwuOTYwMzksMS4yNDYzMywxLDEuMTI0NTQsLjkzNTAzLDEuMDM0MjQsMS4xOTY4NywxLjAzNDI0LDEsMSwxLC43NzEsMSwxLDEuMTU3NDksMS4xNTc0OSwxLjE1NzQ5LDEuMTA5NDgsLjg2Mjc5LC45NDQzNCwuODYyNzksLjk0NDM0LC44NjE4MiwxLDEsMS4xNjg5NywxLC45NjA4NSwuOTAxMzcsMS4yMTA3LDEuMTg0MTYsMS4xMzk3MywuNjk4MjUsLjk3MTYsMi4xMDMzOSwxLjI5MDA0LDEuMjkwMDQsMS4yMTE3MiwxLjI5MDA0LDEuMjkwMDQsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjQyNjAzLDEsLjk5ODYyLC45OTg2MiwxLC44NzAyNSwuODcwMjUsLjg3MDI1LC44NzAyNSwxLjE4ODc0LDEuNDI2MDMsMSwxLjQyNjAzLDEuNDI2MDMsLjk5ODYyLDEsMSwxLDEsMSwxLjI4ODYsMS4wNDMxNSwxLjE1Mjk2LDEuMzQxNjMsMSwxLDEsMS4wOTE5MywxLjA5MTkzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxXSxucz17bGluZUhlaWdodDoxLjMzMDA4LGxpbmVHYXA6MH0sZ3M9WzEuNzY3MzgsMSwxLC45ODk0NiwxLjAzOTU5LDEuMDQwMTYsMS4wMjgwOSwxLjAzNiwuOTc2MzksMS4xMDk1MywxLjIzMjAzLDEuMTExNDQsMS4xMTE0NCwxLjE2OTM5LDEuMjEyMzcsLjk3NTQsMS4yMTI2MSwuOTc1NCwxLjU5NzU0LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LDEuMDM2LC44MTM3OCwuODEzNzgsMS4yMTIzNywxLjIxMjM3LDEuMjEyMzcsLjczNTQxLC45Nzg0NywuOTczNjMsLjg5NzIzLC44Nzg5NywxLjA0MjYsLjc5NDI5LC44NTI5MiwuOTExNDksMS4wNTgxNSwxLjE0MDYsLjc5NjMxLC45MDEyOCwuODM4NTMsMS4wNDM5NiwxLjEwNjE1LC45NzU1MiwuOTQ0MzYsLjk3NTUyLC44ODY0MSwuODA1MjcsLjk2MDgzLDEuMDAxMzUsMSwxLjA2Nzc3LC45ODE3LC45MTE0MiwuOTkzNjEsMS4xMTE0NCwxLjU3MjkzLDEuMTExNDQsMS4yMTIzNywuNzQ2MjcsMS4zMTgxOCwxLjA2NTg1LC45NzA0MiwuODMwNTUsLjk3MDQyLC45MzUwMywxLjEyNjEsLjk3MDQyLC45NzkyMiwxLjE0MjM2LC45NDU1MiwxLjAxMDU0LDEuMTQyMzYsMS4wMjQ3MSwuOTc5MjIsLjk0MTY1LC45NzA0MiwuOTcwNDIsMS4wMjc2LC43ODkyOSwxLjEyNjEsLjk3OTIyLC45NTg3NCwxLjAyMTk3LC45ODUwNywuOTY3NTIsLjk3MTY4LC45NTEwNywxLjE2NTc5LC45NTEwNywxLjIxMjM3LDEuMDM5NTksMS4wMzYsMS4wMzYsMSwxLjAzNiwxLjE2NTc5LC44NzM1NywxLjMxODE4LDEuMTg3NTQsMS4yNjc4MSwxLjA1MzU2LDEuMjEyMzcsMS4xODYyMiwuNzk0ODcsLjk0OTk0LDEuMjkwMDQsMS4yNDA0NywxLjI0MDQ3LDEuMzE4MTgsMSwuOTE0ODQsLjk3NTQsMS4zMTgxOCwxLjEzNDksMS4yNDg2NiwxLjA1MzU2LDEuMTM5MzQsMS4xNTU3NCwxLjE3Mzg5LC43MzU0MSwuOTczNjMsLjk3MzYzLC45NzM2MywuOTczNjMsLjk3MzYzLC45NzM2MywuOTQzODUsLjg3ODk3LC43OTQyOSwuNzk0MjksLjc5NDI5LC43OTQyOSwxLjE0MDYsMS4xNDA2LDEuMTQwNiwxLjE0MDYsMS4wNDI2LDEuMTA2MTUsLjk3NTUyLC45NzU1MiwuOTc1NTIsLjk3NTUyLC45NzU1MiwxLjIxMjM3LC45NzU1MiwxLjAwMTM1LDEuMDAxMzUsMS4wMDEzNSwxLjAwMTM1LC45MTE0MiwuOTQ0MzYsLjk4NzIxLDEuMDY1ODUsMS4wNjU4NSwxLjA2NTg1LDEuMDY1ODUsMS4wNjU4NSwxLjA2NTg1LC45NjcwNSwuODMwNTUsLjkzNTAzLC45MzUwMywuOTM1MDMsLjkzNTAzLDEuMTQyMzYsMS4xNDIzNiwxLjE0MjM2LDEuMTQyMzYsLjkzMTI1LC45NzkyMiwuOTQxNjUsLjk0MTY1LC45NDE2NSwuOTQxNjUsLjk0MTY1LDEuMjkwMDQsLjk0MTY1LC45NzkyMiwuOTc5MjIsLjk3OTIyLC45NzkyMiwuOTY3NTIsLjk3MDQyLC45Njc1MiwuOTczNjMsMS4wNjU4NSwuOTczNjMsMS4wNjU4NSwuOTczNjMsMS4wNjU4NSwuODc4OTcsLjgzMDU1LC44Nzg5NywuODMwNTUsLjg3ODk3LC44MzA1NSwuODc4OTcsLjgzMDU1LDEuMDQyNiwxLjAwMzMsMS4wNDI2LC45NzA0MiwuNzk0MjksLjkzNTAzLC43OTQyOSwuOTM1MDMsLjc5NDI5LC45MzUwMywuNzk0MjksLjkzNTAzLC43OTQyOSwuOTM1MDMsLjkxMTQ5LC45NzA0MiwuOTExNDksLjk3MDQyLC45MTE0OSwuOTcwNDIsMSwxLDEuMDU4MTUsLjk3OTIyLDEuMDU4MTUsLjk3OTIyLDEuMTQwNiwxLjE0MjM2LDEuMTQwNiwxLjE0MjM2LDEuMTQwNiwxLjE0MjM2LDEuMTQwNiwxLjE0MjM2LDEuMTQwNiwxLjE0MjM2LC45NzQ0MSwxLjA0MzAyLC43OTYzMSwxLjAxNTgyLDEsMSwxLjAxMDU0LC44Mzg1MywxLjE0MjM2LDEsMSwuODM4NTMsMS4wOTEyNSwuODM4NTMsLjkwNDE4LC44Mzg1MywxLjE5NTA4LDEuMTA2MTUsLjk3OTIyLDEsMSwxLjEwNjE1LC45NzkyMiwxLjAxMDM0LDEuMTA0NjYsLjk3OTIyLC45NzU1MiwuOTQxNjUsLjk3NTUyLC45NDE2NSwuOTc1NTIsLjk0MTY1LC45MTYwMiwuOTE5ODEsLjg4NjQxLDEuMDI3NiwxLDEsLjg4NjQxLDEuMDI3NiwuODA1MjcsLjc4OTI5LC44MDUyNywuNzg5MjksLjgwNTI3LC43ODkyOSwuODA1MjcsLjc4OTI5LDEsMSwuOTYwODMsMS4wNTQwMywuOTU5MjMsMS4xNjg2MiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjAwMTM1LC45NzkyMiwxLjA2Nzc3LDEuMDIxOTcsLjkxMTQyLC45Njc1MiwuOTExNDIsLjk5MzYxLC45NzE2OCwuOTkzNjEsLjk3MTY4LC45OTM2MSwuOTcxNjgsMS4yMzE5OSwxLjAzNiwuOTczNjMsMS4wNjU4NSwuOTQzODUsLjk2NzA1LC45NzU1MiwuOTQxNjUsMSwxLC45NjA4MywxLjEyNjEsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsMS4zMTgxOCwxLjMxODE4LDEuMzE4MTgsLjk1MTYxLDEuMjcxMjYsMS4wMDgxMSwuODMyODQsLjc3NzAyLC45OTEzNywuOTUyNTMsMS4wMzQ3LC44NjE0MiwxLjA3MjA1LDEuMTQyMzYsLjk3MzYzLC44OTcyMywuODY4NjksMS4wOTgxOCwuNzk0MjksLjk5MzYxLDEuMDU4MTUsLjk3NTUyLDEuMTQwNiwuOTAxMjgsMS4wNjY2MiwxLjA0Mzk2LDEuMTA2MTUsLjg0OTE4LC45NzU1MiwxLjA0Njk0LC45NDQzNiwuOTgwMTUsLjk2MDgzLC45MTE0MiwxLjAwMzU2LC45ODE3LDEuMDE5NDUsLjk4OTk5LDEuMTQwNiwuOTExNDIsMS4wNDk2MSwuOTg5OCwxLjAwNjM5LDEuMTQyMzYsMS4wNzUxNCwxLjA0OTYxLC45OTYwNywxLjAyODk3LDEuMDA4LC45ODk4LC45NTEzNCwxLjAwNjM5LDEuMTExMjEsMS4xNDIzNiwxLjAwNTE4LC45Nzk4MSwxLjAyMTg2LDEsMS4wODU3OCwuOTQxNjUsLjk5MzE0LC45ODM4NywuOTMwMjgsLjkzMzc3LDEuMzUxMjUsMS4wNzUxNCwxLjEwNjg3LC45MzQ5MSwxLjA0MjMyLDEuMDAzNTEsMS4xNDIzNiwxLjA3NTE0LC45NDE2NSwxLjA3NTE0LDEuMDAzNTEsLjc5NDI5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDkwOTcsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsLjkzNTAzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45NjYwOSwxLDEsMSwxLDEsMSwxLjA2Nzc3LDEuMDIxOTcsMS4wNjc3NywxLjAyMTk3LDEuMDY3NzcsMS4wMjE5NywuOTExNDIsLjk2NzUyLDEsMS4yMTI2MSwuODk5MDMsMSwxLC43NTE1NSwxLjA0NzQ1LDEuMDQ3NDUsMS4wNDc0NSwxLjA0Mzk0LC45ODYzMywuOTg2MzMsLjk4NjMzLC43Mjk1OSwuNzI5NTksMS4yMDUwMiwuOTE0MDYsMS4yNjUxNCwxLjIyMiwxLjAyOTU2LDEuMDMzNzIsMS4wMzM3MiwuOTYwMzksMS4yNDYzMywxLDEuMDkxMjUsLjkzMzI3LDEuMDMzMzYsMS4xNjU0MSwxLjAzNiwxLDEsMSwuNzcxLDEsMSwxLjE1NTc0LDEuMTU1NzQsMS4xNTU3NCwxLjE1NTc0LC44NjM2NCwuOTQ0MzQsLjg2Mjc5LC45NDQzNCwuODYyMjQsMSwxLDEuMTY3OTgsMSwuOTYwODUsLjkwMDY4LDEuMjEyMzcsMS4xODQxNiwxLjEzOTA0LC42OTgyNSwuOTcxNiwyLjEwMzM5LDEuMjkwMDQsMS4yOTAwNCwxLjIxMzM5LDEuMjkwMDQsMS4yOTAwNCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuNDI2MDMsMSwuOTk4NjIsLjk5ODYyLDEsLjg3MDI1LC44NzAyNSwuODcwMjUsLjg3MDI1LDEuMTg3NzUsMS40MjYwMywxLDEuNDI2MDMsMS40MjYwMywuOTk4NjIsMSwxLDEsMSwxLDEuMjg4NiwxLjA0MzE1LDEuMTUyOTYsMS4zNDE2MywxLDEsMSwxLjEzMjY5LDEuMTMyNjksMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLG9zPXtsaW5lSGVpZ2h0OjEuMzMwMDgsbGluZUdhcDowfSxJcz1bMS43NjczOCwxLDEsLjk4OTQ2LDEuMTQ3NjMsMS4wNTM2NSwxLjA2MjM0LC45NjkyNywuOTI1ODYsMS4xNTM3MywxLjE4NDE0LC45MTM0OSwuOTEzNDksMS4wNzQwMywxLjE3MzA4LC43ODM4MywxLjIwMDg4LC43ODM4MywxLjQyNTMxLC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuNzgzODMsLjc4MzgzLDEuMTczMDgsMS4xNzMwOCwxLjE3MzA4LC43NzM0OSwuOTQ1NjUsLjk0NzI5LC44NTk0NCwuODg1MDYsLjk4NTgsLjc0ODE3LC44MDAxNiwuODg0NDksLjk4MDM5LC45NTc4MiwuNjkyMzgsLjg5ODk4LC44MzIzMSwuOTgxODMsMS4wMzk4OSwuOTY5MjQsLjg2MjM3LC45NjkyNCwuODA1OTUsLjc0NTI0LC44NjA5MSwuOTU0MDIsLjk0MTQzLC45ODQ0OCwuODg1OCwuODMwODksLjkzMjg1LDEuMDk0OSwxLjM5MDE2LDEuMDk0OSwxLjQ1OTk0LC43NDYyNywxLjA0ODM5LC45NzQ1NCwuOTc0NTQsLjg3MjA3LC45NzQ1NCwuODc1MzMsMS4wNjE1MSwuOTc0NTQsMS4wMDE3NiwxLjE2NDg0LDEuMDgxMzIsLjk4MDQ3LDEuMTY0ODQsMS4wMjk4OSwxLjAxMDU0LC45NjIyNSwuOTc0NTQsLjk3NDU0LDEuMDY1OTgsLjc5MDA0LDEuMTYzNDQsMS4wMDM1MSwuOTQ2MjksLjk5NzMsLjkxMDE2LC45Njc3NywuOTA0MywuOTEwODIsLjkyNDgxLC45MTA4MiwxLjE3MzA4LC45NTc0OCwuOTY5MjcsLjk2OTI3LDEsLjk2OTI3LC45MjQ4MSwuODA1OTcsMS4wNDgzOSwxLjIzMzkzLDEuMTc4MSwuOTI0NSwxLjE3MzA4LDEuMjA4MDgsLjYzMjE4LC45NDI2MSwxLjI0ODIyLDEuMDk5NzEsMS4wOTk3MSwxLjA0ODM5LDEsLjg1MjczLC43ODAzMiwxLjA0ODM5LDEuMDk5NzEsMS4yMjMyNiwuOTI0NSwxLjA5ODM2LDEuMTM1MjUsMS4xNTIyMiwuNzA0MjQsLjk0NzI5LC45NDcyOSwuOTQ3MjksLjk0NzI5LC45NDcyOSwuOTQ3MjksLjg1NDk4LC44ODUwNiwuNzQ4MTcsLjc0ODE3LC43NDgxNywuNzQ4MTcsLjk1NzgyLC45NTc4MiwuOTU3ODIsLjk1NzgyLC45ODU4LDEuMDM5ODksLjk2OTI0LC45NjkyNCwuOTY5MjQsLjk2OTI0LC45NjkyNCwxLjE3MzA4LC45NjkyNCwuOTU0MDIsLjk1NDAyLC45NTQwMiwuOTU0MDIsLjgzMDg5LC44NjIzNywuODg0MDksLjk3NDU0LC45NzQ1NCwuOTc0NTQsLjk3NDU0LC45NzQ1NCwuOTc0NTQsLjkyOTE2LC44NzIwNywuODc1MzMsLjg3NTMzLC44NzUzMywuODc1MzMsLjkzMTQ2LC45MzE0NiwuOTMxNDYsLjkzMTQ2LC45Mzg1NCwxLjAxMDU0LC45NjIyNSwuOTYyMjUsLjk2MjI1LC45NjIyNSwuOTYyMjUsMS4yNDgyMiwuODc2MSwxLjAwMzUxLDEuMDAzNTEsMS4wMDM1MSwxLjAwMzUxLC45Njc3NywuOTc0NTQsLjk2Nzc3LC45NDcyOSwuOTc0NTQsLjk0NzI5LC45NzQ1NCwuOTQ3MjksLjk3NDU0LC44ODUwNiwuODcyMDcsLjg4NTA2LC44NzIwNywuODg1MDYsLjg3MjA3LC44ODUwNiwuODcyMDcsLjk4NTgsLjk1MzkxLC45ODU4LC45NzQ1NCwuNzQ4MTcsLjg3NTMzLC43NDgxNywuODc1MzMsLjc0ODE3LC44NzUzMywuNzQ4MTcsLjg3NTMzLC43NDgxNywuODc1MzMsLjg4NDQ5LC45NzQ1NCwuODg0NDksLjk3NDU0LC44ODQ0OSwuOTc0NTQsMSwxLC45ODAzOSwxLjAwMTc2LC45ODAzOSwxLjAwMTc2LC45NTc4MiwuOTMxNDYsLjk1NzgyLC45MzE0NiwuOTU3ODIsLjkzMTQ2LC45NTc4MiwxLjE2NDg0LC45NTc4MiwuOTMxNDYsLjg0NDIxLDEuMTI3NjEsLjY5MjM4LDEuMDgxMzIsMSwxLC45ODA0NywuODMyMzEsMS4xNjQ4NCwxLDEsLjg0NzIzLDEuMDQ4NjEsLjg0NzIzLC43ODc1NSwuODMyMzEsMS4yMzczNiwxLjAzOTg5LDEuMDEwNTQsMSwxLDEuMDM5ODksMS4wMTA1NCwuOTg1NywxLjAzODQ5LDEuMDEwNTQsLjk2OTI0LC45NjIyNSwuOTY5MjQsLjk2MjI1LC45NjkyNCwuOTYyMjUsLjkyMzgzLC45MDE3MSwuODA1OTUsMS4wNjU5OCwxLDEsLjgwNTk1LDEuMDY1OTgsLjc0NTI0LC43OTAwNCwuNzQ1MjQsLjc5MDA0LC43NDUyNCwuNzkwMDQsLjc0NTI0LC43OTAwNCwxLDEsLjg2MDkxLDEuMDI3NTksLjg1NzcxLDEuMTYzNDQsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk1NDAyLDEuMDAzNTEsLjk4NDQ4LC45OTczLC44MzA4OSwuOTY3NzcsLjgzMDg5LC45MzI4NSwuOTA0MywuOTMyODUsLjkwNDMsLjkzMjg1LC45MDQzLDEuMzE4NjgsLjk2OTI3LC45NDcyOSwuOTc0NTQsLjg1NDk4LC45MjkxNiwuOTY5MjQsLjg3NjEsMSwxLC44NjA5MSwxLjE2MzQ0LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LDEuMDQ4MzksMS4wNDgzOSwxLjA0ODM5LC44MTk2NSwuODE5NjUsLjk0NzI5LC43ODAzMiwuNzEwMjIsLjkwODgzLC44NDE3MSwuOTk4NzcsLjc3NTk2LDEuMDU3MzQsMS4yLC45NDcyOSwuODU5NDQsLjgyNzkxLC45NjA3LC43NDgxNywuOTMyODUsLjk4MDM5LC45NjkyNCwuOTU3ODIsLjg5ODk4LC45ODMxNiwuOTgxODMsMS4wMzk4OSwuNzg2MTQsLjk2OTI0LC45NzY0MiwuODYyMzcsLjg2MDc1LC44NjA5MSwuODMwODksLjkwMDgyLC44ODU4LC45NzI5NiwxLjAxMjg0LC45NTc4MiwuODMwODksMS4wOTc2LDEuMDQsMS4wMzM0MiwxLjIsMS4wNjc1LDEuMDk3NiwuOTgyMDUsMS4wMzgwOSwxLjA1MDk3LDEuMDQsLjk1MzY0LDEuMDMzNDIsMS4wNTQwMSwxLjIsMS4wMjE0OCwxLjAxMTksMS4wNDcyNCwxLjAxMjcsMS4wMjczMiwuOTYyMjUsLjg5NjUsLjk3NzgzLC45MzU3NCwuOTQ4MTgsMS4zMDY3OSwxLjA2NzUsMS4xMTgyNiwuOTk4MjEsMS4wNTU3LDEuMDMyNiwxLjIsMS4wNjc1LC45NjIyNSwxLjA2NzUsMS4wMzI2LC43NDgxNywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjAzNzU0LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC44NzUzMywxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwuOTg3MDUsMSwxLDEsMSwxLDEsLjk4NDQ4LC45OTczLC45ODQ0OCwuOTk3MywuOTg0NDgsLjk5NzMsLjgzMDg5LC45Njc3NywxLDEuMjAwODgsLjg5OTAzLDEsMSwuNzUxNTUsLjk0OTQ1LC45NDk0NSwuOTQ5NDUsLjk0OTQ1LDEuMTIzMTcsMS4xMjMxNywxLjEyMzE3LC42NzYwMywuNjc2MDMsMS4xNTYyMSwuNzM1ODQsMS4yMTE5MSwxLjIyMTM1LDEuMDY0ODMsLjk0ODY4LC45NDg2OCwuOTU5OTYsMS4yNDYzMywxLDEuMDc0OTcsLjg3NzA5LC45NjkyNywxLjAxNDczLC45NjkyNywxLDEsMSwuNzcyOTUsMSwxLDEuMDk4MzYsMS4wOTgzNiwxLjA5ODM2LDEuMDE1MjIsLjg2MzIxLC45NDQzNCwuODY0OSwuOTQ0MzQsLjg2MTgyLDEsMSwxLjA4MywxLC45MTU3OCwuODY0MzgsMS4xNzMwOCwxLjE4NDE2LDEuMTQ1ODksLjY5ODI1LC45NzYyMiwxLjk2NzkxLDEuMjQ4MjIsMS4yNDgyMiwxLjE3MzA4LDEuMjQ4MjIsMS4yNDgyMiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuNDI2MDMsMSwuOTk4NjIsLjk5ODYyLDEsLjg3MDI1LC44NzAyNSwuODcwMjUsLjg3MDI1LDEuMTc5ODQsMS40MjYwMywxLDEuNDI2MDMsMS40MjYwMywuOTk4NjIsMSwxLDEsMSwxLDEuMjg4NiwxLjA0MzE1LDEuMTUyOTYsMS4zNDE2MywxLDEsMSwxLjEwNzQyLDEuMTA3NDIsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDFdLGNzPXtsaW5lSGVpZ2h0OjEuMzMwMDgsbGluZUdhcDowfSxDcz1bMS43NjczOCwxLDEsLjk4NTk0LDEuMDIyODUsMS4xMDQ1NCwxLjA2MjM0LC45NjkyNywuOTIwMzcsMS4xOTk4NSwxLjIwNDYsLjkwNjE2LC45MDYxNiwxLjA3MTUyLDEuMTcxNCwuNzgwMzIsMS4yMDA4OCwuNzgwMzIsMS40MDI0NiwuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjk2OTI3LC45NjkyNywuOTY5MjcsLjc4MDMyLC43ODAzMiwxLjE3MTQsMS4xNzE0LDEuMTcxNCwuODA1OTcsLjk0MDg0LC45NjcwNiwuODU5NDQsLjg1NzM0LC45NzA5MywuNzU4NDIsLjc5OTM2LC44ODE5OCwuOTgzMSwuOTU3ODIsLjcxMzg3LC44Njk2OSwuODQ2MzYsMS4wNzc5NiwxLjAzNTg0LC45NjkyNCwuODM5NjgsLjk2OTI0LC44MjgyNiwuNzk2NDksLjg1NzcxLC45NTEzMiwuOTMxMTksLjk4OTY1LC44ODQzMywuODI4NywuOTMzNjUsMS4wODYxMiwxLjM2MzgsMS4wODYxMiwxLjQ1Nzg2LC43NDYyNywuODA0OTksLjkxNDg0LDEuMDU3MDcsLjkyMzgzLDEuMDU4ODIsLjk0MDMsMS4xMjY1NCwxLjA1ODgyLDEuMDE3NTYsMS4wOTAxMSwxLjA5MDExLC45OTQxNCwxLjA5MDExLDEuMDM0LDEuMDE3NTYsMS4wNTM1NiwxLjA1NzA3LDEuMDU4ODIsMS4wNDM5OSwuODQ4NjMsMS4yMTk2OCwxLjAxNzU2LC45NTgwMSwxLjAwMDY4LC45MTc5NywuOTY3NzcsLjkwNDMsLjkwMzUxLC45MjEwNSwuOTAzNTEsMS4xNzE0LC44NTMzNywuOTY5MjcsLjk2OTI3LC45OTkxMiwuOTY5MjcsLjkyMTA1LC44MDU5NywxLjI0MzQsMS4yMDgwOCwxLjA1OTM3LC45MDk1NywxLjE3MTQsMS4yMDgwOCwuNzUxNTUsLjk0MjYxLDEuMjQ2NDQsMS4wOTk3MSwxLjA5OTcxLC44NDc1MSwxLC44NTI3MywuNzgwMzIsLjYxNTg0LDEuMDU0MjUsMS4xNzkxNCwuOTA5NTcsMS4wODY2NSwxLjExNTkzLDEuMTQxNjksLjczMzgxLC45NjcwNiwuOTY3MDYsLjk2NzA2LC45NjcwNiwuOTY3MDYsLjk2NzA2LC44NjAzNSwuODU3MzQsLjc1ODQyLC43NTg0MiwuNzU4NDIsLjc1ODQyLC45NTc4MiwuOTU3ODIsLjk1NzgyLC45NTc4MiwuOTcwOTMsMS4wMzU4NCwuOTY5MjQsLjk2OTI0LC45NjkyNCwuOTY5MjQsLjk2OTI0LDEuMTcxNCwuOTY5MjQsLjk1MTMyLC45NTEzMiwuOTUxMzIsLjk1MTMyLC44Mjg3LC44Mzk2OCwuODkwNDksLjkxNDg0LC45MTQ4NCwuOTE0ODQsLjkxNDg0LC45MTQ4NCwuOTE0ODQsLjkzNTc1LC45MjM4MywuOTQwMywuOTQwMywuOTQwMywuOTQwMywuODcxNywuODcxNywuODcxNywuODcxNywxLjAwNTI3LDEuMDE3NTYsMS4wNTM1NiwxLjA1MzU2LDEuMDUzNTYsMS4wNTM1NiwxLjA1MzU2LDEuMjQ2NDQsLjk1OTIzLDEuMDE3NTYsMS4wMTc1NiwxLjAxNzU2LDEuMDE3NTYsLjk2Nzc3LDEuMDU3MDcsLjk2Nzc3LC45NjcwNiwuOTE0ODQsLjk2NzA2LC45MTQ4NCwuOTY3MDYsLjkxNDg0LC44NTczNCwuOTIzODMsLjg1NzM0LC45MjM4MywuODU3MzQsLjkyMzgzLC44NTczNCwuOTIzODMsLjk3MDkzLDEuMDk2OSwuOTcwOTMsMS4wNTg4MiwuNzU4NDIsLjk0MDMsLjc1ODQyLC45NDAzLC43NTg0MiwuOTQwMywuNzU4NDIsLjk0MDMsLjc1ODQyLC45NDAzLC44ODE5OCwxLjA1ODgyLC44ODE5OCwxLjA1ODgyLC44ODE5OCwxLjA1ODgyLDEsMSwuOTgzMSwxLjAxNzU2LC45ODMxLDEuMDE3NTYsLjk1NzgyLC44NzE3LC45NTc4MiwuODcxNywuOTU3ODIsLjg3MTcsLjk1NzgyLDEuMDkwMTEsLjk1NzgyLC44NzE3LC44NDc4NCwxLjExNTUxLC43MTM4NywxLjA5MDExLDEsMSwuOTk0MTQsLjg0NjM2LDEuMDkwMTEsMSwxLC44NDYzNiwxLjA1MzYsLjg0NjM2LC45NDI5OCwuODQ2MzYsMS4yMzI5NywxLjAzNTg0LDEuMDE3NTYsMSwxLDEuMDM1ODQsMS4wMTc1NiwxLjAwMzIzLDEuMDM0NDQsMS4wMTc1NiwuOTY5MjQsMS4wNTM1NiwuOTY5MjQsMS4wNTM1NiwuOTY5MjQsMS4wNTM1NiwuOTMwNjYsLjk4MjkzLC44MjgyNiwxLjA0Mzk5LDEsMSwuODI4MjYsMS4wNDM5OSwuNzk2NDksLjg0ODYzLC43OTY0OSwuODQ4NjMsLjc5NjQ5LC44NDg2MywuNzk2NDksLjg0ODYzLDEsMSwuODU3NzEsMS4xNzMxOCwuODU3NzEsMS4yMTk2OCwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTUxMzIsMS4wMTc1NiwuOTg5NjUsMS4wMDA2OCwuODI4NywuOTY3NzcsLjgyODcsLjkzMzY1LC45MDQzLC45MzM2NSwuOTA0MywuOTMzNjUsLjkwNDMsMS4wODU3MSwuOTY5MjcsLjk2NzA2LC45MTQ4NCwuODYwMzUsLjkzNTc1LC45NjkyNCwuOTU5MjMsMSwxLC44NTc3MSwxLjIxOTY4LDEuMTE0MzcsMS4xMTQzNywuOTMxMDksLjkxMjAyLC42MDQxMSwuODQxNjQsLjU1NTcyLDEuMDExNzMsLjk3MzYxLC44MTgxOCwuODE4MTgsLjk2NjM1LC43ODAzMiwuNzI3MjcsLjkyMzY2LC45ODYwMSwxLjAzNDA1LC43Nzk2OCwxLjA5Nzk5LDEuMiwuOTY3MDYsLjg1OTQ0LC44NTYzOCwuOTY0OTEsLjc1ODQyLC45MzM2NSwuOTgzMSwuOTY5MjQsLjk1NzgyLC44Njk2OSwuOTQxNTIsMS4wNzc5NiwxLjAzNTg0LC43ODQzNywuOTY5MjQsLjk4NzE1LC44Mzk2OCwuODM0OTEsLjg1NzcxLC44Mjg3LC45NDQ5MiwuODg0MzMsLjkyODcsMS4wMDk4LC45NTc4MiwuODI4NywxLjA2MjUsLjk4MjQ4LDEuMDM0MjQsMS4yLDEuMDEwNzEsMS4wNjI1LC45NTI0NiwxLjAzODA5LDEuMDQ5MTIsLjk4MjQ4LDEuMDAyMjEsMS4wMzQyNCwxLjA1NDQzLDEuMiwxLjA0Nzg1LC45OTYwOSwxLjAwMTY5LDEuMDUxNzYsLjk5MzQ2LDEuMDUzNTYsLjkwODcsMS4wMzAwNCwuOTU1NDIsLjkzMTE3LDEuMjMzNjIsMS4wMTA3MSwxLjA3ODMxLDEuMDI1MTIsMS4wNTIwNSwxLjAzNTAyLDEuMiwxLjAxMDcxLDEuMDUzNTYsMS4wMTA3MSwxLjAzNTAyLC43NTg0MiwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLjAzNzE5LDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLC45NDAzLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEuMDQwMjEsMSwxLDEsMSwxLDEsLjk4OTY1LDEuMDAwNjgsLjk4OTY1LDEuMDAwNjgsLjk4OTY1LDEuMDAwNjgsLjgyODcsLjk2Nzc3LDEsMS4yMDA4OCwuODk5MDMsMSwxLC43NTE1NSwxLjAzMDc3LDEuMDMwNzcsMS4wMzA3NywxLjAzMDc3LDEuMTMxOTYsMS4xMzE5NiwxLjEzMTk2LC42NzQyOCwuNjc0MjgsMS4xNjAzOSwuNzMyOTEsMS4yMDk5NiwxLjIyMTM1LDEuMDY0ODMsLjk0ODY4LC45NDg2OCwuOTU5OTYsMS4yNDYzMywxLDEuMDc0OTcsLjg3Nzk2LC45NjkyNywxLjAxNTE4LC45NjkyNywxLDEsMSwuNzcyOTUsMSwxLDEuMTA1MzksMS4xMDUzOSwxLjExMzU4LDEuMDY5NjcsLjg2Mjc5LC45NDQzNCwuODYyNzksLjk0NDM0LC44NjE4MiwxLDEsMS4wODMsMSwuOTE1NzgsLjg2NTA3LDEuMTcxNCwxLjE4NDE2LDEuMTQ1ODksLjY5ODI1LC45NzYyMiwxLjk2OTcsMS4yNDgyMiwxLjI0ODIyLDEuMTcyMzgsMS4yNDgyMiwxLjI0ODIyLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMS40MjYwMywxLC45OTg2MiwuOTk4NjIsMSwuODcwMjUsLjg3MDI1LC44NzAyNSwuODcwMjUsMS4xODA4MywxLjQyNjAzLDEsMS40MjYwMywxLjQyNjAzLC45OTg2MiwxLDEsMSwxLDEsMS4yODg2LDEuMDQzMTUsMS4xNTI5NiwxLjM0MTYzLDEsMSwxLDEuMTA5MzgsMS4xMDkzOCwxLDEsMSwxLjA1NDI1LDEuMDk5NzEsMS4wOTk3MSwxLjA5OTcxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMV0saHM9e2xpbmVIZWlnaHQ6MS4zMzAwOCxsaW5lR2FwOjB9LEJzPWdldExvb2t1cFRhYmxlRmFjdG9yeSgoZnVuY3Rpb24oZSl7ZVsiTXlyaWFkUHJvLVJlZ3VsYXIiXT1lWyJQZGZKUy1GYWxsYmFjay1SZWd1bGFyIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLVJlZ3VsYXIiLGZhY3RvcnM6YXMsYmFzZVdpZHRoczpWYSxiYXNlTWFwcGluZzp6YSxtZXRyaWNzOnNzfTtlWyJNeXJpYWRQcm8tQm9sZCJdPWVbIlBkZkpTLUZhbGxiYWNrLUJvbGQiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZCIsZmFjdG9yczpfYSxiYXNlV2lkdGhzOk9hLGJhc2VNYXBwaW5nOlBhLG1ldHJpY3M6JGF9O2VbIk15cmlhZFByby1JdCJdPWVbIk15cmlhZFByby1JdGFsaWMiXT1lWyJQZGZKUy1GYWxsYmFjay1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixmYWN0b3JzOnRzLGJhc2VXaWR0aHM6WGEsYmFzZU1hcHBpbmc6WmEsbWV0cmljczppc307ZVsiTXlyaWFkUHJvLUJvbGRJdCJdPWVbIk15cmlhZFByby1Cb2xkSXRhbGljIl09ZVsiUGRmSlMtRmFsbGJhY2stQm9sZEl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljIixmYWN0b3JzOkFzLGJhc2VXaWR0aHM6V2EsYmFzZU1hcHBpbmc6amEsbWV0cmljczplc307ZS5BcmlhbE1UPWUuQXJpYWw9ZVsiQXJpYWwtUmVndWxhciJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyIixiYXNlV2lkdGhzOlZhLGJhc2VNYXBwaW5nOnphfTtlWyJBcmlhbC1Cb2xkTVQiXT1lWyJBcmlhbC1Cb2xkIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGQiLGJhc2VXaWR0aHM6T2EsYmFzZU1hcHBpbmc6UGF9O2VbIkFyaWFsLUl0YWxpY01UIl09ZVsiQXJpYWwtSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUl0YWxpYyIsYmFzZVdpZHRoczpYYSxiYXNlTWFwcGluZzpaYX07ZVsiQXJpYWwtQm9sZEl0YWxpY01UIl09ZVsiQXJpYWwtQm9sZEl0YWxpYyJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljIixiYXNlV2lkdGhzOldhLGJhc2VNYXBwaW5nOmphfTtlWyJDYWxpYnJpLVJlZ3VsYXIiXT17bmFtZToiTGliZXJhdGlvblNhbnMtUmVndWxhciIsZmFjdG9yczpVYSxiYXNlV2lkdGhzOlZhLGJhc2VNYXBwaW5nOnphLG1ldHJpY3M6TWF9O2VbIkNhbGlicmktQm9sZCJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkIixmYWN0b3JzOlNhLGJhc2VXaWR0aHM6T2EsYmFzZU1hcHBpbmc6UGEsbWV0cmljczprYX07ZVsiQ2FsaWJyaS1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixmYWN0b3JzOkdhLGJhc2VXaWR0aHM6WGEsYmFzZU1hcHBpbmc6WmEsbWV0cmljczp4YX07ZVsiQ2FsaWJyaS1Cb2xkSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMiLGZhY3RvcnM6UmEsYmFzZVdpZHRoczpXYSxiYXNlTWFwcGluZzpqYSxtZXRyaWNzOk5hfTtlWyJTZWdvZXVpLVJlZ3VsYXIiXT17bmFtZToiTGliZXJhdGlvblNhbnMtUmVndWxhciIsZmFjdG9yczpDcyxiYXNlV2lkdGhzOlZhLGJhc2VNYXBwaW5nOnphLG1ldHJpY3M6aHN9O2VbIlNlZ29ldWktQm9sZCJdPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1Cb2xkIixmYWN0b3JzOnJzLGJhc2VXaWR0aHM6T2EsYmFzZU1hcHBpbmc6UGEsbWV0cmljczpuc307ZVsiU2Vnb2V1aS1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixmYWN0b3JzOklzLGJhc2VXaWR0aHM6WGEsYmFzZU1hcHBpbmc6WmEsbWV0cmljczpjc307ZVsiU2Vnb2V1aS1Cb2xkSXRhbGljIl09e25hbWU6IkxpYmVyYXRpb25TYW5zLUJvbGRJdGFsaWMiLGZhY3RvcnM6Z3MsYmFzZVdpZHRoczpXYSxiYXNlTWFwcGluZzpqYSxtZXRyaWNzOm9zfTtlWyJIZWx2ZXRpY2EtUmVndWxhciJdPWUuSGVsdmV0aWNhPXtuYW1lOiJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyIixmYWN0b3JzOlRhLGJhc2VXaWR0aHM6VmEsYmFzZU1hcHBpbmc6emEsbWV0cmljczpxYX07ZVsiSGVsdmV0aWNhLUJvbGQiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZCIsZmFjdG9yczpMYSxiYXNlV2lkdGhzOk9hLGJhc2VNYXBwaW5nOlBhLG1ldHJpY3M6SGF9O2VbIkhlbHZldGljYS1JdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtSXRhbGljIixmYWN0b3JzOnZhLGJhc2VXaWR0aHM6WGEsYmFzZU1hcHBpbmc6WmEsbWV0cmljczpLYX07ZVsiSGVsdmV0aWNhLUJvbGRJdGFsaWMiXT17bmFtZToiTGliZXJhdGlvblNhbnMtQm9sZEl0YWxpYyIsZmFjdG9yczpKYSxiYXNlV2lkdGhzOldhLGJhc2VNYXBwaW5nOmphLG1ldHJpY3M6WWF9fSkpO2Z1bmN0aW9uIGdldFhmYUZvbnROYW1lKGUpe2NvbnN0IHQ9bm9ybWFsaXplRm9udE5hbWUoZSk7cmV0dXJuIEJzKClbdF19ZnVuY3Rpb24gZ2V0WGZhRm9udERpY3QoZSl7Y29uc3QgdD1mdW5jdGlvbiBnZXRYZmFGb250V2lkdGhzKGUpe2NvbnN0IHQ9Z2V0WGZhRm9udE5hbWUoZSk7aWYoIXQpcmV0dXJuIG51bGw7Y29uc3R7YmFzZVdpZHRoczppLGJhc2VNYXBwaW5nOmEsZmFjdG9yczpzfT10LHI9cz9pLm1hcCgoKGUsdCk9PmUqc1t0XSkpOmk7bGV0IG4sZz0tMjtjb25zdCBvPVtdO2Zvcihjb25zdFtlLHRdb2YgYS5tYXAoKChlLHQpPT5bZSx0XSkpLnNvcnQoKChbZV0sW3RdKT0+ZS10KSkpaWYoLTEhPT1lKWlmKGU9PT1nKzEpe24ucHVzaChyW3RdKTtnKz0xfWVsc2V7Zz1lO249W3JbdF1dO28ucHVzaChlLG4pfXJldHVybiBvfShlKSxpPW5ldyBEaWN0KG51bGwpO2kuc2V0KCJCYXNlRm9udCIsTmFtZS5nZXQoZSkpO2kuc2V0KCJUeXBlIixOYW1lLmdldCgiRm9udCIpKTtpLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkNJREZvbnRUeXBlMiIpKTtpLnNldCgiRW5jb2RpbmciLE5hbWUuZ2V0KCJJZGVudGl0eS1IIikpO2kuc2V0KCJDSURUb0dJRE1hcCIsTmFtZS5nZXQoIklkZW50aXR5IikpO2kuc2V0KCJXIix0KTtpLnNldCgiRmlyc3RDaGFyIix0WzBdKTtpLnNldCgiTGFzdENoYXIiLHQuYXQoLTIpK3QuYXQoLTEpLmxlbmd0aC0xKTtjb25zdCBhPW5ldyBEaWN0KG51bGwpO2kuc2V0KCJGb250RGVzY3JpcHRvciIsYSk7Y29uc3Qgcz1uZXcgRGljdChudWxsKTtzLnNldCgiT3JkZXJpbmciLCJJZGVudGl0eSIpO3Muc2V0KCJSZWdpc3RyeSIsIkFkb2JlIik7cy5zZXQoIlN1cHBsZW1lbnQiLDApO2kuc2V0KCJDSURTeXN0ZW1JbmZvIixzKTtyZXR1cm4gaX1jbGFzcyBQb3N0U2NyaXB0UGFyc2Vye2NvbnN0cnVjdG9yKGUpe3RoaXMubGV4ZXI9ZTt0aGlzLm9wZXJhdG9ycz1bXTt0aGlzLnRva2VuPW51bGw7dGhpcy5wcmV2PW51bGx9bmV4dFRva2VuKCl7dGhpcy5wcmV2PXRoaXMudG9rZW47dGhpcy50b2tlbj10aGlzLmxleGVyLmdldFRva2VuKCl9YWNjZXB0KGUpe2lmKHRoaXMudG9rZW4udHlwZT09PWUpe3RoaXMubmV4dFRva2VuKCk7cmV0dXJuITB9cmV0dXJuITF9ZXhwZWN0KGUpe2lmKHRoaXMuYWNjZXB0KGUpKXJldHVybiEwO3Rocm93IG5ldyBGb3JtYXRFcnJvcihgVW5leHBlY3RlZCBzeW1ib2w6IGZvdW5kICR7dGhpcy50b2tlbi50eXBlfSBleHBlY3RlZCAke2V9LmApfXBhcnNlKCl7dGhpcy5uZXh0VG9rZW4oKTt0aGlzLmV4cGVjdChscy5MQlJBQ0UpO3RoaXMucGFyc2VCbG9jaygpO3RoaXMuZXhwZWN0KGxzLlJCUkFDRSk7cmV0dXJuIHRoaXMub3BlcmF0b3JzfXBhcnNlQmxvY2soKXtmb3IoOzspaWYodGhpcy5hY2NlcHQobHMuTlVNQkVSKSl0aGlzLm9wZXJhdG9ycy5wdXNoKHRoaXMucHJldi52YWx1ZSk7ZWxzZSBpZih0aGlzLmFjY2VwdChscy5PUEVSQVRPUikpdGhpcy5vcGVyYXRvcnMucHVzaCh0aGlzLnByZXYudmFsdWUpO2Vsc2V7aWYoIXRoaXMuYWNjZXB0KGxzLkxCUkFDRSkpcmV0dXJuO3RoaXMucGFyc2VDb25kaXRpb24oKX19cGFyc2VDb25kaXRpb24oKXtjb25zdCBlPXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLm9wZXJhdG9ycy5wdXNoKG51bGwsbnVsbCk7dGhpcy5wYXJzZUJsb2NrKCk7dGhpcy5leHBlY3QobHMuUkJSQUNFKTtpZih0aGlzLmFjY2VwdChscy5JRikpe3RoaXMub3BlcmF0b3JzW2VdPXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLm9wZXJhdG9yc1tlKzFdPSJqeiJ9ZWxzZXtpZighdGhpcy5hY2NlcHQobHMuTEJSQUNFKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlBTIEZ1bmN0aW9uOiBlcnJvciBwYXJzaW5nIGNvbmRpdGlvbmFsLiIpO3tjb25zdCB0PXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLm9wZXJhdG9ycy5wdXNoKG51bGwsbnVsbCk7Y29uc3QgaT10aGlzLm9wZXJhdG9ycy5sZW5ndGg7dGhpcy5wYXJzZUJsb2NrKCk7dGhpcy5leHBlY3QobHMuUkJSQUNFKTt0aGlzLmV4cGVjdChscy5JRkVMU0UpO3RoaXMub3BlcmF0b3JzW3RdPXRoaXMub3BlcmF0b3JzLmxlbmd0aDt0aGlzLm9wZXJhdG9yc1t0KzFdPSJqIjt0aGlzLm9wZXJhdG9yc1tlXT1pO3RoaXMub3BlcmF0b3JzW2UrMV09Imp6In19fX1jb25zdCBscz17TEJSQUNFOjAsUkJSQUNFOjEsTlVNQkVSOjIsT1BFUkFUT1I6MyxJRjo0LElGRUxTRTo1fTtjbGFzcyBQb3N0U2NyaXB0VG9rZW57c3RhdGljIGdldCBvcENhY2hlKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJvcENhY2hlIixPYmplY3QuY3JlYXRlKG51bGwpKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudHlwZT1lO3RoaXMudmFsdWU9dH1zdGF0aWMgZ2V0T3BlcmF0b3IoZSl7cmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5vcENhY2hlW2VdfHw9bmV3IFBvc3RTY3JpcHRUb2tlbihscy5PUEVSQVRPUixlKX1zdGF0aWMgZ2V0IExCUkFDRSgpe3JldHVybiBzaGFkb3codGhpcywiTEJSQUNFIixuZXcgUG9zdFNjcmlwdFRva2VuKGxzLkxCUkFDRSwieyIpKX1zdGF0aWMgZ2V0IFJCUkFDRSgpe3JldHVybiBzaGFkb3codGhpcywiUkJSQUNFIixuZXcgUG9zdFNjcmlwdFRva2VuKGxzLlJCUkFDRSwifSIpKX1zdGF0aWMgZ2V0IElGKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJJRiIsbmV3IFBvc3RTY3JpcHRUb2tlbihscy5JRiwiSUYiKSl9c3RhdGljIGdldCBJRkVMU0UoKXtyZXR1cm4gc2hhZG93KHRoaXMsIklGRUxTRSIsbmV3IFBvc3RTY3JpcHRUb2tlbihscy5JRkVMU0UsIklGRUxTRSIpKX19Y2xhc3MgUG9zdFNjcmlwdExleGVye2NvbnN0cnVjdG9yKGUpe3RoaXMuc3RyZWFtPWU7dGhpcy5uZXh0Q2hhcigpO3RoaXMuc3RyQnVmPVtdfW5leHRDaGFyKCl7cmV0dXJuIHRoaXMuY3VycmVudENoYXI9dGhpcy5zdHJlYW0uZ2V0Qnl0ZSgpfWdldFRva2VuKCl7bGV0IGU9ITEsdD10aGlzLmN1cnJlbnRDaGFyO2Zvcig7Oyl7aWYodDwwKXJldHVybiB3dDtpZihlKTEwIT09dCYmMTMhPT10fHwoZT0hMSk7ZWxzZSBpZigzNz09PXQpZT0hMDtlbHNlIGlmKCFpc1doaXRlU3BhY2UodCkpYnJlYWs7dD10aGlzLm5leHRDaGFyKCl9c3dpdGNoKDB8dCl7Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OmNhc2UgNTY6Y2FzZSA1NzpjYXNlIDQzOmNhc2UgNDU6Y2FzZSA0NjpyZXR1cm4gbmV3IFBvc3RTY3JpcHRUb2tlbihscy5OVU1CRVIsdGhpcy5nZXROdW1iZXIoKSk7Y2FzZSAxMjM6dGhpcy5uZXh0Q2hhcigpO3JldHVybiBQb3N0U2NyaXB0VG9rZW4uTEJSQUNFO2Nhc2UgMTI1OnRoaXMubmV4dENoYXIoKTtyZXR1cm4gUG9zdFNjcmlwdFRva2VuLlJCUkFDRX1jb25zdCBpPXRoaXMuc3RyQnVmO2kubGVuZ3RoPTA7aVswXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHQpO2Zvcig7KHQ9dGhpcy5uZXh0Q2hhcigpKT49MCYmKHQ+PTY1JiZ0PD05MHx8dD49OTcmJnQ8PTEyMik7KWkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKHQpKTtjb25zdCBhPWkuam9pbigiIik7c3dpdGNoKGEudG9Mb3dlckNhc2UoKSl7Y2FzZSJpZiI6cmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5JRjtjYXNlImlmZWxzZSI6cmV0dXJuIFBvc3RTY3JpcHRUb2tlbi5JRkVMU0U7ZGVmYXVsdDpyZXR1cm4gUG9zdFNjcmlwdFRva2VuLmdldE9wZXJhdG9yKGEpfX1nZXROdW1iZXIoKXtsZXQgZT10aGlzLmN1cnJlbnRDaGFyO2NvbnN0IHQ9dGhpcy5zdHJCdWY7dC5sZW5ndGg9MDt0WzBdPVN0cmluZy5mcm9tQ2hhckNvZGUoZSk7Zm9yKDsoZT10aGlzLm5leHRDaGFyKCkpPj0wJiYoZT49NDgmJmU8PTU3fHw0NT09PWV8fDQ2PT09ZSk7KXQucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKTtjb25zdCBpPXBhcnNlRmxvYXQodC5qb2luKCIiKSk7aWYoaXNOYU4oaSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGZsb2F0aW5nIHBvaW50IG51bWJlcjogJHtpfWApO3JldHVybiBpfX1jbGFzcyBCYXNlTG9jYWxDYWNoZXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9vbmx5UmVmcz0hMD09PWU/Lm9ubHlSZWZzO2lmKCF0aGlzLl9vbmx5UmVmcyl7dGhpcy5fbmFtZVJlZk1hcD1uZXcgTWFwO3RoaXMuX2ltYWdlTWFwPW5ldyBNYXB9dGhpcy5faW1hZ2VDYWNoZT1uZXcgUmVmU2V0Q2FjaGV9Z2V0QnlOYW1lKGUpe3RoaXMuX29ubHlSZWZzJiZ1bnJlYWNoYWJsZSgiU2hvdWxkIG5vdCBjYWxsIGBnZXRCeU5hbWVgIG1ldGhvZC4iKTtjb25zdCB0PXRoaXMuX25hbWVSZWZNYXAuZ2V0KGUpO3JldHVybiB0P3RoaXMuZ2V0QnlSZWYodCk6dGhpcy5faW1hZ2VNYXAuZ2V0KGUpfHxudWxsfWdldEJ5UmVmKGUpe3JldHVybiB0aGlzLl9pbWFnZUNhY2hlLmdldChlKXx8bnVsbH1zZXQoZSx0LGkpe3VucmVhY2hhYmxlKCJBYnN0cmFjdCBtZXRob2QgYHNldGAgY2FsbGVkLiIpfX1jbGFzcyBMb2NhbEltYWdlQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtzZXQoZSx0PW51bGwsaSl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcignTG9jYWxJbWFnZUNhY2hlLnNldCAtIGV4cGVjdGVkICJuYW1lIiBhcmd1bWVudC4nKTtpZih0KXtpZih0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KSlyZXR1cm47dGhpcy5fbmFtZVJlZk1hcC5zZXQoZSx0KTt0aGlzLl9pbWFnZUNhY2hlLnB1dCh0LGkpfWVsc2UgdGhpcy5faW1hZ2VNYXAuaGFzKGUpfHx0aGlzLl9pbWFnZU1hcC5zZXQoZSxpKX19Y2xhc3MgTG9jYWxDb2xvclNwYWNlQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtzZXQoZT1udWxsLHQ9bnVsbCxpKXtpZigic3RyaW5nIiE9dHlwZW9mIGUmJiF0KXRocm93IG5ldyBFcnJvcignTG9jYWxDb2xvclNwYWNlQ2FjaGUuc2V0IC0gZXhwZWN0ZWQgIm5hbWUiIGFuZC9vciAicmVmIiBhcmd1bWVudC4nKTtpZih0KXtpZih0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KSlyZXR1cm47bnVsbCE9PWUmJnRoaXMuX25hbWVSZWZNYXAuc2V0KGUsdCk7dGhpcy5faW1hZ2VDYWNoZS5wdXQodCxpKX1lbHNlIHRoaXMuX2ltYWdlTWFwLmhhcyhlKXx8dGhpcy5faW1hZ2VNYXAuc2V0KGUsaSl9fWNsYXNzIExvY2FsRnVuY3Rpb25DYWNoZSBleHRlbmRzIEJhc2VMb2NhbENhY2hle2NvbnN0cnVjdG9yKGUpe3N1cGVyKHtvbmx5UmVmczohMH0pfXNldChlPW51bGwsdCxpKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoJ0xvY2FsRnVuY3Rpb25DYWNoZS5zZXQgLSBleHBlY3RlZCAicmVmIiBhcmd1bWVudC4nKTt0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KXx8dGhpcy5faW1hZ2VDYWNoZS5wdXQodCxpKX19Y2xhc3MgTG9jYWxHU3RhdGVDYWNoZSBleHRlbmRzIEJhc2VMb2NhbENhY2hle3NldChlLHQ9bnVsbCxpKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCdMb2NhbEdTdGF0ZUNhY2hlLnNldCAtIGV4cGVjdGVkICJuYW1lIiBhcmd1bWVudC4nKTtpZih0KXtpZih0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KSlyZXR1cm47dGhpcy5fbmFtZVJlZk1hcC5zZXQoZSx0KTt0aGlzLl9pbWFnZUNhY2hlLnB1dCh0LGkpfWVsc2UgdGhpcy5faW1hZ2VNYXAuaGFzKGUpfHx0aGlzLl9pbWFnZU1hcC5zZXQoZSxpKX19Y2xhc3MgTG9jYWxUaWxpbmdQYXR0ZXJuQ2FjaGUgZXh0ZW5kcyBCYXNlTG9jYWxDYWNoZXtjb25zdHJ1Y3RvcihlKXtzdXBlcih7b25seVJlZnM6ITB9KX1zZXQoZT1udWxsLHQsaSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCdMb2NhbFRpbGluZ1BhdHRlcm5DYWNoZS5zZXQgLSBleHBlY3RlZCAicmVmIiBhcmd1bWVudC4nKTt0aGlzLl9pbWFnZUNhY2hlLmhhcyh0KXx8dGhpcy5faW1hZ2VDYWNoZS5wdXQodCxpKX19Y2xhc3MgUmVnaW9uYWxJbWFnZUNhY2hlIGV4dGVuZHMgQmFzZUxvY2FsQ2FjaGV7Y29uc3RydWN0b3IoZSl7c3VwZXIoe29ubHlSZWZzOiEwfSl9c2V0KGU9bnVsbCx0LGkpe2lmKCF0KXRocm93IG5ldyBFcnJvcignUmVnaW9uYWxJbWFnZUNhY2hlLnNldCAtIGV4cGVjdGVkICJyZWYiIGFyZ3VtZW50LicpO3RoaXMuX2ltYWdlQ2FjaGUuaGFzKHQpfHx0aGlzLl9pbWFnZUNhY2hlLnB1dCh0LGkpfX1jbGFzcyBHbG9iYWxJbWFnZUNhY2hle3N0YXRpYyBOVU1fUEFHRVNfVEhSRVNIT0xEPTI7c3RhdGljIE1JTl9JTUFHRVNfVE9fQ0FDSEU9MTA7c3RhdGljIE1BWF9CWVRFX1NJWkU9NWU3OyNEPW5ldyBSZWZTZXQ7Y29uc3RydWN0b3IoKXt0aGlzLl9yZWZDYWNoZT1uZXcgUmVmU2V0Q2FjaGU7dGhpcy5faW1hZ2VDYWNoZT1uZXcgUmVmU2V0Q2FjaGV9Z2V0I2IoKXtsZXQgZT0wO2Zvcihjb25zdCB0IG9mIHRoaXMuX2ltYWdlQ2FjaGUpZSs9dC5ieXRlU2l6ZTtyZXR1cm4gZX1nZXQjRigpe3JldHVybiEodGhpcy5faW1hZ2VDYWNoZS5zaXplPEdsb2JhbEltYWdlQ2FjaGUuTUlOX0lNQUdFU19UT19DQUNIRSkmJiEodGhpcy4jYjxHbG9iYWxJbWFnZUNhY2hlLk1BWF9CWVRFX1NJWkUpfXNob3VsZENhY2hlKGUsdCl7bGV0IGk9dGhpcy5fcmVmQ2FjaGUuZ2V0KGUpO2lmKCFpKXtpPW5ldyBTZXQ7dGhpcy5fcmVmQ2FjaGUucHV0KGUsaSl9aS5hZGQodCk7cmV0dXJuIShpLnNpemU8R2xvYmFsSW1hZ2VDYWNoZS5OVU1fUEFHRVNfVEhSRVNIT0xEKSYmISghdGhpcy5faW1hZ2VDYWNoZS5oYXMoZSkmJnRoaXMuI0YpfWFkZERlY29kZUZhaWxlZChlKXt0aGlzLiNELnB1dChlKX1oYXNEZWNvZGVGYWlsZWQoZSl7cmV0dXJuIHRoaXMuI0QuaGFzKGUpfWFkZEJ5dGVTaXplKGUsdCl7Y29uc3QgaT10aGlzLl9pbWFnZUNhY2hlLmdldChlKTtpJiYoaS5ieXRlU2l6ZXx8KGkuYnl0ZVNpemU9dCkpfWdldERhdGEoZSx0KXtjb25zdCBpPXRoaXMuX3JlZkNhY2hlLmdldChlKTtpZighaSlyZXR1cm4gbnVsbDtpZihpLnNpemU8R2xvYmFsSW1hZ2VDYWNoZS5OVU1fUEFHRVNfVEhSRVNIT0xEKXJldHVybiBudWxsO2NvbnN0IGE9dGhpcy5faW1hZ2VDYWNoZS5nZXQoZSk7aWYoIWEpcmV0dXJuIG51bGw7aS5hZGQodCk7cmV0dXJuIGF9c2V0RGF0YShlLHQpe2lmKCF0aGlzLl9yZWZDYWNoZS5oYXMoZSkpdGhyb3cgbmV3IEVycm9yKCdHbG9iYWxJbWFnZUNhY2hlLnNldERhdGEgLSBleHBlY3RlZCAic2hvdWxkQ2FjaGUiIHRvIGhhdmUgYmVlbiBjYWxsZWQuJyk7dGhpcy5faW1hZ2VDYWNoZS5oYXMoZSl8fCh0aGlzLiNGP3dhcm4oIkdsb2JhbEltYWdlQ2FjaGUuc2V0RGF0YSAtIGNhY2hlIGxpbWl0IHJlYWNoZWQuIik6dGhpcy5faW1hZ2VDYWNoZS5wdXQoZSx0KSl9Y2xlYXIoZT0hMSl7aWYoIWUpe3RoaXMuI0QuY2xlYXIoKTt0aGlzLl9yZWZDYWNoZS5jbGVhcigpfXRoaXMuX2ltYWdlQ2FjaGUuY2xlYXIoKX19Y2xhc3MgUERGRnVuY3Rpb25GYWN0b3J5e2NvbnN0cnVjdG9yKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQ9ITB9KXt0aGlzLnhyZWY9ZTt0aGlzLmlzRXZhbFN1cHBvcnRlZD0hMSE9PXR9Y3JlYXRlKGUpe2NvbnN0IHQ9dGhpcy5nZXRDYWNoZWQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBpPVBERkZ1bmN0aW9uLnBhcnNlKHt4cmVmOnRoaXMueHJlZixpc0V2YWxTdXBwb3J0ZWQ6dGhpcy5pc0V2YWxTdXBwb3J0ZWQsZm46ZSBpbnN0YW5jZW9mIFJlZj90aGlzLnhyZWYuZmV0Y2goZSk6ZX0pO3RoaXMuX2NhY2hlKGUsaSk7cmV0dXJuIGl9Y3JlYXRlRnJvbUFycmF5KGUpe2NvbnN0IHQ9dGhpcy5nZXRDYWNoZWQoZSk7aWYodClyZXR1cm4gdDtjb25zdCBpPVBERkZ1bmN0aW9uLnBhcnNlQXJyYXkoe3hyZWY6dGhpcy54cmVmLGlzRXZhbFN1cHBvcnRlZDp0aGlzLmlzRXZhbFN1cHBvcnRlZCxmbk9iajplIGluc3RhbmNlb2YgUmVmP3RoaXMueHJlZi5mZXRjaChlKTplfSk7dGhpcy5fY2FjaGUoZSxpKTtyZXR1cm4gaX1nZXRDYWNoZWQoZSl7bGV0IHQ7ZSBpbnN0YW5jZW9mIFJlZj90PWU6ZSBpbnN0YW5jZW9mIERpY3Q/dD1lLm9iaklkOmUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYodD1lLmRpY3Q/Lm9iaklkKTtpZih0KXtjb25zdCBlPXRoaXMuX2xvY2FsRnVuY3Rpb25DYWNoZS5nZXRCeVJlZih0KTtpZihlKXJldHVybiBlfXJldHVybiBudWxsfV9jYWNoZShlLHQpe2lmKCF0KXRocm93IG5ldyBFcnJvcignUERGRnVuY3Rpb25GYWN0b3J5Ll9jYWNoZSAtIGV4cGVjdGVkICJwYXJzZWRGdW5jdGlvbiIgYXJndW1lbnQuJyk7bGV0IGk7ZSBpbnN0YW5jZW9mIFJlZj9pPWU6ZSBpbnN0YW5jZW9mIERpY3Q/aT1lLm9iaklkOmUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYoaT1lLmRpY3Q/Lm9iaklkKTtpJiZ0aGlzLl9sb2NhbEZ1bmN0aW9uQ2FjaGUuc2V0KG51bGwsaSx0KX1nZXQgX2xvY2FsRnVuY3Rpb25DYWNoZSgpe3JldHVybiBzaGFkb3codGhpcywiX2xvY2FsRnVuY3Rpb25DYWNoZSIsbmV3IExvY2FsRnVuY3Rpb25DYWNoZSl9fWZ1bmN0aW9uIHRvTnVtYmVyQXJyYXkoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/aXNOdW1iZXJBcnJheShlLG51bGwpP2U6ZS5tYXAoKGU9PitlKSk6bnVsbH1jbGFzcyBQREZGdW5jdGlvbntzdGF0aWMgZ2V0U2FtcGxlQXJyYXkoZSx0LGksYSl7bGV0IHMscixuPTE7Zm9yKHM9MCxyPWUubGVuZ3RoO3M8cjtzKyspbio9ZVtzXTtuKj10O2NvbnN0IGc9bmV3IEFycmF5KG4pO2xldCBvPTAsYz0wO2NvbnN0IEM9MS8oMioqaS0xKSxoPWEuZ2V0Qnl0ZXMoKG4qaSs3KS84KTtsZXQgbD0wO2ZvcihzPTA7czxuO3MrKyl7Zm9yKDtvPGk7KXtjPDw9ODtjfD1oW2wrK107bys9OH1vLT1pO2dbc109KGM+Pm8pKkM7YyY9KDE8PG8pLTF9cmV0dXJuIGd9c3RhdGljIHBhcnNlKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm46aX0pe2NvbnN0IGE9aS5kaWN0fHxpO3N3aXRjaChhLmdldCgiRnVuY3Rpb25UeXBlIikpe2Nhc2UgMDpyZXR1cm4gdGhpcy5jb25zdHJ1Y3RTYW1wbGVkKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm46aSxkaWN0OmF9KTtjYXNlIDE6YnJlYWs7Y2FzZSAyOnJldHVybiB0aGlzLmNvbnN0cnVjdEludGVycG9sYXRlZCh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGRpY3Q6YX0pO2Nhc2UgMzpyZXR1cm4gdGhpcy5jb25zdHJ1Y3RTdGljaGVkKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZGljdDphfSk7Y2FzZSA0OnJldHVybiB0aGlzLmNvbnN0cnVjdFBvc3RTY3JpcHQoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxmbjppLGRpY3Q6YX0pfXRocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biB0eXBlIG9mIGZ1bmN0aW9uIil9c3RhdGljIHBhcnNlQXJyYXkoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxmbk9iajppfSl7aWYoIUFycmF5LmlzQXJyYXkoaSkpcmV0dXJuIHRoaXMucGFyc2Uoe3hyZWY6ZSxpc0V2YWxTdXBwb3J0ZWQ6dCxmbjppfSk7Y29uc3QgYT1bXTtmb3IoY29uc3QgcyBvZiBpKWEucHVzaCh0aGlzLnBhcnNlKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm46ZS5mZXRjaElmUmVmKHMpfSkpO3JldHVybiBmdW5jdGlvbihlLHQsaSxzKXtmb3IobGV0IHI9MCxuPWEubGVuZ3RoO3I8bjtyKyspYVtyXShlLHQsaSxzK3IpfX1zdGF0aWMgY29uc3RydWN0U2FtcGxlZCh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGZuOmksZGljdDphfSl7ZnVuY3Rpb24gdG9NdWx0aUFycmF5KGUpe2NvbnN0IHQ9ZS5sZW5ndGgsaT1bXTtsZXQgYT0wO2ZvcihsZXQgcz0wO3M8dDtzKz0yKWlbYSsrXT1bZVtzXSxlW3MrMV1dO3JldHVybiBpfWZ1bmN0aW9uIGludGVycG9sYXRlKGUsdCxpLGEscyl7cmV0dXJuIGErKHMtYSkvKGktdCkqKGUtdCl9bGV0IHM9dG9OdW1iZXJBcnJheShhLmdldEFycmF5KCJEb21haW4iKSkscj10b051bWJlckFycmF5KGEuZ2V0QXJyYXkoIlJhbmdlIikpO2lmKCFzfHwhcil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk5vIGRvbWFpbiBvciByYW5nZSIpO2NvbnN0IG49cy5sZW5ndGgvMixnPXIubGVuZ3RoLzI7cz10b011bHRpQXJyYXkocyk7cj10b011bHRpQXJyYXkocik7Y29uc3Qgbz10b051bWJlckFycmF5KGEuZ2V0QXJyYXkoIlNpemUiKSksYz1hLmdldCgiQml0c1BlclNhbXBsZSIpLEM9YS5nZXQoIk9yZGVyIil8fDE7MSE9PUMmJmluZm8oIk5vIHN1cHBvcnQgZm9yIGN1YmljIHNwbGluZSBpbnRlcnBvbGF0aW9uOiAiK0MpO2xldCBoPXRvTnVtYmVyQXJyYXkoYS5nZXRBcnJheSgiRW5jb2RlIikpO2lmKGgpaD10b011bHRpQXJyYXkoaCk7ZWxzZXtoPVtdO2ZvcihsZXQgZT0wO2U8bjsrK2UpaC5wdXNoKFswLG9bZV0tMV0pfWxldCBsPXRvTnVtYmVyQXJyYXkoYS5nZXRBcnJheSgiRGVjb2RlIikpO2w9bD90b011bHRpQXJyYXkobCk6cjtjb25zdCBRPXRoaXMuZ2V0U2FtcGxlQXJyYXkobyxnLGMsaSk7cmV0dXJuIGZ1bmN0aW9uIGNvbnN0cnVjdFNhbXBsZWRGbihlLHQsaSxhKXtjb25zdCBjPTE8PG4sQz1uZXcgRmxvYXQ2NEFycmF5KGMpLEU9bmV3IFVpbnQzMkFycmF5KGMpO2xldCB1LGQ7Zm9yKGQ9MDtkPGM7ZCsrKUNbZF09MTtsZXQgZj1nLHA9MTtmb3IodT0wO3U8bjsrK3Upe2NvbnN0IGk9c1t1XVswXSxhPXNbdV1bMV07bGV0IHI9aW50ZXJwb2xhdGUoTWF0aC5taW4oTWF0aC5tYXgoZVt0K3VdLGkpLGEpLGksYSxoW3VdWzBdLGhbdV1bMV0pO2NvbnN0IG49b1t1XTtyPU1hdGgubWluKE1hdGgubWF4KHIsMCksbi0xKTtjb25zdCBnPXI8bi0xP01hdGguZmxvb3Iocik6ci0xLGw9ZysxLXIsUT1yLWcsbT1nKmYseT1tK2Y7Zm9yKGQ9MDtkPGM7ZCsrKWlmKGQmcCl7Q1tkXSo9UTtFW2RdKz15fWVsc2V7Q1tkXSo9bDtFW2RdKz1tfWYqPW47cDw8PTF9Zm9yKGQ9MDtkPGc7KytkKXtsZXQgZT0wO2Zvcih1PTA7dTxjO3UrKyllKz1RW0VbdV0rZF0qQ1t1XTtlPWludGVycG9sYXRlKGUsMCwxLGxbZF1bMF0sbFtkXVsxXSk7aVthK2RdPU1hdGgubWluKE1hdGgubWF4KGUscltkXVswXSkscltkXVsxXSl9fX1zdGF0aWMgY29uc3RydWN0SW50ZXJwb2xhdGVkKHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZGljdDppfSl7Y29uc3QgYT10b051bWJlckFycmF5KGkuZ2V0QXJyYXkoIkMwIikpfHxbMF0scz10b051bWJlckFycmF5KGkuZ2V0QXJyYXkoIkMxIikpfHxbMV0scj1pLmdldCgiTiIpLG49W107Zm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7KytlKW4ucHVzaChzW2VdLWFbZV0pO2NvbnN0IGc9bi5sZW5ndGg7cmV0dXJuIGZ1bmN0aW9uIGNvbnN0cnVjdEludGVycG9sYXRlZEZuKGUsdCxpLHMpe2NvbnN0IG89MT09PXI/ZVt0XTplW3RdKipyO2ZvcihsZXQgZT0wO2U8ZzsrK2UpaVtzK2VdPWFbZV0rbypuW2VdfX1zdGF0aWMgY29uc3RydWN0U3RpY2hlZCh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGRpY3Q6aX0pe2NvbnN0IGE9dG9OdW1iZXJBcnJheShpLmdldEFycmF5KCJEb21haW4iKSk7aWYoIWEpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJObyBkb21haW4iKTtpZigxIT09YS5sZW5ndGgvMil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkJhZCBkb21haW4gZm9yIHN0aWNoZWQgZnVuY3Rpb24iKTtjb25zdCBzPVtdO2Zvcihjb25zdCBhIG9mIGkuZ2V0KCJGdW5jdGlvbnMiKSlzLnB1c2godGhpcy5wYXJzZSh7eHJlZjplLGlzRXZhbFN1cHBvcnRlZDp0LGZuOmUuZmV0Y2hJZlJlZihhKX0pKTtjb25zdCByPXRvTnVtYmVyQXJyYXkoaS5nZXRBcnJheSgiQm91bmRzIikpLG49dG9OdW1iZXJBcnJheShpLmdldEFycmF5KCJFbmNvZGUiKSksZz1uZXcgRmxvYXQzMkFycmF5KDEpO3JldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3RTdGljaGVkRm4oZSx0LGksbyl7Y29uc3QgYz1mdW5jdGlvbiBjb25zdHJ1Y3RTdGljaGVkRnJvbUlSQ2xpcChlLHQsaSl7ZT5pP2U9aTplPHQmJihlPXQpO3JldHVybiBlfShlW3RdLGFbMF0sYVsxXSksQz1yLmxlbmd0aDtsZXQgaDtmb3IoaD0wO2g8QyYmIShjPHJbaF0pOysraCk7bGV0IGw9YVswXTtoPjAmJihsPXJbaC0xXSk7bGV0IFE9YVsxXTtoPHIubGVuZ3RoJiYoUT1yW2hdKTtjb25zdCBFPW5bMipoXSx1PW5bMipoKzFdO2dbMF09bD09PVE/RTpFKyhjLWwpKih1LUUpLyhRLWwpO3NbaF0oZywwLGksbyl9fXN0YXRpYyBjb25zdHJ1Y3RQb3N0U2NyaXB0KHt4cmVmOmUsaXNFdmFsU3VwcG9ydGVkOnQsZm46aSxkaWN0OmF9KXtjb25zdCBzPXRvTnVtYmVyQXJyYXkoYS5nZXRBcnJheSgiRG9tYWluIikpLHI9dG9OdW1iZXJBcnJheShhLmdldEFycmF5KCJSYW5nZSIpKTtpZighcyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk5vIGRvbWFpbi4iKTtpZighcil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk5vIHJhbmdlLiIpO2NvbnN0IG49bmV3IFBvc3RTY3JpcHRMZXhlcihpKSxnPW5ldyBQb3N0U2NyaXB0UGFyc2VyKG4pLnBhcnNlKCk7aWYodCYmRmVhdHVyZVRlc3QuaXNFdmFsU3VwcG9ydGVkKXtjb25zdCBlPShuZXcgUG9zdFNjcmlwdENvbXBpbGVyKS5jb21waWxlKGcscyxyKTtpZihlKXJldHVybiBuZXcgRnVuY3Rpb24oInNyYyIsInNyY09mZnNldCIsImRlc3QiLCJkZXN0T2Zmc2V0IixlKX1pbmZvKCJVbmFibGUgdG8gY29tcGlsZSBQUyBmdW5jdGlvbiIpO2NvbnN0IG89ci5sZW5ndGg+PjEsYz1zLmxlbmd0aD4+MSxDPW5ldyBQb3N0U2NyaXB0RXZhbHVhdG9yKGcpLGg9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgbD04MTkyO2NvbnN0IFE9bmV3IEZsb2F0MzJBcnJheShjKTtyZXR1cm4gZnVuY3Rpb24gY29uc3RydWN0UG9zdFNjcmlwdEZuKGUsdCxpLGEpe2xldCBzLG4sZz0iIjtjb25zdCBFPVE7Zm9yKHM9MDtzPGM7cysrKXtuPWVbdCtzXTtFW3NdPW47Zys9bisiXyJ9Y29uc3QgdT1oW2ddO2lmKHZvaWQgMCE9PXUpe2kuc2V0KHUsYSk7cmV0dXJufWNvbnN0IGQ9bmV3IEZsb2F0MzJBcnJheShvKSxmPUMuZXhlY3V0ZShFKSxwPWYubGVuZ3RoLW87Zm9yKHM9MDtzPG87cysrKXtuPWZbcCtzXTtsZXQgZT1yWzIqc107aWYobjxlKW49ZTtlbHNle2U9clsyKnMrMV07bj5lJiYobj1lKX1kW3NdPW59aWYobD4wKXtsLS07aFtnXT1kfWkuc2V0KGQsYSl9fX1mdW5jdGlvbiBpc1BERkZ1bmN0aW9uKGUpe2xldCB0O2lmKGUgaW5zdGFuY2VvZiBEaWN0KXQ9ZTtlbHNle2lmKCEoZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pKXJldHVybiExO3Q9ZS5kaWN0fXJldHVybiB0LmhhcygiRnVuY3Rpb25UeXBlIil9Y2xhc3MgUG9zdFNjcmlwdFN0YWNre3N0YXRpYyBNQVhfU1RBQ0tfU0laRT0xMDA7Y29uc3RydWN0b3IoZSl7dGhpcy5zdGFjaz1lP0FycmF5LmZyb20oZSk6W119cHVzaChlKXtpZih0aGlzLnN0YWNrLmxlbmd0aD49UG9zdFNjcmlwdFN0YWNrLk1BWF9TVEFDS19TSVpFKXRocm93IG5ldyBFcnJvcigiUG9zdFNjcmlwdCBmdW5jdGlvbiBzdGFjayBvdmVyZmxvdy4iKTt0aGlzLnN0YWNrLnB1c2goZSl9cG9wKCl7aWYodGhpcy5zdGFjay5sZW5ndGg8PTApdGhyb3cgbmV3IEVycm9yKCJQb3N0U2NyaXB0IGZ1bmN0aW9uIHN0YWNrIHVuZGVyZmxvdy4iKTtyZXR1cm4gdGhpcy5zdGFjay5wb3AoKX1jb3B5KGUpe2lmKHRoaXMuc3RhY2subGVuZ3RoK2U+PVBvc3RTY3JpcHRTdGFjay5NQVhfU1RBQ0tfU0laRSl0aHJvdyBuZXcgRXJyb3IoIlBvc3RTY3JpcHQgZnVuY3Rpb24gc3RhY2sgb3ZlcmZsb3cuIik7Y29uc3QgdD10aGlzLnN0YWNrO2ZvcihsZXQgaT10Lmxlbmd0aC1lLGE9ZS0xO2E+PTA7YS0tLGkrKyl0LnB1c2godFtpXSl9aW5kZXgoZSl7dGhpcy5wdXNoKHRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtZS0xXSl9cm9sbChlLHQpe2NvbnN0IGk9dGhpcy5zdGFjayxhPWkubGVuZ3RoLWUscz1pLmxlbmd0aC0xLHI9YSsodC1NYXRoLmZsb29yKHQvZSkqZSk7Zm9yKGxldCBlPWEsdD1zO2U8dDtlKyssdC0tKXtjb25zdCBhPWlbZV07aVtlXT1pW3RdO2lbdF09YX1mb3IobGV0IGU9YSx0PXItMTtlPHQ7ZSsrLHQtLSl7Y29uc3QgYT1pW2VdO2lbZV09aVt0XTtpW3RdPWF9Zm9yKGxldCBlPXIsdD1zO2U8dDtlKyssdC0tKXtjb25zdCBhPWlbZV07aVtlXT1pW3RdO2lbdF09YX19fWNsYXNzIFBvc3RTY3JpcHRFdmFsdWF0b3J7Y29uc3RydWN0b3IoZSl7dGhpcy5vcGVyYXRvcnM9ZX1leGVjdXRlKGUpe2NvbnN0IHQ9bmV3IFBvc3RTY3JpcHRTdGFjayhlKTtsZXQgaT0wO2NvbnN0IGE9dGhpcy5vcGVyYXRvcnMscz1hLmxlbmd0aDtsZXQgcixuLGc7Zm9yKDtpPHM7KXtyPWFbaSsrXTtpZigibnVtYmVyIiE9dHlwZW9mIHIpc3dpdGNoKHIpe2Nhc2UianoiOmc9dC5wb3AoKTtuPXQucG9wKCk7bnx8KGk9Zyk7YnJlYWs7Y2FzZSJqIjpuPXQucG9wKCk7aT1uO2JyZWFrO2Nhc2UiYWJzIjpuPXQucG9wKCk7dC5wdXNoKE1hdGguYWJzKG4pKTticmVhaztjYXNlImFkZCI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobitnKTticmVhaztjYXNlImFuZCI6Zz10LnBvcCgpO249dC5wb3AoKTsiYm9vbGVhbiI9PXR5cGVvZiBuJiYiYm9vbGVhbiI9PXR5cGVvZiBnP3QucHVzaChuJiZnKTp0LnB1c2gobiZnKTticmVhaztjYXNlImF0YW4iOmc9dC5wb3AoKTtuPXQucG9wKCk7bj1NYXRoLmF0YW4yKG4sZykvTWF0aC5QSSoxODA7bjwwJiYobis9MzYwKTt0LnB1c2gobik7YnJlYWs7Y2FzZSJiaXRzaGlmdCI6Zz10LnBvcCgpO249dC5wb3AoKTtuPjA/dC5wdXNoKG48PGcpOnQucHVzaChuPj5nKTticmVhaztjYXNlImNlaWxpbmciOm49dC5wb3AoKTt0LnB1c2goTWF0aC5jZWlsKG4pKTticmVhaztjYXNlImNvcHkiOm49dC5wb3AoKTt0LmNvcHkobik7YnJlYWs7Y2FzZSJjb3MiOm49dC5wb3AoKTt0LnB1c2goTWF0aC5jb3MobiUzNjAvMTgwKk1hdGguUEkpKTticmVhaztjYXNlImN2aSI6bj0wfHQucG9wKCk7dC5wdXNoKG4pO2JyZWFrO2Nhc2UiY3ZyIjpicmVhaztjYXNlImRpdiI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobi9nKTticmVhaztjYXNlImR1cCI6dC5jb3B5KDEpO2JyZWFrO2Nhc2UiZXEiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG49PT1nKTticmVhaztjYXNlImV4Y2giOnQucm9sbCgyLDEpO2JyZWFrO2Nhc2UiZXhwIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuKipnKTticmVhaztjYXNlImZhbHNlIjp0LnB1c2goITEpO2JyZWFrO2Nhc2UiZmxvb3IiOm49dC5wb3AoKTt0LnB1c2goTWF0aC5mbG9vcihuKSk7YnJlYWs7Y2FzZSJnZSI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobj49Zyk7YnJlYWs7Y2FzZSJndCI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnB1c2gobj5nKTticmVhaztjYXNlImlkaXYiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4vZ3wwKTticmVhaztjYXNlImluZGV4IjpuPXQucG9wKCk7dC5pbmRleChuKTticmVhaztjYXNlImxlIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuPD1nKTticmVhaztjYXNlImxuIjpuPXQucG9wKCk7dC5wdXNoKE1hdGgubG9nKG4pKTticmVhaztjYXNlImxvZyI6bj10LnBvcCgpO3QucHVzaChNYXRoLmxvZzEwKG4pKTticmVhaztjYXNlImx0IjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuPGcpO2JyZWFrO2Nhc2UibW9kIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuJWcpO2JyZWFrO2Nhc2UibXVsIjpnPXQucG9wKCk7bj10LnBvcCgpO3QucHVzaChuKmcpO2JyZWFrO2Nhc2UibmUiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4hPT1nKTticmVhaztjYXNlIm5lZyI6bj10LnBvcCgpO3QucHVzaCgtbik7YnJlYWs7Y2FzZSJub3QiOm49dC5wb3AoKTsiYm9vbGVhbiI9PXR5cGVvZiBuP3QucHVzaCghbik6dC5wdXNoKH5uKTticmVhaztjYXNlIm9yIjpnPXQucG9wKCk7bj10LnBvcCgpOyJib29sZWFuIj09dHlwZW9mIG4mJiJib29sZWFuIj09dHlwZW9mIGc/dC5wdXNoKG58fGcpOnQucHVzaChufGcpO2JyZWFrO2Nhc2UicG9wIjp0LnBvcCgpO2JyZWFrO2Nhc2Uicm9sbCI6Zz10LnBvcCgpO249dC5wb3AoKTt0LnJvbGwobixnKTticmVhaztjYXNlInJvdW5kIjpuPXQucG9wKCk7dC5wdXNoKE1hdGgucm91bmQobikpO2JyZWFrO2Nhc2Uic2luIjpuPXQucG9wKCk7dC5wdXNoKE1hdGguc2luKG4lMzYwLzE4MCpNYXRoLlBJKSk7YnJlYWs7Y2FzZSJzcXJ0IjpuPXQucG9wKCk7dC5wdXNoKE1hdGguc3FydChuKSk7YnJlYWs7Y2FzZSJzdWIiOmc9dC5wb3AoKTtuPXQucG9wKCk7dC5wdXNoKG4tZyk7YnJlYWs7Y2FzZSJ0cnVlIjp0LnB1c2goITApO2JyZWFrO2Nhc2UidHJ1bmNhdGUiOm49dC5wb3AoKTtuPW48MD9NYXRoLmNlaWwobik6TWF0aC5mbG9vcihuKTt0LnB1c2gobik7YnJlYWs7Y2FzZSJ4b3IiOmc9dC5wb3AoKTtuPXQucG9wKCk7ImJvb2xlYW4iPT10eXBlb2YgbiYmImJvb2xlYW4iPT10eXBlb2YgZz90LnB1c2gobiE9PWcpOnQucHVzaChuXmcpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEZvcm1hdEVycm9yKGBVbmtub3duIG9wZXJhdG9yICR7cn1gKX1lbHNlIHQucHVzaChyKX1yZXR1cm4gdC5zdGFja319Y2xhc3MgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlKXt0aGlzLnR5cGU9ZX12aXNpdChlKXt1bnJlYWNoYWJsZSgiYWJzdHJhY3QgbWV0aG9kIil9fWNsYXNzIEFzdEFyZ3VtZW50IGV4dGVuZHMgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoImFyZ3MiKTt0aGlzLmluZGV4PWU7dGhpcy5taW49dDt0aGlzLm1heD1pfXZpc2l0KGUpe2UudmlzaXRBcmd1bWVudCh0aGlzKX19Y2xhc3MgQXN0TGl0ZXJhbCBleHRlbmRzIEFzdE5vZGV7Y29uc3RydWN0b3IoZSl7c3VwZXIoImxpdGVyYWwiKTt0aGlzLm51bWJlcj1lO3RoaXMubWluPWU7dGhpcy5tYXg9ZX12aXNpdChlKXtlLnZpc2l0TGl0ZXJhbCh0aGlzKX19Y2xhc3MgQXN0QmluYXJ5T3BlcmF0aW9uIGV4dGVuZHMgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlLHQsaSxhLHMpe3N1cGVyKCJiaW5hcnkiKTt0aGlzLm9wPWU7dGhpcy5hcmcxPXQ7dGhpcy5hcmcyPWk7dGhpcy5taW49YTt0aGlzLm1heD1zfXZpc2l0KGUpe2UudmlzaXRCaW5hcnlPcGVyYXRpb24odGhpcyl9fWNsYXNzIEFzdE1pbiBleHRlbmRzIEFzdE5vZGV7Y29uc3RydWN0b3IoZSx0KXtzdXBlcigibWF4Iik7dGhpcy5hcmc9ZTt0aGlzLm1pbj1lLm1pbjt0aGlzLm1heD10fXZpc2l0KGUpe2UudmlzaXRNaW4odGhpcyl9fWNsYXNzIEFzdFZhcmlhYmxlIGV4dGVuZHMgQXN0Tm9kZXtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoInZhciIpO3RoaXMuaW5kZXg9ZTt0aGlzLm1pbj10O3RoaXMubWF4PWl9dmlzaXQoZSl7ZS52aXNpdFZhcmlhYmxlKHRoaXMpfX1jbGFzcyBBc3RWYXJpYWJsZURlZmluaXRpb24gZXh0ZW5kcyBBc3ROb2Rle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoImRlZmluaXRpb24iKTt0aGlzLnZhcmlhYmxlPWU7dGhpcy5hcmc9dH12aXNpdChlKXtlLnZpc2l0VmFyaWFibGVEZWZpbml0aW9uKHRoaXMpfX1jbGFzcyBFeHByZXNzaW9uQnVpbGRlclZpc2l0b3J7Y29uc3RydWN0b3IoKXt0aGlzLnBhcnRzPVtdfXZpc2l0QXJndW1lbnQoZSl7dGhpcy5wYXJ0cy5wdXNoKCJNYXRoLm1heCgiLGUubWluLCIsIE1hdGgubWluKCIsZS5tYXgsIiwgc3JjW3NyY09mZnNldCArICIsZS5pbmRleCwiXSkpIil9dmlzaXRWYXJpYWJsZShlKXt0aGlzLnBhcnRzLnB1c2goInYiLGUuaW5kZXgpfXZpc2l0TGl0ZXJhbChlKXt0aGlzLnBhcnRzLnB1c2goZS5udW1iZXIpfXZpc2l0QmluYXJ5T3BlcmF0aW9uKGUpe3RoaXMucGFydHMucHVzaCgiKCIpO2UuYXJnMS52aXNpdCh0aGlzKTt0aGlzLnBhcnRzLnB1c2goIiAiLGUub3AsIiAiKTtlLmFyZzIudmlzaXQodGhpcyk7dGhpcy5wYXJ0cy5wdXNoKCIpIil9dmlzaXRWYXJpYWJsZURlZmluaXRpb24oZSl7dGhpcy5wYXJ0cy5wdXNoKCJ2YXIgIik7ZS52YXJpYWJsZS52aXNpdCh0aGlzKTt0aGlzLnBhcnRzLnB1c2goIiA9ICIpO2UuYXJnLnZpc2l0KHRoaXMpO3RoaXMucGFydHMucHVzaCgiOyIpfXZpc2l0TWluKGUpe3RoaXMucGFydHMucHVzaCgiTWF0aC5taW4oIik7ZS5hcmcudmlzaXQodGhpcyk7dGhpcy5wYXJ0cy5wdXNoKCIsICIsZS5tYXgsIikiKX10b1N0cmluZygpe3JldHVybiB0aGlzLnBhcnRzLmpvaW4oIiIpfX1mdW5jdGlvbiBidWlsZEFkZE9wZXJhdGlvbihlLHQpe3JldHVybiJsaXRlcmFsIj09PXQudHlwZSYmMD09PXQubnVtYmVyP2U6ImxpdGVyYWwiPT09ZS50eXBlJiYwPT09ZS5udW1iZXI/dDoibGl0ZXJhbCI9PT10LnR5cGUmJiJsaXRlcmFsIj09PWUudHlwZT9uZXcgQXN0TGl0ZXJhbChlLm51bWJlcit0Lm51bWJlcik6bmV3IEFzdEJpbmFyeU9wZXJhdGlvbigiKyIsZSx0LGUubWluK3QubWluLGUubWF4K3QubWF4KX1mdW5jdGlvbiBidWlsZE11bE9wZXJhdGlvbihlLHQpe2lmKCJsaXRlcmFsIj09PXQudHlwZSl7aWYoMD09PXQubnVtYmVyKXJldHVybiBuZXcgQXN0TGl0ZXJhbCgwKTtpZigxPT09dC5udW1iZXIpcmV0dXJuIGU7aWYoImxpdGVyYWwiPT09ZS50eXBlKXJldHVybiBuZXcgQXN0TGl0ZXJhbChlLm51bWJlcip0Lm51bWJlcil9aWYoImxpdGVyYWwiPT09ZS50eXBlKXtpZigwPT09ZS5udW1iZXIpcmV0dXJuIG5ldyBBc3RMaXRlcmFsKDApO2lmKDE9PT1lLm51bWJlcilyZXR1cm4gdH1jb25zdCBpPU1hdGgubWluKGUubWluKnQubWluLGUubWluKnQubWF4LGUubWF4KnQubWluLGUubWF4KnQubWF4KSxhPU1hdGgubWF4KGUubWluKnQubWluLGUubWluKnQubWF4LGUubWF4KnQubWluLGUubWF4KnQubWF4KTtyZXR1cm4gbmV3IEFzdEJpbmFyeU9wZXJhdGlvbigiKiIsZSx0LGksYSl9ZnVuY3Rpb24gYnVpbGRTdWJPcGVyYXRpb24oZSx0KXtpZigibGl0ZXJhbCI9PT10LnR5cGUpe2lmKDA9PT10Lm51bWJlcilyZXR1cm4gZTtpZigibGl0ZXJhbCI9PT1lLnR5cGUpcmV0dXJuIG5ldyBBc3RMaXRlcmFsKGUubnVtYmVyLXQubnVtYmVyKX1yZXR1cm4iYmluYXJ5Ij09PXQudHlwZSYmIi0iPT09dC5vcCYmImxpdGVyYWwiPT09ZS50eXBlJiYxPT09ZS5udW1iZXImJiJsaXRlcmFsIj09PXQuYXJnMS50eXBlJiYxPT09dC5hcmcxLm51bWJlcj90LmFyZzI6bmV3IEFzdEJpbmFyeU9wZXJhdGlvbigiLSIsZSx0LGUubWluLXQubWF4LGUubWF4LXQubWluKX1mdW5jdGlvbiBidWlsZE1pbk9wZXJhdGlvbihlLHQpe3JldHVybiBlLm1pbj49dD9uZXcgQXN0TGl0ZXJhbCh0KTplLm1heDw9dD9lOm5ldyBBc3RNaW4oZSx0KX1jbGFzcyBQb3N0U2NyaXB0Q29tcGlsZXJ7Y29tcGlsZShlLHQsaSl7Y29uc3QgYT1bXSxzPVtdLHI9dC5sZW5ndGg+PjEsbj1pLmxlbmd0aD4+MTtsZXQgZyxvLGMsQyxoLGwsUSxFLHU9MDtmb3IobGV0IGU9MDtlPHI7ZSsrKWEucHVzaChuZXcgQXN0QXJndW1lbnQoZSx0WzIqZV0sdFsyKmUrMV0pKTtmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kyspe0U9ZVt0XTtpZigibnVtYmVyIiE9dHlwZW9mIEUpc3dpdGNoKEUpe2Nhc2UiYWRkIjppZihhLmxlbmd0aDwyKXJldHVybiBudWxsO0M9YS5wb3AoKTtjPWEucG9wKCk7YS5wdXNoKGJ1aWxkQWRkT3BlcmF0aW9uKGMsQykpO2JyZWFrO2Nhc2UiY3ZyIjppZihhLmxlbmd0aDwxKXJldHVybiBudWxsO2JyZWFrO2Nhc2UibXVsIjppZihhLmxlbmd0aDwyKXJldHVybiBudWxsO0M9YS5wb3AoKTtjPWEucG9wKCk7YS5wdXNoKGJ1aWxkTXVsT3BlcmF0aW9uKGMsQykpO2JyZWFrO2Nhc2Uic3ViIjppZihhLmxlbmd0aDwyKXJldHVybiBudWxsO0M9YS5wb3AoKTtjPWEucG9wKCk7YS5wdXNoKGJ1aWxkU3ViT3BlcmF0aW9uKGMsQykpO2JyZWFrO2Nhc2UiZXhjaCI6aWYoYS5sZW5ndGg8MilyZXR1cm4gbnVsbDtoPWEucG9wKCk7bD1hLnBvcCgpO2EucHVzaChoLGwpO2JyZWFrO2Nhc2UicG9wIjppZihhLmxlbmd0aDwxKXJldHVybiBudWxsO2EucG9wKCk7YnJlYWs7Y2FzZSJpbmRleCI6aWYoYS5sZW5ndGg8MSlyZXR1cm4gbnVsbDtjPWEucG9wKCk7aWYoImxpdGVyYWwiIT09Yy50eXBlKXJldHVybiBudWxsO2c9Yy5udW1iZXI7aWYoZzwwfHwhTnVtYmVyLmlzSW50ZWdlcihnKXx8YS5sZW5ndGg8ZylyZXR1cm4gbnVsbDtoPWFbYS5sZW5ndGgtZy0xXTtpZigibGl0ZXJhbCI9PT1oLnR5cGV8fCJ2YXIiPT09aC50eXBlKXthLnB1c2goaCk7YnJlYWt9UT1uZXcgQXN0VmFyaWFibGUodSsrLGgubWluLGgubWF4KTthW2EubGVuZ3RoLWctMV09UTthLnB1c2goUSk7cy5wdXNoKG5ldyBBc3RWYXJpYWJsZURlZmluaXRpb24oUSxoKSk7YnJlYWs7Y2FzZSJkdXAiOmlmKGEubGVuZ3RoPDEpcmV0dXJuIG51bGw7aWYoIm51bWJlciI9PXR5cGVvZiBlW3QrMV0mJiJndCI9PT1lW3QrMl0mJmVbdCszXT09PXQrNyYmImp6Ij09PWVbdCs0XSYmInBvcCI9PT1lW3QrNV0mJmVbdCs2XT09PWVbdCsxXSl7Yz1hLnBvcCgpO2EucHVzaChidWlsZE1pbk9wZXJhdGlvbihjLGVbdCsxXSkpO3QrPTY7YnJlYWt9aD1hLmF0KC0xKTtpZigibGl0ZXJhbCI9PT1oLnR5cGV8fCJ2YXIiPT09aC50eXBlKXthLnB1c2goaCk7YnJlYWt9UT1uZXcgQXN0VmFyaWFibGUodSsrLGgubWluLGgubWF4KTthW2EubGVuZ3RoLTFdPVE7YS5wdXNoKFEpO3MucHVzaChuZXcgQXN0VmFyaWFibGVEZWZpbml0aW9uKFEsaCkpO2JyZWFrO2Nhc2Uicm9sbCI6aWYoYS5sZW5ndGg8MilyZXR1cm4gbnVsbDtDPWEucG9wKCk7Yz1hLnBvcCgpO2lmKCJsaXRlcmFsIiE9PUMudHlwZXx8ImxpdGVyYWwiIT09Yy50eXBlKXJldHVybiBudWxsO289Qy5udW1iZXI7Zz1jLm51bWJlcjtpZihnPD0wfHwhTnVtYmVyLmlzSW50ZWdlcihnKXx8IU51bWJlci5pc0ludGVnZXIobyl8fGEubGVuZ3RoPGcpcmV0dXJuIG51bGw7bz0obyVnK2cpJWc7aWYoMD09PW8pYnJlYWs7YS5wdXNoKC4uLmEuc3BsaWNlKGEubGVuZ3RoLWcsZy1vKSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gbnVsbH1lbHNlIGEucHVzaChuZXcgQXN0TGl0ZXJhbChFKSl9aWYoYS5sZW5ndGghPT1uKXJldHVybiBudWxsO2NvbnN0IGQ9W107Zm9yKGNvbnN0IGUgb2Ygcyl7Y29uc3QgdD1uZXcgRXhwcmVzc2lvbkJ1aWxkZXJWaXNpdG9yO2UudmlzaXQodCk7ZC5wdXNoKHQudG9TdHJpbmcoKSl9Zm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PWFbZV0scz1uZXcgRXhwcmVzc2lvbkJ1aWxkZXJWaXNpdG9yO3QudmlzaXQocyk7Y29uc3Qgcj1pWzIqZV0sbj1pWzIqZSsxXSxnPVtzLnRvU3RyaW5nKCldO2lmKHI+dC5taW4pe2cudW5zaGlmdCgiTWF0aC5tYXgoIixyLCIsICIpO2cucHVzaCgiKSIpfWlmKG48dC5tYXgpe2cudW5zaGlmdCgiTWF0aC5taW4oIixuLCIsICIpO2cucHVzaCgiKSIpfWcudW5zaGlmdCgiZGVzdFtkZXN0T2Zmc2V0ICsgIixlLCJdID0gIik7Zy5wdXNoKCI7Iik7ZC5wdXNoKGcuam9pbigiIikpfXJldHVybiBkLmpvaW4oIlxuIil9fWNvbnN0IFFzPVsiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiUyIsIkIiLCJTIiwiV1MiLCJCIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkIiLCJCIiwiQiIsIlMiLCJXUyIsIk9OIiwiT04iLCJFVCIsIkVUIiwiRVQiLCJPTiIsIk9OIiwiT04iLCJPTiIsIk9OIiwiRVMiLCJDUyIsIkVTIiwiQ1MiLCJDUyIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiQ1MiLCJPTiIsIk9OIiwiT04iLCJPTiIsIk9OIiwiT04iLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIk9OIiwiT04iLCJPTiIsIk9OIiwiT04iLCJPTiIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiT04iLCJPTiIsIk9OIiwiT04iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkJOIiwiQk4iLCJCTiIsIkNTIiwiT04iLCJFVCIsIkVUIiwiRVQiLCJFVCIsIk9OIiwiT04iLCJPTiIsIk9OIiwiTCIsIk9OIiwiT04iLCJCTiIsIk9OIiwiT04iLCJFVCIsIkVUIiwiRU4iLCJFTiIsIk9OIiwiTCIsIk9OIiwiT04iLCJPTiIsIkVOIiwiTCIsIk9OIiwiT04iLCJPTiIsIk9OIiwiT04iLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIk9OIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIk9OIiwiTCIsIkwiLCJMIiwiTCIsIkwiLCJMIiwiTCIsIkwiXSxFcz1bIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIk9OIiwiT04iLCJBTCIsIkVUIiwiRVQiLCJBTCIsIkNTIiwiQUwiLCJPTiIsIk9OIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiTlNNIiwiQUwiLCJBTCIsIiIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiQU4iLCJBTiIsIkFOIiwiRVQiLCJBTiIsIkFOIiwiQUwiLCJBTCIsIkFMIiwiTlNNIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiLCJBTCIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIk5TTSIsIkFOIiwiT04iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJBTCIsIkFMIiwiTlNNIiwiTlNNIiwiT04iLCJOU00iLCJOU00iLCJOU00iLCJOU00iLCJBTCIsIkFMIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJFTiIsIkVOIiwiRU4iLCJBTCIsIkFMIiwiQUwiLCJBTCIsIkFMIiwiQUwiXTtmdW5jdGlvbiBpc09kZChlKXtyZXR1cm4gMCE9KDEmZSl9ZnVuY3Rpb24gaXNFdmVuKGUpe3JldHVybiAwPT0oMSZlKX1mdW5jdGlvbiBmaW5kVW5lcXVhbChlLHQsaSl7bGV0IGEscztmb3IoYT10LHM9ZS5sZW5ndGg7YTxzOysrYSlpZihlW2FdIT09aSlyZXR1cm4gYTtyZXR1cm4gYX1mdW5jdGlvbiBzZXRWYWx1ZXMoZSx0LGksYSl7Zm9yKGxldCBzPXQ7czxpOysrcyllW3NdPWF9ZnVuY3Rpb24gcmV2ZXJzZVZhbHVlcyhlLHQsaSl7Zm9yKGxldCBhPXQscz1pLTE7YTxzOysrYSwtLXMpe2NvbnN0IHQ9ZVthXTtlW2FdPWVbc107ZVtzXT10fX1mdW5jdGlvbiBjcmVhdGVCaWRpVGV4dChlLHQsaT0hMSl7bGV0IGE9Imx0ciI7aT9hPSJ0dGIiOnR8fChhPSJydGwiKTtyZXR1cm57c3RyOmUsZGlyOmF9fWNvbnN0IHVzPVtdLGRzPVtdO2Z1bmN0aW9uIGJpZGkoZSx0PS0xLGk9ITEpe2xldCBhPSEwO2NvbnN0IHM9ZS5sZW5ndGg7aWYoMD09PXN8fGkpcmV0dXJuIGNyZWF0ZUJpZGlUZXh0KGUsYSxpKTt1cy5sZW5ndGg9cztkcy5sZW5ndGg9cztsZXQgcixuLGc9MDtmb3Iocj0wO3I8czsrK3Ipe3VzW3JdPWUuY2hhckF0KHIpO2NvbnN0IHQ9ZS5jaGFyQ29kZUF0KHIpO2xldCBpPSJMIjtpZih0PD0yNTUpaT1Rc1t0XTtlbHNlIGlmKDE0MjQ8PXQmJnQ8PTE1MjQpaT0iUiI7ZWxzZSBpZigxNTM2PD10JiZ0PD0xNzkxKXtpPUVzWzI1NSZ0XTtpfHx3YXJuKCJCaWRpOiBpbnZhbGlkIFVuaWNvZGUgY2hhcmFjdGVyICIrdC50b1N0cmluZygxNikpfWVsc2UoMTc5Mjw9dCYmdDw9MjIyMHx8NjQzMzY8PXQmJnQ8PTY1MDIzfHw2NTEzNjw9dCYmdDw9NjUyNzkpJiYoaT0iQUwiKTsiUiIhPT1pJiYiQUwiIT09aSYmIkFOIiE9PWl8fGcrKztkc1tyXT1pfWlmKDA9PT1nKXthPSEwO3JldHVybiBjcmVhdGVCaWRpVGV4dChlLGEpfWlmKC0xPT09dClpZihnL3M8LjMmJnM+NCl7YT0hMDt0PTB9ZWxzZXthPSExO3Q9MX1jb25zdCBvPVtdO2ZvcihyPTA7cjxzOysrcilvW3JdPXQ7Y29uc3QgYz1pc09kZCh0KT8iUiI6IkwiLEM9YyxoPUM7bGV0IGwsUT1DO2ZvcihyPTA7cjxzOysrcikiTlNNIj09PWRzW3JdP2RzW3JdPVE6UT1kc1tyXTtRPUM7Zm9yKHI9MDtyPHM7KytyKXtsPWRzW3JdOyJFTiI9PT1sP2RzW3JdPSJBTCI9PT1RPyJBTiI6IkVOIjoiUiIhPT1sJiYiTCIhPT1sJiYiQUwiIT09bHx8KFE9bCl9Zm9yKHI9MDtyPHM7KytyKXtsPWRzW3JdOyJBTCI9PT1sJiYoZHNbcl09IlIiKX1mb3Iocj0xO3I8cy0xOysrcil7IkVTIj09PWRzW3JdJiYiRU4iPT09ZHNbci0xXSYmIkVOIj09PWRzW3IrMV0mJihkc1tyXT0iRU4iKTsiQ1MiIT09ZHNbcl18fCJFTiIhPT1kc1tyLTFdJiYiQU4iIT09ZHNbci0xXXx8ZHNbcisxXSE9PWRzW3ItMV18fChkc1tyXT1kc1tyLTFdKX1mb3Iocj0wO3I8czsrK3IpaWYoIkVOIj09PWRzW3JdKXtmb3IobGV0IGU9ci0xO2U+PTAmJiJFVCI9PT1kc1tlXTstLWUpZHNbZV09IkVOIjtmb3IobGV0IGU9cisxO2U8cyYmIkVUIj09PWRzW2VdOysrZSlkc1tlXT0iRU4ifWZvcihyPTA7cjxzOysrcil7bD1kc1tyXTsiV1MiIT09bCYmIkVTIiE9PWwmJiJFVCIhPT1sJiYiQ1MiIT09bHx8KGRzW3JdPSJPTiIpfVE9Qztmb3Iocj0wO3I8czsrK3Ipe2w9ZHNbcl07IkVOIj09PWw/ZHNbcl09IkwiPT09UT8iTCI6IkVOIjoiUiIhPT1sJiYiTCIhPT1sfHwoUT1sKX1mb3Iocj0wO3I8czsrK3IpaWYoIk9OIj09PWRzW3JdKXtjb25zdCBlPWZpbmRVbmVxdWFsKGRzLHIrMSwiT04iKTtsZXQgdD1DO3I+MCYmKHQ9ZHNbci0xXSk7bGV0IGk9aDtlKzE8cyYmKGk9ZHNbZSsxXSk7IkwiIT09dCYmKHQ9IlIiKTsiTCIhPT1pJiYoaT0iUiIpO3Q9PT1pJiZzZXRWYWx1ZXMoZHMscixlLHQpO3I9ZS0xfWZvcihyPTA7cjxzOysrcikiT04iPT09ZHNbcl0mJihkc1tyXT1jKTtmb3Iocj0wO3I8czsrK3Ipe2w9ZHNbcl07aXNFdmVuKG9bcl0pPyJSIj09PWw/b1tyXSs9MToiQU4iIT09bCYmIkVOIiE9PWx8fChvW3JdKz0yKToiTCIhPT1sJiYiQU4iIT09bCYmIkVOIiE9PWx8fChvW3JdKz0xKX1sZXQgRSx1PS0xLGQ9OTk7Zm9yKHI9MCxuPW8ubGVuZ3RoO3I8bjsrK3Ipe0U9b1tyXTt1PEUmJih1PUUpO2Q+RSYmaXNPZGQoRSkmJihkPUUpfWZvcihFPXU7RT49ZDstLUUpe2xldCBlPS0xO2ZvcihyPTAsbj1vLmxlbmd0aDtyPG47KytyKWlmKG9bcl08RSl7aWYoZT49MCl7cmV2ZXJzZVZhbHVlcyh1cyxlLHIpO2U9LTF9fWVsc2UgZTwwJiYoZT1yKTtlPj0wJiZyZXZlcnNlVmFsdWVzKHVzLGUsby5sZW5ndGgpfWZvcihyPTAsbj11cy5sZW5ndGg7cjxuOysrcil7Y29uc3QgZT11c1tyXTsiPCIhPT1lJiYiPiIhPT1lfHwodXNbcl09IiIpfXJldHVybiBjcmVhdGVCaWRpVGV4dCh1cy5qb2luKCIiKSxhKX1jb25zdCBmcz17c3R5bGU6Im5vcm1hbCIsd2VpZ2h0OiJub3JtYWwifSxwcz17c3R5bGU6Im5vcm1hbCIsd2VpZ2h0OiJib2xkIn0sbXM9e3N0eWxlOiJpdGFsaWMiLHdlaWdodDoibm9ybWFsIn0seXM9e3N0eWxlOiJpdGFsaWMiLHdlaWdodDoiYm9sZCJ9LHdzPW5ldyBNYXAoW1siVGltZXMtUm9tYW4iLHtsb2NhbDpbIlRpbWVzIE5ldyBSb21hbiIsIlRpbWVzLVJvbWFuIiwiVGltZXMiLCJMaWJlcmF0aW9uIFNlcmlmIiwiTmltYnVzIFJvbWFuIiwiTmltYnVzIFJvbWFuIEwiLCJUaW5vcyIsIlRob3JuZGFsZSIsIlRlWCBHeXJlIFRlcm1lcyIsIkZyZWVTZXJpZiIsIkxpbnV4IExpYmVydGluZSBPIiwiTGliZXJ0aW51cyBTZXJpZiIsIkRlamFWdSBTZXJpZiIsIkJpdHN0cmVhbSBWZXJhIFNlcmlmIiwiVWJ1bnR1Il0sc3R5bGU6ZnMsdWx0aW1hdGU6InNlcmlmIn1dLFsiVGltZXMtQm9sZCIse2FsaWFzOiJUaW1lcy1Sb21hbiIsc3R5bGU6cHMsdWx0aW1hdGU6InNlcmlmIn1dLFsiVGltZXMtSXRhbGljIix7YWxpYXM6IlRpbWVzLVJvbWFuIixzdHlsZTptcyx1bHRpbWF0ZToic2VyaWYifV0sWyJUaW1lcy1Cb2xkSXRhbGljIix7YWxpYXM6IlRpbWVzLVJvbWFuIixzdHlsZTp5cyx1bHRpbWF0ZToic2VyaWYifV0sWyJIZWx2ZXRpY2EiLHtsb2NhbDpbIkhlbHZldGljYSIsIkhlbHZldGljYSBOZXVlIiwiQXJpYWwiLCJBcmlhbCBOb3ZhIiwiTGliZXJhdGlvbiBTYW5zIiwiQXJpbW8iLCJOaW1idXMgU2FucyIsIk5pbWJ1cyBTYW5zIEwiLCJBMDMwIiwiVGVYIEd5cmUgSGVyb3MiLCJGcmVlU2FucyIsIkRlamFWdSBTYW5zIiwiQWxiYW55IiwiQml0c3RyZWFtIFZlcmEgU2FucyIsIkFyaWFsIFVuaWNvZGUgTVMiLCJNaWNyb3NvZnQgU2FucyBTZXJpZiIsIkFwcGxlIFN5bWJvbHMiLCJDYW50YXJlbGwiXSxwYXRoOiJMaWJlcmF0aW9uU2Fucy1SZWd1bGFyLnR0ZiIsc3R5bGU6ZnMsdWx0aW1hdGU6InNhbnMtc2VyaWYifV0sWyJIZWx2ZXRpY2EtQm9sZCIse2FsaWFzOiJIZWx2ZXRpY2EiLHBhdGg6IkxpYmVyYXRpb25TYW5zLUJvbGQudHRmIixzdHlsZTpwcyx1bHRpbWF0ZToic2Fucy1zZXJpZiJ9XSxbIkhlbHZldGljYS1PYmxpcXVlIix7YWxpYXM6IkhlbHZldGljYSIscGF0aDoiTGliZXJhdGlvblNhbnMtSXRhbGljLnR0ZiIsc3R5bGU6bXMsdWx0aW1hdGU6InNhbnMtc2VyaWYifV0sWyJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUiLHthbGlhczoiSGVsdmV0aWNhIixwYXRoOiJMaWJlcmF0aW9uU2Fucy1Cb2xkSXRhbGljLnR0ZiIsc3R5bGU6eXMsdWx0aW1hdGU6InNhbnMtc2VyaWYifV0sWyJDb3VyaWVyIix7bG9jYWw6WyJDb3VyaWVyIiwiQ291cmllciBOZXciLCJMaWJlcmF0aW9uIE1vbm8iLCJOaW1idXMgTW9ubyIsIk5pbWJ1cyBNb25vIEwiLCJDb3VzaW5lIiwiQ3VtYmVybGFuZCIsIlRlWCBHeXJlIEN1cnNvciIsIkZyZWVNb25vIiwiTGludXggTGliZXJ0aW5lIE1vbm8gTyIsIkxpYmVydGludXMgTW9ubyJdLHN0eWxlOmZzLHVsdGltYXRlOiJtb25vc3BhY2UifV0sWyJDb3VyaWVyLUJvbGQiLHthbGlhczoiQ291cmllciIsc3R5bGU6cHMsdWx0aW1hdGU6Im1vbm9zcGFjZSJ9XSxbIkNvdXJpZXItT2JsaXF1ZSIse2FsaWFzOiJDb3VyaWVyIixzdHlsZTptcyx1bHRpbWF0ZToibW9ub3NwYWNlIn1dLFsiQ291cmllci1Cb2xkT2JsaXF1ZSIse2FsaWFzOiJDb3VyaWVyIixzdHlsZTp5cyx1bHRpbWF0ZToibW9ub3NwYWNlIn1dLFsiQXJpYWxCbGFjayIse2xvY2FsOlsiQXJpYWwgQmxhY2siXSxzdHlsZTp7c3R5bGU6Im5vcm1hbCIsd2VpZ2h0OiI5MDAifSxmYWxsYmFjazoiSGVsdmV0aWNhLUJvbGQifV0sWyJBcmlhbEJsYWNrLUJvbGQiLHthbGlhczoiQXJpYWxCbGFjayJ9XSxbIkFyaWFsQmxhY2stSXRhbGljIix7YWxpYXM6IkFyaWFsQmxhY2siLHN0eWxlOntzdHlsZToiaXRhbGljIix3ZWlnaHQ6IjkwMCJ9LGZhbGxiYWNrOiJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUifV0sWyJBcmlhbEJsYWNrLUJvbGRJdGFsaWMiLHthbGlhczoiQXJpYWxCbGFjay1JdGFsaWMifV0sWyJBcmlhbE5hcnJvdyIse2xvY2FsOlsiQXJpYWwgTmFycm93IiwiTGliZXJhdGlvbiBTYW5zIE5hcnJvdyIsIkhlbHZldGljYSBDb25kZW5zZWQiLCJOaW1idXMgU2FucyBOYXJyb3ciLCJUZVggR3lyZSBIZXJvcyBDbiJdLHN0eWxlOmZzLGZhbGxiYWNrOiJIZWx2ZXRpY2EifV0sWyJBcmlhbE5hcnJvdy1Cb2xkIix7YWxpYXM6IkFyaWFsTmFycm93IixzdHlsZTpwcyxmYWxsYmFjazoiSGVsdmV0aWNhLUJvbGQifV0sWyJBcmlhbE5hcnJvdy1JdGFsaWMiLHthbGlhczoiQXJpYWxOYXJyb3ciLHN0eWxlOm1zLGZhbGxiYWNrOiJIZWx2ZXRpY2EtT2JsaXF1ZSJ9XSxbIkFyaWFsTmFycm93LUJvbGRJdGFsaWMiLHthbGlhczoiQXJpYWxOYXJyb3ciLHN0eWxlOnlzLGZhbGxiYWNrOiJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUifV0sWyJDYWxpYnJpIix7bG9jYWw6WyJDYWxpYnJpIiwiQ2FybGl0byJdLHN0eWxlOmZzLGZhbGxiYWNrOiJIZWx2ZXRpY2EifV0sWyJDYWxpYnJpLUJvbGQiLHthbGlhczoiQ2FsaWJyaSIsc3R5bGU6cHMsZmFsbGJhY2s6IkhlbHZldGljYS1Cb2xkIn1dLFsiQ2FsaWJyaS1JdGFsaWMiLHthbGlhczoiQ2FsaWJyaSIsc3R5bGU6bXMsZmFsbGJhY2s6IkhlbHZldGljYS1PYmxpcXVlIn1dLFsiQ2FsaWJyaS1Cb2xkSXRhbGljIix7YWxpYXM6IkNhbGlicmkiLHN0eWxlOnlzLGZhbGxiYWNrOiJIZWx2ZXRpY2EtQm9sZE9ibGlxdWUifV0sWyJXaW5nZGluZ3MiLHtsb2NhbDpbIldpbmdkaW5ncyIsIlVSVyBEaW5nYmF0cyJdLHN0eWxlOmZzfV0sWyJXaW5nZGluZ3MtUmVndWxhciIse2FsaWFzOiJXaW5nZGluZ3MifV0sWyJXaW5nZGluZ3MtQm9sZCIse2FsaWFzOiJXaW5nZGluZ3MifV1dKSxEcz1uZXcgTWFwKFtbIkFyaWFsLUJsYWNrIiwiQXJpYWxCbGFjayJdXSk7ZnVuY3Rpb24gZ2V0RmFtaWx5TmFtZShlKXtjb25zdCB0PW5ldyBTZXQoWyJ0aGluIiwiZXh0cmFsaWdodCIsInVsdHJhbGlnaHQiLCJkZW1pbGlnaHQiLCJzZW1pbGlnaHQiLCJsaWdodCIsImJvb2siLCJyZWd1bGFyIiwibm9ybWFsIiwibWVkaXVtIiwiZGVtaWJvbGQiLCJzZW1pYm9sZCIsImJvbGQiLCJleHRyYWJvbGQiLCJ1bHRyYWJvbGQiLCJibGFjayIsImhlYXZ5IiwiZXh0cmFibGFjayIsInVsdHJhYmxhY2siLCJyb21hbiIsIml0YWxpYyIsIm9ibGlxdWUiLCJ1bHRyYWNvbmRlbnNlZCIsImV4dHJhY29uZGVuc2VkIiwiY29uZGVuc2VkIiwic2VtaWNvbmRlbnNlZCIsIm5vcm1hbCIsInNlbWlleHBhbmRlZCIsImV4cGFuZGVkIiwiZXh0cmFleHBhbmRlZCIsInVsdHJhZXhwYW5kZWQiLCJib2xkaXRhbGljIl0pO3JldHVybiBlLnNwbGl0KC9bLSAsK10rL2cpLmZpbHRlcigoZT0+IXQuaGFzKGUudG9Mb3dlckNhc2UoKSkpKS5qb2luKCIgIil9ZnVuY3Rpb24gZ2VuZXJhdGVGb250KHthbGlhczplLGxvY2FsOnQscGF0aDppLGZhbGxiYWNrOmEsc3R5bGU6cyx1bHRpbWF0ZTpyfSxuLGcsbz0hMCxjPSEwLEM9IiIpe2NvbnN0IGg9e3N0eWxlOm51bGwsdWx0aW1hdGU6bnVsbH07aWYodCl7Y29uc3QgZT1DP2AgJHtDfWA6IiI7Zm9yKGNvbnN0IGkgb2YgdCluLnB1c2goYGxvY2FsKCR7aX0ke2V9KWApfWlmKGUpe2NvbnN0IHQ9d3MuZ2V0KGUpLHI9Q3x8ZnVuY3Rpb24gZ2V0U3R5bGVUb0FwcGVuZChlKXtzd2l0Y2goZSl7Y2FzZSBwczpyZXR1cm4iQm9sZCI7Y2FzZSBtczpyZXR1cm4iSXRhbGljIjtjYXNlIHlzOnJldHVybiJCb2xkIEl0YWxpYyI7ZGVmYXVsdDppZigiYm9sZCI9PT1lPy53ZWlnaHQpcmV0dXJuIkJvbGQiO2lmKCJpdGFsaWMiPT09ZT8uc3R5bGUpcmV0dXJuIkl0YWxpYyJ9cmV0dXJuIiJ9KHMpO09iamVjdC5hc3NpZ24oaCxnZW5lcmF0ZUZvbnQodCxuLGcsbyYmIWEsYyYmIWkscikpfXMmJihoLnN0eWxlPXMpO3ImJihoLnVsdGltYXRlPXIpO2lmKG8mJmEpe2NvbnN0IGU9d3MuZ2V0KGEpLHt1bHRpbWF0ZTp0fT1nZW5lcmF0ZUZvbnQoZSxuLGcsbyxjJiYhaSxDKTtoLnVsdGltYXRlfHw9dH1jJiZpJiZnJiZuLnB1c2goYHVybCgke2d9JHtpfSlgKTtyZXR1cm4gaH1mdW5jdGlvbiBnZXRGb250U3Vic3RpdHV0aW9uKGUsdCxpLGEscyxyKXtpZihhLnN0YXJ0c1dpdGgoIkludmFsaWRQREZqc0ZvbnRfIikpcmV0dXJuIG51bGw7IlRydWVUeXBlIiE9PXImJiJUeXBlMSIhPT1yfHwhL15bQS1aXXs2fVwrLy50ZXN0KGEpfHwoYT1hLnNsaWNlKDcpKTtjb25zdCBuPWE9bm9ybWFsaXplRm9udE5hbWUoYSk7bGV0IGc9ZS5nZXQobik7aWYoZylyZXR1cm4gZztsZXQgbz13cy5nZXQoYSk7aWYoIW8pZm9yKGNvbnN0W2UsdF1vZiBEcylpZihhLnN0YXJ0c1dpdGgoZSkpe2E9YCR7dH0ke2Euc3Vic3RyaW5nKGUubGVuZ3RoKX1gO289d3MuZ2V0KGEpO2JyZWFrfWxldCBjPSExO2lmKCFvKXtvPXdzLmdldChzKTtjPSEwfWNvbnN0IEM9YCR7dC5nZXREb2NJZCgpfV9zJHt0LmNyZWF0ZUZvbnRJZCgpfWA7aWYoIW8pe2lmKCF2YWxpZGF0ZUZvbnROYW1lKGEpKXt3YXJuKGBDYW5ub3Qgc3Vic3RpdHV0ZSB0aGUgZm9udCBiZWNhdXNlIG9mIGl0cyBuYW1lOiAke2F9YCk7ZS5zZXQobixudWxsKTtyZXR1cm4gbnVsbH1jb25zdCB0PS9ib2xkL2dpLnRlc3QoYSksaT0vb2JsaXF1ZXxpdGFsaWMvZ2kudGVzdChhKSxzPXQmJmkmJnlzfHx0JiZwc3x8aSYmbXN8fGZzO2c9e2NzczpgIiR7Z2V0RmFtaWx5TmFtZShhKX0iLCR7Q31gLGd1ZXNzRmFsbGJhY2s6ITAsbG9hZGVkTmFtZTpDLGJhc2VGb250TmFtZTphLHNyYzpgbG9jYWwoJHthfSlgLHN0eWxlOnN9O2Uuc2V0KG4sZyk7cmV0dXJuIGd9Y29uc3QgaD1bXTtjJiZ2YWxpZGF0ZUZvbnROYW1lKGEpJiZoLnB1c2goYGxvY2FsKCR7YX0pYCk7Y29uc3R7c3R5bGU6bCx1bHRpbWF0ZTpRfT1nZW5lcmF0ZUZvbnQobyxoLGkpLEU9bnVsbD09PVEsdT1FPyIiOmAsJHtRfWA7Zz17Y3NzOmAiJHtnZXRGYW1pbHlOYW1lKGEpfSIsJHtDfSR7dX1gLGd1ZXNzRmFsbGJhY2s6RSxsb2FkZWROYW1lOkMsYmFzZUZvbnROYW1lOmEsc3JjOmguam9pbigiLCIpLHN0eWxlOmx9O2Uuc2V0KG4sZyk7cmV0dXJuIGd9Y2xhc3MgSW1hZ2VSZXNpemVye2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5faW1nRGF0YT1lO3RoaXMuX2lzTWFzaz10fXN0YXRpYyBuZWVkc1RvQmVSZXNpemVkKGUsdCl7aWYoZTw9dGhpcy5fZ29vZFNxdWFyZUxlbmd0aCYmdDw9dGhpcy5fZ29vZFNxdWFyZUxlbmd0aClyZXR1cm4hMTtjb25zdHtNQVhfRElNOml9PXRoaXM7aWYoZT5pfHx0PmkpcmV0dXJuITA7Y29uc3QgYT1lKnQ7aWYodGhpcy5faGFzTWF4QXJlYSlyZXR1cm4gYT50aGlzLk1BWF9BUkVBO2lmKGE8dGhpcy5fZ29vZFNxdWFyZUxlbmd0aCoqMilyZXR1cm4hMTtpZih0aGlzLl9hcmVHb29kRGltcyhlLHQpKXt0aGlzLl9nb29kU3F1YXJlTGVuZ3RoPU1hdGgubWF4KHRoaXMuX2dvb2RTcXVhcmVMZW5ndGgsTWF0aC5mbG9vcihNYXRoLnNxcnQoZSp0KSkpO3JldHVybiExfXRoaXMuX2dvb2RTcXVhcmVMZW5ndGg9dGhpcy5fZ3Vlc3NNYXgodGhpcy5fZ29vZFNxdWFyZUxlbmd0aCxpLDEyOCwwKTtyZXR1cm4gYT4odGhpcy5NQVhfQVJFQT10aGlzLl9nb29kU3F1YXJlTGVuZ3RoKioyKX1zdGF0aWMgZ2V0IE1BWF9ESU0oKXtyZXR1cm4gc2hhZG93KHRoaXMsIk1BWF9ESU0iLHRoaXMuX2d1ZXNzTWF4KDIwNDgsNjU1MzcsMCwxKSl9c3RhdGljIGdldCBNQVhfQVJFQSgpe3RoaXMuX2hhc01heEFyZWE9ITA7cmV0dXJuIHNoYWRvdyh0aGlzLCJNQVhfQVJFQSIsdGhpcy5fZ3Vlc3NNYXgoSW1hZ2VSZXNpemVyLl9nb29kU3F1YXJlTGVuZ3RoLHRoaXMuTUFYX0RJTSwxMjgsMCkqKjIpfXN0YXRpYyBzZXQgTUFYX0FSRUEoZSl7aWYoZT49MCl7dGhpcy5faGFzTWF4QXJlYT0hMDtzaGFkb3codGhpcywiTUFYX0FSRUEiLGUpfX1zdGF0aWMgc2V0TWF4QXJlYShlKXt0aGlzLl9oYXNNYXhBcmVhfHwodGhpcy5NQVhfQVJFQT1lPj4yKX1zdGF0aWMgX2FyZUdvb2REaW1zKGUsdCl7dHJ5e2NvbnN0IGk9bmV3IE9mZnNjcmVlbkNhbnZhcyhlLHQpLGE9aS5nZXRDb250ZXh0KCIyZCIpO2EuZmlsbFJlY3QoMCwwLDEsMSk7Y29uc3Qgcz1hLmdldEltYWdlRGF0YSgwLDAsMSwxKS5kYXRhWzNdO2kud2lkdGg9aS5oZWlnaHQ9MTtyZXR1cm4gMCE9PXN9Y2F0Y2h7cmV0dXJuITF9fXN0YXRpYyBfZ3Vlc3NNYXgoZSx0LGksYSl7Zm9yKDtlK2krMTx0Oyl7Y29uc3QgaT1NYXRoLmZsb29yKChlK3QpLzIpLHM9YXx8aTt0aGlzLl9hcmVHb29kRGltcyhpLHMpP2U9aTp0PWl9cmV0dXJuIGV9c3RhdGljIGFzeW5jIGNyZWF0ZUltYWdlKGUsdD0hMSl7cmV0dXJuIG5ldyBJbWFnZVJlc2l6ZXIoZSx0KS5fY3JlYXRlSW1hZ2UoKX1hc3luYyBfY3JlYXRlSW1hZ2UoKXtjb25zdCBlPXRoaXMuX2VuY29kZUJNUCgpLHQ9bmV3IEJsb2IoW2UuYnVmZmVyXSx7dHlwZToiaW1hZ2UvYm1wIn0pLGk9Y3JlYXRlSW1hZ2VCaXRtYXAodCkse01BWF9BUkVBOmEsTUFYX0RJTTpzfT1JbWFnZVJlc2l6ZXIse19pbWdEYXRhOnJ9PXRoaXMse3dpZHRoOm4saGVpZ2h0Omd9PXIsbz1NYXRoLm1heChuL3MsZy9zLE1hdGguc3FydChuKmcvYSkpLGM9TWF0aC5tYXgobywyKSxDPU1hdGgucm91bmQoMTAqKG8rMS4yNSkpLzEwL2MsaD1NYXRoLmZsb29yKE1hdGgubG9nMihDKSksbD1uZXcgQXJyYXkoaCsyKS5maWxsKDIpO2xbMF09YztsLnNwbGljZSgtMSwxLEMvKDE8PGgpKTtsZXQgUT1uLEU9Zyx1PWF3YWl0IGk7Zm9yKGNvbnN0IGUgb2YgbCl7Y29uc3QgdD1RLGk9RTtRPU1hdGguZmxvb3IoUS9lKS0xO0U9TWF0aC5mbG9vcihFL2UpLTE7Y29uc3QgYT1uZXcgT2Zmc2NyZWVuQ2FudmFzKFEsRSk7YS5nZXRDb250ZXh0KCIyZCIpLmRyYXdJbWFnZSh1LDAsMCx0LGksMCwwLFEsRSk7dT1hLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpfXIuZGF0YT1udWxsO3IuYml0bWFwPXU7ci53aWR0aD1RO3IuaGVpZ2h0PUU7cmV0dXJuIHJ9X2VuY29kZUJNUCgpe2NvbnN0e3dpZHRoOmUsaGVpZ2h0OnQsa2luZDppfT10aGlzLl9pbWdEYXRhO2xldCBhLHM9dGhpcy5faW1nRGF0YS5kYXRhLHI9bmV3IFVpbnQ4QXJyYXkoMCksbj1yLGc9MDtzd2l0Y2goaSl7Y2FzZSBiOnthPTE7cj1uZXcgVWludDhBcnJheSh0aGlzLl9pc01hc2s/WzI1NSwyNTUsMjU1LDI1NSwwLDAsMCwwXTpbMCwwLDAsMCwyNTUsMjU1LDI1NSwyNTVdKTtjb25zdCBpPWUrNz4+MyxuPWkrMyYtNDtpZihpIT09bil7Y29uc3QgZT1uZXcgVWludDhBcnJheShuKnQpO2xldCBhPTA7Zm9yKGxldCByPTAsZz10Kmk7cjxnO3IrPWksYSs9billLnNldChzLnN1YmFycmF5KHIscitpKSxhKTtzPWV9YnJlYWt9Y2FzZSBGOmE9MjQ7aWYoMyZlKXtjb25zdCBpPTMqZSxhPWkrMyYtNCxyPWEtaSxuPW5ldyBVaW50OEFycmF5KGEqdCk7bGV0IGc9MDtmb3IobGV0IGU9MCxhPXQqaTtlPGE7ZSs9aSl7Y29uc3QgdD1zLnN1YmFycmF5KGUsZStpKTtmb3IobGV0IGU9MDtlPGk7ZSs9Myl7bltnKytdPXRbZSsyXTtuW2crK109dFtlKzFdO25bZysrXT10W2VdfWcrPXJ9cz1ufWVsc2UgZm9yKGxldCBlPTAsdD1zLmxlbmd0aDtlPHQ7ZSs9Myl7Y29uc3QgdD1zW2VdO3NbZV09c1tlKzJdO3NbZSsyXT10fWJyZWFrO2Nhc2UgUzphPTMyO2c9MztuPW5ldyBVaW50OEFycmF5KDY4KTtjb25zdCBpPW5ldyBEYXRhVmlldyhuLmJ1ZmZlcik7aWYoRmVhdHVyZVRlc3QuaXNMaXR0bGVFbmRpYW4pe2kuc2V0VWludDMyKDAsMjU1LCEwKTtpLnNldFVpbnQzMig0LDY1MjgwLCEwKTtpLnNldFVpbnQzMig4LDE2NzExNjgwLCEwKTtpLnNldFVpbnQzMigxMiw0Mjc4MTkwMDgwLCEwKX1lbHNle2kuc2V0VWludDMyKDAsNDI3ODE5MDA4MCwhMCk7aS5zZXRVaW50MzIoNCwxNjcxMTY4MCwhMCk7aS5zZXRVaW50MzIoOCw2NTI4MCwhMCk7aS5zZXRVaW50MzIoMTIsMjU1LCEwKX1icmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiaW52YWxpZCBmb3JtYXQiKX1sZXQgbz0wO2NvbnN0IGM9NDArbi5sZW5ndGgsQz0xNCtjK3IubGVuZ3RoK3MubGVuZ3RoLGg9bmV3IFVpbnQ4QXJyYXkoQyksbD1uZXcgRGF0YVZpZXcoaC5idWZmZXIpO2wuc2V0VWludDE2KG8sMTk3NzgsITApO28rPTI7bC5zZXRVaW50MzIobyxDLCEwKTtvKz00O2wuc2V0VWludDMyKG8sMCwhMCk7bys9NDtsLnNldFVpbnQzMihvLDE0K2Mrci5sZW5ndGgsITApO28rPTQ7bC5zZXRVaW50MzIobyxjLCEwKTtvKz00O2wuc2V0SW50MzIobyxlLCEwKTtvKz00O2wuc2V0SW50MzIobywtdCwhMCk7bys9NDtsLnNldFVpbnQxNihvLDEsITApO28rPTI7bC5zZXRVaW50MTYobyxhLCEwKTtvKz0yO2wuc2V0VWludDMyKG8sZywhMCk7bys9NDtsLnNldFVpbnQzMihvLDAsITApO28rPTQ7bC5zZXRJbnQzMihvLDAsITApO28rPTQ7bC5zZXRJbnQzMihvLDAsITApO28rPTQ7bC5zZXRVaW50MzIobyxyLmxlbmd0aC80LCEwKTtvKz00O2wuc2V0VWludDMyKG8sMCwhMCk7bys9NDtoLnNldChuLG8pO28rPW4ubGVuZ3RoO2guc2V0KHIsbyk7bys9ci5sZW5ndGg7aC5zZXQocyxvKTtyZXR1cm4gaH19SW1hZ2VSZXNpemVyLl9nb29kU3F1YXJlTGVuZ3RoPTIwNDg7Y29uc3QgYnM9MzI4NTM3NzUyMCxGcz00Mjk0OTAxNzYwLFNzPTY1NTM1O2NsYXNzIE11cm11ckhhc2gzXzY0e2NvbnN0cnVjdG9yKGUpe3RoaXMuaDE9ZT80Mjk0OTY3Mjk1JmU6YnM7dGhpcy5oMj1lPzQyOTQ5NjcyOTUmZTpic311cGRhdGUoZSl7bGV0IHQsaTtpZigic3RyaW5nIj09dHlwZW9mIGUpe3Q9bmV3IFVpbnQ4QXJyYXkoMiplLmxlbmd0aCk7aT0wO2ZvcihsZXQgYT0wLHM9ZS5sZW5ndGg7YTxzO2ErKyl7Y29uc3Qgcz1lLmNoYXJDb2RlQXQoYSk7aWYoczw9MjU1KXRbaSsrXT1zO2Vsc2V7dFtpKytdPXM+Pj44O3RbaSsrXT0yNTUmc319fWVsc2V7aWYoIUFycmF5QnVmZmVyLmlzVmlldyhlKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgZGF0YSBmb3JtYXQsIG11c3QgYmUgYSBzdHJpbmcgb3IgVHlwZWRBcnJheS4iKTt0PWUuc2xpY2UoKTtpPXQuYnl0ZUxlbmd0aH1jb25zdCBhPWk+PjIscz1pLTQqYSxyPW5ldyBVaW50MzJBcnJheSh0LmJ1ZmZlciwwLGEpO2xldCBuPTAsZz0wLG89dGhpcy5oMSxjPXRoaXMuaDI7Y29uc3QgQz0zNDMyOTE4MzUzLGg9NDYxODQ1OTA3LGw9MTE2MDEsUT0xMzcxNTtmb3IobGV0IGU9MDtlPGE7ZSsrKWlmKDEmZSl7bj1yW2VdO249bipDJkZzfG4qbCZTcztuPW48PDE1fG4+Pj4xNztuPW4qaCZGc3xuKlEmU3M7b149bjtvPW88PDEzfG8+Pj4xOTtvPTUqbyszODY0MjkyMTk2fWVsc2V7Zz1yW2VdO2c9ZypDJkZzfGcqbCZTcztnPWc8PDE1fGc+Pj4xNztnPWcqaCZGc3xnKlEmU3M7Y149ZztjPWM8PDEzfGM+Pj4xOTtjPTUqYyszODY0MjkyMTk2fW49MDtzd2l0Y2gocyl7Y2FzZSAzOm5ePXRbNCphKzJdPDwxNjtjYXNlIDI6bl49dFs0KmErMV08PDg7Y2FzZSAxOm5ePXRbNCphXTtuPW4qQyZGc3xuKmwmU3M7bj1uPDwxNXxuPj4+MTc7bj1uKmgmRnN8bipRJlNzOzEmYT9vXj1uOmNePW59dGhpcy5oMT1vO3RoaXMuaDI9Y31oZXhkaWdlc3QoKXtsZXQgZT10aGlzLmgxLHQ9dGhpcy5oMjtlXj10Pj4+MTtlPTM5ODE4MDY3OTcqZSZGc3wzNjA0NSplJlNzO3Q9NDI4MzU0MzUxMSp0JkZzfCgyOTUwMTYzNzk3Kih0PDwxNnxlPj4+MTYpJkZzKT4+PjE2O2VePXQ+Pj4xO2U9NDQ0OTg0NDAzKmUmRnN8NjA0OTkqZSZTczt0PTMzMDE4ODIzNjYqdCZGc3woMzEyMDQzNzg5MyoodDw8MTZ8ZT4+PjE2KSZGcyk+Pj4xNjtlXj10Pj4+MTtyZXR1cm4oZT4+PjApLnRvU3RyaW5nKDE2KS5wYWRTdGFydCg4LCIwIikrKHQ+Pj4wKS50b1N0cmluZygxNikucGFkU3RhcnQoOCwiMCIpfX1mdW5jdGlvbiBhZGRTdGF0ZShlLHQsaSxhLHMpe2xldCByPWU7Zm9yKGxldCBlPTAsaT10Lmxlbmd0aC0xO2U8aTtlKyspe2NvbnN0IGk9dFtlXTtyPXJbaV18fD1bXX1yW3QuYXQoLTEpXT17Y2hlY2tGbjppLGl0ZXJhdGVGbjphLHByb2Nlc3NGbjpzfX1jb25zdCBrcz1bXTthZGRTdGF0ZShrcyxbeEEsTUEsX2UsVUFdLG51bGwsKGZ1bmN0aW9uIGl0ZXJhdGVJbmxpbmVJbWFnZUdyb3VwKGUsdCl7Y29uc3QgaT1lLmZuQXJyYXksYT0odC0oZS5pQ3Vyci0zKSklNDtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiBpW3RdPT09eEE7Y2FzZSAxOnJldHVybiBpW3RdPT09TUE7Y2FzZSAyOnJldHVybiBpW3RdPT09X2U7Y2FzZSAzOnJldHVybiBpW3RdPT09VUF9dGhyb3cgbmV3IEVycm9yKGBpdGVyYXRlSW5saW5lSW1hZ2VHcm91cCAtIGludmFsaWQgcG9zOiAke2F9YCl9KSwoZnVuY3Rpb24gZm91bmRJbmxpbmVJbWFnZUdyb3VwKGUsdCl7Y29uc3QgaT1lLmZuQXJyYXksYT1lLmFyZ3NBcnJheSxzPWUuaUN1cnIscj1zLTMsbj1zLTIsZz1zLTEsbz1NYXRoLm1pbihNYXRoLmZsb29yKCh0LXIpLzQpLDIwMCk7aWYobzwxMClyZXR1cm4gdC0odC1yKSU0O2xldCBjPTA7Y29uc3QgQz1bXTtsZXQgaD0wLGw9MSxRPTE7Zm9yKGxldCBlPTA7ZTxvO2UrKyl7Y29uc3QgdD1hW24rKGU8PDIpXSxpPWFbZysoZTw8MildWzBdO2lmKGwraS53aWR0aD4xZTMpe2M9TWF0aC5tYXgoYyxsKTtRKz1oKzI7bD0wO2g9MH1DLnB1c2goe3RyYW5zZm9ybTp0LHg6bCx5OlEsdzppLndpZHRoLGg6aS5oZWlnaHR9KTtsKz1pLndpZHRoKzI7aD1NYXRoLm1heChoLGkuaGVpZ2h0KX1jb25zdCBFPU1hdGgubWF4KGMsbCkrMSx1PVEraCsxLGQ9bmV3IFVpbnQ4QXJyYXkoRSp1KjQpLGY9RTw8Mjtmb3IobGV0IGU9MDtlPG87ZSsrKXtjb25zdCB0PWFbZysoZTw8MildWzBdLmRhdGEsaT1DW2VdLnc8PDI7bGV0IHM9MCxyPUNbZV0ueCtDW2VdLnkqRTw8MjtkLnNldCh0LnN1YmFycmF5KDAsaSksci1mKTtmb3IobGV0IGE9MCxuPUNbZV0uaDthPG47YSsrKXtkLnNldCh0LnN1YmFycmF5KHMscytpKSxyKTtzKz1pO3IrPWZ9ZC5zZXQodC5zdWJhcnJheShzLWkscykscik7Zm9yKDtyPj0wOyl7dFtyLTRdPXRbcl07dFtyLTNdPXRbcisxXTt0W3ItMl09dFtyKzJdO3Rbci0xXT10W3IrM107dFtyK2ldPXRbcitpLTRdO3RbcitpKzFdPXRbcitpLTNdO3RbcitpKzJdPXRbcitpLTJdO3RbcitpKzNdPXRbcitpLTFdO3ItPWZ9fWNvbnN0IHA9e3dpZHRoOkUsaGVpZ2h0OnV9O2lmKGUuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQpe2NvbnN0IGU9bmV3IE9mZnNjcmVlbkNhbnZhcyhFLHUpO2UuZ2V0Q29udGV4dCgiMmQiKS5wdXRJbWFnZURhdGEobmV3IEltYWdlRGF0YShuZXcgVWludDhDbGFtcGVkQXJyYXkoZC5idWZmZXIpLEUsdSksMCwwKTtwLmJpdG1hcD1lLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpO3AuZGF0YT1udWxsfWVsc2V7cC5raW5kPVM7cC5kYXRhPWR9aS5zcGxpY2Uociw0Km8sJGUpO2Euc3BsaWNlKHIsNCpvLFtwLENdKTtyZXR1cm4gcisxfSkpO2FkZFN0YXRlKGtzLFt4QSxNQSxaZSxVQV0sbnVsbCwoZnVuY3Rpb24gaXRlcmF0ZUltYWdlTWFza0dyb3VwKGUsdCl7Y29uc3QgaT1lLmZuQXJyYXksYT0odC0oZS5pQ3Vyci0zKSklNDtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiBpW3RdPT09eEE7Y2FzZSAxOnJldHVybiBpW3RdPT09TUE7Y2FzZSAyOnJldHVybiBpW3RdPT09WmU7Y2FzZSAzOnJldHVybiBpW3RdPT09VUF9dGhyb3cgbmV3IEVycm9yKGBpdGVyYXRlSW1hZ2VNYXNrR3JvdXAgLSBpbnZhbGlkIHBvczogJHthfWApfSksKGZ1bmN0aW9uIGZvdW5kSW1hZ2VNYXNrR3JvdXAoZSx0KXtjb25zdCBpPWUuZm5BcnJheSxhPWUuYXJnc0FycmF5LHM9ZS5pQ3VycixyPXMtMyxuPXMtMixnPXMtMTtsZXQgbz1NYXRoLmZsb29yKCh0LXIpLzQpO2lmKG88MTApcmV0dXJuIHQtKHQtciklNDtsZXQgYyxDLGg9ITE7Y29uc3QgbD1hW2ddWzBdLFE9YVtuXVswXSxFPWFbbl1bMV0sdT1hW25dWzJdLGQ9YVtuXVszXTtpZihFPT09dSl7aD0hMDtjPW4rNDtsZXQgZT1nKzQ7Zm9yKGxldCB0PTE7dDxvO3QrKyxjKz00LGUrPTQpe0M9YVtjXTtpZihhW2VdWzBdIT09bHx8Q1swXSE9PVF8fENbMV0hPT1FfHxDWzJdIT09dXx8Q1szXSE9PWQpe3Q8MTA/aD0hMTpvPXQ7YnJlYWt9fX1pZihoKXtvPU1hdGgubWluKG8sMWUzKTtjb25zdCBlPW5ldyBGbG9hdDMyQXJyYXkoMipvKTtjPW47Zm9yKGxldCB0PTA7dDxvO3QrKyxjKz00KXtDPWFbY107ZVt0PDwxXT1DWzRdO2VbMSsodDw8MSldPUNbNV19aS5zcGxpY2Uociw0Km8sZXQpO2Euc3BsaWNlKHIsNCpvLFtsLFEsRSx1LGQsZV0pfWVsc2V7bz1NYXRoLm1pbihvLDEwMCk7Y29uc3QgZT1bXTtmb3IobGV0IHQ9MDt0PG87dCsrKXtDPWFbbisodDw8MildO2NvbnN0IGk9YVtnKyh0PDwyKV1bMF07ZS5wdXNoKHtkYXRhOmkuZGF0YSx3aWR0aDppLndpZHRoLGhlaWdodDppLmhlaWdodCxpbnRlcnBvbGF0ZTppLmludGVycG9sYXRlLGNvdW50OmkuY291bnQsdHJhbnNmb3JtOkN9KX1pLnNwbGljZShyLDQqbyxWZSk7YS5zcGxpY2Uociw0Km8sW2VdKX1yZXR1cm4gcisxfSkpO2FkZFN0YXRlKGtzLFt4QSxNQSx6ZSxVQV0sKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5hcmdzQXJyYXksaT1lLmlDdXJyLTI7cmV0dXJuIDA9PT10W2ldWzFdJiYwPT09dFtpXVsyXX0pLChmdW5jdGlvbiBpdGVyYXRlSW1hZ2VHcm91cChlLHQpe2NvbnN0IGk9ZS5mbkFycmF5LGE9ZS5hcmdzQXJyYXkscz0odC0oZS5pQ3Vyci0zKSklNDtzd2l0Y2gocyl7Y2FzZSAwOnJldHVybiBpW3RdPT09eEE7Y2FzZSAxOmlmKGlbdF0hPT1NQSlyZXR1cm4hMTtjb25zdCBzPWUuaUN1cnItMixyPWFbc11bMF0sbj1hW3NdWzNdO3JldHVybiBhW3RdWzBdPT09ciYmMD09PWFbdF1bMV0mJjA9PT1hW3RdWzJdJiZhW3RdWzNdPT09bjtjYXNlIDI6aWYoaVt0XSE9PXplKXJldHVybiExO2NvbnN0IGc9YVtlLmlDdXJyLTFdWzBdO3JldHVybiBhW3RdWzBdPT09ZztjYXNlIDM6cmV0dXJuIGlbdF09PT1VQX10aHJvdyBuZXcgRXJyb3IoYGl0ZXJhdGVJbWFnZUdyb3VwIC0gaW52YWxpZCBwb3M6ICR7c31gKX0pLChmdW5jdGlvbihlLHQpe2NvbnN0IGk9ZS5mbkFycmF5LGE9ZS5hcmdzQXJyYXkscz1lLmlDdXJyLHI9cy0zLG49cy0yLGc9YVtzLTFdWzBdLG89YVtuXVswXSxjPWFbbl1bM10sQz1NYXRoLm1pbihNYXRoLmZsb29yKCh0LXIpLzQpLDFlMyk7aWYoQzwzKXJldHVybiB0LSh0LXIpJTQ7Y29uc3QgaD1uZXcgRmxvYXQzMkFycmF5KDIqQyk7bGV0IGw9bjtmb3IobGV0IGU9MDtlPEM7ZSsrLGwrPTQpe2NvbnN0IHQ9YVtsXTtoW2U8PDFdPXRbNF07aFsxKyhlPDwxKV09dFs1XX1jb25zdCBRPVtnLG8sYyxoXTtpLnNwbGljZShyLDQqQyxBdCk7YS5zcGxpY2Uociw0KkMsUSk7cmV0dXJuIHIrMX0pKTthZGRTdGF0ZShrcyxbQWUscmUsY2UsaGUsZWVdLG51bGwsKGZ1bmN0aW9uIGl0ZXJhdGVTaG93VGV4dEdyb3VwKGUsdCl7Y29uc3QgaT1lLmZuQXJyYXksYT1lLmFyZ3NBcnJheSxzPSh0LShlLmlDdXJyLTQpKSU1O3N3aXRjaChzKXtjYXNlIDA6cmV0dXJuIGlbdF09PT1BZTtjYXNlIDE6cmV0dXJuIGlbdF09PT1yZTtjYXNlIDI6cmV0dXJuIGlbdF09PT1jZTtjYXNlIDM6aWYoaVt0XSE9PWhlKXJldHVybiExO2NvbnN0IHM9ZS5pQ3Vyci0zLHI9YVtzXVswXSxuPWFbc11bMV07cmV0dXJuIGFbdF1bMF09PT1yJiZhW3RdWzFdPT09bjtjYXNlIDQ6cmV0dXJuIGlbdF09PT1lZX10aHJvdyBuZXcgRXJyb3IoYGl0ZXJhdGVTaG93VGV4dEdyb3VwIC0gaW52YWxpZCBwb3M6ICR7c31gKX0pLChmdW5jdGlvbihlLHQpe2NvbnN0IGk9ZS5mbkFycmF5LGE9ZS5hcmdzQXJyYXkscz1lLmlDdXJyLHI9cy00LG49cy0zLGc9cy0yLG89cy0xLGM9cyxDPWFbbl1bMF0saD1hW25dWzFdO2xldCBsPU1hdGgubWluKE1hdGguZmxvb3IoKHQtcikvNSksMWUzKTtpZihsPDMpcmV0dXJuIHQtKHQtciklNTtsZXQgUT1yO2lmKHI+PTQmJmlbci00XT09PWlbbl0mJmlbci0zXT09PWlbZ10mJmlbci0yXT09PWlbb10mJmlbci0xXT09PWlbY10mJmFbci00XVswXT09PUMmJmFbci00XVsxXT09PWgpe2wrKztRLT01fWxldCBFPVErNDtmb3IobGV0IGU9MTtlPGw7ZSsrKXtpLnNwbGljZShFLDMpO2Euc3BsaWNlKEUsMyk7RSs9Mn1yZXR1cm4gRSsxfSkpO2NsYXNzIE51bGxPcHRpbWl6ZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5xdWV1ZT1lfV9vcHRpbWl6ZSgpe31wdXNoKGUsdCl7dGhpcy5xdWV1ZS5mbkFycmF5LnB1c2goZSk7dGhpcy5xdWV1ZS5hcmdzQXJyYXkucHVzaCh0KTt0aGlzLl9vcHRpbWl6ZSgpfWZsdXNoKCl7fXJlc2V0KCl7fX1jbGFzcyBRdWV1ZU9wdGltaXplciBleHRlbmRzIE51bGxPcHRpbWl6ZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5zdGF0ZT1udWxsO3RoaXMuY29udGV4dD17aUN1cnI6MCxmbkFycmF5OmUuZm5BcnJheSxhcmdzQXJyYXk6ZS5hcmdzQXJyYXksaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ6ITF9O3RoaXMubWF0Y2g9bnVsbDt0aGlzLmxhc3RQcm9jZXNzZWQ9MH1zZXQgaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQoZSl7dGhpcy5jb250ZXh0LmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkPWV9X29wdGltaXplKCl7Y29uc3QgZT10aGlzLnF1ZXVlLmZuQXJyYXk7bGV0IHQ9dGhpcy5sYXN0UHJvY2Vzc2VkLGk9ZS5sZW5ndGgsYT10aGlzLnN0YXRlLHM9dGhpcy5tYXRjaDtpZighYSYmIXMmJnQrMT09PWkmJiFrc1tlW3RdXSl7dGhpcy5sYXN0UHJvY2Vzc2VkPWk7cmV0dXJufWNvbnN0IHI9dGhpcy5jb250ZXh0O2Zvcig7dDxpOyl7aWYocyl7aWYoKDAscy5pdGVyYXRlRm4pKHIsdCkpe3QrKztjb250aW51ZX10PSgwLHMucHJvY2Vzc0ZuKShyLHQrMSk7aT1lLmxlbmd0aDtzPW51bGw7YT1udWxsO2lmKHQ+PWkpYnJlYWt9YT0oYXx8a3MpW2VbdF1dO2lmKGEmJiFBcnJheS5pc0FycmF5KGEpKXtyLmlDdXJyPXQ7dCsrO2lmKCFhLmNoZWNrRm58fCgwLGEuY2hlY2tGbikocikpe3M9YTthPW51bGx9ZWxzZSBhPW51bGx9ZWxzZSB0Kyt9dGhpcy5zdGF0ZT1hO3RoaXMubWF0Y2g9czt0aGlzLmxhc3RQcm9jZXNzZWQ9dH1mbHVzaCgpe2Zvcig7dGhpcy5tYXRjaDspe2NvbnN0IGU9dGhpcy5xdWV1ZS5mbkFycmF5Lmxlbmd0aDt0aGlzLmxhc3RQcm9jZXNzZWQ9KDAsdGhpcy5tYXRjaC5wcm9jZXNzRm4pKHRoaXMuY29udGV4dCxlKTt0aGlzLm1hdGNoPW51bGw7dGhpcy5zdGF0ZT1udWxsO3RoaXMuX29wdGltaXplKCl9fXJlc2V0KCl7dGhpcy5zdGF0ZT1udWxsO3RoaXMubWF0Y2g9bnVsbDt0aGlzLmxhc3RQcm9jZXNzZWQ9MH19Y2xhc3MgT3BlcmF0b3JMaXN0e3N0YXRpYyBDSFVOS19TSVpFPTFlMztzdGF0aWMgQ0hVTktfU0laRV9BQk9VVD10aGlzLkNIVU5LX1NJWkUtNTtjb25zdHJ1Y3RvcihlPTAsdCl7dGhpcy5fc3RyZWFtU2luaz10O3RoaXMuZm5BcnJheT1bXTt0aGlzLmFyZ3NBcnJheT1bXTt0aGlzLm9wdGltaXplcj0hdHx8ZSZFP25ldyBOdWxsT3B0aW1pemVyKHRoaXMpOm5ldyBRdWV1ZU9wdGltaXplcih0aGlzKTt0aGlzLmRlcGVuZGVuY2llcz1uZXcgU2V0O3RoaXMuX3RvdGFsTGVuZ3RoPTA7dGhpcy53ZWlnaHQ9MDt0aGlzLl9yZXNvbHZlZD10P251bGw6UHJvbWlzZS5yZXNvbHZlKCl9c2V0IGlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkKGUpe3RoaXMub3B0aW1pemVyLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkPWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmFyZ3NBcnJheS5sZW5ndGh9Z2V0IHJlYWR5KCl7cmV0dXJuIHRoaXMuX3Jlc29sdmVkfHx0aGlzLl9zdHJlYW1TaW5rLnJlYWR5fWdldCB0b3RhbExlbmd0aCgpe3JldHVybiB0aGlzLl90b3RhbExlbmd0aCt0aGlzLmxlbmd0aH1hZGRPcChlLHQpe3RoaXMub3B0aW1pemVyLnB1c2goZSx0KTt0aGlzLndlaWdodCsrO3RoaXMuX3N0cmVhbVNpbmsmJih0aGlzLndlaWdodD49T3BlcmF0b3JMaXN0LkNIVU5LX1NJWkV8fHRoaXMud2VpZ2h0Pj1PcGVyYXRvckxpc3QuQ0hVTktfU0laRV9BQk9VVCYmKGU9PT1VQXx8ZT09PWVlKSkmJnRoaXMuZmx1c2goKX1hZGRJbWFnZU9wcyhlLHQsaSl7dm9pZCAwIT09aSYmdGhpcy5hZGRPcChZZSxbIk9DIixpXSk7dGhpcy5hZGRPcChlLHQpO3ZvaWQgMCE9PWkmJnRoaXMuYWRkT3AodmUsW10pfWFkZERlcGVuZGVuY3koZSl7aWYoIXRoaXMuZGVwZW5kZW5jaWVzLmhhcyhlKSl7dGhpcy5kZXBlbmRlbmNpZXMuYWRkKGUpO3RoaXMuYWRkT3Aod0EsW2VdKX19YWRkRGVwZW5kZW5jaWVzKGUpe2Zvcihjb25zdCB0IG9mIGUpdGhpcy5hZGREZXBlbmRlbmN5KHQpfWFkZE9wTGlzdChlKXtpZihlIGluc3RhbmNlb2YgT3BlcmF0b3JMaXN0KXtmb3IoY29uc3QgdCBvZiBlLmRlcGVuZGVuY2llcyl0aGlzLmRlcGVuZGVuY2llcy5hZGQodCk7Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCsrKXRoaXMuYWRkT3AoZS5mbkFycmF5W3RdLGUuYXJnc0FycmF5W3RdKX1lbHNlIHdhcm4oJ2FkZE9wTGlzdCAtIGlnbm9yaW5nIGludmFsaWQgIm9wTGlzdCIgcGFyYW1ldGVyLicpfWdldElSKCl7cmV0dXJue2ZuQXJyYXk6dGhpcy5mbkFycmF5LGFyZ3NBcnJheTp0aGlzLmFyZ3NBcnJheSxsZW5ndGg6dGhpcy5sZW5ndGh9fWdldCBfdHJhbnNmZXJzKCl7Y29uc3QgZT1bXSx7Zm5BcnJheTp0LGFyZ3NBcnJheTppLGxlbmd0aDphfT10aGlzO2ZvcihsZXQgcz0wO3M8YTtzKyspc3dpdGNoKHRbc10pe2Nhc2UgX2U6Y2FzZSAkZTpjYXNlIFplOmNvbnN0IHQ9aVtzXVswXTshdC5jYWNoZWQmJnQuZGF0YT8uYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJmUucHVzaCh0LmRhdGEuYnVmZmVyKX1yZXR1cm4gZX1mbHVzaChlPSExLHQ9bnVsbCl7dGhpcy5vcHRpbWl6ZXIuZmx1c2goKTtjb25zdCBpPXRoaXMubGVuZ3RoO3RoaXMuX3RvdGFsTGVuZ3RoKz1pO3RoaXMuX3N0cmVhbVNpbmsuZW5xdWV1ZSh7Zm5BcnJheTp0aGlzLmZuQXJyYXksYXJnc0FycmF5OnRoaXMuYXJnc0FycmF5LGxhc3RDaHVuazplLHNlcGFyYXRlQW5ub3RzOnQsbGVuZ3RoOml9LDEsdGhpcy5fdHJhbnNmZXJzKTt0aGlzLmRlcGVuZGVuY2llcy5jbGVhcigpO3RoaXMuZm5BcnJheS5sZW5ndGg9MDt0aGlzLmFyZ3NBcnJheS5sZW5ndGg9MDt0aGlzLndlaWdodD0wO3RoaXMub3B0aW1pemVyLnJlc2V0KCl9fWZ1bmN0aW9uIGRlY29kZUFuZENsYW1wKGUsdCxpLGEpeyhlPXQrZSppKTwwP2U9MDplPmEmJihlPWEpO3JldHVybiBlfWZ1bmN0aW9uIHJlc2l6ZUltYWdlTWFzayhlLHQsaSxhLHMscil7Y29uc3Qgbj1zKnI7bGV0IGc7Zz10PD04P25ldyBVaW50OEFycmF5KG4pOnQ8PTE2P25ldyBVaW50MTZBcnJheShuKTpuZXcgVWludDMyQXJyYXkobik7Y29uc3Qgbz1pL3MsYz1hL3I7bGV0IEMsaCxsLFEsRT0wO2NvbnN0IHU9bmV3IFVpbnQxNkFycmF5KHMpLGQ9aTtmb3IoQz0wO0M8cztDKyspdVtDXT1NYXRoLmZsb29yKEMqbyk7Zm9yKEM9MDtDPHI7QysrKXtsPU1hdGguZmxvb3IoQypjKSpkO2ZvcihoPTA7aDxzO2grKyl7UT1sK3VbaF07Z1tFKytdPWVbUV19fXJldHVybiBnfWNsYXNzIFBERkltYWdle2NvbnN0cnVjdG9yKHt4cmVmOmUscmVzOnQsaW1hZ2U6aSxpc0lubGluZTphPSExLHNtYXNrOnM9bnVsbCxtYXNrOnI9bnVsbCxpc01hc2s6bj0hMSxwZGZGdW5jdGlvbkZhY3Rvcnk6Zyxsb2NhbENvbG9yU3BhY2VDYWNoZTpvfSl7dGhpcy5pbWFnZT1pO2NvbnN0IGM9aS5kaWN0LEM9Yy5nZXQoIkYiLCJGaWx0ZXIiKTtsZXQgaDtpZihDIGluc3RhbmNlb2YgTmFtZSloPUMubmFtZTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoQykpe2NvbnN0IHQ9ZS5mZXRjaElmUmVmKENbMF0pO3QgaW5zdGFuY2VvZiBOYW1lJiYoaD10Lm5hbWUpfXN3aXRjaChoKXtjYXNlIkpQWERlY29kZSI6KHt3aWR0aDppLndpZHRoLGhlaWdodDppLmhlaWdodCxjb21wb25lbnRzQ291bnQ6aS5udW1Db21wcyxiaXRzUGVyQ29tcG9uZW50OmkuYml0c1BlckNvbXBvbmVudH09SnB4SW1hZ2UucGFyc2VJbWFnZVByb3BlcnRpZXMoaS5zdHJlYW0pKTtpLnN0cmVhbS5yZXNldCgpO3RoaXMuanB4RGVjb2Rlck9wdGlvbnM9e251bUNvbXBvbmVudHM6MCxpc0luZGV4ZWRDb2xvcm1hcDohMSxzbWFza0luRGF0YTpjLmhhcygiU01hc2tJbkRhdGEiKX07YnJlYWs7Y2FzZSJKQklHMkRlY29kZSI6aS5iaXRzUGVyQ29tcG9uZW50PTE7aS5udW1Db21wcz0xfWxldCBsPWMuZ2V0KCJXIiwiV2lkdGgiKSxRPWMuZ2V0KCJIIiwiSGVpZ2h0Iik7aWYoTnVtYmVyLmlzSW50ZWdlcihpLndpZHRoKSYmaS53aWR0aD4wJiZOdW1iZXIuaXNJbnRlZ2VyKGkuaGVpZ2h0KSYmaS5oZWlnaHQ+MCYmKGkud2lkdGghPT1sfHxpLmhlaWdodCE9PVEpKXt3YXJuKCJQREZJbWFnZSAtIHVzaW5nIHRoZSBXaWR0aC9IZWlnaHQgb2YgdGhlIGltYWdlIGRhdGEsIHJhdGhlciB0aGFuIHRoZSBpbWFnZSBkaWN0aW9uYXJ5LiIpO2w9aS53aWR0aDtRPWkuaGVpZ2h0fWlmKGw8MXx8UTwxKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBpbWFnZSB3aWR0aDogJHtsfSBvciBoZWlnaHQ6ICR7UX1gKTt0aGlzLndpZHRoPWw7dGhpcy5oZWlnaHQ9UTt0aGlzLmludGVycG9sYXRlPWMuZ2V0KCJJIiwiSW50ZXJwb2xhdGUiKTt0aGlzLmltYWdlTWFzaz1jLmdldCgiSU0iLCJJbWFnZU1hc2siKXx8ITE7dGhpcy5tYXR0ZT1jLmdldCgiTWF0dGUiKXx8ITE7bGV0IEU9aS5iaXRzUGVyQ29tcG9uZW50O2lmKCFFKXtFPWMuZ2V0KCJCUEMiLCJCaXRzUGVyQ29tcG9uZW50Iik7aWYoIUUpe2lmKCF0aGlzLmltYWdlTWFzayl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEJpdHMgcGVyIGNvbXBvbmVudCBtaXNzaW5nIGluIGltYWdlOiAke3RoaXMuaW1hZ2VNYXNrfWApO0U9MX19dGhpcy5icGM9RTtpZighdGhpcy5pbWFnZU1hc2spe2xldCBzPWMuZ2V0UmF3KCJDUyIpfHxjLmdldFJhdygiQ29sb3JTcGFjZSIpO2NvbnN0IHI9ISFzO2lmKHIpdGhpcy5qcHhEZWNvZGVyT3B0aW9ucz8uc21hc2tJbkRhdGEmJihzPU5hbWUuZ2V0KCJEZXZpY2VSR0JBIikpO2Vsc2UgaWYodGhpcy5qcHhEZWNvZGVyT3B0aW9ucylzPU5hbWUuZ2V0KCJEZXZpY2VSR0JBIik7ZWxzZSBzd2l0Y2goaS5udW1Db21wcyl7Y2FzZSAxOnM9TmFtZS5nZXQoIkRldmljZUdyYXkiKTticmVhaztjYXNlIDM6cz1OYW1lLmdldCgiRGV2aWNlUkdCIik7YnJlYWs7Y2FzZSA0OnM9TmFtZS5nZXQoIkRldmljZUNNWUsiKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgSW1hZ2VzIHdpdGggJHtpLm51bUNvbXBzfSBjb2xvciBjb21wb25lbnRzIG5vdCBzdXBwb3J0ZWQuYCl9dGhpcy5jb2xvclNwYWNlPUNvbG9yU3BhY2UucGFyc2Uoe2NzOnMseHJlZjplLHJlc291cmNlczphP3Q6bnVsbCxwZGZGdW5jdGlvbkZhY3Rvcnk6Zyxsb2NhbENvbG9yU3BhY2VDYWNoZTpvfSk7dGhpcy5udW1Db21wcz10aGlzLmNvbG9yU3BhY2UubnVtQ29tcHM7aWYodGhpcy5qcHhEZWNvZGVyT3B0aW9ucyl7dGhpcy5qcHhEZWNvZGVyT3B0aW9ucy5udW1Db21wb25lbnRzPXI/dGhpcy5udW1Db21wOjA7dGhpcy5qcHhEZWNvZGVyT3B0aW9ucy5pc0luZGV4ZWRDb2xvcm1hcD0iSW5kZXhlZCI9PT10aGlzLmNvbG9yU3BhY2UubmFtZX19dGhpcy5kZWNvZGU9Yy5nZXRBcnJheSgiRCIsIkRlY29kZSIpO3RoaXMubmVlZHNEZWNvZGU9ITE7aWYodGhpcy5kZWNvZGUmJih0aGlzLmNvbG9yU3BhY2UmJiF0aGlzLmNvbG9yU3BhY2UuaXNEZWZhdWx0RGVjb2RlKHRoaXMuZGVjb2RlLEUpfHxuJiYhQ29sb3JTcGFjZS5pc0RlZmF1bHREZWNvZGUodGhpcy5kZWNvZGUsMSkpKXt0aGlzLm5lZWRzRGVjb2RlPSEwO2NvbnN0IGU9KDE8PEUpLTE7dGhpcy5kZWNvZGVDb2VmZmljaWVudHM9W107dGhpcy5kZWNvZGVBZGRlbmRzPVtdO2NvbnN0IHQ9IkluZGV4ZWQiPT09dGhpcy5jb2xvclNwYWNlPy5uYW1lO2ZvcihsZXQgaT0wLGE9MDtpPHRoaXMuZGVjb2RlLmxlbmd0aDtpKz0yLCsrYSl7Y29uc3Qgcz10aGlzLmRlY29kZVtpXSxyPXRoaXMuZGVjb2RlW2krMV07dGhpcy5kZWNvZGVDb2VmZmljaWVudHNbYV09dD8oci1zKS9lOnItczt0aGlzLmRlY29kZUFkZGVuZHNbYV09dD9zOmUqc319aWYocyl0aGlzLnNtYXNrPW5ldyBQREZJbWFnZSh7eHJlZjplLHJlczp0LGltYWdlOnMsaXNJbmxpbmU6YSxwZGZGdW5jdGlvbkZhY3Rvcnk6Zyxsb2NhbENvbG9yU3BhY2VDYWNoZTpvfSk7ZWxzZSBpZihyKWlmKHIgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKXtyLmRpY3QuZ2V0KCJJTSIsIkltYWdlTWFzayIpP3RoaXMubWFzaz1uZXcgUERGSW1hZ2Uoe3hyZWY6ZSxyZXM6dCxpbWFnZTpyLGlzSW5saW5lOmEsaXNNYXNrOiEwLHBkZkZ1bmN0aW9uRmFjdG9yeTpnLGxvY2FsQ29sb3JTcGFjZUNhY2hlOm99KTp3YXJuKCJJZ25vcmluZyAvTWFzayBpbiBpbWFnZSB3aXRob3V0IC9JbWFnZU1hc2suIil9ZWxzZSB0aGlzLm1hc2s9cn1zdGF0aWMgYXN5bmMgYnVpbGRJbWFnZSh7eHJlZjplLHJlczp0LGltYWdlOmksaXNJbmxpbmU6YT0hMSxwZGZGdW5jdGlvbkZhY3Rvcnk6cyxsb2NhbENvbG9yU3BhY2VDYWNoZTpyfSl7Y29uc3Qgbj1pO2xldCBnPW51bGwsbz1udWxsO2NvbnN0IGM9aS5kaWN0LmdldCgiU01hc2siKSxDPWkuZGljdC5nZXQoIk1hc2siKTtjP2MgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP2c9Yzp3YXJuKCJVbnN1cHBvcnRlZCAvU01hc2sgZm9ybWF0LiIpOkMmJihDIGluc3RhbmNlb2YgQmFzZVN0cmVhbXx8QXJyYXkuaXNBcnJheShDKT9vPUM6d2FybigiVW5zdXBwb3J0ZWQgL01hc2sgZm9ybWF0LiIpKTtyZXR1cm4gbmV3IFBERkltYWdlKHt4cmVmOmUscmVzOnQsaW1hZ2U6bixpc0lubGluZTphLHNtYXNrOmcsbWFzazpvLHBkZkZ1bmN0aW9uRmFjdG9yeTpzLGxvY2FsQ29sb3JTcGFjZUNhY2hlOnJ9KX1zdGF0aWMgY3JlYXRlUmF3TWFzayh7aW1nQXJyYXk6ZSx3aWR0aDp0LGhlaWdodDppLGltYWdlSXNGcm9tRGVjb2RlU3RyZWFtOmEsaW52ZXJzZURlY29kZTpzLGludGVycG9sYXRlOnJ9KXtjb25zdCBuPSh0Kzc+PjMpKmksZz1lLmJ5dGVMZW5ndGg7bGV0IG8sYztpZighYXx8cyYmIShuPT09ZykpaWYocyl7bz1uZXcgVWludDhBcnJheShuKTtvLnNldChlKTtvLmZpbGwoMjU1LGcpfWVsc2Ugbz1uZXcgVWludDhBcnJheShlKTtlbHNlIG89ZTtpZihzKWZvcihjPTA7YzxnO2MrKylvW2NdXj0yNTU7cmV0dXJue2RhdGE6byx3aWR0aDp0LGhlaWdodDppLGludGVycG9sYXRlOnJ9fXN0YXRpYyBhc3luYyBjcmVhdGVNYXNrKHtpbWdBcnJheTplLHdpZHRoOnQsaGVpZ2h0OmksaW1hZ2VJc0Zyb21EZWNvZGVTdHJlYW06YSxpbnZlcnNlRGVjb2RlOnMsaW50ZXJwb2xhdGU6cixpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDpuPSExfSl7Y29uc3QgZz0xPT09dCYmMT09PWkmJnM9PT0oMD09PWUubGVuZ3RofHwhISgxMjgmZVswXSkpO2lmKGcpcmV0dXJue2lzU2luZ2xlT3BhcXVlUGl4ZWw6Z307aWYobil7aWYoSW1hZ2VSZXNpemVyLm5lZWRzVG9CZVJlc2l6ZWQodCxpKSl7Y29uc3QgYT1uZXcgVWludDhDbGFtcGVkQXJyYXkodCppKjQpO2NvbnZlcnRCbGFja0FuZFdoaXRlVG9SR0JBKHtzcmM6ZSxkZXN0OmEsd2lkdGg6dCxoZWlnaHQ6aSxub25CbGFja0NvbG9yOjAsaW52ZXJzZURlY29kZTpzfSk7cmV0dXJuIEltYWdlUmVzaXplci5jcmVhdGVJbWFnZSh7a2luZDpTLGRhdGE6YSx3aWR0aDp0LGhlaWdodDppLGludGVycG9sYXRlOnJ9KX1jb25zdCBhPW5ldyBPZmZzY3JlZW5DYW52YXModCxpKSxuPWEuZ2V0Q29udGV4dCgiMmQiKSxnPW4uY3JlYXRlSW1hZ2VEYXRhKHQsaSk7Y29udmVydEJsYWNrQW5kV2hpdGVUb1JHQkEoe3NyYzplLGRlc3Q6Zy5kYXRhLHdpZHRoOnQsaGVpZ2h0Omksbm9uQmxhY2tDb2xvcjowLGludmVyc2VEZWNvZGU6c30pO24ucHV0SW1hZ2VEYXRhKGcsMCwwKTtyZXR1cm57ZGF0YTpudWxsLHdpZHRoOnQsaGVpZ2h0OmksaW50ZXJwb2xhdGU6cixiaXRtYXA6YS50cmFuc2ZlclRvSW1hZ2VCaXRtYXAoKX19cmV0dXJuIHRoaXMuY3JlYXRlUmF3TWFzayh7aW1nQXJyYXk6ZSx3aWR0aDp0LGhlaWdodDppLGludmVyc2VEZWNvZGU6cyxpbWFnZUlzRnJvbURlY29kZVN0cmVhbTphLGludGVycG9sYXRlOnJ9KX1nZXQgZHJhd1dpZHRoKCl7cmV0dXJuIE1hdGgubWF4KHRoaXMud2lkdGgsdGhpcy5zbWFzaz8ud2lkdGh8fDAsdGhpcy5tYXNrPy53aWR0aHx8MCl9Z2V0IGRyYXdIZWlnaHQoKXtyZXR1cm4gTWF0aC5tYXgodGhpcy5oZWlnaHQsdGhpcy5zbWFzaz8uaGVpZ2h0fHwwLHRoaXMubWFzaz8uaGVpZ2h0fHwwKX1kZWNvZGVCdWZmZXIoZSl7Y29uc3QgdD10aGlzLmJwYyxpPXRoaXMubnVtQ29tcHMsYT10aGlzLmRlY29kZUFkZGVuZHMscz10aGlzLmRlY29kZUNvZWZmaWNpZW50cyxyPSgxPDx0KS0xO2xldCBuLGc7aWYoMT09PXQpe2ZvcihuPTAsZz1lLmxlbmd0aDtuPGc7bisrKWVbbl09KyFlW25dO3JldHVybn1sZXQgbz0wO2ZvcihuPTAsZz10aGlzLndpZHRoKnRoaXMuaGVpZ2h0O248ZztuKyspZm9yKGxldCB0PTA7dDxpO3QrKyl7ZVtvXT1kZWNvZGVBbmRDbGFtcChlW29dLGFbdF0sc1t0XSxyKTtvKyt9fWdldENvbXBvbmVudHMoZSl7Y29uc3QgdD10aGlzLmJwYztpZig4PT09dClyZXR1cm4gZTtjb25zdCBpPXRoaXMud2lkdGgsYT10aGlzLmhlaWdodCxzPXRoaXMubnVtQ29tcHMscj1pKmEqcztsZXQgbixnPTA7bj10PD04P25ldyBVaW50OEFycmF5KHIpOnQ8PTE2P25ldyBVaW50MTZBcnJheShyKTpuZXcgVWludDMyQXJyYXkocik7Y29uc3Qgbz1pKnMsYz0oMTw8dCktMTtsZXQgQyxoLGw9MDtpZigxPT09dCl7bGV0IHQsaSxzO2ZvcihsZXQgcj0wO3I8YTtyKyspe2k9bCsoLTgmbyk7cz1sK287Zm9yKDtsPGk7KXtoPWVbZysrXTtuW2xdPWg+PjcmMTtuW2wrMV09aD4+NiYxO25bbCsyXT1oPj41JjE7bltsKzNdPWg+PjQmMTtuW2wrNF09aD4+MyYxO25bbCs1XT1oPj4yJjE7bltsKzZdPWg+PjEmMTtuW2wrN109MSZoO2wrPTh9aWYobDxzKXtoPWVbZysrXTt0PTEyODtmb3IoO2w8czspe25bbCsrXT0rISEoaCZ0KTt0Pj49MX19fX1lbHNle2xldCBpPTA7aD0wO2ZvcihsPTAsQz1yO2w8QzsrK2wpe2lmKGwlbz09MCl7aD0wO2k9MH1mb3IoO2k8dDspe2g9aDw8OHxlW2crK107aSs9OH1jb25zdCBhPWktdDtsZXQgcz1oPj5hO3M8MD9zPTA6cz5jJiYocz1jKTtuW2xdPXM7aCY9KDE8PGEpLTE7aT1hfX1yZXR1cm4gbn1hc3luYyBmaWxsT3BhY2l0eShlLHQsaSxhLHMpe2NvbnN0IHI9dGhpcy5zbWFzayxuPXRoaXMubWFzaztsZXQgZyxvLGMsQyxoLGw7aWYocil7bz1yLndpZHRoO2M9ci5oZWlnaHQ7Zz1uZXcgVWludDhDbGFtcGVkQXJyYXkobypjKTthd2FpdCByLmZpbGxHcmF5QnVmZmVyKGcpO289PT10JiZjPT09aXx8KGc9cmVzaXplSW1hZ2VNYXNrKGcsci5icGMsbyxjLHQsaSkpfWVsc2UgaWYobilpZihuIGluc3RhbmNlb2YgUERGSW1hZ2Upe289bi53aWR0aDtjPW4uaGVpZ2h0O2c9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KG8qYyk7bi5udW1Db21wcz0xO2F3YWl0IG4uZmlsbEdyYXlCdWZmZXIoZyk7Zm9yKEM9MCxoPW8qYztDPGg7KytDKWdbQ109MjU1LWdbQ107bz09PXQmJmM9PT1pfHwoZz1yZXNpemVJbWFnZU1hc2soZyxuLmJwYyxvLGMsdCxpKSl9ZWxzZXtpZighQXJyYXkuaXNBcnJheShuKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlVua25vd24gbWFzayBmb3JtYXQuIik7e2c9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHQqaSk7Y29uc3QgZT10aGlzLm51bUNvbXBzO2ZvcihDPTAsaD10Kmk7QzxoOysrQyl7bGV0IHQ9MDtjb25zdCBpPUMqZTtmb3IobD0wO2w8ZTsrK2wpe2NvbnN0IGU9c1tpK2xdLGE9MipsO2lmKGU8blthXXx8ZT5uW2ErMV0pe3Q9MjU1O2JyZWFrfX1nW0NdPXR9fX1pZihnKWZvcihDPTAsbD0zLGg9dCphO0M8aDsrK0MsbCs9NCllW2xdPWdbQ107ZWxzZSBmb3IoQz0wLGw9MyxoPXQqYTtDPGg7KytDLGwrPTQpZVtsXT0yNTV9dW5kb1ByZWJsZW5kKGUsdCxpKXtjb25zdCBhPXRoaXMuc21hc2s/Lm1hdHRlO2lmKCFhKXJldHVybjtjb25zdCBzPXRoaXMuY29sb3JTcGFjZS5nZXRSZ2IoYSwwKSxyPXNbMF0sbj1zWzFdLGc9c1syXSxvPXQqaSo0O2ZvcihsZXQgdD0wO3Q8bzt0Kz00KXtjb25zdCBpPWVbdCszXTtpZigwPT09aSl7ZVt0XT0yNTU7ZVt0KzFdPTI1NTtlW3QrMl09MjU1O2NvbnRpbnVlfWNvbnN0IGE9MjU1L2k7ZVt0XT0oZVt0XS1yKSphK3I7ZVt0KzFdPShlW3QrMV0tbikqYStuO2VbdCsyXT0oZVt0KzJdLWcpKmErZ319YXN5bmMgY3JlYXRlSW1hZ2VEYXRhKGU9ITEsdD0hMSl7Y29uc3QgaT10aGlzLmRyYXdXaWR0aCxhPXRoaXMuZHJhd0hlaWdodCxzPXt3aWR0aDppLGhlaWdodDphLGludGVycG9sYXRlOnRoaXMuaW50ZXJwb2xhdGUsa2luZDowLGRhdGE6bnVsbH0scj10aGlzLm51bUNvbXBzLG49dGhpcy53aWR0aCxnPXRoaXMuaGVpZ2h0LG89dGhpcy5icGMsYz1uKnIqbys3Pj4zLEM9dCYmSW1hZ2VSZXNpemVyLm5lZWRzVG9CZVJlc2l6ZWQoaSxhKTtpZigiRGV2aWNlUkdCQSI9PT10aGlzLmNvbG9yU3BhY2UubmFtZSl7cy5raW5kPVM7Y29uc3QgZT1zLmRhdGE9YXdhaXQgdGhpcy5nZXRJbWFnZUJ5dGVzKGcqbio0LHt9KTtyZXR1cm4gdD9DP0ltYWdlUmVzaXplci5jcmVhdGVJbWFnZShzLCExKTp0aGlzLmNyZWF0ZUJpdG1hcChTLGksYSxlKTpzfWlmKCFlKXtsZXQgZTsiRGV2aWNlR3JheSI9PT10aGlzLmNvbG9yU3BhY2UubmFtZSYmMT09PW8/ZT1iOiJEZXZpY2VSR0IiIT09dGhpcy5jb2xvclNwYWNlLm5hbWV8fDghPT1vfHx0aGlzLm5lZWRzRGVjb2RlfHwoZT1GKTtpZihlJiYhdGhpcy5zbWFzayYmIXRoaXMubWFzayYmaT09PW4mJmE9PT1nKXtjb25zdCByPWF3YWl0IHRoaXMuZ2V0SW1hZ2VCeXRlcyhnKmMse30pO2lmKHQpcmV0dXJuIEM/SW1hZ2VSZXNpemVyLmNyZWF0ZUltYWdlKHtkYXRhOnIsa2luZDplLHdpZHRoOmksaGVpZ2h0OmEsaW50ZXJwb2xhdGU6dGhpcy5pbnRlcnBvbGF0ZX0sdGhpcy5uZWVkc0RlY29kZSk6dGhpcy5jcmVhdGVCaXRtYXAoZSxuLGcscik7cy5raW5kPWU7cy5kYXRhPXI7aWYodGhpcy5uZWVkc0RlY29kZSl7YXNzZXJ0KGU9PT1iLCJQREZJbWFnZS5jcmVhdGVJbWFnZURhdGE6IFRoZSBpbWFnZSBtdXN0IGJlIGdyYXlzY2FsZS4iKTtjb25zdCB0PXMuZGF0YTtmb3IobGV0IGU9MCxpPXQubGVuZ3RoO2U8aTtlKyspdFtlXV49MjU1fXJldHVybiBzfWlmKHRoaXMuaW1hZ2UgaW5zdGFuY2VvZiBKcGVnU3RyZWFtJiYhdGhpcy5zbWFzayYmIXRoaXMubWFzayYmIXRoaXMubmVlZHNEZWNvZGUpe2xldCBlPWcqYztpZih0JiYhQyl7bGV0IHQ9ITE7c3dpdGNoKHRoaXMuY29sb3JTcGFjZS5uYW1lKXtjYXNlIkRldmljZUdyYXkiOmUqPTQ7dD0hMDticmVhaztjYXNlIkRldmljZVJHQiI6ZT1lLzMqNDt0PSEwO2JyZWFrO2Nhc2UiRGV2aWNlQ01ZSyI6dD0hMH1pZih0KXtjb25zdCB0PWF3YWl0IHRoaXMuZ2V0SW1hZ2VCeXRlcyhlLHtkcmF3V2lkdGg6aSxkcmF3SGVpZ2h0OmEsZm9yY2VSR0JBOiEwfSk7cmV0dXJuIHRoaXMuY3JlYXRlQml0bWFwKFMsaSxhLHQpfX1lbHNlIHN3aXRjaCh0aGlzLmNvbG9yU3BhY2UubmFtZSl7Y2FzZSJEZXZpY2VHcmF5IjplKj0zO2Nhc2UiRGV2aWNlUkdCIjpjYXNlIkRldmljZUNNWUsiOnMua2luZD1GO3MuZGF0YT1hd2FpdCB0aGlzLmdldEltYWdlQnl0ZXMoZSx7ZHJhd1dpZHRoOmksZHJhd0hlaWdodDphLGZvcmNlUkdCOiEwfSk7cmV0dXJuIEM/SW1hZ2VSZXNpemVyLmNyZWF0ZUltYWdlKHMpOnN9fX1jb25zdCBoPWF3YWl0IHRoaXMuZ2V0SW1hZ2VCeXRlcyhnKmMse2ludGVybmFsOiEwfSksbD0wfGgubGVuZ3RoL2MqYS9nLFE9dGhpcy5nZXRDb21wb25lbnRzKGgpO2xldCBFLHUsZCxmLHAsbTtpZih0JiYhQyl7ZD1uZXcgT2Zmc2NyZWVuQ2FudmFzKGksYSk7Zj1kLmdldENvbnRleHQoIjJkIik7cD1mLmNyZWF0ZUltYWdlRGF0YShpLGEpO209cC5kYXRhfXMua2luZD1TO2lmKGV8fHRoaXMuc21hc2t8fHRoaXMubWFzayl7dCYmIUN8fChtPW5ldyBVaW50OENsYW1wZWRBcnJheShpKmEqNCkpO0U9MTt1PSEwO2F3YWl0IHRoaXMuZmlsbE9wYWNpdHkobSxpLGEsbCxRKX1lbHNle2lmKCF0fHxDKXtzLmtpbmQ9RjttPW5ldyBVaW50OENsYW1wZWRBcnJheShpKmEqMyk7RT0wfWVsc2V7bmV3IFVpbnQzMkFycmF5KG0uYnVmZmVyKS5maWxsKEZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuPzQyNzgxOTAwODA6MjU1KTtFPTF9dT0hMX10aGlzLm5lZWRzRGVjb2RlJiZ0aGlzLmRlY29kZUJ1ZmZlcihRKTt0aGlzLmNvbG9yU3BhY2UuZmlsbFJnYihtLG4sZyxpLGEsbCxvLFEsRSk7dSYmdGhpcy51bmRvUHJlYmxlbmQobSxpLGwpO2lmKHQmJiFDKXtmLnB1dEltYWdlRGF0YShwLDAsMCk7cmV0dXJue2RhdGE6bnVsbCx3aWR0aDppLGhlaWdodDphLGJpdG1hcDpkLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpLGludGVycG9sYXRlOnRoaXMuaW50ZXJwb2xhdGV9fXMuZGF0YT1tO3JldHVybiBDP0ltYWdlUmVzaXplci5jcmVhdGVJbWFnZShzKTpzfWFzeW5jIGZpbGxHcmF5QnVmZmVyKGUpe2NvbnN0IHQ9dGhpcy5udW1Db21wcztpZigxIT09dCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFJlYWRpbmcgZ3JheSBzY2FsZSBmcm9tIGEgY29sb3IgaW1hZ2U6ICR7dH1gKTtjb25zdCBpPXRoaXMud2lkdGgsYT10aGlzLmhlaWdodCxzPXRoaXMuYnBjLHI9aSp0KnMrNz4+MyxuPWF3YWl0IHRoaXMuZ2V0SW1hZ2VCeXRlcyhhKnIse2ludGVybmFsOiEwfSksZz10aGlzLmdldENvbXBvbmVudHMobik7bGV0IG8sYztpZigxPT09cyl7Yz1pKmE7aWYodGhpcy5uZWVkc0RlY29kZSlmb3Iobz0wO288YzsrK28pZVtvXT1nW29dLTEmMjU1O2Vsc2UgZm9yKG89MDtvPGM7KytvKWVbb109MjU1Ji1nW29dO3JldHVybn10aGlzLm5lZWRzRGVjb2RlJiZ0aGlzLmRlY29kZUJ1ZmZlcihnKTtjPWkqYTtjb25zdCBDPTI1NS8oKDE8PHMpLTEpO2ZvcihvPTA7bzxjOysrbyllW29dPUMqZ1tvXX1jcmVhdGVCaXRtYXAoZSx0LGksYSl7Y29uc3Qgcz1uZXcgT2Zmc2NyZWVuQ2FudmFzKHQsaSkscj1zLmdldENvbnRleHQoIjJkIik7bGV0IG47aWYoZT09PVMpbj1uZXcgSW1hZ2VEYXRhKGEsdCxpKTtlbHNle249ci5jcmVhdGVJbWFnZURhdGEodCxpKTtjb252ZXJ0VG9SR0JBKHtraW5kOmUsc3JjOmEsZGVzdDpuZXcgVWludDMyQXJyYXkobi5kYXRhLmJ1ZmZlciksd2lkdGg6dCxoZWlnaHQ6aSxpbnZlcnNlRGVjb2RlOnRoaXMubmVlZHNEZWNvZGV9KX1yLnB1dEltYWdlRGF0YShuLDAsMCk7cmV0dXJue2RhdGE6bnVsbCx3aWR0aDp0LGhlaWdodDppLGJpdG1hcDpzLnRyYW5zZmVyVG9JbWFnZUJpdG1hcCgpLGludGVycG9sYXRlOnRoaXMuaW50ZXJwb2xhdGV9fWFzeW5jIGdldEltYWdlQnl0ZXMoZSx7ZHJhd1dpZHRoOnQsZHJhd0hlaWdodDppLGZvcmNlUkdCQTphPSExLGZvcmNlUkdCOnM9ITEsaW50ZXJuYWw6cj0hMX0pe3RoaXMuaW1hZ2UucmVzZXQoKTt0aGlzLmltYWdlLmRyYXdXaWR0aD10fHx0aGlzLndpZHRoO3RoaXMuaW1hZ2UuZHJhd0hlaWdodD1pfHx0aGlzLmhlaWdodDt0aGlzLmltYWdlLmZvcmNlUkdCQT0hIWE7dGhpcy5pbWFnZS5mb3JjZVJHQj0hIXM7Y29uc3Qgbj1hd2FpdCB0aGlzLmltYWdlLmdldEltYWdlRGF0YShlLHRoaXMuanB4RGVjb2Rlck9wdGlvbnMpO2lmKHJ8fHRoaXMuaW1hZ2UgaW5zdGFuY2VvZiBEZWNvZGVTdHJlYW0pcmV0dXJuIG47YXNzZXJ0KG4gaW5zdGFuY2VvZiBVaW50OEFycmF5LCdQREZJbWFnZS5nZXRJbWFnZUJ5dGVzOiBVbnN1cHBvcnRlZCAiaW1hZ2VCeXRlcyIgdHlwZS4nKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobil9fWNvbnN0IFJzPU9iamVjdC5mcmVlemUoe21heEltYWdlU2l6ZTotMSxkaXNhYmxlRm9udEZhY2U6ITEsaWdub3JlRXJyb3JzOiExLGlzRXZhbFN1cHBvcnRlZDohMCxpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDohMSxjYW52YXNNYXhBcmVhSW5CeXRlczotMSxmb250RXh0cmFQcm9wZXJ0aWVzOiExLHVzZVN5c3RlbUZvbnRzOiEwLGNNYXBVcmw6bnVsbCxzdGFuZGFyZEZvbnREYXRhVXJsOm51bGx9KSxOcz0xLEdzPTIseHM9UHJvbWlzZS5yZXNvbHZlKCk7ZnVuY3Rpb24gbm9ybWFsaXplQmxlbmRNb2RlKGUsdD0hMSl7aWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3QgZT1ub3JtYWxpemVCbGVuZE1vZGUodCwhMCk7aWYoZSlyZXR1cm4gZX13YXJuKGBVbnN1cHBvcnRlZCBibGVuZCBtb2RlIEFycmF5OiAke2V9YCk7cmV0dXJuInNvdXJjZS1vdmVyIn1pZighKGUgaW5zdGFuY2VvZiBOYW1lKSlyZXR1cm4gdD9udWxsOiJzb3VyY2Utb3ZlciI7c3dpdGNoKGUubmFtZSl7Y2FzZSJOb3JtYWwiOmNhc2UiQ29tcGF0aWJsZSI6cmV0dXJuInNvdXJjZS1vdmVyIjtjYXNlIk11bHRpcGx5IjpyZXR1cm4ibXVsdGlwbHkiO2Nhc2UiU2NyZWVuIjpyZXR1cm4ic2NyZWVuIjtjYXNlIk92ZXJsYXkiOnJldHVybiJvdmVybGF5IjtjYXNlIkRhcmtlbiI6cmV0dXJuImRhcmtlbiI7Y2FzZSJMaWdodGVuIjpyZXR1cm4ibGlnaHRlbiI7Y2FzZSJDb2xvckRvZGdlIjpyZXR1cm4iY29sb3ItZG9kZ2UiO2Nhc2UiQ29sb3JCdXJuIjpyZXR1cm4iY29sb3ItYnVybiI7Y2FzZSJIYXJkTGlnaHQiOnJldHVybiJoYXJkLWxpZ2h0IjtjYXNlIlNvZnRMaWdodCI6cmV0dXJuInNvZnQtbGlnaHQiO2Nhc2UiRGlmZmVyZW5jZSI6cmV0dXJuImRpZmZlcmVuY2UiO2Nhc2UiRXhjbHVzaW9uIjpyZXR1cm4iZXhjbHVzaW9uIjtjYXNlIkh1ZSI6cmV0dXJuImh1ZSI7Y2FzZSJTYXR1cmF0aW9uIjpyZXR1cm4ic2F0dXJhdGlvbiI7Y2FzZSJDb2xvciI6cmV0dXJuImNvbG9yIjtjYXNlIkx1bWlub3NpdHkiOnJldHVybiJsdW1pbm9zaXR5In1pZih0KXJldHVybiBudWxsO3dhcm4oYFVuc3VwcG9ydGVkIGJsZW5kIG1vZGU6ICR7ZS5uYW1lfWApO3JldHVybiJzb3VyY2Utb3ZlciJ9ZnVuY3Rpb24gYWRkTG9jYWxseUNhY2hlZEltYWdlT3BzKGUsdCl7dC5vYmpJZCYmZS5hZGREZXBlbmRlbmN5KHQub2JqSWQpO2UuYWRkSW1hZ2VPcHModC5mbix0LmFyZ3MsdC5vcHRpb25hbENvbnRlbnQpO3QuZm49PT1aZSYmdC5hcmdzWzBdPy5jb3VudD4wJiZ0LmFyZ3NbMF0uY291bnQrK31jbGFzcyBUaW1lU2xvdE1hbmFnZXJ7c3RhdGljIFRJTUVfU0xPVF9EVVJBVElPTl9NUz0yMDtzdGF0aWMgQ0hFQ0tfVElNRV9FVkVSWT0xMDA7Y29uc3RydWN0b3IoKXt0aGlzLnJlc2V0KCl9Y2hlY2soKXtpZigrK3RoaXMuY2hlY2tlZDxUaW1lU2xvdE1hbmFnZXIuQ0hFQ0tfVElNRV9FVkVSWSlyZXR1cm4hMTt0aGlzLmNoZWNrZWQ9MDtyZXR1cm4gdGhpcy5lbmRUaW1lPD1EYXRlLm5vdygpfXJlc2V0KCl7dGhpcy5lbmRUaW1lPURhdGUubm93KCkrVGltZVNsb3RNYW5hZ2VyLlRJTUVfU0xPVF9EVVJBVElPTl9NUzt0aGlzLmNoZWNrZWQ9MH19Y2xhc3MgUGFydGlhbEV2YWx1YXRvcntjb25zdHJ1Y3Rvcih7eHJlZjplLGhhbmRsZXI6dCxwYWdlSW5kZXg6aSxpZEZhY3Rvcnk6YSxmb250Q2FjaGU6cyxidWlsdEluQ01hcENhY2hlOnIsc3RhbmRhcmRGb250RGF0YUNhY2hlOm4sZ2xvYmFsSW1hZ2VDYWNoZTpnLHN5c3RlbUZvbnRDYWNoZTpvLG9wdGlvbnM6Yz1udWxsfSl7dGhpcy54cmVmPWU7dGhpcy5oYW5kbGVyPXQ7dGhpcy5wYWdlSW5kZXg9aTt0aGlzLmlkRmFjdG9yeT1hO3RoaXMuZm9udENhY2hlPXM7dGhpcy5idWlsdEluQ01hcENhY2hlPXI7dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGU9bjt0aGlzLmdsb2JhbEltYWdlQ2FjaGU9Zzt0aGlzLnN5c3RlbUZvbnRDYWNoZT1vO3RoaXMub3B0aW9ucz1jfHxSczt0aGlzLnR5cGUzRm9udFJlZnM9bnVsbDt0aGlzLl9yZWdpb25hbEltYWdlQ2FjaGU9bmV3IFJlZ2lvbmFsSW1hZ2VDYWNoZTt0aGlzLl9mZXRjaEJ1aWx0SW5DTWFwQm91bmQ9dGhpcy5mZXRjaEJ1aWx0SW5DTWFwLmJpbmQodGhpcyk7SW1hZ2VSZXNpemVyLnNldE1heEFyZWEodGhpcy5vcHRpb25zLmNhbnZhc01heEFyZWFJbkJ5dGVzKX1nZXQgX3BkZkZ1bmN0aW9uRmFjdG9yeSgpe3JldHVybiBzaGFkb3codGhpcywiX3BkZkZ1bmN0aW9uRmFjdG9yeSIsbmV3IFBERkZ1bmN0aW9uRmFjdG9yeSh7eHJlZjp0aGlzLnhyZWYsaXNFdmFsU3VwcG9ydGVkOnRoaXMub3B0aW9ucy5pc0V2YWxTdXBwb3J0ZWR9KSl9Z2V0IHBhcnNpbmdUeXBlM0ZvbnQoKXtyZXR1cm4hIXRoaXMudHlwZTNGb250UmVmc31jbG9uZShlPW51bGwpe2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZSh0aGlzKTt0Lm9wdGlvbnM9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMub3B0aW9ucyxlKTtyZXR1cm4gdH1oYXNCbGVuZE1vZGVzKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuITE7aWYoZS5vYmpJZCYmdC5oYXMoZS5vYmpJZCkpcmV0dXJuITE7Y29uc3QgaT1uZXcgUmVmU2V0KHQpO2Uub2JqSWQmJmkucHV0KGUub2JqSWQpO2NvbnN0IGE9W2VdLHM9dGhpcy54cmVmO2Zvcig7YS5sZW5ndGg7KXtjb25zdCBlPWEuc2hpZnQoKSx0PWUuZ2V0KCJFeHRHU3RhdGUiKTtpZih0IGluc3RhbmNlb2YgRGljdClmb3IobGV0IGUgb2YgdC5nZXRSYXdWYWx1ZXMoKSl7aWYoZSBpbnN0YW5jZW9mIFJlZil7aWYoaS5oYXMoZSkpY29udGludWU7dHJ5e2U9cy5mZXRjaChlKX1jYXRjaCh0KXtpLnB1dChlKTtpbmZvKGBoYXNCbGVuZE1vZGVzIC0gaWdub3JpbmcgRXh0R1N0YXRlOiAiJHt0fSIuYCk7Y29udGludWV9fWlmKCEoZSBpbnN0YW5jZW9mIERpY3QpKWNvbnRpbnVlO2Uub2JqSWQmJmkucHV0KGUub2JqSWQpO2NvbnN0IHQ9ZS5nZXQoIkJNIik7aWYodCBpbnN0YW5jZW9mIE5hbWUpe2lmKCJOb3JtYWwiIT09dC5uYW1lKXJldHVybiEwfWVsc2UgaWYodm9pZCAwIT09dCYmQXJyYXkuaXNBcnJheSh0KSlmb3IoY29uc3QgZSBvZiB0KWlmKGUgaW5zdGFuY2VvZiBOYW1lJiYiTm9ybWFsIiE9PWUubmFtZSlyZXR1cm4hMH1jb25zdCByPWUuZ2V0KCJYT2JqZWN0Iik7aWYociBpbnN0YW5jZW9mIERpY3QpZm9yKGxldCBlIG9mIHIuZ2V0UmF3VmFsdWVzKCkpe2lmKGUgaW5zdGFuY2VvZiBSZWYpe2lmKGkuaGFzKGUpKWNvbnRpbnVlO3RyeXtlPXMuZmV0Y2goZSl9Y2F0Y2godCl7aS5wdXQoZSk7aW5mbyhgaGFzQmxlbmRNb2RlcyAtIGlnbm9yaW5nIFhPYmplY3Q6ICIke3R9Ii5gKTtjb250aW51ZX19aWYoIShlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpY29udGludWU7ZS5kaWN0Lm9iaklkJiZpLnB1dChlLmRpY3Qub2JqSWQpO2NvbnN0IHQ9ZS5kaWN0LmdldCgiUmVzb3VyY2VzIik7aWYodCBpbnN0YW5jZW9mIERpY3QmJighdC5vYmpJZHx8IWkuaGFzKHQub2JqSWQpKSl7YS5wdXNoKHQpO3Qub2JqSWQmJmkucHV0KHQub2JqSWQpfX19Zm9yKGNvbnN0IGUgb2YgaSl0LnB1dChlKTtyZXR1cm4hMX1hc3luYyBmZXRjaEJ1aWx0SW5DTWFwKGUpe2NvbnN0IHQ9dGhpcy5idWlsdEluQ01hcENhY2hlLmdldChlKTtpZih0KXJldHVybiB0O2xldCBpO2lmKG51bGwhPT10aGlzLm9wdGlvbnMuY01hcFVybCl7Y29uc3QgdD1gJHt0aGlzLm9wdGlvbnMuY01hcFVybH0ke2V9LmJjbWFwYCxhPWF3YWl0IGZldGNoKHQpO2lmKCFhLm9rKXRocm93IG5ldyBFcnJvcihgZmV0Y2hCdWlsdEluQ01hcDogZmFpbGVkIHRvIGZldGNoIGZpbGUgIiR7dH0iIHdpdGggIiR7YS5zdGF0dXNUZXh0fSIuYCk7aT17Y01hcERhdGE6bmV3IFVpbnQ4QXJyYXkoYXdhaXQgYS5hcnJheUJ1ZmZlcigpKSxjb21wcmVzc2lvblR5cGU6eUEuQklOQVJZfX1lbHNlIGk9YXdhaXQgdGhpcy5oYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgiRmV0Y2hCdWlsdEluQ01hcCIse25hbWU6ZX0pO2kuY29tcHJlc3Npb25UeXBlIT09eUEuTk9ORSYmdGhpcy5idWlsdEluQ01hcENhY2hlLnNldChlLGkpO3JldHVybiBpfWFzeW5jIGZldGNoU3RhbmRhcmRGb250RGF0YShlKXtjb25zdCB0PXRoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLmdldChlKTtpZih0KXJldHVybiBuZXcgU3RyZWFtKHQpO2lmKHRoaXMub3B0aW9ucy51c2VTeXN0ZW1Gb250cyYmIlN5bWJvbCIhPT1lJiYiWmFwZkRpbmdiYXRzIiE9PWUpcmV0dXJuIG51bGw7Y29uc3QgaT1WaSgpW2VdO2xldCBhO2lmKG51bGwhPT10aGlzLm9wdGlvbnMuc3RhbmRhcmRGb250RGF0YVVybCl7Y29uc3QgZT1gJHt0aGlzLm9wdGlvbnMuc3RhbmRhcmRGb250RGF0YVVybH0ke2l9YCx0PWF3YWl0IGZldGNoKGUpO3Qub2s/YT1uZXcgVWludDhBcnJheShhd2FpdCB0LmFycmF5QnVmZmVyKCkpOndhcm4oYGZldGNoU3RhbmRhcmRGb250RGF0YTogZmFpbGVkIHRvIGZldGNoIGZpbGUgIiR7ZX0iIHdpdGggIiR7dC5zdGF0dXNUZXh0fSIuYCl9ZWxzZSB0cnl7YT1hd2FpdCB0aGlzLmhhbmRsZXIuc2VuZFdpdGhQcm9taXNlKCJGZXRjaFN0YW5kYXJkRm9udERhdGEiLHtmaWxlbmFtZTppfSl9Y2F0Y2goZSl7d2FybihgZmV0Y2hTdGFuZGFyZEZvbnREYXRhOiBmYWlsZWQgdG8gZmV0Y2ggZmlsZSAiJHtpfSIgd2l0aCAiJHtlfSIuYCl9aWYoIWEpcmV0dXJuIG51bGw7dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUuc2V0KGUsYSk7cmV0dXJuIG5ldyBTdHJlYW0oYSl9YXN5bmMgYnVpbGRGb3JtWE9iamVjdChlLHQsaSxhLHMscixuKXtjb25zdCBnPXQuZGljdCxvPWxvb2t1cE1hdHJpeChnLmdldEFycmF5KCJNYXRyaXgiKSxudWxsKSxjPWxvb2t1cE5vcm1hbFJlY3QoZy5nZXRBcnJheSgiQkJveCIpLG51bGwpO2xldCBDLGg7Zy5oYXMoIk9DIikmJihDPWF3YWl0IHRoaXMucGFyc2VNYXJrZWRDb250ZW50UHJvcHMoZy5nZXQoIk9DIiksZSkpO3ZvaWQgMCE9PUMmJmEuYWRkT3AoWWUsWyJPQyIsQ10pO2NvbnN0IGw9Zy5nZXQoIkdyb3VwIik7aWYobCl7aD17bWF0cml4Om8sYmJveDpjLHNtYXNrOmksaXNvbGF0ZWQ6ITEsa25vY2tvdXQ6ITF9O2xldCB0PW51bGw7aWYoaXNOYW1lKGwuZ2V0KCJTIiksIlRyYW5zcGFyZW5jeSIpKXtoLmlzb2xhdGVkPWwuZ2V0KCJJIil8fCExO2gua25vY2tvdXQ9bC5nZXQoIksiKXx8ITE7aWYobC5oYXMoIkNTIikpe2NvbnN0IGk9bC5nZXRSYXcoIkNTIiksYT1Db2xvclNwYWNlLmdldENhY2hlZChpLHRoaXMueHJlZixuKTt0PWF8fGF3YWl0IHRoaXMucGFyc2VDb2xvclNwYWNlKHtjczppLHJlc291cmNlczplLGxvY2FsQ29sb3JTcGFjZUNhY2hlOm59KX19aWYoaT8uYmFja2Ryb3Ape3R8fD1Db2xvclNwYWNlLnNpbmdsZXRvbnMucmdiO2kuYmFja2Ryb3A9dC5nZXRSZ2IoaS5iYWNrZHJvcCwwKX1hLmFkZE9wKFBlLFtoXSl9Y29uc3QgUT1sP1tvLG51bGxdOltvLGNdO2EuYWRkT3AocWUsUSk7YXdhaXQgdGhpcy5nZXRPcGVyYXRvckxpc3Qoe3N0cmVhbTp0LHRhc2s6cyxyZXNvdXJjZXM6Zy5nZXQoIlJlc291cmNlcyIpfHxlLG9wZXJhdG9yTGlzdDphLGluaXRpYWxTdGF0ZTpyfSk7YS5hZGRPcChPZSxbXSk7bCYmYS5hZGRPcChXZSxbaF0pO3ZvaWQgMCE9PUMmJmEuYWRkT3AodmUsW10pfV9zZW5kSW1nRGF0YShlLHQsaT0hMSl7Y29uc3QgYT10P1t0LmJpdG1hcHx8dC5kYXRhLmJ1ZmZlcl06bnVsbDtyZXR1cm4gdGhpcy5wYXJzaW5nVHlwZTNGb250fHxpP3RoaXMuaGFuZGxlci5zZW5kKCJjb21tb25vYmoiLFtlLCJJbWFnZSIsdF0sYSk6dGhpcy5oYW5kbGVyLnNlbmQoIm9iaiIsW2UsdGhpcy5wYWdlSW5kZXgsIkltYWdlIix0XSxhKX1hc3luYyBidWlsZFBhaW50SW1hZ2VYT2JqZWN0KHtyZXNvdXJjZXM6ZSxpbWFnZTp0LGlzSW5saW5lOmk9ITEsb3BlcmF0b3JMaXN0OmEsY2FjaGVLZXk6cyxsb2NhbEltYWdlQ2FjaGU6cixsb2NhbENvbG9yU3BhY2VDYWNoZTpufSl7Y29uc3QgZz10LmRpY3Qsbz1nLm9iaklkLGM9Zy5nZXQoIlciLCJXaWR0aCIpLEM9Zy5nZXQoIkgiLCJIZWlnaHQiKTtpZighY3x8Im51bWJlciIhPXR5cGVvZiBjfHwhQ3x8Im51bWJlciIhPXR5cGVvZiBDKXt3YXJuKCJJbWFnZSBkaW1lbnNpb25zIGFyZSBtaXNzaW5nLCBvciBub3QgbnVtYmVycy4iKTtyZXR1cm59Y29uc3QgaD10aGlzLm9wdGlvbnMubWF4SW1hZ2VTaXplO2lmKC0xIT09aCYmYypDPmgpe2NvbnN0IGU9IkltYWdlIGV4Y2VlZGVkIG1heGltdW0gYWxsb3dlZCBzaXplIGFuZCB3YXMgcmVtb3ZlZC4iO2lmKHRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpe3dhcm4oZSk7cmV0dXJufXRocm93IG5ldyBFcnJvcihlKX1sZXQgbDtnLmhhcygiT0MiKSYmKGw9YXdhaXQgdGhpcy5wYXJzZU1hcmtlZENvbnRlbnRQcm9wcyhnLmdldCgiT0MiKSxlKSk7bGV0IFEsRTtpZihnLmdldCgiSU0iLCJJbWFnZU1hc2siKXx8ITEpe2NvbnN0IGU9Zy5nZXQoIkkiLCJJbnRlcnBvbGF0ZSIpLGk9Yys3Pj4zLG49dC5nZXRCeXRlcyhpKkMpLGg9Zy5nZXRBcnJheSgiRCIsIkRlY29kZSIpO2lmKHRoaXMucGFyc2luZ1R5cGUzRm9udCl7UT1QREZJbWFnZS5jcmVhdGVSYXdNYXNrKHtpbWdBcnJheTpuLHdpZHRoOmMsaGVpZ2h0OkMsaW1hZ2VJc0Zyb21EZWNvZGVTdHJlYW06dCBpbnN0YW5jZW9mIERlY29kZVN0cmVhbSxpbnZlcnNlRGVjb2RlOmg/LlswXT4wLGludGVycG9sYXRlOmV9KTtRLmNhY2hlZD0hIXM7RT1bUV07YS5hZGRJbWFnZU9wcyhaZSxFLGwpO2lmKHMpe2NvbnN0IGU9e2ZuOlplLGFyZ3M6RSxvcHRpb25hbENvbnRlbnQ6bH07ci5zZXQocyxvLGUpO28mJnRoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCxvLGUpfXJldHVybn1RPWF3YWl0IFBERkltYWdlLmNyZWF0ZU1hc2soe2ltZ0FycmF5Om4sd2lkdGg6YyxoZWlnaHQ6QyxpbWFnZUlzRnJvbURlY29kZVN0cmVhbTp0IGluc3RhbmNlb2YgRGVjb2RlU3RyZWFtLGludmVyc2VEZWNvZGU6aD8uWzBdPjAsaW50ZXJwb2xhdGU6ZSxpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDp0aGlzLm9wdGlvbnMuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWR9KTtpZihRLmlzU2luZ2xlT3BhcXVlUGl4ZWwpe2EuYWRkSW1hZ2VPcHModHQsW10sbCk7aWYocyl7Y29uc3QgZT17Zm46dHQsYXJnczpbXSxvcHRpb25hbENvbnRlbnQ6bH07ci5zZXQocyxvLGUpO28mJnRoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCxvLGUpfXJldHVybn1jb25zdCB1PWBtYXNrXyR7dGhpcy5pZEZhY3RvcnkuY3JlYXRlT2JqSWQoKX1gO2EuYWRkRGVwZW5kZW5jeSh1KTtRLmRhdGFMZW49US5iaXRtYXA/US53aWR0aCpRLmhlaWdodCo0OlEuZGF0YS5sZW5ndGg7dGhpcy5fc2VuZEltZ0RhdGEodSxRKTtFPVt7ZGF0YTp1LHdpZHRoOlEud2lkdGgsaGVpZ2h0OlEuaGVpZ2h0LGludGVycG9sYXRlOlEuaW50ZXJwb2xhdGUsY291bnQ6MX1dO2EuYWRkSW1hZ2VPcHMoWmUsRSxsKTtpZihzKXtjb25zdCBlPXtvYmpJZDp1LGZuOlplLGFyZ3M6RSxvcHRpb25hbENvbnRlbnQ6bH07ci5zZXQocyxvLGUpO28mJnRoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCxvLGUpfXJldHVybn1pZihpJiZjK0M8MjAwJiYhZy5oYXMoIlNNYXNrIikmJiFnLmhhcygiTWFzayIpKXt0cnl7Y29uc3Qgcz1uZXcgUERGSW1hZ2Uoe3hyZWY6dGhpcy54cmVmLHJlczplLGltYWdlOnQsaXNJbmxpbmU6aSxwZGZGdW5jdGlvbkZhY3Rvcnk6dGhpcy5fcGRmRnVuY3Rpb25GYWN0b3J5LGxvY2FsQ29sb3JTcGFjZUNhY2hlOm59KTtRPWF3YWl0IHMuY3JlYXRlSW1hZ2VEYXRhKCEwLCExKTthLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkPXRoaXMub3B0aW9ucy5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDthLmFkZEltYWdlT3BzKF9lLFtRXSxsKX1jYXRjaChlKXtjb25zdCB0PWBVbmFibGUgdG8gZGVjb2RlIGlubGluZSBpbWFnZTogIiR7ZX0iLmA7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgbmV3IEVycm9yKHQpO3dhcm4odCl9cmV0dXJufWxldCB1PWBpbWdfJHt0aGlzLmlkRmFjdG9yeS5jcmVhdGVPYmpJZCgpfWAsZD0hMTtpZih0aGlzLnBhcnNpbmdUeXBlM0ZvbnQpdT1gJHt0aGlzLmlkRmFjdG9yeS5nZXREb2NJZCgpfV90eXBlM18ke3V9YDtlbHNlIGlmKHMmJm8pe2Q9dGhpcy5nbG9iYWxJbWFnZUNhY2hlLnNob3VsZENhY2hlKG8sdGhpcy5wYWdlSW5kZXgpO2lmKGQpe2Fzc2VydCghaSwiQ2Fubm90IGNhY2hlIGFuIGlubGluZSBpbWFnZSBnbG9iYWxseS4iKTt1PWAke3RoaXMuaWRGYWN0b3J5LmdldERvY0lkKCl9XyR7dX1gfX1hLmFkZERlcGVuZGVuY3kodSk7RT1bdSxjLENdO2EuYWRkSW1hZ2VPcHMoemUsRSxsKTtpZihkKXtpZih0aGlzLmdsb2JhbEltYWdlQ2FjaGUuaGFzRGVjb2RlRmFpbGVkKG8pKXt0aGlzLmdsb2JhbEltYWdlQ2FjaGUuc2V0RGF0YShvLHtvYmpJZDp1LGZuOnplLGFyZ3M6RSxvcHRpb25hbENvbnRlbnQ6bCxieXRlU2l6ZTowfSk7dGhpcy5fc2VuZEltZ0RhdGEodSxudWxsLGQpO3JldHVybn1pZihjKkM+MjVlNHx8Zy5oYXMoIlNNYXNrIil8fGcuaGFzKCJNYXNrIikpe2NvbnN0IGU9YXdhaXQgdGhpcy5oYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgiY29tbW9ub2JqIixbdSwiQ29weUxvY2FsSW1hZ2UiLHtpbWFnZVJlZjpvfV0pO2lmKGUpe3RoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5zZXREYXRhKG8se29iaklkOnUsZm46emUsYXJnczpFLG9wdGlvbmFsQ29udGVudDpsLGJ5dGVTaXplOjB9KTt0aGlzLmdsb2JhbEltYWdlQ2FjaGUuYWRkQnl0ZVNpemUobyxlKTtyZXR1cm59fX1QREZJbWFnZS5idWlsZEltYWdlKHt4cmVmOnRoaXMueHJlZixyZXM6ZSxpbWFnZTp0LGlzSW5saW5lOmkscGRmRnVuY3Rpb25GYWN0b3J5OnRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeSxsb2NhbENvbG9yU3BhY2VDYWNoZTpufSkudGhlbigoYXN5bmMgZT0+e1E9YXdhaXQgZS5jcmVhdGVJbWFnZURhdGEoITEsdGhpcy5vcHRpb25zLmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkKTtRLmRhdGFMZW49US5iaXRtYXA/US53aWR0aCpRLmhlaWdodCo0OlEuZGF0YS5sZW5ndGg7US5yZWY9bztkJiZ0aGlzLmdsb2JhbEltYWdlQ2FjaGUuYWRkQnl0ZVNpemUobyxRLmRhdGFMZW4pO3JldHVybiB0aGlzLl9zZW5kSW1nRGF0YSh1LFEsZCl9KSkuY2F0Y2goKGU9Pnt3YXJuKGBVbmFibGUgdG8gZGVjb2RlIGltYWdlICIke3V9IjogIiR7ZX0iLmApO28mJnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5hZGREZWNvZGVGYWlsZWQobyk7cmV0dXJuIHRoaXMuX3NlbmRJbWdEYXRhKHUsbnVsbCxkKX0pKTtpZihzKXtjb25zdCBlPXtvYmpJZDp1LGZuOnplLGFyZ3M6RSxvcHRpb25hbENvbnRlbnQ6bH07ci5zZXQocyxvLGUpO2lmKG8pe3RoaXMuX3JlZ2lvbmFsSW1hZ2VDYWNoZS5zZXQobnVsbCxvLGUpO2QmJnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZS5zZXREYXRhKG8se29iaklkOnUsZm46emUsYXJnczpFLG9wdGlvbmFsQ29udGVudDpsLGJ5dGVTaXplOjB9KX19fWhhbmRsZVNNYXNrKGUsdCxpLGEscyxyKXtjb25zdCBuPWUuZ2V0KCJHIiksZz17c3VidHlwZTplLmdldCgiUyIpLm5hbWUsYmFja2Ryb3A6ZS5nZXQoIkJDIil9LG89ZS5nZXQoIlRSIik7aWYoaXNQREZGdW5jdGlvbihvKSl7Y29uc3QgZT10aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnkuY3JlYXRlKG8pLHQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxpPW5ldyBGbG9hdDMyQXJyYXkoMSk7Zm9yKGxldCBhPTA7YTwyNTY7YSsrKXtpWzBdPWEvMjU1O2UoaSwwLGksMCk7dFthXT0yNTUqaVswXXwwfWcudHJhbnNmZXJNYXA9dH1yZXR1cm4gdGhpcy5idWlsZEZvcm1YT2JqZWN0KHQsbixnLGksYSxzLnN0YXRlLmNsb25lKCkscil9aGFuZGxlVHJhbnNmZXJGdW5jdGlvbihlKXtsZXQgdDtpZihBcnJheS5pc0FycmF5KGUpKXQ9ZTtlbHNle2lmKCFpc1BERkZ1bmN0aW9uKGUpKXJldHVybiBudWxsO3Q9W2VdfWNvbnN0IGk9W107bGV0IGE9MCxzPTA7Zm9yKGNvbnN0IGUgb2YgdCl7Y29uc3QgdD10aGlzLnhyZWYuZmV0Y2hJZlJlZihlKTthKys7aWYoaXNOYW1lKHQsIklkZW50aXR5Iikpe2kucHVzaChudWxsKTtjb250aW51ZX1pZighaXNQREZGdW5jdGlvbih0KSlyZXR1cm4gbnVsbDtjb25zdCByPXRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeS5jcmVhdGUodCksbj1uZXcgVWludDhBcnJheSgyNTYpLGc9bmV3IEZsb2F0MzJBcnJheSgxKTtmb3IobGV0IGU9MDtlPDI1NjtlKyspe2dbMF09ZS8yNTU7cihnLDAsZywwKTtuW2VdPTI1NSpnWzBdfDB9aS5wdXNoKG4pO3MrK31yZXR1cm4gMSE9PWEmJjQhPT1hfHwwPT09cz9udWxsOml9aGFuZGxlVGlsaW5nVHlwZShlLHQsaSxhLHMscixuLGcpe2NvbnN0IG89bmV3IE9wZXJhdG9yTGlzdCxjPURpY3QubWVyZ2Uoe3hyZWY6dGhpcy54cmVmLGRpY3RBcnJheTpbcy5nZXQoIlJlc291cmNlcyIpLGldfSk7cmV0dXJuIHRoaXMuZ2V0T3BlcmF0b3JMaXN0KHtzdHJlYW06YSx0YXNrOm4scmVzb3VyY2VzOmMsb3BlcmF0b3JMaXN0Om99KS50aGVuKChmdW5jdGlvbigpe2NvbnN0IGk9by5nZXRJUigpLGE9Z2V0VGlsaW5nUGF0dGVybklSKGkscyx0KTtyLmFkZERlcGVuZGVuY2llcyhvLmRlcGVuZGVuY2llcyk7ci5hZGRPcChlLGEpO3Mub2JqSWQmJmcuc2V0KG51bGwscy5vYmpJZCx7b3BlcmF0b3JMaXN0SVI6aSxkaWN0OnN9KX0pKS5jYXRjaCgoZT0+e2lmKCEoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKSl7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBoYW5kbGVUaWxpbmdUeXBlIC0gaWdub3JpbmcgcGF0dGVybjogIiR7ZX0iLmApfX0pKX1hc3luYyBoYW5kbGVTZXRGb250KGUsdCxpLGEscyxyLG49bnVsbCxnPW51bGwpe2NvbnN0IG89dD8uWzBdaW5zdGFuY2VvZiBOYW1lP3RbMF0ubmFtZTpudWxsO2xldCBjPWF3YWl0IHRoaXMubG9hZEZvbnQobyxpLGUsbixnKTtpZihjLmZvbnQuaXNUeXBlM0ZvbnQpdHJ5e2F3YWl0IGMubG9hZFR5cGUzRGF0YSh0aGlzLGUscyk7YS5hZGREZXBlbmRlbmNpZXMoYy50eXBlM0RlcGVuZGVuY2llcyl9Y2F0Y2goZSl7Yz1uZXcgVHJhbnNsYXRlZEZvbnQoe2xvYWRlZE5hbWU6ImdfZm9udF9lcnJvciIsZm9udDpuZXcgRXJyb3JGb250KGBUeXBlMyBmb250IGxvYWQgZXJyb3I6ICR7ZX1gKSxkaWN0OmMuZm9udCxldmFsdWF0b3JPcHRpb25zOnRoaXMub3B0aW9uc30pfXIuZm9udD1jLmZvbnQ7Yy5zZW5kKHRoaXMuaGFuZGxlcik7cmV0dXJuIGMubG9hZGVkTmFtZX1oYW5kbGVUZXh0KGUsdCl7Y29uc3QgaT10LmZvbnQsYT1pLmNoYXJzVG9HbHlwaHMoZSk7aWYoaS5kYXRhKXsoISEodC50ZXh0UmVuZGVyaW5nTW9kZSZEKXx8IlBhdHRlcm4iPT09dC5maWxsQ29sb3JTcGFjZS5uYW1lfHxpLmRpc2FibGVGb250RmFjZXx8dGhpcy5vcHRpb25zLmRpc2FibGVGb250RmFjZSkmJlBhcnRpYWxFdmFsdWF0b3IuYnVpbGRGb250UGF0aHMoaSxhLHRoaXMuaGFuZGxlcix0aGlzLm9wdGlvbnMpfXJldHVybiBhfWVuc3VyZVN0YXRlRm9udChlKXtpZihlLmZvbnQpcmV0dXJuO2NvbnN0IHQ9bmV3IEZvcm1hdEVycm9yKCJNaXNzaW5nIHNldEZvbnQgKFRmKSBvcGVyYXRvciBiZWZvcmUgdGV4dCByZW5kZXJpbmcgb3BlcmF0b3IuIik7aWYoIXRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgdDt3YXJuKGBlbnN1cmVTdGF0ZUZvbnQ6ICIke3R9Ii5gKX1hc3luYyBzZXRHU3RhdGUoe3Jlc291cmNlczplLGdTdGF0ZTp0LG9wZXJhdG9yTGlzdDppLGNhY2hlS2V5OmEsdGFzazpzLHN0YXRlTWFuYWdlcjpyLGxvY2FsR1N0YXRlQ2FjaGU6bixsb2NhbENvbG9yU3BhY2VDYWNoZTpnfSl7Y29uc3Qgbz10Lm9iaklkO2xldCBjPSEwO2NvbnN0IEM9W107bGV0IGg9UHJvbWlzZS5yZXNvbHZlKCk7Zm9yKGNvbnN0IGEgb2YgdC5nZXRLZXlzKCkpe2NvbnN0IG49dC5nZXQoYSk7c3dpdGNoKGEpe2Nhc2UiVHlwZSI6YnJlYWs7Y2FzZSJMVyI6Y2FzZSJMQyI6Y2FzZSJMSiI6Y2FzZSJNTCI6Y2FzZSJEIjpjYXNlIlJJIjpjYXNlIkZMIjpjYXNlIkNBIjpjYXNlImNhIjpDLnB1c2goW2Esbl0pO2JyZWFrO2Nhc2UiRm9udCI6Yz0hMTtoPWgudGhlbigoKCk9PnRoaXMuaGFuZGxlU2V0Rm9udChlLG51bGwsblswXSxpLHMsci5zdGF0ZSkudGhlbigoZnVuY3Rpb24oZSl7aS5hZGREZXBlbmRlbmN5KGUpO0MucHVzaChbYSxbZSxuWzFdXV0pfSkpKSk7YnJlYWs7Y2FzZSJCTSI6Qy5wdXNoKFthLG5vcm1hbGl6ZUJsZW5kTW9kZShuKV0pO2JyZWFrO2Nhc2UiU01hc2siOmlmKGlzTmFtZShuLCJOb25lIikpe0MucHVzaChbYSwhMV0pO2JyZWFrfWlmKG4gaW5zdGFuY2VvZiBEaWN0KXtjPSExO2g9aC50aGVuKCgoKT0+dGhpcy5oYW5kbGVTTWFzayhuLGUsaSxzLHIsZykpKTtDLnB1c2goW2EsITBdKX1lbHNlIHdhcm4oIlVuc3VwcG9ydGVkIFNNYXNrIHR5cGUiKTticmVhaztjYXNlIlRSIjpjb25zdCB0PXRoaXMuaGFuZGxlVHJhbnNmZXJGdW5jdGlvbihuKTtDLnB1c2goW2EsdF0pO2JyZWFrO2Nhc2UiT1AiOmNhc2Uib3AiOmNhc2UiT1BNIjpjYXNlIkJHIjpjYXNlIkJHMiI6Y2FzZSJVQ1IiOmNhc2UiVUNSMiI6Y2FzZSJUUjIiOmNhc2UiSFQiOmNhc2UiU00iOmNhc2UiU0EiOmNhc2UiQUlTIjpjYXNlIlRLIjppbmZvKCJncmFwaGljIHN0YXRlIG9wZXJhdG9yICIrYSk7YnJlYWs7ZGVmYXVsdDppbmZvKCJVbmtub3duIGdyYXBoaWMgc3RhdGUgb3BlcmF0b3IgIithKX19YXdhaXQgaDtDLmxlbmd0aD4wJiZpLmFkZE9wKEdBLFtDXSk7YyYmbi5zZXQoYSxvLEMpfWxvYWRGb250KGUsdCxpLGE9bnVsbCxzPW51bGwpe2NvbnN0IGVycm9yRm9udD1hc3luYygpPT5uZXcgVHJhbnNsYXRlZEZvbnQoe2xvYWRlZE5hbWU6ImdfZm9udF9lcnJvciIsZm9udDpuZXcgRXJyb3JGb250KGBGb250ICIke2V9IiBpcyBub3QgYXZhaWxhYmxlLmApLGRpY3Q6dCxldmFsdWF0b3JPcHRpb25zOnRoaXMub3B0aW9uc30pO2xldCByO2lmKHQpdCBpbnN0YW5jZW9mIFJlZiYmKHI9dCk7ZWxzZXtjb25zdCB0PWkuZ2V0KCJGb250Iik7dCYmKHI9dC5nZXRSYXcoZSkpfWlmKHIpe2lmKHRoaXMudHlwZTNGb250UmVmcz8uaGFzKHIpKXJldHVybiBlcnJvckZvbnQoKTtpZih0aGlzLmZvbnRDYWNoZS5oYXMocikpcmV0dXJuIHRoaXMuZm9udENhY2hlLmdldChyKTt0cnl7dD10aGlzLnhyZWYuZmV0Y2hJZlJlZihyKX1jYXRjaChlKXt3YXJuKGBsb2FkRm9udCAtIGxvb2t1cCBmYWlsZWQ6ICIke2V9Ii5gKX19aWYoISh0IGluc3RhbmNlb2YgRGljdCkpe2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzJiYhdGhpcy5wYXJzaW5nVHlwZTNGb250KXt3YXJuKGBGb250ICIke2V9IiBpcyBub3QgYXZhaWxhYmxlLmApO3JldHVybiBlcnJvckZvbnQoKX13YXJuKGBGb250ICIke2V9IiBpcyBub3QgYXZhaWxhYmxlIC0tIGF0dGVtcHRpbmcgdG8gZmFsbGJhY2sgdG8gYSBkZWZhdWx0IGZvbnQuYCk7dD1hfHxQYXJ0aWFsRXZhbHVhdG9yLmZhbGxiYWNrRm9udERpY3R9aWYodC5jYWNoZUtleSYmdGhpcy5mb250Q2FjaGUuaGFzKHQuY2FjaGVLZXkpKXJldHVybiB0aGlzLmZvbnRDYWNoZS5nZXQodC5jYWNoZUtleSk7Y29uc3R7cHJvbWlzZTpuLHJlc29sdmU6Z309UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7bGV0IG87dHJ5e289dGhpcy5wcmVFdmFsdWF0ZUZvbnQodCk7by5jc3NGb250SW5mbz1zfWNhdGNoKGUpe3dhcm4oYGxvYWRGb250IC0gcHJlRXZhbHVhdGVGb250IGZhaWxlZDogIiR7ZX0iLmApO3JldHVybiBlcnJvckZvbnQoKX1jb25zdHtkZXNjcmlwdG9yOmMsaGFzaDpDfT1vLGg9ciBpbnN0YW5jZW9mIFJlZjtsZXQgbDtpZihDJiZjIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1jLmZvbnRBbGlhc2VzfHw9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihlW0NdKXtjb25zdCB0PWVbQ10uYWxpYXNSZWY7aWYoaCYmdCYmdGhpcy5mb250Q2FjaGUuaGFzKHQpKXt0aGlzLmZvbnRDYWNoZS5wdXRBbGlhcyhyLHQpO3JldHVybiB0aGlzLmZvbnRDYWNoZS5nZXQocil9fWVsc2UgZVtDXT17Zm9udElEOnRoaXMuaWRGYWN0b3J5LmNyZWF0ZUZvbnRJZCgpfTtoJiYoZVtDXS5hbGlhc1JlZj1yKTtsPWVbQ10uZm9udElEfWVsc2UgbD10aGlzLmlkRmFjdG9yeS5jcmVhdGVGb250SWQoKTthc3NlcnQobD8uc3RhcnRzV2l0aCgiZiIpLCdUaGUgImZvbnRJRCIgbXVzdCBiZSAoY29ycmVjdGx5KSBkZWZpbmVkLicpO2lmKGgpdGhpcy5mb250Q2FjaGUucHV0KHIsbik7ZWxzZXt0LmNhY2hlS2V5PWBjYWNoZUtleV8ke2x9YDt0aGlzLmZvbnRDYWNoZS5wdXQodC5jYWNoZUtleSxuKX10LmxvYWRlZE5hbWU9YCR7dGhpcy5pZEZhY3RvcnkuZ2V0RG9jSWQoKX1fJHtsfWA7dGhpcy50cmFuc2xhdGVGb250KG8pLnRoZW4oKGU9PntnKG5ldyBUcmFuc2xhdGVkRm9udCh7bG9hZGVkTmFtZTp0LmxvYWRlZE5hbWUsZm9udDplLGRpY3Q6dCxldmFsdWF0b3JPcHRpb25zOnRoaXMub3B0aW9uc30pKX0pKS5jYXRjaCgoZT0+e3dhcm4oYGxvYWRGb250IC0gdHJhbnNsYXRlRm9udCBmYWlsZWQ6ICIke2V9Ii5gKTtnKG5ldyBUcmFuc2xhdGVkRm9udCh7bG9hZGVkTmFtZTp0LmxvYWRlZE5hbWUsZm9udDpuZXcgRXJyb3JGb250KGUgaW5zdGFuY2VvZiBFcnJvcj9lLm1lc3NhZ2U6ZSksZGljdDp0LGV2YWx1YXRvck9wdGlvbnM6dGhpcy5vcHRpb25zfSkpfSkpO3JldHVybiBufWJ1aWxkUGF0aChlLHQsaSxhPSExKXtjb25zdCBzPWUubGVuZ3RoLTE7aXx8KGk9W10pO2lmKHM8MHx8ZS5mbkFycmF5W3NdIT09aXQpe2lmKGEpe3dhcm4oYEVuY291bnRlcmVkIHBhdGggb3BlcmF0b3IgIiR7dH0iIGluc2lkZSBvZiBhIHRleHQgb2JqZWN0LmApO2UuYWRkT3AoeEEsbnVsbCl9bGV0IHM7c3dpdGNoKHQpe2Nhc2UgVEE6Y29uc3QgZT1pWzBdK2lbMl0sdD1pWzFdK2lbM107cz1bTWF0aC5taW4oaVswXSxlKSxNYXRoLm1pbihpWzFdLHQpLE1hdGgubWF4KGlbMF0sZSksTWF0aC5tYXgoaVsxXSx0KV07YnJlYWs7Y2FzZSBMQTpjYXNlIEhBOnM9W2lbMF0saVsxXSxpWzBdLGlbMV1dO2JyZWFrO2RlZmF1bHQ6cz1bMS8wLDEvMCwtMS8wLC0xLzBdfWUuYWRkT3AoaXQsW1t0XSxpLHNdKTthJiZlLmFkZE9wKFVBLG51bGwpfWVsc2V7Y29uc3QgYT1lLmFyZ3NBcnJheVtzXTthWzBdLnB1c2godCk7YVsxXS5wdXNoKC4uLmkpO2NvbnN0IHI9YVsyXTtzd2l0Y2godCl7Y2FzZSBUQTpjb25zdCBlPWlbMF0raVsyXSx0PWlbMV0raVszXTtyWzBdPU1hdGgubWluKHJbMF0saVswXSxlKTtyWzFdPU1hdGgubWluKHJbMV0saVsxXSx0KTtyWzJdPU1hdGgubWF4KHJbMl0saVswXSxlKTtyWzNdPU1hdGgubWF4KHJbM10saVsxXSx0KTticmVhaztjYXNlIExBOmNhc2UgSEE6clswXT1NYXRoLm1pbihyWzBdLGlbMF0pO3JbMV09TWF0aC5taW4oclsxXSxpWzFdKTtyWzJdPU1hdGgubWF4KHJbMl0saVswXSk7clszXT1NYXRoLm1heChyWzNdLGlbMV0pfX19cGFyc2VDb2xvclNwYWNlKHtjczplLHJlc291cmNlczp0LGxvY2FsQ29sb3JTcGFjZUNhY2hlOml9KXtyZXR1cm4gQ29sb3JTcGFjZS5wYXJzZUFzeW5jKHtjczplLHhyZWY6dGhpcy54cmVmLHJlc291cmNlczp0LHBkZkZ1bmN0aW9uRmFjdG9yeTp0aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnksbG9jYWxDb2xvclNwYWNlQ2FjaGU6aX0pLmNhdGNoKChlPT57aWYoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKXJldHVybiBudWxsO2lmKHRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpe3dhcm4oYHBhcnNlQ29sb3JTcGFjZSAtIGlnbm9yaW5nIENvbG9yU3BhY2U6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH10aHJvdyBlfSkpfXBhcnNlU2hhZGluZyh7c2hhZGluZzplLHJlc291cmNlczp0LGxvY2FsQ29sb3JTcGFjZUNhY2hlOmksbG9jYWxTaGFkaW5nUGF0dGVybkNhY2hlOmF9KXtsZXQgcyxyPWEuZ2V0KGUpO2lmKHIpcmV0dXJuIHI7dHJ5e3M9UGF0dGVybi5wYXJzZVNoYWRpbmcoZSx0aGlzLnhyZWYsdCx0aGlzLl9wZGZGdW5jdGlvbkZhY3RvcnksaSkuZ2V0SVIoKX1jYXRjaCh0KXtpZih0IGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pcmV0dXJuIG51bGw7aWYodGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl7d2FybihgcGFyc2VTaGFkaW5nIC0gaWdub3Jpbmcgc2hhZGluZzogIiR7dH0iLmApO2Euc2V0KGUsbnVsbCk7cmV0dXJuIG51bGx9dGhyb3cgdH1yPWBwYXR0ZXJuXyR7dGhpcy5pZEZhY3RvcnkuY3JlYXRlT2JqSWQoKX1gO3RoaXMucGFyc2luZ1R5cGUzRm9udCYmKHI9YCR7dGhpcy5pZEZhY3RvcnkuZ2V0RG9jSWQoKX1fdHlwZTNfJHtyfWApO2Euc2V0KGUscik7dGhpcy5wYXJzaW5nVHlwZTNGb250P3RoaXMuaGFuZGxlci5zZW5kKCJjb21tb25vYmoiLFtyLCJQYXR0ZXJuIixzXSk6dGhpcy5oYW5kbGVyLnNlbmQoIm9iaiIsW3IsdGhpcy5wYWdlSW5kZXgsIlBhdHRlcm4iLHNdKTtyZXR1cm4gcn1oYW5kbGVDb2xvck4oZSx0LGksYSxzLHIsbixnLG8sYyl7Y29uc3QgQz1pLnBvcCgpO2lmKEMgaW5zdGFuY2VvZiBOYW1lKXtjb25zdCBoPXMuZ2V0UmF3KEMubmFtZSksbD1oIGluc3RhbmNlb2YgUmVmJiZvLmdldEJ5UmVmKGgpO2lmKGwpdHJ5e2NvbnN0IHM9YS5iYXNlP2EuYmFzZS5nZXRSZ2IoaSwwKTpudWxsLHI9Z2V0VGlsaW5nUGF0dGVybklSKGwub3BlcmF0b3JMaXN0SVIsbC5kaWN0LHMpO2UuYWRkT3AodCxyKTtyZXR1cm59Y2F0Y2h7fWNvbnN0IFE9dGhpcy54cmVmLmZldGNoSWZSZWYoaCk7aWYoUSl7Y29uc3Qgcz1RIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9RLmRpY3Q6USxDPXMuZ2V0KCJQYXR0ZXJuVHlwZSIpO2lmKEM9PT1Ocyl7Y29uc3QgZz1hLmJhc2U/YS5iYXNlLmdldFJnYihpLDApOm51bGw7cmV0dXJuIHRoaXMuaGFuZGxlVGlsaW5nVHlwZSh0LGcscixRLHMsZSxuLG8pfWlmKEM9PT1Hcyl7Y29uc3QgaT1zLmdldCgiU2hhZGluZyIpLGE9dGhpcy5wYXJzZVNoYWRpbmcoe3NoYWRpbmc6aSxyZXNvdXJjZXM6cixsb2NhbENvbG9yU3BhY2VDYWNoZTpnLGxvY2FsU2hhZGluZ1BhdHRlcm5DYWNoZTpjfSk7aWYoYSl7Y29uc3QgaT1sb29rdXBNYXRyaXgocy5nZXRBcnJheSgiTWF0cml4IiksbnVsbCk7ZS5hZGRPcCh0LFsiU2hhZGluZyIsYSxpXSl9cmV0dXJufXRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5rbm93biBQYXR0ZXJuVHlwZTogJHtDfWApfX10aHJvdyBuZXcgRm9ybWF0RXJyb3IoYFVua25vd24gUGF0dGVybk5hbWU6ICR7Q31gKX1fcGFyc2VWaXNpYmlsaXR5RXhwcmVzc2lvbihlLHQsaSl7aWYoKyt0PjEwKXt3YXJuKCJWaXNpYmlsaXR5IGV4cHJlc3Npb24gaXMgdG9vIGRlZXBseSBuZXN0ZWQiKTtyZXR1cm59Y29uc3QgYT1lLmxlbmd0aCxzPXRoaXMueHJlZi5mZXRjaElmUmVmKGVbMF0pO2lmKCEoYTwyKSYmcyBpbnN0YW5jZW9mIE5hbWUpe3N3aXRjaChzLm5hbWUpe2Nhc2UiQW5kIjpjYXNlIk9yIjpjYXNlIk5vdCI6aS5wdXNoKHMubmFtZSk7YnJlYWs7ZGVmYXVsdDp3YXJuKGBJbnZhbGlkIG9wZXJhdG9yICR7cy5uYW1lfSBpbiB2aXNpYmlsaXR5IGV4cHJlc3Npb25gKTtyZXR1cm59Zm9yKGxldCBzPTE7czxhO3MrKyl7Y29uc3QgYT1lW3NdLHI9dGhpcy54cmVmLmZldGNoSWZSZWYoYSk7aWYoQXJyYXkuaXNBcnJheShyKSl7Y29uc3QgZT1bXTtpLnB1c2goZSk7dGhpcy5fcGFyc2VWaXNpYmlsaXR5RXhwcmVzc2lvbihyLHQsZSl9ZWxzZSBhIGluc3RhbmNlb2YgUmVmJiZpLnB1c2goYS50b1N0cmluZygpKX19ZWxzZSB3YXJuKCJJbnZhbGlkIHZpc2liaWxpdHkgZXhwcmVzc2lvbiIpfWFzeW5jIHBhcnNlTWFya2VkQ29udGVudFByb3BzKGUsdCl7bGV0IGk7aWYoZSBpbnN0YW5jZW9mIE5hbWUpe2k9dC5nZXQoIlByb3BlcnRpZXMiKS5nZXQoZS5uYW1lKX1lbHNle2lmKCEoZSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiT3B0aW9uYWwgY29udGVudCBwcm9wZXJ0aWVzIG1hbGZvcm1lZC4iKTtpPWV9Y29uc3QgYT1pLmdldCgiVHlwZSIpPy5uYW1lO2lmKCJPQ0ciPT09YSlyZXR1cm57dHlwZTphLGlkOmkub2JqSWR9O2lmKCJPQ01EIj09PWEpe2NvbnN0IGU9aS5nZXQoIlZFIik7aWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3QgdD1bXTt0aGlzLl9wYXJzZVZpc2liaWxpdHlFeHByZXNzaW9uKGUsMCx0KTtpZih0Lmxlbmd0aD4wKXJldHVybnt0eXBlOiJPQ01EIixleHByZXNzaW9uOnR9fWNvbnN0IHQ9aS5nZXQoIk9DR3MiKTtpZihBcnJheS5pc0FycmF5KHQpfHx0IGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1bXTtpZihBcnJheS5pc0FycmF5KHQpKWZvcihjb25zdCBpIG9mIHQpZS5wdXNoKGkudG9TdHJpbmcoKSk7ZWxzZSBlLnB1c2godC5vYmpJZCk7cmV0dXJue3R5cGU6YSxpZHM6ZSxwb2xpY3k6aS5nZXQoIlAiKWluc3RhbmNlb2YgTmFtZT9pLmdldCgiUCIpLm5hbWU6bnVsbCxleHByZXNzaW9uOm51bGx9fWlmKHQgaW5zdGFuY2VvZiBSZWYpcmV0dXJue3R5cGU6YSxpZDp0LnRvU3RyaW5nKCl9fXJldHVybiBudWxsfWdldE9wZXJhdG9yTGlzdCh7c3RyZWFtOmUsdGFzazp0LHJlc291cmNlczppLG9wZXJhdG9yTGlzdDphLGluaXRpYWxTdGF0ZTpzPW51bGwsZmFsbGJhY2tGb250RGljdDpyPW51bGx9KXtpfHw9RGljdC5lbXB0eTtzfHw9bmV3IEV2YWxTdGF0ZTtpZighYSl0aHJvdyBuZXcgRXJyb3IoJ2dldE9wZXJhdG9yTGlzdDogbWlzc2luZyAib3BlcmF0b3JMaXN0IiBwYXJhbWV0ZXInKTtjb25zdCBuPXRoaXMsZz10aGlzLnhyZWY7bGV0IG89ITE7Y29uc3QgYz1uZXcgTG9jYWxJbWFnZUNhY2hlLEM9bmV3IExvY2FsQ29sb3JTcGFjZUNhY2hlLGg9bmV3IExvY2FsR1N0YXRlQ2FjaGUsbD1uZXcgTG9jYWxUaWxpbmdQYXR0ZXJuQ2FjaGUsUT1uZXcgTWFwLEU9aS5nZXQoIlhPYmplY3QiKXx8RGljdC5lbXB0eSx1PWkuZ2V0KCJQYXR0ZXJuIil8fERpY3QuZW1wdHksZD1uZXcgU3RhdGVNYW5hZ2VyKHMpLGY9bmV3IEV2YWx1YXRvclByZXByb2Nlc3NvcihlLGcsZCkscD1uZXcgVGltZVNsb3RNYW5hZ2VyO2Z1bmN0aW9uIGNsb3NlUGVuZGluZ1Jlc3RvcmVPUFMoZSl7Zm9yKGxldCBlPTAsdD1mLnNhdmVkU3RhdGVzRGVwdGg7ZTx0O2UrKylhLmFkZE9wKFVBLFtdKX1yZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uIHByb21pc2VCb2R5KGUscyl7Y29uc3QgbmV4dD1mdW5jdGlvbih0KXtQcm9taXNlLmFsbChbdCxhLnJlYWR5XSkudGhlbigoZnVuY3Rpb24oKXt0cnl7cHJvbWlzZUJvZHkoZSxzKX1jYXRjaChlKXtzKGUpfX0pLHMpfTt0LmVuc3VyZU5vdFRlcm1pbmF0ZWQoKTtwLnJlc2V0KCk7Y29uc3QgbT17fTtsZXQgeSx3LEQsYixGLFM7Zm9yKDshKHk9cC5jaGVjaygpKTspe20uYXJncz1udWxsO2lmKCFmLnJlYWQobSkpYnJlYWs7bGV0IGU9bS5hcmdzLHM9bS5mbjtzd2l0Y2goMHxzKXtjYXNlIE1lOlM9ZVswXWluc3RhbmNlb2YgTmFtZTtGPWVbMF0ubmFtZTtpZihTKXtjb25zdCB0PWMuZ2V0QnlOYW1lKEYpO2lmKHQpe2FkZExvY2FsbHlDYWNoZWRJbWFnZU9wcyhhLHQpO2U9bnVsbDtjb250aW51ZX19bmV4dChuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxzKXtpZighUyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlhPYmplY3QgbXVzdCBiZSByZWZlcnJlZCB0byBieSBuYW1lLiIpO2xldCByPUUuZ2V0UmF3KEYpO2lmKHIgaW5zdGFuY2VvZiBSZWYpe2NvbnN0IHQ9Yy5nZXRCeVJlZihyKXx8bi5fcmVnaW9uYWxJbWFnZUNhY2hlLmdldEJ5UmVmKHIpO2lmKHQpe2FkZExvY2FsbHlDYWNoZWRJbWFnZU9wcyhhLHQpO2UoKTtyZXR1cm59Y29uc3QgaT1uLmdsb2JhbEltYWdlQ2FjaGUuZ2V0RGF0YShyLG4ucGFnZUluZGV4KTtpZihpKXthLmFkZERlcGVuZGVuY3koaS5vYmpJZCk7YS5hZGRJbWFnZU9wcyhpLmZuLGkuYXJncyxpLm9wdGlvbmFsQ29udGVudCk7ZSgpO3JldHVybn1yPWcuZmV0Y2gocil9aWYoIShyIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJYT2JqZWN0IHNob3VsZCBiZSBhIHN0cmVhbSIpO2NvbnN0IG89ci5kaWN0LmdldCgiU3VidHlwZSIpO2lmKCEobyBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiWE9iamVjdCBzaG91bGQgaGF2ZSBhIE5hbWUgc3VidHlwZSIpO2lmKCJGb3JtIiE9PW8ubmFtZSlpZigiSW1hZ2UiIT09by5uYW1lKXtpZigiUFMiIT09by5uYW1lKXRocm93IG5ldyBGb3JtYXRFcnJvcihgVW5oYW5kbGVkIFhPYmplY3Qgc3VidHlwZSAke28ubmFtZX1gKTtpbmZvKCJJZ25vcmVkIFhPYmplY3Qgc3VidHlwZSBQUyIpO2UoKX1lbHNlIG4uYnVpbGRQYWludEltYWdlWE9iamVjdCh7cmVzb3VyY2VzOmksaW1hZ2U6cixvcGVyYXRvckxpc3Q6YSxjYWNoZUtleTpGLGxvY2FsSW1hZ2VDYWNoZTpjLGxvY2FsQ29sb3JTcGFjZUNhY2hlOkN9KS50aGVuKGUscyk7ZWxzZXtkLnNhdmUoKTtuLmJ1aWxkRm9ybVhPYmplY3QoaSxyLG51bGwsYSx0LGQuc3RhdGUuY2xvbmUoKSxDKS50aGVuKChmdW5jdGlvbigpe2QucmVzdG9yZSgpO2UoKX0pLHMpfX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighbi5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIFhPYmplY3Q6ICIke2V9Ii5gKX19KSkpO3JldHVybjtjYXNlIHJlOnZhciBrPWVbMV07bmV4dChuLmhhbmRsZVNldEZvbnQoaSxlLG51bGwsYSx0LGQuc3RhdGUscikudGhlbigoZnVuY3Rpb24oZSl7YS5hZGREZXBlbmRlbmN5KGUpO2EuYWRkT3AocmUsW2Usa10pfSkpKTtyZXR1cm47Y2FzZSBBZTpvPSEwO2JyZWFrO2Nhc2UgZWU6bz0hMTticmVhaztjYXNlIFVlOnZhciBSPWVbMF0uY2FjaGVLZXk7aWYoUil7Y29uc3QgdD1jLmdldEJ5TmFtZShSKTtpZih0KXthZGRMb2NhbGx5Q2FjaGVkSW1hZ2VPcHMoYSx0KTtlPW51bGw7Y29udGludWV9fW5leHQobi5idWlsZFBhaW50SW1hZ2VYT2JqZWN0KHtyZXNvdXJjZXM6aSxpbWFnZTplWzBdLGlzSW5saW5lOiEwLG9wZXJhdG9yTGlzdDphLGNhY2hlS2V5OlIsbG9jYWxJbWFnZUNhY2hlOmMsbG9jYWxDb2xvclNwYWNlQ2FjaGU6Q30pKTtyZXR1cm47Y2FzZSBoZTppZighZC5zdGF0ZS5mb250KXtuLmVuc3VyZVN0YXRlRm9udChkLnN0YXRlKTtjb250aW51ZX1lWzBdPW4uaGFuZGxlVGV4dChlWzBdLGQuc3RhdGUpO2JyZWFrO2Nhc2UgQmU6aWYoIWQuc3RhdGUuZm9udCl7bi5lbnN1cmVTdGF0ZUZvbnQoZC5zdGF0ZSk7Y29udGludWV9dmFyIE49W10sRz1kLnN0YXRlO2Zvcihjb25zdCB0IG9mIGVbMF0pInN0cmluZyI9PXR5cGVvZiB0P04ucHVzaCguLi5uLmhhbmRsZVRleHQodCxHKSk6Im51bWJlciI9PXR5cGVvZiB0JiZOLnB1c2godCk7ZVswXT1OO3M9aGU7YnJlYWs7Y2FzZSBsZTppZighZC5zdGF0ZS5mb250KXtuLmVuc3VyZVN0YXRlRm9udChkLnN0YXRlKTtjb250aW51ZX1hLmFkZE9wKENlKTtlWzBdPW4uaGFuZGxlVGV4dChlWzBdLGQuc3RhdGUpO3M9aGU7YnJlYWs7Y2FzZSBRZTppZighZC5zdGF0ZS5mb250KXtuLmVuc3VyZVN0YXRlRm9udChkLnN0YXRlKTtjb250aW51ZX1hLmFkZE9wKENlKTthLmFkZE9wKGllLFtlLnNoaWZ0KCldKTthLmFkZE9wKHRlLFtlLnNoaWZ0KCldKTtlWzBdPW4uaGFuZGxlVGV4dChlWzBdLGQuc3RhdGUpO3M9aGU7YnJlYWs7Y2FzZSBuZTpkLnN0YXRlLnRleHRSZW5kZXJpbmdNb2RlPWVbMF07YnJlYWs7Y2FzZSBmZTp7Y29uc3QgdD1Db2xvclNwYWNlLmdldENhY2hlZChlWzBdLGcsQyk7aWYodCl7ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT10O2NvbnRpbnVlfW5leHQobi5wYXJzZUNvbG9yU3BhY2Uoe2NzOmVbMF0scmVzb3VyY2VzOmksbG9jYWxDb2xvclNwYWNlQ2FjaGU6Q30pLnRoZW4oKGZ1bmN0aW9uKGUpe2Quc3RhdGUuZmlsbENvbG9yU3BhY2U9ZXx8Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXl9KSkpO3JldHVybn1jYXNlIGRlOntjb25zdCB0PUNvbG9yU3BhY2UuZ2V0Q2FjaGVkKGVbMF0sZyxDKTtpZih0KXtkLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U9dDtjb250aW51ZX1uZXh0KG4ucGFyc2VDb2xvclNwYWNlKHtjczplWzBdLHJlc291cmNlczppLGxvY2FsQ29sb3JTcGFjZUNhY2hlOkN9KS50aGVuKChmdW5jdGlvbihlKXtkLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U9ZXx8Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXl9KSkpO3JldHVybn1jYXNlIHllOmI9ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZTtlPWIuZ2V0UmdiKGUsMCk7cz1TZTticmVhaztjYXNlIHBlOmI9ZC5zdGF0ZS5zdHJva2VDb2xvclNwYWNlO2U9Yi5nZXRSZ2IoZSwwKTtzPUZlO2JyZWFrO2Nhc2UgYmU6ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheTtlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5LmdldFJnYihlLDApO3M9U2U7YnJlYWs7Y2FzZSBEZTpkLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLmdyYXk7ZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheS5nZXRSZ2IoZSwwKTtzPUZlO2JyZWFrO2Nhc2UgUmU6ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuY215aztlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrLmdldFJnYihlLDApO3M9U2U7YnJlYWs7Y2FzZSBrZTpkLnN0YXRlLnN0cm9rZUNvbG9yU3BhY2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLmNteWs7ZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuY215ay5nZXRSZ2IoZSwwKTtzPUZlO2JyZWFrO2Nhc2UgU2U6ZC5zdGF0ZS5maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMucmdiO2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLnJnYi5nZXRSZ2IoZSwwKTticmVhaztjYXNlIEZlOmQuc3RhdGUuc3Ryb2tlQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMucmdiO2U9Q29sb3JTcGFjZS5zaW5nbGV0b25zLnJnYi5nZXRSZ2IoZSwwKTticmVhaztjYXNlIHdlOmI9ZC5zdGF0ZS5wYXR0ZXJuRmlsbENvbG9yU3BhY2U7aWYoIWIpe2U9W107cz1zdDticmVha31pZigiUGF0dGVybiI9PT1iLm5hbWUpe25leHQobi5oYW5kbGVDb2xvck4oYSx3ZSxlLGIsdSxpLHQsQyxsLFEpKTtyZXR1cm59ZT1iLmdldFJnYihlLDApO3M9U2U7YnJlYWs7Y2FzZSBtZTpiPWQuc3RhdGUucGF0dGVyblN0cm9rZUNvbG9yU3BhY2U7aWYoIWIpe2U9W107cz1hdDticmVha31pZigiUGF0dGVybiI9PT1iLm5hbWUpe25leHQobi5oYW5kbGVDb2xvck4oYSxtZSxlLGIsdSxpLHQsQyxsLFEpKTtyZXR1cm59ZT1iLmdldFJnYihlLDApO3M9RmU7YnJlYWs7Y2FzZSBOZTpsZXQgZjt0cnl7Y29uc3QgdD1pLmdldCgiU2hhZGluZyIpO2lmKCF0KXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm8gc2hhZGluZyByZXNvdXJjZSBmb3VuZCIpO2Y9dC5nZXQoZVswXS5uYW1lKTtpZighZil0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk5vIHNoYWRpbmcgb2JqZWN0IGZvdW5kIil9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKWNvbnRpbnVlO2lmKG4ub3B0aW9ucy5pZ25vcmVFcnJvcnMpe3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIFNoYWRpbmc6ICIke2V9Ii5gKTtjb250aW51ZX10aHJvdyBlfWNvbnN0IHA9bi5wYXJzZVNoYWRpbmcoe3NoYWRpbmc6ZixyZXNvdXJjZXM6aSxsb2NhbENvbG9yU3BhY2VDYWNoZTpDLGxvY2FsU2hhZGluZ1BhdHRlcm5DYWNoZTpRfSk7aWYoIXApY29udGludWU7ZT1bcF07cz1OZTticmVhaztjYXNlIEdBOlM9ZVswXWluc3RhbmNlb2YgTmFtZTtGPWVbMF0ubmFtZTtpZihTKXtjb25zdCB0PWguZ2V0QnlOYW1lKEYpO2lmKHQpe3QubGVuZ3RoPjAmJmEuYWRkT3AoR0EsW3RdKTtlPW51bGw7Y29udGludWV9fW5leHQobmV3IFByb21pc2UoKGZ1bmN0aW9uKGUscyl7aWYoIVMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJHU3RhdGUgbXVzdCBiZSByZWZlcnJlZCB0byBieSBuYW1lLiIpO2NvbnN0IHI9aS5nZXQoIkV4dEdTdGF0ZSIpO2lmKCEociBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiRXh0R1N0YXRlIHNob3VsZCBiZSBhIGRpY3Rpb25hcnkuIik7Y29uc3QgZz1yLmdldChGKTtpZighKGcgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkdTdGF0ZSBzaG91bGQgYmUgYSBkaWN0aW9uYXJ5LiIpO24uc2V0R1N0YXRlKHtyZXNvdXJjZXM6aSxnU3RhdGU6ZyxvcGVyYXRvckxpc3Q6YSxjYWNoZUtleTpGLHRhc2s6dCxzdGF0ZU1hbmFnZXI6ZCxsb2NhbEdTdGF0ZUNhY2hlOmgsbG9jYWxDb2xvclNwYWNlQ2FjaGU6Q30pLnRoZW4oZSxzKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighbi5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIEV4dEdTdGF0ZTogIiR7ZX0iLmApfX0pKSk7cmV0dXJuO2Nhc2UgTEE6Y2FzZSBIQTpjYXNlIEpBOmNhc2UgWUE6Y2FzZSB2QTpjYXNlIEtBOmNhc2UgVEE6bi5idWlsZFBhdGgoYSxzLGUsbyk7Y29udGludWU7Y2FzZSBMZTpjYXNlIEhlOmNhc2UgS2U6Y2FzZSBUZTpjb250aW51ZTtjYXNlIFllOmlmKCEoZVswXWluc3RhbmNlb2YgTmFtZSkpe3dhcm4oYEV4cGVjdGVkIG5hbWUgZm9yIGJlZ2luTWFya2VkQ29udGVudFByb3BzIGFyZzA9JHtlWzBdfWApO2EuYWRkT3AoWWUsWyJPQyIsbnVsbF0pO2NvbnRpbnVlfWlmKCJPQyI9PT1lWzBdLm5hbWUpe25leHQobi5wYXJzZU1hcmtlZENvbnRlbnRQcm9wcyhlWzFdLGkpLnRoZW4oKGU9PnthLmFkZE9wKFllLFsiT0MiLGVdKX0pKS5jYXRjaCgoZT0+e2lmKCEoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKSl7aWYoIW4ub3B0aW9ucy5pZ25vcmVFcnJvcnMpdGhyb3cgZTt3YXJuKGBnZXRPcGVyYXRvckxpc3QgLSBpZ25vcmluZyBiZWdpbk1hcmtlZENvbnRlbnRQcm9wczogIiR7ZX0iLmApO2EuYWRkT3AoWWUsWyJPQyIsbnVsbF0pfX0pKSk7cmV0dXJufWU9W2VbMF0ubmFtZSxlWzFdaW5zdGFuY2VvZiBEaWN0P2VbMV0uZ2V0KCJNQ0lEIik6bnVsbF07YnJlYWs7ZGVmYXVsdDppZihudWxsIT09ZSl7Zm9yKHc9MCxEPWUubGVuZ3RoO3c8RCYmIShlW3ddaW5zdGFuY2VvZiBEaWN0KTt3KyspO2lmKHc8RCl7d2FybigiZ2V0T3BlcmF0b3JMaXN0IC0gaWdub3Jpbmcgb3BlcmF0b3I6ICIrcyk7Y29udGludWV9fX1hLmFkZE9wKHMsZSl9aWYoeSluZXh0KHhzKTtlbHNle2Nsb3NlUGVuZGluZ1Jlc3RvcmVPUFMoKTtlKCl9fSkpLmNhdGNoKChlPT57aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIGVycm9ycyBkdXJpbmcgIiR7dC5uYW1lfSIgdGFzazogIiR7ZX0iLmApO2Nsb3NlUGVuZGluZ1Jlc3RvcmVPUFMoKX19KSl9Z2V0VGV4dENvbnRlbnQoe3N0cmVhbTplLHRhc2s6dCxyZXNvdXJjZXM6cyxzdGF0ZU1hbmFnZXI6cj1udWxsLGluY2x1ZGVNYXJrZWRDb250ZW50Om49ITEsc2luazpnLHNlZW5TdHlsZXM6bz1uZXcgU2V0LHZpZXdCb3g6YyxsYW5nOkM9bnVsbCxtYXJrZWRDb250ZW50RGF0YTpoPW51bGwsZGlzYWJsZU5vcm1hbGl6YXRpb246bD0hMSxrZWVwV2hpdGVTcGFjZTpRPSExfSl7c3x8PURpY3QuZW1wdHk7cnx8PW5ldyBTdGF0ZU1hbmFnZXIobmV3IFRleHRTdGF0ZSk7biYmKGh8fD17bGV2ZWw6MH0pO2NvbnN0IEU9e2l0ZW1zOltdLHN0eWxlczpPYmplY3QuY3JlYXRlKG51bGwpLGxhbmc6Q30sdT17aW5pdGlhbGl6ZWQ6ITEsc3RyOltdLHRvdGFsV2lkdGg6MCx0b3RhbEhlaWdodDowLHdpZHRoOjAsaGVpZ2h0OjAsdmVydGljYWw6ITEscHJldlRyYW5zZm9ybTpudWxsLHRleHRBZHZhbmNlU2NhbGU6MCxzcGFjZUluRmxvd01pbjowLHNwYWNlSW5GbG93TWF4OjAsdHJhY2tpbmdTcGFjZU1pbjoxLzAsbmVnYXRpdmVTcGFjZU1heDotMS8wLG5vdEFTcGFjZTotMS8wLHRyYW5zZm9ybTpudWxsLGZvbnROYW1lOm51bGwsaGFzRU9MOiExfSxkPVsiICIsIiAiXTtsZXQgZj0wO2Z1bmN0aW9uIHNhdmVMYXN0Q2hhcihlKXtjb25zdCB0PShmKzEpJTIsaT0iICIhPT1kW2ZdJiYiICI9PT1kW3RdO2RbZl09ZTtmPXQ7cmV0dXJuIVEmJml9ZnVuY3Rpb24gc2hvdWxkQWRkV2hpdGVwc2FjZSgpe3JldHVybiFRJiYiICIhPT1kW2ZdJiYiICI9PT1kWyhmKzEpJTJdfWZ1bmN0aW9uIHJlc2V0TGFzdENoYXJzKCl7ZFswXT1kWzFdPSIgIjtmPTB9Y29uc3QgcD10aGlzLG09dGhpcy54cmVmLHk9W107bGV0IHc9bnVsbDtjb25zdCBEPW5ldyBMb2NhbEltYWdlQ2FjaGUsYj1uZXcgTG9jYWxHU3RhdGVDYWNoZSxGPW5ldyBFdmFsdWF0b3JQcmVwcm9jZXNzb3IoZSxtLHIpO2xldCBTO2Z1bmN0aW9uIHB1c2hXaGl0ZXNwYWNlKHt3aWR0aDplPTAsaGVpZ2h0OnQ9MCx0cmFuc2Zvcm06aT11LnByZXZUcmFuc2Zvcm0sZm9udE5hbWU6YT11LmZvbnROYW1lfSl7RS5pdGVtcy5wdXNoKHtzdHI6IiAiLGRpcjoibHRyIix3aWR0aDplLGhlaWdodDp0LHRyYW5zZm9ybTppLGZvbnROYW1lOmEsaGFzRU9MOiExfSl9ZnVuY3Rpb24gZ2V0Q3VycmVudFRleHRUcmFuc2Zvcm0oKXtjb25zdCBlPVMuZm9udCx0PVtTLmZvbnRTaXplKlMudGV4dEhTY2FsZSwwLDAsUy5mb250U2l6ZSwwLFMudGV4dFJpc2VdO2lmKGUuaXNUeXBlM0ZvbnQmJihTLmZvbnRTaXplPD0xfHxlLmlzQ2hhckJCb3gpJiYhaXNBcnJheUVxdWFsKFMuZm9udE1hdHJpeCxhKSl7Y29uc3QgaT1lLmJib3hbM10tZS5iYm94WzFdO2k+MCYmKHRbM10qPWkqUy5mb250TWF0cml4WzNdKX1yZXR1cm4gVXRpbC50cmFuc2Zvcm0oUy5jdG0sVXRpbC50cmFuc2Zvcm0oUy50ZXh0TWF0cml4LHQpKX1mdW5jdGlvbiBlbnN1cmVUZXh0Q29udGVudEl0ZW0oKXtpZih1LmluaXRpYWxpemVkKXJldHVybiB1O2NvbnN0e2ZvbnQ6ZSxsb2FkZWROYW1lOnR9PVM7aWYoIW8uaGFzKHQpKXtvLmFkZCh0KTtFLnN0eWxlc1t0XT17Zm9udEZhbWlseTplLmZhbGxiYWNrTmFtZSxhc2NlbnQ6ZS5hc2NlbnQsZGVzY2VudDplLmRlc2NlbnQsdmVydGljYWw6ZS52ZXJ0aWNhbH07aWYocC5vcHRpb25zLmZvbnRFeHRyYVByb3BlcnRpZXMmJmUuc3lzdGVtRm9udEluZm8pe2NvbnN0IGk9RS5zdHlsZXNbdF07aS5mb250U3Vic3RpdHV0aW9uPWUuc3lzdGVtRm9udEluZm8uY3NzO2kuZm9udFN1YnN0aXR1dGlvbkxvYWRlZE5hbWU9ZS5zeXN0ZW1Gb250SW5mby5sb2FkZWROYW1lfX11LmZvbnROYW1lPXQ7Y29uc3QgaT11LnRyYW5zZm9ybT1nZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpO2lmKGUudmVydGljYWwpe3Uud2lkdGg9dS50b3RhbFdpZHRoPU1hdGguaHlwb3QoaVswXSxpWzFdKTt1LmhlaWdodD11LnRvdGFsSGVpZ2h0PTA7dS52ZXJ0aWNhbD0hMH1lbHNle3Uud2lkdGg9dS50b3RhbFdpZHRoPTA7dS5oZWlnaHQ9dS50b3RhbEhlaWdodD1NYXRoLmh5cG90KGlbMl0saVszXSk7dS52ZXJ0aWNhbD0hMX1jb25zdCBhPU1hdGguaHlwb3QoUy50ZXh0TGluZU1hdHJpeFswXSxTLnRleHRMaW5lTWF0cml4WzFdKSxzPU1hdGguaHlwb3QoUy5jdG1bMF0sUy5jdG1bMV0pO3UudGV4dEFkdmFuY2VTY2FsZT1zKmE7Y29uc3R7Zm9udFNpemU6cn09Uzt1LnRyYWNraW5nU3BhY2VNaW49LjEwMipyO3Uubm90QVNwYWNlPS4wMypyO3UubmVnYXRpdmVTcGFjZU1heD0tLjIqcjt1LnNwYWNlSW5GbG93TWluPS4xMDIqcjt1LnNwYWNlSW5GbG93TWF4PS42KnI7dS5oYXNFT0w9ITE7dS5pbml0aWFsaXplZD0hMDtyZXR1cm4gdX1mdW5jdGlvbiB1cGRhdGVBZHZhbmNlU2NhbGUoKXtpZighdS5pbml0aWFsaXplZClyZXR1cm47Y29uc3QgZT1NYXRoLmh5cG90KFMudGV4dExpbmVNYXRyaXhbMF0sUy50ZXh0TGluZU1hdHJpeFsxXSksdD1NYXRoLmh5cG90KFMuY3RtWzBdLFMuY3RtWzFdKSplO2lmKHQhPT11LnRleHRBZHZhbmNlU2NhbGUpe2lmKHUudmVydGljYWwpe3UudG90YWxIZWlnaHQrPXUuaGVpZ2h0KnUudGV4dEFkdmFuY2VTY2FsZTt1LmhlaWdodD0wfWVsc2V7dS50b3RhbFdpZHRoKz11LndpZHRoKnUudGV4dEFkdmFuY2VTY2FsZTt1LndpZHRoPTB9dS50ZXh0QWR2YW5jZVNjYWxlPXR9fWZ1bmN0aW9uIHJ1bkJpZGlUcmFuc2Zvcm0oZSl7bGV0IHQ9ZS5zdHIuam9pbigiIik7bHx8KHQ9ZnVuY3Rpb24gbm9ybWFsaXplVW5pY29kZShlKXtpZighQ3Qpe0N0PS8oW1x1MDBhMFx1MDBiNVx1MDM3ZVx1MGViM1x1MjAwMC1cdTIwMGFcdTIwMmZcdTIxMjZcdWZiMDAtXHVmYjA0XHVmYjA2XHVmYjIwLVx1ZmIzNlx1ZmIzOC1cdWZiM2NcdWZiM2VcdWZiNDAtXHVmYjQxXHVmYjQzLVx1ZmI0NFx1ZmI0Ni1cdWZiYTFcdWZiYTQtXHVmYmE5XHVmYmFlLVx1ZmJiMVx1ZmJkMy1cdWZiZGNcdWZiZGUtXHVmYmU3XHVmYmVhLVx1ZmJmOFx1ZmJmYy1cdWZiZmRcdWZjMDAtXHVmYzVkXHVmYzY0LVx1ZmNmMVx1ZmNmNS1cdWZkM2RcdWZkODhcdWZkZjRcdWZkZmEtXHVmZGZiXHVmZTcxXHVmZTc3XHVmZTc5XHVmZTdiXHVmZTdkXSspfChcdWZiMDUrKS9ndTtodD1uZXcgTWFwKFtbIu+shSIsIsW/dCJdXSl9cmV0dXJuIGUucmVwbGFjZUFsbChDdCwoKGUsdCxpKT0+dD90Lm5vcm1hbGl6ZSgiTkZLQyIpOmh0LmdldChpKSkpfSh0KSk7Y29uc3QgaT1iaWRpKHQsLTEsZS52ZXJ0aWNhbCk7cmV0dXJue3N0cjppLnN0cixkaXI6aS5kaXIsd2lkdGg6TWF0aC5hYnMoZS50b3RhbFdpZHRoKSxoZWlnaHQ6TWF0aC5hYnMoZS50b3RhbEhlaWdodCksdHJhbnNmb3JtOmUudHJhbnNmb3JtLGZvbnROYW1lOmUuZm9udE5hbWUsaGFzRU9MOmUuaGFzRU9MfX1hc3luYyBmdW5jdGlvbiBoYW5kbGVTZXRGb250KGUsaSl7Y29uc3Qgcj1hd2FpdCBwLmxvYWRGb250KGUsaSxzKTtpZihyLmZvbnQuaXNUeXBlM0ZvbnQpdHJ5e2F3YWl0IHIubG9hZFR5cGUzRGF0YShwLHMsdCl9Y2F0Y2h7fVMubG9hZGVkTmFtZT1yLmxvYWRlZE5hbWU7Uy5mb250PXIuZm9udDtTLmZvbnRNYXRyaXg9ci5mb250LmZvbnRNYXRyaXh8fGF9ZnVuY3Rpb24gYXBwbHlJbnZlcnNlUm90YXRpb24oZSx0LGkpe2NvbnN0IGE9TWF0aC5oeXBvdChpWzBdLGlbMV0pO3JldHVyblsoaVswXSplK2lbMV0qdCkvYSwoaVsyXSplK2lbM10qdCkvYV19ZnVuY3Rpb24gY29tcGFyZVdpdGhMYXN0UG9zaXRpb24oZSl7Y29uc3QgdD1nZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpO2xldCBpPXRbNF0sYT10WzVdO2lmKFMuZm9udD8udmVydGljYWwpe2lmKGk8Y1swXXx8aT5jWzJdfHxhK2U8Y1sxXXx8YT5jWzNdKXJldHVybiExfWVsc2UgaWYoaStlPGNbMF18fGk+Y1syXXx8YTxjWzFdfHxhPmNbM10pcmV0dXJuITE7aWYoIVMuZm9udHx8IXUucHJldlRyYW5zZm9ybSlyZXR1cm4hMDtsZXQgcz11LnByZXZUcmFuc2Zvcm1bNF0scj11LnByZXZUcmFuc2Zvcm1bNV07aWYocz09PWkmJnI9PT1hKXJldHVybiEwO2xldCBuPS0xO3RbMF0mJjA9PT10WzFdJiYwPT09dFsyXT9uPXRbMF0+MD8wOjE4MDp0WzFdJiYwPT09dFswXSYmMD09PXRbM10mJihuPXRbMV0+MD85MDoyNzApO3N3aXRjaChuKXtjYXNlIDA6YnJlYWs7Y2FzZSA5MDpbaSxhXT1bYSxpXTtbcyxyXT1bcixzXTticmVhaztjYXNlIDE4MDpbaSxhLHMscl09Wy1pLC1hLC1zLC1yXTticmVhaztjYXNlIDI3MDpbaSxhXT1bLWEsLWldO1tzLHJdPVstciwtc107YnJlYWs7ZGVmYXVsdDpbaSxhXT1hcHBseUludmVyc2VSb3RhdGlvbihpLGEsdCk7W3Mscl09YXBwbHlJbnZlcnNlUm90YXRpb24ocyxyLHUucHJldlRyYW5zZm9ybSl9aWYoUy5mb250LnZlcnRpY2FsKXtjb25zdCBlPShyLWEpL3UudGV4dEFkdmFuY2VTY2FsZSx0PWktcyxuPU1hdGguc2lnbih1LmhlaWdodCk7aWYoZTxuKnUubmVnYXRpdmVTcGFjZU1heCl7aWYoTWF0aC5hYnModCk+LjUqdS53aWR0aCl7YXBwZW5kRU9MKCk7cmV0dXJuITB9cmVzZXRMYXN0Q2hhcnMoKTtmbHVzaFRleHRDb250ZW50SXRlbSgpO3JldHVybiEwfWlmKE1hdGguYWJzKHQpPnUud2lkdGgpe2FwcGVuZEVPTCgpO3JldHVybiEwfWU8PW4qdS5ub3RBU3BhY2UmJnJlc2V0TGFzdENoYXJzKCk7aWYoZTw9bip1LnRyYWNraW5nU3BhY2VNaW4paWYoc2hvdWxkQWRkV2hpdGVwc2FjZSgpKXtyZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cHVzaFdoaXRlc3BhY2Uoe2hlaWdodDpNYXRoLmFicyhlKX0pfWVsc2UgdS5oZWlnaHQrPWU7ZWxzZSBpZighYWRkRmFrZVNwYWNlcyhlLHUucHJldlRyYW5zZm9ybSxuKSlpZigwPT09dS5zdHIubGVuZ3RoKXtyZXNldExhc3RDaGFycygpO3B1c2hXaGl0ZXNwYWNlKHtoZWlnaHQ6TWF0aC5hYnMoZSl9KX1lbHNlIHUuaGVpZ2h0Kz1lO01hdGguYWJzKHQpPi4yNSp1LndpZHRoJiZmbHVzaFRleHRDb250ZW50SXRlbSgpO3JldHVybiEwfWNvbnN0IGc9KGktcykvdS50ZXh0QWR2YW5jZVNjYWxlLG89YS1yLEM9TWF0aC5zaWduKHUud2lkdGgpO2lmKGc8Qyp1Lm5lZ2F0aXZlU3BhY2VNYXgpe2lmKE1hdGguYWJzKG8pPi41KnUuaGVpZ2h0KXthcHBlbmRFT0woKTtyZXR1cm4hMH1yZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cmV0dXJuITB9aWYoTWF0aC5hYnMobyk+dS5oZWlnaHQpe2FwcGVuZEVPTCgpO3JldHVybiEwfWc8PUMqdS5ub3RBU3BhY2UmJnJlc2V0TGFzdENoYXJzKCk7aWYoZzw9Qyp1LnRyYWNraW5nU3BhY2VNaW4paWYoc2hvdWxkQWRkV2hpdGVwc2FjZSgpKXtyZXNldExhc3RDaGFycygpO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cHVzaFdoaXRlc3BhY2Uoe3dpZHRoOk1hdGguYWJzKGcpfSl9ZWxzZSB1LndpZHRoKz1nO2Vsc2UgaWYoIWFkZEZha2VTcGFjZXMoZyx1LnByZXZUcmFuc2Zvcm0sQykpaWYoMD09PXUuc3RyLmxlbmd0aCl7cmVzZXRMYXN0Q2hhcnMoKTtwdXNoV2hpdGVzcGFjZSh7d2lkdGg6TWF0aC5hYnMoZyl9KX1lbHNlIHUud2lkdGgrPWc7TWF0aC5hYnMobyk+LjI1KnUuaGVpZ2h0JiZmbHVzaFRleHRDb250ZW50SXRlbSgpO3JldHVybiEwfWZ1bmN0aW9uIGJ1aWxkVGV4dENvbnRlbnRJdGVtKHtjaGFyczplLGV4dHJhU3BhY2luZzp0fSl7Y29uc3QgaT1TLmZvbnQ7aWYoIWUpe2NvbnN0IGU9Uy5jaGFyU3BhY2luZyt0O2UmJihpLnZlcnRpY2FsP1MudHJhbnNsYXRlVGV4dE1hdHJpeCgwLC1lKTpTLnRyYW5zbGF0ZVRleHRNYXRyaXgoZSpTLnRleHRIU2NhbGUsMCkpO1EmJmNvbXBhcmVXaXRoTGFzdFBvc2l0aW9uKDApO3JldHVybn1jb25zdCBhPWkuY2hhcnNUb0dseXBocyhlKSxzPVMuZm9udE1hdHJpeFswXSpTLmZvbnRTaXplO2ZvcihsZXQgZT0wLHI9YS5sZW5ndGg7ZTxyO2UrKyl7Y29uc3Qgbj1hW2VdLHtjYXRlZ29yeTpnfT1uO2lmKGcuaXNJbnZpc2libGVGb3JtYXRNYXJrKWNvbnRpbnVlO2xldCBvPVMuY2hhclNwYWNpbmcrKGUrMT09PXI/dDowKSxjPW4ud2lkdGg7aS52ZXJ0aWNhbCYmKGM9bi52bWV0cmljP24udm1ldHJpY1swXTotYyk7bGV0IEM9YypzO2lmKCFRJiZnLmlzV2hpdGVzcGFjZSl7aWYoaS52ZXJ0aWNhbCl7bys9LUMrUy53b3JkU3BhY2luZztTLnRyYW5zbGF0ZVRleHRNYXRyaXgoMCwtbyl9ZWxzZXtvKz1DK1Mud29yZFNwYWNpbmc7Uy50cmFuc2xhdGVUZXh0TWF0cml4KG8qUy50ZXh0SFNjYWxlLDApfXNhdmVMYXN0Q2hhcigiICIpO2NvbnRpbnVlfWlmKCFnLmlzWmVyb1dpZHRoRGlhY3JpdGljJiYhY29tcGFyZVdpdGhMYXN0UG9zaXRpb24oQykpe2kudmVydGljYWw/Uy50cmFuc2xhdGVUZXh0TWF0cml4KDAsQyk6Uy50cmFuc2xhdGVUZXh0TWF0cml4KEMqUy50ZXh0SFNjYWxlLDApO2NvbnRpbnVlfWNvbnN0IGg9ZW5zdXJlVGV4dENvbnRlbnRJdGVtKCk7Zy5pc1plcm9XaWR0aERpYWNyaXRpYyYmKEM9MCk7aWYoaS52ZXJ0aWNhbCl7Uy50cmFuc2xhdGVUZXh0TWF0cml4KDAsQyk7Qz1NYXRoLmFicyhDKTtoLmhlaWdodCs9Q31lbHNle0MqPVMudGV4dEhTY2FsZTtTLnRyYW5zbGF0ZVRleHRNYXRyaXgoQywwKTtoLndpZHRoKz1DfUMmJihoLnByZXZUcmFuc2Zvcm09Z2V0Q3VycmVudFRleHRUcmFuc2Zvcm0oKSk7Y29uc3QgbD1uLnVuaWNvZGU7c2F2ZUxhc3RDaGFyKGwpJiZoLnN0ci5wdXNoKCIgIik7aC5zdHIucHVzaChsKTtvJiYoaS52ZXJ0aWNhbD9TLnRyYW5zbGF0ZVRleHRNYXRyaXgoMCwtbyk6Uy50cmFuc2xhdGVUZXh0TWF0cml4KG8qUy50ZXh0SFNjYWxlLDApKX19ZnVuY3Rpb24gYXBwZW5kRU9MKCl7cmVzZXRMYXN0Q2hhcnMoKTtpZih1LmluaXRpYWxpemVkKXt1Lmhhc0VPTD0hMDtmbHVzaFRleHRDb250ZW50SXRlbSgpfWVsc2UgRS5pdGVtcy5wdXNoKHtzdHI6IiIsZGlyOiJsdHIiLHdpZHRoOjAsaGVpZ2h0OjAsdHJhbnNmb3JtOmdldEN1cnJlbnRUZXh0VHJhbnNmb3JtKCksZm9udE5hbWU6Uy5sb2FkZWROYW1lLGhhc0VPTDohMH0pfWZ1bmN0aW9uIGFkZEZha2VTcGFjZXMoZSx0LGkpe2lmKGkqdS5zcGFjZUluRmxvd01pbjw9ZSYmZTw9aSp1LnNwYWNlSW5GbG93TWF4KXtpZih1LmluaXRpYWxpemVkKXtyZXNldExhc3RDaGFycygpO3Uuc3RyLnB1c2goIiAiKX1yZXR1cm4hMX1jb25zdCBhPXUuZm9udE5hbWU7bGV0IHM9MDtpZih1LnZlcnRpY2FsKXtzPWU7ZT0wfWZsdXNoVGV4dENvbnRlbnRJdGVtKCk7cmVzZXRMYXN0Q2hhcnMoKTtwdXNoV2hpdGVzcGFjZSh7d2lkdGg6TWF0aC5hYnMoZSksaGVpZ2h0Ok1hdGguYWJzKHMpLHRyYW5zZm9ybTp0fHxnZXRDdXJyZW50VGV4dFRyYW5zZm9ybSgpLGZvbnROYW1lOmF9KTtyZXR1cm4hMH1mdW5jdGlvbiBmbHVzaFRleHRDb250ZW50SXRlbSgpe2lmKHUuaW5pdGlhbGl6ZWQmJnUuc3RyKXt1LnZlcnRpY2FsP3UudG90YWxIZWlnaHQrPXUuaGVpZ2h0KnUudGV4dEFkdmFuY2VTY2FsZTp1LnRvdGFsV2lkdGgrPXUud2lkdGgqdS50ZXh0QWR2YW5jZVNjYWxlO0UuaXRlbXMucHVzaChydW5CaWRpVHJhbnNmb3JtKHUpKTt1LmluaXRpYWxpemVkPSExO3Uuc3RyLmxlbmd0aD0wfX1mdW5jdGlvbiBlbnF1ZXVlQ2h1bmsoZT0hMSl7Y29uc3QgdD1FLml0ZW1zLmxlbmd0aDtpZigwIT09dCYmIShlJiZ0PDEwKSl7Zy5lbnF1ZXVlKEUsdCk7RS5pdGVtcz1bXTtFLnN0eWxlcz1PYmplY3QuY3JlYXRlKG51bGwpfX1jb25zdCBrPW5ldyBUaW1lU2xvdE1hbmFnZXI7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbiBwcm9taXNlQm9keShlLGEpe2NvbnN0IG5leHQ9ZnVuY3Rpb24odCl7ZW5xdWV1ZUNodW5rKCEwKTtQcm9taXNlLmFsbChbdCxnLnJlYWR5XSkudGhlbigoZnVuY3Rpb24oKXt0cnl7cHJvbWlzZUJvZHkoZSxhKX1jYXRjaChlKXthKGUpfX0pLGEpfTt0LmVuc3VyZU5vdFRlcm1pbmF0ZWQoKTtrLnJlc2V0KCk7Y29uc3QgdT17fTtsZXQgZCxmPVtdO2Zvcig7IShkPWsuY2hlY2soKSk7KXtmLmxlbmd0aD0wO3UuYXJncz1mO2lmKCFGLnJlYWQodSkpYnJlYWs7Y29uc3QgZT1TO1M9ci5zdGF0ZTtjb25zdCBhPXUuZm47Zj11LmFyZ3M7c3dpdGNoKDB8YSl7Y2FzZSByZTp2YXIgUj1mWzBdLm5hbWUsTj1mWzFdO2lmKFMuZm9udCYmUj09PVMuZm9udE5hbWUmJk49PT1TLmZvbnRTaXplKWJyZWFrO2ZsdXNoVGV4dENvbnRlbnRJdGVtKCk7Uy5mb250TmFtZT1SO1MuZm9udFNpemU9TjtuZXh0KGhhbmRsZVNldEZvbnQoUixudWxsKSk7cmV0dXJuO2Nhc2UgZ2U6Uy50ZXh0UmlzZT1mWzBdO2JyZWFrO2Nhc2UgYWU6Uy50ZXh0SFNjYWxlPWZbMF0vMTAwO2JyZWFrO2Nhc2Ugc2U6Uy5sZWFkaW5nPWZbMF07YnJlYWs7Y2FzZSBvZTpTLnRyYW5zbGF0ZVRleHRMaW5lTWF0cml4KGZbMF0sZlsxXSk7Uy50ZXh0TWF0cml4PVMudGV4dExpbmVNYXRyaXguc2xpY2UoKTticmVhaztjYXNlIEllOlMubGVhZGluZz0tZlsxXTtTLnRyYW5zbGF0ZVRleHRMaW5lTWF0cml4KGZbMF0sZlsxXSk7Uy50ZXh0TWF0cml4PVMudGV4dExpbmVNYXRyaXguc2xpY2UoKTticmVhaztjYXNlIENlOlMuY2FycmlhZ2VSZXR1cm4oKTticmVhaztjYXNlIGNlOlMuc2V0VGV4dE1hdHJpeChmWzBdLGZbMV0sZlsyXSxmWzNdLGZbNF0sZls1XSk7Uy5zZXRUZXh0TGluZU1hdHJpeChmWzBdLGZbMV0sZlsyXSxmWzNdLGZbNF0sZls1XSk7dXBkYXRlQWR2YW5jZVNjYWxlKCk7YnJlYWs7Y2FzZSB0ZTpTLmNoYXJTcGFjaW5nPWZbMF07YnJlYWs7Y2FzZSBpZTpTLndvcmRTcGFjaW5nPWZbMF07YnJlYWs7Y2FzZSBBZTpTLnRleHRNYXRyaXg9aS5zbGljZSgpO1MudGV4dExpbmVNYXRyaXg9aS5zbGljZSgpO2JyZWFrO2Nhc2UgQmU6aWYoIXIuc3RhdGUuZm9udCl7cC5lbnN1cmVTdGF0ZUZvbnQoci5zdGF0ZSk7Y29udGludWV9Y29uc3QgYT0oUy5mb250LnZlcnRpY2FsPzE6LTEpKlMuZm9udFNpemUvMWUzLHU9ZlswXTtmb3IobGV0IGU9MCx0PXUubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9dVtlXTtpZigic3RyaW5nIj09dHlwZW9mIHQpeS5wdXNoKHQpO2Vsc2UgaWYoIm51bWJlciI9PXR5cGVvZiB0JiYwIT09dCl7Y29uc3QgZT15LmpvaW4oIiIpO3kubGVuZ3RoPTA7YnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOmUsZXh0cmFTcGFjaW5nOnQqYX0pfX1pZih5Lmxlbmd0aD4wKXtjb25zdCBlPXkuam9pbigiIik7eS5sZW5ndGg9MDtidWlsZFRleHRDb250ZW50SXRlbSh7Y2hhcnM6ZSxleHRyYVNwYWNpbmc6MH0pfWJyZWFrO2Nhc2UgaGU6aWYoIXIuc3RhdGUuZm9udCl7cC5lbnN1cmVTdGF0ZUZvbnQoci5zdGF0ZSk7Y29udGludWV9YnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOmZbMF0sZXh0cmFTcGFjaW5nOjB9KTticmVhaztjYXNlIGxlOmlmKCFyLnN0YXRlLmZvbnQpe3AuZW5zdXJlU3RhdGVGb250KHIuc3RhdGUpO2NvbnRpbnVlfVMuY2FycmlhZ2VSZXR1cm4oKTtidWlsZFRleHRDb250ZW50SXRlbSh7Y2hhcnM6ZlswXSxleHRyYVNwYWNpbmc6MH0pO2JyZWFrO2Nhc2UgUWU6aWYoIXIuc3RhdGUuZm9udCl7cC5lbnN1cmVTdGF0ZUZvbnQoci5zdGF0ZSk7Y29udGludWV9Uy53b3JkU3BhY2luZz1mWzBdO1MuY2hhclNwYWNpbmc9ZlsxXTtTLmNhcnJpYWdlUmV0dXJuKCk7YnVpbGRUZXh0Q29udGVudEl0ZW0oe2NoYXJzOmZbMl0sZXh0cmFTcGFjaW5nOjB9KTticmVhaztjYXNlIE1lOmZsdXNoVGV4dENvbnRlbnRJdGVtKCk7d3x8KHc9cy5nZXQoIlhPYmplY3QiKXx8RGljdC5lbXB0eSk7dmFyIEc9ZlswXWluc3RhbmNlb2YgTmFtZSx4PWZbMF0ubmFtZTtpZihHJiZELmdldEJ5TmFtZSh4KSlicmVhaztuZXh0KG5ldyBQcm9taXNlKChmdW5jdGlvbihlLGkpe2lmKCFHKXRocm93IG5ldyBGb3JtYXRFcnJvcigiWE9iamVjdCBtdXN0IGJlIHJlZmVycmVkIHRvIGJ5IG5hbWUuIik7bGV0IGE9dy5nZXRSYXcoeCk7aWYoYSBpbnN0YW5jZW9mIFJlZil7aWYoRC5nZXRCeVJlZihhKSl7ZSgpO3JldHVybn1pZihwLmdsb2JhbEltYWdlQ2FjaGUuZ2V0RGF0YShhLHAucGFnZUluZGV4KSl7ZSgpO3JldHVybn1hPW0uZmV0Y2goYSl9aWYoIShhIGluc3RhbmNlb2YgQmFzZVN0cmVhbSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJYT2JqZWN0IHNob3VsZCBiZSBhIHN0cmVhbSIpO2NvbnN0IEU9YS5kaWN0LmdldCgiU3VidHlwZSIpO2lmKCEoRSBpbnN0YW5jZW9mIE5hbWUpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiWE9iamVjdCBzaG91bGQgaGF2ZSBhIE5hbWUgc3VidHlwZSIpO2lmKCJGb3JtIiE9PUUubmFtZSl7RC5zZXQoeCxhLmRpY3Qub2JqSWQsITApO2UoKTtyZXR1cm59Y29uc3QgdT1yLnN0YXRlLmNsb25lKCksZD1uZXcgU3RhdGVNYW5hZ2VyKHUpLGY9bG9va3VwTWF0cml4KGEuZGljdC5nZXRBcnJheSgiTWF0cml4IiksbnVsbCk7ZiYmZC50cmFuc2Zvcm0oZik7ZW5xdWV1ZUNodW5rKCk7Y29uc3QgeT17ZW5xdWV1ZUludm9rZWQ6ITEsZW5xdWV1ZShlLHQpe3RoaXMuZW5xdWV1ZUludm9rZWQ9ITA7Zy5lbnF1ZXVlKGUsdCl9LGdldCBkZXNpcmVkU2l6ZSgpe3JldHVybiBnLmRlc2lyZWRTaXplfSxnZXQgcmVhZHkoKXtyZXR1cm4gZy5yZWFkeX19O3AuZ2V0VGV4dENvbnRlbnQoe3N0cmVhbTphLHRhc2s6dCxyZXNvdXJjZXM6YS5kaWN0LmdldCgiUmVzb3VyY2VzIil8fHMsc3RhdGVNYW5hZ2VyOmQsaW5jbHVkZU1hcmtlZENvbnRlbnQ6bixzaW5rOnksc2VlblN0eWxlczpvLHZpZXdCb3g6YyxsYW5nOkMsbWFya2VkQ29udGVudERhdGE6aCxkaXNhYmxlTm9ybWFsaXphdGlvbjpsLGtlZXBXaGl0ZVNwYWNlOlF9KS50aGVuKChmdW5jdGlvbigpe3kuZW5xdWV1ZUludm9rZWR8fEQuc2V0KHgsYS5kaWN0Lm9iaklkLCEwKTtlKCl9KSxpKX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighcC5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldFRleHRDb250ZW50IC0gaWdub3JpbmcgWE9iamVjdDogIiR7ZX0iLmApfX0pKSk7cmV0dXJuO2Nhc2UgR0E6Rz1mWzBdaW5zdGFuY2VvZiBOYW1lO3g9ZlswXS5uYW1lO2lmKEcmJmIuZ2V0QnlOYW1lKHgpKWJyZWFrO25leHQobmV3IFByb21pc2UoKGZ1bmN0aW9uKGUsdCl7aWYoIUcpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJHU3RhdGUgbXVzdCBiZSByZWZlcnJlZCB0byBieSBuYW1lLiIpO2NvbnN0IGk9cy5nZXQoIkV4dEdTdGF0ZSIpO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiRXh0R1N0YXRlIHNob3VsZCBiZSBhIGRpY3Rpb25hcnkuIik7Y29uc3QgYT1pLmdldCh4KTtpZighKGEgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkdTdGF0ZSBzaG91bGQgYmUgYSBkaWN0aW9uYXJ5LiIpO2NvbnN0IHI9YS5nZXQoIkZvbnQiKTtpZihyKXtmbHVzaFRleHRDb250ZW50SXRlbSgpO1MuZm9udE5hbWU9bnVsbDtTLmZvbnRTaXplPXJbMV07aGFuZGxlU2V0Rm9udChudWxsLHJbMF0pLnRoZW4oZSx0KX1lbHNle2Iuc2V0KHgsYS5vYmpJZCwhMCk7ZSgpfX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgQWJvcnRFeGNlcHRpb24pKXtpZighcC5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldFRleHRDb250ZW50IC0gaWdub3JpbmcgRXh0R1N0YXRlOiAiJHtlfSIuYCl9fSkpKTtyZXR1cm47Y2FzZSBKZTpmbHVzaFRleHRDb250ZW50SXRlbSgpO2lmKG4pe2gubGV2ZWwrKztFLml0ZW1zLnB1c2goe3R5cGU6ImJlZ2luTWFya2VkQ29udGVudCIsdGFnOmZbMF1pbnN0YW5jZW9mIE5hbWU/ZlswXS5uYW1lOm51bGx9KX1icmVhaztjYXNlIFllOmZsdXNoVGV4dENvbnRlbnRJdGVtKCk7aWYobil7aC5sZXZlbCsrO2xldCBlPW51bGw7ZlsxXWluc3RhbmNlb2YgRGljdCYmKGU9ZlsxXS5nZXQoIk1DSUQiKSk7RS5pdGVtcy5wdXNoKHt0eXBlOiJiZWdpbk1hcmtlZENvbnRlbnRQcm9wcyIsaWQ6TnVtYmVyLmlzSW50ZWdlcihlKT9gJHtwLmlkRmFjdG9yeS5nZXRQYWdlT2JqSWQoKX1fbWMke2V9YDpudWxsLHRhZzpmWzBdaW5zdGFuY2VvZiBOYW1lP2ZbMF0ubmFtZTpudWxsfSl9YnJlYWs7Y2FzZSB2ZTpmbHVzaFRleHRDb250ZW50SXRlbSgpO2lmKG4pe2lmKDA9PT1oLmxldmVsKWJyZWFrO2gubGV2ZWwtLTtFLml0ZW1zLnB1c2goe3R5cGU6ImVuZE1hcmtlZENvbnRlbnQifSl9YnJlYWs7Y2FzZSBVQTohZXx8ZS5mb250PT09Uy5mb250JiZlLmZvbnRTaXplPT09Uy5mb250U2l6ZSYmZS5mb250TmFtZT09PVMuZm9udE5hbWV8fGZsdXNoVGV4dENvbnRlbnRJdGVtKCl9aWYoRS5pdGVtcy5sZW5ndGg+PWcuZGVzaXJlZFNpemUpe2Q9ITA7YnJlYWt9fWlmKGQpbmV4dCh4cyk7ZWxzZXtmbHVzaFRleHRDb250ZW50SXRlbSgpO2VucXVldWVDaHVuaygpO2UoKX19KSkuY2F0Y2goKGU9PntpZighKGUgaW5zdGFuY2VvZiBBYm9ydEV4Y2VwdGlvbikpe2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXRocm93IGU7d2FybihgZ2V0VGV4dENvbnRlbnQgLSBpZ25vcmluZyBlcnJvcnMgZHVyaW5nICIke3QubmFtZX0iIHRhc2s6ICIke2V9Ii5gKTtmbHVzaFRleHRDb250ZW50SXRlbSgpO2VucXVldWVDaHVuaygpfX0pKX1hc3luYyBleHRyYWN0RGF0YVN0cnVjdHVyZXMoZSx0KXtjb25zdCBpPXRoaXMueHJlZjtsZXQgYTtjb25zdCBzPXRoaXMucmVhZFRvVW5pY29kZSh0LnRvVW5pY29kZSk7aWYodC5jb21wb3NpdGUpe2NvbnN0IGk9ZS5nZXQoIkNJRFN5c3RlbUluZm8iKTtpIGluc3RhbmNlb2YgRGljdCYmKHQuY2lkU3lzdGVtSW5mbz17cmVnaXN0cnk6c3RyaW5nVG9QREZTdHJpbmcoaS5nZXQoIlJlZ2lzdHJ5IikpLG9yZGVyaW5nOnN0cmluZ1RvUERGU3RyaW5nKGkuZ2V0KCJPcmRlcmluZyIpKSxzdXBwbGVtZW50OmkuZ2V0KCJTdXBwbGVtZW50Iil9KTt0cnl7Y29uc3QgdD1lLmdldCgiQ0lEVG9HSURNYXAiKTt0IGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmKGE9dC5nZXRCeXRlcygpKX1jYXRjaChlKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGV4dHJhY3REYXRhU3RydWN0dXJlcyAtIGlnbm9yaW5nIENJRFRvR0lETWFwIGRhdGE6ICIke2V9Ii5gKX19Y29uc3Qgcj1bXTtsZXQgbixnPW51bGw7aWYoZS5oYXMoIkVuY29kaW5nIikpe249ZS5nZXQoIkVuY29kaW5nIik7aWYobiBpbnN0YW5jZW9mIERpY3Qpe2c9bi5nZXQoIkJhc2VFbmNvZGluZyIpO2c9ZyBpbnN0YW5jZW9mIE5hbWU/Zy5uYW1lOm51bGw7aWYobi5oYXMoIkRpZmZlcmVuY2VzIikpe2NvbnN0IGU9bi5nZXQoIkRpZmZlcmVuY2VzIik7bGV0IHQ9MDtmb3IoY29uc3QgYSBvZiBlKXtjb25zdCBlPWkuZmV0Y2hJZlJlZihhKTtpZigibnVtYmVyIj09dHlwZW9mIGUpdD1lO2Vsc2V7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIGVudHJ5IGluICdEaWZmZXJlbmNlcycgYXJyYXk6ICR7ZX1gKTtyW3QrK109ZS5uYW1lfX19fWVsc2UgaWYobiBpbnN0YW5jZW9mIE5hbWUpZz1uLm5hbWU7ZWxzZXtjb25zdCBlPSJFbmNvZGluZyBpcyBub3QgYSBOYW1lIG5vciBhIERpY3QiO2lmKCF0aGlzLm9wdGlvbnMuaWdub3JlRXJyb3JzKXRocm93IG5ldyBGb3JtYXRFcnJvcihlKTt3YXJuKGUpfSJNYWNSb21hbkVuY29kaW5nIiE9PWcmJiJNYWNFeHBlcnRFbmNvZGluZyIhPT1nJiYiV2luQW5zaUVuY29kaW5nIiE9PWcmJihnPW51bGwpfWNvbnN0IG89IXQuZmlsZXx8dC5pc0ludGVybmFsRm9udCxjPSRpKClbdC5uYW1lXTtnJiZvJiZjJiYoZz1udWxsKTtpZihnKXQuZGVmYXVsdEVuY29kaW5nPWdldEVuY29kaW5nKGcpO2Vsc2V7Y29uc3QgZT0hISh0LmZsYWdzJlBpKSxpPSEhKHQuZmxhZ3MmV2kpO249eWk7IlRydWVUeXBlIiE9PXQudHlwZXx8aXx8KG49d2kpO2lmKGV8fGMpe249bWk7byYmKC9TeW1ib2wvaS50ZXN0KHQubmFtZSk/bj1EaTovRGluZ2JhdHMvaS50ZXN0KHQubmFtZSk/bj1iaTovV2luZ2RpbmdzL2kudGVzdCh0Lm5hbWUpJiYobj13aSkpfXQuZGVmYXVsdEVuY29kaW5nPW59dC5kaWZmZXJlbmNlcz1yO3QuYmFzZUVuY29kaW5nTmFtZT1nO3QuaGFzRW5jb2Rpbmc9ISFnfHxyLmxlbmd0aD4wO3QuZGljdD1lO3QudG9Vbmljb2RlPWF3YWl0IHM7Y29uc3QgQz1hd2FpdCB0aGlzLmJ1aWxkVG9Vbmljb2RlKHQpO3QudG9Vbmljb2RlPUM7YSYmKHQuY2lkVG9HaWRNYXA9dGhpcy5yZWFkQ2lkVG9HaWRNYXAoYSxDKSk7cmV0dXJuIHR9X3NpbXBsZUZvbnRUb1VuaWNvZGUoZSx0PSExKXthc3NlcnQoIWUuY29tcG9zaXRlLCJNdXN0IGJlIGEgc2ltcGxlIGZvbnQuIik7Y29uc3QgaT1bXSxhPWUuZGVmYXVsdEVuY29kaW5nLnNsaWNlKCkscz1lLmJhc2VFbmNvZGluZ05hbWUscj1lLmRpZmZlcmVuY2VzO2Zvcihjb25zdCBlIGluIHIpe2NvbnN0IHQ9cltlXTsiLm5vdGRlZiIhPT10JiYoYVtlXT10KX1jb25zdCBuPU1pKCk7Zm9yKGNvbnN0IHIgaW4gYSl7bGV0IGc9YVtyXTtpZigiIj09PWcpY29udGludWU7bGV0IG89bltnXTtpZih2b2lkIDAhPT1vKXtpW3JdPVN0cmluZy5mcm9tQ2hhckNvZGUobyk7Y29udGludWV9bGV0IGM9MDtzd2l0Y2goZ1swXSl7Y2FzZSJHIjozPT09Zy5sZW5ndGgmJihjPXBhcnNlSW50KGcuc3Vic3RyaW5nKDEpLDE2KSk7YnJlYWs7Y2FzZSJnIjo1PT09Zy5sZW5ndGgmJihjPXBhcnNlSW50KGcuc3Vic3RyaW5nKDEpLDE2KSk7YnJlYWs7Y2FzZSJDIjpjYXNlImMiOmlmKGcubGVuZ3RoPj0zJiZnLmxlbmd0aDw9NCl7Y29uc3QgaT1nLnN1YnN0cmluZygxKTtpZih0KXtjPXBhcnNlSW50KGksMTYpO2JyZWFrfWM9K2k7aWYoTnVtYmVyLmlzTmFOKGMpJiZOdW1iZXIuaXNJbnRlZ2VyKHBhcnNlSW50KGksMTYpKSlyZXR1cm4gdGhpcy5fc2ltcGxlRm9udFRvVW5pY29kZShlLCEwKX1icmVhaztjYXNlInUiOm89Z2V0VW5pY29kZUZvckdseXBoKGcsbik7LTEhPT1vJiYoYz1vKTticmVhaztkZWZhdWx0OnN3aXRjaChnKXtjYXNlImZfaCI6Y2FzZSJmX3QiOmNhc2UiVF9oIjppW3JdPWcucmVwbGFjZUFsbCgiXyIsIiIpO2NvbnRpbnVlfX1pZihjPjAmJmM8PTExMTQxMTEmJk51bWJlci5pc0ludGVnZXIoYykpe2lmKHMmJmM9PT0rcil7Y29uc3QgZT1nZXRFbmNvZGluZyhzKTtpZihlJiYoZz1lW3JdKSl7aVtyXT1TdHJpbmcuZnJvbUNoYXJDb2RlKG5bZ10pO2NvbnRpbnVlfX1pW3JdPVN0cmluZy5mcm9tQ29kZVBvaW50KGMpfX1yZXR1cm4gaX1hc3luYyBidWlsZFRvVW5pY29kZShlKXtlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwPWUudG9Vbmljb2RlPy5sZW5ndGg+MDtpZihlLmhhc0luY2x1ZGVkVG9Vbmljb2RlTWFwKXshZS5jb21wb3NpdGUmJmUuaGFzRW5jb2RpbmcmJihlLmZhbGxiYWNrVG9Vbmljb2RlPXRoaXMuX3NpbXBsZUZvbnRUb1VuaWNvZGUoZSkpO3JldHVybiBlLnRvVW5pY29kZX1pZighZS5jb21wb3NpdGUpcmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAodGhpcy5fc2ltcGxlRm9udFRvVW5pY29kZShlKSk7aWYoZS5jb21wb3NpdGUmJihlLmNNYXAuYnVpbHRJbkNNYXAmJiEoZS5jTWFwIGluc3RhbmNlb2YgSWRlbnRpdHlDTWFwKXx8IkFkb2JlIj09PWUuY2lkU3lzdGVtSW5mbz8ucmVnaXN0cnkmJigiR0IxIj09PWUuY2lkU3lzdGVtSW5mby5vcmRlcmluZ3x8IkNOUzEiPT09ZS5jaWRTeXN0ZW1JbmZvLm9yZGVyaW5nfHwiSmFwYW4xIj09PWUuY2lkU3lzdGVtSW5mby5vcmRlcmluZ3x8IktvcmVhMSI9PT1lLmNpZFN5c3RlbUluZm8ub3JkZXJpbmcpKSl7Y29uc3R7cmVnaXN0cnk6dCxvcmRlcmluZzppfT1lLmNpZFN5c3RlbUluZm8sYT1OYW1lLmdldChgJHt0fS0ke2l9LVVDUzJgKSxzPWF3YWl0IENNYXBGYWN0b3J5LmNyZWF0ZSh7ZW5jb2Rpbmc6YSxmZXRjaEJ1aWx0SW5DTWFwOnRoaXMuX2ZldGNoQnVpbHRJbkNNYXBCb3VuZCx1c2VDTWFwOm51bGx9KSxyPVtdLG49W107ZS5jTWFwLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7aWYodD42NTUzNSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIk1heCBzaXplIG9mIENJRCBpcyA2NSw1MzUiKTtjb25zdCBpPXMubG9va3VwKHQpO2lmKGkpe24ubGVuZ3RoPTA7Zm9yKGxldCBlPTAsdD1pLmxlbmd0aDtlPHQ7ZSs9MiluLnB1c2goKGkuY2hhckNvZGVBdChlKTw8OCkraS5jaGFyQ29kZUF0KGUrMSkpO3JbZV09U3RyaW5nLmZyb21DaGFyQ29kZSguLi5uKX19KSk7cmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAocil9cmV0dXJuIG5ldyBJZGVudGl0eVRvVW5pY29kZU1hcChlLmZpcnN0Q2hhcixlLmxhc3RDaGFyKX1hc3luYyByZWFkVG9Vbmljb2RlKGUpe2lmKCFlKXJldHVybiBudWxsO2lmKGUgaW5zdGFuY2VvZiBOYW1lKXtjb25zdCB0PWF3YWl0IENNYXBGYWN0b3J5LmNyZWF0ZSh7ZW5jb2Rpbmc6ZSxmZXRjaEJ1aWx0SW5DTWFwOnRoaXMuX2ZldGNoQnVpbHRJbkNNYXBCb3VuZCx1c2VDTWFwOm51bGx9KTtyZXR1cm4gdCBpbnN0YW5jZW9mIElkZW50aXR5Q01hcD9uZXcgSWRlbnRpdHlUb1VuaWNvZGVNYXAoMCw2NTUzNSk6bmV3IFRvVW5pY29kZU1hcCh0LmdldE1hcCgpKX1pZihlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl0cnl7Y29uc3QgdD1hd2FpdCBDTWFwRmFjdG9yeS5jcmVhdGUoe2VuY29kaW5nOmUsZmV0Y2hCdWlsdEluQ01hcDp0aGlzLl9mZXRjaEJ1aWx0SW5DTWFwQm91bmQsdXNlQ01hcDpudWxsfSk7aWYodCBpbnN0YW5jZW9mIElkZW50aXR5Q01hcClyZXR1cm4gbmV3IElkZW50aXR5VG9Vbmljb2RlTWFwKDAsNjU1MzUpO2NvbnN0IGk9bmV3IEFycmF5KHQubGVuZ3RoKTt0LmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7aWYoIm51bWJlciI9PXR5cGVvZiB0KXtpW2VdPVN0cmluZy5mcm9tQ29kZVBvaW50KHQpO3JldHVybn10Lmxlbmd0aCUyIT0wJiYodD0iXDAiK3QpO2NvbnN0IGE9W107Zm9yKGxldCBlPTA7ZTx0Lmxlbmd0aDtlKz0yKXtjb25zdCBpPXQuY2hhckNvZGVBdChlKTw8OHx0LmNoYXJDb2RlQXQoZSsxKTtpZig1NTI5NiE9KDYzNDg4JmkpKXthLnB1c2goaSk7Y29udGludWV9ZSs9Mjtjb25zdCBzPXQuY2hhckNvZGVBdChlKTw8OHx0LmNoYXJDb2RlQXQoZSsxKTthLnB1c2goKCgxMDIzJmkpPDwxMCkrKDEwMjMmcykrNjU1MzYpfWlbZV09U3RyaW5nLmZyb21Db2RlUG9pbnQoLi4uYSl9KSk7cmV0dXJuIG5ldyBUb1VuaWNvZGVNYXAoaSl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIEFib3J0RXhjZXB0aW9uKXJldHVybiBudWxsO2lmKHRoaXMub3B0aW9ucy5pZ25vcmVFcnJvcnMpe3dhcm4oYHJlYWRUb1VuaWNvZGUgLSBpZ25vcmluZyBUb1VuaWNvZGUgZGF0YTogIiR7ZX0iLmApO3JldHVybiBudWxsfXRocm93IGV9cmV0dXJuIG51bGx9cmVhZENpZFRvR2lkTWFwKGUsdCl7Y29uc3QgaT1bXTtmb3IobGV0IGE9MCxzPWUubGVuZ3RoO2E8czthKyspe2NvbnN0IHM9ZVthKytdPDw4fGVbYV0scj1hPj4xOygwIT09c3x8dC5oYXMocikpJiYoaVtyXT1zKX1yZXR1cm4gaX1leHRyYWN0V2lkdGhzKGUsdCxpKXtjb25zdCBhPXRoaXMueHJlZjtsZXQgcz1bXSxyPTA7Y29uc3Qgbj1bXTtsZXQgZztpZihpLmNvbXBvc2l0ZSl7Y29uc3QgdD1lLmdldCgiRFciKTtyPSJudW1iZXIiPT10eXBlb2YgdD9NYXRoLmNlaWwodCk6MWUzO2NvbnN0IG89ZS5nZXQoIlciKTtpZihBcnJheS5pc0FycmF5KG8pKWZvcihsZXQgZT0wLHQ9by5sZW5ndGg7ZTx0O2UrKyl7bGV0IHQ9YS5mZXRjaElmUmVmKG9bZSsrXSk7aWYoIU51bWJlci5pc0ludGVnZXIodCkpYnJlYWs7Y29uc3QgaT1hLmZldGNoSWZSZWYob1tlXSk7aWYoQXJyYXkuaXNBcnJheShpKSlmb3IoY29uc3QgZSBvZiBpKXtjb25zdCBpPWEuZmV0Y2hJZlJlZihlKTsibnVtYmVyIj09dHlwZW9mIGkmJihzW3RdPWkpO3QrK31lbHNle2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGkpKWJyZWFrO3tjb25zdCByPWEuZmV0Y2hJZlJlZihvWysrZV0pO2lmKCJudW1iZXIiIT10eXBlb2Ygciljb250aW51ZTtmb3IobGV0IGU9dDtlPD1pO2UrKylzW2VdPXJ9fX1pZihpLnZlcnRpY2FsKXtjb25zdCB0PWUuZ2V0QXJyYXkoIkRXMiIpO2xldCBpPWlzTnVtYmVyQXJyYXkodCwyKT90Ols4ODAsLTFlM107Zz1baVsxXSwuNSpyLGlbMF1dO2k9ZS5nZXQoIlcyIik7aWYoQXJyYXkuaXNBcnJheShpKSlmb3IobGV0IGU9MCx0PWkubGVuZ3RoO2U8dDtlKyspe2xldCB0PWEuZmV0Y2hJZlJlZihpW2UrK10pO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHQpKWJyZWFrO2NvbnN0IHM9YS5mZXRjaElmUmVmKGlbZV0pO2lmKEFycmF5LmlzQXJyYXkocykpZm9yKGxldCBlPTAsaT1zLmxlbmd0aDtlPGk7ZSsrKXtjb25zdCBpPVthLmZldGNoSWZSZWYoc1tlKytdKSxhLmZldGNoSWZSZWYoc1tlKytdKSxhLmZldGNoSWZSZWYoc1tlXSldO2lzTnVtYmVyQXJyYXkoaSxudWxsKSYmKG5bdF09aSk7dCsrfWVsc2V7aWYoIU51bWJlci5pc0ludGVnZXIocykpYnJlYWs7e2NvbnN0IHI9W2EuZmV0Y2hJZlJlZihpWysrZV0pLGEuZmV0Y2hJZlJlZihpWysrZV0pLGEuZmV0Y2hJZlJlZihpWysrZV0pXTtpZighaXNOdW1iZXJBcnJheShyLG51bGwpKWNvbnRpbnVlO2ZvcihsZXQgZT10O2U8PXM7ZSsrKW5bZV09cn19fX19ZWxzZXtjb25zdCBuPWUuZ2V0KCJXaWR0aHMiKTtpZihBcnJheS5pc0FycmF5KG4pKXtsZXQgZT1pLmZpcnN0Q2hhcjtmb3IoY29uc3QgdCBvZiBuKXtjb25zdCBpPWEuZmV0Y2hJZlJlZih0KTsibnVtYmVyIj09dHlwZW9mIGkmJihzW2VdPWkpO2UrK31jb25zdCBnPXQuZ2V0KCJNaXNzaW5nV2lkdGgiKTtyPSJudW1iZXIiPT10eXBlb2YgZz9nOjB9ZWxzZXtjb25zdCB0PWUuZ2V0KCJCYXNlRm9udCIpO2lmKHQgaW5zdGFuY2VvZiBOYW1lKXtjb25zdCBlPXRoaXMuZ2V0QmFzZUZvbnRNZXRyaWNzKHQubmFtZSk7cz10aGlzLmJ1aWxkQ2hhckNvZGVUb1dpZHRoKGUud2lkdGhzLGkpO3I9ZS5kZWZhdWx0V2lkdGh9fX1sZXQgbz0hMCxjPXI7Zm9yKGNvbnN0IGUgaW4gcyl7Y29uc3QgdD1zW2VdO2lmKHQpaWYoYyl7aWYoYyE9PXQpe289ITE7YnJlYWt9fWVsc2UgYz10fW8/aS5mbGFnc3w9cWk6aS5mbGFncyY9fnFpO2kuZGVmYXVsdFdpZHRoPXI7aS53aWR0aHM9cztpLmRlZmF1bHRWTWV0cmljcz1nO2kudm1ldHJpY3M9bn1pc1NlcmlmRm9udChlKXtjb25zdCB0PWUuc3BsaXQoIi0iLDEpWzBdO3JldHVybiB0IGluIF9pKCl8fC9zZXJpZi9naS50ZXN0KHQpfWdldEJhc2VGb250TWV0cmljcyhlKXtsZXQgdD0wLGk9T2JqZWN0LmNyZWF0ZShudWxsKSxhPSExO2xldCBzPVppKClbZV18fGU7Y29uc3Qgcj1hYSgpO3MgaW4gcnx8KHM9dGhpcy5pc1NlcmlmRm9udChlKT8iVGltZXMtUm9tYW4iOiJIZWx2ZXRpY2EiKTtjb25zdCBuPXJbc107aWYoIm51bWJlciI9PXR5cGVvZiBuKXt0PW47YT0hMH1lbHNlIGk9bigpO3JldHVybntkZWZhdWx0V2lkdGg6dCxtb25vc3BhY2U6YSx3aWR0aHM6aX19YnVpbGRDaGFyQ29kZVRvV2lkdGgoZSx0KXtjb25zdCBpPU9iamVjdC5jcmVhdGUobnVsbCksYT10LmRpZmZlcmVuY2VzLHM9dC5kZWZhdWx0RW5jb2Rpbmc7Zm9yKGxldCB0PTA7dDwyNTY7dCsrKXQgaW4gYSYmZVthW3RdXT9pW3RdPWVbYVt0XV06dCBpbiBzJiZlW3NbdF1dJiYoaVt0XT1lW3NbdF1dKTtyZXR1cm4gaX1wcmVFdmFsdWF0ZUZvbnQoZSl7Y29uc3QgdD1lO2xldCBpPWUuZ2V0KCJTdWJ0eXBlIik7aWYoIShpIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJpbnZhbGlkIGZvbnQgU3VidHlwZSIpO2xldCBhLHM9ITE7aWYoIlR5cGUwIj09PWkubmFtZSl7Y29uc3QgdD1lLmdldCgiRGVzY2VuZGFudEZvbnRzIik7aWYoIXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJEZXNjZW5kYW50IGZvbnRzIGFyZSBub3Qgc3BlY2lmaWVkIik7aWYoISgoZT1BcnJheS5pc0FycmF5KHQpP3RoaXMueHJlZi5mZXRjaElmUmVmKHRbMF0pOnQpaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkRlc2NlbmRhbnQgZm9udCBpcyBub3QgYSBkaWN0aW9uYXJ5LiIpO2k9ZS5nZXQoIlN1YnR5cGUiKTtpZighKGkgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoImludmFsaWQgZm9udCBTdWJ0eXBlIik7cz0hMH1sZXQgcj1lLmdldCgiRmlyc3RDaGFyIik7TnVtYmVyLmlzSW50ZWdlcihyKXx8KHI9MCk7bGV0IG49ZS5nZXQoIkxhc3RDaGFyIik7TnVtYmVyLmlzSW50ZWdlcihuKXx8KG49cz82NTUzNToyNTUpO2NvbnN0IGc9ZS5nZXQoIkZvbnREZXNjcmlwdG9yIiksbz1lLmdldCgiVG9Vbmljb2RlIil8fHQuZ2V0KCJUb1VuaWNvZGUiKTtpZihnKXthPW5ldyBNdXJtdXJIYXNoM182NDtjb25zdCBpPXQuZ2V0UmF3KCJFbmNvZGluZyIpO2lmKGkgaW5zdGFuY2VvZiBOYW1lKWEudXBkYXRlKGkubmFtZSk7ZWxzZSBpZihpIGluc3RhbmNlb2YgUmVmKWEudXBkYXRlKGkudG9TdHJpbmcoKSk7ZWxzZSBpZihpIGluc3RhbmNlb2YgRGljdClmb3IoY29uc3QgZSBvZiBpLmdldFJhd1ZhbHVlcygpKWlmKGUgaW5zdGFuY2VvZiBOYW1lKWEudXBkYXRlKGUubmFtZSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgUmVmKWEudXBkYXRlKGUudG9TdHJpbmcoKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpKXtjb25zdCB0PWUubGVuZ3RoLGk9bmV3IEFycmF5KHQpO2ZvcihsZXQgYT0wO2E8dDthKyspe2NvbnN0IHQ9ZVthXTt0IGluc3RhbmNlb2YgTmFtZT9pW2FdPXQubmFtZTooIm51bWJlciI9PXR5cGVvZiB0fHx0IGluc3RhbmNlb2YgUmVmKSYmKGlbYV09dC50b1N0cmluZygpKX1hLnVwZGF0ZShpLmpvaW4oKSl9YS51cGRhdGUoYCR7cn0tJHtufWApO2lmKG8gaW5zdGFuY2VvZiBCYXNlU3RyZWFtKXtjb25zdCBlPW8uc3RyfHxvLHQ9ZS5idWZmZXI/bmV3IFVpbnQ4QXJyYXkoZS5idWZmZXIuYnVmZmVyLDAsZS5idWZmZXJMZW5ndGgpOm5ldyBVaW50OEFycmF5KGUuYnl0ZXMuYnVmZmVyLGUuc3RhcnQsZS5lbmQtZS5zdGFydCk7YS51cGRhdGUodCl9ZWxzZSBvIGluc3RhbmNlb2YgTmFtZSYmYS51cGRhdGUoby5uYW1lKTtjb25zdCBnPWUuZ2V0KCJXaWR0aHMiKXx8dC5nZXQoIldpZHRocyIpO2lmKEFycmF5LmlzQXJyYXkoZykpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgZykoIm51bWJlciI9PXR5cGVvZiB0fHx0IGluc3RhbmNlb2YgUmVmKSYmZS5wdXNoKHQudG9TdHJpbmcoKSk7YS51cGRhdGUoZS5qb2luKCkpfWlmKHMpe2EudXBkYXRlKCJjb21wb3NpdGVGb250Iik7Y29uc3QgaT1lLmdldCgiVyIpfHx0LmdldCgiVyIpO2lmKEFycmF5LmlzQXJyYXkoaSkpe2NvbnN0IGU9W107Zm9yKGNvbnN0IHQgb2YgaSlpZigibnVtYmVyIj09dHlwZW9mIHR8fHQgaW5zdGFuY2VvZiBSZWYpZS5wdXNoKHQudG9TdHJpbmcoKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKXtjb25zdCBpPVtdO2Zvcihjb25zdCBlIG9mIHQpKCJudW1iZXIiPT10eXBlb2YgZXx8ZSBpbnN0YW5jZW9mIFJlZikmJmkucHVzaChlLnRvU3RyaW5nKCkpO2UucHVzaChgWyR7aS5qb2luKCl9XWApfWEudXBkYXRlKGUuam9pbigpKX1jb25zdCBzPWUuZ2V0UmF3KCJDSURUb0dJRE1hcCIpfHx0LmdldFJhdygiQ0lEVG9HSURNYXAiKTtzIGluc3RhbmNlb2YgTmFtZT9hLnVwZGF0ZShzLm5hbWUpOnMgaW5zdGFuY2VvZiBSZWY/YS51cGRhdGUocy50b1N0cmluZygpKTpzIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmYS51cGRhdGUocy5wZWVrQnl0ZXMoKSl9fXJldHVybntkZXNjcmlwdG9yOmcsZGljdDplLGJhc2VEaWN0OnQsY29tcG9zaXRlOnMsdHlwZTppLm5hbWUsZmlyc3RDaGFyOnIsbGFzdENoYXI6bix0b1VuaWNvZGU6byxoYXNoOmE/YS5oZXhkaWdlc3QoKToiIn19YXN5bmMgdHJhbnNsYXRlRm9udCh7ZGVzY3JpcHRvcjplLGRpY3Q6dCxiYXNlRGljdDppLGNvbXBvc2l0ZTpzLHR5cGU6cixmaXJzdENoYXI6bixsYXN0Q2hhcjpnLHRvVW5pY29kZTpvLGNzc0ZvbnRJbmZvOmN9KXtjb25zdCBDPSJUeXBlMyI9PT1yO2lmKCFlKXtpZighQyl7bGV0IGU9dC5nZXQoIkJhc2VGb250Iik7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJCYXNlIGZvbnQgaXMgbm90IHNwZWNpZmllZCIpO2U9ZS5uYW1lLnJlcGxhY2VBbGwoL1ssX10vZywiLSIpO2NvbnN0IGE9dGhpcy5nZXRCYXNlRm9udE1ldHJpY3MoZSkscz1lLnNwbGl0KCItIiwxKVswXSxjPSh0aGlzLmlzU2VyaWZGb250KHMpP09pOjApfChhLm1vbm9zcGFjZT9xaTowKXwoJGkoKVtzXT9QaTpXaSksaD17dHlwZTpyLG5hbWU6ZSxsb2FkZWROYW1lOmkubG9hZGVkTmFtZSxzeXN0ZW1Gb250SW5mbzpudWxsLHdpZHRoczphLndpZHRocyxkZWZhdWx0V2lkdGg6YS5kZWZhdWx0V2lkdGgsaXNTaW11bGF0ZWRGbGFnczohMCxmbGFnczpjLGZpcnN0Q2hhcjpuLGxhc3RDaGFyOmcsdG9Vbmljb2RlOm8seEhlaWdodDowLGNhcEhlaWdodDowLGl0YWxpY0FuZ2xlOjAsaXNUeXBlM0ZvbnQ6Q30sbD10LmdldCgiV2lkdGhzIiksUT1nZXRTdGFuZGFyZEZvbnROYW1lKGUpO2xldCBFPW51bGw7aWYoUSl7RT1hd2FpdCB0aGlzLmZldGNoU3RhbmRhcmRGb250RGF0YShRKTtoLmlzSW50ZXJuYWxGb250PSEhRX0haC5pc0ludGVybmFsRm9udCYmdGhpcy5vcHRpb25zLnVzZVN5c3RlbUZvbnRzJiYoaC5zeXN0ZW1Gb250SW5mbz1nZXRGb250U3Vic3RpdHV0aW9uKHRoaXMuc3lzdGVtRm9udENhY2hlLHRoaXMuaWRGYWN0b3J5LHRoaXMub3B0aW9ucy5zdGFuZGFyZEZvbnREYXRhVXJsLGUsUSxyKSk7Y29uc3QgdT1hd2FpdCB0aGlzLmV4dHJhY3REYXRhU3RydWN0dXJlcyh0LGgpO2lmKEFycmF5LmlzQXJyYXkobCkpe2NvbnN0IGU9W107bGV0IHQ9bjtmb3IoY29uc3QgaSBvZiBsKXtjb25zdCBhPXRoaXMueHJlZi5mZXRjaElmUmVmKGkpOyJudW1iZXIiPT10eXBlb2YgYSYmKGVbdF09YSk7dCsrfXUud2lkdGhzPWV9ZWxzZSB1LndpZHRocz10aGlzLmJ1aWxkQ2hhckNvZGVUb1dpZHRoKGEud2lkdGhzLHUpO3JldHVybiBuZXcgRm9udChlLEUsdSl9e2NvbnN0IGk9bG9va3VwTm9ybWFsUmVjdCh0LmdldEFycmF5KCJGb250QkJveCIpLFswLDAsMCwwXSk7KGU9bmV3IERpY3QobnVsbCkpLnNldCgiRm9udE5hbWUiLE5hbWUuZ2V0KHIpKTtlLnNldCgiRm9udEJCb3giLGkpfX1sZXQgaD1lLmdldCgiRm9udE5hbWUiKSxsPXQuZ2V0KCJCYXNlRm9udCIpOyJzdHJpbmciPT10eXBlb2YgaCYmKGg9TmFtZS5nZXQoaCkpOyJzdHJpbmciPT10eXBlb2YgbCYmKGw9TmFtZS5nZXQobCkpO2NvbnN0IFE9aD8ubmFtZSxFPWw/Lm5hbWU7aWYoIUMmJlEhPT1FKXtpbmZvKGBUaGUgRm9udERlc2NyaXB0b3IncyBGb250TmFtZSBpcyAiJHtRfSIgYnV0IHNob3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgRm9udCdzIEJhc2VGb250ICIke0V9Ii5gKTtRJiZFJiYoRS5zdGFydHNXaXRoKFEpfHwhaXNLbm93bkZvbnROYW1lKFEpJiZpc0tub3duRm9udE5hbWUoRSkpJiYoaD1udWxsKX1ofHw9bDtpZighKGggaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoImludmFsaWQgZm9udCBuYW1lIik7bGV0IHUsZCxmLHAsbTt0cnl7dT1lLmdldCgiRm9udEZpbGUiLCJGb250RmlsZTIiLCJGb250RmlsZTMiKX1jYXRjaChlKXtpZighdGhpcy5vcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYHRyYW5zbGF0ZUZvbnQgLSBmZXRjaGluZyAiJHtoLm5hbWV9IiBmb250IGZpbGU6ICIke2V9Ii5gKTt1PW5ldyBOdWxsU3RyZWFtfWxldCB5PSExLHc9bnVsbCxEPW51bGw7aWYodSl7aWYodS5kaWN0KXtjb25zdCBlPXUuZGljdC5nZXQoIlN1YnR5cGUiKTtlIGluc3RhbmNlb2YgTmFtZSYmKGQ9ZS5uYW1lKTtmPXUuZGljdC5nZXQoIkxlbmd0aDEiKTtwPXUuZGljdC5nZXQoIkxlbmd0aDIiKTttPXUuZGljdC5nZXQoIkxlbmd0aDMiKX19ZWxzZSBpZihjKXtjb25zdCBlPWdldFhmYUZvbnROYW1lKGgubmFtZSk7aWYoZSl7Yy5mb250RmFtaWx5PWAke2MuZm9udEZhbWlseX0tUGRmSlMtWEZBYDtjLm1ldHJpY3M9ZS5tZXRyaWNzfHxudWxsO3c9ZS5mYWN0b3JzfHxudWxsO3U9YXdhaXQgdGhpcy5mZXRjaFN0YW5kYXJkRm9udERhdGEoZS5uYW1lKTt5PSEhdTtpPXQ9Z2V0WGZhRm9udERpY3QoaC5uYW1lKTtzPSEwfX1lbHNlIGlmKCFDKXtjb25zdCBlPWdldFN0YW5kYXJkRm9udE5hbWUoaC5uYW1lKTtpZihlKXt1PWF3YWl0IHRoaXMuZmV0Y2hTdGFuZGFyZEZvbnREYXRhKGUpO3k9ISF1fSF5JiZ0aGlzLm9wdGlvbnMudXNlU3lzdGVtRm9udHMmJihEPWdldEZvbnRTdWJzdGl0dXRpb24odGhpcy5zeXN0ZW1Gb250Q2FjaGUsdGhpcy5pZEZhY3RvcnksdGhpcy5vcHRpb25zLnN0YW5kYXJkRm9udERhdGFVcmwsaC5uYW1lLGUscikpfWNvbnN0IGI9bG9va3VwTWF0cml4KHQuZ2V0QXJyYXkoIkZvbnRNYXRyaXgiKSxhKSxGPWxvb2t1cE5vcm1hbFJlY3QoZS5nZXRBcnJheSgiRm9udEJCb3giKXx8dC5nZXRBcnJheSgiRm9udEJCb3giKSx2b2lkIDApO2xldCBTPWUuZ2V0KCJBc2NlbnQiKTsibnVtYmVyIiE9dHlwZW9mIFMmJihTPXZvaWQgMCk7bGV0IGs9ZS5nZXQoIkRlc2NlbnQiKTsibnVtYmVyIiE9dHlwZW9mIGsmJihrPXZvaWQgMCk7bGV0IFI9ZS5nZXQoIlhIZWlnaHQiKTsibnVtYmVyIiE9dHlwZW9mIFImJihSPTApO2xldCBOPWUuZ2V0KCJDYXBIZWlnaHQiKTsibnVtYmVyIiE9dHlwZW9mIE4mJihOPTApO2xldCBHPWUuZ2V0KCJGbGFncyIpO051bWJlci5pc0ludGVnZXIoRyl8fChHPTApO2xldCB4PWUuZ2V0KCJJdGFsaWNBbmdsZSIpOyJudW1iZXIiIT10eXBlb2YgeCYmKHg9MCk7Y29uc3QgVT17dHlwZTpyLG5hbWU6aC5uYW1lLHN1YnR5cGU6ZCxmaWxlOnUsbGVuZ3RoMTpmLGxlbmd0aDI6cCxsZW5ndGgzOm0saXNJbnRlcm5hbEZvbnQ6eSxsb2FkZWROYW1lOmkubG9hZGVkTmFtZSxjb21wb3NpdGU6cyxmaXhlZFBpdGNoOiExLGZvbnRNYXRyaXg6YixmaXJzdENoYXI6bixsYXN0Q2hhcjpnLHRvVW5pY29kZTpvLGJib3g6Rixhc2NlbnQ6UyxkZXNjZW50OmsseEhlaWdodDpSLGNhcEhlaWdodDpOLGZsYWdzOkcsaXRhbGljQW5nbGU6eCxpc1R5cGUzRm9udDpDLGNzc0ZvbnRJbmZvOmMsc2NhbGVGYWN0b3JzOncsc3lzdGVtRm9udEluZm86RH07aWYocyl7Y29uc3QgZT1pLmdldCgiRW5jb2RpbmciKTtlIGluc3RhbmNlb2YgTmFtZSYmKFUuY2lkRW5jb2Rpbmc9ZS5uYW1lKTtjb25zdCB0PWF3YWl0IENNYXBGYWN0b3J5LmNyZWF0ZSh7ZW5jb2Rpbmc6ZSxmZXRjaEJ1aWx0SW5DTWFwOnRoaXMuX2ZldGNoQnVpbHRJbkNNYXBCb3VuZCx1c2VDTWFwOm51bGx9KTtVLmNNYXA9dDtVLnZlcnRpY2FsPVUuY01hcC52ZXJ0aWNhbH1jb25zdCBNPWF3YWl0IHRoaXMuZXh0cmFjdERhdGFTdHJ1Y3R1cmVzKHQsVSk7dGhpcy5leHRyYWN0V2lkdGhzKHQsZSxNKTtyZXR1cm4gbmV3IEZvbnQoaC5uYW1lLHUsTSl9c3RhdGljIGJ1aWxkRm9udFBhdGhzKGUsdCxpLGEpe2Z1bmN0aW9uIGJ1aWxkUGF0aCh0KXtjb25zdCBzPWAke2UubG9hZGVkTmFtZX1fcGF0aF8ke3R9YDt0cnl7aWYoZS5yZW5kZXJlci5oYXNCdWlsdFBhdGgodCkpcmV0dXJuO2kuc2VuZCgiY29tbW9ub2JqIixbcywiRm9udFBhdGgiLGUucmVuZGVyZXIuZ2V0UGF0aEpzKHQpXSl9Y2F0Y2goZSl7aWYoYS5pZ25vcmVFcnJvcnMpe3dhcm4oYGJ1aWxkRm9udFBhdGhzIC0gaWdub3JpbmcgJHtzfSBnbHlwaDogIiR7ZX0iLmApO3JldHVybn10aHJvdyBlfX1mb3IoY29uc3QgZSBvZiB0KXtidWlsZFBhdGgoZS5mb250Q2hhcik7Y29uc3QgdD1lLmFjY2VudDt0Py5mb250Q2hhciYmYnVpbGRQYXRoKHQuZm9udENoYXIpfX1zdGF0aWMgZ2V0IGZhbGxiYWNrRm9udERpY3QoKXtjb25zdCBlPW5ldyBEaWN0O2Uuc2V0KCJCYXNlRm9udCIsTmFtZS5nZXQoIkhlbHZldGljYSIpKTtlLnNldCgiVHlwZSIsTmFtZS5nZXQoIkZhbGxiYWNrVHlwZSIpKTtlLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZhbGxiYWNrVHlwZSIpKTtlLnNldCgiRW5jb2RpbmciLE5hbWUuZ2V0KCJXaW5BbnNpRW5jb2RpbmciKSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJmYWxsYmFja0ZvbnREaWN0IixlKX19Y2xhc3MgVHJhbnNsYXRlZEZvbnR7Y29uc3RydWN0b3Ioe2xvYWRlZE5hbWU6ZSxmb250OnQsZGljdDppLGV2YWx1YXRvck9wdGlvbnM6YX0pe3RoaXMubG9hZGVkTmFtZT1lO3RoaXMuZm9udD10O3RoaXMuZGljdD1pO3RoaXMuX2V2YWx1YXRvck9wdGlvbnM9YXx8UnM7dGhpcy50eXBlM0xvYWRlZD1udWxsO3RoaXMudHlwZTNEZXBlbmRlbmNpZXM9dC5pc1R5cGUzRm9udD9uZXcgU2V0Om51bGw7dGhpcy5zZW50PSExfXNlbmQoZSl7aWYoIXRoaXMuc2VudCl7dGhpcy5zZW50PSEwO2Uuc2VuZCgiY29tbW9ub2JqIixbdGhpcy5sb2FkZWROYW1lLCJGb250Iix0aGlzLmZvbnQuZXhwb3J0RGF0YSh0aGlzLl9ldmFsdWF0b3JPcHRpb25zLmZvbnRFeHRyYVByb3BlcnRpZXMpXSl9fWZhbGxiYWNrKGUpe2lmKHRoaXMuZm9udC5kYXRhKXt0aGlzLmZvbnQuZGlzYWJsZUZvbnRGYWNlPSEwO1BhcnRpYWxFdmFsdWF0b3IuYnVpbGRGb250UGF0aHModGhpcy5mb250LHRoaXMuZm9udC5nbHlwaENhY2hlVmFsdWVzLGUsdGhpcy5fZXZhbHVhdG9yT3B0aW9ucyl9fWxvYWRUeXBlM0RhdGEoZSx0LGkpe2lmKHRoaXMudHlwZTNMb2FkZWQpcmV0dXJuIHRoaXMudHlwZTNMb2FkZWQ7aWYoIXRoaXMuZm9udC5pc1R5cGUzRm9udCl0aHJvdyBuZXcgRXJyb3IoIk11c3QgYmUgYSBUeXBlMyBmb250LiIpO2NvbnN0IGE9ZS5jbG9uZSh7aWdub3JlRXJyb3JzOiExfSkscz1uZXcgUmVmU2V0KGUudHlwZTNGb250UmVmcyk7dGhpcy5kaWN0Lm9iaklkJiYhcy5oYXModGhpcy5kaWN0Lm9iaklkKSYmcy5wdXQodGhpcy5kaWN0Lm9iaklkKTthLnR5cGUzRm9udFJlZnM9cztjb25zdCByPXRoaXMuZm9udCxuPXRoaXMudHlwZTNEZXBlbmRlbmNpZXM7bGV0IGc9UHJvbWlzZS5yZXNvbHZlKCk7Y29uc3Qgbz10aGlzLmRpY3QuZ2V0KCJDaGFyUHJvY3MiKSxjPXRoaXMuZGljdC5nZXQoIlJlc291cmNlcyIpfHx0LEM9T2JqZWN0LmNyZWF0ZShudWxsKSxoPVV0aWwubm9ybWFsaXplUmVjdChyLmJib3h8fFswLDAsMCwwXSksbD1oWzJdLWhbMF0sUT1oWzNdLWhbMV0sRT1NYXRoLmh5cG90KGwsUSk7Zm9yKGNvbnN0IGUgb2Ygby5nZXRLZXlzKCkpZz1nLnRoZW4oKCgpPT57Y29uc3QgdD1vLmdldChlKSxzPW5ldyBPcGVyYXRvckxpc3Q7cmV0dXJuIGEuZ2V0T3BlcmF0b3JMaXN0KHtzdHJlYW06dCx0YXNrOmkscmVzb3VyY2VzOmMsb3BlcmF0b3JMaXN0OnN9KS50aGVuKCgoKT0+e3MuZm5BcnJheVswXT09PXVlJiZ0aGlzLl9yZW1vdmVUeXBlM0NvbG9yT3BlcmF0b3JzKHMsRSk7Q1tlXT1zLmdldElSKCk7Zm9yKGNvbnN0IGUgb2Ygcy5kZXBlbmRlbmNpZXMpbi5hZGQoZSl9KSkuY2F0Y2goKGZ1bmN0aW9uKHQpe3dhcm4oYFR5cGUzIGZvbnQgcmVzb3VyY2UgIiR7ZX0iIGlzIG5vdCBhdmFpbGFibGUuYCk7Y29uc3QgaT1uZXcgT3BlcmF0b3JMaXN0O0NbZV09aS5nZXRJUigpfSkpfSkpO3RoaXMudHlwZTNMb2FkZWQ9Zy50aGVuKCgoKT0+e3IuY2hhclByb2NPcGVyYXRvckxpc3Q9QztpZih0aGlzLl9iYm94KXtyLmlzQ2hhckJCb3g9ITA7ci5iYm94PXRoaXMuX2Jib3h9fSkpO3JldHVybiB0aGlzLnR5cGUzTG9hZGVkfV9yZW1vdmVUeXBlM0NvbG9yT3BlcmF0b3JzKGUsdD1OYU4pe2NvbnN0IGk9VXRpbC5ub3JtYWxpemVSZWN0KGUuYXJnc0FycmF5WzBdLnNsaWNlKDIpKSxhPWlbMl0taVswXSxzPWlbM10taVsxXSxyPU1hdGguaHlwb3QoYSxzKTtpZigwPT09YXx8MD09PXMpe2UuZm5BcnJheS5zcGxpY2UoMCwxKTtlLmFyZ3NBcnJheS5zcGxpY2UoMCwxKX1lbHNlIGlmKDA9PT10fHxNYXRoLnJvdW5kKHIvdCk+PTEwKXt0aGlzLl9iYm94fHwodGhpcy5fYmJveD1bMS8wLDEvMCwtMS8wLC0xLzBdKTt0aGlzLl9iYm94WzBdPU1hdGgubWluKHRoaXMuX2Jib3hbMF0saVswXSk7dGhpcy5fYmJveFsxXT1NYXRoLm1pbih0aGlzLl9iYm94WzFdLGlbMV0pO3RoaXMuX2Jib3hbMl09TWF0aC5tYXgodGhpcy5fYmJveFsyXSxpWzJdKTt0aGlzLl9iYm94WzNdPU1hdGgubWF4KHRoaXMuX2Jib3hbM10saVszXSl9bGV0IG49MCxnPWUubGVuZ3RoO2Zvcig7bjxnOyl7c3dpdGNoKGUuZm5BcnJheVtuXSl7Y2FzZSB1ZTpicmVhaztjYXNlIGRlOmNhc2UgZmU6Y2FzZSBwZTpjYXNlIG1lOmNhc2UgeWU6Y2FzZSB3ZTpjYXNlIERlOmNhc2UgYmU6Y2FzZSBGZTpjYXNlIFNlOmNhc2Uga2U6Y2FzZSBSZTpjYXNlIE5lOmNhc2UgUkE6ZS5mbkFycmF5LnNwbGljZShuLDEpO2UuYXJnc0FycmF5LnNwbGljZShuLDEpO2ctLTtjb250aW51ZTtjYXNlIEdBOmNvbnN0W3RdPWUuYXJnc0FycmF5W25dO2xldCBpPTAsYT10Lmxlbmd0aDtmb3IoO2k8YTspe2NvbnN0W2VdPXRbaV07c3dpdGNoKGUpe2Nhc2UiVFIiOmNhc2UiVFIyIjpjYXNlIkhUIjpjYXNlIkJHIjpjYXNlIkJHMiI6Y2FzZSJVQ1IiOmNhc2UiVUNSMiI6dC5zcGxpY2UoaSwxKTthLS07Y29udGludWV9aSsrfX1uKyt9fX1jbGFzcyBTdGF0ZU1hbmFnZXJ7Y29uc3RydWN0b3IoZT1uZXcgRXZhbFN0YXRlKXt0aGlzLnN0YXRlPWU7dGhpcy5zdGF0ZVN0YWNrPVtdfXNhdmUoKXtjb25zdCBlPXRoaXMuc3RhdGU7dGhpcy5zdGF0ZVN0YWNrLnB1c2godGhpcy5zdGF0ZSk7dGhpcy5zdGF0ZT1lLmNsb25lKCl9cmVzdG9yZSgpe2NvbnN0IGU9dGhpcy5zdGF0ZVN0YWNrLnBvcCgpO2UmJih0aGlzLnN0YXRlPWUpfXRyYW5zZm9ybShlKXt0aGlzLnN0YXRlLmN0bT1VdGlsLnRyYW5zZm9ybSh0aGlzLnN0YXRlLmN0bSxlKX19Y2xhc3MgVGV4dFN0YXRle2NvbnN0cnVjdG9yKCl7dGhpcy5jdG09bmV3IEZsb2F0MzJBcnJheShpKTt0aGlzLmZvbnROYW1lPW51bGw7dGhpcy5mb250U2l6ZT0wO3RoaXMubG9hZGVkTmFtZT1udWxsO3RoaXMuZm9udD1udWxsO3RoaXMuZm9udE1hdHJpeD1hO3RoaXMudGV4dE1hdHJpeD1pLnNsaWNlKCk7dGhpcy50ZXh0TGluZU1hdHJpeD1pLnNsaWNlKCk7dGhpcy5jaGFyU3BhY2luZz0wO3RoaXMud29yZFNwYWNpbmc9MDt0aGlzLmxlYWRpbmc9MDt0aGlzLnRleHRIU2NhbGU9MTt0aGlzLnRleHRSaXNlPTB9c2V0VGV4dE1hdHJpeChlLHQsaSxhLHMscil7Y29uc3Qgbj10aGlzLnRleHRNYXRyaXg7blswXT1lO25bMV09dDtuWzJdPWk7blszXT1hO25bNF09cztuWzVdPXJ9c2V0VGV4dExpbmVNYXRyaXgoZSx0LGksYSxzLHIpe2NvbnN0IG49dGhpcy50ZXh0TGluZU1hdHJpeDtuWzBdPWU7blsxXT10O25bMl09aTtuWzNdPWE7bls0XT1zO25bNV09cn10cmFuc2xhdGVUZXh0TWF0cml4KGUsdCl7Y29uc3QgaT10aGlzLnRleHRNYXRyaXg7aVs0XT1pWzBdKmUraVsyXSp0K2lbNF07aVs1XT1pWzFdKmUraVszXSp0K2lbNV19dHJhbnNsYXRlVGV4dExpbmVNYXRyaXgoZSx0KXtjb25zdCBpPXRoaXMudGV4dExpbmVNYXRyaXg7aVs0XT1pWzBdKmUraVsyXSp0K2lbNF07aVs1XT1pWzFdKmUraVszXSp0K2lbNV19Y2FycmlhZ2VSZXR1cm4oKXt0aGlzLnRyYW5zbGF0ZVRleHRMaW5lTWF0cml4KDAsLXRoaXMubGVhZGluZyk7dGhpcy50ZXh0TWF0cml4PXRoaXMudGV4dExpbmVNYXRyaXguc2xpY2UoKX1jbG9uZSgpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZSh0aGlzKTtlLnRleHRNYXRyaXg9dGhpcy50ZXh0TWF0cml4LnNsaWNlKCk7ZS50ZXh0TGluZU1hdHJpeD10aGlzLnRleHRMaW5lTWF0cml4LnNsaWNlKCk7ZS5mb250TWF0cml4PXRoaXMuZm9udE1hdHJpeC5zbGljZSgpO3JldHVybiBlfX1jbGFzcyBFdmFsU3RhdGV7Y29uc3RydWN0b3IoKXt0aGlzLmN0bT1uZXcgRmxvYXQzMkFycmF5KGkpO3RoaXMuZm9udD1udWxsO3RoaXMudGV4dFJlbmRlcmluZ01vZGU9dzt0aGlzLl9maWxsQ29sb3JTcGFjZT1Db2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheTt0aGlzLl9zdHJva2VDb2xvclNwYWNlPUNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5O3RoaXMucGF0dGVybkZpbGxDb2xvclNwYWNlPW51bGw7dGhpcy5wYXR0ZXJuU3Ryb2tlQ29sb3JTcGFjZT1udWxsfWdldCBmaWxsQ29sb3JTcGFjZSgpe3JldHVybiB0aGlzLl9maWxsQ29sb3JTcGFjZX1zZXQgZmlsbENvbG9yU3BhY2UoZSl7dGhpcy5fZmlsbENvbG9yU3BhY2U9dGhpcy5wYXR0ZXJuRmlsbENvbG9yU3BhY2U9ZX1nZXQgc3Ryb2tlQ29sb3JTcGFjZSgpe3JldHVybiB0aGlzLl9zdHJva2VDb2xvclNwYWNlfXNldCBzdHJva2VDb2xvclNwYWNlKGUpe3RoaXMuX3N0cm9rZUNvbG9yU3BhY2U9dGhpcy5wYXR0ZXJuU3Ryb2tlQ29sb3JTcGFjZT1lfWNsb25lKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9fWNsYXNzIEV2YWx1YXRvclByZXByb2Nlc3NvcntzdGF0aWMgZ2V0IG9wTWFwKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJvcE1hcCIsT2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHt3OntpZDpEQSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxKOntpZDpiQSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxqOntpZDpGQSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxNOntpZDpTQSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxkOntpZDprQSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxyaTp7aWQ6UkEsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0saTp7aWQ6TkEsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sZ3M6e2lkOkdBLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LHE6e2lkOnhBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LFE6e2lkOlVBLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LGNtOntpZDpNQSxudW1BcmdzOjYsdmFyaWFibGVBcmdzOiExfSxtOntpZDpMQSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxsOntpZDpIQSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxjOntpZDpKQSxudW1BcmdzOjYsdmFyaWFibGVBcmdzOiExfSx2OntpZDpZQSxudW1BcmdzOjQsdmFyaWFibGVBcmdzOiExfSx5OntpZDp2QSxudW1BcmdzOjQsdmFyaWFibGVBcmdzOiExfSxoOntpZDpLQSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxyZTp7aWQ6VEEsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMX0sUzp7aWQ6cUEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sczp7aWQ6T0EsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sZjp7aWQ6UEEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sRjp7aWQ6UEEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sImYqIjp7aWQ6V0EsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sQjp7aWQ6akEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sIkIqIjp7aWQ6WEEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sYjp7aWQ6WkEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sImIqIjp7aWQ6VkEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sbjp7aWQ6ekEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sVzp7aWQ6X0EsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sIlcqIjp7aWQ6JEEsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sQlQ6e2lkOkFlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEVUOntpZDplZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxUYzp7aWQ6dGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sVHc6e2lkOmllLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFR6OntpZDphZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxUTDp7aWQ6c2UsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sVGY6e2lkOnJlLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LFRyOntpZDpuZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxUczp7aWQ6Z2UsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sVGQ6e2lkOm9lLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LFREOntpZDpJZSxudW1BcmdzOjIsdmFyaWFibGVBcmdzOiExfSxUbTp7aWQ6Y2UsbnVtQXJnczo2LHZhcmlhYmxlQXJnczohMX0sIlQqIjp7aWQ6Q2UsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sVGo6e2lkOmhlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFRKOntpZDpCZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSwiJyI6e2lkOmxlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LCciJzp7aWQ6UWUsbnVtQXJnczozLHZhcmlhYmxlQXJnczohMX0sZDA6e2lkOkVlLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LGQxOntpZDp1ZSxudW1BcmdzOjYsdmFyaWFibGVBcmdzOiExfSxDUzp7aWQ6ZGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sY3M6e2lkOmZlLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LFNDOntpZDpwZSxudW1BcmdzOjQsdmFyaWFibGVBcmdzOiEwfSxTQ046e2lkOm1lLG51bUFyZ3M6MzMsdmFyaWFibGVBcmdzOiEwfSxzYzp7aWQ6eWUsbnVtQXJnczo0LHZhcmlhYmxlQXJnczohMH0sc2NuOntpZDp3ZSxudW1BcmdzOjMzLHZhcmlhYmxlQXJnczohMH0sRzp7aWQ6RGUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sZzp7aWQ6YmUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sUkc6e2lkOkZlLG51bUFyZ3M6Myx2YXJpYWJsZUFyZ3M6ITF9LHJnOntpZDpTZSxudW1BcmdzOjMsdmFyaWFibGVBcmdzOiExfSxLOntpZDprZSxudW1BcmdzOjQsdmFyaWFibGVBcmdzOiExfSxrOntpZDpSZSxudW1BcmdzOjQsdmFyaWFibGVBcmdzOiExfSxzaDp7aWQ6TmUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sQkk6e2lkOkdlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LElEOntpZDp4ZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxFSTp7aWQ6VWUsbnVtQXJnczoxLHZhcmlhYmxlQXJnczohMX0sRG86e2lkOk1lLG51bUFyZ3M6MSx2YXJpYWJsZUFyZ3M6ITF9LE1QOntpZDpMZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxEUDp7aWQ6SGUsbnVtQXJnczoyLHZhcmlhYmxlQXJnczohMX0sQk1DOntpZDpKZSxudW1BcmdzOjEsdmFyaWFibGVBcmdzOiExfSxCREM6e2lkOlllLG51bUFyZ3M6Mix2YXJpYWJsZUFyZ3M6ITF9LEVNQzp7aWQ6dmUsbnVtQXJnczowLHZhcmlhYmxlQXJnczohMX0sQlg6e2lkOktlLG51bUFyZ3M6MCx2YXJpYWJsZUFyZ3M6ITF9LEVYOntpZDpUZSxudW1BcmdzOjAsdmFyaWFibGVBcmdzOiExfSxCTTpudWxsLEJEOm51bGwsdHJ1ZTpudWxsLGZhOm51bGwsZmFsOm51bGwsZmFsczpudWxsLGZhbHNlOm51bGwsbnU6bnVsbCxudWw6bnVsbCxudWxsOm51bGx9KSl9c3RhdGljIE1BWF9JTlZBTElEX1BBVEhfT1BTPTEwO2NvbnN0cnVjdG9yKGUsdCxpPW5ldyBTdGF0ZU1hbmFnZXIpe3RoaXMucGFyc2VyPW5ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcihlLEV2YWx1YXRvclByZXByb2Nlc3Nvci5vcE1hcCkseHJlZjp0fSk7dGhpcy5zdGF0ZU1hbmFnZXI9aTt0aGlzLm5vblByb2Nlc3NlZEFyZ3M9W107dGhpcy5faXNQYXRoT3A9ITE7dGhpcy5fbnVtSW52YWxpZFBhdGhPUFM9MH1nZXQgc2F2ZWRTdGF0ZXNEZXB0aCgpe3JldHVybiB0aGlzLnN0YXRlTWFuYWdlci5zdGF0ZVN0YWNrLmxlbmd0aH1yZWFkKGUpe2xldCB0PWUuYXJncztmb3IoOzspe2NvbnN0IGk9dGhpcy5wYXJzZXIuZ2V0T2JqKCk7aWYoaSBpbnN0YW5jZW9mIENtZCl7Y29uc3QgYT1pLmNtZCxzPUV2YWx1YXRvclByZXByb2Nlc3Nvci5vcE1hcFthXTtpZighcyl7d2FybihgVW5rbm93biBjb21tYW5kICIke2F9Ii5gKTtjb250aW51ZX1jb25zdCByPXMuaWQsbj1zLm51bUFyZ3M7bGV0IGc9bnVsbCE9PXQ/dC5sZW5ndGg6MDt0aGlzLl9pc1BhdGhPcHx8KHRoaXMuX251bUludmFsaWRQYXRoT1BTPTApO3RoaXMuX2lzUGF0aE9wPXI+PUxBJiZyPD16QTtpZihzLnZhcmlhYmxlQXJncylnPm4mJmluZm8oYENvbW1hbmQgJHthfTogZXhwZWN0ZWQgWzAsICR7bn1dIGFyZ3MsIGJ1dCByZWNlaXZlZCAke2d9IGFyZ3MuYCk7ZWxzZXtpZihnIT09bil7Y29uc3QgZT10aGlzLm5vblByb2Nlc3NlZEFyZ3M7Zm9yKDtnPm47KXtlLnB1c2godC5zaGlmdCgpKTtnLS19Zm9yKDtnPG4mJjAhPT1lLmxlbmd0aDspe251bGw9PT10JiYodD1bXSk7dC51bnNoaWZ0KGUucG9wKCkpO2crK319aWYoZzxuKXtjb25zdCBlPWBjb21tYW5kICR7YX06IGV4cGVjdGVkICR7bn0gYXJncywgYnV0IHJlY2VpdmVkICR7Z30gYXJncy5gO2lmKHRoaXMuX2lzUGF0aE9wJiYrK3RoaXMuX251bUludmFsaWRQYXRoT1BTPkV2YWx1YXRvclByZXByb2Nlc3Nvci5NQVhfSU5WQUxJRF9QQVRIX09QUyl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoYEludmFsaWQgJHtlfWApO3dhcm4oYFNraXBwaW5nICR7ZX1gKTtudWxsIT09dCYmKHQubGVuZ3RoPTApO2NvbnRpbnVlfX10aGlzLnByZXByb2Nlc3NDb21tYW5kKHIsdCk7ZS5mbj1yO2UuYXJncz10O3JldHVybiEwfWlmKGk9PT13dClyZXR1cm4hMTtpZihudWxsIT09aSl7bnVsbD09PXQmJih0PVtdKTt0LnB1c2goaSk7aWYodC5sZW5ndGg+MzMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJUb28gbWFueSBhcmd1bWVudHMiKX19fXByZXByb2Nlc3NDb21tYW5kKGUsdCl7c3dpdGNoKDB8ZSl7Y2FzZSB4QTp0aGlzLnN0YXRlTWFuYWdlci5zYXZlKCk7YnJlYWs7Y2FzZSBVQTp0aGlzLnN0YXRlTWFuYWdlci5yZXN0b3JlKCk7YnJlYWs7Y2FzZSBNQTp0aGlzLnN0YXRlTWFuYWdlci50cmFuc2Zvcm0odCl9fX1jbGFzcyBEZWZhdWx0QXBwZWFyYW5jZUV2YWx1YXRvciBleHRlbmRzIEV2YWx1YXRvclByZXByb2Nlc3Nvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihuZXcgU3RyaW5nU3RyZWFtKGUpKX1wYXJzZSgpe2NvbnN0IGU9e2ZuOjAsYXJnczpbXX0sdD17Zm9udFNpemU6MCxmb250TmFtZToiIixmb250Q29sb3I6bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMpfTt0cnl7Zm9yKDs7KXtlLmFyZ3MubGVuZ3RoPTA7aWYoIXRoaXMucmVhZChlKSlicmVhaztpZigwIT09dGhpcy5zYXZlZFN0YXRlc0RlcHRoKWNvbnRpbnVlO2NvbnN0e2ZuOmksYXJnczphfT1lO3N3aXRjaCgwfGkpe2Nhc2UgcmU6Y29uc3RbZSxpXT1hO2UgaW5zdGFuY2VvZiBOYW1lJiYodC5mb250TmFtZT1lLm5hbWUpOyJudW1iZXIiPT10eXBlb2YgaSYmaT4wJiYodC5mb250U2l6ZT1pKTticmVhaztjYXNlIFNlOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5yZ2IuZ2V0UmdiSXRlbShhLDAsdC5mb250Q29sb3IsMCk7YnJlYWs7Y2FzZSBiZTpDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheS5nZXRSZ2JJdGVtKGEsMCx0LmZvbnRDb2xvciwwKTticmVhaztjYXNlIFJlOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrLmdldFJnYkl0ZW0oYSwwLHQuZm9udENvbG9yLDApfX19Y2F0Y2goZSl7d2FybihgcGFyc2VEZWZhdWx0QXBwZWFyYW5jZSAtIGlnbm9yaW5nIGVycm9yczogIiR7ZX0iLmApfXJldHVybiB0fX1mdW5jdGlvbiBwYXJzZURlZmF1bHRBcHBlYXJhbmNlKGUpe3JldHVybiBuZXcgRGVmYXVsdEFwcGVhcmFuY2VFdmFsdWF0b3IoZSkucGFyc2UoKX1jbGFzcyBBcHBlYXJhbmNlU3RyZWFtRXZhbHVhdG9yIGV4dGVuZHMgRXZhbHVhdG9yUHJlcHJvY2Vzc29ye2NvbnN0cnVjdG9yKGUsdCxpKXtzdXBlcihlKTt0aGlzLnN0cmVhbT1lO3RoaXMuZXZhbHVhdG9yT3B0aW9ucz10O3RoaXMueHJlZj1pO3RoaXMucmVzb3VyY2VzPWUuZGljdD8uZ2V0KCJSZXNvdXJjZXMiKX1wYXJzZSgpe2NvbnN0IGU9e2ZuOjAsYXJnczpbXX07bGV0IHQ9e3NjYWxlRmFjdG9yOjEsZm9udFNpemU6MCxmb250TmFtZToiIixmb250Q29sb3I6bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KDMpLGZpbGxDb2xvclNwYWNlOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5fSxpPSExO2NvbnN0IGE9W107dHJ5e2Zvcig7Oyl7ZS5hcmdzLmxlbmd0aD0wO2lmKGl8fCF0aGlzLnJlYWQoZSkpYnJlYWs7Y29uc3R7Zm46cyxhcmdzOnJ9PWU7c3dpdGNoKDB8cyl7Y2FzZSB4QTphLnB1c2goe3NjYWxlRmFjdG9yOnQuc2NhbGVGYWN0b3IsZm9udFNpemU6dC5mb250U2l6ZSxmb250TmFtZTp0LmZvbnROYW1lLGZvbnRDb2xvcjp0LmZvbnRDb2xvci5zbGljZSgpLGZpbGxDb2xvclNwYWNlOnQuZmlsbENvbG9yU3BhY2V9KTticmVhaztjYXNlIFVBOnQ9YS5wb3AoKXx8dDticmVhaztjYXNlIGNlOnQuc2NhbGVGYWN0b3IqPU1hdGguaHlwb3QoclswXSxyWzFdKTticmVhaztjYXNlIHJlOmNvbnN0W2Usc109cjtlIGluc3RhbmNlb2YgTmFtZSYmKHQuZm9udE5hbWU9ZS5uYW1lKTsibnVtYmVyIj09dHlwZW9mIHMmJnM+MCYmKHQuZm9udFNpemU9cyp0LnNjYWxlRmFjdG9yKTticmVhaztjYXNlIGZlOnQuZmlsbENvbG9yU3BhY2U9Q29sb3JTcGFjZS5wYXJzZSh7Y3M6clswXSx4cmVmOnRoaXMueHJlZixyZXNvdXJjZXM6dGhpcy5yZXNvdXJjZXMscGRmRnVuY3Rpb25GYWN0b3J5OnRoaXMuX3BkZkZ1bmN0aW9uRmFjdG9yeSxsb2NhbENvbG9yU3BhY2VDYWNoZTp0aGlzLl9sb2NhbENvbG9yU3BhY2VDYWNoZX0pO2JyZWFrO2Nhc2UgeWU6dC5maWxsQ29sb3JTcGFjZS5nZXRSZ2JJdGVtKHIsMCx0LmZvbnRDb2xvciwwKTticmVhaztjYXNlIFNlOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5yZ2IuZ2V0UmdiSXRlbShyLDAsdC5mb250Q29sb3IsMCk7YnJlYWs7Y2FzZSBiZTpDb2xvclNwYWNlLnNpbmdsZXRvbnMuZ3JheS5nZXRSZ2JJdGVtKHIsMCx0LmZvbnRDb2xvciwwKTticmVhaztjYXNlIFJlOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5jbXlrLmdldFJnYkl0ZW0ociwwLHQuZm9udENvbG9yLDApO2JyZWFrO2Nhc2UgaGU6Y2FzZSBCZTpjYXNlIGxlOmNhc2UgUWU6aT0hMH19fWNhdGNoKGUpe3dhcm4oYHBhcnNlQXBwZWFyYW5jZVN0cmVhbSAtIGlnbm9yaW5nIGVycm9yczogIiR7ZX0iLmApfXRoaXMuc3RyZWFtLnJlc2V0KCk7ZGVsZXRlIHQuc2NhbGVGYWN0b3I7ZGVsZXRlIHQuZmlsbENvbG9yU3BhY2U7cmV0dXJuIHR9Z2V0IF9sb2NhbENvbG9yU3BhY2VDYWNoZSgpe3JldHVybiBzaGFkb3codGhpcywiX2xvY2FsQ29sb3JTcGFjZUNhY2hlIixuZXcgTG9jYWxDb2xvclNwYWNlQ2FjaGUpfWdldCBfcGRmRnVuY3Rpb25GYWN0b3J5KCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJfcGRmRnVuY3Rpb25GYWN0b3J5IixuZXcgUERGRnVuY3Rpb25GYWN0b3J5KHt4cmVmOnRoaXMueHJlZixpc0V2YWxTdXBwb3J0ZWQ6dGhpcy5ldmFsdWF0b3JPcHRpb25zLmlzRXZhbFN1cHBvcnRlZH0pKX19ZnVuY3Rpb24gZ2V0UGRmQ29sb3IoZSx0KXtpZihlWzBdPT09ZVsxXSYmZVsxXT09PWVbMl0pe3JldHVybmAke251bWJlclRvU3RyaW5nKGVbMF0vMjU1KX0gJHt0PyJnIjoiRyJ9YH1yZXR1cm4gQXJyYXkuZnJvbShlLChlPT5udW1iZXJUb1N0cmluZyhlLzI1NSkpKS5qb2luKCIgIikrIiAiKyh0PyJyZyI6IlJHIil9Y2xhc3MgRmFrZVVuaWNvZGVGb250e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy54cmVmPWU7dGhpcy53aWR0aHM9bnVsbDt0aGlzLmZpcnN0Q2hhcj0xLzA7dGhpcy5sYXN0Q2hhcj0tMS8wO3RoaXMuZm9udEZhbWlseT10O2NvbnN0IGk9bmV3IE9mZnNjcmVlbkNhbnZhcygxLDEpO3RoaXMuY3R4TWVhc3VyZT1pLmdldENvbnRleHQoIjJkIix7d2lsbFJlYWRGcmVxdWVudGx5OiEwfSk7RmFrZVVuaWNvZGVGb250Ll9mb250TmFtZUlkfHwoRmFrZVVuaWNvZGVGb250Ll9mb250TmFtZUlkPTEpO3RoaXMuZm9udE5hbWU9TmFtZS5nZXQoYEludmFsaWRQREZqc0ZvbnRfJHt0fV8ke0Zha2VVbmljb2RlRm9udC5fZm9udE5hbWVJZCsrfWApfWdldCBmb250RGVzY3JpcHRvclJlZigpe2lmKCFGYWtlVW5pY29kZUZvbnQuX2ZvbnREZXNjcmlwdG9yUmVmKXtjb25zdCBlPW5ldyBEaWN0KHRoaXMueHJlZik7ZS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJGb250RGVzY3JpcHRvciIpKTtlLnNldCgiRm9udE5hbWUiLHRoaXMuZm9udE5hbWUpO2Uuc2V0KCJGb250RmFtaWx5IiwiTXlyaWFkUHJvIFJlZ3VsYXIiKTtlLnNldCgiRm9udEJCb3giLFswLDAsMCwwXSk7ZS5zZXQoIkZvbnRTdHJldGNoIixOYW1lLmdldCgiTm9ybWFsIikpO2Uuc2V0KCJGb250V2VpZ2h0Iiw0MDApO2Uuc2V0KCJJdGFsaWNBbmdsZSIsMCk7RmFrZVVuaWNvZGVGb250Ll9mb250RGVzY3JpcHRvclJlZj10aGlzLnhyZWYuZ2V0TmV3UGVyc2lzdGVudFJlZihlKX1yZXR1cm4gRmFrZVVuaWNvZGVGb250Ll9mb250RGVzY3JpcHRvclJlZn1nZXQgZGVzY2VuZGFudEZvbnRSZWYoKXtjb25zdCBlPW5ldyBEaWN0KHRoaXMueHJlZik7ZS5zZXQoIkJhc2VGb250Iix0aGlzLmZvbnROYW1lKTtlLnNldCgiVHlwZSIsTmFtZS5nZXQoIkZvbnQiKSk7ZS5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJDSURGb250VHlwZTAiKSk7ZS5zZXQoIkNJRFRvR0lETWFwIixOYW1lLmdldCgiSWRlbnRpdHkiKSk7ZS5zZXQoIkZpcnN0Q2hhciIsdGhpcy5maXJzdENoYXIpO2Uuc2V0KCJMYXN0Q2hhciIsdGhpcy5sYXN0Q2hhcik7ZS5zZXQoIkZvbnREZXNjcmlwdG9yIix0aGlzLmZvbnREZXNjcmlwdG9yUmVmKTtlLnNldCgiRFciLDFlMyk7Y29uc3QgdD1bXSxpPVsuLi50aGlzLndpZHRocy5lbnRyaWVzKCldLnNvcnQoKTtsZXQgYT1udWxsLHM9bnVsbDtmb3IoY29uc3RbZSxyXW9mIGkpaWYoYSlpZihlPT09YStzLmxlbmd0aClzLnB1c2gocik7ZWxzZXt0LnB1c2goYSxzKTthPWU7cz1bcl19ZWxzZXthPWU7cz1bcl19YSYmdC5wdXNoKGEscyk7ZS5zZXQoIlciLHQpO2NvbnN0IHI9bmV3IERpY3QodGhpcy54cmVmKTtyLnNldCgiT3JkZXJpbmciLCJJZGVudGl0eSIpO3Iuc2V0KCJSZWdpc3RyeSIsIkFkb2JlIik7ci5zZXQoIlN1cHBsZW1lbnQiLDApO2Uuc2V0KCJDSURTeXN0ZW1JbmZvIixyKTtyZXR1cm4gdGhpcy54cmVmLmdldE5ld1BlcnNpc3RlbnRSZWYoZSl9Z2V0IGJhc2VGb250UmVmKCl7Y29uc3QgZT1uZXcgRGljdCh0aGlzLnhyZWYpO2Uuc2V0KCJCYXNlRm9udCIsdGhpcy5mb250TmFtZSk7ZS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJGb250IikpO2Uuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiVHlwZTAiKSk7ZS5zZXQoIkVuY29kaW5nIixOYW1lLmdldCgiSWRlbnRpdHktSCIpKTtlLnNldCgiRGVzY2VuZGFudEZvbnRzIixbdGhpcy5kZXNjZW5kYW50Rm9udFJlZl0pO2Uuc2V0KCJUb1VuaWNvZGUiLE5hbWUuZ2V0KCJJZGVudGl0eS1IIikpO3JldHVybiB0aGlzLnhyZWYuZ2V0TmV3UGVyc2lzdGVudFJlZihlKX1nZXQgcmVzb3VyY2VzKCl7Y29uc3QgZT1uZXcgRGljdCh0aGlzLnhyZWYpLHQ9bmV3IERpY3QodGhpcy54cmVmKTt0LnNldCh0aGlzLmZvbnROYW1lLm5hbWUsdGhpcy5iYXNlRm9udFJlZik7ZS5zZXQoIkZvbnQiLHQpO3JldHVybiBlfV9jcmVhdGVDb250ZXh0KCl7dGhpcy53aWR0aHM9bmV3IE1hcDt0aGlzLmN0eE1lYXN1cmUuZm9udD1gMTAwMHB4ICR7dGhpcy5mb250RmFtaWx5fWA7cmV0dXJuIHRoaXMuY3R4TWVhc3VyZX1jcmVhdGVGb250UmVzb3VyY2VzKGUpe2NvbnN0IHQ9dGhpcy5fY3JlYXRlQ29udGV4dCgpO2Zvcihjb25zdCBpIG9mIGUuc3BsaXQoL1xyXG4/fFxuLykpZm9yKGNvbnN0IGUgb2YgaS5zcGxpdCgiIikpe2NvbnN0IGk9ZS5jaGFyQ29kZUF0KDApO2lmKHRoaXMud2lkdGhzLmhhcyhpKSljb250aW51ZTtjb25zdCBhPXQubWVhc3VyZVRleHQoZSkscz1NYXRoLmNlaWwoYS53aWR0aCk7dGhpcy53aWR0aHMuc2V0KGkscyk7dGhpcy5maXJzdENoYXI9TWF0aC5taW4oaSx0aGlzLmZpcnN0Q2hhcik7dGhpcy5sYXN0Q2hhcj1NYXRoLm1heChpLHRoaXMubGFzdENoYXIpfXJldHVybiB0aGlzLnJlc291cmNlc31zdGF0aWMgZ2V0Rmlyc3RQb3NpdGlvbkluZm8oZSx0LGkpe2NvbnN0W2EsbixnLG9dPWU7bGV0IGM9Zy1hLEM9by1uO3QlMTgwIT0wJiYoW2MsQ109W0MsY10pO2NvbnN0IGg9cyppO3JldHVybntjb29yZHM6WzAsQytyKmktaF0sYmJveDpbMCwwLGMsQ10sbWF0cml4OjAhPT10P2dldFJvdGF0aW9uTWF0cml4KHQsQyxoKTp2b2lkIDB9fWNyZWF0ZUFwcGVhcmFuY2UoZSx0LGksYSxuLGcpe2NvbnN0IG89dGhpcy5fY3JlYXRlQ29udGV4dCgpLGM9W107bGV0IEM9LTEvMDtmb3IoY29uc3QgdCBvZiBlLnNwbGl0KC9cclxuP3xcbi8pKXtjLnB1c2godCk7Y29uc3QgZT1vLm1lYXN1cmVUZXh0KHQpLndpZHRoO0M9TWF0aC5tYXgoQyxlKTtmb3IoY29uc3QgZSBvZiBjb2RlUG9pbnRJdGVyKHQpKXtjb25zdCB0PVN0cmluZy5mcm9tQ29kZVBvaW50KGUpO2xldCBpPXRoaXMud2lkdGhzLmdldChlKTtpZih2b2lkIDA9PT1pKXtjb25zdCBhPW8ubWVhc3VyZVRleHQodCk7aT1NYXRoLmNlaWwoYS53aWR0aCk7dGhpcy53aWR0aHMuc2V0KGUsaSk7dGhpcy5maXJzdENoYXI9TWF0aC5taW4oZSx0aGlzLmZpcnN0Q2hhcik7dGhpcy5sYXN0Q2hhcj1NYXRoLm1heChlLHRoaXMubGFzdENoYXIpfX19Qyo9YS8xZTM7Y29uc3RbaCxsLFEsRV09dDtsZXQgdT1RLWgsZD1FLWw7aSUxODAhPTAmJihbdSxkXT1bZCx1XSk7bGV0IGY9MTtDPnUmJihmPXUvQyk7bGV0IHA9MTtjb25zdCBtPXMqYSx5PXIqYSx3PW0qYy5sZW5ndGg7dz5kJiYocD1kL3cpO2NvbnN0IEQ9YSpNYXRoLm1pbihmLHApLGI9WyJxIixgMCAwICR7bnVtYmVyVG9TdHJpbmcodSl9ICR7bnVtYmVyVG9TdHJpbmcoZCl9IHJlIFcgbmAsIkJUIixgMSAwIDAgMSAwICR7bnVtYmVyVG9TdHJpbmcoZCt5KX0gVG0gMCBUYyAke2dldFBkZkNvbG9yKG4sITApfWAsYC8ke3RoaXMuZm9udE5hbWUubmFtZX0gJHtudW1iZXJUb1N0cmluZyhEKX0gVGZgXSx7cmVzb3VyY2VzOkZ9PXRoaXM7aWYoMSE9PShnPSJudW1iZXIiPT10eXBlb2YgZyYmZz49MCYmZzw9MT9nOjEpKXtiLnB1c2goIi9SMCBncyIpO2NvbnN0IGU9bmV3IERpY3QodGhpcy54cmVmKSx0PW5ldyBEaWN0KHRoaXMueHJlZik7dC5zZXQoImNhIixnKTt0LnNldCgiQ0EiLGcpO3Quc2V0KCJUeXBlIixOYW1lLmdldCgiRXh0R1N0YXRlIikpO2Uuc2V0KCJSMCIsdCk7Ri5zZXQoIkV4dEdTdGF0ZSIsZSl9Y29uc3QgUz1udW1iZXJUb1N0cmluZyhtKTtmb3IoY29uc3QgZSBvZiBjKWIucHVzaChgMCAtJHtTfSBUZCA8JHtzdHJpbmdUb1VURjE2SGV4U3RyaW5nKGUpfT4gVGpgKTtiLnB1c2goIkVUIiwiUSIpO2NvbnN0IGs9Yi5qb2luKCJcbiIpLFI9bmV3IERpY3QodGhpcy54cmVmKTtSLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZvcm0iKSk7Ui5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJYT2JqZWN0IikpO1Iuc2V0KCJCQm94IixbMCwwLHUsZF0pO1Iuc2V0KCJMZW5ndGgiLGsubGVuZ3RoKTtSLnNldCgiUmVzb3VyY2VzIixGKTtpZihpKXtjb25zdCBlPWdldFJvdGF0aW9uTWF0cml4KGksdSxkKTtSLnNldCgiTWF0cml4IixlKX1jb25zdCBOPW5ldyBTdHJpbmdTdHJlYW0oayk7Ti5kaWN0PVI7cmV0dXJuIE59fWNsYXNzIE5hbWVPck51bWJlclRyZWV7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMucm9vdD1lO3RoaXMueHJlZj10O3RoaXMuX3R5cGU9aX1nZXRBbGwoKXtjb25zdCBlPW5ldyBNYXA7aWYoIXRoaXMucm9vdClyZXR1cm4gZTtjb25zdCB0PXRoaXMueHJlZixpPW5ldyBSZWZTZXQ7aS5wdXQodGhpcy5yb290KTtjb25zdCBhPVt0aGlzLnJvb3RdO2Zvcig7YS5sZW5ndGg+MDspe2NvbnN0IHM9dC5mZXRjaElmUmVmKGEuc2hpZnQoKSk7aWYoIShzIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7aWYocy5oYXMoIktpZHMiKSl7Y29uc3QgZT1zLmdldCgiS2lkcyIpO2lmKCFBcnJheS5pc0FycmF5KGUpKWNvbnRpbnVlO2Zvcihjb25zdCB0IG9mIGUpe2lmKGkuaGFzKHQpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgRHVwbGljYXRlIGVudHJ5IGluICIke3RoaXMuX3R5cGV9IiB0cmVlLmApO2EucHVzaCh0KTtpLnB1dCh0KX1jb250aW51ZX1jb25zdCByPXMuZ2V0KHRoaXMuX3R5cGUpO2lmKEFycmF5LmlzQXJyYXkocikpZm9yKGxldCBpPTAsYT1yLmxlbmd0aDtpPGE7aSs9MillLnNldCh0LmZldGNoSWZSZWYocltpXSksdC5mZXRjaElmUmVmKHJbaSsxXSkpfXJldHVybiBlfWdldFJhdyhlKXtpZighdGhpcy5yb290KXJldHVybiBudWxsO2NvbnN0IHQ9dGhpcy54cmVmO2xldCBpPXQuZmV0Y2hJZlJlZih0aGlzLnJvb3QpLGE9MDtmb3IoO2kuaGFzKCJLaWRzIik7KXtpZigrK2E+MTApe3dhcm4oYFNlYXJjaCBkZXB0aCBsaW1pdCByZWFjaGVkIGZvciAiJHt0aGlzLl90eXBlfSIgdHJlZS5gKTtyZXR1cm4gbnVsbH1jb25zdCBzPWkuZ2V0KCJLaWRzIik7aWYoIUFycmF5LmlzQXJyYXkocykpcmV0dXJuIG51bGw7bGV0IHI9MCxuPXMubGVuZ3RoLTE7Zm9yKDtyPD1uOyl7Y29uc3QgYT1yK24+PjEsZz10LmZldGNoSWZSZWYoc1thXSksbz1nLmdldCgiTGltaXRzIik7aWYoZTx0LmZldGNoSWZSZWYob1swXSkpbj1hLTE7ZWxzZXtpZighKGU+dC5mZXRjaElmUmVmKG9bMV0pKSl7aT1nO2JyZWFrfXI9YSsxfX1pZihyPm4pcmV0dXJuIG51bGx9Y29uc3Qgcz1pLmdldCh0aGlzLl90eXBlKTtpZihBcnJheS5pc0FycmF5KHMpKXtsZXQgaT0wLGE9cy5sZW5ndGgtMjtmb3IoO2k8PWE7KXtjb25zdCByPWkrYT4+MSxuPXIrKDEmciksZz10LmZldGNoSWZSZWYoc1tuXSk7aWYoZTxnKWE9bi0yO2Vsc2V7aWYoIShlPmcpKXJldHVybiBzW24rMV07aT1uKzJ9fX1yZXR1cm4gbnVsbH1nZXQoZSl7cmV0dXJuIHRoaXMueHJlZi5mZXRjaElmUmVmKHRoaXMuZ2V0UmF3KGUpKX19Y2xhc3MgTmFtZVRyZWUgZXh0ZW5kcyBOYW1lT3JOdW1iZXJUcmVle2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LCJOYW1lcyIpfX1jbGFzcyBOdW1iZXJUcmVlIGV4dGVuZHMgTmFtZU9yTnVtYmVyVHJlZXtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKGUsdCwiTnVtcyIpfX1mdW5jdGlvbiBjbGVhckdsb2JhbENhY2hlcygpeyFmdW5jdGlvbiBjbGVhclBhdHRlcm5DYWNoZXMoKXtGYT1PYmplY3QuY3JlYXRlKG51bGwpfSgpOyFmdW5jdGlvbiBjbGVhclByaW1pdGl2ZUNhY2hlcygpe0R0PU9iamVjdC5jcmVhdGUobnVsbCk7YnQ9T2JqZWN0LmNyZWF0ZShudWxsKTtGdD1PYmplY3QuY3JlYXRlKG51bGwpfSgpOyFmdW5jdGlvbiBjbGVhclVuaWNvZGVDYWNoZXMoKXtLaS5jbGVhcigpfSgpO0pweEltYWdlLmNsZWFudXAoKX1mdW5jdGlvbiBwaWNrUGxhdGZvcm1JdGVtKGUpe3JldHVybiBlIGluc3RhbmNlb2YgRGljdD9lLmhhcygiVUYiKT9lLmdldCgiVUYiKTplLmhhcygiRiIpP2UuZ2V0KCJGIik6ZS5oYXMoIlVuaXgiKT9lLmdldCgiVW5peCIpOmUuaGFzKCJNYWMiKT9lLmdldCgiTWFjIik6ZS5oYXMoIkRPUyIpP2UuZ2V0KCJET1MiKTpudWxsOm51bGx9Y2xhc3MgRmlsZVNwZWN7I1M9ITE7Y29uc3RydWN0b3IoZSx0LGk9ITEpe2lmKGUgaW5zdGFuY2VvZiBEaWN0KXt0aGlzLnhyZWY9dDt0aGlzLnJvb3Q9ZTtlLmhhcygiRlMiKSYmKHRoaXMuZnM9ZS5nZXQoIkZTIikpO2UuaGFzKCJSRiIpJiZ3YXJuKCJSZWxhdGVkIGZpbGUgc3BlY2lmaWNhdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQiKTtpfHwoZS5oYXMoIkVGIik/dGhpcy4jUz0hMDp3YXJuKCJOb24tZW1iZWRkZWQgZmlsZSBzcGVjaWZpY2F0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCIpKX19Z2V0IGZpbGVuYW1lKCl7bGV0IGU9IiI7Y29uc3QgdD1waWNrUGxhdGZvcm1JdGVtKHRoaXMucm9vdCk7dCYmInN0cmluZyI9PXR5cGVvZiB0JiYoZT1zdHJpbmdUb1BERlN0cmluZyh0KS5yZXBsYWNlQWxsKCJcXFxcIiwiXFwiKS5yZXBsYWNlQWxsKCJcXC8iLCIvIikucmVwbGFjZUFsbCgiXFwiLCIvIikpO3JldHVybiBzaGFkb3codGhpcywiZmlsZW5hbWUiLGV8fCJ1bm5hbWVkIil9Z2V0IGNvbnRlbnQoKXtpZighdGhpcy4jUylyZXR1cm4gbnVsbDt0aGlzLl9jb250ZW50UmVmfHw9cGlja1BsYXRmb3JtSXRlbSh0aGlzLnJvb3Q/LmdldCgiRUYiKSk7bGV0IGU9bnVsbDtpZih0aGlzLl9jb250ZW50UmVmKXtjb25zdCB0PXRoaXMueHJlZi5mZXRjaElmUmVmKHRoaXMuX2NvbnRlbnRSZWYpO3QgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP2U9dC5nZXRCeXRlcygpOndhcm4oIkVtYmVkZGVkIGZpbGUgc3BlY2lmaWNhdGlvbiBwb2ludHMgdG8gbm9uLWV4aXN0aW5nL2ludmFsaWQgY29udGVudCIpfWVsc2Ugd2FybigiRW1iZWRkZWQgZmlsZSBzcGVjaWZpY2F0aW9uIGRvZXMgbm90IGhhdmUgYW55IGNvbnRlbnQiKTtyZXR1cm4gZX1nZXQgZGVzY3JpcHRpb24oKXtsZXQgZT0iIjtjb25zdCB0PXRoaXMucm9vdD8uZ2V0KCJEZXNjIik7dCYmInN0cmluZyI9PXR5cGVvZiB0JiYoZT1zdHJpbmdUb1BERlN0cmluZyh0KSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJkZXNjcmlwdGlvbiIsZSl9Z2V0IHNlcmlhbGl6YWJsZSgpe3JldHVybntyYXdGaWxlbmFtZTp0aGlzLmZpbGVuYW1lLGZpbGVuYW1lOihlPXRoaXMuZmlsZW5hbWUsZS5zdWJzdHJpbmcoZS5sYXN0SW5kZXhPZigiLyIpKzEpKSxjb250ZW50OnRoaXMuY29udGVudCxkZXNjcmlwdGlvbjp0aGlzLmRlc2NyaXB0aW9ufTt2YXIgZX19Y29uc3QgVXM9MCxNcz0tMixMcz0tMyxIcz0tNCxKcz0tNSxZcz0tNix2cz0tOTtmdW5jdGlvbiBpc1doaXRlc3BhY2UoZSx0KXtjb25zdCBpPWVbdF07cmV0dXJuIiAiPT09aXx8IlxuIj09PWl8fCJcciI9PT1pfHwiXHQiPT09aX1jbGFzcyBYTUxQYXJzZXJCYXNle19yZXNvbHZlRW50aXRpZXMoZSl7cmV0dXJuIGUucmVwbGFjZUFsbCgvJihbXjtdKyk7L2csKChlLHQpPT57aWYoIiN4Ij09PXQuc3Vic3RyaW5nKDAsMikpcmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50KHBhcnNlSW50KHQuc3Vic3RyaW5nKDIpLDE2KSk7aWYoIiMiPT09dC5zdWJzdHJpbmcoMCwxKSlyZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQocGFyc2VJbnQodC5zdWJzdHJpbmcoMSksMTApKTtzd2l0Y2godCl7Y2FzZSJsdCI6cmV0dXJuIjwiO2Nhc2UiZ3QiOnJldHVybiI+IjtjYXNlImFtcCI6cmV0dXJuIiYiO2Nhc2UicXVvdCI6cmV0dXJuJyInO2Nhc2UiYXBvcyI6cmV0dXJuIicifXJldHVybiB0aGlzLm9uUmVzb2x2ZUVudGl0eSh0KX0pKX1fcGFyc2VDb250ZW50KGUsdCl7Y29uc3QgaT1bXTtsZXQgYT10O2Z1bmN0aW9uIHNraXBXcygpe2Zvcig7YTxlLmxlbmd0aCYmaXNXaGl0ZXNwYWNlKGUsYSk7KSsrYX1mb3IoO2E8ZS5sZW5ndGgmJiFpc1doaXRlc3BhY2UoZSxhKSYmIj4iIT09ZVthXSYmIi8iIT09ZVthXTspKythO2NvbnN0IHM9ZS5zdWJzdHJpbmcodCxhKTtza2lwV3MoKTtmb3IoO2E8ZS5sZW5ndGgmJiI+IiE9PWVbYV0mJiIvIiE9PWVbYV0mJiI/IiE9PWVbYV07KXtza2lwV3MoKTtsZXQgdD0iIixzPSIiO2Zvcig7YTxlLmxlbmd0aCYmIWlzV2hpdGVzcGFjZShlLGEpJiYiPSIhPT1lW2FdOyl7dCs9ZVthXTsrK2F9c2tpcFdzKCk7aWYoIj0iIT09ZVthXSlyZXR1cm4gbnVsbDsrK2E7c2tpcFdzKCk7Y29uc3Qgcj1lW2FdO2lmKCciJyE9PXImJiInIiE9PXIpcmV0dXJuIG51bGw7Y29uc3Qgbj1lLmluZGV4T2YociwrK2EpO2lmKG48MClyZXR1cm4gbnVsbDtzPWUuc3Vic3RyaW5nKGEsbik7aS5wdXNoKHtuYW1lOnQsdmFsdWU6dGhpcy5fcmVzb2x2ZUVudGl0aWVzKHMpfSk7YT1uKzE7c2tpcFdzKCl9cmV0dXJue25hbWU6cyxhdHRyaWJ1dGVzOmkscGFyc2VkOmEtdH19X3BhcnNlUHJvY2Vzc2luZ0luc3RydWN0aW9uKGUsdCl7bGV0IGk9dDtmb3IoO2k8ZS5sZW5ndGgmJiFpc1doaXRlc3BhY2UoZSxpKSYmIj4iIT09ZVtpXSYmIj8iIT09ZVtpXSYmIi8iIT09ZVtpXTspKytpO2NvbnN0IGE9ZS5zdWJzdHJpbmcodCxpKTshZnVuY3Rpb24gc2tpcFdzKCl7Zm9yKDtpPGUubGVuZ3RoJiZpc1doaXRlc3BhY2UoZSxpKTspKytpfSgpO2NvbnN0IHM9aTtmb3IoO2k8ZS5sZW5ndGgmJigiPyIhPT1lW2ldfHwiPiIhPT1lW2krMV0pOykrK2k7cmV0dXJue25hbWU6YSx2YWx1ZTplLnN1YnN0cmluZyhzLGkpLHBhcnNlZDppLXR9fXBhcnNlWG1sKGUpe2xldCB0PTA7Zm9yKDt0PGUubGVuZ3RoOyl7bGV0IGk9dDtpZigiPCI9PT1lW3RdKXsrK2k7bGV0IHQ7c3dpdGNoKGVbaV0pe2Nhc2UiLyI6KytpO3Q9ZS5pbmRleE9mKCI+IixpKTtpZih0PDApe3RoaXMub25FcnJvcih2cyk7cmV0dXJufXRoaXMub25FbmRFbGVtZW50KGUuc3Vic3RyaW5nKGksdCkpO2k9dCsxO2JyZWFrO2Nhc2UiPyI6KytpO2NvbnN0IGE9dGhpcy5fcGFyc2VQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oZSxpKTtpZigiPz4iIT09ZS5zdWJzdHJpbmcoaSthLnBhcnNlZCxpK2EucGFyc2VkKzIpKXt0aGlzLm9uRXJyb3IoTHMpO3JldHVybn10aGlzLm9uUGkoYS5uYW1lLGEudmFsdWUpO2krPWEucGFyc2VkKzI7YnJlYWs7Y2FzZSIhIjppZigiLS0iPT09ZS5zdWJzdHJpbmcoaSsxLGkrMykpe3Q9ZS5pbmRleE9mKCItLVx4M2UiLGkrMyk7aWYodDwwKXt0aGlzLm9uRXJyb3IoSnMpO3JldHVybn10aGlzLm9uQ29tbWVudChlLnN1YnN0cmluZyhpKzMsdCkpO2k9dCszfWVsc2UgaWYoIltDREFUQVsiPT09ZS5zdWJzdHJpbmcoaSsxLGkrOCkpe3Q9ZS5pbmRleE9mKCJdXT4iLGkrOCk7aWYodDwwKXt0aGlzLm9uRXJyb3IoTXMpO3JldHVybn10aGlzLm9uQ2RhdGEoZS5zdWJzdHJpbmcoaSs4LHQpKTtpPXQrM31lbHNle2lmKCJET0NUWVBFIiE9PWUuc3Vic3RyaW5nKGkrMSxpKzgpKXt0aGlzLm9uRXJyb3IoWXMpO3JldHVybn17Y29uc3QgYT1lLmluZGV4T2YoIlsiLGkrOCk7bGV0IHM9ITE7dD1lLmluZGV4T2YoIj4iLGkrOCk7aWYodDwwKXt0aGlzLm9uRXJyb3IoSHMpO3JldHVybn1pZihhPjAmJnQ+YSl7dD1lLmluZGV4T2YoIl0+IixpKzgpO2lmKHQ8MCl7dGhpcy5vbkVycm9yKEhzKTtyZXR1cm59cz0hMH1jb25zdCByPWUuc3Vic3RyaW5nKGkrOCx0KyhzPzE6MCkpO3RoaXMub25Eb2N0eXBlKHIpO2k9dCsocz8yOjEpfX1icmVhaztkZWZhdWx0OmNvbnN0IHM9dGhpcy5fcGFyc2VDb250ZW50KGUsaSk7aWYobnVsbD09PXMpe3RoaXMub25FcnJvcihZcyk7cmV0dXJufWxldCByPSExO2lmKCIvPiI9PT1lLnN1YnN0cmluZyhpK3MucGFyc2VkLGkrcy5wYXJzZWQrMikpcj0hMDtlbHNlIGlmKCI+IiE9PWUuc3Vic3RyaW5nKGkrcy5wYXJzZWQsaStzLnBhcnNlZCsxKSl7dGhpcy5vbkVycm9yKHZzKTtyZXR1cm59dGhpcy5vbkJlZ2luRWxlbWVudChzLm5hbWUscy5hdHRyaWJ1dGVzLHIpO2krPXMucGFyc2VkKyhyPzI6MSl9fWVsc2V7Zm9yKDtpPGUubGVuZ3RoJiYiPCIhPT1lW2ldOylpKys7Y29uc3QgYT1lLnN1YnN0cmluZyh0LGkpO3RoaXMub25UZXh0KHRoaXMuX3Jlc29sdmVFbnRpdGllcyhhKSl9dD1pfX1vblJlc29sdmVFbnRpdHkoZSl7cmV0dXJuYCYke2V9O2B9b25QaShlLHQpe31vbkNvbW1lbnQoZSl7fW9uQ2RhdGEoZSl7fW9uRG9jdHlwZShlKXt9b25UZXh0KGUpe31vbkJlZ2luRWxlbWVudChlLHQsaSl7fW9uRW5kRWxlbWVudChlKXt9b25FcnJvcihlKXt9fWNsYXNzIFNpbXBsZURPTU5vZGV7Y29uc3RydWN0b3IoZSx0KXt0aGlzLm5vZGVOYW1lPWU7dGhpcy5ub2RlVmFsdWU9dDtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywicGFyZW50Tm9kZSIse3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KX1nZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLmNoaWxkTm9kZXM/LlswXX1nZXQgbmV4dFNpYmxpbmcoKXtjb25zdCBlPXRoaXMucGFyZW50Tm9kZS5jaGlsZE5vZGVzO2lmKCFlKXJldHVybjtjb25zdCB0PWUuaW5kZXhPZih0aGlzKTtyZXR1cm4tMSE9PXQ/ZVt0KzFdOnZvaWQgMH1nZXQgdGV4dENvbnRlbnQoKXtyZXR1cm4gdGhpcy5jaGlsZE5vZGVzP3RoaXMuY2hpbGROb2Rlcy5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRleHRDb250ZW50fSkpLmpvaW4oIiIpOnRoaXMubm9kZVZhbHVlfHwiIn1nZXQgY2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5jaGlsZE5vZGVzfHxbXX1oYXNDaGlsZE5vZGVzKCl7cmV0dXJuIHRoaXMuY2hpbGROb2Rlcz8ubGVuZ3RoPjB9c2VhcmNoTm9kZShlLHQpe2lmKHQ+PWUubGVuZ3RoKXJldHVybiB0aGlzO2NvbnN0IGk9ZVt0XTtpZihpLm5hbWUuc3RhcnRzV2l0aCgiIyIpJiZ0PGUubGVuZ3RoLTEpcmV0dXJuIHRoaXMuc2VhcmNoTm9kZShlLHQrMSk7Y29uc3QgYT1bXTtsZXQgcz10aGlzO2Zvcig7Oyl7aWYoaS5uYW1lPT09cy5ub2RlTmFtZSl7aWYoMCE9PWkucG9zKXtpZigwPT09YS5sZW5ndGgpcmV0dXJuIG51bGw7e2NvbnN0W3JdPWEucG9wKCk7bGV0IG49MDtmb3IoY29uc3QgYSBvZiByLmNoaWxkTm9kZXMpaWYoaS5uYW1lPT09YS5ub2RlTmFtZSl7aWYobj09PWkucG9zKXJldHVybiBhLnNlYXJjaE5vZGUoZSx0KzEpO24rK31yZXR1cm4gcy5zZWFyY2hOb2RlKGUsdCsxKX19e2NvbnN0IGk9cy5zZWFyY2hOb2RlKGUsdCsxKTtpZihudWxsIT09aSlyZXR1cm4gaX19aWYocy5jaGlsZE5vZGVzPy5sZW5ndGg+MCl7YS5wdXNoKFtzLDBdKTtzPXMuY2hpbGROb2Rlc1swXX1lbHNle2lmKDA9PT1hLmxlbmd0aClyZXR1cm4gbnVsbDtmb3IoOzAhPT1hLmxlbmd0aDspe2NvbnN0W2UsdF09YS5wb3AoKSxpPXQrMTtpZihpPGUuY2hpbGROb2Rlcy5sZW5ndGgpe2EucHVzaChbZSxpXSk7cz1lLmNoaWxkTm9kZXNbaV07YnJlYWt9fWlmKDA9PT1hLmxlbmd0aClyZXR1cm4gbnVsbH19fWR1bXAoZSl7aWYoIiN0ZXh0IiE9PXRoaXMubm9kZU5hbWUpe2UucHVzaChgPCR7dGhpcy5ub2RlTmFtZX1gKTtpZih0aGlzLmF0dHJpYnV0ZXMpZm9yKGNvbnN0IHQgb2YgdGhpcy5hdHRyaWJ1dGVzKWUucHVzaChgICR7dC5uYW1lfT0iJHtlbmNvZGVUb1htbFN0cmluZyh0LnZhbHVlKX0iYCk7aWYodGhpcy5oYXNDaGlsZE5vZGVzKCkpe2UucHVzaCgiPiIpO2Zvcihjb25zdCB0IG9mIHRoaXMuY2hpbGROb2Rlcyl0LmR1bXAoZSk7ZS5wdXNoKGA8LyR7dGhpcy5ub2RlTmFtZX0+YCl9ZWxzZSB0aGlzLm5vZGVWYWx1ZT9lLnB1c2goYD4ke2VuY29kZVRvWG1sU3RyaW5nKHRoaXMubm9kZVZhbHVlKX08LyR7dGhpcy5ub2RlTmFtZX0+YCk6ZS5wdXNoKCIvPiIpfWVsc2UgZS5wdXNoKGVuY29kZVRvWG1sU3RyaW5nKHRoaXMubm9kZVZhbHVlKSl9fWNsYXNzIFNpbXBsZVhNTFBhcnNlciBleHRlbmRzIFhNTFBhcnNlckJhc2V7Y29uc3RydWN0b3Ioe2hhc0F0dHJpYnV0ZXM6ZT0hMSxsb3dlckNhc2VOYW1lOnQ9ITF9KXtzdXBlcigpO3RoaXMuX2N1cnJlbnRGcmFnbWVudD1udWxsO3RoaXMuX3N0YWNrPW51bGw7dGhpcy5fZXJyb3JDb2RlPVVzO3RoaXMuX2hhc0F0dHJpYnV0ZXM9ZTt0aGlzLl9sb3dlckNhc2VOYW1lPXR9cGFyc2VGcm9tU3RyaW5nKGUpe3RoaXMuX2N1cnJlbnRGcmFnbWVudD1bXTt0aGlzLl9zdGFjaz1bXTt0aGlzLl9lcnJvckNvZGU9VXM7dGhpcy5wYXJzZVhtbChlKTtpZih0aGlzLl9lcnJvckNvZGUhPT1VcylyZXR1cm47Y29uc3RbdF09dGhpcy5fY3VycmVudEZyYWdtZW50O3JldHVybiB0P3tkb2N1bWVudEVsZW1lbnQ6dH06dm9pZCAwfW9uVGV4dChlKXtpZihmdW5jdGlvbiBpc1doaXRlc3BhY2VTdHJpbmcoZSl7Zm9yKGxldCB0PTAsaT1lLmxlbmd0aDt0PGk7dCsrKWlmKCFpc1doaXRlc3BhY2UoZSx0KSlyZXR1cm4hMTtyZXR1cm4hMH0oZSkpcmV0dXJuO2NvbnN0IHQ9bmV3IFNpbXBsZURPTU5vZGUoIiN0ZXh0IixlKTt0aGlzLl9jdXJyZW50RnJhZ21lbnQucHVzaCh0KX1vbkNkYXRhKGUpe2NvbnN0IHQ9bmV3IFNpbXBsZURPTU5vZGUoIiN0ZXh0IixlKTt0aGlzLl9jdXJyZW50RnJhZ21lbnQucHVzaCh0KX1vbkJlZ2luRWxlbWVudChlLHQsaSl7dGhpcy5fbG93ZXJDYXNlTmFtZSYmKGU9ZS50b0xvd2VyQ2FzZSgpKTtjb25zdCBhPW5ldyBTaW1wbGVET01Ob2RlKGUpO2EuY2hpbGROb2Rlcz1bXTt0aGlzLl9oYXNBdHRyaWJ1dGVzJiYoYS5hdHRyaWJ1dGVzPXQpO3RoaXMuX2N1cnJlbnRGcmFnbWVudC5wdXNoKGEpO2lmKCFpKXt0aGlzLl9zdGFjay5wdXNoKHRoaXMuX2N1cnJlbnRGcmFnbWVudCk7dGhpcy5fY3VycmVudEZyYWdtZW50PWEuY2hpbGROb2Rlc319b25FbmRFbGVtZW50KGUpe3RoaXMuX2N1cnJlbnRGcmFnbWVudD10aGlzLl9zdGFjay5wb3AoKXx8W107Y29uc3QgdD10aGlzLl9jdXJyZW50RnJhZ21lbnQuYXQoLTEpO2lmKCF0KXJldHVybiBudWxsO2Zvcihjb25zdCBlIG9mIHQuY2hpbGROb2RlcyllLnBhcmVudE5vZGU9dDtyZXR1cm4gdH1vbkVycm9yKGUpe3RoaXMuX2Vycm9yQ29kZT1lfX1jbGFzcyBNZXRhZGF0YVBhcnNlcntjb25zdHJ1Y3RvcihlKXtlPXRoaXMuX3JlcGFpcihlKTtjb25zdCB0PW5ldyBTaW1wbGVYTUxQYXJzZXIoe2xvd2VyQ2FzZU5hbWU6ITB9KS5wYXJzZUZyb21TdHJpbmcoZSk7dGhpcy5fbWV0YWRhdGFNYXA9bmV3IE1hcDt0aGlzLl9kYXRhPWU7dCYmdGhpcy5fcGFyc2UodCl9X3JlcGFpcihlKXtyZXR1cm4gZS5yZXBsYWNlKC9eW148XSsvLCIiKS5yZXBsYWNlQWxsKC8+XFwzNzZcXDM3NyhbXjxdKykvZywoZnVuY3Rpb24oZSx0KXtjb25zdCBpPXQucmVwbGFjZUFsbCgvXFwoWzAtM10pKFswLTddKShbMC03XSkvZywoZnVuY3Rpb24oZSx0LGksYSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoNjQqdCs4KmkrMSphKX0pKS5yZXBsYWNlQWxsKC8mKGFtcHxhcG9zfGd0fGx0fHF1b3QpOy9nLChmdW5jdGlvbihlLHQpe3N3aXRjaCh0KXtjYXNlImFtcCI6cmV0dXJuIiYiO2Nhc2UiYXBvcyI6cmV0dXJuIiciO2Nhc2UiZ3QiOnJldHVybiI+IjtjYXNlImx0IjpyZXR1cm4iPCI7Y2FzZSJxdW90IjpyZXR1cm4nIid9dGhyb3cgbmV3IEVycm9yKGBfcmVwYWlyOiAke3R9IGlzbid0IGRlZmluZWQuYCl9KSksYT1bIj4iXTtmb3IobGV0IGU9MCx0PWkubGVuZ3RoO2U8dDtlKz0yKXtjb25zdCB0PTI1NippLmNoYXJDb2RlQXQoZSkraS5jaGFyQ29kZUF0KGUrMSk7dD49MzImJnQ8MTI3JiY2MCE9PXQmJjYyIT09dCYmMzghPT10P2EucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKHQpKTphLnB1c2goIiYjeCIrKDY1NTM2K3QpLnRvU3RyaW5nKDE2KS5zdWJzdHJpbmcoMSkrIjsiKX1yZXR1cm4gYS5qb2luKCIiKX0pKX1fZ2V0U2VxdWVuY2UoZSl7Y29uc3QgdD1lLm5vZGVOYW1lO3JldHVybiJyZGY6YmFnIiE9PXQmJiJyZGY6c2VxIiE9PXQmJiJyZGY6YWx0IiE9PXQ/bnVsbDplLmNoaWxkTm9kZXMuZmlsdGVyKChlPT4icmRmOmxpIj09PWUubm9kZU5hbWUpKX1fcGFyc2VBcnJheShlKXtpZighZS5oYXNDaGlsZE5vZGVzKCkpcmV0dXJuO2NvbnN0W3RdPWUuY2hpbGROb2RlcyxpPXRoaXMuX2dldFNlcXVlbmNlKHQpfHxbXTt0aGlzLl9tZXRhZGF0YU1hcC5zZXQoZS5ub2RlTmFtZSxpLm1hcCgoZT0+ZS50ZXh0Q29udGVudC50cmltKCkpKSl9X3BhcnNlKGUpe2xldCB0PWUuZG9jdW1lbnRFbGVtZW50O2lmKCJyZGY6cmRmIiE9PXQubm9kZU5hbWUpe3Q9dC5maXJzdENoaWxkO2Zvcig7dCYmInJkZjpyZGYiIT09dC5ub2RlTmFtZTspdD10Lm5leHRTaWJsaW5nfWlmKHQmJiJyZGY6cmRmIj09PXQubm9kZU5hbWUmJnQuaGFzQ2hpbGROb2RlcygpKWZvcihjb25zdCBlIG9mIHQuY2hpbGROb2RlcylpZigicmRmOmRlc2NyaXB0aW9uIj09PWUubm9kZU5hbWUpZm9yKGNvbnN0IHQgb2YgZS5jaGlsZE5vZGVzKXtjb25zdCBlPXQubm9kZU5hbWU7c3dpdGNoKGUpe2Nhc2UiI3RleHQiOmNvbnRpbnVlO2Nhc2UiZGM6Y3JlYXRvciI6Y2FzZSJkYzpzdWJqZWN0Ijp0aGlzLl9wYXJzZUFycmF5KHQpO2NvbnRpbnVlfXRoaXMuX21ldGFkYXRhTWFwLnNldChlLHQudGV4dENvbnRlbnQudHJpbSgpKX19Z2V0IHNlcmlhbGl6YWJsZSgpe3JldHVybntwYXJzZWREYXRhOnRoaXMuX21ldGFkYXRhTWFwLHJhd0RhdGE6dGhpcy5fZGF0YX19fWNsYXNzIERlY3J5cHRTdHJlYW0gZXh0ZW5kcyBEZWNvZGVTdHJlYW17Y29uc3RydWN0b3IoZSx0LGkpe3N1cGVyKHQpO3RoaXMuc3RyPWU7dGhpcy5kaWN0PWUuZGljdDt0aGlzLmRlY3J5cHQ9aTt0aGlzLm5leHRDaHVuaz1udWxsO3RoaXMuaW5pdGlhbGl6ZWQ9ITF9cmVhZEJsb2NrKCl7bGV0IGU7aWYodGhpcy5pbml0aWFsaXplZCllPXRoaXMubmV4dENodW5rO2Vsc2V7ZT10aGlzLnN0ci5nZXRCeXRlcyg1MTIpO3RoaXMuaW5pdGlhbGl6ZWQ9ITB9aWYoIWV8fDA9PT1lLmxlbmd0aCl7dGhpcy5lb2Y9ITA7cmV0dXJufXRoaXMubmV4dENodW5rPXRoaXMuc3RyLmdldEJ5dGVzKDUxMik7Y29uc3QgdD10aGlzLm5leHRDaHVuaz8ubGVuZ3RoPjA7ZT0oMCx0aGlzLmRlY3J5cHQpKGUsIXQpO2NvbnN0IGk9dGhpcy5idWZmZXJMZW5ndGgsYT1pK2UubGVuZ3RoO3RoaXMuZW5zdXJlQnVmZmVyKGEpLnNldChlLGkpO3RoaXMuYnVmZmVyTGVuZ3RoPWF9fWNsYXNzIEFSQ0ZvdXJDaXBoZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5hPTA7dGhpcy5iPTA7Y29uc3QgdD1uZXcgVWludDhBcnJheSgyNTYpLGk9ZS5sZW5ndGg7Zm9yKGxldCBlPTA7ZTwyNTY7KytlKXRbZV09ZTtmb3IobGV0IGE9MCxzPTA7YTwyNTY7KythKXtjb25zdCByPXRbYV07cz1zK3IrZVthJWldJjI1NTt0W2FdPXRbc107dFtzXT1yfXRoaXMucz10fWVuY3J5cHRCbG9jayhlKXtsZXQgdD10aGlzLmEsaT10aGlzLmI7Y29uc3QgYT10aGlzLnMscz1lLmxlbmd0aCxyPW5ldyBVaW50OEFycmF5KHMpO2ZvcihsZXQgbj0wO248czsrK24pe3Q9dCsxJjI1NTtjb25zdCBzPWFbdF07aT1pK3MmMjU1O2NvbnN0IGc9YVtpXTthW3RdPWc7YVtpXT1zO3Jbbl09ZVtuXV5hW3MrZyYyNTVdfXRoaXMuYT10O3RoaXMuYj1pO3JldHVybiByfWRlY3J5cHRCbG9jayhlKXtyZXR1cm4gdGhpcy5lbmNyeXB0QmxvY2soZSl9ZW5jcnlwdChlKXtyZXR1cm4gdGhpcy5lbmNyeXB0QmxvY2soZSl9fWNvbnN0IEtzPWZ1bmN0aW9uIGNhbGN1bGF0ZU1ENUNsb3N1cmUoKXtjb25zdCBlPW5ldyBVaW50OEFycmF5KFs3LDEyLDE3LDIyLDcsMTIsMTcsMjIsNywxMiwxNywyMiw3LDEyLDE3LDIyLDUsOSwxNCwyMCw1LDksMTQsMjAsNSw5LDE0LDIwLDUsOSwxNCwyMCw0LDExLDE2LDIzLDQsMTEsMTYsMjMsNCwxMSwxNiwyMyw0LDExLDE2LDIzLDYsMTAsMTUsMjEsNiwxMCwxNSwyMSw2LDEwLDE1LDIxLDYsMTAsMTUsMjFdKSx0PW5ldyBJbnQzMkFycmF5KFstNjgwODc2OTM2LC0zODk1NjQ1ODYsNjA2MTA1ODE5LC0xMDQ0NTI1MzMwLC0xNzY0MTg4OTcsMTIwMDA4MDQyNiwtMTQ3MzIzMTM0MSwtNDU3MDU5ODMsMTc3MDAzNTQxNiwtMTk1ODQxNDQxNywtNDIwNjMsLTE5OTA0MDQxNjIsMTgwNDYwMzY4MiwtNDAzNDExMDEsLTE1MDIwMDIyOTAsMTIzNjUzNTMyOSwtMTY1Nzk2NTEwLC0xMDY5NTAxNjMyLDY0MzcxNzcxMywtMzczODk3MzAyLC03MDE1NTg2OTEsMzgwMTYwODMsLTY2MDQ3ODMzNSwtNDA1NTM3ODQ4LDU2ODQ0NjQzOCwtMTAxOTgwMzY5MCwtMTg3MzYzOTYxLDExNjM1MzE1MDEsLTE0NDQ2ODE0NjcsLTUxNDAzNzg0LDE3MzUzMjg0NzMsLTE5MjY2MDc3MzQsLTM3ODU1OCwtMjAyMjU3NDQ2MywxODM5MDMwNTYyLC0zNTMwOTU1NiwtMTUzMDk5MjA2MCwxMjcyODkzMzUzLC0xNTU0OTc2MzIsLTEwOTQ3MzA2NDAsNjgxMjc5MTc0LC0zNTg1MzcyMjIsLTcyMjUyMTk3OSw3NjAyOTE4OSwtNjQwMzY0NDg3LC00MjE4MTU4MzUsNTMwNzQyNTIwLC05OTUzMzg2NTEsLTE5ODYzMDg0NCwxMTI2ODkxNDE1LC0xNDE2MzU0OTA1LC01NzQzNDA1NSwxNzAwNDg1NTcxLC0xODk0OTg2NjA2LC0xMDUxNTIzLC0yMDU0OTIyNzk5LDE4NzMzMTMzNTksLTMwNjExNzQ0LC0xNTYwMTk4MzgwLDEzMDkxNTE2NDksLTE0NTUyMzA3MCwtMTEyMDIxMDM3OSw3MTg3ODcyNTksLTM0MzQ4NTU1MV0pO3JldHVybiBmdW5jdGlvbiBoYXNoKGksYSxzKXtsZXQgcj0xNzMyNTg0MTkzLG49LTI3MTczMzg3OSxnPS0xNzMyNTg0MTk0LG89MjcxNzMzODc4O2NvbnN0IGM9cys3MiYtNjQsQz1uZXcgVWludDhBcnJheShjKTtsZXQgaCxsO2ZvcihoPTA7aDxzOysraClDW2hdPWlbYSsrXTtDW2grK109MTI4O2NvbnN0IFE9Yy04O2Zvcig7aDxROylDW2grK109MDtDW2grK109czw8MyYyNTU7Q1toKytdPXM+PjUmMjU1O0NbaCsrXT1zPj4xMyYyNTU7Q1toKytdPXM+PjIxJjI1NTtDW2grK109cz4+PjI5JjI1NTtDW2grK109MDtDW2grK109MDtDW2grK109MDtjb25zdCBFPW5ldyBJbnQzMkFycmF5KDE2KTtmb3IoaD0wO2g8Yzspe2ZvcihsPTA7bDwxNjsrK2wsaCs9NClFW2xdPUNbaF18Q1toKzFdPDw4fENbaCsyXTw8MTZ8Q1toKzNdPDwyNDtsZXQgaSxhLHM9cixjPW4sUT1nLHU9bztmb3IobD0wO2w8NjQ7KytsKXtpZihsPDE2KXtpPWMmUXx+YyZ1O2E9bH1lbHNlIGlmKGw8MzIpe2k9dSZjfH51JlE7YT01KmwrMSYxNX1lbHNlIGlmKGw8NDgpe2k9Y15RXnU7YT0zKmwrNSYxNX1lbHNle2k9UV4oY3x+dSk7YT03KmwmMTV9Y29uc3Qgcj11LG49cytpK3RbbF0rRVthXXwwLGc9ZVtsXTt1PVE7UT1jO2M9Yysobjw8Z3xuPj4+MzItZyl8MDtzPXJ9cj1yK3N8MDtuPW4rY3wwO2c9ZytRfDA7bz1vK3V8MH1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoWzI1NSZyLHI+PjgmMjU1LHI+PjE2JjI1NSxyPj4+MjQmMjU1LDI1NSZuLG4+PjgmMjU1LG4+PjE2JjI1NSxuPj4+MjQmMjU1LDI1NSZnLGc+PjgmMjU1LGc+PjE2JjI1NSxnPj4+MjQmMjU1LDI1NSZvLG8+PjgmMjU1LG8+PjE2JjI1NSxvPj4+MjQmMjU1XSl9fSgpO2NsYXNzIFdvcmQ2NHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuaGlnaD0wfGU7dGhpcy5sb3c9MHx0fWFuZChlKXt0aGlzLmhpZ2gmPWUuaGlnaDt0aGlzLmxvdyY9ZS5sb3d9eG9yKGUpe3RoaXMuaGlnaF49ZS5oaWdoO3RoaXMubG93Xj1lLmxvd31vcihlKXt0aGlzLmhpZ2h8PWUuaGlnaDt0aGlzLmxvd3w9ZS5sb3d9c2hpZnRSaWdodChlKXtpZihlPj0zMil7dGhpcy5sb3c9dGhpcy5oaWdoPj4+ZS0zMnwwO3RoaXMuaGlnaD0wfWVsc2V7dGhpcy5sb3c9dGhpcy5sb3c+Pj5lfHRoaXMuaGlnaDw8MzItZTt0aGlzLmhpZ2g9dGhpcy5oaWdoPj4+ZXwwfX1zaGlmdExlZnQoZSl7aWYoZT49MzIpe3RoaXMuaGlnaD10aGlzLmxvdzw8ZS0zMjt0aGlzLmxvdz0wfWVsc2V7dGhpcy5oaWdoPXRoaXMuaGlnaDw8ZXx0aGlzLmxvdz4+PjMyLWU7dGhpcy5sb3c8PD1lfX1yb3RhdGVSaWdodChlKXtsZXQgdCxpO2lmKDMyJmUpe2k9dGhpcy5sb3c7dD10aGlzLmhpZ2h9ZWxzZXt0PXRoaXMubG93O2k9dGhpcy5oaWdofWUmPTMxO3RoaXMubG93PXQ+Pj5lfGk8PDMyLWU7dGhpcy5oaWdoPWk+Pj5lfHQ8PDMyLWV9bm90KCl7dGhpcy5oaWdoPX50aGlzLmhpZ2g7dGhpcy5sb3c9fnRoaXMubG93fWFkZChlKXtjb25zdCB0PSh0aGlzLmxvdz4+PjApKyhlLmxvdz4+PjApO2xldCBpPSh0aGlzLmhpZ2g+Pj4wKSsoZS5oaWdoPj4+MCk7dD40Mjk0OTY3Mjk1JiYoaSs9MSk7dGhpcy5sb3c9MHx0O3RoaXMuaGlnaD0wfGl9Y29weVRvKGUsdCl7ZVt0XT10aGlzLmhpZ2g+Pj4yNCYyNTU7ZVt0KzFdPXRoaXMuaGlnaD4+MTYmMjU1O2VbdCsyXT10aGlzLmhpZ2g+PjgmMjU1O2VbdCszXT0yNTUmdGhpcy5oaWdoO2VbdCs0XT10aGlzLmxvdz4+PjI0JjI1NTtlW3QrNV09dGhpcy5sb3c+PjE2JjI1NTtlW3QrNl09dGhpcy5sb3c+PjgmMjU1O2VbdCs3XT0yNTUmdGhpcy5sb3d9YXNzaWduKGUpe3RoaXMuaGlnaD1lLmhpZ2g7dGhpcy5sb3c9ZS5sb3d9fWNvbnN0IFRzPWZ1bmN0aW9uIGNhbGN1bGF0ZVNIQTI1NkNsb3N1cmUoKXtmdW5jdGlvbiByb3RyKGUsdCl7cmV0dXJuIGU+Pj50fGU8PDMyLXR9ZnVuY3Rpb24gY2goZSx0LGkpe3JldHVybiBlJnRefmUmaX1mdW5jdGlvbiBtYWooZSx0LGkpe3JldHVybiBlJnReZSZpXnQmaX1mdW5jdGlvbiBzaWdtYShlKXtyZXR1cm4gcm90cihlLDIpXnJvdHIoZSwxMylecm90cihlLDIyKX1mdW5jdGlvbiBzaWdtYVByaW1lKGUpe3JldHVybiByb3RyKGUsNilecm90cihlLDExKV5yb3RyKGUsMjUpfWZ1bmN0aW9uIGxpdHRsZVNpZ21hKGUpe3JldHVybiByb3RyKGUsNylecm90cihlLDE4KV5lPj4+M31jb25zdCBlPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsNDA5NDU3MTkwOSwyNzU0MjMzNDQsNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO3JldHVybiBmdW5jdGlvbiBoYXNoKHQsaSxhKXtsZXQgcz0xNzc5MDMzNzAzLHI9MzE0NDEzNDI3NyxuPTEwMTM5MDQyNDIsZz0yNzczNDgwNzYyLG89MTM1OTg5MzExOSxjPTI2MDA4MjI5MjQsQz01Mjg3MzQ2MzUsaD0xNTQxNDU5MjI1O2NvbnN0IGw9NjQqTWF0aC5jZWlsKChhKzkpLzY0KSxRPW5ldyBVaW50OEFycmF5KGwpO2xldCBFLHU7Zm9yKEU9MDtFPGE7KytFKVFbRV09dFtpKytdO1FbRSsrXT0xMjg7Y29uc3QgZD1sLTg7Zm9yKDtFPGQ7KVFbRSsrXT0wO1FbRSsrXT0wO1FbRSsrXT0wO1FbRSsrXT0wO1FbRSsrXT1hPj4+MjkmMjU1O1FbRSsrXT1hPj4yMSYyNTU7UVtFKytdPWE+PjEzJjI1NTtRW0UrK109YT4+NSYyNTU7UVtFKytdPWE8PDMmMjU1O2NvbnN0IGY9bmV3IFVpbnQzMkFycmF5KDY0KTtmb3IoRT0wO0U8bDspe2Zvcih1PTA7dTwxNjsrK3Upe2ZbdV09UVtFXTw8MjR8UVtFKzFdPDwxNnxRW0UrMl08PDh8UVtFKzNdO0UrPTR9Zm9yKHU9MTY7dTw2NDsrK3UpZlt1XT0ocm90cihwPWZbdS0yXSwxNylecm90cihwLDE5KV5wPj4+MTApK2ZbdS03XStsaXR0bGVTaWdtYShmW3UtMTVdKStmW3UtMTZdfDA7bGV0IHQsaSxhPXMsbD1yLGQ9bixtPWcseT1vLHc9YyxEPUMsYj1oO2Zvcih1PTA7dTw2NDsrK3Upe3Q9YitzaWdtYVByaW1lKHkpK2NoKHksdyxEKStlW3VdK2ZbdV07aT1zaWdtYShhKSttYWooYSxsLGQpO2I9RDtEPXc7dz15O3k9bSt0fDA7bT1kO2Q9bDtsPWE7YT10K2l8MH1zPXMrYXwwO3I9citsfDA7bj1uK2R8MDtnPWcrbXwwO289byt5fDA7Yz1jK3d8MDtDPUMrRHwwO2g9aCtifDB9dmFyIHA7cmV0dXJuIG5ldyBVaW50OEFycmF5KFtzPj4yNCYyNTUscz4+MTYmMjU1LHM+PjgmMjU1LDI1NSZzLHI+PjI0JjI1NSxyPj4xNiYyNTUscj4+OCYyNTUsMjU1JnIsbj4+MjQmMjU1LG4+PjE2JjI1NSxuPj44JjI1NSwyNTUmbixnPj4yNCYyNTUsZz4+MTYmMjU1LGc+PjgmMjU1LDI1NSZnLG8+PjI0JjI1NSxvPj4xNiYyNTUsbz4+OCYyNTUsMjU1Jm8sYz4+MjQmMjU1LGM+PjE2JjI1NSxjPj44JjI1NSwyNTUmYyxDPj4yNCYyNTUsQz4+MTYmMjU1LEM+PjgmMjU1LDI1NSZDLGg+PjI0JjI1NSxoPj4xNiYyNTUsaD4+OCYyNTUsMjU1JmhdKX19KCkscXM9ZnVuY3Rpb24gY2FsY3VsYXRlU0hBNTEyQ2xvc3VyZSgpe2Z1bmN0aW9uIGNoKGUsdCxpLGEscyl7ZS5hc3NpZ24odCk7ZS5hbmQoaSk7cy5hc3NpZ24odCk7cy5ub3QoKTtzLmFuZChhKTtlLnhvcihzKX1mdW5jdGlvbiBtYWooZSx0LGksYSxzKXtlLmFzc2lnbih0KTtlLmFuZChpKTtzLmFzc2lnbih0KTtzLmFuZChhKTtlLnhvcihzKTtzLmFzc2lnbihpKTtzLmFuZChhKTtlLnhvcihzKX1mdW5jdGlvbiBzaWdtYShlLHQsaSl7ZS5hc3NpZ24odCk7ZS5yb3RhdGVSaWdodCgyOCk7aS5hc3NpZ24odCk7aS5yb3RhdGVSaWdodCgzNCk7ZS54b3IoaSk7aS5hc3NpZ24odCk7aS5yb3RhdGVSaWdodCgzOSk7ZS54b3IoaSl9ZnVuY3Rpb24gc2lnbWFQcmltZShlLHQsaSl7ZS5hc3NpZ24odCk7ZS5yb3RhdGVSaWdodCgxNCk7aS5hc3NpZ24odCk7aS5yb3RhdGVSaWdodCgxOCk7ZS54b3IoaSk7aS5hc3NpZ24odCk7aS5yb3RhdGVSaWdodCg0MSk7ZS54b3IoaSl9ZnVuY3Rpb24gbGl0dGxlU2lnbWEoZSx0LGkpe2UuYXNzaWduKHQpO2Uucm90YXRlUmlnaHQoMSk7aS5hc3NpZ24odCk7aS5yb3RhdGVSaWdodCg4KTtlLnhvcihpKTtpLmFzc2lnbih0KTtpLnNoaWZ0UmlnaHQoNyk7ZS54b3IoaSl9ZnVuY3Rpb24gbGl0dGxlU2lnbWFQcmltZShlLHQsaSl7ZS5hc3NpZ24odCk7ZS5yb3RhdGVSaWdodCgxOSk7aS5hc3NpZ24odCk7aS5yb3RhdGVSaWdodCg2MSk7ZS54b3IoaSk7aS5hc3NpZ24odCk7aS5zaGlmdFJpZ2h0KDYpO2UueG9yKGkpfWNvbnN0IGU9W25ldyBXb3JkNjQoMTExNjM1MjQwOCwzNjA5NzY3NDU4KSxuZXcgV29yZDY0KDE4OTk0NDc0NDEsNjAyODkxNzI1KSxuZXcgV29yZDY0KDMwNDkzMjM0NzEsMzk2NDQ4NDM5OSksbmV3IFdvcmQ2NCgzOTIxMDA5NTczLDIxNzMyOTU1NDgpLG5ldyBXb3JkNjQoOTYxOTg3MTYzLDQwODE2Mjg0NzIpLG5ldyBXb3JkNjQoMTUwODk3MDk5MywzMDUzODM0MjY1KSxuZXcgV29yZDY0KDI0NTM2MzU3NDgsMjkzNzY3MTU3OSksbmV3IFdvcmQ2NCgyODcwNzYzMjIxLDM2NjQ2MDk1NjApLG5ldyBXb3JkNjQoMzYyNDM4MTA4MCwyNzM0ODgzMzk0KSxuZXcgV29yZDY0KDMxMDU5ODQwMSwxMTY0OTk2NTQyKSxuZXcgV29yZDY0KDYwNzIyNTI3OCwxMzIzNjEwNzY0KSxuZXcgV29yZDY0KDE0MjY4ODE5ODcsMzU5MDMwNDk5NCksbmV3IFdvcmQ2NCgxOTI1MDc4Mzg4LDQwNjgxODIzODMpLG5ldyBXb3JkNjQoMjE2MjA3ODIwNiw5OTEzMzYxMTMpLG5ldyBXb3JkNjQoMjYxNDg4ODEwMyw2MzM4MDMzMTcpLG5ldyBXb3JkNjQoMzI0ODIyMjU4MCwzNDc5Nzc0ODY4KSxuZXcgV29yZDY0KDM4MzUzOTA0MDEsMjY2NjYxMzQ1OCksbmV3IFdvcmQ2NCg0MDIyMjI0Nzc0LDk0NDcxMTEzOSksbmV3IFdvcmQ2NCgyNjQzNDcwNzgsMjM0MTI2Mjc3MyksbmV3IFdvcmQ2NCg2MDQ4MDc2MjgsMjAwNzgwMDkzMyksbmV3IFdvcmQ2NCg3NzAyNTU5ODMsMTQ5NTk5MDkwMSksbmV3IFdvcmQ2NCgxMjQ5MTUwMTIyLDE4NTY0MzEyMzUpLG5ldyBXb3JkNjQoMTU1NTA4MTY5MiwzMTc1MjE4MTMyKSxuZXcgV29yZDY0KDE5OTYwNjQ5ODYsMjE5ODk1MDgzNyksbmV3IFdvcmQ2NCgyNTU0MjIwODgyLDM5OTk3MTkzMzkpLG5ldyBXb3JkNjQoMjgyMTgzNDM0OSw3NjY3ODQwMTYpLG5ldyBXb3JkNjQoMjk1Mjk5NjgwOCwyNTY2NTk0ODc5KSxuZXcgV29yZDY0KDMyMTAzMTM2NzEsMzIwMzMzNzk1NiksbmV3IFdvcmQ2NCgzMzM2NTcxODkxLDEwMzQ0NTcwMjYpLG5ldyBXb3JkNjQoMzU4NDUyODcxMSwyNDY2OTQ4OTAxKSxuZXcgV29yZDY0KDExMzkyNjk5MywzNzU4MzI2MzgzKSxuZXcgV29yZDY0KDMzODI0MTg5NSwxNjg3MTc5MzYpLG5ldyBXb3JkNjQoNjY2MzA3MjA1LDExODgxNzk5NjQpLG5ldyBXb3JkNjQoNzczNTI5OTEyLDE1NDYwNDU3MzQpLG5ldyBXb3JkNjQoMTI5NDc1NzM3MiwxNTIyODA1NDg1KSxuZXcgV29yZDY0KDEzOTYxODIyOTEsMjY0MzgzMzgyMyksbmV3IFdvcmQ2NCgxNjk1MTgzNzAwLDIzNDM1MjczOTApLG5ldyBXb3JkNjQoMTk4NjY2MTA1MSwxMDE0NDc3NDgwKSxuZXcgV29yZDY0KDIxNzcwMjYzNTAsMTIwNjc1OTE0MiksbmV3IFdvcmQ2NCgyNDU2OTU2MDM3LDM0NDA3NzYyNyksbmV3IFdvcmQ2NCgyNzMwNDg1OTIxLDEyOTA4NjM0NjApLG5ldyBXb3JkNjQoMjgyMDMwMjQxMSwzMTU4NDU0MjczKSxuZXcgV29yZDY0KDMyNTk3MzA4MDAsMzUwNTk1MjY1NyksbmV3IFdvcmQ2NCgzMzQ1NzY0NzcxLDEwNjIxNzAwOCksbmV3IFdvcmQ2NCgzNTE2MDY1ODE3LDM2MDYwMDgzNDQpLG5ldyBXb3JkNjQoMzYwMDM1MjgwNCwxNDMyNzI1Nzc2KSxuZXcgV29yZDY0KDQwOTQ1NzE5MDksMTQ2NzAzMTU5NCksbmV3IFdvcmQ2NCgyNzU0MjMzNDQsODUxMTY5NzIwKSxuZXcgV29yZDY0KDQzMDIyNzczNCwzMTAwODIzNzUyKSxuZXcgV29yZDY0KDUwNjk0ODYxNiwxMzYzMjU4MTk1KSxuZXcgV29yZDY0KDY1OTA2MDU1NiwzNzUwNjg1NTkzKSxuZXcgV29yZDY0KDg4Mzk5Nzg3NywzNzg1MDUwMjgwKSxuZXcgV29yZDY0KDk1ODEzOTU3MSwzMzE4MzA3NDI3KSxuZXcgV29yZDY0KDEzMjI4MjIyMTgsMzgxMjcyMzQwMyksbmV3IFdvcmQ2NCgxNTM3MDAyMDYzLDIwMDMwMzQ5OTUpLG5ldyBXb3JkNjQoMTc0Nzg3Mzc3OSwzNjAyMDM2ODk5KSxuZXcgV29yZDY0KDE5NTU1NjIyMjIsMTU3NTk5MDAxMiksbmV3IFdvcmQ2NCgyMDI0MTA0ODE1LDExMjU1OTI5MjgpLG5ldyBXb3JkNjQoMjIyNzczMDQ1MiwyNzE2OTA0MzA2KSxuZXcgV29yZDY0KDIzNjE4NTI0MjQsNDQyNzc2MDQ0KSxuZXcgV29yZDY0KDI0Mjg0MzY0NzQsNTkzNjk4MzQ0KSxuZXcgV29yZDY0KDI3NTY3MzQxODcsMzczMzExMDI0OSksbmV3IFdvcmQ2NCgzMjA0MDMxNDc5LDI5OTkzNTE1NzMpLG5ldyBXb3JkNjQoMzMyOTMyNTI5OCwzODE1OTIwNDI3KSxuZXcgV29yZDY0KDMzOTE1Njk2MTQsMzkyODM4MzkwMCksbmV3IFdvcmQ2NCgzNTE1MjY3MjcxLDU2NjI4MDcxMSksbmV3IFdvcmQ2NCgzOTQwMTg3NjA2LDM0NTQwNjk1MzQpLG5ldyBXb3JkNjQoNDExODYzMDI3MSw0MDAwMjM5OTkyKSxuZXcgV29yZDY0KDExNjQxODQ3NCwxOTE0MTM4NTU0KSxuZXcgV29yZDY0KDE3NDI5MjQyMSwyNzMxMDU1MjcwKSxuZXcgV29yZDY0KDI4OTM4MDM1NiwzMjAzOTkzMDA2KSxuZXcgV29yZDY0KDQ2MDM5MzI2OSwzMjA2MjAzMTUpLG5ldyBXb3JkNjQoNjg1NDcxNzMzLDU4NzQ5NjgzNiksbmV3IFdvcmQ2NCg4NTIxNDI5NzEsMTA4Njc5Mjg1MSksbmV3IFdvcmQ2NCgxMDE3MDM2Mjk4LDM2NTU0MzEwMCksbmV3IFdvcmQ2NCgxMTI2MDAwNTgwLDI2MTgyOTc2NzYpLG5ldyBXb3JkNjQoMTI4ODAzMzQ3MCwzNDA5ODU1MTU4KSxuZXcgV29yZDY0KDE1MDE1MDU5NDgsNDIzNDUwOTg2NiksbmV3IFdvcmQ2NCgxNjA3MTY3OTE1LDk4NzE2NzQ2OCksbmV3IFdvcmQ2NCgxODE2NDAyMzE2LDEyNDYxODk1OTEpXTtyZXR1cm4gZnVuY3Rpb24gaGFzaCh0LGksYSxzPSExKXtsZXQgcixuLGcsbyxjLEMsaCxsO2lmKHMpe3I9bmV3IFdvcmQ2NCgzNDE4MDcwMzY1LDMyMzgzNzEwMzIpO249bmV3IFdvcmQ2NCgxNjU0MjcwMjUwLDkxNDE1MDY2Myk7Zz1uZXcgV29yZDY0KDI0Mzg1MjkzNzAsODEyNzAyOTk5KTtvPW5ldyBXb3JkNjQoMzU1NDYyMzYwLDQxNDQ5MTI2OTcpO2M9bmV3IFdvcmQ2NCgxNzMxNDA1NDE1LDQyOTA3NzU4NTcpO0M9bmV3IFdvcmQ2NCgyMzk0MTgwMjMxLDE3NTA2MDMwMjUpO2g9bmV3IFdvcmQ2NCgzNjc1MDA4NTI1LDE2OTQwNzY4MzkpO2w9bmV3IFdvcmQ2NCgxMjAzMDYyODEzLDMyMDQwNzU0MjgpfWVsc2V7cj1uZXcgV29yZDY0KDE3NzkwMzM3MDMsNDA4OTIzNTcyMCk7bj1uZXcgV29yZDY0KDMxNDQxMzQyNzcsMjIyNzg3MzU5NSk7Zz1uZXcgV29yZDY0KDEwMTM5MDQyNDIsNDI3MTE3NTcyMyk7bz1uZXcgV29yZDY0KDI3NzM0ODA3NjIsMTU5NTc1MDEyOSk7Yz1uZXcgV29yZDY0KDEzNTk4OTMxMTksMjkxNzU2NTEzNyk7Qz1uZXcgV29yZDY0KDI2MDA4MjI5MjQsNzI1NTExMTk5KTtoPW5ldyBXb3JkNjQoNTI4NzM0NjM1LDQyMTUzODk1NDcpO2w9bmV3IFdvcmQ2NCgxNTQxNDU5MjI1LDMyNzAzMzIwOSl9Y29uc3QgUT0xMjgqTWF0aC5jZWlsKChhKzE3KS8xMjgpLEU9bmV3IFVpbnQ4QXJyYXkoUSk7bGV0IHUsZDtmb3IodT0wO3U8YTsrK3UpRVt1XT10W2krK107RVt1KytdPTEyODtjb25zdCBmPVEtMTY7Zm9yKDt1PGY7KUVbdSsrXT0wO0VbdSsrXT0wO0VbdSsrXT0wO0VbdSsrXT0wO0VbdSsrXT0wO0VbdSsrXT0wO0VbdSsrXT0wO0VbdSsrXT0wO0VbdSsrXT0wO0VbdSsrXT0wO0VbdSsrXT0wO0VbdSsrXT0wO0VbdSsrXT1hPj4+MjkmMjU1O0VbdSsrXT1hPj4yMSYyNTU7RVt1KytdPWE+PjEzJjI1NTtFW3UrK109YT4+NSYyNTU7RVt1KytdPWE8PDMmMjU1O2NvbnN0IHA9bmV3IEFycmF5KDgwKTtmb3IodT0wO3U8ODA7dSsrKXBbdV09bmV3IFdvcmQ2NCgwLDApO2xldCBtPW5ldyBXb3JkNjQoMCwwKSx5PW5ldyBXb3JkNjQoMCwwKSx3PW5ldyBXb3JkNjQoMCwwKSxEPW5ldyBXb3JkNjQoMCwwKSxiPW5ldyBXb3JkNjQoMCwwKSxGPW5ldyBXb3JkNjQoMCwwKSxTPW5ldyBXb3JkNjQoMCwwKSxrPW5ldyBXb3JkNjQoMCwwKTtjb25zdCBSPW5ldyBXb3JkNjQoMCwwKSxOPW5ldyBXb3JkNjQoMCwwKSxHPW5ldyBXb3JkNjQoMCwwKSx4PW5ldyBXb3JkNjQoMCwwKTtsZXQgVSxNO2Zvcih1PTA7dTxROyl7Zm9yKGQ9MDtkPDE2OysrZCl7cFtkXS5oaWdoPUVbdV08PDI0fEVbdSsxXTw8MTZ8RVt1KzJdPDw4fEVbdSszXTtwW2RdLmxvdz1FW3UrNF08PDI0fEVbdSs1XTw8MTZ8RVt1KzZdPDw4fEVbdSs3XTt1Kz04fWZvcihkPTE2O2Q8ODA7KytkKXtVPXBbZF07bGl0dGxlU2lnbWFQcmltZShVLHBbZC0yXSx4KTtVLmFkZChwW2QtN10pO2xpdHRsZVNpZ21hKEcscFtkLTE1XSx4KTtVLmFkZChHKTtVLmFkZChwW2QtMTZdKX1tLmFzc2lnbihyKTt5LmFzc2lnbihuKTt3LmFzc2lnbihnKTtELmFzc2lnbihvKTtiLmFzc2lnbihjKTtGLmFzc2lnbihDKTtTLmFzc2lnbihoKTtrLmFzc2lnbihsKTtmb3IoZD0wO2Q8ODA7KytkKXtSLmFzc2lnbihrKTtzaWdtYVByaW1lKEcsYix4KTtSLmFkZChHKTtjaChHLGIsRixTLHgpO1IuYWRkKEcpO1IuYWRkKGVbZF0pO1IuYWRkKHBbZF0pO3NpZ21hKE4sbSx4KTttYWooRyxtLHksdyx4KTtOLmFkZChHKTtVPWs7az1TO1M9RjtGPWI7RC5hZGQoUik7Yj1EO0Q9dzt3PXk7eT1tO1UuYXNzaWduKFIpO1UuYWRkKE4pO209VX1yLmFkZChtKTtuLmFkZCh5KTtnLmFkZCh3KTtvLmFkZChEKTtjLmFkZChiKTtDLmFkZChGKTtoLmFkZChTKTtsLmFkZChrKX1pZihzKXtNPW5ldyBVaW50OEFycmF5KDQ4KTtyLmNvcHlUbyhNLDApO24uY29weVRvKE0sOCk7Zy5jb3B5VG8oTSwxNik7by5jb3B5VG8oTSwyNCk7Yy5jb3B5VG8oTSwzMik7Qy5jb3B5VG8oTSw0MCl9ZWxzZXtNPW5ldyBVaW50OEFycmF5KDY0KTtyLmNvcHlUbyhNLDApO24uY29weVRvKE0sOCk7Zy5jb3B5VG8oTSwxNik7by5jb3B5VG8oTSwyNCk7Yy5jb3B5VG8oTSwzMik7Qy5jb3B5VG8oTSw0MCk7aC5jb3B5VG8oTSw0OCk7bC5jb3B5VG8oTSw1Nil9cmV0dXJuIE19fSgpO2NsYXNzIE51bGxDaXBoZXJ7ZGVjcnlwdEJsb2NrKGUpe3JldHVybiBlfWVuY3J5cHQoZSl7cmV0dXJuIGV9fWNsYXNzIEFFU0Jhc2VDaXBoZXJ7Y29uc3RydWN0b3IoKXt0aGlzLl9zPW5ldyBVaW50OEFycmF5KFs5OSwxMjQsMTE5LDEyMywyNDIsMTA3LDExMSwxOTcsNDgsMSwxMDMsNDMsMjU0LDIxNSwxNzEsMTE4LDIwMiwxMzAsMjAxLDEyNSwyNTAsODksNzEsMjQwLDE3MywyMTIsMTYyLDE3NSwxNTYsMTY0LDExNCwxOTIsMTgzLDI1MywxNDcsMzgsNTQsNjMsMjQ3LDIwNCw1MiwxNjUsMjI5LDI0MSwxMTMsMjE2LDQ5LDIxLDQsMTk5LDM1LDE5NSwyNCwxNTAsNSwxNTQsNywxOCwxMjgsMjI2LDIzNSwzOSwxNzgsMTE3LDksMTMxLDQ0LDI2LDI3LDExMCw5MCwxNjAsODIsNTksMjE0LDE3OSw0MSwyMjcsNDcsMTMyLDgzLDIwOSwwLDIzNywzMiwyNTIsMTc3LDkxLDEwNiwyMDMsMTkwLDU3LDc0LDc2LDg4LDIwNywyMDgsMjM5LDE3MCwyNTEsNjcsNzcsNTEsMTMzLDY5LDI0OSwyLDEyNyw4MCw2MCwxNTksMTY4LDgxLDE2Myw2NCwxNDMsMTQ2LDE1Nyw1NiwyNDUsMTg4LDE4MiwyMTgsMzMsMTYsMjU1LDI0MywyMTAsMjA1LDEyLDE5LDIzNiw5NSwxNTEsNjgsMjMsMTk2LDE2NywxMjYsNjEsMTAwLDkzLDI1LDExNSw5NiwxMjksNzksMjIwLDM0LDQyLDE0NCwxMzYsNzAsMjM4LDE4NCwyMCwyMjIsOTQsMTEsMjE5LDIyNCw1MCw1OCwxMCw3Myw2LDM2LDkyLDE5NCwyMTEsMTcyLDk4LDE0NSwxNDksMjI4LDEyMSwyMzEsMjAwLDU1LDEwOSwxNDEsMjEzLDc4LDE2OSwxMDgsODYsMjQ0LDIzNCwxMDEsMTIyLDE3NCw4LDE4NiwxMjAsMzcsNDYsMjgsMTY2LDE4MCwxOTgsMjMyLDIyMSwxMTYsMzEsNzUsMTg5LDEzOSwxMzgsMTEyLDYyLDE4MSwxMDIsNzIsMywyNDYsMTQsOTcsNTMsODcsMTg1LDEzNCwxOTMsMjksMTU4LDIyNSwyNDgsMTUyLDE3LDEwNSwyMTcsMTQyLDE0OCwxNTUsMzAsMTM1LDIzMywyMDYsODUsNDAsMjIzLDE0MCwxNjEsMTM3LDEzLDE5MSwyMzAsNjYsMTA0LDY1LDE1Myw0NSwxNSwxNzYsODQsMTg3LDIyXSk7dGhpcy5faW52X3M9bmV3IFVpbnQ4QXJyYXkoWzgyLDksMTA2LDIxMyw0OCw1NCwxNjUsNTYsMTkxLDY0LDE2MywxNTgsMTI5LDI0MywyMTUsMjUxLDEyNCwyMjcsNTcsMTMwLDE1NSw0NywyNTUsMTM1LDUyLDE0Miw2Nyw2OCwxOTYsMjIyLDIzMywyMDMsODQsMTIzLDE0OCw1MCwxNjYsMTk0LDM1LDYxLDIzOCw3NiwxNDksMTEsNjYsMjUwLDE5NSw3OCw4LDQ2LDE2MSwxMDIsNDAsMjE3LDM2LDE3OCwxMTgsOTEsMTYyLDczLDEwOSwxMzksMjA5LDM3LDExNCwyNDgsMjQ2LDEwMCwxMzQsMTA0LDE1MiwyMiwyMTIsMTY0LDkyLDIwNCw5MywxMDEsMTgyLDE0NiwxMDgsMTEyLDcyLDgwLDI1MywyMzcsMTg1LDIxOCw5NCwyMSw3MCw4NywxNjcsMTQxLDE1NywxMzIsMTQ0LDIxNiwxNzEsMCwxNDAsMTg4LDIxMSwxMCwyNDcsMjI4LDg4LDUsMTg0LDE3OSw2OSw2LDIwOCw0NCwzMCwxNDMsMjAyLDYzLDE1LDIsMTkzLDE3NSwxODksMywxLDE5LDEzOCwxMDcsNTgsMTQ1LDE3LDY1LDc5LDEwMywyMjAsMjM0LDE1MSwyNDIsMjA3LDIwNiwyNDAsMTgwLDIzMCwxMTUsMTUwLDE3MiwxMTYsMzQsMjMxLDE3Myw1MywxMzMsMjI2LDI0OSw1NSwyMzIsMjgsMTE3LDIyMywxMTAsNzEsMjQxLDI2LDExMywyOSw0MSwxOTcsMTM3LDExMSwxODMsOTgsMTQsMTcwLDI0LDE5MCwyNywyNTIsODYsNjIsNzUsMTk4LDIxMCwxMjEsMzIsMTU0LDIxOSwxOTIsMjU0LDEyMCwyMDUsOTAsMjQ0LDMxLDIyMSwxNjgsNTEsMTM2LDcsMTk5LDQ5LDE3NywxOCwxNiw4OSwzOSwxMjgsMjM2LDk1LDk2LDgxLDEyNywxNjksMjUsMTgxLDc0LDEzLDQ1LDIyOSwxMjIsMTU5LDE0NywyMDEsMTU2LDIzOSwxNjAsMjI0LDU5LDc3LDE3NCw0MiwyNDUsMTc2LDIwMCwyMzUsMTg3LDYwLDEzMSw4MywxNTMsOTcsMjMsNDMsNCwxMjYsMTg2LDExOSwyMTQsMzgsMjI1LDEwNSwyMCw5OSw4NSwzMywxMiwxMjVdKTt0aGlzLl9taXg9bmV3IFVpbnQzMkFycmF5KFswLDIzNTQ3NDE4Nyw0NzA5NDgzNzQsMzAzNzY1Mjc3LDk0MTg5Njc0OCw5MDg5MzM0MTUsNjA3NTMwNTU0LDcwODc4MDg0OSwxODgzNzkzNDk2LDIxMTgyMTQ5OTUsMTgxNzg2NjgzMCwxNjQ5NjM5MjM3LDEyMTUwNjExMDgsMTE4MTA0NTExOSwxNDE3NTYxNjk4LDE1MTc3Njc1MjksMzc2NzU4Njk5Miw0MDAzMDYxMTc5LDQyMzY0Mjk5OTAsNDA2OTI0Njg5MywzNjM1NzMzNjYwLDM2MDI3NzAzMjcsMzI5OTI3ODQ3NCwzNDAwNTI4NzY5LDI0MzAxMjIyMTYsMjY2NDU0MzcxNSwyMzYyMDkwMjM4LDIxOTM4NjI2NDUsMjgzNTEyMzM5NiwyODAxMTA3NDA3LDMwMzU1MzUwNTgsMzEzNTc0MDg4OSwzNjc4MTI0OTIzLDM1NzY4NzA1MTIsMzM0MTM5NDI4NSwzMzc0MzYxNzAyLDM4MTA0OTYzNDMsMzk3NzY3NTM1Niw0Mjc5MDgwMjU3LDQwNDM2MTAxODYsMjg3NjQ5NDYyNywyNzc2MjkyOTA0LDMwNzY2MzkwMjksMzExMDY1MDk0MiwyNDcyMDExNTM1LDI2NDAyNDMyMDQsMjQwMzcyODY2NSwyMTY5MzAzMDU4LDEwMDEwODk5OTUsODk5ODM1NTg0LDY2NjQ2NDczMyw2OTk0MzIxNTAsNTk3Mjc4NDcsMjI2OTA2ODYwLDUzMDQwMDc1MywyOTQ5MzA2ODIsMTI3MzE2ODc4NywxMTcyOTY3MDY0LDE0NzU0MTg1MDEsMTUwOTQzMDQxNCwxOTQyNDM1Nzc1LDIxMTA2Njc0NDQsMTg3NjI0MTgzMywxNjQxODE2MjI2LDI5MTAyMTk3NjYsMjc0MzAzNDEwOSwyOTc2MTUxNTIwLDMyMTE2MjMxNDcsMjUwNTIwMjEzOCwyNjA2NDUzOTY5LDIzMDI2OTAyNTIsMjI2OTcyODQ1NSwzNzExODI5NDIyLDM1NDM1OTkyNjksMzI0MDg5NDM5MiwzNDc1MzEzMzMxLDM4NDM2OTkwNzQsMzk0MzkwNjQ0MSw0MTc4MDYyMjI4LDQxNDQwNDc3NzUsMTMwNjk2NzM2NiwxMTM5NzgxNzA5LDEzNzQ5ODgxMTIsMTYxMDQ1OTczOSwxOTc1NjgzNDM0LDIwNzY5MzUyNjUsMTc3NTI3NjkyNCwxNzQyMzE1MTI3LDEwMzQ4Njc5OTgsODY2NjM3ODQ1LDU2NjAyMTg5Niw4MDA0NDA4MzUsOTI5ODc2OTgsMTkzMTk1MDY1LDQyOTQ1NjE2NCwzOTU0NDE3MTEsMTk4NDgxMjY4NSwyMDE3Nzc4NTY2LDE3ODQ2NjMxOTUsMTY4MzQwNzI0OCwxMzE1NTYyMTQ1LDEwODAwOTQ2MzQsMTM4Mzg1NjMxMSwxNTUxMDM3ODg0LDEwMTAzOTgyOSwxMzUwNTAyMDYsNDM3NzU3MTIzLDMzNzU1Mzg2NCwxMDQyMzg1NjU3LDgwNzk2MjYxMCw1NzM4MDQ3ODMsNzQyMDM5MDEyLDI1MzEwNjc0NTMsMjU2NDAzMzMzNCwyMzI4ODI4OTcxLDIyMjc1NzMwMjQsMjkzNTU2Njg2NSwyNzAwMDk5MzU0LDMwMDE3NTU2NTUsMzE2ODkzNzIyOCwzODY4NTUyODA1LDM5MDI1NjMxODIsNDIwMzE4MTE3MSw0MTAyOTc3OTEyLDM3MzYxNjQ5MzcsMzUwMTc0MTg5MCwzMjY1NDc4NzUxLDM0MzM3MTI5ODAsMTEwNjA0MTU5MSwxMzQwNDYzMTAwLDE1NzY5NzY2MDksMTQwODc0OTAzNCwyMDQzMjExNDgzLDIwMDkxOTU0NzIsMTcwODg0ODMzMywxODA5MDU0MTUwLDgzMjg3NzIzMSwxMDY4MzUxMzk2LDc2Njk0NTQ2NSw1OTk3NjIzNTQsMTU5NDE3OTg3LDEyNjQ1NDY2NCwzNjE5Mjk4NzcsNDYzMTgwMTkwLDI3MDkyNjA4NzEsMjk0MzY4MjM4MCwzMTc4MTA2OTYxLDMwMDk4NzkzODYsMjU3MjY5NzE5NSwyNTM4NjgxMTg0LDIyMzYyMjg3MzMsMjMzNjQzNDU1MCwzNTA5ODcxMTM1LDM3NDUzNDUzMDAsMzQ0MTg1MDM3NywzMjc0NjY3MjY2LDM5MTAxNjE5NzEsMzg3NzE5ODY0OCw0MTEwNTY4NDg1LDQyMTE4MTg3OTgsMjU5NzgwNjQ3NiwyNDk3NjA0NzQzLDIyNjEwODkxNzgsMjI5NTEwMTA3MywyNzMzODU2MTYwLDI5MDIwODc4NTEsMzIwMjQzNzA0NiwyOTY4MDExNDUzLDM5MzYyOTEyODQsMzgzNTAzNjg5NSw0MTM2NDQwNzcwLDQxNjk0MDgyMDEsMzUzNTQ4NjQ1NiwzNzAyNjY1NDU5LDM0NjcxOTIzMDIsMzIzMTcyMjIxMywyMDUxNTE4NzgwLDE5NTEzMTcwNDcsMTcxNjg5MDQxMCwxNzUwOTAyMzA1LDExMTM4MTgzODQsMTI4MjA1MDA3NSwxNTg0NTA0NTgyLDEzNTAwNzg5ODksMTY4ODEwODUyLDY3NTU2NDYzLDM3MTA0OTMzMCw0MDQwMTY3NjEsODQxNzM5NTkyLDEwMDg5MTg1OTUsNzc1NTUwODE0LDU0MDA4MDcyNSwzOTY5NTYyMzY5LDM4MDEzMzIyMzQsNDAzNTQ4OTA0Nyw0MjY5OTA3OTk2LDM1NjkyNTUyMTMsMzY2OTQ2MjU2NiwzMzY2NzU0NjE5LDMzMzI3NDAxNDQsMjYzMTA2NTQzMywyNDYzODc5NzYyLDIxNjAxMTcwNzEsMjM5NTU4ODY3NiwyNzY3NjQ1NTU3LDI4Njg4OTc0MDYsMzEwMjAxMTc0NywzMDY5MDQ5OTYwLDIwMjAwODQ5NywzMzc3ODM2MiwyNzAwNDA0ODcsNTA0NDU5NDM2LDg3NTQ1MTI5Myw5NzU2NTg2NDYsNjc1MDM5NjI3LDY0MTAyNTE1MiwyMDg0NzA0MjMzLDE5MTc1MTg1NjIsMTYxNTg2MTI0NywxODUxMzMyODUyLDExNDc1NTA2NjEsMTI0ODgwMjUxMCwxNDg0MDA1ODQzLDE0NTEwNDQwNTYsOTMzMzAxMzcwLDk2NzMxMTcyOSw3MzMxNTY5NzIsNjMyOTUzNzAzLDI2MDM4ODk1MCwyNTk2NTkxNywzMjg2NzE4MDgsNDk2OTA2MDU5LDEyMDY0Nzc4NTgsMTIzOTQ0Mzc1MywxNTQzMjA4NTAwLDE0NDE5NTI1NzUsMjE0NDE2MTgwNiwxOTA4Njk0Mjc3LDE2NzU1Nzc4ODAsMTg0Mjc1OTQ0MywzNjEwMzY5MjI2LDM2NDQzNzk1ODUsMzQwODExOTUxNiwzMzA3OTE2MjQ3LDQwMTExOTA1MDIsMzc3Njc2NzQ2OSw0MDc3Mzg0NDMyLDQyNDU2MTg2ODMsMjgwOTc3MTE1NCwyODQyNzM3MDQ5LDMxNDQzOTY0MjAsMzA0MzE0MDQ5NSwyNjczNzA1MTUwLDI0MzgyMzc2MjEsMjIwMzAzMjIzMiwyMzcwMjEzNzk1XSk7dGhpcy5fbWl4Q29sPW5ldyBVaW50OEFycmF5KDI1Nik7Zm9yKGxldCBlPTA7ZTwyNTY7ZSsrKXRoaXMuX21peENvbFtlXT1lPDEyOD9lPDwxOmU8PDFeMjc7dGhpcy5idWZmZXI9bmV3IFVpbnQ4QXJyYXkoMTYpO3RoaXMuYnVmZmVyUG9zaXRpb249MH1fZXhwYW5kS2V5KGUpe3VucmVhY2hhYmxlKCJDYW5ub3QgY2FsbCBgX2V4cGFuZEtleWAgb24gdGhlIGJhc2UgY2xhc3MiKX1fZGVjcnlwdChlLHQpe2xldCBpLGEscztjb25zdCByPW5ldyBVaW50OEFycmF5KDE2KTtyLnNldChlKTtmb3IobGV0IGU9MCxpPXRoaXMuX2tleVNpemU7ZTwxNjsrK2UsKytpKXJbZV1ePXRbaV07Zm9yKGxldCBlPXRoaXMuX2N5Y2xlc09mUmVwZXRpdGlvbi0xO2U+PTE7LS1lKXtpPXJbMTNdO3JbMTNdPXJbOV07cls5XT1yWzVdO3JbNV09clsxXTtyWzFdPWk7aT1yWzE0XTthPXJbMTBdO3JbMTRdPXJbNl07clsxMF09clsyXTtyWzZdPWk7clsyXT1hO2k9clsxNV07YT1yWzExXTtzPXJbN107clsxNV09clszXTtyWzExXT1pO3JbN109YTtyWzNdPXM7Zm9yKGxldCBlPTA7ZTwxNjsrK2UpcltlXT10aGlzLl9pbnZfc1tyW2VdXTtmb3IobGV0IGk9MCxhPTE2KmU7aTwxNjsrK2ksKythKXJbaV1ePXRbYV07Zm9yKGxldCBlPTA7ZTwxNjtlKz00KXtjb25zdCB0PXRoaXMuX21peFtyW2VdXSxhPXRoaXMuX21peFtyW2UrMV1dLHM9dGhpcy5fbWl4W3JbZSsyXV0sbj10aGlzLl9taXhbcltlKzNdXTtpPXReYT4+PjheYTw8MjRecz4+PjE2XnM8PDE2Xm4+Pj4yNF5uPDw4O3JbZV09aT4+PjI0JjI1NTtyW2UrMV09aT4+MTYmMjU1O3JbZSsyXT1pPj44JjI1NTtyW2UrM109MjU1Jml9fWk9clsxM107clsxM109cls5XTtyWzldPXJbNV07cls1XT1yWzFdO3JbMV09aTtpPXJbMTRdO2E9clsxMF07clsxNF09cls2XTtyWzEwXT1yWzJdO3JbNl09aTtyWzJdPWE7aT1yWzE1XTthPXJbMTFdO3M9cls3XTtyWzE1XT1yWzNdO3JbMTFdPWk7cls3XT1hO3JbM109cztmb3IobGV0IGU9MDtlPDE2OysrZSl7cltlXT10aGlzLl9pbnZfc1tyW2VdXTtyW2VdXj10W2VdfXJldHVybiByfV9lbmNyeXB0KGUsdCl7Y29uc3QgaT10aGlzLl9zO2xldCBhLHMscjtjb25zdCBuPW5ldyBVaW50OEFycmF5KDE2KTtuLnNldChlKTtmb3IobGV0IGU9MDtlPDE2OysrZSluW2VdXj10W2VdO2ZvcihsZXQgZT0xO2U8dGhpcy5fY3ljbGVzT2ZSZXBldGl0aW9uO2UrKyl7Zm9yKGxldCBlPTA7ZTwxNjsrK2UpbltlXT1pW25bZV1dO3I9blsxXTtuWzFdPW5bNV07bls1XT1uWzldO25bOV09blsxM107blsxM109cjtyPW5bMl07cz1uWzZdO25bMl09blsxMF07bls2XT1uWzE0XTtuWzEwXT1yO25bMTRdPXM7cj1uWzNdO3M9bls3XTthPW5bMTFdO25bM109blsxNV07bls3XT1yO25bMTFdPXM7blsxNV09YTtmb3IobGV0IGU9MDtlPDE2O2UrPTQpe2NvbnN0IHQ9bltlKzBdLGk9bltlKzFdLHM9bltlKzJdLHI9bltlKzNdO2E9dF5pXnNecjtuW2UrMF1ePWFedGhpcy5fbWl4Q29sW3ReaV07bltlKzFdXj1hXnRoaXMuX21peENvbFtpXnNdO25bZSsyXV49YV50aGlzLl9taXhDb2xbc15yXTtuW2UrM11ePWFedGhpcy5fbWl4Q29sW3JedF19Zm9yKGxldCBpPTAsYT0xNiplO2k8MTY7KytpLCsrYSluW2ldXj10W2FdfWZvcihsZXQgZT0wO2U8MTY7KytlKW5bZV09aVtuW2VdXTtyPW5bMV07blsxXT1uWzVdO25bNV09bls5XTtuWzldPW5bMTNdO25bMTNdPXI7cj1uWzJdO3M9bls2XTtuWzJdPW5bMTBdO25bNl09blsxNF07blsxMF09cjtuWzE0XT1zO3I9blszXTtzPW5bN107YT1uWzExXTtuWzNdPW5bMTVdO25bN109cjtuWzExXT1zO25bMTVdPWE7Zm9yKGxldCBlPTAsaT10aGlzLl9rZXlTaXplO2U8MTY7KytlLCsraSluW2VdXj10W2ldO3JldHVybiBufV9kZWNyeXB0QmxvY2syKGUsdCl7Y29uc3QgaT1lLmxlbmd0aDtsZXQgYT10aGlzLmJ1ZmZlcixzPXRoaXMuYnVmZmVyUG9zaXRpb247Y29uc3Qgcj1bXTtsZXQgbj10aGlzLml2O2ZvcihsZXQgdD0wO3Q8aTsrK3Qpe2Fbc109ZVt0XTsrK3M7aWYoczwxNiljb250aW51ZTtjb25zdCBpPXRoaXMuX2RlY3J5cHQoYSx0aGlzLl9rZXkpO2ZvcihsZXQgZT0wO2U8MTY7KytlKWlbZV1ePW5bZV07bj1hO3IucHVzaChpKTthPW5ldyBVaW50OEFycmF5KDE2KTtzPTB9dGhpcy5idWZmZXI9YTt0aGlzLmJ1ZmZlckxlbmd0aD1zO3RoaXMuaXY9bjtpZigwPT09ci5sZW5ndGgpcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO2xldCBnPTE2KnIubGVuZ3RoO2lmKHQpe2NvbnN0IGU9ci5hdCgtMSk7bGV0IHQ9ZVsxNV07aWYodDw9MTYpe2ZvcihsZXQgaT0xNSxhPTE2LXQ7aT49YTstLWkpaWYoZVtpXSE9PXQpe3Q9MDticmVha31nLT10O3Jbci5sZW5ndGgtMV09ZS5zdWJhcnJheSgwLDE2LXQpfX1jb25zdCBvPW5ldyBVaW50OEFycmF5KGcpO2ZvcihsZXQgZT0wLHQ9MCxpPXIubGVuZ3RoO2U8aTsrK2UsdCs9MTYpby5zZXQocltlXSx0KTtyZXR1cm4gb31kZWNyeXB0QmxvY2soZSx0LGk9bnVsbCl7Y29uc3QgYT1lLmxlbmd0aCxzPXRoaXMuYnVmZmVyO2xldCByPXRoaXMuYnVmZmVyUG9zaXRpb247aWYoaSl0aGlzLml2PWk7ZWxzZXtmb3IobGV0IHQ9MDtyPDE2JiZ0PGE7Kyt0LCsrcilzW3JdPWVbdF07aWYocjwxNil7dGhpcy5idWZmZXJMZW5ndGg9cjtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoMCl9dGhpcy5pdj1zO2U9ZS5zdWJhcnJheSgxNil9dGhpcy5idWZmZXI9bmV3IFVpbnQ4QXJyYXkoMTYpO3RoaXMuYnVmZmVyTGVuZ3RoPTA7dGhpcy5kZWNyeXB0QmxvY2s9dGhpcy5fZGVjcnlwdEJsb2NrMjtyZXR1cm4gdGhpcy5kZWNyeXB0QmxvY2soZSx0KX1lbmNyeXB0KGUsdCl7Y29uc3QgaT1lLmxlbmd0aDtsZXQgYT10aGlzLmJ1ZmZlcixzPXRoaXMuYnVmZmVyUG9zaXRpb247Y29uc3Qgcj1bXTt0fHwodD1uZXcgVWludDhBcnJheSgxNikpO2ZvcihsZXQgbj0wO248aTsrK24pe2Fbc109ZVtuXTsrK3M7aWYoczwxNiljb250aW51ZTtmb3IobGV0IGU9MDtlPDE2OysrZSlhW2VdXj10W2VdO2NvbnN0IGk9dGhpcy5fZW5jcnlwdChhLHRoaXMuX2tleSk7dD1pO3IucHVzaChpKTthPW5ldyBVaW50OEFycmF5KDE2KTtzPTB9dGhpcy5idWZmZXI9YTt0aGlzLmJ1ZmZlckxlbmd0aD1zO3RoaXMuaXY9dDtpZigwPT09ci5sZW5ndGgpcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO2NvbnN0IG49MTYqci5sZW5ndGgsZz1uZXcgVWludDhBcnJheShuKTtmb3IobGV0IGU9MCx0PTAsaT1yLmxlbmd0aDtlPGk7KytlLHQrPTE2KWcuc2V0KHJbZV0sdCk7cmV0dXJuIGd9fWNsYXNzIEFFUzEyOENpcGhlciBleHRlbmRzIEFFU0Jhc2VDaXBoZXJ7Y29uc3RydWN0b3IoZSl7c3VwZXIoKTt0aGlzLl9jeWNsZXNPZlJlcGV0aXRpb249MTA7dGhpcy5fa2V5U2l6ZT0xNjA7dGhpcy5fcmNvbj1uZXcgVWludDhBcnJheShbMTQxLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0LDEwOCwyMTYsMTcxLDc3LDE1NCw0Nyw5NCwxODgsOTksMTk4LDE1MSw1MywxMDYsMjEyLDE3OSwxMjUsMjUwLDIzOSwxOTcsMTQ1LDU3LDExNCwyMjgsMjExLDE4OSw5NywxOTQsMTU5LDM3LDc0LDE0OCw1MSwxMDIsMjA0LDEzMSwyOSw1OCwxMTYsMjMyLDIwMywxNDEsMSwyLDQsOCwxNiwzMiw2NCwxMjgsMjcsNTQsMTA4LDIxNiwxNzEsNzcsMTU0LDQ3LDk0LDE4OCw5OSwxOTgsMTUxLDUzLDEwNiwyMTIsMTc5LDEyNSwyNTAsMjM5LDE5NywxNDUsNTcsMTE0LDIyOCwyMTEsMTg5LDk3LDE5NCwxNTksMzcsNzQsMTQ4LDUxLDEwMiwyMDQsMTMxLDI5LDU4LDExNiwyMzIsMjAzLDE0MSwxLDIsNCw4LDE2LDMyLDY0LDEyOCwyNyw1NCwxMDgsMjE2LDE3MSw3NywxNTQsNDcsOTQsMTg4LDk5LDE5OCwxNTEsNTMsMTA2LDIxMiwxNzksMTI1LDI1MCwyMzksMTk3LDE0NSw1NywxMTQsMjI4LDIxMSwxODksOTcsMTk0LDE1OSwzNyw3NCwxNDgsNTEsMTAyLDIwNCwxMzEsMjksNTgsMTE2LDIzMiwyMDMsMTQxLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0LDEwOCwyMTYsMTcxLDc3LDE1NCw0Nyw5NCwxODgsOTksMTk4LDE1MSw1MywxMDYsMjEyLDE3OSwxMjUsMjUwLDIzOSwxOTcsMTQ1LDU3LDExNCwyMjgsMjExLDE4OSw5NywxOTQsMTU5LDM3LDc0LDE0OCw1MSwxMDIsMjA0LDEzMSwyOSw1OCwxMTYsMjMyLDIwMywxNDEsMSwyLDQsOCwxNiwzMiw2NCwxMjgsMjcsNTQsMTA4LDIxNiwxNzEsNzcsMTU0LDQ3LDk0LDE4OCw5OSwxOTgsMTUxLDUzLDEwNiwyMTIsMTc5LDEyNSwyNTAsMjM5LDE5NywxNDUsNTcsMTE0LDIyOCwyMTEsMTg5LDk3LDE5NCwxNTksMzcsNzQsMTQ4LDUxLDEwMiwyMDQsMTMxLDI5LDU4LDExNiwyMzIsMjAzLDE0MV0pO3RoaXMuX2tleT10aGlzLl9leHBhbmRLZXkoZSl9X2V4cGFuZEtleShlKXtjb25zdCB0PXRoaXMuX3MsaT10aGlzLl9yY29uLGE9bmV3IFVpbnQ4QXJyYXkoMTc2KTthLnNldChlKTtmb3IobGV0IGU9MTYscz0xO2U8MTc2Oysrcyl7bGV0IHI9YVtlLTNdLG49YVtlLTJdLGc9YVtlLTFdLG89YVtlLTRdO3I9dFtyXTtuPXRbbl07Zz10W2ddO289dFtvXTtyXj1pW3NdO2ZvcihsZXQgdD0wO3Q8NDsrK3Qpe2FbZV09cl49YVtlLTE2XTtlKys7YVtlXT1uXj1hW2UtMTZdO2UrKzthW2VdPWdePWFbZS0xNl07ZSsrO2FbZV09b149YVtlLTE2XTtlKyt9fXJldHVybiBhfX1jbGFzcyBBRVMyNTZDaXBoZXIgZXh0ZW5kcyBBRVNCYXNlQ2lwaGVye2NvbnN0cnVjdG9yKGUpe3N1cGVyKCk7dGhpcy5fY3ljbGVzT2ZSZXBldGl0aW9uPTE0O3RoaXMuX2tleVNpemU9MjI0O3RoaXMuX2tleT10aGlzLl9leHBhbmRLZXkoZSl9X2V4cGFuZEtleShlKXtjb25zdCB0PXRoaXMuX3MsaT1uZXcgVWludDhBcnJheSgyNDApO2kuc2V0KGUpO2xldCBhLHMscixuLGc9MTtmb3IobGV0IGU9MzIsbz0xO2U8MjQwOysrbyl7aWYoZSUzMj09MTYpe2E9dFthXTtzPXRbc107cj10W3JdO249dFtuXX1lbHNlIGlmKGUlMzI9PTApe2E9aVtlLTNdO3M9aVtlLTJdO3I9aVtlLTFdO249aVtlLTRdO2E9dFthXTtzPXRbc107cj10W3JdO249dFtuXTthXj1nOyhnPDw9MSk+PTI1NiYmKGc9MjU1JigyN15nKSl9Zm9yKGxldCB0PTA7dDw0OysrdCl7aVtlXT1hXj1pW2UtMzJdO2UrKztpW2VdPXNePWlbZS0zMl07ZSsrO2lbZV09cl49aVtlLTMyXTtlKys7aVtlXT1uXj1pW2UtMzJdO2UrK319cmV0dXJuIGl9fWNsYXNzIFBERjE3e2NoZWNrT3duZXJQYXNzd29yZChlLHQsaSxhKXtjb25zdCBzPW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKzU2KTtzLnNldChlLDApO3Muc2V0KHQsZS5sZW5ndGgpO3Muc2V0KGksZS5sZW5ndGgrdC5sZW5ndGgpO3JldHVybiBpc0FycmF5RXF1YWwoVHMocywwLHMubGVuZ3RoKSxhKX1jaGVja1VzZXJQYXNzd29yZChlLHQsaSl7Y29uc3QgYT1uZXcgVWludDhBcnJheShlLmxlbmd0aCs4KTthLnNldChlLDApO2Euc2V0KHQsZS5sZW5ndGgpO3JldHVybiBpc0FycmF5RXF1YWwoVHMoYSwwLGEubGVuZ3RoKSxpKX1nZXRPd25lcktleShlLHQsaSxhKXtjb25zdCBzPW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKzU2KTtzLnNldChlLDApO3Muc2V0KHQsZS5sZW5ndGgpO3Muc2V0KGksZS5sZW5ndGgrdC5sZW5ndGgpO2NvbnN0IHI9VHMocywwLHMubGVuZ3RoKTtyZXR1cm4gbmV3IEFFUzI1NkNpcGhlcihyKS5kZWNyeXB0QmxvY2soYSwhMSxuZXcgVWludDhBcnJheSgxNikpfWdldFVzZXJLZXkoZSx0LGkpe2NvbnN0IGE9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgrOCk7YS5zZXQoZSwwKTthLnNldCh0LGUubGVuZ3RoKTtjb25zdCBzPVRzKGEsMCxhLmxlbmd0aCk7cmV0dXJuIG5ldyBBRVMyNTZDaXBoZXIocykuZGVjcnlwdEJsb2NrKGksITEsbmV3IFVpbnQ4QXJyYXkoMTYpKX19Y2xhc3MgUERGMjB7X2hhc2goZSx0LGkpe2xldCBhPVRzKHQsMCx0Lmxlbmd0aCkuc3ViYXJyYXkoMCwzMikscz1bMF0scj0wO2Zvcig7cjw2NHx8cy5hdCgtMSk+ci0zMjspe2NvbnN0IHQ9ZS5sZW5ndGgrYS5sZW5ndGgraS5sZW5ndGgsYz1uZXcgVWludDhBcnJheSh0KTtsZXQgQz0wO2Muc2V0KGUsQyk7Qys9ZS5sZW5ndGg7Yy5zZXQoYSxDKTtDKz1hLmxlbmd0aDtjLnNldChpLEMpO2NvbnN0IGg9bmV3IFVpbnQ4QXJyYXkoNjQqdCk7Zm9yKGxldCBlPTAsaT0wO2U8NjQ7ZSsrLGkrPXQpaC5zZXQoYyxpKTtzPW5ldyBBRVMxMjhDaXBoZXIoYS5zdWJhcnJheSgwLDE2KSkuZW5jcnlwdChoLGEuc3ViYXJyYXkoMTYsMzIpKTtjb25zdCBsPXMuc2xpY2UoMCwxNikucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKSUzOzA9PT1sP2E9VHMocywwLHMubGVuZ3RoKToxPT09bD9hPShuPXMsZz0wLG89cy5sZW5ndGgscXMobixnLG8sITApKToyPT09bCYmKGE9cXMocywwLHMubGVuZ3RoKSk7cisrfXZhciBuLGcsbztyZXR1cm4gYS5zdWJhcnJheSgwLDMyKX1jaGVja093bmVyUGFzc3dvcmQoZSx0LGksYSl7Y29uc3Qgcz1uZXcgVWludDhBcnJheShlLmxlbmd0aCs1Nik7cy5zZXQoZSwwKTtzLnNldCh0LGUubGVuZ3RoKTtzLnNldChpLGUubGVuZ3RoK3QubGVuZ3RoKTtyZXR1cm4gaXNBcnJheUVxdWFsKHRoaXMuX2hhc2goZSxzLGkpLGEpfWNoZWNrVXNlclBhc3N3b3JkKGUsdCxpKXtjb25zdCBhPW5ldyBVaW50OEFycmF5KGUubGVuZ3RoKzgpO2Euc2V0KGUsMCk7YS5zZXQodCxlLmxlbmd0aCk7cmV0dXJuIGlzQXJyYXlFcXVhbCh0aGlzLl9oYXNoKGUsYSxbXSksaSl9Z2V0T3duZXJLZXkoZSx0LGksYSl7Y29uc3Qgcz1uZXcgVWludDhBcnJheShlLmxlbmd0aCs1Nik7cy5zZXQoZSwwKTtzLnNldCh0LGUubGVuZ3RoKTtzLnNldChpLGUubGVuZ3RoK3QubGVuZ3RoKTtjb25zdCByPXRoaXMuX2hhc2goZSxzLGkpO3JldHVybiBuZXcgQUVTMjU2Q2lwaGVyKHIpLmRlY3J5cHRCbG9jayhhLCExLG5ldyBVaW50OEFycmF5KDE2KSl9Z2V0VXNlcktleShlLHQsaSl7Y29uc3QgYT1uZXcgVWludDhBcnJheShlLmxlbmd0aCs4KTthLnNldChlLDApO2Euc2V0KHQsZS5sZW5ndGgpO2NvbnN0IHM9dGhpcy5faGFzaChlLGEsW10pO3JldHVybiBuZXcgQUVTMjU2Q2lwaGVyKHMpLmRlY3J5cHRCbG9jayhpLCExLG5ldyBVaW50OEFycmF5KDE2KSl9fWNsYXNzIENpcGhlclRyYW5zZm9ybXtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuU3RyaW5nQ2lwaGVyQ29uc3RydWN0b3I9ZTt0aGlzLlN0cmVhbUNpcGhlckNvbnN0cnVjdG9yPXR9Y3JlYXRlU3RyZWFtKGUsdCl7Y29uc3QgaT1uZXcgdGhpcy5TdHJlYW1DaXBoZXJDb25zdHJ1Y3RvcjtyZXR1cm4gbmV3IERlY3J5cHRTdHJlYW0oZSx0LChmdW5jdGlvbiBjaXBoZXJUcmFuc2Zvcm1EZWNyeXB0U3RyZWFtKGUsdCl7cmV0dXJuIGkuZGVjcnlwdEJsb2NrKGUsdCl9KSl9ZGVjcnlwdFN0cmluZyhlKXtjb25zdCB0PW5ldyB0aGlzLlN0cmluZ0NpcGhlckNvbnN0cnVjdG9yO2xldCBpPXN0cmluZ1RvQnl0ZXMoZSk7aT10LmRlY3J5cHRCbG9jayhpLCEwKTtyZXR1cm4gYnl0ZXNUb1N0cmluZyhpKX1lbmNyeXB0U3RyaW5nKGUpe2NvbnN0IHQ9bmV3IHRoaXMuU3RyaW5nQ2lwaGVyQ29uc3RydWN0b3I7aWYodCBpbnN0YW5jZW9mIEFFU0Jhc2VDaXBoZXIpe2NvbnN0IGk9MTYtZS5sZW5ndGglMTY7ZSs9U3RyaW5nLmZyb21DaGFyQ29kZShpKS5yZXBlYXQoaSk7Y29uc3QgYT1uZXcgVWludDhBcnJheSgxNik7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBjcnlwdG8pY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhhKTtlbHNlIGZvcihsZXQgZT0wO2U8MTY7ZSsrKWFbZV09TWF0aC5mbG9vcigyNTYqTWF0aC5yYW5kb20oKSk7bGV0IHM9c3RyaW5nVG9CeXRlcyhlKTtzPXQuZW5jcnlwdChzLGEpO2NvbnN0IHI9bmV3IFVpbnQ4QXJyYXkoMTYrcy5sZW5ndGgpO3Iuc2V0KGEpO3Iuc2V0KHMsMTYpO3JldHVybiBieXRlc1RvU3RyaW5nKHIpfWxldCBpPXN0cmluZ1RvQnl0ZXMoZSk7aT10LmVuY3J5cHQoaSk7cmV0dXJuIGJ5dGVzVG9TdHJpbmcoaSl9fWNsYXNzIENpcGhlclRyYW5zZm9ybUZhY3Rvcnl7c3RhdGljI2s9bmV3IFVpbnQ4QXJyYXkoWzQwLDE5MSw3OCw5NCw3OCwxMTcsMTM4LDY1LDEwMCwwLDc4LDg2LDI1NSwyNTAsMSw4LDQ2LDQ2LDAsMTgyLDIwOCwxMDQsNjIsMTI4LDQ3LDEyLDE2OSwyNTQsMTAwLDgzLDEwNSwxMjJdKTsjUihlLHQsaSxhLHMscixuLGcsbyxjLEMsaCl7aWYodCl7Y29uc3QgZT1NYXRoLm1pbigxMjcsdC5sZW5ndGgpO3Q9dC5zdWJhcnJheSgwLGUpfWVsc2UgdD1bXTtjb25zdCBsPTY9PT1lP25ldyBQREYyMDpuZXcgUERGMTc7cmV0dXJuIGwuY2hlY2tVc2VyUGFzc3dvcmQodCxnLG4pP2wuZ2V0VXNlcktleSh0LG8sQyk6dC5sZW5ndGgmJmwuY2hlY2tPd25lclBhc3N3b3JkKHQsYSxyLGkpP2wuZ2V0T3duZXJLZXkodCxzLHIsYyk6bnVsbH0jTihlLHQsaSxhLHMscixuLGcpe2NvbnN0IG89NDAraS5sZW5ndGgrZS5sZW5ndGgsYz1uZXcgVWludDhBcnJheShvKTtsZXQgQyxoLGw9MDtpZih0KXtoPU1hdGgubWluKDMyLHQubGVuZ3RoKTtmb3IoO2w8aDsrK2wpY1tsXT10W2xdfUM9MDtmb3IoO2w8MzI7KWNbbCsrXT1DaXBoZXJUcmFuc2Zvcm1GYWN0b3J5LiNrW0MrK107Zm9yKEM9MCxoPWkubGVuZ3RoO0M8aDsrK0MpY1tsKytdPWlbQ107Y1tsKytdPTI1NSZzO2NbbCsrXT1zPj44JjI1NTtjW2wrK109cz4+MTYmMjU1O2NbbCsrXT1zPj4+MjQmMjU1O2ZvcihDPTAsaD1lLmxlbmd0aDtDPGg7KytDKWNbbCsrXT1lW0NdO2lmKHI+PTQmJiFnKXtjW2wrK109MjU1O2NbbCsrXT0yNTU7Y1tsKytdPTI1NTtjW2wrK109MjU1fWxldCBRPUtzKGMsMCxsKTtjb25zdCBFPW4+PjM7aWYocj49Mylmb3IoQz0wO0M8NTA7KytDKVE9S3MoUSwwLEUpO2NvbnN0IHU9US5zdWJhcnJheSgwLEUpO2xldCBkLGY7aWYocj49Myl7Zm9yKGw9MDtsPDMyOysrbCljW2xdPUNpcGhlclRyYW5zZm9ybUZhY3RvcnkuI2tbbF07Zm9yKEM9MCxoPWUubGVuZ3RoO0M8aDsrK0MpY1tsKytdPWVbQ107ZD1uZXcgQVJDRm91ckNpcGhlcih1KTtmPWQuZW5jcnlwdEJsb2NrKEtzKGMsMCxsKSk7aD11Lmxlbmd0aDtjb25zdCB0PW5ldyBVaW50OEFycmF5KGgpO2ZvcihDPTE7Qzw9MTk7KytDKXtmb3IobGV0IGU9MDtlPGg7KytlKXRbZV09dVtlXV5DO2Q9bmV3IEFSQ0ZvdXJDaXBoZXIodCk7Zj1kLmVuY3J5cHRCbG9jayhmKX1mb3IoQz0wLGg9Zi5sZW5ndGg7QzxoOysrQylpZihhW0NdIT09ZltDXSlyZXR1cm4gbnVsbH1lbHNle2Q9bmV3IEFSQ0ZvdXJDaXBoZXIodSk7Zj1kLmVuY3J5cHRCbG9jayhDaXBoZXJUcmFuc2Zvcm1GYWN0b3J5LiNrKTtmb3IoQz0wLGg9Zi5sZW5ndGg7QzxoOysrQylpZihhW0NdIT09ZltDXSlyZXR1cm4gbnVsbH1yZXR1cm4gdX0jRyhlLHQsaSxhKXtjb25zdCBzPW5ldyBVaW50OEFycmF5KDMyKTtsZXQgcj0wO2NvbnN0IG49TWF0aC5taW4oMzIsZS5sZW5ndGgpO2Zvcig7cjxuOysrcilzW3JdPWVbcl07bGV0IGc9MDtmb3IoO3I8MzI7KXNbcisrXT1DaXBoZXJUcmFuc2Zvcm1GYWN0b3J5LiNrW2crK107bGV0IG89S3MocywwLHIpO2NvbnN0IGM9YT4+MztpZihpPj0zKWZvcihnPTA7Zzw1MDsrK2cpbz1LcyhvLDAsby5sZW5ndGgpO2xldCBDLGg7aWYoaT49Myl7aD10O2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoYyk7Zm9yKGc9MTk7Zz49MDtnLS0pe2ZvcihsZXQgdD0wO3Q8YzsrK3QpZVt0XT1vW3RdXmc7Qz1uZXcgQVJDRm91ckNpcGhlcihlKTtoPUMuZW5jcnlwdEJsb2NrKGgpfX1lbHNle0M9bmV3IEFSQ0ZvdXJDaXBoZXIoby5zdWJhcnJheSgwLGMpKTtoPUMuZW5jcnlwdEJsb2NrKHQpfXJldHVybiBofSN4KGUsdCxpLGE9ITEpe2NvbnN0IHM9bmV3IFVpbnQ4QXJyYXkoaS5sZW5ndGgrOSkscj1pLmxlbmd0aDtsZXQgbjtmb3Iobj0wO248cjsrK24pc1tuXT1pW25dO3NbbisrXT0yNTUmZTtzW24rK109ZT4+OCYyNTU7c1tuKytdPWU+PjE2JjI1NTtzW24rK109MjU1JnQ7c1tuKytdPXQ+PjgmMjU1O2lmKGEpe3NbbisrXT0xMTU7c1tuKytdPTY1O3NbbisrXT0xMDg7c1tuKytdPTg0fXJldHVybiBLcyhzLDAsbikuc3ViYXJyYXkoMCxNYXRoLm1pbihpLmxlbmd0aCs1LDE2KSl9I1UoZSx0LGksYSxzKXtpZighKHQgaW5zdGFuY2VvZiBOYW1lKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgY3J5cHQgZmlsdGVyIG5hbWUuIik7Y29uc3Qgcj10aGlzLG49ZS5nZXQodC5uYW1lKSxnPW4/LmdldCgiQ0ZNIik7aWYoIWd8fCJOb25lIj09PWcubmFtZSlyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE51bGxDaXBoZXJ9O2lmKCJWMiI9PT1nLm5hbWUpcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBUkNGb3VyQ2lwaGVyKHIuI3goaSxhLHMsITEpKX07aWYoIkFFU1YyIj09PWcubmFtZSlyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEFFUzEyOENpcGhlcihyLiN4KGksYSxzLCEwKSl9O2lmKCJBRVNWMyI9PT1nLm5hbWUpcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBBRVMyNTZDaXBoZXIocyl9O3Rocm93IG5ldyBGb3JtYXRFcnJvcigiVW5rbm93biBjcnlwdG8gbWV0aG9kIil9Y29uc3RydWN0b3IoZSx0LGkpe2NvbnN0IGE9ZS5nZXQoIkZpbHRlciIpO2lmKCFpc05hbWUoYSwiU3RhbmRhcmQiKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoInVua25vd24gZW5jcnlwdGlvbiBtZXRob2QiKTt0aGlzLmZpbHRlck5hbWU9YS5uYW1lO3RoaXMuZGljdD1lO2NvbnN0IHM9ZS5nZXQoIlYiKTtpZighTnVtYmVyLmlzSW50ZWdlcihzKXx8MSE9PXMmJjIhPT1zJiY0IT09cyYmNSE9PXMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJ1bnN1cHBvcnRlZCBlbmNyeXB0aW9uIGFsZ29yaXRobSIpO3RoaXMuYWxnb3JpdGhtPXM7bGV0IHI9ZS5nZXQoIkxlbmd0aCIpO2lmKCFyKWlmKHM8PTMpcj00MDtlbHNle2NvbnN0IHQ9ZS5nZXQoIkNGIiksaT1lLmdldCgiU3RtRiIpO2lmKHQgaW5zdGFuY2VvZiBEaWN0JiZpIGluc3RhbmNlb2YgTmFtZSl7dC5zdXBwcmVzc0VuY3J5cHRpb249ITA7Y29uc3QgZT10LmdldChpLm5hbWUpO3I9ZT8uZ2V0KCJMZW5ndGgiKXx8MTI4O3I8NDAmJihyPDw9Myl9fWlmKCFOdW1iZXIuaXNJbnRlZ2VyKHIpfHxyPDQwfHxyJTghPTApdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJpbnZhbGlkIGtleSBsZW5ndGgiKTtjb25zdCBuPXN0cmluZ1RvQnl0ZXMoZS5nZXQoIk8iKSksZz1zdHJpbmdUb0J5dGVzKGUuZ2V0KCJVIikpLG89bi5zdWJhcnJheSgwLDMyKSxjPWcuc3ViYXJyYXkoMCwzMiksQz1lLmdldCgiUCIpLGg9ZS5nZXQoIlIiKSxsPSg0PT09c3x8NT09PXMpJiYhMSE9PWUuZ2V0KCJFbmNyeXB0TWV0YWRhdGEiKTt0aGlzLmVuY3J5cHRNZXRhZGF0YT1sO2NvbnN0IFE9c3RyaW5nVG9CeXRlcyh0KTtsZXQgRSx1O2lmKGkpe2lmKDY9PT1oKXRyeXtpPXV0ZjhTdHJpbmdUb1N0cmluZyhpKX1jYXRjaHt3YXJuKCJDaXBoZXJUcmFuc2Zvcm1GYWN0b3J5OiBVbmFibGUgdG8gY29udmVydCBVVEY4IGVuY29kZWQgcGFzc3dvcmQuIil9RT1zdHJpbmdUb0J5dGVzKGkpfWlmKDUhPT1zKXU9dGhpcy4jTihRLEUsbyxjLEMsaCxyLGwpO2Vsc2V7Y29uc3QgdD1uLnN1YmFycmF5KDMyLDQwKSxpPW4uc3ViYXJyYXkoNDAsNDgpLGE9Zy5zdWJhcnJheSgwLDQ4KSxzPWcuc3ViYXJyYXkoMzIsNDApLHI9Zy5zdWJhcnJheSg0MCw0OCksQz1zdHJpbmdUb0J5dGVzKGUuZ2V0KCJPRSIpKSxsPXN0cmluZ1RvQnl0ZXMoZS5nZXQoIlVFIikpLFE9c3RyaW5nVG9CeXRlcyhlLmdldCgiUGVybXMiKSk7dT10aGlzLiNSKGgsRSxvLHQsaSxhLGMscyxyLEMsbCxRKX1pZighdSYmIWkpdGhyb3cgbmV3IFBhc3N3b3JkRXhjZXB0aW9uKCJObyBwYXNzd29yZCBnaXZlbiIscnQpO2lmKCF1JiZpKXtjb25zdCBlPXRoaXMuI0coRSxvLGgscik7dT10aGlzLiNOKFEsZSxvLGMsQyxoLHIsbCl9aWYoIXUpdGhyb3cgbmV3IFBhc3N3b3JkRXhjZXB0aW9uKCJJbmNvcnJlY3QgUGFzc3dvcmQiLG50KTt0aGlzLmVuY3J5cHRpb25LZXk9dTtpZihzPj00KXtjb25zdCB0PWUuZ2V0KCJDRiIpO3QgaW5zdGFuY2VvZiBEaWN0JiYodC5zdXBwcmVzc0VuY3J5cHRpb249ITApO3RoaXMuY2Y9dDt0aGlzLnN0bWY9ZS5nZXQoIlN0bUYiKXx8TmFtZS5nZXQoIklkZW50aXR5Iik7dGhpcy5zdHJmPWUuZ2V0KCJTdHJGIil8fE5hbWUuZ2V0KCJJZGVudGl0eSIpO3RoaXMuZWZmPWUuZ2V0KCJFRkYiKXx8dGhpcy5zdG1mfX1jcmVhdGVDaXBoZXJUcmFuc2Zvcm0oZSx0KXtpZig0PT09dGhpcy5hbGdvcml0aG18fDU9PT10aGlzLmFsZ29yaXRobSlyZXR1cm4gbmV3IENpcGhlclRyYW5zZm9ybSh0aGlzLiNVKHRoaXMuY2YsdGhpcy5zdHJmLGUsdCx0aGlzLmVuY3J5cHRpb25LZXkpLHRoaXMuI1UodGhpcy5jZix0aGlzLnN0bWYsZSx0LHRoaXMuZW5jcnlwdGlvbktleSkpO2NvbnN0IGk9dGhpcy4jeChlLHQsdGhpcy5lbmNyeXB0aW9uS2V5LCExKSxjaXBoZXJDb25zdHJ1Y3Rvcj1mdW5jdGlvbigpe3JldHVybiBuZXcgQVJDRm91ckNpcGhlcihpKX07cmV0dXJuIG5ldyBDaXBoZXJUcmFuc2Zvcm0oY2lwaGVyQ29uc3RydWN0b3IsY2lwaGVyQ29uc3RydWN0b3IpfX1hc3luYyBmdW5jdGlvbiB3cml0ZU9iamVjdChlLHQsaSx7ZW5jcnlwdDphPW51bGx9KXtjb25zdCBzPWE/LmNyZWF0ZUNpcGhlclRyYW5zZm9ybShlLm51bSxlLmdlbik7aS5wdXNoKGAke2UubnVtfSAke2UuZ2VufSBvYmpcbmApO3QgaW5zdGFuY2VvZiBEaWN0P2F3YWl0IHdyaXRlRGljdCh0LGkscyk6dCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/YXdhaXQgd3JpdGVTdHJlYW0odCxpLHMpOihBcnJheS5pc0FycmF5KHQpfHxBcnJheUJ1ZmZlci5pc1ZpZXcodCkpJiZhd2FpdCB3cml0ZUFycmF5KHQsaSxzKTtpLnB1c2goIlxuZW5kb2JqXG4iKX1hc3luYyBmdW5jdGlvbiB3cml0ZURpY3QoZSx0LGkpe3QucHVzaCgiPDwiKTtmb3IoY29uc3QgYSBvZiBlLmdldEtleXMoKSl7dC5wdXNoKGAgLyR7ZXNjYXBlUERGTmFtZShhKX0gYCk7YXdhaXQgd3JpdGVWYWx1ZShlLmdldFJhdyhhKSx0LGkpfXQucHVzaCgiPj4iKX1hc3luYyBmdW5jdGlvbiB3cml0ZVN0cmVhbShlLHQsaSl7bGV0IGE9ZS5nZXRCeXRlcygpO2NvbnN0e2RpY3Q6c309ZSxbcixuXT1hd2FpdCBQcm9taXNlLmFsbChbcy5nZXRBc3luYygiRmlsdGVyIikscy5nZXRBc3luYygiRGVjb2RlUGFybXMiKV0pLGc9aXNOYW1lKEFycmF5LmlzQXJyYXkocik/YXdhaXQgcy54cmVmLmZldGNoSWZSZWZBc3luYyhyWzBdKTpyLCJGbGF0ZURlY29kZSIpO2lmKGEubGVuZ3RoPj0yNTZ8fGcpdHJ5e2NvbnN0IGU9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJkZWZsYXRlIiksdD1lLndyaXRhYmxlLmdldFdyaXRlcigpO3Qud3JpdGUoYSk7dC5jbG9zZSgpO2NvbnN0IGk9YXdhaXQgbmV3IFJlc3BvbnNlKGUucmVhZGFibGUpLmFycmF5QnVmZmVyKCk7YT1uZXcgVWludDhBcnJheShpKTtsZXQgbyxjO2lmKHIpe2lmKCFnKXtvPUFycmF5LmlzQXJyYXkocik/W05hbWUuZ2V0KCJGbGF0ZURlY29kZSIpLC4uLnJdOltOYW1lLmdldCgiRmxhdGVEZWNvZGUiKSxyXTtuJiYoYz1BcnJheS5pc0FycmF5KG4pP1tudWxsLC4uLm5dOltudWxsLG5dKX19ZWxzZSBvPU5hbWUuZ2V0KCJGbGF0ZURlY29kZSIpO28mJnMuc2V0KCJGaWx0ZXIiLG8pO2MmJnMuc2V0KCJEZWNvZGVQYXJtcyIsYyl9Y2F0Y2goZSl7aW5mbyhgd3JpdGVTdHJlYW0gLSBjYW5ub3QgY29tcHJlc3MgZGF0YTogIiR7ZX0iLmApfWxldCBvPWJ5dGVzVG9TdHJpbmcoYSk7aSYmKG89aS5lbmNyeXB0U3RyaW5nKG8pKTtzLnNldCgiTGVuZ3RoIixvLmxlbmd0aCk7YXdhaXQgd3JpdGVEaWN0KHMsdCxpKTt0LnB1c2goIiBzdHJlYW1cbiIsbywiXG5lbmRzdHJlYW0iKX1hc3luYyBmdW5jdGlvbiB3cml0ZUFycmF5KGUsdCxpKXt0LnB1c2goIlsiKTtsZXQgYT0hMDtmb3IoY29uc3QgcyBvZiBlKXthP2E9ITE6dC5wdXNoKCIgIik7YXdhaXQgd3JpdGVWYWx1ZShzLHQsaSl9dC5wdXNoKCJdIil9YXN5bmMgZnVuY3Rpb24gd3JpdGVWYWx1ZShlLHQsaSl7aWYoZSBpbnN0YW5jZW9mIE5hbWUpdC5wdXNoKGAvJHtlc2NhcGVQREZOYW1lKGUubmFtZSl9YCk7ZWxzZSBpZihlIGluc3RhbmNlb2YgUmVmKXQucHVzaChgJHtlLm51bX0gJHtlLmdlbn0gUmApO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKXx8QXJyYXlCdWZmZXIuaXNWaWV3KGUpKWF3YWl0IHdyaXRlQXJyYXkoZSx0LGkpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKXtpJiYoZT1pLmVuY3J5cHRTdHJpbmcoZSkpO3QucHVzaChgKCR7ZXNjYXBlU3RyaW5nKGUpfSlgKX1lbHNlIm51bWJlciI9PXR5cGVvZiBlP3QucHVzaChudW1iZXJUb1N0cmluZyhlKSk6ImJvb2xlYW4iPT10eXBlb2YgZT90LnB1c2goZS50b1N0cmluZygpKTplIGluc3RhbmNlb2YgRGljdD9hd2FpdCB3cml0ZURpY3QoZSx0LGkpOmUgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP2F3YWl0IHdyaXRlU3RyZWFtKGUsdCxpKTpudWxsPT09ZT90LnB1c2goIm51bGwiKTp3YXJuKGBVbmhhbmRsZWQgdmFsdWUgaW4gd3JpdGVyOiAke3R5cGVvZiBlfSwgcGxlYXNlIGZpbGUgYSBidWcuYCl9ZnVuY3Rpb24gd3JpdGVJbnQoZSx0LGksYSl7Zm9yKGxldCBzPXQraS0xO3M+aS0xO3MtLSl7YVtzXT0yNTUmZTtlPj49OH1yZXR1cm4gaSt0fWZ1bmN0aW9uIHdyaXRlU3RyaW5nKGUsdCxpKXtmb3IobGV0IGE9MCxzPWUubGVuZ3RoO2E8czthKyspaVt0K2FdPTI1NSZlLmNoYXJDb2RlQXQoYSl9ZnVuY3Rpb24gdXBkYXRlWEZBKHt4ZmFEYXRhOmUseGZhRGF0YXNldHNSZWY6dCxuZXdSZWZzOmkseHJlZjphfSl7aWYobnVsbD09PWUpe2U9ZnVuY3Rpb24gd3JpdGVYRkFEYXRhRm9yQWNyb2Zvcm0oZSx0KXtjb25zdCBpPW5ldyBTaW1wbGVYTUxQYXJzZXIoe2hhc0F0dHJpYnV0ZXM6ITB9KS5wYXJzZUZyb21TdHJpbmcoZSk7Zm9yKGNvbnN0e3hmYTplfW9mIHQpe2lmKCFlKWNvbnRpbnVlO2NvbnN0e3BhdGg6dCx2YWx1ZTphfT1lO2lmKCF0KWNvbnRpbnVlO2NvbnN0IHM9cGFyc2VYRkFQYXRoKHQpO2xldCByPWkuZG9jdW1lbnRFbGVtZW50LnNlYXJjaE5vZGUocywwKTshciYmcy5sZW5ndGg+MSYmKHI9aS5kb2N1bWVudEVsZW1lbnQuc2VhcmNoTm9kZShbcy5hdCgtMSldLDApKTtyP3IuY2hpbGROb2Rlcz1BcnJheS5pc0FycmF5KGEpP2EubWFwKChlPT5uZXcgU2ltcGxlRE9NTm9kZSgidmFsdWUiLGUpKSk6W25ldyBTaW1wbGVET01Ob2RlKCIjdGV4dCIsYSldOndhcm4oYE5vZGUgbm90IGZvdW5kIGZvciBwYXRoOiAke3R9YCl9Y29uc3QgYT1bXTtpLmRvY3VtZW50RWxlbWVudC5kdW1wKGEpO3JldHVybiBhLmpvaW4oIiIpfShhLmZldGNoSWZSZWYodCkuZ2V0U3RyaW5nKCksaSl9Y29uc3Qgcz1hLmVuY3J5cHQ7aWYocyl7ZT1zLmNyZWF0ZUNpcGhlclRyYW5zZm9ybSh0Lm51bSx0LmdlbikuZW5jcnlwdFN0cmluZyhlKX1jb25zdCByPWAke3QubnVtfSAke3QuZ2VufSBvYmpcbjw8IC9UeXBlIC9FbWJlZGRlZEZpbGUgL0xlbmd0aCAke2UubGVuZ3RofT4+XG5zdHJlYW1cbmArZSsiXG5lbmRzdHJlYW1cbmVuZG9ialxuIjtpLnB1c2goe3JlZjp0LGRhdGE6cn0pfWZ1bmN0aW9uIGdldEluZGV4ZXMoZSl7Y29uc3QgdD1bXTtmb3IoY29uc3R7cmVmOml9b2YgZSlpLm51bT09PXQuYXQoLTIpK3QuYXQoLTEpP3RbdC5sZW5ndGgtMV0rPTE6dC5wdXNoKGkubnVtLDEpO3JldHVybiB0fWZ1bmN0aW9uIGNvbXB1dGVJRHMoZSx0LGkpe2lmKEFycmF5LmlzQXJyYXkodC5maWxlSWRzKSYmdC5maWxlSWRzLmxlbmd0aD4wKXtjb25zdCBhPWZ1bmN0aW9uIGNvbXB1dGVNRDUoZSx0KXtjb25zdCBpPU1hdGguZmxvb3IoRGF0ZS5ub3coKS8xZTMpLGE9dC5maWxlbmFtZXx8IiIscz1baS50b1N0cmluZygpLGEsZS50b1N0cmluZygpXTtsZXQgcj1zLnJlZHVjZSgoKGUsdCk9PmUrdC5sZW5ndGgpLDApO2Zvcihjb25zdCBlIG9mIE9iamVjdC52YWx1ZXModC5pbmZvKSl7cy5wdXNoKGUpO3IrPWUubGVuZ3RofWNvbnN0IG49bmV3IFVpbnQ4QXJyYXkocik7bGV0IGc9MDtmb3IoY29uc3QgZSBvZiBzKXt3cml0ZVN0cmluZyhlLGcsbik7Zys9ZS5sZW5ndGh9cmV0dXJuIGJ5dGVzVG9TdHJpbmcoS3MobikpfShlLHQpO2kuc2V0KCJJRCIsW3QuZmlsZUlkc1swXSxhXSl9fWFzeW5jIGZ1bmN0aW9uIGluY3JlbWVudGFsVXBkYXRlKHtvcmlnaW5hbERhdGE6ZSx4cmVmSW5mbzp0LG5ld1JlZnM6aSx4cmVmOmE9bnVsbCxoYXNYZmE6cz0hMSx4ZmFEYXRhc2V0c1JlZjpyPW51bGwsaGFzWGZhRGF0YXNldHNFbnRyeTpuPSExLG5lZWRBcHBlYXJhbmNlczpnLGFjcm9Gb3JtUmVmOm89bnVsbCxhY3JvRm9ybTpjPW51bGwseGZhRGF0YTpDPW51bGwsdXNlWHJlZlN0cmVhbTpoPSExfSl7YXdhaXQgYXN5bmMgZnVuY3Rpb24gdXBkYXRlQWNyb2Zvcm0oe3hyZWY6ZSxhY3JvRm9ybTp0LGFjcm9Gb3JtUmVmOmksaGFzWGZhOmEsaGFzWGZhRGF0YXNldHNFbnRyeTpzLHhmYURhdGFzZXRzUmVmOnIsbmVlZEFwcGVhcmFuY2VzOm4sbmV3UmVmczpnfSl7IWF8fHN8fHJ8fHdhcm4oIlhGQSAtIENhbm5vdCBzYXZlIGl0Iik7aWYoIW4mJighYXx8IXJ8fHMpKXJldHVybjtjb25zdCBvPXQuY2xvbmUoKTtpZihhJiYhcyl7Y29uc3QgZT10LmdldCgiWEZBIikuc2xpY2UoKTtlLnNwbGljZSgyLDAsImRhdGFzZXRzIik7ZS5zcGxpY2UoMywwLHIpO28uc2V0KCJYRkEiLGUpfW4mJm8uc2V0KCJOZWVkQXBwZWFyYW5jZXMiLCEwKTtjb25zdCBjPVtdO2F3YWl0IHdyaXRlT2JqZWN0KGksbyxjLGUpO2cucHVzaCh7cmVmOmksZGF0YTpjLmpvaW4oIiIpfSl9KHt4cmVmOmEsYWNyb0Zvcm06YyxhY3JvRm9ybVJlZjpvLGhhc1hmYTpzLGhhc1hmYURhdGFzZXRzRW50cnk6bix4ZmFEYXRhc2V0c1JlZjpyLG5lZWRBcHBlYXJhbmNlczpnLG5ld1JlZnM6aX0pO3MmJnVwZGF0ZVhGQSh7eGZhRGF0YTpDLHhmYURhdGFzZXRzUmVmOnIsbmV3UmVmczppLHhyZWY6YX0pO2NvbnN0IGw9W107bGV0IFE9ZS5sZW5ndGg7Y29uc3QgRT1lLmF0KC0xKTtpZigxMCE9PUUmJjEzIT09RSl7bC5wdXNoKCJcbiIpO1ErPTF9Y29uc3QgdT1mdW5jdGlvbiBnZXRUcmFpbGVyRGljdChlLHQsaSl7Y29uc3QgYT1uZXcgRGljdChudWxsKTthLnNldCgiUHJldiIsZS5zdGFydFhSZWYpO2NvbnN0IHM9ZS5uZXdSZWY7aWYoaSl7dC5wdXNoKHtyZWY6cyxkYXRhOiIifSk7YS5zZXQoIlNpemUiLHMubnVtKzEpO2Euc2V0KCJUeXBlIixOYW1lLmdldCgiWFJlZiIpKX1lbHNlIGEuc2V0KCJTaXplIixzLm51bSk7bnVsbCE9PWUucm9vdFJlZiYmYS5zZXQoIlJvb3QiLGUucm9vdFJlZik7bnVsbCE9PWUuaW5mb1JlZiYmYS5zZXQoIkluZm8iLGUuaW5mb1JlZik7bnVsbCE9PWUuZW5jcnlwdFJlZiYmYS5zZXQoIkVuY3J5cHQiLGUuZW5jcnlwdFJlZik7cmV0dXJuIGF9KHQsaSxoKTtpPWkuc29ydCgoKGUsdCk9PmUucmVmLm51bS10LnJlZi5udW0pKTtmb3IoY29uc3R7ZGF0YTplfW9mIGkpbnVsbCE9PWUmJmwucHVzaChlKTthd2FpdChoP2FzeW5jIGZ1bmN0aW9uIGdldFhSZWZTdHJlYW1UYWJsZShlLHQsaSxhLHMpe2NvbnN0IHI9W107bGV0IG49MCxnPTA7Zm9yKGNvbnN0e3JlZjplLGRhdGE6YX1vZiBpKXtsZXQgaTtuPU1hdGgubWF4KG4sdCk7aWYobnVsbCE9PWEpe2k9TWF0aC5taW4oZS5nZW4sNjU1MzUpO3IucHVzaChbMSx0LGldKTt0Kz1hLmxlbmd0aH1lbHNle2k9TWF0aC5taW4oZS5nZW4rMSw2NTUzNSk7ci5wdXNoKFswLDAsaV0pfWc9TWF0aC5tYXgoZyxpKX1hLnNldCgiSW5kZXgiLGdldEluZGV4ZXMoaSkpO2NvbnN0IG89WzEsZ2V0U2l6ZUluQnl0ZXMobiksZ2V0U2l6ZUluQnl0ZXMoZyldO2Euc2V0KCJXIixvKTtjb21wdXRlSURzKHQsZSxhKTtjb25zdCBjPW8ucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKSxDPW5ldyBVaW50OEFycmF5KGMqci5sZW5ndGgpLGg9bmV3IFN0cmVhbShDKTtoLmRpY3Q9YTtsZXQgbD0wO2Zvcihjb25zdFtlLHQsaV1vZiByKXtsPXdyaXRlSW50KGUsb1swXSxsLEMpO2w9d3JpdGVJbnQodCxvWzFdLGwsQyk7bD13cml0ZUludChpLG9bMl0sbCxDKX1hd2FpdCB3cml0ZU9iamVjdChlLm5ld1JlZixoLHMse30pO3MucHVzaCgic3RhcnR4cmVmXG4iLHQudG9TdHJpbmcoKSwiXG4lJUVPRlxuIil9KHQsUSxpLHUsbCk6YXN5bmMgZnVuY3Rpb24gZ2V0WFJlZlRhYmxlKGUsdCxpLGEscyl7cy5wdXNoKCJ4cmVmXG4iKTtjb25zdCByPWdldEluZGV4ZXMoaSk7bGV0IG49MDtmb3IoY29uc3R7cmVmOmUsZGF0YTphfW9mIGkpe2lmKGUubnVtPT09cltuXSl7cy5wdXNoKGAke3Jbbl19ICR7cltuKzFdfVxuYCk7bis9Mn1pZihudWxsIT09YSl7cy5wdXNoKGAke3QudG9TdHJpbmcoKS5wYWRTdGFydCgxMCwiMCIpfSAke01hdGgubWluKGUuZ2VuLDY1NTM1KS50b1N0cmluZygpLnBhZFN0YXJ0KDUsIjAiKX0gblxyXG5gKTt0Kz1hLmxlbmd0aH1lbHNlIHMucHVzaChgMDAwMDAwMDAwMCAke01hdGgubWluKGUuZ2VuKzEsNjU1MzUpLnRvU3RyaW5nKCkucGFkU3RhcnQoNSwiMCIpfSBmXHJcbmApfWNvbXB1dGVJRHModCxlLGEpO3MucHVzaCgidHJhaWxlclxuIik7YXdhaXQgd3JpdGVEaWN0KGEscyk7cy5wdXNoKCJcbnN0YXJ0eHJlZlxuIix0LnRvU3RyaW5nKCksIlxuJSVFT0ZcbiIpfSh0LFEsaSx1LGwpKTtjb25zdCBkPWwucmVkdWNlKCgoZSx0KT0+ZSt0Lmxlbmd0aCksZS5sZW5ndGgpLGY9bmV3IFVpbnQ4QXJyYXkoZCk7Zi5zZXQoZSk7bGV0IHA9ZS5sZW5ndGg7Zm9yKGNvbnN0IGUgb2YgbCl7d3JpdGVTdHJpbmcoZSxwLGYpO3ArPWUubGVuZ3RofXJldHVybiBmfWNvbnN0IE9zPTEsV3M9Mixqcz0zLFhzPTQsWnM9NTtjbGFzcyBTdHJ1Y3RUcmVlUm9vdHtjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZGljdD1lO3RoaXMucmVmPXQgaW5zdGFuY2VvZiBSZWY/dDpudWxsO3RoaXMucm9sZU1hcD1uZXcgTWFwO3RoaXMuc3RydWN0UGFyZW50SWRzPW51bGx9aW5pdCgpe3RoaXMucmVhZFJvbGVNYXAoKX0jTShlLHQsaSl7aWYoIShlIGluc3RhbmNlb2YgUmVmKXx8dDwwKXJldHVybjt0aGlzLnN0cnVjdFBhcmVudElkc3x8PW5ldyBSZWZTZXRDYWNoZTtsZXQgYT10aGlzLnN0cnVjdFBhcmVudElkcy5nZXQoZSk7aWYoIWEpe2E9W107dGhpcy5zdHJ1Y3RQYXJlbnRJZHMucHV0KGUsYSl9YS5wdXNoKFt0LGldKX1hZGRBbm5vdGF0aW9uSWRUb1BhZ2UoZSx0KXt0aGlzLiNNKGUsdCxYcyl9cmVhZFJvbGVNYXAoKXtjb25zdCBlPXRoaXMuZGljdC5nZXQoIlJvbGVNYXAiKTtlIGluc3RhbmNlb2YgRGljdCYmZS5mb3JFYWNoKCgoZSx0KT0+e3QgaW5zdGFuY2VvZiBOYW1lJiZ0aGlzLnJvbGVNYXAuc2V0KGUsdC5uYW1lKX0pKX1zdGF0aWMgYXN5bmMgY2FuQ3JlYXRlU3RydWN0dXJlVHJlZSh7Y2F0YWxvZ1JlZjplLHBkZk1hbmFnZXI6dCxuZXdBbm5vdGF0aW9uc0J5UGFnZTppfSl7aWYoIShlIGluc3RhbmNlb2YgUmVmKSl7d2FybigiQ2Fubm90IHNhdmUgdGhlIHN0cnVjdCB0cmVlOiBubyBjYXRhbG9nIHJlZmVyZW5jZS4iKTtyZXR1cm4hMX1sZXQgYT0wLHM9ITA7Zm9yKGNvbnN0W2Uscl1vZiBpKXtjb25zdHtyZWY6aX09YXdhaXQgdC5nZXRQYWdlKGUpO2lmKCEoaSBpbnN0YW5jZW9mIFJlZikpe3dhcm4oYENhbm5vdCBzYXZlIHRoZSBzdHJ1Y3QgdHJlZTogcGFnZSAke2V9IGhhcyBubyByZWYuYCk7cz0hMDticmVha31mb3IoY29uc3QgZSBvZiByKWlmKGUuYWNjZXNzaWJpbGl0eURhdGE/LnR5cGUpe2UucGFyZW50VHJlZUlkPWErKztzPSExfX1pZihzKXtmb3IoY29uc3QgZSBvZiBpLnZhbHVlcygpKWZvcihjb25zdCB0IG9mIGUpZGVsZXRlIHQucGFyZW50VHJlZUlkO3JldHVybiExfXJldHVybiEwfXN0YXRpYyBhc3luYyBjcmVhdGVTdHJ1Y3R1cmVUcmVlKHtuZXdBbm5vdGF0aW9uc0J5UGFnZTplLHhyZWY6dCxjYXRhbG9nUmVmOmkscGRmTWFuYWdlcjphLG5ld1JlZnM6c30pe2NvbnN0IHI9YS5jYXRhbG9nLmNsb25lRGljdCgpLG49bmV3IFJlZlNldENhY2hlO24ucHV0KGkscik7Y29uc3QgZz10LmdldE5ld1RlbXBvcmFyeVJlZigpO3Iuc2V0KCJTdHJ1Y3RUcmVlUm9vdCIsZyk7Y29uc3Qgbz1uZXcgRGljdCh0KTtvLnNldCgiVHlwZSIsTmFtZS5nZXQoIlN0cnVjdFRyZWVSb290IikpO2NvbnN0IGM9dC5nZXROZXdUZW1wb3JhcnlSZWYoKTtvLnNldCgiUGFyZW50VHJlZSIsYyk7Y29uc3QgQz1bXTtvLnNldCgiSyIsQyk7bi5wdXQoZyxvKTtjb25zdCBoPW5ldyBEaWN0KHQpLGw9W107aC5zZXQoIk51bXMiLGwpO2NvbnN0IFE9YXdhaXQgdGhpcy4jTCh7bmV3QW5ub3RhdGlvbnNCeVBhZ2U6ZSxzdHJ1Y3RUcmVlUm9vdFJlZjpnLHN0cnVjdFRyZWVSb290Om51bGwsa2lkczpDLG51bXM6bCx4cmVmOnQscGRmTWFuYWdlcjphLG5ld1JlZnM6cyxjYWNoZTpufSk7by5zZXQoIlBhcmVudFRyZWVOZXh0S2V5IixRKTtuLnB1dChjLGgpO2NvbnN0IEU9W107Zm9yKGNvbnN0W2UsaV1vZiBuLml0ZW1zKCkpe0UubGVuZ3RoPTA7YXdhaXQgd3JpdGVPYmplY3QoZSxpLEUsdCk7cy5wdXNoKHtyZWY6ZSxkYXRhOkUuam9pbigiIil9KX19YXN5bmMgY2FuVXBkYXRlU3RydWN0VHJlZSh7cGRmTWFuYWdlcjplLHhyZWY6dCxuZXdBbm5vdGF0aW9uc0J5UGFnZTppfSl7aWYoIXRoaXMucmVmKXt3YXJuKCJDYW5ub3QgdXBkYXRlIHRoZSBzdHJ1Y3QgdHJlZTogbm8gcm9vdCByZWZlcmVuY2UuIik7cmV0dXJuITF9bGV0IGE9dGhpcy5kaWN0LmdldCgiUGFyZW50VHJlZU5leHRLZXkiKTtpZighTnVtYmVyLmlzSW50ZWdlcihhKXx8YTwwKXt3YXJuKCJDYW5ub3QgdXBkYXRlIHRoZSBzdHJ1Y3QgdHJlZTogaW52YWxpZCBuZXh0IGtleS4iKTtyZXR1cm4hMX1jb25zdCBzPXRoaXMuZGljdC5nZXQoIlBhcmVudFRyZWUiKTtpZighKHMgaW5zdGFuY2VvZiBEaWN0KSl7d2FybigiQ2Fubm90IHVwZGF0ZSB0aGUgc3RydWN0IHRyZWU6IFBhcmVudFRyZWUgaXNuJ3QgYSBkaWN0LiIpO3JldHVybiExfWNvbnN0IHI9cy5nZXQoIk51bXMiKTtpZighQXJyYXkuaXNBcnJheShyKSl7d2FybigiQ2Fubm90IHVwZGF0ZSB0aGUgc3RydWN0IHRyZWU6IG51bXMgaXNuJ3QgYW4gYXJyYXkuIik7cmV0dXJuITF9Y29uc3Qgbj1uZXcgTnVtYmVyVHJlZShzLHQpO2Zvcihjb25zdCB0IG9mIGkua2V5cygpKXtjb25zdHtwYWdlRGljdDppfT1hd2FpdCBlLmdldFBhZ2UodCk7aWYoIWkuaGFzKCJTdHJ1Y3RQYXJlbnRzIikpY29udGludWU7Y29uc3QgYT1pLmdldCgiU3RydWN0UGFyZW50cyIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGEpfHwhQXJyYXkuaXNBcnJheShuLmdldChhKSkpe3dhcm4oYENhbm5vdCBzYXZlIHRoZSBzdHJ1Y3QgdHJlZTogcGFnZSAke3R9IGhhcyBhIHdyb25nIGlkLmApO3JldHVybiExfX1sZXQgZz0hMDtmb3IoY29uc3RbdCxzXW9mIGkpe2NvbnN0e3BhZ2VEaWN0Oml9PWF3YWl0IGUuZ2V0UGFnZSh0KTtTdHJ1Y3RUcmVlUm9vdC4jSCh7ZWxlbWVudHM6cyx4cmVmOnRoaXMuZGljdC54cmVmLHBhZ2VEaWN0OmksbnVtYmVyVHJlZTpufSk7Zm9yKGNvbnN0IGUgb2YgcylpZihlLmFjY2Vzc2liaWxpdHlEYXRhPy50eXBlKXtlLmFjY2Vzc2liaWxpdHlEYXRhLnN0cnVjdFBhcmVudD49MHx8KGUucGFyZW50VHJlZUlkPWErKyk7Zz0hMX19aWYoZyl7Zm9yKGNvbnN0IGUgb2YgaS52YWx1ZXMoKSlmb3IoY29uc3QgdCBvZiBlKXtkZWxldGUgdC5wYXJlbnRUcmVlSWQ7ZGVsZXRlIHQuc3RydWN0VHJlZVBhcmVudH1yZXR1cm4hMX1yZXR1cm4hMH1hc3luYyB1cGRhdGVTdHJ1Y3R1cmVUcmVlKHtuZXdBbm5vdGF0aW9uc0J5UGFnZTplLHBkZk1hbmFnZXI6dCxuZXdSZWZzOml9KXtjb25zdCBhPXRoaXMuZGljdC54cmVmLHM9dGhpcy5kaWN0LmNsb25lKCkscj10aGlzLnJlZixuPW5ldyBSZWZTZXRDYWNoZTtuLnB1dChyLHMpO2xldCBnLG89cy5nZXRSYXcoIlBhcmVudFRyZWUiKTtpZihvIGluc3RhbmNlb2YgUmVmKWc9YS5mZXRjaChvKTtlbHNle2c9bztvPWEuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7cy5zZXQoIlBhcmVudFRyZWUiLG8pfWc9Zy5jbG9uZSgpO24ucHV0KG8sZyk7bGV0IGM9Zy5nZXRSYXcoIk51bXMiKSxDPW51bGw7aWYoYyBpbnN0YW5jZW9mIFJlZil7Qz1jO2M9YS5mZXRjaChDKX1jPWMuc2xpY2UoKTtDfHxnLnNldCgiTnVtcyIsYyk7Y29uc3QgaD1hd2FpdCBTdHJ1Y3RUcmVlUm9vdC4jTCh7bmV3QW5ub3RhdGlvbnNCeVBhZ2U6ZSxzdHJ1Y3RUcmVlUm9vdFJlZjpyLHN0cnVjdFRyZWVSb290OnRoaXMsa2lkczpudWxsLG51bXM6Yyx4cmVmOmEscGRmTWFuYWdlcjp0LG5ld1JlZnM6aSxjYWNoZTpufSk7aWYoLTE9PT1oKXJldHVybjtzLnNldCgiUGFyZW50VHJlZU5leHRLZXkiLGgpO0MmJm4ucHV0KEMsYyk7Y29uc3QgbD1bXTtmb3IoY29uc3RbZSx0XW9mIG4uaXRlbXMoKSl7bC5sZW5ndGg9MDthd2FpdCB3cml0ZU9iamVjdChlLHQsbCxhKTtpLnB1c2goe3JlZjplLGRhdGE6bC5qb2luKCIiKX0pfX1zdGF0aWMgYXN5bmMjTCh7bmV3QW5ub3RhdGlvbnNCeVBhZ2U6ZSxzdHJ1Y3RUcmVlUm9vdFJlZjp0LHN0cnVjdFRyZWVSb290Omksa2lkczphLG51bXM6cyx4cmVmOnIscGRmTWFuYWdlcjpuLG5ld1JlZnM6ZyxjYWNoZTpvfSl7Y29uc3QgYz1OYW1lLmdldCgiT0JKUiIpO2xldCBDLGg9LTE7Y29uc3QgbD1bXTtmb3IoY29uc3RbUSxFXW9mIGUpe2NvbnN0IGU9YXdhaXQgbi5nZXRQYWdlKFEpLHtyZWY6dX09ZSxkPXUgaW5zdGFuY2VvZiBSZWY7Zm9yKGNvbnN0e2FjY2Vzc2liaWxpdHlEYXRhOm4scmVmOmYscGFyZW50VHJlZUlkOnAsc3RydWN0VHJlZVBhcmVudDptfW9mIEUpe2lmKCFuPy50eXBlKWNvbnRpbnVlO2NvbnN0e3N0cnVjdFBhcmVudDpFfT1uO2lmKGkmJk51bWJlci5pc0ludGVnZXIoRSkmJkU+PTApe2xldCB0PShDfHw9bmV3IE1hcCkuZ2V0KFEpO2lmKHZvaWQgMD09PXQpe3Q9bmV3IFN0cnVjdFRyZWVQYWdlKGksZS5wYWdlRGljdCkuY29sbGVjdE9iamVjdHModSk7Qy5zZXQoUSx0KX1jb25zdCBhPXQ/LmdldChFKTtpZihhKXtjb25zdCBlPXIuZmV0Y2goYSkuY2xvbmUoKTtTdHJ1Y3RUcmVlUm9vdC4jSihlLG4pO2wubGVuZ3RoPTA7YXdhaXQgd3JpdGVPYmplY3QoYSxlLGwscik7Zy5wdXNoKHtyZWY6YSxkYXRhOmwuam9pbigiIil9KTtjb250aW51ZX19aD1NYXRoLm1heChoLHApO2NvbnN0IHk9ci5nZXROZXdUZW1wb3JhcnlSZWYoKSx3PW5ldyBEaWN0KHIpO1N0cnVjdFRyZWVSb290LiNKKHcsbik7YXdhaXQgdGhpcy4jWSh7c3RydWN0VHJlZVBhcmVudDptLHRhZ0RpY3Q6dyxuZXdUYWdSZWY6eSxzdHJ1Y3RUcmVlUm9vdFJlZjp0LGZhbGxiYWNrS2lkczphLHhyZWY6cixjYWNoZTpvfSk7Y29uc3QgRD1uZXcgRGljdChyKTt3LnNldCgiSyIsRCk7RC5zZXQoIlR5cGUiLGMpO2QmJkQuc2V0KCJQZyIsdSk7RC5zZXQoIk9iaiIsZik7by5wdXQoeSx3KTtzLnB1c2gocCx5KX19cmV0dXJuIGgrMX1zdGF0aWMjSihlLHt0eXBlOnQsdGl0bGU6aSxsYW5nOmEsYWx0OnMsZXhwYW5kZWQ6cixhY3R1YWxUZXh0Om59KXtlLnNldCgiUyIsTmFtZS5nZXQodCkpO2kmJmUuc2V0KCJUIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKGkpKTthJiZlLnNldCgiTGFuZyIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShhKSk7cyYmZS5zZXQoIkFsdCIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShzKSk7ciYmZS5zZXQoIkUiLHN0cmluZ1RvQXNjaWlPclVURjE2QkUocikpO24mJmUuc2V0KCJBY3R1YWxUZXh0IixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKG4pKX1zdGF0aWMjSCh7ZWxlbWVudHM6ZSx4cmVmOnQscGFnZURpY3Q6aSxudW1iZXJUcmVlOmF9KXtjb25zdCBzPW5ldyBNYXA7Zm9yKGNvbnN0IHQgb2YgZSlpZih0LnN0cnVjdFRyZWVQYXJlbnRJZCl7Y29uc3QgZT1wYXJzZUludCh0LnN0cnVjdFRyZWVQYXJlbnRJZC5zcGxpdCgiX21jIilbMV0sMTApO2xldCBpPXMuZ2V0KGUpO2lmKCFpKXtpPVtdO3Muc2V0KGUsaSl9aS5wdXNoKHQpfWNvbnN0IHI9aS5nZXQoIlN0cnVjdFBhcmVudHMiKTtpZighTnVtYmVyLmlzSW50ZWdlcihyKSlyZXR1cm47Y29uc3Qgbj1hLmdldChyKSx1cGRhdGVFbGVtZW50PShlLGksYSk9Pntjb25zdCByPXMuZ2V0KGUpO2lmKHIpe2NvbnN0IGU9aS5nZXRSYXcoIlAiKSxzPXQuZmV0Y2hJZlJlZihlKTtpZihlIGluc3RhbmNlb2YgUmVmJiZzIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT17cmVmOmEsZGljdDppfTtmb3IoY29uc3QgdCBvZiByKXQuc3RydWN0VHJlZVBhcmVudD1lfXJldHVybiEwfXJldHVybiExfTtmb3IoY29uc3QgZSBvZiBuKXtpZighKGUgaW5zdGFuY2VvZiBSZWYpKWNvbnRpbnVlO2NvbnN0IGk9dC5mZXRjaChlKSxhPWkuZ2V0KCJLIik7aWYoTnVtYmVyLmlzSW50ZWdlcihhKSl1cGRhdGVFbGVtZW50KGEsaSxlKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoYSkpZm9yKGxldCBzIG9mIGEpe3M9dC5mZXRjaElmUmVmKHMpO2lmKE51bWJlci5pc0ludGVnZXIocykmJnVwZGF0ZUVsZW1lbnQocyxpLGUpKWJyZWFrO2lmKCEocyBpbnN0YW5jZW9mIERpY3QpKWNvbnRpbnVlO2lmKCFpc05hbWUocy5nZXQoIlR5cGUiKSwiTUNSIikpYnJlYWs7Y29uc3QgYT1zLmdldCgiTUNJRCIpO2lmKE51bWJlci5pc0ludGVnZXIoYSkmJnVwZGF0ZUVsZW1lbnQoYSxpLGUpKWJyZWFrfX19c3RhdGljIGFzeW5jI1koe3N0cnVjdFRyZWVQYXJlbnQ6ZSx0YWdEaWN0OnQsbmV3VGFnUmVmOmksc3RydWN0VHJlZVJvb3RSZWY6YSxmYWxsYmFja0tpZHM6cyx4cmVmOnIsY2FjaGU6bn0pe2xldCBnLG89bnVsbDtpZihlKXsoe3JlZjpvfT1lKTtnPWUuZGljdC5nZXRSYXcoIlAiKXx8YX1lbHNlIGc9YTt0LnNldCgiUCIsZyk7Y29uc3QgYz1yLmZldGNoSWZSZWYoZyk7aWYoIWMpe3MucHVzaChpKTtyZXR1cm59bGV0IEM9bi5nZXQoZyk7aWYoIUMpe0M9Yy5jbG9uZSgpO24ucHV0KGcsQyl9Y29uc3QgaD1DLmdldFJhdygiSyIpO2xldCBsPWggaW5zdGFuY2VvZiBSZWY/bi5nZXQoaCk6bnVsbDtpZighbCl7bD1yLmZldGNoSWZSZWYoaCk7bD1BcnJheS5pc0FycmF5KGwpP2wuc2xpY2UoKTpbaF07Y29uc3QgZT1yLmdldE5ld1RlbXBvcmFyeVJlZigpO0Muc2V0KCJLIixlKTtuLnB1dChlLGwpfWNvbnN0IFE9bC5pbmRleE9mKG8pO2wuc3BsaWNlKFE+PTA/USsxOmwubGVuZ3RoLDAsaSl9fWNsYXNzIFN0cnVjdEVsZW1lbnROb2Rle2NvbnN0cnVjdG9yKGUsdCl7dGhpcy50cmVlPWU7dGhpcy5kaWN0PXQ7dGhpcy5raWRzPVtdO3RoaXMucGFyc2VLaWRzKCl9Z2V0IHJvbGUoKXtjb25zdCBlPXRoaXMuZGljdC5nZXQoIlMiKSx0PWUgaW5zdGFuY2VvZiBOYW1lP2UubmFtZToiIix7cm9vdDppfT10aGlzLnRyZWU7cmV0dXJuIGkucm9sZU1hcC5oYXModCk/aS5yb2xlTWFwLmdldCh0KTp0fXBhcnNlS2lkcygpe2xldCBlPW51bGw7Y29uc3QgdD10aGlzLmRpY3QuZ2V0UmF3KCJQZyIpO3QgaW5zdGFuY2VvZiBSZWYmJihlPXQudG9TdHJpbmcoKSk7Y29uc3QgaT10aGlzLmRpY3QuZ2V0KCJLIik7aWYoQXJyYXkuaXNBcnJheShpKSlmb3IoY29uc3QgdCBvZiBpKXtjb25zdCBpPXRoaXMucGFyc2VLaWQoZSx0KTtpJiZ0aGlzLmtpZHMucHVzaChpKX1lbHNle2NvbnN0IHQ9dGhpcy5wYXJzZUtpZChlLGkpO3QmJnRoaXMua2lkcy5wdXNoKHQpfX1wYXJzZUtpZChlLHQpe2lmKE51bWJlci5pc0ludGVnZXIodCkpcmV0dXJuIHRoaXMudHJlZS5wYWdlRGljdC5vYmpJZCE9PWU/bnVsbDpuZXcgU3RydWN0RWxlbWVudCh7dHlwZTpPcyxtY2lkOnQscGFnZU9iaklkOmV9KTtsZXQgaT1udWxsO3QgaW5zdGFuY2VvZiBSZWY/aT10aGlzLmRpY3QueHJlZi5mZXRjaCh0KTp0IGluc3RhbmNlb2YgRGljdCYmKGk9dCk7aWYoIWkpcmV0dXJuIG51bGw7Y29uc3QgYT1pLmdldFJhdygiUGciKTthIGluc3RhbmNlb2YgUmVmJiYoZT1hLnRvU3RyaW5nKCkpO2NvbnN0IHM9aS5nZXQoIlR5cGUiKWluc3RhbmNlb2YgTmFtZT9pLmdldCgiVHlwZSIpLm5hbWU6bnVsbDtpZigiTUNSIj09PXMpe2lmKHRoaXMudHJlZS5wYWdlRGljdC5vYmpJZCE9PWUpcmV0dXJuIG51bGw7Y29uc3QgdD1pLmdldFJhdygiU3RtIik7cmV0dXJuIG5ldyBTdHJ1Y3RFbGVtZW50KHt0eXBlOldzLHJlZk9iaklkOnQgaW5zdGFuY2VvZiBSZWY/dC50b1N0cmluZygpOm51bGwscGFnZU9iaklkOmUsbWNpZDppLmdldCgiTUNJRCIpfSl9aWYoIk9CSlIiPT09cyl7aWYodGhpcy50cmVlLnBhZ2VEaWN0Lm9iaklkIT09ZSlyZXR1cm4gbnVsbDtjb25zdCB0PWkuZ2V0UmF3KCJPYmoiKTtyZXR1cm4gbmV3IFN0cnVjdEVsZW1lbnQoe3R5cGU6anMscmVmT2JqSWQ6dCBpbnN0YW5jZW9mIFJlZj90LnRvU3RyaW5nKCk6bnVsbCxwYWdlT2JqSWQ6ZX0pfXJldHVybiBuZXcgU3RydWN0RWxlbWVudCh7dHlwZTpacyxkaWN0Oml9KX19Y2xhc3MgU3RydWN0RWxlbWVudHtjb25zdHJ1Y3Rvcih7dHlwZTplLGRpY3Q6dD1udWxsLG1jaWQ6aT1udWxsLHBhZ2VPYmpJZDphPW51bGwscmVmT2JqSWQ6cz1udWxsfSl7dGhpcy50eXBlPWU7dGhpcy5kaWN0PXQ7dGhpcy5tY2lkPWk7dGhpcy5wYWdlT2JqSWQ9YTt0aGlzLnJlZk9iaklkPXM7dGhpcy5wYXJlbnROb2RlPW51bGx9fWNsYXNzIFN0cnVjdFRyZWVQYWdle2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5yb290PWU7dGhpcy5yb290RGljdD1lP2UuZGljdDpudWxsO3RoaXMucGFnZURpY3Q9dDt0aGlzLm5vZGVzPVtdfWNvbGxlY3RPYmplY3RzKGUpe2lmKCEodGhpcy5yb290JiZ0aGlzLnJvb3REaWN0JiZlIGluc3RhbmNlb2YgUmVmKSlyZXR1cm4gbnVsbDtjb25zdCB0PXRoaXMucm9vdERpY3QuZ2V0KCJQYXJlbnRUcmVlIik7aWYoIXQpcmV0dXJuIG51bGw7Y29uc3QgaT10aGlzLnJvb3Quc3RydWN0UGFyZW50SWRzPy5nZXQoZSk7aWYoIWkpcmV0dXJuIG51bGw7Y29uc3QgYT1uZXcgTWFwLHM9bmV3IE51bWJlclRyZWUodCx0aGlzLnJvb3REaWN0LnhyZWYpO2Zvcihjb25zdFtlXW9mIGkpe2NvbnN0IHQ9cy5nZXRSYXcoZSk7dCBpbnN0YW5jZW9mIFJlZiYmYS5zZXQoZSx0KX1yZXR1cm4gYX1wYXJzZShlKXtpZighKHRoaXMucm9vdCYmdGhpcy5yb290RGljdCYmZSBpbnN0YW5jZW9mIFJlZikpcmV0dXJuO2NvbnN0IHQ9dGhpcy5yb290RGljdC5nZXQoIlBhcmVudFRyZWUiKTtpZighdClyZXR1cm47Y29uc3QgaT10aGlzLnBhZ2VEaWN0LmdldCgiU3RydWN0UGFyZW50cyIpLGE9dGhpcy5yb290LnN0cnVjdFBhcmVudElkcz8uZ2V0KGUpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGkpJiYhYSlyZXR1cm47Y29uc3Qgcz1uZXcgTWFwLHI9bmV3IE51bWJlclRyZWUodCx0aGlzLnJvb3REaWN0LnhyZWYpO2lmKE51bWJlci5pc0ludGVnZXIoaSkpe2NvbnN0IGU9ci5nZXQoaSk7aWYoQXJyYXkuaXNBcnJheShlKSlmb3IoY29uc3QgdCBvZiBlKXQgaW5zdGFuY2VvZiBSZWYmJnRoaXMuYWRkTm9kZSh0aGlzLnJvb3REaWN0LnhyZWYuZmV0Y2godCkscyl9aWYoYSlmb3IoY29uc3RbZSx0XW9mIGEpe2NvbnN0IGk9ci5nZXQoZSk7aWYoaSl7Y29uc3QgZT10aGlzLmFkZE5vZGUodGhpcy5yb290RGljdC54cmVmLmZldGNoSWZSZWYoaSkscyk7MT09PWU/LmtpZHM/Lmxlbmd0aCYmZS5raWRzWzBdLnR5cGU9PT1qcyYmKGUua2lkc1swXS50eXBlPXQpfX19YWRkTm9kZShlLHQsaT0wKXtpZihpPjQwKXt3YXJuKCJTdHJ1Y3RUcmVlIE1BWF9ERVBUSCByZWFjaGVkLiIpO3JldHVybiBudWxsfWlmKCEoZSBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBudWxsO2lmKHQuaGFzKGUpKXJldHVybiB0LmdldChlKTtjb25zdCBhPW5ldyBTdHJ1Y3RFbGVtZW50Tm9kZSh0aGlzLGUpO3Quc2V0KGUsYSk7Y29uc3Qgcz1lLmdldCgiUCIpO2lmKCFzfHxpc05hbWUocy5nZXQoIlR5cGUiKSwiU3RydWN0VHJlZVJvb3QiKSl7dGhpcy5hZGRUb3BMZXZlbE5vZGUoZSxhKXx8dC5kZWxldGUoZSk7cmV0dXJuIGF9Y29uc3Qgcj10aGlzLmFkZE5vZGUocyx0LGkrMSk7aWYoIXIpcmV0dXJuIGE7bGV0IG49ITE7Zm9yKGNvbnN0IHQgb2Ygci5raWRzKWlmKHQudHlwZT09PVpzJiZ0LmRpY3Q9PT1lKXt0LnBhcmVudE5vZGU9YTtuPSEwfW58fHQuZGVsZXRlKGUpO3JldHVybiBhfWFkZFRvcExldmVsTm9kZShlLHQpe2NvbnN0IGk9dGhpcy5yb290RGljdC5nZXQoIksiKTtpZighaSlyZXR1cm4hMTtpZihpIGluc3RhbmNlb2YgRGljdCl7aWYoaS5vYmpJZCE9PWUub2JqSWQpcmV0dXJuITE7dGhpcy5ub2Rlc1swXT10O3JldHVybiEwfWlmKCFBcnJheS5pc0FycmF5KGkpKXJldHVybiEwO2xldCBhPSExO2ZvcihsZXQgcz0wO3M8aS5sZW5ndGg7cysrKXtjb25zdCByPWlbc107aWYocj8udG9TdHJpbmcoKT09PWUub2JqSWQpe3RoaXMubm9kZXNbc109dDthPSEwfX1yZXR1cm4gYX1nZXQgc2VyaWFsaXphYmxlKCl7ZnVuY3Rpb24gbm9kZVRvU2VyaWFsaXphYmxlKGUsdCxpPTApe2lmKGk+NDApe3dhcm4oIlN0cnVjdFRyZWUgdG9vIGRlZXAgdG8gYmUgZnVsbHkgc2VyaWFsaXplZC4iKTtyZXR1cm59Y29uc3QgYT1PYmplY3QuY3JlYXRlKG51bGwpO2Eucm9sZT1lLnJvbGU7YS5jaGlsZHJlbj1bXTt0LmNoaWxkcmVuLnB1c2goYSk7bGV0IHM9ZS5kaWN0LmdldCgiQWx0Iik7InN0cmluZyIhPXR5cGVvZiBzJiYocz1lLmRpY3QuZ2V0KCJBY3R1YWxUZXh0IikpOyJzdHJpbmciPT10eXBlb2YgcyYmKGEuYWx0PXN0cmluZ1RvUERGU3RyaW5nKHMpKTtjb25zdCByPWUuZGljdC5nZXQoIkEiKTtpZihyIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1sb29rdXBOb3JtYWxSZWN0KHIuZ2V0QXJyYXkoIkJCb3giKSxudWxsKTtpZihlKWEuYmJveD1lO2Vsc2V7Y29uc3QgZT1yLmdldCgiV2lkdGgiKSx0PXIuZ2V0KCJIZWlnaHQiKTsibnVtYmVyIj09dHlwZW9mIGUmJmU+MCYmIm51bWJlciI9PXR5cGVvZiB0JiZ0PjAmJihhLmJib3g9WzAsMCxlLHRdKX19Y29uc3Qgbj1lLmRpY3QuZ2V0KCJMYW5nIik7InN0cmluZyI9PXR5cGVvZiBuJiYoYS5sYW5nPXN0cmluZ1RvUERGU3RyaW5nKG4pKTtmb3IoY29uc3QgdCBvZiBlLmtpZHMpe2NvbnN0IGU9dC50eXBlPT09WnM/dC5wYXJlbnROb2RlOm51bGw7ZT9ub2RlVG9TZXJpYWxpemFibGUoZSxhLGkrMSk6dC50eXBlPT09T3N8fHQudHlwZT09PVdzP2EuY2hpbGRyZW4ucHVzaCh7dHlwZToiY29udGVudCIsaWQ6YHAke3QucGFnZU9iaklkfV9tYyR7dC5tY2lkfWB9KTp0LnR5cGU9PT1qcz9hLmNoaWxkcmVuLnB1c2goe3R5cGU6Im9iamVjdCIsaWQ6dC5yZWZPYmpJZH0pOnQudHlwZT09PVhzJiZhLmNoaWxkcmVuLnB1c2goe3R5cGU6ImFubm90YXRpb24iLGlkOmBwZGZqc19pbnRlcm5hbF9pZF8ke3QucmVmT2JqSWR9YH0pfX1jb25zdCBlPU9iamVjdC5jcmVhdGUobnVsbCk7ZS5jaGlsZHJlbj1bXTtlLnJvbGU9IlJvb3QiO2Zvcihjb25zdCB0IG9mIHRoaXMubm9kZXMpdCYmbm9kZVRvU2VyaWFsaXphYmxlKHQsZSk7cmV0dXJuIGV9fWZ1bmN0aW9uIGlzVmFsaWRFeHBsaWNpdERlc3QoZSl7aWYoIUFycmF5LmlzQXJyYXkoZSl8fGUubGVuZ3RoPDIpcmV0dXJuITE7Y29uc3RbdCxpLC4uLmFdPWU7aWYoISh0IGluc3RhbmNlb2YgUmVmfHxOdW1iZXIuaXNJbnRlZ2VyKHQpKSlyZXR1cm4hMTtpZighKGkgaW5zdGFuY2VvZiBOYW1lKSlyZXR1cm4hMTtjb25zdCBzPWEubGVuZ3RoO2xldCByPSEwO3N3aXRjaChpLm5hbWUpe2Nhc2UiWFlaIjppZihzPDJ8fHM+MylyZXR1cm4hMTticmVhaztjYXNlIkZpdCI6Y2FzZSJGaXRCIjpyZXR1cm4gMD09PXM7Y2FzZSJGaXRIIjpjYXNlIkZpdEJIIjpjYXNlIkZpdFYiOmNhc2UiRml0QlYiOmlmKHM+MSlyZXR1cm4hMTticmVhaztjYXNlIkZpdFIiOmlmKDQhPT1zKXJldHVybiExO3I9ITE7YnJlYWs7ZGVmYXVsdDpyZXR1cm4hMX1mb3IoY29uc3QgZSBvZiBhKWlmKCEoIm51bWJlciI9PXR5cGVvZiBlfHxyJiZudWxsPT09ZSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gZmV0Y2hEZXN0KGUpe2UgaW5zdGFuY2VvZiBEaWN0JiYoZT1lLmdldCgiRCIpKTtyZXR1cm4gaXNWYWxpZEV4cGxpY2l0RGVzdChlKT9lOm51bGx9ZnVuY3Rpb24gZmV0Y2hSZW1vdGVEZXN0KGUpe2xldCB0PWUuZ2V0KCJEIik7aWYodCl7dCBpbnN0YW5jZW9mIE5hbWUmJih0PXQubmFtZSk7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiBzdHJpbmdUb1BERlN0cmluZyh0KTtpZihpc1ZhbGlkRXhwbGljaXREZXN0KHQpKXJldHVybiBKU09OLnN0cmluZ2lmeSh0KX1yZXR1cm4gbnVsbH1jbGFzcyBDYXRhbG9ne2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5wZGZNYW5hZ2VyPWU7dGhpcy54cmVmPXQ7dGhpcy5fY2F0RGljdD10LmdldENhdGFsb2dPYmooKTtpZighKHRoaXMuX2NhdERpY3QgaW5zdGFuY2VvZiBEaWN0KSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkNhdGFsb2cgb2JqZWN0IGlzIG5vdCBhIGRpY3Rpb25hcnkuIik7dGhpcy50b3BsZXZlbFBhZ2VzRGljdDt0aGlzLl9hY3R1YWxOdW1QYWdlcz1udWxsO3RoaXMuZm9udENhY2hlPW5ldyBSZWZTZXRDYWNoZTt0aGlzLmJ1aWx0SW5DTWFwQ2FjaGU9bmV3IE1hcDt0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZT1uZXcgTWFwO3RoaXMuZ2xvYmFsSW1hZ2VDYWNoZT1uZXcgR2xvYmFsSW1hZ2VDYWNoZTt0aGlzLnBhZ2VLaWRzQ291bnRDYWNoZT1uZXcgUmVmU2V0Q2FjaGU7dGhpcy5wYWdlSW5kZXhDYWNoZT1uZXcgUmVmU2V0Q2FjaGU7dGhpcy5wYWdlRGljdENhY2hlPW5ldyBSZWZTZXRDYWNoZTt0aGlzLm5vbkJsZW5kTW9kZXNTZXQ9bmV3IFJlZlNldDt0aGlzLnN5c3RlbUZvbnRDYWNoZT1uZXcgTWFwfWNsb25lRGljdCgpe3JldHVybiB0aGlzLl9jYXREaWN0LmNsb25lKCl9Z2V0IHZlcnNpb24oKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJWZXJzaW9uIik7aWYoZSBpbnN0YW5jZW9mIE5hbWUpe2lmKGt0LnRlc3QoZS5uYW1lKSlyZXR1cm4gc2hhZG93KHRoaXMsInZlcnNpb24iLGUubmFtZSk7d2FybihgSW52YWxpZCBQREYgY2F0YWxvZyB2ZXJzaW9uOiAke2UubmFtZX1gKX1yZXR1cm4gc2hhZG93KHRoaXMsInZlcnNpb24iLG51bGwpfWdldCBsYW5nKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiTGFuZyIpO3JldHVybiBzaGFkb3codGhpcywibGFuZyIsZSYmInN0cmluZyI9PXR5cGVvZiBlP3N0cmluZ1RvUERGU3RyaW5nKGUpOm51bGwpfWdldCBuZWVkc1JlbmRlcmluZygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIk5lZWRzUmVuZGVyaW5nIik7cmV0dXJuIHNoYWRvdyh0aGlzLCJuZWVkc1JlbmRlcmluZyIsImJvb2xlYW4iPT10eXBlb2YgZSYmZSl9Z2V0IGNvbGxlY3Rpb24oKXtsZXQgZT1udWxsO3RyeXtjb25zdCB0PXRoaXMuX2NhdERpY3QuZ2V0KCJDb2xsZWN0aW9uIik7dCBpbnN0YW5jZW9mIERpY3QmJnQuc2l6ZT4wJiYoZT10KX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKCJDYW5ub3QgZmV0Y2ggQ29sbGVjdGlvbiBlbnRyeTsgYXNzdW1pbmcgbm8gY29sbGVjdGlvbiBpcyBwcmVzZW50LiIpfXJldHVybiBzaGFkb3codGhpcywiY29sbGVjdGlvbiIsZSl9Z2V0IGFjcm9Gb3JtKCl7bGV0IGU9bnVsbDt0cnl7Y29uc3QgdD10aGlzLl9jYXREaWN0LmdldCgiQWNyb0Zvcm0iKTt0IGluc3RhbmNlb2YgRGljdCYmdC5zaXplPjAmJihlPXQpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO2luZm8oIkNhbm5vdCBmZXRjaCBBY3JvRm9ybSBlbnRyeTsgYXNzdW1pbmcgbm8gZm9ybXMgYXJlIHByZXNlbnQuIil9cmV0dXJuIHNoYWRvdyh0aGlzLCJhY3JvRm9ybSIsZSl9Z2V0IGFjcm9Gb3JtUmVmKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldFJhdygiQWNyb0Zvcm0iKTtyZXR1cm4gc2hhZG93KHRoaXMsImFjcm9Gb3JtUmVmIixlIGluc3RhbmNlb2YgUmVmP2U6bnVsbCl9Z2V0IG1ldGFkYXRhKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldFJhdygiTWV0YWRhdGEiKTtpZighKGUgaW5zdGFuY2VvZiBSZWYpKXJldHVybiBzaGFkb3codGhpcywibWV0YWRhdGEiLG51bGwpO2xldCB0PW51bGw7dHJ5e2NvbnN0IGk9dGhpcy54cmVmLmZldGNoKGUsIXRoaXMueHJlZi5lbmNyeXB0Py5lbmNyeXB0TWV0YWRhdGEpO2lmKGkgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiZpLmRpY3QgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPWkuZGljdC5nZXQoIlR5cGUiKSxhPWkuZGljdC5nZXQoIlN1YnR5cGUiKTtpZihpc05hbWUoZSwiTWV0YWRhdGEiKSYmaXNOYW1lKGEsIlhNTCIpKXtjb25zdCBlPXN0cmluZ1RvVVRGOFN0cmluZyhpLmdldFN0cmluZygpKTtlJiYodD1uZXcgTWV0YWRhdGFQYXJzZXIoZSkuc2VyaWFsaXphYmxlKX19fWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO2luZm8oYFNraXBwaW5nIGludmFsaWQgTWV0YWRhdGE6ICIke2V9Ii5gKX1yZXR1cm4gc2hhZG93KHRoaXMsIm1ldGFkYXRhIix0KX1nZXQgbWFya0luZm8oKXtsZXQgZT1udWxsO3RyeXtlPXRoaXMuX3JlYWRNYXJrSW5mbygpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oIlVuYWJsZSB0byByZWFkIG1hcmsgaW5mby4iKX1yZXR1cm4gc2hhZG93KHRoaXMsIm1hcmtJbmZvIixlKX1fcmVhZE1hcmtJbmZvKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiTWFya0luZm8iKTtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDtjb25zdCB0PXtNYXJrZWQ6ITEsVXNlclByb3BlcnRpZXM6ITEsU3VzcGVjdHM6ITF9O2Zvcihjb25zdCBpIGluIHQpe2NvbnN0IGE9ZS5nZXQoaSk7ImJvb2xlYW4iPT10eXBlb2YgYSYmKHRbaV09YSl9cmV0dXJuIHR9Z2V0IHN0cnVjdFRyZWVSb290KCl7bGV0IGU9bnVsbDt0cnl7ZT10aGlzLl9yZWFkU3RydWN0VHJlZVJvb3QoKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgcmVhZCB0byBzdHJ1Y3RUcmVlUm9vdCBpbmZvLiIpfXJldHVybiBzaGFkb3codGhpcywic3RydWN0VHJlZVJvb3QiLGUpfV9yZWFkU3RydWN0VHJlZVJvb3QoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0UmF3KCJTdHJ1Y3RUcmVlUm9vdCIpLHQ9dGhpcy54cmVmLmZldGNoSWZSZWYoZSk7aWYoISh0IGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7Y29uc3QgaT1uZXcgU3RydWN0VHJlZVJvb3QodCxlKTtpLmluaXQoKTtyZXR1cm4gaX1nZXQgdG9wbGV2ZWxQYWdlc0RpY3QoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJQYWdlcyIpO2lmKCEoZSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCB0b3AtbGV2ZWwgcGFnZXMgZGljdGlvbmFyeS4iKTtyZXR1cm4gc2hhZG93KHRoaXMsInRvcGxldmVsUGFnZXNEaWN0IixlKX1nZXQgZG9jdW1lbnRPdXRsaW5lKCl7bGV0IGU9bnVsbDt0cnl7ZT10aGlzLl9yZWFkRG9jdW1lbnRPdXRsaW5lKCl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybigiVW5hYmxlIHRvIHJlYWQgZG9jdW1lbnQgb3V0bGluZS4iKX1yZXR1cm4gc2hhZG93KHRoaXMsImRvY3VtZW50T3V0bGluZSIsZSl9X3JlYWREb2N1bWVudE91dGxpbmUoKXtsZXQgZT10aGlzLl9jYXREaWN0LmdldCgiT3V0bGluZXMiKTtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDtlPWUuZ2V0UmF3KCJGaXJzdCIpO2lmKCEoZSBpbnN0YW5jZW9mIFJlZikpcmV0dXJuIG51bGw7Y29uc3QgdD17aXRlbXM6W119LGk9W3tvYmo6ZSxwYXJlbnQ6dH1dLGE9bmV3IFJlZlNldDthLnB1dChlKTtjb25zdCBzPXRoaXMueHJlZixyPW5ldyBVaW50OENsYW1wZWRBcnJheSgzKTtmb3IoO2kubGVuZ3RoPjA7KXtjb25zdCB0PWkuc2hpZnQoKSxuPXMuZmV0Y2hJZlJlZih0Lm9iaik7aWYobnVsbD09PW4pY29udGludWU7bi5oYXMoIlRpdGxlIil8fHdhcm4oIkludmFsaWQgb3V0bGluZSBpdGVtIGVuY291bnRlcmVkLiIpO2NvbnN0IGc9e3VybDpudWxsLGRlc3Q6bnVsbCxhY3Rpb246bnVsbH07Q2F0YWxvZy5wYXJzZURlc3REaWN0aW9uYXJ5KHtkZXN0RGljdDpuLHJlc3VsdE9iajpnLGRvY0Jhc2VVcmw6dGhpcy5iYXNlVXJsLGRvY0F0dGFjaG1lbnRzOnRoaXMuYXR0YWNobWVudHN9KTtjb25zdCBvPW4uZ2V0KCJUaXRsZSIpLGM9bi5nZXQoIkYiKXx8MCxDPW4uZ2V0QXJyYXkoIkMiKSxoPW4uZ2V0KCJDb3VudCIpO2xldCBsPXI7IWlzTnVtYmVyQXJyYXkoQywzKXx8MD09PUNbMF0mJjA9PT1DWzFdJiYwPT09Q1syXXx8KGw9Q29sb3JTcGFjZS5zaW5nbGV0b25zLnJnYi5nZXRSZ2IoQywwKSk7Y29uc3QgUT17YWN0aW9uOmcuYWN0aW9uLGF0dGFjaG1lbnQ6Zy5hdHRhY2htZW50LGRlc3Q6Zy5kZXN0LHVybDpnLnVybCx1bnNhZmVVcmw6Zy51bnNhZmVVcmwsbmV3V2luZG93OmcubmV3V2luZG93LHNldE9DR1N0YXRlOmcuc2V0T0NHU3RhdGUsdGl0bGU6InN0cmluZyI9PXR5cGVvZiBvP3N0cmluZ1RvUERGU3RyaW5nKG8pOiIiLGNvbG9yOmwsY291bnQ6TnVtYmVyLmlzSW50ZWdlcihoKT9oOnZvaWQgMCxib2xkOiEhKDImYyksaXRhbGljOiEhKDEmYyksaXRlbXM6W119O3QucGFyZW50Lml0ZW1zLnB1c2goUSk7ZT1uLmdldFJhdygiRmlyc3QiKTtpZihlIGluc3RhbmNlb2YgUmVmJiYhYS5oYXMoZSkpe2kucHVzaCh7b2JqOmUscGFyZW50OlF9KTthLnB1dChlKX1lPW4uZ2V0UmF3KCJOZXh0Iik7aWYoZSBpbnN0YW5jZW9mIFJlZiYmIWEuaGFzKGUpKXtpLnB1c2goe29iajplLHBhcmVudDp0LnBhcmVudH0pO2EucHV0KGUpfX1yZXR1cm4gdC5pdGVtcy5sZW5ndGg+MD90Lml0ZW1zOm51bGx9Z2V0IHBlcm1pc3Npb25zKCl7bGV0IGU9bnVsbDt0cnl7ZT10aGlzLl9yZWFkUGVybWlzc2lvbnMoKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgdG8gcmVhZCBwZXJtaXNzaW9ucy4iKX1yZXR1cm4gc2hhZG93KHRoaXMsInBlcm1pc3Npb25zIixlKX1fcmVhZFBlcm1pc3Npb25zKCl7Y29uc3QgZT10aGlzLnhyZWYudHJhaWxlci5nZXQoIkVuY3J5cHQiKTtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDtsZXQgdD1lLmdldCgiUCIpO2lmKCJudW1iZXIiIT10eXBlb2YgdClyZXR1cm4gbnVsbDt0Kz0yKiozMjtjb25zdCBpPVtdO2Zvcihjb25zdCBlIGluIHkpe2NvbnN0IGE9eVtlXTt0JmEmJmkucHVzaChhKX1yZXR1cm4gaX1nZXQgb3B0aW9uYWxDb250ZW50Q29uZmlnKCl7bGV0IGU9bnVsbDt0cnl7Y29uc3QgdD10aGlzLl9jYXREaWN0LmdldCgiT0NQcm9wZXJ0aWVzIik7aWYoIXQpcmV0dXJuIHNoYWRvdyh0aGlzLCJvcHRpb25hbENvbnRlbnRDb25maWciLG51bGwpO2NvbnN0IGk9dC5nZXQoIkQiKTtpZighaSlyZXR1cm4gc2hhZG93KHRoaXMsIm9wdGlvbmFsQ29udGVudENvbmZpZyIsbnVsbCk7Y29uc3QgYT10LmdldCgiT0NHcyIpO2lmKCFBcnJheS5pc0FycmF5KGEpKXJldHVybiBzaGFkb3codGhpcywib3B0aW9uYWxDb250ZW50Q29uZmlnIixudWxsKTtjb25zdCBzPVtdLHI9bmV3IFJlZlNldDtmb3IoY29uc3QgZSBvZiBhKWlmKGUgaW5zdGFuY2VvZiBSZWYmJiFyLmhhcyhlKSl7ci5wdXQoZSk7cy5wdXNoKHRoaXMuI3YoZSkpfWU9dGhpcy4jSyhpLHIpO2UuZ3JvdXBzPXN9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgVW5hYmxlIHRvIHJlYWQgb3B0aW9uYWwgY29udGVudCBjb25maWc6ICR7ZX1gKX1yZXR1cm4gc2hhZG93KHRoaXMsIm9wdGlvbmFsQ29udGVudENvbmZpZyIsZSl9I3YoZSl7Y29uc3QgdD10aGlzLnhyZWYuZmV0Y2goZSksaT17aWQ6ZS50b1N0cmluZygpLG5hbWU6bnVsbCxpbnRlbnQ6bnVsbCx1c2FnZTp7cHJpbnQ6bnVsbCx2aWV3Om51bGx9fSxhPXQuZ2V0KCJOYW1lIik7InN0cmluZyI9PXR5cGVvZiBhJiYoaS5uYW1lPXN0cmluZ1RvUERGU3RyaW5nKGEpKTtsZXQgcz10LmdldEFycmF5KCJJbnRlbnQiKTtBcnJheS5pc0FycmF5KHMpfHwocz1bc10pO3MuZXZlcnkoKGU9PmUgaW5zdGFuY2VvZiBOYW1lKSkmJihpLmludGVudD1zLm1hcCgoZT0+ZS5uYW1lKSkpO2NvbnN0IHI9dC5nZXQoIlVzYWdlIik7aWYoIShyIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIGk7Y29uc3Qgbj1pLnVzYWdlLGc9ci5nZXQoIlByaW50Iik7aWYoZyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9Zy5nZXQoIlByaW50U3RhdGUiKTtpZihlIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIk9OIjpjYXNlIk9GRiI6bi5wcmludD17cHJpbnRTdGF0ZTplLm5hbWV9fX1jb25zdCBvPXIuZ2V0KCJWaWV3Iik7aWYobyBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IGU9by5nZXQoIlZpZXdTdGF0ZSIpO2lmKGUgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChlLm5hbWUpe2Nhc2UiT04iOmNhc2UiT0ZGIjpuLnZpZXc9e3ZpZXdTdGF0ZTplLm5hbWV9fX1yZXR1cm4gaX0jSyhlLHQpe2Z1bmN0aW9uIHBhcnNlT25PZmYoZSl7Y29uc3QgaT1bXTtpZihBcnJheS5pc0FycmF5KGUpKWZvcihjb25zdCBhIG9mIGUpYSBpbnN0YW5jZW9mIFJlZiYmdC5oYXMoYSkmJmkucHVzaChhLnRvU3RyaW5nKCkpO3JldHVybiBpfWZ1bmN0aW9uIHBhcnNlT3JkZXIoZSxpPTApe2lmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybiBudWxsO2NvbnN0IHM9W107Zm9yKGNvbnN0IHIgb2YgZSl7aWYociBpbnN0YW5jZW9mIFJlZiYmdC5oYXMocikpe2EucHV0KHIpO3MucHVzaChyLnRvU3RyaW5nKCkpO2NvbnRpbnVlfWNvbnN0IGU9cGFyc2VOZXN0ZWRPcmRlcihyLGkpO2UmJnMucHVzaChlKX1pZihpPjApcmV0dXJuIHM7Y29uc3Qgcj1bXTtmb3IoY29uc3QgZSBvZiB0KWEuaGFzKGUpfHxyLnB1c2goZS50b1N0cmluZygpKTtyLmxlbmd0aCYmcy5wdXNoKHtuYW1lOm51bGwsb3JkZXI6cn0pO3JldHVybiBzfWZ1bmN0aW9uIHBhcnNlTmVzdGVkT3JkZXIoZSx0KXtpZigrK3Q+cyl7d2FybigicGFyc2VOZXN0ZWRPcmRlciAtIHJlYWNoZWQgTUFYX05FU1RFRF9MRVZFTFMuIik7cmV0dXJuIG51bGx9Y29uc3QgYT1pLmZldGNoSWZSZWYoZSk7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIG51bGw7Y29uc3Qgcj1pLmZldGNoSWZSZWYoYVswXSk7aWYoInN0cmluZyIhPXR5cGVvZiByKXJldHVybiBudWxsO2NvbnN0IG49cGFyc2VPcmRlcihhLnNsaWNlKDEpLHQpO3JldHVybiBuJiZuLmxlbmd0aD97bmFtZTpzdHJpbmdUb1BERlN0cmluZyhyKSxvcmRlcjpufTpudWxsfWNvbnN0IGk9dGhpcy54cmVmLGE9bmV3IFJlZlNldCxzPTEwO3JldHVybntuYW1lOiJzdHJpbmciPT10eXBlb2YgZS5nZXQoIk5hbWUiKT9zdHJpbmdUb1BERlN0cmluZyhlLmdldCgiTmFtZSIpKTpudWxsLGNyZWF0b3I6InN0cmluZyI9PXR5cGVvZiBlLmdldCgiQ3JlYXRvciIpP3N0cmluZ1RvUERGU3RyaW5nKGUuZ2V0KCJDcmVhdG9yIikpOm51bGwsYmFzZVN0YXRlOmUuZ2V0KCJCYXNlU3RhdGUiKWluc3RhbmNlb2YgTmFtZT9lLmdldCgiQmFzZVN0YXRlIikubmFtZTpudWxsLG9uOnBhcnNlT25PZmYoZS5nZXQoIk9OIikpLG9mZjpwYXJzZU9uT2ZmKGUuZ2V0KCJPRkYiKSksb3JkZXI6cGFyc2VPcmRlcihlLmdldCgiT3JkZXIiKSksZ3JvdXBzOm51bGx9fXNldEFjdHVhbE51bVBhZ2VzKGU9bnVsbCl7dGhpcy5fYWN0dWFsTnVtUGFnZXM9ZX1nZXQgaGFzQWN0dWFsTnVtUGFnZXMoKXtyZXR1cm4gbnVsbCE9PXRoaXMuX2FjdHVhbE51bVBhZ2VzfWdldCBfcGFnZXNDb3VudCgpe2NvbnN0IGU9dGhpcy50b3BsZXZlbFBhZ2VzRGljdC5nZXQoIkNvdW50Iik7aWYoIU51bWJlci5pc0ludGVnZXIoZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYWdlIGNvdW50IGluIHRvcC1sZXZlbCBwYWdlcyBkaWN0aW9uYXJ5IGlzIG5vdCBhbiBpbnRlZ2VyLiIpO3JldHVybiBzaGFkb3codGhpcywiX3BhZ2VzQ291bnQiLGUpfWdldCBudW1QYWdlcygpe3JldHVybiB0aGlzLmhhc0FjdHVhbE51bVBhZ2VzP3RoaXMuX2FjdHVhbE51bVBhZ2VzOnRoaXMuX3BhZ2VzQ291bnR9Z2V0IGRlc3RpbmF0aW9ucygpe2NvbnN0IGU9dGhpcy5fcmVhZERlc3RzKCksdD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGUgaW5zdGFuY2VvZiBOYW1lVHJlZSlmb3IoY29uc3RbaSxhXW9mIGUuZ2V0QWxsKCkpe2NvbnN0IGU9ZmV0Y2hEZXN0KGEpO2UmJih0W3N0cmluZ1RvUERGU3RyaW5nKGkpXT1lKX1lbHNlIGUgaW5zdGFuY2VvZiBEaWN0JiZlLmZvckVhY2goKGZ1bmN0aW9uKGUsaSl7Y29uc3QgYT1mZXRjaERlc3QoaSk7YSYmKHRbZV09YSl9KSk7cmV0dXJuIHNoYWRvdyh0aGlzLCJkZXN0aW5hdGlvbnMiLHQpfWdldERlc3RpbmF0aW9uKGUpe2NvbnN0IHQ9dGhpcy5fcmVhZERlc3RzKCk7aWYodCBpbnN0YW5jZW9mIE5hbWVUcmVlKXtjb25zdCBpPWZldGNoRGVzdCh0LmdldChlKSk7aWYoaSlyZXR1cm4gaTtjb25zdCBhPXRoaXMuZGVzdGluYXRpb25zW2VdO2lmKGEpe3dhcm4oYEZvdW5kICIke2V9IiBhdCBhbiBpbmNvcnJlY3QgcG9zaXRpb24gaW4gdGhlIE5hbWVUcmVlLmApO3JldHVybiBhfX1lbHNlIGlmKHQgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBpPWZldGNoRGVzdCh0LmdldChlKSk7aWYoaSlyZXR1cm4gaX1yZXR1cm4gbnVsbH1fcmVhZERlc3RzKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiTmFtZXMiKTtyZXR1cm4gZT8uaGFzKCJEZXN0cyIpP25ldyBOYW1lVHJlZShlLmdldFJhdygiRGVzdHMiKSx0aGlzLnhyZWYpOnRoaXMuX2NhdERpY3QuaGFzKCJEZXN0cyIpP3RoaXMuX2NhdERpY3QuZ2V0KCJEZXN0cyIpOnZvaWQgMH1nZXQgcGFnZUxhYmVscygpe2xldCBlPW51bGw7dHJ5e2U9dGhpcy5fcmVhZFBhZ2VMYWJlbHMoKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTt3YXJuKCJVbmFibGUgdG8gcmVhZCBwYWdlIGxhYmVscy4iKX1yZXR1cm4gc2hhZG93KHRoaXMsInBhZ2VMYWJlbHMiLGUpfV9yZWFkUGFnZUxhYmVscygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXRSYXcoIlBhZ2VMYWJlbHMiKTtpZighZSlyZXR1cm4gbnVsbDtjb25zdCB0PW5ldyBBcnJheSh0aGlzLm51bVBhZ2VzKTtsZXQgaT1udWxsLGE9IiI7Y29uc3Qgcz1uZXcgTnVtYmVyVHJlZShlLHRoaXMueHJlZikuZ2V0QWxsKCk7bGV0IHI9IiIsbj0xO2ZvcihsZXQgZT0wLGc9dGhpcy5udW1QYWdlcztlPGc7ZSsrKXtjb25zdCBnPXMuZ2V0KGUpO2lmKHZvaWQgMCE9PWcpe2lmKCEoZyBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZUxhYmVsIGlzIG5vdCBhIGRpY3Rpb25hcnkuIik7aWYoZy5oYXMoIlR5cGUiKSYmIWlzTmFtZShnLmdldCgiVHlwZSIpLCJQYWdlTGFiZWwiKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgdHlwZSBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTtpZihnLmhhcygiUyIpKXtjb25zdCBlPWcuZ2V0KCJTIik7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIHN0eWxlIGluIFBhZ2VMYWJlbCBkaWN0aW9uYXJ5LiIpO2k9ZS5uYW1lfWVsc2UgaT1udWxsO2lmKGcuaGFzKCJQIikpe2NvbnN0IGU9Zy5nZXQoIlAiKTtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIHByZWZpeCBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTthPXN0cmluZ1RvUERGU3RyaW5nKGUpfWVsc2UgYT0iIjtpZihnLmhhcygiU3QiKSl7Y29uc3QgZT1nLmdldCgiU3QiKTtpZighKE51bWJlci5pc0ludGVnZXIoZSkmJmU+PTEpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBzdGFydCBpbiBQYWdlTGFiZWwgZGljdGlvbmFyeS4iKTtuPWV9ZWxzZSBuPTF9c3dpdGNoKGkpe2Nhc2UiRCI6cj1uO2JyZWFrO2Nhc2UiUiI6Y2FzZSJyIjpyPXRvUm9tYW5OdW1lcmFscyhuLCJyIj09PWkpO2JyZWFrO2Nhc2UiQSI6Y2FzZSJhIjpjb25zdCBlPTI2LHQ9ImEiPT09aT85Nzo2NSxhPW4tMTtyPVN0cmluZy5mcm9tQ2hhckNvZGUodCthJWUpLnJlcGVhdChNYXRoLmZsb29yKGEvZSkrMSk7YnJlYWs7ZGVmYXVsdDppZihpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBzdHlsZSAiJHtpfSIgaW4gUGFnZUxhYmVsIGRpY3Rpb25hcnkuYCk7cj0iIn10W2VdPWErcjtuKyt9cmV0dXJuIHR9Z2V0IHBhZ2VMYXlvdXQoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJQYWdlTGF5b3V0Iik7bGV0IHQ9IiI7aWYoZSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJTaW5nbGVQYWdlIjpjYXNlIk9uZUNvbHVtbiI6Y2FzZSJUd29Db2x1bW5MZWZ0IjpjYXNlIlR3b0NvbHVtblJpZ2h0IjpjYXNlIlR3b1BhZ2VMZWZ0IjpjYXNlIlR3b1BhZ2VSaWdodCI6dD1lLm5hbWV9cmV0dXJuIHNoYWRvdyh0aGlzLCJwYWdlTGF5b3V0Iix0KX1nZXQgcGFnZU1vZGUoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJQYWdlTW9kZSIpO2xldCB0PSJVc2VOb25lIjtpZihlIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goZS5uYW1lKXtjYXNlIlVzZU5vbmUiOmNhc2UiVXNlT3V0bGluZXMiOmNhc2UiVXNlVGh1bWJzIjpjYXNlIkZ1bGxTY3JlZW4iOmNhc2UiVXNlT0MiOmNhc2UiVXNlQXR0YWNobWVudHMiOnQ9ZS5uYW1lfXJldHVybiBzaGFkb3codGhpcywicGFnZU1vZGUiLHQpfWdldCB2aWV3ZXJQcmVmZXJlbmNlcygpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIlZpZXdlclByZWZlcmVuY2VzIik7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIHNoYWRvdyh0aGlzLCJ2aWV3ZXJQcmVmZXJlbmNlcyIsbnVsbCk7bGV0IHQ9bnVsbDtmb3IoY29uc3QgaSBvZiBlLmdldEtleXMoKSl7Y29uc3QgYT1lLmdldChpKTtsZXQgcztzd2l0Y2goaSl7Y2FzZSJIaWRlVG9vbGJhciI6Y2FzZSJIaWRlTWVudWJhciI6Y2FzZSJIaWRlV2luZG93VUkiOmNhc2UiRml0V2luZG93IjpjYXNlIkNlbnRlcldpbmRvdyI6Y2FzZSJEaXNwbGF5RG9jVGl0bGUiOmNhc2UiUGlja1RyYXlCeVBERlNpemUiOiJib29sZWFuIj09dHlwZW9mIGEmJihzPWEpO2JyZWFrO2Nhc2UiTm9uRnVsbFNjcmVlblBhZ2VNb2RlIjppZihhIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goYS5uYW1lKXtjYXNlIlVzZU5vbmUiOmNhc2UiVXNlT3V0bGluZXMiOmNhc2UiVXNlVGh1bWJzIjpjYXNlIlVzZU9DIjpzPWEubmFtZTticmVhaztkZWZhdWx0OnM9IlVzZU5vbmUifWJyZWFrO2Nhc2UiRGlyZWN0aW9uIjppZihhIGluc3RhbmNlb2YgTmFtZSlzd2l0Y2goYS5uYW1lKXtjYXNlIkwyUiI6Y2FzZSJSMkwiOnM9YS5uYW1lO2JyZWFrO2RlZmF1bHQ6cz0iTDJSIn1icmVhaztjYXNlIlZpZXdBcmVhIjpjYXNlIlZpZXdDbGlwIjpjYXNlIlByaW50QXJlYSI6Y2FzZSJQcmludENsaXAiOmlmKGEgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChhLm5hbWUpe2Nhc2UiTWVkaWFCb3giOmNhc2UiQ3JvcEJveCI6Y2FzZSJCbGVlZEJveCI6Y2FzZSJUcmltQm94IjpjYXNlIkFydEJveCI6cz1hLm5hbWU7YnJlYWs7ZGVmYXVsdDpzPSJDcm9wQm94In1icmVhaztjYXNlIlByaW50U2NhbGluZyI6aWYoYSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGEubmFtZSl7Y2FzZSJOb25lIjpjYXNlIkFwcERlZmF1bHQiOnM9YS5uYW1lO2JyZWFrO2RlZmF1bHQ6cz0iQXBwRGVmYXVsdCJ9YnJlYWs7Y2FzZSJEdXBsZXgiOmlmKGEgaW5zdGFuY2VvZiBOYW1lKXN3aXRjaChhLm5hbWUpe2Nhc2UiU2ltcGxleCI6Y2FzZSJEdXBsZXhGbGlwU2hvcnRFZGdlIjpjYXNlIkR1cGxleEZsaXBMb25nRWRnZSI6cz1hLm5hbWU7YnJlYWs7ZGVmYXVsdDpzPSJOb25lIn1icmVhaztjYXNlIlByaW50UGFnZVJhbmdlIjppZihBcnJheS5pc0FycmF5KGEpJiZhLmxlbmd0aCUyPT0wKXthLmV2ZXJ5KCgoZSx0LGkpPT5OdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPjAmJigwPT09dHx8ZT49aVt0LTFdKSYmZTw9dGhpcy5udW1QYWdlcykpJiYocz1hKX1icmVhaztjYXNlIk51bUNvcGllcyI6TnVtYmVyLmlzSW50ZWdlcihhKSYmYT4wJiYocz1hKTticmVhaztkZWZhdWx0Ondhcm4oYElnbm9yaW5nIG5vbi1zdGFuZGFyZCBrZXkgaW4gVmlld2VyUHJlZmVyZW5jZXM6ICR7aX0uYCk7Y29udGludWV9aWYodm9pZCAwIT09cyl7dHx8KHQ9T2JqZWN0LmNyZWF0ZShudWxsKSk7dFtpXT1zfWVsc2Ugd2FybihgQmFkIHZhbHVlLCBmb3Iga2V5ICIke2l9IiwgaW4gVmlld2VyUHJlZmVyZW5jZXM6ICR7YX0uYCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJ2aWV3ZXJQcmVmZXJlbmNlcyIsdCl9Z2V0IG9wZW5BY3Rpb24oKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJPcGVuQWN0aW9uIiksdD1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGUgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBpPW5ldyBEaWN0KHRoaXMueHJlZik7aS5zZXQoIkEiLGUpO2NvbnN0IGE9e3VybDpudWxsLGRlc3Q6bnVsbCxhY3Rpb246bnVsbH07Q2F0YWxvZy5wYXJzZURlc3REaWN0aW9uYXJ5KHtkZXN0RGljdDppLHJlc3VsdE9iajphfSk7QXJyYXkuaXNBcnJheShhLmRlc3QpP3QuZGVzdD1hLmRlc3Q6YS5hY3Rpb24mJih0LmFjdGlvbj1hLmFjdGlvbil9ZWxzZSBBcnJheS5pc0FycmF5KGUpJiYodC5kZXN0PWUpO3JldHVybiBzaGFkb3codGhpcywib3BlbkFjdGlvbiIsb2JqZWN0U2l6ZSh0KT4wP3Q6bnVsbCl9Z2V0IGF0dGFjaG1lbnRzKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiTmFtZXMiKTtsZXQgdD1udWxsO2lmKGUgaW5zdGFuY2VvZiBEaWN0JiZlLmhhcygiRW1iZWRkZWRGaWxlcyIpKXtjb25zdCBpPW5ldyBOYW1lVHJlZShlLmdldFJhdygiRW1iZWRkZWRGaWxlcyIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2UsYV1vZiBpLmdldEFsbCgpKXtjb25zdCBpPW5ldyBGaWxlU3BlYyhhLHRoaXMueHJlZik7dHx8KHQ9T2JqZWN0LmNyZWF0ZShudWxsKSk7dFtzdHJpbmdUb1BERlN0cmluZyhlKV09aS5zZXJpYWxpemFibGV9fXJldHVybiBzaGFkb3codGhpcywiYXR0YWNobWVudHMiLHQpfWdldCB4ZmFJbWFnZXMoKXtjb25zdCBlPXRoaXMuX2NhdERpY3QuZ2V0KCJOYW1lcyIpO2xldCB0PW51bGw7aWYoZSBpbnN0YW5jZW9mIERpY3QmJmUuaGFzKCJYRkFJbWFnZXMiKSl7Y29uc3QgaT1uZXcgTmFtZVRyZWUoZS5nZXRSYXcoIlhGQUltYWdlcyIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2UsYV1vZiBpLmdldEFsbCgpKXt0fHwodD1uZXcgRGljdCh0aGlzLnhyZWYpKTt0LnNldChzdHJpbmdUb1BERlN0cmluZyhlKSxhKX19cmV0dXJuIHNoYWRvdyh0aGlzLCJ4ZmFJbWFnZXMiLHQpfV9jb2xsZWN0SmF2YVNjcmlwdCgpe2NvbnN0IGU9dGhpcy5fY2F0RGljdC5nZXQoIk5hbWVzIik7bGV0IHQ9bnVsbDtmdW5jdGlvbiBhcHBlbmRJZkphdmFTY3JpcHREaWN0KGUsaSl7aWYoIShpIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2lmKCFpc05hbWUoaS5nZXQoIlMiKSwiSmF2YVNjcmlwdCIpKXJldHVybjtsZXQgYT1pLmdldCgiSlMiKTtpZihhIGluc3RhbmNlb2YgQmFzZVN0cmVhbSlhPWEuZ2V0U3RyaW5nKCk7ZWxzZSBpZigic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuO2E9c3RyaW5nVG9QREZTdHJpbmcoYSkucmVwbGFjZUFsbCgiXDAiLCIiKTthJiYodHx8PW5ldyBNYXApLnNldChlLGEpfWlmKGUgaW5zdGFuY2VvZiBEaWN0JiZlLmhhcygiSmF2YVNjcmlwdCIpKXtjb25zdCB0PW5ldyBOYW1lVHJlZShlLmdldFJhdygiSmF2YVNjcmlwdCIpLHRoaXMueHJlZik7Zm9yKGNvbnN0W2UsaV1vZiB0LmdldEFsbCgpKWFwcGVuZElmSmF2YVNjcmlwdERpY3Qoc3RyaW5nVG9QREZTdHJpbmcoZSksaSl9Y29uc3QgaT10aGlzLl9jYXREaWN0LmdldCgiT3BlbkFjdGlvbiIpO2kmJmFwcGVuZElmSmF2YVNjcmlwdERpY3QoIk9wZW5BY3Rpb24iLGkpO3JldHVybiB0fWdldCBqc0FjdGlvbnMoKXtjb25zdCBlPXRoaXMuX2NvbGxlY3RKYXZhU2NyaXB0KCk7bGV0IHQ9Y29sbGVjdEFjdGlvbnModGhpcy54cmVmLHRoaXMuX2NhdERpY3QsZkEpO2lmKGUpe3R8fD1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdFtpLGFdb2YgZSlpIGluIHQ/dFtpXS5wdXNoKGEpOnRbaV09W2FdfXJldHVybiBzaGFkb3codGhpcywianNBY3Rpb25zIix0KX1hc3luYyBmb250RmFsbGJhY2soZSx0KXtjb25zdCBpPWF3YWl0IFByb21pc2UuYWxsKHRoaXMuZm9udENhY2hlKTtmb3IoY29uc3QgYSBvZiBpKWlmKGEubG9hZGVkTmFtZT09PWUpe2EuZmFsbGJhY2sodCk7cmV0dXJufX1hc3luYyBjbGVhbnVwKGU9ITEpe2NsZWFyR2xvYmFsQ2FjaGVzKCk7dGhpcy5nbG9iYWxJbWFnZUNhY2hlLmNsZWFyKGUpO3RoaXMucGFnZUtpZHNDb3VudENhY2hlLmNsZWFyKCk7dGhpcy5wYWdlSW5kZXhDYWNoZS5jbGVhcigpO3RoaXMucGFnZURpY3RDYWNoZS5jbGVhcigpO3RoaXMubm9uQmxlbmRNb2Rlc1NldC5jbGVhcigpO2NvbnN0IHQ9YXdhaXQgUHJvbWlzZS5hbGwodGhpcy5mb250Q2FjaGUpO2Zvcihjb25zdHtkaWN0OmV9b2YgdClkZWxldGUgZS5jYWNoZUtleTt0aGlzLmZvbnRDYWNoZS5jbGVhcigpO3RoaXMuYnVpbHRJbkNNYXBDYWNoZS5jbGVhcigpO3RoaXMuc3RhbmRhcmRGb250RGF0YUNhY2hlLmNsZWFyKCk7dGhpcy5zeXN0ZW1Gb250Q2FjaGUuY2xlYXIoKX1hc3luYyBnZXRQYWdlRGljdChlKXtjb25zdCB0PVt0aGlzLnRvcGxldmVsUGFnZXNEaWN0XSxpPW5ldyBSZWZTZXQsYT10aGlzLl9jYXREaWN0LmdldFJhdygiUGFnZXMiKTthIGluc3RhbmNlb2YgUmVmJiZpLnB1dChhKTtjb25zdCBzPXRoaXMueHJlZixyPXRoaXMucGFnZUtpZHNDb3VudENhY2hlLG49dGhpcy5wYWdlSW5kZXhDYWNoZSxnPXRoaXMucGFnZURpY3RDYWNoZTtsZXQgbz0wO2Zvcig7dC5sZW5ndGg7KXtjb25zdCBhPXQucG9wKCk7aWYoYSBpbnN0YW5jZW9mIFJlZil7Y29uc3QgYz1yLmdldChhKTtpZihjPj0wJiZvK2M8PWUpe28rPWM7Y29udGludWV9aWYoaS5oYXMoYSkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYWdlcyB0cmVlIGNvbnRhaW5zIGNpcmN1bGFyIHJlZmVyZW5jZS4iKTtpLnB1dChhKTtjb25zdCBDPWF3YWl0KGcuZ2V0KGEpfHxzLmZldGNoQXN5bmMoYSkpO2lmKEMgaW5zdGFuY2VvZiBEaWN0KXtsZXQgdD1DLmdldFJhdygiVHlwZSIpO3QgaW5zdGFuY2VvZiBSZWYmJih0PWF3YWl0IHMuZmV0Y2hBc3luYyh0KSk7aWYoaXNOYW1lKHQsIlBhZ2UiKXx8IUMuaGFzKCJLaWRzIikpe3IuaGFzKGEpfHxyLnB1dChhLDEpO24uaGFzKGEpfHxuLnB1dChhLG8pO2lmKG89PT1lKXJldHVybltDLGFdO28rKztjb250aW51ZX19dC5wdXNoKEMpO2NvbnRpbnVlfWlmKCEoYSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZSBkaWN0aW9uYXJ5IGtpZCByZWZlcmVuY2UgcG9pbnRzIHRvIHdyb25nIHR5cGUgb2Ygb2JqZWN0LiIpO2NvbnN0e29iaklkOmN9PWE7bGV0IEM9YS5nZXRSYXcoIkNvdW50Iik7QyBpbnN0YW5jZW9mIFJlZiYmKEM9YXdhaXQgcy5mZXRjaEFzeW5jKEMpKTtpZihOdW1iZXIuaXNJbnRlZ2VyKEMpJiZDPj0wKXtjJiYhci5oYXMoYykmJnIucHV0KGMsQyk7aWYobytDPD1lKXtvKz1DO2NvbnRpbnVlfX1sZXQgaD1hLmdldFJhdygiS2lkcyIpO2ggaW5zdGFuY2VvZiBSZWYmJihoPWF3YWl0IHMuZmV0Y2hBc3luYyhoKSk7aWYoIUFycmF5LmlzQXJyYXkoaCkpe2xldCB0PWEuZ2V0UmF3KCJUeXBlIik7dCBpbnN0YW5jZW9mIFJlZiYmKHQ9YXdhaXQgcy5mZXRjaEFzeW5jKHQpKTtpZihpc05hbWUodCwiUGFnZSIpfHwhYS5oYXMoIktpZHMiKSl7aWYobz09PWUpcmV0dXJuW2EsbnVsbF07bysrO2NvbnRpbnVlfXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZSBkaWN0aW9uYXJ5IGtpZHMgb2JqZWN0IGlzIG5vdCBhbiBhcnJheS4iKX1mb3IobGV0IGU9aC5sZW5ndGgtMTtlPj0wO2UtLSl7Y29uc3QgaT1oW2VdO3QucHVzaChpKTthPT09dGhpcy50b3BsZXZlbFBhZ2VzRGljdCYmaSBpbnN0YW5jZW9mIFJlZiYmIWcuaGFzKGkpJiZnLnB1dChpLHMuZmV0Y2hBc3luYyhpKSl9fXRocm93IG5ldyBFcnJvcihgUGFnZSBpbmRleCAke2V9IG5vdCBmb3VuZC5gKX1hc3luYyBnZXRBbGxQYWdlRGljdHMoZT0hMSl7Y29uc3R7aWdub3JlRXJyb3JzOnR9PXRoaXMucGRmTWFuYWdlci5ldmFsdWF0b3JPcHRpb25zLGk9W3tjdXJyZW50Tm9kZTp0aGlzLnRvcGxldmVsUGFnZXNEaWN0LHBvc0luS2lkczowfV0sYT1uZXcgUmVmU2V0LHM9dGhpcy5fY2F0RGljdC5nZXRSYXcoIlBhZ2VzIik7cyBpbnN0YW5jZW9mIFJlZiYmYS5wdXQocyk7Y29uc3Qgcj1uZXcgTWFwLG49dGhpcy54cmVmLGc9dGhpcy5wYWdlSW5kZXhDYWNoZTtsZXQgbz0wO2Z1bmN0aW9uIGFkZFBhZ2VEaWN0KGUsdCl7dCYmIWcuaGFzKHQpJiZnLnB1dCh0LG8pO3Iuc2V0KG8rKyxbZSx0XSl9ZnVuY3Rpb24gYWRkUGFnZUVycm9yKGkpe2lmKGkgaW5zdGFuY2VvZiBYUmVmRW50cnlFeGNlcHRpb24mJiFlKXRocm93IGk7aWYoZSYmdCYmMD09PW8pe3dhcm4oYGdldEFsbFBhZ2VEaWN0cyAtIFNraXBwaW5nIGludmFsaWQgZmlyc3QgcGFnZTogIiR7aX0iLmApO2k9RGljdC5lbXB0eX1yLnNldChvKyssW2ksbnVsbF0pfWZvcig7aS5sZW5ndGg+MDspe2NvbnN0IGU9aS5hdCgtMSkse2N1cnJlbnROb2RlOnQscG9zSW5LaWRzOnN9PWU7bGV0IHI9dC5nZXRSYXcoIktpZHMiKTtpZihyIGluc3RhbmNlb2YgUmVmKXRyeXtyPWF3YWl0IG4uZmV0Y2hBc3luYyhyKX1jYXRjaChlKXthZGRQYWdlRXJyb3IoZSk7YnJlYWt9aWYoIUFycmF5LmlzQXJyYXkocikpe2FkZFBhZ2VFcnJvcihuZXcgRm9ybWF0RXJyb3IoIlBhZ2UgZGljdGlvbmFyeSBraWRzIG9iamVjdCBpcyBub3QgYW4gYXJyYXkuIikpO2JyZWFrfWlmKHM+PXIubGVuZ3RoKXtpLnBvcCgpO2NvbnRpbnVlfWNvbnN0IGc9cltzXTtsZXQgbztpZihnIGluc3RhbmNlb2YgUmVmKXtpZihhLmhhcyhnKSl7YWRkUGFnZUVycm9yKG5ldyBGb3JtYXRFcnJvcigiUGFnZXMgdHJlZSBjb250YWlucyBjaXJjdWxhciByZWZlcmVuY2UuIikpO2JyZWFrfWEucHV0KGcpO3RyeXtvPWF3YWl0IG4uZmV0Y2hBc3luYyhnKX1jYXRjaChlKXthZGRQYWdlRXJyb3IoZSk7YnJlYWt9fWVsc2Ugbz1nO2lmKCEobyBpbnN0YW5jZW9mIERpY3QpKXthZGRQYWdlRXJyb3IobmV3IEZvcm1hdEVycm9yKCJQYWdlIGRpY3Rpb25hcnkga2lkIHJlZmVyZW5jZSBwb2ludHMgdG8gd3JvbmcgdHlwZSBvZiBvYmplY3QuIikpO2JyZWFrfWxldCBjPW8uZ2V0UmF3KCJUeXBlIik7aWYoYyBpbnN0YW5jZW9mIFJlZil0cnl7Yz1hd2FpdCBuLmZldGNoQXN5bmMoYyl9Y2F0Y2goZSl7YWRkUGFnZUVycm9yKGUpO2JyZWFrfWlzTmFtZShjLCJQYWdlIil8fCFvLmhhcygiS2lkcyIpP2FkZFBhZ2VEaWN0KG8sZyBpbnN0YW5jZW9mIFJlZj9nOm51bGwpOmkucHVzaCh7Y3VycmVudE5vZGU6byxwb3NJbktpZHM6MH0pO2UucG9zSW5LaWRzKyt9cmV0dXJuIHJ9Z2V0UGFnZUluZGV4KGUpe2NvbnN0IHQ9dGhpcy5wYWdlSW5kZXhDYWNoZS5nZXQoZSk7aWYodm9pZCAwIT09dClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHQpO2NvbnN0IGk9dGhpcy54cmVmO2xldCBhPTA7Y29uc3QgbmV4dD10PT5mdW5jdGlvbiBwYWdlc0JlZm9yZVJlZih0KXtsZXQgYSxzPTA7cmV0dXJuIGkuZmV0Y2hBc3luYyh0KS50aGVuKChmdW5jdGlvbihpKXtpZihpc1JlZnNFcXVhbCh0LGUpJiYhaXNEaWN0KGksIlBhZ2UiKSYmIShpIGluc3RhbmNlb2YgRGljdCYmIWkuaGFzKCJUeXBlIikmJmkuaGFzKCJDb250ZW50cyIpKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIlRoZSByZWZlcmVuY2UgZG9lcyBub3QgcG9pbnQgdG8gYSAvUGFnZSBkaWN0aW9uYXJ5LiIpO2lmKCFpKXJldHVybiBudWxsO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiTm9kZSBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTthPWkuZ2V0UmF3KCJQYXJlbnQiKTtyZXR1cm4gaS5nZXRBc3luYygiUGFyZW50Iil9KSkudGhlbigoZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIG51bGw7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJQYXJlbnQgbXVzdCBiZSBhIGRpY3Rpb25hcnkuIik7cmV0dXJuIGUuZ2V0QXN5bmMoIktpZHMiKX0pKS50aGVuKChmdW5jdGlvbihlKXtpZighZSlyZXR1cm4gbnVsbDtjb25zdCByPVtdO2xldCBuPSExO2Zvcihjb25zdCBhIG9mIGUpe2lmKCEoYSBpbnN0YW5jZW9mIFJlZikpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJLaWQgbXVzdCBiZSBhIHJlZmVyZW5jZS4iKTtpZihpc1JlZnNFcXVhbChhLHQpKXtuPSEwO2JyZWFrfXIucHVzaChpLmZldGNoQXN5bmMoYSkudGhlbigoZnVuY3Rpb24oZSl7aWYoIShlIGluc3RhbmNlb2YgRGljdCkpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJLaWQgbm9kZSBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTtlLmhhcygiQ291bnQiKT9zKz1lLmdldCgiQ291bnQiKTpzKyt9KSkpfWlmKCFuKXRocm93IG5ldyBGb3JtYXRFcnJvcigiS2lkIHJlZmVyZW5jZSBub3QgZm91bmQgaW4gcGFyZW50J3Mga2lkcy4iKTtyZXR1cm4gUHJvbWlzZS5hbGwocikudGhlbigoZnVuY3Rpb24oKXtyZXR1cm5bcyxhXX0pKX0pKX0odCkudGhlbigodD0+e2lmKCF0KXt0aGlzLnBhZ2VJbmRleENhY2hlLnB1dChlLGEpO3JldHVybiBhfWNvbnN0W2ksc109dDthKz1pO3JldHVybiBuZXh0KHMpfSkpO3JldHVybiBuZXh0KGUpfWdldCBiYXNlVXJsKCl7Y29uc3QgZT10aGlzLl9jYXREaWN0LmdldCgiVVJJIik7aWYoZSBpbnN0YW5jZW9mIERpY3Qpe2NvbnN0IHQ9ZS5nZXQoIkJhc2UiKTtpZigic3RyaW5nIj09dHlwZW9mIHQpe2NvbnN0IGU9Y3JlYXRlVmFsaWRBYnNvbHV0ZVVybCh0LG51bGwse3RyeUNvbnZlcnRFbmNvZGluZzohMH0pO2lmKGUpcmV0dXJuIHNoYWRvdyh0aGlzLCJiYXNlVXJsIixlLmhyZWYpfX1yZXR1cm4gc2hhZG93KHRoaXMsImJhc2VVcmwiLHRoaXMucGRmTWFuYWdlci5kb2NCYXNlVXJsKX1zdGF0aWMgcGFyc2VEZXN0RGljdGlvbmFyeSh7ZGVzdERpY3Q6ZSxyZXN1bHRPYmo6dCxkb2NCYXNlVXJsOmk9bnVsbCxkb2NBdHRhY2htZW50czphPW51bGx9KXtpZighKGUgaW5zdGFuY2VvZiBEaWN0KSl7d2FybigicGFyc2VEZXN0RGljdGlvbmFyeTogYGRlc3REaWN0YCBtdXN0IGJlIGEgZGljdGlvbmFyeS4iKTtyZXR1cm59bGV0IHMscixuPWUuZ2V0KCJBIik7aWYoIShuIGluc3RhbmNlb2YgRGljdCkpaWYoZS5oYXMoIkRlc3QiKSluPWUuZ2V0KCJEZXN0Iik7ZWxzZXtuPWUuZ2V0KCJBQSIpO24gaW5zdGFuY2VvZiBEaWN0JiYobi5oYXMoIkQiKT9uPW4uZ2V0KCJEIik6bi5oYXMoIlUiKSYmKG49bi5nZXQoIlUiKSkpfWlmKG4gaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPW4uZ2V0KCJTIik7aWYoIShlIGluc3RhbmNlb2YgTmFtZSkpe3dhcm4oInBhcnNlRGVzdERpY3Rpb25hcnk6IEludmFsaWQgdHlwZSBpbiBBY3Rpb24gZGljdGlvbmFyeS4iKTtyZXR1cm59Y29uc3QgaT1lLm5hbWU7c3dpdGNoKGkpe2Nhc2UiUmVzZXRGb3JtIjpjb25zdCBlPW4uZ2V0KCJGbGFncyIpLGc9MD09KDEmKCJudW1iZXIiPT10eXBlb2YgZT9lOjApKSxvPVtdLGM9W107Zm9yKGNvbnN0IGUgb2Ygbi5nZXQoIkZpZWxkcyIpfHxbXSllIGluc3RhbmNlb2YgUmVmP2MucHVzaChlLnRvU3RyaW5nKCkpOiJzdHJpbmciPT10eXBlb2YgZSYmby5wdXNoKHN0cmluZ1RvUERGU3RyaW5nKGUpKTt0LnJlc2V0Rm9ybT17ZmllbGRzOm8scmVmczpjLGluY2x1ZGU6Z307YnJlYWs7Y2FzZSJVUkkiOnM9bi5nZXQoIlVSSSIpO3MgaW5zdGFuY2VvZiBOYW1lJiYocz0iLyIrcy5uYW1lKTticmVhaztjYXNlIkdvVG8iOnI9bi5nZXQoIkQiKTticmVhaztjYXNlIkxhdW5jaCI6Y2FzZSJHb1RvUiI6Y29uc3QgQz1uLmdldCgiRiIpO2lmKEMgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPW5ldyBGaWxlU3BlYyhDLG51bGwsITApLHtyYXdGaWxlbmFtZTp0fT1lLnNlcmlhbGl6YWJsZTtzPXR9ZWxzZSJzdHJpbmciPT10eXBlb2YgQyYmKHM9Qyk7Y29uc3QgaD1mZXRjaFJlbW90ZURlc3Qobik7aCYmInN0cmluZyI9PXR5cGVvZiBzJiYocz1zLnNwbGl0KCIjIiwxKVswXSsiIyIraCk7Y29uc3QgbD1uLmdldCgiTmV3V2luZG93Iik7ImJvb2xlYW4iPT10eXBlb2YgbCYmKHQubmV3V2luZG93PWwpO2JyZWFrO2Nhc2UiR29Ub0UiOmNvbnN0IFE9bi5nZXQoIlQiKTtsZXQgRTtpZihhJiZRIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT1RLmdldCgiUiIpLHQ9US5nZXQoIk4iKTtpc05hbWUoZSwiQyIpJiYic3RyaW5nIj09dHlwZW9mIHQmJihFPWFbc3RyaW5nVG9QREZTdHJpbmcodCldKX1pZihFKXt0LmF0dGFjaG1lbnQ9RTtjb25zdCBlPWZldGNoUmVtb3RlRGVzdChuKTtlJiYodC5hdHRhY2htZW50RGVzdD1lKX1lbHNlIHdhcm4oJ3BhcnNlRGVzdERpY3Rpb25hcnkgLSB1bmltcGxlbWVudGVkICJHb1RvRSIgYWN0aW9uLicpO2JyZWFrO2Nhc2UiTmFtZWQiOmNvbnN0IHU9bi5nZXQoIk4iKTt1IGluc3RhbmNlb2YgTmFtZSYmKHQuYWN0aW9uPXUubmFtZSk7YnJlYWs7Y2FzZSJTZXRPQ0dTdGF0ZSI6Y29uc3QgZD1uLmdldCgiU3RhdGUiKSxmPW4uZ2V0KCJQcmVzZXJ2ZVJCIik7aWYoIUFycmF5LmlzQXJyYXkoZCl8fDA9PT1kLmxlbmd0aClicmVhaztjb25zdCBwPVtdO2Zvcihjb25zdCBlIG9mIGQpaWYoZSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJPTiI6Y2FzZSJPRkYiOmNhc2UiVG9nZ2xlIjpwLnB1c2goZS5uYW1lKX1lbHNlIGUgaW5zdGFuY2VvZiBSZWYmJnAucHVzaChlLnRvU3RyaW5nKCkpO2lmKHAubGVuZ3RoIT09ZC5sZW5ndGgpYnJlYWs7dC5zZXRPQ0dTdGF0ZT17c3RhdGU6cCxwcmVzZXJ2ZVJCOiJib29sZWFuIiE9dHlwZW9mIGZ8fGZ9O2JyZWFrO2Nhc2UiSmF2YVNjcmlwdCI6Y29uc3QgbT1uLmdldCgiSlMiKTtsZXQgeTttIGluc3RhbmNlb2YgQmFzZVN0cmVhbT95PW0uZ2V0U3RyaW5nKCk6InN0cmluZyI9PXR5cGVvZiBtJiYoeT1tKTtjb25zdCB3PXkmJnJlY292ZXJKc1VSTChzdHJpbmdUb1BERlN0cmluZyh5KSk7aWYodyl7cz13LnVybDt0Lm5ld1dpbmRvdz13Lm5ld1dpbmRvdzticmVha31kZWZhdWx0OmlmKCJKYXZhU2NyaXB0Ij09PWl8fCJTdWJtaXRGb3JtIj09PWkpYnJlYWs7d2FybihgcGFyc2VEZXN0RGljdGlvbmFyeSAtIHVuc3VwcG9ydGVkIGFjdGlvbjogIiR7aX0iLmApfX1lbHNlIGUuaGFzKCJEZXN0IikmJihyPWUuZ2V0KCJEZXN0IikpO2lmKCJzdHJpbmciPT10eXBlb2Ygcyl7Y29uc3QgZT1jcmVhdGVWYWxpZEFic29sdXRlVXJsKHMsaSx7YWRkRGVmYXVsdFByb3RvY29sOiEwLHRyeUNvbnZlcnRFbmNvZGluZzohMH0pO2UmJih0LnVybD1lLmhyZWYpO3QudW5zYWZlVXJsPXN9aWYocil7ciBpbnN0YW5jZW9mIE5hbWUmJihyPXIubmFtZSk7InN0cmluZyI9PXR5cGVvZiByP3QuZGVzdD1zdHJpbmdUb1BERlN0cmluZyhyKTppc1ZhbGlkRXhwbGljaXREZXN0KHIpJiYodC5kZXN0PXIpfX19ZnVuY3Rpb24gYWRkQ2hpbGRyZW4oZSx0KXtpZihlIGluc3RhbmNlb2YgRGljdCllPWUuZ2V0UmF3VmFsdWVzKCk7ZWxzZSBpZihlIGluc3RhbmNlb2YgQmFzZVN0cmVhbSllPWUuZGljdC5nZXRSYXdWYWx1ZXMoKTtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGUpKXJldHVybjtmb3IoY29uc3QgYSBvZiBlKSgoaT1hKWluc3RhbmNlb2YgUmVmfHxpIGluc3RhbmNlb2YgRGljdHx8aSBpbnN0YW5jZW9mIEJhc2VTdHJlYW18fEFycmF5LmlzQXJyYXkoaSkpJiZ0LnB1c2goYSk7dmFyIGl9Y2xhc3MgT2JqZWN0TG9hZGVye2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLmRpY3Q9ZTt0aGlzLmtleXM9dDt0aGlzLnhyZWY9aTt0aGlzLnJlZlNldD1udWxsfWFzeW5jIGxvYWQoKXtpZih0aGlzLnhyZWYuc3RyZWFtLmlzRGF0YUxvYWRlZClyZXR1cm47Y29uc3R7a2V5czplLGRpY3Q6dH09dGhpczt0aGlzLnJlZlNldD1uZXcgUmVmU2V0O2NvbnN0IGk9W107Zm9yKGNvbnN0IGEgb2YgZSl7Y29uc3QgZT10LmdldFJhdyhhKTt2b2lkIDAhPT1lJiZpLnB1c2goZSl9cmV0dXJuIHRoaXMuX3dhbGsoaSl9YXN5bmMgX3dhbGsoZSl7Y29uc3QgdD1bXSxpPVtdO2Zvcig7ZS5sZW5ndGg7KXtsZXQgYT1lLnBvcCgpO2lmKGEgaW5zdGFuY2VvZiBSZWYpe2lmKHRoaXMucmVmU2V0LmhhcyhhKSljb250aW51ZTt0cnl7dGhpcy5yZWZTZXQucHV0KGEpO2E9dGhpcy54cmVmLmZldGNoKGEpfWNhdGNoKGUpe2lmKCEoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKSl7d2FybihgT2JqZWN0TG9hZGVyLl93YWxrIC0gcmVxdWVzdGluZyBhbGwgZGF0YTogIiR7ZX0iLmApO3RoaXMucmVmU2V0PW51bGw7Y29uc3R7bWFuYWdlcjp0fT10aGlzLnhyZWYuc3RyZWFtO3JldHVybiB0LnJlcXVlc3RBbGxDaHVua3MoKX10LnB1c2goYSk7aS5wdXNoKHtiZWdpbjplLmJlZ2luLGVuZDplLmVuZH0pfX1pZihhIGluc3RhbmNlb2YgQmFzZVN0cmVhbSl7Y29uc3QgZT1hLmdldEJhc2VTdHJlYW1zKCk7aWYoZSl7bGV0IHM9ITE7Zm9yKGNvbnN0IHQgb2YgZSlpZighdC5pc0RhdGFMb2FkZWQpe3M9ITA7aS5wdXNoKHtiZWdpbjp0LnN0YXJ0LGVuZDp0LmVuZH0pfXMmJnQucHVzaChhKX19YWRkQ2hpbGRyZW4oYSxlKX1pZihpLmxlbmd0aCl7YXdhaXQgdGhpcy54cmVmLnN0cmVhbS5tYW5hZ2VyLnJlcXVlc3RSYW5nZXMoaSk7Zm9yKGNvbnN0IGUgb2YgdCllIGluc3RhbmNlb2YgUmVmJiZ0aGlzLnJlZlNldC5yZW1vdmUoZSk7cmV0dXJuIHRoaXMuX3dhbGsodCl9dGhpcy5yZWZTZXQ9bnVsbH19Y29uc3QgVnM9U3ltYm9sKCksenM9U3ltYm9sKCksX3M9U3ltYm9sKCksJHM9U3ltYm9sKCksQXI9U3ltYm9sKCksZXI9U3ltYm9sKCksdHI9U3ltYm9sKCksaXI9U3ltYm9sKCksYXI9U3ltYm9sKCksc3I9U3ltYm9sKCJjb250ZW50IikscnI9U3ltYm9sKCJkYXRhIiksbnI9U3ltYm9sKCksZ3I9U3ltYm9sKCJleHRyYSIpLG9yPVN5bWJvbCgpLElyPVN5bWJvbCgpLGNyPVN5bWJvbCgpLENyPVN5bWJvbCgpLGhyPVN5bWJvbCgpLGxyPVN5bWJvbCgpLFFyPVN5bWJvbCgpLEVyPVN5bWJvbCgpLHVyPVN5bWJvbCgpLGRyPVN5bWJvbCgpLGZyPVN5bWJvbCgpLHByPVN5bWJvbCgpLG1yPVN5bWJvbCgpLHlyPVN5bWJvbCgpLHdyPVN5bWJvbCgpLERyPVN5bWJvbCgpLGJyPVN5bWJvbCgpLEZyPVN5bWJvbCgpLFNyPVN5bWJvbCgpLGtyPVN5bWJvbCgpLFJyPVN5bWJvbCgpLE5yPVN5bWJvbCgpLEdyPVN5bWJvbCgpLHhyPVN5bWJvbCgpLFVyPVN5bWJvbCgpLE1yPVN5bWJvbCgpLExyPVN5bWJvbCgpLEhyPVN5bWJvbCgpLEpyPVN5bWJvbCgpLFlyPVN5bWJvbCgpLHZyPVN5bWJvbCgpLEtyPVN5bWJvbCgpLFRyPVN5bWJvbCgibmFtZXNwYWNlSWQiKSxxcj1TeW1ib2woIm5vZGVOYW1lIiksT3I9U3ltYm9sKCksUHI9U3ltYm9sKCksV3I9U3ltYm9sKCksanI9U3ltYm9sKCksWHI9U3ltYm9sKCksWnI9U3ltYm9sKCksVnI9U3ltYm9sKCksenI9U3ltYm9sKCksX3I9U3ltYm9sKCJyb290IiksJHI9U3ltYm9sKCksQW49U3ltYm9sKCksZW49U3ltYm9sKCksdG49U3ltYm9sKCksYW49U3ltYm9sKCksc249U3ltYm9sKCkscm49U3ltYm9sKCksbm49U3ltYm9sKCksZ249U3ltYm9sKCksb249U3ltYm9sKCksSW49U3ltYm9sKCksY249U3ltYm9sKCJ1aWQiKSxDbj1TeW1ib2woKSxobj17Y29uZmlnOntpZDowLGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94Y2kvIil9LGNvbm5lY3Rpb25TZXQ6e2lkOjEsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1jb25uZWN0aW9uLXNldC8iKX0sZGF0YXNldHM6e2lkOjIsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1kYXRhLyIpfSxmb3JtOntpZDozLGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtZm9ybS8iKX0sbG9jYWxlU2V0OntpZDo0LGNoZWNrOmU9PmUuc3RhcnRzV2l0aCgiaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtbG9jYWxlLXNldC8iKX0scGRmOntpZDo1LGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3hkcC9wZGYvIj09PWV9LHNpZ25hdHVyZTp7aWQ6NixjaGVjazplPT4iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI9PT1lfSxzb3VyY2VTZXQ6e2lkOjcsY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS1zb3VyY2Utc2V0LyIpfSxzdHlsZXNoZWV0OntpZDo4LGNoZWNrOmU9PiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iPT09ZX0sdGVtcGxhdGU6e2lkOjksY2hlY2s6ZT0+ZS5zdGFydHNXaXRoKCJodHRwOi8vd3d3LnhmYS5vcmcvc2NoZW1hL3hmYS10ZW1wbGF0ZS8iKX0seGRjOntpZDoxMCxjaGVjazplPT5lLnN0YXJ0c1dpdGgoImh0dHA6Ly93d3cueGZhLm9yZy9zY2hlbWEveGRjLyIpfSx4ZHA6e2lkOjExLGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3hkcC8iPT09ZX0seGZkZjp7aWQ6MTIsY2hlY2s6ZT0+Imh0dHA6Ly9ucy5hZG9iZS5jb20veGZkZi8iPT09ZX0seGh0bWw6e2lkOjEzLGNoZWNrOmU9PiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWV9LHhtcG1ldGE6e2lkOjE0LGNoZWNrOmU9PiJodHRwOi8vbnMuYWRvYmUuY29tL3htcG1ldGEvIj09PWV9fSxCbj17cHQ6ZT0+ZSxjbTplPT5lLzIuNTQqNzIsbW06ZT0+ZS8yNS40KjcyLGluOmU9PjcyKmUscHg6ZT0+ZX0sbG49LyhbKy1dP1xkK1wuP1xkKikoLiopLztmdW5jdGlvbiBzdHJpcFF1b3RlcyhlKXtyZXR1cm4gZS5zdGFydHNXaXRoKCInIil8fGUuc3RhcnRzV2l0aCgnIicpP2Uuc2xpY2UoMSwtMSk6ZX1mdW5jdGlvbiBnZXRJbnRlZ2VyKHtkYXRhOmUsZGVmYXVsdFZhbHVlOnQsdmFsaWRhdGU6aX0pe2lmKCFlKXJldHVybiB0O2U9ZS50cmltKCk7Y29uc3QgYT1wYXJzZUludChlLDEwKTtyZXR1cm4haXNOYU4oYSkmJmkoYSk/YTp0fWZ1bmN0aW9uIGdldEZsb2F0KHtkYXRhOmUsZGVmYXVsdFZhbHVlOnQsdmFsaWRhdGU6aX0pe2lmKCFlKXJldHVybiB0O2U9ZS50cmltKCk7Y29uc3QgYT1wYXJzZUZsb2F0KGUpO3JldHVybiFpc05hTihhKSYmaShhKT9hOnR9ZnVuY3Rpb24gZ2V0S2V5d29yZCh7ZGF0YTplLGRlZmF1bHRWYWx1ZTp0LHZhbGlkYXRlOml9KXtyZXR1cm4gZSYmaShlPWUudHJpbSgpKT9lOnR9ZnVuY3Rpb24gZ2V0U3RyaW5nT3B0aW9uKGUsdCl7cmV0dXJuIGdldEtleXdvcmQoe2RhdGE6ZSxkZWZhdWx0VmFsdWU6dFswXSx2YWxpZGF0ZTplPT50LmluY2x1ZGVzKGUpfSl9ZnVuY3Rpb24gZ2V0TWVhc3VyZW1lbnQoZSx0PSIwIil7dHx8PSIwIjtpZighZSlyZXR1cm4gZ2V0TWVhc3VyZW1lbnQodCk7Y29uc3QgaT1lLnRyaW0oKS5tYXRjaChsbik7aWYoIWkpcmV0dXJuIGdldE1lYXN1cmVtZW50KHQpO2NvbnN0WyxhLHNdPWkscj1wYXJzZUZsb2F0KGEpO2lmKGlzTmFOKHIpKXJldHVybiBnZXRNZWFzdXJlbWVudCh0KTtpZigwPT09cilyZXR1cm4gMDtjb25zdCBuPUJuW3NdO3JldHVybiBuP24ocik6cn1mdW5jdGlvbiBnZXRSYXRpbyhlKXtpZighZSlyZXR1cm57bnVtOjEsZGVuOjF9O2NvbnN0IHQ9ZS50cmltKCkuc3BsaXQoL1xzKjpccyovKS5tYXAoKGU9PnBhcnNlRmxvYXQoZSkpKS5maWx0ZXIoKGU9PiFpc05hTihlKSkpOzE9PT10Lmxlbmd0aCYmdC5wdXNoKDEpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm57bnVtOjEsZGVuOjF9O2NvbnN0W2ksYV09dDtyZXR1cm57bnVtOmksZGVuOmF9fWZ1bmN0aW9uIGdldFJlbGV2YW50KGUpe3JldHVybiBlP2UudHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKGU9Pih7ZXhjbHVkZWQ6Ii0iPT09ZVswXSx2aWV3bmFtZTplLnN1YnN0cmluZygxKX0pKSk6W119Y2xhc3MgSFRNTFJlc3VsdHtzdGF0aWMgZ2V0IEZBSUxVUkUoKXtyZXR1cm4gc2hhZG93KHRoaXMsIkZBSUxVUkUiLG5ldyBIVE1MUmVzdWx0KCExLG51bGwsbnVsbCxudWxsKSl9c3RhdGljIGdldCBFTVBUWSgpe3JldHVybiBzaGFkb3codGhpcywiRU1QVFkiLG5ldyBIVE1MUmVzdWx0KCEwLG51bGwsbnVsbCxudWxsKSl9Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5zdWNjZXNzPWU7dGhpcy5odG1sPXQ7dGhpcy5iYm94PWk7dGhpcy5icmVha05vZGU9YX1pc0JyZWFrKCl7cmV0dXJuISF0aGlzLmJyZWFrTm9kZX1zdGF0aWMgYnJlYWtOb2RlKGUpe3JldHVybiBuZXcgSFRNTFJlc3VsdCghMSxudWxsLG51bGwsZSl9c3RhdGljIHN1Y2Nlc3MoZSx0PW51bGwpe3JldHVybiBuZXcgSFRNTFJlc3VsdCghMCxlLHQsbnVsbCl9fWNsYXNzIEZvbnRGaW5kZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5mb250cz1uZXcgTWFwO3RoaXMuY2FjaGU9bmV3IE1hcDt0aGlzLndhcm5lZD1uZXcgU2V0O3RoaXMuZGVmYXVsdEZvbnQ9bnVsbDt0aGlzLmFkZChlKX1hZGQoZSx0PW51bGwpe2Zvcihjb25zdCB0IG9mIGUpdGhpcy5hZGRQZGZGb250KHQpO2Zvcihjb25zdCBlIG9mIHRoaXMuZm9udHMudmFsdWVzKCkpZS5yZWd1bGFyfHwoZS5yZWd1bGFyPWUuaXRhbGljfHxlLmJvbGR8fGUuYm9sZGl0YWxpYyk7aWYoIXR8fDA9PT10LnNpemUpcmV0dXJuO2NvbnN0IGk9dGhpcy5mb250cy5nZXQoIlBkZkpTLUZhbGxiYWNrLVBkZkpTLVhGQSIpO2Zvcihjb25zdCBlIG9mIHQpdGhpcy5mb250cy5zZXQoZSxpKX1hZGRQZGZGb250KGUpe2NvbnN0IHQ9ZS5jc3NGb250SW5mbyxpPXQuZm9udEZhbWlseTtsZXQgYT10aGlzLmZvbnRzLmdldChpKTtpZighYSl7YT1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuZm9udHMuc2V0KGksYSk7dGhpcy5kZWZhdWx0Rm9udHx8KHRoaXMuZGVmYXVsdEZvbnQ9YSl9bGV0IHM9IiI7Y29uc3Qgcj1wYXJzZUZsb2F0KHQuZm9udFdlaWdodCk7MCE9PXBhcnNlRmxvYXQodC5pdGFsaWNBbmdsZSk/cz1yPj03MDA/ImJvbGRpdGFsaWMiOiJpdGFsaWMiOnI+PTcwMCYmKHM9ImJvbGQiKTtpZighcyl7KGUubmFtZS5pbmNsdWRlcygiQm9sZCIpfHxlLnBzTmFtZT8uaW5jbHVkZXMoIkJvbGQiKSkmJihzPSJib2xkIik7KGUubmFtZS5pbmNsdWRlcygiSXRhbGljIil8fGUubmFtZS5lbmRzV2l0aCgiSXQiKXx8ZS5wc05hbWU/LmluY2x1ZGVzKCJJdGFsaWMiKXx8ZS5wc05hbWU/LmVuZHNXaXRoKCJJdCIpKSYmKHMrPSJpdGFsaWMiKX1zfHwocz0icmVndWxhciIpO2Fbc109ZX1nZXREZWZhdWx0KCl7cmV0dXJuIHRoaXMuZGVmYXVsdEZvbnR9ZmluZChlLHQ9ITApe2xldCBpPXRoaXMuZm9udHMuZ2V0KGUpfHx0aGlzLmNhY2hlLmdldChlKTtpZihpKXJldHVybiBpO2NvbnN0IGE9Lyx8LXxffCB8Ym9sZGl0YWxpY3xib2xkfGl0YWxpY3xyZWd1bGFyfGl0L2dpO2xldCBzPWUucmVwbGFjZUFsbChhLCIiKTtpPXRoaXMuZm9udHMuZ2V0KHMpO2lmKGkpe3RoaXMuY2FjaGUuc2V0KGUsaSk7cmV0dXJuIGl9cz1zLnRvTG93ZXJDYXNlKCk7Y29uc3Qgcj1bXTtmb3IoY29uc3RbZSx0XW9mIHRoaXMuZm9udHMuZW50cmllcygpKWUucmVwbGFjZUFsbChhLCIiKS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgocykmJnIucHVzaCh0KTtpZigwPT09ci5sZW5ndGgpZm9yKGNvbnN0WyxlXW9mIHRoaXMuZm9udHMuZW50cmllcygpKWUucmVndWxhci5uYW1lPy5yZXBsYWNlQWxsKGEsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKSYmci5wdXNoKGUpO2lmKDA9PT1yLmxlbmd0aCl7cz1zLnJlcGxhY2VBbGwoL3BzbXR8bXQvZ2ksIiIpO2Zvcihjb25zdFtlLHRdb2YgdGhpcy5mb250cy5lbnRyaWVzKCkpZS5yZXBsYWNlQWxsKGEsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKSYmci5wdXNoKHQpfWlmKDA9PT1yLmxlbmd0aClmb3IoY29uc3QgZSBvZiB0aGlzLmZvbnRzLnZhbHVlcygpKWUucmVndWxhci5uYW1lPy5yZXBsYWNlQWxsKGEsIiIpLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChzKSYmci5wdXNoKGUpO2lmKHIubGVuZ3RoPj0xKXsxIT09ci5sZW5ndGgmJnQmJndhcm4oYFhGQSAtIFRvbyBtYW55IGNob2ljZXMgdG8gZ3Vlc3MgdGhlIGNvcnJlY3QgZm9udDogJHtlfWApO3RoaXMuY2FjaGUuc2V0KGUsclswXSk7cmV0dXJuIHJbMF19aWYodCYmIXRoaXMud2FybmVkLmhhcyhlKSl7dGhpcy53YXJuZWQuYWRkKGUpO3dhcm4oYFhGQSAtIENhbm5vdCBmaW5kIHRoZSBmb250OiAke2V9YCl9cmV0dXJuIG51bGx9fWZ1bmN0aW9uIHNlbGVjdEZvbnQoZSx0KXtyZXR1cm4iaXRhbGljIj09PWUucG9zdHVyZT8iYm9sZCI9PT1lLndlaWdodD90LmJvbGRpdGFsaWM6dC5pdGFsaWM6ImJvbGQiPT09ZS53ZWlnaHQ/dC5ib2xkOnQucmVndWxhcn1jbGFzcyBGb250SW5mb3tjb25zdHJ1Y3RvcihlLHQsaSxhKXt0aGlzLmxpbmVIZWlnaHQ9aTt0aGlzLnBhcmFNYXJnaW49dHx8e3RvcDowLGJvdHRvbTowLGxlZnQ6MCxyaWdodDowfTtpZighZSl7W3RoaXMucGRmRm9udCx0aGlzLnhmYUZvbnRdPXRoaXMuZGVmYXVsdEZvbnQoYSk7cmV0dXJufXRoaXMueGZhRm9udD17dHlwZWZhY2U6ZS50eXBlZmFjZSxwb3N0dXJlOmUucG9zdHVyZSx3ZWlnaHQ6ZS53ZWlnaHQsc2l6ZTplLnNpemUsbGV0dGVyU3BhY2luZzplLmxldHRlclNwYWNpbmd9O2NvbnN0IHM9YS5maW5kKGUudHlwZWZhY2UpO2lmKHMpe3RoaXMucGRmRm9udD1zZWxlY3RGb250KGUscyk7dGhpcy5wZGZGb250fHwoW3RoaXMucGRmRm9udCx0aGlzLnhmYUZvbnRdPXRoaXMuZGVmYXVsdEZvbnQoYSkpfWVsc2VbdGhpcy5wZGZGb250LHRoaXMueGZhRm9udF09dGhpcy5kZWZhdWx0Rm9udChhKX1kZWZhdWx0Rm9udChlKXtjb25zdCB0PWUuZmluZCgiSGVsdmV0aWNhIiwhMSl8fGUuZmluZCgiTXlyaWFkIFBybyIsITEpfHxlLmZpbmQoIkFyaWFsIiwhMSl8fGUuZ2V0RGVmYXVsdCgpO2lmKHQ/LnJlZ3VsYXIpe2NvbnN0IGU9dC5yZWd1bGFyO3JldHVybltlLHt0eXBlZmFjZTplLmNzc0ZvbnRJbmZvLmZvbnRGYW1pbHkscG9zdHVyZToibm9ybWFsIix3ZWlnaHQ6Im5vcm1hbCIsc2l6ZToxMCxsZXR0ZXJTcGFjaW5nOjB9XX1yZXR1cm5bbnVsbCx7dHlwZWZhY2U6IkNvdXJpZXIiLHBvc3R1cmU6Im5vcm1hbCIsd2VpZ2h0OiJub3JtYWwiLHNpemU6MTAsbGV0dGVyU3BhY2luZzowfV19fWNsYXNzIEZvbnRTZWxlY3Rvcntjb25zdHJ1Y3RvcihlLHQsaSxhKXt0aGlzLmZvbnRGaW5kZXI9YTt0aGlzLnN0YWNrPVtuZXcgRm9udEluZm8oZSx0LGksYSldfXB1c2hEYXRhKGUsdCxpKXtjb25zdCBhPXRoaXMuc3RhY2suYXQoLTEpO2Zvcihjb25zdCB0IG9mWyJ0eXBlZmFjZSIsInBvc3R1cmUiLCJ3ZWlnaHQiLCJzaXplIiwibGV0dGVyU3BhY2luZyJdKWVbdF18fChlW3RdPWEueGZhRm9udFt0XSk7Zm9yKGNvbnN0IGUgb2ZbInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCJdKWlzTmFOKHRbZV0pJiYodFtlXT1hLnBhcmFNYXJnaW5bZV0pO2NvbnN0IHM9bmV3IEZvbnRJbmZvKGUsdCxpfHxhLmxpbmVIZWlnaHQsdGhpcy5mb250RmluZGVyKTtzLnBkZkZvbnR8fChzLnBkZkZvbnQ9YS5wZGZGb250KTt0aGlzLnN0YWNrLnB1c2gocyl9cG9wRm9udCgpe3RoaXMuc3RhY2sucG9wKCl9dG9wRm9udCgpe3JldHVybiB0aGlzLnN0YWNrLmF0KC0xKX19Y2xhc3MgVGV4dE1lYXN1cmV7Y29uc3RydWN0b3IoZSx0LGksYSl7dGhpcy5nbHlwaHM9W107dGhpcy5mb250U2VsZWN0b3I9bmV3IEZvbnRTZWxlY3RvcihlLHQsaSxhKTt0aGlzLmV4dHJhSGVpZ2h0PTB9cHVzaERhdGEoZSx0LGkpe3RoaXMuZm9udFNlbGVjdG9yLnB1c2hEYXRhKGUsdCxpKX1wb3BGb250KGUpe3JldHVybiB0aGlzLmZvbnRTZWxlY3Rvci5wb3BGb250KCl9YWRkUGFyYSgpe2NvbnN0IGU9dGhpcy5mb250U2VsZWN0b3IudG9wRm9udCgpO3RoaXMuZXh0cmFIZWlnaHQrPWUucGFyYU1hcmdpbi50b3ArZS5wYXJhTWFyZ2luLmJvdHRvbX1hZGRTdHJpbmcoZSl7aWYoIWUpcmV0dXJuO2NvbnN0IHQ9dGhpcy5mb250U2VsZWN0b3IudG9wRm9udCgpLGk9dC54ZmFGb250LnNpemU7aWYodC5wZGZGb250KXtjb25zdCBhPXQueGZhRm9udC5sZXR0ZXJTcGFjaW5nLHM9dC5wZGZGb250LHI9cy5saW5lSGVpZ2h0fHwxLjIsbj10LmxpbmVIZWlnaHR8fE1hdGgubWF4KDEuMixyKSppLGc9ci0odm9pZCAwPT09cy5saW5lR2FwPy4yOnMubGluZUdhcCksbz1NYXRoLm1heCgxLGcpKmksYz1pLzFlMyxDPXMuZGVmYXVsdFdpZHRofHxzLmNoYXJzVG9HbHlwaHMoIiAiKVswXS53aWR0aDtmb3IoY29uc3QgdCBvZiBlLnNwbGl0KC9bXHUyMDI5XG5dLykpe2NvbnN0IGU9cy5lbmNvZGVTdHJpbmcodCkuam9pbigiIiksaT1zLmNoYXJzVG9HbHlwaHMoZSk7Zm9yKGNvbnN0IGUgb2YgaSl7Y29uc3QgdD1lLndpZHRofHxDO3RoaXMuZ2x5cGhzLnB1c2goW3QqYythLG4sbyxlLnVuaWNvZGUsITFdKX10aGlzLmdseXBocy5wdXNoKFswLDAsMCwiXG4iLCEwXSl9dGhpcy5nbHlwaHMucG9wKCl9ZWxzZXtmb3IoY29uc3QgdCBvZiBlLnNwbGl0KC9bXHUyMDI5XG5dLykpe2Zvcihjb25zdCBlIG9mIHQuc3BsaXQoIiIpKXRoaXMuZ2x5cGhzLnB1c2goW2ksMS4yKmksaSxlLCExXSk7dGhpcy5nbHlwaHMucHVzaChbMCwwLDAsIlxuIiwhMF0pfXRoaXMuZ2x5cGhzLnBvcCgpfX1jb21wdXRlKGUpe2xldCB0PS0xLGk9MCxhPTAscz0wLHI9MCxuPTAsZz0hMSxvPSEwO2ZvcihsZXQgYz0wLEM9dGhpcy5nbHlwaHMubGVuZ3RoO2M8QztjKyspe2NvbnN0W0MsaCxsLFEsRV09dGhpcy5nbHlwaHNbY10sdT0iICI9PT1RLGQ9bz9sOmg7aWYoRSl7YT1NYXRoLm1heChhLHIpO3I9MDtzKz1uO249ZDt0PS0xO2k9MDtvPSExfWVsc2UgaWYodSlpZihyK0M+ZSl7YT1NYXRoLm1heChhLHIpO3I9MDtzKz1uO249ZDt0PS0xO2k9MDtnPSEwO289ITF9ZWxzZXtuPU1hdGgubWF4KGQsbik7aT1yO3IrPUM7dD1jfWVsc2UgaWYocitDPmUpe3MrPW47bj1kO2lmKC0xIT09dCl7Yz10O2E9TWF0aC5tYXgoYSxpKTtyPTA7dD0tMTtpPTB9ZWxzZXthPU1hdGgubWF4KGEscik7cj1DfWc9ITA7bz0hMX1lbHNle3IrPUM7bj1NYXRoLm1heChkLG4pfX1hPU1hdGgubWF4KGEscik7cys9bit0aGlzLmV4dHJhSGVpZ2h0O3JldHVybnt3aWR0aDoxLjAyKmEsaGVpZ2h0OnMsaXNCcm9rZW46Z319fWNvbnN0IFFuPS9eW14uW10rLyxFbj0vXlteXF1dKy8sdW49e2RvdDowLGRvdERvdDoxLGRvdEhhc2g6Mixkb3RCcmFja2V0OjMsZG90UGFyZW46NH0sZG49bmV3IE1hcChbWyIkZGF0YSIsKGUsdCk9PmUuZGF0YXNldHM/ZS5kYXRhc2V0cy5kYXRhOmVdLFsiJHJlY29yZCIsKGUsdCk9PihlLmRhdGFzZXRzP2UuZGF0YXNldHMuZGF0YTplKVtwcl0oKVswXV0sWyIkdGVtcGxhdGUiLChlLHQpPT5lLnRlbXBsYXRlXSxbIiRjb25uZWN0aW9uU2V0IiwoZSx0KT0+ZS5jb25uZWN0aW9uU2V0XSxbIiRmb3JtIiwoZSx0KT0+ZS5mb3JtXSxbIiRsYXlvdXQiLChlLHQpPT5lLmxheW91dF0sWyIkaG9zdCIsKGUsdCk9PmUuaG9zdF0sWyIkZGF0YVdpbmRvdyIsKGUsdCk9PmUuZGF0YVdpbmRvd10sWyIkZXZlbnQiLChlLHQpPT5lLmV2ZW50XSxbIiEiLChlLHQpPT5lLmRhdGFzZXRzXSxbIiR4ZmEiLChlLHQpPT5lXSxbInhmYSIsKGUsdCk9PmVdLFsiJCIsKGUsdCk9PnRdXSksZm49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gcGFyc2VFeHByZXNzaW9uKGUsdCxpPSEwKXtsZXQgYT1lLm1hdGNoKFFuKTtpZighYSlyZXR1cm4gbnVsbDtsZXRbc109YTtjb25zdCByPVt7bmFtZTpzLGNhY2hlTmFtZToiLiIrcyxpbmRleDowLGpzOm51bGwsZm9ybUNhbGM6bnVsbCxvcGVyYXRvcjp1bi5kb3R9XTtsZXQgbj1zLmxlbmd0aDtmb3IoO248ZS5sZW5ndGg7KXtjb25zdCBvPW47aWYoIlsiPT09ZS5jaGFyQXQobisrKSl7YT1lLnNsaWNlKG4pLm1hdGNoKEVuKTtpZighYSl7d2FybigiWEZBIC0gSW52YWxpZCBpbmRleCBpbiBTT00gZXhwcmVzc2lvbiIpO3JldHVybiBudWxsfXIuYXQoLTEpLmluZGV4PSIqIj09PShnPShnPWFbMF0pLnRyaW0oKSk/MS8wOnBhcnNlSW50KGcsMTApfHwwO24rPWFbMF0ubGVuZ3RoKzE7Y29udGludWV9bGV0IGM7c3dpdGNoKGUuY2hhckF0KG4pKXtjYXNlIi4iOmlmKCF0KXJldHVybiBudWxsO24rKztjPXVuLmRvdERvdDticmVhaztjYXNlIiMiOm4rKztjPXVuLmRvdEhhc2g7YnJlYWs7Y2FzZSJbIjppZihpKXt3YXJuKCJYRkEgLSBTT00gZXhwcmVzc2lvbiBjb250YWlucyBhIEZvcm1DYWxjIHN1YmV4cHJlc3Npb24gd2hpY2ggaXMgbm90IHN1cHBvcnRlZCBmb3Igbm93LiIpO3JldHVybiBudWxsfWM9dW4uZG90QnJhY2tldDticmVhaztjYXNlIigiOmlmKGkpe3dhcm4oIlhGQSAtIFNPTSBleHByZXNzaW9uIGNvbnRhaW5zIGEgSmF2YVNjcmlwdCBzdWJleHByZXNzaW9uIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIG5vdy4iKTtyZXR1cm4gbnVsbH1jPXVuLmRvdFBhcmVuO2JyZWFrO2RlZmF1bHQ6Yz11bi5kb3R9YT1lLnNsaWNlKG4pLm1hdGNoKFFuKTtpZighYSlicmVhaztbc109YTtuKz1zLmxlbmd0aDtyLnB1c2goe25hbWU6cyxjYWNoZU5hbWU6ZS5zbGljZShvLG4pLG9wZXJhdG9yOmMsaW5kZXg6MCxqczpudWxsLGZvcm1DYWxjOm51bGx9KX12YXIgZztyZXR1cm4gcn1mdW5jdGlvbiBzZWFyY2hOb2RlKGUsdCxpLGE9ITAscz0hMCl7Y29uc3Qgcj1wYXJzZUV4cHJlc3Npb24oaSxhKTtpZighcilyZXR1cm4gbnVsbDtjb25zdCBuPWRuLmdldChyWzBdLm5hbWUpO2xldCBnLG89MDtpZihuKXtnPSEwO2U9W24oZSx0KV07bz0xfWVsc2V7Zz1udWxsPT09dDtlPVt0fHxlXX1mb3IobGV0IGk9ci5sZW5ndGg7bzxpO28rKyl7Y29uc3R7bmFtZTppLGNhY2hlTmFtZTphLG9wZXJhdG9yOm4saW5kZXg6Y309cltvXSxDPVtdO2Zvcihjb25zdCB0IG9mIGUpe2lmKCF0LmlzWEZBT2JqZWN0KWNvbnRpbnVlO2xldCBlLHI7aWYocyl7cj1mbi5nZXQodCk7aWYoIXIpe3I9bmV3IE1hcDtmbi5zZXQodCxyKX1lPXIuZ2V0KGEpfWlmKCFlKXtzd2l0Y2gobil7Y2FzZSB1bi5kb3Q6ZT10W1FyXShpLCExKTticmVhaztjYXNlIHVuLmRvdERvdDplPXRbUXJdKGksITApO2JyZWFrO2Nhc2UgdW4uZG90SGFzaDplPXRbbHJdKGkpO2U9ZS5pc1hGQU9iamVjdEFycmF5P2UuY2hpbGRyZW46W2VdfXMmJnIuc2V0KGEsZSl9ZS5sZW5ndGg+MCYmQy5wdXNoKGUpfWlmKDAhPT1DLmxlbmd0aHx8Z3x8MCE9PW8pZT1pc0Zpbml0ZShjKT9DLmZpbHRlcigoZT0+YzxlLmxlbmd0aCkpLm1hcCgoZT0+ZVtjXSkpOkMuZmxhdCgpO2Vsc2V7Y29uc3QgaT10W0RyXSgpO2lmKCEodD1pKSlyZXR1cm4gbnVsbDtvPS0xO2U9W3RdfX1yZXR1cm4gMD09PWUubGVuZ3RoP251bGw6ZX1mdW5jdGlvbiBjcmVhdGVEYXRhTm9kZShlLHQsaSl7Y29uc3QgYT1wYXJzZUV4cHJlc3Npb24oaSk7aWYoIWEpcmV0dXJuIG51bGw7aWYoYS5zb21lKChlPT5lLm9wZXJhdG9yPT09dW4uZG90RG90KSkpcmV0dXJuIG51bGw7Y29uc3Qgcz1kbi5nZXQoYVswXS5uYW1lKTtsZXQgcj0wO2lmKHMpe2U9cyhlLHQpO3I9MX1lbHNlIGU9dHx8ZTtmb3IobGV0IHQ9YS5sZW5ndGg7cjx0O3IrKyl7Y29uc3R7bmFtZTp0LG9wZXJhdG9yOmksaW5kZXg6c309YVtyXTtpZighaXNGaW5pdGUocykpe2Fbcl0uaW5kZXg9MDtyZXR1cm4gZS5jcmVhdGVOb2RlcyhhLnNsaWNlKHIpKX1sZXQgbjtzd2l0Y2goaSl7Y2FzZSB1bi5kb3Q6bj1lW1FyXSh0LCExKTticmVhaztjYXNlIHVuLmRvdERvdDpuPWVbUXJdKHQsITApO2JyZWFrO2Nhc2UgdW4uZG90SGFzaDpuPWVbbHJdKHQpO249bi5pc1hGQU9iamVjdEFycmF5P24uY2hpbGRyZW46W25dfWlmKDA9PT1uLmxlbmd0aClyZXR1cm4gZS5jcmVhdGVOb2RlcyhhLnNsaWNlKHIpKTtpZighKHM8bi5sZW5ndGgpKXthW3JdLmluZGV4PXMtbi5sZW5ndGg7cmV0dXJuIGUuY3JlYXRlTm9kZXMoYS5zbGljZShyKSl9e2NvbnN0IHQ9bltzXTtpZighdC5pc1hGQU9iamVjdCl7d2FybigiWEZBIC0gQ2Fubm90IGNyZWF0ZSBhIG5vZGUuIik7cmV0dXJuIG51bGx9ZT10fX1yZXR1cm4gbnVsbH1jb25zdCBwbj1TeW1ib2woKSxtbj1TeW1ib2woKSx5bj1TeW1ib2woKSx3bj1TeW1ib2woIl9jaGlsZHJlbiIpLERuPVN5bWJvbCgpLGJuPVN5bWJvbCgpLEZuPVN5bWJvbCgpLFNuPVN5bWJvbCgpLGtuPVN5bWJvbCgpLFJuPVN5bWJvbCgpLE5uPVN5bWJvbCgpLEduPVN5bWJvbCgpLHhuPVN5bWJvbCgpLFVuPVN5bWJvbCgicGFyZW50IiksTW49U3ltYm9sKCksTG49U3ltYm9sKCksSG49U3ltYm9sKCk7bGV0IEpuPTA7Y29uc3QgWW49aG4uZGF0YXNldHMuaWQ7Y2xhc3MgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUsdCxpPSExKXt0aGlzW1RyXT1lO3RoaXNbcXJdPXQ7dGhpc1tObl09aTt0aGlzW1VuXT1udWxsO3RoaXNbd25dPVtdO3RoaXNbY25dPWAke3R9JHtKbisrfWA7dGhpc1tGcl09bnVsbH1nZXQgaXNYRkFPYmplY3QoKXtyZXR1cm4hMH1nZXQgaXNYRkFPYmplY3RBcnJheSgpe3JldHVybiExfWNyZWF0ZU5vZGVzKGUpe2xldCB0PXRoaXMsaT1udWxsO2Zvcihjb25zdHtuYW1lOmEsaW5kZXg6c31vZiBlKXtmb3IobGV0IGU9MCxyPWlzRmluaXRlKHMpP3M6MDtlPD1yO2UrKyl7Y29uc3QgZT10W1RyXT09PVluPy0xOnRbVHJdO2k9bmV3IFhtbE9iamVjdChlLGEpO3RbX3NdKGkpfXQ9aX1yZXR1cm4gaX1bUHJdKGUpe2lmKCF0aGlzW05uXXx8IXRoaXNbV3JdKGUpKXJldHVybiExO2NvbnN0IHQ9ZVtxcl0saT10aGlzW3RdO2lmKCEoaSBpbnN0YW5jZW9mIFhGQU9iamVjdEFycmF5KSl7bnVsbCE9PWkmJnRoaXNbenJdKGkpO3RoaXNbdF09ZTt0aGlzW19zXShlKTtyZXR1cm4hMH1pZihpLnB1c2goZSkpe3RoaXNbX3NdKGUpO3JldHVybiEwfWxldCBhPSIiO3RoaXMuaWQ/YT1gIChpZDogJHt0aGlzLmlkfSlgOnRoaXMubmFtZSYmKGE9YCAobmFtZTogJHt0aGlzLm5hbWV9ICR7dGhpcy5oLnZhbHVlfSlgKTt3YXJuKGBYRkEgLSBub2RlICIke3RoaXNbcXJdfSIke2F9IGhhcyBhbHJlYWR5IGVub3VnaCAiJHt0fSIhYCk7cmV0dXJuITF9W1dyXShlKXtyZXR1cm4gdGhpcy5oYXNPd25Qcm9wZXJ0eShlW3FyXSkmJmVbVHJdPT09dGhpc1tUcl19W0xyXSgpe3JldHVybiExfVtWc10oKXtyZXR1cm4hMX1bR3JdKCl7cmV0dXJuITF9W3hyXSgpe3JldHVybiExfVtacl0oKXt0aGlzLnBhcmEmJnRoaXNbYnJdKClbZ3JdLnBhcmFTdGFjay5wb3AoKX1bVnJdKCl7dGhpc1ticl0oKVtncl0ucGFyYVN0YWNrLnB1c2godGhpcy5wYXJhKX1bZW5dKGUpe3RoaXMuaWQmJnRoaXNbVHJdPT09aG4udGVtcGxhdGUuaWQmJmUuc2V0KHRoaXMuaWQsdGhpcyl9W2JyXSgpe3JldHVybiB0aGlzW0ZyXS50ZW1wbGF0ZX1bSHJdKCl7cmV0dXJuITF9W0pyXSgpe3JldHVybiExfVtfc10oZSl7ZVtVbl09dGhpczt0aGlzW3duXS5wdXNoKGUpOyFlW0ZyXSYmdGhpc1tGcl0mJihlW0ZyXT10aGlzW0ZyXSl9W3pyXShlKXtjb25zdCB0PXRoaXNbd25dLmluZGV4T2YoZSk7dGhpc1t3bl0uc3BsaWNlKHQsMSl9W1NyXSgpe3JldHVybiB0aGlzLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpfVthbl0oZSl7fVtqcl0oZSl7fVtvcl0oKXt9W0FyXShlKXtkZWxldGUgdGhpc1tObl07aWYodGhpc1t0cl0pe2UuY2xlYW4odGhpc1t0cl0pO2RlbGV0ZSB0aGlzW3RyXX19W1JyXShlKXtyZXR1cm4gdGhpc1t3bl0uaW5kZXhPZihlKX1bTnJdKGUsdCl7dFtVbl09dGhpczt0aGlzW3duXS5zcGxpY2UoZSwwLHQpOyF0W0ZyXSYmdGhpc1tGcl0mJih0W0ZyXT10aGlzW0ZyXSl9W1lyXSgpe3JldHVybiF0aGlzLm5hbWV9W0tyXSgpe3JldHVybiIifVtybl0oKXtyZXR1cm4gMD09PXRoaXNbd25dLmxlbmd0aD90aGlzW3NyXTp0aGlzW3duXS5tYXAoKGU9PmVbcm5dKCkpKS5qb2luKCIiKX1nZXRbeW5dKCl7Y29uc3QgZT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyk7aWYoIWUuX2F0dHJpYnV0ZXMpe2NvbnN0IHQ9ZS5fYXR0cmlidXRlcz1uZXcgU2V0O2Zvcihjb25zdCBlIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtpZihudWxsPT09dGhpc1tlXXx8dGhpc1tlXWluc3RhbmNlb2YgWEZBT2JqZWN0fHx0aGlzW2VdaW5zdGFuY2VvZiBYRkFPYmplY3RBcnJheSlicmVhazt0LmFkZChlKX19cmV0dXJuIHNoYWRvdyh0aGlzLHluLGUuX2F0dHJpYnV0ZXMpfVtNcl0oZSl7bGV0IHQ9dGhpcztmb3IoO3Q7KXtpZih0PT09ZSlyZXR1cm4hMDt0PXRbRHJdKCl9cmV0dXJuITF9W0RyXSgpe3JldHVybiB0aGlzW1VuXX1bd3JdKCl7cmV0dXJuIHRoaXNbRHJdKCl9W3ByXShlPW51bGwpe3JldHVybiBlP3RoaXNbZV06dGhpc1t3bl19W25yXSgpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzW3NyXSYmKGUuJGNvbnRlbnQ9dGhpc1tzcl0pO2Zvcihjb25zdCB0IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtjb25zdCBpPXRoaXNbdF07bnVsbCE9PWkmJihpIGluc3RhbmNlb2YgWEZBT2JqZWN0P2VbdF09aVtucl0oKTppIGluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXk/aS5pc0VtcHR5KCl8fChlW3RdPWkuZHVtcCgpKTplW3RdPWkpfXJldHVybiBlfVtJbl0oKXtyZXR1cm4gbnVsbH1bZ25dKCl7cmV0dXJuIEhUTUxSZXN1bHQuRU1QVFl9Klttcl0oKXtmb3IoY29uc3QgZSBvZiB0aGlzW3ByXSgpKXlpZWxkIGV9KltTbl0oZSx0KXtmb3IoY29uc3QgaSBvZiB0aGlzW21yXSgpKWlmKCFlfHx0PT09ZS5oYXMoaVtxcl0pKXtjb25zdCBlPXRoaXNbaHJdKCksdD1pW2duXShlKTt0LnN1Y2Nlc3N8fCh0aGlzW2dyXS5mYWlsaW5nTm9kZT1pKTt5aWVsZCB0fX1bSXJdKCl7cmV0dXJuIG51bGx9W3pzXShlLHQpe3RoaXNbZ3JdLmNoaWxkcmVuLnB1c2goZSl9W2hyXSgpe31bJHNdKHtmaWx0ZXI6ZT1udWxsLGluY2x1ZGU6dD0hMH0pe2lmKHRoaXNbZ3JdLmdlbmVyYXRvcil7Y29uc3QgZT10aGlzW2hyXSgpLHQ9dGhpc1tncl0uZmFpbGluZ05vZGVbZ25dKGUpO2lmKCF0LnN1Y2Nlc3MpcmV0dXJuIHQ7dC5odG1sJiZ0aGlzW3pzXSh0Lmh0bWwsdC5iYm94KTtkZWxldGUgdGhpc1tncl0uZmFpbGluZ05vZGV9ZWxzZSB0aGlzW2dyXS5nZW5lcmF0b3I9dGhpc1tTbl0oZSx0KTtmb3IoOzspe2NvbnN0IGU9dGhpc1tncl0uZ2VuZXJhdG9yLm5leHQoKTtpZihlLmRvbmUpYnJlYWs7Y29uc3QgdD1lLnZhbHVlO2lmKCF0LnN1Y2Nlc3MpcmV0dXJuIHQ7dC5odG1sJiZ0aGlzW3pzXSh0Lmh0bWwsdC5iYm94KX10aGlzW2dyXS5nZW5lcmF0b3I9bnVsbDtyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWX1bdG5dKGUpe3RoaXNbTG5dPW5ldyBTZXQoT2JqZWN0LmtleXMoZSkpfVtSbl0oZSl7Y29uc3QgdD10aGlzW3luXSxpPXRoaXNbTG5dO3JldHVyblsuLi5lXS5maWx0ZXIoKGU9PnQuaGFzKGUpJiYhaS5oYXMoZSkpKX1bJHJdKGUsdD1uZXcgU2V0KXtmb3IoY29uc3QgaSBvZiB0aGlzW3duXSlpW01uXShlLHQpfVtNbl0oZSx0KXtjb25zdCBpPXRoaXNba25dKGUsdCk7aT90aGlzW3BuXShpLGUsdCk6dGhpc1skcl0oZSx0KX1ba25dKGUsdCl7Y29uc3R7dXNlOmksdXNlaHJlZjphfT10aGlzO2lmKCFpJiYhYSlyZXR1cm4gbnVsbDtsZXQgcz1udWxsLHI9bnVsbCxuPW51bGwsZz1pO2lmKGEpe2c9YTthLnN0YXJ0c1dpdGgoIiNzb20oIikmJmEuZW5kc1dpdGgoIikiKT9yPWEuc2xpY2UoNSwtMSk6YS5zdGFydHNXaXRoKCIuI3NvbSgiKSYmYS5lbmRzV2l0aCgiKSIpP3I9YS5zbGljZSg2LC0xKTphLnN0YXJ0c1dpdGgoIiMiKT9uPWEuc2xpY2UoMSk6YS5zdGFydHNXaXRoKCIuIyIpJiYobj1hLnNsaWNlKDIpKX1lbHNlIGkuc3RhcnRzV2l0aCgiIyIpP249aS5zbGljZSgxKTpyPWk7dGhpcy51c2U9dGhpcy51c2VocmVmPSIiO2lmKG4pcz1lLmdldChuKTtlbHNle3M9c2VhcmNoTm9kZShlLmdldChfciksdGhpcyxyLCEwLCExKTtzJiYocz1zWzBdKX1pZighcyl7d2FybihgWEZBIC0gSW52YWxpZCBwcm90b3R5cGUgcmVmZXJlbmNlOiAke2d9LmApO3JldHVybiBudWxsfWlmKHNbcXJdIT09dGhpc1txcl0pe3dhcm4oYFhGQSAtIEluY29tcGF0aWJsZSBwcm90b3R5cGU6ICR7c1txcl19ICE9PSAke3RoaXNbcXJdfS5gKTtyZXR1cm4gbnVsbH1pZih0LmhhcyhzKSl7d2FybigiWEZBIC0gQ3ljbGUgZGV0ZWN0ZWQgaW4gcHJvdG90eXBlcyB1c2UuIik7cmV0dXJuIG51bGx9dC5hZGQocyk7Y29uc3Qgbz1zW2tuXShlLHQpO28mJnNbcG5dKG8sZSx0KTtzWyRyXShlLHQpO3QuZGVsZXRlKHMpO3JldHVybiBzfVtwbl0oZSx0LGkpe2lmKGkuaGFzKGUpKXt3YXJuKCJYRkEgLSBDeWNsZSBkZXRlY3RlZCBpbiBwcm90b3R5cGVzIHVzZS4iKTtyZXR1cm59IXRoaXNbc3JdJiZlW3NyXSYmKHRoaXNbc3JdPWVbc3JdKTtuZXcgU2V0KGkpLmFkZChlKTtmb3IoY29uc3QgdCBvZiB0aGlzW1JuXShlW0xuXSkpe3RoaXNbdF09ZVt0XTt0aGlzW0xuXSYmdGhpc1tMbl0uYWRkKHQpfWZvcihjb25zdCBhIG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKXtpZih0aGlzW3luXS5oYXMoYSkpY29udGludWU7Y29uc3Qgcz10aGlzW2FdLHI9ZVthXTtpZihzIGluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXkpe2Zvcihjb25zdCBlIG9mIHNbd25dKWVbTW5dKHQsaSk7Zm9yKGxldCBhPXNbd25dLmxlbmd0aCxuPXJbd25dLmxlbmd0aDthPG47YSsrKXtjb25zdCByPWVbd25dW2FdW2lyXSgpO2lmKCFzLnB1c2gocikpYnJlYWs7cltVbl09dGhpczt0aGlzW3duXS5wdXNoKHIpO3JbTW5dKHQsaSl9fWVsc2UgaWYobnVsbD09PXMpe2lmKG51bGwhPT1yKXtjb25zdCBlPXJbaXJdKCk7ZVtVbl09dGhpczt0aGlzW2FdPWU7dGhpc1t3bl0ucHVzaChlKTtlW01uXSh0LGkpfX1lbHNle3NbJHJdKHQsaSk7ciYmc1twbl0ocix0LGkpfX19c3RhdGljW0RuXShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLm1hcCgoZT0+WEZBT2JqZWN0W0RuXShlKSkpOiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWU/T2JqZWN0LmFzc2lnbih7fSxlKTplfVtpcl0oKXtjb25zdCBlPU9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpKTtmb3IoY29uc3QgdCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHRoaXMpKXRyeXtlW3RdPXRoaXNbdF19Y2F0Y2h7c2hhZG93KGUsdCx0aGlzW3RdKX1lW2NuXT1gJHtlW3FyXX0ke0puKyt9YDtlW3duXT1bXTtmb3IoY29uc3QgdCBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYodGhpc1t5bl0uaGFzKHQpKXtlW3RdPVhGQU9iamVjdFtEbl0odGhpc1t0XSk7Y29udGludWV9Y29uc3QgaT10aGlzW3RdO2VbdF09aSBpbnN0YW5jZW9mIFhGQU9iamVjdEFycmF5P25ldyBYRkFPYmplY3RBcnJheShpW0duXSk6bnVsbH1mb3IoY29uc3QgdCBvZiB0aGlzW3duXSl7Y29uc3QgaT10W3FyXSxhPXRbaXJdKCk7ZVt3bl0ucHVzaChhKTthW1VuXT1lO251bGw9PT1lW2ldP2VbaV09YTplW2ldW3duXS5wdXNoKGEpfXJldHVybiBlfVtwcl0oZT1udWxsKXtyZXR1cm4gZT90aGlzW3duXS5maWx0ZXIoKHQ9PnRbcXJdPT09ZSkpOnRoaXNbd25dfVtscl0oZSl7cmV0dXJuIHRoaXNbZV19W1FyXShlLHQsaT0hMCl7cmV0dXJuIEFycmF5LmZyb20odGhpc1tFcl0oZSx0LGkpKX0qW0VyXShlLHQsaT0hMCl7aWYoInBhcmVudCIhPT1lKXtmb3IoY29uc3QgaSBvZiB0aGlzW3duXSl7aVtxcl09PT1lJiYoeWllbGQgaSk7aS5uYW1lPT09ZSYmKHlpZWxkIGkpOyh0fHxpW1lyXSgpKSYmKHlpZWxkKmlbRXJdKGUsdCwhMSkpfWkmJnRoaXNbeW5dLmhhcyhlKSYmKHlpZWxkIG5ldyBYRkFBdHRyaWJ1dGUodGhpcyxlLHRoaXNbZV0pKX1lbHNlIHlpZWxkIHRoaXNbVW5dfX1jbGFzcyBYRkFPYmplY3RBcnJheXtjb25zdHJ1Y3RvcihlPTEvMCl7dGhpc1tHbl09ZTt0aGlzW3duXT1bXX1nZXQgaXNYRkFPYmplY3QoKXtyZXR1cm4hMX1nZXQgaXNYRkFPYmplY3RBcnJheSgpe3JldHVybiEwfXB1c2goZSl7aWYodGhpc1t3bl0ubGVuZ3RoPD10aGlzW0duXSl7dGhpc1t3bl0ucHVzaChlKTtyZXR1cm4hMH13YXJuKGBYRkEgLSBub2RlICIke2VbcXJdfSIgYWNjZXB0cyBubyBtb3JlIHRoYW4gJHt0aGlzW0duXX0gY2hpbGRyZW5gKTtyZXR1cm4hMX1pc0VtcHR5KCl7cmV0dXJuIDA9PT10aGlzW3duXS5sZW5ndGh9ZHVtcCgpe3JldHVybiAxPT09dGhpc1t3bl0ubGVuZ3RoP3RoaXNbd25dWzBdW25yXSgpOnRoaXNbd25dLm1hcCgoZT0+ZVtucl0oKSkpfVtpcl0oKXtjb25zdCBlPW5ldyBYRkFPYmplY3RBcnJheSh0aGlzW0duXSk7ZVt3bl09dGhpc1t3bl0ubWFwKChlPT5lW2lyXSgpKSk7cmV0dXJuIGV9Z2V0IGNoaWxkcmVuKCl7cmV0dXJuIHRoaXNbd25dfWNsZWFyKCl7dGhpc1t3bl0ubGVuZ3RoPTB9fWNsYXNzIFhGQUF0dHJpYnV0ZXtjb25zdHJ1Y3RvcihlLHQsaSl7dGhpc1tVbl09ZTt0aGlzW3FyXT10O3RoaXNbc3JdPWk7dGhpc1thcl09ITE7dGhpc1tjbl09ImF0dHJpYnV0ZSIrSm4rK31bRHJdKCl7cmV0dXJuIHRoaXNbVW5dfVtVcl0oKXtyZXR1cm4hMH1bdXJdKCl7cmV0dXJuIHRoaXNbc3JdLnRyaW0oKX1bYW5dKGUpe2U9ZS52YWx1ZXx8IiI7dGhpc1tzcl09ZS50b1N0cmluZygpfVtybl0oKXtyZXR1cm4gdGhpc1tzcl19W01yXShlKXtyZXR1cm4gdGhpc1tVbl09PT1lfHx0aGlzW1VuXVtNcl0oZSl9fWNsYXNzIFhtbE9iamVjdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlLHQsaT17fSl7c3VwZXIoZSx0KTt0aGlzW3NyXT0iIjt0aGlzW2JuXT1udWxsO2lmKCIjdGV4dCIhPT10KXtjb25zdCBlPW5ldyBNYXA7dGhpc1ttbl09ZTtmb3IoY29uc3RbdCxhXW9mIE9iamVjdC5lbnRyaWVzKGkpKWUuc2V0KHQsbmV3IFhGQUF0dHJpYnV0ZSh0aGlzLHQsYSkpO2lmKGkuaGFzT3duUHJvcGVydHkoT3IpKXtjb25zdCBlPWlbT3JdLnhmYS5kYXRhTm9kZTt2b2lkIDAhPT1lJiYoImRhdGFHcm91cCI9PT1lP3RoaXNbYm5dPSExOiJkYXRhVmFsdWUiPT09ZSYmKHRoaXNbYm5dPSEwKSl9fXRoaXNbYXJdPSExfVtvbl0oZSl7Y29uc3QgdD10aGlzW3FyXTtpZigiI3RleHQiPT09dCl7ZS5wdXNoKGVuY29kZVRvWG1sU3RyaW5nKHRoaXNbc3JdKSk7cmV0dXJufWNvbnN0IGk9dXRmOFN0cmluZ1RvU3RyaW5nKHQpLGE9dGhpc1tUcl09PT1Zbj8ieGZhOiI6IiI7ZS5wdXNoKGA8JHthfSR7aX1gKTtmb3IoY29uc3RbdCxpXW9mIHRoaXNbbW5dLmVudHJpZXMoKSl7Y29uc3QgYT11dGY4U3RyaW5nVG9TdHJpbmcodCk7ZS5wdXNoKGAgJHthfT0iJHtlbmNvZGVUb1htbFN0cmluZyhpW3NyXSl9ImApfW51bGwhPT10aGlzW2JuXSYmKHRoaXNbYm5dP2UucHVzaCgnIHhmYTpkYXRhTm9kZT0iZGF0YVZhbHVlIicpOmUucHVzaCgnIHhmYTpkYXRhTm9kZT0iZGF0YUdyb3VwIicpKTtpZih0aGlzW3NyXXx8MCE9PXRoaXNbd25dLmxlbmd0aCl7ZS5wdXNoKCI+Iik7aWYodGhpc1tzcl0pInN0cmluZyI9PXR5cGVvZiB0aGlzW3NyXT9lLnB1c2goZW5jb2RlVG9YbWxTdHJpbmcodGhpc1tzcl0pKTp0aGlzW3NyXVtvbl0oZSk7ZWxzZSBmb3IoY29uc3QgdCBvZiB0aGlzW3duXSl0W29uXShlKTtlLnB1c2goYDwvJHthfSR7aX0+YCl9ZWxzZSBlLnB1c2goIi8+Iil9W1ByXShlKXtpZih0aGlzW3NyXSl7Y29uc3QgZT1uZXcgWG1sT2JqZWN0KHRoaXNbVHJdLCIjdGV4dCIpO3RoaXNbX3NdKGUpO2Vbc3JdPXRoaXNbc3JdO3RoaXNbc3JdPSIifXRoaXNbX3NdKGUpO3JldHVybiEwfVtqcl0oZSl7dGhpc1tzcl0rPWV9W29yXSgpe2lmKHRoaXNbc3JdJiZ0aGlzW3duXS5sZW5ndGg+MCl7Y29uc3QgZT1uZXcgWG1sT2JqZWN0KHRoaXNbVHJdLCIjdGV4dCIpO3RoaXNbX3NdKGUpO2Vbc3JdPXRoaXNbc3JdO2RlbGV0ZSB0aGlzW3NyXX19W2duXSgpe3JldHVybiIjdGV4dCI9PT10aGlzW3FyXT9IVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6IiN0ZXh0Iix2YWx1ZTp0aGlzW3NyXX0pOkhUTUxSZXN1bHQuRU1QVFl9W3ByXShlPW51bGwpe3JldHVybiBlP3RoaXNbd25dLmZpbHRlcigodD0+dFtxcl09PT1lKSk6dGhpc1t3bl19W0NyXSgpe3JldHVybiB0aGlzW21uXX1bbHJdKGUpe2NvbnN0IHQ9dGhpc1ttbl0uZ2V0KGUpO3JldHVybiB2b2lkIDAhPT10P3Q6dGhpc1twcl0oZSl9KltFcl0oZSx0KXtjb25zdCBpPXRoaXNbbW5dLmdldChlKTtpJiYoeWllbGQgaSk7Zm9yKGNvbnN0IGkgb2YgdGhpc1t3bl0pe2lbcXJdPT09ZSYmKHlpZWxkIGkpO3QmJih5aWVsZCppW0VyXShlLHQpKX19Kltjcl0oZSx0KXtjb25zdCBpPXRoaXNbbW5dLmdldChlKTshaXx8dCYmaVthcl18fCh5aWVsZCBpKTtmb3IoY29uc3QgaSBvZiB0aGlzW3duXSl5aWVsZCppW2NyXShlLHQpfSpbZnJdKGUsdCxpKXtmb3IoY29uc3QgYSBvZiB0aGlzW3duXSl7YVtxcl0hPT1lfHxpJiZhW2FyXXx8KHlpZWxkIGEpO3QmJih5aWVsZCphW2ZyXShlLHQsaSkpfX1bVXJdKCl7cmV0dXJuIG51bGw9PT10aGlzW2JuXT8wPT09dGhpc1t3bl0ubGVuZ3RofHx0aGlzW3duXVswXVtUcl09PT1obi54aHRtbC5pZDp0aGlzW2JuXX1bdXJdKCl7cmV0dXJuIG51bGw9PT10aGlzW2JuXT8wPT09dGhpc1t3bl0ubGVuZ3RoP3RoaXNbc3JdLnRyaW0oKTp0aGlzW3duXVswXVtUcl09PT1obi54aHRtbC5pZD90aGlzW3duXVswXVtybl0oKS50cmltKCk6bnVsbDp0aGlzW3NyXS50cmltKCl9W2FuXShlKXtlPWUudmFsdWV8fCIiO3RoaXNbc3JdPWUudG9TdHJpbmcoKX1bbnJdKGU9ITEpe2NvbnN0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtlJiYodC4kbnM9dGhpc1tUcl0pO3RoaXNbc3JdJiYodC4kY29udGVudD10aGlzW3NyXSk7dC4kbmFtZT10aGlzW3FyXTt0LmNoaWxkcmVuPVtdO2Zvcihjb25zdCBpIG9mIHRoaXNbd25dKXQuY2hpbGRyZW4ucHVzaChpW25yXShlKSk7dC5hdHRyaWJ1dGVzPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGNvbnN0W2UsaV1vZiB0aGlzW21uXSl0LmF0dHJpYnV0ZXNbZV09aVtzcl07cmV0dXJuIHR9fWNsYXNzIENvbnRlbnRPYmplY3QgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQpO3RoaXNbc3JdPSIifVtqcl0oZSl7dGhpc1tzcl0rPWV9W29yXSgpe319Y2xhc3MgT3B0aW9uT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlLHQsaSl7c3VwZXIoZSx0KTt0aGlzW3huXT1pfVtvcl0oKXt0aGlzW3NyXT1nZXRLZXl3b3JkKHtkYXRhOnRoaXNbc3JdLGRlZmF1bHRWYWx1ZTp0aGlzW3huXVswXSx2YWxpZGF0ZTplPT50aGlzW3huXS5pbmNsdWRlcyhlKX0pfVtBcl0oZSl7c3VwZXJbQXJdKGUpO2RlbGV0ZSB0aGlzW3huXX19Y2xhc3MgU3RyaW5nT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtbb3JdKCl7dGhpc1tzcl09dGhpc1tzcl0udHJpbSgpfX1jbGFzcyBJbnRlZ2VyT2JqZWN0IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlLHQsaSxhKXtzdXBlcihlLHQpO3RoaXNbRm5dPWk7dGhpc1tIbl09YX1bb3JdKCl7dGhpc1tzcl09Z2V0SW50ZWdlcih7ZGF0YTp0aGlzW3NyXSxkZWZhdWx0VmFsdWU6dGhpc1tGbl0sdmFsaWRhdGU6dGhpc1tIbl19KX1bQXJdKGUpe3N1cGVyW0FyXShlKTtkZWxldGUgdGhpc1tGbl07ZGVsZXRlIHRoaXNbSG5dfX1jbGFzcyBPcHRpb24wMSBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihlLHQsMCwoZT0+MT09PWUpKX19Y2xhc3MgT3B0aW9uMTAgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSx0LDEsKGU9PjA9PT1lKSl9fWZ1bmN0aW9uIG1lYXN1cmVUb1N0cmluZyhlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/IjBweCI6TnVtYmVyLmlzSW50ZWdlcihlKT9gJHtlfXB4YDpgJHtlLnRvRml4ZWQoMil9cHhgfWNvbnN0IHZuPXthbmNob3JUeXBlKGUsdCl7Y29uc3QgaT1lW3dyXSgpO2lmKGkmJighaS5sYXlvdXR8fCJwb3NpdGlvbiI9PT1pLmxheW91dCkpeyJ0cmFuc2Zvcm0iaW4gdHx8KHQudHJhbnNmb3JtPSIiKTtzd2l0Y2goZS5hbmNob3JUeXBlKXtjYXNlImJvdHRvbUNlbnRlciI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTUwJSwgLTEwMCUpIjticmVhaztjYXNlImJvdHRvbUxlZnQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKDAsLTEwMCUpIjticmVhaztjYXNlImJvdHRvbVJpZ2h0Ijp0LnRyYW5zZm9ybSs9InRyYW5zbGF0ZSgtMTAwJSwtMTAwJSkiO2JyZWFrO2Nhc2UibWlkZGxlQ2VudGVyIjp0LnRyYW5zZm9ybSs9InRyYW5zbGF0ZSgtNTAlLC01MCUpIjticmVhaztjYXNlIm1pZGRsZUxlZnQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKDAsLTUwJSkiO2JyZWFrO2Nhc2UibWlkZGxlUmlnaHQiOnQudHJhbnNmb3JtKz0idHJhbnNsYXRlKC0xMDAlLC01MCUpIjticmVhaztjYXNlInRvcENlbnRlciI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTUwJSwwKSI7YnJlYWs7Y2FzZSJ0b3BSaWdodCI6dC50cmFuc2Zvcm0rPSJ0cmFuc2xhdGUoLTEwMCUsMCkifX19LGRpbWVuc2lvbnMoZSx0KXtjb25zdCBpPWVbd3JdKCk7bGV0IGE9ZS53O2NvbnN0IHM9ZS5oO2lmKGkubGF5b3V0Py5pbmNsdWRlcygicm93Iikpe2NvbnN0IHQ9aVtncl0scz1lLmNvbFNwYW47bGV0IHI7aWYoLTE9PT1zKXtyPXQuY29sdW1uV2lkdGhzLnNsaWNlKHQuY3VycmVudENvbHVtbikucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKTt0LmN1cnJlbnRDb2x1bW49MH1lbHNle3I9dC5jb2x1bW5XaWR0aHMuc2xpY2UodC5jdXJyZW50Q29sdW1uLHQuY3VycmVudENvbHVtbitzKS5yZWR1Y2UoKChlLHQpPT5lK3QpLDApO3QuY3VycmVudENvbHVtbj0odC5jdXJyZW50Q29sdW1uK2UuY29sU3BhbikldC5jb2x1bW5XaWR0aHMubGVuZ3RofWlzTmFOKHIpfHwoYT1lLnc9cil9dC53aWR0aD0iIiE9PWE/bWVhc3VyZVRvU3RyaW5nKGEpOiJhdXRvIjt0LmhlaWdodD0iIiE9PXM/bWVhc3VyZVRvU3RyaW5nKHMpOiJhdXRvIn0scG9zaXRpb24oZSx0KXtjb25zdCBpPWVbd3JdKCk7aWYoIWk/LmxheW91dHx8InBvc2l0aW9uIj09PWkubGF5b3V0KXt0LnBvc2l0aW9uPSJhYnNvbHV0ZSI7dC5sZWZ0PW1lYXN1cmVUb1N0cmluZyhlLngpO3QudG9wPW1lYXN1cmVUb1N0cmluZyhlLnkpfX0scm90YXRlKGUsdCl7aWYoZS5yb3RhdGUpeyJ0cmFuc2Zvcm0iaW4gdHx8KHQudHJhbnNmb3JtPSIiKTt0LnRyYW5zZm9ybSs9YHJvdGF0ZSgtJHtlLnJvdGF0ZX1kZWcpYDt0LnRyYW5zZm9ybU9yaWdpbj0idG9wIGxlZnQifX0scHJlc2VuY2UoZSx0KXtzd2l0Y2goZS5wcmVzZW5jZSl7Y2FzZSJpbnZpc2libGUiOnQudmlzaWJpbGl0eT0iaGlkZGVuIjticmVhaztjYXNlImhpZGRlbiI6Y2FzZSJpbmFjdGl2ZSI6dC5kaXNwbGF5PSJub25lIn19LGhBbGlnbihlLHQpe2lmKCJwYXJhIj09PWVbcXJdKXN3aXRjaChlLmhBbGlnbil7Y2FzZSJqdXN0aWZ5QWxsIjp0LnRleHRBbGlnbj0ianVzdGlmeS1hbGwiO2JyZWFrO2Nhc2UicmFkaXgiOnQudGV4dEFsaWduPSJsZWZ0IjticmVhaztkZWZhdWx0OnQudGV4dEFsaWduPWUuaEFsaWdufWVsc2Ugc3dpdGNoKGUuaEFsaWduKXtjYXNlImxlZnQiOnQuYWxpZ25TZWxmPSJzdGFydCI7YnJlYWs7Y2FzZSJjZW50ZXIiOnQuYWxpZ25TZWxmPSJjZW50ZXIiO2JyZWFrO2Nhc2UicmlnaHQiOnQuYWxpZ25TZWxmPSJlbmQifX0sbWFyZ2luKGUsdCl7ZS5tYXJnaW4mJih0Lm1hcmdpbj1lLm1hcmdpbltJbl0oKS5tYXJnaW4pfX07ZnVuY3Rpb24gc2V0TWluTWF4RGltZW5zaW9ucyhlLHQpe2lmKCJwb3NpdGlvbiI9PT1lW3dyXSgpLmxheW91dCl7ZS5taW5XPjAmJih0Lm1pbldpZHRoPW1lYXN1cmVUb1N0cmluZyhlLm1pblcpKTtlLm1heFc+MCYmKHQubWF4V2lkdGg9bWVhc3VyZVRvU3RyaW5nKGUubWF4VykpO2UubWluSD4wJiYodC5taW5IZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKGUubWluSCkpO2UubWF4SD4wJiYodC5tYXhIZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKGUubWF4SCkpfX1mdW5jdGlvbiBsYXlvdXRUZXh0KGUsdCxpLGEscyxyKXtjb25zdCBuPW5ldyBUZXh0TWVhc3VyZSh0LGksYSxzKTsic3RyaW5nIj09dHlwZW9mIGU/bi5hZGRTdHJpbmcoZSk6ZVtYcl0obik7cmV0dXJuIG4uY29tcHV0ZShyKX1mdW5jdGlvbiBsYXlvdXROb2RlKGUsdCl7bGV0IGk9bnVsbCxhPW51bGwscz0hMTtpZigoIWUud3x8IWUuaCkmJmUudmFsdWUpe2xldCByPTAsbj0wO2lmKGUubWFyZ2luKXtyPWUubWFyZ2luLmxlZnRJbnNldCtlLm1hcmdpbi5yaWdodEluc2V0O249ZS5tYXJnaW4udG9wSW5zZXQrZS5tYXJnaW4uYm90dG9tSW5zZXR9bGV0IGc9bnVsbCxvPW51bGw7aWYoZS5wYXJhKXtvPU9iamVjdC5jcmVhdGUobnVsbCk7Zz0iIj09PWUucGFyYS5saW5lSGVpZ2h0P251bGw6ZS5wYXJhLmxpbmVIZWlnaHQ7by50b3A9IiI9PT1lLnBhcmEuc3BhY2VBYm92ZT8wOmUucGFyYS5zcGFjZUFib3ZlO28uYm90dG9tPSIiPT09ZS5wYXJhLnNwYWNlQmVsb3c/MDplLnBhcmEuc3BhY2VCZWxvdztvLmxlZnQ9IiI9PT1lLnBhcmEubWFyZ2luTGVmdD8wOmUucGFyYS5tYXJnaW5MZWZ0O28ucmlnaHQ9IiI9PT1lLnBhcmEubWFyZ2luUmlnaHQ/MDplLnBhcmEubWFyZ2luUmlnaHR9bGV0IGM9ZS5mb250O2lmKCFjKXtjb25zdCB0PWVbYnJdKCk7bGV0IGk9ZVtEcl0oKTtmb3IoO2kmJmkhPT10Oyl7aWYoaS5mb250KXtjPWkuZm9udDticmVha31pPWlbRHJdKCl9fWNvbnN0IEM9KGUud3x8dC53aWR0aCktcixoPWVbRnJdLmZvbnRGaW5kZXI7aWYoZS52YWx1ZS5leERhdGEmJmUudmFsdWUuZXhEYXRhW3NyXSYmInRleHQvaHRtbCI9PT1lLnZhbHVlLmV4RGF0YS5jb250ZW50VHlwZSl7Y29uc3QgdD1sYXlvdXRUZXh0KGUudmFsdWUuZXhEYXRhW3NyXSxjLG8sZyxoLEMpO2E9dC53aWR0aDtpPXQuaGVpZ2h0O3M9dC5pc0Jyb2tlbn1lbHNle2NvbnN0IHQ9ZS52YWx1ZVtybl0oKTtpZih0KXtjb25zdCBlPWxheW91dFRleHQodCxjLG8sZyxoLEMpO2E9ZS53aWR0aDtpPWUuaGVpZ2h0O3M9ZS5pc0Jyb2tlbn19bnVsbD09PWF8fGUud3x8KGErPXIpO251bGw9PT1pfHxlLmh8fChpKz1uKX1yZXR1cm57dzphLGg6aSxpc0Jyb2tlbjpzfX1mdW5jdGlvbiBjb21wdXRlQmJveChlLHQsaSl7bGV0IGE7aWYoIiIhPT1lLncmJiIiIT09ZS5oKWE9W2UueCxlLnksZS53LGUuaF07ZWxzZXtpZighaSlyZXR1cm4gbnVsbDtsZXQgcz1lLnc7aWYoIiI9PT1zKXtpZigwPT09ZS5tYXhXKXtjb25zdCB0PWVbd3JdKCk7cz0icG9zaXRpb24iPT09dC5sYXlvdXQmJiIiIT09dC53PzA6ZS5taW5XfWVsc2Ugcz1NYXRoLm1pbihlLm1heFcsaS53aWR0aCk7dC5hdHRyaWJ1dGVzLnN0eWxlLndpZHRoPW1lYXN1cmVUb1N0cmluZyhzKX1sZXQgcj1lLmg7aWYoIiI9PT1yKXtpZigwPT09ZS5tYXhIKXtjb25zdCB0PWVbd3JdKCk7cj0icG9zaXRpb24iPT09dC5sYXlvdXQmJiIiIT09dC5oPzA6ZS5taW5IfWVsc2Ugcj1NYXRoLm1pbihlLm1heEgsaS5oZWlnaHQpO3QuYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHIpfWE9W2UueCxlLnkscyxyXX1yZXR1cm4gYX1mdW5jdGlvbiBmaXhEaW1lbnNpb25zKGUpe2NvbnN0IHQ9ZVt3cl0oKTtpZih0LmxheW91dD8uaW5jbHVkZXMoInJvdyIpKXtjb25zdCBpPXRbZ3JdLGE9ZS5jb2xTcGFuO2xldCBzO3M9LTE9PT1hP2kuY29sdW1uV2lkdGhzLnNsaWNlKGkuY3VycmVudENvbHVtbikucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKTppLmNvbHVtbldpZHRocy5zbGljZShpLmN1cnJlbnRDb2x1bW4saS5jdXJyZW50Q29sdW1uK2EpLnJlZHVjZSgoKGUsdCk9PmUrdCksMCk7aXNOYU4ocyl8fChlLnc9cyl9dC5sYXlvdXQmJiJwb3NpdGlvbiIhPT10LmxheW91dCYmKGUueD1lLnk9MCk7InRhYmxlIj09PWUubGF5b3V0JiYiIj09PWUudyYmQXJyYXkuaXNBcnJheShlLmNvbHVtbldpZHRocykmJihlLnc9ZS5jb2x1bW5XaWR0aHMucmVkdWNlKCgoZSx0KT0+ZSt0KSwwKSl9ZnVuY3Rpb24gbGF5b3V0Q2xhc3MoZSl7c3dpdGNoKGUubGF5b3V0KXtjYXNlInBvc2l0aW9uIjpkZWZhdWx0OnJldHVybiJ4ZmFQb3NpdGlvbiI7Y2FzZSJsci10YiI6cmV0dXJuInhmYUxyVGIiO2Nhc2Uicmwtcm93IjpyZXR1cm4ieGZhUmxSb3ciO2Nhc2UicmwtdGIiOnJldHVybiJ4ZmFSbFRiIjtjYXNlInJvdyI6cmV0dXJuInhmYVJvdyI7Y2FzZSJ0YWJsZSI6cmV0dXJuInhmYVRhYmxlIjtjYXNlInRiIjpyZXR1cm4ieGZhVGIifX1mdW5jdGlvbiB0b1N0eWxlKGUsLi4udCl7Y29uc3QgaT1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdCBhIG9mIHQpe2NvbnN0IHQ9ZVthXTtpZihudWxsIT09dClpZih2bi5oYXNPd25Qcm9wZXJ0eShhKSl2blthXShlLGkpO2Vsc2UgaWYodCBpbnN0YW5jZW9mIFhGQU9iamVjdCl7Y29uc3QgZT10W0luXSgpO2U/T2JqZWN0LmFzc2lnbihpLGUpOndhcm4oYChERUJVRykgLSBYRkEgLSBzdHlsZSBmb3IgJHthfSBub3QgaW1wbGVtZW50ZWQgeWV0YCl9fXJldHVybiBpfWZ1bmN0aW9uIGNyZWF0ZVdyYXBwZXIoZSx0KXtjb25zdHthdHRyaWJ1dGVzOml9PXQse3N0eWxlOmF9PWkscz17bmFtZToiZGl2IixhdHRyaWJ1dGVzOntjbGFzczpbInhmYVdyYXBwZXIiXSxzdHlsZTpPYmplY3QuY3JlYXRlKG51bGwpfSxjaGlsZHJlbjpbXX07aS5jbGFzcy5wdXNoKCJ4ZmFXcmFwcGVkIik7aWYoZS5ib3JkZXIpe2NvbnN0e3dpZHRoczppLGluc2V0czpyfT1lLmJvcmRlcltncl07bGV0IG4sZyxvPXJbMF0sYz1yWzNdO2NvbnN0IEM9clswXStyWzJdLGg9clsxXStyWzNdO3N3aXRjaChlLmJvcmRlci5oYW5kKXtjYXNlImV2ZW4iOm8tPWlbMF0vMjtjLT1pWzNdLzI7bj1gY2FsYygxMDAlICsgJHsoaVsxXStpWzNdKS8yLWh9cHgpYDtnPWBjYWxjKDEwMCUgKyAkeyhpWzBdK2lbMl0pLzItQ31weClgO2JyZWFrO2Nhc2UibGVmdCI6by09aVswXTtjLT1pWzNdO249YGNhbGMoMTAwJSArICR7aVsxXStpWzNdLWh9cHgpYDtnPWBjYWxjKDEwMCUgKyAke2lbMF0raVsyXS1DfXB4KWA7YnJlYWs7Y2FzZSJyaWdodCI6bj1oP2BjYWxjKDEwMCUgLSAke2h9cHgpYDoiMTAwJSI7Zz1DP2BjYWxjKDEwMCUgLSAke0N9cHgpYDoiMTAwJSJ9Y29uc3QgbD1bInhmYUJvcmRlciJdO2lzUHJpbnRPbmx5KGUuYm9yZGVyKSYmbC5wdXNoKCJ4ZmFQcmludE9ubHkiKTtjb25zdCBRPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e2NsYXNzOmwsc3R5bGU6e3RvcDpgJHtvfXB4YCxsZWZ0OmAke2N9cHhgLHdpZHRoOm4saGVpZ2h0Omd9fSxjaGlsZHJlbjpbXX07Zm9yKGNvbnN0IGUgb2ZbImJvcmRlciIsImJvcmRlcldpZHRoIiwiYm9yZGVyQ29sb3IiLCJib3JkZXJSYWRpdXMiLCJib3JkZXJTdHlsZSJdKWlmKHZvaWQgMCE9PWFbZV0pe1EuYXR0cmlidXRlcy5zdHlsZVtlXT1hW2VdO2RlbGV0ZSBhW2VdfXMuY2hpbGRyZW4ucHVzaChRLHQpfWVsc2Ugcy5jaGlsZHJlbi5wdXNoKHQpO2Zvcihjb25zdCBlIG9mWyJiYWNrZ3JvdW5kIiwiYmFja2dyb3VuZENsaXAiLCJ0b3AiLCJsZWZ0Iiwid2lkdGgiLCJoZWlnaHQiLCJtaW5XaWR0aCIsIm1pbkhlaWdodCIsIm1heFdpZHRoIiwibWF4SGVpZ2h0IiwidHJhbnNmb3JtIiwidHJhbnNmb3JtT3JpZ2luIiwidmlzaWJpbGl0eSJdKWlmKHZvaWQgMCE9PWFbZV0pe3MuYXR0cmlidXRlcy5zdHlsZVtlXT1hW2VdO2RlbGV0ZSBhW2VdfXMuYXR0cmlidXRlcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiPT09YS5wb3NpdGlvbj8iYWJzb2x1dGUiOiJyZWxhdGl2ZSI7ZGVsZXRlIGEucG9zaXRpb247aWYoYS5hbGlnblNlbGYpe3MuYXR0cmlidXRlcy5zdHlsZS5hbGlnblNlbGY9YS5hbGlnblNlbGY7ZGVsZXRlIGEuYWxpZ25TZWxmfXJldHVybiBzfWZ1bmN0aW9uIGZpeFRleHRJbmRlbnQoZSl7Y29uc3QgdD1nZXRNZWFzdXJlbWVudChlLnRleHRJbmRlbnQsIjBweCIpO2lmKHQ+PTApcmV0dXJuO2NvbnN0IGk9InBhZGRpbmciKygibGVmdCI9PT0oInJpZ2h0Ij09PWUudGV4dEFsaWduPyJyaWdodCI6ImxlZnQiKT8iTGVmdCI6IlJpZ2h0IiksYT1nZXRNZWFzdXJlbWVudChlW2ldLCIwcHgiKTtlW2ldPWEtdCsicHgifWZ1bmN0aW9uIHNldEFjY2VzcyhlLHQpe3N3aXRjaChlLmFjY2Vzcyl7Y2FzZSJub25JbnRlcmFjdGl2ZSI6dC5wdXNoKCJ4ZmFOb25JbnRlcmFjdGl2ZSIpO2JyZWFrO2Nhc2UicmVhZE9ubHkiOnQucHVzaCgieGZhUmVhZE9ubHkiKTticmVhaztjYXNlInByb3RlY3RlZCI6dC5wdXNoKCJ4ZmFEaXNhYmxlZCIpfX1mdW5jdGlvbiBpc1ByaW50T25seShlKXtyZXR1cm4gZS5yZWxldmFudC5sZW5ndGg+MCYmIWUucmVsZXZhbnRbMF0uZXhjbHVkZWQmJiJwcmludCI9PT1lLnJlbGV2YW50WzBdLnZpZXduYW1lfWZ1bmN0aW9uIGdldEN1cnJlbnRQYXJhKGUpe2NvbnN0IHQ9ZVticl0oKVtncl0ucGFyYVN0YWNrO3JldHVybiB0Lmxlbmd0aD90LmF0KC0xKTpudWxsfWZ1bmN0aW9uIHNldFBhcmEoZSx0LGkpe2lmKGkuYXR0cmlidXRlcy5jbGFzcz8uaW5jbHVkZXMoInhmYVJpY2giKSl7aWYodCl7IiI9PT1lLmgmJih0LmhlaWdodD0iYXV0byIpOyIiPT09ZS53JiYodC53aWR0aD0iYXV0byIpfWNvbnN0IGE9Z2V0Q3VycmVudFBhcmEoZSk7aWYoYSl7Y29uc3QgZT1pLmF0dHJpYnV0ZXMuc3R5bGU7ZS5kaXNwbGF5PSJmbGV4IjtlLmZsZXhEaXJlY3Rpb249ImNvbHVtbiI7c3dpdGNoKGEudkFsaWduKXtjYXNlInRvcCI6ZS5qdXN0aWZ5Q29udGVudD0ic3RhcnQiO2JyZWFrO2Nhc2UiYm90dG9tIjplLmp1c3RpZnlDb250ZW50PSJlbmQiO2JyZWFrO2Nhc2UibWlkZGxlIjplLmp1c3RpZnlDb250ZW50PSJjZW50ZXIifWNvbnN0IHQ9YVtJbl0oKTtmb3IoY29uc3RbaSxhXW9mIE9iamVjdC5lbnRyaWVzKHQpKWkgaW4gZXx8KGVbaV09YSl9fX1mdW5jdGlvbiBzZXRGb250RmFtaWx5KGUsdCxpLGEpe2lmKCFpKXtkZWxldGUgYS5mb250RmFtaWx5O3JldHVybn1jb25zdCBzPXN0cmlwUXVvdGVzKGUudHlwZWZhY2UpO2EuZm9udEZhbWlseT1gIiR7c30iYDtjb25zdCByPWkuZmluZChzKTtpZihyKXtjb25zdHtmb250RmFtaWx5Oml9PXIucmVndWxhci5jc3NGb250SW5mbztpIT09cyYmKGEuZm9udEZhbWlseT1gIiR7aX0iYCk7Y29uc3Qgbj1nZXRDdXJyZW50UGFyYSh0KTtpZihuJiYiIiE9PW4ubGluZUhlaWdodClyZXR1cm47aWYoYS5saW5lSGVpZ2h0KXJldHVybjtjb25zdCBnPXNlbGVjdEZvbnQoZSxyKTtnJiYoYS5saW5lSGVpZ2h0PU1hdGgubWF4KDEuMixnLmxpbmVIZWlnaHQpKX19ZnVuY3Rpb24gZml4VVJMKGUpe2NvbnN0IHQ9Y3JlYXRlVmFsaWRBYnNvbHV0ZVVybChlLG51bGwse2FkZERlZmF1bHRQcm90b2NvbDohMCx0cnlDb252ZXJ0RW5jb2Rpbmc6ITB9KTtyZXR1cm4gdD90LmhyZWY6bnVsbH1mdW5jdGlvbiBjcmVhdGVMaW5lKGUsdCl7cmV0dXJue25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJsci10YiI9PT1lLmxheW91dD8ieGZhTHIiOiJ4ZmFSbCJdfSxjaGlsZHJlbjp0fX1mdW5jdGlvbiBmbHVzaEhUTUwoZSl7aWYoIWVbZ3JdKXJldHVybiBudWxsO2NvbnN0IHQ9e25hbWU6ImRpdiIsYXR0cmlidXRlczplW2dyXS5hdHRyaWJ1dGVzLGNoaWxkcmVuOmVbZ3JdLmNoaWxkcmVufTtpZihlW2dyXS5mYWlsaW5nTm9kZSl7Y29uc3QgaT1lW2dyXS5mYWlsaW5nTm9kZVtJcl0oKTtpJiYoZS5sYXlvdXQuZW5kc1dpdGgoIi10YiIpP3QuY2hpbGRyZW4ucHVzaChjcmVhdGVMaW5lKGUsW2ldKSk6dC5jaGlsZHJlbi5wdXNoKGkpKX1yZXR1cm4gMD09PXQuY2hpbGRyZW4ubGVuZ3RoP251bGw6dH1mdW5jdGlvbiBhZGRIVE1MKGUsdCxpKXtjb25zdCBhPWVbZ3JdLHM9YS5hdmFpbGFibGVTcGFjZSxbcixuLGcsb109aTtzd2l0Y2goZS5sYXlvdXQpe2Nhc2UicG9zaXRpb24iOmEud2lkdGg9TWF0aC5tYXgoYS53aWR0aCxyK2cpO2EuaGVpZ2h0PU1hdGgubWF4KGEuaGVpZ2h0LG4rbyk7YS5jaGlsZHJlbi5wdXNoKHQpO2JyZWFrO2Nhc2UibHItdGIiOmNhc2UicmwtdGIiOmlmKCFhLmxpbmV8fDE9PT1hLmF0dGVtcHQpe2EubGluZT1jcmVhdGVMaW5lKGUsW10pO2EuY2hpbGRyZW4ucHVzaChhLmxpbmUpO2EubnVtYmVySW5MaW5lPTB9YS5udW1iZXJJbkxpbmUrPTE7YS5saW5lLmNoaWxkcmVuLnB1c2godCk7aWYoMD09PWEuYXR0ZW1wdCl7YS5jdXJyZW50V2lkdGgrPWc7YS5oZWlnaHQ9TWF0aC5tYXgoYS5oZWlnaHQsYS5wcmV2SGVpZ2h0K28pfWVsc2V7YS5jdXJyZW50V2lkdGg9ZzthLnByZXZIZWlnaHQ9YS5oZWlnaHQ7YS5oZWlnaHQrPW87YS5hdHRlbXB0PTB9YS53aWR0aD1NYXRoLm1heChhLndpZHRoLGEuY3VycmVudFdpZHRoKTticmVhaztjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnthLmNoaWxkcmVuLnB1c2godCk7YS53aWR0aCs9ZzthLmhlaWdodD1NYXRoLm1heChhLmhlaWdodCxvKTtjb25zdCBlPW1lYXN1cmVUb1N0cmluZyhhLmhlaWdodCk7Zm9yKGNvbnN0IHQgb2YgYS5jaGlsZHJlbil0LmF0dHJpYnV0ZXMuc3R5bGUuaGVpZ2h0PWU7YnJlYWt9Y2FzZSJ0YWJsZSI6Y2FzZSJ0YiI6YS53aWR0aD1NYXRoLm1pbihzLndpZHRoLE1hdGgubWF4KGEud2lkdGgsZykpO2EuaGVpZ2h0Kz1vO2EuY2hpbGRyZW4ucHVzaCh0KX19ZnVuY3Rpb24gZ2V0QXZhaWxhYmxlU3BhY2UoZSl7Y29uc3QgdD1lW2dyXS5hdmFpbGFibGVTcGFjZSxpPWUubWFyZ2luP2UubWFyZ2luLnRvcEluc2V0K2UubWFyZ2luLmJvdHRvbUluc2V0OjAsYT1lLm1hcmdpbj9lLm1hcmdpbi5sZWZ0SW5zZXQrZS5tYXJnaW4ucmlnaHRJbnNldDowO3N3aXRjaChlLmxheW91dCl7Y2FzZSJsci10YiI6Y2FzZSJybC10YiI6cmV0dXJuIDA9PT1lW2dyXS5hdHRlbXB0P3t3aWR0aDp0LndpZHRoLWEtZVtncl0uY3VycmVudFdpZHRoLGhlaWdodDp0LmhlaWdodC1pLWVbZ3JdLnByZXZIZWlnaHR9Ont3aWR0aDp0LndpZHRoLWEsaGVpZ2h0OnQuaGVpZ2h0LWktZVtncl0uaGVpZ2h0fTtjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnJldHVybnt3aWR0aDplW2dyXS5jb2x1bW5XaWR0aHMuc2xpY2UoZVtncl0uY3VycmVudENvbHVtbikucmVkdWNlKCgoZSx0KT0+ZSt0KSksaGVpZ2h0OnQuaGVpZ2h0LWF9O2Nhc2UidGFibGUiOmNhc2UidGIiOnJldHVybnt3aWR0aDp0LndpZHRoLWEsaGVpZ2h0OnQuaGVpZ2h0LWktZVtncl0uaGVpZ2h0fTtkZWZhdWx0OnJldHVybiB0fX1mdW5jdGlvbiBjaGVja0RpbWVuc2lvbnMoZSx0KXtpZihudWxsPT09ZVticl0oKVtncl0uZmlyc3RVbnNwbGl0dGFibGUpcmV0dXJuITA7aWYoMD09PWUud3x8MD09PWUuaClyZXR1cm4hMDtjb25zdCBpPWVbd3JdKCksYT1pW2dyXT8uYXR0ZW1wdHx8MCxbLHMscixuXT1mdW5jdGlvbiBnZXRUcmFuc2Zvcm1lZEJCb3goZSl7bGV0IHQsaSxhPSIiPT09ZS53P05hTjplLncscz0iIj09PWUuaD9OYU46ZS5oLFtyLG5dPVswLDBdO3N3aXRjaChlLmFuY2hvclR5cGV8fCIiKXtjYXNlImJvdHRvbUNlbnRlciI6W3Isbl09W2EvMixzXTticmVhaztjYXNlImJvdHRvbUxlZnQiOltyLG5dPVswLHNdO2JyZWFrO2Nhc2UiYm90dG9tUmlnaHQiOltyLG5dPVthLHNdO2JyZWFrO2Nhc2UibWlkZGxlQ2VudGVyIjpbcixuXT1bYS8yLHMvMl07YnJlYWs7Y2FzZSJtaWRkbGVMZWZ0IjpbcixuXT1bMCxzLzJdO2JyZWFrO2Nhc2UibWlkZGxlUmlnaHQiOltyLG5dPVthLHMvMl07YnJlYWs7Y2FzZSJ0b3BDZW50ZXIiOltyLG5dPVthLzIsMF07YnJlYWs7Y2FzZSJ0b3BSaWdodCI6W3Isbl09W2EsMF19c3dpdGNoKGUucm90YXRlfHwwKXtjYXNlIDA6W3QsaV09Wy1yLC1uXTticmVhaztjYXNlIDkwOlt0LGldPVstbixyXTtbYSxzXT1bcywtYV07YnJlYWs7Y2FzZSAxODA6W3QsaV09W3Isbl07W2Esc109Wy1hLC1zXTticmVhaztjYXNlIDI3MDpbdCxpXT1bbiwtcl07W2Esc109Wy1zLGFdfXJldHVybltlLngrdCtNYXRoLm1pbigwLGEpLGUueStpK01hdGgubWluKDAscyksTWF0aC5hYnMoYSksTWF0aC5hYnMocyldfShlKTtzd2l0Y2goaS5sYXlvdXQpe2Nhc2UibHItdGIiOmNhc2UicmwtdGIiOnJldHVybiAwPT09YT9lW2JyXSgpW2dyXS5ub0xheW91dEZhaWx1cmU/IiIhPT1lLnc/TWF0aC5yb3VuZChyLXQud2lkdGgpPD0yOnQud2lkdGg+MjohKCIiIT09ZS5oJiZNYXRoLnJvdW5kKG4tdC5oZWlnaHQpPjIpJiYoIiIhPT1lLnc/TWF0aC5yb3VuZChyLXQud2lkdGgpPD0yfHwwPT09aVtncl0ubnVtYmVySW5MaW5lJiZ0LmhlaWdodD4yOnQud2lkdGg+Mik6ISFlW2JyXSgpW2dyXS5ub0xheW91dEZhaWx1cmV8fCEoIiIhPT1lLmgmJk1hdGgucm91bmQobi10LmhlaWdodCk+MikmJigoIiI9PT1lLnd8fE1hdGgucm91bmQoci10LndpZHRoKTw9Mnx8IWlbSnJdKCkpJiZ0LmhlaWdodD4yKTtjYXNlInRhYmxlIjpjYXNlInRiIjpyZXR1cm4hIWVbYnJdKClbZ3JdLm5vTGF5b3V0RmFpbHVyZXx8KCIiPT09ZS5ofHxlW0hyXSgpPygiIj09PWUud3x8TWF0aC5yb3VuZChyLXQud2lkdGgpPD0yfHwhaVtKcl0oKSkmJnQuaGVpZ2h0PjI6TWF0aC5yb3VuZChuLXQuaGVpZ2h0KTw9Mik7Y2FzZSJwb3NpdGlvbiI6aWYoZVticl0oKVtncl0ubm9MYXlvdXRGYWlsdXJlKXJldHVybiEwO2lmKCIiPT09ZS5ofHxNYXRoLnJvdW5kKG4rcy10LmhlaWdodCk8PTIpcmV0dXJuITA7cmV0dXJuIG4rcz5lW2JyXSgpW2dyXS5jdXJyZW50Q29udGVudEFyZWEuaDtjYXNlInJsLXJvdyI6Y2FzZSJyb3ciOnJldHVybiEhZVticl0oKVtncl0ubm9MYXlvdXRGYWlsdXJlfHwoIiI9PT1lLmh8fE1hdGgucm91bmQobi10LmhlaWdodCk8PTIpO2RlZmF1bHQ6cmV0dXJuITB9fWNvbnN0IEtuPWhuLnRlbXBsYXRlLmlkLFRuPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIscW49L15IKFxkKykkLyxPbj1uZXcgU2V0KFsiaW1hZ2UvZ2lmIiwiaW1hZ2UvanBlZyIsImltYWdlL2pwZyIsImltYWdlL3BqcGVnIiwiaW1hZ2UvcG5nIiwiaW1hZ2UvYXBuZyIsImltYWdlL3gtcG5nIiwiaW1hZ2UvYm1wIiwiaW1hZ2UveC1tcy1ibXAiLCJpbWFnZS90aWZmIiwiaW1hZ2UvdGlmIiwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIl0pLFBuPVtbWzY2LDc3XSwiaW1hZ2UvYm1wIl0sW1syNTUsMjE2LDI1NV0sImltYWdlL2pwZWciXSxbWzczLDczLDQyLDBdLCJpbWFnZS90aWZmIl0sW1s3Nyw3NywwLDQyXSwiaW1hZ2UvdGlmZiJdLFtbNzEsNzMsNzAsNTYsNTcsOTddLCJpbWFnZS9naWYiXSxbWzEzNyw4MCw3OCw3MSwxMywxMCwyNiwxMF0sImltYWdlL3BuZyJdXTtmdW5jdGlvbiBnZXRCb3JkZXJEaW1zKGUpe2lmKCFlfHwhZS5ib3JkZXIpcmV0dXJue3c6MCxoOjB9O2NvbnN0IHQ9ZS5ib3JkZXJbZHJdKCk7cmV0dXJuIHQ/e3c6dC53aWR0aHNbMF0rdC53aWR0aHNbMl0rdC5pbnNldHNbMF0rdC5pbnNldHNbMl0saDp0LndpZHRoc1sxXSt0LndpZHRoc1szXSt0Lmluc2V0c1sxXSt0Lmluc2V0c1szXX06e3c6MCxoOjB9fWZ1bmN0aW9uIGhhc01hcmdpbihlKXtyZXR1cm4gZS5tYXJnaW4mJihlLm1hcmdpbi50b3BJbnNldHx8ZS5tYXJnaW4ucmlnaHRJbnNldHx8ZS5tYXJnaW4uYm90dG9tSW5zZXR8fGUubWFyZ2luLmxlZnRJbnNldCl9ZnVuY3Rpb24gX3NldFZhbHVlKGUsdCl7aWYoIWUudmFsdWUpe2NvbnN0IHQ9bmV3IFZhbHVlKHt9KTtlW19zXSh0KTtlLnZhbHVlPXR9ZS52YWx1ZVthbl0odCl9ZnVuY3Rpb24qZ2V0Q29udGFpbmVkQ2hpbGRyZW4oZSl7Zm9yKGNvbnN0IHQgb2YgZVtwcl0oKSl0IGluc3RhbmNlb2YgU3ViZm9ybVNldD95aWVsZCp0W21yXSgpOnlpZWxkIHR9ZnVuY3Rpb24gaXNSZXF1aXJlZChlKXtyZXR1cm4iZXJyb3IiPT09ZS52YWxpZGF0ZT8ubnVsbFRlc3R9ZnVuY3Rpb24gc2V0VGFiSW5kZXgoZSl7Zm9yKDtlOyl7aWYoIWUudHJhdmVyc2FsKXtlW3NuXT1lW0RyXSgpW3NuXTtyZXR1cm59aWYoZVtzbl0pcmV0dXJuO2xldCB0PW51bGw7Zm9yKGNvbnN0IGkgb2YgZS50cmF2ZXJzYWxbcHJdKCkpaWYoIm5leHQiPT09aS5vcGVyYXRpb24pe3Q9aTticmVha31pZighdHx8IXQucmVmKXtlW3NuXT1lW0RyXSgpW3NuXTtyZXR1cm59Y29uc3QgaT1lW2JyXSgpO2Vbc25dPSsraVtzbl07Y29uc3QgYT1pW0FuXSh0LnJlZixlKTtpZighYSlyZXR1cm47ZT1hWzBdfX1mdW5jdGlvbiBhcHBseUFzc2lzdChlLHQpe2NvbnN0IGk9ZS5hc3Npc3Q7aWYoaSl7Y29uc3QgZT1pW2duXSgpO2UmJih0LnRpdGxlPWUpO2NvbnN0IGE9aS5yb2xlLm1hdGNoKHFuKTtpZihhKXtjb25zdCBlPSJoZWFkaW5nIixpPWFbMV07dC5yb2xlPWU7dFsiYXJpYS1sZXZlbCJdPWl9fWlmKCJ0YWJsZSI9PT1lLmxheW91dCl0LnJvbGU9InRhYmxlIjtlbHNlIGlmKCJyb3ciPT09ZS5sYXlvdXQpdC5yb2xlPSJyb3ciO2Vsc2V7Y29uc3QgaT1lW0RyXSgpOyJyb3ciPT09aS5sYXlvdXQmJih0LnJvbGU9IlRIIj09PWkuYXNzaXN0Py5yb2xlPyJjb2x1bW5oZWFkZXIiOiJjZWxsIil9fWZ1bmN0aW9uIGFyaWFMYWJlbChlKXtpZighZS5hc3Npc3QpcmV0dXJuIG51bGw7Y29uc3QgdD1lLmFzc2lzdDtyZXR1cm4gdC5zcGVhayYmIiIhPT10LnNwZWFrW3NyXT90LnNwZWFrW3NyXTp0LnRvb2xUaXA/dC50b29sVGlwW3NyXTpudWxsfWZ1bmN0aW9uIHZhbHVlVG9IdG1sKGUpe3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFSaWNoIl0sc3R5bGU6T2JqZWN0LmNyZWF0ZShudWxsKX0sY2hpbGRyZW46W3tuYW1lOiJzcGFuIixhdHRyaWJ1dGVzOntzdHlsZTpPYmplY3QuY3JlYXRlKG51bGwpfSx2YWx1ZTplfV19KX1mdW5jdGlvbiBzZXRGaXJzdFVuc3BsaXR0YWJsZShlKXtjb25zdCB0PWVbYnJdKCk7aWYobnVsbD09PXRbZ3JdLmZpcnN0VW5zcGxpdHRhYmxlKXt0W2dyXS5maXJzdFVuc3BsaXR0YWJsZT1lO3RbZ3JdLm5vTGF5b3V0RmFpbHVyZT0hMH19ZnVuY3Rpb24gdW5zZXRGaXJzdFVuc3BsaXR0YWJsZShlKXtjb25zdCB0PWVbYnJdKCk7dFtncl0uZmlyc3RVbnNwbGl0dGFibGU9PT1lJiYodFtncl0ubm9MYXlvdXRGYWlsdXJlPSExKX1mdW5jdGlvbiBoYW5kbGVCcmVhayhlKXtpZihlW2dyXSlyZXR1cm4hMTtlW2dyXT1PYmplY3QuY3JlYXRlKG51bGwpO2lmKCJhdXRvIj09PWUudGFyZ2V0VHlwZSlyZXR1cm4hMTtjb25zdCB0PWVbYnJdKCk7bGV0IGk9bnVsbDtpZihlLnRhcmdldCl7aT10W0FuXShlLnRhcmdldCxlW0RyXSgpKTtpZighaSlyZXR1cm4hMTtpPWlbMF19Y29uc3R7Y3VycmVudFBhZ2VBcmVhOmEsY3VycmVudENvbnRlbnRBcmVhOnN9PXRbZ3JdO2lmKCJwYWdlQXJlYSI9PT1lLnRhcmdldFR5cGUpe2kgaW5zdGFuY2VvZiBQYWdlQXJlYXx8KGk9bnVsbCk7aWYoZS5zdGFydE5ldyl7ZVtncl0udGFyZ2V0PWl8fGE7cmV0dXJuITB9aWYoaSYmaSE9PWEpe2VbZ3JdLnRhcmdldD1pO3JldHVybiEwfXJldHVybiExfWkgaW5zdGFuY2VvZiBDb250ZW50QXJlYXx8KGk9bnVsbCk7Y29uc3Qgcj1pJiZpW0RyXSgpO2xldCBuLGc9cjtpZihlLnN0YXJ0TmV3KWlmKGkpe2NvbnN0IGU9ci5jb250ZW50QXJlYS5jaGlsZHJlbix0PWUuaW5kZXhPZihzKSxhPWUuaW5kZXhPZihpKTstMSE9PXQmJnQ8YSYmKGc9bnVsbCk7bj1hLTF9ZWxzZSBuPWEuY29udGVudEFyZWEuY2hpbGRyZW4uaW5kZXhPZihzKTtlbHNle2lmKCFpfHxpPT09cylyZXR1cm4hMTtuPXIuY29udGVudEFyZWEuY2hpbGRyZW4uaW5kZXhPZihpKS0xO2c9cj09PWE/bnVsbDpyfWVbZ3JdLnRhcmdldD1nO2VbZ3JdLmluZGV4PW47cmV0dXJuITB9ZnVuY3Rpb24gaGFuZGxlT3ZlcmZsb3coZSx0LGkpe2NvbnN0IGE9ZVticl0oKSxzPWFbZ3JdLm5vTGF5b3V0RmFpbHVyZSxyPXRbd3JdO3Rbd3JdPSgpPT5lO2FbZ3JdLm5vTGF5b3V0RmFpbHVyZT0hMDtjb25zdCBuPXRbZ25dKGkpO2VbenNdKG4uaHRtbCxuLmJib3gpO2FbZ3JdLm5vTGF5b3V0RmFpbHVyZT1zO3Rbd3JdPXJ9Y2xhc3MgQXBwZWFyYW5jZUZpbHRlciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiYXBwZWFyYW5jZUZpbHRlciIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQXJjIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJhcmMiLCEwKTt0aGlzLmNpcmN1bGFyPWdldEludGVnZXIoe2RhdGE6ZS5jaXJjdWxhcixkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaGFuZD1nZXRTdHJpbmdPcHRpb24oZS5oYW5kLFsiZXZlbiIsImxlZnQiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuc3RhcnRBbmdsZT1nZXRGbG9hdCh7ZGF0YTplLnN0YXJ0QW5nbGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ITB9KTt0aGlzLnN3ZWVwQW5nbGU9Z2V0RmxvYXQoe2RhdGE6ZS5zd2VlcEFuZ2xlLGRlZmF1bHRWYWx1ZTozNjAsdmFsaWRhdGU6ZT0+ITB9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5lZGdlPW51bGw7dGhpcy5maWxsPW51bGx9W2duXSgpe2NvbnN0IGU9dGhpcy5lZGdlfHxuZXcgRWRnZSh7fSksdD1lW0luXSgpLGk9T2JqZWN0LmNyZWF0ZShudWxsKTsidmlzaWJsZSI9PT10aGlzLmZpbGw/LnByZXNlbmNlP09iamVjdC5hc3NpZ24oaSx0aGlzLmZpbGxbSW5dKCkpOmkuZmlsbD0idHJhbnNwYXJlbnQiO2kuc3Ryb2tlV2lkdGg9bWVhc3VyZVRvU3RyaW5nKCJ2aXNpYmxlIj09PWUucHJlc2VuY2U/ZS50aGlja25lc3M6MCk7aS5zdHJva2U9dC5jb2xvcjtsZXQgYTtjb25zdCBzPXt4bWxuczpUbixzdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsb3ZlcmZsb3c6InZpc2libGUifX07aWYoMzYwPT09dGhpcy5zd2VlcEFuZ2xlKWE9e25hbWU6ImVsbGlwc2UiLGF0dHJpYnV0ZXM6e3htbG5zOlRuLGN4OiI1MCUiLGN5OiI1MCUiLHJ4OiI1MCUiLHJ5OiI1MCUiLHN0eWxlOml9fTtlbHNle2NvbnN0IGU9dGhpcy5zdGFydEFuZ2xlKk1hdGguUEkvMTgwLHQ9dGhpcy5zd2VlcEFuZ2xlKk1hdGguUEkvMTgwLHI9dGhpcy5zd2VlcEFuZ2xlPjE4MD8xOjAsW24sZyxvLGNdPVs1MCooMStNYXRoLmNvcyhlKSksNTAqKDEtTWF0aC5zaW4oZSkpLDUwKigxK01hdGguY29zKGUrdCkpLDUwKigxLU1hdGguc2luKGUrdCkpXTthPXtuYW1lOiJwYXRoIixhdHRyaWJ1dGVzOnt4bWxuczpUbixkOmBNICR7bn0gJHtnfSBBIDUwIDUwIDAgJHtyfSAwICR7b30gJHtjfWAsdmVjdG9yRWZmZWN0OiJub24tc2NhbGluZy1zdHJva2UiLHN0eWxlOml9fTtPYmplY3QuYXNzaWduKHMse3ZpZXdCb3g6IjAgMCAxMDAgMTAwIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIn0pfWNvbnN0IHI9e25hbWU6InN2ZyIsY2hpbGRyZW46W2FdLGF0dHJpYnV0ZXM6c307aWYoaGFzTWFyZ2luKHRoaXNbRHJdKClbRHJdKCkpKXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7c3R5bGU6e2Rpc3BsYXk6ImlubGluZSIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9fSxjaGlsZHJlbjpbcl19KTtyLmF0dHJpYnV0ZXMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIjtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHIpfX1jbGFzcyBBcmVhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJhcmVhIiwhMCk7dGhpcy5jb2xTcGFuPWdldEludGVnZXIoe2RhdGE6ZS5jb2xTcGFuLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PmU+PTF8fC0xPT09ZX0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy54PWdldE1lYXN1cmVtZW50KGUueCwiMHB0Iik7dGhpcy55PWdldE1lYXN1cmVtZW50KGUueSwiMHB0Iik7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZHJhdz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leE9iamVjdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leGNsR3JvdXA9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmllbGQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtU2V0PW5ldyBYRkFPYmplY3RBcnJheX0qW21yXSgpe3lpZWxkKmdldENvbnRhaW5lZENoaWxkcmVuKHRoaXMpfVtZcl0oKXtyZXR1cm4hMH1beHJdKCl7cmV0dXJuITB9W3pzXShlLHQpe2NvbnN0W2ksYSxzLHJdPXQ7dGhpc1tncl0ud2lkdGg9TWF0aC5tYXgodGhpc1tncl0ud2lkdGgsaStzKTt0aGlzW2dyXS5oZWlnaHQ9TWF0aC5tYXgodGhpc1tncl0uaGVpZ2h0LGErcik7dGhpc1tncl0uY2hpbGRyZW4ucHVzaChlKX1baHJdKCl7cmV0dXJuIHRoaXNbZ3JdLmF2YWlsYWJsZVNwYWNlfVtnbl0oZSl7Y29uc3QgdD10b1N0eWxlKHRoaXMsInBvc2l0aW9uIiksaT17c3R5bGU6dCxpZDp0aGlzW2NuXSxjbGFzczpbInhmYUFyZWEiXX07aXNQcmludE9ubHkodGhpcykmJmkuY2xhc3MucHVzaCgieGZhUHJpbnRPbmx5Iik7dGhpcy5uYW1lJiYoaS54ZmFOYW1lPXRoaXMubmFtZSk7Y29uc3QgYT1bXTt0aGlzW2dyXT17Y2hpbGRyZW46YSx3aWR0aDowLGhlaWdodDowLGF2YWlsYWJsZVNwYWNlOmV9O2NvbnN0IHM9dGhpc1skc10oe2ZpbHRlcjpuZXcgU2V0KFsiYXJlYSIsImRyYXciLCJmaWVsZCIsImV4Y2xHcm91cCIsInN1YmZvcm0iLCJzdWJmb3JtU2V0Il0pLGluY2x1ZGU6ITB9KTtpZighcy5zdWNjZXNzKXtpZihzLmlzQnJlYWsoKSlyZXR1cm4gcztkZWxldGUgdGhpc1tncl07cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX10LndpZHRoPW1lYXN1cmVUb1N0cmluZyh0aGlzW2dyXS53aWR0aCk7dC5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHRoaXNbZ3JdLmhlaWdodCk7Y29uc3Qgcj17bmFtZToiZGl2IixhdHRyaWJ1dGVzOmksY2hpbGRyZW46YX0sbj1bdGhpcy54LHRoaXMueSx0aGlzW2dyXS53aWR0aCx0aGlzW2dyXS5oZWlnaHRdO2RlbGV0ZSB0aGlzW2dyXTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHIsbil9fWNsYXNzIEFzc2lzdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiYXNzaXN0IiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJvbGU9ZS5yb2xlfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5zcGVhaz1udWxsO3RoaXMudG9vbFRpcD1udWxsfVtnbl0oKXtyZXR1cm4gdGhpcy50b29sVGlwPy5bc3JdfHxudWxsfX1jbGFzcyBCYXJjb2RlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJiYXJjb2RlIiwhMCk7dGhpcy5jaGFyRW5jb2Rpbmc9Z2V0S2V5d29yZCh7ZGF0YTplLmNoYXJFbmNvZGluZz9lLmNoYXJFbmNvZGluZy50b0xvd2VyQ2FzZSgpOiIiLGRlZmF1bHRWYWx1ZToiIix2YWxpZGF0ZTplPT5bInV0Zi04IiwiYmlnLWZpdmUiLCJmb250c3BlY2lmaWMiLCJnYmsiLCJnYi0xODAzMCIsImdiLTIzMTIiLCJrc2MtNTYwMSIsIm5vbmUiLCJzaGlmdC1qaXMiLCJ1Y3MtMiIsInV0Zi0xNiJdLmluY2x1ZGVzKGUpfHxlLm1hdGNoKC9pc28tODg1OS1cZHsyfS8pfSk7dGhpcy5jaGVja3N1bT1nZXRTdHJpbmdPcHRpb24oZS5jaGVja3N1bSxbIm5vbmUiLCIxbW9kMTAiLCIxbW9kMTBfMW1vZDExIiwiMm1vZDEwIiwiYXV0byJdKTt0aGlzLmRhdGFDb2x1bW5Db3VudD1nZXRJbnRlZ2VyKHtkYXRhOmUuZGF0YUNvbHVtbkNvdW50LGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5kYXRhTGVuZ3RoPWdldEludGVnZXIoe2RhdGE6ZS5kYXRhTGVuZ3RoLGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5kYXRhUHJlcD1nZXRTdHJpbmdPcHRpb24oZS5kYXRhUHJlcCxbIm5vbmUiLCJmbGF0ZUNvbXByZXNzIl0pO3RoaXMuZGF0YVJvd0NvdW50PWdldEludGVnZXIoe2RhdGE6ZS5kYXRhUm93Q291bnQsZGVmYXVsdFZhbHVlOi0xLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmVuZENoYXI9ZS5lbmRDaGFyfHwiIjt0aGlzLmVycm9yQ29ycmVjdGlvbkxldmVsPWdldEludGVnZXIoe2RhdGE6ZS5lcnJvckNvcnJlY3Rpb25MZXZlbCxkZWZhdWx0VmFsdWU6LTEsdmFsaWRhdGU6ZT0+ZT49MCYmZTw9OH0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tb2R1bGVIZWlnaHQ9Z2V0TWVhc3VyZW1lbnQoZS5tb2R1bGVIZWlnaHQsIjVtbSIpO3RoaXMubW9kdWxlV2lkdGg9Z2V0TWVhc3VyZW1lbnQoZS5tb2R1bGVXaWR0aCwiMC4yNW1tIik7dGhpcy5wcmludENoZWNrRGlnaXQ9Z2V0SW50ZWdlcih7ZGF0YTplLnByaW50Q2hlY2tEaWdpdCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMucm93Q29sdW1uUmF0aW89Z2V0UmF0aW8oZS5yb3dDb2x1bW5SYXRpbyk7dGhpcy5zdGFydENoYXI9ZS5zdGFydENoYXJ8fCIiO3RoaXMudGV4dExvY2F0aW9uPWdldFN0cmluZ09wdGlvbihlLnRleHRMb2NhdGlvbixbImJlbG93IiwiYWJvdmUiLCJhYm92ZUVtYmVkZGVkIiwiYmVsb3dFbWJlZGRlZCIsIm5vbmUiXSk7dGhpcy50cnVuY2F0ZT1nZXRJbnRlZ2VyKHtkYXRhOmUudHJ1bmNhdGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZT9lLnR5cGUudG9Mb3dlckNhc2UoKToiIixbImF6dGVjIiwiY29kYWJhciIsImNvZGUyb2Y1aW5kdXN0cmlhbCIsImNvZGUyb2Y1aW50ZXJsZWF2ZWQiLCJjb2RlMm9mNW1hdHJpeCIsImNvZGUyb2Y1c3RhbmRhcmQiLCJjb2RlM29mOSIsImNvZGUzb2Y5ZXh0ZW5kZWQiLCJjb2RlMTEiLCJjb2RlNDkiLCJjb2RlOTMiLCJjb2RlMTI4IiwiY29kZTEyOGEiLCJjb2RlMTI4YiIsImNvZGUxMjhjIiwiY29kZTEyOHNzY2MiLCJkYXRhbWF0cml4IiwiZWFuOCIsImVhbjhhZGQyIiwiZWFuOGFkZDUiLCJlYW4xMyIsImVhbjEzYWRkMiIsImVhbjEzYWRkNSIsImVhbjEzcHdjZCIsImZpbSIsImxvZ21hcnMiLCJtYXhpY29kZSIsIm1zaSIsInBkZjQxNyIsInBkZjQxN21hY3JvIiwicGxlc3NleSIsInBvc3RhdXNjdXN0MiIsInBvc3RhdXNjdXN0MyIsInBvc3RhdXNyZXBseXBhaWQiLCJwb3N0YXVzc3RhbmRhcmQiLCJwb3N0dWtybTRzY2MiLCJwb3N0dXNkcGJjIiwicG9zdHVzaW1iIiwicG9zdHVzc3RhbmRhcmQiLCJwb3N0dXM1emlwIiwicXJjb2RlIiwicmZpZCIsInJzczE0IiwicnNzMTRleHBhbmRlZCIsInJzczE0bGltaXRlZCIsInJzczE0c3RhY2tlZCIsInJzczE0c3RhY2tlZG9tbmkiLCJyc3MxNHRydW5jYXRlZCIsInRlbGVwZW4iLCJ1Y2MxMjgiLCJ1Y2MxMjhyYW5kb20iLCJ1Y2MxMjhzc2NjIiwidXBjYSIsInVwY2FhZGQyIiwidXBjYWFkZDUiLCJ1cGNhcHdjZCIsInVwY2UiLCJ1cGNlYWRkMiIsInVwY2VhZGQ1IiwidXBjZWFuMiIsInVwY2VhbjUiLCJ1cHNtYXhpY29kZSJdKTt0aGlzLnVwc01vZGU9Z2V0U3RyaW5nT3B0aW9uKGUudXBzTW9kZSxbInVzQ2FycmllciIsImludGVybmF0aW9uYWxDYXJyaWVyIiwic2VjdXJlU3ltYm9sIiwic3RhbmRhcmRTeW1ib2wiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMud2lkZU5hcnJvd1JhdGlvPWdldFJhdGlvKGUud2lkZU5hcnJvd1JhdGlvKTt0aGlzLmVuY3J5cHQ9bnVsbDt0aGlzLmV4dHJhcz1udWxsfX1jbGFzcyBCaW5kIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJiaW5kIiwhMCk7dGhpcy5tYXRjaD1nZXRTdHJpbmdPcHRpb24oZS5tYXRjaCxbIm9uY2UiLCJkYXRhUmVmIiwiZ2xvYmFsIiwibm9uZSJdKTt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy5waWN0dXJlPW51bGx9fWNsYXNzIEJpbmRJdGVtcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiYmluZEl0ZW1zIik7dGhpcy5jb25uZWN0aW9uPWUuY29ubmVjdGlvbnx8IiI7dGhpcy5sYWJlbFJlZj1lLmxhYmVsUmVmfHwiIjt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy52YWx1ZVJlZj1lLnZhbHVlUmVmfHwiIn19Y2xhc3MgQm9va2VuZCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiYm9va2VuZCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWFkZXI9ZS5sZWFkZXJ8fCIiO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQm9vbGVhbkVsZW1lbnQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiYm9vbGVhbiIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtnbl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKDE9PT10aGlzW3NyXT8iMSI6IjAiKX19Y2xhc3MgQm9yZGVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJib3JkZXIiLCEwKTt0aGlzLmJyZWFrPWdldFN0cmluZ09wdGlvbihlLmJyZWFrLFsiY2xvc2UiLCJvcGVuIl0pO3RoaXMuaGFuZD1nZXRTdHJpbmdPcHRpb24oZS5oYW5kLFsiZXZlbiIsImxlZnQiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucHJlc2VuY2U9Z2V0U3RyaW5nT3B0aW9uKGUucHJlc2VuY2UsWyJ2aXNpYmxlIiwiaGlkZGVuIiwiaW5hY3RpdmUiLCJpbnZpc2libGUiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb3JuZXI9bmV3IFhGQU9iamVjdEFycmF5KDQpO3RoaXMuZWRnZT1uZXcgWEZBT2JqZWN0QXJyYXkoNCk7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmZpbGw9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVtkcl0oKXtpZighdGhpc1tncl0pe2NvbnN0IGU9dGhpcy5lZGdlLmNoaWxkcmVuLnNsaWNlKCk7aWYoZS5sZW5ndGg8NCl7Y29uc3QgdD1lLmF0KC0xKXx8bmV3IEVkZ2Uoe30pO2ZvcihsZXQgaT1lLmxlbmd0aDtpPDQ7aSsrKWUucHVzaCh0KX1jb25zdCB0PWUubWFwKChlPT5lLnRoaWNrbmVzcykpLGk9WzAsMCwwLDBdO2lmKHRoaXMubWFyZ2luKXtpWzBdPXRoaXMubWFyZ2luLnRvcEluc2V0O2lbMV09dGhpcy5tYXJnaW4ucmlnaHRJbnNldDtpWzJdPXRoaXMubWFyZ2luLmJvdHRvbUluc2V0O2lbM109dGhpcy5tYXJnaW4ubGVmdEluc2V0fXRoaXNbZ3JdPXt3aWR0aHM6dCxpbnNldHM6aSxlZGdlczplfX1yZXR1cm4gdGhpc1tncl19W0luXSgpe2NvbnN0e2VkZ2VzOmV9PXRoaXNbZHJdKCksdD1lLm1hcCgoZT0+e2NvbnN0IHQ9ZVtJbl0oKTt0LmNvbG9yfHw9IiMwMDAwMDAiO3JldHVybiB0fSkpLGk9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLm1hcmdpbiYmT2JqZWN0LmFzc2lnbihpLHRoaXMubWFyZ2luW0luXSgpKTsidmlzaWJsZSI9PT10aGlzLmZpbGw/LnByZXNlbmNlJiZPYmplY3QuYXNzaWduKGksdGhpcy5maWxsW0luXSgpKTtpZih0aGlzLmNvcm5lci5jaGlsZHJlbi5zb21lKChlPT4wIT09ZS5yYWRpdXMpKSl7Y29uc3QgZT10aGlzLmNvcm5lci5jaGlsZHJlbi5tYXAoKGU9PmVbSW5dKCkpKTtpZigyPT09ZS5sZW5ndGh8fDM9PT1lLmxlbmd0aCl7Y29uc3QgdD1lLmF0KC0xKTtmb3IobGV0IGk9ZS5sZW5ndGg7aTw0O2krKyllLnB1c2godCl9aS5ib3JkZXJSYWRpdXM9ZS5tYXAoKGU9PmUucmFkaXVzKSkuam9pbigiICIpfXN3aXRjaCh0aGlzLnByZXNlbmNlKXtjYXNlImludmlzaWJsZSI6Y2FzZSJoaWRkZW4iOmkuYm9yZGVyU3R5bGU9IiI7YnJlYWs7Y2FzZSJpbmFjdGl2ZSI6aS5ib3JkZXJTdHlsZT0ibm9uZSI7YnJlYWs7ZGVmYXVsdDppLmJvcmRlclN0eWxlPXQubWFwKChlPT5lLnN0eWxlKSkuam9pbigiICIpfWkuYm9yZGVyV2lkdGg9dC5tYXAoKGU9PmUud2lkdGgpKS5qb2luKCIgIik7aS5ib3JkZXJDb2xvcj10Lm1hcCgoZT0+ZS5jb2xvcikpLmpvaW4oIiAiKTtyZXR1cm4gaX19Y2xhc3MgQnJlYWsgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImJyZWFrIiwhMCk7dGhpcy5hZnRlcj1nZXRTdHJpbmdPcHRpb24oZS5hZnRlcixbImF1dG8iLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIiwicGFnZUV2ZW4iLCJwYWdlT2RkIl0pO3RoaXMuYWZ0ZXJUYXJnZXQ9ZS5hZnRlclRhcmdldHx8IiI7dGhpcy5iZWZvcmU9Z2V0U3RyaW5nT3B0aW9uKGUuYmVmb3JlLFsiYXV0byIsImNvbnRlbnRBcmVhIiwicGFnZUFyZWEiLCJwYWdlRXZlbiIsInBhZ2VPZGQiXSk7dGhpcy5iZWZvcmVUYXJnZXQ9ZS5iZWZvcmVUYXJnZXR8fCIiO3RoaXMuYm9va2VuZExlYWRlcj1lLmJvb2tlbmRMZWFkZXJ8fCIiO3RoaXMuYm9va2VuZFRyYWlsZXI9ZS5ib29rZW5kVHJhaWxlcnx8IiI7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm92ZXJmbG93TGVhZGVyPWUub3ZlcmZsb3dMZWFkZXJ8fCIiO3RoaXMub3ZlcmZsb3dUYXJnZXQ9ZS5vdmVyZmxvd1RhcmdldHx8IiI7dGhpcy5vdmVyZmxvd1RyYWlsZXI9ZS5vdmVyZmxvd1RyYWlsZXJ8fCIiO3RoaXMuc3RhcnROZXc9Z2V0SW50ZWdlcih7ZGF0YTplLnN0YXJ0TmV3LGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9fWNsYXNzIEJyZWFrQWZ0ZXIgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImJyZWFrQWZ0ZXIiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGVhZGVyPWUubGVhZGVyfHwiIjt0aGlzLnN0YXJ0TmV3PWdldEludGVnZXIoe2RhdGE6ZS5zdGFydE5ldyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnRhcmdldFR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudGFyZ2V0VHlwZSxbImF1dG8iLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIl0pO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnNjcmlwdD1udWxsfX1jbGFzcyBCcmVha0JlZm9yZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiYnJlYWtCZWZvcmUiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGVhZGVyPWUubGVhZGVyfHwiIjt0aGlzLnN0YXJ0TmV3PWdldEludGVnZXIoe2RhdGE6ZS5zdGFydE5ldyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnRhcmdldFR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudGFyZ2V0VHlwZSxbImF1dG8iLCJjb250ZW50QXJlYSIsInBhZ2VBcmVhIl0pO3RoaXMudHJhaWxlcj1lLnRyYWlsZXJ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnNjcmlwdD1udWxsfVtnbl0oZSl7dGhpc1tncl09e307cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX19Y2xhc3MgQnV0dG9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJidXR0b24iLCEwKTt0aGlzLmhpZ2hsaWdodD1nZXRTdHJpbmdPcHRpb24oZS5oaWdobGlnaHQsWyJpbnZlcnRlZCIsIm5vbmUiLCJvdXRsaW5lIiwicHVzaCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsfVtnbl0oZSl7Y29uc3QgdD10aGlzW0RyXSgpW0RyXSgpLGk9e25hbWU6ImJ1dHRvbiIsYXR0cmlidXRlczp7aWQ6dGhpc1tjbl0sY2xhc3M6WyJ4ZmFCdXR0b24iXSxzdHlsZTp7fX0sY2hpbGRyZW46W119O2Zvcihjb25zdCBlIG9mIHQuZXZlbnQuY2hpbGRyZW4pe2lmKCJjbGljayIhPT1lLmFjdGl2aXR5fHwhZS5zY3JpcHQpY29udGludWU7Y29uc3QgdD1yZWNvdmVySnNVUkwoZS5zY3JpcHRbc3JdKTtpZighdCljb250aW51ZTtjb25zdCBhPWZpeFVSTCh0LnVybCk7YSYmaS5jaGlsZHJlbi5wdXNoKHtuYW1lOiJhIixhdHRyaWJ1dGVzOntpZDoibGluayIrdGhpc1tjbl0saHJlZjphLG5ld1dpbmRvdzp0Lm5ld1dpbmRvdyxjbGFzczpbInhmYUxpbmsiXSxzdHlsZTp7fX0sY2hpbGRyZW46W119KX1yZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGkpfX1jbGFzcyBDYWxjdWxhdGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImNhbGN1bGF0ZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5vdmVycmlkZT1nZXRTdHJpbmdPcHRpb24oZS5vdmVycmlkZSxbImRpc2FibGVkIiwiZXJyb3IiLCJpZ25vcmUiLCJ3YXJuaW5nIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWVzc2FnZT1udWxsO3RoaXMuc2NyaXB0PW51bGx9fWNsYXNzIENhcHRpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImNhcHRpb24iLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGxhY2VtZW50PWdldFN0cmluZ09wdGlvbihlLnBsYWNlbWVudCxbImxlZnQiLCJib3R0b20iLCJpbmxpbmUiLCJyaWdodCIsInRvcCJdKTt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVzZXJ2ZT1NYXRoLmNlaWwoZ2V0TWVhc3VyZW1lbnQoZS5yZXNlcnZlKSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5mb250PW51bGw7dGhpcy5tYXJnaW49bnVsbDt0aGlzLnBhcmE9bnVsbDt0aGlzLnZhbHVlPW51bGx9W2FuXShlKXtfc2V0VmFsdWUodGhpcyxlKX1bZHJdKGUpe2lmKCF0aGlzW2dyXSl7bGV0e3dpZHRoOnQsaGVpZ2h0Oml9PWU7c3dpdGNoKHRoaXMucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UicmlnaHQiOmNhc2UiaW5saW5lIjp0PXRoaXMucmVzZXJ2ZTw9MD90OnRoaXMucmVzZXJ2ZTticmVhaztjYXNlInRvcCI6Y2FzZSJib3R0b20iOmk9dGhpcy5yZXNlcnZlPD0wP2k6dGhpcy5yZXNlcnZlfXRoaXNbZ3JdPWxheW91dE5vZGUodGhpcyx7d2lkdGg6dCxoZWlnaHQ6aX0pfXJldHVybiB0aGlzW2dyXX1bZ25dKGUpe2lmKCF0aGlzLnZhbHVlKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO3RoaXNbVnJdKCk7Y29uc3QgdD10aGlzLnZhbHVlW2duXShlKS5odG1sO2lmKCF0KXt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LkVNUFRZfWNvbnN0IGk9dGhpcy5yZXNlcnZlO2lmKHRoaXMucmVzZXJ2ZTw9MCl7Y29uc3R7dzp0LGg6aX09dGhpc1tkcl0oZSk7c3dpdGNoKHRoaXMucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UicmlnaHQiOmNhc2UiaW5saW5lIjp0aGlzLnJlc2VydmU9dDticmVhaztjYXNlInRvcCI6Y2FzZSJib3R0b20iOnRoaXMucmVzZXJ2ZT1pfX1jb25zdCBhPVtdOyJzdHJpbmciPT10eXBlb2YgdD9hLnB1c2goe25hbWU6IiN0ZXh0Iix2YWx1ZTp0fSk6YS5wdXNoKHQpO2NvbnN0IHM9dG9TdHlsZSh0aGlzLCJmb250IiwibWFyZ2luIiwidmlzaWJpbGl0eSIpO3N3aXRjaCh0aGlzLnBsYWNlbWVudCl7Y2FzZSJsZWZ0IjpjYXNlInJpZ2h0Ijp0aGlzLnJlc2VydmU+MCYmKHMud2lkdGg9bWVhc3VyZVRvU3RyaW5nKHRoaXMucmVzZXJ2ZSkpO2JyZWFrO2Nhc2UidG9wIjpjYXNlImJvdHRvbSI6dGhpcy5yZXNlcnZlPjAmJihzLmhlaWdodD1tZWFzdXJlVG9TdHJpbmcodGhpcy5yZXNlcnZlKSl9c2V0UGFyYSh0aGlzLG51bGwsdCk7dGhpc1tacl0oKTt0aGlzLnJlc2VydmU9aTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e3N0eWxlOnMsY2xhc3M6WyJ4ZmFDYXB0aW9uIl19LGNoaWxkcmVuOmF9KX19Y2xhc3MgQ2VydGlmaWNhdGUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImNlcnRpZmljYXRlIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIENlcnRpZmljYXRlcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiY2VydGlmaWNhdGVzIiwhMCk7dGhpcy5jcmVkZW50aWFsU2VydmVyUG9saWN5PWdldFN0cmluZ09wdGlvbihlLmNyZWRlbnRpYWxTZXJ2ZXJQb2xpY3ksWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51cmw9ZS51cmx8fCIiO3RoaXMudXJsUG9saWN5PWUudXJsUG9saWN5fHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5lbmNyeXB0aW9uPW51bGw7dGhpcy5pc3N1ZXJzPW51bGw7dGhpcy5rZXlVc2FnZT1udWxsO3RoaXMub2lkcz1udWxsO3RoaXMuc2lnbmluZz1udWxsO3RoaXMuc3ViamVjdEROcz1udWxsfX1jbGFzcyBDaGVja0J1dHRvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiY2hlY2tCdXR0b24iLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubWFyaz1nZXRTdHJpbmdPcHRpb24oZS5tYXJrLFsiZGVmYXVsdCIsImNoZWNrIiwiY2lyY2xlIiwiY3Jvc3MiLCJkaWFtb25kIiwic3F1YXJlIiwic3RhciJdKTt0aGlzLnNoYXBlPWdldFN0cmluZ09wdGlvbihlLnNoYXBlLFsic3F1YXJlIiwicm91bmQiXSk7dGhpcy5zaXplPWdldE1lYXN1cmVtZW50KGUuc2l6ZSwiMTBwdCIpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvcmRlcj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbH1bZ25dKGUpe2NvbnN0IHQ9dG9TdHlsZSgibWFyZ2luIiksaT1tZWFzdXJlVG9TdHJpbmcodGhpcy5zaXplKTt0LndpZHRoPXQuaGVpZ2h0PWk7bGV0IGEscyxyO2NvbnN0IG49dGhpc1tEcl0oKVtEcl0oKSxnPW4uaXRlbXMuY2hpbGRyZW4ubGVuZ3RoJiZuLml0ZW1zLmNoaWxkcmVuWzBdW2duXSgpLmh0bWx8fFtdLG89e29uOih2b2lkIDAhPT1nWzBdP2dbMF06Im9uIikudG9TdHJpbmcoKSxvZmY6KHZvaWQgMCE9PWdbMV0/Z1sxXToib2ZmIikudG9TdHJpbmcoKX0sYz0obi52YWx1ZT8uW3JuXSgpfHwib2ZmIik9PT1vLm9ufHx2b2lkIDAsQz1uW3dyXSgpLGg9bltjbl07bGV0IGw7aWYoQyBpbnN0YW5jZW9mIEV4Y2xHcm91cCl7cj1DW2NuXTthPSJyYWRpbyI7cz0ieGZhUmFkaW8iO2w9Q1tycl0/Lltjbl18fENbY25dfWVsc2V7YT0iY2hlY2tib3giO3M9InhmYUNoZWNrYm94IjtsPW5bcnJdPy5bY25dfHxuW2NuXX1jb25zdCBRPXtuYW1lOiJpbnB1dCIsYXR0cmlidXRlczp7Y2xhc3M6W3NdLHN0eWxlOnQsZmllbGRJZDpoLGRhdGFJZDpsLHR5cGU6YSxjaGVja2VkOmMseGZhT246by5vbix4ZmFPZmY6by5vZmYsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChuKSwiYXJpYS1yZXF1aXJlZCI6ITF9fTtyJiYoUS5hdHRyaWJ1dGVzLm5hbWU9cik7aWYoaXNSZXF1aXJlZChuKSl7US5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7US5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOltRXX0pfX1jbGFzcyBDaG9pY2VMaXN0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJjaG9pY2VMaXN0IiwhMCk7dGhpcy5jb21taXRPbj1nZXRTdHJpbmdPcHRpb24oZS5jb21taXRPbixbInNlbGVjdCIsImV4aXQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm9wZW49Z2V0U3RyaW5nT3B0aW9uKGUub3BlbixbInVzZXJDb250cm9sIiwiYWx3YXlzIiwibXVsdGlTZWxlY3QiLCJvbkVudHJ5Il0pO3RoaXMudGV4dEVudHJ5PWdldEludGVnZXIoe2RhdGE6ZS50ZXh0RW50cnksZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGx9W2duXShlKXtjb25zdCB0PXRvU3R5bGUodGhpcywiYm9yZGVyIiwibWFyZ2luIiksaT10aGlzW0RyXSgpW0RyXSgpLGE9e2ZvbnRTaXplOmBjYWxjKCR7aS5mb250Py5zaXplfHwxMH1weCAqIHZhcigtLXNjYWxlLWZhY3RvcikpYH0scz1bXTtpZihpLml0ZW1zLmNoaWxkcmVuLmxlbmd0aD4wKXtjb25zdCBlPWkuaXRlbXM7bGV0IHQ9MCxyPTA7aWYoMj09PWUuY2hpbGRyZW4ubGVuZ3RoKXt0PWUuY2hpbGRyZW5bMF0uc2F2ZTtyPTEtdH1jb25zdCBuPWUuY2hpbGRyZW5bdF1bZ25dKCkuaHRtbCxnPWUuY2hpbGRyZW5bcl1bZ25dKCkuaHRtbDtsZXQgbz0hMTtjb25zdCBjPWkudmFsdWU/Lltybl0oKXx8IiI7Zm9yKGxldCBlPTAsdD1uLmxlbmd0aDtlPHQ7ZSsrKXtjb25zdCB0PXtuYW1lOiJvcHRpb24iLGF0dHJpYnV0ZXM6e3ZhbHVlOmdbZV18fG5bZV0sc3R5bGU6YX0sdmFsdWU6bltlXX07Z1tlXT09PWMmJih0LmF0dHJpYnV0ZXMuc2VsZWN0ZWQ9bz0hMCk7cy5wdXNoKHQpfW98fHMuc3BsaWNlKDAsMCx7bmFtZToib3B0aW9uIixhdHRyaWJ1dGVzOntoaWRkZW46ITAsc2VsZWN0ZWQ6ITB9LHZhbHVlOiIgIn0pfWNvbnN0IHI9e2NsYXNzOlsieGZhU2VsZWN0Il0sZmllbGRJZDppW2NuXSxkYXRhSWQ6aVtycl0/Lltjbl18fGlbY25dLHN0eWxlOnQsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChpKSwiYXJpYS1yZXF1aXJlZCI6ITF9O2lmKGlzUmVxdWlyZWQoaSkpe3JbImFyaWEtcmVxdWlyZWQiXT0hMDtyLnJlcXVpcmVkPSEwfSJtdWx0aVNlbGVjdCI9PT10aGlzLm9wZW4mJihyLm11bHRpcGxlPSEwKTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJsYWJlbCIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFMYWJlbCJdfSxjaGlsZHJlbjpbe25hbWU6InNlbGVjdCIsY2hpbGRyZW46cyxhdHRyaWJ1dGVzOnJ9XX0pfX1jbGFzcyBDb2xvciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiY29sb3IiLCEwKTt0aGlzLmNTcGFjZT1nZXRTdHJpbmdPcHRpb24oZS5jU3BhY2UsWyJTUkdCIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudmFsdWU9ZS52YWx1ZT9mdW5jdGlvbiBnZXRDb2xvcihlLHQ9WzAsMCwwXSl7bGV0W2ksYSxzXT10O2lmKCFlKXJldHVybntyOmksZzphLGI6c307Y29uc3Qgcj1lLnRyaW0oKS5zcGxpdCgvXHMqLFxzKi8pLm1hcCgoZT0+TWF0aC5taW4oTWF0aC5tYXgoMCxwYXJzZUludChlLnRyaW0oKSwxMCkpLDI1NSkpKS5tYXAoKGU9PmlzTmFOKGUpPzA6ZSkpO2lmKHIubGVuZ3RoPDMpcmV0dXJue3I6aSxnOmEsYjpzfTtbaSxhLHNdPXI7cmV0dXJue3I6aSxnOmEsYjpzfX0oZS52YWx1ZSk6IiI7dGhpcy5leHRyYXM9bnVsbH1bU3JdKCl7cmV0dXJuITF9W0luXSgpe3JldHVybiB0aGlzLnZhbHVlP1V0aWwubWFrZUhleENvbG9yKHRoaXMudmFsdWUucix0aGlzLnZhbHVlLmcsdGhpcy52YWx1ZS5iKTpudWxsfX1jbGFzcyBDb21iIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJjb21iIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm51bWJlck9mQ2VsbHM9Z2V0SW50ZWdlcih7ZGF0YTplLm51bWJlck9mQ2VsbHMsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgQ29ubmVjdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiY29ubmVjdCIsITApO3RoaXMuY29ubmVjdGlvbj1lLmNvbm5lY3Rpb258fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudXNhZ2U9Z2V0U3RyaW5nT3B0aW9uKGUudXNhZ2UsWyJleHBvcnRBbmRJbXBvcnQiLCJleHBvcnRPbmx5IiwiaW1wb3J0T25seSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5waWN0dXJlPW51bGx9fWNsYXNzIENvbnRlbnRBcmVhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJjb250ZW50QXJlYSIsITApO3RoaXMuaD1nZXRNZWFzdXJlbWVudChlLmgpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53PWdldE1lYXN1cmVtZW50KGUudyk7dGhpcy54PWdldE1lYXN1cmVtZW50KGUueCwiMHB0Iik7dGhpcy55PWdldE1lYXN1cmVtZW50KGUueSwiMHB0Iik7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bZ25dKGUpe2NvbnN0IHQ9e2xlZnQ6bWVhc3VyZVRvU3RyaW5nKHRoaXMueCksdG9wOm1lYXN1cmVUb1N0cmluZyh0aGlzLnkpLHdpZHRoOm1lYXN1cmVUb1N0cmluZyh0aGlzLncpLGhlaWdodDptZWFzdXJlVG9TdHJpbmcodGhpcy5oKX0saT1bInhmYUNvbnRlbnRhcmVhIl07aXNQcmludE9ubHkodGhpcykmJmkucHVzaCgieGZhUHJpbnRPbmx5Iik7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixjaGlsZHJlbjpbXSxhdHRyaWJ1dGVzOntzdHlsZTp0LGNsYXNzOmksaWQ6dGhpc1tjbl19fSl9fWNsYXNzIENvcm5lciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiY29ybmVyIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmludmVydGVkPWdldEludGVnZXIoe2RhdGE6ZS5pbnZlcnRlZCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuam9pbj1nZXRTdHJpbmdPcHRpb24oZS5qb2luLFsic3F1YXJlIiwicm91bmQiXSk7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnJhZGl1cz1nZXRNZWFzdXJlbWVudChlLnJhZGl1cyk7dGhpcy5zdHJva2U9Z2V0U3RyaW5nT3B0aW9uKGUuc3Ryb2tlLFsic29saWQiLCJkYXNoRG90IiwiZGFzaERvdERvdCIsImRhc2hlZCIsImRvdHRlZCIsImVtYm9zc2VkIiwiZXRjaGVkIiwibG93ZXJlZCIsInJhaXNlZCJdKTt0aGlzLnRoaWNrbmVzcz1nZXRNZWFzdXJlbWVudChlLnRoaWNrbmVzcywiMC41cHQiKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGx9W0luXSgpe2NvbnN0IGU9dG9TdHlsZSh0aGlzLCJ2aXNpYmlsaXR5Iik7ZS5yYWRpdXM9bWVhc3VyZVRvU3RyaW5nKCJzcXVhcmUiPT09dGhpcy5qb2luPzA6dGhpcy5yYWRpdXMpO3JldHVybiBlfX1jbGFzcyBEYXRlRWxlbWVudCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImRhdGUiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bb3JdKCl7Y29uc3QgZT10aGlzW3NyXS50cmltKCk7dGhpc1tzcl09ZT9uZXcgRGF0ZShlKTpudWxsfVtnbl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKHRoaXNbc3JdP3RoaXNbc3JdLnRvU3RyaW5nKCk6IiIpfX1jbGFzcyBEYXRlVGltZSBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImRhdGVUaW1lIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W29yXSgpe2NvbnN0IGU9dGhpc1tzcl0udHJpbSgpO3RoaXNbc3JdPWU/bmV3IERhdGUoZSk6bnVsbH1bZ25dKGUpe3JldHVybiB2YWx1ZVRvSHRtbCh0aGlzW3NyXT90aGlzW3NyXS50b1N0cmluZygpOiIiKX19Y2xhc3MgRGF0ZVRpbWVFZGl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJkYXRlVGltZUVkaXQiLCEwKTt0aGlzLmhTY3JvbGxQb2xpY3k9Z2V0U3RyaW5nT3B0aW9uKGUuaFNjcm9sbFBvbGljeSxbImF1dG8iLCJvZmYiLCJvbiJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGlja2VyPWdldFN0cmluZ09wdGlvbihlLnBpY2tlcixbImhvc3QiLCJub25lIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvcmRlcj1udWxsO3RoaXMuY29tYj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tYXJnaW49bnVsbH1bZ25dKGUpe2NvbnN0IHQ9dG9TdHlsZSh0aGlzLCJib3JkZXIiLCJmb250IiwibWFyZ2luIiksaT10aGlzW0RyXSgpW0RyXSgpLGE9e25hbWU6ImlucHV0IixhdHRyaWJ1dGVzOnt0eXBlOiJ0ZXh0IixmaWVsZElkOmlbY25dLGRhdGFJZDppW3JyXT8uW2NuXXx8aVtjbl0sY2xhc3M6WyJ4ZmFUZXh0ZmllbGQiXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwoaSksImFyaWEtcmVxdWlyZWQiOiExfX07aWYoaXNSZXF1aXJlZChpKSl7YS5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7YS5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOlthXX0pfX1jbGFzcyBEZWNpbWFsIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZGVjaW1hbCIpO3RoaXMuZnJhY0RpZ2l0cz1nZXRJbnRlZ2VyKHtkYXRhOmUuZnJhY0RpZ2l0cyxkZWZhdWx0VmFsdWU6Mix2YWxpZGF0ZTplPT4hMH0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sZWFkRGlnaXRzPWdldEludGVnZXIoe2RhdGE6ZS5sZWFkRGlnaXRzLGRlZmF1bHRWYWx1ZTotMSx2YWxpZGF0ZTplPT4hMH0pO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bb3JdKCl7Y29uc3QgZT1wYXJzZUZsb2F0KHRoaXNbc3JdLnRyaW0oKSk7dGhpc1tzcl09aXNOYU4oZSk/bnVsbDplfVtnbl0oZSl7cmV0dXJuIHZhbHVlVG9IdG1sKG51bGwhPT10aGlzW3NyXT90aGlzW3NyXS50b1N0cmluZygpOiIiKX19Y2xhc3MgRGVmYXVsdFVpIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJkZWZhdWx0VWkiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsfX1jbGFzcyBEZXNjIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJkZXNjIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVjaW1hbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmxvYXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW1hZ2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW50ZWdlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZXh0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRpbWU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBEaWdlc3RNZXRob2QgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImRpZ2VzdE1ldGhvZCIsWyIiLCJTSEExIiwiU0hBMjU2IiwiU0hBNTEyIiwiUklQRU1EMTYwIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBEaWdlc3RNZXRob2RzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJkaWdlc3RNZXRob2RzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZGlnZXN0TWV0aG9kPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRHJhdyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZHJhdyIsITApO3RoaXMuYW5jaG9yVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5hbmNob3JUeXBlLFsidG9wTGVmdCIsImJvdHRvbUNlbnRlciIsImJvdHRvbUxlZnQiLCJib3R0b21SaWdodCIsIm1pZGRsZUNlbnRlciIsIm1pZGRsZUxlZnQiLCJtaWRkbGVSaWdodCIsInRvcENlbnRlciIsInRvcFJpZ2h0Il0pO3RoaXMuY29sU3Bhbj1nZXRJbnRlZ2VyKHtkYXRhOmUuY29sU3BhbixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT5lPj0xfHwtMT09PWV9KTt0aGlzLmg9ZS5oP2dldE1lYXN1cmVtZW50KGUuaCk6IiI7dGhpcy5oQWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUuaEFsaWduLFsibGVmdCIsImNlbnRlciIsImp1c3RpZnkiLCJqdXN0aWZ5QWxsIiwicmFkaXgiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubG9jYWxlPWUubG9jYWxlfHwiIjt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy5yb3RhdGU9Z2V0SW50ZWdlcih7ZGF0YTplLnJvdGF0ZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lJTkwPT0wfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jYXB0aW9uPW51bGw7dGhpcy5kZXNjPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLmZvbnQ9bnVsbDt0aGlzLmtlZXA9bnVsbDt0aGlzLm1hcmdpbj1udWxsO3RoaXMucGFyYT1udWxsO3RoaXMudHJhdmVyc2FsPW51bGw7dGhpcy51aT1udWxsO3RoaXMudmFsdWU9bnVsbDt0aGlzLnNldFByb3BlcnR5PW5ldyBYRkFPYmplY3RBcnJheX1bYW5dKGUpe19zZXRWYWx1ZSh0aGlzLGUpfVtnbl0oZSl7c2V0VGFiSW5kZXgodGhpcyk7aWYoImhpZGRlbiI9PT10aGlzLnByZXNlbmNlfHwiaW5hY3RpdmUiPT09dGhpcy5wcmVzZW5jZSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtmaXhEaW1lbnNpb25zKHRoaXMpO3RoaXNbVnJdKCk7Y29uc3QgdD10aGlzLncsaT10aGlzLmgse3c6YSxoOnMsaXNCcm9rZW46cn09bGF5b3V0Tm9kZSh0aGlzLGUpO2lmKGEmJiIiPT09dGhpcy53KXtpZihyJiZ0aGlzW3dyXSgpW0pyXSgpKXt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dGhpcy53PWF9cyYmIiI9PT10aGlzLmgmJih0aGlzLmg9cyk7c2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7aWYoIWNoZWNrRGltZW5zaW9ucyh0aGlzLGUpKXt0aGlzLnc9dDt0aGlzLmg9aTt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dW5zZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtjb25zdCBuPXRvU3R5bGUodGhpcywiZm9udCIsImhBbGlnbiIsImRpbWVuc2lvbnMiLCJwb3NpdGlvbiIsInByZXNlbmNlIiwicm90YXRlIiwiYW5jaG9yVHlwZSIsImJvcmRlciIsIm1hcmdpbiIpO3NldE1pbk1heERpbWVuc2lvbnModGhpcyxuKTtpZihuLm1hcmdpbil7bi5wYWRkaW5nPW4ubWFyZ2luO2RlbGV0ZSBuLm1hcmdpbn1jb25zdCBnPVsieGZhRHJhdyJdO3RoaXMuZm9udCYmZy5wdXNoKCJ4ZmFGb250Iik7aXNQcmludE9ubHkodGhpcykmJmcucHVzaCgieGZhUHJpbnRPbmx5Iik7Y29uc3Qgbz17c3R5bGU6bixpZDp0aGlzW2NuXSxjbGFzczpnfTt0aGlzLm5hbWUmJihvLnhmYU5hbWU9dGhpcy5uYW1lKTtjb25zdCBjPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6byxjaGlsZHJlbjpbXX07YXBwbHlBc3Npc3QodGhpcyxvKTtjb25zdCBDPWNvbXB1dGVCYm94KHRoaXMsYyxlKSxoPXRoaXMudmFsdWU/dGhpcy52YWx1ZVtnbl0oZSkuaHRtbDpudWxsO2lmKG51bGw9PT1oKXt0aGlzLnc9dDt0aGlzLmg9aTt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGMpLEMpfWMuY2hpbGRyZW4ucHVzaChoKTtzZXRQYXJhKHRoaXMsbixoKTt0aGlzLnc9dDt0aGlzLmg9aTt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGMpLEMpfX1jbGFzcyBFZGdlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJlZGdlIiwhMCk7dGhpcy5jYXA9Z2V0U3RyaW5nT3B0aW9uKGUuY2FwLFsic3F1YXJlIiwiYnV0dCIsInJvdW5kIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnN0cm9rZT1nZXRTdHJpbmdPcHRpb24oZS5zdHJva2UsWyJzb2xpZCIsImRhc2hEb3QiLCJkYXNoRG90RG90IiwiZGFzaGVkIiwiZG90dGVkIiwiZW1ib3NzZWQiLCJldGNoZWQiLCJsb3dlcmVkIiwicmFpc2VkIl0pO3RoaXMudGhpY2tuZXNzPWdldE1lYXN1cmVtZW50KGUudGhpY2tuZXNzLCIwLjVwdCIpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmNvbG9yPW51bGw7dGhpcy5leHRyYXM9bnVsbH1bSW5dKCl7Y29uc3QgZT10b1N0eWxlKHRoaXMsInZpc2liaWxpdHkiKTtPYmplY3QuYXNzaWduKGUse2xpbmVjYXA6dGhpcy5jYXAsd2lkdGg6bWVhc3VyZVRvU3RyaW5nKHRoaXMudGhpY2tuZXNzKSxjb2xvcjp0aGlzLmNvbG9yP3RoaXMuY29sb3JbSW5dKCk6IiMwMDAwMDAiLHN0eWxlOiIifSk7aWYoInZpc2libGUiIT09dGhpcy5wcmVzZW5jZSllLnN0eWxlPSJub25lIjtlbHNlIHN3aXRjaCh0aGlzLnN0cm9rZSl7Y2FzZSJzb2xpZCI6ZS5zdHlsZT0ic29saWQiO2JyZWFrO2Nhc2UiZGFzaERvdCI6Y2FzZSJkYXNoRG90RG90IjpjYXNlImRhc2hlZCI6ZS5zdHlsZT0iZGFzaGVkIjticmVhaztjYXNlImRvdHRlZCI6ZS5zdHlsZT0iZG90dGVkIjticmVhaztjYXNlImVtYm9zc2VkIjplLnN0eWxlPSJyaWRnZSI7YnJlYWs7Y2FzZSJldGNoZWQiOmUuc3R5bGU9Imdyb292ZSI7YnJlYWs7Y2FzZSJsb3dlcmVkIjplLnN0eWxlPSJpbnNldCI7YnJlYWs7Y2FzZSJyYWlzZWQiOmUuc3R5bGU9Im91dHNldCJ9cmV0dXJuIGV9fWNsYXNzIEVuY29kaW5nIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJlbmNvZGluZyIsWyJhZGJlLng1MDkucnNhX3NoYTEiLCJhZGJlLnBrY3M3LmRldGFjaGVkIiwiYWRiZS5wa2NzNy5zaGExIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBFbmNvZGluZ3MgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImVuY29kaW5ncyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVuY29kaW5nPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRW5jcnlwdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZW5jcnlwdCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY2VydGlmaWNhdGU9bnVsbH19Y2xhc3MgRW5jcnlwdERhdGEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImVuY3J5cHREYXRhIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm9wZXJhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5vcGVyYXRpb24sWyJlbmNyeXB0IiwiZGVjcnlwdCJdKTt0aGlzLnRhcmdldD1lLnRhcmdldHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZmlsdGVyPW51bGw7dGhpcy5tYW5pZmVzdD1udWxsfX1jbGFzcyBFbmNyeXB0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJlbmNyeXB0aW9uIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY2VydGlmaWNhdGU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBFbmNyeXB0aW9uTWV0aG9kIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJlbmNyeXB0aW9uTWV0aG9kIixbIiIsIkFFUzI1Ni1DQkMiLCJUUklQTEVERVMtQ0JDIiwiQUVTMTI4LUNCQyIsIkFFUzE5Mi1DQkMiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIEVuY3J5cHRpb25NZXRob2RzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJlbmNyeXB0aW9uTWV0aG9kcyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVuY3J5cHRpb25NZXRob2Q9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBFdmVudCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZXZlbnQiLCEwKTt0aGlzLmFjdGl2aXR5PWdldFN0cmluZ09wdGlvbihlLmFjdGl2aXR5LFsiY2xpY2siLCJjaGFuZ2UiLCJkb2NDbG9zZSIsImRvY1JlYWR5IiwiZW50ZXIiLCJleGl0IiwiZnVsbCIsImluZGV4Q2hhbmdlIiwiaW5pdGlhbGl6ZSIsIm1vdXNlRG93biIsIm1vdXNlRW50ZXIiLCJtb3VzZUV4aXQiLCJtb3VzZVVwIiwicG9zdEV4ZWN1dGUiLCJwb3N0T3BlbiIsInBvc3RQcmludCIsInBvc3RTYXZlIiwicG9zdFNpZ24iLCJwb3N0U3VibWl0IiwicHJlRXhlY3V0ZSIsInByZU9wZW4iLCJwcmVQcmludCIsInByZVNhdmUiLCJwcmVTaWduIiwicHJlU3VibWl0IiwicmVhZHkiLCJ2YWxpZGF0aW9uU3RhdGUiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxpc3Rlbj1nZXRTdHJpbmdPcHRpb24oZS5saXN0ZW4sWyJyZWZPbmx5IiwicmVmQW5kRGVzY2VuZGVudHMiXSk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZW5jcnlwdERhdGE9bnVsbDt0aGlzLmV4ZWN1dGU9bnVsbDt0aGlzLnNjcmlwdD1udWxsO3RoaXMuc2lnbkRhdGE9bnVsbDt0aGlzLnN1Ym1pdD1udWxsfX1jbGFzcyBFeERhdGEgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJleERhdGEiKTt0aGlzLmNvbnRlbnRUeXBlPWUuY29udGVudFR5cGV8fCIiO3RoaXMuaHJlZj1lLmhyZWZ8fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tYXhMZW5ndGg9Z2V0SW50ZWdlcih7ZGF0YTplLm1heExlbmd0aCxkZWZhdWx0VmFsdWU6LTEsdmFsaWRhdGU6ZT0+ZT49LTF9KTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnJpZD1lLnJpZHx8IiI7dGhpcy50cmFuc2ZlckVuY29kaW5nPWdldFN0cmluZ09wdGlvbihlLnRyYW5zZmVyRW5jb2RpbmcsWyJub25lIiwiYmFzZTY0IiwicGFja2FnZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W0dyXSgpe3JldHVybiJ0ZXh0L2h0bWwiPT09dGhpcy5jb250ZW50VHlwZX1bUHJdKGUpe2lmKCJ0ZXh0L2h0bWwiPT09dGhpcy5jb250ZW50VHlwZSYmZVtUcl09PT1obi54aHRtbC5pZCl7dGhpc1tzcl09ZTtyZXR1cm4hMH1pZigidGV4dC94bWwiPT09dGhpcy5jb250ZW50VHlwZSl7dGhpc1tzcl09ZTtyZXR1cm4hMH1yZXR1cm4hMX1bZ25dKGUpe3JldHVybiJ0ZXh0L2h0bWwiPT09dGhpcy5jb250ZW50VHlwZSYmdGhpc1tzcl0/dGhpc1tzcl1bZ25dKGUpOkhUTUxSZXN1bHQuRU1QVFl9fWNsYXNzIEV4T2JqZWN0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJleE9iamVjdCIsITApO3RoaXMuYXJjaGl2ZT1lLmFyY2hpdmV8fCIiO3RoaXMuY2xhc3NJZD1lLmNsYXNzSWR8fCIiO3RoaXMuY29kZUJhc2U9ZS5jb2RlQmFzZXx8IiI7dGhpcy5jb2RlVHlwZT1lLmNvZGVUeXBlfHwiIjt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMuYm9vbGVhbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGVUaW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlY2ltYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhEYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4T2JqZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRXhjbEdyb3VwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJleGNsR3JvdXAiLCEwKTt0aGlzLmFjY2Vzcz1nZXRTdHJpbmdPcHRpb24oZS5hY2Nlc3MsWyJvcGVuIiwibm9uSW50ZXJhY3RpdmUiLCJwcm90ZWN0ZWQiLCJyZWFkT25seSJdKTt0aGlzLmFjY2Vzc0tleT1lLmFjY2Vzc0tleXx8IiI7dGhpcy5hbmNob3JUeXBlPWdldFN0cmluZ09wdGlvbihlLmFuY2hvclR5cGUsWyJ0b3BMZWZ0IiwiYm90dG9tQ2VudGVyIiwiYm90dG9tTGVmdCIsImJvdHRvbVJpZ2h0IiwibWlkZGxlQ2VudGVyIiwibWlkZGxlTGVmdCIsIm1pZGRsZVJpZ2h0IiwidG9wQ2VudGVyIiwidG9wUmlnaHQiXSk7dGhpcy5jb2xTcGFuPWdldEludGVnZXIoe2RhdGE6ZS5jb2xTcGFuLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PmU+PTF8fC0xPT09ZX0pO3RoaXMuaD1lLmg/Z2V0TWVhc3VyZW1lbnQoZS5oKToiIjt0aGlzLmhBbGlnbj1nZXRTdHJpbmdPcHRpb24oZS5oQWxpZ24sWyJsZWZ0IiwiY2VudGVyIiwianVzdGlmeSIsImp1c3RpZnlBbGwiLCJyYWRpeCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5sYXlvdXQ9Z2V0U3RyaW5nT3B0aW9uKGUubGF5b3V0LFsicG9zaXRpb24iLCJsci10YiIsInJsLXJvdyIsInJsLXRiIiwicm93IiwidGFibGUiLCJ0YiJdKTt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYmluZD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jYWxjdWxhdGU9bnVsbDt0aGlzLmNhcHRpb249bnVsbDt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGw7dGhpcy5wYXJhPW51bGw7dGhpcy50cmF2ZXJzYWw9bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy5jb25uZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV2ZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpZWxkPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNldFByb3BlcnR5PW5ldyBYRkFPYmplY3RBcnJheX1beHJdKCl7cmV0dXJuITB9W1NyXSgpe3JldHVybiEwfVthbl0oZSl7Zm9yKGNvbnN0IHQgb2YgdGhpcy5maWVsZC5jaGlsZHJlbil7aWYoIXQudmFsdWUpe2NvbnN0IGU9bmV3IFZhbHVlKHt9KTt0W19zXShlKTt0LnZhbHVlPWV9dC52YWx1ZVthbl0oZSl9fVtKcl0oKXtyZXR1cm4gdGhpcy5sYXlvdXQuZW5kc1dpdGgoIi10YiIpJiYwPT09dGhpc1tncl0uYXR0ZW1wdCYmdGhpc1tncl0ubnVtYmVySW5MaW5lPjB8fHRoaXNbRHJdKClbSnJdKCl9W0hyXSgpe2NvbnN0IGU9dGhpc1t3cl0oKTtpZighZVtIcl0oKSlyZXR1cm4hMTtpZih2b2lkIDAhPT10aGlzW2dyXS5faXNTcGxpdHRhYmxlKXJldHVybiB0aGlzW2dyXS5faXNTcGxpdHRhYmxlO2lmKCJwb3NpdGlvbiI9PT10aGlzLmxheW91dHx8dGhpcy5sYXlvdXQuaW5jbHVkZXMoInJvdyIpKXt0aGlzW2dyXS5faXNTcGxpdHRhYmxlPSExO3JldHVybiExfWlmKGUubGF5b3V0Py5lbmRzV2l0aCgiLXRiIikmJjAhPT1lW2dyXS5udW1iZXJJbkxpbmUpcmV0dXJuITE7dGhpc1tncl0uX2lzU3BsaXR0YWJsZT0hMDtyZXR1cm4hMH1bSXJdKCl7cmV0dXJuIGZsdXNoSFRNTCh0aGlzKX1benNdKGUsdCl7YWRkSFRNTCh0aGlzLGUsdCl9W2hyXSgpe3JldHVybiBnZXRBdmFpbGFibGVTcGFjZSh0aGlzKX1bZ25dKGUpe3NldFRhYkluZGV4KHRoaXMpO2lmKCJoaWRkZW4iPT09dGhpcy5wcmVzZW5jZXx8ImluYWN0aXZlIj09PXRoaXMucHJlc2VuY2V8fDA9PT10aGlzLmh8fDA9PT10aGlzLncpcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7Zml4RGltZW5zaW9ucyh0aGlzKTtjb25zdCB0PVtdLGk9e2lkOnRoaXNbY25dLGNsYXNzOltdfTtzZXRBY2Nlc3ModGhpcyxpLmNsYXNzKTt0aGlzW2dyXXx8KHRoaXNbZ3JdPU9iamVjdC5jcmVhdGUobnVsbCkpO09iamVjdC5hc3NpZ24odGhpc1tncl0se2NoaWxkcmVuOnQsYXR0cmlidXRlczppLGF0dGVtcHQ6MCxsaW5lOm51bGwsbnVtYmVySW5MaW5lOjAsYXZhaWxhYmxlU3BhY2U6e3dpZHRoOk1hdGgubWluKHRoaXMud3x8MS8wLGUud2lkdGgpLGhlaWdodDpNYXRoLm1pbih0aGlzLmh8fDEvMCxlLmhlaWdodCl9LHdpZHRoOjAsaGVpZ2h0OjAscHJldkhlaWdodDowLGN1cnJlbnRXaWR0aDowfSk7Y29uc3QgYT10aGlzW0hyXSgpO2F8fHNldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2lmKCFjaGVja0RpbWVuc2lvbnModGhpcyxlKSlyZXR1cm4gSFRNTFJlc3VsdC5GQUlMVVJFO2NvbnN0IHM9bmV3IFNldChbImZpZWxkIl0pO2lmKHRoaXMubGF5b3V0LmluY2x1ZGVzKCJyb3ciKSl7Y29uc3QgZT10aGlzW3dyXSgpLmNvbHVtbldpZHRocztpZihBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD4wKXt0aGlzW2dyXS5jb2x1bW5XaWR0aHM9ZTt0aGlzW2dyXS5jdXJyZW50Q29sdW1uPTB9fWNvbnN0IHI9dG9TdHlsZSh0aGlzLCJhbmNob3JUeXBlIiwiZGltZW5zaW9ucyIsInBvc2l0aW9uIiwicHJlc2VuY2UiLCJib3JkZXIiLCJtYXJnaW4iLCJoQWxpZ24iKSxuPVsieGZhRXhjbGdyb3VwIl0sZz1sYXlvdXRDbGFzcyh0aGlzKTtnJiZuLnB1c2goZyk7aXNQcmludE9ubHkodGhpcykmJm4ucHVzaCgieGZhUHJpbnRPbmx5Iik7aS5zdHlsZT1yO2kuY2xhc3M9bjt0aGlzLm5hbWUmJihpLnhmYU5hbWU9dGhpcy5uYW1lKTt0aGlzW1ZyXSgpO2NvbnN0IG89ImxyLXRiIj09PXRoaXMubGF5b3V0fHwicmwtdGIiPT09dGhpcy5sYXlvdXQsYz1vPzI6MTtmb3IoO3RoaXNbZ3JdLmF0dGVtcHQ8Yzt0aGlzW2dyXS5hdHRlbXB0Kyspe28mJjE9PT10aGlzW2dyXS5hdHRlbXB0JiYodGhpc1tncl0ubnVtYmVySW5MaW5lPTApO2NvbnN0IGU9dGhpc1skc10oe2ZpbHRlcjpzLGluY2x1ZGU6ITB9KTtpZihlLnN1Y2Nlc3MpYnJlYWs7aWYoZS5pc0JyZWFrKCkpe3RoaXNbWnJdKCk7cmV0dXJuIGV9aWYobyYmMD09PXRoaXNbZ3JdLmF0dGVtcHQmJjA9PT10aGlzW2dyXS5udW1iZXJJbkxpbmUmJiF0aGlzW2JyXSgpW2dyXS5ub0xheW91dEZhaWx1cmUpe3RoaXNbZ3JdLmF0dGVtcHQ9YzticmVha319dGhpc1tacl0oKTthfHx1bnNldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2lmKHRoaXNbZ3JdLmF0dGVtcHQ9PT1jKXthfHxkZWxldGUgdGhpc1tncl07cmV0dXJuIEhUTUxSZXN1bHQuRkFJTFVSRX1sZXQgQz0wLGg9MDtpZih0aGlzLm1hcmdpbil7Qz10aGlzLm1hcmdpbi5sZWZ0SW5zZXQrdGhpcy5tYXJnaW4ucmlnaHRJbnNldDtoPXRoaXMubWFyZ2luLnRvcEluc2V0K3RoaXMubWFyZ2luLmJvdHRvbUluc2V0fWNvbnN0IGw9TWF0aC5tYXgodGhpc1tncl0ud2lkdGgrQyx0aGlzLnd8fDApLFE9TWF0aC5tYXgodGhpc1tncl0uaGVpZ2h0K2gsdGhpcy5ofHwwKSxFPVt0aGlzLngsdGhpcy55LGwsUV07IiI9PT10aGlzLncmJihyLndpZHRoPW1lYXN1cmVUb1N0cmluZyhsKSk7IiI9PT10aGlzLmgmJihyLmhlaWdodD1tZWFzdXJlVG9TdHJpbmcoUSkpO2NvbnN0IHU9e25hbWU6ImRpdiIsYXR0cmlidXRlczppLGNoaWxkcmVuOnR9O2FwcGx5QXNzaXN0KHRoaXMsaSk7ZGVsZXRlIHRoaXNbZ3JdO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLHUpLEUpfX1jbGFzcyBFeGVjdXRlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJleGVjdXRlIik7dGhpcy5jb25uZWN0aW9uPWUuY29ubmVjdGlvbnx8IiI7dGhpcy5leGVjdXRlVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5leGVjdXRlVHlwZSxbImltcG9ydCIsInJlbWVyZ2UiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJ1bkF0PWdldFN0cmluZ09wdGlvbihlLnJ1bkF0LFsiY2xpZW50IiwiYm90aCIsInNlcnZlciJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIEV4dHJhcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZXh0cmFzIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVjaW1hbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXh0cmFzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRmllbGQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImZpZWxkIiwhMCk7dGhpcy5hY2Nlc3M9Z2V0U3RyaW5nT3B0aW9uKGUuYWNjZXNzLFsib3BlbiIsIm5vbkludGVyYWN0aXZlIiwicHJvdGVjdGVkIiwicmVhZE9ubHkiXSk7dGhpcy5hY2Nlc3NLZXk9ZS5hY2Nlc3NLZXl8fCIiO3RoaXMuYW5jaG9yVHlwZT1nZXRTdHJpbmdPcHRpb24oZS5hbmNob3JUeXBlLFsidG9wTGVmdCIsImJvdHRvbUNlbnRlciIsImJvdHRvbUxlZnQiLCJib3R0b21SaWdodCIsIm1pZGRsZUNlbnRlciIsIm1pZGRsZUxlZnQiLCJtaWRkbGVSaWdodCIsInRvcENlbnRlciIsInRvcFJpZ2h0Il0pO3RoaXMuY29sU3Bhbj1nZXRJbnRlZ2VyKHtkYXRhOmUuY29sU3BhbixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT5lPj0xfHwtMT09PWV9KTt0aGlzLmg9ZS5oP2dldE1lYXN1cmVtZW50KGUuaCk6IiI7dGhpcy5oQWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUuaEFsaWduLFsibGVmdCIsImNlbnRlciIsImp1c3RpZnkiLCJqdXN0aWZ5QWxsIiwicmFkaXgiLCJyaWdodCJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubG9jYWxlPWUubG9jYWxlfHwiIjt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1pbkg9Z2V0TWVhc3VyZW1lbnQoZS5taW5ILCIwcHQiKTt0aGlzLm1pblc9Z2V0TWVhc3VyZW1lbnQoZS5taW5XLCIwcHQiKTt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnByZXNlbmNlPWdldFN0cmluZ09wdGlvbihlLnByZXNlbmNlLFsidmlzaWJsZSIsImhpZGRlbiIsImluYWN0aXZlIiwiaW52aXNpYmxlIl0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy5yb3RhdGU9Z2V0SW50ZWdlcih7ZGF0YTplLnJvdGF0ZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lJTkwPT0wfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudz1lLnc/Z2V0TWVhc3VyZW1lbnQoZS53KToiIjt0aGlzLng9Z2V0TWVhc3VyZW1lbnQoZS54LCIwcHQiKTt0aGlzLnk9Z2V0TWVhc3VyZW1lbnQoZS55LCIwcHQiKTt0aGlzLmFzc2lzdD1udWxsO3RoaXMuYmluZD1udWxsO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jYWxjdWxhdGU9bnVsbDt0aGlzLmNhcHRpb249bnVsbDt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZm9udD1udWxsO3RoaXMuZm9ybWF0PW51bGw7dGhpcy5pdGVtcz1uZXcgWEZBT2JqZWN0QXJyYXkoMik7dGhpcy5rZWVwPW51bGw7dGhpcy5tYXJnaW49bnVsbDt0aGlzLnBhcmE9bnVsbDt0aGlzLnRyYXZlcnNhbD1udWxsO3RoaXMudWk9bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy52YWx1ZT1udWxsO3RoaXMuYmluZEl0ZW1zPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvbm5lY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXZlbnQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2V0UHJvcGVydHk9bmV3IFhGQU9iamVjdEFycmF5fVt4cl0oKXtyZXR1cm4hMH1bYW5dKGUpe19zZXRWYWx1ZSh0aGlzLGUpfVtnbl0oZSl7c2V0VGFiSW5kZXgodGhpcyk7aWYoIXRoaXMudWkpe3RoaXMudWk9bmV3IFVpKHt9KTt0aGlzLnVpW0ZyXT10aGlzW0ZyXTt0aGlzW19zXSh0aGlzLnVpKTtsZXQgZTtzd2l0Y2godGhpcy5pdGVtcy5jaGlsZHJlbi5sZW5ndGgpe2Nhc2UgMDplPW5ldyBUZXh0RWRpdCh7fSk7dGhpcy51aS50ZXh0RWRpdD1lO2JyZWFrO2Nhc2UgMTplPW5ldyBDaGVja0J1dHRvbih7fSk7dGhpcy51aS5jaGVja0J1dHRvbj1lO2JyZWFrO2Nhc2UgMjplPW5ldyBDaG9pY2VMaXN0KHt9KTt0aGlzLnVpLmNob2ljZUxpc3Q9ZX10aGlzLnVpW19zXShlKX1pZighdGhpcy51aXx8ImhpZGRlbiI9PT10aGlzLnByZXNlbmNlfHwiaW5hY3RpdmUiPT09dGhpcy5wcmVzZW5jZXx8MD09PXRoaXMuaHx8MD09PXRoaXMudylyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTt0aGlzLmNhcHRpb24mJmRlbGV0ZSB0aGlzLmNhcHRpb25bZ3JdO3RoaXNbVnJdKCk7Y29uc3QgdD10aGlzLmNhcHRpb24/dGhpcy5jYXB0aW9uW2duXShlKS5odG1sOm51bGwsaT10aGlzLncsYT10aGlzLmg7bGV0IHM9MCxyPTA7aWYodGhpcy5tYXJnaW4pe3M9dGhpcy5tYXJnaW4ubGVmdEluc2V0K3RoaXMubWFyZ2luLnJpZ2h0SW5zZXQ7cj10aGlzLm1hcmdpbi50b3BJbnNldCt0aGlzLm1hcmdpbi5ib3R0b21JbnNldH1sZXQgbj1udWxsO2lmKCIiPT09dGhpcy53fHwiIj09PXRoaXMuaCl7bGV0IHQ9bnVsbCxpPW51bGwsYT0wLGc9MDtpZih0aGlzLnVpLmNoZWNrQnV0dG9uKWE9Zz10aGlzLnVpLmNoZWNrQnV0dG9uLnNpemU7ZWxzZXtjb25zdHt3OnQsaDppfT1sYXlvdXROb2RlKHRoaXMsZSk7aWYobnVsbCE9PXQpe2E9dDtnPWl9ZWxzZSBnPWZ1bmN0aW9uIGZvbnRzX2dldE1ldHJpY3MoZSx0PSExKXtsZXQgaT1udWxsO2lmKGUpe2NvbnN0IHQ9c3RyaXBRdW90ZXMoZS50eXBlZmFjZSksYT1lW0ZyXS5mb250RmluZGVyLmZpbmQodCk7aT1zZWxlY3RGb250KGUsYSl9aWYoIWkpcmV0dXJue2xpbmVIZWlnaHQ6MTIsbGluZUdhcDoyLGxpbmVOb0dhcDoxMH07Y29uc3QgYT1lLnNpemV8fDEwLHM9aS5saW5lSGVpZ2h0P01hdGgubWF4KHQ/MDoxLjIsaS5saW5lSGVpZ2h0KToxLjIscj12b2lkIDA9PT1pLmxpbmVHYXA/LjI6aS5saW5lR2FwO3JldHVybntsaW5lSGVpZ2h0OnMqYSxsaW5lR2FwOnIqYSxsaW5lTm9HYXA6TWF0aC5tYXgoMSxzLXIpKmF9fSh0aGlzLmZvbnQsITApLmxpbmVOb0dhcH1uPWdldEJvcmRlckRpbXModGhpcy51aVtkcl0oKSk7YSs9bi53O2crPW4uaDtpZih0aGlzLmNhcHRpb24pe2NvbnN0e3c6cyxoOnIsaXNCcm9rZW46bn09dGhpcy5jYXB0aW9uW2RyXShlKTtpZihuJiZ0aGlzW3dyXSgpW0pyXSgpKXt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dD1zO2k9cjtzd2l0Y2godGhpcy5jYXB0aW9uLnBsYWNlbWVudCl7Y2FzZSJsZWZ0IjpjYXNlInJpZ2h0IjpjYXNlImlubGluZSI6dCs9YTticmVhaztjYXNlInRvcCI6Y2FzZSJib3R0b20iOmkrPWd9fWVsc2V7dD1hO2k9Z31pZih0JiYiIj09PXRoaXMudyl7dCs9czt0aGlzLnc9TWF0aC5taW4odGhpcy5tYXhXPD0wPzEvMDp0aGlzLm1heFcsdGhpcy5taW5XKzE8dD90OnRoaXMubWluVyl9aWYoaSYmIiI9PT10aGlzLmgpe2krPXI7dGhpcy5oPU1hdGgubWluKHRoaXMubWF4SDw9MD8xLzA6dGhpcy5tYXhILHRoaXMubWluSCsxPGk/aTp0aGlzLm1pbkgpfX10aGlzW1pyXSgpO2ZpeERpbWVuc2lvbnModGhpcyk7c2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7aWYoIWNoZWNrRGltZW5zaW9ucyh0aGlzLGUpKXt0aGlzLnc9aTt0aGlzLmg9YTt0aGlzW1pyXSgpO3JldHVybiBIVE1MUmVzdWx0LkZBSUxVUkV9dW5zZXRGaXJzdFVuc3BsaXR0YWJsZSh0aGlzKTtjb25zdCBnPXRvU3R5bGUodGhpcywiZm9udCIsImRpbWVuc2lvbnMiLCJwb3NpdGlvbiIsInJvdGF0ZSIsImFuY2hvclR5cGUiLCJwcmVzZW5jZSIsIm1hcmdpbiIsImhBbGlnbiIpO3NldE1pbk1heERpbWVuc2lvbnModGhpcyxnKTtjb25zdCBvPVsieGZhRmllbGQiXTt0aGlzLmZvbnQmJm8ucHVzaCgieGZhRm9udCIpO2lzUHJpbnRPbmx5KHRoaXMpJiZvLnB1c2goInhmYVByaW50T25seSIpO2NvbnN0IGM9e3N0eWxlOmcsaWQ6dGhpc1tjbl0sY2xhc3M6b307aWYoZy5tYXJnaW4pe2cucGFkZGluZz1nLm1hcmdpbjtkZWxldGUgZy5tYXJnaW59c2V0QWNjZXNzKHRoaXMsbyk7dGhpcy5uYW1lJiYoYy54ZmFOYW1lPXRoaXMubmFtZSk7Y29uc3QgQz1bXSxoPXtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6YyxjaGlsZHJlbjpDfTthcHBseUFzc2lzdCh0aGlzLGMpO2NvbnN0IGw9dGhpcy5ib3JkZXI/dGhpcy5ib3JkZXJbSW5dKCk6bnVsbCxRPWNvbXB1dGVCYm94KHRoaXMsaCxlKSxFPXRoaXMudWlbZ25dKCkuaHRtbDtpZighRSl7T2JqZWN0LmFzc2lnbihnLGwpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGgpLFEpfXRoaXNbc25dJiYoRS5jaGlsZHJlbj8uWzBdP0UuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy50YWJpbmRleD10aGlzW3NuXTpFLmF0dHJpYnV0ZXMudGFiaW5kZXg9dGhpc1tzbl0pO0UuYXR0cmlidXRlcy5zdHlsZXx8KEUuYXR0cmlidXRlcy5zdHlsZT1PYmplY3QuY3JlYXRlKG51bGwpKTtsZXQgdT1udWxsO2lmKHRoaXMudWkuYnV0dG9uKXsxPT09RS5jaGlsZHJlbi5sZW5ndGgmJihbdV09RS5jaGlsZHJlbi5zcGxpY2UoMCwxKSk7T2JqZWN0LmFzc2lnbihFLmF0dHJpYnV0ZXMuc3R5bGUsbCl9ZWxzZSBPYmplY3QuYXNzaWduKGcsbCk7Qy5wdXNoKEUpO2lmKHRoaXMudmFsdWUpaWYodGhpcy51aS5pbWFnZUVkaXQpRS5jaGlsZHJlbi5wdXNoKHRoaXMudmFsdWVbZ25dKCkuaHRtbCk7ZWxzZSBpZighdGhpcy51aS5idXR0b24pe2xldCBlPSIiO2lmKHRoaXMudmFsdWUuZXhEYXRhKWU9dGhpcy52YWx1ZS5leERhdGFbcm5dKCk7ZWxzZSBpZih0aGlzLnZhbHVlLnRleHQpZT10aGlzLnZhbHVlLnRleHRbZHJdKCk7ZWxzZXtjb25zdCB0PXRoaXMudmFsdWVbZ25dKCkuaHRtbDtudWxsIT09dCYmKGU9dC5jaGlsZHJlblswXS52YWx1ZSl9dGhpcy51aS50ZXh0RWRpdCYmdGhpcy52YWx1ZS50ZXh0Py5tYXhDaGFycyYmKEUuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy5tYXhMZW5ndGg9dGhpcy52YWx1ZS50ZXh0Lm1heENoYXJzKTtpZihlKXtpZih0aGlzLnVpLm51bWVyaWNFZGl0KXtlPXBhcnNlRmxvYXQoZSk7ZT1pc05hTihlKT8iIjplLnRvU3RyaW5nKCl9InRleHRhcmVhIj09PUUuY2hpbGRyZW5bMF0ubmFtZT9FLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMudGV4dENvbnRlbnQ9ZTpFLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMudmFsdWU9ZX19aWYoIXRoaXMudWkuaW1hZ2VFZGl0JiZFLmNoaWxkcmVuPy5bMF0mJnRoaXMuaCl7bj1ufHxnZXRCb3JkZXJEaW1zKHRoaXMudWlbZHJdKCkpO2xldCB0PTA7aWYodGhpcy5jYXB0aW9uJiZbInRvcCIsImJvdHRvbSJdLmluY2x1ZGVzKHRoaXMuY2FwdGlvbi5wbGFjZW1lbnQpKXt0PXRoaXMuY2FwdGlvbi5yZXNlcnZlO3Q8PTAmJih0PXRoaXMuY2FwdGlvbltkcl0oZSkuaCk7Y29uc3QgaT10aGlzLmgtdC1yLW4uaDtFLmNoaWxkcmVuWzBdLmF0dHJpYnV0ZXMuc3R5bGUuaGVpZ2h0PW1lYXN1cmVUb1N0cmluZyhpKX1lbHNlIEUuY2hpbGRyZW5bMF0uYXR0cmlidXRlcy5zdHlsZS5oZWlnaHQ9IjEwMCUifXUmJkUuY2hpbGRyZW4ucHVzaCh1KTtpZighdCl7RS5hdHRyaWJ1dGVzLmNsYXNzJiZFLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhTGVmdCIpO3RoaXMudz1pO3RoaXMuaD1hO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGgpLFEpfWlmKHRoaXMudWkuYnV0dG9uKXtnLnBhZGRpbmcmJmRlbGV0ZSBnLnBhZGRpbmc7ImRpdiI9PT10Lm5hbWUmJih0Lm5hbWU9InNwYW4iKTtFLmNoaWxkcmVuLnB1c2godCk7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhoLFEpfXRoaXMudWkuY2hlY2tCdXR0b24mJih0LmF0dHJpYnV0ZXMuY2xhc3NbMF09InhmYUNhcHRpb25Gb3JDaGVja0J1dHRvbiIpO0UuYXR0cmlidXRlcy5jbGFzc3x8KEUuYXR0cmlidXRlcy5jbGFzcz1bXSk7RS5jaGlsZHJlbi5zcGxpY2UoMCwwLHQpO3N3aXRjaCh0aGlzLmNhcHRpb24ucGxhY2VtZW50KXtjYXNlImxlZnQiOmNhc2UiaW5saW5lIjpFLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhTGVmdCIpO2JyZWFrO2Nhc2UicmlnaHQiOkUuYXR0cmlidXRlcy5jbGFzcy5wdXNoKCJ4ZmFSaWdodCIpO2JyZWFrO2Nhc2UidG9wIjpFLmF0dHJpYnV0ZXMuY2xhc3MucHVzaCgieGZhVG9wIik7YnJlYWs7Y2FzZSJib3R0b20iOkUuYXR0cmlidXRlcy5jbGFzcy5wdXNoKCJ4ZmFCb3R0b20iKX10aGlzLnc9aTt0aGlzLmg9YTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGNyZWF0ZVdyYXBwZXIodGhpcyxoKSxRKX19Y2xhc3MgRmlsbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZmlsbCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5saW5lYXI9bnVsbDt0aGlzLnBhdHRlcm49bnVsbDt0aGlzLnJhZGlhbD1udWxsO3RoaXMuc29saWQ9bnVsbDt0aGlzLnN0aXBwbGU9bnVsbH1bSW5dKCl7Y29uc3QgZT10aGlzW0RyXSgpLHQ9ZVtEcl0oKVtEcl0oKSxpPU9iamVjdC5jcmVhdGUobnVsbCk7bGV0IGE9ImNvbG9yIixzPWE7aWYoZSBpbnN0YW5jZW9mIEJvcmRlcil7YT0iYmFja2dyb3VuZC1jb2xvciI7cz0iYmFja2dyb3VuZCI7dCBpbnN0YW5jZW9mIFVpJiYoaS5iYWNrZ3JvdW5kQ29sb3I9IndoaXRlIil9aWYoZSBpbnN0YW5jZW9mIFJlY3RhbmdsZXx8ZSBpbnN0YW5jZW9mIEFyYyl7YT1zPSJmaWxsIjtpLmZpbGw9IndoaXRlIn1mb3IoY29uc3QgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYoImV4dHJhcyI9PT1lfHwiY29sb3IiPT09ZSljb250aW51ZTtjb25zdCB0PXRoaXNbZV07aWYoISh0IGluc3RhbmNlb2YgWEZBT2JqZWN0KSljb250aW51ZTtjb25zdCByPXRbSW5dKHRoaXMuY29sb3IpO3ImJihpW3Iuc3RhcnRzV2l0aCgiIyIpP2E6c109cik7cmV0dXJuIGl9aWYodGhpcy5jb2xvcj8udmFsdWUpe2NvbnN0IGU9dGhpcy5jb2xvcltJbl0oKTtpW2Uuc3RhcnRzV2l0aCgiIyIpP2E6c109ZX1yZXR1cm4gaX19Y2xhc3MgRmlsdGVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJmaWx0ZXIiLCEwKTt0aGlzLmFkZFJldm9jYXRpb25JbmZvPWdldFN0cmluZ09wdGlvbihlLmFkZFJldm9jYXRpb25JbmZvLFsiIiwicmVxdWlyZWQiLCJvcHRpb25hbCIsIm5vbmUiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy52ZXJzaW9uPWdldEludGVnZXIoe2RhdGE6dGhpcy52ZXJzaW9uLGRlZmF1bHRWYWx1ZTo1LHZhbGlkYXRlOmU9PmU+PTEmJmU8PTV9KTt0aGlzLmFwcGVhcmFuY2VGaWx0ZXI9bnVsbDt0aGlzLmNlcnRpZmljYXRlcz1udWxsO3RoaXMuZGlnZXN0TWV0aG9kcz1udWxsO3RoaXMuZW5jb2RpbmdzPW51bGw7dGhpcy5lbmNyeXB0aW9uTWV0aG9kcz1udWxsO3RoaXMuaGFuZGxlcj1udWxsO3RoaXMubG9ja0RvY3VtZW50PW51bGw7dGhpcy5tZHA9bnVsbDt0aGlzLnJlYXNvbnM9bnVsbDt0aGlzLnRpbWVTdGFtcD1udWxsfX1jbGFzcyBGbG9hdCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImZsb2F0Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W29yXSgpe2NvbnN0IGU9cGFyc2VGbG9hdCh0aGlzW3NyXS50cmltKCkpO3RoaXNbc3JdPWlzTmFOKGUpP251bGw6ZX1bZ25dKGUpe3JldHVybiB2YWx1ZVRvSHRtbChudWxsIT09dGhpc1tzcl0/dGhpc1tzcl0udG9TdHJpbmcoKToiIil9fWNsYXNzIHRlbXBsYXRlX0ZvbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImZvbnQiLCEwKTt0aGlzLmJhc2VsaW5lU2hpZnQ9Z2V0TWVhc3VyZW1lbnQoZS5iYXNlbGluZVNoaWZ0KTt0aGlzLmZvbnRIb3Jpem9udGFsU2NhbGU9Z2V0RmxvYXQoe2RhdGE6ZS5mb250SG9yaXpvbnRhbFNjYWxlLGRlZmF1bHRWYWx1ZToxMDAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMuZm9udFZlcnRpY2FsU2NhbGU9Z2V0RmxvYXQoe2RhdGE6ZS5mb250VmVydGljYWxTY2FsZSxkZWZhdWx0VmFsdWU6MTAwLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMua2VybmluZ01vZGU9Z2V0U3RyaW5nT3B0aW9uKGUua2VybmluZ01vZGUsWyJub25lIiwicGFpciJdKTt0aGlzLmxldHRlclNwYWNpbmc9Z2V0TWVhc3VyZW1lbnQoZS5sZXR0ZXJTcGFjaW5nLCIwIik7dGhpcy5saW5lVGhyb3VnaD1nZXRJbnRlZ2VyKHtkYXRhOmUubGluZVRocm91Z2gsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy5saW5lVGhyb3VnaFBlcmlvZD1nZXRTdHJpbmdPcHRpb24oZS5saW5lVGhyb3VnaFBlcmlvZCxbImFsbCIsIndvcmQiXSk7dGhpcy5vdmVybGluZT1nZXRJbnRlZ2VyKHtkYXRhOmUub3ZlcmxpbmUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy5vdmVybGluZVBlcmlvZD1nZXRTdHJpbmdPcHRpb24oZS5vdmVybGluZVBlcmlvZCxbImFsbCIsIndvcmQiXSk7dGhpcy5wb3N0dXJlPWdldFN0cmluZ09wdGlvbihlLnBvc3R1cmUsWyJub3JtYWwiLCJpdGFsaWMiXSk7dGhpcy5zaXplPWdldE1lYXN1cmVtZW50KGUuc2l6ZSwiMTBwdCIpO3RoaXMudHlwZWZhY2U9ZS50eXBlZmFjZXx8IkNvdXJpZXIiO3RoaXMudW5kZXJsaW5lPWdldEludGVnZXIoe2RhdGE6ZS51bmRlcmxpbmUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV8fDI9PT1lfSk7dGhpcy51bmRlcmxpbmVQZXJpb2Q9Z2V0U3RyaW5nT3B0aW9uKGUudW5kZXJsaW5lUGVyaW9kLFsiYWxsIiwid29yZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53ZWlnaHQ9Z2V0U3RyaW5nT3B0aW9uKGUud2VpZ2h0LFsibm9ybWFsIiwiYm9sZCJdKTt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZmlsbD1udWxsfVtBcl0oZSl7c3VwZXJbQXJdKGUpO3RoaXNbRnJdLnVzZWRUeXBlZmFjZXMuYWRkKHRoaXMudHlwZWZhY2UpfVtJbl0oKXtjb25zdCBlPXRvU3R5bGUodGhpcywiZmlsbCIpLHQ9ZS5jb2xvcjtpZih0KWlmKCIjMDAwMDAwIj09PXQpZGVsZXRlIGUuY29sb3I7ZWxzZSBpZighdC5zdGFydHNXaXRoKCIjIikpe2UuYmFja2dyb3VuZD10O2UuYmFja2dyb3VuZENsaXA9InRleHQiO2UuY29sb3I9InRyYW5zcGFyZW50In10aGlzLmJhc2VsaW5lU2hpZnQmJihlLnZlcnRpY2FsQWxpZ249bWVhc3VyZVRvU3RyaW5nKHRoaXMuYmFzZWxpbmVTaGlmdCkpO2UuZm9udEtlcm5pbmc9Im5vbmUiPT09dGhpcy5rZXJuaW5nTW9kZT8ibm9uZSI6Im5vcm1hbCI7ZS5sZXR0ZXJTcGFjaW5nPW1lYXN1cmVUb1N0cmluZyh0aGlzLmxldHRlclNwYWNpbmcpO2lmKDAhPT10aGlzLmxpbmVUaHJvdWdoKXtlLnRleHREZWNvcmF0aW9uPSJsaW5lLXRocm91Z2giOzI9PT10aGlzLmxpbmVUaHJvdWdoJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1pZigwIT09dGhpcy5vdmVybGluZSl7ZS50ZXh0RGVjb3JhdGlvbj0ib3ZlcmxpbmUiOzI9PT10aGlzLm92ZXJsaW5lJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1lLmZvbnRTdHlsZT10aGlzLnBvc3R1cmU7ZS5mb250U2l6ZT1tZWFzdXJlVG9TdHJpbmcoLjk5KnRoaXMuc2l6ZSk7c2V0Rm9udEZhbWlseSh0aGlzLHRoaXMsdGhpc1tGcl0uZm9udEZpbmRlcixlKTtpZigwIT09dGhpcy51bmRlcmxpbmUpe2UudGV4dERlY29yYXRpb249InVuZGVybGluZSI7Mj09PXRoaXMudW5kZXJsaW5lJiYoZS50ZXh0RGVjb3JhdGlvblN0eWxlPSJkb3VibGUiKX1lLmZvbnRXZWlnaHQ9dGhpcy53ZWlnaHQ7cmV0dXJuIGV9fWNsYXNzIEZvcm1hdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiZm9ybWF0IiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnBpY3R1cmU9bnVsbH19Y2xhc3MgSGFuZGxlciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiaGFuZGxlciIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgSHlwaGVuYXRpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImh5cGhlbmF0aW9uIik7dGhpcy5leGNsdWRlQWxsQ2Fwcz1nZXRJbnRlZ2VyKHtkYXRhOmUuZXhjbHVkZUFsbENhcHMsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmV4Y2x1ZGVJbml0aWFsQ2FwPWdldEludGVnZXIoe2RhdGE6ZS5leGNsdWRlSW5pdGlhbENhcCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaHlwaGVuYXRlPWdldEludGVnZXIoe2RhdGE6ZS5oeXBoZW5hdGUsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucHVzaENoYXJhY3RlckNvdW50PWdldEludGVnZXIoe2RhdGE6ZS5wdXNoQ2hhcmFjdGVyQ291bnQsZGVmYXVsdFZhbHVlOjMsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMucmVtYWluQ2hhcmFjdGVyQ291bnQ9Z2V0SW50ZWdlcih7ZGF0YTplLnJlbWFpbkNoYXJhY3RlckNvdW50LGRlZmF1bHRWYWx1ZTozLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy53b3JkQ2hhcmFjdGVyQ291bnQ9Z2V0SW50ZWdlcih7ZGF0YTplLndvcmRDaGFyYWN0ZXJDb3VudCxkZWZhdWx0VmFsdWU6Nyx2YWxpZGF0ZTplPT5lPj0wfSl9fWNsYXNzIEltYWdlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJpbWFnZSIpO3RoaXMuYXNwZWN0PWdldFN0cmluZ09wdGlvbihlLmFzcGVjdCxbImZpdCIsImFjdHVhbCIsImhlaWdodCIsIm5vbmUiLCJ3aWR0aCJdKTt0aGlzLmNvbnRlbnRUeXBlPWUuY29udGVudFR5cGV8fCIiO3RoaXMuaHJlZj1lLmhyZWZ8fCIiO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy50cmFuc2ZlckVuY29kaW5nPWdldFN0cmluZ09wdGlvbihlLnRyYW5zZmVyRW5jb2RpbmcsWyJiYXNlNjQiLCJub25lIiwicGFja2FnZSJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W2duXSgpe2lmKHRoaXMuY29udGVudFR5cGUmJiFPbi5oYXModGhpcy5jb250ZW50VHlwZS50b0xvd2VyQ2FzZSgpKSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtsZXQgZT10aGlzW0ZyXS5pbWFnZXMmJnRoaXNbRnJdLmltYWdlcy5nZXQodGhpcy5ocmVmKTtpZighZSYmKHRoaXMuaHJlZnx8IXRoaXNbc3JdKSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTtlfHwiYmFzZTY0IiE9PXRoaXMudHJhbnNmZXJFbmNvZGluZ3x8KGU9c3RyaW5nVG9CeXRlcyhhdG9iKHRoaXNbc3JdKSkpO2lmKCFlKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2lmKCF0aGlzLmNvbnRlbnRUeXBlKXtmb3IoY29uc3RbdCxpXW9mIFBuKWlmKGUubGVuZ3RoPnQubGVuZ3RoJiZ0LmV2ZXJ5KCgodCxpKT0+dD09PWVbaV0pKSl7dGhpcy5jb250ZW50VHlwZT1pO2JyZWFrfWlmKCF0aGlzLmNvbnRlbnRUeXBlKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZfWNvbnN0IHQ9bmV3IEJsb2IoW2VdLHt0eXBlOnRoaXMuY29udGVudFR5cGV9KTtsZXQgaTtzd2l0Y2godGhpcy5hc3BlY3Qpe2Nhc2UiZml0IjpjYXNlImFjdHVhbCI6YnJlYWs7Y2FzZSJoZWlnaHQiOmk9e2hlaWdodDoiMTAwJSIsb2JqZWN0Rml0OiJmaWxsIn07YnJlYWs7Y2FzZSJub25lIjppPXt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIixvYmplY3RGaXQ6ImZpbGwifTticmVhaztjYXNlIndpZHRoIjppPXt3aWR0aDoiMTAwJSIsb2JqZWN0Rml0OiJmaWxsIn19Y29uc3QgYT10aGlzW0RyXSgpO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImltZyIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFJbWFnZSJdLHN0eWxlOmksc3JjOlVSTC5jcmVhdGVPYmplY3RVUkwodCksYWx0OmE/YXJpYUxhYmVsKGFbRHJdKCkpOm51bGx9fSl9fWNsYXNzIEltYWdlRWRpdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwiaW1hZ2VFZGl0IiwhMCk7dGhpcy5kYXRhPWdldFN0cmluZ09wdGlvbihlLmRhdGEsWyJsaW5rIiwiZW1iZWQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWFyZ2luPW51bGx9W2duXShlKXtyZXR1cm4iZW1iZWQiPT09dGhpcy5kYXRhP0hUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixjaGlsZHJlbjpbXSxhdHRyaWJ1dGVzOnt9fSk6SFRNTFJlc3VsdC5FTVBUWX19Y2xhc3MgSW50ZWdlciBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImludGVnZXIiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bb3JdKCl7Y29uc3QgZT1wYXJzZUludCh0aGlzW3NyXS50cmltKCksMTApO3RoaXNbc3JdPWlzTmFOKGUpP251bGw6ZX1bZ25dKGUpe3JldHVybiB2YWx1ZVRvSHRtbChudWxsIT09dGhpc1tzcl0/dGhpc1tzcl0udG9TdHJpbmcoKToiIil9fWNsYXNzIElzc3VlcnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImlzc3VlcnMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jZXJ0aWZpY2F0ZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIEl0ZW1zIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJpdGVtcyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy5zYXZlPWdldEludGVnZXIoe2RhdGE6ZS5zYXZlLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9vbGVhbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGVUaW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlY2ltYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhEYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmltYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheX1bZ25dKCl7Y29uc3QgZT1bXTtmb3IoY29uc3QgdCBvZiB0aGlzW3ByXSgpKWUucHVzaCh0W3JuXSgpKTtyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGUpfX1jbGFzcyBLZWVwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJrZWVwIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjtjb25zdCB0PVsibm9uZSIsImNvbnRlbnRBcmVhIiwicGFnZUFyZWEiXTt0aGlzLmludGFjdD1nZXRTdHJpbmdPcHRpb24oZS5pbnRhY3QsdCk7dGhpcy5uZXh0PWdldFN0cmluZ09wdGlvbihlLm5leHQsdCk7dGhpcy5wcmV2aW91cz1nZXRTdHJpbmdPcHRpb24oZS5wcmV2aW91cyx0KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbH19Y2xhc3MgS2V5VXNhZ2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImtleVVzYWdlIik7Y29uc3QgdD1bIiIsInllcyIsIm5vIl07dGhpcy5jcmxTaWduPWdldFN0cmluZ09wdGlvbihlLmNybFNpZ24sdCk7dGhpcy5kYXRhRW5jaXBoZXJtZW50PWdldFN0cmluZ09wdGlvbihlLmRhdGFFbmNpcGhlcm1lbnQsdCk7dGhpcy5kZWNpcGhlck9ubHk9Z2V0U3RyaW5nT3B0aW9uKGUuZGVjaXBoZXJPbmx5LHQpO3RoaXMuZGlnaXRhbFNpZ25hdHVyZT1nZXRTdHJpbmdPcHRpb24oZS5kaWdpdGFsU2lnbmF0dXJlLHQpO3RoaXMuZW5jaXBoZXJPbmx5PWdldFN0cmluZ09wdGlvbihlLmVuY2lwaGVyT25seSx0KTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMua2V5QWdyZWVtZW50PWdldFN0cmluZ09wdGlvbihlLmtleUFncmVlbWVudCx0KTt0aGlzLmtleUNlcnRTaWduPWdldFN0cmluZ09wdGlvbihlLmtleUNlcnRTaWduLHQpO3RoaXMua2V5RW5jaXBoZXJtZW50PWdldFN0cmluZ09wdGlvbihlLmtleUVuY2lwaGVybWVudCx0KTt0aGlzLm5vblJlcHVkaWF0aW9uPWdldFN0cmluZ09wdGlvbihlLm5vblJlcHVkaWF0aW9uLHQpO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIExpbmUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sImxpbmUiLCEwKTt0aGlzLmhhbmQ9Z2V0U3RyaW5nT3B0aW9uKGUuaGFuZCxbImV2ZW4iLCJsZWZ0IiwicmlnaHQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnNsb3BlPWdldFN0cmluZ09wdGlvbihlLnNsb3BlLFsiXFwiLCIvIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmVkZ2U9bnVsbH1bZ25dKCl7Y29uc3QgZT10aGlzW0RyXSgpW0RyXSgpLHQ9dGhpcy5lZGdlfHxuZXcgRWRnZSh7fSksaT10W0luXSgpLGE9T2JqZWN0LmNyZWF0ZShudWxsKSxzPSJ2aXNpYmxlIj09PXQucHJlc2VuY2U/dC50aGlja25lc3M6MDthLnN0cm9rZVdpZHRoPW1lYXN1cmVUb1N0cmluZyhzKTthLnN0cm9rZT1pLmNvbG9yO2xldCByLG4sZyxvLGM9IjEwMCUiLEM9IjEwMCUiO2lmKGUudzw9cyl7W3IsbixnLG9dPVsiNTAlIiwwLCI1MCUiLCIxMDAlIl07Yz1hLnN0cm9rZVdpZHRofWVsc2UgaWYoZS5oPD1zKXtbcixuLGcsb109WzAsIjUwJSIsIjEwMCUiLCI1MCUiXTtDPWEuc3Ryb2tlV2lkdGh9ZWxzZSJcXCI9PT10aGlzLnNsb3BlP1tyLG4sZyxvXT1bMCwwLCIxMDAlIiwiMTAwJSJdOltyLG4sZyxvXT1bMCwiMTAwJSIsIjEwMCUiLDBdO2NvbnN0IGg9e25hbWU6InN2ZyIsY2hpbGRyZW46W3tuYW1lOiJsaW5lIixhdHRyaWJ1dGVzOnt4bWxuczpUbix4MTpyLHkxOm4seDI6Zyx5MjpvLHN0eWxlOmF9fV0sYXR0cmlidXRlczp7eG1sbnM6VG4sd2lkdGg6YyxoZWlnaHQ6QyxzdHlsZTp7b3ZlcmZsb3c6InZpc2libGUifX19O2lmKGhhc01hcmdpbihlKSlyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e3N0eWxlOntkaXNwbGF5OiJpbmxpbmUiLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifX0sY2hpbGRyZW46W2hdfSk7aC5hdHRyaWJ1dGVzLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhoKX19Y2xhc3MgTGluZWFyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJsaW5lYXIiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsidG9SaWdodCIsInRvQm90dG9tIiwidG9MZWZ0IiwidG9Ub3AiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY29sb3I9bnVsbDt0aGlzLmV4dHJhcz1udWxsfVtJbl0oZSl7ZT1lP2VbSW5dKCk6IiNGRkZGRkYiO3JldHVybmBsaW5lYXItZ3JhZGllbnQoJHt0aGlzLnR5cGUucmVwbGFjZSgvKFtSQkxUXSkvLCIgJDEiKS50b0xvd2VyQ2FzZSgpfSwgJHtlfSwgJHt0aGlzLmNvbG9yP3RoaXMuY29sb3JbSW5dKCk6IiMwMDAwMDAifSlgfX1jbGFzcyBMb2NrRG9jdW1lbnQgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJsb2NrRG9jdW1lbnQiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W29yXSgpe3RoaXNbc3JdPWdldFN0cmluZ09wdGlvbih0aGlzW3NyXSxbImF1dG8iLCIwIiwiMSJdKX19Y2xhc3MgTWFuaWZlc3QgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sIm1hbmlmZXN0IiwhMCk7dGhpcy5hY3Rpb249Z2V0U3RyaW5nT3B0aW9uKGUuYWN0aW9uLFsiaW5jbHVkZSIsImFsbCIsImV4Y2x1ZGUiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbDt0aGlzLnJlZj1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIE1hcmdpbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwibWFyZ2luIiwhMCk7dGhpcy5ib3R0b21JbnNldD1nZXRNZWFzdXJlbWVudChlLmJvdHRvbUluc2V0LCIwIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxlZnRJbnNldD1nZXRNZWFzdXJlbWVudChlLmxlZnRJbnNldCwiMCIpO3RoaXMucmlnaHRJbnNldD1nZXRNZWFzdXJlbWVudChlLnJpZ2h0SW5zZXQsIjAiKTt0aGlzLnRvcEluc2V0PWdldE1lYXN1cmVtZW50KGUudG9wSW5zZXQsIjAiKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5leHRyYXM9bnVsbH1bSW5dKCl7cmV0dXJue21hcmdpbjptZWFzdXJlVG9TdHJpbmcodGhpcy50b3BJbnNldCkrIiAiK21lYXN1cmVUb1N0cmluZyh0aGlzLnJpZ2h0SW5zZXQpKyIgIittZWFzdXJlVG9TdHJpbmcodGhpcy5ib3R0b21JbnNldCkrIiAiK21lYXN1cmVUb1N0cmluZyh0aGlzLmxlZnRJbnNldCl9fX1jbGFzcyBNZHAgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sIm1kcCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5wZXJtaXNzaW9ucz1nZXRJbnRlZ2VyKHtkYXRhOmUucGVybWlzc2lvbnMsZGVmYXVsdFZhbHVlOjIsdmFsaWRhdGU6ZT0+MT09PWV8fDM9PT1lfSk7dGhpcy5zaWduYXR1cmVUeXBlPWdldFN0cmluZ09wdGlvbihlLnNpZ25hdHVyZVR5cGUsWyJmaWxsZXIiLCJhdXRob3IiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBNZWRpdW0gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sIm1lZGl1bSIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5pbWFnaW5nQkJveD1mdW5jdGlvbiBnZXRCQm94KGUpe2NvbnN0IHQ9LTE7aWYoIWUpcmV0dXJue3g6dCx5OnQsd2lkdGg6dCxoZWlnaHQ6dH07Y29uc3QgaT1lLnRyaW0oKS5zcGxpdCgvXHMqLFxzKi8pLm1hcCgoZT0+Z2V0TWVhc3VyZW1lbnQoZSwiLTEiKSkpO2lmKGkubGVuZ3RoPDR8fGlbMl08MHx8aVszXTwwKXJldHVybnt4OnQseTp0LHdpZHRoOnQsaGVpZ2h0OnR9O2NvbnN0W2EscyxyLG5dPWk7cmV0dXJue3g6YSx5OnMsd2lkdGg6cixoZWlnaHQ6bn19KGUuaW1hZ2luZ0JCb3gpO3RoaXMubG9uZz1nZXRNZWFzdXJlbWVudChlLmxvbmcpO3RoaXMub3JpZW50YXRpb249Z2V0U3RyaW5nT3B0aW9uKGUub3JpZW50YXRpb24sWyJwb3J0cmFpdCIsImxhbmRzY2FwZSJdKTt0aGlzLnNob3J0PWdldE1lYXN1cmVtZW50KGUuc2hvcnQpO3RoaXMuc3RvY2s9ZS5zdG9ja3x8IiI7dGhpcy50cmF5SW49Z2V0U3RyaW5nT3B0aW9uKGUudHJheUluLFsiYXV0byIsImRlbGVnYXRlIiwicGFnZUZyb250Il0pO3RoaXMudHJheU91dD1nZXRTdHJpbmdPcHRpb24oZS50cmF5T3V0LFsiYXV0byIsImRlbGVnYXRlIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgTWVzc2FnZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwibWVzc2FnZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIE51bWVyaWNFZGl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJudW1lcmljRWRpdCIsITApO3RoaXMuaFNjcm9sbFBvbGljeT1nZXRTdHJpbmdPcHRpb24oZS5oU2Nyb2xsUG9saWN5LFsiYXV0byIsIm9mZiIsIm9uIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jb21iPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVtnbl0oZSl7Y29uc3QgdD10b1N0eWxlKHRoaXMsImJvcmRlciIsImZvbnQiLCJtYXJnaW4iKSxpPXRoaXNbRHJdKClbRHJdKCksYT17bmFtZToiaW5wdXQiLGF0dHJpYnV0ZXM6e3R5cGU6InRleHQiLGZpZWxkSWQ6aVtjbl0sZGF0YUlkOmlbcnJdPy5bY25dfHxpW2NuXSxjbGFzczpbInhmYVRleHRmaWVsZCJdLHN0eWxlOnQsImFyaWEtbGFiZWwiOmFyaWFMYWJlbChpKSwiYXJpYS1yZXF1aXJlZCI6ITF9fTtpZihpc1JlcXVpcmVkKGkpKXthLmF0dHJpYnV0ZXNbImFyaWEtcmVxdWlyZWQiXT0hMDthLmF0dHJpYnV0ZXMucmVxdWlyZWQ9ITB9cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToibGFiZWwiLGF0dHJpYnV0ZXM6e2NsYXNzOlsieGZhTGFiZWwiXX0sY2hpbGRyZW46W2FdfSl9fWNsYXNzIE9jY3VyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJvY2N1ciIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5pbml0aWFsPSIiIT09ZS5pbml0aWFsP2dldEludGVnZXIoe2RhdGE6ZS5pbml0aWFsLGRlZmF1bHRWYWx1ZToiIix2YWxpZGF0ZTplPT4hMH0pOiIiO3RoaXMubWF4PSIiIT09ZS5tYXg/Z2V0SW50ZWdlcih7ZGF0YTplLm1heCxkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT4hMH0pOiIiO3RoaXMubWluPSIiIT09ZS5taW4/Z2V0SW50ZWdlcih7ZGF0YTplLm1pbixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT4hMH0pOiIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsfVtBcl0oKXtjb25zdCBlPXRoaXNbRHJdKCksdD10aGlzLm1pbjsiIj09PXRoaXMubWluJiYodGhpcy5taW49ZSBpbnN0YW5jZW9mIFBhZ2VBcmVhfHxlIGluc3RhbmNlb2YgUGFnZVNldD8wOjEpOyIiPT09dGhpcy5tYXgmJih0aGlzLm1heD0iIj09PXQ/ZSBpbnN0YW5jZW9mIFBhZ2VBcmVhfHxlIGluc3RhbmNlb2YgUGFnZVNldD8tMToxOnRoaXMubWluKTstMSE9PXRoaXMubWF4JiZ0aGlzLm1heDx0aGlzLm1pbiYmKHRoaXMubWF4PXRoaXMubWluKTsiIj09PXRoaXMuaW5pdGlhbCYmKHRoaXMuaW5pdGlhbD1lIGluc3RhbmNlb2YgVGVtcGxhdGU/MTp0aGlzLm1pbil9fWNsYXNzIE9pZCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwib2lkIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIE9pZHMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sIm9pZHMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5vaWQ9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBPdmVyZmxvdyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwib3ZlcmZsb3ciKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubGVhZGVyPWUubGVhZGVyfHwiIjt0aGlzLnRhcmdldD1lLnRhcmdldHx8IiI7dGhpcy50cmFpbGVyPWUudHJhaWxlcnx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifVtkcl0oKXtpZighdGhpc1tncl0pe2NvbnN0IGU9dGhpc1tEcl0oKSx0PXRoaXNbYnJdKCksaT10W0FuXSh0aGlzLnRhcmdldCxlKSxhPXRbQW5dKHRoaXMubGVhZGVyLGUpLHM9dFtBbl0odGhpcy50cmFpbGVyLGUpO3RoaXNbZ3JdPXt0YXJnZXQ6aT8uWzBdfHxudWxsLGxlYWRlcjphPy5bMF18fG51bGwsdHJhaWxlcjpzPy5bMF18fG51bGwsYWRkTGVhZGVyOiExLGFkZFRyYWlsZXI6ITF9fXJldHVybiB0aGlzW2dyXX19Y2xhc3MgUGFnZUFyZWEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInBhZ2VBcmVhIiwhMCk7dGhpcy5ibGFua09yTm90Qmxhbms9Z2V0U3RyaW5nT3B0aW9uKGUuYmxhbmtPck5vdEJsYW5rLFsiYW55IiwiYmxhbmsiLCJub3RCbGFuayJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuaW5pdGlhbE51bWJlcj1nZXRJbnRlZ2VyKHtkYXRhOmUuaW5pdGlhbE51bWJlcixkZWZhdWx0VmFsdWU6MSx2YWxpZGF0ZTplPT4hMH0pO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMubnVtYmVyZWQ9Z2V0SW50ZWdlcih7ZGF0YTplLm51bWJlcmVkLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PiEwfSk7dGhpcy5vZGRPckV2ZW49Z2V0U3RyaW5nT3B0aW9uKGUub2RkT3JFdmVuLFsiYW55IiwiZXZlbiIsIm9kZCJdKTt0aGlzLnBhZ2VQb3NpdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5wYWdlUG9zaXRpb24sWyJhbnkiLCJmaXJzdCIsImxhc3QiLCJvbmx5IiwicmVzdCJdKTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmRlc2M9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMubWVkaXVtPW51bGw7dGhpcy5vY2N1cj1udWxsO3RoaXMuYXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb250ZW50QXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kcmF3PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4Y2xHcm91cD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5maWVsZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtPW5ldyBYRkFPYmplY3RBcnJheX1bdnJdKCl7aWYoIXRoaXNbZ3JdKXt0aGlzW2dyXT17bnVtYmVyT2ZVc2U6MH07cmV0dXJuITB9cmV0dXJuIXRoaXMub2NjdXJ8fC0xPT09dGhpcy5vY2N1ci5tYXh8fHRoaXNbZ3JdLm51bWJlck9mVXNlPHRoaXMub2NjdXIubWF4fVtlcl0oKXtkZWxldGUgdGhpc1tncl19W3lyXSgpe3RoaXNbZ3JdfHwodGhpc1tncl09e251bWJlck9mVXNlOjB9KTtjb25zdCBlPXRoaXNbRHJdKCk7aWYoIm9yZGVyZWRPY2N1cnJlbmNlIj09PWUucmVsYXRpb24mJnRoaXNbdnJdKCkpe3RoaXNbZ3JdLm51bWJlck9mVXNlKz0xO3JldHVybiB0aGlzfXJldHVybiBlW3lyXSgpfVtocl0oKXtyZXR1cm4gdGhpc1tncl0uc3BhY2V8fHt3aWR0aDowLGhlaWdodDowfX1bZ25dKCl7dGhpc1tncl18fCh0aGlzW2dyXT17bnVtYmVyT2ZVc2U6MX0pO2NvbnN0IGU9W107dGhpc1tncl0uY2hpbGRyZW49ZTtjb25zdCB0PU9iamVjdC5jcmVhdGUobnVsbCk7aWYodGhpcy5tZWRpdW0mJnRoaXMubWVkaXVtLnNob3J0JiZ0aGlzLm1lZGl1bS5sb25nKXt0LndpZHRoPW1lYXN1cmVUb1N0cmluZyh0aGlzLm1lZGl1bS5zaG9ydCk7dC5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHRoaXMubWVkaXVtLmxvbmcpO3RoaXNbZ3JdLnNwYWNlPXt3aWR0aDp0aGlzLm1lZGl1bS5zaG9ydCxoZWlnaHQ6dGhpcy5tZWRpdW0ubG9uZ307aWYoImxhbmRzY2FwZSI9PT10aGlzLm1lZGl1bS5vcmllbnRhdGlvbil7Y29uc3QgZT10LndpZHRoO3Qud2lkdGg9dC5oZWlnaHQ7dC5oZWlnaHQ9ZTt0aGlzW2dyXS5zcGFjZT17d2lkdGg6dGhpcy5tZWRpdW0ubG9uZyxoZWlnaHQ6dGhpcy5tZWRpdW0uc2hvcnR9fX1lbHNlIHdhcm4oIlhGQSAtIE5vIG1lZGl1bSBzcGVjaWZpZWQgaW4gcGFnZUFyZWE6IHBsZWFzZSBmaWxlIGEgYnVnLiIpO3RoaXNbJHNdKHtmaWx0ZXI6bmV3IFNldChbImFyZWEiLCJkcmF3IiwiZmllbGQiLCJzdWJmb3JtIl0pLGluY2x1ZGU6ITB9KTt0aGlzWyRzXSh7ZmlsdGVyOm5ldyBTZXQoWyJjb250ZW50QXJlYSJdKSxpbmNsdWRlOiEwfSk7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiZGl2IixjaGlsZHJlbjplLGF0dHJpYnV0ZXM6e2NsYXNzOlsieGZhUGFnZSJdLGlkOnRoaXNbY25dLHN0eWxlOnQseGZhTmFtZTp0aGlzLm5hbWV9fSl9fWNsYXNzIFBhZ2VTZXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInBhZ2VTZXQiLCEwKTt0aGlzLmR1cGxleEltcG9zaXRpb249Z2V0U3RyaW5nT3B0aW9uKGUuZHVwbGV4SW1wb3NpdGlvbixbImxvbmdFZGdlIiwic2hvcnRFZGdlIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5yZWxhdGlvbixbIm9yZGVyZWRPY2N1cnJlbmNlIiwiZHVwbGV4UGFnaW5hdGVkIiwic2ltcGxleFBhZ2luYXRlZCJdKTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmV4dHJhcz1udWxsO3RoaXMub2NjdXI9bnVsbDt0aGlzLnBhZ2VBcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBhZ2VTZXQ9bmV3IFhGQU9iamVjdEFycmF5fVtlcl0oKXtmb3IoY29uc3QgZSBvZiB0aGlzLnBhZ2VBcmVhLmNoaWxkcmVuKWVbZXJdKCk7Zm9yKGNvbnN0IGUgb2YgdGhpcy5wYWdlU2V0LmNoaWxkcmVuKWVbZXJdKCl9W3ZyXSgpe3JldHVybiF0aGlzLm9jY3VyfHwtMT09PXRoaXMub2NjdXIubWF4fHx0aGlzW2dyXS5udW1iZXJPZlVzZTx0aGlzLm9jY3VyLm1heH1beXJdKCl7dGhpc1tncl18fCh0aGlzW2dyXT17bnVtYmVyT2ZVc2U6MSxwYWdlSW5kZXg6LTEscGFnZVNldEluZGV4Oi0xfSk7aWYoIm9yZGVyZWRPY2N1cnJlbmNlIj09PXRoaXMucmVsYXRpb24pe2lmKHRoaXNbZ3JdLnBhZ2VJbmRleCsxPHRoaXMucGFnZUFyZWEuY2hpbGRyZW4ubGVuZ3RoKXt0aGlzW2dyXS5wYWdlSW5kZXgrPTE7cmV0dXJuIHRoaXMucGFnZUFyZWEuY2hpbGRyZW5bdGhpc1tncl0ucGFnZUluZGV4XVt5cl0oKX1pZih0aGlzW2dyXS5wYWdlU2V0SW5kZXgrMTx0aGlzLnBhZ2VTZXQuY2hpbGRyZW4ubGVuZ3RoKXt0aGlzW2dyXS5wYWdlU2V0SW5kZXgrPTE7cmV0dXJuIHRoaXMucGFnZVNldC5jaGlsZHJlblt0aGlzW2dyXS5wYWdlU2V0SW5kZXhdW3lyXSgpfWlmKHRoaXNbdnJdKCkpe3RoaXNbZ3JdLm51bWJlck9mVXNlKz0xO3RoaXNbZ3JdLnBhZ2VJbmRleD0tMTt0aGlzW2dyXS5wYWdlU2V0SW5kZXg9LTE7cmV0dXJuIHRoaXNbeXJdKCl9Y29uc3QgZT10aGlzW0RyXSgpO2lmKGUgaW5zdGFuY2VvZiBQYWdlU2V0KXJldHVybiBlW3lyXSgpO3RoaXNbZXJdKCk7cmV0dXJuIHRoaXNbeXJdKCl9Y29uc3QgZT10aGlzW2JyXSgpW2dyXS5wYWdlTnVtYmVyLHQ9ZSUyPT0wPyJldmVuIjoib2RkIixpPTA9PT1lPyJmaXJzdCI6InJlc3QiO2xldCBhPXRoaXMucGFnZUFyZWEuY2hpbGRyZW4uZmluZCgoZT0+ZS5vZGRPckV2ZW49PT10JiZlLnBhZ2VQb3NpdGlvbj09PWkpKTtpZihhKXJldHVybiBhO2E9dGhpcy5wYWdlQXJlYS5jaGlsZHJlbi5maW5kKChlPT4iYW55Ij09PWUub2RkT3JFdmVuJiZlLnBhZ2VQb3NpdGlvbj09PWkpKTtpZihhKXJldHVybiBhO2E9dGhpcy5wYWdlQXJlYS5jaGlsZHJlbi5maW5kKChlPT4iYW55Ij09PWUub2RkT3JFdmVuJiYiYW55Ij09PWUucGFnZVBvc2l0aW9uKSk7cmV0dXJuIGF8fHRoaXMucGFnZUFyZWEuY2hpbGRyZW5bMF19fWNsYXNzIFBhcmEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInBhcmEiLCEwKTt0aGlzLmhBbGlnbj1nZXRTdHJpbmdPcHRpb24oZS5oQWxpZ24sWyJsZWZ0IiwiY2VudGVyIiwianVzdGlmeSIsImp1c3RpZnlBbGwiLCJyYWRpeCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5saW5lSGVpZ2h0PWUubGluZUhlaWdodD9nZXRNZWFzdXJlbWVudChlLmxpbmVIZWlnaHQsIjBwdCIpOiIiO3RoaXMubWFyZ2luTGVmdD1lLm1hcmdpbkxlZnQ/Z2V0TWVhc3VyZW1lbnQoZS5tYXJnaW5MZWZ0LCIwcHQiKToiIjt0aGlzLm1hcmdpblJpZ2h0PWUubWFyZ2luUmlnaHQ/Z2V0TWVhc3VyZW1lbnQoZS5tYXJnaW5SaWdodCwiMHB0Iik6IiI7dGhpcy5vcnBoYW5zPWdldEludGVnZXIoe2RhdGE6ZS5vcnBoYW5zLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PmU+PTB9KTt0aGlzLnByZXNlcnZlPWUucHJlc2VydmV8fCIiO3RoaXMucmFkaXhPZmZzZXQ9ZS5yYWRpeE9mZnNldD9nZXRNZWFzdXJlbWVudChlLnJhZGl4T2Zmc2V0LCIwcHQiKToiIjt0aGlzLnNwYWNlQWJvdmU9ZS5zcGFjZUFib3ZlP2dldE1lYXN1cmVtZW50KGUuc3BhY2VBYm92ZSwiMHB0Iik6IiI7dGhpcy5zcGFjZUJlbG93PWUuc3BhY2VCZWxvdz9nZXRNZWFzdXJlbWVudChlLnNwYWNlQmVsb3csIjBwdCIpOiIiO3RoaXMudGFiRGVmYXVsdD1lLnRhYkRlZmF1bHQ/Z2V0TWVhc3VyZW1lbnQodGhpcy50YWJEZWZhdWx0KToiIjt0aGlzLnRhYlN0b3BzPShlLnRhYlN0b3BzfHwiIikudHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKChlLHQpPT50JTI9PTE/Z2V0TWVhc3VyZW1lbnQoZSk6ZSkpO3RoaXMudGV4dEluZGVudD1lLnRleHRJbmRlbnQ/Z2V0TWVhc3VyZW1lbnQoZS50ZXh0SW5kZW50LCIwcHQiKToiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy52QWxpZ249Z2V0U3RyaW5nT3B0aW9uKGUudkFsaWduLFsidG9wIiwiYm90dG9tIiwibWlkZGxlIl0pO3RoaXMud2lkb3dzPWdldEludGVnZXIoe2RhdGE6ZS53aWRvd3MsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+ZT49MH0pO3RoaXMuaHlwaGVuYXRpb249bnVsbH1bSW5dKCl7Y29uc3QgZT10b1N0eWxlKHRoaXMsImhBbGlnbiIpOyIiIT09dGhpcy5tYXJnaW5MZWZ0JiYoZS5wYWRkaW5nTGVmdD1tZWFzdXJlVG9TdHJpbmcodGhpcy5tYXJnaW5MZWZ0KSk7IiIhPT10aGlzLm1hcmdpblJpZ2h0JiYoZS5wYWRkaW5naWdodD1tZWFzdXJlVG9TdHJpbmcodGhpcy5tYXJnaW5SaWdodCkpOyIiIT09dGhpcy5zcGFjZUFib3ZlJiYoZS5wYWRkaW5nVG9wPW1lYXN1cmVUb1N0cmluZyh0aGlzLnNwYWNlQWJvdmUpKTsiIiE9PXRoaXMuc3BhY2VCZWxvdyYmKGUucGFkZGluZ0JvdHRvbT1tZWFzdXJlVG9TdHJpbmcodGhpcy5zcGFjZUJlbG93KSk7aWYoIiIhPT10aGlzLnRleHRJbmRlbnQpe2UudGV4dEluZGVudD1tZWFzdXJlVG9TdHJpbmcodGhpcy50ZXh0SW5kZW50KTtmaXhUZXh0SW5kZW50KGUpfXRoaXMubGluZUhlaWdodD4wJiYoZS5saW5lSGVpZ2h0PW1lYXN1cmVUb1N0cmluZyh0aGlzLmxpbmVIZWlnaHQpKTsiIiE9PXRoaXMudGFiRGVmYXVsdCYmKGUudGFiU2l6ZT1tZWFzdXJlVG9TdHJpbmcodGhpcy50YWJEZWZhdWx0KSk7dGhpcy50YWJTdG9wcy5sZW5ndGg7dGhpcy5oeXBoZW5hdGF0aW9uJiZPYmplY3QuYXNzaWduKGUsdGhpcy5oeXBoZW5hdGF0aW9uW0luXSgpKTtyZXR1cm4gZX19Y2xhc3MgUGFzc3dvcmRFZGl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJwYXNzd29yZEVkaXQiLCEwKTt0aGlzLmhTY3JvbGxQb2xpY3k9Z2V0U3RyaW5nT3B0aW9uKGUuaFNjcm9sbFBvbGljeSxbImF1dG8iLCJvZmYiLCJvbiJdKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucGFzc3dvcmRDaGFyPWUucGFzc3dvcmRDaGFyfHwiKiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfX1jbGFzcyB0ZW1wbGF0ZV9QYXR0ZXJuIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJwYXR0ZXJuIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbImNyb3NzSGF0Y2giLCJjcm9zc0RpYWdvbmFsIiwiZGlhZ29uYWxMZWZ0IiwiZGlhZ29uYWxSaWdodCIsImhvcml6b250YWwiLCJ2ZXJ0aWNhbCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGx9W0luXShlKXtlPWU/ZVtJbl0oKToiI0ZGRkZGRiI7Y29uc3QgdD10aGlzLmNvbG9yP3RoaXMuY29sb3JbSW5dKCk6IiMwMDAwMDAiLGk9InJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQiLGE9YCR7ZX0sJHtlfSA1cHgsJHt0fSA1cHgsJHt0fSAxMHB4YDtzd2l0Y2godGhpcy50eXBlKXtjYXNlImNyb3NzSGF0Y2giOnJldHVybmAke2l9KHRvIHRvcCwke2F9KSAke2l9KHRvIHJpZ2h0LCR7YX0pYDtjYXNlImNyb3NzRGlhZ29uYWwiOnJldHVybmAke2l9KDQ1ZGVnLCR7YX0pICR7aX0oLTQ1ZGVnLCR7YX0pYDtjYXNlImRpYWdvbmFsTGVmdCI6cmV0dXJuYCR7aX0oNDVkZWcsJHthfSlgO2Nhc2UiZGlhZ29uYWxSaWdodCI6cmV0dXJuYCR7aX0oLTQ1ZGVnLCR7YX0pYDtjYXNlImhvcml6b250YWwiOnJldHVybmAke2l9KHRvIHRvcCwke2F9KWA7Y2FzZSJ2ZXJ0aWNhbCI6cmV0dXJuYCR7aX0odG8gcmlnaHQsJHthfSlgfXJldHVybiIifX1jbGFzcyBQaWN0dXJlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJwaWN0dXJlIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFByb3RvIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJwcm90byIsITApO3RoaXMuYXBwZWFyYW5jZUZpbHRlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5hcmM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYXJlYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5hc3Npc3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYmFyY29kZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5iaW5kSXRlbXM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYm9va2VuZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5ib29sZWFuPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJvcmRlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5icmVhaz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5icmVha0FmdGVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJyZWFrQmVmb3JlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJ1dHRvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jYWxjdWxhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY2FwdGlvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jZXJ0aWZpY2F0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jZXJ0aWZpY2F0ZXM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY2hlY2tCdXR0b249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY2hvaWNlTGlzdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb2xvcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5jb21iPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmNvbm5lY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29udGVudEFyZWE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29ybmVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRhdGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZVRpbWVFZGl0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlY2ltYWw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVmYXVsdFVpPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRlc2M9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGlnZXN0TWV0aG9kPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmRpZ2VzdE1ldGhvZHM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZHJhdz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lZGdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY29kaW5nPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY29kaW5ncz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lbmNyeXB0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY3J5cHREYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmVuY3J5cHRpb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZW5jcnlwdGlvbk1ldGhvZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lbmNyeXB0aW9uTWV0aG9kcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5ldmVudD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5leERhdGE9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhPYmplY3Q9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXhjbEdyb3VwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4ZWN1dGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZXh0cmFzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpZWxkPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZpbGw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZmlsdGVyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZsb2F0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmZvbnQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZm9ybWF0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmhhbmRsZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaHlwaGVuYXRpb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW1hZ2U9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaW1hZ2VFZGl0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmludGVnZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuaXNzdWVycz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pdGVtcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5rZWVwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmtleVVzYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmxpbmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubGluZWFyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmxvY2tEb2N1bWVudD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5tYW5pZmVzdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5tYXJnaW49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMubWRwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm1lZGl1bT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5tZXNzYWdlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm51bWVyaWNFZGl0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm9jY3VyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm9pZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5vaWRzPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm92ZXJmbG93PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBhZ2VBcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBhZ2VTZXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGFyYT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wYXNzd29yZEVkaXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGF0dGVybj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5waWN0dXJlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnJhZGlhbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5yZWFzb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucmVhc29ucz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5yZWN0YW5nbGU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucmVmPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNjcmlwdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zZXRQcm9wZXJ0eT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zaWduRGF0YT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zaWduYXR1cmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc2lnbmluZz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zb2xpZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zcGVhaz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdGlwcGxlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm09bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybVNldD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJqZWN0RE49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViamVjdEROcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJtaXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGV4dD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZXh0RWRpdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50aW1lPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRpbWVTdGFtcD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50b29sVGlwPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRyYXZlcnNhbD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50cmF2ZXJzZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy51aT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy52YWxpZGF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy52YWx1ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy52YXJpYWJsZXM9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBSYWRpYWwgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInJhZGlhbCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJ0b0VkZ2UiLCJ0b0NlbnRlciJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jb2xvcj1udWxsO3RoaXMuZXh0cmFzPW51bGx9W0luXShlKXtlPWU/ZVtJbl0oKToiI0ZGRkZGRiI7Y29uc3QgdD10aGlzLmNvbG9yP3RoaXMuY29sb3JbSW5dKCk6IiMwMDAwMDAiO3JldHVybmByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IGNlbnRlciwgJHsidG9FZGdlIj09PXRoaXMudHlwZT9gJHtlfSwke3R9YDpgJHt0fSwke2V9YH0pYH19Y2xhc3MgUmVhc29uIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJyZWFzb24iKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgUmVhc29ucyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwicmVhc29ucyIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50eXBlPWdldFN0cmluZ09wdGlvbihlLnR5cGUsWyJvcHRpb25hbCIsInJlcXVpcmVkIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnJlYXNvbj1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFJlY3RhbmdsZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwicmVjdGFuZ2xlIiwhMCk7dGhpcy5oYW5kPWdldFN0cmluZ09wdGlvbihlLmhhbmQsWyJldmVuIiwibGVmdCIsInJpZ2h0Il0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY29ybmVyPW5ldyBYRkFPYmplY3RBcnJheSg0KTt0aGlzLmVkZ2U9bmV3IFhGQU9iamVjdEFycmF5KDQpO3RoaXMuZmlsbD1udWxsfVtnbl0oKXtjb25zdCBlPXRoaXMuZWRnZS5jaGlsZHJlbi5sZW5ndGg/dGhpcy5lZGdlLmNoaWxkcmVuWzBdOm5ldyBFZGdlKHt9KSx0PWVbSW5dKCksaT1PYmplY3QuY3JlYXRlKG51bGwpOyJ2aXNpYmxlIj09PXRoaXMuZmlsbD8ucHJlc2VuY2U/T2JqZWN0LmFzc2lnbihpLHRoaXMuZmlsbFtJbl0oKSk6aS5maWxsPSJ0cmFuc3BhcmVudCI7aS5zdHJva2VXaWR0aD1tZWFzdXJlVG9TdHJpbmcoInZpc2libGUiPT09ZS5wcmVzZW5jZT9lLnRoaWNrbmVzczowKTtpLnN0cm9rZT10LmNvbG9yO2NvbnN0IGE9KHRoaXMuY29ybmVyLmNoaWxkcmVuLmxlbmd0aD90aGlzLmNvcm5lci5jaGlsZHJlblswXTpuZXcgQ29ybmVyKHt9KSlbSW5dKCkscz17bmFtZToic3ZnIixjaGlsZHJlbjpbe25hbWU6InJlY3QiLGF0dHJpYnV0ZXM6e3htbG5zOlRuLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHg6MCx5OjAscng6YS5yYWRpdXMscnk6YS5yYWRpdXMsc3R5bGU6aX19XSxhdHRyaWJ1dGVzOnt4bWxuczpUbixzdHlsZTp7b3ZlcmZsb3c6InZpc2libGUifSx3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn19O2lmKGhhc01hcmdpbih0aGlzW0RyXSgpW0RyXSgpKSlyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGF0dHJpYnV0ZXM6e3N0eWxlOntkaXNwbGF5OiJpbmxpbmUiLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifX0sY2hpbGRyZW46W3NdfSk7cy5hdHRyaWJ1dGVzLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSI7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2VzcyhzKX19Y2xhc3MgUmVmRWxlbWVudCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwicmVmIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFNjcmlwdCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwic2NyaXB0Iik7dGhpcy5iaW5kaW5nPWUuYmluZGluZ3x8IiI7dGhpcy5jb250ZW50VHlwZT1lLmNvbnRlbnRUeXBlfHwiIjt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucnVuQXQ9Z2V0U3RyaW5nT3B0aW9uKGUucnVuQXQsWyJjbGllbnQiLCJib3RoIiwic2VydmVyIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgU2V0UHJvcGVydHkgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInNldFByb3BlcnR5Iik7dGhpcy5jb25uZWN0aW9uPWUuY29ubmVjdGlvbnx8IiI7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIn19Y2xhc3MgU2lnbkRhdGEgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInNpZ25EYXRhIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm9wZXJhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5vcGVyYXRpb24sWyJzaWduIiwiY2xlYXIiLCJ2ZXJpZnkiXSk7dGhpcy5yZWY9ZS5yZWZ8fCIiO3RoaXMudGFyZ2V0PWUudGFyZ2V0fHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5maWx0ZXI9bnVsbDt0aGlzLm1hbmlmZXN0PW51bGx9fWNsYXNzIFNpZ25hdHVyZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwic2lnbmF0dXJlIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIlBERjEuMyIsIlBERjEuNiJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib3JkZXI9bnVsbDt0aGlzLmV4dHJhcz1udWxsO3RoaXMuZmlsdGVyPW51bGw7dGhpcy5tYW5pZmVzdD1udWxsO3RoaXMubWFyZ2luPW51bGx9fWNsYXNzIFNpZ25pbmcgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInNpZ25pbmciLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5jZXJ0aWZpY2F0ZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFNvbGlkIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJzb2xpZCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGx9W0luXShlKXtyZXR1cm4gZT9lW0luXSgpOiIjRkZGRkZGIn19Y2xhc3MgU3BlYWsgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInNwZWFrIik7dGhpcy5kaXNhYmxlPWdldEludGVnZXIoe2RhdGE6ZS5kaXNhYmxlLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnByaW9yaXR5PWdldFN0cmluZ09wdGlvbihlLnByaW9yaXR5LFsiY3VzdG9tIiwiY2FwdGlvbiIsIm5hbWUiLCJ0b29sVGlwIl0pO3RoaXMucmlkPWUucmlkfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFN0aXBwbGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInN0aXBwbGUiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMucmF0ZT1nZXRJbnRlZ2VyKHtkYXRhOmUucmF0ZSxkZWZhdWx0VmFsdWU6NTAsdmFsaWRhdGU6ZT0+ZT49MCYmZTw9MTAwfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuY29sb3I9bnVsbDt0aGlzLmV4dHJhcz1udWxsfVtJbl0oZSl7Y29uc3QgdD10aGlzLnJhdGUvMTAwO3JldHVybiBVdGlsLm1ha2VIZXhDb2xvcihNYXRoLnJvdW5kKGUudmFsdWUuciooMS10KSt0aGlzLnZhbHVlLnIqdCksTWF0aC5yb3VuZChlLnZhbHVlLmcqKDEtdCkrdGhpcy52YWx1ZS5nKnQpLE1hdGgucm91bmQoZS52YWx1ZS5iKigxLXQpK3RoaXMudmFsdWUuYip0KSl9fWNsYXNzIFN1YmZvcm0gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInN1YmZvcm0iLCEwKTt0aGlzLmFjY2Vzcz1nZXRTdHJpbmdPcHRpb24oZS5hY2Nlc3MsWyJvcGVuIiwibm9uSW50ZXJhY3RpdmUiLCJwcm90ZWN0ZWQiLCJyZWFkT25seSJdKTt0aGlzLmFsbG93TWFjcm89Z2V0SW50ZWdlcih7ZGF0YTplLmFsbG93TWFjcm8sZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmFuY2hvclR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUuYW5jaG9yVHlwZSxbInRvcExlZnQiLCJib3R0b21DZW50ZXIiLCJib3R0b21MZWZ0IiwiYm90dG9tUmlnaHQiLCJtaWRkbGVDZW50ZXIiLCJtaWRkbGVMZWZ0IiwibWlkZGxlUmlnaHQiLCJ0b3BDZW50ZXIiLCJ0b3BSaWdodCJdKTt0aGlzLmNvbFNwYW49Z2V0SW50ZWdlcih7ZGF0YTplLmNvbFNwYW4sZGVmYXVsdFZhbHVlOjEsdmFsaWRhdGU6ZT0+ZT49MXx8LTE9PT1lfSk7dGhpcy5jb2x1bW5XaWR0aHM9KGUuY29sdW1uV2lkdGhzfHwiIikudHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKGU9PiItMSI9PT1lPy0xOmdldE1lYXN1cmVtZW50KGUpKSk7dGhpcy5oPWUuaD9nZXRNZWFzdXJlbWVudChlLmgpOiIiO3RoaXMuaEFsaWduPWdldFN0cmluZ09wdGlvbihlLmhBbGlnbixbImxlZnQiLCJjZW50ZXIiLCJqdXN0aWZ5IiwianVzdGlmeUFsbCIsInJhZGl4IiwicmlnaHQiXSk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmxheW91dD1nZXRTdHJpbmdPcHRpb24oZS5sYXlvdXQsWyJwb3NpdGlvbiIsImxyLXRiIiwicmwtcm93IiwicmwtdGIiLCJyb3ciLCJ0YWJsZSIsInRiIl0pO3RoaXMubG9jYWxlPWUubG9jYWxlfHwiIjt0aGlzLm1heEg9Z2V0TWVhc3VyZW1lbnQoZS5tYXhILCIwcHQiKTt0aGlzLm1heFc9Z2V0TWVhc3VyZW1lbnQoZS5tYXhXLCIwcHQiKTt0aGlzLm1lcmdlTW9kZT1nZXRTdHJpbmdPcHRpb24oZS5tZXJnZU1vZGUsWyJjb25zdW1lRGF0YSIsIm1hdGNoVGVtcGxhdGUiXSk7dGhpcy5taW5IPWdldE1lYXN1cmVtZW50KGUubWluSCwiMHB0Iik7dGhpcy5taW5XPWdldE1lYXN1cmVtZW50KGUubWluVywiMHB0Iik7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5wcmVzZW5jZT1nZXRTdHJpbmdPcHRpb24oZS5wcmVzZW5jZSxbInZpc2libGUiLCJoaWRkZW4iLCJpbmFjdGl2ZSIsImludmlzaWJsZSJdKTt0aGlzLnJlbGV2YW50PWdldFJlbGV2YW50KGUucmVsZXZhbnQpO3RoaXMucmVzdG9yZVN0YXRlPWdldFN0cmluZ09wdGlvbihlLnJlc3RvcmVTdGF0ZSxbIm1hbnVhbCIsImF1dG8iXSk7dGhpcy5zY29wZT1nZXRTdHJpbmdPcHRpb24oZS5zY29wZSxbIm5hbWUiLCJub25lIl0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnc9ZS53P2dldE1lYXN1cmVtZW50KGUudyk6IiI7dGhpcy54PWdldE1lYXN1cmVtZW50KGUueCwiMHB0Iik7dGhpcy55PWdldE1lYXN1cmVtZW50KGUueSwiMHB0Iik7dGhpcy5hc3Npc3Q9bnVsbDt0aGlzLmJpbmQ9bnVsbDt0aGlzLmJvb2tlbmQ9bnVsbDt0aGlzLmJvcmRlcj1udWxsO3RoaXMuYnJlYWs9bnVsbDt0aGlzLmNhbGN1bGF0ZT1udWxsO3RoaXMuZGVzYz1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5rZWVwPW51bGw7dGhpcy5tYXJnaW49bnVsbDt0aGlzLm9jY3VyPW51bGw7dGhpcy5vdmVyZmxvdz1udWxsO3RoaXMucGFnZVNldD1udWxsO3RoaXMucGFyYT1udWxsO3RoaXMudHJhdmVyc2FsPW51bGw7dGhpcy52YWxpZGF0ZT1udWxsO3RoaXMudmFyaWFibGVzPW51bGw7dGhpcy5hcmVhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmJyZWFrQWZ0ZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYnJlYWtCZWZvcmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuY29ubmVjdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kcmF3PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV2ZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4T2JqZWN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4Y2xHcm91cD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5maWVsZD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wcm90bz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zZXRQcm9wZXJ0eT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnN1YmZvcm1TZXQ9bmV3IFhGQU9iamVjdEFycmF5fVt3cl0oKXtjb25zdCBlPXRoaXNbRHJdKCk7cmV0dXJuIGUgaW5zdGFuY2VvZiBTdWJmb3JtU2V0P2Vbd3JdKCk6ZX1beHJdKCl7cmV0dXJuITB9W0pyXSgpe3JldHVybiB0aGlzLmxheW91dC5lbmRzV2l0aCgiLXRiIikmJjA9PT10aGlzW2dyXS5hdHRlbXB0JiZ0aGlzW2dyXS5udW1iZXJJbkxpbmU+MHx8dGhpc1tEcl0oKVtKcl0oKX0qW21yXSgpe3lpZWxkKmdldENvbnRhaW5lZENoaWxkcmVuKHRoaXMpfVtJcl0oKXtyZXR1cm4gZmx1c2hIVE1MKHRoaXMpfVt6c10oZSx0KXthZGRIVE1MKHRoaXMsZSx0KX1baHJdKCl7cmV0dXJuIGdldEF2YWlsYWJsZVNwYWNlKHRoaXMpfVtIcl0oKXtjb25zdCBlPXRoaXNbd3JdKCk7aWYoIWVbSHJdKCkpcmV0dXJuITE7aWYodm9pZCAwIT09dGhpc1tncl0uX2lzU3BsaXR0YWJsZSlyZXR1cm4gdGhpc1tncl0uX2lzU3BsaXR0YWJsZTtpZigicG9zaXRpb24iPT09dGhpcy5sYXlvdXR8fHRoaXMubGF5b3V0LmluY2x1ZGVzKCJyb3ciKSl7dGhpc1tncl0uX2lzU3BsaXR0YWJsZT0hMTtyZXR1cm4hMX1pZih0aGlzLmtlZXAmJiJub25lIiE9PXRoaXMua2VlcC5pbnRhY3Qpe3RoaXNbZ3JdLl9pc1NwbGl0dGFibGU9ITE7cmV0dXJuITF9aWYoZS5sYXlvdXQ/LmVuZHNXaXRoKCItdGIiKSYmMCE9PWVbZ3JdLm51bWJlckluTGluZSlyZXR1cm4hMTt0aGlzW2dyXS5faXNTcGxpdHRhYmxlPSEwO3JldHVybiEwfVtnbl0oZSl7c2V0VGFiSW5kZXgodGhpcyk7aWYodGhpcy5icmVhayl7aWYoImF1dG8iIT09dGhpcy5icmVhay5hZnRlcnx8IiIhPT10aGlzLmJyZWFrLmFmdGVyVGFyZ2V0KXtjb25zdCBlPW5ldyBCcmVha0FmdGVyKHt0YXJnZXRUeXBlOnRoaXMuYnJlYWsuYWZ0ZXIsdGFyZ2V0OnRoaXMuYnJlYWsuYWZ0ZXJUYXJnZXQsc3RhcnROZXc6dGhpcy5icmVhay5zdGFydE5ldy50b1N0cmluZygpfSk7ZVtGcl09dGhpc1tGcl07dGhpc1tfc10oZSk7dGhpcy5icmVha0FmdGVyLnB1c2goZSl9aWYoImF1dG8iIT09dGhpcy5icmVhay5iZWZvcmV8fCIiIT09dGhpcy5icmVhay5iZWZvcmVUYXJnZXQpe2NvbnN0IGU9bmV3IEJyZWFrQmVmb3JlKHt0YXJnZXRUeXBlOnRoaXMuYnJlYWsuYmVmb3JlLHRhcmdldDp0aGlzLmJyZWFrLmJlZm9yZVRhcmdldCxzdGFydE5ldzp0aGlzLmJyZWFrLnN0YXJ0TmV3LnRvU3RyaW5nKCl9KTtlW0ZyXT10aGlzW0ZyXTt0aGlzW19zXShlKTt0aGlzLmJyZWFrQmVmb3JlLnB1c2goZSl9aWYoIiIhPT10aGlzLmJyZWFrLm92ZXJmbG93VGFyZ2V0KXtjb25zdCBlPW5ldyBPdmVyZmxvdyh7dGFyZ2V0OnRoaXMuYnJlYWsub3ZlcmZsb3dUYXJnZXQsbGVhZGVyOnRoaXMuYnJlYWsub3ZlcmZsb3dMZWFkZXIsdHJhaWxlcjp0aGlzLmJyZWFrLm92ZXJmbG93VHJhaWxlcn0pO2VbRnJdPXRoaXNbRnJdO3RoaXNbX3NdKGUpO3RoaXMub3ZlcmZsb3cucHVzaChlKX10aGlzW3pyXSh0aGlzLmJyZWFrKTt0aGlzLmJyZWFrPW51bGx9aWYoImhpZGRlbiI9PT10aGlzLnByZXNlbmNlfHwiaW5hY3RpdmUiPT09dGhpcy5wcmVzZW5jZSlyZXR1cm4gSFRNTFJlc3VsdC5FTVBUWTsodGhpcy5icmVha0JlZm9yZS5jaGlsZHJlbi5sZW5ndGg+MXx8dGhpcy5icmVha0FmdGVyLmNoaWxkcmVuLmxlbmd0aD4xKSYmd2FybigiWEZBIC0gU2V2ZXJhbCBicmVha0JlZm9yZSBvciBicmVha0FmdGVyIGluIHN1YmZvcm1zOiBwbGVhc2UgZmlsZSBhIGJ1Zy4iKTtpZih0aGlzLmJyZWFrQmVmb3JlLmNoaWxkcmVuLmxlbmd0aD49MSl7Y29uc3QgZT10aGlzLmJyZWFrQmVmb3JlLmNoaWxkcmVuWzBdO2lmKGhhbmRsZUJyZWFrKGUpKXJldHVybiBIVE1MUmVzdWx0LmJyZWFrTm9kZShlKX1pZih0aGlzW2dyXT8uYWZ0ZXJCcmVha0FmdGVyKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2ZpeERpbWVuc2lvbnModGhpcyk7Y29uc3QgdD1bXSxpPXtpZDp0aGlzW2NuXSxjbGFzczpbXX07c2V0QWNjZXNzKHRoaXMsaS5jbGFzcyk7dGhpc1tncl18fCh0aGlzW2dyXT1PYmplY3QuY3JlYXRlKG51bGwpKTtPYmplY3QuYXNzaWduKHRoaXNbZ3JdLHtjaGlsZHJlbjp0LGxpbmU6bnVsbCxhdHRyaWJ1dGVzOmksYXR0ZW1wdDowLG51bWJlckluTGluZTowLGF2YWlsYWJsZVNwYWNlOnt3aWR0aDpNYXRoLm1pbih0aGlzLnd8fDEvMCxlLndpZHRoKSxoZWlnaHQ6TWF0aC5taW4odGhpcy5ofHwxLzAsZS5oZWlnaHQpfSx3aWR0aDowLGhlaWdodDowLHByZXZIZWlnaHQ6MCxjdXJyZW50V2lkdGg6MH0pO2NvbnN0IGE9dGhpc1ticl0oKSxzPWFbZ3JdLm5vTGF5b3V0RmFpbHVyZSxyPXRoaXNbSHJdKCk7cnx8c2V0Rmlyc3RVbnNwbGl0dGFibGUodGhpcyk7aWYoIWNoZWNrRGltZW5zaW9ucyh0aGlzLGUpKXJldHVybiBIVE1MUmVzdWx0LkZBSUxVUkU7Y29uc3Qgbj1uZXcgU2V0KFsiYXJlYSIsImRyYXciLCJleGNsR3JvdXAiLCJmaWVsZCIsInN1YmZvcm0iLCJzdWJmb3JtU2V0Il0pO2lmKHRoaXMubGF5b3V0LmluY2x1ZGVzKCJyb3ciKSl7Y29uc3QgZT10aGlzW3dyXSgpLmNvbHVtbldpZHRocztpZihBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD4wKXt0aGlzW2dyXS5jb2x1bW5XaWR0aHM9ZTt0aGlzW2dyXS5jdXJyZW50Q29sdW1uPTB9fWNvbnN0IGc9dG9TdHlsZSh0aGlzLCJhbmNob3JUeXBlIiwiZGltZW5zaW9ucyIsInBvc2l0aW9uIiwicHJlc2VuY2UiLCJib3JkZXIiLCJtYXJnaW4iLCJoQWxpZ24iKSxvPVsieGZhU3ViZm9ybSJdLGM9bGF5b3V0Q2xhc3ModGhpcyk7YyYmby5wdXNoKGMpO2kuc3R5bGU9ZztpLmNsYXNzPW87dGhpcy5uYW1lJiYoaS54ZmFOYW1lPXRoaXMubmFtZSk7aWYodGhpcy5vdmVyZmxvdyl7Y29uc3QgdD10aGlzLm92ZXJmbG93W2RyXSgpO2lmKHQuYWRkTGVhZGVyKXt0LmFkZExlYWRlcj0hMTtoYW5kbGVPdmVyZmxvdyh0aGlzLHQubGVhZGVyLGUpfX10aGlzW1ZyXSgpO2NvbnN0IEM9ImxyLXRiIj09PXRoaXMubGF5b3V0fHwicmwtdGIiPT09dGhpcy5sYXlvdXQsaD1DPzI6MTtmb3IoO3RoaXNbZ3JdLmF0dGVtcHQ8aDt0aGlzW2dyXS5hdHRlbXB0Kyspe0MmJjE9PT10aGlzW2dyXS5hdHRlbXB0JiYodGhpc1tncl0ubnVtYmVySW5MaW5lPTApO2NvbnN0IGU9dGhpc1skc10oe2ZpbHRlcjpuLGluY2x1ZGU6ITB9KTtpZihlLnN1Y2Nlc3MpYnJlYWs7aWYoZS5pc0JyZWFrKCkpe3RoaXNbWnJdKCk7cmV0dXJuIGV9aWYoQyYmMD09PXRoaXNbZ3JdLmF0dGVtcHQmJjA9PT10aGlzW2dyXS5udW1iZXJJbkxpbmUmJiFhW2dyXS5ub0xheW91dEZhaWx1cmUpe3RoaXNbZ3JdLmF0dGVtcHQ9aDticmVha319dGhpc1tacl0oKTtyfHx1bnNldEZpcnN0VW5zcGxpdHRhYmxlKHRoaXMpO2FbZ3JdLm5vTGF5b3V0RmFpbHVyZT1zO2lmKHRoaXNbZ3JdLmF0dGVtcHQ9PT1oKXt0aGlzLm92ZXJmbG93JiYodGhpc1ticl0oKVtncl0ub3ZlcmZsb3dOb2RlPXRoaXMub3ZlcmZsb3cpO3J8fGRlbGV0ZSB0aGlzW2dyXTtyZXR1cm4gSFRNTFJlc3VsdC5GQUlMVVJFfWlmKHRoaXMub3ZlcmZsb3cpe2NvbnN0IHQ9dGhpcy5vdmVyZmxvd1tkcl0oKTtpZih0LmFkZFRyYWlsZXIpe3QuYWRkVHJhaWxlcj0hMTtoYW5kbGVPdmVyZmxvdyh0aGlzLHQudHJhaWxlcixlKX19bGV0IGw9MCxRPTA7aWYodGhpcy5tYXJnaW4pe2w9dGhpcy5tYXJnaW4ubGVmdEluc2V0K3RoaXMubWFyZ2luLnJpZ2h0SW5zZXQ7UT10aGlzLm1hcmdpbi50b3BJbnNldCt0aGlzLm1hcmdpbi5ib3R0b21JbnNldH1jb25zdCBFPU1hdGgubWF4KHRoaXNbZ3JdLndpZHRoK2wsdGhpcy53fHwwKSx1PU1hdGgubWF4KHRoaXNbZ3JdLmhlaWdodCtRLHRoaXMuaHx8MCksZD1bdGhpcy54LHRoaXMueSxFLHVdOyIiPT09dGhpcy53JiYoZy53aWR0aD1tZWFzdXJlVG9TdHJpbmcoRSkpOyIiPT09dGhpcy5oJiYoZy5oZWlnaHQ9bWVhc3VyZVRvU3RyaW5nKHUpKTtpZigoIjBweCI9PT1nLndpZHRofHwiMHB4Ij09PWcuaGVpZ2h0KSYmMD09PXQubGVuZ3RoKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2NvbnN0IGY9e25hbWU6ImRpdiIsYXR0cmlidXRlczppLGNoaWxkcmVuOnR9O2FwcGx5QXNzaXN0KHRoaXMsaSk7Y29uc3QgcD1IVE1MUmVzdWx0LnN1Y2Nlc3MoY3JlYXRlV3JhcHBlcih0aGlzLGYpLGQpO2lmKHRoaXMuYnJlYWtBZnRlci5jaGlsZHJlbi5sZW5ndGg+PTEpe2NvbnN0IGU9dGhpcy5icmVha0FmdGVyLmNoaWxkcmVuWzBdO2lmKGhhbmRsZUJyZWFrKGUpKXt0aGlzW2dyXS5hZnRlckJyZWFrQWZ0ZXI9cDtyZXR1cm4gSFRNTFJlc3VsdC5icmVha05vZGUoZSl9fWRlbGV0ZSB0aGlzW2dyXTtyZXR1cm4gcH19Y2xhc3MgU3ViZm9ybVNldCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwic3ViZm9ybVNldCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yZWxhdGlvbj1nZXRTdHJpbmdPcHRpb24oZS5yZWxhdGlvbixbIm9yZGVyZWQiLCJjaG9pY2UiLCJ1bm9yZGVyZWQiXSk7dGhpcy5yZWxldmFudD1nZXRSZWxldmFudChlLnJlbGV2YW50KTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5ib29rZW5kPW51bGw7dGhpcy5icmVhaz1udWxsO3RoaXMuZGVzYz1udWxsO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5vY2N1cj1udWxsO3RoaXMub3ZlcmZsb3c9bnVsbDt0aGlzLmJyZWFrQWZ0ZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuYnJlYWtCZWZvcmU9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuc3ViZm9ybT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJmb3JtU2V0PW5ldyBYRkFPYmplY3RBcnJheX0qW21yXSgpe3lpZWxkKmdldENvbnRhaW5lZENoaWxkcmVuKHRoaXMpfVt3cl0oKXtsZXQgZT10aGlzW0RyXSgpO2Zvcig7IShlIGluc3RhbmNlb2YgU3ViZm9ybSk7KWU9ZVtEcl0oKTtyZXR1cm4gZX1beHJdKCl7cmV0dXJuITB9fWNsYXNzIFN1YmplY3RETiBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInN1YmplY3RETiIpO3RoaXMuZGVsaW1pdGVyPWUuZGVsaW1pdGVyfHwiLCI7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W29yXSgpe3RoaXNbc3JdPW5ldyBNYXAodGhpc1tzcl0uc3BsaXQodGhpcy5kZWxpbWl0ZXIpLm1hcCgoZT0+eyhlPWUuc3BsaXQoIj0iLDIpKVswXT1lWzBdLnRyaW0oKTtyZXR1cm4gZX0pKSl9fWNsYXNzIFN1YmplY3RETnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInN1YmplY3RETnMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudHlwZT1nZXRTdHJpbmdPcHRpb24oZS50eXBlLFsib3B0aW9uYWwiLCJyZXF1aXJlZCJdKTt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiI7dGhpcy5zdWJqZWN0RE49bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBTdWJtaXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInN1Ym1pdCIsITApO3RoaXMuZW1iZWRQREY9Z2V0SW50ZWdlcih7ZGF0YTplLmVtYmVkUERGLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PjE9PT1lfSk7dGhpcy5mb3JtYXQ9Z2V0U3RyaW5nT3B0aW9uKGUuZm9ybWF0LFsieGRwIiwiZm9ybWRhdGEiLCJwZGYiLCJ1cmxlbmNvZGVkIiwieGZkIiwieG1sIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy50YXJnZXQ9ZS50YXJnZXR8fCIiO3RoaXMudGV4dEVuY29kaW5nPWdldEtleXdvcmQoe2RhdGE6ZS50ZXh0RW5jb2Rpbmc/ZS50ZXh0RW5jb2RpbmcudG9Mb3dlckNhc2UoKToiIixkZWZhdWx0VmFsdWU6IiIsdmFsaWRhdGU6ZT0+WyJ1dGYtOCIsImJpZy1maXZlIiwiZm9udHNwZWNpZmljIiwiZ2JrIiwiZ2ItMTgwMzAiLCJnYi0yMzEyIiwia3NjLTU2MDEiLCJub25lIiwic2hpZnQtamlzIiwidWNzLTIiLCJ1dGYtMTYiXS5pbmNsdWRlcyhlKXx8ZS5tYXRjaCgvaXNvLTg4NTktXGR7Mn0vKX0pO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLnhkcENvbnRlbnQ9ZS54ZHBDb250ZW50fHwiIjt0aGlzLmVuY3J5cHQ9bnVsbDt0aGlzLmVuY3J5cHREYXRhPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNpZ25EYXRhPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgVGVtcGxhdGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInRlbXBsYXRlIiwhMCk7dGhpcy5iYXNlUHJvZmlsZT1nZXRTdHJpbmdPcHRpb24oZS5iYXNlUHJvZmlsZSxbImZ1bGwiLCJpbnRlcmFjdGl2ZUZvcm1zIl0pO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5zdWJmb3JtPW5ldyBYRkFPYmplY3RBcnJheX1bb3JdKCl7MD09PXRoaXMuc3ViZm9ybS5jaGlsZHJlbi5sZW5ndGgmJndhcm4oIlhGQSAtIE5vIHN1YmZvcm1zIGluIHRlbXBsYXRlIG5vZGUuIik7dGhpcy5zdWJmb3JtLmNoaWxkcmVuLmxlbmd0aD49MiYmd2FybigiWEZBIC0gU2V2ZXJhbCBzdWJmb3JtcyBpbiB0ZW1wbGF0ZSBub2RlOiBwbGVhc2UgZmlsZSBhIGJ1Zy4iKTt0aGlzW3NuXT01ZTN9W0hyXSgpe3JldHVybiEwfVtBbl0oZSx0KXtyZXR1cm4gZS5zdGFydHNXaXRoKCIjIik/W3RoaXNba3JdLmdldChlLnNsaWNlKDEpKV06c2VhcmNoTm9kZSh0aGlzLHQsZSwhMCwhMCl9Kltubl0oKXtpZighdGhpcy5zdWJmb3JtLmNoaWxkcmVuLmxlbmd0aClyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKHtuYW1lOiJkaXYiLGNoaWxkcmVuOltdfSk7dGhpc1tncl09e292ZXJmbG93Tm9kZTpudWxsLGZpcnN0VW5zcGxpdHRhYmxlOm51bGwsY3VycmVudENvbnRlbnRBcmVhOm51bGwsY3VycmVudFBhZ2VBcmVhOm51bGwsbm9MYXlvdXRGYWlsdXJlOiExLHBhZ2VOdW1iZXI6MSxwYWdlUG9zaXRpb246ImZpcnN0IixvZGRPckV2ZW46Im9kZCIsYmxhbmtPck5vdEJsYW5rOiJub25CbGFuayIscGFyYVN0YWNrOltdfTtjb25zdCBlPXRoaXMuc3ViZm9ybS5jaGlsZHJlblswXTtlLnBhZ2VTZXRbZXJdKCk7Y29uc3QgdD1lLnBhZ2VTZXQucGFnZUFyZWEuY2hpbGRyZW4saT17bmFtZToiZGl2IixjaGlsZHJlbjpbXX07bGV0IGE9bnVsbCxzPW51bGwscj1udWxsO2lmKGUuYnJlYWtCZWZvcmUuY2hpbGRyZW4ubGVuZ3RoPj0xKXtzPWUuYnJlYWtCZWZvcmUuY2hpbGRyZW5bMF07cj1zLnRhcmdldH1lbHNlIGlmKGUuc3ViZm9ybS5jaGlsZHJlbi5sZW5ndGg+PTEmJmUuc3ViZm9ybS5jaGlsZHJlblswXS5icmVha0JlZm9yZS5jaGlsZHJlbi5sZW5ndGg+PTEpe3M9ZS5zdWJmb3JtLmNoaWxkcmVuWzBdLmJyZWFrQmVmb3JlLmNoaWxkcmVuWzBdO3I9cy50YXJnZXR9ZWxzZSBpZihlLmJyZWFrPy5iZWZvcmVUYXJnZXQpe3M9ZS5icmVhaztyPXMuYmVmb3JlVGFyZ2V0fWVsc2UgaWYoZS5zdWJmb3JtLmNoaWxkcmVuLmxlbmd0aD49MSYmZS5zdWJmb3JtLmNoaWxkcmVuWzBdLmJyZWFrPy5iZWZvcmVUYXJnZXQpe3M9ZS5zdWJmb3JtLmNoaWxkcmVuWzBdLmJyZWFrO3I9cy5iZWZvcmVUYXJnZXR9aWYocyl7Y29uc3QgZT10aGlzW0FuXShyLHNbRHJdKCkpO2lmKGUgaW5zdGFuY2VvZiBQYWdlQXJlYSl7YT1lO3NbZ3JdPXt9fX1hfHwoYT10WzBdKTthW2dyXT17bnVtYmVyT2ZVc2U6MX07Y29uc3Qgbj1hW0RyXSgpO25bZ3JdPXtudW1iZXJPZlVzZToxLHBhZ2VJbmRleDpuLnBhZ2VBcmVhLmNoaWxkcmVuLmluZGV4T2YoYSkscGFnZVNldEluZGV4OjB9O2xldCBnLG89bnVsbCxjPW51bGwsQz0hMCxoPTAsbD0wO2Zvcig7Oyl7aWYoQyloPTA7ZWxzZXtpLmNoaWxkcmVuLnBvcCgpO2lmKDM9PSsraCl7d2FybigiWEZBIC0gU29tZXRoaW5nIGdvZXMgd3Jvbmc6IHBsZWFzZSBmaWxlIGEgYnVnLiIpO3JldHVybiBpfX1nPW51bGw7dGhpc1tncl0uY3VycmVudFBhZ2VBcmVhPWE7Y29uc3QgdD1hW2duXSgpLmh0bWw7aS5jaGlsZHJlbi5wdXNoKHQpO2lmKG8pe3RoaXNbZ3JdLm5vTGF5b3V0RmFpbHVyZT0hMDt0LmNoaWxkcmVuLnB1c2gob1tnbl0oYVtncl0uc3BhY2UpLmh0bWwpO289bnVsbH1pZihjKXt0aGlzW2dyXS5ub0xheW91dEZhaWx1cmU9ITA7dC5jaGlsZHJlbi5wdXNoKGNbZ25dKGFbZ3JdLnNwYWNlKS5odG1sKTtjPW51bGx9Y29uc3Qgcz1hLmNvbnRlbnRBcmVhLmNoaWxkcmVuLHI9dC5jaGlsZHJlbi5maWx0ZXIoKGU9PmUuYXR0cmlidXRlcy5jbGFzcy5pbmNsdWRlcygieGZhQ29udGVudGFyZWEiKSkpO0M9ITE7dGhpc1tncl0uZmlyc3RVbnNwbGl0dGFibGU9bnVsbDt0aGlzW2dyXS5ub0xheW91dEZhaWx1cmU9ITE7Y29uc3QgZmx1c2g9dD0+e2NvbnN0IGk9ZVtJcl0oKTtpZihpKXtDfHw9aS5jaGlsZHJlbj8ubGVuZ3RoPjA7clt0XS5jaGlsZHJlbi5wdXNoKGkpfX07Zm9yKGxldCB0PWwsYT1zLmxlbmd0aDt0PGE7dCsrKXtjb25zdCBhPXRoaXNbZ3JdLmN1cnJlbnRDb250ZW50QXJlYT1zW3RdLG49e3dpZHRoOmEudyxoZWlnaHQ6YS5ofTtsPTA7aWYobyl7clt0XS5jaGlsZHJlbi5wdXNoKG9bZ25dKG4pLmh0bWwpO289bnVsbH1pZihjKXtyW3RdLmNoaWxkcmVuLnB1c2goY1tnbl0obikuaHRtbCk7Yz1udWxsfWNvbnN0IGg9ZVtnbl0obik7aWYoaC5zdWNjZXNzKXtpZihoLmh0bWwpe0N8fD1oLmh0bWwuY2hpbGRyZW4/Lmxlbmd0aD4wO3JbdF0uY2hpbGRyZW4ucHVzaChoLmh0bWwpfWVsc2UhQyYmaS5jaGlsZHJlbi5sZW5ndGg+MSYmaS5jaGlsZHJlbi5wb3AoKTtyZXR1cm4gaX1pZihoLmlzQnJlYWsoKSl7Y29uc3QgZT1oLmJyZWFrTm9kZTtmbHVzaCh0KTtpZigiYXV0byI9PT1lLnRhcmdldFR5cGUpY29udGludWU7aWYoZS5sZWFkZXIpe289dGhpc1tBbl0oZS5sZWFkZXIsZVtEcl0oKSk7bz1vP29bMF06bnVsbH1pZihlLnRyYWlsZXIpe2M9dGhpc1tBbl0oZS50cmFpbGVyLGVbRHJdKCkpO2M9Yz9jWzBdOm51bGx9aWYoInBhZ2VBcmVhIj09PWUudGFyZ2V0VHlwZSl7Zz1lW2dyXS50YXJnZXQ7dD0xLzB9ZWxzZSBpZihlW2dyXS50YXJnZXQpe2c9ZVtncl0udGFyZ2V0O2w9ZVtncl0uaW5kZXgrMTt0PTEvMH1lbHNlIHQ9ZVtncl0uaW5kZXh9ZWxzZSBpZih0aGlzW2dyXS5vdmVyZmxvd05vZGUpe2NvbnN0IGU9dGhpc1tncl0ub3ZlcmZsb3dOb2RlO3RoaXNbZ3JdLm92ZXJmbG93Tm9kZT1udWxsO2NvbnN0IGk9ZVtkcl0oKSxhPWkudGFyZ2V0O2kuYWRkTGVhZGVyPW51bGwhPT1pLmxlYWRlcjtpLmFkZFRyYWlsZXI9bnVsbCE9PWkudHJhaWxlcjtmbHVzaCh0KTtjb25zdCByPXQ7dD0xLzA7aWYoYSBpbnN0YW5jZW9mIFBhZ2VBcmVhKWc9YTtlbHNlIGlmKGEgaW5zdGFuY2VvZiBDb250ZW50QXJlYSl7Y29uc3QgZT1zLmluZGV4T2YoYSk7aWYoLTEhPT1lKWU+cj90PWUtMTpsPWU7ZWxzZXtnPWFbRHJdKCk7bD1nLmNvbnRlbnRBcmVhLmNoaWxkcmVuLmluZGV4T2YoYSl9fX1lbHNlIGZsdXNoKHQpfXRoaXNbZ3JdLnBhZ2VOdW1iZXIrPTE7ZyYmKGdbdnJdKCk/Z1tncl0ubnVtYmVyT2ZVc2UrPTE6Zz1udWxsKTthPWd8fGFbeXJdKCk7eWllbGQgbnVsbH19fWNsYXNzIFRleHQgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ0ZXh0Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm1heENoYXJzPWdldEludGVnZXIoe2RhdGE6ZS5tYXhDaGFycyxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT5lPj0wfSk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5yaWQ9ZS5yaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn1bVnNdKCl7cmV0dXJuITB9W1ByXShlKXtpZihlW1RyXT09PWhuLnhodG1sLmlkKXt0aGlzW3NyXT1lO3JldHVybiEwfXdhcm4oYFhGQSAtIEludmFsaWQgY29udGVudCBpbiBUZXh0OiAke2VbcXJdfS5gKTtyZXR1cm4hMX1banJdKGUpe3RoaXNbc3JdaW5zdGFuY2VvZiBYRkFPYmplY3R8fHN1cGVyW2pyXShlKX1bb3JdKCl7InN0cmluZyI9PXR5cGVvZiB0aGlzW3NyXSYmKHRoaXNbc3JdPXRoaXNbc3JdLnJlcGxhY2VBbGwoIlxyXG4iLCJcbiIpKX1bZHJdKCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0aGlzW3NyXT90aGlzW3NyXS5zcGxpdCgvW1x1MjAyOVx1MjAyOFxuXS8pLnJlZHVjZSgoKGUsdCk9Pnt0JiZlLnB1c2godCk7cmV0dXJuIGV9KSxbXSkuam9pbigiXG4iKTp0aGlzW3NyXVtybl0oKX1bZ25dKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgdGhpc1tzcl0pe2NvbnN0IGU9dmFsdWVUb0h0bWwodGhpc1tzcl0pLmh0bWw7aWYodGhpc1tzcl0uaW5jbHVkZXMoIlx1MjAyOSIpKXtlLm5hbWU9ImRpdiI7ZS5jaGlsZHJlbj1bXTt0aGlzW3NyXS5zcGxpdCgiXHUyMDI5IikubWFwKChlPT5lLnNwbGl0KC9bXHUyMDI4XG5dLykucmVkdWNlKCgoZSx0KT0+e2UucHVzaCh7bmFtZToic3BhbiIsdmFsdWU6dH0se25hbWU6ImJyIn0pO3JldHVybiBlfSksW10pKSkuZm9yRWFjaCgodD0+e2UuY2hpbGRyZW4ucHVzaCh7bmFtZToicCIsY2hpbGRyZW46dH0pfSkpfWVsc2UgaWYoL1tcdTIwMjhcbl0vLnRlc3QodGhpc1tzcl0pKXtlLm5hbWU9ImRpdiI7ZS5jaGlsZHJlbj1bXTt0aGlzW3NyXS5zcGxpdCgvW1x1MjAyOFxuXS8pLmZvckVhY2goKHQ9PntlLmNoaWxkcmVuLnB1c2goe25hbWU6InNwYW4iLHZhbHVlOnR9LHtuYW1lOiJiciJ9KX0pKX1yZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGUpfXJldHVybiB0aGlzW3NyXVtnbl0oZSl9fWNsYXNzIFRleHRFZGl0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ0ZXh0RWRpdCIsITApO3RoaXMuYWxsb3dSaWNoVGV4dD1nZXRJbnRlZ2VyKHtkYXRhOmUuYWxsb3dSaWNoVGV4dCxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMuaFNjcm9sbFBvbGljeT1nZXRTdHJpbmdPcHRpb24oZS5oU2Nyb2xsUG9saWN5LFsiYXV0byIsIm9mZiIsIm9uIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5tdWx0aUxpbmU9Z2V0SW50ZWdlcih7ZGF0YTplLm11bHRpTGluZSxkZWZhdWx0VmFsdWU6IiIsdmFsaWRhdGU6ZT0+MD09PWV8fDE9PT1lfSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMudlNjcm9sbFBvbGljeT1nZXRTdHJpbmdPcHRpb24oZS52U2Nyb2xsUG9saWN5LFsiYXV0byIsIm9mZiIsIm9uIl0pO3RoaXMuYm9yZGVyPW51bGw7dGhpcy5jb21iPW51bGw7dGhpcy5leHRyYXM9bnVsbDt0aGlzLm1hcmdpbj1udWxsfVtnbl0oZSl7Y29uc3QgdD10b1N0eWxlKHRoaXMsImJvcmRlciIsImZvbnQiLCJtYXJnaW4iKTtsZXQgaTtjb25zdCBhPXRoaXNbRHJdKClbRHJdKCk7IiI9PT10aGlzLm11bHRpTGluZSYmKHRoaXMubXVsdGlMaW5lPWEgaW5zdGFuY2VvZiBEcmF3PzE6MCk7aT0xPT09dGhpcy5tdWx0aUxpbmU/e25hbWU6InRleHRhcmVhIixhdHRyaWJ1dGVzOntkYXRhSWQ6YVtycl0/Lltjbl18fGFbY25dLGZpZWxkSWQ6YVtjbl0sY2xhc3M6WyJ4ZmFUZXh0ZmllbGQiXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwoYSksImFyaWEtcmVxdWlyZWQiOiExfX06e25hbWU6ImlucHV0IixhdHRyaWJ1dGVzOnt0eXBlOiJ0ZXh0IixkYXRhSWQ6YVtycl0/Lltjbl18fGFbY25dLGZpZWxkSWQ6YVtjbl0sY2xhc3M6WyJ4ZmFUZXh0ZmllbGQiXSxzdHlsZTp0LCJhcmlhLWxhYmVsIjphcmlhTGFiZWwoYSksImFyaWEtcmVxdWlyZWQiOiExfX07aWYoaXNSZXF1aXJlZChhKSl7aS5hdHRyaWJ1dGVzWyJhcmlhLXJlcXVpcmVkIl09ITA7aS5hdHRyaWJ1dGVzLnJlcXVpcmVkPSEwfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImxhYmVsIixhdHRyaWJ1dGVzOntjbGFzczpbInhmYUxhYmVsIl19LGNoaWxkcmVuOltpXX0pfX1jbGFzcyBUaW1lIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ0aW1lIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9W29yXSgpe2NvbnN0IGU9dGhpc1tzcl0udHJpbSgpO3RoaXNbc3JdPWU/bmV3IERhdGUoZSk6bnVsbH1bZ25dKGUpe3JldHVybiB2YWx1ZVRvSHRtbCh0aGlzW3NyXT90aGlzW3NyXS50b1N0cmluZygpOiIiKX19Y2xhc3MgVGltZVN0YW1wIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ0aW1lU3RhbXAiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMuc2VydmVyPWUuc2VydmVyfHwiIjt0aGlzLnR5cGU9Z2V0U3RyaW5nT3B0aW9uKGUudHlwZSxbIm9wdGlvbmFsIiwicmVxdWlyZWQiXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBUb29sVGlwIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ0b29sVGlwIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLnJpZD1lLnJpZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBUcmF2ZXJzYWwgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInRyYXZlcnNhbCIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy50cmF2ZXJzZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFRyYXZlcnNlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ0cmF2ZXJzZSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5vcGVyYXRpb249Z2V0U3RyaW5nT3B0aW9uKGUub3BlcmF0aW9uLFsibmV4dCIsImJhY2siLCJkb3duIiwiZmlyc3QiLCJsZWZ0IiwicmlnaHQiLCJ1cCJdKTt0aGlzLnJlZj1lLnJlZnx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5zY3JpcHQ9bnVsbH1nZXQgbmFtZSgpe3JldHVybiB0aGlzLm9wZXJhdGlvbn1bWXJdKCl7cmV0dXJuITF9fWNsYXNzIFVpIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ1aSIsITApO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5waWN0dXJlPW51bGw7dGhpcy5iYXJjb2RlPW51bGw7dGhpcy5idXR0b249bnVsbDt0aGlzLmNoZWNrQnV0dG9uPW51bGw7dGhpcy5jaG9pY2VMaXN0PW51bGw7dGhpcy5kYXRlVGltZUVkaXQ9bnVsbDt0aGlzLmRlZmF1bHRVaT1udWxsO3RoaXMuaW1hZ2VFZGl0PW51bGw7dGhpcy5udW1lcmljRWRpdD1udWxsO3RoaXMucGFzc3dvcmRFZGl0PW51bGw7dGhpcy5zaWduYXR1cmU9bnVsbDt0aGlzLnRleHRFZGl0PW51bGx9W2RyXSgpe2lmKHZvaWQgMD09PXRoaXNbZ3JdKXtmb3IoY29uc3QgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7aWYoImV4dHJhcyI9PT1lfHwicGljdHVyZSI9PT1lKWNvbnRpbnVlO2NvbnN0IHQ9dGhpc1tlXTtpZih0IGluc3RhbmNlb2YgWEZBT2JqZWN0KXt0aGlzW2dyXT10O3JldHVybiB0fX10aGlzW2dyXT1udWxsfXJldHVybiB0aGlzW2dyXX1bZ25dKGUpe2NvbnN0IHQ9dGhpc1tkcl0oKTtyZXR1cm4gdD90W2duXShlKTpIVE1MUmVzdWx0LkVNUFRZfX1jbGFzcyBWYWxpZGF0ZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihLbiwidmFsaWRhdGUiLCEwKTt0aGlzLmZvcm1hdFRlc3Q9Z2V0U3RyaW5nT3B0aW9uKGUuZm9ybWF0VGVzdCxbIndhcm5pbmciLCJkaXNhYmxlZCIsImVycm9yIl0pO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5udWxsVGVzdD1nZXRTdHJpbmdPcHRpb24oZS5udWxsVGVzdCxbImRpc2FibGVkIiwiZXJyb3IiLCJ3YXJuaW5nIl0pO3RoaXMuc2NyaXB0VGVzdD1nZXRTdHJpbmdPcHRpb24oZS5zY3JpcHRUZXN0LFsiZXJyb3IiLCJkaXNhYmxlZCIsIndhcm5pbmciXSk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuZXh0cmFzPW51bGw7dGhpcy5tZXNzYWdlPW51bGw7dGhpcy5waWN0dXJlPW51bGw7dGhpcy5zY3JpcHQ9bnVsbH19Y2xhc3MgVmFsdWUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoS24sInZhbHVlIiwhMCk7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm92ZXJyaWRlPWdldEludGVnZXIoe2RhdGE6ZS5vdmVycmlkZSxkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMucmVsZXZhbnQ9Z2V0UmVsZXZhbnQoZS5yZWxldmFudCk7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIiO3RoaXMuYXJjPW51bGw7dGhpcy5ib29sZWFuPW51bGw7dGhpcy5kYXRlPW51bGw7dGhpcy5kYXRlVGltZT1udWxsO3RoaXMuZGVjaW1hbD1udWxsO3RoaXMuZXhEYXRhPW51bGw7dGhpcy5mbG9hdD1udWxsO3RoaXMuaW1hZ2U9bnVsbDt0aGlzLmludGVnZXI9bnVsbDt0aGlzLmxpbmU9bnVsbDt0aGlzLnJlY3RhbmdsZT1udWxsO3RoaXMudGV4dD1udWxsO3RoaXMudGltZT1udWxsfVthbl0oZSl7Y29uc3QgdD10aGlzW0RyXSgpO2lmKHQgaW5zdGFuY2VvZiBGaWVsZCYmdC51aT8uaW1hZ2VFZGl0KXtpZighdGhpcy5pbWFnZSl7dGhpcy5pbWFnZT1uZXcgSW1hZ2Uoe30pO3RoaXNbX3NdKHRoaXMuaW1hZ2UpfXRoaXMuaW1hZ2Vbc3JdPWVbc3JdO3JldHVybn1jb25zdCBpPWVbcXJdO2lmKG51bGw9PT10aGlzW2ldKXtmb3IoY29uc3QgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSl7Y29uc3QgdD10aGlzW2VdO2lmKHQgaW5zdGFuY2VvZiBYRkFPYmplY3Qpe3RoaXNbZV09bnVsbDt0aGlzW3pyXSh0KX19dGhpc1tlW3FyXV09ZTt0aGlzW19zXShlKX1lbHNlIHRoaXNbaV1bc3JdPWVbc3JdfVtybl0oKXtpZih0aGlzLmV4RGF0YSlyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHRoaXMuZXhEYXRhW3NyXT90aGlzLmV4RGF0YVtzcl0udHJpbSgpOnRoaXMuZXhEYXRhW3NyXVtybl0oKS50cmltKCk7Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpe2lmKCJpbWFnZSI9PT1lKWNvbnRpbnVlO2NvbnN0IHQ9dGhpc1tlXTtpZih0IGluc3RhbmNlb2YgWEZBT2JqZWN0KXJldHVybih0W3NyXXx8IiIpLnRvU3RyaW5nKCkudHJpbSgpfXJldHVybiBudWxsfVtnbl0oZSl7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpe2NvbnN0IGk9dGhpc1t0XTtpZihpIGluc3RhbmNlb2YgWEZBT2JqZWN0KXJldHVybiBpW2duXShlKX1yZXR1cm4gSFRNTFJlc3VsdC5FTVBUWX19Y2xhc3MgVmFyaWFibGVzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKEtuLCJ2YXJpYWJsZXMiLCEwKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIjt0aGlzLmJvb2xlYW49bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kYXRlVGltZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5kZWNpbWFsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLmV4RGF0YT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5mbG9hdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbWFnZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5pbnRlZ2VyPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm1hbmlmZXN0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnNjcmlwdD1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy50ZXh0PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnRpbWU9bmV3IFhGQU9iamVjdEFycmF5fVtZcl0oKXtyZXR1cm4hMH19Y2xhc3MgVGVtcGxhdGVOYW1lc3BhY2V7c3RhdGljW0NuXShlLHQpe2lmKFRlbXBsYXRlTmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXtjb25zdCBpPVRlbXBsYXRlTmFtZXNwYWNlW2VdKHQpO2lbdG5dKHQpO3JldHVybiBpfX1zdGF0aWMgYXBwZWFyYW5jZUZpbHRlcihlKXtyZXR1cm4gbmV3IEFwcGVhcmFuY2VGaWx0ZXIoZSl9c3RhdGljIGFyYyhlKXtyZXR1cm4gbmV3IEFyYyhlKX1zdGF0aWMgYXJlYShlKXtyZXR1cm4gbmV3IEFyZWEoZSl9c3RhdGljIGFzc2lzdChlKXtyZXR1cm4gbmV3IEFzc2lzdChlKX1zdGF0aWMgYmFyY29kZShlKXtyZXR1cm4gbmV3IEJhcmNvZGUoZSl9c3RhdGljIGJpbmQoZSl7cmV0dXJuIG5ldyBCaW5kKGUpfXN0YXRpYyBiaW5kSXRlbXMoZSl7cmV0dXJuIG5ldyBCaW5kSXRlbXMoZSl9c3RhdGljIGJvb2tlbmQoZSl7cmV0dXJuIG5ldyBCb29rZW5kKGUpfXN0YXRpYyBib29sZWFuKGUpe3JldHVybiBuZXcgQm9vbGVhbkVsZW1lbnQoZSl9c3RhdGljIGJvcmRlcihlKXtyZXR1cm4gbmV3IEJvcmRlcihlKX1zdGF0aWMgYnJlYWsoZSl7cmV0dXJuIG5ldyBCcmVhayhlKX1zdGF0aWMgYnJlYWtBZnRlcihlKXtyZXR1cm4gbmV3IEJyZWFrQWZ0ZXIoZSl9c3RhdGljIGJyZWFrQmVmb3JlKGUpe3JldHVybiBuZXcgQnJlYWtCZWZvcmUoZSl9c3RhdGljIGJ1dHRvbihlKXtyZXR1cm4gbmV3IEJ1dHRvbihlKX1zdGF0aWMgY2FsY3VsYXRlKGUpe3JldHVybiBuZXcgQ2FsY3VsYXRlKGUpfXN0YXRpYyBjYXB0aW9uKGUpe3JldHVybiBuZXcgQ2FwdGlvbihlKX1zdGF0aWMgY2VydGlmaWNhdGUoZSl7cmV0dXJuIG5ldyBDZXJ0aWZpY2F0ZShlKX1zdGF0aWMgY2VydGlmaWNhdGVzKGUpe3JldHVybiBuZXcgQ2VydGlmaWNhdGVzKGUpfXN0YXRpYyBjaGVja0J1dHRvbihlKXtyZXR1cm4gbmV3IENoZWNrQnV0dG9uKGUpfXN0YXRpYyBjaG9pY2VMaXN0KGUpe3JldHVybiBuZXcgQ2hvaWNlTGlzdChlKX1zdGF0aWMgY29sb3IoZSl7cmV0dXJuIG5ldyBDb2xvcihlKX1zdGF0aWMgY29tYihlKXtyZXR1cm4gbmV3IENvbWIoZSl9c3RhdGljIGNvbm5lY3QoZSl7cmV0dXJuIG5ldyBDb25uZWN0KGUpfXN0YXRpYyBjb250ZW50QXJlYShlKXtyZXR1cm4gbmV3IENvbnRlbnRBcmVhKGUpfXN0YXRpYyBjb3JuZXIoZSl7cmV0dXJuIG5ldyBDb3JuZXIoZSl9c3RhdGljIGRhdGUoZSl7cmV0dXJuIG5ldyBEYXRlRWxlbWVudChlKX1zdGF0aWMgZGF0ZVRpbWUoZSl7cmV0dXJuIG5ldyBEYXRlVGltZShlKX1zdGF0aWMgZGF0ZVRpbWVFZGl0KGUpe3JldHVybiBuZXcgRGF0ZVRpbWVFZGl0KGUpfXN0YXRpYyBkZWNpbWFsKGUpe3JldHVybiBuZXcgRGVjaW1hbChlKX1zdGF0aWMgZGVmYXVsdFVpKGUpe3JldHVybiBuZXcgRGVmYXVsdFVpKGUpfXN0YXRpYyBkZXNjKGUpe3JldHVybiBuZXcgRGVzYyhlKX1zdGF0aWMgZGlnZXN0TWV0aG9kKGUpe3JldHVybiBuZXcgRGlnZXN0TWV0aG9kKGUpfXN0YXRpYyBkaWdlc3RNZXRob2RzKGUpe3JldHVybiBuZXcgRGlnZXN0TWV0aG9kcyhlKX1zdGF0aWMgZHJhdyhlKXtyZXR1cm4gbmV3IERyYXcoZSl9c3RhdGljIGVkZ2UoZSl7cmV0dXJuIG5ldyBFZGdlKGUpfXN0YXRpYyBlbmNvZGluZyhlKXtyZXR1cm4gbmV3IEVuY29kaW5nKGUpfXN0YXRpYyBlbmNvZGluZ3MoZSl7cmV0dXJuIG5ldyBFbmNvZGluZ3MoZSl9c3RhdGljIGVuY3J5cHQoZSl7cmV0dXJuIG5ldyBFbmNyeXB0KGUpfXN0YXRpYyBlbmNyeXB0RGF0YShlKXtyZXR1cm4gbmV3IEVuY3J5cHREYXRhKGUpfXN0YXRpYyBlbmNyeXB0aW9uKGUpe3JldHVybiBuZXcgRW5jcnlwdGlvbihlKX1zdGF0aWMgZW5jcnlwdGlvbk1ldGhvZChlKXtyZXR1cm4gbmV3IEVuY3J5cHRpb25NZXRob2QoZSl9c3RhdGljIGVuY3J5cHRpb25NZXRob2RzKGUpe3JldHVybiBuZXcgRW5jcnlwdGlvbk1ldGhvZHMoZSl9c3RhdGljIGV2ZW50KGUpe3JldHVybiBuZXcgRXZlbnQoZSl9c3RhdGljIGV4RGF0YShlKXtyZXR1cm4gbmV3IEV4RGF0YShlKX1zdGF0aWMgZXhPYmplY3QoZSl7cmV0dXJuIG5ldyBFeE9iamVjdChlKX1zdGF0aWMgZXhjbEdyb3VwKGUpe3JldHVybiBuZXcgRXhjbEdyb3VwKGUpfXN0YXRpYyBleGVjdXRlKGUpe3JldHVybiBuZXcgRXhlY3V0ZShlKX1zdGF0aWMgZXh0cmFzKGUpe3JldHVybiBuZXcgRXh0cmFzKGUpfXN0YXRpYyBmaWVsZChlKXtyZXR1cm4gbmV3IEZpZWxkKGUpfXN0YXRpYyBmaWxsKGUpe3JldHVybiBuZXcgRmlsbChlKX1zdGF0aWMgZmlsdGVyKGUpe3JldHVybiBuZXcgRmlsdGVyKGUpfXN0YXRpYyBmbG9hdChlKXtyZXR1cm4gbmV3IEZsb2F0KGUpfXN0YXRpYyBmb250KGUpe3JldHVybiBuZXcgdGVtcGxhdGVfRm9udChlKX1zdGF0aWMgZm9ybWF0KGUpe3JldHVybiBuZXcgRm9ybWF0KGUpfXN0YXRpYyBoYW5kbGVyKGUpe3JldHVybiBuZXcgSGFuZGxlcihlKX1zdGF0aWMgaHlwaGVuYXRpb24oZSl7cmV0dXJuIG5ldyBIeXBoZW5hdGlvbihlKX1zdGF0aWMgaW1hZ2UoZSl7cmV0dXJuIG5ldyBJbWFnZShlKX1zdGF0aWMgaW1hZ2VFZGl0KGUpe3JldHVybiBuZXcgSW1hZ2VFZGl0KGUpfXN0YXRpYyBpbnRlZ2VyKGUpe3JldHVybiBuZXcgSW50ZWdlcihlKX1zdGF0aWMgaXNzdWVycyhlKXtyZXR1cm4gbmV3IElzc3VlcnMoZSl9c3RhdGljIGl0ZW1zKGUpe3JldHVybiBuZXcgSXRlbXMoZSl9c3RhdGljIGtlZXAoZSl7cmV0dXJuIG5ldyBLZWVwKGUpfXN0YXRpYyBrZXlVc2FnZShlKXtyZXR1cm4gbmV3IEtleVVzYWdlKGUpfXN0YXRpYyBsaW5lKGUpe3JldHVybiBuZXcgTGluZShlKX1zdGF0aWMgbGluZWFyKGUpe3JldHVybiBuZXcgTGluZWFyKGUpfXN0YXRpYyBsb2NrRG9jdW1lbnQoZSl7cmV0dXJuIG5ldyBMb2NrRG9jdW1lbnQoZSl9c3RhdGljIG1hbmlmZXN0KGUpe3JldHVybiBuZXcgTWFuaWZlc3QoZSl9c3RhdGljIG1hcmdpbihlKXtyZXR1cm4gbmV3IE1hcmdpbihlKX1zdGF0aWMgbWRwKGUpe3JldHVybiBuZXcgTWRwKGUpfXN0YXRpYyBtZWRpdW0oZSl7cmV0dXJuIG5ldyBNZWRpdW0oZSl9c3RhdGljIG1lc3NhZ2UoZSl7cmV0dXJuIG5ldyBNZXNzYWdlKGUpfXN0YXRpYyBudW1lcmljRWRpdChlKXtyZXR1cm4gbmV3IE51bWVyaWNFZGl0KGUpfXN0YXRpYyBvY2N1cihlKXtyZXR1cm4gbmV3IE9jY3VyKGUpfXN0YXRpYyBvaWQoZSl7cmV0dXJuIG5ldyBPaWQoZSl9c3RhdGljIG9pZHMoZSl7cmV0dXJuIG5ldyBPaWRzKGUpfXN0YXRpYyBvdmVyZmxvdyhlKXtyZXR1cm4gbmV3IE92ZXJmbG93KGUpfXN0YXRpYyBwYWdlQXJlYShlKXtyZXR1cm4gbmV3IFBhZ2VBcmVhKGUpfXN0YXRpYyBwYWdlU2V0KGUpe3JldHVybiBuZXcgUGFnZVNldChlKX1zdGF0aWMgcGFyYShlKXtyZXR1cm4gbmV3IFBhcmEoZSl9c3RhdGljIHBhc3N3b3JkRWRpdChlKXtyZXR1cm4gbmV3IFBhc3N3b3JkRWRpdChlKX1zdGF0aWMgcGF0dGVybihlKXtyZXR1cm4gbmV3IHRlbXBsYXRlX1BhdHRlcm4oZSl9c3RhdGljIHBpY3R1cmUoZSl7cmV0dXJuIG5ldyBQaWN0dXJlKGUpfXN0YXRpYyBwcm90byhlKXtyZXR1cm4gbmV3IFByb3RvKGUpfXN0YXRpYyByYWRpYWwoZSl7cmV0dXJuIG5ldyBSYWRpYWwoZSl9c3RhdGljIHJlYXNvbihlKXtyZXR1cm4gbmV3IFJlYXNvbihlKX1zdGF0aWMgcmVhc29ucyhlKXtyZXR1cm4gbmV3IFJlYXNvbnMoZSl9c3RhdGljIHJlY3RhbmdsZShlKXtyZXR1cm4gbmV3IFJlY3RhbmdsZShlKX1zdGF0aWMgcmVmKGUpe3JldHVybiBuZXcgUmVmRWxlbWVudChlKX1zdGF0aWMgc2NyaXB0KGUpe3JldHVybiBuZXcgU2NyaXB0KGUpfXN0YXRpYyBzZXRQcm9wZXJ0eShlKXtyZXR1cm4gbmV3IFNldFByb3BlcnR5KGUpfXN0YXRpYyBzaWduRGF0YShlKXtyZXR1cm4gbmV3IFNpZ25EYXRhKGUpfXN0YXRpYyBzaWduYXR1cmUoZSl7cmV0dXJuIG5ldyBTaWduYXR1cmUoZSl9c3RhdGljIHNpZ25pbmcoZSl7cmV0dXJuIG5ldyBTaWduaW5nKGUpfXN0YXRpYyBzb2xpZChlKXtyZXR1cm4gbmV3IFNvbGlkKGUpfXN0YXRpYyBzcGVhayhlKXtyZXR1cm4gbmV3IFNwZWFrKGUpfXN0YXRpYyBzdGlwcGxlKGUpe3JldHVybiBuZXcgU3RpcHBsZShlKX1zdGF0aWMgc3ViZm9ybShlKXtyZXR1cm4gbmV3IFN1YmZvcm0oZSl9c3RhdGljIHN1YmZvcm1TZXQoZSl7cmV0dXJuIG5ldyBTdWJmb3JtU2V0KGUpfXN0YXRpYyBzdWJqZWN0RE4oZSl7cmV0dXJuIG5ldyBTdWJqZWN0RE4oZSl9c3RhdGljIHN1YmplY3RETnMoZSl7cmV0dXJuIG5ldyBTdWJqZWN0RE5zKGUpfXN0YXRpYyBzdWJtaXQoZSl7cmV0dXJuIG5ldyBTdWJtaXQoZSl9c3RhdGljIHRlbXBsYXRlKGUpe3JldHVybiBuZXcgVGVtcGxhdGUoZSl9c3RhdGljIHRleHQoZSl7cmV0dXJuIG5ldyBUZXh0KGUpfXN0YXRpYyB0ZXh0RWRpdChlKXtyZXR1cm4gbmV3IFRleHRFZGl0KGUpfXN0YXRpYyB0aW1lKGUpe3JldHVybiBuZXcgVGltZShlKX1zdGF0aWMgdGltZVN0YW1wKGUpe3JldHVybiBuZXcgVGltZVN0YW1wKGUpfXN0YXRpYyB0b29sVGlwKGUpe3JldHVybiBuZXcgVG9vbFRpcChlKX1zdGF0aWMgdHJhdmVyc2FsKGUpe3JldHVybiBuZXcgVHJhdmVyc2FsKGUpfXN0YXRpYyB0cmF2ZXJzZShlKXtyZXR1cm4gbmV3IFRyYXZlcnNlKGUpfXN0YXRpYyB1aShlKXtyZXR1cm4gbmV3IFVpKGUpfXN0YXRpYyB2YWxpZGF0ZShlKXtyZXR1cm4gbmV3IFZhbGlkYXRlKGUpfXN0YXRpYyB2YWx1ZShlKXtyZXR1cm4gbmV3IFZhbHVlKGUpfXN0YXRpYyB2YXJpYWJsZXMoZSl7cmV0dXJuIG5ldyBWYXJpYWJsZXMoZSl9fWNvbnN0IFduPWhuLmRhdGFzZXRzLmlkO2Z1bmN0aW9uIGNyZWF0ZVRleHQoZSl7Y29uc3QgdD1uZXcgVGV4dCh7fSk7dFtzcl09ZTtyZXR1cm4gdH1jbGFzcyBCaW5kZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5yb290PWU7dGhpcy5kYXRhc2V0cz1lLmRhdGFzZXRzO3RoaXMuZGF0YT1lLmRhdGFzZXRzPy5kYXRhfHxuZXcgWG1sT2JqZWN0KGhuLmRhdGFzZXRzLmlkLCJkYXRhIik7dGhpcy5lbXB0eU1lcmdlPTA9PT10aGlzLmRhdGFbcHJdKCkubGVuZ3RoO3RoaXMucm9vdC5mb3JtPXRoaXMuZm9ybT1lLnRlbXBsYXRlW2lyXSgpfV9pc0NvbnN1bWVEYXRhKCl7cmV0dXJuIXRoaXMuZW1wdHlNZXJnZSYmdGhpcy5fbWVyZ2VNb2RlfV9pc01hdGNoVGVtcGxhdGUoKXtyZXR1cm4hdGhpcy5faXNDb25zdW1lRGF0YSgpfWJpbmQoKXt0aGlzLl9iaW5kRWxlbWVudCh0aGlzLmZvcm0sdGhpcy5kYXRhKTtyZXR1cm4gdGhpcy5mb3JtfWdldERhdGEoKXtyZXR1cm4gdGhpcy5kYXRhfV9iaW5kVmFsdWUoZSx0LGkpe2VbcnJdPXQ7aWYoZVtTcl0oKSlpZih0W1VyXSgpKXtjb25zdCBpPXRbdXJdKCk7ZVthbl0oY3JlYXRlVGV4dChpKSl9ZWxzZSBpZihlIGluc3RhbmNlb2YgRmllbGQmJiJtdWx0aVNlbGVjdCI9PT1lLnVpPy5jaG9pY2VMaXN0Py5vcGVuKXtjb25zdCBpPXRbcHJdKCkubWFwKChlPT5lW3NyXS50cmltKCkpKS5qb2luKCJcbiIpO2VbYW5dKGNyZWF0ZVRleHQoaSkpfWVsc2UgdGhpcy5faXNDb25zdW1lRGF0YSgpJiZ3YXJuKCJYRkEgLSBOb2RlcyBoYXZlbid0IHRoZSBzYW1lIHR5cGUuIik7ZWxzZSF0W1VyXSgpfHx0aGlzLl9pc01hdGNoVGVtcGxhdGUoKT90aGlzLl9iaW5kRWxlbWVudChlLHQpOndhcm4oIlhGQSAtIE5vZGVzIGhhdmVuJ3QgdGhlIHNhbWUgdHlwZS4iKX1fZmluZERhdGFCeU5hbWVUb0NvbnN1bWUoZSx0LGksYSl7aWYoIWUpcmV0dXJuIG51bGw7bGV0IHMscjtmb3IobGV0IGE9MDthPDM7YSsrKXtzPWlbZnJdKGUsITEsITApO2Zvcig7Oyl7cj1zLm5leHQoKS52YWx1ZTtpZighcilicmVhaztpZih0PT09cltVcl0oKSlyZXR1cm4gcn1pZihpW1RyXT09PWhuLmRhdGFzZXRzLmlkJiYiZGF0YSI9PT1pW3FyXSlicmVhaztpPWlbRHJdKCl9aWYoIWEpcmV0dXJuIG51bGw7cz10aGlzLmRhdGFbZnJdKGUsITAsITEpO3I9cy5uZXh0KCkudmFsdWU7aWYocilyZXR1cm4gcjtzPXRoaXMuZGF0YVtjcl0oZSwhMCk7cj1zLm5leHQoKS52YWx1ZTtyZXR1cm4gcj8uW1VyXSgpP3I6bnVsbH1fc2V0UHJvcGVydGllcyhlLHQpe2lmKGUuaGFzT3duUHJvcGVydHkoInNldFByb3BlcnR5IikpZm9yKGNvbnN0e3JlZjppLHRhcmdldDphLGNvbm5lY3Rpb246c31vZiBlLnNldFByb3BlcnR5LmNoaWxkcmVuKXtpZihzKWNvbnRpbnVlO2lmKCFpKWNvbnRpbnVlO2NvbnN0IHI9c2VhcmNoTm9kZSh0aGlzLnJvb3QsdCxpLCExLCExKTtpZighcil7d2FybihgWEZBIC0gSW52YWxpZCByZWZlcmVuY2U6ICR7aX0uYCk7Y29udGludWV9Y29uc3Rbbl09cjtpZighbltNcl0odGhpcy5kYXRhKSl7d2FybigiWEZBIC0gSW52YWxpZCBub2RlOiBtdXN0IGJlIGEgZGF0YSBub2RlLiIpO2NvbnRpbnVlfWNvbnN0IGc9c2VhcmNoTm9kZSh0aGlzLnJvb3QsZSxhLCExLCExKTtpZighZyl7d2FybihgWEZBIC0gSW52YWxpZCB0YXJnZXQ6ICR7YX0uYCk7Y29udGludWV9Y29uc3Rbb109ZztpZighb1tNcl0oZSkpe3dhcm4oIlhGQSAtIEludmFsaWQgdGFyZ2V0OiBtdXN0IGJlIGEgcHJvcGVydHkgb3Igc3VicHJvcGVydHkuIik7Y29udGludWV9Y29uc3QgYz1vW0RyXSgpO2lmKG8gaW5zdGFuY2VvZiBTZXRQcm9wZXJ0eXx8YyBpbnN0YW5jZW9mIFNldFByb3BlcnR5KXt3YXJuKCJYRkEgLSBJbnZhbGlkIHRhcmdldDogY2Fubm90IGJlIGEgc2V0UHJvcGVydHkgb3Igb25lIG9mIGl0cyBwcm9wZXJ0aWVzLiIpO2NvbnRpbnVlfWlmKG8gaW5zdGFuY2VvZiBCaW5kSXRlbXN8fGMgaW5zdGFuY2VvZiBCaW5kSXRlbXMpe3dhcm4oIlhGQSAtIEludmFsaWQgdGFyZ2V0OiBjYW5ub3QgYmUgYSBiaW5kSXRlbXMgb3Igb25lIG9mIGl0cyBwcm9wZXJ0aWVzLiIpO2NvbnRpbnVlfWNvbnN0IEM9bltybl0oKSxoPW9bcXJdO2lmKG8gaW5zdGFuY2VvZiBYRkFBdHRyaWJ1dGUpe2NvbnN0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtlW2hdPUM7Y29uc3QgdD1SZWZsZWN0LmNvbnN0cnVjdChPYmplY3QuZ2V0UHJvdG90eXBlT2YoYykuY29uc3RydWN0b3IsW2VdKTtjW2hdPXRbaF19ZWxzZSBpZihvLmhhc093blByb3BlcnR5KHNyKSl7b1tycl09bjtvW3NyXT1DO29bb3JdKCl9ZWxzZSB3YXJuKCJYRkEgLSBJbnZhbGlkIG5vZGUgdG8gdXNlIGluIHNldFByb3BlcnR5Iil9fV9iaW5kSXRlbXMoZSx0KXtpZighZS5oYXNPd25Qcm9wZXJ0eSgiaXRlbXMiKXx8IWUuaGFzT3duUHJvcGVydHkoImJpbmRJdGVtcyIpfHxlLmJpbmRJdGVtcy5pc0VtcHR5KCkpcmV0dXJuO2Zvcihjb25zdCB0IG9mIGUuaXRlbXMuY2hpbGRyZW4pZVt6cl0odCk7ZS5pdGVtcy5jbGVhcigpO2NvbnN0IGk9bmV3IEl0ZW1zKHt9KSxhPW5ldyBJdGVtcyh7fSk7ZVtfc10oaSk7ZS5pdGVtcy5wdXNoKGkpO2VbX3NdKGEpO2UuaXRlbXMucHVzaChhKTtmb3IoY29uc3R7cmVmOnMsbGFiZWxSZWY6cix2YWx1ZVJlZjpuLGNvbm5lY3Rpb246Z31vZiBlLmJpbmRJdGVtcy5jaGlsZHJlbil7aWYoZyljb250aW51ZTtpZighcyljb250aW51ZTtjb25zdCBlPXNlYXJjaE5vZGUodGhpcy5yb290LHQscywhMSwhMSk7aWYoZSlmb3IoY29uc3QgdCBvZiBlKXtpZighdFtNcl0odGhpcy5kYXRhc2V0cykpe3dhcm4oYFhGQSAtIEludmFsaWQgcmVmICgke3N9KTogbXVzdCBiZSBhIGRhdGFzZXRzIGNoaWxkLmApO2NvbnRpbnVlfWNvbnN0IGU9c2VhcmNoTm9kZSh0aGlzLnJvb3QsdCxyLCEwLCExKTtpZighZSl7d2FybihgWEZBIC0gSW52YWxpZCBsYWJlbDogJHtyfS5gKTtjb250aW51ZX1jb25zdFtnXT1lO2lmKCFnW01yXSh0aGlzLmRhdGFzZXRzKSl7d2FybigiWEZBIC0gSW52YWxpZCBsYWJlbDogbXVzdCBiZSBhIGRhdGFzZXRzIGNoaWxkLiIpO2NvbnRpbnVlfWNvbnN0IG89c2VhcmNoTm9kZSh0aGlzLnJvb3QsdCxuLCEwLCExKTtpZighbyl7d2FybihgWEZBIC0gSW52YWxpZCB2YWx1ZTogJHtufS5gKTtjb250aW51ZX1jb25zdFtjXT1vO2lmKCFjW01yXSh0aGlzLmRhdGFzZXRzKSl7d2FybigiWEZBIC0gSW52YWxpZCB2YWx1ZTogbXVzdCBiZSBhIGRhdGFzZXRzIGNoaWxkLiIpO2NvbnRpbnVlfWNvbnN0IEM9Y3JlYXRlVGV4dChnW3JuXSgpKSxoPWNyZWF0ZVRleHQoY1tybl0oKSk7aVtfc10oQyk7aS50ZXh0LnB1c2goQyk7YVtfc10oaCk7YS50ZXh0LnB1c2goaCl9ZWxzZSB3YXJuKGBYRkEgLSBJbnZhbGlkIHJlZmVyZW5jZTogJHtzfS5gKX19X2JpbmRPY2N1cnJlbmNlcyhlLHQsaSl7bGV0IGE7aWYodC5sZW5ndGg+MSl7YT1lW2lyXSgpO2FbenJdKGEub2NjdXIpO2Eub2NjdXI9bnVsbH10aGlzLl9iaW5kVmFsdWUoZSx0WzBdLGkpO3RoaXMuX3NldFByb3BlcnRpZXMoZSx0WzBdKTt0aGlzLl9iaW5kSXRlbXMoZSx0WzBdKTtpZigxPT09dC5sZW5ndGgpcmV0dXJuO2NvbnN0IHM9ZVtEcl0oKSxyPWVbcXJdLG49c1tScl0oZSk7Zm9yKGxldCBlPTEsZz10Lmxlbmd0aDtlPGc7ZSsrKXtjb25zdCBnPXRbZV0sbz1hW2lyXSgpO3Nbcl0ucHVzaChvKTtzW05yXShuK2Usbyk7dGhpcy5fYmluZFZhbHVlKG8sZyxpKTt0aGlzLl9zZXRQcm9wZXJ0aWVzKG8sZyk7dGhpcy5fYmluZEl0ZW1zKG8sZyl9fV9jcmVhdGVPY2N1cnJlbmNlcyhlKXtpZighdGhpcy5lbXB0eU1lcmdlKXJldHVybjtjb25zdHtvY2N1cjp0fT1lO2lmKCF0fHx0LmluaXRpYWw8PTEpcmV0dXJuO2NvbnN0IGk9ZVtEcl0oKSxhPWVbcXJdO2lmKCEoaVthXWluc3RhbmNlb2YgWEZBT2JqZWN0QXJyYXkpKXJldHVybjtsZXQgcztzPWUubmFtZT9pW2FdLmNoaWxkcmVuLmZpbHRlcigodD0+dC5uYW1lPT09ZS5uYW1lKSkubGVuZ3RoOmlbYV0uY2hpbGRyZW4ubGVuZ3RoO2NvbnN0IHI9aVtScl0oZSkrMSxuPXQuaW5pdGlhbC1zO2lmKG4pe2NvbnN0IHQ9ZVtpcl0oKTt0W3pyXSh0Lm9jY3VyKTt0Lm9jY3VyPW51bGw7aVthXS5wdXNoKHQpO2lbTnJdKHIsdCk7Zm9yKGxldCBlPTE7ZTxuO2UrKyl7Y29uc3Qgcz10W2lyXSgpO2lbYV0ucHVzaChzKTtpW05yXShyK2Uscyl9fX1fZ2V0T2NjdXJJbmZvKGUpe2NvbnN0e25hbWU6dCxvY2N1cjppfT1lO2lmKCFpfHwhdClyZXR1cm5bMSwxXTtjb25zdCBhPS0xPT09aS5tYXg/MS8wOmkubWF4O3JldHVybltpLm1pbixhXX1fc2V0QW5kQmluZChlLHQpe3RoaXMuX3NldFByb3BlcnRpZXMoZSx0KTt0aGlzLl9iaW5kSXRlbXMoZSx0KTt0aGlzLl9iaW5kRWxlbWVudChlLHQpfV9iaW5kRWxlbWVudChlLHQpe2NvbnN0IGk9W107dGhpcy5fY3JlYXRlT2NjdXJyZW5jZXMoZSk7Zm9yKGNvbnN0IGEgb2YgZVtwcl0oKSl7aWYoYVtycl0pY29udGludWU7aWYodm9pZCAwPT09dGhpcy5fbWVyZ2VNb2RlJiYic3ViZm9ybSI9PT1hW3FyXSl7dGhpcy5fbWVyZ2VNb2RlPSJjb25zdW1lRGF0YSI9PT1hLm1lcmdlTW9kZTtjb25zdCBlPXRbcHJdKCk7aWYoZS5sZW5ndGg+MCl0aGlzLl9iaW5kT2NjdXJyZW5jZXMoYSxbZVswXV0sbnVsbCk7ZWxzZSBpZih0aGlzLmVtcHR5TWVyZ2Upe2NvbnN0IGU9dFtUcl09PT1Xbj8tMTp0W1RyXSxpPWFbcnJdPW5ldyBYbWxPYmplY3QoZSxhLm5hbWV8fCJyb290Iik7dFtfc10oaSk7dGhpcy5fYmluZEVsZW1lbnQoYSxpKX1jb250aW51ZX1pZighYVt4cl0oKSljb250aW51ZTtsZXQgZT0hMSxzPW51bGwscj1udWxsLG49bnVsbDtpZihhLmJpbmQpe3N3aXRjaChhLmJpbmQubWF0Y2gpe2Nhc2Uibm9uZSI6dGhpcy5fc2V0QW5kQmluZChhLHQpO2NvbnRpbnVlO2Nhc2UiZ2xvYmFsIjplPSEwO2JyZWFrO2Nhc2UiZGF0YVJlZiI6aWYoIWEuYmluZC5yZWYpe3dhcm4oYFhGQSAtIHJlZiBpcyBlbXB0eSBpbiBub2RlICR7YVtxcl19LmApO3RoaXMuX3NldEFuZEJpbmQoYSx0KTtjb250aW51ZX1yPWEuYmluZC5yZWZ9YS5iaW5kLnBpY3R1cmUmJihzPWEuYmluZC5waWN0dXJlW3NyXSl9Y29uc3RbZyxvXT10aGlzLl9nZXRPY2N1ckluZm8oYSk7aWYocil7bj1zZWFyY2hOb2RlKHRoaXMucm9vdCx0LHIsITAsITEpO2lmKG51bGw9PT1uKXtuPWNyZWF0ZURhdGFOb2RlKHRoaXMuZGF0YSx0LHIpO2lmKCFuKWNvbnRpbnVlO3RoaXMuX2lzQ29uc3VtZURhdGEoKSYmKG5bYXJdPSEwKTt0aGlzLl9zZXRBbmRCaW5kKGEsbik7Y29udGludWV9dGhpcy5faXNDb25zdW1lRGF0YSgpJiYobj1uLmZpbHRlcigoZT0+IWVbYXJdKSkpO24ubGVuZ3RoPm8/bj1uLnNsaWNlKDAsbyk6MD09PW4ubGVuZ3RoJiYobj1udWxsKTtuJiZ0aGlzLl9pc0NvbnN1bWVEYXRhKCkmJm4uZm9yRWFjaCgoZT0+e2VbYXJdPSEwfSkpfWVsc2V7aWYoIWEubmFtZSl7dGhpcy5fc2V0QW5kQmluZChhLHQpO2NvbnRpbnVlfWlmKHRoaXMuX2lzQ29uc3VtZURhdGEoKSl7Y29uc3QgaT1bXTtmb3IoO2kubGVuZ3RoPG87KXtjb25zdCBzPXRoaXMuX2ZpbmREYXRhQnlOYW1lVG9Db25zdW1lKGEubmFtZSxhW1NyXSgpLHQsZSk7aWYoIXMpYnJlYWs7c1thcl09ITA7aS5wdXNoKHMpfW49aS5sZW5ndGg+MD9pOm51bGx9ZWxzZXtuPXRbZnJdKGEubmFtZSwhMSx0aGlzLmVtcHR5TWVyZ2UpLm5leHQoKS52YWx1ZTtpZighbil7aWYoMD09PWcpe2kucHVzaChhKTtjb250aW51ZX1jb25zdCBlPXRbVHJdPT09V24/LTE6dFtUcl07bj1hW3JyXT1uZXcgWG1sT2JqZWN0KGUsYS5uYW1lKTt0aGlzLmVtcHR5TWVyZ2UmJihuW2FyXT0hMCk7dFtfc10obik7dGhpcy5fc2V0QW5kQmluZChhLG4pO2NvbnRpbnVlfXRoaXMuZW1wdHlNZXJnZSYmKG5bYXJdPSEwKTtuPVtuXX19bj90aGlzLl9iaW5kT2NjdXJyZW5jZXMoYSxuLHMpOmc+MD90aGlzLl9zZXRBbmRCaW5kKGEsdCk6aS5wdXNoKGEpfWkuZm9yRWFjaCgoZT0+ZVtEcl0oKVt6cl0oZSkpKX19Y2xhc3MgRGF0YUhhbmRsZXJ7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmRhdGE9dDt0aGlzLmRhdGFzZXQ9ZS5kYXRhc2V0c3x8bnVsbH1zZXJpYWxpemUoZSl7Y29uc3QgdD1bWy0xLHRoaXMuZGF0YVtwcl0oKV1dO2Zvcig7dC5sZW5ndGg+MDspe2NvbnN0IGk9dC5hdCgtMSksW2Esc109aTtpZihhKzE9PT1zLmxlbmd0aCl7dC5wb3AoKTtjb250aW51ZX1jb25zdCByPXNbKytpWzBdXSxuPWUuZ2V0KHJbY25dKTtpZihuKXJbYW5dKG4pO2Vsc2V7Y29uc3QgdD1yW0NyXSgpO2Zvcihjb25zdCBpIG9mIHQudmFsdWVzKCkpe2NvbnN0IHQ9ZS5nZXQoaVtjbl0pO2lmKHQpe2lbYW5dKHQpO2JyZWFrfX19Y29uc3QgZz1yW3ByXSgpO2cubGVuZ3RoPjAmJnQucHVzaChbLTEsZ10pfWNvbnN0IGk9Wyc8eGZhOmRhdGFzZXRzIHhtbG5zOnhmYT0iaHR0cDovL3d3dy54ZmEub3JnL3NjaGVtYS94ZmEtZGF0YS8xLjAvIj4nXTtpZih0aGlzLmRhdGFzZXQpZm9yKGNvbnN0IGUgb2YgdGhpcy5kYXRhc2V0W3ByXSgpKSJkYXRhIiE9PWVbcXJdJiZlW29uXShpKTt0aGlzLmRhdGFbb25dKGkpO2kucHVzaCgiPC94ZmE6ZGF0YXNldHM+Iik7cmV0dXJuIGkuam9pbigiIil9fWNvbnN0IGpuPWhuLmNvbmZpZy5pZDtjbGFzcyBBY3JvYmF0IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJhY3JvYmF0IiwhMCk7dGhpcy5hY3JvYmF0Nz1udWxsO3RoaXMuYXV0b1NhdmU9bnVsbDt0aGlzLmNvbW1vbj1udWxsO3RoaXMudmFsaWRhdGU9bnVsbDt0aGlzLnZhbGlkYXRlQXBwcm92YWxTaWduYXR1cmVzPW51bGw7dGhpcy5zdWJtaXRVcmw9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBBY3JvYmF0NyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiYWNyb2JhdDciLCEwKTt0aGlzLmR5bmFtaWNSZW5kZXI9bnVsbH19Y2xhc3MgQURCRV9KU0NvbnNvbGUgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIkFEQkVfSlNDb25zb2xlIixbImRlbGVnYXRlIiwiRW5hYmxlIiwiRGlzYWJsZSJdKX19Y2xhc3MgQURCRV9KU0RlYnVnZ2VyIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJBREJFX0pTRGVidWdnZXIiLFsiZGVsZWdhdGUiLCJFbmFibGUiLCJEaXNhYmxlIl0pfX1jbGFzcyBBZGRTaWxlbnRQcmludCBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJhZGRTaWxlbnRQcmludCIpfX1jbGFzcyBBZGRWaWV3ZXJQcmVmZXJlbmNlcyBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJhZGRWaWV3ZXJQcmVmZXJlbmNlcyIpfX1jbGFzcyBBZGp1c3REYXRhIGV4dGVuZHMgT3B0aW9uMTB7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImFkanVzdERhdGEiKX19Y2xhc3MgQWRvYmVFeHRlbnNpb25MZXZlbCBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImFkb2JlRXh0ZW5zaW9uTGV2ZWwiLDAsKGU9PmU+PTEmJmU8PTgpKX19Y2xhc3MgQWdlbnQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImFnZW50IiwhMCk7dGhpcy5uYW1lPWUubmFtZT9lLm5hbWUudHJpbSgpOiIiO3RoaXMuY29tbW9uPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgQWx3YXlzRW1iZWQgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJhbHdheXNFbWJlZCIpfX1jbGFzcyBBbWQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImFtZCIpfX1jbGFzcyBjb25maWdfQXJlYSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiYXJlYSIpO3RoaXMubGV2ZWw9Z2V0SW50ZWdlcih7ZGF0YTplLmxldmVsLGRlZmF1bHRWYWx1ZTowLHZhbGlkYXRlOmU9PmU+PTEmJmU8PTN9KTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbIiIsImJhcmNvZGUiLCJjb3JlaW5pdCIsImRldmljZURyaXZlciIsImZvbnQiLCJnZW5lcmFsIiwibGF5b3V0IiwibWVyZ2UiLCJzY3JpcHQiLCJzaWduYXR1cmUiLCJzb3VyY2VTZXQiLCJ0ZW1wbGF0ZUNhY2hlIl0pfX1jbGFzcyBBdHRyaWJ1dGVzIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJhdHRyaWJ1dGVzIixbInByZXNlcnZlIiwiZGVsZWdhdGUiLCJpZ25vcmUiXSl9fWNsYXNzIEF1dG9TYXZlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJhdXRvU2F2ZSIsWyJkaXNhYmxlZCIsImVuYWJsZWQiXSl9fWNsYXNzIEJhc2UgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImJhc2UiKX19Y2xhc3MgQmF0Y2hPdXRwdXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImJhdGNoT3V0cHV0Iik7dGhpcy5mb3JtYXQ9Z2V0U3RyaW5nT3B0aW9uKGUuZm9ybWF0LFsibm9uZSIsImNvbmNhdCIsInppcCIsInppcENvbXByZXNzIl0pfX1jbGFzcyBCZWhhdmlvck92ZXJyaWRlIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiYmVoYXZpb3JPdmVycmlkZSIpfVtvcl0oKXt0aGlzW3NyXT1uZXcgTWFwKHRoaXNbc3JdLnRyaW0oKS5zcGxpdCgvXHMrLykuZmlsdGVyKChlPT5lLmluY2x1ZGVzKCI6IikpKS5tYXAoKGU9PmUuc3BsaXQoIjoiLDIpKSkpfX1jbGFzcyBDYWNoZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiY2FjaGUiLCEwKTt0aGlzLnRlbXBsYXRlQ2FjaGU9bnVsbH19Y2xhc3MgQ2hhbmdlIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImNoYW5nZSIpfX1jbGFzcyBDb21tb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImNvbW1vbiIsITApO3RoaXMuZGF0YT1udWxsO3RoaXMubG9jYWxlPW51bGw7dGhpcy5sb2NhbGVTZXQ9bnVsbDt0aGlzLm1lc3NhZ2luZz1udWxsO3RoaXMuc3VwcHJlc3NCYW5uZXI9bnVsbDt0aGlzLnRlbXBsYXRlPW51bGw7dGhpcy52YWxpZGF0aW9uTWVzc2FnaW5nPW51bGw7dGhpcy52ZXJzaW9uQ29udHJvbD1udWxsO3RoaXMubG9nPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgQ29tcHJlc3MgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImNvbXByZXNzIik7dGhpcy5zY29wZT1nZXRTdHJpbmdPcHRpb24oZS5zY29wZSxbImltYWdlT25seSIsImRvY3VtZW50Il0pfX1jbGFzcyBDb21wcmVzc0xvZ2ljYWxTdHJ1Y3R1cmUgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiY29tcHJlc3NMb2dpY2FsU3RydWN0dXJlIil9fWNsYXNzIENvbXByZXNzT2JqZWN0U3RyZWFtIGV4dGVuZHMgT3B0aW9uMTB7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImNvbXByZXNzT2JqZWN0U3RyZWFtIil9fWNsYXNzIENvbXByZXNzaW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJjb21wcmVzc2lvbiIsITApO3RoaXMuY29tcHJlc3NMb2dpY2FsU3RydWN0dXJlPW51bGw7dGhpcy5jb21wcmVzc09iamVjdFN0cmVhbT1udWxsO3RoaXMubGV2ZWw9bnVsbDt0aGlzLnR5cGU9bnVsbH19Y2xhc3MgQ29uZmlnIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJjb25maWciLCEwKTt0aGlzLmFjcm9iYXQ9bnVsbDt0aGlzLnByZXNlbnQ9bnVsbDt0aGlzLnRyYWNlPW51bGw7dGhpcy5hZ2VudD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIENvbmZvcm1hbmNlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJjb25mb3JtYW5jZSIsWyJBIiwiQiJdKX19Y2xhc3MgQ29udGVudENvcHkgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiY29udGVudENvcHkiKX19Y2xhc3MgQ29waWVzIGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiY29waWVzIiwxLChlPT5lPj0xKSl9fWNsYXNzIENyZWF0b3IgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImNyZWF0b3IiKX19Y2xhc3MgQ3VycmVudFBhZ2UgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJjdXJyZW50UGFnZSIsMCwoZT0+ZT49MCkpfX1jbGFzcyBEYXRhIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJkYXRhIiwhMCk7dGhpcy5hZGp1c3REYXRhPW51bGw7dGhpcy5hdHRyaWJ1dGVzPW51bGw7dGhpcy5pbmNyZW1lbnRhbExvYWQ9bnVsbDt0aGlzLm91dHB1dFhTTD1udWxsO3RoaXMucmFuZ2U9bnVsbDt0aGlzLnJlY29yZD1udWxsO3RoaXMuc3RhcnROb2RlPW51bGw7dGhpcy51cmk9bnVsbDt0aGlzLndpbmRvdz1udWxsO3RoaXMueHNsPW51bGw7dGhpcy5leGNsdWRlTlM9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudHJhbnNmb3JtPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRGVidWcgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImRlYnVnIiwhMCk7dGhpcy51cmk9bnVsbH19Y2xhc3MgRGVmYXVsdFR5cGVmYWNlIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZGVmYXVsdFR5cGVmYWNlIik7dGhpcy53cml0aW5nU2NyaXB0PWdldFN0cmluZ09wdGlvbihlLndyaXRpbmdTY3JpcHQsWyIqIiwiQXJhYmljIiwiQ3lyaWxsaWMiLCJFYXN0RXVyb3BlYW5Sb21hbiIsIkdyZWVrIiwiSGVicmV3IiwiSmFwYW5lc2UiLCJLb3JlYW4iLCJSb21hbiIsIlNpbXBsaWZpZWRDaGluZXNlIiwiVGhhaSIsIlRyYWRpdGlvbmFsQ2hpbmVzZSIsIlZpZXRuYW1lc2UiXSl9fWNsYXNzIERlc3RpbmF0aW9uIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJkZXN0aW5hdGlvbiIsWyJwZGYiLCJwY2wiLCJwcyIsIndlYkNsaWVudCIsInpwbCJdKX19Y2xhc3MgRG9jdW1lbnRBc3NlbWJseSBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJkb2N1bWVudEFzc2VtYmx5Iil9fWNsYXNzIERyaXZlciBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZHJpdmVyIiwhMCk7dGhpcy5uYW1lPWUubmFtZT9lLm5hbWUudHJpbSgpOiIiO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBEdXBsZXhPcHRpb24gZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImR1cGxleE9wdGlvbiIsWyJzaW1wbGV4IiwiZHVwbGV4RmxpcExvbmdFZGdlIiwiZHVwbGV4RmxpcFNob3J0RWRnZSJdKX19Y2xhc3MgRHluYW1pY1JlbmRlciBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZHluYW1pY1JlbmRlciIsWyJmb3JiaWRkZW4iLCJyZXF1aXJlZCJdKX19Y2xhc3MgRW1iZWQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZW1iZWQiKX19Y2xhc3MgY29uZmlnX0VuY3J5cHQgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZW5jcnlwdCIpfX1jbGFzcyBjb25maWdfRW5jcnlwdGlvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZW5jcnlwdGlvbiIsITApO3RoaXMuZW5jcnlwdD1udWxsO3RoaXMuZW5jcnlwdGlvbkxldmVsPW51bGw7dGhpcy5wZXJtaXNzaW9ucz1udWxsfX1jbGFzcyBFbmNyeXB0aW9uTGV2ZWwgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImVuY3J5cHRpb25MZXZlbCIsWyI0MGJpdCIsIjEyOGJpdCJdKX19Y2xhc3MgRW5mb3JjZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiZW5mb3JjZSIpfX1jbGFzcyBFcXVhdGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImVxdWF0ZSIpO3RoaXMuZm9yY2U9Z2V0SW50ZWdlcih7ZGF0YTplLmZvcmNlLGRlZmF1bHRWYWx1ZToxLHZhbGlkYXRlOmU9PjA9PT1lfSk7dGhpcy5mcm9tPWUuZnJvbXx8IiI7dGhpcy50bz1lLnRvfHwiIn19Y2xhc3MgRXF1YXRlUmFuZ2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImVxdWF0ZVJhbmdlIik7dGhpcy5mcm9tPWUuZnJvbXx8IiI7dGhpcy50bz1lLnRvfHwiIjt0aGlzLl91bmljb2RlUmFuZ2U9ZS51bmljb2RlUmFuZ2V8fCIifWdldCB1bmljb2RlUmFuZ2UoKXtjb25zdCBlPVtdLHQ9L1VcKyhbMC05YS1mQS1GXSspLyxpPXRoaXMuX3VuaWNvZGVSYW5nZTtmb3IobGV0IGEgb2YgaS5zcGxpdCgiLCIpLm1hcCgoZT0+ZS50cmltKCkpKS5maWx0ZXIoKGU9PiEhZSkpKXthPWEuc3BsaXQoIi0iLDIpLm1hcCgoZT0+e2NvbnN0IGk9ZS5tYXRjaCh0KTtyZXR1cm4gaT9wYXJzZUludChpWzFdLDE2KTowfSkpOzE9PT1hLmxlbmd0aCYmYS5wdXNoKGFbMF0pO2UucHVzaChhKX1yZXR1cm4gc2hhZG93KHRoaXMsInVuaWNvZGVSYW5nZSIsZSl9fWNsYXNzIEV4Y2x1ZGUgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJleGNsdWRlIil9W29yXSgpe3RoaXNbc3JdPXRoaXNbc3JdLnRyaW0oKS5zcGxpdCgvXHMrLykuZmlsdGVyKChlPT5lJiZbImNhbGN1bGF0ZSIsImNsb3NlIiwiZW50ZXIiLCJleGl0IiwiaW5pdGlhbGl6ZSIsInJlYWR5IiwidmFsaWRhdGUiXS5pbmNsdWRlcyhlKSkpfX1jbGFzcyBFeGNsdWRlTlMgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImV4Y2x1ZGVOUyIpfX1jbGFzcyBGbGlwTGFiZWwgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImZsaXBMYWJlbCIsWyJ1c2VQcmludGVyU2V0dGluZyIsIm9uIiwib2ZmIl0pfX1jbGFzcyBjb25maWdfRm9udEluZm8gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImZvbnRJbmZvIiwhMCk7dGhpcy5lbWJlZD1udWxsO3RoaXMubWFwPW51bGw7dGhpcy5zdWJzZXRCZWxvdz1udWxsO3RoaXMuYWx3YXlzRW1iZWQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMuZGVmYXVsdFR5cGVmYWNlPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLm5ldmVyRW1iZWQ9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBGb3JtRmllbGRGaWxsaW5nIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImZvcm1GaWVsZEZpbGxpbmciKX19Y2xhc3MgR3JvdXBQYXJlbnQgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImdyb3VwUGFyZW50Iil9fWNsYXNzIElmRW1wdHkgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImlmRW1wdHkiLFsiZGF0YVZhbHVlIiwiZGF0YUdyb3VwIiwiaWdub3JlIiwicmVtb3ZlIl0pfX1jbGFzcyBJbmNsdWRlWERQQ29udGVudCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiaW5jbHVkZVhEUENvbnRlbnQiKX19Y2xhc3MgSW5jcmVtZW50YWxMb2FkIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJpbmNyZW1lbnRhbExvYWQiLFsibm9uZSIsImZvcndhcmRPbmx5Il0pfX1jbGFzcyBJbmNyZW1lbnRhbE1lcmdlIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImluY3JlbWVudGFsTWVyZ2UiKX19Y2xhc3MgSW50ZXJhY3RpdmUgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwiaW50ZXJhY3RpdmUiKX19Y2xhc3MgSm9nIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJqb2ciLFsidXNlUHJpbnRlclNldHRpbmciLCJub25lIiwicGFnZVNldCJdKX19Y2xhc3MgTGFiZWxQcmludGVyIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJsYWJlbFByaW50ZXIiLCEwKTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbInpwbCIsImRwbCIsImlwbCIsInRjcGwiXSk7dGhpcy5iYXRjaE91dHB1dD1udWxsO3RoaXMuZmxpcExhYmVsPW51bGw7dGhpcy5mb250SW5mbz1udWxsO3RoaXMueGRjPW51bGx9fWNsYXNzIExheW91dCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwibGF5b3V0IixbInBhZ2luYXRlIiwicGFuZWwiXSl9fWNsYXNzIExldmVsIGV4dGVuZHMgSW50ZWdlck9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwibGV2ZWwiLDAsKGU9PmU+MCkpfX1jbGFzcyBMaW5lYXJpemVkIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sImxpbmVhcml6ZWQiKX19Y2xhc3MgTG9jYWxlIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJsb2NhbGUiKX19Y2xhc3MgTG9jYWxlU2V0IGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJsb2NhbGVTZXQiKX19Y2xhc3MgTG9nIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJsb2ciLCEwKTt0aGlzLm1vZGU9bnVsbDt0aGlzLnRocmVzaG9sZD1udWxsO3RoaXMudG89bnVsbDt0aGlzLnVyaT1udWxsfX1jbGFzcyBNYXBFbGVtZW50IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJtYXAiLCEwKTt0aGlzLmVxdWF0ZT1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5lcXVhdGVSYW5nZT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIE1lZGl1bUluZm8gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIm1lZGl1bUluZm8iLCEwKTt0aGlzLm1hcD1udWxsfX1jbGFzcyBjb25maWdfTWVzc2FnZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwibWVzc2FnZSIsITApO3RoaXMubXNnSWQ9bnVsbDt0aGlzLnNldmVyaXR5PW51bGx9fWNsYXNzIE1lc3NhZ2luZyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwibWVzc2FnaW5nIiwhMCk7dGhpcy5tZXNzYWdlPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgTW9kZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwibW9kZSIsWyJhcHBlbmQiLCJvdmVyd3JpdGUiXSl9fWNsYXNzIE1vZGlmeUFubm90cyBleHRlbmRzIE9wdGlvbjAxe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJtb2RpZnlBbm5vdHMiKX19Y2xhc3MgTXNnSWQgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJtc2dJZCIsMSwoZT0+ZT49MSkpfX1jbGFzcyBOYW1lQXR0ciBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwibmFtZUF0dHIiKX19Y2xhc3MgTmV2ZXJFbWJlZCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIm5ldmVyRW1iZWQiKX19Y2xhc3MgTnVtYmVyT2ZDb3BpZXMgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJudW1iZXJPZkNvcGllcyIsbnVsbCwoZT0+ZT49MiYmZTw9NSkpfX1jbGFzcyBPcGVuQWN0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJvcGVuQWN0aW9uIiwhMCk7dGhpcy5kZXN0aW5hdGlvbj1udWxsfX1jbGFzcyBPdXRwdXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIm91dHB1dCIsITApO3RoaXMudG89bnVsbDt0aGlzLnR5cGU9bnVsbDt0aGlzLnVyaT1udWxsfX1jbGFzcyBPdXRwdXRCaW4gZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIm91dHB1dEJpbiIpfX1jbGFzcyBPdXRwdXRYU0wgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIm91dHB1dFhTTCIsITApO3RoaXMudXJpPW51bGx9fWNsYXNzIE92ZXJwcmludCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwib3ZlcnByaW50IixbIm5vbmUiLCJib3RoIiwiZHJhdyIsImZpZWxkIl0pfX1jbGFzcyBQYWNrZXRzIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJwYWNrZXRzIil9W29yXSgpeyIqIiE9PXRoaXNbc3JdJiYodGhpc1tzcl09dGhpc1tzcl0udHJpbSgpLnNwbGl0KC9ccysvKS5maWx0ZXIoKGU9PlsiY29uZmlnIiwiZGF0YXNldHMiLCJ0ZW1wbGF0ZSIsInhmZGYiLCJ4c2x0Il0uaW5jbHVkZXMoZSkpKSl9fWNsYXNzIFBhZ2VPZmZzZXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInBhZ2VPZmZzZXQiKTt0aGlzLng9Z2V0SW50ZWdlcih7ZGF0YTplLngsZGVmYXVsdFZhbHVlOiJ1c2VYRENTZXR0aW5nIix2YWxpZGF0ZTplPT4hMH0pO3RoaXMueT1nZXRJbnRlZ2VyKHtkYXRhOmUueSxkZWZhdWx0VmFsdWU6InVzZVhEQ1NldHRpbmciLHZhbGlkYXRlOmU9PiEwfSl9fWNsYXNzIFBhZ2VSYW5nZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGFnZVJhbmdlIil9W29yXSgpe2NvbnN0IGU9dGhpc1tzcl0udHJpbSgpLnNwbGl0KC9ccysvKS5tYXAoKGU9PnBhcnNlSW50KGUsMTApKSksdD1bXTtmb3IobGV0IGk9MCxhPWUubGVuZ3RoO2k8YTtpKz0yKXQucHVzaChlLnNsaWNlKGksaSsyKSk7dGhpc1tzcl09dH19Y2xhc3MgUGFnaW5hdGlvbiBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGFnaW5hdGlvbiIsWyJzaW1wbGV4IiwiZHVwbGV4U2hvcnRFZGdlIiwiZHVwbGV4TG9uZ0VkZ2UiXSl9fWNsYXNzIFBhZ2luYXRpb25PdmVycmlkZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGFnaW5hdGlvbk92ZXJyaWRlIixbIm5vbmUiLCJmb3JjZUR1cGxleCIsImZvcmNlRHVwbGV4TG9uZ0VkZ2UiLCJmb3JjZUR1cGxleFNob3J0RWRnZSIsImZvcmNlU2ltcGxleCJdKX19Y2xhc3MgUGFydCBleHRlbmRzIEludGVnZXJPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInBhcnQiLDEsKGU9PiExKSl9fWNsYXNzIFBjbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGNsIiwhMCk7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy5iYXRjaE91dHB1dD1udWxsO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLmpvZz1udWxsO3RoaXMubWVkaXVtSW5mbz1udWxsO3RoaXMub3V0cHV0QmluPW51bGw7dGhpcy5wYWdlT2Zmc2V0PW51bGw7dGhpcy5zdGFwbGU9bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBQZGYgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInBkZiIsITApO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMuYWRvYmVFeHRlbnNpb25MZXZlbD1udWxsO3RoaXMuYmF0Y2hPdXRwdXQ9bnVsbDt0aGlzLmNvbXByZXNzaW9uPW51bGw7dGhpcy5jcmVhdG9yPW51bGw7dGhpcy5lbmNyeXB0aW9uPW51bGw7dGhpcy5mb250SW5mbz1udWxsO3RoaXMuaW50ZXJhY3RpdmU9bnVsbDt0aGlzLmxpbmVhcml6ZWQ9bnVsbDt0aGlzLm9wZW5BY3Rpb249bnVsbDt0aGlzLnBkZmE9bnVsbDt0aGlzLnByb2R1Y2VyPW51bGw7dGhpcy5yZW5kZXJQb2xpY3k9bnVsbDt0aGlzLnNjcmlwdE1vZGVsPW51bGw7dGhpcy5zaWxlbnRQcmludD1udWxsO3RoaXMuc3VibWl0Rm9ybWF0PW51bGw7dGhpcy50YWdnZWQ9bnVsbDt0aGlzLnZlcnNpb249bnVsbDt0aGlzLnZpZXdlclByZWZlcmVuY2VzPW51bGw7dGhpcy54ZGM9bnVsbH19Y2xhc3MgUGRmYSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGRmYSIsITApO3RoaXMuYW1kPW51bGw7dGhpcy5jb25mb3JtYW5jZT1udWxsO3RoaXMuaW5jbHVkZVhEUENvbnRlbnQ9bnVsbDt0aGlzLnBhcnQ9bnVsbH19Y2xhc3MgUGVybWlzc2lvbnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInBlcm1pc3Npb25zIiwhMCk7dGhpcy5hY2Nlc3NpYmxlQ29udGVudD1udWxsO3RoaXMuY2hhbmdlPW51bGw7dGhpcy5jb250ZW50Q29weT1udWxsO3RoaXMuZG9jdW1lbnRBc3NlbWJseT1udWxsO3RoaXMuZm9ybUZpZWxkRmlsbGluZz1udWxsO3RoaXMubW9kaWZ5QW5ub3RzPW51bGw7dGhpcy5wbGFpbnRleHRNZXRhZGF0YT1udWxsO3RoaXMucHJpbnQ9bnVsbDt0aGlzLnByaW50SGlnaFF1YWxpdHk9bnVsbH19Y2xhc3MgUGlja1RyYXlCeVBERlNpemUgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGlja1RyYXlCeVBERlNpemUiKX19Y2xhc3MgY29uZmlnX1BpY3R1cmUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInBpY3R1cmUiKX19Y2xhc3MgUGxhaW50ZXh0TWV0YWRhdGEgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicGxhaW50ZXh0TWV0YWRhdGEiKX19Y2xhc3MgUHJlc2VuY2UgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInByZXNlbmNlIixbInByZXNlcnZlIiwiZGlzc29sdmUiLCJkaXNzb2x2ZVN0cnVjdHVyZSIsImlnbm9yZSIsInJlbW92ZSJdKX19Y2xhc3MgUHJlc2VudCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicHJlc2VudCIsITApO3RoaXMuYmVoYXZpb3JPdmVycmlkZT1udWxsO3RoaXMuY2FjaGU9bnVsbDt0aGlzLmNvbW1vbj1udWxsO3RoaXMuY29waWVzPW51bGw7dGhpcy5kZXN0aW5hdGlvbj1udWxsO3RoaXMuaW5jcmVtZW50YWxNZXJnZT1udWxsO3RoaXMubGF5b3V0PW51bGw7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLm92ZXJwcmludD1udWxsO3RoaXMucGFnaW5hdGlvbj1udWxsO3RoaXMucGFnaW5hdGlvbk92ZXJyaWRlPW51bGw7dGhpcy5zY3JpcHQ9bnVsbDt0aGlzLnZhbGlkYXRlPW51bGw7dGhpcy54ZHA9bnVsbDt0aGlzLmRyaXZlcj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5sYWJlbFByaW50ZXI9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMucGNsPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnBkZj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5wcz1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy5zdWJtaXRVcmw9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMud2ViQ2xpZW50PW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnpwbD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFByaW50IGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInByaW50Iil9fWNsYXNzIFByaW50SGlnaFF1YWxpdHkgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicHJpbnRIaWdoUXVhbGl0eSIpfX1jbGFzcyBQcmludFNjYWxpbmcgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInByaW50U2NhbGluZyIsWyJhcHBkZWZhdWx0Iiwibm9TY2FsaW5nIl0pfX1jbGFzcyBQcmludGVyTmFtZSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicHJpbnRlck5hbWUiKX19Y2xhc3MgUHJvZHVjZXIgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInByb2R1Y2VyIil9fWNsYXNzIFBzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJwcyIsITApO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMuYmF0Y2hPdXRwdXQ9bnVsbDt0aGlzLmZvbnRJbmZvPW51bGw7dGhpcy5qb2c9bnVsbDt0aGlzLm1lZGl1bUluZm89bnVsbDt0aGlzLm91dHB1dEJpbj1udWxsO3RoaXMuc3RhcGxlPW51bGw7dGhpcy54ZGM9bnVsbH19Y2xhc3MgUmFuZ2UgZXh0ZW5kcyBDb250ZW50T2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJyYW5nZSIpfVtvcl0oKXt0aGlzW3NyXT10aGlzW3NyXS50cmltKCkuc3BsaXQoL1xzKixccyovLDIpLm1hcCgoZT0+ZS5zcGxpdCgiLSIpLm1hcCgoZT0+cGFyc2VJbnQoZS50cmltKCksMTApKSkpKS5maWx0ZXIoKGU9PmUuZXZlcnkoKGU9PiFpc05hTihlKSkpKSkubWFwKChlPT57MT09PWUubGVuZ3RoJiZlLnB1c2goZVswXSk7cmV0dXJuIGV9KSl9fWNsYXNzIFJlY29yZCBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInJlY29yZCIpfVtvcl0oKXt0aGlzW3NyXT10aGlzW3NyXS50cmltKCk7Y29uc3QgZT1wYXJzZUludCh0aGlzW3NyXSwxMCk7IWlzTmFOKGUpJiZlPj0wJiYodGhpc1tzcl09ZSl9fWNsYXNzIFJlbGV2YW50IGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicmVsZXZhbnQiKX1bb3JdKCl7dGhpc1tzcl09dGhpc1tzcl0udHJpbSgpLnNwbGl0KC9ccysvKX19Y2xhc3MgUmVuYW1lIGV4dGVuZHMgQ29udGVudE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicmVuYW1lIil9W29yXSgpe3RoaXNbc3JdPXRoaXNbc3JdLnRyaW0oKTsodGhpc1tzcl0udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCJ4bWwiKXx8bmV3IFJlZ0V4cCgiW1xccHtMfV9dW1xccHtMfVxcZC5fXFxwe019LV0qIiwidSIpLnRlc3QodGhpc1tzcl0pKSYmd2FybigiWEZBIC0gUmVuYW1lOiBpbnZhbGlkIFhGQSBuYW1lIil9fWNsYXNzIFJlbmRlclBvbGljeSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicmVuZGVyUG9saWN5IixbInNlcnZlciIsImNsaWVudCJdKX19Y2xhc3MgUnVuU2NyaXB0cyBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwicnVuU2NyaXB0cyIsWyJib3RoIiwiY2xpZW50Iiwibm9uZSIsInNlcnZlciJdKX19Y2xhc3MgY29uZmlnX1NjcmlwdCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic2NyaXB0IiwhMCk7dGhpcy5jdXJyZW50UGFnZT1udWxsO3RoaXMuZXhjbHVkZT1udWxsO3RoaXMucnVuU2NyaXB0cz1udWxsfX1jbGFzcyBTY3JpcHRNb2RlbCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic2NyaXB0TW9kZWwiLFsiWEZBIiwibm9uZSJdKX19Y2xhc3MgU2V2ZXJpdHkgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInNldmVyaXR5IixbImlnbm9yZSIsImVycm9yIiwiaW5mb3JtYXRpb24iLCJ0cmFjZSIsIndhcm5pbmciXSl9fWNsYXNzIFNpbGVudFByaW50IGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJzaWxlbnRQcmludCIsITApO3RoaXMuYWRkU2lsZW50UHJpbnQ9bnVsbDt0aGlzLnByaW50ZXJOYW1lPW51bGx9fWNsYXNzIFN0YXBsZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic3RhcGxlIik7dGhpcy5tb2RlPWdldFN0cmluZ09wdGlvbihlLm1vZGUsWyJ1c2VQcmludGVyU2V0dGluZyIsIm9uIiwib2ZmIl0pfX1jbGFzcyBTdGFydE5vZGUgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInN0YXJ0Tm9kZSIpfX1jbGFzcyBTdGFydFBhZ2UgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJzdGFydFBhZ2UiLDAsKGU9PiEwKSl9fWNsYXNzIFN1Ym1pdEZvcm1hdCBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic3VibWl0Rm9ybWF0IixbImh0bWwiLCJkZWxlZ2F0ZSIsImZkZiIsInhtbCIsInBkZiJdKX19Y2xhc3MgU3VibWl0VXJsIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJzdWJtaXRVcmwiKX19Y2xhc3MgU3Vic2V0QmVsb3cgZXh0ZW5kcyBJbnRlZ2VyT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJzdWJzZXRCZWxvdyIsMTAwLChlPT5lPj0wJiZlPD0xMDApKX19Y2xhc3MgU3VwcHJlc3NCYW5uZXIgZXh0ZW5kcyBPcHRpb24wMXtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwic3VwcHJlc3NCYW5uZXIiKX19Y2xhc3MgVGFnZ2VkIGV4dGVuZHMgT3B0aW9uMDF7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInRhZ2dlZCIpfX1jbGFzcyBjb25maWdfVGVtcGxhdGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInRlbXBsYXRlIiwhMCk7dGhpcy5iYXNlPW51bGw7dGhpcy5yZWxldmFudD1udWxsO3RoaXMuc3RhcnRQYWdlPW51bGw7dGhpcy51cmk9bnVsbDt0aGlzLnhzbD1udWxsfX1jbGFzcyBUaHJlc2hvbGQgZXh0ZW5kcyBPcHRpb25PYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInRocmVzaG9sZCIsWyJ0cmFjZSIsImVycm9yIiwiaW5mb3JtYXRpb24iLCJ3YXJuaW5nIl0pfX1jbGFzcyBUbyBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwidG8iLFsibnVsbCIsIm1lbW9yeSIsInN0ZGVyciIsInN0ZG91dCIsInN5c3RlbSIsInVyaSJdKX19Y2xhc3MgVGVtcGxhdGVDYWNoZSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwidGVtcGxhdGVDYWNoZSIpO3RoaXMubWF4RW50cmllcz1nZXRJbnRlZ2VyKHtkYXRhOmUubWF4RW50cmllcyxkZWZhdWx0VmFsdWU6NSx2YWxpZGF0ZTplPT5lPj0wfSl9fWNsYXNzIFRyYWNlIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ0cmFjZSIsITApO3RoaXMuYXJlYT1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFRyYW5zZm9ybSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwidHJhbnNmb3JtIiwhMCk7dGhpcy5ncm91cFBhcmVudD1udWxsO3RoaXMuaWZFbXB0eT1udWxsO3RoaXMubmFtZUF0dHI9bnVsbDt0aGlzLnBpY3R1cmU9bnVsbDt0aGlzLnByZXNlbmNlPW51bGw7dGhpcy5yZW5hbWU9bnVsbDt0aGlzLndoaXRlc3BhY2U9bnVsbH19Y2xhc3MgVHlwZSBleHRlbmRzIE9wdGlvbk9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwidHlwZSIsWyJub25lIiwiYXNjaWk4NSIsImFzY2lpSGV4IiwiY2NpdHRmYXgiLCJmbGF0ZSIsImx6dyIsInJ1bkxlbmd0aCIsIm5hdGl2ZSIsInhkcCIsIm1lcmdlZFhEUCJdKX19Y2xhc3MgVXJpIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ1cmkiKX19Y2xhc3MgY29uZmlnX1ZhbGlkYXRlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ2YWxpZGF0ZSIsWyJwcmVTdWJtaXQiLCJwcmVQcmludCIsInByZUV4ZWN1dGUiLCJwcmVTYXZlIl0pfX1jbGFzcyBWYWxpZGF0ZUFwcHJvdmFsU2lnbmF0dXJlcyBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInZhbGlkYXRlQXBwcm92YWxTaWduYXR1cmVzIil9W29yXSgpe3RoaXNbc3JdPXRoaXNbc3JdLnRyaW0oKS5zcGxpdCgvXHMrLykuZmlsdGVyKChlPT5bImRvY1JlYWR5IiwicG9zdFNpZ24iXS5pbmNsdWRlcyhlKSkpfX1jbGFzcyBWYWxpZGF0aW9uTWVzc2FnaW5nIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ2YWxpZGF0aW9uTWVzc2FnaW5nIixbImFsbE1lc3NhZ2VzSW5kaXZpZHVhbGx5IiwiYWxsTWVzc2FnZXNUb2dldGhlciIsImZpcnN0TWVzc2FnZU9ubHkiLCJub01lc3NhZ2VzIl0pfX1jbGFzcyBWZXJzaW9uIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ2ZXJzaW9uIixbIjEuNyIsIjEuNiIsIjEuNSIsIjEuNCIsIjEuMyIsIjEuMiJdKX19Y2xhc3MgVmVyc2lvbkNvbnRyb2wgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIlZlcnNpb25Db250cm9sIik7dGhpcy5vdXRwdXRCZWxvdz1nZXRTdHJpbmdPcHRpb24oZS5vdXRwdXRCZWxvdyxbIndhcm4iLCJlcnJvciIsInVwZGF0ZSJdKTt0aGlzLnNvdXJjZUFib3ZlPWdldFN0cmluZ09wdGlvbihlLnNvdXJjZUFib3ZlLFsid2FybiIsImVycm9yIl0pO3RoaXMuc291cmNlQmVsb3c9Z2V0U3RyaW5nT3B0aW9uKGUuc291cmNlQmVsb3csWyJ1cGRhdGUiLCJtYWludGFpbiJdKX19Y2xhc3MgVmlld2VyUHJlZmVyZW5jZXMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInZpZXdlclByZWZlcmVuY2VzIiwhMCk7dGhpcy5BREJFX0pTQ29uc29sZT1udWxsO3RoaXMuQURCRV9KU0RlYnVnZ2VyPW51bGw7dGhpcy5hZGRWaWV3ZXJQcmVmZXJlbmNlcz1udWxsO3RoaXMuZHVwbGV4T3B0aW9uPW51bGw7dGhpcy5lbmZvcmNlPW51bGw7dGhpcy5udW1iZXJPZkNvcGllcz1udWxsO3RoaXMucGFnZVJhbmdlPW51bGw7dGhpcy5waWNrVHJheUJ5UERGU2l6ZT1udWxsO3RoaXMucHJpbnRTY2FsaW5nPW51bGx9fWNsYXNzIFdlYkNsaWVudCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwid2ViQ2xpZW50IiwhMCk7dGhpcy5uYW1lPWUubmFtZT9lLm5hbWUudHJpbSgpOiIiO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBXaGl0ZXNwYWNlIGV4dGVuZHMgT3B0aW9uT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGpuLCJ3aGl0ZXNwYWNlIixbInByZXNlcnZlIiwibHRyaW0iLCJub3JtYWxpemUiLCJydHJpbSIsInRyaW0iXSl9fWNsYXNzIFdpbmRvdyBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sIndpbmRvdyIpfVtvcl0oKXtjb25zdCBlPXRoaXNbc3JdLnRyaW0oKS5zcGxpdCgvXHMqLFxzKi8sMikubWFwKChlPT5wYXJzZUludChlLDEwKSkpO2lmKGUuc29tZSgoZT0+aXNOYU4oZSkpKSl0aGlzW3NyXT1bMCwwXTtlbHNlezE9PT1lLmxlbmd0aCYmZS5wdXNoKGVbMF0pO3RoaXNbc3JdPWV9fX1jbGFzcyBYZGMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoam4sInhkYyIsITApO3RoaXMudXJpPW5ldyBYRkFPYmplY3RBcnJheTt0aGlzLnhzbD1uZXcgWEZBT2JqZWN0QXJyYXl9fWNsYXNzIFhkcCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwieGRwIiwhMCk7dGhpcy5wYWNrZXRzPW51bGx9fWNsYXNzIFhzbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwieHNsIiwhMCk7dGhpcy5kZWJ1Zz1udWxsO3RoaXMudXJpPW51bGx9fWNsYXNzIFpwbCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihqbiwienBsIiwhMCk7dGhpcy5uYW1lPWUubmFtZT9lLm5hbWUudHJpbSgpOiIiO3RoaXMuYmF0Y2hPdXRwdXQ9bnVsbDt0aGlzLmZsaXBMYWJlbD1udWxsO3RoaXMuZm9udEluZm89bnVsbDt0aGlzLnhkYz1udWxsfX1jbGFzcyBDb25maWdOYW1lc3BhY2V7c3RhdGljW0NuXShlLHQpe2lmKENvbmZpZ05hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gQ29uZmlnTmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBhY3JvYmF0KGUpe3JldHVybiBuZXcgQWNyb2JhdChlKX1zdGF0aWMgYWNyb2JhdDcoZSl7cmV0dXJuIG5ldyBBY3JvYmF0NyhlKX1zdGF0aWMgQURCRV9KU0NvbnNvbGUoZSl7cmV0dXJuIG5ldyBBREJFX0pTQ29uc29sZShlKX1zdGF0aWMgQURCRV9KU0RlYnVnZ2VyKGUpe3JldHVybiBuZXcgQURCRV9KU0RlYnVnZ2VyKGUpfXN0YXRpYyBhZGRTaWxlbnRQcmludChlKXtyZXR1cm4gbmV3IEFkZFNpbGVudFByaW50KGUpfXN0YXRpYyBhZGRWaWV3ZXJQcmVmZXJlbmNlcyhlKXtyZXR1cm4gbmV3IEFkZFZpZXdlclByZWZlcmVuY2VzKGUpfXN0YXRpYyBhZGp1c3REYXRhKGUpe3JldHVybiBuZXcgQWRqdXN0RGF0YShlKX1zdGF0aWMgYWRvYmVFeHRlbnNpb25MZXZlbChlKXtyZXR1cm4gbmV3IEFkb2JlRXh0ZW5zaW9uTGV2ZWwoZSl9c3RhdGljIGFnZW50KGUpe3JldHVybiBuZXcgQWdlbnQoZSl9c3RhdGljIGFsd2F5c0VtYmVkKGUpe3JldHVybiBuZXcgQWx3YXlzRW1iZWQoZSl9c3RhdGljIGFtZChlKXtyZXR1cm4gbmV3IEFtZChlKX1zdGF0aWMgYXJlYShlKXtyZXR1cm4gbmV3IGNvbmZpZ19BcmVhKGUpfXN0YXRpYyBhdHRyaWJ1dGVzKGUpe3JldHVybiBuZXcgQXR0cmlidXRlcyhlKX1zdGF0aWMgYXV0b1NhdmUoZSl7cmV0dXJuIG5ldyBBdXRvU2F2ZShlKX1zdGF0aWMgYmFzZShlKXtyZXR1cm4gbmV3IEJhc2UoZSl9c3RhdGljIGJhdGNoT3V0cHV0KGUpe3JldHVybiBuZXcgQmF0Y2hPdXRwdXQoZSl9c3RhdGljIGJlaGF2aW9yT3ZlcnJpZGUoZSl7cmV0dXJuIG5ldyBCZWhhdmlvck92ZXJyaWRlKGUpfXN0YXRpYyBjYWNoZShlKXtyZXR1cm4gbmV3IENhY2hlKGUpfXN0YXRpYyBjaGFuZ2UoZSl7cmV0dXJuIG5ldyBDaGFuZ2UoZSl9c3RhdGljIGNvbW1vbihlKXtyZXR1cm4gbmV3IENvbW1vbihlKX1zdGF0aWMgY29tcHJlc3MoZSl7cmV0dXJuIG5ldyBDb21wcmVzcyhlKX1zdGF0aWMgY29tcHJlc3NMb2dpY2FsU3RydWN0dXJlKGUpe3JldHVybiBuZXcgQ29tcHJlc3NMb2dpY2FsU3RydWN0dXJlKGUpfXN0YXRpYyBjb21wcmVzc09iamVjdFN0cmVhbShlKXtyZXR1cm4gbmV3IENvbXByZXNzT2JqZWN0U3RyZWFtKGUpfXN0YXRpYyBjb21wcmVzc2lvbihlKXtyZXR1cm4gbmV3IENvbXByZXNzaW9uKGUpfXN0YXRpYyBjb25maWcoZSl7cmV0dXJuIG5ldyBDb25maWcoZSl9c3RhdGljIGNvbmZvcm1hbmNlKGUpe3JldHVybiBuZXcgQ29uZm9ybWFuY2UoZSl9c3RhdGljIGNvbnRlbnRDb3B5KGUpe3JldHVybiBuZXcgQ29udGVudENvcHkoZSl9c3RhdGljIGNvcGllcyhlKXtyZXR1cm4gbmV3IENvcGllcyhlKX1zdGF0aWMgY3JlYXRvcihlKXtyZXR1cm4gbmV3IENyZWF0b3IoZSl9c3RhdGljIGN1cnJlbnRQYWdlKGUpe3JldHVybiBuZXcgQ3VycmVudFBhZ2UoZSl9c3RhdGljIGRhdGEoZSl7cmV0dXJuIG5ldyBEYXRhKGUpfXN0YXRpYyBkZWJ1ZyhlKXtyZXR1cm4gbmV3IERlYnVnKGUpfXN0YXRpYyBkZWZhdWx0VHlwZWZhY2UoZSl7cmV0dXJuIG5ldyBEZWZhdWx0VHlwZWZhY2UoZSl9c3RhdGljIGRlc3RpbmF0aW9uKGUpe3JldHVybiBuZXcgRGVzdGluYXRpb24oZSl9c3RhdGljIGRvY3VtZW50QXNzZW1ibHkoZSl7cmV0dXJuIG5ldyBEb2N1bWVudEFzc2VtYmx5KGUpfXN0YXRpYyBkcml2ZXIoZSl7cmV0dXJuIG5ldyBEcml2ZXIoZSl9c3RhdGljIGR1cGxleE9wdGlvbihlKXtyZXR1cm4gbmV3IER1cGxleE9wdGlvbihlKX1zdGF0aWMgZHluYW1pY1JlbmRlcihlKXtyZXR1cm4gbmV3IER5bmFtaWNSZW5kZXIoZSl9c3RhdGljIGVtYmVkKGUpe3JldHVybiBuZXcgRW1iZWQoZSl9c3RhdGljIGVuY3J5cHQoZSl7cmV0dXJuIG5ldyBjb25maWdfRW5jcnlwdChlKX1zdGF0aWMgZW5jcnlwdGlvbihlKXtyZXR1cm4gbmV3IGNvbmZpZ19FbmNyeXB0aW9uKGUpfXN0YXRpYyBlbmNyeXB0aW9uTGV2ZWwoZSl7cmV0dXJuIG5ldyBFbmNyeXB0aW9uTGV2ZWwoZSl9c3RhdGljIGVuZm9yY2UoZSl7cmV0dXJuIG5ldyBFbmZvcmNlKGUpfXN0YXRpYyBlcXVhdGUoZSl7cmV0dXJuIG5ldyBFcXVhdGUoZSl9c3RhdGljIGVxdWF0ZVJhbmdlKGUpe3JldHVybiBuZXcgRXF1YXRlUmFuZ2UoZSl9c3RhdGljIGV4Y2x1ZGUoZSl7cmV0dXJuIG5ldyBFeGNsdWRlKGUpfXN0YXRpYyBleGNsdWRlTlMoZSl7cmV0dXJuIG5ldyBFeGNsdWRlTlMoZSl9c3RhdGljIGZsaXBMYWJlbChlKXtyZXR1cm4gbmV3IEZsaXBMYWJlbChlKX1zdGF0aWMgZm9udEluZm8oZSl7cmV0dXJuIG5ldyBjb25maWdfRm9udEluZm8oZSl9c3RhdGljIGZvcm1GaWVsZEZpbGxpbmcoZSl7cmV0dXJuIG5ldyBGb3JtRmllbGRGaWxsaW5nKGUpfXN0YXRpYyBncm91cFBhcmVudChlKXtyZXR1cm4gbmV3IEdyb3VwUGFyZW50KGUpfXN0YXRpYyBpZkVtcHR5KGUpe3JldHVybiBuZXcgSWZFbXB0eShlKX1zdGF0aWMgaW5jbHVkZVhEUENvbnRlbnQoZSl7cmV0dXJuIG5ldyBJbmNsdWRlWERQQ29udGVudChlKX1zdGF0aWMgaW5jcmVtZW50YWxMb2FkKGUpe3JldHVybiBuZXcgSW5jcmVtZW50YWxMb2FkKGUpfXN0YXRpYyBpbmNyZW1lbnRhbE1lcmdlKGUpe3JldHVybiBuZXcgSW5jcmVtZW50YWxNZXJnZShlKX1zdGF0aWMgaW50ZXJhY3RpdmUoZSl7cmV0dXJuIG5ldyBJbnRlcmFjdGl2ZShlKX1zdGF0aWMgam9nKGUpe3JldHVybiBuZXcgSm9nKGUpfXN0YXRpYyBsYWJlbFByaW50ZXIoZSl7cmV0dXJuIG5ldyBMYWJlbFByaW50ZXIoZSl9c3RhdGljIGxheW91dChlKXtyZXR1cm4gbmV3IExheW91dChlKX1zdGF0aWMgbGV2ZWwoZSl7cmV0dXJuIG5ldyBMZXZlbChlKX1zdGF0aWMgbGluZWFyaXplZChlKXtyZXR1cm4gbmV3IExpbmVhcml6ZWQoZSl9c3RhdGljIGxvY2FsZShlKXtyZXR1cm4gbmV3IExvY2FsZShlKX1zdGF0aWMgbG9jYWxlU2V0KGUpe3JldHVybiBuZXcgTG9jYWxlU2V0KGUpfXN0YXRpYyBsb2coZSl7cmV0dXJuIG5ldyBMb2coZSl9c3RhdGljIG1hcChlKXtyZXR1cm4gbmV3IE1hcEVsZW1lbnQoZSl9c3RhdGljIG1lZGl1bUluZm8oZSl7cmV0dXJuIG5ldyBNZWRpdW1JbmZvKGUpfXN0YXRpYyBtZXNzYWdlKGUpe3JldHVybiBuZXcgY29uZmlnX01lc3NhZ2UoZSl9c3RhdGljIG1lc3NhZ2luZyhlKXtyZXR1cm4gbmV3IE1lc3NhZ2luZyhlKX1zdGF0aWMgbW9kZShlKXtyZXR1cm4gbmV3IE1vZGUoZSl9c3RhdGljIG1vZGlmeUFubm90cyhlKXtyZXR1cm4gbmV3IE1vZGlmeUFubm90cyhlKX1zdGF0aWMgbXNnSWQoZSl7cmV0dXJuIG5ldyBNc2dJZChlKX1zdGF0aWMgbmFtZUF0dHIoZSl7cmV0dXJuIG5ldyBOYW1lQXR0cihlKX1zdGF0aWMgbmV2ZXJFbWJlZChlKXtyZXR1cm4gbmV3IE5ldmVyRW1iZWQoZSl9c3RhdGljIG51bWJlck9mQ29waWVzKGUpe3JldHVybiBuZXcgTnVtYmVyT2ZDb3BpZXMoZSl9c3RhdGljIG9wZW5BY3Rpb24oZSl7cmV0dXJuIG5ldyBPcGVuQWN0aW9uKGUpfXN0YXRpYyBvdXRwdXQoZSl7cmV0dXJuIG5ldyBPdXRwdXQoZSl9c3RhdGljIG91dHB1dEJpbihlKXtyZXR1cm4gbmV3IE91dHB1dEJpbihlKX1zdGF0aWMgb3V0cHV0WFNMKGUpe3JldHVybiBuZXcgT3V0cHV0WFNMKGUpfXN0YXRpYyBvdmVycHJpbnQoZSl7cmV0dXJuIG5ldyBPdmVycHJpbnQoZSl9c3RhdGljIHBhY2tldHMoZSl7cmV0dXJuIG5ldyBQYWNrZXRzKGUpfXN0YXRpYyBwYWdlT2Zmc2V0KGUpe3JldHVybiBuZXcgUGFnZU9mZnNldChlKX1zdGF0aWMgcGFnZVJhbmdlKGUpe3JldHVybiBuZXcgUGFnZVJhbmdlKGUpfXN0YXRpYyBwYWdpbmF0aW9uKGUpe3JldHVybiBuZXcgUGFnaW5hdGlvbihlKX1zdGF0aWMgcGFnaW5hdGlvbk92ZXJyaWRlKGUpe3JldHVybiBuZXcgUGFnaW5hdGlvbk92ZXJyaWRlKGUpfXN0YXRpYyBwYXJ0KGUpe3JldHVybiBuZXcgUGFydChlKX1zdGF0aWMgcGNsKGUpe3JldHVybiBuZXcgUGNsKGUpfXN0YXRpYyBwZGYoZSl7cmV0dXJuIG5ldyBQZGYoZSl9c3RhdGljIHBkZmEoZSl7cmV0dXJuIG5ldyBQZGZhKGUpfXN0YXRpYyBwZXJtaXNzaW9ucyhlKXtyZXR1cm4gbmV3IFBlcm1pc3Npb25zKGUpfXN0YXRpYyBwaWNrVHJheUJ5UERGU2l6ZShlKXtyZXR1cm4gbmV3IFBpY2tUcmF5QnlQREZTaXplKGUpfXN0YXRpYyBwaWN0dXJlKGUpe3JldHVybiBuZXcgY29uZmlnX1BpY3R1cmUoZSl9c3RhdGljIHBsYWludGV4dE1ldGFkYXRhKGUpe3JldHVybiBuZXcgUGxhaW50ZXh0TWV0YWRhdGEoZSl9c3RhdGljIHByZXNlbmNlKGUpe3JldHVybiBuZXcgUHJlc2VuY2UoZSl9c3RhdGljIHByZXNlbnQoZSl7cmV0dXJuIG5ldyBQcmVzZW50KGUpfXN0YXRpYyBwcmludChlKXtyZXR1cm4gbmV3IFByaW50KGUpfXN0YXRpYyBwcmludEhpZ2hRdWFsaXR5KGUpe3JldHVybiBuZXcgUHJpbnRIaWdoUXVhbGl0eShlKX1zdGF0aWMgcHJpbnRTY2FsaW5nKGUpe3JldHVybiBuZXcgUHJpbnRTY2FsaW5nKGUpfXN0YXRpYyBwcmludGVyTmFtZShlKXtyZXR1cm4gbmV3IFByaW50ZXJOYW1lKGUpfXN0YXRpYyBwcm9kdWNlcihlKXtyZXR1cm4gbmV3IFByb2R1Y2VyKGUpfXN0YXRpYyBwcyhlKXtyZXR1cm4gbmV3IFBzKGUpfXN0YXRpYyByYW5nZShlKXtyZXR1cm4gbmV3IFJhbmdlKGUpfXN0YXRpYyByZWNvcmQoZSl7cmV0dXJuIG5ldyBSZWNvcmQoZSl9c3RhdGljIHJlbGV2YW50KGUpe3JldHVybiBuZXcgUmVsZXZhbnQoZSl9c3RhdGljIHJlbmFtZShlKXtyZXR1cm4gbmV3IFJlbmFtZShlKX1zdGF0aWMgcmVuZGVyUG9saWN5KGUpe3JldHVybiBuZXcgUmVuZGVyUG9saWN5KGUpfXN0YXRpYyBydW5TY3JpcHRzKGUpe3JldHVybiBuZXcgUnVuU2NyaXB0cyhlKX1zdGF0aWMgc2NyaXB0KGUpe3JldHVybiBuZXcgY29uZmlnX1NjcmlwdChlKX1zdGF0aWMgc2NyaXB0TW9kZWwoZSl7cmV0dXJuIG5ldyBTY3JpcHRNb2RlbChlKX1zdGF0aWMgc2V2ZXJpdHkoZSl7cmV0dXJuIG5ldyBTZXZlcml0eShlKX1zdGF0aWMgc2lsZW50UHJpbnQoZSl7cmV0dXJuIG5ldyBTaWxlbnRQcmludChlKX1zdGF0aWMgc3RhcGxlKGUpe3JldHVybiBuZXcgU3RhcGxlKGUpfXN0YXRpYyBzdGFydE5vZGUoZSl7cmV0dXJuIG5ldyBTdGFydE5vZGUoZSl9c3RhdGljIHN0YXJ0UGFnZShlKXtyZXR1cm4gbmV3IFN0YXJ0UGFnZShlKX1zdGF0aWMgc3VibWl0Rm9ybWF0KGUpe3JldHVybiBuZXcgU3VibWl0Rm9ybWF0KGUpfXN0YXRpYyBzdWJtaXRVcmwoZSl7cmV0dXJuIG5ldyBTdWJtaXRVcmwoZSl9c3RhdGljIHN1YnNldEJlbG93KGUpe3JldHVybiBuZXcgU3Vic2V0QmVsb3coZSl9c3RhdGljIHN1cHByZXNzQmFubmVyKGUpe3JldHVybiBuZXcgU3VwcHJlc3NCYW5uZXIoZSl9c3RhdGljIHRhZ2dlZChlKXtyZXR1cm4gbmV3IFRhZ2dlZChlKX1zdGF0aWMgdGVtcGxhdGUoZSl7cmV0dXJuIG5ldyBjb25maWdfVGVtcGxhdGUoZSl9c3RhdGljIHRlbXBsYXRlQ2FjaGUoZSl7cmV0dXJuIG5ldyBUZW1wbGF0ZUNhY2hlKGUpfXN0YXRpYyB0aHJlc2hvbGQoZSl7cmV0dXJuIG5ldyBUaHJlc2hvbGQoZSl9c3RhdGljIHRvKGUpe3JldHVybiBuZXcgVG8oZSl9c3RhdGljIHRyYWNlKGUpe3JldHVybiBuZXcgVHJhY2UoZSl9c3RhdGljIHRyYW5zZm9ybShlKXtyZXR1cm4gbmV3IFRyYW5zZm9ybShlKX1zdGF0aWMgdHlwZShlKXtyZXR1cm4gbmV3IFR5cGUoZSl9c3RhdGljIHVyaShlKXtyZXR1cm4gbmV3IFVyaShlKX1zdGF0aWMgdmFsaWRhdGUoZSl7cmV0dXJuIG5ldyBjb25maWdfVmFsaWRhdGUoZSl9c3RhdGljIHZhbGlkYXRlQXBwcm92YWxTaWduYXR1cmVzKGUpe3JldHVybiBuZXcgVmFsaWRhdGVBcHByb3ZhbFNpZ25hdHVyZXMoZSl9c3RhdGljIHZhbGlkYXRpb25NZXNzYWdpbmcoZSl7cmV0dXJuIG5ldyBWYWxpZGF0aW9uTWVzc2FnaW5nKGUpfXN0YXRpYyB2ZXJzaW9uKGUpe3JldHVybiBuZXcgVmVyc2lvbihlKX1zdGF0aWMgdmVyc2lvbkNvbnRyb2woZSl7cmV0dXJuIG5ldyBWZXJzaW9uQ29udHJvbChlKX1zdGF0aWMgdmlld2VyUHJlZmVyZW5jZXMoZSl7cmV0dXJuIG5ldyBWaWV3ZXJQcmVmZXJlbmNlcyhlKX1zdGF0aWMgd2ViQ2xpZW50KGUpe3JldHVybiBuZXcgV2ViQ2xpZW50KGUpfXN0YXRpYyB3aGl0ZXNwYWNlKGUpe3JldHVybiBuZXcgV2hpdGVzcGFjZShlKX1zdGF0aWMgd2luZG93KGUpe3JldHVybiBuZXcgV2luZG93KGUpfXN0YXRpYyB4ZGMoZSl7cmV0dXJuIG5ldyBYZGMoZSl9c3RhdGljIHhkcChlKXtyZXR1cm4gbmV3IFhkcChlKX1zdGF0aWMgeHNsKGUpe3JldHVybiBuZXcgWHNsKGUpfXN0YXRpYyB6cGwoZSl7cmV0dXJuIG5ldyBacGwoZSl9fWNvbnN0IFhuPWhuLmNvbm5lY3Rpb25TZXQuaWQ7Y2xhc3MgQ29ubmVjdGlvblNldCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihYbiwiY29ubmVjdGlvblNldCIsITApO3RoaXMud3NkbENvbm5lY3Rpb249bmV3IFhGQU9iamVjdEFycmF5O3RoaXMueG1sQ29ubmVjdGlvbj1uZXcgWEZBT2JqZWN0QXJyYXk7dGhpcy54c2RDb25uZWN0aW9uPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgRWZmZWN0aXZlSW5wdXRQb2xpY3kgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWG4sImVmZmVjdGl2ZUlucHV0UG9saWN5Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIEVmZmVjdGl2ZU91dHB1dFBvbGljeSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihYbiwiZWZmZWN0aXZlT3V0cHV0UG9saWN5Iik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIE9wZXJhdGlvbiBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihYbiwib3BlcmF0aW9uIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLmlucHV0PWUuaW5wdXR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMub3V0cHV0PWUub3V0cHV0fHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFJvb3RFbGVtZW50IGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFhuLCJyb290RWxlbWVudCIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBTb2FwQWN0aW9uIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFhuLCJzb2FwQWN0aW9uIik7dGhpcy5pZD1lLmlkfHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVzZT1lLnVzZXx8IiI7dGhpcy51c2VocmVmPWUudXNlaHJlZnx8IiJ9fWNsYXNzIFNvYXBBZGRyZXNzIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFhuLCJzb2FwQWRkcmVzcyIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBjb25uZWN0aW9uX3NldF9VcmkgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWG4sInVyaSIpO3RoaXMuaWQ9ZS5pZHx8IiI7dGhpcy5uYW1lPWUubmFtZXx8IiI7dGhpcy51c2U9ZS51c2V8fCIiO3RoaXMudXNlaHJlZj1lLnVzZWhyZWZ8fCIifX1jbGFzcyBXc2RsQWRkcmVzcyBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihYbiwid3NkbEFkZHJlc3MiKTt0aGlzLmlkPWUuaWR8fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMudXNlPWUudXNlfHwiIjt0aGlzLnVzZWhyZWY9ZS51c2VocmVmfHwiIn19Y2xhc3MgV3NkbENvbm5lY3Rpb24gZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoWG4sIndzZGxDb25uZWN0aW9uIiwhMCk7dGhpcy5kYXRhRGVzY3JpcHRpb249ZS5kYXRhRGVzY3JpcHRpb258fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMuZWZmZWN0aXZlSW5wdXRQb2xpY3k9bnVsbDt0aGlzLmVmZmVjdGl2ZU91dHB1dFBvbGljeT1udWxsO3RoaXMub3BlcmF0aW9uPW51bGw7dGhpcy5zb2FwQWN0aW9uPW51bGw7dGhpcy5zb2FwQWRkcmVzcz1udWxsO3RoaXMud3NkbEFkZHJlc3M9bnVsbH19Y2xhc3MgWG1sQ29ubmVjdGlvbiBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihYbiwieG1sQ29ubmVjdGlvbiIsITApO3RoaXMuZGF0YURlc2NyaXB0aW9uPWUuZGF0YURlc2NyaXB0aW9ufHwiIjt0aGlzLm5hbWU9ZS5uYW1lfHwiIjt0aGlzLnVyaT1udWxsfX1jbGFzcyBYc2RDb25uZWN0aW9uIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFhuLCJ4c2RDb25uZWN0aW9uIiwhMCk7dGhpcy5kYXRhRGVzY3JpcHRpb249ZS5kYXRhRGVzY3JpcHRpb258fCIiO3RoaXMubmFtZT1lLm5hbWV8fCIiO3RoaXMucm9vdEVsZW1lbnQ9bnVsbDt0aGlzLnVyaT1udWxsfX1jbGFzcyBDb25uZWN0aW9uU2V0TmFtZXNwYWNle3N0YXRpY1tDbl0oZSx0KXtpZihDb25uZWN0aW9uU2V0TmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBDb25uZWN0aW9uU2V0TmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBjb25uZWN0aW9uU2V0KGUpe3JldHVybiBuZXcgQ29ubmVjdGlvblNldChlKX1zdGF0aWMgZWZmZWN0aXZlSW5wdXRQb2xpY3koZSl7cmV0dXJuIG5ldyBFZmZlY3RpdmVJbnB1dFBvbGljeShlKX1zdGF0aWMgZWZmZWN0aXZlT3V0cHV0UG9saWN5KGUpe3JldHVybiBuZXcgRWZmZWN0aXZlT3V0cHV0UG9saWN5KGUpfXN0YXRpYyBvcGVyYXRpb24oZSl7cmV0dXJuIG5ldyBPcGVyYXRpb24oZSl9c3RhdGljIHJvb3RFbGVtZW50KGUpe3JldHVybiBuZXcgUm9vdEVsZW1lbnQoZSl9c3RhdGljIHNvYXBBY3Rpb24oZSl7cmV0dXJuIG5ldyBTb2FwQWN0aW9uKGUpfXN0YXRpYyBzb2FwQWRkcmVzcyhlKXtyZXR1cm4gbmV3IFNvYXBBZGRyZXNzKGUpfXN0YXRpYyB1cmkoZSl7cmV0dXJuIG5ldyBjb25uZWN0aW9uX3NldF9VcmkoZSl9c3RhdGljIHdzZGxBZGRyZXNzKGUpe3JldHVybiBuZXcgV3NkbEFkZHJlc3MoZSl9c3RhdGljIHdzZGxDb25uZWN0aW9uKGUpe3JldHVybiBuZXcgV3NkbENvbm5lY3Rpb24oZSl9c3RhdGljIHhtbENvbm5lY3Rpb24oZSl7cmV0dXJuIG5ldyBYbWxDb25uZWN0aW9uKGUpfXN0YXRpYyB4c2RDb25uZWN0aW9uKGUpe3JldHVybiBuZXcgWHNkQ29ubmVjdGlvbihlKX19Y29uc3QgWm49aG4uZGF0YXNldHMuaWQ7Y2xhc3MgZGF0YXNldHNfRGF0YSBleHRlbmRzIFhtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihabiwiZGF0YSIsZSl9W0xyXSgpe3JldHVybiEwfX1jbGFzcyBEYXRhc2V0cyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihabiwiZGF0YXNldHMiLCEwKTt0aGlzLmRhdGE9bnVsbDt0aGlzLlNpZ25hdHVyZT1udWxsfVtQcl0oZSl7Y29uc3QgdD1lW3FyXTsoImRhdGEiPT09dCYmZVtUcl09PT1abnx8IlNpZ25hdHVyZSI9PT10JiZlW1RyXT09PWhuLnNpZ25hdHVyZS5pZCkmJih0aGlzW3RdPWUpO3RoaXNbX3NdKGUpfX1jbGFzcyBEYXRhc2V0c05hbWVzcGFjZXtzdGF0aWNbQ25dKGUsdCl7aWYoRGF0YXNldHNOYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIERhdGFzZXRzTmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBkYXRhc2V0cyhlKXtyZXR1cm4gbmV3IERhdGFzZXRzKGUpfXN0YXRpYyBkYXRhKGUpe3JldHVybiBuZXcgZGF0YXNldHNfRGF0YShlKX19Y29uc3QgVm49aG4ubG9jYWxlU2V0LmlkO2NsYXNzIENhbGVuZGFyU3ltYm9scyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwiY2FsZW5kYXJTeW1ib2xzIiwhMCk7dGhpcy5uYW1lPSJncmVnb3JpYW4iO3RoaXMuZGF5TmFtZXM9bmV3IFhGQU9iamVjdEFycmF5KDIpO3RoaXMuZXJhTmFtZXM9bnVsbDt0aGlzLm1lcmlkaWVtTmFtZXM9bnVsbDt0aGlzLm1vbnRoTmFtZXM9bmV3IFhGQU9iamVjdEFycmF5KDIpfX1jbGFzcyBDdXJyZW5jeVN5bWJvbCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwiY3VycmVuY3lTeW1ib2wiKTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbInN5bWJvbCIsImlzb25hbWUiLCJkZWNpbWFsIl0pfX1jbGFzcyBDdXJyZW5jeVN5bWJvbHMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sImN1cnJlbmN5U3ltYm9scyIsITApO3RoaXMuY3VycmVuY3lTeW1ib2w9bmV3IFhGQU9iamVjdEFycmF5KDMpfX1jbGFzcyBEYXRlUGF0dGVybiBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwiZGF0ZVBhdHRlcm4iKTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbImZ1bGwiLCJsb25nIiwibWVkIiwic2hvcnQiXSl9fWNsYXNzIERhdGVQYXR0ZXJucyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwiZGF0ZVBhdHRlcm5zIiwhMCk7dGhpcy5kYXRlUGF0dGVybj1uZXcgWEZBT2JqZWN0QXJyYXkoNCl9fWNsYXNzIERhdGVUaW1lU3ltYm9scyBleHRlbmRzIENvbnRlbnRPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sImRhdGVUaW1lU3ltYm9scyIpfX1jbGFzcyBEYXkgZXh0ZW5kcyBTdHJpbmdPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sImRheSIpfX1jbGFzcyBEYXlOYW1lcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwiZGF5TmFtZXMiLCEwKTt0aGlzLmFiYnI9Z2V0SW50ZWdlcih7ZGF0YTplLmFiYnIsZGVmYXVsdFZhbHVlOjAsdmFsaWRhdGU6ZT0+MT09PWV9KTt0aGlzLmRheT1uZXcgWEZBT2JqZWN0QXJyYXkoNyl9fWNsYXNzIEVyYSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwiZXJhIil9fWNsYXNzIEVyYU5hbWVzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFZuLCJlcmFOYW1lcyIsITApO3RoaXMuZXJhPW5ldyBYRkFPYmplY3RBcnJheSgyKX19Y2xhc3MgbG9jYWxlX3NldF9Mb2NhbGUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sImxvY2FsZSIsITApO3RoaXMuZGVzYz1lLmRlc2N8fCIiO3RoaXMubmFtZT0iaXNvbmFtZSI7dGhpcy5jYWxlbmRhclN5bWJvbHM9bnVsbDt0aGlzLmN1cnJlbmN5U3ltYm9scz1udWxsO3RoaXMuZGF0ZVBhdHRlcm5zPW51bGw7dGhpcy5kYXRlVGltZVN5bWJvbHM9bnVsbDt0aGlzLm51bWJlclBhdHRlcm5zPW51bGw7dGhpcy5udW1iZXJTeW1ib2xzPW51bGw7dGhpcy50aW1lUGF0dGVybnM9bnVsbDt0aGlzLnR5cGVGYWNlcz1udWxsfX1jbGFzcyBsb2NhbGVfc2V0X0xvY2FsZVNldCBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwibG9jYWxlU2V0IiwhMCk7dGhpcy5sb2NhbGU9bmV3IFhGQU9iamVjdEFycmF5fX1jbGFzcyBNZXJpZGllbSBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwibWVyaWRpZW0iKX19Y2xhc3MgTWVyaWRpZW1OYW1lcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwibWVyaWRpZW1OYW1lcyIsITApO3RoaXMubWVyaWRpZW09bmV3IFhGQU9iamVjdEFycmF5KDIpfX1jbGFzcyBNb250aCBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwibW9udGgiKX19Y2xhc3MgTW9udGhOYW1lcyBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwibW9udGhOYW1lcyIsITApO3RoaXMuYWJicj1nZXRJbnRlZ2VyKHtkYXRhOmUuYWJicixkZWZhdWx0VmFsdWU6MCx2YWxpZGF0ZTplPT4xPT09ZX0pO3RoaXMubW9udGg9bmV3IFhGQU9iamVjdEFycmF5KDEyKX19Y2xhc3MgTnVtYmVyUGF0dGVybiBleHRlbmRzIFN0cmluZ09iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihWbiwibnVtYmVyUGF0dGVybiIpO3RoaXMubmFtZT1nZXRTdHJpbmdPcHRpb24oZS5uYW1lLFsiZnVsbCIsImxvbmciLCJtZWQiLCJzaG9ydCJdKX19Y2xhc3MgTnVtYmVyUGF0dGVybnMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sIm51bWJlclBhdHRlcm5zIiwhMCk7dGhpcy5udW1iZXJQYXR0ZXJuPW5ldyBYRkFPYmplY3RBcnJheSg0KX19Y2xhc3MgTnVtYmVyU3ltYm9sIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFZuLCJudW1iZXJTeW1ib2wiKTt0aGlzLm5hbWU9Z2V0U3RyaW5nT3B0aW9uKGUubmFtZSxbImRlY2ltYWwiLCJncm91cGluZyIsInBlcmNlbnQiLCJtaW51cyIsInplcm8iXSl9fWNsYXNzIE51bWJlclN5bWJvbHMgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sIm51bWJlclN5bWJvbHMiLCEwKTt0aGlzLm51bWJlclN5bWJvbD1uZXcgWEZBT2JqZWN0QXJyYXkoNSl9fWNsYXNzIFRpbWVQYXR0ZXJuIGV4dGVuZHMgU3RyaW5nT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFZuLCJ0aW1lUGF0dGVybiIpO3RoaXMubmFtZT1nZXRTdHJpbmdPcHRpb24oZS5uYW1lLFsiZnVsbCIsImxvbmciLCJtZWQiLCJzaG9ydCJdKX19Y2xhc3MgVGltZVBhdHRlcm5zIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFZuLCJ0aW1lUGF0dGVybnMiLCEwKTt0aGlzLnRpbWVQYXR0ZXJuPW5ldyBYRkFPYmplY3RBcnJheSg0KX19Y2xhc3MgVHlwZUZhY2UgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoVm4sInR5cGVGYWNlIiwhMCk7dGhpcy5uYW1lPSIifGUubmFtZX19Y2xhc3MgVHlwZUZhY2VzIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKFZuLCJ0eXBlRmFjZXMiLCEwKTt0aGlzLnR5cGVGYWNlPW5ldyBYRkFPYmplY3RBcnJheX19Y2xhc3MgTG9jYWxlU2V0TmFtZXNwYWNle3N0YXRpY1tDbl0oZSx0KXtpZihMb2NhbGVTZXROYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIExvY2FsZVNldE5hbWVzcGFjZVtlXSh0KX1zdGF0aWMgY2FsZW5kYXJTeW1ib2xzKGUpe3JldHVybiBuZXcgQ2FsZW5kYXJTeW1ib2xzKGUpfXN0YXRpYyBjdXJyZW5jeVN5bWJvbChlKXtyZXR1cm4gbmV3IEN1cnJlbmN5U3ltYm9sKGUpfXN0YXRpYyBjdXJyZW5jeVN5bWJvbHMoZSl7cmV0dXJuIG5ldyBDdXJyZW5jeVN5bWJvbHMoZSl9c3RhdGljIGRhdGVQYXR0ZXJuKGUpe3JldHVybiBuZXcgRGF0ZVBhdHRlcm4oZSl9c3RhdGljIGRhdGVQYXR0ZXJucyhlKXtyZXR1cm4gbmV3IERhdGVQYXR0ZXJucyhlKX1zdGF0aWMgZGF0ZVRpbWVTeW1ib2xzKGUpe3JldHVybiBuZXcgRGF0ZVRpbWVTeW1ib2xzKGUpfXN0YXRpYyBkYXkoZSl7cmV0dXJuIG5ldyBEYXkoZSl9c3RhdGljIGRheU5hbWVzKGUpe3JldHVybiBuZXcgRGF5TmFtZXMoZSl9c3RhdGljIGVyYShlKXtyZXR1cm4gbmV3IEVyYShlKX1zdGF0aWMgZXJhTmFtZXMoZSl7cmV0dXJuIG5ldyBFcmFOYW1lcyhlKX1zdGF0aWMgbG9jYWxlKGUpe3JldHVybiBuZXcgbG9jYWxlX3NldF9Mb2NhbGUoZSl9c3RhdGljIGxvY2FsZVNldChlKXtyZXR1cm4gbmV3IGxvY2FsZV9zZXRfTG9jYWxlU2V0KGUpfXN0YXRpYyBtZXJpZGllbShlKXtyZXR1cm4gbmV3IE1lcmlkaWVtKGUpfXN0YXRpYyBtZXJpZGllbU5hbWVzKGUpe3JldHVybiBuZXcgTWVyaWRpZW1OYW1lcyhlKX1zdGF0aWMgbW9udGgoZSl7cmV0dXJuIG5ldyBNb250aChlKX1zdGF0aWMgbW9udGhOYW1lcyhlKXtyZXR1cm4gbmV3IE1vbnRoTmFtZXMoZSl9c3RhdGljIG51bWJlclBhdHRlcm4oZSl7cmV0dXJuIG5ldyBOdW1iZXJQYXR0ZXJuKGUpfXN0YXRpYyBudW1iZXJQYXR0ZXJucyhlKXtyZXR1cm4gbmV3IE51bWJlclBhdHRlcm5zKGUpfXN0YXRpYyBudW1iZXJTeW1ib2woZSl7cmV0dXJuIG5ldyBOdW1iZXJTeW1ib2woZSl9c3RhdGljIG51bWJlclN5bWJvbHMoZSl7cmV0dXJuIG5ldyBOdW1iZXJTeW1ib2xzKGUpfXN0YXRpYyB0aW1lUGF0dGVybihlKXtyZXR1cm4gbmV3IFRpbWVQYXR0ZXJuKGUpfXN0YXRpYyB0aW1lUGF0dGVybnMoZSl7cmV0dXJuIG5ldyBUaW1lUGF0dGVybnMoZSl9c3RhdGljIHR5cGVGYWNlKGUpe3JldHVybiBuZXcgVHlwZUZhY2UoZSl9c3RhdGljIHR5cGVGYWNlcyhlKXtyZXR1cm4gbmV3IFR5cGVGYWNlcyhlKX19Y29uc3Qgem49aG4uc2lnbmF0dXJlLmlkO2NsYXNzIHNpZ25hdHVyZV9TaWduYXR1cmUgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoem4sInNpZ25hdHVyZSIsITApfX1jbGFzcyBTaWduYXR1cmVOYW1lc3BhY2V7c3RhdGljW0NuXShlLHQpe2lmKFNpZ25hdHVyZU5hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gU2lnbmF0dXJlTmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBzaWduYXR1cmUoZSl7cmV0dXJuIG5ldyBzaWduYXR1cmVfU2lnbmF0dXJlKGUpfX1jb25zdCBfbj1obi5zdHlsZXNoZWV0LmlkO2NsYXNzIFN0eWxlc2hlZXQgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoX24sInN0eWxlc2hlZXQiLCEwKX19Y2xhc3MgU3R5bGVzaGVldE5hbWVzcGFjZXtzdGF0aWNbQ25dKGUsdCl7aWYoU3R5bGVzaGVldE5hbWVzcGFjZS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gU3R5bGVzaGVldE5hbWVzcGFjZVtlXSh0KX1zdGF0aWMgc3R5bGVzaGVldChlKXtyZXR1cm4gbmV3IFN0eWxlc2hlZXQoZSl9fWNvbnN0ICRuPWhuLnhkcC5pZDtjbGFzcyB4ZHBfWGRwIGV4dGVuZHMgWEZBT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKCRuLCJ4ZHAiLCEwKTt0aGlzLnV1aWQ9ZS51dWlkfHwiIjt0aGlzLnRpbWVTdGFtcD1lLnRpbWVTdGFtcHx8IiI7dGhpcy5jb25maWc9bnVsbDt0aGlzLmNvbm5lY3Rpb25TZXQ9bnVsbDt0aGlzLmRhdGFzZXRzPW51bGw7dGhpcy5sb2NhbGVTZXQ9bnVsbDt0aGlzLnN0eWxlc2hlZXQ9bmV3IFhGQU9iamVjdEFycmF5O3RoaXMudGVtcGxhdGU9bnVsbH1bV3JdKGUpe2NvbnN0IHQ9aG5bZVtxcl1dO3JldHVybiB0JiZlW1RyXT09PXQuaWR9fWNsYXNzIFhkcE5hbWVzcGFjZXtzdGF0aWNbQ25dKGUsdCl7aWYoWGRwTmFtZXNwYWNlLmhhc093blByb3BlcnR5KGUpKXJldHVybiBYZHBOYW1lc3BhY2VbZV0odCl9c3RhdGljIHhkcChlKXtyZXR1cm4gbmV3IHhkcF9YZHAoZSl9fWNvbnN0IEFnPWhuLnhodG1sLmlkLGVnPVN5bWJvbCgpLHRnPW5ldyBTZXQoWyJjb2xvciIsImZvbnQiLCJmb250LWZhbWlseSIsImZvbnQtc2l6ZSIsImZvbnQtc3RyZXRjaCIsImZvbnQtc3R5bGUiLCJmb250LXdlaWdodCIsIm1hcmdpbiIsIm1hcmdpbi1ib3R0b20iLCJtYXJnaW4tbGVmdCIsIm1hcmdpbi1yaWdodCIsIm1hcmdpbi10b3AiLCJsZXR0ZXItc3BhY2luZyIsImxpbmUtaGVpZ2h0Iiwib3JwaGFucyIsInBhZ2UtYnJlYWstYWZ0ZXIiLCJwYWdlLWJyZWFrLWJlZm9yZSIsInBhZ2UtYnJlYWstaW5zaWRlIiwidGFiLWludGVydmFsIiwidGFiLXN0b3AiLCJ0ZXh0LWFsaWduIiwidGV4dC1kZWNvcmF0aW9uIiwidGV4dC1pbmRlbnQiLCJ2ZXJ0aWNhbC1hbGlnbiIsIndpZG93cyIsImtlcm5pbmctbW9kZSIsInhmYS1mb250LWhvcml6b250YWwtc2NhbGUiLCJ4ZmEtZm9udC12ZXJ0aWNhbC1zY2FsZSIsInhmYS1zcGFjZXJ1biIsInhmYS10YWItc3RvcHMiXSksaWc9bmV3IE1hcChbWyJwYWdlLWJyZWFrLWFmdGVyIiwiYnJlYWtBZnRlciJdLFsicGFnZS1icmVhay1iZWZvcmUiLCJicmVha0JlZm9yZSJdLFsicGFnZS1icmVhay1pbnNpZGUiLCJicmVha0luc2lkZSJdLFsia2VybmluZy1tb2RlIixlPT4ibm9uZSI9PT1lPyJub25lIjoibm9ybWFsIl0sWyJ4ZmEtZm9udC1ob3Jpem9udGFsLXNjYWxlIixlPT5gc2NhbGVYKCR7TWF0aC5tYXgoMCxNYXRoLm1pbihwYXJzZUludChlKS8xMDApKS50b0ZpeGVkKDIpfSlgXSxbInhmYS1mb250LXZlcnRpY2FsLXNjYWxlIixlPT5gc2NhbGVZKCR7TWF0aC5tYXgoMCxNYXRoLm1pbihwYXJzZUludChlKS8xMDApKS50b0ZpeGVkKDIpfSlgXSxbInhmYS1zcGFjZXJ1biIsIiJdLFsieGZhLXRhYi1zdG9wcyIsIiJdLFsiZm9udC1zaXplIiwoZSx0KT0+bWVhc3VyZVRvU3RyaW5nKC45OSooZT10LmZvbnRTaXplPWdldE1lYXN1cmVtZW50KGUpKSldLFsibGV0dGVyLXNwYWNpbmciLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsibGluZS1oZWlnaHQiLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsibWFyZ2luIixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbIm1hcmdpbi1ib3R0b20iLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsibWFyZ2luLWxlZnQiLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsibWFyZ2luLXJpZ2h0IixlPT5tZWFzdXJlVG9TdHJpbmcoZ2V0TWVhc3VyZW1lbnQoZSkpXSxbIm1hcmdpbi10b3AiLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsidGV4dC1pbmRlbnQiLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldLFsiZm9udC1mYW1pbHkiLGU9PmVdLFsidmVydGljYWwtYWxpZ24iLGU9Pm1lYXN1cmVUb1N0cmluZyhnZXRNZWFzdXJlbWVudChlKSldXSksYWc9L1xzKy9nLHNnPS9bXHJcbl0rL2cscmc9L1xyXG4/L2c7ZnVuY3Rpb24gbWFwU3R5bGUoZSx0LGkpe2NvbnN0IGE9T2JqZWN0LmNyZWF0ZShudWxsKTtpZighZSlyZXR1cm4gYTtjb25zdCBzPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGNvbnN0W3QsaV1vZiBlLnNwbGl0KCI7IikubWFwKChlPT5lLnNwbGl0KCI6IiwyKSkpKXtjb25zdCBlPWlnLmdldCh0KTtpZigiIj09PWUpY29udGludWU7bGV0IHI9aTtlJiYocj0ic3RyaW5nIj09dHlwZW9mIGU/ZTplKGkscykpO3QuZW5kc1dpdGgoInNjYWxlIik/YS50cmFuc2Zvcm09YS50cmFuc2Zvcm0/YCR7YVt0XX0gJHtyfWA6cjphW3QucmVwbGFjZUFsbCgvLShbYS16QS1aXSkvZywoKGUsdCk9PnQudG9VcHBlckNhc2UoKSkpXT1yfWEuZm9udEZhbWlseSYmc2V0Rm9udEZhbWlseSh7dHlwZWZhY2U6YS5mb250RmFtaWx5LHdlaWdodDphLmZvbnRXZWlnaHR8fCJub3JtYWwiLHBvc3R1cmU6YS5mb250U3R5bGV8fCJub3JtYWwiLHNpemU6cy5mb250U2l6ZXx8MH0sdCx0W0ZyXS5mb250RmluZGVyLGEpO2lmKGkmJmEudmVydGljYWxBbGlnbiYmIjBweCIhPT1hLnZlcnRpY2FsQWxpZ24mJmEuZm9udFNpemUpe2NvbnN0IGU9LjU4Myx0PS4zMzMsaT1nZXRNZWFzdXJlbWVudChhLmZvbnRTaXplKTthLmZvbnRTaXplPW1lYXN1cmVUb1N0cmluZyhpKmUpO2EudmVydGljYWxBbGlnbj1tZWFzdXJlVG9TdHJpbmcoTWF0aC5zaWduKGdldE1lYXN1cmVtZW50KGEudmVydGljYWxBbGlnbikpKmkqdCl9aSYmYS5mb250U2l6ZSYmKGEuZm9udFNpemU9YGNhbGMoJHthLmZvbnRTaXplfSAqIHZhcigtLXNjYWxlLWZhY3RvcikpYCk7Zml4VGV4dEluZGVudChhKTtyZXR1cm4gYX1jb25zdCBuZz1uZXcgU2V0KFsiYm9keSIsImh0bWwiXSk7Y2xhc3MgWGh0bWxPYmplY3QgZXh0ZW5kcyBYbWxPYmplY3R7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihBZyx0KTt0aGlzW2VnXT0hMTt0aGlzLnN0eWxlPWUuc3R5bGV8fCIifVtBcl0oZSl7c3VwZXJbQXJdKGUpO3RoaXMuc3R5bGU9ZnVuY3Rpb24gY2hlY2tTdHlsZShlKXtyZXR1cm4gZS5zdHlsZT9lLnN0eWxlLnRyaW0oKS5zcGxpdCgvXHMqO1xzKi8pLmZpbHRlcigoZT0+ISFlKSkubWFwKChlPT5lLnNwbGl0KC9ccyo6XHMqLywyKSkpLmZpbHRlcigoKFt0LGldKT0+eyJmb250LWZhbWlseSI9PT10JiZlW0ZyXS51c2VkVHlwZWZhY2VzLmFkZChpKTtyZXR1cm4gdGcuaGFzKHQpfSkpLm1hcCgoZT0+ZS5qb2luKCI6IikpKS5qb2luKCI7Iik6IiJ9KHRoaXMpfVtWc10oKXtyZXR1cm4hbmcuaGFzKHRoaXNbcXJdKX1banJdKGUsdD0hMSl7aWYodCl0aGlzW2VnXT0hMDtlbHNle2U9ZS5yZXBsYWNlQWxsKHNnLCIiKTt0aGlzLnN0eWxlLmluY2x1ZGVzKCJ4ZmEtc3BhY2VydW46eWVzIil8fChlPWUucmVwbGFjZUFsbChhZywiICIpKX1lJiYodGhpc1tzcl0rPWUpfVtYcl0oZSx0PSEwKXtjb25zdCBpPU9iamVjdC5jcmVhdGUobnVsbCksYT17dG9wOk5hTixib3R0b206TmFOLGxlZnQ6TmFOLHJpZ2h0Ok5hTn07bGV0IHM9bnVsbDtmb3IoY29uc3RbZSx0XW9mIHRoaXMuc3R5bGUuc3BsaXQoIjsiKS5tYXAoKGU9PmUuc3BsaXQoIjoiLDIpKSkpc3dpdGNoKGUpe2Nhc2UiZm9udC1mYW1pbHkiOmkudHlwZWZhY2U9c3RyaXBRdW90ZXModCk7YnJlYWs7Y2FzZSJmb250LXNpemUiOmkuc2l6ZT1nZXRNZWFzdXJlbWVudCh0KTticmVhaztjYXNlImZvbnQtd2VpZ2h0IjppLndlaWdodD10O2JyZWFrO2Nhc2UiZm9udC1zdHlsZSI6aS5wb3N0dXJlPXQ7YnJlYWs7Y2FzZSJsZXR0ZXItc3BhY2luZyI6aS5sZXR0ZXJTcGFjaW5nPWdldE1lYXN1cmVtZW50KHQpO2JyZWFrO2Nhc2UibWFyZ2luIjpjb25zdCBlPXQuc3BsaXQoLyBcdC8pLm1hcCgoZT0+Z2V0TWVhc3VyZW1lbnQoZSkpKTtzd2l0Y2goZS5sZW5ndGgpe2Nhc2UgMTphLnRvcD1hLmJvdHRvbT1hLmxlZnQ9YS5yaWdodD1lWzBdO2JyZWFrO2Nhc2UgMjphLnRvcD1hLmJvdHRvbT1lWzBdO2EubGVmdD1hLnJpZ2h0PWVbMV07YnJlYWs7Y2FzZSAzOmEudG9wPWVbMF07YS5ib3R0b209ZVsyXTthLmxlZnQ9YS5yaWdodD1lWzFdO2JyZWFrO2Nhc2UgNDphLnRvcD1lWzBdO2EubGVmdD1lWzFdO2EuYm90dG9tPWVbMl07YS5yaWdodD1lWzNdfWJyZWFrO2Nhc2UibWFyZ2luLXRvcCI6YS50b3A9Z2V0TWVhc3VyZW1lbnQodCk7YnJlYWs7Y2FzZSJtYXJnaW4tYm90dG9tIjphLmJvdHRvbT1nZXRNZWFzdXJlbWVudCh0KTticmVhaztjYXNlIm1hcmdpbi1sZWZ0IjphLmxlZnQ9Z2V0TWVhc3VyZW1lbnQodCk7YnJlYWs7Y2FzZSJtYXJnaW4tcmlnaHQiOmEucmlnaHQ9Z2V0TWVhc3VyZW1lbnQodCk7YnJlYWs7Y2FzZSJsaW5lLWhlaWdodCI6cz1nZXRNZWFzdXJlbWVudCh0KX1lLnB1c2hEYXRhKGksYSxzKTtpZih0aGlzW3NyXSllLmFkZFN0cmluZyh0aGlzW3NyXSk7ZWxzZSBmb3IoY29uc3QgdCBvZiB0aGlzW3ByXSgpKSIjdGV4dCIhPT10W3FyXT90W1hyXShlKTplLmFkZFN0cmluZyh0W3NyXSk7dCYmZS5wb3BGb250KCl9W2duXShlKXtjb25zdCB0PVtdO3RoaXNbZ3JdPXtjaGlsZHJlbjp0fTt0aGlzWyRzXSh7fSk7aWYoMD09PXQubGVuZ3RoJiYhdGhpc1tzcl0pcmV0dXJuIEhUTUxSZXN1bHQuRU1QVFk7bGV0IGk7aT10aGlzW2VnXT90aGlzW3NyXT90aGlzW3NyXS5yZXBsYWNlQWxsKHJnLCJcbiIpOnZvaWQgMDp0aGlzW3NyXXx8dm9pZCAwO3JldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6dGhpc1txcl0sYXR0cmlidXRlczp7aHJlZjp0aGlzLmhyZWYsc3R5bGU6bWFwU3R5bGUodGhpcy5zdHlsZSx0aGlzLHRoaXNbZWddKX0sY2hpbGRyZW46dCx2YWx1ZTppfSl9fWNsYXNzIEEgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJhIik7dGhpcy5ocmVmPWZpeFVSTChlLmhyZWYpfHwiIn19Y2xhc3MgQiBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsImIiKX1bWHJdKGUpe2UucHVzaEZvbnQoe3dlaWdodDoiYm9sZCJ9KTtzdXBlcltYcl0oZSk7ZS5wb3BGb250KCl9fWNsYXNzIEJvZHkgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJib2R5Iil9W2duXShlKXtjb25zdCB0PXN1cGVyW2duXShlKSx7aHRtbDppfT10O2lmKCFpKXJldHVybiBIVE1MUmVzdWx0LkVNUFRZO2kubmFtZT0iZGl2IjtpLmF0dHJpYnV0ZXMuY2xhc3M9WyJ4ZmFSaWNoIl07cmV0dXJuIHR9fWNsYXNzIEJyIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwiYnIiKX1bcm5dKCl7cmV0dXJuIlxuIn1bWHJdKGUpe2UuYWRkU3RyaW5nKCJcbiIpfVtnbl0oZSl7cmV0dXJuIEhUTUxSZXN1bHQuc3VjY2Vzcyh7bmFtZToiYnIifSl9fWNsYXNzIEh0bWwgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJodG1sIil9W2duXShlKXtjb25zdCB0PVtdO3RoaXNbZ3JdPXtjaGlsZHJlbjp0fTt0aGlzWyRzXSh7fSk7aWYoMD09PXQubGVuZ3RoKXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFSaWNoIl0sc3R5bGU6e319LHZhbHVlOnRoaXNbc3JdfHwiIn0pO2lmKDE9PT10Lmxlbmd0aCl7Y29uc3QgZT10WzBdO2lmKGUuYXR0cmlidXRlcz8uY2xhc3MuaW5jbHVkZXMoInhmYVJpY2giKSlyZXR1cm4gSFRNTFJlc3VsdC5zdWNjZXNzKGUpfXJldHVybiBIVE1MUmVzdWx0LnN1Y2Nlc3Moe25hbWU6ImRpdiIsYXR0cmlidXRlczp7Y2xhc3M6WyJ4ZmFSaWNoIl0sc3R5bGU6e319LGNoaWxkcmVuOnR9KX19Y2xhc3MgSSBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsImkiKX1bWHJdKGUpe2UucHVzaEZvbnQoe3Bvc3R1cmU6Iml0YWxpYyJ9KTtzdXBlcltYcl0oZSk7ZS5wb3BGb250KCl9fWNsYXNzIExpIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwibGkiKX19Y2xhc3MgT2wgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJvbCIpfX1jbGFzcyBQIGV4dGVuZHMgWGh0bWxPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSwicCIpfVtYcl0oZSl7c3VwZXJbWHJdKGUsITEpO2UuYWRkU3RyaW5nKCJcbiIpO2UuYWRkUGFyYSgpO2UucG9wRm9udCgpfVtybl0oKXtyZXR1cm4gdGhpc1tEcl0oKVtwcl0oKS5hdCgtMSk9PT10aGlzP3N1cGVyW3JuXSgpOnN1cGVyW3JuXSgpKyJcbiJ9fWNsYXNzIFNwYW4gZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJzcGFuIil9fWNsYXNzIFN1YiBleHRlbmRzIFhodG1sT2JqZWN0e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUsInN1YiIpfX1jbGFzcyBTdXAgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJzdXAiKX19Y2xhc3MgVWwgZXh0ZW5kcyBYaHRtbE9iamVjdHtjb25zdHJ1Y3RvcihlKXtzdXBlcihlLCJ1bCIpfX1jbGFzcyBYaHRtbE5hbWVzcGFjZXtzdGF0aWNbQ25dKGUsdCl7aWYoWGh0bWxOYW1lc3BhY2UuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIFhodG1sTmFtZXNwYWNlW2VdKHQpfXN0YXRpYyBhKGUpe3JldHVybiBuZXcgQShlKX1zdGF0aWMgYihlKXtyZXR1cm4gbmV3IEIoZSl9c3RhdGljIGJvZHkoZSl7cmV0dXJuIG5ldyBCb2R5KGUpfXN0YXRpYyBicihlKXtyZXR1cm4gbmV3IEJyKGUpfXN0YXRpYyBodG1sKGUpe3JldHVybiBuZXcgSHRtbChlKX1zdGF0aWMgaShlKXtyZXR1cm4gbmV3IEkoZSl9c3RhdGljIGxpKGUpe3JldHVybiBuZXcgTGkoZSl9c3RhdGljIG9sKGUpe3JldHVybiBuZXcgT2woZSl9c3RhdGljIHAoZSl7cmV0dXJuIG5ldyBQKGUpfXN0YXRpYyBzcGFuKGUpe3JldHVybiBuZXcgU3BhbihlKX1zdGF0aWMgc3ViKGUpe3JldHVybiBuZXcgU3ViKGUpfXN0YXRpYyBzdXAoZSl7cmV0dXJuIG5ldyBTdXAoZSl9c3RhdGljIHVsKGUpe3JldHVybiBuZXcgVWwoZSl9fWNvbnN0IGdnPXtjb25maWc6Q29uZmlnTmFtZXNwYWNlLGNvbm5lY3Rpb246Q29ubmVjdGlvblNldE5hbWVzcGFjZSxkYXRhc2V0czpEYXRhc2V0c05hbWVzcGFjZSxsb2NhbGVTZXQ6TG9jYWxlU2V0TmFtZXNwYWNlLHNpZ25hdHVyZTpTaWduYXR1cmVOYW1lc3BhY2Usc3R5bGVzaGVldDpTdHlsZXNoZWV0TmFtZXNwYWNlLHRlbXBsYXRlOlRlbXBsYXRlTmFtZXNwYWNlLHhkcDpYZHBOYW1lc3BhY2UseGh0bWw6WGh0bWxOYW1lc3BhY2V9O2NsYXNzIFVua25vd25OYW1lc3BhY2V7Y29uc3RydWN0b3IoZSl7dGhpcy5uYW1lc3BhY2VJZD1lfVtDbl0oZSx0KXtyZXR1cm4gbmV3IFhtbE9iamVjdCh0aGlzLm5hbWVzcGFjZUlkLGUsdCl9fWNsYXNzIFJvb3QgZXh0ZW5kcyBYRkFPYmplY3R7Y29uc3RydWN0b3IoZSl7c3VwZXIoLTEsInJvb3QiLE9iamVjdC5jcmVhdGUobnVsbCkpO3RoaXMuZWxlbWVudD1udWxsO3RoaXNba3JdPWV9W1ByXShlKXt0aGlzLmVsZW1lbnQ9ZTtyZXR1cm4hMH1bb3JdKCl7c3VwZXJbb3JdKCk7aWYodGhpcy5lbGVtZW50LnRlbXBsYXRlIGluc3RhbmNlb2YgVGVtcGxhdGUpe3RoaXNba3JdLnNldChfcix0aGlzLmVsZW1lbnQpO3RoaXMuZWxlbWVudC50ZW1wbGF0ZVskcl0odGhpc1trcl0pO3RoaXMuZWxlbWVudC50ZW1wbGF0ZVtrcl09dGhpc1trcl19fX1jbGFzcyBFbXB0eSBleHRlbmRzIFhGQU9iamVjdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKC0xLCIiLE9iamVjdC5jcmVhdGUobnVsbCkpfVtQcl0oZSl7cmV0dXJuITF9fWNsYXNzIEJ1aWxkZXJ7Y29uc3RydWN0b3IoZT1udWxsKXt0aGlzLl9uYW1lc3BhY2VTdGFjaz1bXTt0aGlzLl9uc0Fnbm9zdGljTGV2ZWw9MDt0aGlzLl9uYW1lc3BhY2VQcmVmaXhlcz1uZXcgTWFwO3RoaXMuX25hbWVzcGFjZXM9bmV3IE1hcDt0aGlzLl9uZXh0TnNJZD1NYXRoLm1heCguLi5PYmplY3QudmFsdWVzKGhuKS5tYXAoKCh7aWQ6ZX0pPT5lKSkpO3RoaXMuX2N1cnJlbnROYW1lc3BhY2U9ZXx8bmV3IFVua25vd25OYW1lc3BhY2UoKyt0aGlzLl9uZXh0TnNJZCl9YnVpbGRSb290KGUpe3JldHVybiBuZXcgUm9vdChlKX1idWlsZCh7bnNQcmVmaXg6ZSxuYW1lOnQsYXR0cmlidXRlczppLG5hbWVzcGFjZTphLHByZWZpeGVzOnN9KXtjb25zdCByPW51bGwhPT1hO2lmKHIpe3RoaXMuX25hbWVzcGFjZVN0YWNrLnB1c2godGhpcy5fY3VycmVudE5hbWVzcGFjZSk7dGhpcy5fY3VycmVudE5hbWVzcGFjZT10aGlzLl9zZWFyY2hOYW1lc3BhY2UoYSl9cyYmdGhpcy5fYWRkTmFtZXNwYWNlUHJlZml4KHMpO2lmKGkuaGFzT3duUHJvcGVydHkoT3IpKXtjb25zdCBlPWdnLmRhdGFzZXRzLHQ9aVtPcl07bGV0IGE9bnVsbDtmb3IoY29uc3RbaSxzXW9mIE9iamVjdC5lbnRyaWVzKHQpKXtpZih0aGlzLl9nZXROYW1lc3BhY2VUb1VzZShpKT09PWUpe2E9e3hmYTpzfTticmVha319YT9pW09yXT1hOmRlbGV0ZSBpW09yXX1jb25zdCBuPXRoaXMuX2dldE5hbWVzcGFjZVRvVXNlKGUpLGc9bj8uW0NuXSh0LGkpfHxuZXcgRW1wdHk7Z1tMcl0oKSYmdGhpcy5fbnNBZ25vc3RpY0xldmVsKys7KHJ8fHN8fGdbTHJdKCkpJiYoZ1t0cl09e2hhc05hbWVzcGFjZTpyLHByZWZpeGVzOnMsbnNBZ25vc3RpYzpnW0xyXSgpfSk7cmV0dXJuIGd9aXNOc0Fnbm9zdGljKCl7cmV0dXJuIHRoaXMuX25zQWdub3N0aWNMZXZlbD4wfV9zZWFyY2hOYW1lc3BhY2UoZSl7bGV0IHQ9dGhpcy5fbmFtZXNwYWNlcy5nZXQoZSk7aWYodClyZXR1cm4gdDtmb3IoY29uc3RbaSx7Y2hlY2s6YX1db2YgT2JqZWN0LmVudHJpZXMoaG4pKWlmKGEoZSkpe3Q9Z2dbaV07aWYodCl7dGhpcy5fbmFtZXNwYWNlcy5zZXQoZSx0KTtyZXR1cm4gdH1icmVha310PW5ldyBVbmtub3duTmFtZXNwYWNlKCsrdGhpcy5fbmV4dE5zSWQpO3RoaXMuX25hbWVzcGFjZXMuc2V0KGUsdCk7cmV0dXJuIHR9X2FkZE5hbWVzcGFjZVByZWZpeChlKXtmb3IoY29uc3R7cHJlZml4OnQsdmFsdWU6aX1vZiBlKXtjb25zdCBlPXRoaXMuX3NlYXJjaE5hbWVzcGFjZShpKTtsZXQgYT10aGlzLl9uYW1lc3BhY2VQcmVmaXhlcy5nZXQodCk7aWYoIWEpe2E9W107dGhpcy5fbmFtZXNwYWNlUHJlZml4ZXMuc2V0KHQsYSl9YS5wdXNoKGUpfX1fZ2V0TmFtZXNwYWNlVG9Vc2UoZSl7aWYoIWUpcmV0dXJuIHRoaXMuX2N1cnJlbnROYW1lc3BhY2U7Y29uc3QgdD10aGlzLl9uYW1lc3BhY2VQcmVmaXhlcy5nZXQoZSk7aWYodD8ubGVuZ3RoPjApcmV0dXJuIHQuYXQoLTEpO3dhcm4oYFVua25vd24gbmFtZXNwYWNlIHByZWZpeDogJHtlfS5gKTtyZXR1cm4gbnVsbH1jbGVhbihlKXtjb25zdHtoYXNOYW1lc3BhY2U6dCxwcmVmaXhlczppLG5zQWdub3N0aWM6YX09ZTt0JiYodGhpcy5fY3VycmVudE5hbWVzcGFjZT10aGlzLl9uYW1lc3BhY2VTdGFjay5wb3AoKSk7aSYmaS5mb3JFYWNoKCgoe3ByZWZpeDplfSk9Pnt0aGlzLl9uYW1lc3BhY2VQcmVmaXhlcy5nZXQoZSkucG9wKCl9KSk7YSYmdGhpcy5fbnNBZ25vc3RpY0xldmVsLS19fWNsYXNzIFhGQVBhcnNlciBleHRlbmRzIFhNTFBhcnNlckJhc2V7Y29uc3RydWN0b3IoZT1udWxsLHQ9ITEpe3N1cGVyKCk7dGhpcy5fYnVpbGRlcj1uZXcgQnVpbGRlcihlKTt0aGlzLl9zdGFjaz1bXTt0aGlzLl9nbG9iYWxEYXRhPXt1c2VkVHlwZWZhY2VzOm5ldyBTZXR9O3RoaXMuX2lkcz1uZXcgTWFwO3RoaXMuX2N1cnJlbnQ9dGhpcy5fYnVpbGRlci5idWlsZFJvb3QodGhpcy5faWRzKTt0aGlzLl9lcnJvckNvZGU9VXM7dGhpcy5fd2hpdGVSZWdleD0vXlxzKyQvO3RoaXMuX25ic3BzPS9ceGEwKy9nO3RoaXMuX3JpY2hUZXh0PXR9cGFyc2UoZSl7dGhpcy5wYXJzZVhtbChlKTtpZih0aGlzLl9lcnJvckNvZGU9PT1Vcyl7dGhpcy5fY3VycmVudFtvcl0oKTtyZXR1cm4gdGhpcy5fY3VycmVudC5lbGVtZW50fX1vblRleHQoZSl7ZT1lLnJlcGxhY2UodGhpcy5fbmJzcHMsKGU9PmUuc2xpY2UoMSkrIiAiKSk7dGhpcy5fcmljaFRleHR8fHRoaXMuX2N1cnJlbnRbVnNdKCk/dGhpcy5fY3VycmVudFtqcl0oZSx0aGlzLl9yaWNoVGV4dCk6dGhpcy5fd2hpdGVSZWdleC50ZXN0KGUpfHx0aGlzLl9jdXJyZW50W2pyXShlLnRyaW0oKSl9b25DZGF0YShlKXt0aGlzLl9jdXJyZW50W2pyXShlKX1fbWtBdHRyaWJ1dGVzKGUsdCl7bGV0IGk9bnVsbCxhPW51bGw7Y29uc3Qgcz1PYmplY3QuY3JlYXRlKHt9KTtmb3IoY29uc3R7bmFtZTpyLHZhbHVlOm59b2YgZSlpZigieG1sbnMiPT09cilpP3dhcm4oYFhGQSAtIG11bHRpcGxlIG5hbWVzcGFjZSBkZWZpbml0aW9uIGluIDwke3R9PmApOmk9bjtlbHNlIGlmKHIuc3RhcnRzV2l0aCgieG1sbnM6Iikpe2NvbnN0IGU9ci5zdWJzdHJpbmcoNik7YXx8KGE9W10pO2EucHVzaCh7cHJlZml4OmUsdmFsdWU6bn0pfWVsc2V7Y29uc3QgZT1yLmluZGV4T2YoIjoiKTtpZigtMT09PWUpc1tyXT1uO2Vsc2V7bGV0IHQ9c1tPcl07dHx8KHQ9c1tPcl09T2JqZWN0LmNyZWF0ZShudWxsKSk7Y29uc3RbaSxhXT1bci5zbGljZSgwLGUpLHIuc2xpY2UoZSsxKV07KHRbaV18fD1PYmplY3QuY3JlYXRlKG51bGwpKVthXT1ufX1yZXR1cm5baSxhLHNdfV9nZXROYW1lQW5kUHJlZml4KGUsdCl7Y29uc3QgaT1lLmluZGV4T2YoIjoiKTtyZXR1cm4tMT09PWk/W2UsbnVsbF06W2Uuc3Vic3RyaW5nKGkrMSksdD8iIjplLnN1YnN0cmluZygwLGkpXX1vbkJlZ2luRWxlbWVudChlLHQsaSl7Y29uc3RbYSxzLHJdPXRoaXMuX21rQXR0cmlidXRlcyh0LGUpLFtuLGddPXRoaXMuX2dldE5hbWVBbmRQcmVmaXgoZSx0aGlzLl9idWlsZGVyLmlzTnNBZ25vc3RpYygpKSxvPXRoaXMuX2J1aWxkZXIuYnVpbGQoe25zUHJlZml4OmcsbmFtZTpuLGF0dHJpYnV0ZXM6cixuYW1lc3BhY2U6YSxwcmVmaXhlczpzfSk7b1tGcl09dGhpcy5fZ2xvYmFsRGF0YTtpZihpKXtvW29yXSgpO3RoaXMuX2N1cnJlbnRbUHJdKG8pJiZvW2VuXSh0aGlzLl9pZHMpO29bQXJdKHRoaXMuX2J1aWxkZXIpfWVsc2V7dGhpcy5fc3RhY2sucHVzaCh0aGlzLl9jdXJyZW50KTt0aGlzLl9jdXJyZW50PW99fW9uRW5kRWxlbWVudChlKXtjb25zdCB0PXRoaXMuX2N1cnJlbnQ7aWYodFtHcl0oKSYmInN0cmluZyI9PXR5cGVvZiB0W3NyXSl7Y29uc3QgZT1uZXcgWEZBUGFyc2VyO2UuX2dsb2JhbERhdGE9dGhpcy5fZ2xvYmFsRGF0YTtjb25zdCBpPWUucGFyc2UodFtzcl0pO3Rbc3JdPW51bGw7dFtQcl0oaSl9dFtvcl0oKTt0aGlzLl9jdXJyZW50PXRoaXMuX3N0YWNrLnBvcCgpO3RoaXMuX2N1cnJlbnRbUHJdKHQpJiZ0W2VuXSh0aGlzLl9pZHMpO3RbQXJdKHRoaXMuX2J1aWxkZXIpfW9uRXJyb3IoZSl7dGhpcy5fZXJyb3JDb2RlPWV9fWNsYXNzIFhGQUZhY3Rvcnl7Y29uc3RydWN0b3IoZSl7dHJ5e3RoaXMucm9vdD0obmV3IFhGQVBhcnNlcikucGFyc2UoWEZBRmFjdG9yeS5fY3JlYXRlRG9jdW1lbnQoZSkpO2NvbnN0IHQ9bmV3IEJpbmRlcih0aGlzLnJvb3QpO3RoaXMuZm9ybT10LmJpbmQoKTt0aGlzLmRhdGFIYW5kbGVyPW5ldyBEYXRhSGFuZGxlcih0aGlzLnJvb3QsdC5nZXREYXRhKCkpO3RoaXMuZm9ybVtGcl0udGVtcGxhdGU9dGhpcy5mb3JtfWNhdGNoKGUpe3dhcm4oYFhGQSAtIGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBwYXJzaW5nIGFuZCBiaW5kaW5nOiAke2V9YCl9fWlzVmFsaWQoKXtyZXR1cm4gdGhpcy5yb290JiZ0aGlzLmZvcm19X2NyZWF0ZVBhZ2VzSGVscGVyKCl7Y29uc3QgZT10aGlzLmZvcm1bbm5dKCk7cmV0dXJuIG5ldyBQcm9taXNlKCgodCxpKT0+e2NvbnN0IG5leHRJdGVyYXRpb249KCk9Pnt0cnl7Y29uc3QgaT1lLm5leHQoKTtpLmRvbmU/dChpLnZhbHVlKTpzZXRUaW1lb3V0KG5leHRJdGVyYXRpb24sMCl9Y2F0Y2goZSl7aShlKX19O3NldFRpbWVvdXQobmV4dEl0ZXJhdGlvbiwwKX0pKX1hc3luYyBfY3JlYXRlUGFnZXMoKXt0cnl7dGhpcy5wYWdlcz1hd2FpdCB0aGlzLl9jcmVhdGVQYWdlc0hlbHBlcigpO3RoaXMuZGltcz10aGlzLnBhZ2VzLmNoaWxkcmVuLm1hcCgoZT0+e2NvbnN0e3dpZHRoOnQsaGVpZ2h0Oml9PWUuYXR0cmlidXRlcy5zdHlsZTtyZXR1cm5bMCwwLHBhcnNlSW50KHQpLHBhcnNlSW50KGkpXX0pKX1jYXRjaChlKXt3YXJuKGBYRkEgLSBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgbGF5b3V0OiAke2V9YCl9fWdldEJvdW5kaW5nQm94KGUpe3JldHVybiB0aGlzLmRpbXNbZV19YXN5bmMgZ2V0TnVtUGFnZXMoKXt0aGlzLnBhZ2VzfHxhd2FpdCB0aGlzLl9jcmVhdGVQYWdlcygpO3JldHVybiB0aGlzLmRpbXMubGVuZ3RofXNldEltYWdlcyhlKXt0aGlzLmZvcm1bRnJdLmltYWdlcz1lfXNldEZvbnRzKGUpe3RoaXMuZm9ybVtGcl0uZm9udEZpbmRlcj1uZXcgRm9udEZpbmRlcihlKTtjb25zdCB0PVtdO2ZvcihsZXQgZSBvZiB0aGlzLmZvcm1bRnJdLnVzZWRUeXBlZmFjZXMpe2U9c3RyaXBRdW90ZXMoZSk7dGhpcy5mb3JtW0ZyXS5mb250RmluZGVyLmZpbmQoZSl8fHQucHVzaChlKX1yZXR1cm4gdC5sZW5ndGg+MD90Om51bGx9YXBwZW5kRm9udHMoZSx0KXt0aGlzLmZvcm1bRnJdLmZvbnRGaW5kZXIuYWRkKGUsdCl9YXN5bmMgZ2V0UGFnZXMoKXt0aGlzLnBhZ2VzfHxhd2FpdCB0aGlzLl9jcmVhdGVQYWdlcygpO2NvbnN0IGU9dGhpcy5wYWdlczt0aGlzLnBhZ2VzPW51bGw7cmV0dXJuIGV9c2VyaWFsaXplRGF0YShlKXtyZXR1cm4gdGhpcy5kYXRhSGFuZGxlci5zZXJpYWxpemUoZSl9c3RhdGljIF9jcmVhdGVEb2N1bWVudChlKXtyZXR1cm4gZVsiL3hkcDp4ZHAiXT9PYmplY3QudmFsdWVzKGUpLmpvaW4oIiIpOmVbInhkcDp4ZHAiXX1zdGF0aWMgZ2V0UmljaFRleHRBc0h0bWwoZSl7aWYoIWV8fCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gbnVsbDt0cnl7bGV0IHQ9bmV3IFhGQVBhcnNlcihYaHRtbE5hbWVzcGFjZSwhMCkucGFyc2UoZSk7aWYoIVsiYm9keSIsInhodG1sIl0uaW5jbHVkZXModFtxcl0pKXtjb25zdCBlPVhodG1sTmFtZXNwYWNlLmJvZHkoe30pO2VbX3NdKHQpO3Q9ZX1jb25zdCBpPXRbZ25dKCk7aWYoIWkuc3VjY2VzcylyZXR1cm4gbnVsbDtjb25zdHtodG1sOmF9PWkse2F0dHJpYnV0ZXM6c309YTtpZihzKXtzLmNsYXNzJiYocy5jbGFzcz1zLmNsYXNzLmZpbHRlcigoZT0+IWUuc3RhcnRzV2l0aCgieGZhIikpKSk7cy5kaXI9ImF1dG8ifXJldHVybntodG1sOmEsc3RyOnRbcm5dKCl9fWNhdGNoKGUpe3dhcm4oYFhGQSAtIGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBwYXJzaW5nIG9mIHJpY2ggdGV4dDogJHtlfWApfXJldHVybiBudWxsfX1jbGFzcyBBbm5vdGF0aW9uRmFjdG9yeXtzdGF0aWMgY3JlYXRlR2xvYmFscyhlKXtyZXR1cm4gUHJvbWlzZS5hbGwoW2UuZW5zdXJlQ2F0YWxvZygiYWNyb0Zvcm0iKSxlLmVuc3VyZURvYygieGZhRGF0YXNldHMiKSxlLmVuc3VyZUNhdGFsb2coInN0cnVjdFRyZWVSb290IiksZS5lbnN1cmVDYXRhbG9nKCJiYXNlVXJsIiksZS5lbnN1cmVDYXRhbG9nKCJhdHRhY2htZW50cyIpXSkudGhlbigoKFt0LGksYSxzLHJdKT0+KHtwZGZNYW5hZ2VyOmUsYWNyb0Zvcm06dCBpbnN0YW5jZW9mIERpY3Q/dDpEaWN0LmVtcHR5LHhmYURhdGFzZXRzOmksc3RydWN0VHJlZVJvb3Q6YSxiYXNlVXJsOnMsYXR0YWNobWVudHM6cn0pKSwoZT0+e3dhcm4oYGNyZWF0ZUdsb2JhbHM6ICIke2V9Ii5gKTtyZXR1cm4gbnVsbH0pKX1zdGF0aWMgYXN5bmMgY3JlYXRlKGUsdCxpLGEscyxyLG4pe2NvbnN0IGc9cz9hd2FpdCB0aGlzLl9nZXRQYWdlSW5kZXgoZSx0LGkucGRmTWFuYWdlcik6bnVsbDtyZXR1cm4gaS5wZGZNYW5hZ2VyLmVuc3VyZSh0aGlzLCJfY3JlYXRlIixbZSx0LGksYSxzLHIsZyxuXSl9c3RhdGljIF9jcmVhdGUoZSx0LGksYSxzPSExLHI9bnVsbCxuPW51bGwsZz1udWxsKXtjb25zdCBvPWUuZmV0Y2hJZlJlZih0KTtpZighKG8gaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3R7YWNyb0Zvcm06YyxwZGZNYW5hZ2VyOkN9PWksaD10IGluc3RhbmNlb2YgUmVmP3QudG9TdHJpbmcoKTpgYW5ub3RfJHthLmNyZWF0ZU9iaklkKCl9YDtsZXQgbD1vLmdldCgiU3VidHlwZSIpO2w9bCBpbnN0YW5jZW9mIE5hbWU/bC5uYW1lOm51bGw7Y29uc3QgUT17eHJlZjplLHJlZjp0LGRpY3Q6byxzdWJ0eXBlOmwsaWQ6aCxhbm5vdGF0aW9uR2xvYmFsczppLGNvbGxlY3RGaWVsZHM6cyxvcnBoYW5GaWVsZHM6cixuZWVkQXBwZWFyYW5jZXM6IXMmJiEwPT09Yy5nZXQoIk5lZWRBcHBlYXJhbmNlcyIpLHBhZ2VJbmRleDpuLGV2YWx1YXRvck9wdGlvbnM6Qy5ldmFsdWF0b3JPcHRpb25zLHBhZ2VSZWY6Z307c3dpdGNoKGwpe2Nhc2UiTGluayI6cmV0dXJuIG5ldyBMaW5rQW5ub3RhdGlvbihRKTtjYXNlIlRleHQiOnJldHVybiBuZXcgVGV4dEFubm90YXRpb24oUSk7Y2FzZSJXaWRnZXQiOmxldCBlPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6byxrZXk6IkZUIn0pO2U9ZSBpbnN0YW5jZW9mIE5hbWU/ZS5uYW1lOm51bGw7c3dpdGNoKGUpe2Nhc2UiVHgiOnJldHVybiBuZXcgVGV4dFdpZGdldEFubm90YXRpb24oUSk7Y2FzZSJCdG4iOnJldHVybiBuZXcgQnV0dG9uV2lkZ2V0QW5ub3RhdGlvbihRKTtjYXNlIkNoIjpyZXR1cm4gbmV3IENob2ljZVdpZGdldEFubm90YXRpb24oUSk7Y2FzZSJTaWciOnJldHVybiBuZXcgU2lnbmF0dXJlV2lkZ2V0QW5ub3RhdGlvbihRKX13YXJuKGBVbmltcGxlbWVudGVkIHdpZGdldCBmaWVsZCB0eXBlICIke2V9IiwgZmFsbGluZyBiYWNrIHRvIGJhc2UgZmllbGQgdHlwZS5gKTtyZXR1cm4gbmV3IFdpZGdldEFubm90YXRpb24oUSk7Y2FzZSJQb3B1cCI6cmV0dXJuIG5ldyBQb3B1cEFubm90YXRpb24oUSk7Y2FzZSJGcmVlVGV4dCI6cmV0dXJuIG5ldyBGcmVlVGV4dEFubm90YXRpb24oUSk7Y2FzZSJMaW5lIjpyZXR1cm4gbmV3IExpbmVBbm5vdGF0aW9uKFEpO2Nhc2UiU3F1YXJlIjpyZXR1cm4gbmV3IFNxdWFyZUFubm90YXRpb24oUSk7Y2FzZSJDaXJjbGUiOnJldHVybiBuZXcgQ2lyY2xlQW5ub3RhdGlvbihRKTtjYXNlIlBvbHlMaW5lIjpyZXR1cm4gbmV3IFBvbHlsaW5lQW5ub3RhdGlvbihRKTtjYXNlIlBvbHlnb24iOnJldHVybiBuZXcgUG9seWdvbkFubm90YXRpb24oUSk7Y2FzZSJDYXJldCI6cmV0dXJuIG5ldyBDYXJldEFubm90YXRpb24oUSk7Y2FzZSJJbmsiOnJldHVybiBuZXcgSW5rQW5ub3RhdGlvbihRKTtjYXNlIkhpZ2hsaWdodCI6cmV0dXJuIG5ldyBIaWdobGlnaHRBbm5vdGF0aW9uKFEpO2Nhc2UiVW5kZXJsaW5lIjpyZXR1cm4gbmV3IFVuZGVybGluZUFubm90YXRpb24oUSk7Y2FzZSJTcXVpZ2dseSI6cmV0dXJuIG5ldyBTcXVpZ2dseUFubm90YXRpb24oUSk7Y2FzZSJTdHJpa2VPdXQiOnJldHVybiBuZXcgU3RyaWtlT3V0QW5ub3RhdGlvbihRKTtjYXNlIlN0YW1wIjpyZXR1cm4gbmV3IFN0YW1wQW5ub3RhdGlvbihRKTtjYXNlIkZpbGVBdHRhY2htZW50IjpyZXR1cm4gbmV3IEZpbGVBdHRhY2htZW50QW5ub3RhdGlvbihRKTtkZWZhdWx0OnN8fHdhcm4obD9gVW5pbXBsZW1lbnRlZCBhbm5vdGF0aW9uIHR5cGUgIiR7bH0iLCBmYWxsaW5nIGJhY2sgdG8gYmFzZSBhbm5vdGF0aW9uLmA6IkFubm90YXRpb24gaXMgbWlzc2luZyB0aGUgcmVxdWlyZWQgL1N1YnR5cGUuIik7cmV0dXJuIG5ldyBBbm5vdGF0aW9uKFEpfX1zdGF0aWMgYXN5bmMgX2dldFBhZ2VJbmRleChlLHQsaSl7dHJ5e2NvbnN0IGE9YXdhaXQgZS5mZXRjaElmUmVmQXN5bmModCk7aWYoIShhIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuLTE7Y29uc3Qgcz1hLmdldFJhdygiUCIpO2lmKHMgaW5zdGFuY2VvZiBSZWYpdHJ5e3JldHVybiBhd2FpdCBpLmVuc3VyZUNhdGFsb2coImdldFBhZ2VJbmRleCIsW3NdKX1jYXRjaChlKXtpbmZvKGBfZ2V0UGFnZUluZGV4IC0tIG5vdCBhIHZhbGlkIHBhZ2UgcmVmZXJlbmNlOiAiJHtlfSIuYCl9aWYoYS5oYXMoIktpZHMiKSlyZXR1cm4tMTtjb25zdCByPWF3YWl0IGkuZW5zdXJlRG9jKCJudW1QYWdlcyIpO2ZvcihsZXQgZT0wO2U8cjtlKyspe2NvbnN0IGE9YXdhaXQgaS5nZXRQYWdlKGUpLHM9YXdhaXQgaS5lbnN1cmUoYSwiYW5ub3RhdGlvbnMiKTtmb3IoY29uc3QgaSBvZiBzKWlmKGkgaW5zdGFuY2VvZiBSZWYmJmlzUmVmc0VxdWFsKGksdCkpcmV0dXJuIGV9fWNhdGNoKGUpe3dhcm4oYF9nZXRQYWdlSW5kZXg6ICIke2V9Ii5gKX1yZXR1cm4tMX1zdGF0aWMgZ2VuZXJhdGVJbWFnZXMoZSx0LGkpe2lmKCFpKXt3YXJuKCJnZW5lcmF0ZUltYWdlczogT2Zmc2NyZWVuQ2FudmFzIGlzIG5vdCBzdXBwb3J0ZWQsIGNhbm5vdCBzYXZlIG9yIHByaW50IHNvbWUgYW5ub3RhdGlvbnMgd2l0aCBpbWFnZXMuIik7cmV0dXJuIG51bGx9bGV0IGE7Zm9yKGNvbnN0e2JpdG1hcElkOmksYml0bWFwOnN9b2YgZSlpZihzKXthfHw9bmV3IE1hcDthLnNldChpLFN0YW1wQW5ub3RhdGlvbi5jcmVhdGVJbWFnZShzLHQpKX1yZXR1cm4gYX1zdGF0aWMgYXN5bmMgc2F2ZU5ld0Fubm90YXRpb25zKGUsdCxpLGEpe2NvbnN0IHM9ZS54cmVmO2xldCByO2NvbnN0IG49W10sZz1bXSx7aXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ6b309ZS5vcHRpb25zO2Zvcihjb25zdCBjIG9mIGkpaWYoIWMuZGVsZXRlZClzd2l0Y2goYy5hbm5vdGF0aW9uVHlwZSl7Y2FzZSBkOmlmKCFyKXtjb25zdCBlPW5ldyBEaWN0KHMpO2Uuc2V0KCJCYXNlRm9udCIsTmFtZS5nZXQoIkhlbHZldGljYSIpKTtlLnNldCgiVHlwZSIsTmFtZS5nZXQoIkZvbnQiKSk7ZS5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJUeXBlMSIpKTtlLnNldCgiRW5jb2RpbmciLE5hbWUuZ2V0KCJXaW5BbnNpRW5jb2RpbmciKSk7Y29uc3QgdD1bXTtyPXMuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7YXdhaXQgd3JpdGVPYmplY3QocixlLHQscyk7bi5wdXNoKHtyZWY6cixkYXRhOnQuam9pbigiIil9KX1nLnB1c2goRnJlZVRleHRBbm5vdGF0aW9uLmNyZWF0ZU5ld0Fubm90YXRpb24ocyxjLG4se2V2YWx1YXRvcjplLHRhc2s6dCxiYXNlRm9udFJlZjpyfSkpO2JyZWFrO2Nhc2UgZjpjLnF1YWRQb2ludHM/Zy5wdXNoKEhpZ2hsaWdodEFubm90YXRpb24uY3JlYXRlTmV3QW5ub3RhdGlvbihzLGMsbikpOmcucHVzaChJbmtBbm5vdGF0aW9uLmNyZWF0ZU5ld0Fubm90YXRpb24ocyxjLG4pKTticmVhaztjYXNlIG06Zy5wdXNoKElua0Fubm90YXRpb24uY3JlYXRlTmV3QW5ub3RhdGlvbihzLGMsbikpO2JyZWFrO2Nhc2UgcDpjb25zdCBpPW8/YXdhaXQoYT8uZ2V0KGMuYml0bWFwSWQpKTpudWxsO2lmKGk/LmltYWdlU3RyZWFtKXtjb25zdHtpbWFnZVN0cmVhbTplLHNtYXNrU3RyZWFtOnR9PWksYT1bXTtpZih0KXtjb25zdCBpPXMuZ2V0TmV3VGVtcG9yYXJ5UmVmKCk7YXdhaXQgd3JpdGVPYmplY3QoaSx0LGEscyk7bi5wdXNoKHtyZWY6aSxkYXRhOmEuam9pbigiIil9KTtlLmRpY3Quc2V0KCJTTWFzayIsaSk7YS5sZW5ndGg9MH1jb25zdCByPWkuaW1hZ2VSZWY9cy5nZXROZXdUZW1wb3JhcnlSZWYoKTthd2FpdCB3cml0ZU9iamVjdChyLGUsYSxzKTtuLnB1c2goe3JlZjpyLGRhdGE6YS5qb2luKCIiKX0pO2kuaW1hZ2VTdHJlYW09aS5zbWFza1N0cmVhbT1udWxsfWcucHVzaChTdGFtcEFubm90YXRpb24uY3JlYXRlTmV3QW5ub3RhdGlvbihzLGMsbix7aW1hZ2U6aX0pKX1yZXR1cm57YW5ub3RhdGlvbnM6YXdhaXQgUHJvbWlzZS5hbGwoZyksZGVwZW5kZW5jaWVzOm59fXN0YXRpYyBhc3luYyBwcmludE5ld0Fubm90YXRpb25zKGUsdCxpLGEscyl7aWYoIWEpcmV0dXJuIG51bGw7Y29uc3R7b3B0aW9uczpyLHhyZWY6bn09dCxnPVtdO2Zvcihjb25zdCBvIG9mIGEpaWYoIW8uZGVsZXRlZClzd2l0Y2goby5hbm5vdGF0aW9uVHlwZSl7Y2FzZSBkOmcucHVzaChGcmVlVGV4dEFubm90YXRpb24uY3JlYXRlTmV3UHJpbnRBbm5vdGF0aW9uKGUsbixvLHtldmFsdWF0b3I6dCx0YXNrOmksZXZhbHVhdG9yT3B0aW9uczpyfSkpO2JyZWFrO2Nhc2UgZjpvLnF1YWRQb2ludHM/Zy5wdXNoKEhpZ2hsaWdodEFubm90YXRpb24uY3JlYXRlTmV3UHJpbnRBbm5vdGF0aW9uKGUsbixvLHtldmFsdWF0b3JPcHRpb25zOnJ9KSk6Zy5wdXNoKElua0Fubm90YXRpb24uY3JlYXRlTmV3UHJpbnRBbm5vdGF0aW9uKGUsbixvLHtldmFsdWF0b3JPcHRpb25zOnJ9KSk7YnJlYWs7Y2FzZSBtOmcucHVzaChJbmtBbm5vdGF0aW9uLmNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLG4sbyx7ZXZhbHVhdG9yT3B0aW9uczpyfSkpO2JyZWFrO2Nhc2UgcDpjb25zdCBhPXIuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ/YXdhaXQocz8uZ2V0KG8uYml0bWFwSWQpKTpudWxsO2lmKGE/LmltYWdlU3RyZWFtKXtjb25zdHtpbWFnZVN0cmVhbTplLHNtYXNrU3RyZWFtOnR9PWE7dCYmZS5kaWN0LnNldCgiU01hc2siLHQpO2EuaW1hZ2VSZWY9bmV3IEpwZWdTdHJlYW0oZSxlLmxlbmd0aCk7YS5pbWFnZVN0cmVhbT1hLnNtYXNrU3RyZWFtPW51bGx9Zy5wdXNoKFN0YW1wQW5ub3RhdGlvbi5jcmVhdGVOZXdQcmludEFubm90YXRpb24oZSxuLG8se2ltYWdlOmEsZXZhbHVhdG9yT3B0aW9uczpyfSkpfXJldHVybiBQcm9taXNlLmFsbChnKX19ZnVuY3Rpb24gZ2V0UmdiQ29sb3IoZSx0PW5ldyBVaW50OENsYW1wZWRBcnJheSgzKSl7aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHQ7Y29uc3QgaT10fHxuZXcgVWludDhDbGFtcGVkQXJyYXkoMyk7c3dpdGNoKGUubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIG51bGw7Y2FzZSAxOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5ncmF5LmdldFJnYkl0ZW0oZSwwLGksMCk7cmV0dXJuIGk7Y2FzZSAzOkNvbG9yU3BhY2Uuc2luZ2xldG9ucy5yZ2IuZ2V0UmdiSXRlbShlLDAsaSwwKTtyZXR1cm4gaTtjYXNlIDQ6Q29sb3JTcGFjZS5zaW5nbGV0b25zLmNteWsuZ2V0UmdiSXRlbShlLDAsaSwwKTtyZXR1cm4gaTtkZWZhdWx0OnJldHVybiB0fX1mdW5jdGlvbiBnZXRQZGZDb2xvckFycmF5KGUpe3JldHVybiBBcnJheS5mcm9tKGUsKGU9PmUvMjU1KSl9ZnVuY3Rpb24gZ2V0UXVhZFBvaW50cyhlLHQpe2NvbnN0IGk9ZS5nZXRBcnJheSgiUXVhZFBvaW50cyIpO2lmKCFpc051bWJlckFycmF5KGksbnVsbCl8fDA9PT1pLmxlbmd0aHx8aS5sZW5ndGglOD4wKXJldHVybiBudWxsO2NvbnN0IGE9bmV3IEZsb2F0MzJBcnJheShpLmxlbmd0aCk7Zm9yKGxldCBlPTAscz1pLmxlbmd0aDtlPHM7ZSs9OCl7Y29uc3RbcyxyLG4sZyxvLGMsQyxoXT1pLnNsaWNlKGUsZSs4KSxsPU1hdGgubWluKHMsbixvLEMpLFE9TWF0aC5tYXgocyxuLG8sQyksRT1NYXRoLm1pbihyLGcsYyxoKSx1PU1hdGgubWF4KHIsZyxjLGgpO2lmKG51bGwhPT10JiYobDx0WzBdfHxRPnRbMl18fEU8dFsxXXx8dT50WzNdKSlyZXR1cm4gbnVsbDthLnNldChbbCx1LFEsdSxsLEUsUSxFXSxlKX1yZXR1cm4gYX1mdW5jdGlvbiBnZXRUcmFuc2Zvcm1NYXRyaXgoZSx0LGkpe2NvbnN0W2EscyxyLG5dPVV0aWwuZ2V0QXhpYWxBbGlnbmVkQm91bmRpbmdCb3godCxpKTtpZihhPT09cnx8cz09PW4pcmV0dXJuWzEsMCwwLDEsZVswXSxlWzFdXTtjb25zdCBnPShlWzJdLWVbMF0pLyhyLWEpLG89KGVbM10tZVsxXSkvKG4tcyk7cmV0dXJuW2csMCwwLG8sZVswXS1hKmcsZVsxXS1zKm9dfWNsYXNzIEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7Y29uc3R7ZGljdDp0LHhyZWY6aSxhbm5vdGF0aW9uR2xvYmFsczphLHJlZjpzLG9ycGhhbkZpZWxkczpyfT1lLG49cj8uZ2V0KHMpO24mJnQuc2V0KCJQYXJlbnQiLG4pO3RoaXMuc2V0VGl0bGUodC5nZXQoIlQiKSk7dGhpcy5zZXRDb250ZW50cyh0LmdldCgiQ29udGVudHMiKSk7dGhpcy5zZXRNb2RpZmljYXRpb25EYXRlKHQuZ2V0KCJNIikpO3RoaXMuc2V0RmxhZ3ModC5nZXQoIkYiKSk7dGhpcy5zZXRSZWN0YW5nbGUodC5nZXRBcnJheSgiUmVjdCIpKTt0aGlzLnNldENvbG9yKHQuZ2V0QXJyYXkoIkMiKSk7dGhpcy5zZXRCb3JkZXJTdHlsZSh0KTt0aGlzLnNldEFwcGVhcmFuY2UodCk7dGhpcy5zZXRPcHRpb25hbENvbnRlbnQodCk7Y29uc3QgZz10LmdldCgiTUsiKTt0aGlzLnNldEJvcmRlckFuZEJhY2tncm91bmRDb2xvcnMoZyk7dGhpcy5zZXRSb3RhdGlvbihnLHQpO3RoaXMucmVmPWUucmVmIGluc3RhbmNlb2YgUmVmP2UucmVmOm51bGw7dGhpcy5fc3RyZWFtcz1bXTt0aGlzLmFwcGVhcmFuY2UmJnRoaXMuX3N0cmVhbXMucHVzaCh0aGlzLmFwcGVhcmFuY2UpO2NvbnN0IG89ISEodGhpcy5mbGFncyZlQSksYz0hISh0aGlzLmZsYWdzJnRBKTt0aGlzLmRhdGE9e2Fubm90YXRpb25GbGFnczp0aGlzLmZsYWdzLGJvcmRlclN0eWxlOnRoaXMuYm9yZGVyU3R5bGUsY29sb3I6dGhpcy5jb2xvcixiYWNrZ3JvdW5kQ29sb3I6dGhpcy5iYWNrZ3JvdW5kQ29sb3IsYm9yZGVyQ29sb3I6dGhpcy5ib3JkZXJDb2xvcixyb3RhdGlvbjp0aGlzLnJvdGF0aW9uLGNvbnRlbnRzT2JqOnRoaXMuX2NvbnRlbnRzLGhhc0FwcGVhcmFuY2U6ISF0aGlzLmFwcGVhcmFuY2UsaWQ6ZS5pZCxtb2RpZmljYXRpb25EYXRlOnRoaXMubW9kaWZpY2F0aW9uRGF0ZSxyZWN0OnRoaXMucmVjdGFuZ2xlLHN1YnR5cGU6ZS5zdWJ0eXBlLGhhc093bkNhbnZhczohMSxub1JvdGF0ZTohISh0aGlzLmZsYWdzJiQpLG5vSFRNTDpvJiZjLGlzRWRpdGFibGU6ITEsc3RydWN0UGFyZW50Oi0xfTtpZihhLnN0cnVjdFRyZWVSb290KXtsZXQgaT10LmdldCgiU3RydWN0UGFyZW50Iik7dGhpcy5kYXRhLnN0cnVjdFBhcmVudD1pPU51bWJlci5pc0ludGVnZXIoaSkmJmk+PTA/aTotMTthLnN0cnVjdFRyZWVSb290LmFkZEFubm90YXRpb25JZFRvUGFnZShlLnBhZ2VSZWYsaSl9aWYoZS5jb2xsZWN0RmllbGRzKXtjb25zdCBhPXQuZ2V0KCJLaWRzIik7aWYoQXJyYXkuaXNBcnJheShhKSl7Y29uc3QgZT1bXTtmb3IoY29uc3QgdCBvZiBhKXQgaW5zdGFuY2VvZiBSZWYmJmUucHVzaCh0LnRvU3RyaW5nKCkpOzAhPT1lLmxlbmd0aCYmKHRoaXMuZGF0YS5raWRJZHM9ZSl9dGhpcy5kYXRhLmFjdGlvbnM9Y29sbGVjdEFjdGlvbnMoaSx0LGRBKTt0aGlzLmRhdGEuZmllbGROYW1lPXRoaXMuX2NvbnN0cnVjdEZpZWxkTmFtZSh0KTt0aGlzLmRhdGEucGFnZUluZGV4PWUucGFnZUluZGV4fWNvbnN0IEM9dC5nZXQoIklUIik7QyBpbnN0YW5jZW9mIE5hbWUmJih0aGlzLmRhdGEuaXQ9Qy5uYW1lKTt0aGlzLl9pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZD1lLmV2YWx1YXRvck9wdGlvbnMuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQ7dGhpcy5fZmFsbGJhY2tGb250RGljdD1udWxsO3RoaXMuX25lZWRBcHBlYXJhbmNlcz0hMX1faGFzRmxhZyhlLHQpe3JldHVybiEhKGUmdCl9X2J1aWxkRmxhZ3MoZSx0KXtsZXR7ZmxhZ3M6aX09dGhpcztpZih2b2lkIDA9PT1lKXtpZih2b2lkIDA9PT10KXJldHVybjtyZXR1cm4gdD9pJn5fOmkmfnp8X31pZihlKXtpfD1fO3JldHVybiB0P2kmfkFBfHo6aSZ+enxBQX1pJj1+KHp8QUEpO3JldHVybiB0P2kmfl86aXxffV9pc1ZpZXdhYmxlKGUpe3JldHVybiF0aGlzLl9oYXNGbGFnKGUsVikmJiF0aGlzLl9oYXNGbGFnKGUsQUEpfV9pc1ByaW50YWJsZShlKXtyZXR1cm4gdGhpcy5faGFzRmxhZyhlLF8pJiYhdGhpcy5faGFzRmxhZyhlLHopJiYhdGhpcy5faGFzRmxhZyhlLFYpfW11c3RCZVZpZXdlZChlLHQpe2NvbnN0IGk9ZT8uZ2V0KHRoaXMuZGF0YS5pZCk/Lm5vVmlldztyZXR1cm4gdm9pZCAwIT09aT8haTp0aGlzLnZpZXdhYmxlJiYhdGhpcy5faGFzRmxhZyh0aGlzLmZsYWdzLHopfW11c3RCZVByaW50ZWQoZSl7Y29uc3QgdD1lPy5nZXQodGhpcy5kYXRhLmlkKT8ubm9QcmludDtyZXR1cm4gdm9pZCAwIT09dD8hdDp0aGlzLnByaW50YWJsZX1tdXN0QmVWaWV3ZWRXaGVuRWRpdGluZyhlLHQ9bnVsbCl7cmV0dXJuIGU/IXRoaXMuZGF0YS5pc0VkaXRhYmxlOiF0Py5oYXModGhpcy5kYXRhLmlkKX1nZXQgdmlld2FibGUoKXtyZXR1cm4gbnVsbCE9PXRoaXMuZGF0YS5xdWFkUG9pbnRzJiYoMD09PXRoaXMuZmxhZ3N8fHRoaXMuX2lzVmlld2FibGUodGhpcy5mbGFncykpfWdldCBwcmludGFibGUoKXtyZXR1cm4gbnVsbCE9PXRoaXMuZGF0YS5xdWFkUG9pbnRzJiYoMCE9PXRoaXMuZmxhZ3MmJnRoaXMuX2lzUHJpbnRhYmxlKHRoaXMuZmxhZ3MpKX1fcGFyc2VTdHJpbmdIZWxwZXIoZSl7Y29uc3QgdD0ic3RyaW5nIj09dHlwZW9mIGU/c3RyaW5nVG9QREZTdHJpbmcoZSk6IiI7cmV0dXJue3N0cjp0LGRpcjp0JiYicnRsIj09PWJpZGkodCkuZGlyPyJydGwiOiJsdHIifX1zZXREZWZhdWx0QXBwZWFyYW5jZShlKXtjb25zdHtkaWN0OnQsYW5ub3RhdGlvbkdsb2JhbHM6aX09ZSxhPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IkRBIn0pfHxpLmFjcm9Gb3JtLmdldCgiREEiKTt0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZT0ic3RyaW5nIj09dHlwZW9mIGE/YToiIjt0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhPXBhcnNlRGVmYXVsdEFwcGVhcmFuY2UodGhpcy5fZGVmYXVsdEFwcGVhcmFuY2UpfXNldFRpdGxlKGUpe3RoaXMuX3RpdGxlPXRoaXMuX3BhcnNlU3RyaW5nSGVscGVyKGUpfXNldENvbnRlbnRzKGUpe3RoaXMuX2NvbnRlbnRzPXRoaXMuX3BhcnNlU3RyaW5nSGVscGVyKGUpfXNldE1vZGlmaWNhdGlvbkRhdGUoZSl7dGhpcy5tb2RpZmljYXRpb25EYXRlPSJzdHJpbmciPT10eXBlb2YgZT9lOm51bGx9c2V0RmxhZ3MoZSl7dGhpcy5mbGFncz1OdW1iZXIuaXNJbnRlZ2VyKGUpJiZlPjA/ZTowO3RoaXMuZmxhZ3MmViYmIkFubm90YXRpb24iIT09dGhpcy5jb25zdHJ1Y3Rvci5uYW1lJiYodGhpcy5mbGFnc149Vil9aGFzRmxhZyhlKXtyZXR1cm4gdGhpcy5faGFzRmxhZyh0aGlzLmZsYWdzLGUpfXNldFJlY3RhbmdsZShlKXt0aGlzLnJlY3RhbmdsZT1sb29rdXBOb3JtYWxSZWN0KGUsWzAsMCwwLDBdKX1zZXRDb2xvcihlKXt0aGlzLmNvbG9yPWdldFJnYkNvbG9yKGUpfXNldExpbmVFbmRpbmdzKGUpe3RoaXMubGluZUVuZGluZ3M9WyJOb25lIiwiTm9uZSJdO2lmKEFycmF5LmlzQXJyYXkoZSkmJjI9PT1lLmxlbmd0aClmb3IobGV0IHQ9MDt0PDI7dCsrKXtjb25zdCBpPWVbdF07aWYoaSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGkubmFtZSl7Y2FzZSJOb25lIjpjb250aW51ZTtjYXNlIlNxdWFyZSI6Y2FzZSJDaXJjbGUiOmNhc2UiRGlhbW9uZCI6Y2FzZSJPcGVuQXJyb3ciOmNhc2UiQ2xvc2VkQXJyb3ciOmNhc2UiQnV0dCI6Y2FzZSJST3BlbkFycm93IjpjYXNlIlJDbG9zZWRBcnJvdyI6Y2FzZSJTbGFzaCI6dGhpcy5saW5lRW5kaW5nc1t0XT1pLm5hbWU7Y29udGludWV9d2FybihgSWdub3JpbmcgaW52YWxpZCBsaW5lRW5kaW5nOiAke2l9YCl9fXNldFJvdGF0aW9uKGUsdCl7dGhpcy5yb3RhdGlvbj0wO2xldCBpPWUgaW5zdGFuY2VvZiBEaWN0P2UuZ2V0KCJSIil8fDA6dC5nZXQoIlJvdGF0ZSIpfHwwO2lmKE51bWJlci5pc0ludGVnZXIoaSkmJjAhPT1pKXtpJT0zNjA7aTwwJiYoaSs9MzYwKTtpJTkwPT0wJiYodGhpcy5yb3RhdGlvbj1pKX19c2V0Qm9yZGVyQW5kQmFja2dyb3VuZENvbG9ycyhlKXtpZihlIGluc3RhbmNlb2YgRGljdCl7dGhpcy5ib3JkZXJDb2xvcj1nZXRSZ2JDb2xvcihlLmdldEFycmF5KCJCQyIpLG51bGwpO3RoaXMuYmFja2dyb3VuZENvbG9yPWdldFJnYkNvbG9yKGUuZ2V0QXJyYXkoIkJHIiksbnVsbCl9ZWxzZSB0aGlzLmJvcmRlckNvbG9yPXRoaXMuYmFja2dyb3VuZENvbG9yPW51bGx9c2V0Qm9yZGVyU3R5bGUoZSl7dGhpcy5ib3JkZXJTdHlsZT1uZXcgQW5ub3RhdGlvbkJvcmRlclN0eWxlO2lmKGUgaW5zdGFuY2VvZiBEaWN0KWlmKGUuaGFzKCJCUyIpKXtjb25zdCB0PWUuZ2V0KCJCUyIpO2lmKHQgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBlPXQuZ2V0KCJUeXBlIik7aWYoIWV8fGlzTmFtZShlLCJCb3JkZXIiKSl7dGhpcy5ib3JkZXJTdHlsZS5zZXRXaWR0aCh0LmdldCgiVyIpLHRoaXMucmVjdGFuZ2xlKTt0aGlzLmJvcmRlclN0eWxlLnNldFN0eWxlKHQuZ2V0KCJTIikpO3RoaXMuYm9yZGVyU3R5bGUuc2V0RGFzaEFycmF5KHQuZ2V0QXJyYXkoIkQiKSl9fX1lbHNlIGlmKGUuaGFzKCJCb3JkZXIiKSl7Y29uc3QgdD1lLmdldEFycmF5KCJCb3JkZXIiKTtpZihBcnJheS5pc0FycmF5KHQpJiZ0Lmxlbmd0aD49Myl7dGhpcy5ib3JkZXJTdHlsZS5zZXRIb3Jpem9udGFsQ29ybmVyUmFkaXVzKHRbMF0pO3RoaXMuYm9yZGVyU3R5bGUuc2V0VmVydGljYWxDb3JuZXJSYWRpdXModFsxXSk7dGhpcy5ib3JkZXJTdHlsZS5zZXRXaWR0aCh0WzJdLHRoaXMucmVjdGFuZ2xlKTs0PT09dC5sZW5ndGgmJnRoaXMuYm9yZGVyU3R5bGUuc2V0RGFzaEFycmF5KHRbM10sITApfX1lbHNlIHRoaXMuYm9yZGVyU3R5bGUuc2V0V2lkdGgoMCl9c2V0QXBwZWFyYW5jZShlKXt0aGlzLmFwcGVhcmFuY2U9bnVsbDtjb25zdCB0PWUuZ2V0KCJBUCIpO2lmKCEodCBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtjb25zdCBpPXQuZ2V0KCJOIik7aWYoaSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0pe3RoaXMuYXBwZWFyYW5jZT1pO3JldHVybn1pZighKGkgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3QgYT1lLmdldCgiQVMiKTtpZighKGEgaW5zdGFuY2VvZiBOYW1lJiZpLmhhcyhhLm5hbWUpKSlyZXR1cm47Y29uc3Qgcz1pLmdldChhLm5hbWUpO3MgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYodGhpcy5hcHBlYXJhbmNlPXMpfXNldE9wdGlvbmFsQ29udGVudChlKXt0aGlzLm9jPW51bGw7Y29uc3QgdD1lLmdldCgiT0MiKTt0IGluc3RhbmNlb2YgTmFtZT93YXJuKCJzZXRPcHRpb25hbENvbnRlbnQ6IFN1cHBvcnQgZm9yIC9OYW1lLWVudHJ5IGlzIG5vdCBpbXBsZW1lbnRlZC4iKTp0IGluc3RhbmNlb2YgRGljdCYmKHRoaXMub2M9dCl9bG9hZFJlc291cmNlcyhlLHQpe3JldHVybiB0LmRpY3QuZ2V0QXN5bmMoIlJlc291cmNlcyIpLnRoZW4oKHQ9PntpZighdClyZXR1cm47cmV0dXJuIG5ldyBPYmplY3RMb2FkZXIodCxlLHQueHJlZikubG9hZCgpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIHR9KSl9KSl9YXN5bmMgZ2V0T3BlcmF0b3JMaXN0KGUsdCxhLHMpe2NvbnN0e2hhc093bkNhbnZhczpyLGlkOm4scmVjdDpnfT10aGlzLmRhdGE7bGV0IGM9dGhpcy5hcHBlYXJhbmNlO2NvbnN0IEM9ISEociYmYSZvKTtpZihDJiYoZ1swXT09PWdbMl18fGdbMV09PT1nWzNdKSl7dGhpcy5kYXRhLmhhc093bkNhbnZhcz0hMTtyZXR1cm57b3BMaXN0Om5ldyBPcGVyYXRvckxpc3Qsc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOiExfX1pZighYyl7aWYoIUMpcmV0dXJue29wTGlzdDpuZXcgT3BlcmF0b3JMaXN0LHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczohMX07Yz1uZXcgU3RyaW5nU3RyZWFtKCIiKTtjLmRpY3Q9bmV3IERpY3R9Y29uc3QgaD1jLmRpY3QsbD1hd2FpdCB0aGlzLmxvYWRSZXNvdXJjZXMoWyJFeHRHU3RhdGUiLCJDb2xvclNwYWNlIiwiUGF0dGVybiIsIlNoYWRpbmciLCJYT2JqZWN0IiwiRm9udCJdLGMpLFE9bG9va3VwUmVjdChoLmdldEFycmF5KCJCQm94IiksWzAsMCwxLDFdKSxFPWxvb2t1cE1hdHJpeChoLmdldEFycmF5KCJNYXRyaXgiKSxpKSx1PWdldFRyYW5zZm9ybU1hdHJpeChnLFEsRSksZD1uZXcgT3BlcmF0b3JMaXN0O2xldCBmO3RoaXMub2MmJihmPWF3YWl0IGUucGFyc2VNYXJrZWRDb250ZW50UHJvcHModGhpcy5vYyxudWxsKSk7dm9pZCAwIT09ZiYmZC5hZGRPcChZZSxbIk9DIixmXSk7ZC5hZGRPcChqZSxbbixnLHUsRSxDXSk7YXdhaXQgZS5nZXRPcGVyYXRvckxpc3Qoe3N0cmVhbTpjLHRhc2s6dCxyZXNvdXJjZXM6bCxvcGVyYXRvckxpc3Q6ZCxmYWxsYmFja0ZvbnREaWN0OnRoaXMuX2ZhbGxiYWNrRm9udERpY3R9KTtkLmFkZE9wKFhlLFtdKTt2b2lkIDAhPT1mJiZkLmFkZE9wKHZlLFtdKTt0aGlzLnJlc2V0KCk7cmV0dXJue29wTGlzdDpkLHNlcGFyYXRlRm9ybTohMSxzZXBhcmF0ZUNhbnZhczpDfX1hc3luYyBzYXZlKGUsdCxpKXtyZXR1cm4gbnVsbH1nZXQgaGFzVGV4dENvbnRlbnQoKXtyZXR1cm4hMX1hc3luYyBleHRyYWN0VGV4dENvbnRlbnQoZSx0LGkpe2lmKCF0aGlzLmFwcGVhcmFuY2UpcmV0dXJuO2NvbnN0IGE9YXdhaXQgdGhpcy5sb2FkUmVzb3VyY2VzKFsiRXh0R1N0YXRlIiwiRm9udCIsIlByb3BlcnRpZXMiLCJYT2JqZWN0Il0sdGhpcy5hcHBlYXJhbmNlKSxzPVtdLHI9W107bGV0IG49bnVsbDtjb25zdCBnPXtkZXNpcmVkU2l6ZTpNYXRoLkluZmluaXR5LHJlYWR5OiEwLGVucXVldWUoZSx0KXtmb3IoY29uc3QgdCBvZiBlLml0ZW1zKWlmKHZvaWQgMCE9PXQuc3RyKXtufHw9dC50cmFuc2Zvcm0uc2xpY2UoLTIpO3IucHVzaCh0LnN0cik7aWYodC5oYXNFT0wpe3MucHVzaChyLmpvaW4oIiIpLnRyaW1FbmQoKSk7ci5sZW5ndGg9MH19fX07YXdhaXQgZS5nZXRUZXh0Q29udGVudCh7c3RyZWFtOnRoaXMuYXBwZWFyYW5jZSx0YXNrOnQscmVzb3VyY2VzOmEsaW5jbHVkZU1hcmtlZENvbnRlbnQ6ITAsa2VlcFdoaXRlU3BhY2U6ITAsc2luazpnLHZpZXdCb3g6aX0pO3RoaXMucmVzZXQoKTtyLmxlbmd0aCYmcy5wdXNoKHIuam9pbigiIikudHJpbUVuZCgpKTtpZihzLmxlbmd0aD4xfHxzWzBdKXtjb25zdCBlPXRoaXMuYXBwZWFyYW5jZS5kaWN0LHQ9bG9va3VwUmVjdChlLmdldEFycmF5KCJCQm94IiksbnVsbCksaT1sb29rdXBNYXRyaXgoZS5nZXRBcnJheSgiTWF0cml4IiksbnVsbCk7dGhpcy5kYXRhLnRleHRQb3NpdGlvbj10aGlzLl90cmFuc2Zvcm1Qb2ludChuLHQsaSk7dGhpcy5kYXRhLnRleHRDb250ZW50PXN9fV90cmFuc2Zvcm1Qb2ludChlLHQsaSl7Y29uc3R7cmVjdDphfT10aGlzLmRhdGE7dHx8PVswLDAsMSwxXTtpfHw9WzEsMCwwLDEsMCwwXTtjb25zdCBzPWdldFRyYW5zZm9ybU1hdHJpeChhLHQsaSk7c1s0XS09YVswXTtzWzVdLT1hWzFdO2U9VXRpbC5hcHBseVRyYW5zZm9ybShlLHMpO3JldHVybiBVdGlsLmFwcGx5VHJhbnNmb3JtKGUsaSl9Z2V0RmllbGRPYmplY3QoKXtyZXR1cm4gdGhpcy5kYXRhLmtpZElkcz97aWQ6dGhpcy5kYXRhLmlkLGFjdGlvbnM6dGhpcy5kYXRhLmFjdGlvbnMsbmFtZTp0aGlzLmRhdGEuZmllbGROYW1lLHN0cm9rZUNvbG9yOnRoaXMuZGF0YS5ib3JkZXJDb2xvcixmaWxsQ29sb3I6dGhpcy5kYXRhLmJhY2tncm91bmRDb2xvcix0eXBlOiIiLGtpZElkczp0aGlzLmRhdGEua2lkSWRzLHBhZ2U6dGhpcy5kYXRhLnBhZ2VJbmRleCxyb3RhdGlvbjp0aGlzLnJvdGF0aW9ufTpudWxsfXJlc2V0KCl7Zm9yKGNvbnN0IGUgb2YgdGhpcy5fc3RyZWFtcyllLnJlc2V0KCl9X2NvbnN0cnVjdEZpZWxkTmFtZShlKXtpZighZS5oYXMoIlQiKSYmIWUuaGFzKCJQYXJlbnQiKSl7d2FybigiVW5rbm93biBmaWVsZCBuYW1lLCBmYWxsaW5nIGJhY2sgdG8gZW1wdHkgZmllbGQgbmFtZS4iKTtyZXR1cm4iIn1pZighZS5oYXMoIlBhcmVudCIpKXJldHVybiBzdHJpbmdUb1BERlN0cmluZyhlLmdldCgiVCIpKTtjb25zdCB0PVtdO2UuaGFzKCJUIikmJnQudW5zaGlmdChzdHJpbmdUb1BERlN0cmluZyhlLmdldCgiVCIpKSk7bGV0IGk9ZTtjb25zdCBhPW5ldyBSZWZTZXQ7ZS5vYmpJZCYmYS5wdXQoZS5vYmpJZCk7Zm9yKDtpLmhhcygiUGFyZW50Iik7KXtpPWkuZ2V0KCJQYXJlbnQiKTtpZighKGkgaW5zdGFuY2VvZiBEaWN0KXx8aS5vYmpJZCYmYS5oYXMoaS5vYmpJZCkpYnJlYWs7aS5vYmpJZCYmYS5wdXQoaS5vYmpJZCk7aS5oYXMoIlQiKSYmdC51bnNoaWZ0KHN0cmluZ1RvUERGU3RyaW5nKGkuZ2V0KCJUIikpKX1yZXR1cm4gdC5qb2luKCIuIil9fWNsYXNzIEFubm90YXRpb25Cb3JkZXJTdHlsZXtjb25zdHJ1Y3Rvcigpe3RoaXMud2lkdGg9MTt0aGlzLnJhd1dpZHRoPTE7dGhpcy5zdHlsZT1CQTt0aGlzLmRhc2hBcnJheT1bM107dGhpcy5ob3Jpem9udGFsQ29ybmVyUmFkaXVzPTA7dGhpcy52ZXJ0aWNhbENvcm5lclJhZGl1cz0wfXNldFdpZHRoKGUsdD1bMCwwLDAsMF0pe2lmKGUgaW5zdGFuY2VvZiBOYW1lKXRoaXMud2lkdGg9MDtlbHNlIGlmKCJudW1iZXIiPT10eXBlb2YgZSl7aWYoZT4wKXt0aGlzLnJhd1dpZHRoPWU7Y29uc3QgaT0odFsyXS10WzBdKS8yLGE9KHRbM10tdFsxXSkvMjtpZihpPjAmJmE+MCYmKGU+aXx8ZT5hKSl7d2FybihgQW5ub3RhdGlvbkJvcmRlclN0eWxlLnNldFdpZHRoIC0gaWdub3Jpbmcgd2lkdGg6ICR7ZX1gKTtlPTF9fXRoaXMud2lkdGg9ZX19c2V0U3R5bGUoZSl7aWYoZSBpbnN0YW5jZW9mIE5hbWUpc3dpdGNoKGUubmFtZSl7Y2FzZSJTIjp0aGlzLnN0eWxlPUJBO2JyZWFrO2Nhc2UiRCI6dGhpcy5zdHlsZT1sQTticmVhaztjYXNlIkIiOnRoaXMuc3R5bGU9UUE7YnJlYWs7Y2FzZSJJIjp0aGlzLnN0eWxlPUVBO2JyZWFrO2Nhc2UiVSI6dGhpcy5zdHlsZT11QX19c2V0RGFzaEFycmF5KGUsdD0hMSl7aWYoQXJyYXkuaXNBcnJheShlKSl7bGV0IGk9ITAsYT0hMDtmb3IoY29uc3QgdCBvZiBlKXtpZighKCt0Pj0wKSl7aT0hMTticmVha310PjAmJihhPSExKX1pZigwPT09ZS5sZW5ndGh8fGkmJiFhKXt0aGlzLmRhc2hBcnJheT1lO3QmJnRoaXMuc2V0U3R5bGUoTmFtZS5nZXQoIkQiKSl9ZWxzZSB0aGlzLndpZHRoPTB9ZWxzZSBlJiYodGhpcy53aWR0aD0wKX1zZXRIb3Jpem9udGFsQ29ybmVyUmFkaXVzKGUpe051bWJlci5pc0ludGVnZXIoZSkmJih0aGlzLmhvcml6b250YWxDb3JuZXJSYWRpdXM9ZSl9c2V0VmVydGljYWxDb3JuZXJSYWRpdXMoZSl7TnVtYmVyLmlzSW50ZWdlcihlKSYmKHRoaXMudmVydGljYWxDb3JuZXJSYWRpdXM9ZSl9fWNsYXNzIE1hcmt1cEFubm90YXRpb24gZXh0ZW5kcyBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dH09ZTtpZih0LmhhcygiSVJUIikpe2NvbnN0IGU9dC5nZXRSYXcoIklSVCIpO3RoaXMuZGF0YS5pblJlcGx5VG89ZSBpbnN0YW5jZW9mIFJlZj9lLnRvU3RyaW5nKCk6bnVsbDtjb25zdCBpPXQuZ2V0KCJSVCIpO3RoaXMuZGF0YS5yZXBseVR5cGU9aSBpbnN0YW5jZW9mIE5hbWU/aS5uYW1lOlp9bGV0IGk9bnVsbDtpZih0aGlzLmRhdGEucmVwbHlUeXBlPT09WCl7Y29uc3QgZT10LmdldCgiSVJUIik7dGhpcy5zZXRUaXRsZShlLmdldCgiVCIpKTt0aGlzLmRhdGEudGl0bGVPYmo9dGhpcy5fdGl0bGU7dGhpcy5zZXRDb250ZW50cyhlLmdldCgiQ29udGVudHMiKSk7dGhpcy5kYXRhLmNvbnRlbnRzT2JqPXRoaXMuX2NvbnRlbnRzO2lmKGUuaGFzKCJDcmVhdGlvbkRhdGUiKSl7dGhpcy5zZXRDcmVhdGlvbkRhdGUoZS5nZXQoIkNyZWF0aW9uRGF0ZSIpKTt0aGlzLmRhdGEuY3JlYXRpb25EYXRlPXRoaXMuY3JlYXRpb25EYXRlfWVsc2UgdGhpcy5kYXRhLmNyZWF0aW9uRGF0ZT1udWxsO2lmKGUuaGFzKCJNIikpe3RoaXMuc2V0TW9kaWZpY2F0aW9uRGF0ZShlLmdldCgiTSIpKTt0aGlzLmRhdGEubW9kaWZpY2F0aW9uRGF0ZT10aGlzLm1vZGlmaWNhdGlvbkRhdGV9ZWxzZSB0aGlzLmRhdGEubW9kaWZpY2F0aW9uRGF0ZT1udWxsO2k9ZS5nZXRSYXcoIlBvcHVwIik7aWYoZS5oYXMoIkMiKSl7dGhpcy5zZXRDb2xvcihlLmdldEFycmF5KCJDIikpO3RoaXMuZGF0YS5jb2xvcj10aGlzLmNvbG9yfWVsc2UgdGhpcy5kYXRhLmNvbG9yPW51bGx9ZWxzZXt0aGlzLmRhdGEudGl0bGVPYmo9dGhpcy5fdGl0bGU7dGhpcy5zZXRDcmVhdGlvbkRhdGUodC5nZXQoIkNyZWF0aW9uRGF0ZSIpKTt0aGlzLmRhdGEuY3JlYXRpb25EYXRlPXRoaXMuY3JlYXRpb25EYXRlO2k9dC5nZXRSYXcoIlBvcHVwIik7dC5oYXMoIkMiKXx8KHRoaXMuZGF0YS5jb2xvcj1udWxsKX10aGlzLmRhdGEucG9wdXBSZWY9aSBpbnN0YW5jZW9mIFJlZj9pLnRvU3RyaW5nKCk6bnVsbDt0LmhhcygiUkMiKSYmKHRoaXMuZGF0YS5yaWNoVGV4dD1YRkFGYWN0b3J5LmdldFJpY2hUZXh0QXNIdG1sKHQuZ2V0KCJSQyIpKSl9c2V0Q3JlYXRpb25EYXRlKGUpe3RoaXMuY3JlYXRpb25EYXRlPSJzdHJpbmciPT10eXBlb2YgZT9lOm51bGx9X3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmUsZXh0cmE6dCxzdHJva2VDb2xvcjppLGZpbGxDb2xvcjphLGJsZW5kTW9kZTpzLHN0cm9rZUFscGhhOnIsZmlsbEFscGhhOm4scG9pbnRzQ2FsbGJhY2s6Z30pe2xldCBvPU51bWJlci5NQVhfVkFMVUUsYz1OdW1iZXIuTUFYX1ZBTFVFLEM9TnVtYmVyLk1JTl9WQUxVRSxoPU51bWJlci5NSU5fVkFMVUU7Y29uc3QgbD1bInEiXTt0JiZsLnB1c2godCk7aSYmbC5wdXNoKGAke2lbMF19ICR7aVsxXX0gJHtpWzJdfSBSR2ApO2EmJmwucHVzaChgJHthWzBdfSAke2FbMV19ICR7YVsyXX0gcmdgKTtsZXQgUT10aGlzLmRhdGEucXVhZFBvaW50cztRfHwoUT1GbG9hdDMyQXJyYXkuZnJvbShbdGhpcy5yZWN0YW5nbGVbMF0sdGhpcy5yZWN0YW5nbGVbM10sdGhpcy5yZWN0YW5nbGVbMl0sdGhpcy5yZWN0YW5nbGVbM10sdGhpcy5yZWN0YW5nbGVbMF0sdGhpcy5yZWN0YW5nbGVbMV0sdGhpcy5yZWN0YW5nbGVbMl0sdGhpcy5yZWN0YW5nbGVbMV1dKSk7Zm9yKGxldCBlPTAsdD1RLmxlbmd0aDtlPHQ7ZSs9OCl7Y29uc3RbdCxpLGEsc109ZyhsLFEuc3ViYXJyYXkoZSxlKzgpKTtvPU1hdGgubWluKG8sdCk7Qz1NYXRoLm1heChDLGkpO2M9TWF0aC5taW4oYyxhKTtoPU1hdGgubWF4KGgscyl9bC5wdXNoKCJRIik7Y29uc3QgRT1uZXcgRGljdChlKSx1PW5ldyBEaWN0KGUpO3Uuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTtjb25zdCBkPW5ldyBTdHJpbmdTdHJlYW0obC5qb2luKCIgIikpO2QuZGljdD11O0Uuc2V0KCJGbTAiLGQpO2NvbnN0IGY9bmV3IERpY3QoZSk7cyYmZi5zZXQoIkJNIixOYW1lLmdldChzKSk7Im51bWJlciI9PXR5cGVvZiByJiZmLnNldCgiQ0EiLHIpOyJudW1iZXIiPT10eXBlb2YgbiYmZi5zZXQoImNhIixuKTtjb25zdCBwPW5ldyBEaWN0KGUpO3Auc2V0KCJHUzAiLGYpO2NvbnN0IG09bmV3IERpY3QoZSk7bS5zZXQoIkV4dEdTdGF0ZSIscCk7bS5zZXQoIlhPYmplY3QiLEUpO2NvbnN0IHk9bmV3IERpY3QoZSk7eS5zZXQoIlJlc291cmNlcyIsbSk7Y29uc3Qgdz10aGlzLmRhdGEucmVjdD1bbyxjLEMsaF07eS5zZXQoIkJCb3giLHcpO3RoaXMuYXBwZWFyYW5jZT1uZXcgU3RyaW5nU3RyZWFtKCIvR1MwIGdzIC9GbTAgRG8iKTt0aGlzLmFwcGVhcmFuY2UuZGljdD15O3RoaXMuX3N0cmVhbXMucHVzaCh0aGlzLmFwcGVhcmFuY2UsZCl9c3RhdGljIGFzeW5jIGNyZWF0ZU5ld0Fubm90YXRpb24oZSx0LGksYSl7dC5yZWZ8fCh0LnJlZj1lLmdldE5ld1RlbXBvcmFyeVJlZigpKTtjb25zdCBzPXQucmVmLHI9YXdhaXQgdGhpcy5jcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtKHQsZSxhKSxuPVtdO2xldCBnO2lmKHIpe2NvbnN0IGE9ZS5nZXROZXdUZW1wb3JhcnlSZWYoKTtnPXRoaXMuY3JlYXRlTmV3RGljdCh0LGUse2FwUmVmOmF9KTthd2FpdCB3cml0ZU9iamVjdChhLHIsbixlKTtpLnB1c2goe3JlZjphLGRhdGE6bi5qb2luKCIiKX0pfWVsc2UgZz10aGlzLmNyZWF0ZU5ld0RpY3QodCxlLHt9KTtOdW1iZXIuaXNJbnRlZ2VyKHQucGFyZW50VHJlZUlkKSYmZy5zZXQoIlN0cnVjdFBhcmVudCIsdC5wYXJlbnRUcmVlSWQpO24ubGVuZ3RoPTA7YXdhaXQgd3JpdGVPYmplY3QocyxnLG4sZSk7cmV0dXJue3JlZjpzLGRhdGE6bi5qb2luKCIiKX19c3RhdGljIGFzeW5jIGNyZWF0ZU5ld1ByaW50QW5ub3RhdGlvbihlLHQsaSxhKXtjb25zdCBzPWF3YWl0IHRoaXMuY3JlYXRlTmV3QXBwZWFyYW5jZVN0cmVhbShpLHQsYSkscj10aGlzLmNyZWF0ZU5ld0RpY3QoaSx0LHM/e2FwOnN9Ont9KSxuPW5ldyB0aGlzLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcih7ZGljdDpyLHhyZWY6dCxhbm5vdGF0aW9uR2xvYmFsczplLGV2YWx1YXRvck9wdGlvbnM6YS5ldmFsdWF0b3JPcHRpb25zfSk7aS5yZWYmJihuLnJlZj1uLnJlZlRvUmVwbGFjZT1pLnJlZik7cmV0dXJuIG59fWNsYXNzIFdpZGdldEFubm90YXRpb24gZXh0ZW5kcyBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOmksYW5ub3RhdGlvbkdsb2JhbHM6YX09ZSxzPXRoaXMuZGF0YTt0aGlzLl9uZWVkQXBwZWFyYW5jZXM9ZS5uZWVkQXBwZWFyYW5jZXM7cy5hbm5vdGF0aW9uVHlwZT1qO3ZvaWQgMD09PXMuZmllbGROYW1lJiYocy5maWVsZE5hbWU9dGhpcy5fY29uc3RydWN0RmllbGROYW1lKHQpKTt2b2lkIDA9PT1zLmFjdGlvbnMmJihzLmFjdGlvbnM9Y29sbGVjdEFjdGlvbnMoaSx0LGRBKSk7bGV0IHI9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiViIsZ2V0QXJyYXk6ITB9KTtzLmZpZWxkVmFsdWU9dGhpcy5fZGVjb2RlRm9ybVZhbHVlKHIpO2NvbnN0IG49Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiRFYiLGdldEFycmF5OiEwfSk7cy5kZWZhdWx0RmllbGRWYWx1ZT10aGlzLl9kZWNvZGVGb3JtVmFsdWUobik7aWYodm9pZCAwPT09ciYmYS54ZmFEYXRhc2V0cyl7Y29uc3QgZT10aGlzLl90aXRsZS5zdHI7aWYoZSl7dGhpcy5faGFzVmFsdWVGcm9tWEZBPSEwO3MuZmllbGRWYWx1ZT1yPWEueGZhRGF0YXNldHMuZ2V0VmFsdWUoZSl9fXZvaWQgMD09PXImJm51bGwhPT1zLmRlZmF1bHRGaWVsZFZhbHVlJiYocy5maWVsZFZhbHVlPXMuZGVmYXVsdEZpZWxkVmFsdWUpO3MuYWx0ZXJuYXRpdmVUZXh0PXN0cmluZ1RvUERGU3RyaW5nKHQuZ2V0KCJUVSIpfHwiIik7dGhpcy5zZXREZWZhdWx0QXBwZWFyYW5jZShlKTtzLmhhc0FwcGVhcmFuY2V8fD10aGlzLl9uZWVkQXBwZWFyYW5jZXMmJnZvaWQgMCE9PXMuZmllbGRWYWx1ZSYmbnVsbCE9PXMuZmllbGRWYWx1ZTtjb25zdCBnPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dCxrZXk6IkZUIn0pO3MuZmllbGRUeXBlPWcgaW5zdGFuY2VvZiBOYW1lP2cubmFtZTpudWxsO2NvbnN0IG89Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiRFIifSksYz1hLmFjcm9Gb3JtLmdldCgiRFIiKSxDPXRoaXMuYXBwZWFyYW5jZT8uZGljdC5nZXQoIlJlc291cmNlcyIpO3RoaXMuX2ZpZWxkUmVzb3VyY2VzPXtsb2NhbFJlc291cmNlczpvLGFjcm9Gb3JtUmVzb3VyY2VzOmMsYXBwZWFyYW5jZVJlc291cmNlczpDLG1lcmdlZFJlc291cmNlczpEaWN0Lm1lcmdlKHt4cmVmOmksZGljdEFycmF5OltvLEMsY10sbWVyZ2VTdWJEaWN0czohMH0pfTtzLmZpZWxkRmxhZ3M9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiRmYifSk7KCFOdW1iZXIuaXNJbnRlZ2VyKHMuZmllbGRGbGFncyl8fHMuZmllbGRGbGFnczwwKSYmKHMuZmllbGRGbGFncz0wKTtzLnJlYWRPbmx5PXRoaXMuaGFzRmllbGRGbGFnKGlBKTtzLnJlcXVpcmVkPXRoaXMuaGFzRmllbGRGbGFnKGFBKTtzLmhpZGRlbj10aGlzLl9oYXNGbGFnKHMuYW5ub3RhdGlvbkZsYWdzLHopfHx0aGlzLl9oYXNGbGFnKHMuYW5ub3RhdGlvbkZsYWdzLEFBKX1fZGVjb2RlRm9ybVZhbHVlKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UuZmlsdGVyKChlPT4ic3RyaW5nIj09dHlwZW9mIGUpKS5tYXAoKGU9PnN0cmluZ1RvUERGU3RyaW5nKGUpKSk6ZSBpbnN0YW5jZW9mIE5hbWU/c3RyaW5nVG9QREZTdHJpbmcoZS5uYW1lKToic3RyaW5nIj09dHlwZW9mIGU/c3RyaW5nVG9QREZTdHJpbmcoZSk6bnVsbH1oYXNGaWVsZEZsYWcoZSl7cmV0dXJuISEodGhpcy5kYXRhLmZpZWxkRmxhZ3MmZSl9X2lzVmlld2FibGUoZSl7cmV0dXJuITB9bXVzdEJlVmlld2VkKGUsdCl7cmV0dXJuIHQ/dGhpcy52aWV3YWJsZTpzdXBlci5tdXN0QmVWaWV3ZWQoZSx0KSYmIXRoaXMuX2hhc0ZsYWcodGhpcy5mbGFncyxBQSl9Z2V0Um90YXRpb25NYXRyaXgoZSl7bGV0IHQ9ZT8uZ2V0KHRoaXMuZGF0YS5pZCk/LnJvdGF0aW9uO3ZvaWQgMD09PXQmJih0PXRoaXMucm90YXRpb24pO2lmKDA9PT10KXJldHVybiBpO3JldHVybiBnZXRSb3RhdGlvbk1hdHJpeCh0LHRoaXMuZGF0YS5yZWN0WzJdLXRoaXMuZGF0YS5yZWN0WzBdLHRoaXMuZGF0YS5yZWN0WzNdLXRoaXMuZGF0YS5yZWN0WzFdKX1nZXRCb3JkZXJBbmRCYWNrZ3JvdW5kQXBwZWFyYW5jZXMoZSl7bGV0IHQ9ZT8uZ2V0KHRoaXMuZGF0YS5pZCk/LnJvdGF0aW9uO3ZvaWQgMD09PXQmJih0PXRoaXMucm90YXRpb24pO2lmKCF0aGlzLmJhY2tncm91bmRDb2xvciYmIXRoaXMuYm9yZGVyQ29sb3IpcmV0dXJuIiI7Y29uc3QgaT10aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXSxhPXRoaXMuZGF0YS5yZWN0WzNdLXRoaXMuZGF0YS5yZWN0WzFdLHM9MD09PXR8fDE4MD09PXQ/YDAgMCAke2l9ICR7YX0gcmVgOmAwIDAgJHthfSAke2l9IHJlYDtsZXQgcj0iIjt0aGlzLmJhY2tncm91bmRDb2xvciYmKHI9YCR7Z2V0UGRmQ29sb3IodGhpcy5iYWNrZ3JvdW5kQ29sb3IsITApfSAke3N9IGYgYCk7aWYodGhpcy5ib3JkZXJDb2xvcil7cis9YCR7dGhpcy5ib3JkZXJTdHlsZS53aWR0aHx8MX0gdyAke2dldFBkZkNvbG9yKHRoaXMuYm9yZGVyQ29sb3IsITEpfSAke3N9IFMgYH1yZXR1cm4gcn1hc3luYyBnZXRPcGVyYXRvckxpc3QoZSx0LGksYSl7aWYoaSZoJiYhKHRoaXMgaW5zdGFuY2VvZiBTaWduYXR1cmVXaWRnZXRBbm5vdGF0aW9uKSYmIXRoaXMuZGF0YS5ub0hUTUwmJiF0aGlzLmRhdGEuaGFzT3duQ2FudmFzKXJldHVybntvcExpc3Q6bmV3IE9wZXJhdG9yTGlzdCxzZXBhcmF0ZUZvcm06ITAsc2VwYXJhdGVDYW52YXM6ITF9O2lmKCF0aGlzLl9oYXNUZXh0KXJldHVybiBzdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGksYSk7Y29uc3Qgcz1hd2FpdCB0aGlzLl9nZXRBcHBlYXJhbmNlKGUsdCxpLGEpO2lmKHRoaXMuYXBwZWFyYW5jZSYmbnVsbD09PXMpcmV0dXJuIHN1cGVyLmdldE9wZXJhdG9yTGlzdChlLHQsaSxhKTtjb25zdCByPW5ldyBPcGVyYXRvckxpc3Q7aWYoIXRoaXMuX2RlZmF1bHRBcHBlYXJhbmNlfHxudWxsPT09cylyZXR1cm57b3BMaXN0OnIsc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOiExfTtjb25zdCBuPSEhKHRoaXMuZGF0YS5oYXNPd25DYW52YXMmJmkmbyksZz1bMCwwLHRoaXMuZGF0YS5yZWN0WzJdLXRoaXMuZGF0YS5yZWN0WzBdLHRoaXMuZGF0YS5yZWN0WzNdLXRoaXMuZGF0YS5yZWN0WzFdXSxjPWdldFRyYW5zZm9ybU1hdHJpeCh0aGlzLmRhdGEucmVjdCxnLFsxLDAsMCwxLDAsMF0pO2xldCBDO3RoaXMub2MmJihDPWF3YWl0IGUucGFyc2VNYXJrZWRDb250ZW50UHJvcHModGhpcy5vYyxudWxsKSk7dm9pZCAwIT09QyYmci5hZGRPcChZZSxbIk9DIixDXSk7ci5hZGRPcChqZSxbdGhpcy5kYXRhLmlkLHRoaXMuZGF0YS5yZWN0LGMsdGhpcy5nZXRSb3RhdGlvbk1hdHJpeChhKSxuXSk7Y29uc3QgbD1uZXcgU3RyaW5nU3RyZWFtKHMpO2F3YWl0IGUuZ2V0T3BlcmF0b3JMaXN0KHtzdHJlYW06bCx0YXNrOnQscmVzb3VyY2VzOnRoaXMuX2ZpZWxkUmVzb3VyY2VzLm1lcmdlZFJlc291cmNlcyxvcGVyYXRvckxpc3Q6cn0pO3IuYWRkT3AoWGUsW10pO3ZvaWQgMCE9PUMmJnIuYWRkT3AodmUsW10pO3JldHVybntvcExpc3Q6cixzZXBhcmF0ZUZvcm06ITEsc2VwYXJhdGVDYW52YXM6bn19X2dldE1LRGljdChlKXtjb25zdCB0PW5ldyBEaWN0KG51bGwpO2UmJnQuc2V0KCJSIixlKTt0aGlzLmJvcmRlckNvbG9yJiZ0LnNldCgiQkMiLGdldFBkZkNvbG9yQXJyYXkodGhpcy5ib3JkZXJDb2xvcikpO3RoaXMuYmFja2dyb3VuZENvbG9yJiZ0LnNldCgiQkciLGdldFBkZkNvbG9yQXJyYXkodGhpcy5iYWNrZ3JvdW5kQ29sb3IpKTtyZXR1cm4gdC5zaXplPjA/dDpudWxsfWFtZW5kU2F2ZWREaWN0KGUsdCl7fWFzeW5jIHNhdmUoZSx0LGEpe2NvbnN0IHM9YT8uZ2V0KHRoaXMuZGF0YS5pZCkscj10aGlzLl9idWlsZEZsYWdzKHM/Lm5vVmlldyxzPy5ub1ByaW50KTtsZXQgbj1zPy52YWx1ZSxnPXM/LnJvdGF0aW9uO2lmKG49PT10aGlzLmRhdGEuZmllbGRWYWx1ZXx8dm9pZCAwPT09bil7aWYoIXRoaXMuX2hhc1ZhbHVlRnJvbVhGQSYmdm9pZCAwPT09ZyYmdm9pZCAwPT09cilyZXR1cm4gbnVsbDtufHw9dGhpcy5kYXRhLmZpZWxkVmFsdWV9aWYodm9pZCAwPT09ZyYmIXRoaXMuX2hhc1ZhbHVlRnJvbVhGQSYmQXJyYXkuaXNBcnJheShuKSYmQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuZmllbGRWYWx1ZSkmJmlzQXJyYXlFcXVhbChuLHRoaXMuZGF0YS5maWVsZFZhbHVlKSYmdm9pZCAwPT09cilyZXR1cm4gbnVsbDt2b2lkIDA9PT1nJiYoZz10aGlzLnJvdGF0aW9uKTtsZXQgbz1udWxsO2lmKCF0aGlzLl9uZWVkQXBwZWFyYW5jZXMpe289YXdhaXQgdGhpcy5fZ2V0QXBwZWFyYW5jZShlLHQsQyxhKTtpZihudWxsPT09byYmdm9pZCAwPT09cilyZXR1cm4gbnVsbH1sZXQgYz0hMTtpZihvPy5uZWVkQXBwZWFyYW5jZXMpe2M9ITA7bz1udWxsfWNvbnN0e3hyZWY6aH09ZSxsPWguZmV0Y2hJZlJlZih0aGlzLnJlZik7aWYoIShsIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuIG51bGw7Y29uc3QgUT1uZXcgRGljdChoKTtmb3IoY29uc3QgZSBvZiBsLmdldEtleXMoKSkiQVAiIT09ZSYmUS5zZXQoZSxsLmdldFJhdyhlKSk7aWYodm9pZCAwIT09cil7US5zZXQoIkYiLHIpO2lmKG51bGw9PT1vJiYhYyl7Y29uc3QgZT1sLmdldFJhdygiQVAiKTtlJiZRLnNldCgiQVAiLGUpfX1jb25zdCBFPXtwYXRoOnRoaXMuZGF0YS5maWVsZE5hbWUsdmFsdWU6bn07US5zZXQoIlYiLEFycmF5LmlzQXJyYXkobik/bi5tYXAoc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRSk6c3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShuKSk7dGhpcy5hbWVuZFNhdmVkRGljdChhLFEpO2NvbnN0IHU9dGhpcy5fZ2V0TUtEaWN0KGcpO3UmJlEuc2V0KCJNSyIsdSk7Y29uc3QgZD1bXSxmPVt7cmVmOnRoaXMucmVmLGRhdGE6IiIseGZhOkUsbmVlZEFwcGVhcmFuY2VzOmN9XTtpZihudWxsIT09byl7Y29uc3QgZT1oLmdldE5ld1RlbXBvcmFyeVJlZigpLHQ9bmV3IERpY3QoaCk7US5zZXQoIkFQIix0KTt0LnNldCgiTiIsZSk7Y29uc3Qgcz10aGlzLl9nZXRTYXZlRmllbGRSZXNvdXJjZXMoaCkscj1uZXcgU3RyaW5nU3RyZWFtKG8pLG49ci5kaWN0PW5ldyBEaWN0KGgpO24uc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTtuLnNldCgiUmVzb3VyY2VzIixzKTtuLnNldCgiQkJveCIsWzAsMCx0aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXSx0aGlzLmRhdGEucmVjdFszXS10aGlzLmRhdGEucmVjdFsxXV0pO2NvbnN0IGc9dGhpcy5nZXRSb3RhdGlvbk1hdHJpeChhKTtnIT09aSYmbi5zZXQoIk1hdHJpeCIsZyk7YXdhaXQgd3JpdGVPYmplY3QoZSxyLGQsaCk7Zi5wdXNoKHtyZWY6ZSxkYXRhOmQuam9pbigiIikseGZhOm51bGwsbmVlZEFwcGVhcmFuY2VzOiExfSk7ZC5sZW5ndGg9MH1RLnNldCgiTSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7YXdhaXQgd3JpdGVPYmplY3QodGhpcy5yZWYsUSxkLGgpO2ZbMF0uZGF0YT1kLmpvaW4oIiIpO3JldHVybiBmfWFzeW5jIF9nZXRBcHBlYXJhbmNlKGUsdCxpLGEpe2lmKHRoaXMuaGFzRmllbGRGbGFnKHJBKSlyZXR1cm4gbnVsbDtjb25zdCBzPWE/LmdldCh0aGlzLmRhdGEuaWQpO2xldCByLGc7aWYocyl7cj1zLmZvcm1hdHRlZFZhbHVlfHxzLnZhbHVlO2c9cy5yb3RhdGlvbn1pZih2b2lkIDA9PT1nJiZ2b2lkIDA9PT1yJiYhdGhpcy5fbmVlZEFwcGVhcmFuY2VzJiYoIXRoaXMuX2hhc1ZhbHVlRnJvbVhGQXx8dGhpcy5hcHBlYXJhbmNlKSlyZXR1cm4gbnVsbDtjb25zdCBvPXRoaXMuZ2V0Qm9yZGVyQW5kQmFja2dyb3VuZEFwcGVhcmFuY2VzKGEpO2lmKHZvaWQgMD09PXIpe3I9dGhpcy5kYXRhLmZpZWxkVmFsdWU7aWYoIXIpcmV0dXJuYC9UeCBCTUMgcSAke299USBFTUNgfUFycmF5LmlzQXJyYXkocikmJjE9PT1yLmxlbmd0aCYmKHI9clswXSk7YXNzZXJ0KCJzdHJpbmciPT10eXBlb2YgciwiRXhwZWN0ZWQgYHZhbHVlYCB0byBiZSBhIHN0cmluZy4iKTtyPXIudHJpbUVuZCgpO2lmKHRoaXMuZGF0YS5jb21ibyl7Y29uc3QgZT10aGlzLmRhdGEub3B0aW9ucy5maW5kKCgoe2V4cG9ydFZhbHVlOmV9KT0+cj09PWUpKTtyPWU/LmRpc3BsYXlWYWx1ZXx8cn1pZigiIj09PXIpcmV0dXJuYC9UeCBCTUMgcSAke299USBFTUNgO3ZvaWQgMD09PWcmJihnPXRoaXMucm90YXRpb24pO2xldCBjLGg9LTE7aWYodGhpcy5kYXRhLm11bHRpTGluZSl7Yz1yLnNwbGl0KC9cclxuP3xcbi8pLm1hcCgoZT0+ZS5ub3JtYWxpemUoIk5GQyIpKSk7aD1jLmxlbmd0aH1lbHNlIGM9W3IucmVwbGFjZSgvXHJcbj98XG4vLCIiKS5ub3JtYWxpemUoIk5GQyIpXTtsZXQgbD10aGlzLmRhdGEucmVjdFszXS10aGlzLmRhdGEucmVjdFsxXSxRPXRoaXMuZGF0YS5yZWN0WzJdLXRoaXMuZGF0YS5yZWN0WzBdOzkwIT09ZyYmMjcwIT09Z3x8KFtRLGxdPVtsLFFdKTt0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZXx8KHRoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGE9cGFyc2VEZWZhdWx0QXBwZWFyYW5jZSh0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZT0iL0hlbHZldGljYSAwIFRmIDAgZyIpKTtsZXQgRSx1LGQsZj1hd2FpdCBXaWRnZXRBbm5vdGF0aW9uLl9nZXRGb250RGF0YShlLHQsdGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YSx0aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMpO2NvbnN0IHA9W107bGV0IG09ITE7Zm9yKGNvbnN0IGUgb2YgYyl7Y29uc3QgdD1mLmVuY29kZVN0cmluZyhlKTt0Lmxlbmd0aD4xJiYobT0hMCk7cC5wdXNoKHQuam9pbigiIikpfWlmKG0mJmkmQylyZXR1cm57bmVlZEFwcGVhcmFuY2VzOiEwfTtpZihtJiZ0aGlzLl9pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZCl7Y29uc3QgaT10aGlzLmRhdGEuY29tYj8ibW9ub3NwYWNlIjoic2Fucy1zZXJpZiIsYT1uZXcgRmFrZVVuaWNvZGVGb250KGUueHJlZixpKSxzPWEuY3JlYXRlRm9udFJlc291cmNlcyhjLmpvaW4oIiIpKSxuPXMuZ2V0UmF3KCJGb250Iik7aWYodGhpcy5fZmllbGRSZXNvdXJjZXMubWVyZ2VkUmVzb3VyY2VzLmhhcygiRm9udCIpKXtjb25zdCBlPXRoaXMuX2ZpZWxkUmVzb3VyY2VzLm1lcmdlZFJlc291cmNlcy5nZXQoIkZvbnQiKTtmb3IoY29uc3QgdCBvZiBuLmdldEtleXMoKSllLnNldCh0LG4uZ2V0UmF3KHQpKX1lbHNlIHRoaXMuX2ZpZWxkUmVzb3VyY2VzLm1lcmdlZFJlc291cmNlcy5zZXQoIkZvbnQiLG4pO2NvbnN0IGc9YS5mb250TmFtZS5uYW1lO2Y9YXdhaXQgV2lkZ2V0QW5ub3RhdGlvbi5fZ2V0Rm9udERhdGEoZSx0LHtmb250TmFtZTpnLGZvbnRTaXplOjB9LHMpO2ZvcihsZXQgZT0wLHQ9cC5sZW5ndGg7ZTx0O2UrKylwW2VdPXN0cmluZ1RvVVRGMTZTdHJpbmcoY1tlXSk7Y29uc3Qgbz1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YSk7dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YS5mb250U2l6ZT0wO3RoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEuZm9udE5hbWU9ZztbRSx1LGRdPXRoaXMuX2NvbXB1dGVGb250U2l6ZShsLTIsUS00LHIsZixoKTt0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhPW99ZWxzZXt0aGlzLl9pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZHx8d2FybigiX2dldEFwcGVhcmFuY2U6IE9mZnNjcmVlbkNhbnZhcyBpcyBub3Qgc3VwcG9ydGVkLCBhbm5vdGF0aW9uIG1heSBub3QgcmVuZGVyIGNvcnJlY3RseS4iKTtbRSx1LGRdPXRoaXMuX2NvbXB1dGVGb250U2l6ZShsLTIsUS00LHIsZixoKX1sZXQgeT1mLmRlc2NlbnQ7eT1pc05hTih5KT9uKmQ6TWF0aC5tYXgobipkLE1hdGguYWJzKHkpKnUpO2NvbnN0IHc9TWF0aC5taW4oTWF0aC5mbG9vcigobC11KS8yKSwxKSxEPXRoaXMuZGF0YS50ZXh0QWxpZ25tZW50O2lmKHRoaXMuZGF0YS5tdWx0aUxpbmUpcmV0dXJuIHRoaXMuX2dldE11bHRpbGluZUFwcGVhcmFuY2UoRSxwLGYsdSxRLGwsRCwyLHcseSxkLGEpO2lmKHRoaXMuZGF0YS5jb21iKXJldHVybiB0aGlzLl9nZXRDb21iQXBwZWFyYW5jZShFLGYscFswXSx1LFEsbCwyLHcseSxkLGEpO2NvbnN0IGI9dyt5O2lmKDA9PT1EfHxEPjIpcmV0dXJuYC9UeCBCTUMgcSAke299QlQgYCtFK2AgMSAwIDAgMSAke251bWJlclRvU3RyaW5nKDIpfSAke251bWJlclRvU3RyaW5nKGIpfSBUbSAoJHtlc2NhcGVTdHJpbmcocFswXSl9KSBUaiBFVCBRIEVNQ2A7cmV0dXJuYC9UeCBCTUMgcSAke299QlQgYCtFK2AgMSAwIDAgMSAwIDAgVG0gJHt0aGlzLl9yZW5kZXJUZXh0KHBbMF0sZix1LFEsRCx7c2hpZnQ6MH0sMixiKX0gRVQgUSBFTUNgfXN0YXRpYyBhc3luYyBfZ2V0Rm9udERhdGEoZSx0LGksYSl7Y29uc3Qgcz1uZXcgT3BlcmF0b3JMaXN0LHI9e2ZvbnQ6bnVsbCxjbG9uZSgpe3JldHVybiB0aGlzfX0se2ZvbnROYW1lOm4sZm9udFNpemU6Z309aTthd2FpdCBlLmhhbmRsZVNldEZvbnQoYSxbbiYmTmFtZS5nZXQobiksZ10sbnVsbCxzLHQscixudWxsKTtyZXR1cm4gci5mb250fV9nZXRUZXh0V2lkdGgoZSx0KXtyZXR1cm4gdC5jaGFyc1RvR2x5cGhzKGUpLnJlZHVjZSgoKGUsdCk9PmUrdC53aWR0aCksMCkvMWUzfV9jb21wdXRlRm9udFNpemUoZSx0LGksYSxyKXtsZXR7Zm9udFNpemU6bn09dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YSxnPShufHwxMikqcyxvPU1hdGgucm91bmQoZS9nKTtpZighbil7Y29uc3Qgcm91bmRXaXRoVHdvRGlnaXRzPWU9Pk1hdGguZmxvb3IoMTAwKmUpLzEwMDtpZigtMT09PXIpe2NvbnN0IHI9dGhpcy5fZ2V0VGV4dFdpZHRoKGksYSk7bj1yb3VuZFdpdGhUd29EaWdpdHMoTWF0aC5taW4oZS9zLHQvcikpO289MX1lbHNle2NvbnN0IGM9aS5zcGxpdCgvXHJcbj98XG4vKSxDPVtdO2Zvcihjb25zdCBlIG9mIGMpe2NvbnN0IHQ9YS5lbmNvZGVTdHJpbmcoZSkuam9pbigiIiksaT1hLmNoYXJzVG9HbHlwaHModCkscz1hLmdldENoYXJQb3NpdGlvbnModCk7Qy5wdXNoKHtsaW5lOnQsZ2x5cGhzOmkscG9zaXRpb25zOnN9KX1jb25zdCBpc1Rvb0JpZz1pPT57bGV0IHM9MDtmb3IoY29uc3QgciBvZiBDKXtzKz10aGlzLl9zcGxpdExpbmUobnVsbCxhLGksdCxyKS5sZW5ndGgqaTtpZihzPmUpcmV0dXJuITB9cmV0dXJuITF9O289TWF0aC5tYXgobyxyKTtmb3IoOzspe2c9ZS9vO249cm91bmRXaXRoVHdvRGlnaXRzKGcvcyk7aWYoIWlzVG9vQmlnKG4pKWJyZWFrO28rK319Y29uc3R7Zm9udE5hbWU6Yyxmb250Q29sb3I6Q309dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YTt0aGlzLl9kZWZhdWx0QXBwZWFyYW5jZT1mdW5jdGlvbiBjcmVhdGVEZWZhdWx0QXBwZWFyYW5jZSh7Zm9udFNpemU6ZSxmb250TmFtZTp0LGZvbnRDb2xvcjppfSl7cmV0dXJuYC8ke2VzY2FwZVBERk5hbWUodCl9ICR7ZX0gVGYgJHtnZXRQZGZDb2xvcihpLCEwKX1gfSh7Zm9udFNpemU6bixmb250TmFtZTpjLGZvbnRDb2xvcjpDfSl9cmV0dXJuW3RoaXMuX2RlZmF1bHRBcHBlYXJhbmNlLG4sZS9vXX1fcmVuZGVyVGV4dChlLHQsaSxhLHMscixuLGcpe2xldCBvO2lmKDE9PT1zKXtvPShhLXRoaXMuX2dldFRleHRXaWR0aChlLHQpKmkpLzJ9ZWxzZSBpZigyPT09cyl7bz1hLXRoaXMuX2dldFRleHRXaWR0aChlLHQpKmktbn1lbHNlIG89bjtjb25zdCBjPW51bWJlclRvU3RyaW5nKG8tci5zaGlmdCk7ci5zaGlmdD1vO3JldHVybmAke2N9ICR7Zz1udW1iZXJUb1N0cmluZyhnKX0gVGQgKCR7ZXNjYXBlU3RyaW5nKGUpfSkgVGpgfV9nZXRTYXZlRmllbGRSZXNvdXJjZXMoZSl7Y29uc3R7bG9jYWxSZXNvdXJjZXM6dCxhcHBlYXJhbmNlUmVzb3VyY2VzOmksYWNyb0Zvcm1SZXNvdXJjZXM6YX09dGhpcy5fZmllbGRSZXNvdXJjZXMscz10aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhPy5mb250TmFtZTtpZighcylyZXR1cm4gdHx8RGljdC5lbXB0eTtmb3IoY29uc3QgZSBvZlt0LGldKWlmKGUgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCB0PWUuZ2V0KCJGb250Iik7aWYodCBpbnN0YW5jZW9mIERpY3QmJnQuaGFzKHMpKXJldHVybiBlfWlmKGEgaW5zdGFuY2VvZiBEaWN0KXtjb25zdCBpPWEuZ2V0KCJGb250Iik7aWYoaSBpbnN0YW5jZW9mIERpY3QmJmkuaGFzKHMpKXtjb25zdCBhPW5ldyBEaWN0KGUpO2Euc2V0KHMsaS5nZXRSYXcocykpO2NvbnN0IHI9bmV3IERpY3QoZSk7ci5zZXQoIkZvbnQiLGEpO3JldHVybiBEaWN0Lm1lcmdlKHt4cmVmOmUsZGljdEFycmF5OltyLHRdLG1lcmdlU3ViRGljdHM6ITB9KX19cmV0dXJuIHR8fERpY3QuZW1wdHl9Z2V0RmllbGRPYmplY3QoKXtyZXR1cm4gbnVsbH19Y2xhc3MgVGV4dFdpZGdldEFubm90YXRpb24gZXh0ZW5kcyBXaWRnZXRBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dH09ZTtpZih0LmhhcygiUE1EIikpe3RoaXMuZmxhZ3N8PXo7dGhpcy5kYXRhLmhpZGRlbj0hMDt3YXJuKCJCYXJjb2RlcyBhcmUgbm90IHN1cHBvcnRlZCIpfXRoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLnJlYWRPbmx5JiYhdGhpcy5kYXRhLm5vSFRNTDt0aGlzLl9oYXNUZXh0PSEwOyJzdHJpbmciIT10eXBlb2YgdGhpcy5kYXRhLmZpZWxkVmFsdWUmJih0aGlzLmRhdGEuZmllbGRWYWx1ZT0iIik7bGV0IGk9Z2V0SW5oZXJpdGFibGVQcm9wZXJ0eSh7ZGljdDp0LGtleToiUSJ9KTsoIU51bWJlci5pc0ludGVnZXIoaSl8fGk8MHx8aT4yKSYmKGk9bnVsbCk7dGhpcy5kYXRhLnRleHRBbGlnbm1lbnQ9aTtsZXQgYT1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJNYXhMZW4ifSk7KCFOdW1iZXIuaXNJbnRlZ2VyKGEpfHxhPDApJiYoYT0wKTt0aGlzLmRhdGEubWF4TGVuPWE7dGhpcy5kYXRhLm11bHRpTGluZT10aGlzLmhhc0ZpZWxkRmxhZyhzQSk7dGhpcy5kYXRhLmNvbWI9dGhpcy5oYXNGaWVsZEZsYWcoaEEpJiYhdGhpcy5oYXNGaWVsZEZsYWcoc0EpJiYhdGhpcy5oYXNGaWVsZEZsYWcockEpJiYhdGhpcy5oYXNGaWVsZEZsYWcoSUEpJiYwIT09dGhpcy5kYXRhLm1heExlbjt0aGlzLmRhdGEuZG9Ob3RTY3JvbGw9dGhpcy5oYXNGaWVsZEZsYWcoQ0EpfWdldCBoYXNUZXh0Q29udGVudCgpe3JldHVybiEhdGhpcy5hcHBlYXJhbmNlJiYhdGhpcy5fbmVlZEFwcGVhcmFuY2VzfV9nZXRDb21iQXBwZWFyYW5jZShlLHQsaSxhLHMscixuLGcsbyxjLEMpe2NvbnN0IGg9cy90aGlzLmRhdGEubWF4TGVuLGw9dGhpcy5nZXRCb3JkZXJBbmRCYWNrZ3JvdW5kQXBwZWFyYW5jZXMoQyksUT1bXSxFPXQuZ2V0Q2hhclBvc2l0aW9ucyhpKTtmb3IoY29uc3RbZSx0XW9mIEUpUS5wdXNoKGAoJHtlc2NhcGVTdHJpbmcoaS5zdWJzdHJpbmcoZSx0KSl9KSBUamApO2NvbnN0IHU9US5qb2luKGAgJHtudW1iZXJUb1N0cmluZyhoKX0gMCBUZCBgKTtyZXR1cm5gL1R4IEJNQyBxICR7bH1CVCBgK2UrYCAxIDAgMCAxICR7bnVtYmVyVG9TdHJpbmcobil9ICR7bnVtYmVyVG9TdHJpbmcoZytvKX0gVG0gJHt1fSBFVCBRIEVNQ2B9X2dldE11bHRpbGluZUFwcGVhcmFuY2UoZSx0LGksYSxzLHIsbixnLG8sYyxDLGgpe2NvbnN0IGw9W10sUT1zLTIqZyxFPXtzaGlmdDowfTtmb3IobGV0IGU9MCxyPXQubGVuZ3RoO2U8cjtlKyspe2NvbnN0IHI9dFtlXSxoPXRoaXMuX3NwbGl0TGluZShyLGksYSxRKTtmb3IobGV0IHQ9MCxyPWgubGVuZ3RoO3Q8cjt0Kyspe2NvbnN0IHI9aFt0XSxRPTA9PT1lJiYwPT09dD8tby0oQy1jKTotQztsLnB1c2godGhpcy5fcmVuZGVyVGV4dChyLGksYSxzLG4sRSxnLFEpKX19Y29uc3QgdT10aGlzLmdldEJvcmRlckFuZEJhY2tncm91bmRBcHBlYXJhbmNlcyhoKSxkPWwuam9pbigiXG4iKTtyZXR1cm5gL1R4IEJNQyBxICR7dX1CVCBgK2UrYCAxIDAgMCAxIDAgJHtudW1iZXJUb1N0cmluZyhyKX0gVG0gJHtkfSBFVCBRIEVNQ2B9X3NwbGl0TGluZShlLHQsaSxhLHM9e30pe2U9cy5saW5lfHxlO2NvbnN0IHI9cy5nbHlwaHN8fHQuY2hhcnNUb0dseXBocyhlKTtpZihyLmxlbmd0aDw9MSlyZXR1cm5bZV07Y29uc3Qgbj1zLnBvc2l0aW9uc3x8dC5nZXRDaGFyUG9zaXRpb25zKGUpLGc9aS8xZTMsbz1bXTtsZXQgYz0tMSxDPS0xLGg9LTEsbD0wLFE9MDtmb3IobGV0IHQ9MCxpPXIubGVuZ3RoO3Q8aTt0Kyspe2NvbnN0W2ksc109blt0XSxFPXJbdF0sdT1FLndpZHRoKmc7aWYoIiAiPT09RS51bmljb2RlKWlmKFErdT5hKXtvLnB1c2goZS5zdWJzdHJpbmcobCxpKSk7bD1pO1E9dTtjPS0xO2g9LTF9ZWxzZXtRKz11O2M9aTtDPXM7aD10fWVsc2UgaWYoUSt1PmEpaWYoLTEhPT1jKXtvLnB1c2goZS5zdWJzdHJpbmcobCxDKSk7bD1DO3Q9aCsxO2M9LTE7UT0wfWVsc2V7by5wdXNoKGUuc3Vic3RyaW5nKGwsaSkpO2w9aTtRPXV9ZWxzZSBRKz11fWw8ZS5sZW5ndGgmJm8ucHVzaChlLnN1YnN0cmluZyhsLGUubGVuZ3RoKSk7cmV0dXJuIG99YXN5bmMgZXh0cmFjdFRleHRDb250ZW50KGUsdCxpKXthd2FpdCBzdXBlci5leHRyYWN0VGV4dENvbnRlbnQoZSx0LGkpO2NvbnN0IGE9dGhpcy5kYXRhLnRleHRDb250ZW50O2lmKCFhKXJldHVybjtjb25zdCBzPWEuam9pbigiXG4iKTtpZihzPT09dGhpcy5kYXRhLmZpZWxkVmFsdWUpcmV0dXJuO2NvbnN0IHI9cy5yZXBsYWNlQWxsKC8oWy4qKz9eJHt9KCl8W1xdXFxdKXwoXHMrKS9nLCgoZSx0KT0+dD9gXFwke3R9YDoiXFxzKyIpKTtuZXcgUmVnRXhwKGBeXFxzKiR7cn1cXHMqJGApLnRlc3QodGhpcy5kYXRhLmZpZWxkVmFsdWUpJiYodGhpcy5kYXRhLnRleHRDb250ZW50PXRoaXMuZGF0YS5maWVsZFZhbHVlLnNwbGl0KCJcbiIpKX1nZXRGaWVsZE9iamVjdCgpe3JldHVybntpZDp0aGlzLmRhdGEuaWQsdmFsdWU6dGhpcy5kYXRhLmZpZWxkVmFsdWUsZGVmYXVsdFZhbHVlOnRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZXx8IiIsbXVsdGlsaW5lOnRoaXMuZGF0YS5tdWx0aUxpbmUscGFzc3dvcmQ6dGhpcy5oYXNGaWVsZEZsYWcockEpLGNoYXJMaW1pdDp0aGlzLmRhdGEubWF4TGVuLGNvbWI6dGhpcy5kYXRhLmNvbWIsZWRpdGFibGU6IXRoaXMuZGF0YS5yZWFkT25seSxoaWRkZW46dGhpcy5kYXRhLmhpZGRlbixuYW1lOnRoaXMuZGF0YS5maWVsZE5hbWUscmVjdDp0aGlzLmRhdGEucmVjdCxhY3Rpb25zOnRoaXMuZGF0YS5hY3Rpb25zLHBhZ2U6dGhpcy5kYXRhLnBhZ2VJbmRleCxzdHJva2VDb2xvcjp0aGlzLmRhdGEuYm9yZGVyQ29sb3IsZmlsbENvbG9yOnRoaXMuZGF0YS5iYWNrZ3JvdW5kQ29sb3Iscm90YXRpb246dGhpcy5yb3RhdGlvbix0eXBlOiJ0ZXh0In19fWNsYXNzIEJ1dHRvbldpZGdldEFubm90YXRpb24gZXh0ZW5kcyBXaWRnZXRBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2U9bnVsbDt0aGlzLnVuY2hlY2tlZEFwcGVhcmFuY2U9bnVsbDt0aGlzLmRhdGEuY2hlY2tCb3g9IXRoaXMuaGFzRmllbGRGbGFnKG5BKSYmIXRoaXMuaGFzRmllbGRGbGFnKGdBKTt0aGlzLmRhdGEucmFkaW9CdXR0b249dGhpcy5oYXNGaWVsZEZsYWcobkEpJiYhdGhpcy5oYXNGaWVsZEZsYWcoZ0EpO3RoaXMuZGF0YS5wdXNoQnV0dG9uPXRoaXMuaGFzRmllbGRGbGFnKGdBKTt0aGlzLmRhdGEuaXNUb29sdGlwT25seT0hMTtpZih0aGlzLmRhdGEuY2hlY2tCb3gpdGhpcy5fcHJvY2Vzc0NoZWNrQm94KGUpO2Vsc2UgaWYodGhpcy5kYXRhLnJhZGlvQnV0dG9uKXRoaXMuX3Byb2Nlc3NSYWRpb0J1dHRvbihlKTtlbHNlIGlmKHRoaXMuZGF0YS5wdXNoQnV0dG9uKXt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPSEwO3RoaXMuZGF0YS5ub0hUTUw9ITE7dGhpcy5fcHJvY2Vzc1B1c2hCdXR0b24oZSl9ZWxzZSB3YXJuKCJJbnZhbGlkIGZpZWxkIGZsYWdzIGZvciBidXR0b24gd2lkZ2V0IGFubm90YXRpb24iKX1hc3luYyBnZXRPcGVyYXRvckxpc3QoZSx0LGEscyl7aWYodGhpcy5kYXRhLnB1c2hCdXR0b24pcmV0dXJuIHN1cGVyLmdldE9wZXJhdG9yTGlzdChlLHQsYSwhMSxzKTtsZXQgcj1udWxsLG49bnVsbDtpZihzKXtjb25zdCBlPXMuZ2V0KHRoaXMuZGF0YS5pZCk7cj1lP2UudmFsdWU6bnVsbDtuPWU/ZS5yb3RhdGlvbjpudWxsfWlmKG51bGw9PT1yJiZ0aGlzLmFwcGVhcmFuY2UpcmV0dXJuIHN1cGVyLmdldE9wZXJhdG9yTGlzdChlLHQsYSxzKTtudWxsPT1yJiYocj10aGlzLmRhdGEuY2hlY2tCb3g/dGhpcy5kYXRhLmZpZWxkVmFsdWU9PT10aGlzLmRhdGEuZXhwb3J0VmFsdWU6dGhpcy5kYXRhLmZpZWxkVmFsdWU9PT10aGlzLmRhdGEuYnV0dG9uVmFsdWUpO2NvbnN0IGc9cj90aGlzLmNoZWNrZWRBcHBlYXJhbmNlOnRoaXMudW5jaGVja2VkQXBwZWFyYW5jZTtpZihnKXtjb25zdCByPXRoaXMuYXBwZWFyYW5jZSxvPWxvb2t1cE1hdHJpeChnLmRpY3QuZ2V0QXJyYXkoIk1hdHJpeCIpLGkpO24mJmcuZGljdC5zZXQoIk1hdHJpeCIsdGhpcy5nZXRSb3RhdGlvbk1hdHJpeChzKSk7dGhpcy5hcHBlYXJhbmNlPWc7Y29uc3QgYz1zdXBlci5nZXRPcGVyYXRvckxpc3QoZSx0LGEscyk7dGhpcy5hcHBlYXJhbmNlPXI7Zy5kaWN0LnNldCgiTWF0cml4IixvKTtyZXR1cm4gY31yZXR1cm57b3BMaXN0Om5ldyBPcGVyYXRvckxpc3Qsc2VwYXJhdGVGb3JtOiExLHNlcGFyYXRlQ2FudmFzOiExfX1hc3luYyBzYXZlKGUsdCxpKXtyZXR1cm4gdGhpcy5kYXRhLmNoZWNrQm94P3RoaXMuX3NhdmVDaGVja2JveChlLHQsaSk6dGhpcy5kYXRhLnJhZGlvQnV0dG9uP3RoaXMuX3NhdmVSYWRpb0J1dHRvbihlLHQsaSk6bnVsbH1hc3luYyBfc2F2ZUNoZWNrYm94KGUsdCxpKXtpZighaSlyZXR1cm4gbnVsbDtjb25zdCBhPWkuZ2V0KHRoaXMuZGF0YS5pZCkscz10aGlzLl9idWlsZEZsYWdzKGE/Lm5vVmlldyxhPy5ub1ByaW50KTtsZXQgcj1hPy5yb3RhdGlvbixuPWE/LnZhbHVlO2lmKHZvaWQgMD09PXImJnZvaWQgMD09PXMpe2lmKHZvaWQgMD09PW4pcmV0dXJuIG51bGw7aWYodGhpcy5kYXRhLmZpZWxkVmFsdWU9PT10aGlzLmRhdGEuZXhwb3J0VmFsdWU9PT1uKXJldHVybiBudWxsfWxldCBnPWUueHJlZi5mZXRjaElmUmVmKHRoaXMucmVmKTtpZighKGcgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDtnPWcuY2xvbmUoKTt2b2lkIDA9PT1yJiYocj10aGlzLnJvdGF0aW9uKTt2b2lkIDA9PT1uJiYobj10aGlzLmRhdGEuZmllbGRWYWx1ZT09PXRoaXMuZGF0YS5leHBvcnRWYWx1ZSk7Y29uc3Qgbz17cGF0aDp0aGlzLmRhdGEuZmllbGROYW1lLHZhbHVlOm4/dGhpcy5kYXRhLmV4cG9ydFZhbHVlOiIifSxjPU5hbWUuZ2V0KG4/dGhpcy5kYXRhLmV4cG9ydFZhbHVlOiJPZmYiKTtnLnNldCgiViIsYyk7Zy5zZXQoIkFTIixjKTtnLnNldCgiTSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7dm9pZCAwIT09cyYmZy5zZXQoIkYiLHMpO2NvbnN0IEM9dGhpcy5fZ2V0TUtEaWN0KHIpO0MmJmcuc2V0KCJNSyIsQyk7Y29uc3QgaD1bXTthd2FpdCB3cml0ZU9iamVjdCh0aGlzLnJlZixnLGgsZS54cmVmKTtyZXR1cm5be3JlZjp0aGlzLnJlZixkYXRhOmguam9pbigiIikseGZhOm99XX1hc3luYyBfc2F2ZVJhZGlvQnV0dG9uKGUsdCxpKXtpZighaSlyZXR1cm4gbnVsbDtjb25zdCBhPWkuZ2V0KHRoaXMuZGF0YS5pZCkscz10aGlzLl9idWlsZEZsYWdzKGE/Lm5vVmlldyxhPy5ub1ByaW50KTtsZXQgcj1hPy5yb3RhdGlvbixuPWE/LnZhbHVlO2lmKHZvaWQgMD09PXImJnZvaWQgMD09PXMpe2lmKHZvaWQgMD09PW4pcmV0dXJuIG51bGw7aWYodGhpcy5kYXRhLmZpZWxkVmFsdWU9PT10aGlzLmRhdGEuYnV0dG9uVmFsdWU9PT1uKXJldHVybiBudWxsfWxldCBnPWUueHJlZi5mZXRjaElmUmVmKHRoaXMucmVmKTtpZighKGcgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm4gbnVsbDtnPWcuY2xvbmUoKTt2b2lkIDA9PT1uJiYobj10aGlzLmRhdGEuZmllbGRWYWx1ZT09PXRoaXMuZGF0YS5idXR0b25WYWx1ZSk7dm9pZCAwPT09ciYmKHI9dGhpcy5yb3RhdGlvbik7Y29uc3Qgbz17cGF0aDp0aGlzLmRhdGEuZmllbGROYW1lLHZhbHVlOm4/dGhpcy5kYXRhLmJ1dHRvblZhbHVlOiIifSxjPU5hbWUuZ2V0KG4/dGhpcy5kYXRhLmJ1dHRvblZhbHVlOiJPZmYiKSxDPVtdO2xldCBoPW51bGw7aWYobilpZih0aGlzLnBhcmVudCBpbnN0YW5jZW9mIFJlZil7Y29uc3QgdD1lLnhyZWYuZmV0Y2godGhpcy5wYXJlbnQpO3Quc2V0KCJWIixjKTthd2FpdCB3cml0ZU9iamVjdCh0aGlzLnBhcmVudCx0LEMsZS54cmVmKTtoPUMuam9pbigiIik7Qy5sZW5ndGg9MH1lbHNlIHRoaXMucGFyZW50IGluc3RhbmNlb2YgRGljdCYmdGhpcy5wYXJlbnQuc2V0KCJWIixjKTt0aGlzLnBhcmVudHx8Zy5zZXQoIlYiLGMpO2cuc2V0KCJBUyIsYyk7Zy5zZXQoIk0iLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZSgpfWApO3ZvaWQgMCE9PXMmJmcuc2V0KCJGIixzKTtjb25zdCBsPXRoaXMuX2dldE1LRGljdChyKTtsJiZnLnNldCgiTUsiLGwpO2F3YWl0IHdyaXRlT2JqZWN0KHRoaXMucmVmLGcsQyxlLnhyZWYpO2NvbnN0IFE9W3tyZWY6dGhpcy5yZWYsZGF0YTpDLmpvaW4oIiIpLHhmYTpvfV07aCYmUS5wdXNoKHtyZWY6dGhpcy5wYXJlbnQsZGF0YTpoLHhmYTpudWxsfSk7cmV0dXJuIFF9X2dldERlZmF1bHRDaGVja2VkQXBwZWFyYW5jZShlLHQpe2NvbnN0IGk9dGhpcy5kYXRhLnJlY3RbMl0tdGhpcy5kYXRhLnJlY3RbMF0sYT10aGlzLmRhdGEucmVjdFszXS10aGlzLmRhdGEucmVjdFsxXSxzPVswLDAsaSxhXSxyPS44Kk1hdGgubWluKGksYSk7bGV0IG4sZztpZigiY2hlY2siPT09dCl7bj17d2lkdGg6Ljc1NSpyLGhlaWdodDouNzA1KnJ9O2c9IjMifWVsc2UgaWYoImRpc2MiPT09dCl7bj17d2lkdGg6Ljc5MSpyLGhlaWdodDouNzA1KnJ9O2c9ImwifWVsc2UgdW5yZWFjaGFibGUoYF9nZXREZWZhdWx0Q2hlY2tlZEFwcGVhcmFuY2UgLSB1bnN1cHBvcnRlZCB0eXBlOiAke3R9YCk7Y29uc3Qgbz1gcSBCVCAvUGRmSnNaYURiICR7cn0gVGYgMCBnICR7bnVtYmVyVG9TdHJpbmcoKGktbi53aWR0aCkvMil9ICR7bnVtYmVyVG9TdHJpbmcoKGEtbi5oZWlnaHQpLzIpfSBUZCAoJHtnfSkgVGogRVQgUWAsYz1uZXcgRGljdChlLnhyZWYpO2Muc2V0KCJGb3JtVHlwZSIsMSk7Yy5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJGb3JtIikpO2Muc2V0KCJUeXBlIixOYW1lLmdldCgiWE9iamVjdCIpKTtjLnNldCgiQkJveCIscyk7Yy5zZXQoIk1hdHJpeCIsWzEsMCwwLDEsMCwwXSk7Yy5zZXQoIkxlbmd0aCIsby5sZW5ndGgpO2NvbnN0IEM9bmV3IERpY3QoZS54cmVmKSxoPW5ldyBEaWN0KGUueHJlZik7aC5zZXQoIlBkZkpzWmFEYiIsdGhpcy5mYWxsYmFja0ZvbnREaWN0KTtDLnNldCgiRm9udCIsaCk7Yy5zZXQoIlJlc291cmNlcyIsQyk7dGhpcy5jaGVja2VkQXBwZWFyYW5jZT1uZXcgU3RyaW5nU3RyZWFtKG8pO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2UuZGljdD1jO3RoaXMuX3N0cmVhbXMucHVzaCh0aGlzLmNoZWNrZWRBcHBlYXJhbmNlKX1fcHJvY2Vzc0NoZWNrQm94KGUpe2NvbnN0IHQ9ZS5kaWN0LmdldCgiQVAiKTtpZighKHQgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3QgaT10LmdldCgiTiIpO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtjb25zdCBhPXRoaXMuX2RlY29kZUZvcm1WYWx1ZShlLmRpY3QuZ2V0KCJBUyIpKTsic3RyaW5nIj09dHlwZW9mIGEmJih0aGlzLmRhdGEuZmllbGRWYWx1ZT1hKTtjb25zdCBzPW51bGwhPT10aGlzLmRhdGEuZmllbGRWYWx1ZSYmIk9mZiIhPT10aGlzLmRhdGEuZmllbGRWYWx1ZT90aGlzLmRhdGEuZmllbGRWYWx1ZToiWWVzIixyPWkuZ2V0S2V5cygpO2lmKDA9PT1yLmxlbmd0aClyLnB1c2goIk9mZiIscyk7ZWxzZSBpZigxPT09ci5sZW5ndGgpIk9mZiI9PT1yWzBdP3IucHVzaChzKTpyLnVuc2hpZnQoIk9mZiIpO2Vsc2UgaWYoci5pbmNsdWRlcyhzKSl7ci5sZW5ndGg9MDtyLnB1c2goIk9mZiIscyl9ZWxzZXtjb25zdCBlPXIuZmluZCgoZT0+Ik9mZiIhPT1lKSk7ci5sZW5ndGg9MDtyLnB1c2goIk9mZiIsZSl9ci5pbmNsdWRlcyh0aGlzLmRhdGEuZmllbGRWYWx1ZSl8fCh0aGlzLmRhdGEuZmllbGRWYWx1ZT0iT2ZmIik7dGhpcy5kYXRhLmV4cG9ydFZhbHVlPXJbMV07Y29uc3Qgbj1pLmdldCh0aGlzLmRhdGEuZXhwb3J0VmFsdWUpO3RoaXMuY2hlY2tlZEFwcGVhcmFuY2U9biBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/bjpudWxsO2NvbnN0IGc9aS5nZXQoIk9mZiIpO3RoaXMudW5jaGVja2VkQXBwZWFyYW5jZT1nIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9nOm51bGw7dGhpcy5jaGVja2VkQXBwZWFyYW5jZT90aGlzLl9zdHJlYW1zLnB1c2godGhpcy5jaGVja2VkQXBwZWFyYW5jZSk6dGhpcy5fZ2V0RGVmYXVsdENoZWNrZWRBcHBlYXJhbmNlKGUsImNoZWNrIik7dGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlJiZ0aGlzLl9zdHJlYW1zLnB1c2godGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlKTt0aGlzLl9mYWxsYmFja0ZvbnREaWN0PXRoaXMuZmFsbGJhY2tGb250RGljdDtudWxsPT09dGhpcy5kYXRhLmRlZmF1bHRGaWVsZFZhbHVlJiYodGhpcy5kYXRhLmRlZmF1bHRGaWVsZFZhbHVlPSJPZmYiKX1fcHJvY2Vzc1JhZGlvQnV0dG9uKGUpe3RoaXMuZGF0YS5idXR0b25WYWx1ZT1udWxsO2NvbnN0IHQ9ZS5kaWN0LmdldCgiUGFyZW50Iik7aWYodCBpbnN0YW5jZW9mIERpY3Qpe3RoaXMucGFyZW50PWUuZGljdC5nZXRSYXcoIlBhcmVudCIpO2NvbnN0IGk9dC5nZXQoIlYiKTtpIGluc3RhbmNlb2YgTmFtZSYmKHRoaXMuZGF0YS5maWVsZFZhbHVlPXRoaXMuX2RlY29kZUZvcm1WYWx1ZShpKSl9Y29uc3QgaT1lLmRpY3QuZ2V0KCJBUCIpO2lmKCEoaSBpbnN0YW5jZW9mIERpY3QpKXJldHVybjtjb25zdCBhPWkuZ2V0KCJOIik7aWYoIShhIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2Zvcihjb25zdCBlIG9mIGEuZ2V0S2V5cygpKWlmKCJPZmYiIT09ZSl7dGhpcy5kYXRhLmJ1dHRvblZhbHVlPXRoaXMuX2RlY29kZUZvcm1WYWx1ZShlKTticmVha31jb25zdCBzPWEuZ2V0KHRoaXMuZGF0YS5idXR0b25WYWx1ZSk7dGhpcy5jaGVja2VkQXBwZWFyYW5jZT1zIGluc3RhbmNlb2YgQmFzZVN0cmVhbT9zOm51bGw7Y29uc3Qgcj1hLmdldCgiT2ZmIik7dGhpcy51bmNoZWNrZWRBcHBlYXJhbmNlPXIgaW5zdGFuY2VvZiBCYXNlU3RyZWFtP3I6bnVsbDt0aGlzLmNoZWNrZWRBcHBlYXJhbmNlP3RoaXMuX3N0cmVhbXMucHVzaCh0aGlzLmNoZWNrZWRBcHBlYXJhbmNlKTp0aGlzLl9nZXREZWZhdWx0Q2hlY2tlZEFwcGVhcmFuY2UoZSwiZGlzYyIpO3RoaXMudW5jaGVja2VkQXBwZWFyYW5jZSYmdGhpcy5fc3RyZWFtcy5wdXNoKHRoaXMudW5jaGVja2VkQXBwZWFyYW5jZSk7dGhpcy5fZmFsbGJhY2tGb250RGljdD10aGlzLmZhbGxiYWNrRm9udERpY3Q7bnVsbD09PXRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZSYmKHRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZT0iT2ZmIil9X3Byb2Nlc3NQdXNoQnV0dG9uKGUpe2NvbnN0e2RpY3Q6dCxhbm5vdGF0aW9uR2xvYmFsczppfT1lO2lmKHQuaGFzKCJBIil8fHQuaGFzKCJBQSIpfHx0aGlzLmRhdGEuYWx0ZXJuYXRpdmVUZXh0KXt0aGlzLmRhdGEuaXNUb29sdGlwT25seT0hdC5oYXMoIkEiKSYmIXQuaGFzKCJBQSIpO0NhdGFsb2cucGFyc2VEZXN0RGljdGlvbmFyeSh7ZGVzdERpY3Q6dCxyZXN1bHRPYmo6dGhpcy5kYXRhLGRvY0Jhc2VVcmw6aS5iYXNlVXJsLGRvY0F0dGFjaG1lbnRzOmkuYXR0YWNobWVudHN9KX1lbHNlIHdhcm4oIlB1c2ggYnV0dG9ucyB3aXRob3V0IGFjdGlvbiBkaWN0aW9uYXJpZXMgYXJlIG5vdCBzdXBwb3J0ZWQiKX1nZXRGaWVsZE9iamVjdCgpe2xldCBlLHQ9ImJ1dHRvbiI7aWYodGhpcy5kYXRhLmNoZWNrQm94KXt0PSJjaGVja2JveCI7ZT10aGlzLmRhdGEuZXhwb3J0VmFsdWV9ZWxzZSBpZih0aGlzLmRhdGEucmFkaW9CdXR0b24pe3Q9InJhZGlvYnV0dG9uIjtlPXRoaXMuZGF0YS5idXR0b25WYWx1ZX1yZXR1cm57aWQ6dGhpcy5kYXRhLmlkLHZhbHVlOnRoaXMuZGF0YS5maWVsZFZhbHVlfHwiT2ZmIixkZWZhdWx0VmFsdWU6dGhpcy5kYXRhLmRlZmF1bHRGaWVsZFZhbHVlLGV4cG9ydFZhbHVlczplLGVkaXRhYmxlOiF0aGlzLmRhdGEucmVhZE9ubHksbmFtZTp0aGlzLmRhdGEuZmllbGROYW1lLHJlY3Q6dGhpcy5kYXRhLnJlY3QsaGlkZGVuOnRoaXMuZGF0YS5oaWRkZW4sYWN0aW9uczp0aGlzLmRhdGEuYWN0aW9ucyxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgsc3Ryb2tlQ29sb3I6dGhpcy5kYXRhLmJvcmRlckNvbG9yLGZpbGxDb2xvcjp0aGlzLmRhdGEuYmFja2dyb3VuZENvbG9yLHJvdGF0aW9uOnRoaXMucm90YXRpb24sdHlwZTp0fX1nZXQgZmFsbGJhY2tGb250RGljdCgpe2NvbnN0IGU9bmV3IERpY3Q7ZS5zZXQoIkJhc2VGb250IixOYW1lLmdldCgiWmFwZkRpbmdiYXRzIikpO2Uuc2V0KCJUeXBlIixOYW1lLmdldCgiRmFsbGJhY2tUeXBlIikpO2Uuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRmFsbGJhY2tUeXBlIikpO2Uuc2V0KCJFbmNvZGluZyIsTmFtZS5nZXQoIlphcGZEaW5nYmF0c0VuY29kaW5nIikpO3JldHVybiBzaGFkb3codGhpcywiZmFsbGJhY2tGb250RGljdCIsZSl9fWNsYXNzIENob2ljZVdpZGdldEFubm90YXRpb24gZXh0ZW5kcyBXaWRnZXRBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5pbmRpY2VzPXQuZ2V0QXJyYXkoIkkiKTt0aGlzLmhhc0luZGljZXM9QXJyYXkuaXNBcnJheSh0aGlzLmluZGljZXMpJiZ0aGlzLmluZGljZXMubGVuZ3RoPjA7dGhpcy5kYXRhLm9wdGlvbnM9W107Y29uc3QgYT1nZXRJbmhlcml0YWJsZVByb3BlcnR5KHtkaWN0OnQsa2V5OiJPcHQifSk7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IobGV0IGU9MCx0PWEubGVuZ3RoO2U8dDtlKyspe2NvbnN0IHQ9aS5mZXRjaElmUmVmKGFbZV0pLHM9QXJyYXkuaXNBcnJheSh0KTt0aGlzLmRhdGEub3B0aW9uc1tlXT17ZXhwb3J0VmFsdWU6dGhpcy5fZGVjb2RlRm9ybVZhbHVlKHM/aS5mZXRjaElmUmVmKHRbMF0pOnQpLGRpc3BsYXlWYWx1ZTp0aGlzLl9kZWNvZGVGb3JtVmFsdWUocz9pLmZldGNoSWZSZWYodFsxXSk6dCl9fWlmKHRoaXMuaGFzSW5kaWNlcyl7dGhpcy5kYXRhLmZpZWxkVmFsdWU9W107Y29uc3QgZT10aGlzLmRhdGEub3B0aW9ucy5sZW5ndGg7Zm9yKGNvbnN0IHQgb2YgdGhpcy5pbmRpY2VzKU51bWJlci5pc0ludGVnZXIodCkmJnQ+PTAmJnQ8ZSYmdGhpcy5kYXRhLmZpZWxkVmFsdWUucHVzaCh0aGlzLmRhdGEub3B0aW9uc1t0XS5leHBvcnRWYWx1ZSl9ZWxzZSJzdHJpbmciPT10eXBlb2YgdGhpcy5kYXRhLmZpZWxkVmFsdWU/dGhpcy5kYXRhLmZpZWxkVmFsdWU9W3RoaXMuZGF0YS5maWVsZFZhbHVlXTp0aGlzLmRhdGEuZmllbGRWYWx1ZXx8KHRoaXMuZGF0YS5maWVsZFZhbHVlPVtdKTt0aGlzLmRhdGEuY29tYm89dGhpcy5oYXNGaWVsZEZsYWcob0EpO3RoaXMuZGF0YS5tdWx0aVNlbGVjdD10aGlzLmhhc0ZpZWxkRmxhZyhjQSk7dGhpcy5faGFzVGV4dD0hMH1nZXRGaWVsZE9iamVjdCgpe2NvbnN0IGU9dGhpcy5kYXRhLmNvbWJvPyJjb21ib2JveCI6Imxpc3Rib3giLHQ9dGhpcy5kYXRhLmZpZWxkVmFsdWUubGVuZ3RoPjA/dGhpcy5kYXRhLmZpZWxkVmFsdWVbMF06bnVsbDtyZXR1cm57aWQ6dGhpcy5kYXRhLmlkLHZhbHVlOnQsZGVmYXVsdFZhbHVlOnRoaXMuZGF0YS5kZWZhdWx0RmllbGRWYWx1ZSxlZGl0YWJsZTohdGhpcy5kYXRhLnJlYWRPbmx5LG5hbWU6dGhpcy5kYXRhLmZpZWxkTmFtZSxyZWN0OnRoaXMuZGF0YS5yZWN0LG51bUl0ZW1zOnRoaXMuZGF0YS5maWVsZFZhbHVlLmxlbmd0aCxtdWx0aXBsZVNlbGVjdGlvbjp0aGlzLmRhdGEubXVsdGlTZWxlY3QsaGlkZGVuOnRoaXMuZGF0YS5oaWRkZW4sYWN0aW9uczp0aGlzLmRhdGEuYWN0aW9ucyxpdGVtczp0aGlzLmRhdGEub3B0aW9ucyxwYWdlOnRoaXMuZGF0YS5wYWdlSW5kZXgsc3Ryb2tlQ29sb3I6dGhpcy5kYXRhLmJvcmRlckNvbG9yLGZpbGxDb2xvcjp0aGlzLmRhdGEuYmFja2dyb3VuZENvbG9yLHJvdGF0aW9uOnRoaXMucm90YXRpb24sdHlwZTplfX1hbWVuZFNhdmVkRGljdChlLHQpe2lmKCF0aGlzLmhhc0luZGljZXMpcmV0dXJuO2xldCBpPWU/LmdldCh0aGlzLmRhdGEuaWQpPy52YWx1ZTtBcnJheS5pc0FycmF5KGkpfHwoaT1baV0pO2NvbnN0IGE9W10se29wdGlvbnM6c309dGhpcy5kYXRhO2ZvcihsZXQgZT0wLHQ9MCxyPXMubGVuZ3RoO2U8cjtlKyspaWYoc1tlXS5leHBvcnRWYWx1ZT09PWlbdF0pe2EucHVzaChlKTt0Kz0xfXQuc2V0KCJJIixhKX1hc3luYyBfZ2V0QXBwZWFyYW5jZShlLHQsaSxhKXtpZih0aGlzLmRhdGEuY29tYm8pcmV0dXJuIHN1cGVyLl9nZXRBcHBlYXJhbmNlKGUsdCxpLGEpO2xldCByLG47Y29uc3QgZz1hPy5nZXQodGhpcy5kYXRhLmlkKTtpZihnKXtuPWcucm90YXRpb247cj1nLnZhbHVlfWlmKHZvaWQgMD09PW4mJnZvaWQgMD09PXImJiF0aGlzLl9uZWVkQXBwZWFyYW5jZXMpcmV0dXJuIG51bGw7dm9pZCAwPT09cj9yPXRoaXMuZGF0YS5maWVsZFZhbHVlOkFycmF5LmlzQXJyYXkocil8fChyPVtyXSk7bGV0IG89dGhpcy5kYXRhLnJlY3RbM10tdGhpcy5kYXRhLnJlY3RbMV0sYz10aGlzLmRhdGEucmVjdFsyXS10aGlzLmRhdGEucmVjdFswXTs5MCE9PW4mJjI3MCE9PW58fChbYyxvXT1bbyxjXSk7Y29uc3QgQz10aGlzLmRhdGEub3B0aW9ucy5sZW5ndGgsaD1bXTtmb3IobGV0IGU9MDtlPEM7ZSsrKXtjb25zdHtleHBvcnRWYWx1ZTp0fT10aGlzLmRhdGEub3B0aW9uc1tlXTtyLmluY2x1ZGVzKHQpJiZoLnB1c2goZSl9dGhpcy5fZGVmYXVsdEFwcGVhcmFuY2V8fCh0aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhPXBhcnNlRGVmYXVsdEFwcGVhcmFuY2UodGhpcy5fZGVmYXVsdEFwcGVhcmFuY2U9Ii9IZWx2ZXRpY2EgMCBUZiAwIGciKSk7Y29uc3QgbD1hd2FpdCBXaWRnZXRBbm5vdGF0aW9uLl9nZXRGb250RGF0YShlLHQsdGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YSx0aGlzLl9maWVsZFJlc291cmNlcy5tZXJnZWRSZXNvdXJjZXMpO2xldCBRLHtmb250U2l6ZTpFfT10aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhO2lmKEUpUT10aGlzLl9kZWZhdWx0QXBwZWFyYW5jZTtlbHNle2NvbnN0IGU9KG8tMSkvQztsZXQgdCxpPS0xO2Zvcihjb25zdHtkaXNwbGF5VmFsdWU6ZX1vZiB0aGlzLmRhdGEub3B0aW9ucyl7Y29uc3QgYT10aGlzLl9nZXRUZXh0V2lkdGgoZSxsKTtpZihhPmkpe2k9YTt0PWV9fVtRLEVdPXRoaXMuX2NvbXB1dGVGb250U2l6ZShlLGMtNCx0LGwsLTEpfWNvbnN0IHU9RSpzLGQ9KHUtRSkvMixmPU1hdGguZmxvb3Ioby91KTtsZXQgcD0wO2lmKGgubGVuZ3RoPjApe2NvbnN0IGU9TWF0aC5taW4oLi4uaCksdD1NYXRoLm1heCguLi5oKTtwPU1hdGgubWF4KDAsdC1mKzEpO3A+ZSYmKHA9ZSl9Y29uc3QgbT1NYXRoLm1pbihwK2YrMSxDKSx5PVsiL1R4IEJNQyBxIixgMSAxICR7Y30gJHtvfSByZSBXIG5gXTtpZihoLmxlbmd0aCl7eS5wdXNoKCIwLjYwMDAwNiAwLjc1Njg2NiAwLjg1NDkwNCByZyIpO2Zvcihjb25zdCBlIG9mIGgpcDw9ZSYmZTxtJiZ5LnB1c2goYDEgJHtvLShlLXArMSkqdX0gJHtjfSAke3V9IHJlIGZgKX15LnB1c2goIkJUIixRLGAxIDAgMCAxIDAgJHtvfSBUbWApO2NvbnN0IHc9e3NoaWZ0OjB9O2ZvcihsZXQgZT1wO2U8bTtlKyspe2NvbnN0e2Rpc3BsYXlWYWx1ZTp0fT10aGlzLmRhdGEub3B0aW9uc1tlXSxpPWU9PT1wP2Q6MDt5LnB1c2godGhpcy5fcmVuZGVyVGV4dCh0LGwsRSxjLDAsdywyLC11K2kpKX15LnB1c2goIkVUIFEgRU1DIik7cmV0dXJuIHkuam9pbigiXG4iKX19Y2xhc3MgU2lnbmF0dXJlV2lkZ2V0QW5ub3RhdGlvbiBleHRlbmRzIFdpZGdldEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5kYXRhLmZpZWxkVmFsdWU9bnVsbDt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEubm9IVE1MPSF0aGlzLmRhdGEuaGFzT3duQ2FudmFzfWdldEZpZWxkT2JqZWN0KCl7cmV0dXJue2lkOnRoaXMuZGF0YS5pZCx2YWx1ZTpudWxsLHBhZ2U6dGhpcy5kYXRhLnBhZ2VJbmRleCx0eXBlOiJzaWduYXR1cmUifX19Y2xhc3MgVGV4dEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5ub1JvdGF0ZT0hMDt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEubm9IVE1MPSExO2NvbnN0e2RpY3Q6dH09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9aztpZih0aGlzLmRhdGEuaGFzQXBwZWFyYW5jZSl0aGlzLmRhdGEubmFtZT0iTm9JY29uIjtlbHNle3RoaXMuZGF0YS5yZWN0WzFdPXRoaXMuZGF0YS5yZWN0WzNdLTIyO3RoaXMuZGF0YS5yZWN0WzJdPXRoaXMuZGF0YS5yZWN0WzBdKzIyO3RoaXMuZGF0YS5uYW1lPXQuaGFzKCJOYW1lIik/dC5nZXQoIk5hbWUiKS5uYW1lOiJOb3RlIn1pZih0LmhhcygiU3RhdGUiKSl7dGhpcy5kYXRhLnN0YXRlPXQuZ2V0KCJTdGF0ZSIpfHxudWxsO3RoaXMuZGF0YS5zdGF0ZU1vZGVsPXQuZ2V0KCJTdGF0ZU1vZGVsIil8fG51bGx9ZWxzZXt0aGlzLmRhdGEuc3RhdGU9bnVsbDt0aGlzLmRhdGEuc3RhdGVNb2RlbD1udWxsfX19Y2xhc3MgTGlua0Fubm90YXRpb24gZXh0ZW5kcyBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCxhbm5vdGF0aW9uR2xvYmFsczppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1SO3RoaXMuZGF0YS5ub0hUTUw9ITE7Y29uc3QgYT1nZXRRdWFkUG9pbnRzKHQsdGhpcy5yZWN0YW5nbGUpO2EmJih0aGlzLmRhdGEucXVhZFBvaW50cz1hKTt0aGlzLmRhdGEuYm9yZGVyQ29sb3J8fD10aGlzLmRhdGEuY29sb3I7Q2F0YWxvZy5wYXJzZURlc3REaWN0aW9uYXJ5KHtkZXN0RGljdDp0LHJlc3VsdE9iajp0aGlzLmRhdGEsZG9jQmFzZVVybDppLmJhc2VVcmwsZG9jQXR0YWNobWVudHM6aS5hdHRhY2htZW50c30pfX1jbGFzcyBQb3B1cEFubm90YXRpb24gZXh0ZW5kcyBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dH09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9Tzt0aGlzLmRhdGEubm9IVE1MPSExO3RoaXMuZGF0YS5yZWN0WzBdIT09dGhpcy5kYXRhLnJlY3RbMl0mJnRoaXMuZGF0YS5yZWN0WzFdIT09dGhpcy5kYXRhLnJlY3RbM118fCh0aGlzLmRhdGEucmVjdD1udWxsKTtsZXQgaT10LmdldCgiUGFyZW50Iik7aWYoIWkpe3dhcm4oIlBvcHVwIGFubm90YXRpb24gaGFzIGEgbWlzc2luZyBvciBpbnZhbGlkIHBhcmVudCBhbm5vdGF0aW9uLiIpO3JldHVybn10aGlzLmRhdGEucGFyZW50UmVjdD1sb29rdXBOb3JtYWxSZWN0KGkuZ2V0QXJyYXkoIlJlY3QiKSxudWxsKTtpc05hbWUoaS5nZXQoIlJUIiksWCkmJihpPWkuZ2V0KCJJUlQiKSk7aWYoaS5oYXMoIk0iKSl7dGhpcy5zZXRNb2RpZmljYXRpb25EYXRlKGkuZ2V0KCJNIikpO3RoaXMuZGF0YS5tb2RpZmljYXRpb25EYXRlPXRoaXMubW9kaWZpY2F0aW9uRGF0ZX1lbHNlIHRoaXMuZGF0YS5tb2RpZmljYXRpb25EYXRlPW51bGw7aWYoaS5oYXMoIkMiKSl7dGhpcy5zZXRDb2xvcihpLmdldEFycmF5KCJDIikpO3RoaXMuZGF0YS5jb2xvcj10aGlzLmNvbG9yfWVsc2UgdGhpcy5kYXRhLmNvbG9yPW51bGw7aWYoIXRoaXMudmlld2FibGUpe2NvbnN0IGU9aS5nZXQoIkYiKTt0aGlzLl9pc1ZpZXdhYmxlKGUpJiZ0aGlzLnNldEZsYWdzKGUpfXRoaXMuc2V0VGl0bGUoaS5nZXQoIlQiKSk7dGhpcy5kYXRhLnRpdGxlT2JqPXRoaXMuX3RpdGxlO3RoaXMuc2V0Q29udGVudHMoaS5nZXQoIkNvbnRlbnRzIikpO3RoaXMuZGF0YS5jb250ZW50c09iaj10aGlzLl9jb250ZW50cztpLmhhcygiUkMiKSYmKHRoaXMuZGF0YS5yaWNoVGV4dD1YRkFGYWN0b3J5LmdldFJpY2hUZXh0QXNIdG1sKGkuZ2V0KCJSQyIpKSk7dGhpcy5kYXRhLm9wZW49ISF0LmdldCgiT3BlbiIpfX1jbGFzcyBGcmVlVGV4dEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5pc0VkaXRhYmxlPSF0aGlzLmRhdGEubm9IVE1MO3RoaXMuZGF0YS5ub0hUTUw9ITE7Y29uc3R7ZXZhbHVhdG9yT3B0aW9uczp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9Tjt0aGlzLnNldERlZmF1bHRBcHBlYXJhbmNlKGUpO3RoaXMuX2hhc0FwcGVhcmFuY2U9ISF0aGlzLmFwcGVhcmFuY2U7aWYodGhpcy5faGFzQXBwZWFyYW5jZSl7Y29uc3R7Zm9udENvbG9yOmUsZm9udFNpemU6YX09ZnVuY3Rpb24gcGFyc2VBcHBlYXJhbmNlU3RyZWFtKGUsdCxpKXtyZXR1cm4gbmV3IEFwcGVhcmFuY2VTdHJlYW1FdmFsdWF0b3IoZSx0LGkpLnBhcnNlKCl9KHRoaXMuYXBwZWFyYW5jZSx0LGkpO3RoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEuZm9udENvbG9yPWU7dGhpcy5kYXRhLmRlZmF1bHRBcHBlYXJhbmNlRGF0YS5mb250U2l6ZT1hfHwxMH1lbHNle3RoaXMuZGF0YS5kZWZhdWx0QXBwZWFyYW5jZURhdGEuZm9udFNpemV8fD0xMDtjb25zdHtmb250Q29sb3I6dCxmb250U2l6ZTphfT10aGlzLmRhdGEuZGVmYXVsdEFwcGVhcmFuY2VEYXRhO2lmKHRoaXMuX2NvbnRlbnRzLnN0cil7dGhpcy5kYXRhLnRleHRDb250ZW50PXRoaXMuX2NvbnRlbnRzLnN0ci5zcGxpdCgvXHJcbj98XG4vKS5tYXAoKGU9PmUudHJpbUVuZCgpKSk7Y29uc3R7Y29vcmRzOmUsYmJveDp0LG1hdHJpeDppfT1GYWtlVW5pY29kZUZvbnQuZ2V0Rmlyc3RQb3NpdGlvbkluZm8odGhpcy5yZWN0YW5nbGUsdGhpcy5yb3RhdGlvbixhKTt0aGlzLmRhdGEudGV4dFBvc2l0aW9uPXRoaXMuX3RyYW5zZm9ybVBvaW50KGUsdCxpKX1pZih0aGlzLl9pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZCl7Y29uc3Qgcz1lLmRpY3QuZ2V0KCJDQSIpLHI9bmV3IEZha2VVbmljb2RlRm9udChpLCJzYW5zLXNlcmlmIik7dGhpcy5hcHBlYXJhbmNlPXIuY3JlYXRlQXBwZWFyYW5jZSh0aGlzLl9jb250ZW50cy5zdHIsdGhpcy5yZWN0YW5nbGUsdGhpcy5yb3RhdGlvbixhLHQscyk7dGhpcy5fc3RyZWFtcy5wdXNoKHRoaXMuYXBwZWFyYW5jZSl9ZWxzZSB3YXJuKCJGcmVlVGV4dEFubm90YXRpb246IE9mZnNjcmVlbkNhbnZhcyBpcyBub3Qgc3VwcG9ydGVkLCBhbm5vdGF0aW9uIG1heSBub3QgcmVuZGVyIGNvcnJlY3RseS4iKX19Z2V0IGhhc1RleHRDb250ZW50KCl7cmV0dXJuIHRoaXMuX2hhc0FwcGVhcmFuY2V9c3RhdGljIGNyZWF0ZU5ld0RpY3QoZSx0LHthcFJlZjppLGFwOmF9KXtjb25zdHtjb2xvcjpzLGZvbnRTaXplOnIsb2xkQW5ub3RhdGlvbjpuLHJlY3Q6Zyxyb3RhdGlvbjpvLHVzZXI6Yyx2YWx1ZTpDfT1lLGg9bnx8bmV3IERpY3QodCk7aC5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJBbm5vdCIpKTtoLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkZyZWVUZXh0IikpO2lmKG4pe2guc2V0KCJNIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTtoLmRlbGV0ZSgiUkMiKX1lbHNlIGguc2V0KCJDcmVhdGlvbkRhdGUiLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZSgpfWApO2guc2V0KCJSZWN0IixnKTtjb25zdCBsPWAvSGVsdiAke3J9IFRmICR7Z2V0UGRmQ29sb3IocywhMCl9YDtoLnNldCgiREEiLGwpO2guc2V0KCJDb250ZW50cyIsc3RyaW5nVG9Bc2NpaU9yVVRGMTZCRShDKSk7aC5zZXQoIkYiLDQpO2guc2V0KCJCb3JkZXIiLFswLDAsMF0pO2guc2V0KCJSb3RhdGUiLG8pO2MmJmguc2V0KCJUIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKGMpKTtpZihpfHxhKXtjb25zdCBlPW5ldyBEaWN0KHQpO2guc2V0KCJBUCIsZSk7aT9lLnNldCgiTiIsaSk6ZS5zZXQoIk4iLGEpfXJldHVybiBofXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtKGUsdCxpKXtjb25zdHtiYXNlRm9udFJlZjphLGV2YWx1YXRvcjpyLHRhc2s6bn09aSx7Y29sb3I6Zyxmb250U2l6ZTpvLHJlY3Q6Yyxyb3RhdGlvbjpDLHZhbHVlOmh9PWUsbD1uZXcgRGljdCh0KSxRPW5ldyBEaWN0KHQpO2lmKGEpUS5zZXQoIkhlbHYiLGEpO2Vsc2V7Y29uc3QgZT1uZXcgRGljdCh0KTtlLnNldCgiQmFzZUZvbnQiLE5hbWUuZ2V0KCJIZWx2ZXRpY2EiKSk7ZS5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJGb250IikpO2Uuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiVHlwZTEiKSk7ZS5zZXQoIkVuY29kaW5nIixOYW1lLmdldCgiV2luQW5zaUVuY29kaW5nIikpO1Euc2V0KCJIZWx2IixlKX1sLnNldCgiRm9udCIsUSk7Y29uc3QgRT1hd2FpdCBXaWRnZXRBbm5vdGF0aW9uLl9nZXRGb250RGF0YShyLG4se2ZvbnROYW1lOiJIZWx2Iixmb250U2l6ZTpvfSxsKSxbdSxkLGYscF09YztsZXQgbT1mLXUseT1wLWQ7QyUxODAhPTAmJihbbSx5XT1beSxtXSk7Y29uc3Qgdz1oLnNwbGl0KCJcbiIpLEQ9by8xZTM7bGV0IGI9LTEvMDtjb25zdCBGPVtdO2ZvcihsZXQgZSBvZiB3KXtjb25zdCB0PUUuZW5jb2RlU3RyaW5nKGUpO2lmKHQubGVuZ3RoPjEpcmV0dXJuIG51bGw7ZT10LmpvaW4oIiIpO0YucHVzaChlKTtsZXQgaT0wO2NvbnN0IGE9RS5jaGFyc1RvR2x5cGhzKGUpO2Zvcihjb25zdCBlIG9mIGEpaSs9ZS53aWR0aCpEO2I9TWF0aC5tYXgoYixpKX1sZXQgUz0xO2I+bSYmKFM9bS9iKTtsZXQgaz0xO2NvbnN0IFI9cypvLE49MSpvLEc9Uip3Lmxlbmd0aDtHPnkmJihrPXkvRyk7Y29uc3QgeD1vKk1hdGgubWluKFMsayk7bGV0IFUsTSxMO3N3aXRjaChDKXtjYXNlIDA6TD1bMSwwLDAsMV07TT1bY1swXSxjWzFdLG0seV07VT1bY1swXSxjWzNdLU5dO2JyZWFrO2Nhc2UgOTA6TD1bMCwxLC0xLDBdO009W2NbMV0sLWNbMl0sbSx5XTtVPVtjWzFdLC1jWzBdLU5dO2JyZWFrO2Nhc2UgMTgwOkw9Wy0xLDAsMCwtMV07TT1bLWNbMl0sLWNbM10sbSx5XTtVPVstY1syXSwtY1sxXS1OXTticmVhaztjYXNlIDI3MDpMPVswLC0xLDEsMF07TT1bLWNbM10sY1swXSxtLHldO1U9Wy1jWzNdLGNbMl0tTl19Y29uc3QgSD1bInEiLGAke0wuam9pbigiICIpfSAwIDAgY21gLGAke00uam9pbigiICIpfSByZSBXIG5gLCJCVCIsYCR7Z2V0UGRmQ29sb3IoZywhMCl9YCxgMCBUYyAvSGVsdiAke251bWJlclRvU3RyaW5nKHgpfSBUZmBdO0gucHVzaChgJHtVLmpvaW4oIiAiKX0gVGQgKCR7ZXNjYXBlU3RyaW5nKEZbMF0pfSkgVGpgKTtjb25zdCBKPW51bWJlclRvU3RyaW5nKFIpO2ZvcihsZXQgZT0xLHQ9Ri5sZW5ndGg7ZTx0O2UrKyl7Y29uc3QgdD1GW2VdO0gucHVzaChgMCAtJHtKfSBUZCAoJHtlc2NhcGVTdHJpbmcodCl9KSBUamApfUgucHVzaCgiRVQiLCJRIik7Y29uc3QgWT1ILmpvaW4oIlxuIiksdj1uZXcgRGljdCh0KTt2LnNldCgiRm9ybVR5cGUiLDEpO3Yuc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTt2LnNldCgiVHlwZSIsTmFtZS5nZXQoIlhPYmplY3QiKSk7di5zZXQoIkJCb3giLGMpO3Yuc2V0KCJSZXNvdXJjZXMiLGwpO3Yuc2V0KCJNYXRyaXgiLFsxLDAsMCwxLC1jWzBdLC1jWzFdXSk7Y29uc3QgSz1uZXcgU3RyaW5nU3RyZWFtKFkpO0suZGljdD12O3JldHVybiBLfX1jbGFzcyBMaW5lQW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9Rzt0aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEubm9IVE1MPSExO2NvbnN0IGE9bG9va3VwUmVjdCh0LmdldEFycmF5KCJMIiksWzAsMCwwLDBdKTt0aGlzLmRhdGEubGluZUNvb3JkaW5hdGVzPVV0aWwubm9ybWFsaXplUmVjdChhKTt0aGlzLnNldExpbmVFbmRpbmdzKHQuZ2V0QXJyYXkoIkxFIikpO3RoaXMuZGF0YS5saW5lRW5kaW5ncz10aGlzLmxpbmVFbmRpbmdzO2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlswLDAsMF0scz10LmdldCgiQ0EiKSxyPWdldFJnYkNvbG9yKHQuZ2V0QXJyYXkoIklDIiksbnVsbCksbj1yP2dldFBkZkNvbG9yQXJyYXkocik6bnVsbCxnPW4/czpudWxsLG89dGhpcy5ib3JkZXJTdHlsZS53aWR0aHx8MSxjPTIqbyxDPVt0aGlzLmRhdGEubGluZUNvb3JkaW5hdGVzWzBdLWMsdGhpcy5kYXRhLmxpbmVDb29yZGluYXRlc1sxXS1jLHRoaXMuZGF0YS5saW5lQ29vcmRpbmF0ZXNbMl0rYyx0aGlzLmRhdGEubGluZUNvb3JkaW5hdGVzWzNdK2NdO1V0aWwuaW50ZXJzZWN0KHRoaXMucmVjdGFuZ2xlLEMpfHwodGhpcy5yZWN0YW5nbGU9Qyk7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6aSxleHRyYTpgJHtvfSB3YCxzdHJva2VDb2xvcjplLGZpbGxDb2xvcjpuLHN0cm9rZUFscGhhOnMsZmlsbEFscGhhOmcscG9pbnRzQ2FsbGJhY2s6KGUsdCk9PntlLnB1c2goYCR7YVswXX0gJHthWzFdfSBtYCxgJHthWzJdfSAke2FbM119IGxgLCJTIik7cmV0dXJuW3RbMF0tbyx0WzJdK28sdFs3XS1vLHRbM10rb119fSl9fX1jbGFzcyBTcXVhcmVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT14O3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9ITE7aWYoIXRoaXMuYXBwZWFyYW5jZSl7Y29uc3QgZT10aGlzLmNvbG9yP2dldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcik6WzAsMCwwXSxhPXQuZ2V0KCJDQSIpLHM9Z2V0UmdiQ29sb3IodC5nZXRBcnJheSgiSUMiKSxudWxsKSxyPXM/Z2V0UGRmQ29sb3JBcnJheShzKTpudWxsLG49cj9hOm51bGw7aWYoMD09PXRoaXMuYm9yZGVyU3R5bGUud2lkdGgmJiFyKXJldHVybjt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOmAke3RoaXMuYm9yZGVyU3R5bGUud2lkdGh9IHdgLHN0cm9rZUNvbG9yOmUsZmlsbENvbG9yOnIsc3Ryb2tlQWxwaGE6YSxmaWxsQWxwaGE6bixwb2ludHNDYWxsYmFjazooZSx0KT0+e2NvbnN0IGk9dFs0XSt0aGlzLmJvcmRlclN0eWxlLndpZHRoLzIsYT10WzVdK3RoaXMuYm9yZGVyU3R5bGUud2lkdGgvMixzPXRbNl0tdFs0XS10aGlzLmJvcmRlclN0eWxlLndpZHRoLG49dFszXS10WzddLXRoaXMuYm9yZGVyU3R5bGUud2lkdGg7ZS5wdXNoKGAke2l9ICR7YX0gJHtzfSAke259IHJlYCk7cj9lLnB1c2goIkIiKTplLnB1c2goIlMiKTtyZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fX1jbGFzcyBDaXJjbGVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1VO2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlswLDAsMF0sYT10LmdldCgiQ0EiKSxzPWdldFJnYkNvbG9yKHQuZ2V0QXJyYXkoIklDIiksbnVsbCkscj1zP2dldFBkZkNvbG9yQXJyYXkocyk6bnVsbCxuPXI/YTpudWxsO2lmKDA9PT10aGlzLmJvcmRlclN0eWxlLndpZHRoJiYhcilyZXR1cm47Y29uc3QgZz00LzMqTWF0aC50YW4oTWF0aC5QSS84KTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOmAke3RoaXMuYm9yZGVyU3R5bGUud2lkdGh9IHdgLHN0cm9rZUNvbG9yOmUsZmlsbENvbG9yOnIsc3Ryb2tlQWxwaGE6YSxmaWxsQWxwaGE6bixwb2ludHNDYWxsYmFjazooZSx0KT0+e2NvbnN0IGk9dFswXSt0aGlzLmJvcmRlclN0eWxlLndpZHRoLzIsYT10WzFdLXRoaXMuYm9yZGVyU3R5bGUud2lkdGgvMixzPXRbNl0tdGhpcy5ib3JkZXJTdHlsZS53aWR0aC8yLG49dFs3XSt0aGlzLmJvcmRlclN0eWxlLndpZHRoLzIsbz1pKyhzLWkpLzIsYz1hKyhuLWEpLzIsQz0ocy1pKS8yKmcsaD0obi1hKS8yKmc7ZS5wdXNoKGAke299ICR7bn0gbWAsYCR7bytDfSAke259ICR7c30gJHtjK2h9ICR7c30gJHtjfSBjYCxgJHtzfSAke2MtaH0gJHtvK0N9ICR7YX0gJHtvfSAke2F9IGNgLGAke28tQ30gJHthfSAke2l9ICR7Yy1ofSAke2l9ICR7Y30gY2AsYCR7aX0gJHtjK2h9ICR7by1DfSAke259ICR7b30gJHtufSBjYCwiaCIpO3I/ZS5wdXNoKCJCIik6ZS5wdXNoKCJTIik7cmV0dXJuW3RbMF0sdFsyXSx0WzddLHRbM11dfX0pfX19Y2xhc3MgUG9seWxpbmVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1MO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9ITE7dGhpcy5kYXRhLnZlcnRpY2VzPW51bGw7aWYoISh0aGlzIGluc3RhbmNlb2YgUG9seWdvbkFubm90YXRpb24pKXt0aGlzLnNldExpbmVFbmRpbmdzKHQuZ2V0QXJyYXkoIkxFIikpO3RoaXMuZGF0YS5saW5lRW5kaW5ncz10aGlzLmxpbmVFbmRpbmdzfWNvbnN0IGE9dC5nZXRBcnJheSgiVmVydGljZXMiKTtpZighaXNOdW1iZXJBcnJheShhLG51bGwpKXJldHVybjtjb25zdCBzPXRoaXMuZGF0YS52ZXJ0aWNlcz1GbG9hdDMyQXJyYXkuZnJvbShhKTtpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPXRoaXMuY29sb3I/Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yKTpbMCwwLDBdLGE9dC5nZXQoIkNBIikscj10aGlzLmJvcmRlclN0eWxlLndpZHRofHwxLG49MipyLGc9WzEvMCwxLzAsLTEvMCwtMS8wXTtmb3IobGV0IGU9MCx0PXMubGVuZ3RoO2U8dDtlKz0yKXtnWzBdPU1hdGgubWluKGdbMF0sc1tlXS1uKTtnWzFdPU1hdGgubWluKGdbMV0sc1tlKzFdLW4pO2dbMl09TWF0aC5tYXgoZ1syXSxzW2VdK24pO2dbM109TWF0aC5tYXgoZ1szXSxzW2UrMV0rbil9VXRpbC5pbnRlcnNlY3QodGhpcy5yZWN0YW5nbGUsZyl8fCh0aGlzLnJlY3RhbmdsZT1nKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOmAke3J9IHdgLHN0cm9rZUNvbG9yOmUsc3Ryb2tlQWxwaGE6YSxwb2ludHNDYWxsYmFjazooZSx0KT0+e2ZvcihsZXQgdD0wLGk9cy5sZW5ndGg7dDxpO3QrPTIpZS5wdXNoKGAke3NbdF19ICR7c1t0KzFdfSAkezA9PT10PyJtIjoibCJ9YCk7ZS5wdXNoKCJTIik7cmV0dXJuW3RbMF0sdFsyXSx0WzddLHRbM11dfX0pfX19Y2xhc3MgUG9seWdvbkFubm90YXRpb24gZXh0ZW5kcyBQb2x5bGluZUFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPU19fWNsYXNzIENhcmV0QW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPVR9fWNsYXNzIElua0Fubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9dGhpcy5kYXRhLm5vUm90YXRlO3RoaXMuZGF0YS5ub0hUTUw9ITE7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9cTt0aGlzLmRhdGEuaW5rTGlzdHM9W107dGhpcy5kYXRhLmlzRWRpdGFibGU9IXRoaXMuZGF0YS5ub0hUTUwmJiJJbmtIaWdobGlnaHQiPT09dGhpcy5kYXRhLml0O3RoaXMuZGF0YS5ub0hUTUw9ITE7dGhpcy5kYXRhLm9wYWNpdHk9dC5nZXQoIkNBIil8fDE7Y29uc3QgYT10LmdldEFycmF5KCJJbmtMaXN0Iik7aWYoQXJyYXkuaXNBcnJheShhKSl7Zm9yKGxldCBlPTAsdD1hLmxlbmd0aDtlPHQ7KytlKXtpZighQXJyYXkuaXNBcnJheShhW2VdKSljb250aW51ZTtjb25zdCB0PW5ldyBGbG9hdDMyQXJyYXkoYVtlXS5sZW5ndGgpO3RoaXMuZGF0YS5pbmtMaXN0cy5wdXNoKHQpO2ZvcihsZXQgcz0wLHI9YVtlXS5sZW5ndGg7czxyO3MrPTIpe2NvbnN0IHI9aS5mZXRjaElmUmVmKGFbZV1bc10pLG49aS5mZXRjaElmUmVmKGFbZV1bcysxXSk7aWYoIm51bWJlciI9PXR5cGVvZiByJiYibnVtYmVyIj09dHlwZW9mIG4pe3Rbc109cjt0W3MrMV09bn19fWlmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlswLDAsMF0sYT10LmdldCgiQ0EiKSxzPXRoaXMuYm9yZGVyU3R5bGUud2lkdGh8fDEscj0yKnMsbj1bMS8wLDEvMCwtMS8wLC0xLzBdO2Zvcihjb25zdCBlIG9mIHRoaXMuZGF0YS5pbmtMaXN0cylmb3IobGV0IHQ9MCxpPWUubGVuZ3RoO3Q8aTt0Kz0yKXtuWzBdPU1hdGgubWluKG5bMF0sZVt0XS1yKTtuWzFdPU1hdGgubWluKG5bMV0sZVt0KzFdLXIpO25bMl09TWF0aC5tYXgoblsyXSxlW3RdK3IpO25bM109TWF0aC5tYXgoblszXSxlW3QrMV0rcil9VXRpbC5pbnRlcnNlY3QodGhpcy5yZWN0YW5nbGUsbil8fCh0aGlzLnJlY3RhbmdsZT1uKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOmAke3N9IHdgLHN0cm9rZUNvbG9yOmUsc3Ryb2tlQWxwaGE6YSxwb2ludHNDYWxsYmFjazooZSx0KT0+e2Zvcihjb25zdCB0IG9mIHRoaXMuZGF0YS5pbmtMaXN0cyl7Zm9yKGxldCBpPTAsYT10Lmxlbmd0aDtpPGE7aSs9MillLnB1c2goYCR7dFtpXX0gJHt0W2krMV19ICR7MD09PWk/Im0iOiJsIn1gKTtlLnB1c2goIlMiKX1yZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fX1zdGF0aWMgY3JlYXRlTmV3RGljdChlLHQse2FwUmVmOmksYXA6YX0pe2NvbnN0e2NvbG9yOnMsb3BhY2l0eTpyLHBhdGhzOm4sb3V0bGluZXM6ZyxyZWN0Om8scm90YXRpb246Yyx0aGlja25lc3M6Q309ZSxoPW5ldyBEaWN0KHQpO2guc2V0KCJUeXBlIixOYW1lLmdldCgiQW5ub3QiKSk7aC5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJJbmsiKSk7aC5zZXQoIkNyZWF0aW9uRGF0ZSIsYEQ6JHtnZXRNb2RpZmljYXRpb25EYXRlKCl9YCk7aC5zZXQoIlJlY3QiLG8pO2guc2V0KCJJbmtMaXN0IixnPy5wb2ludHN8fG4ubWFwKChlPT5lLnBvaW50cykpKTtoLnNldCgiRiIsNCk7aC5zZXQoIlJvdGF0ZSIsYyk7ZyYmaC5zZXQoIklUIixOYW1lLmdldCgiSW5rSGlnaGxpZ2h0IikpO2NvbnN0IGw9bmV3IERpY3QodCk7aC5zZXQoIkJTIixsKTtsLnNldCgiVyIsQyk7aC5zZXQoIkMiLEFycmF5LmZyb20ocywoZT0+ZS8yNTUpKSk7aC5zZXQoIkNBIixyKTtjb25zdCBRPW5ldyBEaWN0KHQpO2guc2V0KCJBUCIsUSk7aT9RLnNldCgiTiIsaSk6US5zZXQoIk4iLGEpO3JldHVybiBofXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtKGUsdCxpKXtpZihlLm91dGxpbmVzKXJldHVybiB0aGlzLmNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW1Gb3JIaWdobGlnaHQoZSx0LGkpO2NvbnN0e2NvbG9yOmEscmVjdDpzLHBhdGhzOnIsdGhpY2tuZXNzOm4sb3BhY2l0eTpnfT1lLG89W2Ake259IHcgMSBKIDEgamAsYCR7Z2V0UGRmQ29sb3IoYSwhMSl9YF07MSE9PWcmJm8ucHVzaCgiL1IwIGdzIik7Y29uc3QgYz1bXTtmb3IoY29uc3R7YmV6aWVyOmV9b2Ygcil7Yy5sZW5ndGg9MDtjLnB1c2goYCR7bnVtYmVyVG9TdHJpbmcoZVswXSl9ICR7bnVtYmVyVG9TdHJpbmcoZVsxXSl9IG1gKTtpZigyPT09ZS5sZW5ndGgpYy5wdXNoKGAke251bWJlclRvU3RyaW5nKGVbMF0pfSAke251bWJlclRvU3RyaW5nKGVbMV0pfSBsIFNgKTtlbHNle2ZvcihsZXQgdD0yLGk9ZS5sZW5ndGg7dDxpO3QrPTYpe2NvbnN0IGk9ZS5zbGljZSh0LHQrNikubWFwKG51bWJlclRvU3RyaW5nKS5qb2luKCIgIik7Yy5wdXNoKGAke2l9IGNgKX1jLnB1c2goIlMiKX1vLnB1c2goYy5qb2luKCJcbiIpKX1jb25zdCBDPW8uam9pbigiXG4iKSxoPW5ldyBEaWN0KHQpO2guc2V0KCJGb3JtVHlwZSIsMSk7aC5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJGb3JtIikpO2guc2V0KCJUeXBlIixOYW1lLmdldCgiWE9iamVjdCIpKTtoLnNldCgiQkJveCIscyk7aC5zZXQoIkxlbmd0aCIsQy5sZW5ndGgpO2lmKDEhPT1nKXtjb25zdCBlPW5ldyBEaWN0KHQpLGk9bmV3IERpY3QodCksYT1uZXcgRGljdCh0KTthLnNldCgiQ0EiLGcpO2Euc2V0KCJUeXBlIixOYW1lLmdldCgiRXh0R1N0YXRlIikpO2kuc2V0KCJSMCIsYSk7ZS5zZXQoIkV4dEdTdGF0ZSIsaSk7aC5zZXQoIlJlc291cmNlcyIsZSl9Y29uc3QgbD1uZXcgU3RyaW5nU3RyZWFtKEMpO2wuZGljdD1oO3JldHVybiBsfXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtRm9ySGlnaGxpZ2h0KGUsdCxpKXtjb25zdHtjb2xvcjphLHJlY3Q6cyxvdXRsaW5lczp7b3V0bGluZTpyfSxvcGFjaXR5Om59PWUsZz1bYCR7Z2V0UGRmQ29sb3IoYSwhMCl9YCwiL1IwIGdzIl07Zy5wdXNoKGAke251bWJlclRvU3RyaW5nKHJbNF0pfSAke251bWJlclRvU3RyaW5nKHJbNV0pfSBtYCk7Zm9yKGxldCBlPTYsdD1yLmxlbmd0aDtlPHQ7ZSs9NilpZihpc05hTihyW2VdKXx8bnVsbD09PXJbZV0pZy5wdXNoKGAke251bWJlclRvU3RyaW5nKHJbZSs0XSl9ICR7bnVtYmVyVG9TdHJpbmcocltlKzVdKX0gbGApO2Vsc2V7Y29uc3QgdD1yLnNsaWNlKGUsZSs2KS5tYXAobnVtYmVyVG9TdHJpbmcpLmpvaW4oIiAiKTtnLnB1c2goYCR7dH0gY2ApfWcucHVzaCgiaCBmIik7Y29uc3Qgbz1nLmpvaW4oIlxuIiksYz1uZXcgRGljdCh0KTtjLnNldCgiRm9ybVR5cGUiLDEpO2Muc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTtjLnNldCgiVHlwZSIsTmFtZS5nZXQoIlhPYmplY3QiKSk7Yy5zZXQoIkJCb3giLHMpO2Muc2V0KCJMZW5ndGgiLG8ubGVuZ3RoKTtjb25zdCBDPW5ldyBEaWN0KHQpLGg9bmV3IERpY3QodCk7Qy5zZXQoIkV4dEdTdGF0ZSIsaCk7Yy5zZXQoIlJlc291cmNlcyIsQyk7Y29uc3QgbD1uZXcgRGljdCh0KTtoLnNldCgiUjAiLGwpO2wuc2V0KCJCTSIsTmFtZS5nZXQoIk11bHRpcGx5IikpO2lmKDEhPT1uKXtsLnNldCgiY2EiLG4pO2wuc2V0KCJUeXBlIixOYW1lLmdldCgiRXh0R1N0YXRlIikpfWNvbnN0IFE9bmV3IFN0cmluZ1N0cmVhbShvKTtRLmRpY3Q9YztyZXR1cm4gUX19Y2xhc3MgSGlnaGxpZ2h0QW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9SDt0aGlzLmRhdGEuaXNFZGl0YWJsZT0hdGhpcy5kYXRhLm5vSFRNTDt0aGlzLmRhdGEubm9IVE1MPSExO3RoaXMuZGF0YS5vcGFjaXR5PXQuZ2V0KCJDQSIpfHwxO2lmKHRoaXMuZGF0YS5xdWFkUG9pbnRzPWdldFF1YWRQb2ludHModCxudWxsKSl7Y29uc3QgZT10aGlzLmFwcGVhcmFuY2U/LmRpY3QuZ2V0KCJSZXNvdXJjZXMiKTtpZighdGhpcy5hcHBlYXJhbmNlfHwhZT8uaGFzKCJFeHRHU3RhdGUiKSl7dGhpcy5hcHBlYXJhbmNlJiZ3YXJuKCJIaWdobGlnaHRBbm5vdGF0aW9uIC0gaWdub3JpbmcgYnVpbHQtaW4gYXBwZWFyYW5jZSBzdHJlYW0uIik7Y29uc3QgZT10aGlzLmNvbG9yP2dldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcik6WzEsMSwwXSxhPXQuZ2V0KCJDQSIpO3RoaXMuX3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmksZmlsbENvbG9yOmUsYmxlbmRNb2RlOiJNdWx0aXBseSIsZmlsbEFscGhhOmEscG9pbnRzQ2FsbGJhY2s6KGUsdCk9PntlLnB1c2goYCR7dFswXX0gJHt0WzFdfSBtYCxgJHt0WzJdfSAke3RbM119IGxgLGAke3RbNl19ICR7dFs3XX0gbGAsYCR7dFs0XX0gJHt0WzVdfSBsYCwiZiIpO3JldHVyblt0WzBdLHRbMl0sdFs3XSx0WzNdXX19KX19ZWxzZSB0aGlzLmRhdGEucG9wdXBSZWY9bnVsbH1zdGF0aWMgY3JlYXRlTmV3RGljdChlLHQse2FwUmVmOmksYXA6YX0pe2NvbnN0e2NvbG9yOnMsb2xkQW5ub3RhdGlvbjpyLG9wYWNpdHk6bixyZWN0Omcscm90YXRpb246byx1c2VyOmMscXVhZFBvaW50czpDfT1lLGg9cnx8bmV3IERpY3QodCk7aC5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJBbm5vdCIpKTtoLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIkhpZ2hsaWdodCIpKTtoLnNldChyPyJNIjoiQ3JlYXRpb25EYXRlIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTtoLnNldCgiQ3JlYXRpb25EYXRlIixgRDoke2dldE1vZGlmaWNhdGlvbkRhdGUoKX1gKTtoLnNldCgiUmVjdCIsZyk7aC5zZXQoIkYiLDQpO2guc2V0KCJCb3JkZXIiLFswLDAsMF0pO2guc2V0KCJSb3RhdGUiLG8pO2guc2V0KCJRdWFkUG9pbnRzIixDKTtoLnNldCgiQyIsQXJyYXkuZnJvbShzLChlPT5lLzI1NSkpKTtoLnNldCgiQ0EiLG4pO2MmJmguc2V0KCJUIixzdHJpbmdUb0FzY2lpT3JVVEYxNkJFKGMpKTtpZihpfHxhKXtjb25zdCBlPW5ldyBEaWN0KHQpO2guc2V0KCJBUCIsZSk7ZS5zZXQoIk4iLGl8fGEpfXJldHVybiBofXN0YXRpYyBhc3luYyBjcmVhdGVOZXdBcHBlYXJhbmNlU3RyZWFtKGUsdCxpKXtjb25zdHtjb2xvcjphLHJlY3Q6cyxvdXRsaW5lczpyLG9wYWNpdHk6bn09ZSxnPVtgJHtnZXRQZGZDb2xvcihhLCEwKX1gLCIvUjAgZ3MiXSxvPVtdO2Zvcihjb25zdCBlIG9mIHIpe28ubGVuZ3RoPTA7by5wdXNoKGAke251bWJlclRvU3RyaW5nKGVbMF0pfSAke251bWJlclRvU3RyaW5nKGVbMV0pfSBtYCk7Zm9yKGxldCB0PTIsaT1lLmxlbmd0aDt0PGk7dCs9MilvLnB1c2goYCR7bnVtYmVyVG9TdHJpbmcoZVt0XSl9ICR7bnVtYmVyVG9TdHJpbmcoZVt0KzFdKX0gbGApO28ucHVzaCgiaCIpO2cucHVzaChvLmpvaW4oIlxuIikpfWcucHVzaCgiZioiKTtjb25zdCBjPWcuam9pbigiXG4iKSxDPW5ldyBEaWN0KHQpO0Muc2V0KCJGb3JtVHlwZSIsMSk7Qy5zZXQoIlN1YnR5cGUiLE5hbWUuZ2V0KCJGb3JtIikpO0Muc2V0KCJUeXBlIixOYW1lLmdldCgiWE9iamVjdCIpKTtDLnNldCgiQkJveCIscyk7Qy5zZXQoIkxlbmd0aCIsYy5sZW5ndGgpO2NvbnN0IGg9bmV3IERpY3QodCksbD1uZXcgRGljdCh0KTtoLnNldCgiRXh0R1N0YXRlIixsKTtDLnNldCgiUmVzb3VyY2VzIixoKTtjb25zdCBRPW5ldyBEaWN0KHQpO2wuc2V0KCJSMCIsUSk7US5zZXQoIkJNIixOYW1lLmdldCgiTXVsdGlwbHkiKSk7aWYoMSE9PW4pe1Euc2V0KCJjYSIsbik7US5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJFeHRHU3RhdGUiKSl9Y29uc3QgRT1uZXcgU3RyaW5nU3RyZWFtKGMpO0UuZGljdD1DO3JldHVybiBFfX1jbGFzcyBVbmRlcmxpbmVBbm5vdGF0aW9uIGV4dGVuZHMgTWFya3VwQW5ub3RhdGlvbntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdHtkaWN0OnQseHJlZjppfT1lO3RoaXMuZGF0YS5hbm5vdGF0aW9uVHlwZT1KO2lmKHRoaXMuZGF0YS5xdWFkUG9pbnRzPWdldFF1YWRQb2ludHModCxudWxsKSl7aWYoIXRoaXMuYXBwZWFyYW5jZSl7Y29uc3QgZT10aGlzLmNvbG9yP2dldFBkZkNvbG9yQXJyYXkodGhpcy5jb2xvcik6WzAsMCwwXSxhPXQuZ2V0KCJDQSIpO3RoaXMuX3NldERlZmF1bHRBcHBlYXJhbmNlKHt4cmVmOmksZXh0cmE6IltdIDAgZCAwLjU3MSB3IixzdHJva2VDb2xvcjplLHN0cm9rZUFscGhhOmEscG9pbnRzQ2FsbGJhY2s6KGUsdCk9PntlLnB1c2goYCR7dFs0XX0gJHt0WzVdKzEuM30gbWAsYCR7dFs2XX0gJHt0WzddKzEuM30gbGAsIlMiKTtyZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fWVsc2UgdGhpcy5kYXRhLnBvcHVwUmVmPW51bGx9fWNsYXNzIFNxdWlnZ2x5QW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7Y29uc3R7ZGljdDp0LHhyZWY6aX09ZTt0aGlzLmRhdGEuYW5ub3RhdGlvblR5cGU9WTtpZih0aGlzLmRhdGEucXVhZFBvaW50cz1nZXRRdWFkUG9pbnRzKHQsbnVsbCkpe2lmKCF0aGlzLmFwcGVhcmFuY2Upe2NvbnN0IGU9dGhpcy5jb2xvcj9nZXRQZGZDb2xvckFycmF5KHRoaXMuY29sb3IpOlswLDAsMF0sYT10LmdldCgiQ0EiKTt0aGlzLl9zZXREZWZhdWx0QXBwZWFyYW5jZSh7eHJlZjppLGV4dHJhOiJbXSAwIGQgMSB3IixzdHJva2VDb2xvcjplLHN0cm9rZUFscGhhOmEscG9pbnRzQ2FsbGJhY2s6KGUsdCk9Pntjb25zdCBpPSh0WzFdLXRbNV0pLzY7bGV0IGE9aSxzPXRbNF07Y29uc3Qgcj10WzVdLG49dFs2XTtlLnB1c2goYCR7c30gJHtyK2F9IG1gKTtkb3tzKz0yO2E9MD09PWE/aTowO2UucHVzaChgJHtzfSAke3IrYX0gbGApfXdoaWxlKHM8bik7ZS5wdXNoKCJTIik7cmV0dXJuW3RbNF0sbixyLTIqaSxyKzIqaV19fSl9fWVsc2UgdGhpcy5kYXRhLnBvcHVwUmVmPW51bGx9fWNsYXNzIFN0cmlrZU91dEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWU7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPXY7aWYodGhpcy5kYXRhLnF1YWRQb2ludHM9Z2V0UXVhZFBvaW50cyh0LG51bGwpKXtpZighdGhpcy5hcHBlYXJhbmNlKXtjb25zdCBlPXRoaXMuY29sb3I/Z2V0UGRmQ29sb3JBcnJheSh0aGlzLmNvbG9yKTpbMCwwLDBdLGE9dC5nZXQoIkNBIik7dGhpcy5fc2V0RGVmYXVsdEFwcGVhcmFuY2Uoe3hyZWY6aSxleHRyYToiW10gMCBkIDEgdyIsc3Ryb2tlQ29sb3I6ZSxzdHJva2VBbHBoYTphLHBvaW50c0NhbGxiYWNrOihlLHQpPT57ZS5wdXNoKCh0WzBdK3RbNF0pLzIrIiAiKyh0WzFdK3RbNV0pLzIrIiBtIiwodFsyXSt0WzZdKS8yKyIgIisodFszXSt0WzddKS8yKyIgbCIsIlMiKTtyZXR1cm5bdFswXSx0WzJdLHRbN10sdFszXV19fSl9fWVsc2UgdGhpcy5kYXRhLnBvcHVwUmVmPW51bGx9fWNsYXNzIFN0YW1wQW5ub3RhdGlvbiBleHRlbmRzIE1hcmt1cEFubm90YXRpb257I1Q7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSk7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPUs7dGhpcy4jVD10aGlzLmRhdGEuaGFzT3duQ2FudmFzPXRoaXMuZGF0YS5ub1JvdGF0ZTt0aGlzLmRhdGEuaXNFZGl0YWJsZT0hdGhpcy5kYXRhLm5vSFRNTDt0aGlzLmRhdGEubm9IVE1MPSExfW11c3RCZVZpZXdlZFdoZW5FZGl0aW5nKGUsdD1udWxsKXtpZihlKXtpZighdGhpcy5kYXRhLmlzRWRpdGFibGUpcmV0dXJuITE7dGhpcy4jVD10aGlzLmRhdGEuaGFzT3duQ2FudmFzO3RoaXMuZGF0YS5oYXNPd25DYW52YXM9ITA7cmV0dXJuITB9dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLiNUO3JldHVybiF0Py5oYXModGhpcy5kYXRhLmlkKX1zdGF0aWMgYXN5bmMgY3JlYXRlSW1hZ2UoZSx0KXtjb25zdHt3aWR0aDppLGhlaWdodDphfT1lLHM9bmV3IE9mZnNjcmVlbkNhbnZhcyhpLGEpLHI9cy5nZXRDb250ZXh0KCIyZCIse2FscGhhOiEwfSk7ci5kcmF3SW1hZ2UoZSwwLDApO2NvbnN0IG49ci5nZXRJbWFnZURhdGEoMCwwLGksYSkuZGF0YSxnPW5ldyBVaW50MzJBcnJheShuLmJ1ZmZlciksbz1nLnNvbWUoRmVhdHVyZVRlc3QuaXNMaXR0bGVFbmRpYW4/ZT0+ZT4+PjI0IT0yNTU6ZT0+MjU1IT0oMjU1JmUpKTtpZihvKXtyLmZpbGxTdHlsZT0id2hpdGUiO3IuZmlsbFJlY3QoMCwwLGksYSk7ci5kcmF3SW1hZ2UoZSwwLDApfWNvbnN0IGM9cy5jb252ZXJ0VG9CbG9iKHt0eXBlOiJpbWFnZS9qcGVnIixxdWFsaXR5OjF9KS50aGVuKChlPT5lLmFycmF5QnVmZmVyKCkpKSxDPU5hbWUuZ2V0KCJYT2JqZWN0IiksaD1OYW1lLmdldCgiSW1hZ2UiKSxsPW5ldyBEaWN0KHQpO2wuc2V0KCJUeXBlIixDKTtsLnNldCgiU3VidHlwZSIsaCk7bC5zZXQoIkJpdHNQZXJDb21wb25lbnQiLDgpO2wuc2V0KCJDb2xvclNwYWNlIixOYW1lLmdldCgiRGV2aWNlUkdCIikpO2wuc2V0KCJGaWx0ZXIiLE5hbWUuZ2V0KCJEQ1REZWNvZGUiKSk7bC5zZXQoIkJCb3giLFswLDAsaSxhXSk7bC5zZXQoIldpZHRoIixpKTtsLnNldCgiSGVpZ2h0IixhKTtsZXQgUT1udWxsO2lmKG8pe2NvbnN0IGU9bmV3IFVpbnQ4QXJyYXkoZy5sZW5ndGgpO2lmKEZlYXR1cmVUZXN0LmlzTGl0dGxlRW5kaWFuKWZvcihsZXQgdD0wLGk9Zy5sZW5ndGg7dDxpO3QrKyllW3RdPWdbdF0+Pj4yNDtlbHNlIGZvcihsZXQgdD0wLGk9Zy5sZW5ndGg7dDxpO3QrKyllW3RdPTI1NSZnW3RdO2NvbnN0IHM9bmV3IERpY3QodCk7cy5zZXQoIlR5cGUiLEMpO3Muc2V0KCJTdWJ0eXBlIixoKTtzLnNldCgiQml0c1BlckNvbXBvbmVudCIsOCk7cy5zZXQoIkNvbG9yU3BhY2UiLE5hbWUuZ2V0KCJEZXZpY2VHcmF5IikpO3Muc2V0KCJXaWR0aCIsaSk7cy5zZXQoIkhlaWdodCIsYSk7UT1uZXcgU3RyZWFtKGUsMCwwLHMpfXJldHVybntpbWFnZVN0cmVhbTpuZXcgU3RyZWFtKGF3YWl0IGMsMCwwLGwpLHNtYXNrU3RyZWFtOlEsd2lkdGg6aSxoZWlnaHQ6YX19c3RhdGljIGNyZWF0ZU5ld0RpY3QoZSx0LHthcFJlZjppLGFwOmF9KXtjb25zdHtvbGRBbm5vdGF0aW9uOnMscmVjdDpyLHJvdGF0aW9uOm4sdXNlcjpnfT1lLG89c3x8bmV3IERpY3QodCk7by5zZXQoIlR5cGUiLE5hbWUuZ2V0KCJBbm5vdCIpKTtvLnNldCgiU3VidHlwZSIsTmFtZS5nZXQoIlN0YW1wIikpO28uc2V0KHM/Ik0iOiJDcmVhdGlvbkRhdGUiLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZSgpfWApO28uc2V0KCJDcmVhdGlvbkRhdGUiLGBEOiR7Z2V0TW9kaWZpY2F0aW9uRGF0ZSgpfWApO28uc2V0KCJSZWN0IixyKTtvLnNldCgiRiIsNCk7by5zZXQoIkJvcmRlciIsWzAsMCwwXSk7by5zZXQoIlJvdGF0ZSIsbik7ZyYmby5zZXQoIlQiLHN0cmluZ1RvQXNjaWlPclVURjE2QkUoZykpO2lmKGl8fGEpe2NvbnN0IGU9bmV3IERpY3QodCk7by5zZXQoIkFQIixlKTtpP2Uuc2V0KCJOIixpKTplLnNldCgiTiIsYSl9cmV0dXJuIG99c3RhdGljIGFzeW5jIGNyZWF0ZU5ld0FwcGVhcmFuY2VTdHJlYW0oZSx0LGkpe2lmKGUub2xkQW5ub3RhdGlvbilyZXR1cm4gbnVsbDtjb25zdHtyb3RhdGlvbjphfT1lLHtpbWFnZVJlZjpzLHdpZHRoOnIsaGVpZ2h0Om59PWkuaW1hZ2UsZz1uZXcgRGljdCh0KSxvPW5ldyBEaWN0KHQpO2cuc2V0KCJYT2JqZWN0IixvKTtvLnNldCgiSW0wIixzKTtjb25zdCBjPWBxICR7cn0gMCAwICR7bn0gMCAwIGNtIC9JbTAgRG8gUWAsQz1uZXcgRGljdCh0KTtDLnNldCgiRm9ybVR5cGUiLDEpO0Muc2V0KCJTdWJ0eXBlIixOYW1lLmdldCgiRm9ybSIpKTtDLnNldCgiVHlwZSIsTmFtZS5nZXQoIlhPYmplY3QiKSk7Qy5zZXQoIkJCb3giLFswLDAscixuXSk7Qy5zZXQoIlJlc291cmNlcyIsZyk7aWYoYSl7Y29uc3QgZT1nZXRSb3RhdGlvbk1hdHJpeChhLHIsbik7Qy5zZXQoIk1hdHJpeCIsZSl9Y29uc3QgaD1uZXcgU3RyaW5nU3RyZWFtKGMpO2guZGljdD1DO3JldHVybiBofX1jbGFzcyBGaWxlQXR0YWNobWVudEFubm90YXRpb24gZXh0ZW5kcyBNYXJrdXBBbm5vdGF0aW9ue2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpO2NvbnN0e2RpY3Q6dCx4cmVmOml9PWUsYT1uZXcgRmlsZVNwZWModC5nZXQoIkZTIiksaSk7dGhpcy5kYXRhLmFubm90YXRpb25UeXBlPVc7dGhpcy5kYXRhLmhhc093bkNhbnZhcz10aGlzLmRhdGEubm9Sb3RhdGU7dGhpcy5kYXRhLm5vSFRNTD0hMTt0aGlzLmRhdGEuZmlsZT1hLnNlcmlhbGl6YWJsZTtjb25zdCBzPXQuZ2V0KCJOYW1lIik7dGhpcy5kYXRhLm5hbWU9cyBpbnN0YW5jZW9mIE5hbWU/c3RyaW5nVG9QREZTdHJpbmcocy5uYW1lKToiUHVzaFBpbiI7Y29uc3Qgcj10LmdldCgiY2EiKTt0aGlzLmRhdGEuZmlsbEFscGhhPSJudW1iZXIiPT10eXBlb2YgciYmcj49MCYmcjw9MT9yOm51bGx9fWZ1bmN0aW9uIGRlY29kZVN0cmluZyhlKXt0cnl7cmV0dXJuIHN0cmluZ1RvVVRGOFN0cmluZyhlKX1jYXRjaCh0KXt3YXJuKGBVVEYtOCBkZWNvZGluZyBmYWlsZWQ6ICIke3R9Ii5gKTtyZXR1cm4gZX19Y2xhc3MgRGF0YXNldFhNTFBhcnNlciBleHRlbmRzIFNpbXBsZVhNTFBhcnNlcntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLm5vZGU9bnVsbH1vbkVuZEVsZW1lbnQoZSl7Y29uc3QgdD1zdXBlci5vbkVuZEVsZW1lbnQoZSk7aWYodCYmInhmYTpkYXRhc2V0cyI9PT1lKXt0aGlzLm5vZGU9dDt0aHJvdyBuZXcgRXJyb3IoIkFib3J0aW5nIERhdGFzZXRYTUxQYXJzZXIuIil9fX1jbGFzcyBEYXRhc2V0UmVhZGVye2NvbnN0cnVjdG9yKGUpe2lmKGUuZGF0YXNldHMpdGhpcy5ub2RlPW5ldyBTaW1wbGVYTUxQYXJzZXIoe2hhc0F0dHJpYnV0ZXM6ITB9KS5wYXJzZUZyb21TdHJpbmcoZS5kYXRhc2V0cykuZG9jdW1lbnRFbGVtZW50O2Vsc2V7Y29uc3QgdD1uZXcgRGF0YXNldFhNTFBhcnNlcih7aGFzQXR0cmlidXRlczohMH0pO3RyeXt0LnBhcnNlRnJvbVN0cmluZyhlWyJ4ZHA6eGRwIl0pfWNhdGNoe310aGlzLm5vZGU9dC5ub2RlfX1nZXRWYWx1ZShlKXtpZighdGhpcy5ub2RlfHwhZSlyZXR1cm4iIjtjb25zdCB0PXRoaXMubm9kZS5zZWFyY2hOb2RlKHBhcnNlWEZBUGF0aChlKSwwKTtpZighdClyZXR1cm4iIjtjb25zdCBpPXQuZmlyc3RDaGlsZDtyZXR1cm4idmFsdWUiPT09aT8ubm9kZU5hbWU/dC5jaGlsZHJlbi5tYXAoKGU9PmRlY29kZVN0cmluZyhlLnRleHRDb250ZW50KSkpOmRlY29kZVN0cmluZyh0LnRleHRDb250ZW50KX19Y2xhc3MgWFJlZnsjcT1udWxsO2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5zdHJlYW09ZTt0aGlzLnBkZk1hbmFnZXI9dDt0aGlzLmVudHJpZXM9W107dGhpcy5feHJlZlN0bXM9bmV3IFNldDt0aGlzLl9jYWNoZU1hcD1uZXcgTWFwO3RoaXMuX3BlbmRpbmdSZWZzPW5ldyBSZWZTZXQ7dGhpcy5fbmV3UGVyc2lzdGVudFJlZk51bT1udWxsO3RoaXMuX25ld1RlbXBvcmFyeVJlZk51bT1udWxsO3RoaXMuX3BlcnNpc3RlbnRSZWZzQ2FjaGU9bnVsbH1nZXROZXdQZXJzaXN0ZW50UmVmKGUpe251bGw9PT10aGlzLl9uZXdQZXJzaXN0ZW50UmVmTnVtJiYodGhpcy5fbmV3UGVyc2lzdGVudFJlZk51bT10aGlzLmVudHJpZXMubGVuZ3RofHwxKTtjb25zdCB0PXRoaXMuX25ld1BlcnNpc3RlbnRSZWZOdW0rKzt0aGlzLl9jYWNoZU1hcC5zZXQodCxlKTtyZXR1cm4gUmVmLmdldCh0LDApfWdldE5ld1RlbXBvcmFyeVJlZigpe2lmKG51bGw9PT10aGlzLl9uZXdUZW1wb3JhcnlSZWZOdW0pe3RoaXMuX25ld1RlbXBvcmFyeVJlZk51bT10aGlzLmVudHJpZXMubGVuZ3RofHwxO2lmKHRoaXMuX25ld1BlcnNpc3RlbnRSZWZOdW0pe3RoaXMuX3BlcnNpc3RlbnRSZWZzQ2FjaGU9bmV3IE1hcDtmb3IobGV0IGU9dGhpcy5fbmV3VGVtcG9yYXJ5UmVmTnVtO2U8dGhpcy5fbmV3UGVyc2lzdGVudFJlZk51bTtlKyspe3RoaXMuX3BlcnNpc3RlbnRSZWZzQ2FjaGUuc2V0KGUsdGhpcy5fY2FjaGVNYXAuZ2V0KGUpKTt0aGlzLl9jYWNoZU1hcC5kZWxldGUoZSl9fX1yZXR1cm4gUmVmLmdldCh0aGlzLl9uZXdUZW1wb3JhcnlSZWZOdW0rKywwKX1yZXNldE5ld1RlbXBvcmFyeVJlZigpe3RoaXMuX25ld1RlbXBvcmFyeVJlZk51bT1udWxsO2lmKHRoaXMuX3BlcnNpc3RlbnRSZWZzQ2FjaGUpZm9yKGNvbnN0W2UsdF1vZiB0aGlzLl9wZXJzaXN0ZW50UmVmc0NhY2hlKXRoaXMuX2NhY2hlTWFwLnNldChlLHQpO3RoaXMuX3BlcnNpc3RlbnRSZWZzQ2FjaGU9bnVsbH1zZXRTdGFydFhSZWYoZSl7dGhpcy5zdGFydFhSZWZRdWV1ZT1bZV19cGFyc2UoZT0hMSl7bGV0IHQsaSxhO2lmKGUpe3dhcm4oIkluZGV4aW5nIGFsbCBQREYgb2JqZWN0cyIpO3Q9dGhpcy5pbmRleE9iamVjdHMoKX1lbHNlIHQ9dGhpcy5yZWFkWFJlZigpO3QuYXNzaWduWHJlZih0aGlzKTt0aGlzLnRyYWlsZXI9dDt0cnl7aT10LmdldCgiRW5jcnlwdCIpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oYFhSZWYucGFyc2UgLSBJbnZhbGlkICJFbmNyeXB0IiByZWZlcmVuY2U6ICIke2V9Ii5gKX1pZihpIGluc3RhbmNlb2YgRGljdCl7Y29uc3QgZT10LmdldCgiSUQiKSxhPWU/Lmxlbmd0aD9lWzBdOiIiO2kuc3VwcHJlc3NFbmNyeXB0aW9uPSEwO3RoaXMuZW5jcnlwdD1uZXcgQ2lwaGVyVHJhbnNmb3JtRmFjdG9yeShpLGEsdGhpcy5wZGZNYW5hZ2VyLnBhc3N3b3JkKX10cnl7YT10LmdldCgiUm9vdCIpfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oYFhSZWYucGFyc2UgLSBJbnZhbGlkICJSb290IiByZWZlcmVuY2U6ICIke2V9Ii5gKX1pZihhIGluc3RhbmNlb2YgRGljdCl0cnl7aWYoYS5nZXQoIlBhZ2VzIilpbnN0YW5jZW9mIERpY3Qpe3RoaXMucm9vdD1hO3JldHVybn19Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7d2FybihgWFJlZi5wYXJzZSAtIEludmFsaWQgIlBhZ2VzIiByZWZlcmVuY2U6ICIke2V9Ii5gKX1pZighZSl0aHJvdyBuZXcgWFJlZlBhcnNlRXhjZXB0aW9uO3Rocm93IG5ldyBJbnZhbGlkUERGRXhjZXB0aW9uKCJJbnZhbGlkIFJvb3QgcmVmZXJlbmNlLiIpfXByb2Nlc3NYUmVmVGFibGUoZSl7InRhYmxlU3RhdGUiaW4gdGhpc3x8KHRoaXMudGFibGVTdGF0ZT17ZW50cnlOdW06MCxzdHJlYW1Qb3M6ZS5sZXhlci5zdHJlYW0ucG9zLHBhcnNlckJ1ZjE6ZS5idWYxLHBhcnNlckJ1ZjI6ZS5idWYyfSk7aWYoIWlzQ21kKHRoaXMucmVhZFhSZWZUYWJsZShlKSwidHJhaWxlciIpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIHRhYmxlOiBjb3VsZCBub3QgZmluZCB0cmFpbGVyIGRpY3Rpb25hcnkiKTtsZXQgdD1lLmdldE9iaigpO3QgaW5zdGFuY2VvZiBEaWN0fHwhdC5kaWN0fHwodD10LmRpY3QpO2lmKCEodCBpbnN0YW5jZW9mIERpY3QpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIHRhYmxlOiBjb3VsZCBub3QgcGFyc2UgdHJhaWxlciBkaWN0aW9uYXJ5Iik7ZGVsZXRlIHRoaXMudGFibGVTdGF0ZTtyZXR1cm4gdH1yZWFkWFJlZlRhYmxlKGUpe2NvbnN0IHQ9ZS5sZXhlci5zdHJlYW0saT10aGlzLnRhYmxlU3RhdGU7dC5wb3M9aS5zdHJlYW1Qb3M7ZS5idWYxPWkucGFyc2VyQnVmMTtlLmJ1ZjI9aS5wYXJzZXJCdWYyO2xldCBhO2Zvcig7Oyl7aWYoISgiZmlyc3RFbnRyeU51bSJpbiBpKXx8ISgiZW50cnlDb3VudCJpbiBpKSl7aWYoaXNDbWQoYT1lLmdldE9iaigpLCJ0cmFpbGVyIikpYnJlYWs7aS5maXJzdEVudHJ5TnVtPWE7aS5lbnRyeUNvdW50PWUuZ2V0T2JqKCl9bGV0IHM9aS5maXJzdEVudHJ5TnVtO2NvbnN0IHI9aS5lbnRyeUNvdW50O2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHMpfHwhTnVtYmVyLmlzSW50ZWdlcihyKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiB0YWJsZTogd3JvbmcgdHlwZXMgaW4gc3Vic2VjdGlvbiBoZWFkZXIiKTtmb3IobGV0IGE9aS5lbnRyeU51bTthPHI7YSsrKXtpLnN0cmVhbVBvcz10LnBvcztpLmVudHJ5TnVtPWE7aS5wYXJzZXJCdWYxPWUuYnVmMTtpLnBhcnNlckJ1ZjI9ZS5idWYyO2NvbnN0IG49e307bi5vZmZzZXQ9ZS5nZXRPYmooKTtuLmdlbj1lLmdldE9iaigpO2NvbnN0IGc9ZS5nZXRPYmooKTtpZihnIGluc3RhbmNlb2YgQ21kKXN3aXRjaChnLmNtZCl7Y2FzZSJmIjpuLmZyZWU9ITA7YnJlYWs7Y2FzZSJuIjpuLnVuY29tcHJlc3NlZD0hMH1pZighTnVtYmVyLmlzSW50ZWdlcihuLm9mZnNldCl8fCFOdW1iZXIuaXNJbnRlZ2VyKG4uZ2VuKXx8IW4uZnJlZSYmIW4udW5jb21wcmVzc2VkKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBlbnRyeSBpbiBYUmVmIHN1YnNlY3Rpb246ICR7c30sICR7cn1gKTswPT09YSYmbi5mcmVlJiYxPT09cyYmKHM9MCk7dGhpcy5lbnRyaWVzW2Erc118fCh0aGlzLmVudHJpZXNbYStzXT1uKX1pLmVudHJ5TnVtPTA7aS5zdHJlYW1Qb3M9dC5wb3M7aS5wYXJzZXJCdWYxPWUuYnVmMTtpLnBhcnNlckJ1ZjI9ZS5idWYyO2RlbGV0ZSBpLmZpcnN0RW50cnlOdW07ZGVsZXRlIGkuZW50cnlDb3VudH1pZih0aGlzLmVudHJpZXNbMF0mJiF0aGlzLmVudHJpZXNbMF0uZnJlZSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiB0YWJsZTogdW5leHBlY3RlZCBmaXJzdCBvYmplY3QiKTtyZXR1cm4gYX1wcm9jZXNzWFJlZlN0cmVhbShlKXtpZighKCJzdHJlYW1TdGF0ZSJpbiB0aGlzKSl7Y29uc3QgdD1lLmRpY3QsaT10LmdldCgiVyIpO2xldCBhPXQuZ2V0KCJJbmRleCIpO2F8fChhPVswLHQuZ2V0KCJTaXplIildKTt0aGlzLnN0cmVhbVN0YXRlPXtlbnRyeVJhbmdlczphLGJ5dGVXaWR0aHM6aSxlbnRyeU51bTowLHN0cmVhbVBvczplLnBvc319dGhpcy5yZWFkWFJlZlN0cmVhbShlKTtkZWxldGUgdGhpcy5zdHJlYW1TdGF0ZTtyZXR1cm4gZS5kaWN0fXJlYWRYUmVmU3RyZWFtKGUpe2NvbnN0IHQ9dGhpcy5zdHJlYW1TdGF0ZTtlLnBvcz10LnN0cmVhbVBvcztjb25zdFtpLGEsc109dC5ieXRlV2lkdGhzLHI9dC5lbnRyeVJhbmdlcztmb3IoO3IubGVuZ3RoPjA7KXtjb25zdFtuLGddPXI7aWYoIU51bWJlci5pc0ludGVnZXIobil8fCFOdW1iZXIuaXNJbnRlZ2VyKGcpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBYUmVmIHJhbmdlIGZpZWxkczogJHtufSwgJHtnfWApO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGkpfHwhTnVtYmVyLmlzSW50ZWdlcihhKXx8IU51bWJlci5pc0ludGVnZXIocykpdGhyb3cgbmV3IEZvcm1hdEVycm9yKGBJbnZhbGlkIFhSZWYgZW50cnkgZmllbGRzIGxlbmd0aDogJHtufSwgJHtnfWApO2ZvcihsZXQgcj10LmVudHJ5TnVtO3I8ZzsrK3Ipe3QuZW50cnlOdW09cjt0LnN0cmVhbVBvcz1lLnBvcztsZXQgZz0wLG89MCxjPTA7Zm9yKGxldCB0PTA7dDxpOysrdCl7Y29uc3QgdD1lLmdldEJ5dGUoKTtpZigtMT09PXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgYnl0ZVdpZHRocyAndHlwZScuIik7Zz1nPDw4fHR9MD09PWkmJihnPTEpO2ZvcihsZXQgdD0wO3Q8YTsrK3Qpe2NvbnN0IHQ9ZS5nZXRCeXRlKCk7aWYoLTE9PT10KXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIGJ5dGVXaWR0aHMgJ29mZnNldCcuIik7bz1vPDw4fHR9Zm9yKGxldCB0PTA7dDxzOysrdCl7Y29uc3QgdD1lLmdldEJ5dGUoKTtpZigtMT09PXQpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJJbnZhbGlkIFhSZWYgYnl0ZVdpZHRocyAnZ2VuZXJhdGlvbicuIik7Yz1jPDw4fHR9Y29uc3QgQz17fTtDLm9mZnNldD1vO0MuZ2VuPWM7c3dpdGNoKGcpe2Nhc2UgMDpDLmZyZWU9ITA7YnJlYWs7Y2FzZSAxOkMudW5jb21wcmVzc2VkPSEwO2JyZWFrO2Nhc2UgMjpicmVhaztkZWZhdWx0OnRocm93IG5ldyBGb3JtYXRFcnJvcihgSW52YWxpZCBYUmVmIGVudHJ5IHR5cGU6ICR7Z31gKX10aGlzLmVudHJpZXNbbityXXx8KHRoaXMuZW50cmllc1tuK3JdPUMpfXQuZW50cnlOdW09MDt0LnN0cmVhbVBvcz1lLnBvcztyLnNwbGljZSgwLDIpfX1pbmRleE9iamVjdHMoKXtmdW5jdGlvbiByZWFkVG9rZW4oZSx0KXtsZXQgaT0iIixhPWVbdF07Zm9yKDsxMCE9PWEmJjEzIT09YSYmNjAhPT1hJiYhKCsrdD49ZS5sZW5ndGgpOyl7aSs9U3RyaW5nLmZyb21DaGFyQ29kZShhKTthPWVbdF19cmV0dXJuIGl9ZnVuY3Rpb24gc2tpcFVudGlsKGUsdCxpKXtjb25zdCBhPWkubGVuZ3RoLHM9ZS5sZW5ndGg7bGV0IHI9MDtmb3IoO3Q8czspe2xldCBzPTA7Zm9yKDtzPGEmJmVbdCtzXT09PWlbc107KSsrcztpZihzPj1hKWJyZWFrO3QrKztyKyt9cmV0dXJuIHJ9Y29uc3QgZT0vXGIoZW5kb2JqfFxkK1xzK1xkK1xzK29ianx4cmVmfHRyYWlsZXJccyo8PClcYi9nLHQ9L1xiKHN0YXJ0eHJlZnxcZCtccytcZCtccytvYmopXGIvZyxpPS9eKFxkKylccysoXGQrKVxzK29ialxiLyxhPW5ldyBVaW50OEFycmF5KFsxMTYsMTE0LDk3LDEwNSwxMDgsMTAxLDExNF0pLHM9bmV3IFVpbnQ4QXJyYXkoWzExNSwxMTYsOTcsMTE0LDExNiwxMjAsMTE0LDEwMSwxMDJdKSxyPW5ldyBVaW50OEFycmF5KFs0Nyw4OCw4MiwxMDEsMTAyXSk7dGhpcy5lbnRyaWVzLmxlbmd0aD0wO3RoaXMuX2NhY2hlTWFwLmNsZWFyKCk7Y29uc3Qgbj10aGlzLnN0cmVhbTtuLnBvcz0wO2NvbnN0IGc9bi5nZXRCeXRlcygpLG89Ynl0ZXNUb1N0cmluZyhnKSxjPWcubGVuZ3RoO2xldCBDPW4uc3RhcnQ7Y29uc3QgaD1bXSxsPVtdO2Zvcig7QzxjOyl7bGV0IFE9Z1tDXTtpZig5PT09UXx8MTA9PT1RfHwxMz09PVF8fDMyPT09USl7KytDO2NvbnRpbnVlfWlmKDM3PT09USl7ZG97KytDO2lmKEM+PWMpYnJlYWs7UT1nW0NdfXdoaWxlKDEwIT09USYmMTMhPT1RKTtjb250aW51ZX1jb25zdCBFPXJlYWRUb2tlbihnLEMpO2xldCB1O2lmKEUuc3RhcnRzV2l0aCgieHJlZiIpJiYoND09PUUubGVuZ3RofHwvXHMvLnRlc3QoRVs0XSkpKXtDKz1za2lwVW50aWwoZyxDLGEpO2gucHVzaChDKTtDKz1za2lwVW50aWwoZyxDLHMpfWVsc2UgaWYodT1pLmV4ZWMoRSkpe2NvbnN0IHQ9MHx1WzFdLGk9MHx1WzJdLGE9QytFLmxlbmd0aDtsZXQgcyxoPSExO2lmKHRoaXMuZW50cmllc1t0XSl7aWYodGhpcy5lbnRyaWVzW3RdLmdlbj09PWkpdHJ5e25ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcihuLm1ha2VTdWJTdHJlYW0oYSkpfSkuZ2V0T2JqKCk7aD0hMH1jYXRjaChlKXtlIGluc3RhbmNlb2YgUGFyc2VyRU9GRXhjZXB0aW9uP3dhcm4oYGluZGV4T2JqZWN0cyAtLSBjaGVja2luZyBvYmplY3QgKCR7RX0pOiAiJHtlfSIuYCk6aD0hMH19ZWxzZSBoPSEwO2gmJih0aGlzLmVudHJpZXNbdF09e29mZnNldDpDLW4uc3RhcnQsZ2VuOmksdW5jb21wcmVzc2VkOiEwfSk7ZS5sYXN0SW5kZXg9YTtjb25zdCBRPWUuZXhlYyhvKTtpZihRKXtzPWUubGFzdEluZGV4KzEtQztpZigiZW5kb2JqIiE9PVFbMV0pe3dhcm4oYGluZGV4T2JqZWN0czogRm91bmQgIiR7UVsxXX0iIGluc2lkZSBvZiBhbm90aGVyICJvYmoiLCBjYXVzZWQgYnkgbWlzc2luZyAiZW5kb2JqIiAtLSB0cnlpbmcgdG8gcmVjb3Zlci5gKTtzLT1RWzFdLmxlbmd0aCsxfX1lbHNlIHM9Yy1DO2NvbnN0IGQ9Zy5zdWJhcnJheShDLEMrcyksZj1za2lwVW50aWwoZCwwLHIpO2lmKGY8cyYmZFtmKzVdPDY0KXtsLnB1c2goQy1uLnN0YXJ0KTt0aGlzLl94cmVmU3Rtcy5hZGQoQy1uLnN0YXJ0KX1DKz1zfWVsc2UgaWYoRS5zdGFydHNXaXRoKCJ0cmFpbGVyIikmJig3PT09RS5sZW5ndGh8fC9ccy8udGVzdChFWzddKSkpe2gucHVzaChDKTtjb25zdCBlPUMrRS5sZW5ndGg7bGV0IGk7dC5sYXN0SW5kZXg9ZTtjb25zdCBhPXQuZXhlYyhvKTtpZihhKXtpPXQubGFzdEluZGV4KzEtQztpZigic3RhcnR4cmVmIiE9PWFbMV0pe3dhcm4oYGluZGV4T2JqZWN0czogRm91bmQgIiR7YVsxXX0iIGFmdGVyICJ0cmFpbGVyIiwgY2F1c2VkIGJ5IG1pc3NpbmcgInN0YXJ0eHJlZiIgLS0gdHJ5aW5nIHRvIHJlY292ZXIuYCk7aS09YVsxXS5sZW5ndGgrMX19ZWxzZSBpPWMtQztDKz1pfWVsc2UgQys9RS5sZW5ndGgrMX1mb3IoY29uc3QgZSBvZiBsKXt0aGlzLnN0YXJ0WFJlZlF1ZXVlLnB1c2goZSk7dGhpcy5yZWFkWFJlZighMCl9Y29uc3QgUT1bXTtsZXQgRSx1LGQ9ITE7Zm9yKGNvbnN0IGUgb2YgaCl7bi5wb3M9ZTtjb25zdCB0PW5ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcihuKSx4cmVmOnRoaXMsYWxsb3dTdHJlYW1zOiEwLHJlY292ZXJ5TW9kZTohMH0pO2lmKCFpc0NtZCh0LmdldE9iaigpLCJ0cmFpbGVyIikpY29udGludWU7Y29uc3QgaT10LmdldE9iaigpO2lmKGkgaW5zdGFuY2VvZiBEaWN0KXtRLnB1c2goaSk7aS5oYXMoIkVuY3J5cHQiKSYmKGQ9ITApfX1mb3IoY29uc3QgZSBvZlsuLi5RLCJnZW5GYWxsYmFjayIsLi4uUV0pe2lmKCJnZW5GYWxsYmFjayI9PT1lKXtpZighdSlicmVhazt0aGlzLl9nZW5lcmF0aW9uRmFsbGJhY2s9ITA7Y29udGludWV9bGV0IHQ9ITE7dHJ5e2NvbnN0IGk9ZS5nZXQoIlJvb3QiKTtpZighKGkgaW5zdGFuY2VvZiBEaWN0KSljb250aW51ZTtjb25zdCBhPWkuZ2V0KCJQYWdlcyIpO2lmKCEoYSBpbnN0YW5jZW9mIERpY3QpKWNvbnRpbnVlO2NvbnN0IHM9YS5nZXQoIkNvdW50Iik7TnVtYmVyLmlzSW50ZWdlcihzKSYmKHQ9ITApfWNhdGNoKGUpe3U9ZTtjb250aW51ZX1pZih0JiYoIWR8fGUuaGFzKCJFbmNyeXB0IikpJiZlLmhhcygiSUQiKSlyZXR1cm4gZTtFPWV9aWYoRSlyZXR1cm4gRTtpZih0aGlzLnRvcERpY3QpcmV0dXJuIHRoaXMudG9wRGljdDt0aHJvdyBuZXcgSW52YWxpZFBERkV4Y2VwdGlvbigiSW52YWxpZCBQREYgc3RydWN0dXJlLiIpfXJlYWRYUmVmKGU9ITEpe2NvbnN0IHQ9dGhpcy5zdHJlYW0saT1uZXcgU2V0O2Zvcig7dGhpcy5zdGFydFhSZWZRdWV1ZS5sZW5ndGg7KXt0cnl7Y29uc3QgZT10aGlzLnN0YXJ0WFJlZlF1ZXVlWzBdO2lmKGkuaGFzKGUpKXt3YXJuKCJyZWFkWFJlZiAtIHNraXBwaW5nIFhSZWYgdGFibGUgc2luY2UgaXQgd2FzIGFscmVhZHkgcGFyc2VkLiIpO3RoaXMuc3RhcnRYUmVmUXVldWUuc2hpZnQoKTtjb250aW51ZX1pLmFkZChlKTt0LnBvcz1lK3Quc3RhcnQ7Y29uc3QgYT1uZXcgUGFyc2VyKHtsZXhlcjpuZXcgTGV4ZXIodCkseHJlZjp0aGlzLGFsbG93U3RyZWFtczohMH0pO2xldCBzLHI9YS5nZXRPYmooKTtpZihpc0NtZChyLCJ4cmVmIikpe3M9dGhpcy5wcm9jZXNzWFJlZlRhYmxlKGEpO3RoaXMudG9wRGljdHx8KHRoaXMudG9wRGljdD1zKTtyPXMuZ2V0KCJYUmVmU3RtIik7aWYoTnVtYmVyLmlzSW50ZWdlcihyKSYmIXRoaXMuX3hyZWZTdG1zLmhhcyhyKSl7dGhpcy5feHJlZlN0bXMuYWRkKHIpO3RoaXMuc3RhcnRYUmVmUXVldWUucHVzaChyKTt0aGlzLiNxPz89cn19ZWxzZXtpZighTnVtYmVyLmlzSW50ZWdlcihyKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgWFJlZiBzdHJlYW0gaGVhZGVyIik7aWYoIShOdW1iZXIuaXNJbnRlZ2VyKGEuZ2V0T2JqKCkpJiZpc0NtZChhLmdldE9iaigpLCJvYmoiKSYmKHI9YS5nZXRPYmooKSlpbnN0YW5jZW9mIEJhc2VTdHJlYW0pKXRocm93IG5ldyBGb3JtYXRFcnJvcigiSW52YWxpZCBYUmVmIHN0cmVhbSIpO3M9dGhpcy5wcm9jZXNzWFJlZlN0cmVhbShyKTt0aGlzLnRvcERpY3R8fCh0aGlzLnRvcERpY3Q9cyk7aWYoIXMpdGhyb3cgbmV3IEZvcm1hdEVycm9yKCJGYWlsZWQgdG8gcmVhZCBYUmVmIHN0cmVhbSIpfXI9cy5nZXQoIlByZXYiKTtOdW1iZXIuaXNJbnRlZ2VyKHIpP3RoaXMuc3RhcnRYUmVmUXVldWUucHVzaChyKTpyIGluc3RhbmNlb2YgUmVmJiZ0aGlzLnN0YXJ0WFJlZlF1ZXVlLnB1c2goci5udW0pfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO2luZm8oIih3aGlsZSByZWFkaW5nIFhSZWYpOiAiK2UpfXRoaXMuc3RhcnRYUmVmUXVldWUuc2hpZnQoKX1pZih0aGlzLnRvcERpY3QpcmV0dXJuIHRoaXMudG9wRGljdDtpZighZSl0aHJvdyBuZXcgWFJlZlBhcnNlRXhjZXB0aW9ufWdldCBsYXN0WFJlZlN0cmVhbVBvcygpe3JldHVybiB0aGlzLiNxPz8odGhpcy5feHJlZlN0bXMuc2l6ZT4wP01hdGgubWF4KC4uLnRoaXMuX3hyZWZTdG1zKTpudWxsKX1nZXRFbnRyeShlKXtjb25zdCB0PXRoaXMuZW50cmllc1tlXTtyZXR1cm4gdCYmIXQuZnJlZSYmdC5vZmZzZXQ/dDpudWxsfWZldGNoSWZSZWYoZSx0PSExKXtyZXR1cm4gZSBpbnN0YW5jZW9mIFJlZj90aGlzLmZldGNoKGUsdCk6ZX1mZXRjaChlLHQ9ITEpe2lmKCEoZSBpbnN0YW5jZW9mIFJlZikpdGhyb3cgbmV3IEVycm9yKCJyZWYgb2JqZWN0IGlzIG5vdCBhIHJlZmVyZW5jZSIpO2NvbnN0IGk9ZS5udW0sYT10aGlzLl9jYWNoZU1hcC5nZXQoaSk7aWYodm9pZCAwIT09YSl7YSBpbnN0YW5jZW9mIERpY3QmJiFhLm9iaklkJiYoYS5vYmpJZD1lLnRvU3RyaW5nKCkpO3JldHVybiBhfWxldCBzPXRoaXMuZ2V0RW50cnkoaSk7aWYobnVsbD09PXMpe3RoaXMuX2NhY2hlTWFwLnNldChpLHMpO3JldHVybiBzfWlmKHRoaXMuX3BlbmRpbmdSZWZzLmhhcyhlKSl7dGhpcy5fcGVuZGluZ1JlZnMucmVtb3ZlKGUpO3dhcm4oYElnbm9yaW5nIGNpcmN1bGFyIHJlZmVyZW5jZTogJHtlfS5gKTtyZXR1cm4geXR9dGhpcy5fcGVuZGluZ1JlZnMucHV0KGUpO3RyeXtzPXMudW5jb21wcmVzc2VkP3RoaXMuZmV0Y2hVbmNvbXByZXNzZWQoZSxzLHQpOnRoaXMuZmV0Y2hDb21wcmVzc2VkKGUscyx0KTt0aGlzLl9wZW5kaW5nUmVmcy5yZW1vdmUoZSl9Y2F0Y2godCl7dGhpcy5fcGVuZGluZ1JlZnMucmVtb3ZlKGUpO3Rocm93IHR9cyBpbnN0YW5jZW9mIERpY3Q/cy5vYmpJZD1lLnRvU3RyaW5nKCk6cyBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJihzLmRpY3Qub2JqSWQ9ZS50b1N0cmluZygpKTtyZXR1cm4gc31mZXRjaFVuY29tcHJlc3NlZChlLHQsaT0hMSl7Y29uc3QgYT1lLmdlbjtsZXQgcz1lLm51bTtpZih0LmdlbiE9PWEpe2NvbnN0IHI9YEluY29uc2lzdGVudCBnZW5lcmF0aW9uIGluIFhSZWY6ICR7ZX1gO2lmKHRoaXMuX2dlbmVyYXRpb25GYWxsYmFjayYmdC5nZW48YSl7d2FybihyKTtyZXR1cm4gdGhpcy5mZXRjaFVuY29tcHJlc3NlZChSZWYuZ2V0KHMsdC5nZW4pLHQsaSl9dGhyb3cgbmV3IFhSZWZFbnRyeUV4Y2VwdGlvbihyKX1jb25zdCByPXRoaXMuc3RyZWFtLm1ha2VTdWJTdHJlYW0odC5vZmZzZXQrdGhpcy5zdHJlYW0uc3RhcnQpLG49bmV3IFBhcnNlcih7bGV4ZXI6bmV3IExleGVyKHIpLHhyZWY6dGhpcyxhbGxvd1N0cmVhbXM6ITB9KSxnPW4uZ2V0T2JqKCksbz1uLmdldE9iaigpLGM9bi5nZXRPYmooKTtpZihnIT09c3x8byE9PWF8fCEoYyBpbnN0YW5jZW9mIENtZCkpdGhyb3cgbmV3IFhSZWZFbnRyeUV4Y2VwdGlvbihgQmFkICh1bmNvbXByZXNzZWQpIFhSZWYgZW50cnk6ICR7ZX1gKTtpZigib2JqIiE9PWMuY21kKXtpZihjLmNtZC5zdGFydHNXaXRoKCJvYmoiKSl7cz1wYXJzZUludChjLmNtZC5zdWJzdHJpbmcoMyksMTApO2lmKCFOdW1iZXIuaXNOYU4ocykpcmV0dXJuIHN9dGhyb3cgbmV3IFhSZWZFbnRyeUV4Y2VwdGlvbihgQmFkICh1bmNvbXByZXNzZWQpIFhSZWYgZW50cnk6ICR7ZX1gKX0odD10aGlzLmVuY3J5cHQmJiFpP24uZ2V0T2JqKHRoaXMuZW5jcnlwdC5jcmVhdGVDaXBoZXJUcmFuc2Zvcm0ocyxhKSk6bi5nZXRPYmooKSlpbnN0YW5jZW9mIEJhc2VTdHJlYW18fHRoaXMuX2NhY2hlTWFwLnNldChzLHQpO3JldHVybiB0fWZldGNoQ29tcHJlc3NlZChlLHQsaT0hMSl7Y29uc3QgYT10Lm9mZnNldCxzPXRoaXMuZmV0Y2goUmVmLmdldChhLDApKTtpZighKHMgaW5zdGFuY2VvZiBCYXNlU3RyZWFtKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoImJhZCBPYmpTdG0gc3RyZWFtIik7Y29uc3Qgcj1zLmRpY3QuZ2V0KCJGaXJzdCIpLG49cy5kaWN0LmdldCgiTiIpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHIpfHwhTnVtYmVyLmlzSW50ZWdlcihuKSl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoImludmFsaWQgZmlyc3QgYW5kIG4gcGFyYW1ldGVycyBmb3IgT2JqU3RtIHN0cmVhbSIpO2xldCBnPW5ldyBQYXJzZXIoe2xleGVyOm5ldyBMZXhlcihzKSx4cmVmOnRoaXMsYWxsb3dTdHJlYW1zOiEwfSk7Y29uc3Qgbz1uZXcgQXJyYXkobiksYz1uZXcgQXJyYXkobik7Zm9yKGxldCBlPTA7ZTxuOysrZSl7Y29uc3QgdD1nLmdldE9iaigpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKHQpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgaW52YWxpZCBvYmplY3QgbnVtYmVyIGluIHRoZSBPYmpTdG0gc3RyZWFtOiAke3R9YCk7Y29uc3QgaT1nLmdldE9iaigpO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGkpKXRocm93IG5ldyBGb3JtYXRFcnJvcihgaW52YWxpZCBvYmplY3Qgb2Zmc2V0IGluIHRoZSBPYmpTdG0gc3RyZWFtOiAke2l9YCk7b1tlXT10O2NbZV09aX1jb25zdCBDPShzLnN0YXJ0fHwwKStyLGg9bmV3IEFycmF5KG4pO2ZvcihsZXQgZT0wO2U8bjsrK2Upe2NvbnN0IHQ9ZTxuLTE/Y1tlKzFdLWNbZV06dm9pZCAwO2lmKHQ8MCl0aHJvdyBuZXcgRm9ybWF0RXJyb3IoIkludmFsaWQgb2Zmc2V0IGluIHRoZSBPYmpTdG0gc3RyZWFtLiIpO2c9bmV3IFBhcnNlcih7bGV4ZXI6bmV3IExleGVyKHMubWFrZVN1YlN0cmVhbShDK2NbZV0sdCxzLmRpY3QpKSx4cmVmOnRoaXMsYWxsb3dTdHJlYW1zOiEwfSk7Y29uc3QgaT1nLmdldE9iaigpO2hbZV09aTtpZihpIGluc3RhbmNlb2YgQmFzZVN0cmVhbSljb250aW51ZTtjb25zdCByPW9bZV0sbD10aGlzLmVudHJpZXNbcl07bCYmbC5vZmZzZXQ9PT1hJiZsLmdlbj09PWUmJnRoaXMuX2NhY2hlTWFwLnNldChyLGkpfWlmKHZvaWQgMD09PSh0PWhbdC5nZW5dKSl0aHJvdyBuZXcgWFJlZkVudHJ5RXhjZXB0aW9uKGBCYWQgKGNvbXByZXNzZWQpIFhSZWYgZW50cnk6ICR7ZX1gKTtyZXR1cm4gdH1hc3luYyBmZXRjaElmUmVmQXN5bmMoZSx0KXtyZXR1cm4gZSBpbnN0YW5jZW9mIFJlZj90aGlzLmZldGNoQXN5bmMoZSx0KTplfWFzeW5jIGZldGNoQXN5bmMoZSx0KXt0cnl7cmV0dXJuIHRoaXMuZmV0Y2goZSx0KX1jYXRjaChpKXtpZighKGkgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbikpdGhyb3cgaTthd2FpdCB0aGlzLnBkZk1hbmFnZXIucmVxdWVzdFJhbmdlKGkuYmVnaW4saS5lbmQpO3JldHVybiB0aGlzLmZldGNoQXN5bmMoZSx0KX19Z2V0Q2F0YWxvZ09iaigpe3JldHVybiB0aGlzLnJvb3R9fWNvbnN0IG9nPVswLDAsNjEyLDc5Ml07Y2xhc3MgUGFnZXtjb25zdHJ1Y3Rvcih7cGRmTWFuYWdlcjplLHhyZWY6dCxwYWdlSW5kZXg6aSxwYWdlRGljdDphLHJlZjpzLGdsb2JhbElkRmFjdG9yeTpyLGZvbnRDYWNoZTpuLGJ1aWx0SW5DTWFwQ2FjaGU6ZyxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6byxnbG9iYWxJbWFnZUNhY2hlOmMsc3lzdGVtRm9udENhY2hlOkMsbm9uQmxlbmRNb2Rlc1NldDpoLHhmYUZhY3Rvcnk6bH0pe3RoaXMucGRmTWFuYWdlcj1lO3RoaXMucGFnZUluZGV4PWk7dGhpcy5wYWdlRGljdD1hO3RoaXMueHJlZj10O3RoaXMucmVmPXM7dGhpcy5mb250Q2FjaGU9bjt0aGlzLmJ1aWx0SW5DTWFwQ2FjaGU9Zzt0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZT1vO3RoaXMuZ2xvYmFsSW1hZ2VDYWNoZT1jO3RoaXMuc3lzdGVtRm9udENhY2hlPUM7dGhpcy5ub25CbGVuZE1vZGVzU2V0PWg7dGhpcy5ldmFsdWF0b3JPcHRpb25zPWUuZXZhbHVhdG9yT3B0aW9uczt0aGlzLnJlc291cmNlc1Byb21pc2U9bnVsbDt0aGlzLnhmYUZhY3Rvcnk9bDtjb25zdCBRPXtvYmo6MH07dGhpcy5fbG9jYWxJZEZhY3Rvcnk9Y2xhc3MgZXh0ZW5kcyBye3N0YXRpYyBjcmVhdGVPYmpJZCgpe3JldHVybmBwJHtpfV8keysrUS5vYmp9YH1zdGF0aWMgZ2V0UGFnZU9iaklkKCl7cmV0dXJuYHAke3MudG9TdHJpbmcoKX1gfX19X2dldEluaGVyaXRhYmxlUHJvcGVydHkoZSx0PSExKXtjb25zdCBpPWdldEluaGVyaXRhYmxlUHJvcGVydHkoe2RpY3Q6dGhpcy5wYWdlRGljdCxrZXk6ZSxnZXRBcnJheTp0LHN0b3BXaGVuRm91bmQ6ITF9KTtyZXR1cm4gQXJyYXkuaXNBcnJheShpKT8xIT09aS5sZW5ndGgmJmlbMF1pbnN0YW5jZW9mIERpY3Q/RGljdC5tZXJnZSh7eHJlZjp0aGlzLnhyZWYsZGljdEFycmF5Oml9KTppWzBdOml9Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy5wYWdlRGljdC5nZXRBcnJheSgiQ29udGVudHMiKX1nZXQgcmVzb3VyY2VzKCl7Y29uc3QgZT10aGlzLl9nZXRJbmhlcml0YWJsZVByb3BlcnR5KCJSZXNvdXJjZXMiKTtyZXR1cm4gc2hhZG93KHRoaXMsInJlc291cmNlcyIsZSBpbnN0YW5jZW9mIERpY3Q/ZTpEaWN0LmVtcHR5KX1fZ2V0Qm91bmRpbmdCb3goZSl7aWYodGhpcy54ZmFEYXRhKXJldHVybiB0aGlzLnhmYURhdGEuYmJveDtjb25zdCB0PWxvb2t1cE5vcm1hbFJlY3QodGhpcy5fZ2V0SW5oZXJpdGFibGVQcm9wZXJ0eShlLCEwKSxudWxsKTtpZih0KXtpZih0WzJdLXRbMF0+MCYmdFszXS10WzFdPjApcmV0dXJuIHQ7d2FybihgRW1wdHksIG9yIGludmFsaWQsIC8ke2V9IGVudHJ5LmApfXJldHVybiBudWxsfWdldCBtZWRpYUJveCgpe3JldHVybiBzaGFkb3codGhpcywibWVkaWFCb3giLHRoaXMuX2dldEJvdW5kaW5nQm94KCJNZWRpYUJveCIpfHxvZyl9Z2V0IGNyb3BCb3goKXtyZXR1cm4gc2hhZG93KHRoaXMsImNyb3BCb3giLHRoaXMuX2dldEJvdW5kaW5nQm94KCJDcm9wQm94Iil8fHRoaXMubWVkaWFCb3gpfWdldCB1c2VyVW5pdCgpe2xldCBlPXRoaXMucGFnZURpY3QuZ2V0KCJVc2VyVW5pdCIpOygibnVtYmVyIiE9dHlwZW9mIGV8fGU8PTApJiYoZT0xKTtyZXR1cm4gc2hhZG93KHRoaXMsInVzZXJVbml0IixlKX1nZXQgdmlldygpe2NvbnN0e2Nyb3BCb3g6ZSxtZWRpYUJveDp0fT10aGlzO2lmKGUhPT10JiYhaXNBcnJheUVxdWFsKGUsdCkpe2NvbnN0IGk9VXRpbC5pbnRlcnNlY3QoZSx0KTtpZihpJiZpWzJdLWlbMF0+MCYmaVszXS1pWzFdPjApcmV0dXJuIHNoYWRvdyh0aGlzLCJ2aWV3IixpKTt3YXJuKCJFbXB0eSAvQ3JvcEJveCBhbmQgL01lZGlhQm94IGludGVyc2VjdGlvbi4iKX1yZXR1cm4gc2hhZG93KHRoaXMsInZpZXciLHQpfWdldCByb3RhdGUoKXtsZXQgZT10aGlzLl9nZXRJbmhlcml0YWJsZVByb3BlcnR5KCJSb3RhdGUiKXx8MDtlJTkwIT0wP2U9MDplPj0zNjA/ZSU9MzYwOmU8MCYmKGU9KGUlMzYwKzM2MCklMzYwKTtyZXR1cm4gc2hhZG93KHRoaXMsInJvdGF0ZSIsZSl9X29uU3ViU3RyZWFtRXJyb3IoZSx0KXtpZighdGhpcy5ldmFsdWF0b3JPcHRpb25zLmlnbm9yZUVycm9ycyl0aHJvdyBlO3dhcm4oYGdldENvbnRlbnRTdHJlYW0gLSBpZ25vcmluZyBzdWItc3RyZWFtICgke3R9KTogIiR7ZX0iLmApfWdldENvbnRlbnRTdHJlYW0oKXtyZXR1cm4gdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZSh0aGlzLCJjb250ZW50IikudGhlbigoZT0+ZSBpbnN0YW5jZW9mIEJhc2VTdHJlYW0/ZTpBcnJheS5pc0FycmF5KGUpP25ldyBTdHJlYW1zU2VxdWVuY2VTdHJlYW0oZSx0aGlzLl9vblN1YlN0cmVhbUVycm9yLmJpbmQodGhpcykpOm5ldyBOdWxsU3RyZWFtKSl9Z2V0IHhmYURhdGEoKXtyZXR1cm4gc2hhZG93KHRoaXMsInhmYURhdGEiLHRoaXMueGZhRmFjdG9yeT97YmJveDp0aGlzLnhmYUZhY3RvcnkuZ2V0Qm91bmRpbmdCb3godGhpcy5wYWdlSW5kZXgpfTpudWxsKX1hc3luYyNPKGUsdCxpKXtjb25zdCBhPVtdO2Zvcihjb25zdCBzIG9mIGUpaWYocy5pZCl7Y29uc3QgZT1SZWYuZnJvbVN0cmluZyhzLmlkKTtpZighZSl7d2FybihgQSBub24tbGlua2VkIGFubm90YXRpb24gY2Fubm90IGJlIG1vZGlmaWVkOiAke3MuaWR9YCk7Y29udGludWV9aWYocy5kZWxldGVkKXt0LnB1dChlLGUpO2lmKHMucG9wdXBSZWYpe2NvbnN0IGU9UmVmLmZyb21TdHJpbmcocy5wb3B1cFJlZik7ZSYmdC5wdXQoZSxlKX1jb250aW51ZX1pPy5wdXQoZSk7cy5yZWY9ZTthLnB1c2godGhpcy54cmVmLmZldGNoQXN5bmMoZSkudGhlbigoZT0+e2UgaW5zdGFuY2VvZiBEaWN0JiYocy5vbGRBbm5vdGF0aW9uPWUuY2xvbmUoKSl9KSwoKCk9Pnt3YXJuKGBDYW5ub3QgZmV0Y2ggXGBvbGRBbm5vdGF0aW9uXGAgZm9yOiAke2V9LmApfSkpKTtkZWxldGUgcy5pZH1hd2FpdCBQcm9taXNlLmFsbChhKX1hc3luYyBzYXZlTmV3QW5ub3RhdGlvbnMoZSx0LGksYSl7aWYodGhpcy54ZmFGYWN0b3J5KXRocm93IG5ldyBFcnJvcigiWEZBOiBDYW5ub3Qgc2F2ZSBuZXcgYW5ub3RhdGlvbnMuIik7Y29uc3Qgcz1uZXcgUGFydGlhbEV2YWx1YXRvcih7eHJlZjp0aGlzLnhyZWYsaGFuZGxlcjplLHBhZ2VJbmRleDp0aGlzLnBhZ2VJbmRleCxpZEZhY3Rvcnk6dGhpcy5fbG9jYWxJZEZhY3RvcnksZm9udENhY2hlOnRoaXMuZm9udENhY2hlLGJ1aWx0SW5DTWFwQ2FjaGU6dGhpcy5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTp0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZSxnbG9iYWxJbWFnZUNhY2hlOnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZSxzeXN0ZW1Gb250Q2FjaGU6dGhpcy5zeXN0ZW1Gb250Q2FjaGUsb3B0aW9uczp0aGlzLmV2YWx1YXRvck9wdGlvbnN9KSxyPW5ldyBSZWZTZXRDYWNoZSxuPW5ldyBSZWZTZXQ7YXdhaXQgdGhpcy4jTyhpLHIsbik7Y29uc3QgZz10aGlzLnBhZ2VEaWN0LG89dGhpcy5hbm5vdGF0aW9ucy5maWx0ZXIoKGU9PiEoZSBpbnN0YW5jZW9mIFJlZiYmci5oYXMoZSkpKSksYz1hd2FpdCBBbm5vdGF0aW9uRmFjdG9yeS5zYXZlTmV3QW5ub3RhdGlvbnMocyx0LGksYSk7Zm9yKGNvbnN0e3JlZjplfW9mIGMuYW5ub3RhdGlvbnMpZSBpbnN0YW5jZW9mIFJlZiYmIW4uaGFzKGUpJiZvLnB1c2goZSk7Y29uc3QgQz1nLmdldCgiQW5ub3RzIik7Zy5zZXQoIkFubm90cyIsbyk7Y29uc3QgaD1bXTthd2FpdCB3cml0ZU9iamVjdCh0aGlzLnJlZixnLGgsdGhpcy54cmVmKTtDJiZnLnNldCgiQW5ub3RzIixDKTtjb25zdCBsPWMuZGVwZW5kZW5jaWVzO2wucHVzaCh7cmVmOnRoaXMucmVmLGRhdGE6aC5qb2luKCIiKX0sLi4uYy5hbm5vdGF0aW9ucyk7Zm9yKGNvbnN0IGUgb2YgcilsLnB1c2goe3JlZjplLGRhdGE6bnVsbH0pO3JldHVybiBsfXNhdmUoZSx0LGkpe2NvbnN0IGE9bmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6dGhpcy5wYWdlSW5kZXgsaWRGYWN0b3J5OnRoaXMuX2xvY2FsSWRGYWN0b3J5LGZvbnRDYWNoZTp0aGlzLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnRoaXMuYnVpbHRJbkNNYXBDYWNoZSxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTp0aGlzLmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOnRoaXMuc3lzdGVtRm9udENhY2hlLG9wdGlvbnM6dGhpcy5ldmFsdWF0b3JPcHRpb25zfSk7cmV0dXJuIHRoaXMuX3BhcnNlZEFubm90YXRpb25zLnRoZW4oKGZ1bmN0aW9uKGUpe2NvbnN0IHM9W107Zm9yKGNvbnN0IHIgb2YgZSlzLnB1c2goci5zYXZlKGEsdCxpKS5jYXRjaCgoZnVuY3Rpb24oZSl7d2Fybihgc2F2ZSAtIGlnbm9yaW5nIGFubm90YXRpb24gZGF0YSBkdXJpbmcgIiR7dC5uYW1lfSIgdGFzazogIiR7ZX0iLmApO3JldHVybiBudWxsfSkpKTtyZXR1cm4gUHJvbWlzZS5hbGwocykudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlsdGVyKChlPT4hIWUpKX0pKX0pKX1sb2FkUmVzb3VyY2VzKGUpe3RoaXMucmVzb3VyY2VzUHJvbWlzZXx8PXRoaXMucGRmTWFuYWdlci5lbnN1cmUodGhpcywicmVzb3VyY2VzIik7cmV0dXJuIHRoaXMucmVzb3VyY2VzUHJvbWlzZS50aGVuKCgoKT0+bmV3IE9iamVjdExvYWRlcih0aGlzLnJlc291cmNlcyxlLHRoaXMueHJlZikubG9hZCgpKSl9Z2V0T3BlcmF0b3JMaXN0KHtoYW5kbGVyOmUsc2luazp0LHRhc2s6aSxpbnRlbnQ6YSxjYWNoZUtleTpzLGFubm90YXRpb25TdG9yYWdlOnI9bnVsbCxtb2RpZmllZElkczpuPW51bGx9KXtjb25zdCBDPXRoaXMuZ2V0Q29udGVudFN0cmVhbSgpLEU9dGhpcy5sb2FkUmVzb3VyY2VzKFsiQ29sb3JTcGFjZSIsIkV4dEdTdGF0ZSIsIkZvbnQiLCJQYXR0ZXJuIiwiUHJvcGVydGllcyIsIlNoYWRpbmciLCJYT2JqZWN0Il0pLGQ9bmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6dGhpcy5wYWdlSW5kZXgsaWRGYWN0b3J5OnRoaXMuX2xvY2FsSWRGYWN0b3J5LGZvbnRDYWNoZTp0aGlzLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnRoaXMuYnVpbHRJbkNNYXBDYWNoZSxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6dGhpcy5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTp0aGlzLmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOnRoaXMuc3lzdGVtRm9udENhY2hlLG9wdGlvbnM6dGhpcy5ldmFsdWF0b3JPcHRpb25zfSksZj10aGlzLnhmYUZhY3Rvcnk/bnVsbDpnZXROZXdBbm5vdGF0aW9uc01hcChyKSxwPWY/LmdldCh0aGlzLnBhZ2VJbmRleCk7bGV0IG09UHJvbWlzZS5yZXNvbHZlKG51bGwpLHk9bnVsbDtpZihwKXtjb25zdCBlPXRoaXMucGRmTWFuYWdlci5lbnN1cmVEb2MoImFubm90YXRpb25HbG9iYWxzIik7bGV0IHQ7Y29uc3QgYT1uZXcgU2V0O2Zvcihjb25zdHtiaXRtYXBJZDplLGJpdG1hcDp0fW9mIHApIWV8fHR8fGEuaGFzKGUpfHxhLmFkZChlKTtjb25zdHtpc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZDpzfT10aGlzLmV2YWx1YXRvck9wdGlvbnM7aWYoYS5zaXplPjApe2NvbnN0IGU9cC5zbGljZSgpO2Zvcihjb25zdFt0LGldb2Ygcil0LnN0YXJ0c1dpdGgodSkmJmkuYml0bWFwJiZhLmhhcyhpLmJpdG1hcElkKSYmZS5wdXNoKGkpO3Q9QW5ub3RhdGlvbkZhY3RvcnkuZ2VuZXJhdGVJbWFnZXMoZSx0aGlzLnhyZWYscyl9ZWxzZSB0PUFubm90YXRpb25GYWN0b3J5LmdlbmVyYXRlSW1hZ2VzKHAsdGhpcy54cmVmLHMpO3k9bmV3IFJlZlNldDttPVByb21pc2UuYWxsKFtlLHRoaXMuI08ocCx5LG51bGwpXSkudGhlbigoKFtlXSk9PmU/QW5ub3RhdGlvbkZhY3RvcnkucHJpbnROZXdBbm5vdGF0aW9ucyhlLGQsaSxwLHQpOm51bGwpKX1jb25zdCB3PVByb21pc2UuYWxsKFtDLEVdKS50aGVuKCgoW3JdKT0+e2NvbnN0IG49bmV3IE9wZXJhdG9yTGlzdChhLHQpO2Uuc2VuZCgiU3RhcnRSZW5kZXJQYWdlIix7dHJhbnNwYXJlbmN5OmQuaGFzQmxlbmRNb2Rlcyh0aGlzLnJlc291cmNlcyx0aGlzLm5vbkJsZW5kTW9kZXNTZXQpLHBhZ2VJbmRleDp0aGlzLnBhZ2VJbmRleCxjYWNoZUtleTpzfSk7cmV0dXJuIGQuZ2V0T3BlcmF0b3JMaXN0KHtzdHJlYW06cix0YXNrOmkscmVzb3VyY2VzOnRoaXMucmVzb3VyY2VzLG9wZXJhdG9yTGlzdDpufSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKX0pKTtyZXR1cm4gUHJvbWlzZS5hbGwoW3csdGhpcy5fcGFyc2VkQW5ub3RhdGlvbnMsbV0pLnRoZW4oKGZ1bmN0aW9uKFtlLHQsc10pe2lmKHMpe3Q9dC5maWx0ZXIoKGU9PiEoZS5yZWYmJnkuaGFzKGUucmVmKSkpKTtmb3IobGV0IGU9MCxpPXMubGVuZ3RoO2U8aTtlKyspe2NvbnN0IGE9c1tlXTtpZihhLnJlZlRvUmVwbGFjZSl7Y29uc3Qgcj10LmZpbmRJbmRleCgoZT0+ZS5yZWYmJmlzUmVmc0VxdWFsKGUucmVmLGEucmVmVG9SZXBsYWNlKSkpO2lmKHI+PTApe3Quc3BsaWNlKHIsMSxhKTtzLnNwbGljZShlLS0sMSk7aS0tfX19dD10LmNvbmNhdChzKX1pZigwPT09dC5sZW5ndGh8fGEmbCl7ZS5mbHVzaCghMCk7cmV0dXJue2xlbmd0aDplLnRvdGFsTGVuZ3RofX1jb25zdCBDPSEhKGEmaCksRT0hIShhJlEpLHU9ISEoYSZnKSxmPSEhKGEmbykscD0hIShhJmMpLG09W107Zm9yKGNvbnN0IGUgb2YgdCkodXx8ZiYmZS5tdXN0QmVWaWV3ZWQocixDKSYmZS5tdXN0QmVWaWV3ZWRXaGVuRWRpdGluZyhFLG4pfHxwJiZlLm11c3RCZVByaW50ZWQocikpJiZtLnB1c2goZS5nZXRPcGVyYXRvckxpc3QoZCxpLGEscikuY2F0Y2goKGZ1bmN0aW9uKGUpe3dhcm4oYGdldE9wZXJhdG9yTGlzdCAtIGlnbm9yaW5nIGFubm90YXRpb24gZGF0YSBkdXJpbmcgIiR7aS5uYW1lfSIgdGFzazogIiR7ZX0iLmApO3JldHVybntvcExpc3Q6bnVsbCxzZXBhcmF0ZUZvcm06ITEsc2VwYXJhdGVDYW52YXM6ITF9fSkpKTtyZXR1cm4gUHJvbWlzZS5hbGwobSkudGhlbigoZnVuY3Rpb24odCl7bGV0IGk9ITEsYT0hMTtmb3IoY29uc3R7b3BMaXN0OnMsc2VwYXJhdGVGb3JtOnIsc2VwYXJhdGVDYW52YXM6bn1vZiB0KXtlLmFkZE9wTGlzdChzKTtpfHw9cjthfHw9bn1lLmZsdXNoKCEwLHtmb3JtOmksY2FudmFzOmF9KTtyZXR1cm57bGVuZ3RoOmUudG90YWxMZW5ndGh9fSkpfSkpfWFzeW5jIGV4dHJhY3RUZXh0Q29udGVudCh7aGFuZGxlcjplLHRhc2s6dCxpbmNsdWRlTWFya2VkQ29udGVudDppLGRpc2FibGVOb3JtYWxpemF0aW9uOmEsc2luazpzfSl7Y29uc3Qgcj10aGlzLmdldENvbnRlbnRTdHJlYW0oKSxuPXRoaXMubG9hZFJlc291cmNlcyhbIkV4dEdTdGF0ZSIsIkZvbnQiLCJQcm9wZXJ0aWVzIiwiWE9iamVjdCJdKSxnPXRoaXMucGRmTWFuYWdlci5lbnN1cmVDYXRhbG9nKCJsYW5nIiksW28sLGNdPWF3YWl0IFByb21pc2UuYWxsKFtyLG4sZ10pO3JldHVybiBuZXcgUGFydGlhbEV2YWx1YXRvcih7eHJlZjp0aGlzLnhyZWYsaGFuZGxlcjplLHBhZ2VJbmRleDp0aGlzLnBhZ2VJbmRleCxpZEZhY3Rvcnk6dGhpcy5fbG9jYWxJZEZhY3RvcnksZm9udENhY2hlOnRoaXMuZm9udENhY2hlLGJ1aWx0SW5DTWFwQ2FjaGU6dGhpcy5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTp0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZSxnbG9iYWxJbWFnZUNhY2hlOnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZSxzeXN0ZW1Gb250Q2FjaGU6dGhpcy5zeXN0ZW1Gb250Q2FjaGUsb3B0aW9uczp0aGlzLmV2YWx1YXRvck9wdGlvbnN9KS5nZXRUZXh0Q29udGVudCh7c3RyZWFtOm8sdGFzazp0LHJlc291cmNlczp0aGlzLnJlc291cmNlcyxpbmNsdWRlTWFya2VkQ29udGVudDppLGRpc2FibGVOb3JtYWxpemF0aW9uOmEsc2luazpzLHZpZXdCb3g6dGhpcy52aWV3LGxhbmc6Y30pfWFzeW5jIGdldFN0cnVjdFRyZWUoKXtjb25zdCBlPWF3YWl0IHRoaXMucGRmTWFuYWdlci5lbnN1cmVDYXRhbG9nKCJzdHJ1Y3RUcmVlUm9vdCIpO2lmKCFlKXJldHVybiBudWxsO2F3YWl0IHRoaXMuX3BhcnNlZEFubm90YXRpb25zO3JldHVybihhd2FpdCB0aGlzLnBkZk1hbmFnZXIuZW5zdXJlKHRoaXMsIl9wYXJzZVN0cnVjdFRyZWUiLFtlXSkpLnNlcmlhbGl6YWJsZX1fcGFyc2VTdHJ1Y3RUcmVlKGUpe2NvbnN0IHQ9bmV3IFN0cnVjdFRyZWVQYWdlKGUsdGhpcy5wYWdlRGljdCk7dC5wYXJzZSh0aGlzLnJlZik7cmV0dXJuIHR9YXN5bmMgZ2V0QW5ub3RhdGlvbnNEYXRhKGUsdCxpKXtjb25zdCBhPWF3YWl0IHRoaXMuX3BhcnNlZEFubm90YXRpb25zO2lmKDA9PT1hLmxlbmd0aClyZXR1cm4gYTtjb25zdCBzPVtdLHI9W107bGV0IG47Y29uc3QgQz0hIShpJmcpLGg9ISEoaSZvKSxsPSEhKGkmYyk7Zm9yKGNvbnN0IGkgb2YgYSl7Y29uc3QgYT1DfHxoJiZpLnZpZXdhYmxlOyhhfHxsJiZpLnByaW50YWJsZSkmJnMucHVzaChpLmRhdGEpO2lmKGkuaGFzVGV4dENvbnRlbnQmJmEpe258fD1uZXcgUGFydGlhbEV2YWx1YXRvcih7eHJlZjp0aGlzLnhyZWYsaGFuZGxlcjplLHBhZ2VJbmRleDp0aGlzLnBhZ2VJbmRleCxpZEZhY3Rvcnk6dGhpcy5fbG9jYWxJZEZhY3RvcnksZm9udENhY2hlOnRoaXMuZm9udENhY2hlLGJ1aWx0SW5DTWFwQ2FjaGU6dGhpcy5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTp0aGlzLnN0YW5kYXJkRm9udERhdGFDYWNoZSxnbG9iYWxJbWFnZUNhY2hlOnRoaXMuZ2xvYmFsSW1hZ2VDYWNoZSxzeXN0ZW1Gb250Q2FjaGU6dGhpcy5zeXN0ZW1Gb250Q2FjaGUsb3B0aW9uczp0aGlzLmV2YWx1YXRvck9wdGlvbnN9KTtyLnB1c2goaS5leHRyYWN0VGV4dENvbnRlbnQobix0LFstMS8wLC0xLzAsMS8wLDEvMF0pLmNhdGNoKChmdW5jdGlvbihlKXt3YXJuKGBnZXRBbm5vdGF0aW9uc0RhdGEgLSBpZ25vcmluZyB0ZXh0Q29udGVudCBkdXJpbmcgIiR7dC5uYW1lfSIgdGFzazogIiR7ZX0iLmApfSkpKX19YXdhaXQgUHJvbWlzZS5hbGwocik7cmV0dXJuIHN9Z2V0IGFubm90YXRpb25zKCl7Y29uc3QgZT10aGlzLl9nZXRJbmhlcml0YWJsZVByb3BlcnR5KCJBbm5vdHMiKTtyZXR1cm4gc2hhZG93KHRoaXMsImFubm90YXRpb25zIixBcnJheS5pc0FycmF5KGUpP2U6W10pfWdldCBfcGFyc2VkQW5ub3RhdGlvbnMoKXtyZXR1cm4gc2hhZG93KHRoaXMsIl9wYXJzZWRBbm5vdGF0aW9ucyIsdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZSh0aGlzLCJhbm5vdGF0aW9ucyIpLnRoZW4oKGFzeW5jIGU9PntpZigwPT09ZS5sZW5ndGgpcmV0dXJuIGU7Y29uc3RbdCxpXT1hd2FpdCBQcm9taXNlLmFsbChbdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZURvYygiYW5ub3RhdGlvbkdsb2JhbHMiKSx0aGlzLnBkZk1hbmFnZXIuZW5zdXJlRG9jKCJmaWVsZE9iamVjdHMiKV0pO2lmKCF0KXJldHVybltdO2NvbnN0IGE9aT8ub3JwaGFuRmllbGRzLHM9W107Zm9yKGNvbnN0IGkgb2YgZSlzLnB1c2goQW5ub3RhdGlvbkZhY3RvcnkuY3JlYXRlKHRoaXMueHJlZixpLHQsdGhpcy5fbG9jYWxJZEZhY3RvcnksITEsYSx0aGlzLnJlZikuY2F0Y2goKGZ1bmN0aW9uKGUpe3dhcm4oYF9wYXJzZWRBbm5vdGF0aW9uczogIiR7ZX0iLmApO3JldHVybiBudWxsfSkpKTtjb25zdCByPVtdO2xldCBuLGc7Zm9yKGNvbnN0IGUgb2YgYXdhaXQgUHJvbWlzZS5hbGwocykpZSYmKGUgaW5zdGFuY2VvZiBXaWRnZXRBbm5vdGF0aW9uPyhnfHw9W10pLnB1c2goZSk6ZSBpbnN0YW5jZW9mIFBvcHVwQW5ub3RhdGlvbj8obnx8PVtdKS5wdXNoKGUpOnIucHVzaChlKSk7ZyYmci5wdXNoKC4uLmcpO24mJnIucHVzaCguLi5uKTtyZXR1cm4gcn0pKSl9Z2V0IGpzQWN0aW9ucygpe3JldHVybiBzaGFkb3codGhpcywianNBY3Rpb25zIixjb2xsZWN0QWN0aW9ucyh0aGlzLnhyZWYsdGhpcy5wYWdlRGljdCxwQSkpfX1jb25zdCBJZz1uZXcgVWludDhBcnJheShbMzcsODAsNjgsNzAsNDVdKSxjZz1uZXcgVWludDhBcnJheShbMTE1LDExNiw5NywxMTQsMTE2LDEyMCwxMTQsMTAxLDEwMl0pLENnPW5ldyBVaW50OEFycmF5KFsxMDEsMTEwLDEwMCwxMTEsOTgsMTA2XSk7ZnVuY3Rpb24gZmluZChlLHQsaT0xMDI0LGE9ITEpe2NvbnN0IHM9dC5sZW5ndGgscj1lLnBlZWtCeXRlcyhpKSxuPXIubGVuZ3RoLXM7aWYobjw9MClyZXR1cm4hMTtpZihhKXtjb25zdCBpPXMtMTtsZXQgYT1yLmxlbmd0aC0xO2Zvcig7YT49aTspe2xldCBuPTA7Zm9yKDtuPHMmJnJbYS1uXT09PXRbaS1uXTspbisrO2lmKG4+PXMpe2UucG9zKz1hLWk7cmV0dXJuITB9YS0tfX1lbHNle2xldCBpPTA7Zm9yKDtpPD1uOyl7bGV0IGE9MDtmb3IoO2E8cyYmcltpK2FdPT09dFthXTspYSsrO2lmKGE+PXMpe2UucG9zKz1pO3JldHVybiEwfWkrK319cmV0dXJuITF9Y2xhc3MgUERGRG9jdW1lbnR7Y29uc3RydWN0b3IoZSx0KXtpZih0Lmxlbmd0aDw9MCl0aHJvdyBuZXcgSW52YWxpZFBERkV4Y2VwdGlvbigiVGhlIFBERiBmaWxlIGlzIGVtcHR5LCBpLmUuIGl0cyBzaXplIGlzIHplcm8gYnl0ZXMuIik7dGhpcy5wZGZNYW5hZ2VyPWU7dGhpcy5zdHJlYW09dDt0aGlzLnhyZWY9bmV3IFhSZWYodCxlKTt0aGlzLl9wYWdlUHJvbWlzZXM9bmV3IE1hcDt0aGlzLl92ZXJzaW9uPW51bGw7Y29uc3QgaT17Zm9udDowfTt0aGlzLl9nbG9iYWxJZEZhY3Rvcnk9Y2xhc3N7c3RhdGljIGdldERvY0lkKCl7cmV0dXJuYGdfJHtlLmRvY0lkfWB9c3RhdGljIGNyZWF0ZUZvbnRJZCgpe3JldHVybiJmIisgKytpLmZvbnR9c3RhdGljIGNyZWF0ZU9iaklkKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgY3JlYXRlT2JqSWRgIGNhbGxlZC4iKX1zdGF0aWMgZ2V0UGFnZU9iaklkKCl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZ2V0UGFnZU9iaklkYCBjYWxsZWQuIil9fX1wYXJzZShlKXt0aGlzLnhyZWYucGFyc2UoZSk7dGhpcy5jYXRhbG9nPW5ldyBDYXRhbG9nKHRoaXMucGRmTWFuYWdlcix0aGlzLnhyZWYpfWdldCBsaW5lYXJpemF0aW9uKCl7bGV0IGU9bnVsbDt0cnl7ZT1MaW5lYXJpemF0aW9uLmNyZWF0ZSh0aGlzLnN0cmVhbSl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIE1pc3NpbmdEYXRhRXhjZXB0aW9uKXRocm93IGU7aW5mbyhlKX1yZXR1cm4gc2hhZG93KHRoaXMsImxpbmVhcml6YXRpb24iLGUpfWdldCBzdGFydFhSZWYoKXtjb25zdCBlPXRoaXMuc3RyZWFtO2xldCB0PTA7aWYodGhpcy5saW5lYXJpemF0aW9uKXtlLnJlc2V0KCk7aWYoZmluZChlLENnKSl7ZS5za2lwKDYpO2xldCBpPWUucGVla0J5dGUoKTtmb3IoO2lzV2hpdGVTcGFjZShpKTspe2UucG9zKys7aT1lLnBlZWtCeXRlKCl9dD1lLnBvcy1lLnN0YXJ0fX1lbHNle2NvbnN0IGk9MTAyNCxhPWNnLmxlbmd0aDtsZXQgcz0hMSxyPWUuZW5kO2Zvcig7IXMmJnI+MDspe3ItPWktYTtyPDAmJihyPTApO2UucG9zPXI7cz1maW5kKGUsY2csaSwhMCl9aWYocyl7ZS5za2lwKDkpO2xldCBpO2Rve2k9ZS5nZXRCeXRlKCl9d2hpbGUoaXNXaGl0ZVNwYWNlKGkpKTtsZXQgYT0iIjtmb3IoO2k+PTMyJiZpPD01Nzspe2ErPVN0cmluZy5mcm9tQ2hhckNvZGUoaSk7aT1lLmdldEJ5dGUoKX10PXBhcnNlSW50KGEsMTApO2lzTmFOKHQpJiYodD0wKX19cmV0dXJuIHNoYWRvdyh0aGlzLCJzdGFydFhSZWYiLHQpfWNoZWNrSGVhZGVyKCl7Y29uc3QgZT10aGlzLnN0cmVhbTtlLnJlc2V0KCk7aWYoIWZpbmQoZSxJZykpcmV0dXJuO2UubW92ZVN0YXJ0KCk7ZS5za2lwKElnLmxlbmd0aCk7bGV0IHQsaT0iIjtmb3IoOyh0PWUuZ2V0Qnl0ZSgpKT4zMiYmaS5sZW5ndGg8NzspaSs9U3RyaW5nLmZyb21DaGFyQ29kZSh0KTtrdC50ZXN0KGkpP3RoaXMuX3ZlcnNpb249aTp3YXJuKGBJbnZhbGlkIFBERiBoZWFkZXIgdmVyc2lvbjogJHtpfWApfXBhcnNlU3RhcnRYUmVmKCl7dGhpcy54cmVmLnNldFN0YXJ0WFJlZih0aGlzLnN0YXJ0WFJlZil9Z2V0IG51bVBhZ2VzKCl7bGV0IGU9MDtlPXRoaXMuY2F0YWxvZy5oYXNBY3R1YWxOdW1QYWdlcz90aGlzLmNhdGFsb2cubnVtUGFnZXM6dGhpcy54ZmFGYWN0b3J5P3RoaXMueGZhRmFjdG9yeS5nZXROdW1QYWdlcygpOnRoaXMubGluZWFyaXphdGlvbj90aGlzLmxpbmVhcml6YXRpb24ubnVtUGFnZXM6dGhpcy5jYXRhbG9nLm51bVBhZ2VzO3JldHVybiBzaGFkb3codGhpcywibnVtUGFnZXMiLGUpfV9oYXNPbmx5RG9jdW1lbnRTaWduYXR1cmVzKGUsdD0wKXtyZXR1cm4hIUFycmF5LmlzQXJyYXkoZSkmJmUuZXZlcnkoKGU9PntpZighKChlPXRoaXMueHJlZi5mZXRjaElmUmVmKGUpKWluc3RhbmNlb2YgRGljdCkpcmV0dXJuITE7aWYoZS5oYXMoIktpZHMiKSl7aWYoKyt0PjEwKXt3YXJuKCJfaGFzT25seURvY3VtZW50U2lnbmF0dXJlczogbWF4aW11bSByZWN1cnNpb24gZGVwdGggcmVhY2hlZCIpO3JldHVybiExfXJldHVybiB0aGlzLl9oYXNPbmx5RG9jdW1lbnRTaWduYXR1cmVzKGUuZ2V0KCJLaWRzIiksdCl9Y29uc3QgaT1pc05hbWUoZS5nZXQoIkZUIiksIlNpZyIpLGE9ZS5nZXQoIlJlY3QiKSxzPUFycmF5LmlzQXJyYXkoYSkmJmEuZXZlcnkoKGU9PjA9PT1lKSk7cmV0dXJuIGkmJnN9KSl9Z2V0IF94ZmFTdHJlYW1zKCl7Y29uc3QgZT10aGlzLmNhdGFsb2cuYWNyb0Zvcm07aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgdD1lLmdldCgiWEZBIiksaT17InhkcDp4ZHAiOiIiLHRlbXBsYXRlOiIiLGRhdGFzZXRzOiIiLGNvbmZpZzoiIixjb25uZWN0aW9uU2V0OiIiLGxvY2FsZVNldDoiIixzdHlsZXNoZWV0OiIiLCIveGRwOnhkcCI6IiJ9O2lmKHQgaW5zdGFuY2VvZiBCYXNlU3RyZWFtJiYhdC5pc0VtcHR5KXtpWyJ4ZHA6eGRwIl09dDtyZXR1cm4gaX1pZighQXJyYXkuaXNBcnJheSh0KXx8MD09PXQubGVuZ3RoKXJldHVybiBudWxsO2ZvcihsZXQgZT0wLGE9dC5sZW5ndGg7ZTxhO2UrPTIpe2xldCBzO3M9MD09PWU/InhkcDp4ZHAiOmU9PT1hLTI/Ii94ZHA6eGRwIjp0W2VdO2lmKCFpLmhhc093blByb3BlcnR5KHMpKWNvbnRpbnVlO2NvbnN0IHI9dGhpcy54cmVmLmZldGNoSWZSZWYodFtlKzFdKTtyIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmIXIuaXNFbXB0eSYmKGlbc109cil9cmV0dXJuIGl9Z2V0IHhmYURhdGFzZXRzKCl7Y29uc3QgZT10aGlzLl94ZmFTdHJlYW1zO2lmKCFlKXJldHVybiBzaGFkb3codGhpcywieGZhRGF0YXNldHMiLG51bGwpO2Zvcihjb25zdCB0IG9mWyJkYXRhc2V0cyIsInhkcDp4ZHAiXSl7Y29uc3QgaT1lW3RdO2lmKGkpdHJ5e2NvbnN0IGU9c3RyaW5nVG9VVEY4U3RyaW5nKGkuZ2V0U3RyaW5nKCkpO3JldHVybiBzaGFkb3codGhpcywieGZhRGF0YXNldHMiLG5ldyBEYXRhc2V0UmVhZGVyKHtbdF06ZX0pKX1jYXRjaHt3YXJuKCJYRkEgLSBJbnZhbGlkIHV0Zi04IHN0cmluZy4iKTticmVha319cmV0dXJuIHNoYWRvdyh0aGlzLCJ4ZmFEYXRhc2V0cyIsbnVsbCl9Z2V0IHhmYURhdGEoKXtjb25zdCBlPXRoaXMuX3hmYVN0cmVhbXM7aWYoIWUpcmV0dXJuIG51bGw7Y29uc3QgdD1PYmplY3QuY3JlYXRlKG51bGwpO2Zvcihjb25zdFtpLGFdb2YgT2JqZWN0LmVudHJpZXMoZSkpaWYoYSl0cnl7dFtpXT1zdHJpbmdUb1VURjhTdHJpbmcoYS5nZXRTdHJpbmcoKSl9Y2F0Y2h7d2FybigiWEZBIC0gSW52YWxpZCB1dGYtOCBzdHJpbmcuIik7cmV0dXJuIG51bGx9cmV0dXJuIHR9Z2V0IHhmYUZhY3RvcnkoKXtsZXQgZTt0aGlzLnBkZk1hbmFnZXIuZW5hYmxlWGZhJiZ0aGlzLmNhdGFsb2cubmVlZHNSZW5kZXJpbmcmJnRoaXMuZm9ybUluZm8uaGFzWGZhJiYhdGhpcy5mb3JtSW5mby5oYXNBY3JvRm9ybSYmKGU9dGhpcy54ZmFEYXRhKTtyZXR1cm4gc2hhZG93KHRoaXMsInhmYUZhY3RvcnkiLGU/bmV3IFhGQUZhY3RvcnkoZSk6bnVsbCl9Z2V0IGlzUHVyZVhmYSgpe3JldHVybiEhdGhpcy54ZmFGYWN0b3J5JiZ0aGlzLnhmYUZhY3RvcnkuaXNWYWxpZCgpfWdldCBodG1sRm9yWGZhKCl7cmV0dXJuIHRoaXMueGZhRmFjdG9yeT90aGlzLnhmYUZhY3RvcnkuZ2V0UGFnZXMoKTpudWxsfWFzeW5jIGxvYWRYZmFJbWFnZXMoKXtjb25zdCBlPWF3YWl0IHRoaXMucGRmTWFuYWdlci5lbnN1cmVDYXRhbG9nKCJ4ZmFJbWFnZXMiKTtpZighZSlyZXR1cm47Y29uc3QgdD1lLmdldEtleXMoKSxpPW5ldyBPYmplY3RMb2FkZXIoZSx0LHRoaXMueHJlZik7YXdhaXQgaS5sb2FkKCk7Y29uc3QgYT1uZXcgTWFwO2Zvcihjb25zdCBpIG9mIHQpe2NvbnN0IHQ9ZS5nZXQoaSk7dCBpbnN0YW5jZW9mIEJhc2VTdHJlYW0mJmEuc2V0KGksdC5nZXRCeXRlcygpKX10aGlzLnhmYUZhY3Rvcnkuc2V0SW1hZ2VzKGEpfWFzeW5jIGxvYWRYZmFGb250cyhlLHQpe2NvbnN0IGk9YXdhaXQgdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtIik7aWYoIWkpcmV0dXJuO2NvbnN0IGE9YXdhaXQgaS5nZXRBc3luYygiRFIiKTtpZighKGEgaW5zdGFuY2VvZiBEaWN0KSlyZXR1cm47Y29uc3Qgcz1uZXcgT2JqZWN0TG9hZGVyKGEsWyJGb250Il0sdGhpcy54cmVmKTthd2FpdCBzLmxvYWQoKTtjb25zdCByPWEuZ2V0KCJGb250Iik7aWYoIShyIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2NvbnN0IG49T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMucGRmTWFuYWdlci5ldmFsdWF0b3JPcHRpb25zKTtuLnVzZVN5c3RlbUZvbnRzPSExO2NvbnN0IGc9bmV3IFBhcnRpYWxFdmFsdWF0b3Ioe3hyZWY6dGhpcy54cmVmLGhhbmRsZXI6ZSxwYWdlSW5kZXg6LTEsaWRGYWN0b3J5OnRoaXMuX2dsb2JhbElkRmFjdG9yeSxmb250Q2FjaGU6dGhpcy5jYXRhbG9nLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOnRoaXMuY2F0YWxvZy5idWlsdEluQ01hcENhY2hlLHN0YW5kYXJkRm9udERhdGFDYWNoZTp0aGlzLmNhdGFsb2cuc3RhbmRhcmRGb250RGF0YUNhY2hlLG9wdGlvbnM6bn0pLG89bmV3IE9wZXJhdG9yTGlzdCxjPVtdLEM9e2dldCBmb250KCl7cmV0dXJuIGMuYXQoLTEpfSxzZXQgZm9udChlKXtjLnB1c2goZSl9LGNsb25lKCl7cmV0dXJuIHRoaXN9fSxoPW5ldyBNYXA7ci5mb3JFYWNoKCgoZSx0KT0+e2guc2V0KGUsdCl9KSk7Y29uc3QgbD1bXTtmb3IoY29uc3RbZSxpXW9mIGgpe2NvbnN0IHM9aS5nZXQoIkZvbnREZXNjcmlwdG9yIik7aWYoIShzIGluc3RhbmNlb2YgRGljdCkpY29udGludWU7bGV0IHI9cy5nZXQoIkZvbnRGYW1pbHkiKTtyPXIucmVwbGFjZUFsbCgvWyBdKyhcZCkvZywiJDEiKTtjb25zdCBuPXtmb250RmFtaWx5OnIsZm9udFdlaWdodDpzLmdldCgiRm9udFdlaWdodCIpLGl0YWxpY0FuZ2xlOi1zLmdldCgiSXRhbGljQW5nbGUiKX07dmFsaWRhdGVDU1NGb250KG4pJiZsLnB1c2goZy5oYW5kbGVTZXRGb250KGEsW05hbWUuZ2V0KGUpLDFdLG51bGwsbyx0LEMsbnVsbCxuKS5jYXRjaCgoZnVuY3Rpb24oZSl7d2FybihgbG9hZFhmYUZvbnRzOiAiJHtlfSIuYCk7cmV0dXJuIG51bGx9KSkpfWF3YWl0IFByb21pc2UuYWxsKGwpO2NvbnN0IFE9dGhpcy54ZmFGYWN0b3J5LnNldEZvbnRzKGMpO2lmKCFRKXJldHVybjtuLmlnbm9yZUVycm9ycz0hMDtsLmxlbmd0aD0wO2MubGVuZ3RoPTA7Y29uc3QgRT1uZXcgU2V0O2Zvcihjb25zdCBlIG9mIFEpZ2V0WGZhRm9udE5hbWUoYCR7ZX0tUmVndWxhcmApfHxFLmFkZChlKTtFLnNpemUmJlEucHVzaCgiUGRmSlMtRmFsbGJhY2siKTtmb3IoY29uc3QgZSBvZiBRKWlmKCFFLmhhcyhlKSlmb3IoY29uc3QgaSBvZlt7bmFtZToiUmVndWxhciIsZm9udFdlaWdodDo0MDAsaXRhbGljQW5nbGU6MH0se25hbWU6IkJvbGQiLGZvbnRXZWlnaHQ6NzAwLGl0YWxpY0FuZ2xlOjB9LHtuYW1lOiJJdGFsaWMiLGZvbnRXZWlnaHQ6NDAwLGl0YWxpY0FuZ2xlOjEyfSx7bmFtZToiQm9sZEl0YWxpYyIsZm9udFdlaWdodDo3MDAsaXRhbGljQW5nbGU6MTJ9XSl7Y29uc3Qgcz1gJHtlfS0ke2kubmFtZX1gLHI9Z2V0WGZhRm9udERpY3Qocyk7bC5wdXNoKGcuaGFuZGxlU2V0Rm9udChhLFtOYW1lLmdldChzKSwxXSxudWxsLG8sdCxDLHIse2ZvbnRGYW1pbHk6ZSxmb250V2VpZ2h0OmkuZm9udFdlaWdodCxpdGFsaWNBbmdsZTppLml0YWxpY0FuZ2xlfSkuY2F0Y2goKGZ1bmN0aW9uKGUpe3dhcm4oYGxvYWRYZmFGb250czogIiR7ZX0iLmApO3JldHVybiBudWxsfSkpKX1hd2FpdCBQcm9taXNlLmFsbChsKTt0aGlzLnhmYUZhY3RvcnkuYXBwZW5kRm9udHMoYyxFKX1hc3luYyBzZXJpYWxpemVYZmFEYXRhKGUpe3JldHVybiB0aGlzLnhmYUZhY3Rvcnk/dGhpcy54ZmFGYWN0b3J5LnNlcmlhbGl6ZURhdGEoZSk6bnVsbH1nZXQgdmVyc2lvbigpe3JldHVybiB0aGlzLmNhdGFsb2cudmVyc2lvbnx8dGhpcy5fdmVyc2lvbn1nZXQgZm9ybUluZm8oKXtjb25zdCBlPXtoYXNGaWVsZHM6ITEsaGFzQWNyb0Zvcm06ITEsaGFzWGZhOiExLGhhc1NpZ25hdHVyZXM6ITF9LHQ9dGhpcy5jYXRhbG9nLmFjcm9Gb3JtO2lmKCF0KXJldHVybiBzaGFkb3codGhpcywiZm9ybUluZm8iLGUpO3RyeXtjb25zdCBpPXQuZ2V0KCJGaWVsZHMiKSxhPUFycmF5LmlzQXJyYXkoaSkmJmkubGVuZ3RoPjA7ZS5oYXNGaWVsZHM9YTtjb25zdCBzPXQuZ2V0KCJYRkEiKTtlLmhhc1hmYT1BcnJheS5pc0FycmF5KHMpJiZzLmxlbmd0aD4wfHxzIGluc3RhbmNlb2YgQmFzZVN0cmVhbSYmIXMuaXNFbXB0eTtjb25zdCByPSEhKDEmdC5nZXQoIlNpZ0ZsYWdzIikpLG49ciYmdGhpcy5faGFzT25seURvY3VtZW50U2lnbmF0dXJlcyhpKTtlLmhhc0Fjcm9Gb3JtPWEmJiFuO2UuaGFzU2lnbmF0dXJlcz1yfWNhdGNoKGUpe2lmKGUgaW5zdGFuY2VvZiBNaXNzaW5nRGF0YUV4Y2VwdGlvbil0aHJvdyBlO3dhcm4oYENhbm5vdCBmZXRjaCBmb3JtIGluZm9ybWF0aW9uOiAiJHtlfSIuYCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJmb3JtSW5mbyIsZSl9Z2V0IGRvY3VtZW50SW5mbygpe2NvbnN0IGU9e1BERkZvcm1hdFZlcnNpb246dGhpcy52ZXJzaW9uLExhbmd1YWdlOnRoaXMuY2F0YWxvZy5sYW5nLEVuY3J5cHRGaWx0ZXJOYW1lOnRoaXMueHJlZi5lbmNyeXB0P3RoaXMueHJlZi5lbmNyeXB0LmZpbHRlck5hbWU6bnVsbCxJc0xpbmVhcml6ZWQ6ISF0aGlzLmxpbmVhcml6YXRpb24sSXNBY3JvRm9ybVByZXNlbnQ6dGhpcy5mb3JtSW5mby5oYXNBY3JvRm9ybSxJc1hGQVByZXNlbnQ6dGhpcy5mb3JtSW5mby5oYXNYZmEsSXNDb2xsZWN0aW9uUHJlc2VudDohIXRoaXMuY2F0YWxvZy5jb2xsZWN0aW9uLElzU2lnbmF0dXJlc1ByZXNlbnQ6dGhpcy5mb3JtSW5mby5oYXNTaWduYXR1cmVzfTtsZXQgdDt0cnl7dD10aGlzLnhyZWYudHJhaWxlci5nZXQoIkluZm8iKX1jYXRjaChlKXtpZihlIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pdGhyb3cgZTtpbmZvKCJUaGUgZG9jdW1lbnQgaW5mb3JtYXRpb24gZGljdGlvbmFyeSBpcyBpbnZhbGlkLiIpfWlmKCEodCBpbnN0YW5jZW9mIERpY3QpKXJldHVybiBzaGFkb3codGhpcywiZG9jdW1lbnRJbmZvIixlKTtmb3IoY29uc3QgaSBvZiB0LmdldEtleXMoKSl7Y29uc3QgYT10LmdldChpKTtzd2l0Y2goaSl7Y2FzZSJUaXRsZSI6Y2FzZSJBdXRob3IiOmNhc2UiU3ViamVjdCI6Y2FzZSJLZXl3b3JkcyI6Y2FzZSJDcmVhdG9yIjpjYXNlIlByb2R1Y2VyIjpjYXNlIkNyZWF0aW9uRGF0ZSI6Y2FzZSJNb2REYXRlIjppZigic3RyaW5nIj09dHlwZW9mIGEpe2VbaV09c3RyaW5nVG9QREZTdHJpbmcoYSk7Y29udGludWV9YnJlYWs7Y2FzZSJUcmFwcGVkIjppZihhIGluc3RhbmNlb2YgTmFtZSl7ZVtpXT1hO2NvbnRpbnVlfWJyZWFrO2RlZmF1bHQ6bGV0IHQ7c3dpdGNoKHR5cGVvZiBhKXtjYXNlInN0cmluZyI6dD1zdHJpbmdUb1BERlN0cmluZyhhKTticmVhaztjYXNlIm51bWJlciI6Y2FzZSJib29sZWFuIjp0PWE7YnJlYWs7ZGVmYXVsdDphIGluc3RhbmNlb2YgTmFtZSYmKHQ9YSl9aWYodm9pZCAwPT09dCl7d2FybihgQmFkIHZhbHVlLCBmb3IgY3VzdG9tIGtleSAiJHtpfSIsIGluIEluZm86ICR7YX0uYCk7Y29udGludWV9ZS5DdXN0b218fChlLkN1c3RvbT1PYmplY3QuY3JlYXRlKG51bGwpKTtlLkN1c3RvbVtpXT10O2NvbnRpbnVlfXdhcm4oYEJhZCB2YWx1ZSwgZm9yIGtleSAiJHtpfSIsIGluIEluZm86ICR7YX0uYCl9cmV0dXJuIHNoYWRvdyh0aGlzLCJkb2N1bWVudEluZm8iLGUpfWdldCBmaW5nZXJwcmludHMoKXtmdW5jdGlvbiB2YWxpZGF0ZShlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJmUubGVuZ3RoPjAmJiJcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMFwwXDBcMCIhPT1lfWZ1bmN0aW9uIGhleFN0cmluZyhlKXtjb25zdCB0PVtdO2Zvcihjb25zdCBpIG9mIGUpe2NvbnN0IGU9aS50b1N0cmluZygxNik7dC5wdXNoKGUucGFkU3RhcnQoMiwiMCIpKX1yZXR1cm4gdC5qb2luKCIiKX1jb25zdCBlPXRoaXMueHJlZi50cmFpbGVyLmdldCgiSUQiKTtsZXQgdCxpO2lmKEFycmF5LmlzQXJyYXkoZSkmJnZhbGlkYXRlKGVbMF0pKXt0PXN0cmluZ1RvQnl0ZXMoZVswXSk7ZVsxXSE9PWVbMF0mJnZhbGlkYXRlKGVbMV0pJiYoaT1zdHJpbmdUb0J5dGVzKGVbMV0pKX1lbHNlIHQ9S3ModGhpcy5zdHJlYW0uZ2V0Qnl0ZVJhbmdlKDAsMTAyNCksMCwxMDI0KTtyZXR1cm4gc2hhZG93KHRoaXMsImZpbmdlcnByaW50cyIsW2hleFN0cmluZyh0KSxpP2hleFN0cmluZyhpKTpudWxsXSl9YXN5bmMgX2dldExpbmVhcml6YXRpb25QYWdlKGUpe2NvbnN0e2NhdGFsb2c6dCxsaW5lYXJpemF0aW9uOmkseHJlZjphfT10aGlzLHM9UmVmLmdldChpLm9iamVjdE51bWJlckZpcnN0LDApO3RyeXtjb25zdCBlPWF3YWl0IGEuZmV0Y2hBc3luYyhzKTtpZihlIGluc3RhbmNlb2YgRGljdCl7bGV0IGk9ZS5nZXRSYXcoIlR5cGUiKTtpIGluc3RhbmNlb2YgUmVmJiYoaT1hd2FpdCBhLmZldGNoQXN5bmMoaSkpO2lmKGlzTmFtZShpLCJQYWdlIil8fCFlLmhhcygiVHlwZSIpJiYhZS5oYXMoIktpZHMiKSYmZS5oYXMoIkNvbnRlbnRzIikpe3QucGFnZUtpZHNDb3VudENhY2hlLmhhcyhzKXx8dC5wYWdlS2lkc0NvdW50Q2FjaGUucHV0KHMsMSk7dC5wYWdlSW5kZXhDYWNoZS5oYXMocyl8fHQucGFnZUluZGV4Q2FjaGUucHV0KHMsMCk7cmV0dXJuW2Usc119fXRocm93IG5ldyBGb3JtYXRFcnJvcigiVGhlIExpbmVhcml6YXRpb24gZGljdGlvbmFyeSBkb2Vzbid0IHBvaW50IHRvIGEgdmFsaWQgUGFnZSBkaWN0aW9uYXJ5LiIpfWNhdGNoKGkpe3dhcm4oYF9nZXRMaW5lYXJpemF0aW9uUGFnZTogIiR7aS5tZXNzYWdlfSIuYCk7cmV0dXJuIHQuZ2V0UGFnZURpY3QoZSl9fWdldFBhZ2UoZSl7Y29uc3QgdD10aGlzLl9wYWdlUHJvbWlzZXMuZ2V0KGUpO2lmKHQpcmV0dXJuIHQ7Y29uc3R7Y2F0YWxvZzppLGxpbmVhcml6YXRpb246YSx4ZmFGYWN0b3J5OnN9PXRoaXM7bGV0IHI7cj1zP1Byb21pc2UucmVzb2x2ZShbRGljdC5lbXB0eSxudWxsXSk6YT8ucGFnZUZpcnN0PT09ZT90aGlzLl9nZXRMaW5lYXJpemF0aW9uUGFnZShlKTppLmdldFBhZ2VEaWN0KGUpO3I9ci50aGVuKCgoW3QsYV0pPT5uZXcgUGFnZSh7cGRmTWFuYWdlcjp0aGlzLnBkZk1hbmFnZXIseHJlZjp0aGlzLnhyZWYscGFnZUluZGV4OmUscGFnZURpY3Q6dCxyZWY6YSxnbG9iYWxJZEZhY3Rvcnk6dGhpcy5fZ2xvYmFsSWRGYWN0b3J5LGZvbnRDYWNoZTppLmZvbnRDYWNoZSxidWlsdEluQ01hcENhY2hlOmkuYnVpbHRJbkNNYXBDYWNoZSxzdGFuZGFyZEZvbnREYXRhQ2FjaGU6aS5zdGFuZGFyZEZvbnREYXRhQ2FjaGUsZ2xvYmFsSW1hZ2VDYWNoZTppLmdsb2JhbEltYWdlQ2FjaGUsc3lzdGVtRm9udENhY2hlOmkuc3lzdGVtRm9udENhY2hlLG5vbkJsZW5kTW9kZXNTZXQ6aS5ub25CbGVuZE1vZGVzU2V0LHhmYUZhY3Rvcnk6c30pKSk7dGhpcy5fcGFnZVByb21pc2VzLnNldChlLHIpO3JldHVybiByfWFzeW5jIGNoZWNrRmlyc3RQYWdlKGU9ITEpe2lmKCFlKXRyeXthd2FpdCB0aGlzLmdldFBhZ2UoMCl9Y2F0Y2goZSl7aWYoZSBpbnN0YW5jZW9mIFhSZWZFbnRyeUV4Y2VwdGlvbil7dGhpcy5fcGFnZVByb21pc2VzLmRlbGV0ZSgwKTthd2FpdCB0aGlzLmNsZWFudXAoKTt0aHJvdyBuZXcgWFJlZlBhcnNlRXhjZXB0aW9ufX19YXN5bmMgY2hlY2tMYXN0UGFnZShlPSExKXtjb25zdHtjYXRhbG9nOnQscGRmTWFuYWdlcjppfT10aGlzO3Quc2V0QWN0dWFsTnVtUGFnZXMoKTtsZXQgYTt0cnl7YXdhaXQgUHJvbWlzZS5hbGwoW2kuZW5zdXJlRG9jKCJ4ZmFGYWN0b3J5IiksaS5lbnN1cmVEb2MoImxpbmVhcml6YXRpb24iKSxpLmVuc3VyZUNhdGFsb2coIm51bVBhZ2VzIildKTtpZih0aGlzLnhmYUZhY3RvcnkpcmV0dXJuO2E9dGhpcy5saW5lYXJpemF0aW9uP3RoaXMubGluZWFyaXphdGlvbi5udW1QYWdlczp0Lm51bVBhZ2VzO2lmKCFOdW1iZXIuaXNJbnRlZ2VyKGEpKXRocm93IG5ldyBGb3JtYXRFcnJvcigiUGFnZSBjb3VudCBpcyBub3QgYW4gaW50ZWdlci4iKTtpZihhPD0xKXJldHVybjthd2FpdCB0aGlzLmdldFBhZ2UoYS0xKX1jYXRjaChzKXt0aGlzLl9wYWdlUHJvbWlzZXMuZGVsZXRlKGEtMSk7YXdhaXQgdGhpcy5jbGVhbnVwKCk7aWYocyBpbnN0YW5jZW9mIFhSZWZFbnRyeUV4Y2VwdGlvbiYmIWUpdGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbjt3YXJuKGBjaGVja0xhc3RQYWdlIC0gaW52YWxpZCAvUGFnZXMgdHJlZSAvQ291bnQ6ICR7YX0uYCk7bGV0IHI7dHJ5e3I9YXdhaXQgdC5nZXRBbGxQYWdlRGljdHMoZSl9Y2F0Y2goaSl7aWYoaSBpbnN0YW5jZW9mIFhSZWZFbnRyeUV4Y2VwdGlvbiYmIWUpdGhyb3cgbmV3IFhSZWZQYXJzZUV4Y2VwdGlvbjt0LnNldEFjdHVhbE51bVBhZ2VzKDEpO3JldHVybn1mb3IoY29uc3RbZSxbYSxzXV1vZiByKXtsZXQgcjtpZihhIGluc3RhbmNlb2YgRXJyb3Ipe3I9UHJvbWlzZS5yZWplY3QoYSk7ci5jYXRjaCgoKCk9Pnt9KSl9ZWxzZSByPVByb21pc2UucmVzb2x2ZShuZXcgUGFnZSh7cGRmTWFuYWdlcjppLHhyZWY6dGhpcy54cmVmLHBhZ2VJbmRleDplLHBhZ2VEaWN0OmEscmVmOnMsZ2xvYmFsSWRGYWN0b3J5OnRoaXMuX2dsb2JhbElkRmFjdG9yeSxmb250Q2FjaGU6dC5mb250Q2FjaGUsYnVpbHRJbkNNYXBDYWNoZTp0LmJ1aWx0SW5DTWFwQ2FjaGUsc3RhbmRhcmRGb250RGF0YUNhY2hlOnQuc3RhbmRhcmRGb250RGF0YUNhY2hlLGdsb2JhbEltYWdlQ2FjaGU6dC5nbG9iYWxJbWFnZUNhY2hlLHN5c3RlbUZvbnRDYWNoZTp0LnN5c3RlbUZvbnRDYWNoZSxub25CbGVuZE1vZGVzU2V0OnQubm9uQmxlbmRNb2Rlc1NldCx4ZmFGYWN0b3J5Om51bGx9KSk7dGhpcy5fcGFnZVByb21pc2VzLnNldChlLHIpfXQuc2V0QWN0dWFsTnVtUGFnZXMoci5zaXplKX19Zm9udEZhbGxiYWNrKGUsdCl7cmV0dXJuIHRoaXMuY2F0YWxvZy5mb250RmFsbGJhY2soZSx0KX1hc3luYyBjbGVhbnVwKGU9ITEpe3JldHVybiB0aGlzLmNhdGFsb2c/dGhpcy5jYXRhbG9nLmNsZWFudXAoZSk6Y2xlYXJHbG9iYWxDYWNoZXMoKX1hc3luYyNQKGUsdCxpLGEscyxyLG4pe2NvbnN0e3hyZWY6Z309dGhpcztpZighKGkgaW5zdGFuY2VvZiBSZWYpfHxyLmhhcyhpKSlyZXR1cm47ci5wdXQoaSk7Y29uc3Qgbz1hd2FpdCBnLmZldGNoQXN5bmMoaSk7aWYoIShvIGluc3RhbmNlb2YgRGljdCkpcmV0dXJuO2lmKG8uaGFzKCJUIikpe2NvbnN0IHQ9c3RyaW5nVG9QREZTdHJpbmcoYXdhaXQgby5nZXRBc3luYygiVCIpKTtlPSIiPT09ZT90OmAke2V9LiR7dH1gfWVsc2V7bGV0IGk9bztmb3IoOzspe2k9aS5nZXRSYXcoIlBhcmVudCIpfHx0O2lmKGkgaW5zdGFuY2VvZiBSZWYpe2lmKHIuaGFzKGkpKWJyZWFrO2k9YXdhaXQgZy5mZXRjaEFzeW5jKGkpfWlmKCEoaSBpbnN0YW5jZW9mIERpY3QpKWJyZWFrO2lmKGkuaGFzKCJUIikpe2NvbnN0IHQ9c3RyaW5nVG9QREZTdHJpbmcoYXdhaXQgaS5nZXRBc3luYygiVCIpKTtlPSIiPT09ZT90OmAke2V9LiR7dH1gO2JyZWFrfX19dCYmIW8uaGFzKCJQYXJlbnQiKSYmaXNOYW1lKG8uZ2V0KCJTdWJ0eXBlIiksIldpZGdldCIpJiZuLnB1dChpLHQpO2EuaGFzKGUpfHxhLnNldChlLFtdKTthLmdldChlKS5wdXNoKEFubm90YXRpb25GYWN0b3J5LmNyZWF0ZShnLGkscyxudWxsLCEwLG4sbnVsbCkudGhlbigoZT0+ZT8uZ2V0RmllbGRPYmplY3QoKSkpLmNhdGNoKChmdW5jdGlvbihlKXt3YXJuKGAjY29sbGVjdEZpZWxkT2JqZWN0czogIiR7ZX0iLmApO3JldHVybiBudWxsfSkpKTtpZighby5oYXMoIktpZHMiKSlyZXR1cm47Y29uc3QgYz1hd2FpdCBvLmdldEFzeW5jKCJLaWRzIik7aWYoQXJyYXkuaXNBcnJheShjKSlmb3IoY29uc3QgdCBvZiBjKWF3YWl0IHRoaXMuI1AoZSxpLHQsYSxzLHIsbil9Z2V0IGZpZWxkT2JqZWN0cygpe2lmKCF0aGlzLmZvcm1JbmZvLmhhc0ZpZWxkcylyZXR1cm4gc2hhZG93KHRoaXMsImZpZWxkT2JqZWN0cyIsUHJvbWlzZS5yZXNvbHZlKG51bGwpKTtyZXR1cm4gc2hhZG93KHRoaXMsImZpZWxkT2JqZWN0cyIsUHJvbWlzZS5hbGwoW3RoaXMucGRmTWFuYWdlci5lbnN1cmVEb2MoImFubm90YXRpb25HbG9iYWxzIiksdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtIildKS50aGVuKChhc3luYyhbZSx0XSk9PntpZighZSlyZXR1cm4gbnVsbDtjb25zdCBpPW5ldyBSZWZTZXQsYT1PYmplY3QuY3JlYXRlKG51bGwpLHM9bmV3IE1hcCxyPW5ldyBSZWZTZXRDYWNoZTtmb3IoY29uc3QgYSBvZiBhd2FpdCB0LmdldEFzeW5jKCJGaWVsZHMiKSlhd2FpdCB0aGlzLiNQKCIiLG51bGwsYSxzLGUsaSxyKTtjb25zdCBuPVtdO2Zvcihjb25zdFtlLHRdb2YgcyluLnB1c2goUHJvbWlzZS5hbGwodCkudGhlbigodD0+eyh0PXQuZmlsdGVyKChlPT4hIWUpKSkubGVuZ3RoPjAmJihhW2VdPXQpfSkpKTthd2FpdCBQcm9taXNlLmFsbChuKTtyZXR1cm57YWxsRmllbGRzOmEsb3JwaGFuRmllbGRzOnJ9fSkpKX1nZXQgaGFzSlNBY3Rpb25zKCl7cmV0dXJuIHNoYWRvdyh0aGlzLCJoYXNKU0FjdGlvbnMiLHRoaXMucGRmTWFuYWdlci5lbnN1cmVEb2MoIl9wYXJzZUhhc0pTQWN0aW9ucyIpKX1hc3luYyBfcGFyc2VIYXNKU0FjdGlvbnMoKXtjb25zdFtlLHRdPWF3YWl0IFByb21pc2UuYWxsKFt0aGlzLnBkZk1hbmFnZXIuZW5zdXJlQ2F0YWxvZygianNBY3Rpb25zIiksdGhpcy5wZGZNYW5hZ2VyLmVuc3VyZURvYygiZmllbGRPYmplY3RzIildKTtyZXR1cm4hIWV8fCEhdCYmT2JqZWN0LnZhbHVlcyh0LmFsbEZpZWxkcykuc29tZSgoZT0+ZS5zb21lKChlPT5udWxsIT09ZS5hY3Rpb25zKSkpKX1nZXQgY2FsY3VsYXRpb25PcmRlcklkcygpe2NvbnN0IGU9dGhpcy5jYXRhbG9nLmFjcm9Gb3JtO2lmKCFlPy5oYXMoIkNPIikpcmV0dXJuIHNoYWRvdyh0aGlzLCJjYWxjdWxhdGlvbk9yZGVySWRzIixudWxsKTtjb25zdCB0PWUuZ2V0KCJDTyIpO2lmKCFBcnJheS5pc0FycmF5KHQpfHwwPT09dC5sZW5ndGgpcmV0dXJuIHNoYWRvdyh0aGlzLCJjYWxjdWxhdGlvbk9yZGVySWRzIixudWxsKTtjb25zdCBpPVtdO2Zvcihjb25zdCBlIG9mIHQpZSBpbnN0YW5jZW9mIFJlZiYmaS5wdXNoKGUudG9TdHJpbmcoKSk7cmV0dXJuIDA9PT1pLmxlbmd0aD9zaGFkb3codGhpcywiY2FsY3VsYXRpb25PcmRlcklkcyIsbnVsbCk6c2hhZG93KHRoaXMsImNhbGN1bGF0aW9uT3JkZXJJZHMiLGkpfWdldCBhbm5vdGF0aW9uR2xvYmFscygpe3JldHVybiBzaGFkb3codGhpcywiYW5ub3RhdGlvbkdsb2JhbHMiLEFubm90YXRpb25GYWN0b3J5LmNyZWF0ZUdsb2JhbHModGhpcy5wZGZNYW5hZ2VyKSl9fWNsYXNzIEJhc2VQZGZNYW5hZ2Vye2NvbnN0cnVjdG9yKGUpe3RoaXMuX2RvY0Jhc2VVcmw9ZnVuY3Rpb24gcGFyc2VEb2NCYXNlVXJsKGUpe2lmKGUpe2NvbnN0IHQ9Y3JlYXRlVmFsaWRBYnNvbHV0ZVVybChlKTtpZih0KXJldHVybiB0LmhyZWY7d2FybihgSW52YWxpZCBhYnNvbHV0ZSBkb2NCYXNlVXJsOiAiJHtlfSIuYCl9cmV0dXJuIG51bGx9KGUuZG9jQmFzZVVybCk7dGhpcy5fZG9jSWQ9ZS5kb2NJZDt0aGlzLl9wYXNzd29yZD1lLnBhc3N3b3JkO3RoaXMuZW5hYmxlWGZhPWUuZW5hYmxlWGZhO2UuZXZhbHVhdG9yT3B0aW9ucy5pc09mZnNjcmVlbkNhbnZhc1N1cHBvcnRlZCYmPUZlYXR1cmVUZXN0LmlzT2Zmc2NyZWVuQ2FudmFzU3VwcG9ydGVkO3RoaXMuZXZhbHVhdG9yT3B0aW9ucz1PYmplY3QuZnJlZXplKGUuZXZhbHVhdG9yT3B0aW9ucyl9Z2V0IGRvY0lkKCl7cmV0dXJuIHRoaXMuX2RvY0lkfWdldCBwYXNzd29yZCgpe3JldHVybiB0aGlzLl9wYXNzd29yZH1nZXQgZG9jQmFzZVVybCgpe3JldHVybiB0aGlzLl9kb2NCYXNlVXJsfWdldCBjYXRhbG9nKCl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQuY2F0YWxvZ31lbnN1cmVEb2MoZSx0KXtyZXR1cm4gdGhpcy5lbnN1cmUodGhpcy5wZGZEb2N1bWVudCxlLHQpfWVuc3VyZVhSZWYoZSx0KXtyZXR1cm4gdGhpcy5lbnN1cmUodGhpcy5wZGZEb2N1bWVudC54cmVmLGUsdCl9ZW5zdXJlQ2F0YWxvZyhlLHQpe3JldHVybiB0aGlzLmVuc3VyZSh0aGlzLnBkZkRvY3VtZW50LmNhdGFsb2csZSx0KX1nZXRQYWdlKGUpe3JldHVybiB0aGlzLnBkZkRvY3VtZW50LmdldFBhZ2UoZSl9Zm9udEZhbGxiYWNrKGUsdCl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQuZm9udEZhbGxiYWNrKGUsdCl9bG9hZFhmYUZvbnRzKGUsdCl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQubG9hZFhmYUZvbnRzKGUsdCl9bG9hZFhmYUltYWdlcygpe3JldHVybiB0aGlzLnBkZkRvY3VtZW50LmxvYWRYZmFJbWFnZXMoKX1zZXJpYWxpemVYZmFEYXRhKGUpe3JldHVybiB0aGlzLnBkZkRvY3VtZW50LnNlcmlhbGl6ZVhmYURhdGEoZSl9Y2xlYW51cChlPSExKXtyZXR1cm4gdGhpcy5wZGZEb2N1bWVudC5jbGVhbnVwKGUpfWFzeW5jIGVuc3VyZShlLHQsaSl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgZW5zdXJlYCBjYWxsZWQiKX1yZXF1ZXN0UmFuZ2UoZSx0KXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGByZXF1ZXN0UmFuZ2VgIGNhbGxlZCIpfXJlcXVlc3RMb2FkZWRTdHJlYW0oZT0hMSl7dW5yZWFjaGFibGUoIkFic3RyYWN0IG1ldGhvZCBgcmVxdWVzdExvYWRlZFN0cmVhbWAgY2FsbGVkIil9c2VuZFByb2dyZXNzaXZlRGF0YShlKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGBzZW5kUHJvZ3Jlc3NpdmVEYXRhYCBjYWxsZWQiKX11cGRhdGVQYXNzd29yZChlKXt0aGlzLl9wYXNzd29yZD1lfXRlcm1pbmF0ZShlKXt1bnJlYWNoYWJsZSgiQWJzdHJhY3QgbWV0aG9kIGB0ZXJtaW5hdGVgIGNhbGxlZCIpfX1jbGFzcyBMb2NhbFBkZk1hbmFnZXIgZXh0ZW5kcyBCYXNlUGRmTWFuYWdlcntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTtjb25zdCB0PW5ldyBTdHJlYW0oZS5zb3VyY2UpO3RoaXMucGRmRG9jdW1lbnQ9bmV3IFBERkRvY3VtZW50KHRoaXMsdCk7dGhpcy5fbG9hZGVkU3RyZWFtUHJvbWlzZT1Qcm9taXNlLnJlc29sdmUodCl9YXN5bmMgZW5zdXJlKGUsdCxpKXtjb25zdCBhPWVbdF07cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGE/YS5hcHBseShlLGkpOmF9cmVxdWVzdFJhbmdlKGUsdCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfXJlcXVlc3RMb2FkZWRTdHJlYW0oZT0hMSl7cmV0dXJuIHRoaXMuX2xvYWRlZFN0cmVhbVByb21pc2V9dGVybWluYXRlKGUpe319Y2xhc3MgTmV0d29ya1BkZk1hbmFnZXIgZXh0ZW5kcyBCYXNlUGRmTWFuYWdlcntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKTt0aGlzLnN0cmVhbU1hbmFnZXI9bmV3IENodW5rZWRTdHJlYW1NYW5hZ2VyKGUuc291cmNlLHttc2dIYW5kbGVyOmUuaGFuZGxlcixsZW5ndGg6ZS5sZW5ndGgsZGlzYWJsZUF1dG9GZXRjaDplLmRpc2FibGVBdXRvRmV0Y2gscmFuZ2VDaHVua1NpemU6ZS5yYW5nZUNodW5rU2l6ZX0pO3RoaXMucGRmRG9jdW1lbnQ9bmV3IFBERkRvY3VtZW50KHRoaXMsdGhpcy5zdHJlYW1NYW5hZ2VyLmdldFN0cmVhbSgpKX1hc3luYyBlbnN1cmUoZSx0LGkpe3RyeXtjb25zdCBhPWVbdF07cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGE/YS5hcHBseShlLGkpOmF9Y2F0Y2goYSl7aWYoIShhIGluc3RhbmNlb2YgTWlzc2luZ0RhdGFFeGNlcHRpb24pKXRocm93IGE7YXdhaXQgdGhpcy5yZXF1ZXN0UmFuZ2UoYS5iZWdpbixhLmVuZCk7cmV0dXJuIHRoaXMuZW5zdXJlKGUsdCxpKX19cmVxdWVzdFJhbmdlKGUsdCl7cmV0dXJuIHRoaXMuc3RyZWFtTWFuYWdlci5yZXF1ZXN0UmFuZ2UoZSx0KX1yZXF1ZXN0TG9hZGVkU3RyZWFtKGU9ITEpe3JldHVybiB0aGlzLnN0cmVhbU1hbmFnZXIucmVxdWVzdEFsbENodW5rcyhlKX1zZW5kUHJvZ3Jlc3NpdmVEYXRhKGUpe3RoaXMuc3RyZWFtTWFuYWdlci5vblJlY2VpdmVEYXRhKHtjaHVuazplfSl9dGVybWluYXRlKGUpe3RoaXMuc3RyZWFtTWFuYWdlci5hYm9ydChlKX19Y29uc3QgaGc9MSxCZz0yLGxnPTEsUWc9MixFZz0zLHVnPTQsZGc9NSxmZz02LHBnPTcsbWc9ODtmdW5jdGlvbiB3cmFwUmVhc29uKGUpe2UgaW5zdGFuY2VvZiBFcnJvcnx8Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZXx8dW5yZWFjaGFibGUoJ3dyYXBSZWFzb246IEV4cGVjdGVkICJyZWFzb24iIHRvIGJlIGEgKHBvc3NpYmx5IGNsb25lZCkgRXJyb3IuJyk7c3dpdGNoKGUubmFtZSl7Y2FzZSJBYm9ydEV4Y2VwdGlvbiI6cmV0dXJuIG5ldyBBYm9ydEV4Y2VwdGlvbihlLm1lc3NhZ2UpO2Nhc2UiTWlzc2luZ1BERkV4Y2VwdGlvbiI6cmV0dXJuIG5ldyBNaXNzaW5nUERGRXhjZXB0aW9uKGUubWVzc2FnZSk7Y2FzZSJQYXNzd29yZEV4Y2VwdGlvbiI6cmV0dXJuIG5ldyBQYXNzd29yZEV4Y2VwdGlvbihlLm1lc3NhZ2UsZS5jb2RlKTtjYXNlIlVuZXhwZWN0ZWRSZXNwb25zZUV4Y2VwdGlvbiI6cmV0dXJuIG5ldyBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb24oZS5tZXNzYWdlLGUuc3RhdHVzKTtjYXNlIlVua25vd25FcnJvckV4Y2VwdGlvbiI6cmV0dXJuIG5ldyBVbmtub3duRXJyb3JFeGNlcHRpb24oZS5tZXNzYWdlLGUuZGV0YWlscyk7ZGVmYXVsdDpyZXR1cm4gbmV3IFVua25vd25FcnJvckV4Y2VwdGlvbihlLm1lc3NhZ2UsZS50b1N0cmluZygpKX19Y2xhc3MgTWVzc2FnZUhhbmRsZXJ7Y29uc3RydWN0b3IoZSx0LGkpe3RoaXMuc291cmNlTmFtZT1lO3RoaXMudGFyZ2V0TmFtZT10O3RoaXMuY29tT2JqPWk7dGhpcy5jYWxsYmFja0lkPTE7dGhpcy5zdHJlYW1JZD0xO3RoaXMuc3RyZWFtU2lua3M9T2JqZWN0LmNyZWF0ZShudWxsKTt0aGlzLnN0cmVhbUNvbnRyb2xsZXJzPU9iamVjdC5jcmVhdGUobnVsbCk7dGhpcy5jYWxsYmFja0NhcGFiaWxpdGllcz1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuYWN0aW9uSGFuZGxlcj1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuX29uQ29tT2JqT25NZXNzYWdlPWU9Pntjb25zdCB0PWUuZGF0YTtpZih0LnRhcmdldE5hbWUhPT10aGlzLnNvdXJjZU5hbWUpcmV0dXJuO2lmKHQuc3RyZWFtKXt0aGlzLiNXKHQpO3JldHVybn1pZih0LmNhbGxiYWNrKXtjb25zdCBlPXQuY2FsbGJhY2tJZCxpPXRoaXMuY2FsbGJhY2tDYXBhYmlsaXRpZXNbZV07aWYoIWkpdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVzb2x2ZSBjYWxsYmFjayAke2V9YCk7ZGVsZXRlIHRoaXMuY2FsbGJhY2tDYXBhYmlsaXRpZXNbZV07aWYodC5jYWxsYmFjaz09PWhnKWkucmVzb2x2ZSh0LmRhdGEpO2Vsc2V7aWYodC5jYWxsYmFjayE9PUJnKXRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBjYWxsYmFjayBjYXNlIik7aS5yZWplY3Qod3JhcFJlYXNvbih0LnJlYXNvbikpfXJldHVybn1jb25zdCBhPXRoaXMuYWN0aW9uSGFuZGxlclt0LmFjdGlvbl07aWYoIWEpdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGFjdGlvbiBmcm9tIHdvcmtlcjogJHt0LmFjdGlvbn1gKTtpZih0LmNhbGxiYWNrSWQpe2NvbnN0IGU9dGhpcy5zb3VyY2VOYW1lLHM9dC5zb3VyY2VOYW1lO25ldyBQcm9taXNlKChmdW5jdGlvbihlKXtlKGEodC5kYXRhKSl9KSkudGhlbigoZnVuY3Rpb24oYSl7aS5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTplLHRhcmdldE5hbWU6cyxjYWxsYmFjazpoZyxjYWxsYmFja0lkOnQuY2FsbGJhY2tJZCxkYXRhOmF9KX0pLChmdW5jdGlvbihhKXtpLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmUsdGFyZ2V0TmFtZTpzLGNhbGxiYWNrOkJnLGNhbGxiYWNrSWQ6dC5jYWxsYmFja0lkLHJlYXNvbjp3cmFwUmVhc29uKGEpfSl9KSl9ZWxzZSB0LnN0cmVhbUlkP3RoaXMuI2oodCk6YSh0LmRhdGEpfTtpLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuX29uQ29tT2JqT25NZXNzYWdlKX1vbihlLHQpe2NvbnN0IGk9dGhpcy5hY3Rpb25IYW5kbGVyO2lmKGlbZV0pdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBhbHJlYWR5IGFuIGFjdGlvbk5hbWUgY2FsbGVkICIke2V9ImApO2lbZV09dH1zZW5kKGUsdCxpKXt0aGlzLmNvbU9iai5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTp0aGlzLnNvdXJjZU5hbWUsdGFyZ2V0TmFtZTp0aGlzLnRhcmdldE5hbWUsYWN0aW9uOmUsZGF0YTp0fSxpKX1zZW5kV2l0aFByb21pc2UoZSx0LGkpe2NvbnN0IGE9dGhpcy5jYWxsYmFja0lkKysscz1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt0aGlzLmNhbGxiYWNrQ2FwYWJpbGl0aWVzW2FdPXM7dHJ5e3RoaXMuY29tT2JqLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOnRoaXMuc291cmNlTmFtZSx0YXJnZXROYW1lOnRoaXMudGFyZ2V0TmFtZSxhY3Rpb246ZSxjYWxsYmFja0lkOmEsZGF0YTp0fSxpKX1jYXRjaChlKXtzLnJlamVjdChlKX1yZXR1cm4gcy5wcm9taXNlfXNlbmRXaXRoU3RyZWFtKGUsdCxpLGEpe2NvbnN0IHM9dGhpcy5zdHJlYW1JZCsrLHI9dGhpcy5zb3VyY2VOYW1lLG49dGhpcy50YXJnZXROYW1lLGc9dGhpcy5jb21PYmo7cmV0dXJuIG5ldyBSZWFkYWJsZVN0cmVhbSh7c3RhcnQ6aT0+e2NvbnN0IG89UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7dGhpcy5zdHJlYW1Db250cm9sbGVyc1tzXT17Y29udHJvbGxlcjppLHN0YXJ0Q2FsbDpvLHB1bGxDYWxsOm51bGwsY2FuY2VsQ2FsbDpudWxsLGlzQ2xvc2VkOiExfTtnLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOnIsdGFyZ2V0TmFtZTpuLGFjdGlvbjplLHN0cmVhbUlkOnMsZGF0YTp0LGRlc2lyZWRTaXplOmkuZGVzaXJlZFNpemV9LGEpO3JldHVybiBvLnByb21pc2V9LHB1bGw6ZT0+e2NvbnN0IHQ9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7dGhpcy5zdHJlYW1Db250cm9sbGVyc1tzXS5wdWxsQ2FsbD10O2cucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6cix0YXJnZXROYW1lOm4sc3RyZWFtOmZnLHN0cmVhbUlkOnMsZGVzaXJlZFNpemU6ZS5kZXNpcmVkU2l6ZX0pO3JldHVybiB0LnByb21pc2V9LGNhbmNlbDplPT57YXNzZXJ0KGUgaW5zdGFuY2VvZiBFcnJvciwiY2FuY2VsIG11c3QgaGF2ZSBhIHZhbGlkIHJlYXNvbiIpO2NvbnN0IHQ9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7dGhpcy5zdHJlYW1Db250cm9sbGVyc1tzXS5jYW5jZWxDYWxsPXQ7dGhpcy5zdHJlYW1Db250cm9sbGVyc1tzXS5pc0Nsb3NlZD0hMDtnLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOnIsdGFyZ2V0TmFtZTpuLHN0cmVhbTpsZyxzdHJlYW1JZDpzLHJlYXNvbjp3cmFwUmVhc29uKGUpfSk7cmV0dXJuIHQucHJvbWlzZX19LGkpfSNqKGUpe2NvbnN0IHQ9ZS5zdHJlYW1JZCxpPXRoaXMuc291cmNlTmFtZSxhPWUuc291cmNlTmFtZSxzPXRoaXMuY29tT2JqLHI9dGhpcyxuPXRoaXMuYWN0aW9uSGFuZGxlcltlLmFjdGlvbl0sZz17ZW5xdWV1ZShlLHI9MSxuKXtpZih0aGlzLmlzQ2FuY2VsbGVkKXJldHVybjtjb25zdCBnPXRoaXMuZGVzaXJlZFNpemU7dGhpcy5kZXNpcmVkU2l6ZS09cjtpZihnPjAmJnRoaXMuZGVzaXJlZFNpemU8PTApe3RoaXMuc2lua0NhcGFiaWxpdHk9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCk7dGhpcy5yZWFkeT10aGlzLnNpbmtDYXBhYmlsaXR5LnByb21pc2V9cy5wb3N0TWVzc2FnZSh7c291cmNlTmFtZTppLHRhcmdldE5hbWU6YSxzdHJlYW06dWcsc3RyZWFtSWQ6dCxjaHVuazplfSxuKX0sY2xvc2UoKXtpZighdGhpcy5pc0NhbmNlbGxlZCl7dGhpcy5pc0NhbmNlbGxlZD0hMDtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpFZyxzdHJlYW1JZDp0fSk7ZGVsZXRlIHIuc3RyZWFtU2lua3NbdF19fSxlcnJvcihlKXthc3NlcnQoZSBpbnN0YW5jZW9mIEVycm9yLCJlcnJvciBtdXN0IGhhdmUgYSB2YWxpZCByZWFzb24iKTtpZighdGhpcy5pc0NhbmNlbGxlZCl7dGhpcy5pc0NhbmNlbGxlZD0hMDtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpkZyxzdHJlYW1JZDp0LHJlYXNvbjp3cmFwUmVhc29uKGUpfSl9fSxzaW5rQ2FwYWJpbGl0eTpQcm9taXNlLndpdGhSZXNvbHZlcnMoKSxvblB1bGw6bnVsbCxvbkNhbmNlbDpudWxsLGlzQ2FuY2VsbGVkOiExLGRlc2lyZWRTaXplOmUuZGVzaXJlZFNpemUscmVhZHk6bnVsbH07Zy5zaW5rQ2FwYWJpbGl0eS5yZXNvbHZlKCk7Zy5yZWFkeT1nLnNpbmtDYXBhYmlsaXR5LnByb21pc2U7dGhpcy5zdHJlYW1TaW5rc1t0XT1nO25ldyBQcm9taXNlKChmdW5jdGlvbih0KXt0KG4oZS5kYXRhLGcpKX0pKS50aGVuKChmdW5jdGlvbigpe3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsc3RyZWFtOm1nLHN0cmVhbUlkOnQsc3VjY2VzczohMH0pfSksKGZ1bmN0aW9uKGUpe3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsc3RyZWFtOm1nLHN0cmVhbUlkOnQscmVhc29uOndyYXBSZWFzb24oZSl9KX0pKX0jVyhlKXtjb25zdCB0PWUuc3RyZWFtSWQsaT10aGlzLnNvdXJjZU5hbWUsYT1lLnNvdXJjZU5hbWUscz10aGlzLmNvbU9iaixyPXRoaXMuc3RyZWFtQ29udHJvbGxlcnNbdF0sbj10aGlzLnN0cmVhbVNpbmtzW3RdO3N3aXRjaChlLnN0cmVhbSl7Y2FzZSBtZzplLnN1Y2Nlc3M/ci5zdGFydENhbGwucmVzb2x2ZSgpOnIuc3RhcnRDYWxsLnJlamVjdCh3cmFwUmVhc29uKGUucmVhc29uKSk7YnJlYWs7Y2FzZSBwZzplLnN1Y2Nlc3M/ci5wdWxsQ2FsbC5yZXNvbHZlKCk6ci5wdWxsQ2FsbC5yZWplY3Qod3JhcFJlYXNvbihlLnJlYXNvbikpO2JyZWFrO2Nhc2UgZmc6aWYoIW4pe3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsc3RyZWFtOnBnLHN0cmVhbUlkOnQsc3VjY2VzczohMH0pO2JyZWFrfW4uZGVzaXJlZFNpemU8PTAmJmUuZGVzaXJlZFNpemU+MCYmbi5zaW5rQ2FwYWJpbGl0eS5yZXNvbHZlKCk7bi5kZXNpcmVkU2l6ZT1lLmRlc2lyZWRTaXplO25ldyBQcm9taXNlKChmdW5jdGlvbihlKXtlKG4ub25QdWxsPy4oKSl9KSkudGhlbigoZnVuY3Rpb24oKXtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpwZyxzdHJlYW1JZDp0LHN1Y2Nlc3M6ITB9KX0pLChmdW5jdGlvbihlKXtzLnBvc3RNZXNzYWdlKHtzb3VyY2VOYW1lOmksdGFyZ2V0TmFtZTphLHN0cmVhbTpwZyxzdHJlYW1JZDp0LHJlYXNvbjp3cmFwUmVhc29uKGUpfSl9KSk7YnJlYWs7Y2FzZSB1Zzphc3NlcnQociwiZW5xdWV1ZSBzaG91bGQgaGF2ZSBzdHJlYW0gY29udHJvbGxlciIpO2lmKHIuaXNDbG9zZWQpYnJlYWs7ci5jb250cm9sbGVyLmVucXVldWUoZS5jaHVuayk7YnJlYWs7Y2FzZSBFZzphc3NlcnQociwiY2xvc2Ugc2hvdWxkIGhhdmUgc3RyZWFtIGNvbnRyb2xsZXIiKTtpZihyLmlzQ2xvc2VkKWJyZWFrO3IuaXNDbG9zZWQ9ITA7ci5jb250cm9sbGVyLmNsb3NlKCk7dGhpcy4jWChyLHQpO2JyZWFrO2Nhc2UgZGc6YXNzZXJ0KHIsImVycm9yIHNob3VsZCBoYXZlIHN0cmVhbSBjb250cm9sbGVyIik7ci5jb250cm9sbGVyLmVycm9yKHdyYXBSZWFzb24oZS5yZWFzb24pKTt0aGlzLiNYKHIsdCk7YnJlYWs7Y2FzZSBRZzplLnN1Y2Nlc3M/ci5jYW5jZWxDYWxsLnJlc29sdmUoKTpyLmNhbmNlbENhbGwucmVqZWN0KHdyYXBSZWFzb24oZS5yZWFzb24pKTt0aGlzLiNYKHIsdCk7YnJlYWs7Y2FzZSBsZzppZighbilicmVhaztuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCl7dChuLm9uQ2FuY2VsPy4od3JhcFJlYXNvbihlLnJlYXNvbikpKX0pKS50aGVuKChmdW5jdGlvbigpe3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsc3RyZWFtOlFnLHN0cmVhbUlkOnQsc3VjY2VzczohMH0pfSksKGZ1bmN0aW9uKGUpe3MucG9zdE1lc3NhZ2Uoe3NvdXJjZU5hbWU6aSx0YXJnZXROYW1lOmEsc3RyZWFtOlFnLHN0cmVhbUlkOnQscmVhc29uOndyYXBSZWFzb24oZSl9KX0pKTtuLnNpbmtDYXBhYmlsaXR5LnJlamVjdCh3cmFwUmVhc29uKGUucmVhc29uKSk7bi5pc0NhbmNlbGxlZD0hMDtkZWxldGUgdGhpcy5zdHJlYW1TaW5rc1t0XTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBzdHJlYW0gY2FzZSIpfX1hc3luYyNYKGUsdCl7YXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFtlLnN0YXJ0Q2FsbD8ucHJvbWlzZSxlLnB1bGxDYWxsPy5wcm9taXNlLGUuY2FuY2VsQ2FsbD8ucHJvbWlzZV0pO2RlbGV0ZSB0aGlzLnN0cmVhbUNvbnRyb2xsZXJzW3RdfWRlc3Ryb3koKXt0aGlzLmNvbU9iai5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLl9vbkNvbU9iak9uTWVzc2FnZSl9fWNsYXNzIFBERldvcmtlclN0cmVhbXtjb25zdHJ1Y3RvcihlKXt0aGlzLl9tc2dIYW5kbGVyPWU7dGhpcy5fY29udGVudExlbmd0aD1udWxsO3RoaXMuX2Z1bGxSZXF1ZXN0UmVhZGVyPW51bGw7dGhpcy5fcmFuZ2VSZXF1ZXN0UmVhZGVycz1bXX1nZXRGdWxsUmVhZGVyKCl7YXNzZXJ0KCF0aGlzLl9mdWxsUmVxdWVzdFJlYWRlciwiUERGV29ya2VyU3RyZWFtLmdldEZ1bGxSZWFkZXIgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UuIik7dGhpcy5fZnVsbFJlcXVlc3RSZWFkZXI9bmV3IFBERldvcmtlclN0cmVhbVJlYWRlcih0aGlzLl9tc2dIYW5kbGVyKTtyZXR1cm4gdGhpcy5fZnVsbFJlcXVlc3RSZWFkZXJ9Z2V0UmFuZ2VSZWFkZXIoZSx0KXtjb25zdCBpPW5ldyBQREZXb3JrZXJTdHJlYW1SYW5nZVJlYWRlcihlLHQsdGhpcy5fbXNnSGFuZGxlcik7dGhpcy5fcmFuZ2VSZXF1ZXN0UmVhZGVycy5wdXNoKGkpO3JldHVybiBpfWNhbmNlbEFsbFJlcXVlc3RzKGUpe3RoaXMuX2Z1bGxSZXF1ZXN0UmVhZGVyPy5jYW5jZWwoZSk7Zm9yKGNvbnN0IHQgb2YgdGhpcy5fcmFuZ2VSZXF1ZXN0UmVhZGVycy5zbGljZSgwKSl0LmNhbmNlbChlKX19Y2xhc3MgUERGV29ya2VyU3RyZWFtUmVhZGVye2NvbnN0cnVjdG9yKGUpe3RoaXMuX21zZ0hhbmRsZXI9ZTt0aGlzLm9uUHJvZ3Jlc3M9bnVsbDt0aGlzLl9jb250ZW50TGVuZ3RoPW51bGw7dGhpcy5faXNSYW5nZVN1cHBvcnRlZD0hMTt0aGlzLl9pc1N0cmVhbWluZ1N1cHBvcnRlZD0hMTtjb25zdCB0PXRoaXMuX21zZ0hhbmRsZXIuc2VuZFdpdGhTdHJlYW0oIkdldFJlYWRlciIpO3RoaXMuX3JlYWRlcj10LmdldFJlYWRlcigpO3RoaXMuX2hlYWRlcnNSZWFkeT10aGlzLl9tc2dIYW5kbGVyLnNlbmRXaXRoUHJvbWlzZSgiUmVhZGVySGVhZGVyc1JlYWR5IikudGhlbigoZT0+e3RoaXMuX2lzU3RyZWFtaW5nU3VwcG9ydGVkPWUuaXNTdHJlYW1pbmdTdXBwb3J0ZWQ7dGhpcy5faXNSYW5nZVN1cHBvcnRlZD1lLmlzUmFuZ2VTdXBwb3J0ZWQ7dGhpcy5fY29udGVudExlbmd0aD1lLmNvbnRlbnRMZW5ndGh9KSl9Z2V0IGhlYWRlcnNSZWFkeSgpe3JldHVybiB0aGlzLl9oZWFkZXJzUmVhZHl9Z2V0IGNvbnRlbnRMZW5ndGgoKXtyZXR1cm4gdGhpcy5fY29udGVudExlbmd0aH1nZXQgaXNTdHJlYW1pbmdTdXBwb3J0ZWQoKXtyZXR1cm4gdGhpcy5faXNTdHJlYW1pbmdTdXBwb3J0ZWR9Z2V0IGlzUmFuZ2VTdXBwb3J0ZWQoKXtyZXR1cm4gdGhpcy5faXNSYW5nZVN1cHBvcnRlZH1hc3luYyByZWFkKCl7Y29uc3R7dmFsdWU6ZSxkb25lOnR9PWF3YWl0IHRoaXMuX3JlYWRlci5yZWFkKCk7cmV0dXJuIHQ/e3ZhbHVlOnZvaWQgMCxkb25lOiEwfTp7dmFsdWU6ZS5idWZmZXIsZG9uZTohMX19Y2FuY2VsKGUpe3RoaXMuX3JlYWRlci5jYW5jZWwoZSl9fWNsYXNzIFBERldvcmtlclN0cmVhbVJhbmdlUmVhZGVye2NvbnN0cnVjdG9yKGUsdCxpKXt0aGlzLl9tc2dIYW5kbGVyPWk7dGhpcy5vblByb2dyZXNzPW51bGw7Y29uc3QgYT10aGlzLl9tc2dIYW5kbGVyLnNlbmRXaXRoU3RyZWFtKCJHZXRSYW5nZVJlYWRlciIse2JlZ2luOmUsZW5kOnR9KTt0aGlzLl9yZWFkZXI9YS5nZXRSZWFkZXIoKX1nZXQgaXNTdHJlYW1pbmdTdXBwb3J0ZWQoKXtyZXR1cm4hMX1hc3luYyByZWFkKCl7Y29uc3R7dmFsdWU6ZSxkb25lOnR9PWF3YWl0IHRoaXMuX3JlYWRlci5yZWFkKCk7cmV0dXJuIHQ/e3ZhbHVlOnZvaWQgMCxkb25lOiEwfTp7dmFsdWU6ZS5idWZmZXIsZG9uZTohMX19Y2FuY2VsKGUpe3RoaXMuX3JlYWRlci5jYW5jZWwoZSl9fWNsYXNzIFdvcmtlclRhc2t7Y29uc3RydWN0b3IoZSl7dGhpcy5uYW1lPWU7dGhpcy50ZXJtaW5hdGVkPSExO3RoaXMuX2NhcGFiaWxpdHk9UHJvbWlzZS53aXRoUmVzb2x2ZXJzKCl9Z2V0IGZpbmlzaGVkKCl7cmV0dXJuIHRoaXMuX2NhcGFiaWxpdHkucHJvbWlzZX1maW5pc2goKXt0aGlzLl9jYXBhYmlsaXR5LnJlc29sdmUoKX10ZXJtaW5hdGUoKXt0aGlzLnRlcm1pbmF0ZWQ9ITB9ZW5zdXJlTm90VGVybWluYXRlZCgpe2lmKHRoaXMudGVybWluYXRlZCl0aHJvdyBuZXcgRXJyb3IoIldvcmtlciB0YXNrIHdhcyB0ZXJtaW5hdGVkIil9fWNsYXNzIFdvcmtlck1lc3NhZ2VIYW5kbGVye3N0YXRpYyBzZXR1cChlLHQpe2xldCBpPSExO2Uub24oInRlc3QiLChmdW5jdGlvbih0KXtpZighaSl7aT0hMDtlLnNlbmQoInRlc3QiLHQgaW5zdGFuY2VvZiBVaW50OEFycmF5KX19KSk7ZS5vbigiY29uZmlndXJlIiwoZnVuY3Rpb24oZSl7IWZ1bmN0aW9uIHNldFZlcmJvc2l0eUxldmVsKGUpe051bWJlci5pc0ludGVnZXIoZSkmJihndD1lKX0oZS52ZXJib3NpdHkpfSkpO2Uub24oIkdldERvY1JlcXVlc3QiLChmdW5jdGlvbihlKXtyZXR1cm4gV29ya2VyTWVzc2FnZUhhbmRsZXIuY3JlYXRlRG9jdW1lbnRIYW5kbGVyKGUsdCl9KSl9c3RhdGljIGNyZWF0ZURvY3VtZW50SGFuZGxlcihlLHQpe2xldCBpLGE9ITEscz1udWxsO2NvbnN0IHI9bmV3IFNldCxuPWdldFZlcmJvc2l0eUxldmVsKCkse2RvY0lkOmcsYXBpVmVyc2lvbjpvfT1lLGM9IjQuNy43NiI7aWYobyE9PWMpdGhyb3cgbmV3IEVycm9yKGBUaGUgQVBJIHZlcnNpb24gIiR7b30iIGRvZXMgbm90IG1hdGNoIHRoZSBXb3JrZXIgdmVyc2lvbiAiJHtjfSIuYCk7Y29uc3QgQz1bXTtmb3IoY29uc3QgZSBpbltdKUMucHVzaChlKTtpZihDLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBgQXJyYXkucHJvdG90eXBlYCBjb250YWlucyB1bmV4cGVjdGVkIGVudW1lcmFibGUgcHJvcGVydGllczogIitDLmpvaW4oIiwgIikrIjsgdGh1cyBicmVha2luZyBlLmcuIGBmb3IuLi5pbmAgaXRlcmF0aW9uIG9mIGBBcnJheWBzLiIpO2NvbnN0IGg9ZysiX3dvcmtlciI7bGV0IGw9bmV3IE1lc3NhZ2VIYW5kbGVyKGgsZyx0KTtmdW5jdGlvbiBlbnN1cmVOb3RUZXJtaW5hdGVkKCl7aWYoYSl0aHJvdyBuZXcgRXJyb3IoIldvcmtlciB3YXMgdGVybWluYXRlZCIpfWZ1bmN0aW9uIHN0YXJ0V29ya2VyVGFzayhlKXtyLmFkZChlKX1mdW5jdGlvbiBmaW5pc2hXb3JrZXJUYXNrKGUpe2UuZmluaXNoKCk7ci5kZWxldGUoZSl9YXN5bmMgZnVuY3Rpb24gbG9hZERvY3VtZW50KGUpe2F3YWl0IGkuZW5zdXJlRG9jKCJjaGVja0hlYWRlciIpO2F3YWl0IGkuZW5zdXJlRG9jKCJwYXJzZVN0YXJ0WFJlZiIpO2F3YWl0IGkuZW5zdXJlRG9jKCJwYXJzZSIsW2VdKTthd2FpdCBpLmVuc3VyZURvYygiY2hlY2tGaXJzdFBhZ2UiLFtlXSk7YXdhaXQgaS5lbnN1cmVEb2MoImNoZWNrTGFzdFBhZ2UiLFtlXSk7Y29uc3QgdD1hd2FpdCBpLmVuc3VyZURvYygiaXNQdXJlWGZhIik7aWYodCl7Y29uc3QgZT1uZXcgV29ya2VyVGFzaygibG9hZFhmYUZvbnRzIik7c3RhcnRXb3JrZXJUYXNrKGUpO2F3YWl0IFByb21pc2UuYWxsKFtpLmxvYWRYZmFGb250cyhsLGUpLmNhdGNoKChlPT57fSkpLnRoZW4oKCgpPT5maW5pc2hXb3JrZXJUYXNrKGUpKSksaS5sb2FkWGZhSW1hZ2VzKCldKX1jb25zdFthLHNdPWF3YWl0IFByb21pc2UuYWxsKFtpLmVuc3VyZURvYygibnVtUGFnZXMiKSxpLmVuc3VyZURvYygiZmluZ2VycHJpbnRzIildKTtyZXR1cm57bnVtUGFnZXM6YSxmaW5nZXJwcmludHM6cyxodG1sRm9yWGZhOnQ/YXdhaXQgaS5lbnN1cmVEb2MoImh0bWxGb3JYZmEiKTpudWxsfX1mdW5jdGlvbiBnZXRQZGZNYW5hZ2VyKHtkYXRhOmUscGFzc3dvcmQ6dCxkaXNhYmxlQXV0b0ZldGNoOmkscmFuZ2VDaHVua1NpemU6YSxsZW5ndGg6cixkb2NCYXNlVXJsOm4sZW5hYmxlWGZhOm8sZXZhbHVhdG9yT3B0aW9uczpjfSl7Y29uc3QgQz17c291cmNlOm51bGwsZGlzYWJsZUF1dG9GZXRjaDppLGRvY0Jhc2VVcmw6bixkb2NJZDpnLGVuYWJsZVhmYTpvLGV2YWx1YXRvck9wdGlvbnM6YyxoYW5kbGVyOmwsbGVuZ3RoOnIscGFzc3dvcmQ6dCxyYW5nZUNodW5rU2l6ZTphfSxoPVByb21pc2Uud2l0aFJlc29sdmVycygpO2xldCBRO2lmKGUpe3RyeXtDLnNvdXJjZT1lO1E9bmV3IExvY2FsUGRmTWFuYWdlcihDKTtoLnJlc29sdmUoUSl9Y2F0Y2goZSl7aC5yZWplY3QoZSl9cmV0dXJuIGgucHJvbWlzZX1sZXQgRSx1PVtdO3RyeXtFPW5ldyBQREZXb3JrZXJTdHJlYW0obCl9Y2F0Y2goZSl7aC5yZWplY3QoZSk7cmV0dXJuIGgucHJvbWlzZX1jb25zdCBkPUUuZ2V0RnVsbFJlYWRlcigpO2QuaGVhZGVyc1JlYWR5LnRoZW4oKGZ1bmN0aW9uKCl7aWYoZC5pc1JhbmdlU3VwcG9ydGVkKXtDLnNvdXJjZT1FO0MubGVuZ3RoPWQuY29udGVudExlbmd0aDtDLmRpc2FibGVBdXRvRmV0Y2h8fD1kLmlzU3RyZWFtaW5nU3VwcG9ydGVkO1E9bmV3IE5ldHdvcmtQZGZNYW5hZ2VyKEMpO2Zvcihjb25zdCBlIG9mIHUpUS5zZW5kUHJvZ3Jlc3NpdmVEYXRhKGUpO3U9W107aC5yZXNvbHZlKFEpO3M9bnVsbH19KSkuY2F0Y2goKGZ1bmN0aW9uKGUpe2gucmVqZWN0KGUpO3M9bnVsbH0pKTtsZXQgZj0wO25ldyBQcm9taXNlKChmdW5jdGlvbihlLHQpe2NvbnN0IHJlYWRDaHVuaz1mdW5jdGlvbih7dmFsdWU6ZSxkb25lOml9KXt0cnl7ZW5zdXJlTm90VGVybWluYXRlZCgpO2lmKGkpe1F8fGZ1bmN0aW9uKCl7Y29uc3QgZT1hcnJheUJ1ZmZlcnNUb0J5dGVzKHUpO3ImJmUubGVuZ3RoIT09ciYmd2FybigicmVwb3J0ZWQgSFRUUCBsZW5ndGggaXMgZGlmZmVyZW50IGZyb20gYWN0dWFsIik7dHJ5e0Muc291cmNlPWU7UT1uZXcgTG9jYWxQZGZNYW5hZ2VyKEMpO2gucmVzb2x2ZShRKX1jYXRjaChlKXtoLnJlamVjdChlKX11PVtdfSgpO3M9bnVsbDtyZXR1cm59Zis9ZS5ieXRlTGVuZ3RoO2QuaXNTdHJlYW1pbmdTdXBwb3J0ZWR8fGwuc2VuZCgiRG9jUHJvZ3Jlc3MiLHtsb2FkZWQ6Zix0b3RhbDpNYXRoLm1heChmLGQuY29udGVudExlbmd0aHx8MCl9KTtRP1Euc2VuZFByb2dyZXNzaXZlRGF0YShlKTp1LnB1c2goZSk7ZC5yZWFkKCkudGhlbihyZWFkQ2h1bmssdCl9Y2F0Y2goZSl7dChlKX19O2QucmVhZCgpLnRoZW4ocmVhZENodW5rLHQpfSkpLmNhdGNoKChmdW5jdGlvbihlKXtoLnJlamVjdChlKTtzPW51bGx9KSk7cz1mdW5jdGlvbihlKXtFLmNhbmNlbEFsbFJlcXVlc3RzKGUpfTtyZXR1cm4gaC5wcm9taXNlfWwub24oIkdldFBhZ2UiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5nZXRQYWdlKGUucGFnZUluZGV4KS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5hbGwoW2kuZW5zdXJlKGUsInJvdGF0ZSIpLGkuZW5zdXJlKGUsInJlZiIpLGkuZW5zdXJlKGUsInVzZXJVbml0IiksaS5lbnN1cmUoZSwidmlldyIpXSkudGhlbigoZnVuY3Rpb24oW2UsdCxpLGFdKXtyZXR1cm57cm90YXRlOmUscmVmOnQscmVmU3RyOnQ/LnRvU3RyaW5nKCk/P251bGwsdXNlclVuaXQ6aSx2aWV3OmF9fSkpfSkpfSkpO2wub24oIkdldFBhZ2VJbmRleCIsKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9UmVmLmdldChlLm51bSxlLmdlbik7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygiZ2V0UGFnZUluZGV4IixbdF0pfSkpO2wub24oIkdldERlc3RpbmF0aW9ucyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coImRlc3RpbmF0aW9ucyIpfSkpO2wub24oIkdldERlc3RpbmF0aW9uIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygiZ2V0RGVzdGluYXRpb24iLFtlLmlkXSl9KSk7bC5vbigiR2V0UGFnZUxhYmVscyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coInBhZ2VMYWJlbHMiKX0pKTtsLm9uKCJHZXRQYWdlTGF5b3V0IiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygicGFnZUxheW91dCIpfSkpO2wub24oIkdldFBhZ2VNb2RlIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygicGFnZU1vZGUiKX0pKTtsLm9uKCJHZXRWaWV3ZXJQcmVmZXJlbmNlcyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coInZpZXdlclByZWZlcmVuY2VzIil9KSk7bC5vbigiR2V0T3BlbkFjdGlvbiIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coIm9wZW5BY3Rpb24iKX0pKTtsLm9uKCJHZXRBdHRhY2htZW50cyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coImF0dGFjaG1lbnRzIil9KSk7bC5vbigiR2V0RG9jSlNBY3Rpb25zIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlQ2F0YWxvZygianNBY3Rpb25zIil9KSk7bC5vbigiR2V0UGFnZUpTQWN0aW9ucyIsKGZ1bmN0aW9uKHtwYWdlSW5kZXg6ZX0pe3JldHVybiBpLmdldFBhZ2UoZSkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlKGUsImpzQWN0aW9ucyIpfSkpfSkpO2wub24oIkdldE91dGxpbmUiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJkb2N1bWVudE91dGxpbmUiKX0pKTtsLm9uKCJHZXRPcHRpb25hbENvbnRlbnRDb25maWciLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVDYXRhbG9nKCJvcHRpb25hbENvbnRlbnRDb25maWciKX0pKTtsLm9uKCJHZXRQZXJtaXNzaW9ucyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coInBlcm1pc3Npb25zIil9KSk7bC5vbigiR2V0TWV0YWRhdGEiLChmdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5hbGwoW2kuZW5zdXJlRG9jKCJkb2N1bWVudEluZm8iKSxpLmVuc3VyZUNhdGFsb2coIm1ldGFkYXRhIildKX0pKTtsLm9uKCJHZXRNYXJrSW5mbyIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLmVuc3VyZUNhdGFsb2coIm1hcmtJbmZvIil9KSk7bC5vbigiR2V0RGF0YSIsKGZ1bmN0aW9uKGUpe3JldHVybiBpLnJlcXVlc3RMb2FkZWRTdHJlYW0oKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gZS5ieXRlc30pKX0pKTtsLm9uKCJHZXRBbm5vdGF0aW9ucyIsKGZ1bmN0aW9uKHtwYWdlSW5kZXg6ZSxpbnRlbnQ6dH0pe3JldHVybiBpLmdldFBhZ2UoZSkudGhlbigoZnVuY3Rpb24oaSl7Y29uc3QgYT1uZXcgV29ya2VyVGFzayhgR2V0QW5ub3RhdGlvbnM6IHBhZ2UgJHtlfWApO3N0YXJ0V29ya2VyVGFzayhhKTtyZXR1cm4gaS5nZXRBbm5vdGF0aW9uc0RhdGEobCxhLHQpLnRoZW4oKGU9PntmaW5pc2hXb3JrZXJUYXNrKGEpO3JldHVybiBlfSksKGU9PntmaW5pc2hXb3JrZXJUYXNrKGEpO3Rocm93IGV9KSl9KSl9KSk7bC5vbigiR2V0RmllbGRPYmplY3RzIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlRG9jKCJmaWVsZE9iamVjdHMiKS50aGVuKChlPT5lPy5hbGxGaWVsZHN8fG51bGwpKX0pKTtsLm9uKCJIYXNKU0FjdGlvbnMiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVEb2MoImhhc0pTQWN0aW9ucyIpfSkpO2wub24oIkdldENhbGN1bGF0aW9uT3JkZXJJZHMiLChmdW5jdGlvbihlKXtyZXR1cm4gaS5lbnN1cmVEb2MoImNhbGN1bGF0aW9uT3JkZXJJZHMiKX0pKTtsLm9uKCJTYXZlRG9jdW1lbnQiLChhc3luYyBmdW5jdGlvbih7aXNQdXJlWGZhOmUsbnVtUGFnZXM6dCxhbm5vdGF0aW9uU3RvcmFnZTphLGZpbGVuYW1lOnN9KXtjb25zdCByPVtpLnJlcXVlc3RMb2FkZWRTdHJlYW0oKSxpLmVuc3VyZUNhdGFsb2coImFjcm9Gb3JtIiksaS5lbnN1cmVDYXRhbG9nKCJhY3JvRm9ybVJlZiIpLGkuZW5zdXJlRG9jKCJzdGFydFhSZWYiKSxpLmVuc3VyZURvYygieHJlZiIpLGkuZW5zdXJlRG9jKCJsaW5lYXJpemF0aW9uIiksaS5lbnN1cmVDYXRhbG9nKCJzdHJ1Y3RUcmVlUm9vdCIpXSxuPVtdLGc9ZT9udWxsOmdldE5ld0Fubm90YXRpb25zTWFwKGEpLFtvLGMsQyxoLFEsRSx1XT1hd2FpdCBQcm9taXNlLmFsbChyKSxkPVEudHJhaWxlci5nZXRSYXcoIlJvb3QiKXx8bnVsbDtsZXQgZjtpZihnKXt1P2F3YWl0IHUuY2FuVXBkYXRlU3RydWN0VHJlZSh7cGRmTWFuYWdlcjppLHhyZWY6USxuZXdBbm5vdGF0aW9uc0J5UGFnZTpnfSkmJihmPXUpOmF3YWl0IFN0cnVjdFRyZWVSb290LmNhbkNyZWF0ZVN0cnVjdHVyZVRyZWUoe2NhdGFsb2dSZWY6ZCxwZGZNYW5hZ2VyOmksbmV3QW5ub3RhdGlvbnNCeVBhZ2U6Z30pJiYoZj1udWxsKTtjb25zdCBlPUFubm90YXRpb25GYWN0b3J5LmdlbmVyYXRlSW1hZ2VzKGEudmFsdWVzKCksUSxpLmV2YWx1YXRvck9wdGlvbnMuaXNPZmZzY3JlZW5DYW52YXNTdXBwb3J0ZWQpLHQ9dm9pZCAwPT09Zj9uOltdO2Zvcihjb25zdFthLHNdb2YgZyl0LnB1c2goaS5nZXRQYWdlKGEpLnRoZW4oKHQ9Pntjb25zdCBpPW5ldyBXb3JrZXJUYXNrKGBTYXZlIChlZGl0b3IpOiBwYWdlICR7YX1gKTtyZXR1cm4gdC5zYXZlTmV3QW5ub3RhdGlvbnMobCxpLHMsZSkuZmluYWxseSgoZnVuY3Rpb24oKXtmaW5pc2hXb3JrZXJUYXNrKGkpfSkpfSkpKTtudWxsPT09Zj9uLnB1c2goUHJvbWlzZS5hbGwodCkudGhlbigoYXN5bmMgZT0+e2F3YWl0IFN0cnVjdFRyZWVSb290LmNyZWF0ZVN0cnVjdHVyZVRyZWUoe25ld0Fubm90YXRpb25zQnlQYWdlOmcseHJlZjpRLGNhdGFsb2dSZWY6ZCxwZGZNYW5hZ2VyOmksbmV3UmVmczplfSk7cmV0dXJuIGV9KSkpOmYmJm4ucHVzaChQcm9taXNlLmFsbCh0KS50aGVuKChhc3luYyBlPT57YXdhaXQgZi51cGRhdGVTdHJ1Y3R1cmVUcmVlKHtuZXdBbm5vdGF0aW9uc0J5UGFnZTpnLHBkZk1hbmFnZXI6aSxuZXdSZWZzOmV9KTtyZXR1cm4gZX0pKSl9aWYoZSluLnB1c2goaS5zZXJpYWxpemVYZmFEYXRhKGEpKTtlbHNlIGZvcihsZXQgZT0wO2U8dDtlKyspbi5wdXNoKGkuZ2V0UGFnZShlKS50aGVuKChmdW5jdGlvbih0KXtjb25zdCBpPW5ldyBXb3JrZXJUYXNrKGBTYXZlOiBwYWdlICR7ZX1gKTtyZXR1cm4gdC5zYXZlKGwsaSxhKS5maW5hbGx5KChmdW5jdGlvbigpe2ZpbmlzaFdvcmtlclRhc2soaSl9KSl9KSkpO2NvbnN0IHA9YXdhaXQgUHJvbWlzZS5hbGwobik7bGV0IG09W10seT1udWxsO2lmKGUpe3k9cFswXTtpZigheSlyZXR1cm4gby5ieXRlc31lbHNle209cC5mbGF0KDIpO2lmKDA9PT1tLmxlbmd0aClyZXR1cm4gby5ieXRlc31jb25zdCB3PUMmJmMgaW5zdGFuY2VvZiBEaWN0JiZtLnNvbWUoKGU9PmUubmVlZEFwcGVhcmFuY2VzKSksRD1jIGluc3RhbmNlb2YgRGljdCYmYy5nZXQoIlhGQSIpfHxudWxsO2xldCBiPW51bGwsRj0hMTtpZihBcnJheS5pc0FycmF5KEQpKXtmb3IobGV0IGU9MCx0PUQubGVuZ3RoO2U8dDtlKz0yKWlmKCJkYXRhc2V0cyI9PT1EW2VdKXtiPURbZSsxXTtGPSEwfW51bGw9PT1iJiYoYj1RLmdldE5ld1RlbXBvcmFyeVJlZigpKX1lbHNlIEQmJndhcm4oIlVuc3VwcG9ydGVkIFhGQSB0eXBlLiIpO2xldCBTPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoUS50cmFpbGVyKXtjb25zdCBlPU9iamVjdC5jcmVhdGUobnVsbCksdD1RLnRyYWlsZXIuZ2V0KCJJbmZvIil8fG51bGw7dCBpbnN0YW5jZW9mIERpY3QmJnQuZm9yRWFjaCgoKHQsaSk9Pnsic3RyaW5nIj09dHlwZW9mIGkmJihlW3RdPXN0cmluZ1RvUERGU3RyaW5nKGkpKX0pKTtTPXtyb290UmVmOmQsZW5jcnlwdFJlZjpRLnRyYWlsZXIuZ2V0UmF3KCJFbmNyeXB0Iil8fG51bGwsbmV3UmVmOlEuZ2V0TmV3VGVtcG9yYXJ5UmVmKCksaW5mb1JlZjpRLnRyYWlsZXIuZ2V0UmF3KCJJbmZvIil8fG51bGwsaW5mbzplLGZpbGVJZHM6US50cmFpbGVyLmdldCgiSUQiKXx8bnVsbCxzdGFydFhSZWY6RT9oOlEubGFzdFhSZWZTdHJlYW1Qb3M/P2gsZmlsZW5hbWU6c319cmV0dXJuIGluY3JlbWVudGFsVXBkYXRlKHtvcmlnaW5hbERhdGE6by5ieXRlcyx4cmVmSW5mbzpTLG5ld1JlZnM6bSx4cmVmOlEsaGFzWGZhOiEhRCx4ZmFEYXRhc2V0c1JlZjpiLGhhc1hmYURhdGFzZXRzRW50cnk6RixuZWVkQXBwZWFyYW5jZXM6dyxhY3JvRm9ybVJlZjpDLGFjcm9Gb3JtOmMseGZhRGF0YTp5LHVzZVhyZWZTdHJlYW06aXNEaWN0KFEudG9wRGljdCwiWFJlZiIpfSkuZmluYWxseSgoKCk9PntRLnJlc2V0TmV3VGVtcG9yYXJ5UmVmKCl9KSl9KSk7bC5vbigiR2V0T3BlcmF0b3JMaXN0IiwoZnVuY3Rpb24oZSx0KXtjb25zdCBhPWUucGFnZUluZGV4O2kuZ2V0UGFnZShhKS50aGVuKChmdW5jdGlvbihpKXtjb25zdCBzPW5ldyBXb3JrZXJUYXNrKGBHZXRPcGVyYXRvckxpc3Q6IHBhZ2UgJHthfWApO3N0YXJ0V29ya2VyVGFzayhzKTtjb25zdCByPW4+PW1BLklORk9TP0RhdGUubm93KCk6MDtpLmdldE9wZXJhdG9yTGlzdCh7aGFuZGxlcjpsLHNpbms6dCx0YXNrOnMsaW50ZW50OmUuaW50ZW50LGNhY2hlS2V5OmUuY2FjaGVLZXksYW5ub3RhdGlvblN0b3JhZ2U6ZS5hbm5vdGF0aW9uU3RvcmFnZSxtb2RpZmllZElkczplLm1vZGlmaWVkSWRzfSkudGhlbigoZnVuY3Rpb24oZSl7ZmluaXNoV29ya2VyVGFzayhzKTtyJiZpbmZvKGBwYWdlPSR7YSsxfSAtIGdldE9wZXJhdG9yTGlzdDogdGltZT0ke0RhdGUubm93KCktcn1tcywgbGVuPSR7ZS5sZW5ndGh9YCk7dC5jbG9zZSgpfSksKGZ1bmN0aW9uKGUpe2ZpbmlzaFdvcmtlclRhc2socyk7cy50ZXJtaW5hdGVkfHx0LmVycm9yKGUpfSkpfSkpfSkpO2wub24oIkdldFRleHRDb250ZW50IiwoZnVuY3Rpb24oZSx0KXtjb25zdHtwYWdlSW5kZXg6YSxpbmNsdWRlTWFya2VkQ29udGVudDpzLGRpc2FibGVOb3JtYWxpemF0aW9uOnJ9PWU7aS5nZXRQYWdlKGEpLnRoZW4oKGZ1bmN0aW9uKGUpe2NvbnN0IGk9bmV3IFdvcmtlclRhc2soIkdldFRleHRDb250ZW50OiBwYWdlICIrYSk7c3RhcnRXb3JrZXJUYXNrKGkpO2NvbnN0IGc9bj49bUEuSU5GT1M/RGF0ZS5ub3coKTowO2UuZXh0cmFjdFRleHRDb250ZW50KHtoYW5kbGVyOmwsdGFzazppLHNpbms6dCxpbmNsdWRlTWFya2VkQ29udGVudDpzLGRpc2FibGVOb3JtYWxpemF0aW9uOnJ9KS50aGVuKChmdW5jdGlvbigpe2ZpbmlzaFdvcmtlclRhc2soaSk7ZyYmaW5mbyhgcGFnZT0ke2ErMX0gLSBnZXRUZXh0Q29udGVudDogdGltZT1gKyhEYXRlLm5vdygpLWcpKyJtcyIpO3QuY2xvc2UoKX0pLChmdW5jdGlvbihlKXtmaW5pc2hXb3JrZXJUYXNrKGkpO2kudGVybWluYXRlZHx8dC5lcnJvcihlKX0pKX0pKX0pKTtsLm9uKCJHZXRTdHJ1Y3RUcmVlIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZ2V0UGFnZShlLnBhZ2VJbmRleCkudGhlbigoZnVuY3Rpb24oZSl7cmV0dXJuIGkuZW5zdXJlKGUsImdldFN0cnVjdFRyZWUiKX0pKX0pKTtsLm9uKCJGb250RmFsbGJhY2siLChmdW5jdGlvbihlKXtyZXR1cm4gaS5mb250RmFsbGJhY2soZS5pZCxsKX0pKTtsLm9uKCJDbGVhbnVwIiwoZnVuY3Rpb24oZSl7cmV0dXJuIGkuY2xlYW51cCghMCl9KSk7bC5vbigiVGVybWluYXRlIiwoZnVuY3Rpb24oZSl7YT0hMDtjb25zdCB0PVtdO2lmKGkpe2kudGVybWluYXRlKG5ldyBBYm9ydEV4Y2VwdGlvbigiV29ya2VyIHdhcyB0ZXJtaW5hdGVkLiIpKTtjb25zdCBlPWkuY2xlYW51cCgpO3QucHVzaChlKTtpPW51bGx9ZWxzZSBjbGVhckdsb2JhbENhY2hlcygpO3MmJnMobmV3IEFib3J0RXhjZXB0aW9uKCJXb3JrZXIgd2FzIHRlcm1pbmF0ZWQuIikpO2Zvcihjb25zdCBlIG9mIHIpe3QucHVzaChlLmZpbmlzaGVkKTtlLnRlcm1pbmF0ZSgpfXJldHVybiBQcm9taXNlLmFsbCh0KS50aGVuKChmdW5jdGlvbigpe2wuZGVzdHJveSgpO2w9bnVsbH0pKX0pKTtsLm9uKCJSZWFkeSIsKGZ1bmN0aW9uKHQpeyFmdW5jdGlvbiBzZXR1cERvYyhlKXtmdW5jdGlvbiBvblN1Y2Nlc3MoZSl7ZW5zdXJlTm90VGVybWluYXRlZCgpO2wuc2VuZCgiR2V0RG9jIix7cGRmSW5mbzplfSl9ZnVuY3Rpb24gb25GYWlsdXJlKGUpe2Vuc3VyZU5vdFRlcm1pbmF0ZWQoKTtpZihlIGluc3RhbmNlb2YgUGFzc3dvcmRFeGNlcHRpb24pe2NvbnN0IHQ9bmV3IFdvcmtlclRhc2soYFBhc3N3b3JkRXhjZXB0aW9uOiByZXNwb25zZSAke2UuY29kZX1gKTtzdGFydFdvcmtlclRhc2sodCk7bC5zZW5kV2l0aFByb21pc2UoIlBhc3N3b3JkUmVxdWVzdCIsZSkudGhlbigoZnVuY3Rpb24oe3Bhc3N3b3JkOmV9KXtmaW5pc2hXb3JrZXJUYXNrKHQpO2kudXBkYXRlUGFzc3dvcmQoZSk7cGRmTWFuYWdlclJlYWR5KCl9KSkuY2F0Y2goKGZ1bmN0aW9uKCl7ZmluaXNoV29ya2VyVGFzayh0KTtsLnNlbmQoIkRvY0V4Y2VwdGlvbiIsZSl9KSl9ZWxzZSBlIGluc3RhbmNlb2YgSW52YWxpZFBERkV4Y2VwdGlvbnx8ZSBpbnN0YW5jZW9mIE1pc3NpbmdQREZFeGNlcHRpb258fGUgaW5zdGFuY2VvZiBVbmV4cGVjdGVkUmVzcG9uc2VFeGNlcHRpb258fGUgaW5zdGFuY2VvZiBVbmtub3duRXJyb3JFeGNlcHRpb24/bC5zZW5kKCJEb2NFeGNlcHRpb24iLGUpOmwuc2VuZCgiRG9jRXhjZXB0aW9uIixuZXcgVW5rbm93bkVycm9yRXhjZXB0aW9uKGUubWVzc2FnZSxlLnRvU3RyaW5nKCkpKX1mdW5jdGlvbiBwZGZNYW5hZ2VyUmVhZHkoKXtlbnN1cmVOb3RUZXJtaW5hdGVkKCk7bG9hZERvY3VtZW50KCExKS50aGVuKG9uU3VjY2VzcywoZnVuY3Rpb24oZSl7ZW5zdXJlTm90VGVybWluYXRlZCgpO2UgaW5zdGFuY2VvZiBYUmVmUGFyc2VFeGNlcHRpb24/aS5yZXF1ZXN0TG9hZGVkU3RyZWFtKCkudGhlbigoZnVuY3Rpb24oKXtlbnN1cmVOb3RUZXJtaW5hdGVkKCk7bG9hZERvY3VtZW50KCEwKS50aGVuKG9uU3VjY2VzcyxvbkZhaWx1cmUpfSkpOm9uRmFpbHVyZShlKX0pKX1lbnN1cmVOb3RUZXJtaW5hdGVkKCk7Z2V0UGRmTWFuYWdlcihlKS50aGVuKChmdW5jdGlvbihlKXtpZihhKXtlLnRlcm1pbmF0ZShuZXcgQWJvcnRFeGNlcHRpb24oIldvcmtlciB3YXMgdGVybWluYXRlZC4iKSk7dGhyb3cgbmV3IEVycm9yKCJXb3JrZXIgd2FzIHRlcm1pbmF0ZWQiKX1pPWU7aS5yZXF1ZXN0TG9hZGVkU3RyZWFtKCEwKS50aGVuKChlPT57bC5zZW5kKCJEYXRhTG9hZGVkIix7bGVuZ3RoOmUuYnl0ZXMuYnl0ZUxlbmd0aH0pfSkpfSkpLnRoZW4ocGRmTWFuYWdlclJlYWR5LG9uRmFpbHVyZSl9KGUpO2U9bnVsbH0pKTtyZXR1cm4gaH1zdGF0aWMgaW5pdGlhbGl6ZUZyb21Qb3J0KGUpe2NvbnN0IHQ9bmV3IE1lc3NhZ2VIYW5kbGVyKCJ3b3JrZXIiLCJtYWluIixlKTtXb3JrZXJNZXNzYWdlSGFuZGxlci5zZXR1cCh0LGUpO3Quc2VuZCgicmVhZHkiLG51bGwpfX0idW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdyYmIXQmJiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmZnVuY3Rpb24gaXNNZXNzYWdlUG9ydChlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZS5wb3N0TWVzc2FnZSYmIm9ubWVzc2FnZSJpbiBlfShzZWxmKSYmV29ya2VyTWVzc2FnZUhhbmRsZXIuaW5pdGlhbGl6ZUZyb21Qb3J0KHNlbGYpO3ZhciB5Zz1fX3dlYnBhY2tfZXhwb3J0c19fLldvcmtlck1lc3NhZ2VIYW5kbGVyO2V4cG9ydHt5ZyBhcyBXb3JrZXJNZXNzYWdlSGFuZGxlcn07", N = (l) => {
4
+ const [U, Z] = d(!1);
5
+ return Q(() => {
6
+ typeof window < "u" && (console.log("workerUrl", l), F.GlobalWorkerOptions.workerSrc = l || V, Z(!0));
7
+ }, [l]), {
8
+ workerUrlAdded: U
9
+ };
10
+ };
11
+ export {
12
+ N as useLoadWorker
13
+ };