@decaf-ts/ui-decorators 0.20.4 → 0.20.7

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 (469) hide show
  1. package/dist/ui-decorators.cjs +1059 -2
  2. package/dist/ui-decorators.js +1090 -2
  3. package/lib/cjs/dashboard/constants.cjs +11 -0
  4. package/lib/cjs/dashboard/decorators.cjs +61 -0
  5. package/lib/cjs/dashboard/index.cjs +23 -0
  6. package/lib/cjs/dashboard/reader.cjs +67 -0
  7. package/lib/cjs/dashboard/registry.cjs +45 -0
  8. package/lib/cjs/dashboard/types.cjs +4 -0
  9. package/lib/cjs/graph/GraphExecutionStateMapper.cjs +97 -0
  10. package/lib/cjs/graph/GraphResolution.cjs +17 -0
  11. package/lib/cjs/graph/catalog/GraphConnectionPolicy.cjs +2 -2
  12. package/lib/cjs/graph/catalog/GraphCredentialReference.cjs +2 -2
  13. package/lib/cjs/graph/catalog/GraphCredentialRequirement.cjs +2 -2
  14. package/lib/cjs/graph/catalog/GraphDynamicPortRule.cjs +2 -2
  15. package/lib/cjs/graph/catalog/GraphIconReference.cjs +2 -2
  16. package/lib/cjs/graph/catalog/GraphManifestCompiler.cjs +2 -2
  17. package/lib/cjs/graph/catalog/GraphNodeCapability.cjs +2 -2
  18. package/lib/cjs/graph/catalog/GraphNodeDisplayManifest.cjs +2 -2
  19. package/lib/cjs/graph/catalog/GraphNodeManifest.cjs +2 -2
  20. package/lib/cjs/graph/catalog/GraphNodeManifestSerialization.cjs +2 -2
  21. package/lib/cjs/graph/catalog/GraphNodeMethodManifest.cjs +2 -2
  22. package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs +2 -2
  23. package/lib/cjs/graph/catalog/GraphParameterBase.cjs +2 -2
  24. package/lib/cjs/graph/catalog/GraphParameterDefinition.cjs +2 -2
  25. package/lib/cjs/graph/catalog/GraphParameterOption.cjs +2 -2
  26. package/lib/cjs/graph/catalog/GraphParameterValidation.cjs +2 -2
  27. package/lib/cjs/graph/catalog/GraphPortManifest.cjs +2 -2
  28. package/lib/cjs/graph/catalog/GraphResourceLocatorMode.cjs +2 -2
  29. package/lib/cjs/graph/catalog/GraphValueSchema.cjs +2 -2
  30. package/lib/cjs/graph/catalog/GraphValueSchemaDerivation.cjs +2 -2
  31. package/lib/cjs/graph/catalog/GraphVisibilityExpression.cjs +2 -2
  32. package/lib/cjs/graph/catalog/index.cjs +2 -2
  33. package/lib/cjs/graph/constants.cjs +159 -3
  34. package/lib/cjs/graph/decorators.cjs +2 -2
  35. package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs +2 -2
  36. package/lib/cjs/graph/document/GraphEdgeInstance.cjs +2 -2
  37. package/lib/cjs/graph/document/GraphEndpoint.cjs +2 -2
  38. package/lib/cjs/graph/document/GraphJsonValue.cjs +2 -2
  39. package/lib/cjs/graph/document/GraphLoopConfiguration.cjs +2 -2
  40. package/lib/cjs/graph/document/GraphNodeBinding.cjs +2 -2
  41. package/lib/cjs/graph/document/GraphNodeInstance.cjs +2 -2
  42. package/lib/cjs/graph/document/GraphWorkflowDocument.cjs +2 -2
  43. package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs +2 -2
  44. package/lib/cjs/graph/document/GraphWorkflowDocumentReader.cjs +2 -2
  45. package/lib/cjs/graph/document/GraphWorkflowDocumentSerializer.cjs +2 -2
  46. package/lib/cjs/graph/document/GraphWorkflowUiState.cjs +2 -2
  47. package/lib/cjs/graph/document/index.cjs +2 -2
  48. package/lib/cjs/graph/index.cjs +5 -2
  49. package/lib/cjs/graph/nodes/agents/agent.cjs +110 -0
  50. package/lib/cjs/graph/nodes/base.cjs +36 -0
  51. package/lib/cjs/graph/nodes/boundary/input-value.cjs +57 -0
  52. package/lib/cjs/graph/nodes/category-styles.cjs +38 -0
  53. package/lib/cjs/graph/nodes/flow-control/break.cjs +63 -0
  54. package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs +67 -0
  55. package/lib/cjs/graph/nodes/flow-control/human-approval.cjs +69 -0
  56. package/lib/cjs/graph/nodes/flow-control/if.cjs +71 -0
  57. package/lib/cjs/graph/nodes/flow-control/parallel.cjs +61 -0
  58. package/lib/cjs/graph/nodes/flow-control/switch.cjs +121 -0
  59. package/lib/cjs/graph/nodes/index.cjs +123 -0
  60. package/lib/cjs/graph/nodes/loops/foreach.cjs +86 -0
  61. package/lib/cjs/graph/nodes/loops/until.cjs +74 -0
  62. package/lib/cjs/graph/nodes/loops/while.cjs +74 -0
  63. package/lib/cjs/graph/nodes/manifests.cjs +338 -0
  64. package/lib/cjs/graph/nodes/triggers/chat.cjs +70 -0
  65. package/lib/cjs/graph/nodes/triggers/event.cjs +58 -0
  66. package/lib/cjs/graph/nodes/triggers/form.cjs +59 -0
  67. package/lib/cjs/graph/nodes/triggers/manual.cjs +60 -0
  68. package/lib/cjs/graph/nodes/triggers/schedule.cjs +60 -0
  69. package/lib/cjs/graph/nodes/triggers/webhook.cjs +62 -0
  70. package/lib/cjs/graph/nodes/utility/code.cjs +99 -0
  71. package/lib/cjs/graph/nodes/utility/delay.cjs +61 -0
  72. package/lib/cjs/graph/nodes/utility/log.cjs +62 -0
  73. package/lib/cjs/graph/nodes/utility/map.cjs +61 -0
  74. package/lib/cjs/graph/nodes/utility/merge.cjs +62 -0
  75. package/lib/cjs/graph/nodes/utility/return.cjs +61 -0
  76. package/lib/cjs/graph/nodes/utility/utility-log.cjs +66 -0
  77. package/lib/cjs/graph/overrides/Metadata.cjs +2 -2
  78. package/lib/cjs/graph/overrides/Rendering.cjs +2 -2
  79. package/lib/cjs/graph/overrides/index.cjs +2 -2
  80. package/lib/cjs/graph/overrides/overrides.cjs +2 -2
  81. package/lib/cjs/graph/reader.cjs +2 -2
  82. package/lib/cjs/graph/registry.cjs +2 -2
  83. package/lib/cjs/graph/snapshot.cjs +2 -2
  84. package/lib/cjs/graph/types.cjs +2 -2
  85. package/lib/cjs/index.cjs +6 -5
  86. package/lib/cjs/model/Renderable.cjs +2 -2
  87. package/lib/cjs/model/decorators.cjs +2 -2
  88. package/lib/cjs/model/index.cjs +2 -2
  89. package/lib/cjs/model/model.cjs +2 -2
  90. package/lib/cjs/model/overrides.cjs +2 -2
  91. package/lib/cjs/overrides/ModelBuilderExtensions.cjs +2 -2
  92. package/lib/cjs/overrides/index.cjs +2 -2
  93. package/lib/cjs/ui/DecafComponent.cjs +2 -2
  94. package/lib/cjs/ui/DecafEventHandler.cjs +2 -2
  95. package/lib/cjs/ui/DecafTranslateService.cjs +2 -2
  96. package/lib/cjs/ui/Rendering.cjs +2 -2
  97. package/lib/cjs/ui/UIValidator.cjs +2 -2
  98. package/lib/cjs/ui/constants.cjs +2 -2
  99. package/lib/cjs/ui/decorators.cjs +2 -2
  100. package/lib/cjs/ui/errors.cjs +2 -2
  101. package/lib/cjs/ui/index.cjs +2 -2
  102. package/lib/cjs/ui/interfaces/IDecafModal.cjs +2 -2
  103. package/lib/cjs/ui/interfaces/IDecafRouter.cjs +2 -2
  104. package/lib/cjs/ui/interfaces/IDecafSpinner.cjs +2 -2
  105. package/lib/cjs/ui/interfaces/IDecafToast.cjs +2 -2
  106. package/lib/cjs/ui/interfaces/index.cjs +2 -2
  107. package/lib/cjs/ui/overrides.cjs +2 -2
  108. package/lib/cjs/ui/types.cjs +2 -2
  109. package/lib/cjs/ui/utils.cjs +2 -2
  110. package/lib/cjs/ui/validator.cjs +2 -2
  111. package/lib/cjs/user-requests/UserRequestHandler.cjs +2 -2
  112. package/lib/cjs/user-requests/constants.cjs +2 -2
  113. package/lib/cjs/user-requests/decorators.cjs +2 -2
  114. package/lib/cjs/user-requests/errors.cjs +2 -2
  115. package/lib/cjs/user-requests/index.cjs +2 -2
  116. package/lib/cjs/user-requests/types.cjs +2 -2
  117. package/lib/esm/dashboard/constants.js +24 -0
  118. package/lib/esm/dashboard/decorators.js +57 -0
  119. package/lib/esm/dashboard/index.js +6 -0
  120. package/lib/esm/dashboard/reader.js +62 -0
  121. package/lib/esm/dashboard/registry.js +39 -0
  122. package/lib/esm/dashboard/types.js +9 -0
  123. package/lib/esm/graph/GraphExecutionStateMapper.js +91 -0
  124. package/lib/esm/graph/GraphResolution.js +13 -0
  125. package/lib/esm/graph/catalog/GraphConnectionPolicy.js +1 -1
  126. package/lib/esm/graph/catalog/GraphCredentialReference.js +1 -1
  127. package/lib/esm/graph/catalog/GraphCredentialRequirement.js +1 -1
  128. package/lib/esm/graph/catalog/GraphDynamicPortRule.js +1 -1
  129. package/lib/esm/graph/catalog/GraphIconReference.js +1 -1
  130. package/lib/esm/graph/catalog/GraphManifestCompiler.js +1 -1
  131. package/lib/esm/graph/catalog/GraphNodeCapability.js +1 -1
  132. package/lib/esm/graph/catalog/GraphNodeDisplayManifest.js +1 -1
  133. package/lib/esm/graph/catalog/GraphNodeManifest.js +1 -1
  134. package/lib/esm/graph/catalog/GraphNodeManifestSerialization.js +1 -1
  135. package/lib/esm/graph/catalog/GraphNodeMethodManifest.js +1 -1
  136. package/lib/esm/graph/catalog/GraphNodePolicyManifest.js +1 -1
  137. package/lib/esm/graph/catalog/GraphParameterBase.js +1 -1
  138. package/lib/esm/graph/catalog/GraphParameterDefinition.js +1 -1
  139. package/lib/esm/graph/catalog/GraphParameterOption.js +1 -1
  140. package/lib/esm/graph/catalog/GraphParameterValidation.js +1 -1
  141. package/lib/esm/graph/catalog/GraphPortManifest.js +1 -1
  142. package/lib/esm/graph/catalog/GraphResourceLocatorMode.js +1 -1
  143. package/lib/esm/graph/catalog/GraphValueSchema.js +1 -1
  144. package/lib/esm/graph/catalog/GraphValueSchemaDerivation.js +1 -1
  145. package/lib/esm/graph/catalog/GraphVisibilityExpression.js +1 -1
  146. package/lib/esm/graph/catalog/index.js +1 -1
  147. package/lib/esm/graph/constants.js +180 -1
  148. package/lib/esm/graph/decorators.js +1 -1
  149. package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js +1 -1
  150. package/lib/esm/graph/document/GraphEdgeInstance.js +1 -1
  151. package/lib/esm/graph/document/GraphEndpoint.js +1 -1
  152. package/lib/esm/graph/document/GraphJsonValue.js +1 -1
  153. package/lib/esm/graph/document/GraphLoopConfiguration.js +1 -1
  154. package/lib/esm/graph/document/GraphNodeBinding.js +1 -1
  155. package/lib/esm/graph/document/GraphNodeInstance.js +1 -1
  156. package/lib/esm/graph/document/GraphWorkflowDocument.js +1 -1
  157. package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js +1 -1
  158. package/lib/esm/graph/document/GraphWorkflowDocumentReader.js +1 -1
  159. package/lib/esm/graph/document/GraphWorkflowDocumentSerializer.js +1 -1
  160. package/lib/esm/graph/document/GraphWorkflowUiState.js +1 -1
  161. package/lib/esm/graph/document/index.js +1 -1
  162. package/lib/esm/graph/index.js +4 -1
  163. package/lib/esm/graph/nodes/agents/agent.js +101 -0
  164. package/lib/esm/graph/nodes/base.js +31 -0
  165. package/lib/esm/graph/nodes/boundary/input-value.js +48 -0
  166. package/lib/esm/graph/nodes/category-styles.js +34 -0
  167. package/lib/esm/graph/nodes/flow-control/break.js +54 -0
  168. package/lib/esm/graph/nodes/flow-control/error-boundary.js +58 -0
  169. package/lib/esm/graph/nodes/flow-control/human-approval.js +60 -0
  170. package/lib/esm/graph/nodes/flow-control/if.js +62 -0
  171. package/lib/esm/graph/nodes/flow-control/parallel.js +52 -0
  172. package/lib/esm/graph/nodes/flow-control/switch.js +112 -0
  173. package/lib/esm/graph/nodes/index.js +105 -0
  174. package/lib/esm/graph/nodes/loops/foreach.js +77 -0
  175. package/lib/esm/graph/nodes/loops/until.js +65 -0
  176. package/lib/esm/graph/nodes/loops/while.js +65 -0
  177. package/lib/esm/graph/nodes/manifests.js +334 -0
  178. package/lib/esm/graph/nodes/triggers/chat.js +61 -0
  179. package/lib/esm/graph/nodes/triggers/event.js +49 -0
  180. package/lib/esm/graph/nodes/triggers/form.js +50 -0
  181. package/lib/esm/graph/nodes/triggers/manual.js +51 -0
  182. package/lib/esm/graph/nodes/triggers/schedule.js +51 -0
  183. package/lib/esm/graph/nodes/triggers/webhook.js +53 -0
  184. package/lib/esm/graph/nodes/utility/code.js +90 -0
  185. package/lib/esm/graph/nodes/utility/delay.js +52 -0
  186. package/lib/esm/graph/nodes/utility/log.js +53 -0
  187. package/lib/esm/graph/nodes/utility/map.js +52 -0
  188. package/lib/esm/graph/nodes/utility/merge.js +53 -0
  189. package/lib/esm/graph/nodes/utility/return.js +52 -0
  190. package/lib/esm/graph/nodes/utility/utility-log.js +57 -0
  191. package/lib/esm/graph/overrides/Metadata.js +1 -1
  192. package/lib/esm/graph/overrides/Rendering.js +1 -1
  193. package/lib/esm/graph/overrides/index.js +1 -1
  194. package/lib/esm/graph/overrides/overrides.js +1 -1
  195. package/lib/esm/graph/reader.js +1 -1
  196. package/lib/esm/graph/registry.js +1 -1
  197. package/lib/esm/graph/snapshot.js +1 -1
  198. package/lib/esm/graph/types.js +1 -1
  199. package/lib/esm/index.js +5 -4
  200. package/lib/esm/model/Renderable.js +1 -1
  201. package/lib/esm/model/decorators.js +1 -1
  202. package/lib/esm/model/index.js +1 -1
  203. package/lib/esm/model/model.js +1 -1
  204. package/lib/esm/model/overrides.js +1 -1
  205. package/lib/esm/overrides/ModelBuilderExtensions.js +1 -1
  206. package/lib/esm/overrides/index.js +1 -1
  207. package/lib/esm/ui/DecafComponent.js +1 -1
  208. package/lib/esm/ui/DecafEventHandler.js +1 -1
  209. package/lib/esm/ui/DecafTranslateService.js +1 -1
  210. package/lib/esm/ui/Rendering.js +1 -1
  211. package/lib/esm/ui/UIValidator.js +1 -1
  212. package/lib/esm/ui/constants.js +1 -1
  213. package/lib/esm/ui/decorators.js +1 -1
  214. package/lib/esm/ui/errors.js +1 -1
  215. package/lib/esm/ui/index.js +1 -1
  216. package/lib/esm/ui/interfaces/IDecafModal.js +1 -1
  217. package/lib/esm/ui/interfaces/IDecafRouter.js +1 -1
  218. package/lib/esm/ui/interfaces/IDecafSpinner.js +1 -1
  219. package/lib/esm/ui/interfaces/IDecafToast.js +1 -1
  220. package/lib/esm/ui/interfaces/index.js +1 -1
  221. package/lib/esm/ui/overrides.js +1 -1
  222. package/lib/esm/ui/types.js +1 -1
  223. package/lib/esm/ui/utils.js +1 -1
  224. package/lib/esm/ui/validator.js +1 -1
  225. package/lib/esm/user-requests/UserRequestHandler.js +1 -1
  226. package/lib/esm/user-requests/constants.js +1 -1
  227. package/lib/esm/user-requests/decorators.js +1 -1
  228. package/lib/esm/user-requests/errors.js +1 -1
  229. package/lib/esm/user-requests/index.js +1 -1
  230. package/lib/esm/user-requests/types.js +1 -1
  231. package/lib/types/dashboard/constants.d.cts +22 -0
  232. package/lib/types/dashboard/constants.d.mts +22 -0
  233. package/lib/types/dashboard/decorators.d.cts +34 -0
  234. package/lib/types/dashboard/decorators.d.mts +34 -0
  235. package/lib/types/dashboard/index.d.cts +5 -0
  236. package/lib/types/dashboard/index.d.mts +5 -0
  237. package/lib/types/dashboard/reader.d.cts +30 -0
  238. package/lib/types/dashboard/reader.d.mts +30 -0
  239. package/lib/types/dashboard/registry.d.cts +29 -0
  240. package/lib/types/dashboard/registry.d.mts +29 -0
  241. package/lib/types/dashboard/types.d.cts +67 -0
  242. package/lib/types/dashboard/types.d.mts +67 -0
  243. package/lib/types/graph/GraphExecutionStateMapper.d.cts +66 -0
  244. package/lib/types/graph/GraphExecutionStateMapper.d.mts +66 -0
  245. package/lib/types/graph/GraphResolution.d.cts +53 -0
  246. package/lib/types/graph/GraphResolution.d.mts +53 -0
  247. package/lib/types/graph/constants.d.cts +165 -0
  248. package/lib/types/graph/constants.d.mts +165 -0
  249. package/lib/types/graph/index.d.cts +3 -0
  250. package/lib/types/graph/index.d.mts +3 -0
  251. package/lib/types/graph/nodes/agents/agent.d.cts +44 -0
  252. package/lib/types/graph/nodes/agents/agent.d.mts +44 -0
  253. package/lib/types/graph/nodes/base.d.cts +28 -0
  254. package/lib/types/graph/nodes/base.d.mts +28 -0
  255. package/lib/types/graph/nodes/boundary/input-value.d.cts +13 -0
  256. package/lib/types/graph/nodes/boundary/input-value.d.mts +13 -0
  257. package/lib/types/graph/nodes/category-styles.d.cts +8 -0
  258. package/lib/types/graph/nodes/category-styles.d.mts +8 -0
  259. package/lib/types/graph/nodes/flow-control/break.d.cts +15 -0
  260. package/lib/types/graph/nodes/flow-control/break.d.mts +15 -0
  261. package/lib/types/graph/nodes/flow-control/error-boundary.d.cts +12 -0
  262. package/lib/types/graph/nodes/flow-control/error-boundary.d.mts +12 -0
  263. package/lib/types/graph/nodes/flow-control/human-approval.d.cts +13 -0
  264. package/lib/types/graph/nodes/flow-control/human-approval.d.mts +13 -0
  265. package/lib/types/graph/nodes/flow-control/if.d.cts +16 -0
  266. package/lib/types/graph/nodes/flow-control/if.d.mts +16 -0
  267. package/lib/types/graph/nodes/flow-control/parallel.d.cts +11 -0
  268. package/lib/types/graph/nodes/flow-control/parallel.d.mts +11 -0
  269. package/lib/types/graph/nodes/flow-control/switch.d.cts +21 -0
  270. package/lib/types/graph/nodes/flow-control/switch.d.mts +21 -0
  271. package/lib/types/graph/nodes/index.d.cts +79 -0
  272. package/lib/types/graph/nodes/index.d.mts +79 -0
  273. package/lib/types/graph/nodes/loops/foreach.d.cts +19 -0
  274. package/lib/types/graph/nodes/loops/foreach.d.mts +19 -0
  275. package/lib/types/graph/nodes/loops/until.d.cts +16 -0
  276. package/lib/types/graph/nodes/loops/until.d.mts +16 -0
  277. package/lib/types/graph/nodes/loops/while.d.cts +16 -0
  278. package/lib/types/graph/nodes/loops/while.d.mts +16 -0
  279. package/lib/types/graph/nodes/manifests.d.cts +62 -0
  280. package/lib/types/graph/nodes/manifests.d.mts +62 -0
  281. package/lib/types/graph/nodes/triggers/chat.d.cts +13 -0
  282. package/lib/types/graph/nodes/triggers/chat.d.mts +13 -0
  283. package/lib/types/graph/nodes/triggers/event.d.cts +10 -0
  284. package/lib/types/graph/nodes/triggers/event.d.mts +10 -0
  285. package/lib/types/graph/nodes/triggers/form.d.cts +11 -0
  286. package/lib/types/graph/nodes/triggers/form.d.mts +11 -0
  287. package/lib/types/graph/nodes/triggers/manual.d.cts +12 -0
  288. package/lib/types/graph/nodes/triggers/manual.d.mts +12 -0
  289. package/lib/types/graph/nodes/triggers/schedule.d.cts +11 -0
  290. package/lib/types/graph/nodes/triggers/schedule.d.mts +11 -0
  291. package/lib/types/graph/nodes/triggers/webhook.d.cts +11 -0
  292. package/lib/types/graph/nodes/triggers/webhook.d.mts +11 -0
  293. package/lib/types/graph/nodes/utility/code.d.cts +31 -0
  294. package/lib/types/graph/nodes/utility/code.d.mts +31 -0
  295. package/lib/types/graph/nodes/utility/delay.d.cts +11 -0
  296. package/lib/types/graph/nodes/utility/delay.d.mts +11 -0
  297. package/lib/types/graph/nodes/utility/log.d.cts +13 -0
  298. package/lib/types/graph/nodes/utility/log.d.mts +13 -0
  299. package/lib/types/graph/nodes/utility/map.d.cts +11 -0
  300. package/lib/types/graph/nodes/utility/map.d.mts +11 -0
  301. package/lib/types/graph/nodes/utility/merge.d.cts +12 -0
  302. package/lib/types/graph/nodes/utility/merge.d.mts +12 -0
  303. package/lib/types/graph/nodes/utility/return.d.cts +11 -0
  304. package/lib/types/graph/nodes/utility/return.d.mts +11 -0
  305. package/lib/types/graph/nodes/utility/utility-log.d.cts +15 -0
  306. package/lib/types/graph/nodes/utility/utility-log.d.mts +15 -0
  307. package/lib/types/graph/types.d.cts +286 -0
  308. package/lib/types/graph/types.d.mts +286 -0
  309. package/lib/types/index.d.cts +4 -3
  310. package/lib/types/index.d.mts +4 -3
  311. package/package.json +1 -1
  312. package/dist/ui-decorators.cjs.map +0 -1
  313. package/dist/ui-decorators.js.map +0 -1
  314. package/lib/cjs/graph/catalog/GraphConnectionPolicy.cjs.map +0 -1
  315. package/lib/cjs/graph/catalog/GraphCredentialReference.cjs.map +0 -1
  316. package/lib/cjs/graph/catalog/GraphCredentialRequirement.cjs.map +0 -1
  317. package/lib/cjs/graph/catalog/GraphDynamicPortRule.cjs.map +0 -1
  318. package/lib/cjs/graph/catalog/GraphIconReference.cjs.map +0 -1
  319. package/lib/cjs/graph/catalog/GraphManifestCompiler.cjs.map +0 -1
  320. package/lib/cjs/graph/catalog/GraphNodeCapability.cjs.map +0 -1
  321. package/lib/cjs/graph/catalog/GraphNodeDisplayManifest.cjs.map +0 -1
  322. package/lib/cjs/graph/catalog/GraphNodeManifest.cjs.map +0 -1
  323. package/lib/cjs/graph/catalog/GraphNodeManifestSerialization.cjs.map +0 -1
  324. package/lib/cjs/graph/catalog/GraphNodeMethodManifest.cjs.map +0 -1
  325. package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs.map +0 -1
  326. package/lib/cjs/graph/catalog/GraphParameterBase.cjs.map +0 -1
  327. package/lib/cjs/graph/catalog/GraphParameterDefinition.cjs.map +0 -1
  328. package/lib/cjs/graph/catalog/GraphParameterOption.cjs.map +0 -1
  329. package/lib/cjs/graph/catalog/GraphParameterValidation.cjs.map +0 -1
  330. package/lib/cjs/graph/catalog/GraphPortManifest.cjs.map +0 -1
  331. package/lib/cjs/graph/catalog/GraphResourceLocatorMode.cjs.map +0 -1
  332. package/lib/cjs/graph/catalog/GraphValueSchema.cjs.map +0 -1
  333. package/lib/cjs/graph/catalog/GraphValueSchemaDerivation.cjs.map +0 -1
  334. package/lib/cjs/graph/catalog/GraphVisibilityExpression.cjs.map +0 -1
  335. package/lib/cjs/graph/catalog/index.cjs.map +0 -1
  336. package/lib/cjs/graph/constants.cjs.map +0 -1
  337. package/lib/cjs/graph/decorators.cjs.map +0 -1
  338. package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs.map +0 -1
  339. package/lib/cjs/graph/document/GraphEdgeInstance.cjs.map +0 -1
  340. package/lib/cjs/graph/document/GraphEndpoint.cjs.map +0 -1
  341. package/lib/cjs/graph/document/GraphJsonValue.cjs.map +0 -1
  342. package/lib/cjs/graph/document/GraphLoopConfiguration.cjs.map +0 -1
  343. package/lib/cjs/graph/document/GraphNodeBinding.cjs.map +0 -1
  344. package/lib/cjs/graph/document/GraphNodeInstance.cjs.map +0 -1
  345. package/lib/cjs/graph/document/GraphWorkflowDocument.cjs.map +0 -1
  346. package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs.map +0 -1
  347. package/lib/cjs/graph/document/GraphWorkflowDocumentReader.cjs.map +0 -1
  348. package/lib/cjs/graph/document/GraphWorkflowDocumentSerializer.cjs.map +0 -1
  349. package/lib/cjs/graph/document/GraphWorkflowUiState.cjs.map +0 -1
  350. package/lib/cjs/graph/document/index.cjs.map +0 -1
  351. package/lib/cjs/graph/index.cjs.map +0 -1
  352. package/lib/cjs/graph/overrides/Metadata.cjs.map +0 -1
  353. package/lib/cjs/graph/overrides/Rendering.cjs.map +0 -1
  354. package/lib/cjs/graph/overrides/index.cjs.map +0 -1
  355. package/lib/cjs/graph/overrides/overrides.cjs.map +0 -1
  356. package/lib/cjs/graph/reader.cjs.map +0 -1
  357. package/lib/cjs/graph/registry.cjs.map +0 -1
  358. package/lib/cjs/graph/snapshot.cjs.map +0 -1
  359. package/lib/cjs/graph/types.cjs.map +0 -1
  360. package/lib/cjs/index.cjs.map +0 -1
  361. package/lib/cjs/model/Renderable.cjs.map +0 -1
  362. package/lib/cjs/model/decorators.cjs.map +0 -1
  363. package/lib/cjs/model/index.cjs.map +0 -1
  364. package/lib/cjs/model/model.cjs.map +0 -1
  365. package/lib/cjs/model/overrides.cjs.map +0 -1
  366. package/lib/cjs/overrides/ModelBuilderExtensions.cjs.map +0 -1
  367. package/lib/cjs/overrides/index.cjs.map +0 -1
  368. package/lib/cjs/ui/DecafComponent.cjs.map +0 -1
  369. package/lib/cjs/ui/DecafEventHandler.cjs.map +0 -1
  370. package/lib/cjs/ui/DecafTranslateService.cjs.map +0 -1
  371. package/lib/cjs/ui/Rendering.cjs.map +0 -1
  372. package/lib/cjs/ui/UIValidator.cjs.map +0 -1
  373. package/lib/cjs/ui/constants.cjs.map +0 -1
  374. package/lib/cjs/ui/decorators.cjs.map +0 -1
  375. package/lib/cjs/ui/errors.cjs.map +0 -1
  376. package/lib/cjs/ui/index.cjs.map +0 -1
  377. package/lib/cjs/ui/interfaces/IDecafModal.cjs.map +0 -1
  378. package/lib/cjs/ui/interfaces/IDecafRouter.cjs.map +0 -1
  379. package/lib/cjs/ui/interfaces/IDecafSpinner.cjs.map +0 -1
  380. package/lib/cjs/ui/interfaces/IDecafToast.cjs.map +0 -1
  381. package/lib/cjs/ui/interfaces/index.cjs.map +0 -1
  382. package/lib/cjs/ui/overrides.cjs.map +0 -1
  383. package/lib/cjs/ui/types.cjs.map +0 -1
  384. package/lib/cjs/ui/utils.cjs.map +0 -1
  385. package/lib/cjs/ui/validator.cjs.map +0 -1
  386. package/lib/cjs/user-requests/UserRequestHandler.cjs.map +0 -1
  387. package/lib/cjs/user-requests/constants.cjs.map +0 -1
  388. package/lib/cjs/user-requests/decorators.cjs.map +0 -1
  389. package/lib/cjs/user-requests/errors.cjs.map +0 -1
  390. package/lib/cjs/user-requests/index.cjs.map +0 -1
  391. package/lib/cjs/user-requests/types.cjs.map +0 -1
  392. package/lib/esm/graph/catalog/GraphConnectionPolicy.js.map +0 -1
  393. package/lib/esm/graph/catalog/GraphCredentialReference.js.map +0 -1
  394. package/lib/esm/graph/catalog/GraphCredentialRequirement.js.map +0 -1
  395. package/lib/esm/graph/catalog/GraphDynamicPortRule.js.map +0 -1
  396. package/lib/esm/graph/catalog/GraphIconReference.js.map +0 -1
  397. package/lib/esm/graph/catalog/GraphManifestCompiler.js.map +0 -1
  398. package/lib/esm/graph/catalog/GraphNodeCapability.js.map +0 -1
  399. package/lib/esm/graph/catalog/GraphNodeDisplayManifest.js.map +0 -1
  400. package/lib/esm/graph/catalog/GraphNodeManifest.js.map +0 -1
  401. package/lib/esm/graph/catalog/GraphNodeManifestSerialization.js.map +0 -1
  402. package/lib/esm/graph/catalog/GraphNodeMethodManifest.js.map +0 -1
  403. package/lib/esm/graph/catalog/GraphNodePolicyManifest.js.map +0 -1
  404. package/lib/esm/graph/catalog/GraphParameterBase.js.map +0 -1
  405. package/lib/esm/graph/catalog/GraphParameterDefinition.js.map +0 -1
  406. package/lib/esm/graph/catalog/GraphParameterOption.js.map +0 -1
  407. package/lib/esm/graph/catalog/GraphParameterValidation.js.map +0 -1
  408. package/lib/esm/graph/catalog/GraphPortManifest.js.map +0 -1
  409. package/lib/esm/graph/catalog/GraphResourceLocatorMode.js.map +0 -1
  410. package/lib/esm/graph/catalog/GraphValueSchema.js.map +0 -1
  411. package/lib/esm/graph/catalog/GraphValueSchemaDerivation.js.map +0 -1
  412. package/lib/esm/graph/catalog/GraphVisibilityExpression.js.map +0 -1
  413. package/lib/esm/graph/catalog/index.js.map +0 -1
  414. package/lib/esm/graph/constants.js.map +0 -1
  415. package/lib/esm/graph/decorators.js.map +0 -1
  416. package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js.map +0 -1
  417. package/lib/esm/graph/document/GraphEdgeInstance.js.map +0 -1
  418. package/lib/esm/graph/document/GraphEndpoint.js.map +0 -1
  419. package/lib/esm/graph/document/GraphJsonValue.js.map +0 -1
  420. package/lib/esm/graph/document/GraphLoopConfiguration.js.map +0 -1
  421. package/lib/esm/graph/document/GraphNodeBinding.js.map +0 -1
  422. package/lib/esm/graph/document/GraphNodeInstance.js.map +0 -1
  423. package/lib/esm/graph/document/GraphWorkflowDocument.js.map +0 -1
  424. package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js.map +0 -1
  425. package/lib/esm/graph/document/GraphWorkflowDocumentReader.js.map +0 -1
  426. package/lib/esm/graph/document/GraphWorkflowDocumentSerializer.js.map +0 -1
  427. package/lib/esm/graph/document/GraphWorkflowUiState.js.map +0 -1
  428. package/lib/esm/graph/document/index.js.map +0 -1
  429. package/lib/esm/graph/index.js.map +0 -1
  430. package/lib/esm/graph/overrides/Metadata.js.map +0 -1
  431. package/lib/esm/graph/overrides/Rendering.js.map +0 -1
  432. package/lib/esm/graph/overrides/index.js.map +0 -1
  433. package/lib/esm/graph/overrides/overrides.js.map +0 -1
  434. package/lib/esm/graph/reader.js.map +0 -1
  435. package/lib/esm/graph/registry.js.map +0 -1
  436. package/lib/esm/graph/snapshot.js.map +0 -1
  437. package/lib/esm/graph/types.js.map +0 -1
  438. package/lib/esm/index.js.map +0 -1
  439. package/lib/esm/model/Renderable.js.map +0 -1
  440. package/lib/esm/model/decorators.js.map +0 -1
  441. package/lib/esm/model/index.js.map +0 -1
  442. package/lib/esm/model/model.js.map +0 -1
  443. package/lib/esm/model/overrides.js.map +0 -1
  444. package/lib/esm/overrides/ModelBuilderExtensions.js.map +0 -1
  445. package/lib/esm/overrides/index.js.map +0 -1
  446. package/lib/esm/ui/DecafComponent.js.map +0 -1
  447. package/lib/esm/ui/DecafEventHandler.js.map +0 -1
  448. package/lib/esm/ui/DecafTranslateService.js.map +0 -1
  449. package/lib/esm/ui/Rendering.js.map +0 -1
  450. package/lib/esm/ui/UIValidator.js.map +0 -1
  451. package/lib/esm/ui/constants.js.map +0 -1
  452. package/lib/esm/ui/decorators.js.map +0 -1
  453. package/lib/esm/ui/errors.js.map +0 -1
  454. package/lib/esm/ui/index.js.map +0 -1
  455. package/lib/esm/ui/interfaces/IDecafModal.js.map +0 -1
  456. package/lib/esm/ui/interfaces/IDecafRouter.js.map +0 -1
  457. package/lib/esm/ui/interfaces/IDecafSpinner.js.map +0 -1
  458. package/lib/esm/ui/interfaces/IDecafToast.js.map +0 -1
  459. package/lib/esm/ui/interfaces/index.js.map +0 -1
  460. package/lib/esm/ui/overrides.js.map +0 -1
  461. package/lib/esm/ui/types.js.map +0 -1
  462. package/lib/esm/ui/utils.js.map +0 -1
  463. package/lib/esm/ui/validator.js.map +0 -1
  464. package/lib/esm/user-requests/UserRequestHandler.js.map +0 -1
  465. package/lib/esm/user-requests/constants.js.map +0 -1
  466. package/lib/esm/user-requests/decorators.js.map +0 -1
  467. package/lib/esm/user-requests/errors.js.map +0 -1
  468. package/lib/esm/user-requests/index.js.map +0 -1
  469. package/lib/esm/user-requests/types.js.map +0 -1
@@ -691,5 +691,5 @@ function graphWorkflowSnapshotLikeToCanonical(value) {
691
691
  }
692
692
  return { document: value };
693
693
  }
694
- //# sourceMappingURL=snapshot.js.map
695
- //# sourceMappingURL=snapshot.cjs.map
694
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHNob3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ3JhcGgvc25hcHNob3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixFQUFFLG9CQUFpQjtBQWF2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUscUNBQWtDO0FBRWpFLE9BQU8sRUFDTCw4QkFBOEIsR0FFL0IsZ0RBQTZDO0FBRTlDLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRXpFLE1BQU0sMkJBQTJCLEdBQUc7SUFDbEMsTUFBTTtJQUNOLFlBQVk7SUFDWixhQUFhO0lBQ2IsYUFBYTtJQUNiLFlBQVk7SUFDWixVQUFVO0NBQ1gsQ0FBQztBQUlGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLENBQVUsQ0FBQztBQXFIMUQsU0FBUyxhQUFhLENBQUMsS0FBYztJQUNuQyxPQUFPLENBQ0wsQ0FBQyxDQUFDLEtBQUs7UUFDUCxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDckIsQ0FBQyxDQUFDLEtBQUssWUFBWSxJQUFJLENBQUMsQ0FDekIsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBSSxLQUFRO0lBQzdCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFNLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFNLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUks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SUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLElBQUk7UUFDdkMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLFFBQVE7UUFDbkQsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLEtBQUs7UUFDMUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLEtBQUs7UUFDMUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLE1BQU07UUFDN0MsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksVUFBVSxDQUFDLElBQUk7UUFDdkMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQy9ELFdBQVcsRUFBRSxTQUFTLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxXQUFXO1FBQzVELFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxRQUFRO1FBQ25ELEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxLQUFLO1FBQzFDLFFBQVEsRUFBRSxVQUFVLENBQ2xCLFNBQVMsQ0FBQyxRQUFRO1lBQ2hCLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUN6RTtRQUNELE1BQU0sRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUMvRCxPQUFPLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDbEUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzVELFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztLQUN6RSxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxpQ0FBaUMsQ0FDL0MsS0FBb0Y7SUFFcEYsTUFBTSxVQUFVLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLEtBQTBCLENBQUMsQ0FBQztJQUMxRCxPQUFPLDJCQUEyQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLEtBQW9GLEVBQ3BGLEtBQWtDO0lBRWxDLE1BQU0sb0JBQW9CLEdBQUcsMkJBQTJCLENBQ3RELGlDQUFpQyxDQUFDLEtBQVksQ0FBQyxFQUMvQyxLQUFLLEVBQUUsVUFBVSxDQUNsQixDQUFDO0lBQ0YsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakUsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbkUsT0FBTztRQUNMLE9BQU8sRUFBRSwrQkFBK0I7UUFDeEMsVUFBVSxFQUFFLG9CQUFvQjtRQUNoQyxLQUFLLEVBQUU7WUFDTCxNQUFNLEVBQUUscUJBQXFCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7WUFDeEQsT0FBTyxFQUFFLHFCQUFxQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDO1lBQzNELEtBQUssRUFBRSxjQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7WUFDL0QsS0FBSyxFQUFFLGNBQWMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixDQUFDLFNBQVMsQ0FBQztZQUNuRSxFQUFFLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQy9CLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUM7U0FDNUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsUUFBa0UsRUFDbEUsS0FBcUY7SUFFckYsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDN0IsT0FBTyx1QkFBdUIsQ0FDNUIsS0FBSztZQUNGLFFBQVEsQ0FBQyxVQUdJO1lBQ2IsRUFBOEIsRUFDakMsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxZQUFZLEdBQUcsUUFBdUMsQ0FBQztJQUM3RCxNQUFNLFVBQVUsR0FBRyxLQUFLO1FBQ3RCLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQyxLQUFLLENBQUM7UUFDMUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7SUFFNUIsT0FBTyx1QkFBdUIsQ0FBQyxVQUFVLEVBQUU7UUFDekMsTUFBTSxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTTtRQUNqQyxPQUFPLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxPQUFPO1FBQ25DLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUs7UUFDL0IsS0FBSyxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSztRQUMvQixFQUFFLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3pCLFFBQVEsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLFFBQVE7S0FDdEMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkIsQ0FDekMsUUFBcUMsRUFDckMsS0FBYztJQUVkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCLENBQzNDLEtBQTJDLEVBQzNDLEtBQWtGO0lBRWxGLE1BQU0sUUFBUSxHQUNaLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQWlDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN6RixPQUFPLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtDQUFrQyxDQUNoRCxRQUFxQztJQUVyQyxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUM1RSxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxtQ0FBbUMsQ0FDakQsUUFBcUM7SUFFckMsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDN0UsQ0FBQztBQUNKLENBQUM7QUFrQ0QsU0FBUyxpQkFBaUIsQ0FDeEIsTUFBK0I7SUFFL0IsTUFBTSxNQUFNLEdBQW1DLEVBQUUsQ0FBQztJQUNsRCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2xELElBQUksMkJBQTJCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUFFLFNBQVM7UUFDeEQsTUFBTSxTQUFTLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsSUFBSSxTQUFTLEtBQUssU0FBUztZQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDdkQsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsNkJBQTZCLENBQ3BDLFFBQXFDO0lBRXJDLE9BQU87UUFDTCxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87UUFDekIsVUFBVSxFQUFFLGlCQUFpQixDQUMzQixDQUFDLFFBQVEsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUF1QyxDQUNsRTtRQUNELEtBQUssRUFBRSxpQkFBaUIsQ0FDdEIsQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBdUMsQ0FDN0Q7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQUMsS0FBYztJQUM5QyxJQUFJLEtBQUssS0FBSyxJQUFJO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDaEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxLQUFLLENBQUM7SUFDMUIsSUFBSSxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxTQUFTO1FBQUUsT0FBTyxLQUF1QixDQUFDO0lBQzVFLElBQUksSUFBSSxLQUFLLFFBQVE7UUFBRSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBZSxDQUFDLENBQUMsQ0FBQyxDQUFFLEtBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMvRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBcUIsRUFBRSxDQUFDO1FBQ25DLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsTUFBTSxTQUFTLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakQsSUFBSSxTQUFTLEtBQUssU0FBUztnQkFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN0QixPQUFPLGlCQUFpQixDQUFDLEtBQWdDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsVUFBMkM7SUFDckUsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQVMsNkJBQTZCLENBQUMsQ0FBQztJQUMvRCxJQUFJLFVBQVUsQ0FBQyxHQUFHO1FBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsSUFBSSxVQUFVLENBQUMsSUFBSTtRQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FDckIsS0FBeUIsRUFDekIsSUFBd0IsRUFDeEIsT0FBb0IsRUFDcEIsZUFBNkM7SUFFN0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNoQyxJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFrQyxDQUFDO0lBQ25GLENBQUM7SUFDRCw4RUFBOEU7SUFDOUUsNkVBQTZFO0lBQzdFLDJFQUEyRTtJQUMzRSw0RUFBNEU7SUFDNUUsNEVBQTRFO0lBQzVFLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sY0FBYyxHQUFHLGVBQWUsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEYsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixPQUFPO2dCQUNMLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsY0FBYzthQUNXLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQTBCLENBQUM7QUFDdEYsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLGtCQUFrQixDQUFDLFFBQXFDO0lBQy9ELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBQ3RDLEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5QyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBUyw2QkFBNkIsQ0FDcEMsUUFBcUMsRUFDckMsT0FBb0IsRUFDcEIsZUFBNEM7SUFFNUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7SUFDdEMsS0FBSyxNQUFNLFFBQVEsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JELE1BQU0sS0FBSyxHQUFHLE9BQU8sUUFBUSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM5RSxJQUFJLENBQUMsS0FBSztZQUFFLFNBQVM7UUFDckIsTUFBTSxTQUFTLEdBQUcsT0FBTyxRQUFRLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3BGLE1BQU0sU0FBUyxHQUFHLE9BQU8sUUFBUSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNwRixHQUFHLENBQUMsR0FBRyxDQUNMLGFBQWEsQ0FBQztZQUNaLE1BQU0sRUFBRSxjQUFjLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQztZQUNoRixNQUFNLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxlQUFlLENBQUM7U0FDakYsQ0FBQyxFQUNGLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsUUFBdUI7SUFDbEQsSUFBSSxRQUFRLENBQUMsS0FBSyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3pELENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUNqQyxJQUF5QixFQUN6QixLQUFzQjtJQUV0QixNQUFNLFFBQVEsR0FBOEI7UUFDMUMsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRO1FBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztLQUNsQixDQUFDO0lBQ0YsUUFBUSxDQUFDLE1BQU0sR0FBRyw4QkFBOEIsQ0FDOUMsSUFBSSxDQUFDLFVBQStDLEVBQ3BELElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO0lBQ0YsSUFBSSxJQUFJLENBQUMsUUFBUTtRQUFFLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQzVDLElBQUksS0FBSyxLQUFLLFNBQVM7UUFBRSxRQUFRLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUN2RCxNQUFNLFFBQVEsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBK0MsQ0FBQztJQUMxRyxJQUFJLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU07UUFBRSxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzRSxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FDN0IsS0FBaUU7SUFFakUsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM3QixNQUFNLFFBQVEsR0FBc0MsRUFBRSxDQUFDO0lBQ3ZELEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckQsSUFBSSxJQUFJLEVBQUUsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzFCLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN4QyxDQUFDO2FBQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLEtBQUssR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDN0QsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQUMsSUFBK0I7SUFDN0QsTUFBTSxRQUFRLEdBQXNCO1FBQ2xDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtRQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFO1FBQzVDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztLQUMvQyxDQUFDO0lBQ0YsSUFBSSxJQUFJLENBQUMsS0FBSztRQUFFLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUM1QyxNQUFNLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsSUFBSSxRQUFRO1FBQUUsUUFBUSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7SUFDaEQsTUFBTSxRQUFRLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQStDLENBQUM7SUFDN0csSUFBSSxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNO1FBQUUsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0UsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM5RCxNQUFNLEVBQUUsR0FBcUI7WUFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTtTQUN0RixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDOUUsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVM7WUFBRSxFQUFFLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0QsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUM3QixJQUErQixFQUMvQixPQUFvQixFQUNwQixlQUE2QyxFQUM3QyxtQkFBaUQ7SUFFakQsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUMzQixJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQzdCLElBQUksQ0FBQyxVQUFVLEVBQ2YsT0FBTyxFQUNQLGVBQWUsQ0FDaEIsQ0FBQztJQUNGLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FDM0IsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUM3QixJQUFJLENBQUMsVUFBVSxFQUNmLE9BQU8sRUFDUCxlQUFlLENBQ2hCLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBc0I7UUFDbEMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQ1gsSUFBSSxFQUFFLE1BQU07UUFDWixNQUFNO1FBQ04sTUFBTTtLQUNQLENBQUM7SUFDRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLElBQUksS0FBSztRQUFFLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLE1BQU0sUUFBUSxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUErQyxDQUFDO0lBQzdHLElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTTtRQUFFLFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNFLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCw2RUFBNkU7QUFDN0UsU0FBUyxhQUFhLENBQUMsSUFBc0Q7SUFDM0UsTUFBTSxLQUFLLEdBQUcsQ0FBQyxRQUF1QixFQUFVLEVBQUUsQ0FDaEQsUUFBUSxDQUFDLEtBQUssS0FBSyxNQUFNO1FBQ3ZCLENBQUMsQ0FBQyxRQUFRLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLElBQUksRUFBRTtRQUM1QyxDQUFDLENBQUMsWUFBWSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0FBQ3hELENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHVDQUF1QyxDQUNyRCxRQUFxQztJQUVyQyxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEQsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsTUFBTSxtQkFBbUIsR0FBRyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzlGLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQy9CLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQzFGLENBQUM7SUFDRixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUNoQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUMzRixDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQTBCO1FBQ3RDLEVBQUUsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUk7UUFDdkQsSUFBSSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSTtRQUM5QixNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDOUMsMEJBQTBCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDeEQ7UUFDRCxPQUFPLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDaEQsMEJBQTBCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDekQ7UUFDRCxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDO1FBQ3ZELEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN2QyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxDQUM1RTtLQUNGLENBQUM7SUFDRixJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsTUFBTSxRQUFRLEdBQUcsd0JBQXdCLENBQ3ZDLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUNpQixDQUFDO1FBQ2hELElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTTtZQUFFLFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdFLENBQUM7SUFDRCxNQUFNLEVBQUUsR0FBeUIsRUFBRSxDQUFDO0lBQ3BDLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBRXpDLENBQUM7SUFDZCxNQUFNLGNBQWMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QyxJQUFJLGNBQWMsSUFBSSxPQUFPLGNBQWMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN6RCxNQUFNLENBQUMsR0FBRyxjQUF5QyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25GLEVBQUUsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLEVBQUUsQ0FBQyxRQUFRO1FBQUUsUUFBUSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDbEMsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLCtCQUErQixDQUM3QyxRQUFxQztJQUVyQyxNQUFNLFFBQVEsR0FBRyx1Q0FBdUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRSxNQUFNLE1BQU0sR0FBNkIsRUFBRSxDQUFDO0lBQzVDLE1BQU0sZUFBZSxHQUFHLDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLElBQUksZUFBZSxJQUFJLG9CQUFvQixDQUFDLGVBQWUsQ0FBQztRQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDO0lBQzlGLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQzdCLElBQUksRUFBRSxFQUFFLENBQUM7UUFDUCxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5QyxJQUFJLGVBQWUsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMzRCxNQUFNLENBQUMsZUFBZSxHQUFHLGVBQXlDLENBQUM7UUFDckUsQ0FBQztRQUNELE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlDLElBQUksZUFBZSxJQUFJLE9BQU8sZUFBZSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNELE1BQU0sQ0FBQyxlQUFlLEdBQUcsd0JBQXdCLENBQy9DLGVBQTBDLENBQ1QsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLElBQUksV0FBVyxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ25ELE1BQU0sQ0FBQyxXQUFXLEdBQUcsd0JBQXdCLENBQzNDLFdBQXNDLENBQ0wsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLHdCQUF3QixDQUNsRCxJQUFJLENBQUMsS0FBMkMsQ0FDZixDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU07UUFBRSxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDbkUsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FDekMsUUFBUSxDQUFDLFVBQWdELENBQzFELENBQUM7SUFDRixPQUFPLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLE9BQU8saUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxPQUFPLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUM3QyxNQUFNLFFBQVEsR0FBRyx3QkFBd0IsQ0FDdkMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRSxDQUNJLENBQUM7SUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQzdGLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSw2QkFBNkIsQ0FDM0MsUUFBK0I7SUFFL0IsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDNUUsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQTJDLENBQUM7SUFDdEYsQ0FBQztJQUNELE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFTLDZCQUE2QixDQUFDLENBQUM7SUFDL0QsSUFBSSxRQUFRLENBQUMsRUFBRTtRQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLElBQUksUUFBUSxDQUFDLElBQUk7UUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsSUFBSSxFQUFFLENBQTRCLENBQUM7SUFDN0UsTUFBTSxVQUFVLEdBQUc7UUFDakIsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ3RCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtRQUNuQixHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsSUFBSyxPQUFPLENBQUMsS0FBSyxDQUF3QixJQUFJLFFBQVEsQ0FBQyxJQUFJO1FBQzNFLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRSxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSztZQUM5QyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1lBQzVCLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSztZQUM5QyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1lBQzVCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDLENBQUM7S0FDb0QsQ0FBQztJQUUxRCxNQUFNLEtBQUssR0FBeUM7UUFDbEQsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNiLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBVTtZQUM3QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2QyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDYixLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQVU7WUFDN0MsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDLENBQUM7UUFDSCxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbkMsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDckMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUMxRixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDNUYsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUTtZQUMzQixLQUFLLEVBQUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQVcsSUFBSSxTQUFTO1lBQzNELElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQVU7WUFDaEQsUUFBUSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBVTtTQUNuRCxDQUFDLENBQUM7UUFDSCxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNqQyxNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEQsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssV0FBVyxDQUFDO1lBQ2hGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDO1lBQ2hELE9BQU87Z0JBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSztnQkFDcEIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLO2dCQUN2QixVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSztnQkFDcEIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLO2dCQUN2QixVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTTtnQkFDbEUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBVTthQUMxQyxDQUFDO1FBQ2IsQ0FBQyxDQUFDO1FBQ0YsRUFBRSxFQUFFLFVBQVUsQ0FBQztZQUNiLEdBQUcsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMvRSxHQUFHLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDL0UsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ3BFLENBQVU7UUFDWCxRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFVO0tBQ3ZELENBQUM7SUFDRixPQUFPO1FBQ0wsT0FBTyxFQUFFLCtCQUErQjtRQUN4QyxVQUFVO1FBQ1YsS0FBSztLQUNOLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxJQUErQjtJQUM3RCxPQUFPO1FBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztRQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7UUFDdkIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBVTtLQUNqQixDQUFDO0FBQ3RDLENBQUM7QUFFRCw2RUFBNkU7QUFDN0UsTUFBTSxVQUFVLG9DQUFvQyxDQUNsRCxLQUF3RDtJQUV4RCxJQUFJLFVBQVUsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN4QixPQUFPLEtBQThCLENBQUM7SUFDeEMsQ0FBQztJQUNELElBQUksT0FBTyxJQUFJLEtBQUssSUFBSSxZQUFZLElBQUksS0FBSyxFQUFFLENBQUM7UUFDOUMsT0FBTywrQkFBK0IsQ0FBQyxLQUFvQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUNELE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBOEIsRUFBRSxDQUFDO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBHcmFwaFBvcnREZWZpbml0aW9uLFxuICBHcmFwaFdvcmtmbG93RGVmaW5pdGlvbixcbiAgR3JhcGhXb3JrZmxvd01ldGFkYXRhLFxuICBHcmFwaFdvcmtmbG93Tm9kZU1ldGFkYXRhLFxuICBHcmFwaFdvcmtmbG93UmVsYXRpb25NZXRhZGF0YSxcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBncmFwaExlYWZQb3J0c09mLCBncmFwaFdvcmtmbG93RGVmaW5pdGlvbk9mIH0gZnJvbSBcIi4vcmVhZGVyXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEdyYXBoV29ya2Zsb3dEb2N1bWVudCxcbiAgR3JhcGhXb3JrZmxvd1BvcnRJbnN0YW5jZSxcbn0gZnJvbSBcIi4vZG9jdW1lbnQvR3JhcGhXb3JrZmxvd0RvY3VtZW50XCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoTm9kZUluc3RhbmNlIH0gZnJvbSBcIi4vZG9jdW1lbnQvR3JhcGhOb2RlSW5zdGFuY2VcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhFZGdlSW5zdGFuY2UgfSBmcm9tIFwiLi9kb2N1bWVudC9HcmFwaEVkZ2VJbnN0YW5jZVwiO1xuaW1wb3J0IHR5cGUge1xuICBHcmFwaEVuZHBvaW50LFxuICBHcmFwaFdvcmtmbG93RW5kcG9pbnQsXG59IGZyb20gXCIuL2RvY3VtZW50L0dyYXBoRW5kcG9pbnRcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhJbnB1dEJpbmRpbmcgfSBmcm9tIFwiLi9kb2N1bWVudC9HcmFwaE5vZGVCaW5kaW5nXCI7XG5pbXBvcnQgdHlwZSB7IEdyYXBoSnNvblZhbHVlIH0gZnJvbSBcIi4vZG9jdW1lbnQvR3JhcGhKc29uVmFsdWVcIjtcbmltcG9ydCB7IGlzR3JhcGhKc29uU2FmZVZhbHVlIH0gZnJvbSBcIi4vZG9jdW1lbnQvR3JhcGhKc29uVmFsdWVcIjtcbmltcG9ydCB0eXBlIHsgR3JhcGhOb2RlVWlTdGF0ZSwgR3JhcGhXb3JrZmxvd1VpU3RhdGUgfSBmcm9tIFwiLi9kb2N1bWVudC9HcmFwaFdvcmtmbG93VWlTdGF0ZVwiO1xuaW1wb3J0IHtcbiAgZ3JhcGhWYWx1ZVNjaGVtYUZyb21WYWxpZGF0aW9uLFxuICB0eXBlIEdyYXBoVmFsaWRhdGlvblJlY29yZCxcbn0gZnJvbSBcIi4vY2F0YWxvZy9HcmFwaFZhbHVlU2NoZW1hRGVyaXZhdGlvblwiO1xuXG5jb25zdCBHUkFQSF9MRUdBQ1lfQk9VTkRBUllfQUxJQVNFUyA9IFtcIiR3b3JrZmxvd1wiLCBcIndvcmtmbG93XCIsIFwiZ3JhcGhcIl07XG5cbmNvbnN0IEdSQVBIX0NPTlNUUlVDVE9SX0RBVEFfS0VZUyA9IFtcbiAgXCJub2RlXCIsXG4gIFwibW9kZWxDbGFzc1wiLFxuICBcInNvdXJjZUNsYXNzXCIsXG4gIFwiY29uc3RydWN0b3JcIixcbiAgXCJkZWZpbml0aW9uXCIsXG4gIFwiZXhlY3V0b3JcIixcbl07XG5cbnR5cGUgR3JhcGhNb2RlbExpa2U8TSBleHRlbmRzIE1vZGVsID0gTW9kZWw+ID0gQ29uc3RydWN0b3I8TT4gfCBNO1xuXG5leHBvcnQgY29uc3QgR1JBUEhfV09SS0ZMT1dfU05BUFNIT1RfVkVSU0lPTiA9IDEgYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEdyYXBoV29ya2Zsb3dTbmFwc2hvdFJlZmVyZW5jZSA9IHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGtpbmQ/OiBzdHJpbmc7XG4gIHRhZz86IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcbiAgcHJvcGVydHk/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBHcmFwaFdvcmtmbG93U25hcHNob3RQb3NpdGlvbiA9IHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBHcmFwaFdvcmtmbG93U25hcHNob3RTaXplID0ge1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgR3JhcGhXb3JrZmxvd1NuYXBzaG90UG9ydFN0YXRlID0ge1xuICBleHBhbmRlZD86IGJvb2xlYW47XG4gIHZhbHVlPzogdW5rbm93bjtcbiAgbW9kZT86IFwicG9ydFwiIHwgXCJ2YWx1ZVwiO1xuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufTtcblxuZXhwb3J0IHR5cGUgR3JhcGhXb3JrZmxvd1NuYXBzaG90VmFsdWUgPSB7XG4gIHBhdGg6IHN0cmluZztcbiAgdmFsdWU/OiB1bmtub3duO1xuICBsYWJlbD86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBtb2RlbD86IHN0cmluZztcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn07XG5cbmV4cG9ydCB0eXBlIEdyYXBoV29ya2Zsb3dTbmFwc2hvdE5vZGUgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIHJlZj86IEdyYXBoV29ya2Zsb3dTbmFwc2hvdFJlZmVyZW5jZTtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGtpbmQ/OiBzdHJpbmc7XG4gIHBvc2l0aW9uPzogR3JhcGhXb3JrZmxvd1NuYXBzaG90UG9zaXRpb247XG4gIHNpemU/OiBHcmFwaFdvcmtmbG93U25hcHNob3RTaXplO1xuICBleHBhbmRlZD86IGJvb2xlYW47XG4gIHBvcnRzPzogUmVjb3JkPHN0cmluZywgR3JhcGhXb3JrZmxvd1NuYXBzaG90UG9ydFN0YXRlPjtcbiAgZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBtZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufTtcblxuZXhwb3J0IHR5cGUgR3JhcGhXb3JrZmxvd1NuYXBzaG90RWRnZSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgc291cmNlOiBzdHJpbmc7XG4gIHNvdXJjZVJlZj86IHN0cmluZztcbiAgc291cmNlUG9ydD86IHN0cmluZztcbiAgdGFyZ2V0OiBzdHJpbmc7XG4gIHRhcmdldFJlZj86IHN0cmluZztcbiAgdGFyZ2V0UG9ydD86IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBHcmFwaFdvcmtmbG93U25hcHNob3REZWZpbml0aW9uID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRhZzogc3RyaW5nO1xuICBraW5kOiBzdHJpbmc7XG4gIGNhdGVnb3J5Pzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgZ3JvdXA/OiBzdHJpbmc7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgaWNvbj86IHN0cmluZztcbiAgbGFiZWxzOiBzdHJpbmdbXTtcbiAgbWF4Q2hpbGRyZW4/OiBudW1iZXI7XG4gIG1pbldpZHRoPzogbnVtYmVyO1xuICB3aWR0aD86IG51bWJlcjtcbiAgbWV0YWRhdGE/OiBHcmFwaFdvcmtmbG93TWV0YWRhdGE7XG4gIGlucHV0czogR3JhcGhQb3J0RGVmaW5pdGlvbltdO1xuICBvdXRwdXRzOiBHcmFwaFBvcnREZWZpbml0aW9uW107XG4gIG5vZGVzOiBHcmFwaFdvcmtmbG93Tm9kZU1ldGFkYXRhW107XG4gIHJlbGF0aW9uczogR3JhcGhXb3JrZmxvd1JlbGF0aW9uTWV0YWRhdGFbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEdyYXBoV29ya2Zsb3dTbmFwc2hvdFN0YXRlID0ge1xuICBpbnB1dHM6IEdyYXBoV29ya2Zsb3dTbmFwc2hvdFZhbHVlW107XG4gIG91dHB1dHM6IEdyYXBoV29ya2Zsb3dTbmFwc2hvdFZhbHVlW107XG4gIG5vZGVzOiBHcmFwaFdvcmtmbG93U25hcHNob3ROb2RlW107XG4gIGVkZ2VzOiBHcmFwaFdvcmtmbG93U25hcHNob3RFZGdlW107XG4gIHVpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufTtcblxuLyoqIFNuYXBzaG90IHNjaGVtYSB2ZXJzaW9uIGxpdGVyYWwgdHlwZSAoe0BsaW5rIEdSQVBIX1dPUktGTE9XX1NOQVBTSE9UX1ZFUlNJT059KS4gKi9cbmV4cG9ydCB0eXBlIEdyYXBoV29ya2Zsb3dTbmFwc2hvdFZlcnNpb24gPSB0eXBlb2YgR1JBUEhfV09SS0ZMT1dfU05BUFNIT1RfVkVSU0lPTjtcblxuLyoqXG4gKiBMZWdhY3kgcGVyc2lzdGVkIHNuYXBzaG90IChgeyB2ZXJzaW9uLCBkZWZpbml0aW9uLCBzdGF0ZSB9YCkuIEtlcHQgb25seSBmb3JcbiAqIGxvYWRpbmcvY29tcGF0aWJpbGl0eSBvZiBwZXJzaXN0ZWQgZGF0YTsgdGhlIGNhbm9uaWNhbCBzbmFwc2hvdCBpc1xuICoge0BsaW5rIEdyYXBoV29ya2Zsb3dTbmFwc2hvdH0gKGB7IGRvY3VtZW50LCBlZGl0b3I/LCBtZXRhZGF0YT8gfWApLlxuICogQ29udmVydCB3aXRoIHtAbGluayBncmFwaFdvcmtmbG93U25hcHNob3RGcm9tTGVnYWN5fSAvXG4gKiB7QGxpbmsgZ3JhcGhXb3JrZmxvd1NuYXBzaG90VG9MZWdhY3l9LlxuICovXG5leHBvcnQgdHlwZSBMZWdhY3lHcmFwaFdvcmtmbG93U25hcHNob3QgPSB7XG4gIHZlcnNpb246IEdyYXBoV29ya2Zsb3dTbmFwc2hvdFZlcnNpb247XG4gIGRlZmluaXRpb246IEdyYXBoV29ya2Zsb3dTbmFwc2hvdERlZmluaXRpb247XG4gIHN0YXRlOiBHcmFwaFdvcmtmbG93U25hcHNob3RTdGF0ZTtcbn07XG5cbmV4cG9ydCB0eXBlIEdyYXBoV29ya2Zsb3dTbmFwc2hvdElucHV0ID0ge1xuICBkZWZpbml0aW9uPzogUGFydGlhbDxHcmFwaFdvcmtmbG93U25hcHNob3REZWZpbml0aW9uPjtcbiAgaW5wdXRzPzogR3JhcGhXb3JrZmxvd1NuYXBzaG90VmFsdWVbXSB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBvdXRwdXRzPzogR3JhcGhXb3JrZmxvd1NuYXBzaG90VmFsdWVbXSB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBub2Rlcz86IEdyYXBoV29ya2Zsb3dTbmFwc2hvdE5vZGVbXTtcbiAgZWRnZXM/OiBHcmFwaFdvcmtmbG93U25hcHNob3RFZGdlW107XG4gIHVpPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICByZXR1cm4gKFxuICAgICEhdmFsdWUgJiZcbiAgICB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiZcbiAgICAhQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiZcbiAgICAhKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSlcbiAgKTtcbn1cblxuZnVuY3Rpb24gY2xvbmVWYWx1ZTxUPih2YWx1ZTogVCk6IFQge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubWFwKChlbnRyeSkgPT4gY2xvbmVWYWx1ZShlbnRyeSkpIGFzIFQ7XG4gIH1cblxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlLmdldFRpbWUoKSkgYXMgVDtcbiAgfVxuXG4gIGlmIChpc1BsYWluT2JqZWN0KHZhbHVlKSkge1xuICAgIGNvbnN0IGNsb25lZDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIGVudHJ5XSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZSkpIHtcbiAgICAgIGNsb25lZFtrZXldID0gY2xvbmVWYWx1ZShlbnRyeSk7XG4gICAgfVxuICAgIHJldHVybiBjbG9uZWQgYXMgVDtcbiAgfVxuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gYXNTdHJpbmcodmFsdWU6IHVua25vd24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IHZhbHVlIDogU3RyaW5nKHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gaXNXb3JrZmxvd0RlZmluaXRpb25MaWtlKFxuICB2YWx1ZTogdW5rbm93blxuKTogdmFsdWUgaXMgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24gfCBHcmFwaFdvcmtmbG93U25hcHNob3REZWZpbml0aW9uIHtcbiAgcmV0dXJuIChcbiAgICBpc1BsYWluT2JqZWN0KHZhbHVlKSAmJlxuICAgIHR5cGVvZiB2YWx1ZS5uYW1lID09PSBcInN0cmluZ1wiICYmXG4gICAgdHlwZW9mIHZhbHVlLnRhZyA9PT0gXCJzdHJpbmdcIiAmJlxuICAgIHR5cGVvZiB2YWx1ZS5raW5kID09PSBcInN0cmluZ1wiICYmXG4gICAgQXJyYXkuaXNBcnJheSh2YWx1ZS5pbnB1dHMpICYmXG4gICAgQXJyYXkuaXNBcnJheSh2YWx1ZS5vdXRwdXRzKSAmJlxuICAgIEFycmF5LmlzQXJyYXkodmFsdWUubm9kZXMpICYmXG4gICAgQXJyYXkuaXNBcnJheSh2YWx1ZS5yZWxhdGlvbnMpXG4gICk7XG59XG5cbmZ1bmN0aW9uIHNuYXBzaG90Tm9kZUtleShub2RlOiBQYXJ0aWFsPEdyYXBoV29ya2Zsb3dTbmFwc2hvdE5vZGU+KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG5vZGUucmVmPy5pZCA/PyBub2RlLmlkID8/IG5vZGUucmVmPy5wYXRoID8/IG5vZGUucmVmPy5wcm9wZXJ0eTtcbn1cblxuZnVuY3Rpb24gc25hcHNob3RFZGdlS2V5KGVkZ2U6IFBhcnRpYWw8R3JhcGhXb3JrZmxvd1NuYXBzaG90RWRnZT4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gKFxuICAgIGVkZ2UuaWQgPz9cbiAgICBbZWRnZS5zb3VyY2VSZWYgPz8gZWRnZS5zb3VyY2UsIGVkZ2Uuc291cmNlUG9ydCwgZWRnZS50YXJnZXRSZWYgPz8gZWRnZS50YXJnZXQsIGVkZ2UudGFyZ2V0UG9ydF1cbiAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIC5qb2luKFwiOjpcIilcbiAgKTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplVmFsdWVFbnRyaWVzKFxuICBlbnRyaWVzOiBHcmFwaFdvcmtmbG93U25hcHNob3RWYWx1ZVtdIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQsXG4gIGRlZmluaXRpb25zOiBHcmFwaFBvcnREZWZpbml0aW9uW11cbik6IEdyYXBoV29ya2Zsb3dTbmFwc2hvdFZhbHVlW10ge1xuICBjb25zdCBieVBhdGggPSBuZXcgTWFwPHN0cmluZywgR3JhcGhXb3JrZmxvd1NuYXBzaG90VmFsdWU+KCk7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoZW50cmllcykpIHtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGlmICghZW50cnk/LnBhdGgpIGNvbnRpbnVlO1xuICAgICAgYnlQYXRoLnNldChlbnRyeS5wYXRoLCBjbG9uZVZhbHVlKGVudHJ5KSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzUGxhaW5PYmplY3QoZW50cmllcykpIHtcbiAgICBmb3IgKGNvbnN0IFtwYXRoLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZW50cmllcykpIHtcbiAgICAgIGJ5UGF0aC5zZXQocGF0aCwgeyBwYXRoLCB2YWx1ZTogY2xvbmVWYWx1ZSh2YWx1ZSkgfSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3Qgbm9ybWFsaXplZDogR3JhcGhXb3JrZmxvd1NuYXBzaG90VmFsdWVbXSA9IGRlZmluaXRpb25zLm1hcCgoZGVmaW5pdGlvbikgPT4ge1xuICAgIGNvbnN0IHBhdGggPSBkZWZpbml0aW9uLnBhdGggPz8gZGVmaW5pdGlvbi5wcm9wZXJ0eTtcbiAgICBjb25zdCBjdXJyZW50ID0gYnlQYXRoLmdldChwYXRoKTtcbiAgICBjb25zdCBlbnRyeTogR3JhcGhXb3JrZmxvd1NuYXBzaG90VmFsdWUgPSB7XG4gICAgICBsYWJlbDogZGVmaW5pdGlvbi5sYWJlbCxcbiAgICAgIHR5cGU6IGRlZmluaXRpb24udHlwZSxcbiAgICAgIHJlcXVpcmVkOiBkZWZpbml0aW9uLnJlcXVpcmVkLFxuICAgICAgbW9kZWw6IGRlZmluaXRpb24ubW9kZWwsXG4gICAgICBtZXRhZGF0YTogY2xvbmVWYWx1ZShcbiAgICAgICAgZGVmaW5pdGlvbi5ncmFwaD8ubWV0YWRhdGEgPz9cbiAgICAgICAgICBkZWZpbml0aW9uLmVsZW1lbnQ/LnByb3BzID8/XG4gICAgICAgICAgZGVmaW5pdGlvbi5wcm9wPy5wcm9wcyA/P1xuICAgICAgICAgIHt9XG4gICAgICApLFxuICAgICAgLi4uY3VycmVudCxcbiAgICAgIHBhdGgsXG4gICAgfTtcblxuICAgIGlmICghT2JqZWN0LmtleXMoZW50cnkubWV0YWRhdGEgfHwge30pLmxlbmd0aCkge1xuICAgICAgZGVsZXRlIGVudHJ5Lm1ldGFkYXRhO1xuICAgIH1cbiAgICByZXR1cm4gZW50cnk7XG4gIH0pO1xuXG4gIGZvciAoY29uc3QgZW50cnkgb2YgYnlQYXRoLnZhbHVlcygpKSB7XG4gICAgaWYgKG5vcm1hbGl6ZWQuc29tZSgoY3VycmVudCkgPT4gY3VycmVudC5wYXRoID09PSBlbnRyeS5wYXRoKSkgY29udGludWU7XG4gICAgbm9ybWFsaXplZC5wdXNoKGNsb25lVmFsdWUoZW50cnkpKTtcbiAgfVxuXG4gIHJldHVybiBub3JtYWxpemVkO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVOb2RlcyhcbiAgbm9kZXM6IEdyYXBoV29ya2Zsb3dTbmFwc2hvdE5vZGVbXSB8IHVuZGVmaW5lZCxcbiAgZGVmaW5pdGlvbnM6IEdyYXBoV29ya2Zsb3dOb2RlTWV0YWRhdGFbXVxuKTogR3JhcGhXb3JrZmxvd1NuYXBzaG90Tm9kZVtdIHtcbiAgY29uc3QgYnlLZXkgPSBuZXcgTWFwPHN0cmluZywgR3JhcGhXb3JrZmxvd1NuYXBzaG90Tm9kZT4oKTtcbiAgY29uc3QgcmVzdWx0OiBHcmFwaFdvcmtmbG93U25hcHNob3ROb2RlW10gPSBbXTtcblxuICBmb3IgKGNvbnN0IGRlZmluaXRpb24gb2YgZGVmaW5pdGlvbnMpIHtcbiAgICBjb25zdCBub2RlOiBHcmFwaFdvcmtmbG93U25hcHNob3ROb2RlID0ge1xuICAgICAgaWQ6IGRlZmluaXRpb24uaWQsXG4gICAgICByZWY6IHtcbiAgICAgICAgaWQ6IGRlZmluaXRpb24uaWQsXG4gICAgICAgIGtpbmQ6IGRlZmluaXRpb24ua2luZCxcbiAgICAgIH0sXG4gICAgICBsYWJlbDogZGVmaW5pdGlvbi5sYWJlbCxcbiAgICAgIGtpbmQ6IGRlZmluaXRpb24ua2luZCxcbiAgICAgIGRhdGE6IGRlZmluaXRpb24ubm9kZSAhPT0gdW5kZWZpbmVkID8geyBub2RlOiBjbG9uZVZhbHVlKGRlZmluaXRpb24ubm9kZSkgfSA6IHVuZGVmaW5lZCxcbiAgICAgIG1ldGFkYXRhOiBjbG9uZVZhbHVlKGRlZmluaXRpb24ubWV0YWRhdGEpLFxuICAgIH07XG4gICAgcmVzdWx0LnB1c2gobm9kZSk7XG4gICAgYnlLZXkuc2V0KGRlZmluaXRpb24uaWQsIG5vZGUpO1xuICB9XG5cbiAgZm9yIChjb25zdCBlbnRyeSBvZiBub2RlcyB8fCBbXSkge1xuICAgIGNvbnN0IGtleSA9IHNuYXBzaG90Tm9kZUtleShlbnRyeSk7XG4gICAgY29uc3QgY3VycmVudCA9IGtleSA/IGJ5S2V5LmdldChrZXkpIDogdW5kZWZpbmVkO1xuICAgIGlmIChjdXJyZW50KSB7XG4gICAgICBjb25zdCBtZXJnZWQ6IEdyYXBoV29ya2Zsb3dTbmFwc2hvdE5vZGUgPSB7XG4gICAgICAgIC4uLmN1cnJlbnQsXG4gICAgICAgIC4uLmNsb25lVmFsdWUoZW50cnkpLFxuICAgICAgICBpZDogZW50cnkuaWQgfHwgY3VycmVudC5pZCxcbiAgICAgICAgcmVmOiB7XG4gICAgICAgICAgLi4uY3VycmVudC5yZWYsXG4gICAgICAgICAgLi4uZW50cnkucmVmLFxuICAgICAgICAgIGlkOiBlbnRyeS5yZWY/LmlkID8/IGN1cnJlbnQucmVmPy5pZCA/PyBjdXJyZW50LmlkLFxuICAgICAgICB9LFxuICAgICAgICBwb3NpdGlvbjogZW50cnkucG9zaXRpb24gPyBjbG9uZVZhbHVlKGVudHJ5LnBvc2l0aW9uKSA6IGN1cnJlbnQucG9zaXRpb24sXG4gICAgICAgIHNpemU6IGVudHJ5LnNpemUgPyBjbG9uZVZhbHVlKGVudHJ5LnNpemUpIDogY3VycmVudC5zaXplLFxuICAgICAgICBwb3J0czoge1xuICAgICAgICAgIC4uLihjdXJyZW50LnBvcnRzIHx8IHt9KSxcbiAgICAgICAgICAuLi4oZW50cnkucG9ydHMgfHwge30pLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgLi4uKGN1cnJlbnQuZGF0YSB8fCB7fSksXG4gICAgICAgICAgLi4uKGVudHJ5LmRhdGEgfHwge30pLFxuICAgICAgICB9LFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgIC4uLihjdXJyZW50Lm1ldGFkYXRhIHx8IHt9KSxcbiAgICAgICAgICAuLi4oZW50cnkubWV0YWRhdGEgfHwge30pLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGlmIChrZXkpIGJ5S2V5LnNldChrZXksIG1lcmdlZCk7XG4gICAgICBjb25zdCBpbmRleCA9IHJlc3VsdC5maW5kSW5kZXgoKHZhbHVlKSA9PiB2YWx1ZS5pZCA9PT0gY3VycmVudC5pZCk7XG4gICAgICBpZiAoaW5kZXggPj0gMCkgcmVzdWx0W2luZGV4XSA9IG1lcmdlZDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGNsb25lZCA9IGNsb25lVmFsdWUoZW50cnkpO1xuICAgIHJlc3VsdC5wdXNoKGNsb25lZCk7XG4gICAgaWYgKGtleSkgYnlLZXkuc2V0KGtleSwgY2xvbmVkKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUVkZ2VzKFxuICBlZGdlczogR3JhcGhXb3JrZmxvd1NuYXBzaG90RWRnZVtdIHwgdW5kZWZpbmVkLFxuICByZWxhdGlvbnM6IEdyYXBoV29ya2Zsb3dSZWxhdGlvbk1ldGFkYXRhW11cbik6IEdyYXBoV29ya2Zsb3dTbmFwc2hvdEVkZ2VbXSB7XG4gIGNvbnN0IGJ5S2V5ID0gbmV3IE1hcDxzdHJpbmcsIEdyYXBoV29ya2Zsb3dTbmFwc2hvdEVkZ2U+KCk7XG4gIGNvbnN0IHJlc3VsdDogR3JhcGhXb3JrZmxvd1NuYXBzaG90RWRnZVtdID0gW107XG5cbiAgZm9yIChjb25zdCBbaW5kZXgsIHJlbGF0aW9uXSBvZiByZWxhdGlvbnMuZW50cmllcygpKSB7XG4gICAgY29uc3Qgc291cmNlID0gYXNTdHJpbmcocmVsYXRpb24uc291cmNlKSA/PyBgc291cmNlLSR7aW5kZXh9YDtcbiAgICBjb25zdCB0YXJnZXQgPSBhc1N0cmluZyhyZWxhdGlvbi50YXJnZXQpID8/IGB0YXJnZXQtJHtpbmRleH1gO1xuICAgIGNvbnN0IGVkZ2U6IEdyYXBoV29ya2Zsb3dTbmFwc2hvdEVkZ2UgPSB7XG4gICAgICBpZDogcmVsYXRpb24ubGFiZWwgfHwgYCR7c291cmNlfToke3JlbGF0aW9uLnNvdXJjZVBvcnQgPz8gXCIqXCJ9LT4ke3RhcmdldH06JHtyZWxhdGlvbi50YXJnZXRQb3J0ID8/IFwiKlwifWAsXG4gICAgICBzb3VyY2UsXG4gICAgICBzb3VyY2VSZWY6IHNvdXJjZSxcbiAgICAgIHNvdXJjZVBvcnQ6IHJlbGF0aW9uLnNvdXJjZVBvcnQsXG4gICAgICB0YXJnZXQsXG4gICAgICB0YXJnZXRSZWY6IHRhcmdldCxcbiAgICAgIHRhcmdldFBvcnQ6IHJlbGF0aW9uLnRhcmdldFBvcnQsXG4gICAgICBsYWJlbDogcmVsYXRpb24ubGFiZWwsXG4gICAgICBtZXRhZGF0YTogY2xvbmVWYWx1ZShyZWxhdGlvbi5tZXRhZGF0YSksXG4gICAgfTtcbiAgICByZXN1bHQucHVzaChlZGdlKTtcbiAgICBieUtleS5zZXQoZWRnZS5pZCwgZWRnZSk7XG4gIH1cblxuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVkZ2VzIHx8IFtdKSB7XG4gICAgY29uc3Qga2V5ID0gc25hcHNob3RFZGdlS2V5KGVudHJ5KTtcbiAgICBjb25zdCBjdXJyZW50ID0ga2V5ID8gYnlLZXkuZ2V0KGtleSkgOiB1bmRlZmluZWQ7XG4gICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IG1lcmdlZDogR3JhcGhXb3JrZmxvd1NuYXBzaG90RWRnZSA9IHtcbiAgICAgICAgLi4uY3VycmVudCxcbiAgICAgICAgLi4uY2xvbmVWYWx1ZShlbnRyeSksXG4gICAgICAgIGlkOiBlbnRyeS5pZCB8fCBjdXJyZW50LmlkLFxuICAgICAgICBzb3VyY2U6IGVudHJ5LnNvdXJjZSB8fCBjdXJyZW50LnNvdXJjZSxcbiAgICAgICAgc291cmNlUmVmOiBlbnRyeS5zb3VyY2VSZWYgPz8gY3VycmVudC5zb3VyY2VSZWYgPz8gZW50cnkuc291cmNlID8/IGN1cnJlbnQuc291cmNlLFxuICAgICAgICB0YXJnZXQ6IGVudHJ5LnRhcmdldCB8fCBjdXJyZW50LnRhcmdldCxcbiAgICAgICAgdGFyZ2V0UmVmOiBlbnRyeS50YXJnZXRSZWYgPz8gY3VycmVudC50YXJnZXRSZWYgPz8gZW50cnkudGFyZ2V0ID8/IGN1cnJlbnQudGFyZ2V0LFxuICAgICAgICAvLyBMYWJlbHMgYXJlIGRvY3VtZW50LWNhcnJpZWQgZGlzcGxheSBzZW1hbnRpY3MgKMKnNC40LjcpOiBhIHJvdyBtZXJnZWRcbiAgICAgICAgLy8gZnJvbSBhIGNhbnZhcyBjbG9uZSB0aGF0IG5ldmVyIGNhcnJpZWQgaXRzIG93biBsYWJlbCBtdXN0IG5vdCBlcmFzZVxuICAgICAgICAvLyB0aGUgcmVsYXRpb24gcm93J3MgbGFiZWwuXG4gICAgICAgIGxhYmVsOiBlbnRyeS5sYWJlbCA/PyBjdXJyZW50LmxhYmVsLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgIC4uLihjdXJyZW50Lm1ldGFkYXRhIHx8IHt9KSxcbiAgICAgICAgICAuLi4oZW50cnkubWV0YWRhdGEgfHwge30pLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGlmIChrZXkpIGJ5S2V5LnNldChrZXksIG1lcmdlZCk7XG4gICAgICBjb25zdCBpbmRleCA9IHJlc3VsdC5maW5kSW5kZXgoKHZhbHVlKSA9PiB2YWx1ZS5pZCA9PT0gY3VycmVudC5pZCk7XG4gICAgICBpZiAoaW5kZXggPj0gMCkgcmVzdWx0W2luZGV4XSA9IG1lcmdlZDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGNsb25lZCA9IGNsb25lVmFsdWUoZW50cnkpO1xuICAgIHJlc3VsdC5wdXNoKGNsb25lZCk7XG4gICAgaWYgKGtleSkgYnlLZXkuc2V0KGtleSwgY2xvbmVkKTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVdvcmtmbG93RGVmaW5pdGlvbihcbiAgZGVmaW5pdGlvbjogR3JhcGhXb3JrZmxvd0RlZmluaXRpb24gfCBHcmFwaFdvcmtmbG93U25hcHNob3REZWZpbml0aW9uLFxuICBvdmVycmlkZXM6IFBhcnRpYWw8R3JhcGhXb3JrZmxvd1NuYXBzaG90RGVmaW5pdGlvbj4gPSB7fVxuKTogR3JhcGhXb3JrZmxvd1NuYXBzaG90RGVmaW5pdGlvbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogb3ZlcnJpZGVzLm5hbWUgPz8gZGVmaW5pdGlvbi5uYW1lLFxuICAgIHRhZzogb3ZlcnJpZGVzLnRhZyA/PyBkZWZpbml0aW9uLnRhZyxcbiAgICBraW5kOiBvdmVycmlkZXMua2luZCA/PyBkZWZpbml0aW9uLmtpbmQsXG4gICAgY2F0ZWdvcnk6IG92ZXJyaWRlcy5jYXRlZ29yeSA/PyBkZWZpbml0aW9uLmNhdGVnb3J5LFxuICAgIGNvbG9yOiBvdmVycmlkZXMuY29sb3IgPz8gZGVmaW5pdGlvbi5jb2xvcixcbiAgICBncm91cDogb3ZlcnJpZGVzLmdyb3VwID8/IGRlZmluaXRpb24uZ3JvdXAsXG4gICAgaGVpZ2h0OiBvdmVycmlkZXMuaGVpZ2h0ID8/IGRlZmluaXRpb24uaGVpZ2h0LFxuICAgIGljb246IG92ZXJyaWRlcy5pY29uID8/IGRlZmluaXRpb24uaWNvbixcbiAgICBsYWJlbHM6IGNsb25lVmFsdWUob3ZlcnJpZGVzLmxhYmVscyA/PyBkZWZpbml0aW9uLmxhYmVscyA/PyBbXSksXG4gICAgbWF4Q2hpbGRyZW46IG92ZXJyaWRlcy5tYXhDaGlsZHJlbiA/PyBkZWZpbml0aW9uLm1heENoaWxkcmVuLFxuICAgIG1pbldpZHRoOiBvdmVycmlkZXMubWluV2lkdGggPz8gZGVmaW5pdGlvbi5taW5XaWR0aCxcbiAgICB3aWR0aDogb3ZlcnJpZGVzLndpZHRoID8/IGRlZmluaXRpb24ud2lkdGgsXG4gICAgbWV0YWRhdGE6IGNsb25lVmFsdWUoXG4gICAgICBvdmVycmlkZXMubWV0YWRhdGEgPz9cbiAgICAgICAgKFwid29ya2Zsb3dcIiBpbiBkZWZpbml0aW9uID8gZGVmaW5pdGlvbi53b3JrZmxvdyA6IGRlZmluaXRpb24ubWV0YWRhdGEpXG4gICAgKSxcbiAgICBpbnB1dHM6IGNsb25lVmFsdWUob3ZlcnJpZGVzLmlucHV0cyA/PyBkZWZpbml0aW9uLmlucHV0cyA/PyBbXSksXG4gICAgb3V0cHV0czogY2xvbmVWYWx1ZShvdmVycmlkZXMub3V0cHV0cyA/PyBkZWZpbml0aW9uLm91dHB1dHMgPz8gW10pLFxuICAgIG5vZGVzOiBjbG9uZVZhbHVlKG92ZXJyaWRlcy5ub2RlcyA/PyBkZWZpbml0aW9uLm5vZGVzID8/IFtdKSxcbiAgICByZWxhdGlvbnM6IGNsb25lVmFsdWUob3ZlcnJpZGVzLnJlbGF0aW9ucyA/PyBkZWZpbml0aW9uLnJlbGF0aW9ucyA/PyBbXSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93U25hcHNob3REZWZpbml0aW9uT2Y8TSBleHRlbmRzIE1vZGVsPihcbiAgbW9kZWw6IEdyYXBoTW9kZWxMaWtlPE0+IHwgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24gfCBHcmFwaFdvcmtmbG93U25hcHNob3REZWZpbml0aW9uXG4pOiBHcmFwaFdvcmtmbG93U25hcHNob3REZWZpbml0aW9uIHtcbiAgY29uc3QgZGVmaW5pdGlvbiA9IGlzV29ya2Zsb3dEZWZpbml0aW9uTGlrZShtb2RlbClcbiAgICA/IG1vZGVsXG4gICAgOiBncmFwaFdvcmtmbG93RGVmaW5pdGlvbk9mKG1vZGVsIGFzIEdyYXBoTW9kZWxMaWtlPE0+KTtcbiAgcmV0dXJuIG5vcm1hbGl6ZVdvcmtmbG93RGVmaW5pdGlvbihkZWZpbml0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dTbmFwc2hvdE9mPE0gZXh0ZW5kcyBNb2RlbD4oXG4gIG1vZGVsOiBHcmFwaE1vZGVsTGlrZTxNPiB8IEdyYXBoV29ya2Zsb3dEZWZpbml0aW9uIHwgR3JhcGhXb3JrZmxvd1NuYXBzaG90RGVmaW5pdGlvbixcbiAgaW5wdXQ/OiBHcmFwaFdvcmtmbG93U25hcHNob3RJbnB1dFxuKTogTGVnYWN5R3JhcGhXb3JrZmxvd1NuYXBzaG90IHtcbiAgY29uc3Qgbm9ybWFsaXplZERlZmluaXRpb24gPSBub3JtYWxpemVXb3JrZmxvd0RlZmluaXRpb24oXG4gICAgZ3JhcGhXb3JrZmxvd1NuYXBzaG90RGVmaW5pdGlvbk9mKG1vZGVsIGFzIGFueSksXG4gICAgaW5wdXQ/LmRlZmluaXRpb25cbiAgKTtcbiAgY29uc3QgaW5wdXRQb3J0cyA9IGdyYXBoTGVhZlBvcnRzT2Yobm9ybWFsaXplZERlZmluaXRpb24uaW5wdXRzKTtcbiAgY29uc3Qgb3V0cHV0UG9ydHMgPSBncmFwaExlYWZQb3J0c09mKG5vcm1hbGl6ZWREZWZpbml0aW9uLm91dHB1dHMpO1xuXG4gIHJldHVybiB7XG4gICAgdmVyc2lvbjogR1JBUEhfV09SS0ZMT1dfU05BUFNIT1RfVkVSU0lPTixcbiAgICBkZWZpbml0aW9uOiBub3JtYWxpemVkRGVmaW5pdGlvbixcbiAgICBzdGF0ZToge1xuICAgICAgaW5wdXRzOiBub3JtYWxpemVWYWx1ZUVudHJpZXMoaW5wdXQ/LmlucHV0cywgaW5wdXRQb3J0cyksXG4gICAgICBvdXRwdXRzOiBub3JtYWxpemVWYWx1ZUVudHJpZXMoaW5wdXQ/Lm91dHB1dHMsIG91dHB1dFBvcnRzKSxcbiAgICAgIG5vZGVzOiBub3JtYWxpemVOb2RlcyhpbnB1dD8ubm9kZXMsIG5vcm1hbGl6ZWREZWZpbml0aW9uLm5vZGVzKSxcbiAgICAgIGVkZ2VzOiBub3JtYWxpemVFZGdlcyhpbnB1dD8uZWRnZXMsIG5vcm1hbGl6ZWREZWZpbml0aW9uLnJlbGF0aW9ucyksXG4gICAgICB1aTogY2xvbmVWYWx1ZShpbnB1dD8udWkgfHwge30pLFxuICAgICAgbWV0YWRhdGE6IGNsb25lVmFsdWUoaW5wdXQ/Lm1ldGFkYXRhIHx8IHt9KSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3JhcGhXb3JrZmxvd1NuYXBzaG90UmVzdG9yZTxNIGV4dGVuZHMgTW9kZWw+KFxuICBzbmFwc2hvdDogTGVnYWN5R3JhcGhXb3JrZmxvd1NuYXBzaG90IHwgR3JhcGhXb3JrZmxvd1NuYXBzaG90SW5wdXQsXG4gIG1vZGVsPzogR3JhcGhNb2RlbExpa2U8TT4gfCBHcmFwaFdvcmtmbG93RGVmaW5pdGlvbiB8IEdyYXBoV29ya2Zsb3dTbmFwc2hvdERlZmluaXRpb25cbik6IExlZ2FjeUdyYXBoV29ya2Zsb3dTbmFwc2hvdCB7XG4gIGlmICghKFwidmVyc2lvblwiIGluIHNuYXBzaG90KSkge1xuICAgIHJldHVybiBncmFwaFdvcmtmbG93U25hcHNob3RPZihcbiAgICAgIG1vZGVsID8/XG4gICAgICAgIChzbmFwc2hvdC5kZWZpbml0aW9uIGFzXG4gICAgICAgICAgfCBHcmFwaFdvcmtmbG93RGVmaW5pdGlvblxuICAgICAgICAgIHwgR3JhcGhXb3JrZmxvd1NuYXBzaG90RGVmaW5pdGlvblxuICAgICAgICAgIHwgdW5kZWZpbmVkKSA/P1xuICAgICAgICAoe30gYXMgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24pLFxuICAgICAgc25hcHNob3RcbiAgICApO1xuICB9XG5cbiAgY29uc3QgZnVsbFNuYXBzaG90ID0gc25hcHNob3QgYXMgTGVnYWN5R3JhcGhXb3JrZmxvd1NuYXBzaG90O1xuICBjb25zdCBkZWZpbml0aW9uID0gbW9kZWxcbiAgICA/IGdyYXBoV29ya2Zsb3dTbmFwc2hvdERlZmluaXRpb25PZihtb2RlbClcbiAgICA6IGZ1bGxTbmFwc2hvdC5kZWZpbml0aW9uO1xuXG4gIHJldHVybiBncmFwaFdvcmtmbG93U25hcHNob3RPZihkZWZpbml0aW9uLCB7XG4gICAgaW5wdXRzOiBmdWxsU25hcHNob3Quc3RhdGUuaW5wdXRzLFxuICAgIG91dHB1dHM6IGZ1bGxTbmFwc2hvdC5zdGF0ZS5vdXRwdXRzLFxuICAgIG5vZGVzOiBmdWxsU25hcHNob3Quc3RhdGUubm9kZXMsXG4gICAgZWRnZXM6IGZ1bGxTbmFwc2hvdC5zdGF0ZS5lZGdlcyxcbiAgICB1aTogZnVsbFNuYXBzaG90LnN0YXRlLnVpLFxuICAgIG1ldGFkYXRhOiBmdWxsU25hcHNob3Quc3RhdGUubWV0YWRhdGEsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3JhcGhXb3JrZmxvd1NuYXBzaG90VG9KU09OKFxuICBzbmFwc2hvdDogTGVnYWN5R3JhcGhXb3JrZmxvd1NuYXBzaG90LFxuICBzcGFjZT86IG51bWJlclxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHNuYXBzaG90LCB1bmRlZmluZWQsIHNwYWNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dTbmFwc2hvdEZyb21KU09OKFxuICBpbnB1dDogc3RyaW5nIHwgTGVnYWN5R3JhcGhXb3JrZmxvd1NuYXBzaG90LFxuICBtb2RlbD86IEdyYXBoTW9kZWxMaWtlIHwgR3JhcGhXb3JrZmxvd0RlZmluaXRpb24gfCBHcmFwaFdvcmtmbG93U25hcHNob3REZWZpbml0aW9uXG4pOiBMZWdhY3lHcmFwaFdvcmtmbG93U25hcHNob3Qge1xuICBjb25zdCBzbmFwc2hvdCA9XG4gICAgdHlwZW9mIGlucHV0ID09PSBcInN0cmluZ1wiID8gKEpTT04ucGFyc2UoaW5wdXQpIGFzIExlZ2FjeUdyYXBoV29ya2Zsb3dTbmFwc2hvdCkgOiBpbnB1dDtcbiAgcmV0dXJuIGdyYXBoV29ya2Zsb3dTbmFwc2hvdFJlc3RvcmUoc25hcHNob3QsIG1vZGVsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dTbmFwc2hvdElucHV0VmFsdWVzT2YoXG4gIHNuYXBzaG90OiBMZWdhY3lHcmFwaFdvcmtmbG93U25hcHNob3Rcbik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBzbmFwc2hvdC5zdGF0ZS5pbnB1dHMubWFwKChlbnRyeSkgPT4gW2VudHJ5LnBhdGgsIGNsb25lVmFsdWUoZW50cnkudmFsdWUpXSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dTbmFwc2hvdE91dHB1dFZhbHVlc09mKFxuICBzbmFwc2hvdDogTGVnYWN5R3JhcGhXb3JrZmxvd1NuYXBzaG90XG4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgc25hcHNob3Quc3RhdGUub3V0cHV0cy5tYXAoKGVudHJ5KSA9PiBbZW50cnkucGF0aCwgY2xvbmVWYWx1ZShlbnRyeS52YWx1ZSldKVxuICApO1xufVxuXG4vKipcbiAqIEVkaXRvci1vbmx5IHN0YXRlIHRoYXQgdGhlIGNhbm9uaWNhbCB7QGxpbmsgR3JhcGhXb3JrZmxvd0RvY3VtZW50fSBjYW5ub3RcbiAqIGV4cHJlc3MgKGxheW91dCBiZXlvbmQgbm9kZSBwb3NpdGlvbnMsIGNvbmZpZy1zdG9yZSB2YWx1ZXMsIHBlci1wb3J0IG1vZGVzLFxuICogd29ya2Zsb3cgYm91bmRhcnkgdmFsdWVzLCBhbmQgZHVwbGljYXRlIGNvdW50cykuIFN0b3JlZCBhcyBKU09OLXNhZmUgdmFsdWVzXG4gKiBvbmx5OyBjb25zdHJ1Y3RvcnMgYW5kIGBtb2RlbENsYXNzYC9gc291cmNlQ2xhc3NgIHJlZmVyZW5jZXMgYXJlIGRyb3BwZWQuXG4gKi9cbmV4cG9ydCB0eXBlIEdyYXBoU25hcHNob3RFZGl0b3JTdGF0ZSA9IHtcbiAgdmlld3BvcnQ/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyBzY2FsZTogbnVtYmVyIH07XG4gIGR1cGxpY2F0ZUNvdW50cz86IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG4gIGJvdW5kYXJ5SW5wdXRWYWx1ZXM/OiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT47XG4gIGJvdW5kYXJ5T3V0cHV0VmFsdWVzPzogUmVjb3JkPHN0cmluZywgR3JhcGhKc29uVmFsdWU+O1xuICBub2RlUG9ydHM/OiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT4+O1xuICBub2RlQ29uZmlncz86IFJlY29yZDxzdHJpbmcsIEdyYXBoSnNvblZhbHVlPjtcbiAgZGlhZ3JhbU1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgR3JhcGhKc29uVmFsdWU+O1xuICBkZWZpbml0aW9uRGlzcGxheT86IFJlY29yZDxzdHJpbmcsIEdyYXBoSnNvblZhbHVlPjtcbiAgbGVnYWN5PzogR3JhcGhKc29uVmFsdWU7XG59ICYgeyBba2V5OiBzdHJpbmddOiBHcmFwaEpzb25WYWx1ZSB8IHVuZGVmaW5lZCB9O1xuXG4vKipcbiAqIENhbm9uaWNhbCBkb2N1bWVudC1maXJzdCBzbmFwc2hvdC4gYGRvY3VtZW50YCBpcyB0aGUgZXhlY3V0YWJsZSBzZW1hbnRpY1xuICogdHJ1dGg7IGBlZGl0b3JgIHByZXNlcnZlcyBsZWdhY3kgZWRpdG9yLW9ubHkgc3RhdGUgZm9yIGxvc3NsZXNzIHJvdW5kIHRyaXBzLlxuICovXG5leHBvcnQgdHlwZSBHcmFwaFdvcmtmbG93U25hcHNob3QgPSB7XG4gIGRvY3VtZW50OiBHcmFwaFdvcmtmbG93RG9jdW1lbnQ7XG4gIGVkaXRvcj86IEdyYXBoU25hcHNob3RFZGl0b3JTdGF0ZTtcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT47XG59O1xuXG5leHBvcnQgdHlwZSBHcmFwaFdvcmtmbG93U25hcHNob3RMaWtlID1cbiAgfCBMZWdhY3lHcmFwaFdvcmtmbG93U25hcHNob3RcbiAgfCBHcmFwaFdvcmtmbG93U25hcHNob3Q7XG5cbmZ1bmN0aW9uIGRyb3BVbnNhZmVFbnRyaWVzKFxuICBzb3VyY2U6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4pOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT4ge1xuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIEdyYXBoSnNvblZhbHVlPiA9IHt9O1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhzb3VyY2UpKSB7XG4gICAgaWYgKEdSQVBIX0NPTlNUUlVDVE9SX0RBVEFfS0VZUy5pbmNsdWRlcyhrZXkpKSBjb250aW51ZTtcbiAgICBjb25zdCBzYW5pdGl6ZWQgPSBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUodmFsdWUpO1xuICAgIGlmIChzYW5pdGl6ZWQgIT09IHVuZGVmaW5lZCkgcmVzdWx0W2tleV0gPSBzYW5pdGl6ZWQ7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBTYW5pdGl6ZXMgYSBsZWdhY3kgc25hcHNob3QgaW50byBhIEpTT04tc2FmZSBwYXlsb2FkIHdoaWxlIHByZXNlcnZpbmcgaXRzXG4gKiBzdHJ1Y3R1cmFsIGtleXMgKGB2ZXJzaW9uYCwgYGRlZmluaXRpb25gLCBgc3RhdGVgKS4gQ29uc3RydWN0b3Ita2V5IHN0cmlwcGluZ1xuICogc3RpbGwgYXBwbGllcyB0byB0aGUgcGF5bG9hZCBjb250ZW50cyBpbnNpZGUsIHNvIHRoZSBjYW5vbmljYWzihpJsZWdhY3lcbiAqIHJvdW5kIHRyaXAgc3RheXMgbG9zc2xlc3MgZm9yIHBlcnNpc3RlZCBkYXRhLlxuICovXG5mdW5jdGlvbiBzYW5pdGl6ZUxlZ2FjeVNuYXBzaG90UGF5bG9hZChcbiAgc25hcHNob3Q6IExlZ2FjeUdyYXBoV29ya2Zsb3dTbmFwc2hvdFxuKTogR3JhcGhKc29uVmFsdWUge1xuICByZXR1cm4ge1xuICAgIHZlcnNpb246IHNuYXBzaG90LnZlcnNpb24sXG4gICAgZGVmaW5pdGlvbjogZHJvcFVuc2FmZUVudHJpZXMoXG4gICAgICAoc25hcHNob3QuZGVmaW5pdGlvbiA/PyB7fSkgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICksXG4gICAgc3RhdGU6IGRyb3BVbnNhZmVFbnRyaWVzKFxuICAgICAgKHNuYXBzaG90LnN0YXRlID8/IHt9KSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgKSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gc2FuaXRpemVUb0dyYXBoSnNvblZhbHVlKHZhbHVlOiB1bmtub3duKTogR3JhcGhKc29uVmFsdWUgfCB1bmRlZmluZWQge1xuICBpZiAodmFsdWUgPT09IG51bGwpIHJldHVybiBudWxsO1xuICBjb25zdCB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICBpZiAodHlwZSA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlID09PSBcImJvb2xlYW5cIikgcmV0dXJuIHZhbHVlIGFzIEdyYXBoSnNvblZhbHVlO1xuICBpZiAodHlwZSA9PT0gXCJudW1iZXJcIikgcmV0dXJuIE51bWJlci5pc0Zpbml0ZSh2YWx1ZSBhcyBudW1iZXIpID8gKHZhbHVlIGFzIG51bWJlcikgOiB1bmRlZmluZWQ7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIGNvbnN0IGl0ZW1zOiBHcmFwaEpzb25WYWx1ZVtdID0gW107XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHZhbHVlKSB7XG4gICAgICBjb25zdCBzYW5pdGl6ZWQgPSBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUoaXRlbSk7XG4gICAgICBpZiAoc2FuaXRpemVkICE9PSB1bmRlZmluZWQpIGl0ZW1zLnB1c2goc2FuaXRpemVkKTtcbiAgICB9XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG4gIGlmICh0eXBlID09PSBcIm9iamVjdFwiKSB7XG4gICAgcmV0dXJuIGRyb3BVbnNhZmVFbnRyaWVzKHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KTtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBib3VuZGFyeUFsaWFzZXNGb3IoZGVmaW5pdGlvbjogR3JhcGhXb3JrZmxvd1NuYXBzaG90RGVmaW5pdGlvbik6IFNldDxzdHJpbmc+IHtcbiAgY29uc3QgYWxpYXNlcyA9IG5ldyBTZXQ8c3RyaW5nPihHUkFQSF9MRUdBQ1lfQk9VTkRBUllfQUxJQVNFUyk7XG4gIGlmIChkZWZpbml0aW9uLnRhZykgYWxpYXNlcy5hZGQoZGVmaW5pdGlvbi50YWcpO1xuICBpZiAoZGVmaW5pdGlvbi5uYW1lKSBhbGlhc2VzLmFkZChkZWZpbml0aW9uLm5hbWUpO1xuICByZXR1cm4gYWxpYXNlcztcbn1cblxuZnVuY3Rpb24gbGVnYWN5RW5kcG9pbnQoXG4gIHJlZklkOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIHBvcnQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgYWxpYXNlczogU2V0PHN0cmluZz4sXG4gIGJvdW5kYXJ5UG9ydElkcz86IFJlYWRvbmx5TWFwPHN0cmluZywgc3RyaW5nPlxuKTogR3JhcGhFbmRwb2ludCB7XG4gIGNvbnN0IHJlc29sdmVkUG9ydCA9IHBvcnQgPz8gXCJcIjtcbiAgaWYgKCFyZWZJZCB8fCBhbGlhc2VzLmhhcyhyZWZJZCkpIHtcbiAgICByZXR1cm4geyBzY29wZTogXCJ3b3JrZmxvd1wiLCBwb3J0OiByZXNvbHZlZFBvcnQgfSBzYXRpc2ZpZXMgR3JhcGhXb3JrZmxvd0VuZHBvaW50O1xuICB9XG4gIC8vIFRoZSBsZWdhY3kgZGVjb3JhdGVkLXJvb3QgY2FudmFzIHJlbmRlcmVkIHdvcmtmbG93IGlucHV0IHBvcnRzIGFzIGRyYWdnYWJsZVxuICAvLyBib3VuZGFyeSBiYWRnZXMgKGBpbnB1dC17cG9ydH1gLCBwb3J0IGhhbmRsZSBgdmFsdWVgKS4gVGhvc2UgYmluZGluZ3Mgc3RheVxuICAvLyBsb3NzbGVzcyBvbmx5IHdoZW4gdGhlIGJhZGdlIGlkIGZvbGRzIGJhY2sgb250byB0aGUgd29ya2Zsb3cgcG9ydCBpdCB3YXNcbiAgLy8gZHJhd24gZm9yIChERUNBRi01MCDCpzQuMTEpOyBvdGhlcndpc2UgYSB3b3JrZmxvdyBwb3J0IHdvdWxkIGNvbGxhcHNlIGludG9cbiAgLy8gb25lIHNoYXJlZCBib3VuZGFyeSBlbmRwb2ludCBhbmQgZHJvcCByZWFsIGVkZ2VzICjCpzQuNC42IGNhbm9uaWNhbCBmb3JtKS5cbiAgaWYgKHJlZklkLnN0YXJ0c1dpdGgoXCJpbnB1dC1cIikpIHtcbiAgICBjb25zdCB3b3JrZmxvd1BvcnRJZCA9IGJvdW5kYXJ5UG9ydElkcz8uZ2V0KHJlZklkLnNsaWNlKFwiaW5wdXQtXCIubGVuZ3RoKSA/PyBcIlwiKTtcbiAgICBpZiAod29ya2Zsb3dQb3J0SWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNjb3BlOiBcIndvcmtmbG93XCIsXG4gICAgICAgIHBvcnQ6IHdvcmtmbG93UG9ydElkLFxuICAgICAgfSBzYXRpc2ZpZXMgR3JhcGhXb3JrZmxvd0VuZHBvaW50O1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBzY29wZTogXCJub2RlXCIsIG5vZGVJZDogcmVmSWQsIHBvcnQ6IHJlc29sdmVkUG9ydCB9IHNhdGlzZmllcyBHcmFwaEVuZHBvaW50O1xufVxuXG4vKipcbiAqIE1hcHMgd29ya2Zsb3cgaW5wdXQtcHJvcGVydHkgbmFtZXMgdG8gdGhlaXIgbGVnYWN5IGJvdW5kYXJ5LWJhZGdlIGlkc1xuICogKGBpbnB1dC17cHJvcGVydHl9YCksIHNvIGJhZGdlcyBkcmF3biBvbiB0aGUgY2FudmFzIHJlc29sdmUgYmFjayB0byB0aGVcbiAqIHdvcmtmbG93IHBvcnQgdGhleSByZXByZXNlbnQgKMKnNC4xMSkuXG4gKi9cbmZ1bmN0aW9uIGJvdW5kYXJ5UG9ydElkc0ZvcihzbmFwc2hvdDogTGVnYWN5R3JhcGhXb3JrZmxvd1NuYXBzaG90KTogUmVhZG9ubHlNYXA8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgZm9yIChjb25zdCBwb3J0IG9mIHNuYXBzaG90LmRlZmluaXRpb24uaW5wdXRzKSB7XG4gICAgbWFwLnNldChgaW5wdXQtJHtwb3J0LnByb3BlcnR5fWAsIHBvcnQucHJvcGVydHkpO1xuICB9XG4gIHJldHVybiBtYXA7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGRlY29yYXRlZCBkZWZpbml0aW9uJ3Mgb3duIGVkZ2UgbGFiZWxzIGJ5IGNhbm9uaWNhbCBlbmRwb2ludFxuICogcGFpciwgc28gY29udmVydGVkIGxlZ2FjeSBlZGdlcyB0aGF0IG5ldmVyIGNhcnJpZWQgYSBsYWJlbCBvbiB0aGUgZWRnZSByb3dcbiAqIChjYW52YXMtZHJhd24gY2xvbmVzIG1lcmdlZCBvdmVyIHRoZSByZWxhdGlvbiByb3dzKSBzdGlsbCByZXN0b3JlIHRoZVxuICogZG9jdW1lbnQtY2FycmllZCB7QGxpbmsgR3JhcGhFZGdlSW5zdGFuY2UubGFiZWx9ICjCpzQuNC43KSBpbnN0ZWFkIG9mIGxvc2luZ1xuICogdGhlIGRpc3BsYXkgYWZmb3JkYW5jZSBvbiBzYXZlL3JlbG9hZC5cbiAqL1xuZnVuY3Rpb24gbGVnYWN5UmVsYXRpb25MYWJlbEJ5RW5kcG9pbnQoXG4gIHNuYXBzaG90OiBMZWdhY3lHcmFwaFdvcmtmbG93U25hcHNob3QsXG4gIGFsaWFzZXM6IFNldDxzdHJpbmc+LFxuICBib3VuZGFyeVBvcnRJZHM6IFJlYWRvbmx5TWFwPHN0cmluZywgc3RyaW5nPlxuKTogUmVhZG9ubHlNYXA8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgZm9yIChjb25zdCByZWxhdGlvbiBvZiBzbmFwc2hvdC5kZWZpbml0aW9uLnJlbGF0aW9ucykge1xuICAgIGNvbnN0IGxhYmVsID0gdHlwZW9mIHJlbGF0aW9uLmxhYmVsID09PSBcInN0cmluZ1wiID8gcmVsYXRpb24ubGFiZWwgOiB1bmRlZmluZWQ7XG4gICAgaWYgKCFsYWJlbCkgY29udGludWU7XG4gICAgY29uc3Qgc291cmNlUmVmID0gdHlwZW9mIHJlbGF0aW9uLnNvdXJjZSA9PT0gXCJzdHJpbmdcIiA/IHJlbGF0aW9uLnNvdXJjZSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCB0YXJnZXRSZWYgPSB0eXBlb2YgcmVsYXRpb24udGFyZ2V0ID09PSBcInN0cmluZ1wiID8gcmVsYXRpb24udGFyZ2V0IDogdW5kZWZpbmVkO1xuICAgIG1hcC5zZXQoXG4gICAgICBlZGdlUGFpcktleU9mKHtcbiAgICAgICAgc291cmNlOiBsZWdhY3lFbmRwb2ludChzb3VyY2VSZWYsIHJlbGF0aW9uLnNvdXJjZVBvcnQsIGFsaWFzZXMsIGJvdW5kYXJ5UG9ydElkcyksXG4gICAgICAgIHRhcmdldDogbGVnYWN5RW5kcG9pbnQodGFyZ2V0UmVmLCByZWxhdGlvbi50YXJnZXRQb3J0LCBhbGlhc2VzLCBib3VuZGFyeVBvcnRJZHMpLFxuICAgICAgfSksXG4gICAgICBsYWJlbFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIG1hcDtcbn1cblxuZnVuY3Rpb24gZW5kcG9pbnRUb0xlZ2FjeVJlZihlbmRwb2ludDogR3JhcGhFbmRwb2ludCk6IHsgcmVmSWQ6IHN0cmluZzsgcG9ydDogc3RyaW5nIH0ge1xuICBpZiAoZW5kcG9pbnQuc2NvcGUgPT09IFwid29ya2Zsb3dcIikge1xuICAgIHJldHVybiB7IHJlZklkOiBcIiR3b3JrZmxvd1wiLCBwb3J0OiBlbmRwb2ludC5wb3J0IH07XG4gIH1cbiAgcmV0dXJuIHsgcmVmSWQ6IGVuZHBvaW50Lm5vZGVJZCwgcG9ydDogZW5kcG9pbnQucG9ydCB9O1xufVxuXG5mdW5jdGlvbiBwb3J0SW5zdGFuY2VGcm9tRGVmaW5pdGlvbihcbiAgcG9ydDogR3JhcGhQb3J0RGVmaW5pdGlvbixcbiAgdmFsdWU/OiBHcmFwaEpzb25WYWx1ZVxuKTogR3JhcGhXb3JrZmxvd1BvcnRJbnN0YW5jZSB7XG4gIGNvbnN0IGluc3RhbmNlOiBHcmFwaFdvcmtmbG93UG9ydEluc3RhbmNlID0ge1xuICAgIGlkOiBwb3J0LnByb3BlcnR5LFxuICAgIGxhYmVsOiBwb3J0LmxhYmVsLFxuICB9O1xuICBpbnN0YW5jZS5zY2hlbWEgPSBncmFwaFZhbHVlU2NoZW1hRnJvbVZhbGlkYXRpb24oXG4gICAgcG9ydC52YWxpZGF0aW9uIGFzIEdyYXBoVmFsaWRhdGlvblJlY29yZCB8IHVuZGVmaW5lZCxcbiAgICBwb3J0LnR5cGUsXG4gICAgcG9ydC5tb2RlbFxuICApO1xuICBpZiAocG9ydC5yZXF1aXJlZCkgaW5zdGFuY2UucmVxdWlyZWQgPSB0cnVlO1xuICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkgaW5zdGFuY2UuZGVmYXVsdFZhbHVlID0gdmFsdWU7XG4gIGNvbnN0IG1ldGFkYXRhID0gc2FuaXRpemVUb0dyYXBoSnNvblZhbHVlKHBvcnQuZ3JhcGggPz8ge30pIGFzIFJlY29yZDxzdHJpbmcsIEdyYXBoSnNvblZhbHVlPiB8IHVuZGVmaW5lZDtcbiAgaWYgKG1ldGFkYXRhICYmIE9iamVjdC5rZXlzKG1ldGFkYXRhKS5sZW5ndGgpIGluc3RhbmNlLm1ldGFkYXRhID0gbWV0YWRhdGE7XG4gIHJldHVybiBpbnN0YW5jZTtcbn1cblxuZnVuY3Rpb24gaW5wdXRCaW5kaW5nc0Zyb21Qb3J0cyhcbiAgcG9ydHM6IFJlY29yZDxzdHJpbmcsIEdyYXBoV29ya2Zsb3dTbmFwc2hvdFBvcnRTdGF0ZT4gfCB1bmRlZmluZWRcbik6IFJlY29yZDxzdHJpbmcsIEdyYXBoSW5wdXRCaW5kaW5nPiB8IHVuZGVmaW5lZCB7XG4gIGlmICghcG9ydHMpIHJldHVybiB1bmRlZmluZWQ7XG4gIGNvbnN0IGJpbmRpbmdzOiBSZWNvcmQ8c3RyaW5nLCBHcmFwaElucHV0QmluZGluZz4gPSB7fTtcbiAgZm9yIChjb25zdCBbcHJvcGVydHksIHBvcnRdIG9mIE9iamVjdC5lbnRyaWVzKHBvcnRzKSkge1xuICAgIGlmIChwb3J0Py5tb2RlID09PSBcInBvcnRcIikge1xuICAgICAgYmluZGluZ3NbcHJvcGVydHldID0geyBtb2RlOiBcImVkZ2VcIiB9O1xuICAgIH0gZWxzZSBpZiAoXCJ2YWx1ZVwiIGluIChwb3J0ID8/IHt9KSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUocG9ydC52YWx1ZSk7XG4gICAgICBiaW5kaW5nc1twcm9wZXJ0eV0gPSB7IG1vZGU6IFwibGl0ZXJhbFwiLCB2YWx1ZTogdmFsdWUgPz8gbnVsbCB9O1xuICAgIH1cbiAgfVxuICByZXR1cm4gT2JqZWN0LmtleXMoYmluZGluZ3MpLmxlbmd0aCA/IGJpbmRpbmdzIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBub2RlSW5zdGFuY2VGcm9tTGVnYWN5KG5vZGU6IEdyYXBoV29ya2Zsb3dTbmFwc2hvdE5vZGUpOiBHcmFwaE5vZGVJbnN0YW5jZSB7XG4gIGNvbnN0IGluc3RhbmNlOiBHcmFwaE5vZGVJbnN0YW5jZSA9IHtcbiAgICBpZDogbm9kZS5pZCxcbiAgICBraW5kOiBub2RlLmtpbmQgPz8gbm9kZS5yZWY/LmtpbmQgPz8gbm9kZS5pZCxcbiAgICBwYXJhbWV0ZXJzOiBkcm9wVW5zYWZlRW50cmllcyhub2RlLmRhdGEgPz8ge30pLFxuICB9O1xuICBpZiAobm9kZS5sYWJlbCkgaW5zdGFuY2UubGFiZWwgPSBub2RlLmxhYmVsO1xuICBjb25zdCBiaW5kaW5ncyA9IGlucHV0QmluZGluZ3NGcm9tUG9ydHMobm9kZS5wb3J0cyk7XG4gIGlmIChiaW5kaW5ncykgaW5zdGFuY2UuaW5wdXRCaW5kaW5ncyA9IGJpbmRpbmdzO1xuICBjb25zdCBtZXRhZGF0YSA9IHNhbml0aXplVG9HcmFwaEpzb25WYWx1ZShub2RlLm1ldGFkYXRhID8/IHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT4gfCB1bmRlZmluZWQ7XG4gIGlmIChtZXRhZGF0YSAmJiBPYmplY3Qua2V5cyhtZXRhZGF0YSkubGVuZ3RoKSBpbnN0YW5jZS5tZXRhZGF0YSA9IG1ldGFkYXRhO1xuICBpZiAobm9kZS5wb3NpdGlvbiB8fCBub2RlLnNpemUgfHwgbm9kZS5leHBhbmRlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgdWk6IEdyYXBoTm9kZVVpU3RhdGUgPSB7XG4gICAgICBwb3NpdGlvbjogbm9kZS5wb3NpdGlvbiA/IHsgeDogbm9kZS5wb3NpdGlvbi54LCB5OiBub2RlLnBvc2l0aW9uLnkgfSA6IHsgeDogMCwgeTogMCB9LFxuICAgIH07XG4gICAgaWYgKG5vZGUuc2l6ZSkgdWkuc2l6ZSA9IHsgd2lkdGg6IG5vZGUuc2l6ZS53aWR0aCwgaGVpZ2h0OiBub2RlLnNpemUuaGVpZ2h0IH07XG4gICAgaWYgKG5vZGUuZXhwYW5kZWQgIT09IHVuZGVmaW5lZCkgdWkuZXhwYW5kZWQgPSBub2RlLmV4cGFuZGVkO1xuICAgIGluc3RhbmNlLnVpID0gdWk7XG4gIH1cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuXG5mdW5jdGlvbiBlZGdlSW5zdGFuY2VGcm9tTGVnYWN5KFxuICBlZGdlOiBHcmFwaFdvcmtmbG93U25hcHNob3RFZGdlLFxuICBhbGlhc2VzOiBTZXQ8c3RyaW5nPixcbiAgYm91bmRhcnlQb3J0SWRzPzogUmVhZG9ubHlNYXA8c3RyaW5nLCBzdHJpbmc+LFxuICByZWxhdGlvbkxhYmVsQnlQYWlyPzogUmVhZG9ubHlNYXA8c3RyaW5nLCBzdHJpbmc+XG4pOiBHcmFwaEVkZ2VJbnN0YW5jZSB7XG4gIGNvbnN0IHNvdXJjZSA9IGxlZ2FjeUVuZHBvaW50KFxuICAgIGVkZ2Uuc291cmNlUmVmID8/IGVkZ2Uuc291cmNlLFxuICAgIGVkZ2Uuc291cmNlUG9ydCxcbiAgICBhbGlhc2VzLFxuICAgIGJvdW5kYXJ5UG9ydElkc1xuICApO1xuICBjb25zdCB0YXJnZXQgPSBsZWdhY3lFbmRwb2ludChcbiAgICBlZGdlLnRhcmdldFJlZiA/PyBlZGdlLnRhcmdldCxcbiAgICBlZGdlLnRhcmdldFBvcnQsXG4gICAgYWxpYXNlcyxcbiAgICBib3VuZGFyeVBvcnRJZHNcbiAgKTtcbiAgY29uc3QgaW5zdGFuY2U6IEdyYXBoRWRnZUluc3RhbmNlID0ge1xuICAgIGlkOiBlZGdlLmlkLFxuICAgIHR5cGU6IFwiZGF0YVwiLFxuICAgIHNvdXJjZSxcbiAgICB0YXJnZXQsXG4gIH07XG4gIGNvbnN0IGxhYmVsID0gZWRnZS5sYWJlbCA/PyByZWxhdGlvbkxhYmVsQnlQYWlyPy5nZXQoZWRnZVBhaXJLZXlPZih7IHNvdXJjZSwgdGFyZ2V0IH0pKTtcbiAgaWYgKGxhYmVsKSBpbnN0YW5jZS5sYWJlbCA9IGxhYmVsO1xuICBjb25zdCBtZXRhZGF0YSA9IHNhbml0aXplVG9HcmFwaEpzb25WYWx1ZShlZGdlLm1ldGFkYXRhID8/IHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT4gfCB1bmRlZmluZWQ7XG4gIGlmIChtZXRhZGF0YSAmJiBPYmplY3Qua2V5cyhtZXRhZGF0YSkubGVuZ3RoKSBpbnN0YW5jZS5tZXRhZGF0YSA9IG1ldGFkYXRhO1xuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbi8qKiBFbmRwb2ludC1wYWlyIGtleSBmb3IgZWRnZSBpZGVudGl0eSAoY2Fub25pY2FsIGBHcmFwaEVuZHBvaW50YCBzaGFwZSkuICovXG5mdW5jdGlvbiBlZGdlUGFpcktleU9mKGVkZ2U6IHsgc291cmNlOiBHcmFwaEVuZHBvaW50OyB0YXJnZXQ6IEdyYXBoRW5kcG9pbnQgfSk6IHN0cmluZyB7XG4gIGNvbnN0IGtleU9mID0gKGVuZHBvaW50OiBHcmFwaEVuZHBvaW50KTogc3RyaW5nID0+XG4gICAgZW5kcG9pbnQuc2NvcGUgPT09IFwibm9kZVwiXG4gICAgICA/IGBub2RlOiR7ZW5kcG9pbnQubm9kZUlkfToke2VuZHBvaW50LnBvcnR9YFxuICAgICAgOiBgd29ya2Zsb3c6JHtlbmRwb2ludC5wb3J0fWA7XG4gIHJldHVybiBgJHtrZXlPZihlZGdlLnNvdXJjZSl9LT4ke2tleU9mKGVkZ2UudGFyZ2V0KX1gO1xufVxuXG4vKipcbiAqIE1hcHMgYSBsZWdhY3kgKHByZS1QNykgY2FudmFzIHNuYXBzaG90IHRvIHRoZSBjYW5vbmljYWxcbiAqIHtAbGluayBHcmFwaFdvcmtmbG93RG9jdW1lbnR9IChERUNBRi01MCDCpzQuNC42KTogbGVnYWN5IGBub2RlLmRhdGFgIGJlY29tZXNcbiAqIGluc3RhbmNlIGBwYXJhbWV0ZXJzYCwgbGVnYWN5IGBub2RlLm1ldGFkYXRhYCBiZWNvbWVzIGluc3RhbmNlIGBtZXRhZGF0YWAsXG4gKiB3b3JrZmxvdyBib3VuZGFyeSBiYWRnZXMgKGBpbnB1dC17cG9ydH1gKSBmb2xkIGJhY2sgb250byB0aGVpciB3b3JrZmxvd1xuICogcG9ydHMsIGFuZCBlZGdlIGxhYmVscyBtaXNzaW5nIGZyb20gY2xvbmVkIGVkZ2Ugcm93cyBhcmUgcmVzdG9yZWQgZnJvbSB0aGVcbiAqIGRlY29yYXRlZCBkZWZpbml0aW9uJ3MgcmVsYXRpb24gbGFiZWxzICjCpzQuNC43KS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dEb2N1bWVudEZyb21MZWdhY3lTbmFwc2hvdChcbiAgc25hcHNob3Q6IExlZ2FjeUdyYXBoV29ya2Zsb3dTbmFwc2hvdFxuKTogR3JhcGhXb3JrZmxvd0RvY3VtZW50IHtcbiAgY29uc3QgYWxpYXNlcyA9IGJvdW5kYXJ5QWxpYXNlc0ZvcihzbmFwc2hvdC5kZWZpbml0aW9uKTtcbiAgY29uc3QgYm91bmRhcnlQb3J0SWRzID0gYm91bmRhcnlQb3J0SWRzRm9yKHNuYXBzaG90KTtcbiAgY29uc3QgcmVsYXRpb25MYWJlbEJ5UGFpciA9IGxlZ2FjeVJlbGF0aW9uTGFiZWxCeUVuZHBvaW50KHNuYXBzaG90LCBhbGlhc2VzLCBib3VuZGFyeVBvcnRJZHMpO1xuICBjb25zdCBpbnB1dHMgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgc25hcHNob3Quc3RhdGUuaW5wdXRzLm1hcCgoZW50cnkpID0+IFtlbnRyeS5wYXRoLCBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUoZW50cnkudmFsdWUpXSlcbiAgKTtcbiAgY29uc3Qgb3V0cHV0cyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBzbmFwc2hvdC5zdGF0ZS5vdXRwdXRzLm1hcCgoZW50cnkpID0+IFtlbnRyeS5wYXRoLCBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUoZW50cnkudmFsdWUpXSlcbiAgKTtcbiAgY29uc3QgZG9jdW1lbnQ6IEdyYXBoV29ya2Zsb3dEb2N1bWVudCA9IHtcbiAgICBpZDogc25hcHNob3QuZGVmaW5pdGlvbi50YWcgfHwgc25hcHNob3QuZGVmaW5pdGlvbi5uYW1lLFxuICAgIG5hbWU6IHNuYXBzaG90LmRlZmluaXRpb24ubmFtZSxcbiAgICBpbnB1dHM6IHNuYXBzaG90LmRlZmluaXRpb24uaW5wdXRzLm1hcCgocG9ydCkgPT5cbiAgICAgIHBvcnRJbnN0YW5jZUZyb21EZWZpbml0aW9uKHBvcnQsIGlucHV0c1twb3J0LnByb3BlcnR5XSlcbiAgICApLFxuICAgIG91dHB1dHM6IHNuYXBzaG90LmRlZmluaXRpb24ub3V0cHV0cy5tYXAoKHBvcnQpID0+XG4gICAgICBwb3J0SW5zdGFuY2VGcm9tRGVmaW5pdGlvbihwb3J0LCBvdXRwdXRzW3BvcnQucHJvcGVydHldKVxuICAgICksXG4gICAgbm9kZXM6IHNuYXBzaG90LnN0YXRlLm5vZGVzLm1hcChub2RlSW5zdGFuY2VGcm9tTGVnYWN5KSxcbiAgICBlZGdlczogc25hcHNob3Quc3RhdGUuZWRnZXMubWFwKChlZGdlKSA9PlxuICAgICAgZWRnZUluc3RhbmNlRnJvbUxlZ2FjeShlZGdlLCBhbGlhc2VzLCBib3VuZGFyeVBvcnRJZHMsIHJlbGF0aW9uTGFiZWxCeVBhaXIpXG4gICAgKSxcbiAgfTtcbiAgaWYgKHNuYXBzaG90LmRlZmluaXRpb24ubWV0YWRhdGEpIHtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHNhbml0aXplVG9HcmFwaEpzb25WYWx1ZShcbiAgICAgIHNuYXBzaG90LmRlZmluaXRpb24ubWV0YWRhdGFcbiAgICApIGFzIFJlY29yZDxzdHJpbmcsIEdyYXBoSnNvblZhbHVlPiB8IHVuZGVmaW5lZDtcbiAgICBpZiAobWV0YWRhdGEgJiYgT2JqZWN0LmtleXMobWV0YWRhdGEpLmxlbmd0aCkgZG9jdW1lbnQubWV0YWRhdGEgPSBtZXRhZGF0YTtcbiAgfVxuICBjb25zdCB1aTogR3JhcGhXb3JrZmxvd1VpU3RhdGUgPSB7fTtcbiAgY29uc3Qgdmlld3BvcnQgPSBzbmFwc2hvdC5zdGF0ZS51aT8uW1wiZGlhZ3JhbU1ldGFkYXRhXCJdIGFzXG4gICAgfCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgIHwgdW5kZWZpbmVkO1xuICBjb25zdCBwYXJzZWRWaWV3cG9ydCA9IHZpZXdwb3J0Py5bXCJ2aWV3cG9ydFwiXTtcbiAgaWYgKHBhcnNlZFZpZXdwb3J0ICYmIHR5cGVvZiBwYXJzZWRWaWV3cG9ydCA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IHYgPSBwYXJzZWRWaWV3cG9ydCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBjb25zdCB4ID0gdHlwZW9mIHZbXCJ4XCJdID09PSBcIm51bWJlclwiID8gdltcInhcIl0gOiBOdW1iZXIodltcInhcIl0pIHx8IDA7XG4gICAgY29uc3QgeSA9IHR5cGVvZiB2W1wieVwiXSA9PT0gXCJudW1iZXJcIiA/IHZbXCJ5XCJdIDogTnVtYmVyKHZbXCJ5XCJdKSB8fCAwO1xuICAgIGNvbnN0IHpvb20gPSB0eXBlb2YgdltcInNjYWxlXCJdID09PSBcIm51bWJlclwiID8gdltcInNjYWxlXCJdIDogTnVtYmVyKHZbXCJzY2FsZVwiXSkgfHwgMTtcbiAgICB1aS52aWV3cG9ydCA9IHsgeCwgeSwgem9vbSB9O1xuICB9XG4gIGlmICh1aS52aWV3cG9ydCkgZG9jdW1lbnQudWkgPSB1aTtcbiAgcmV0dXJuIGRvY3VtZW50O1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgbGVnYWN5IHBlcnNpc3RlZCBzbmFwc2hvdCBpbnRvIHRoZSBjYW5vbmljYWwgd3JhcHBlci4gVGhlIGNhbm9uaWNhbFxuICogYGRvY3VtZW50YCBjYXJyaWVzIGV4ZWN1dGFibGUgc2VtYW50aWNzOyBgZWRpdG9yLmxlZ2FjeWAga2VlcHMgdGhlIHNhbml0aXplZFxuICogKGNvbnN0cnVjdG9yLWZyZWUpIGxlZ2FjeSBwYXlsb2FkIHNvIGEgY2Fub25pY2Fs4oaSbGVnYWN5IHJvdW5kIHRyaXAgaXMgbG9zc2xlc3NcbiAqIGZvciBwZXJzaXN0ZWQgZGF0YS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dTbmFwc2hvdEZyb21MZWdhY3koXG4gIHNuYXBzaG90OiBMZWdhY3lHcmFwaFdvcmtmbG93U25hcHNob3Rcbik6IEdyYXBoV29ya2Zsb3dTbmFwc2hvdCB7XG4gIGNvbnN0IGRvY3VtZW50ID0gZ3JhcGhXb3JrZmxvd0RvY3VtZW50RnJvbUxlZ2FjeVNuYXBzaG90KHNuYXBzaG90KTtcbiAgY29uc3QgZWRpdG9yOiBHcmFwaFNuYXBzaG90RWRpdG9yU3RhdGUgPSB7fTtcbiAgY29uc3Qgc2FuaXRpemVkTGVnYWN5ID0gc2FuaXRpemVMZWdhY3lTbmFwc2hvdFBheWxvYWQoc25hcHNob3QpO1xuICBpZiAoc2FuaXRpemVkTGVnYWN5ICYmIGlzR3JhcGhKc29uU2FmZVZhbHVlKHNhbml0aXplZExlZ2FjeSkpIGVkaXRvci5sZWdhY3kgPSBzYW5pdGl6ZWRMZWdhY3k7XG4gIGNvbnN0IHVpID0gc25hcHNob3Quc3RhdGUudWk7XG4gIGlmICh1aSkge1xuICAgIGNvbnN0IGR1cGxpY2F0ZUNvdW50cyA9IHVpW1wiZHVwbGljYXRlQ291bnRzXCJdO1xuICAgIGlmIChkdXBsaWNhdGVDb3VudHMgJiYgdHlwZW9mIGR1cGxpY2F0ZUNvdW50cyA9PT0gXCJvYmplY3RcIikge1xuICAgICAgZWRpdG9yLmR1cGxpY2F0ZUNvdW50cyA9IGR1cGxpY2F0ZUNvdW50cyBhcyBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuICAgIH1cbiAgICBjb25zdCBkaWFncmFtTWV0YWRhdGEgPSB1aVtcImRpYWdyYW1NZXRhZGF0YVwiXTtcbiAgICBpZiAoZGlhZ3JhbU1ldGFkYXRhICYmIHR5cGVvZiBkaWFncmFtTWV0YWRhdGEgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGVkaXRvci5kaWFncmFtTWV0YWRhdGEgPSBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUoXG4gICAgICAgIGRpYWdyYW1NZXRhZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgKSBhcyBSZWNvcmQ8c3RyaW5nLCBHcmFwaEpzb25WYWx1ZT47XG4gICAgfVxuICAgIGNvbnN0IG5vZGVDb25maWdzID0gdWlbXCJub2RlQ29uZmlnc1wiXTtcbiAgICBpZiAobm9kZUNvbmZpZ3MgJiYgdHlwZW9mIG5vZGVDb25maWdzID09PSBcIm9iamVjdFwiKSB7XG4gICAgICBlZGl0b3Iubm9kZUNvbmZpZ3MgPSBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUoXG4gICAgICAgIG5vZGVDb25maWdzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICApIGFzIFJlY29yZDxzdHJpbmcsIEdyYXBoSnNvblZhbHVlPjtcbiAgICB9XG4gIH1cbiAgZWRpdG9yLm5vZGVQb3J0cyA9IHt9O1xuICBmb3IgKGNvbnN0IG5vZGUgb2Ygc25hcHNob3Quc3RhdGUubm9kZXMpIHtcbiAgICBpZiAobm9kZS5wb3J0cykge1xuICAgICAgZWRpdG9yLm5vZGVQb3J0c1tub2RlLmlkXSA9IHNhbml0aXplVG9HcmFwaEpzb25WYWx1ZShcbiAgICAgICAgbm9kZS5wb3J0cyBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgICApIGFzIFJlY29yZDxzdHJpbmcsIEdyYXBoSnNvblZhbHVlPjtcbiAgICB9XG4gIH1cbiAgaWYgKCFPYmplY3Qua2V5cyhlZGl0b3Iubm9kZVBvcnRzKS5sZW5ndGgpIGRlbGV0ZSBlZGl0b3Iubm9kZVBvcnRzO1xuICBjb25zdCBkZWZpbml0aW9uRGlzcGxheSA9IGRyb3BVbnNhZmVFbnRyaWVzKFxuICAgIHNuYXBzaG90LmRlZmluaXRpb24gYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICApO1xuICBkZWxldGUgZGVmaW5pdGlvbkRpc3BsYXlbXCJpbnB1dHNcIl07XG4gIGRlbGV0ZSBkZWZpbml0aW9uRGlzcGxheVtcIm91dHB1dHNcIl07XG4gIGRlbGV0ZSBkZWZpbml0aW9uRGlzcGxheVtcIm5vZGVzXCJdO1xuICBkZWxldGUgZGVmaW5pdGlvbkRpc3BsYXlbXCJyZWxhdGlvbnNcIl07XG4gIGVkaXRvci5kZWZpbml0aW9uRGlzcGxheSA9IGRlZmluaXRpb25EaXNwbGF5O1xuICBjb25zdCBtZXRhZGF0YSA9IHNhbml0aXplVG9HcmFwaEpzb25WYWx1ZShcbiAgICBzbmFwc2hvdC5zdGF0ZS5tZXRhZGF0YSA/PyB7fVxuICApIGFzIFJlY29yZDxzdHJpbmcsIEdyYXBoSnNvblZhbHVlPjtcbiAgcmV0dXJuIHsgZG9jdW1lbnQsIGVkaXRvciwgbWV0YWRhdGE6IE9iamVjdC5rZXlzKG1ldGFkYXRhKS5sZW5ndGggPyBtZXRhZGF0YSA6IHVuZGVmaW5lZCB9O1xufVxuXG4vKipcbiAqIFJlY29uc3RydWN0cyBhIGxlZ2FjeSBzbmFwc2hvdCBmcm9tIGEgY2Fub25pY2FsIHdyYXBwZXIuIFVzZXMgdGhlXG4gKiBgZWRpdG9yLmxlZ2FjeWAgcGF5bG9hZCB3aGVuIHByZXNlbnQgZm9yIGV4YWN0IHJvdW5kIHRyaXBzOyBvdGhlcndpc2UgaXRcbiAqIHJlYnVpbGRzIGEgYmVzdC1lZmZvcnQgbGVnYWN5IHNuYXBzaG90IGZyb20gdGhlIGRvY3VtZW50ICsgZWRpdG9yIHN0YXRlXG4gKiAoY29uc3RydWN0b3JzIGFyZSBuZXZlciByZXN0b3JlZCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93U25hcHNob3RUb0xlZ2FjeShcbiAgc25hcHNob3Q6IEdyYXBoV29ya2Zsb3dTbmFwc2hvdFxuKTogTGVnYWN5R3JhcGhXb3JrZmxvd1NuYXBzaG90IHtcbiAgaWYgKHNuYXBzaG90LmVkaXRvcj8ubGVnYWN5ICYmIGlzR3JhcGhKc29uU2FmZVZhbHVlKHNuYXBzaG90LmVkaXRvci5sZWdhY3kpKSB7XG4gICAgcmV0dXJuIGNsb25lVmFsdWUoc25hcHNob3QuZWRpdG9yLmxlZ2FjeSkgYXMgdW5rbm93biBhcyBMZWdhY3lHcmFwaFdvcmtmbG93U25hcHNob3Q7XG4gIH1cbiAgY29uc3QgeyBkb2N1bWVudCwgZWRpdG9yIH0gPSBzbmFwc2hvdDtcbiAgY29uc3QgYWxpYXNlcyA9IG5ldyBTZXQ8c3RyaW5nPihHUkFQSF9MRUdBQ1lfQk9VTkRBUllfQUxJQVNFUyk7XG4gIGlmIChkb2N1bWVudC5pZCkgYWxpYXNlcy5hZGQoZG9jdW1lbnQuaWQpO1xuICBpZiAoZG9jdW1lbnQubmFtZSkgYWxpYXNlcy5hZGQoZG9jdW1lbnQubmFtZSk7XG4gIGNvbnN0IGRpc3BsYXkgPSAoZWRpdG9yPy5kZWZpbml0aW9uRGlzcGxheSA/PyB7fSkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNvbnN0IGRlZmluaXRpb24gPSB7XG4gICAgLi4uY2xvbmVWYWx1ZShkaXNwbGF5KSxcbiAgICBuYW1lOiBkb2N1bWVudC5uYW1lLFxuICAgIHRhZzogZG9jdW1lbnQuaWQgfHwgKGRpc3BsYXlbXCJ0YWdcIl0gYXMgc3RyaW5nIHwgdW5kZWZpbmVkKSB8fCBkb2N1bWVudC5uYW1lLFxuICAgIGlucHV0czogZG9jdW1lbnQuaW5wdXRzLm1hcCgocG9ydCkgPT4gcG9ydFRvTGVnYWN5RGVmaW5pdGlvbihwb3J0KSksXG4gICAgb3V0cHV0czogZG9jdW1lbnQub3V0cHV0cy5tYXAoKHBvcnQpID0+IHBvcnRUb0xlZ2FjeURlZmluaXRpb24ocG9ydCkpLFxuICAgIG5vZGVzOiBkb2N1bWVudC5ub2Rlcy5tYXAoKG5vZGUpID0+ICh7IGlkOiBub2RlLmlkLCBraW5kOiBub2RlLmtpbmQgfSkpLFxuICAgIHJlbGF0aW9uczogZG9jdW1lbnQuZWRnZXMubWFwKChlZGdlKSA9PiAoe1xuICAgICAgaWQ6IGVkZ2UuaWQsXG4gICAgICBzb3VyY2U6IGVuZHBvaW50VG9MZWdhY3lSZWYoZWRnZS5zb3VyY2UpLnJlZklkLFxuICAgICAgc291cmNlUG9ydDogZWRnZS5zb3VyY2UucG9ydCxcbiAgICAgIHRhcmdldDogZW5kcG9pbnRUb0xlZ2FjeVJlZihlZGdlLnRhcmdldCkucmVmSWQsXG4gICAgICB0YXJnZXRQb3J0OiBlZGdlLnRhcmdldC5wb3J0LFxuICAgICAgbGFiZWw6IGVkZ2UubGFiZWwsXG4gICAgfSkpLFxuICB9IGFzIHVua25vd24gYXMgTGVnYWN5R3JhcGhXb3JrZmxvd1NuYXBzaG90W1wiZGVmaW5pdGlvblwiXTtcblxuICBjb25zdCBzdGF0ZTogTGVnYWN5R3JhcGhXb3JrZmxvd1NuYXBzaG90W1wic3RhdGVcIl0gPSB7XG4gICAgaW5wdXRzOiBkb2N1bWVudC5pbnB1dHMubWFwKChwb3J0KSA9PiAoe1xuICAgICAgcGF0aDogcG9ydC5pZCxcbiAgICAgIHZhbHVlOiBjbG9uZVZhbHVlKHBvcnQuZGVmYXVsdFZhbHVlKSBhcyBuZXZlcixcbiAgICAgIGxhYmVsOiBwb3J0LmxhYmVsLFxuICAgICAgcmVxdWlyZWQ6IHBvcnQucmVxdWlyZWQsXG4gICAgfSkpLFxuICAgIG91dHB1dHM6IGRvY3VtZW50Lm91dHB1dHMubWFwKChwb3J0KSA9PiAoe1xuICAgICAgcGF0aDogcG9ydC5pZCxcbiAgICAgIHZhbHVlOiBjbG9uZVZhbHVlKHBvcnQuZGVmYXVsdFZhbHVlKSBhcyBuZXZlcixcbiAgICAgIGxhYmVsOiBwb3J0LmxhYmVsLFxuICAgICAgcmVxdWlyZWQ6IHBvcnQucmVxdWlyZWQsXG4gICAgfSkpLFxuICAgIG5vZGVzOiBkb2N1bWVudC5ub2Rlcy5tYXAoKG5vZGUpID0+ICh7XG4gICAgICBpZDogbm9kZS5pZCxcbiAgICAgIHJlZjogeyBpZDogbm9kZS5pZCwga2luZDogbm9kZS5raW5kIH0sXG4gICAgICBsYWJlbDogbm9kZS5sYWJlbCxcbiAgICAgIGtpbmQ6IG5vZGUua2luZCxcbiAgICAgIHBvc2l0aW9uOiBub2RlLnVpPy5wb3NpdGlvbiA/IHsgeDogbm9kZS51aS5wb3NpdGlvbi54LCB5OiBub2RlLnVpLnBvc2l0aW9uLnkgfSA6IHVuZGVmaW5lZCxcbiAgICAgIHNpemU6IG5vZGUudWk/LnNpemUgPyB7IHdpZHRoOiBub2RlLnVpLnNpemUud2lkdGgsIGhlaWdodDogbm9kZS51aS5zaXplLmhlaWdodCB9IDogdW5kZWZpbmVkLFxuICAgICAgZXhwYW5kZWQ6IG5vZGUudWk/LmV4cGFuZGVkLFxuICAgICAgcG9ydHM6IChlZGl0b3I/Lm5vZGVQb3J0cz8uW25vZGUuaWRdIGFzIG5ldmVyKSA/PyB1bmRlZmluZWQsXG4gICAgICBkYXRhOiBjbG9uZVZhbHVlKG5vZGUucGFyYW1ldGVycyA/PyB7fSkgYXMgbmV2ZXIsXG4gICAgICBtZXRhZGF0YTogY2xvbmVWYWx1ZShub2RlLm1ldGFkYXRhID8/IHt9KSBhcyBuZXZlcixcbiAgICB9KSksXG4gICAgZWRnZXM6IGRvY3VtZW50LmVkZ2VzLm1hcCgoZWRnZSkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0gZW5kcG9pbnRUb0xlZ2FjeVJlZihlZGdlLnNvdXJjZSk7XG4gICAgICBjb25zdCB0YXJnZXQgPSBlbmRwb2ludFRvTGVnYWN5UmVmKGVkZ2UudGFyZ2V0KTtcbiAgICAgIGNvbnN0IGlzQm91bmRhcnkgPSBzb3VyY2UucmVmSWQgPT09IFwiJHdvcmtmbG93XCIgfHwgdGFyZ2V0LnJlZklkID09PSBcIiR3b3JrZmxvd1wiO1xuICAgICAgY29uc3QgaXNDb25uZWN0aW9uID0gZWRnZS50eXBlID09PSBcImNvbm5lY3Rpb25cIjtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBlZGdlLmlkLFxuICAgICAgICBzb3VyY2U6IHNvdXJjZS5yZWZJZCxcbiAgICAgICAgc291cmNlUmVmOiBzb3VyY2UucmVmSWQsXG4gICAgICAgIHNvdXJjZVBvcnQ6IHNvdXJjZS5wb3J0LFxuICAgICAgICB0YXJnZXQ6IHRhcmdldC5yZWZJZCxcbiAgICAgICAgdGFyZ2V0UmVmOiB0YXJnZXQucmVmSWQsXG4gICAgICAgIHRhcmdldFBvcnQ6IHRhcmdldC5wb3J0LFxuICAgICAgICBsYWJlbDogZWRnZS5sYWJlbCxcbiAgICAgICAgdHlwZTogaXNDb25uZWN0aW9uID8gXCJjb25uZWN0aW9uXCIgOiBpc0JvdW5kYXJ5ID8gXCJvdXRwdXRcIiA6IFwiZGF0YVwiLFxuICAgICAgICBtZXRhZGF0YTogY2xvbmVWYWx1ZShlZGdlLm1ldGFkYXRhID8/IHt9KSBhcyBuZXZlcixcbiAgICAgIH0gYXMgbmV2ZXI7XG4gICAgfSksXG4gICAgdWk6IGNsb25lVmFsdWUoe1xuICAgICAgLi4uKGVkaXRvcj8uZHVwbGljYXRlQ291bnRzID8geyBkdXBsaWNhdGVDb3VudHM6IGVkaXRvci5kdXBsaWNhdGVDb3VudHMgfSA6IHt9KSxcbiAgICAgIC4uLihlZGl0b3I/LmRpYWdyYW1NZXRhZGF0YSA/IHsgZGlhZ3JhbU1ldGFkYXRhOiBlZGl0b3IuZGlhZ3JhbU1ldGFkYXRhIH0gOiB7fSksXG4gICAgICAuLi4oZWRpdG9yPy5ub2RlQ29uZmlncyA/IHsgbm9kZUNvbmZpZ3M6IGVkaXRvci5ub2RlQ29uZmlncyB9IDoge30pLFxuICAgIH0pIGFzIG5ldmVyLFxuICAgIG1ldGFkYXRhOiBjbG9uZVZhbHVlKHNuYXBzaG90Lm1ldGFkYXRhID8/IHt9KSBhcyBuZXZlcixcbiAgfTtcbiAgcmV0dXJuIHtcbiAgICB2ZXJzaW9uOiBHUkFQSF9XT1JLRkxPV19TTkFQU0hPVF9WRVJTSU9OLFxuICAgIGRlZmluaXRpb24sXG4gICAgc3RhdGUsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHBvcnRUb0xlZ2FjeURlZmluaXRpb24ocG9ydDogR3JhcGhXb3JrZmxvd1BvcnRJbnN0YW5jZSk6IEdyYXBoUG9ydERlZmluaXRpb24ge1xuICByZXR1cm4ge1xuICAgIHByb3BlcnR5OiBwb3J0LmlkLFxuICAgIGxhYmVsOiBwb3J0LmxhYmVsLFxuICAgIHJlcXVpcmVkOiBwb3J0LnJlcXVpcmVkLFxuICAgIG1ldGFkYXRhOiBjbG9uZVZhbHVlKHBvcnQubWV0YWRhdGEgPz8ge30pIGFzIG5ldmVyLFxuICB9IGFzIHVua25vd24gYXMgR3JhcGhQb3J0RGVmaW5pdGlvbjtcbn1cblxuLyoqIE5vcm1hbGl6ZXMgYW55IGFjY2VwdGVkIHNuYXBzaG90L2RvY3VtZW50IGZvcm0gdG8gYSBjYW5vbmljYWwgd3JhcHBlci4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93U25hcHNob3RMaWtlVG9DYW5vbmljYWwoXG4gIHZhbHVlOiBHcmFwaFdvcmtmbG93U25hcHNob3RMaWtlIHwgR3JhcGhXb3JrZmxvd0RvY3VtZW50XG4pOiBHcmFwaFdvcmtmbG93U25hcHNob3Qge1xuICBpZiAoXCJkb2N1bWVudFwiIGluIHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlIGFzIEdyYXBoV29ya2Zsb3dTbmFwc2hvdDtcbiAgfVxuICBpZiAoXCJzdGF0ZVwiIGluIHZhbHVlIHx8IFwiZGVmaW5pdGlvblwiIGluIHZhbHVlKSB7XG4gICAgcmV0dXJuIGdyYXBoV29ya2Zsb3dTbmFwc2hvdEZyb21MZWdhY3kodmFsdWUgYXMgTGVnYWN5R3JhcGhXb3JrZmxvd1NuYXBzaG90KTtcbiAgfVxuICByZXR1cm4geyBkb2N1bWVudDogdmFsdWUgYXMgR3JhcGhXb3JrZmxvd0RvY3VtZW50IH07XG59XG4iXX0=
695
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHNob3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzbmFwc2hvdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE2T0EsOEVBS0M7QUFDRCwwREFnQkM7QUFDRCxvRUFrQkM7QUFDRCxrRUFFQztBQUNELHNFQUdDO0FBQ0QsZ0ZBRUM7QUFDRCxrRkFFQztBQTRNRCwwRkFnQ0M7QUFPRCwwRUFxQ0M7QUFPRCxzRUFrRkM7QUFVRCxvRkFRQztBQXRxQkQsMkNBQTBFO0FBQzFFLG9FQUFvRTtBQUNwRSwyRkFBMEY7QUFDMUYsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDekUsTUFBTSwyQkFBMkIsR0FBRztJQUNoQyxNQUFNO0lBQ04sWUFBWTtJQUNaLGFBQWE7SUFDYixhQUFhO0lBQ2IsWUFBWTtJQUNaLFVBQVU7Q0FDYixDQUFDO0FBQ1csUUFBQSwrQkFBK0IsR0FBRyxDQUFDLENBQUM7QUFDakQsU0FBUyxhQUFhLENBQUMsS0FBSztJQUN4QixPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUs7UUFDWCxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDckIsQ0FBQyxDQUFDLEtBQUssWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFDRCxTQUFTLFVBQVUsQ0FBQyxLQUFLO0lBQ3JCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENB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LEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsSUFBSTtRQUN2QyxRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsUUFBUTtRQUNuRCxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsS0FBSztRQUMxQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsS0FBSztRQUMxQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsTUFBTTtRQUM3QyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsSUFBSTtRQUN2QyxNQUFNLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDL0QsV0FBVyxFQUFFLFNBQVMsQ0FBQyxXQUFXLElBQUksVUFBVSxDQUFDLFdBQVc7UUFDNUQsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLFFBQVE7UUFDbkQsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksVUFBVSxDQUFDLEtBQUs7UUFDMUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsUUFBUTtZQUNuQyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRSxNQUFNLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDL0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2xFLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM1RCxTQUFT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QUNGLE9BQU87UUFDSCxPQUFPLEVBQUUsdUNBQStCO1FBQ3hDLFVBQVU7UUFDVixLQUFLO0tBQ1IsQ0FBQztBQUNOLENBQUM7QUFDRCxTQUFTLHNCQUFzQixDQUFDLElBQUk7SUFDaEMsT0FBTztRQUNILFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtRQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1FBQ3ZCLFFBQVEsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7S0FDNUMsQ0FBQztBQUNOLENBQUM7QUFDRCw2RUFBNkU7QUFDN0UsU0FBZ0Isb0NBQW9DLENBQUMsS0FBSztJQUN0RCxJQUFJLFVBQVUsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN0QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsSUFBSSxPQUFPLElBQUksS0FBSyxJQUFJLFlBQVksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUM1QyxPQUFPLCtCQUErQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0FBQy9CLENBQUM7QUFDRCxrMGxGQUFrMGxGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3JhcGhMZWFmUG9ydHNPZiwgZ3JhcGhXb3JrZmxvd0RlZmluaXRpb25PZiB9IGZyb20gXCIuL3JlYWRlci5qc1wiO1xuaW1wb3J0IHsgaXNHcmFwaEpzb25TYWZlVmFsdWUgfSBmcm9tIFwiLi9kb2N1bWVudC9HcmFwaEpzb25WYWx1ZS5qc1wiO1xuaW1wb3J0IHsgZ3JhcGhWYWx1ZVNjaGVtYUZyb21WYWxpZGF0aW9uLCB9IGZyb20gXCIuL2NhdGFsb2cvR3JhcGhWYWx1ZVNjaGVtYURlcml2YXRpb24uanNcIjtcbmNvbnN0IEdSQVBIX0xFR0FDWV9CT1VOREFSWV9BTElBU0VTID0gW1wiJHdvcmtmbG93XCIsIFwid29ya2Zsb3dcIiwgXCJncmFwaFwiXTtcbmNvbnN0IEdSQVBIX0NPTlNUUlVDVE9SX0RBVEFfS0VZUyA9IFtcbiAgICBcIm5vZGVcIixcbiAgICBcIm1vZGVsQ2xhc3NcIixcbiAgICBcInNvdXJjZUNsYXNzXCIsXG4gICAgXCJjb25zdHJ1Y3RvclwiLFxuICAgIFwiZGVmaW5pdGlvblwiLFxuICAgIFwiZXhlY3V0b3JcIixcbl07XG5leHBvcnQgY29uc3QgR1JBUEhfV09SS0ZMT1dfU05BUFNIT1RfVkVSU0lPTiA9IDE7XG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlKSB7XG4gICAgcmV0dXJuICghIXZhbHVlICYmXG4gICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAhQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiZcbiAgICAgICAgISh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpKTtcbn1cbmZ1bmN0aW9uIGNsb25lVmFsdWUodmFsdWUpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLm1hcCgoZW50cnkpID0+IGNsb25lVmFsdWUoZW50cnkpKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUuZ2V0VGltZSgpKTtcbiAgICB9XG4gICAgaWYgKGlzUGxhaW5PYmplY3QodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IGNsb25lZCA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIGVudHJ5XSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGNsb25lZFtrZXldID0gY2xvbmVWYWx1ZShlbnRyeSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNsb25lZDtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuZnVuY3Rpb24gYXNTdHJpbmcodmFsdWUpIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbClcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiID8gdmFsdWUgOiBTdHJpbmcodmFsdWUpO1xufVxuZnVuY3Rpb24gaXNXb3JrZmxvd0RlZmluaXRpb25MaWtlKHZhbHVlKSB7XG4gICAgcmV0dXJuIChpc1BsYWluT2JqZWN0KHZhbHVlKSAmJlxuICAgICAgICB0eXBlb2YgdmFsdWUubmFtZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICB0eXBlb2YgdmFsdWUudGFnID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgIHR5cGVvZiB2YWx1ZS5raW5kID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgIEFycmF5LmlzQXJyYXkodmFsdWUuaW5wdXRzKSAmJlxuICAgICAgICBBcnJheS5pc0FycmF5KHZhbHVlLm91dHB1dHMpICYmXG4gICAgICAgIEFycmF5LmlzQXJyYXkodmFsdWUubm9kZXMpICYmXG4gICAgICAgIEFycmF5LmlzQXJyYXkodmFsdWUucmVsYXRpb25zKSk7XG59XG5mdW5jdGlvbiBzbmFwc2hvdE5vZGVLZXkobm9kZSkge1xuICAgIHJldHVybiBub2RlLnJlZj8uaWQgPz8gbm9kZS5pZCA/PyBub2RlLnJlZj8ucGF0aCA/PyBub2RlLnJlZj8ucHJvcGVydHk7XG59XG5mdW5jdGlvbiBzbmFwc2hvdEVkZ2VLZXkoZWRnZSkge1xuICAgIHJldHVybiAoZWRnZS5pZCA/P1xuICAgICAgICBbZWRnZS5zb3VyY2VSZWYgPz8gZWRnZS5zb3VyY2UsIGVkZ2Uuc291cmNlUG9ydCwgZWRnZS50YXJnZXRSZWYgPz8gZWRnZS50YXJnZXQsIGVkZ2UudGFyZ2V0UG9ydF1cbiAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAgIC5qb2luKFwiOjpcIikpO1xufVxuZnVuY3Rpb24gbm9ybWFsaXplVmFsdWVFbnRyaWVzKGVudHJpZXMsIGRlZmluaXRpb25zKSB7XG4gICAgY29uc3QgYnlQYXRoID0gbmV3IE1hcCgpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGVudHJpZXMpKSB7XG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICAgICAgaWYgKCFlbnRyeT8ucGF0aClcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIGJ5UGF0aC5zZXQoZW50cnkucGF0aCwgY2xvbmVWYWx1ZShlbnRyeSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzUGxhaW5PYmplY3QoZW50cmllcykpIHtcbiAgICAgICAgZm9yIChjb25zdCBbcGF0aCwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGVudHJpZXMpKSB7XG4gICAgICAgICAgICBieVBhdGguc2V0KHBhdGgsIHsgcGF0aCwgdmFsdWU6IGNsb25lVmFsdWUodmFsdWUpIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBkZWZpbml0aW9ucy5tYXAoKGRlZmluaXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgcGF0aCA9IGRlZmluaXRpb24ucGF0aCA/PyBkZWZpbml0aW9uLnByb3BlcnR5O1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gYnlQYXRoLmdldChwYXRoKTtcbiAgICAgICAgY29uc3QgZW50cnkgPSB7XG4gICAgICAgICAgICBsYWJlbDogZGVmaW5pdGlvbi5sYWJlbCxcbiAgICAgICAgICAgIHR5cGU6IGRlZmluaXRpb24udHlwZSxcbiAgICAgICAgICAgIHJlcXVpcmVkOiBkZWZpbml0aW9uLnJlcXVpcmVkLFxuICAgICAgICAgICAgbW9kZWw6IGRlZmluaXRpb24ubW9kZWwsXG4gICAgICAgICAgICBtZXRhZGF0YTogY2xvbmVWYWx1ZShkZWZpbml0aW9uLmdyYXBoPy5tZXRhZGF0YSA/P1xuICAgICAgICAgICAgICAgIGRlZmluaXRpb24uZWxlbWVudD8ucHJvcHMgPz9cbiAgICAgICAgICAgICAgICBkZWZpbml0aW9uLnByb3A/LnByb3BzID8/XG4gICAgICAgICAgICAgICAge30pLFxuICAgICAgICAgICAgLi4uY3VycmVudCxcbiAgICAgICAgICAgIHBhdGgsXG4gICAgICAgIH07XG4gICAgICAgIGlmICghT2JqZWN0LmtleXMoZW50cnkubWV0YWRhdGEgfHwge30pLmxlbmd0aCkge1xuICAgICAgICAgICAgZGVsZXRlIGVudHJ5Lm1ldGFkYXRhO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbnRyeTtcbiAgICB9KTtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGJ5UGF0aC52YWx1ZXMoKSkge1xuICAgICAgICBpZiAobm9ybWFsaXplZC5zb21lKChjdXJyZW50KSA9PiBjdXJyZW50LnBhdGggPT09IGVudHJ5LnBhdGgpKVxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIG5vcm1hbGl6ZWQucHVzaChjbG9uZVZhbHVlKGVudHJ5KSk7XG4gICAgfVxuICAgIHJldHVybiBub3JtYWxpemVkO1xufVxuZnVuY3Rpb24gbm9ybWFsaXplTm9kZXMobm9kZXMsIGRlZmluaXRpb25zKSB7XG4gICAgY29uc3QgYnlLZXkgPSBuZXcgTWFwKCk7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgZm9yIChjb25zdCBkZWZpbml0aW9uIG9mIGRlZmluaXRpb25zKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB7XG4gICAgICAgICAgICBpZDogZGVmaW5pdGlvbi5pZCxcbiAgICAgICAgICAgIHJlZjoge1xuICAgICAgICAgICAgICAgIGlkOiBkZWZpbml0aW9uLmlkLFxuICAgICAgICAgICAgICAgIGtpbmQ6IGRlZmluaXRpb24ua2luZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsYWJlbDogZGVmaW5pdGlvbi5sYWJlbCxcbiAgICAgICAgICAgIGtpbmQ6IGRlZmluaXRpb24ua2luZCxcbiAgICAgICAgICAgIGRhdGE6IGRlZmluaXRpb24ubm9kZSAhPT0gdW5kZWZpbmVkID8geyBub2RlOiBjbG9uZVZhbHVlKGRlZmluaXRpb24ubm9kZSkgfSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG1ldGFkYXRhOiBjbG9uZVZhbHVlKGRlZmluaXRpb24ubWV0YWRhdGEpLFxuICAgICAgICB9O1xuICAgICAgICByZXN1bHQucHVzaChub2RlKTtcbiAgICAgICAgYnlLZXkuc2V0KGRlZmluaXRpb24uaWQsIG5vZGUpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIG5vZGVzIHx8IFtdKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IHNuYXBzaG90Tm9kZUtleShlbnRyeSk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSBrZXkgPyBieUtleS5nZXQoa2V5KSA6IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZCA9IHtcbiAgICAgICAgICAgICAgICAuLi5jdXJyZW50LFxuICAgICAgICAgICAgICAgIC4uLmNsb25lVmFsdWUoZW50cnkpLFxuICAgICAgICAgICAgICAgIGlkOiBlbnRyeS5pZCB8fCBjdXJyZW50LmlkLFxuICAgICAgICAgICAgICAgIHJlZjoge1xuICAgICAgICAgICAgICAgICAgICAuLi5jdXJyZW50LnJlZixcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnkucmVmLFxuICAgICAgICAgICAgICAgICAgICBpZDogZW50cnkucmVmPy5pZCA/PyBjdXJyZW50LnJlZj8uaWQgPz8gY3VycmVudC5pZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBlbnRyeS5wb3NpdGlvbiA/IGNsb25lVmFsdWUoZW50cnkucG9zaXRpb24pIDogY3VycmVudC5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICBzaXplOiBlbnRyeS5zaXplID8gY2xvbmVWYWx1ZShlbnRyeS5zaXplKSA6IGN1cnJlbnQuc2l6ZSxcbiAgICAgICAgICAgICAgICBwb3J0czoge1xuICAgICAgICAgICAgICAgICAgICAuLi4oY3VycmVudC5wb3J0cyB8fCB7fSksXG4gICAgICAgICAgICAgICAgICAgIC4uLihlbnRyeS5wb3J0cyB8fCB7fSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLihjdXJyZW50LmRhdGEgfHwge30pLFxuICAgICAgICAgICAgICAgICAgICAuLi4oZW50cnkuZGF0YSB8fCB7fSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAuLi4oY3VycmVudC5tZXRhZGF0YSB8fCB7fSksXG4gICAgICAgICAgICAgICAgICAgIC4uLihlbnRyeS5tZXRhZGF0YSB8fCB7fSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoa2V5KVxuICAgICAgICAgICAgICAgIGJ5S2V5LnNldChrZXksIG1lcmdlZCk7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHJlc3VsdC5maW5kSW5kZXgoKHZhbHVlKSA9PiB2YWx1ZS5pZCA9PT0gY3VycmVudC5pZCk7XG4gICAgICAgICAgICBpZiAoaW5kZXggPj0gMClcbiAgICAgICAgICAgICAgICByZXN1bHRbaW5kZXhdID0gbWVyZ2VkO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2xvbmVkID0gY2xvbmVWYWx1ZShlbnRyeSk7XG4gICAgICAgIHJlc3VsdC5wdXNoKGNsb25lZCk7XG4gICAgICAgIGlmIChrZXkpXG4gICAgICAgICAgICBieUtleS5zZXQoa2V5LCBjbG9uZWQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gbm9ybWFsaXplRWRnZXMoZWRnZXMsIHJlbGF0aW9ucykge1xuICAgIGNvbnN0IGJ5S2V5ID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIGZvciAoY29uc3QgW2luZGV4LCByZWxhdGlvbl0gb2YgcmVsYXRpb25zLmVudHJpZXMoKSkge1xuICAgICAgICBjb25zdCBzb3VyY2UgPSBhc1N0cmluZyhyZWxhdGlvbi5zb3VyY2UpID8/IGBzb3VyY2UtJHtpbmRleH1gO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBhc1N0cmluZyhyZWxhdGlvbi50YXJnZXQpID8/IGB0YXJnZXQtJHtpbmRleH1gO1xuICAgICAgICBjb25zdCBlZGdlID0ge1xuICAgICAgICAgICAgaWQ6IHJlbGF0aW9uLmxhYmVsIHx8IGAke3NvdXJjZX06JHtyZWxhdGlvbi5zb3VyY2VQb3J0ID8/IFwiKlwifS0+JHt0YXJnZXR9OiR7cmVsYXRpb24udGFyZ2V0UG9ydCA/PyBcIipcIn1gLFxuICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgc291cmNlUmVmOiBzb3VyY2UsXG4gICAgICAgICAgICBzb3VyY2VQb3J0OiByZWxhdGlvbi5zb3VyY2VQb3J0LFxuICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgdGFyZ2V0UmVmOiB0YXJnZXQsXG4gICAgICAgICAgICB0YXJnZXRQb3J0OiByZWxhdGlvbi50YXJnZXRQb3J0LFxuICAgICAgICAgICAgbGFiZWw6IHJlbGF0aW9uLmxhYmVsLFxuICAgICAgICAgICAgbWV0YWRhdGE6IGNsb25lVmFsdWUocmVsYXRpb24ubWV0YWRhdGEpLFxuICAgICAgICB9O1xuICAgICAgICByZXN1bHQucHVzaChlZGdlKTtcbiAgICAgICAgYnlLZXkuc2V0KGVkZ2UuaWQsIGVkZ2UpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVkZ2VzIHx8IFtdKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IHNuYXBzaG90RWRnZUtleShlbnRyeSk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSBrZXkgPyBieUtleS5nZXQoa2V5KSA6IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZCA9IHtcbiAgICAgICAgICAgICAgICAuLi5jdXJyZW50LFxuICAgICAgICAgICAgICAgIC4uLmNsb25lVmFsdWUoZW50cnkpLFxuICAgICAgICAgICAgICAgIGlkOiBlbnRyeS5pZCB8fCBjdXJyZW50LmlkLFxuICAgICAgICAgICAgICAgIHNvdXJjZTogZW50cnkuc291cmNlIHx8IGN1cnJlbnQuc291cmNlLFxuICAgICAgICAgICAgICAgIHNvdXJjZVJlZjogZW50cnkuc291cmNlUmVmID8/IGN1cnJlbnQuc291cmNlUmVmID8/IGVudHJ5LnNvdXJjZSA/PyBjdXJyZW50LnNvdXJjZSxcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IGVudHJ5LnRhcmdldCB8fCBjdXJyZW50LnRhcmdldCxcbiAgICAgICAgICAgICAgICB0YXJnZXRSZWY6IGVudHJ5LnRhcmdldFJlZiA/PyBjdXJyZW50LnRhcmdldFJlZiA/PyBlbnRyeS50YXJnZXQgPz8gY3VycmVudC50YXJnZXQsXG4gICAgICAgICAgICAgICAgLy8gTGFiZWxzIGFyZSBkb2N1bWVudC1jYXJyaWVkIGRpc3BsYXkgc2VtYW50aWNzICjCpzQuNC43KTogYSByb3cgbWVyZ2VkXG4gICAgICAgICAgICAgICAgLy8gZnJvbSBhIGNhbnZhcyBjbG9uZSB0aGF0IG5ldmVyIGNhcnJpZWQgaXRzIG93biBsYWJlbCBtdXN0IG5vdCBlcmFzZVxuICAgICAgICAgICAgICAgIC8vIHRoZSByZWxhdGlvbiByb3cncyBsYWJlbC5cbiAgICAgICAgICAgICAgICBsYWJlbDogZW50cnkubGFiZWwgPz8gY3VycmVudC5sYWJlbCxcbiAgICAgICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAuLi4oY3VycmVudC5tZXRhZGF0YSB8fCB7fSksXG4gICAgICAgICAgICAgICAgICAgIC4uLihlbnRyeS5tZXRhZGF0YSB8fCB7fSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoa2V5KVxuICAgICAgICAgICAgICAgIGJ5S2V5LnNldChrZXksIG1lcmdlZCk7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHJlc3VsdC5maW5kSW5kZXgoKHZhbHVlKSA9PiB2YWx1ZS5pZCA9PT0gY3VycmVudC5pZCk7XG4gICAgICAgICAgICBpZiAoaW5kZXggPj0gMClcbiAgICAgICAgICAgICAgICByZXN1bHRbaW5kZXhdID0gbWVyZ2VkO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2xvbmVkID0gY2xvbmVWYWx1ZShlbnRyeSk7XG4gICAgICAgIHJlc3VsdC5wdXNoKGNsb25lZCk7XG4gICAgICAgIGlmIChrZXkpXG4gICAgICAgICAgICBieUtleS5zZXQoa2V5LCBjbG9uZWQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gbm9ybWFsaXplV29ya2Zsb3dEZWZpbml0aW9uKGRlZmluaXRpb24sIG92ZXJyaWRlcyA9IHt9KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogb3ZlcnJpZGVzLm5hbWUgPz8gZGVmaW5pdGlvbi5uYW1lLFxuICAgICAgICB0YWc6IG92ZXJyaWRlcy50YWcgPz8gZGVmaW5pdGlvbi50YWcsXG4gICAgICAgIGtpbmQ6IG92ZXJyaWRlcy5raW5kID8/IGRlZmluaXRpb24ua2luZCxcbiAgICAgICAgY2F0ZWdvcnk6IG92ZXJyaWRlcy5jYXRlZ29yeSA/PyBkZWZpbml0aW9uLmNhdGVnb3J5LFxuICAgICAgICBjb2xvcjogb3ZlcnJpZGVzLmNvbG9yID8/IGRlZmluaXRpb24uY29sb3IsXG4gICAgICAgIGdyb3VwOiBvdmVycmlkZXMuZ3JvdXAgPz8gZGVmaW5pdGlvbi5ncm91cCxcbiAgICAgICAgaGVpZ2h0OiBvdmVycmlkZXMuaGVpZ2h0ID8/IGRlZmluaXRpb24uaGVpZ2h0LFxuICAgICAgICBpY29uOiBvdmVycmlkZXMuaWNvbiA/PyBkZWZpbml0aW9uLmljb24sXG4gICAgICAgIGxhYmVsczogY2xvbmVWYWx1ZShvdmVycmlkZXMubGFiZWxzID8/IGRlZmluaXRpb24ubGFiZWxzID8/IFtdKSxcbiAgICAgICAgbWF4Q2hpbGRyZW46IG92ZXJyaWRlcy5tYXhDaGlsZHJlbiA/PyBkZWZpbml0aW9uLm1heENoaWxkcmVuLFxuICAgICAgICBtaW5XaWR0aDogb3ZlcnJpZGVzLm1pbldpZHRoID8/IGRlZmluaXRpb24ubWluV2lkdGgsXG4gICAgICAgIHdpZHRoOiBvdmVycmlkZXMud2lkdGggPz8gZGVmaW5pdGlvbi53aWR0aCxcbiAgICAgICAgbWV0YWRhdGE6IGNsb25lVmFsdWUob3ZlcnJpZGVzLm1ldGFkYXRhID8/XG4gICAgICAgICAgICAoXCJ3b3JrZmxvd1wiIGluIGRlZmluaXRpb24gPyBkZWZpbml0aW9uLndvcmtmbG93IDogZGVmaW5pdGlvbi5tZXRhZGF0YSkpLFxuICAgICAgICBpbnB1dHM6IGNsb25lVmFsdWUob3ZlcnJpZGVzLmlucHV0cyA/PyBkZWZpbml0aW9uLmlucHV0cyA/PyBbXSksXG4gICAgICAgIG91dHB1dHM6IGNsb25lVmFsdWUob3ZlcnJpZGVzLm91dHB1dHMgPz8gZGVmaW5pdGlvbi5vdXRwdXRzID8/IFtdKSxcbiAgICAgICAgbm9kZXM6IGNsb25lVmFsdWUob3ZlcnJpZGVzLm5vZGVzID8/IGRlZmluaXRpb24ubm9kZXMgPz8gW10pLFxuICAgICAgICByZWxhdGlvbnM6IGNsb25lVmFsdWUob3ZlcnJpZGVzLnJlbGF0aW9ucyA/PyBkZWZpbml0aW9uLnJlbGF0aW9ucyA/PyBbXSksXG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93U25hcHNob3REZWZpbml0aW9uT2YobW9kZWwpIHtcbiAgICBjb25zdCBkZWZpbml0aW9uID0gaXNXb3JrZmxvd0RlZmluaXRpb25MaWtlKG1vZGVsKVxuICAgICAgICA/IG1vZGVsXG4gICAgICAgIDogZ3JhcGhXb3JrZmxvd0RlZmluaXRpb25PZihtb2RlbCk7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZVdvcmtmbG93RGVmaW5pdGlvbihkZWZpbml0aW9uKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93U25hcHNob3RPZihtb2RlbCwgaW5wdXQpIHtcbiAgICBjb25zdCBub3JtYWxpemVkRGVmaW5pdGlvbiA9IG5vcm1hbGl6ZVdvcmtmbG93RGVmaW5pdGlvbihncmFwaFdvcmtmbG93U25hcHNob3REZWZpbml0aW9uT2YobW9kZWwpLCBpbnB1dD8uZGVmaW5pdGlvbik7XG4gICAgY29uc3QgaW5wdXRQb3J0cyA9IGdyYXBoTGVhZlBvcnRzT2Yobm9ybWFsaXplZERlZmluaXRpb24uaW5wdXRzKTtcbiAgICBjb25zdCBvdXRwdXRQb3J0cyA9IGdyYXBoTGVhZlBvcnRzT2Yobm9ybWFsaXplZERlZmluaXRpb24ub3V0cHV0cyk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdmVyc2lvbjogR1JBUEhfV09SS0ZMT1dfU05BUFNIT1RfVkVSU0lPTixcbiAgICAgICAgZGVmaW5pdGlvbjogbm9ybWFsaXplZERlZmluaXRpb24sXG4gICAgICAgIHN0YXRlOiB7XG4gICAgICAgICAgICBpbnB1dHM6IG5vcm1hbGl6ZVZhbHVlRW50cmllcyhpbnB1dD8uaW5wdXRzLCBpbnB1dFBvcnRzKSxcbiAgICAgICAgICAgIG91dHB1dHM6IG5vcm1hbGl6ZVZhbHVlRW50cmllcyhpbnB1dD8ub3V0cHV0cywgb3V0cHV0UG9ydHMpLFxuICAgICAgICAgICAgbm9kZXM6IG5vcm1hbGl6ZU5vZGVzKGlucHV0Py5ub2Rlcywgbm9ybWFsaXplZERlZmluaXRpb24ubm9kZXMpLFxuICAgICAgICAgICAgZWRnZXM6IG5vcm1hbGl6ZUVkZ2VzKGlucHV0Py5lZGdlcywgbm9ybWFsaXplZERlZmluaXRpb24ucmVsYXRpb25zKSxcbiAgICAgICAgICAgIHVpOiBjbG9uZVZhbHVlKGlucHV0Py51aSB8fCB7fSksXG4gICAgICAgICAgICBtZXRhZGF0YTogY2xvbmVWYWx1ZShpbnB1dD8ubWV0YWRhdGEgfHwge30pLFxuICAgICAgICB9LFxuICAgIH07XG59XG5leHBvcnQgZnVuY3Rpb24gZ3JhcGhXb3JrZmxvd1NuYXBzaG90UmVzdG9yZShzbmFwc2hvdCwgbW9kZWwpIHtcbiAgICBpZiAoIShcInZlcnNpb25cIiBpbiBzbmFwc2hvdCkpIHtcbiAgICAgICAgcmV0dXJuIGdyYXBoV29ya2Zsb3dTbmFwc2hvdE9mKG1vZGVsID8/XG4gICAgICAgICAgICBzbmFwc2hvdC5kZWZpbml0aW9uID8/XG4gICAgICAgICAgICB7fSwgc25hcHNob3QpO1xuICAgIH1cbiAgICBjb25zdCBmdWxsU25hcHNob3QgPSBzbmFwc2hvdDtcbiAgICBjb25zdCBkZWZpbml0aW9uID0gbW9kZWxcbiAgICAgICAgPyBncmFwaFdvcmtmbG93U25hcHNob3REZWZpbml0aW9uT2YobW9kZWwpXG4gICAgICAgIDogZnVsbFNuYXBzaG90LmRlZmluaXRpb247XG4gICAgcmV0dXJuIGdyYXBoV29ya2Zsb3dTbmFwc2hvdE9mKGRlZmluaXRpb24sIHtcbiAgICAgICAgaW5wdXRzOiBmdWxsU25hcHNob3Quc3RhdGUuaW5wdXRzLFxuICAgICAgICBvdXRwdXRzOiBmdWxsU25hcHNob3Quc3RhdGUub3V0cHV0cyxcbiAgICAgICAgbm9kZXM6IGZ1bGxTbmFwc2hvdC5zdGF0ZS5ub2RlcyxcbiAgICAgICAgZWRnZXM6IGZ1bGxTbmFwc2hvdC5zdGF0ZS5lZGdlcyxcbiAgICAgICAgdWk6IGZ1bGxTbmFwc2hvdC5zdGF0ZS51aSxcbiAgICAgICAgbWV0YWRhdGE6IGZ1bGxTbmFwc2hvdC5zdGF0ZS5tZXRhZGF0YSxcbiAgICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93U25hcHNob3RUb0pTT04oc25hcHNob3QsIHNwYWNlKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHNuYXBzaG90LCB1bmRlZmluZWQsIHNwYWNlKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93U25hcHNob3RGcm9tSlNPTihpbnB1dCwgbW9kZWwpIHtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHR5cGVvZiBpbnB1dCA9PT0gXCJzdHJpbmdcIiA/IEpTT04ucGFyc2UoaW5wdXQpIDogaW5wdXQ7XG4gICAgcmV0dXJuIGdyYXBoV29ya2Zsb3dTbmFwc2hvdFJlc3RvcmUoc25hcHNob3QsIG1vZGVsKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93U25hcHNob3RJbnB1dFZhbHVlc09mKHNuYXBzaG90KSB7XG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhzbmFwc2hvdC5zdGF0ZS5pbnB1dHMubWFwKChlbnRyeSkgPT4gW2VudHJ5LnBhdGgsIGNsb25lVmFsdWUoZW50cnkudmFsdWUpXSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dTbmFwc2hvdE91dHB1dFZhbHVlc09mKHNuYXBzaG90KSB7XG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhzbmFwc2hvdC5zdGF0ZS5vdXRwdXRzLm1hcCgoZW50cnkpID0+IFtlbnRyeS5wYXRoLCBjbG9uZVZhbHVlKGVudHJ5LnZhbHVlKV0pKTtcbn1cbmZ1bmN0aW9uIGRyb3BVbnNhZmVFbnRyaWVzKHNvdXJjZSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHNvdXJjZSkpIHtcbiAgICAgICAgaWYgKEdSQVBIX0NPTlNUUlVDVE9SX0RBVEFfS0VZUy5pbmNsdWRlcyhrZXkpKVxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNvbnN0IHNhbml0aXplZCA9IHNhbml0aXplVG9HcmFwaEpzb25WYWx1ZSh2YWx1ZSk7XG4gICAgICAgIGlmIChzYW5pdGl6ZWQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gc2FuaXRpemVkO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLyoqXG4gKiBTYW5pdGl6ZXMgYSBsZWdhY3kgc25hcHNob3QgaW50byBhIEpTT04tc2FmZSBwYXlsb2FkIHdoaWxlIHByZXNlcnZpbmcgaXRzXG4gKiBzdHJ1Y3R1cmFsIGtleXMgKGB2ZXJzaW9uYCwgYGRlZmluaXRpb25gLCBgc3RhdGVgKS4gQ29uc3RydWN0b3Ita2V5IHN0cmlwcGluZ1xuICogc3RpbGwgYXBwbGllcyB0byB0aGUgcGF5bG9hZCBjb250ZW50cyBpbnNpZGUsIHNvIHRoZSBjYW5vbmljYWzihpJsZWdhY3lcbiAqIHJvdW5kIHRyaXAgc3RheXMgbG9zc2xlc3MgZm9yIHBlcnNpc3RlZCBkYXRhLlxuICovXG5mdW5jdGlvbiBzYW5pdGl6ZUxlZ2FjeVNuYXBzaG90UGF5bG9hZChzbmFwc2hvdCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIHZlcnNpb246IHNuYXBzaG90LnZlcnNpb24sXG4gICAgICAgIGRlZmluaXRpb246IGRyb3BVbnNhZmVFbnRyaWVzKChzbmFwc2hvdC5kZWZpbml0aW9uID8/IHt9KSksXG4gICAgICAgIHN0YXRlOiBkcm9wVW5zYWZlRW50cmllcygoc25hcHNob3Quc3RhdGUgPz8ge30pKSxcbiAgICB9O1xufVxuZnVuY3Rpb24gc2FuaXRpemVUb0dyYXBoSnNvblZhbHVlKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBjb25zdCB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgIGlmICh0eXBlID09PSBcInN0cmluZ1wiIHx8IHR5cGUgPT09IFwiYm9vbGVhblwiKVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgaWYgKHR5cGUgPT09IFwibnVtYmVyXCIpXG4gICAgICAgIHJldHVybiBOdW1iZXIuaXNGaW5pdGUodmFsdWUpID8gdmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gW107XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB2YWx1ZSkge1xuICAgICAgICAgICAgY29uc3Qgc2FuaXRpemVkID0gc2FuaXRpemVUb0dyYXBoSnNvblZhbHVlKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKHNhbml0aXplZCAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goc2FuaXRpemVkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuICAgIGlmICh0eXBlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiBkcm9wVW5zYWZlRW50cmllcyh2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBib3VuZGFyeUFsaWFzZXNGb3IoZGVmaW5pdGlvbikge1xuICAgIGNvbnN0IGFsaWFzZXMgPSBuZXcgU2V0KEdSQVBIX0xFR0FDWV9CT1VOREFSWV9BTElBU0VTKTtcbiAgICBpZiAoZGVmaW5pdGlvbi50YWcpXG4gICAgICAgIGFsaWFzZXMuYWRkKGRlZmluaXRpb24udGFnKTtcbiAgICBpZiAoZGVmaW5pdGlvbi5uYW1lKVxuICAgICAgICBhbGlhc2VzLmFkZChkZWZpbml0aW9uLm5hbWUpO1xuICAgIHJldHVybiBhbGlhc2VzO1xufVxuZnVuY3Rpb24gbGVnYWN5RW5kcG9pbnQocmVmSWQsIHBvcnQsIGFsaWFzZXMsIGJvdW5kYXJ5UG9ydElkcykge1xuICAgIGNvbnN0IHJlc29sdmVkUG9ydCA9IHBvcnQgPz8gXCJcIjtcbiAgICBpZiAoIXJlZklkIHx8IGFsaWFzZXMuaGFzKHJlZklkKSkge1xuICAgICAgICByZXR1cm4geyBzY29wZTogXCJ3b3JrZmxvd1wiLCBwb3J0OiByZXNvbHZlZFBvcnQgfTtcbiAgICB9XG4gICAgLy8gVGhlIGxlZ2FjeSBkZWNvcmF0ZWQtcm9vdCBjYW52YXMgcmVuZGVyZWQgd29ya2Zsb3cgaW5wdXQgcG9ydHMgYXMgZHJhZ2dhYmxlXG4gICAgLy8gYm91bmRhcnkgYmFkZ2VzIChgaW5wdXQte3BvcnR9YCwgcG9ydCBoYW5kbGUgYHZhbHVlYCkuIFRob3NlIGJpbmRpbmdzIHN0YXlcbiAgICAvLyBsb3NzbGVzcyBvbmx5IHdoZW4gdGhlIGJhZGdlIGlkIGZvbGRzIGJhY2sgb250byB0aGUgd29ya2Zsb3cgcG9ydCBpdCB3YXNcbiAgICAvLyBkcmF3biBmb3IgKERFQ0FGLTUwIMKnNC4xMSk7IG90aGVyd2lzZSBhIHdvcmtmbG93IHBvcnQgd291bGQgY29sbGFwc2UgaW50b1xuICAgIC8vIG9uZSBzaGFyZWQgYm91bmRhcnkgZW5kcG9pbnQgYW5kIGRyb3AgcmVhbCBlZGdlcyAowqc0LjQuNiBjYW5vbmljYWwgZm9ybSkuXG4gICAgaWYgKHJlZklkLnN0YXJ0c1dpdGgoXCJpbnB1dC1cIikpIHtcbiAgICAgICAgY29uc3Qgd29ya2Zsb3dQb3J0SWQgPSBib3VuZGFyeVBvcnRJZHM/LmdldChyZWZJZC5zbGljZShcImlucHV0LVwiLmxlbmd0aCkgPz8gXCJcIik7XG4gICAgICAgIGlmICh3b3JrZmxvd1BvcnRJZCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzY29wZTogXCJ3b3JrZmxvd1wiLFxuICAgICAgICAgICAgICAgIHBvcnQ6IHdvcmtmbG93UG9ydElkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBzY29wZTogXCJub2RlXCIsIG5vZGVJZDogcmVmSWQsIHBvcnQ6IHJlc29sdmVkUG9ydCB9O1xufVxuLyoqXG4gKiBNYXBzIHdvcmtmbG93IGlucHV0LXByb3BlcnR5IG5hbWVzIHRvIHRoZWlyIGxlZ2FjeSBib3VuZGFyeS1iYWRnZSBpZHNcbiAqIChgaW5wdXQte3Byb3BlcnR5fWApLCBzbyBiYWRnZXMgZHJhd24gb24gdGhlIGNhbnZhcyByZXNvbHZlIGJhY2sgdG8gdGhlXG4gKiB3b3JrZmxvdyBwb3J0IHRoZXkgcmVwcmVzZW50ICjCpzQuMTEpLlxuICovXG5mdW5jdGlvbiBib3VuZGFyeVBvcnRJZHNGb3Ioc25hcHNob3QpIHtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwKCk7XG4gICAgZm9yIChjb25zdCBwb3J0IG9mIHNuYXBzaG90LmRlZmluaXRpb24uaW5wdXRzKSB7XG4gICAgICAgIG1hcC5zZXQoYGlucHV0LSR7cG9ydC5wcm9wZXJ0eX1gLCBwb3J0LnByb3BlcnR5KTtcbiAgICB9XG4gICAgcmV0dXJuIG1hcDtcbn1cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGRlY29yYXRlZCBkZWZpbml0aW9uJ3Mgb3duIGVkZ2UgbGFiZWxzIGJ5IGNhbm9uaWNhbCBlbmRwb2ludFxuICogcGFpciwgc28gY29udmVydGVkIGxlZ2FjeSBlZGdlcyB0aGF0IG5ldmVyIGNhcnJpZWQgYSBsYWJlbCBvbiB0aGUgZWRnZSByb3dcbiAqIChjYW52YXMtZHJhd24gY2xvbmVzIG1lcmdlZCBvdmVyIHRoZSByZWxhdGlvbiByb3dzKSBzdGlsbCByZXN0b3JlIHRoZVxuICogZG9jdW1lbnQtY2FycmllZCB7QGxpbmsgR3JhcGhFZGdlSW5zdGFuY2UubGFiZWx9ICjCpzQuNC43KSBpbnN0ZWFkIG9mIGxvc2luZ1xuICogdGhlIGRpc3BsYXkgYWZmb3JkYW5jZSBvbiBzYXZlL3JlbG9hZC5cbiAqL1xuZnVuY3Rpb24gbGVnYWN5UmVsYXRpb25MYWJlbEJ5RW5kcG9pbnQoc25hcHNob3QsIGFsaWFzZXMsIGJvdW5kYXJ5UG9ydElkcykge1xuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXAoKTtcbiAgICBmb3IgKGNvbnN0IHJlbGF0aW9uIG9mIHNuYXBzaG90LmRlZmluaXRpb24ucmVsYXRpb25zKSB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdHlwZW9mIHJlbGF0aW9uLmxhYmVsID09PSBcInN0cmluZ1wiID8gcmVsYXRpb24ubGFiZWwgOiB1bmRlZmluZWQ7XG4gICAgICAgIGlmICghbGFiZWwpXG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY29uc3Qgc291cmNlUmVmID0gdHlwZW9mIHJlbGF0aW9uLnNvdXJjZSA9PT0gXCJzdHJpbmdcIiA/IHJlbGF0aW9uLnNvdXJjZSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgdGFyZ2V0UmVmID0gdHlwZW9mIHJlbGF0aW9uLnRhcmdldCA9PT0gXCJzdHJpbmdcIiA/IHJlbGF0aW9uLnRhcmdldCA6IHVuZGVmaW5lZDtcbiAgICAgICAgbWFwLnNldChlZGdlUGFpcktleU9mKHtcbiAgICAgICAgICAgIHNvdXJjZTogbGVnYWN5RW5kcG9pbnQoc291cmNlUmVmLCByZWxhdGlvbi5zb3VyY2VQb3J0LCBhbGlhc2VzLCBib3VuZGFyeVBvcnRJZHMpLFxuICAgICAgICAgICAgdGFyZ2V0OiBsZWdhY3lFbmRwb2ludCh0YXJnZXRSZWYsIHJlbGF0aW9uLnRhcmdldFBvcnQsIGFsaWFzZXMsIGJvdW5kYXJ5UG9ydElkcyksXG4gICAgICAgIH0pLCBsYWJlbCk7XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG59XG5mdW5jdGlvbiBlbmRwb2ludFRvTGVnYWN5UmVmKGVuZHBvaW50KSB7XG4gICAgaWYgKGVuZHBvaW50LnNjb3BlID09PSBcIndvcmtmbG93XCIpIHtcbiAgICAgICAgcmV0dXJuIHsgcmVmSWQ6IFwiJHdvcmtmbG93XCIsIHBvcnQ6IGVuZHBvaW50LnBvcnQgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgcmVmSWQ6IGVuZHBvaW50Lm5vZGVJZCwgcG9ydDogZW5kcG9pbnQucG9ydCB9O1xufVxuZnVuY3Rpb24gcG9ydEluc3RhbmNlRnJvbURlZmluaXRpb24ocG9ydCwgdmFsdWUpIHtcbiAgICBjb25zdCBpbnN0YW5jZSA9IHtcbiAgICAgICAgaWQ6IHBvcnQucHJvcGVydHksXG4gICAgICAgIGxhYmVsOiBwb3J0LmxhYmVsLFxuICAgIH07XG4gICAgaW5zdGFuY2Uuc2NoZW1hID0gZ3JhcGhWYWx1ZVNjaGVtYUZyb21WYWxpZGF0aW9uKHBvcnQudmFsaWRhdGlvbiwgcG9ydC50eXBlLCBwb3J0Lm1vZGVsKTtcbiAgICBpZiAocG9ydC5yZXF1aXJlZClcbiAgICAgICAgaW5zdGFuY2UucmVxdWlyZWQgPSB0cnVlO1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICBpbnN0YW5jZS5kZWZhdWx0VmFsdWUgPSB2YWx1ZTtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHNhbml0aXplVG9HcmFwaEpzb25WYWx1ZShwb3J0LmdyYXBoID8/IHt9KTtcbiAgICBpZiAobWV0YWRhdGEgJiYgT2JqZWN0LmtleXMobWV0YWRhdGEpLmxlbmd0aClcbiAgICAgICAgaW5zdGFuY2UubWV0YWRhdGEgPSBtZXRhZGF0YTtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG59XG5mdW5jdGlvbiBpbnB1dEJpbmRpbmdzRnJvbVBvcnRzKHBvcnRzKSB7XG4gICAgaWYgKCFwb3J0cylcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBiaW5kaW5ncyA9IHt9O1xuICAgIGZvciAoY29uc3QgW3Byb3BlcnR5LCBwb3J0XSBvZiBPYmplY3QuZW50cmllcyhwb3J0cykpIHtcbiAgICAgICAgaWYgKHBvcnQ/Lm1vZGUgPT09IFwicG9ydFwiKSB7XG4gICAgICAgICAgICBiaW5kaW5nc1twcm9wZXJ0eV0gPSB7IG1vZGU6IFwiZWRnZVwiIH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoXCJ2YWx1ZVwiIGluIChwb3J0ID8/IHt9KSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUocG9ydC52YWx1ZSk7XG4gICAgICAgICAgICBiaW5kaW5nc1twcm9wZXJ0eV0gPSB7IG1vZGU6IFwibGl0ZXJhbFwiLCB2YWx1ZTogdmFsdWUgPz8gbnVsbCB9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBPYmplY3Qua2V5cyhiaW5kaW5ncykubGVuZ3RoID8gYmluZGluZ3MgOiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBub2RlSW5zdGFuY2VGcm9tTGVnYWN5KG5vZGUpIHtcbiAgICBjb25zdCBpbnN0YW5jZSA9IHtcbiAgICAgICAgaWQ6IG5vZGUuaWQsXG4gICAgICAgIGtpbmQ6IG5vZGUua2luZCA/PyBub2RlLnJlZj8ua2luZCA/PyBub2RlLmlkLFxuICAgICAgICBwYXJhbWV0ZXJzOiBkcm9wVW5zYWZlRW50cmllcyhub2RlLmRhdGEgPz8ge30pLFxuICAgIH07XG4gICAgaWYgKG5vZGUubGFiZWwpXG4gICAgICAgIGluc3RhbmNlLmxhYmVsID0gbm9kZS5sYWJlbDtcbiAgICBjb25zdCBiaW5kaW5ncyA9IGlucHV0QmluZGluZ3NGcm9tUG9ydHMobm9kZS5wb3J0cyk7XG4gICAgaWYgKGJpbmRpbmdzKVxuICAgICAgICBpbnN0YW5jZS5pbnB1dEJpbmRpbmdzID0gYmluZGluZ3M7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUobm9kZS5tZXRhZGF0YSA/PyB7fSk7XG4gICAgaWYgKG1ldGFkYXRhICYmIE9iamVjdC5rZXlzKG1ldGFkYXRhKS5sZW5ndGgpXG4gICAgICAgIGluc3RhbmNlLm1ldGFkYXRhID0gbWV0YWRhdGE7XG4gICAgaWYgKG5vZGUucG9zaXRpb24gfHwgbm9kZS5zaXplIHx8IG5vZGUuZXhwYW5kZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCB1aSA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBub2RlLnBvc2l0aW9uID8geyB4OiBub2RlLnBvc2l0aW9uLngsIHk6IG5vZGUucG9zaXRpb24ueSB9IDogeyB4OiAwLCB5OiAwIH0sXG4gICAgICAgIH07XG4gICAgICAgIGlmIChub2RlLnNpemUpXG4gICAgICAgICAgICB1aS5zaXplID0geyB3aWR0aDogbm9kZS5zaXplLndpZHRoLCBoZWlnaHQ6IG5vZGUuc2l6ZS5oZWlnaHQgfTtcbiAgICAgICAgaWYgKG5vZGUuZXhwYW5kZWQgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIHVpLmV4cGFuZGVkID0gbm9kZS5leHBhbmRlZDtcbiAgICAgICAgaW5zdGFuY2UudWkgPSB1aTtcbiAgICB9XG4gICAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gZWRnZUluc3RhbmNlRnJvbUxlZ2FjeShlZGdlLCBhbGlhc2VzLCBib3VuZGFyeVBvcnRJZHMsIHJlbGF0aW9uTGFiZWxCeVBhaXIpIHtcbiAgICBjb25zdCBzb3VyY2UgPSBsZWdhY3lFbmRwb2ludChlZGdlLnNvdXJjZVJlZiA/PyBlZGdlLnNvdXJjZSwgZWRnZS5zb3VyY2VQb3J0LCBhbGlhc2VzLCBib3VuZGFyeVBvcnRJZHMpO1xuICAgIGNvbnN0IHRhcmdldCA9IGxlZ2FjeUVuZHBvaW50KGVkZ2UudGFyZ2V0UmVmID8/IGVkZ2UudGFyZ2V0LCBlZGdlLnRhcmdldFBvcnQsIGFsaWFzZXMsIGJvdW5kYXJ5UG9ydElkcyk7XG4gICAgY29uc3QgaW5zdGFuY2UgPSB7XG4gICAgICAgIGlkOiBlZGdlLmlkLFxuICAgICAgICB0eXBlOiBcImRhdGFcIixcbiAgICAgICAgc291cmNlLFxuICAgICAgICB0YXJnZXQsXG4gICAgfTtcbiAgICBjb25zdCBsYWJlbCA9IGVkZ2UubGFiZWwgPz8gcmVsYXRpb25MYWJlbEJ5UGFpcj8uZ2V0KGVkZ2VQYWlyS2V5T2YoeyBzb3VyY2UsIHRhcmdldCB9KSk7XG4gICAgaWYgKGxhYmVsKVxuICAgICAgICBpbnN0YW5jZS5sYWJlbCA9IGxhYmVsO1xuICAgIGNvbnN0IG1ldGFkYXRhID0gc2FuaXRpemVUb0dyYXBoSnNvblZhbHVlKGVkZ2UubWV0YWRhdGEgPz8ge30pO1xuICAgIGlmIChtZXRhZGF0YSAmJiBPYmplY3Qua2V5cyhtZXRhZGF0YSkubGVuZ3RoKVxuICAgICAgICBpbnN0YW5jZS5tZXRhZGF0YSA9IG1ldGFkYXRhO1xuICAgIHJldHVybiBpbnN0YW5jZTtcbn1cbi8qKiBFbmRwb2ludC1wYWlyIGtleSBmb3IgZWRnZSBpZGVudGl0eSAoY2Fub25pY2FsIGBHcmFwaEVuZHBvaW50YCBzaGFwZSkuICovXG5mdW5jdGlvbiBlZGdlUGFpcktleU9mKGVkZ2UpIHtcbiAgICBjb25zdCBrZXlPZiA9IChlbmRwb2ludCkgPT4gZW5kcG9pbnQuc2NvcGUgPT09IFwibm9kZVwiXG4gICAgICAgID8gYG5vZGU6JHtlbmRwb2ludC5ub2RlSWR9OiR7ZW5kcG9pbnQucG9ydH1gXG4gICAgICAgIDogYHdvcmtmbG93OiR7ZW5kcG9pbnQucG9ydH1gO1xuICAgIHJldHVybiBgJHtrZXlPZihlZGdlLnNvdXJjZSl9LT4ke2tleU9mKGVkZ2UudGFyZ2V0KX1gO1xufVxuLyoqXG4gKiBNYXBzIGEgbGVnYWN5IChwcmUtUDcpIGNhbnZhcyBzbmFwc2hvdCB0byB0aGUgY2Fub25pY2FsXG4gKiB7QGxpbmsgR3JhcGhXb3JrZmxvd0RvY3VtZW50fSAoREVDQUYtNTAgwqc0LjQuNik6IGxlZ2FjeSBgbm9kZS5kYXRhYCBiZWNvbWVzXG4gKiBpbnN0YW5jZSBgcGFyYW1ldGVyc2AsIGxlZ2FjeSBgbm9kZS5tZXRhZGF0YWAgYmVjb21lcyBpbnN0YW5jZSBgbWV0YWRhdGFgLFxuICogd29ya2Zsb3cgYm91bmRhcnkgYmFkZ2VzIChgaW5wdXQte3BvcnR9YCkgZm9sZCBiYWNrIG9udG8gdGhlaXIgd29ya2Zsb3dcbiAqIHBvcnRzLCBhbmQgZWRnZSBsYWJlbHMgbWlzc2luZyBmcm9tIGNsb25lZCBlZGdlIHJvd3MgYXJlIHJlc3RvcmVkIGZyb20gdGhlXG4gKiBkZWNvcmF0ZWQgZGVmaW5pdGlvbidzIHJlbGF0aW9uIGxhYmVscyAowqc0LjQuNykuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncmFwaFdvcmtmbG93RG9jdW1lbnRGcm9tTGVnYWN5U25hcHNob3Qoc25hcHNob3QpIHtcbiAgICBjb25zdCBhbGlhc2VzID0gYm91bmRhcnlBbGlhc2VzRm9yKHNuYXBzaG90LmRlZmluaXRpb24pO1xuICAgIGNvbnN0IGJvdW5kYXJ5UG9ydElkcyA9IGJvdW5kYXJ5UG9ydElkc0ZvcihzbmFwc2hvdCk7XG4gICAgY29uc3QgcmVsYXRpb25MYWJlbEJ5UGFpciA9IGxlZ2FjeVJlbGF0aW9uTGFiZWxCeUVuZHBvaW50KHNuYXBzaG90LCBhbGlhc2VzLCBib3VuZGFyeVBvcnRJZHMpO1xuICAgIGNvbnN0IGlucHV0cyA9IE9iamVjdC5mcm9tRW50cmllcyhzbmFwc2hvdC5zdGF0ZS5pbnB1dHMubWFwKChlbnRyeSkgPT4gW2VudHJ5LnBhdGgsIHNhbml0aXplVG9HcmFwaEpzb25WYWx1ZShlbnRyeS52YWx1ZSldKSk7XG4gICAgY29uc3Qgb3V0cHV0cyA9IE9iamVjdC5mcm9tRW50cmllcyhzbmFwc2hvdC5zdGF0ZS5vdXRwdXRzLm1hcCgoZW50cnkpID0+IFtlbnRyeS5wYXRoLCBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUoZW50cnkudmFsdWUpXSkpO1xuICAgIGNvbnN0IGRvY3VtZW50ID0ge1xuICAgICAgICBpZDogc25hcHNob3QuZGVmaW5pdGlvbi50YWcgfHwgc25hcHNob3QuZGVmaW5pdGlvbi5uYW1lLFxuICAgICAgICBuYW1lOiBzbmFwc2hvdC5kZWZpbml0aW9uLm5hbWUsXG4gICAgICAgIGlucHV0czogc25hcHNob3QuZGVmaW5pdGlvbi5pbnB1dHMubWFwKChwb3J0KSA9PiBwb3J0SW5zdGFuY2VGcm9tRGVmaW5pdGlvbihwb3J0LCBpbnB1dHNbcG9ydC5wcm9wZXJ0eV0pKSxcbiAgICAgICAgb3V0cHV0czogc25hcHNob3QuZGVmaW5pdGlvbi5vdXRwdXRzLm1hcCgocG9ydCkgPT4gcG9ydEluc3RhbmNlRnJvbURlZmluaXRpb24ocG9ydCwgb3V0cHV0c1twb3J0LnByb3BlcnR5XSkpLFxuICAgICAgICBub2Rlczogc25hcHNob3Quc3RhdGUubm9kZXMubWFwKG5vZGVJbnN0YW5jZUZyb21MZWdhY3kpLFxuICAgICAgICBlZGdlczogc25hcHNob3Quc3RhdGUuZWRnZXMubWFwKChlZGdlKSA9PiBlZGdlSW5zdGFuY2VGcm9tTGVnYWN5KGVkZ2UsIGFsaWFzZXMsIGJvdW5kYXJ5UG9ydElkcywgcmVsYXRpb25MYWJlbEJ5UGFpcikpLFxuICAgIH07XG4gICAgaWYgKHNuYXBzaG90LmRlZmluaXRpb24ubWV0YWRhdGEpIHtcbiAgICAgICAgY29uc3QgbWV0YWRhdGEgPSBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUoc25hcHNob3QuZGVmaW5pdGlvbi5tZXRhZGF0YSk7XG4gICAgICAgIGlmIChtZXRhZGF0YSAmJiBPYmplY3Qua2V5cyhtZXRhZGF0YSkubGVuZ3RoKVxuICAgICAgICAgICAgZG9jdW1lbnQubWV0YWRhdGEgPSBtZXRhZGF0YTtcbiAgICB9XG4gICAgY29uc3QgdWkgPSB7fTtcbiAgICBjb25zdCB2aWV3cG9ydCA9IHNuYXBzaG90LnN0YXRlLnVpPy5bXCJkaWFncmFtTWV0YWRhdGFcIl07XG4gICAgY29uc3QgcGFyc2VkVmlld3BvcnQgPSB2aWV3cG9ydD8uW1widmlld3BvcnRcIl07XG4gICAgaWYgKHBhcnNlZFZpZXdwb3J0ICYmIHR5cGVvZiBwYXJzZWRWaWV3cG9ydCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICBjb25zdCB2ID0gcGFyc2VkVmlld3BvcnQ7XG4gICAgICAgIGNvbnN0IHggPSB0eXBlb2YgdltcInhcIl0gPT09IFwibnVtYmVyXCIgPyB2W1wieFwiXSA6IE51bWJlcih2W1wieFwiXSkgfHwgMDtcbiAgICAgICAgY29uc3QgeSA9IHR5cGVvZiB2W1wieVwiXSA9PT0gXCJudW1iZXJcIiA/IHZbXCJ5XCJdIDogTnVtYmVyKHZbXCJ5XCJdKSB8fCAwO1xuICAgICAgICBjb25zdCB6b29tID0gdHlwZW9mIHZbXCJzY2FsZVwiXSA9PT0gXCJudW1iZXJcIiA/IHZbXCJzY2FsZVwiXSA6IE51bWJlcih2W1wic2NhbGVcIl0pIHx8IDE7XG4gICAgICAgIHVpLnZpZXdwb3J0ID0geyB4LCB5LCB6b29tIH07XG4gICAgfVxuICAgIGlmICh1aS52aWV3cG9ydClcbiAgICAgICAgZG9jdW1lbnQudWkgPSB1aTtcbiAgICByZXR1cm4gZG9jdW1lbnQ7XG59XG4vKipcbiAqIENvbnZlcnRzIGEgbGVnYWN5IHBlcnNpc3RlZCBzbmFwc2hvdCBpbnRvIHRoZSBjYW5vbmljYWwgd3JhcHBlci4gVGhlIGNhbm9uaWNhbFxuICogYGRvY3VtZW50YCBjYXJyaWVzIGV4ZWN1dGFibGUgc2VtYW50aWNzOyBgZWRpdG9yLmxlZ2FjeWAga2VlcHMgdGhlIHNhbml0aXplZFxuICogKGNvbnN0cnVjdG9yLWZyZWUpIGxlZ2FjeSBwYXlsb2FkIHNvIGEgY2Fub25pY2Fs4oaSbGVnYWN5IHJvdW5kIHRyaXAgaXMgbG9zc2xlc3NcbiAqIGZvciBwZXJzaXN0ZWQgZGF0YS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dTbmFwc2hvdEZyb21MZWdhY3koc25hcHNob3QpIHtcbiAgICBjb25zdCBkb2N1bWVudCA9IGdyYXBoV29ya2Zsb3dEb2N1bWVudEZyb21MZWdhY3lTbmFwc2hvdChzbmFwc2hvdCk7XG4gICAgY29uc3QgZWRpdG9yID0ge307XG4gICAgY29uc3Qgc2FuaXRpemVkTGVnYWN5ID0gc2FuaXRpemVMZWdhY3lTbmFwc2hvdFBheWxvYWQoc25hcHNob3QpO1xuICAgIGlmIChzYW5pdGl6ZWRMZWdhY3kgJiYgaXNHcmFwaEpzb25TYWZlVmFsdWUoc2FuaXRpemVkTGVnYWN5KSlcbiAgICAgICAgZWRpdG9yLmxlZ2FjeSA9IHNhbml0aXplZExlZ2FjeTtcbiAgICBjb25zdCB1aSA9IHNuYXBzaG90LnN0YXRlLnVpO1xuICAgIGlmICh1aSkge1xuICAgICAgICBjb25zdCBkdXBsaWNhdGVDb3VudHMgPSB1aVtcImR1cGxpY2F0ZUNvdW50c1wiXTtcbiAgICAgICAgaWYgKGR1cGxpY2F0ZUNvdW50cyAmJiB0eXBlb2YgZHVwbGljYXRlQ291bnRzID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBlZGl0b3IuZHVwbGljYXRlQ291bnRzID0gZHVwbGljYXRlQ291bnRzO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRpYWdyYW1NZXRhZGF0YSA9IHVpW1wiZGlhZ3JhbU1ldGFkYXRhXCJdO1xuICAgICAgICBpZiAoZGlhZ3JhbU1ldGFkYXRhICYmIHR5cGVvZiBkaWFncmFtTWV0YWRhdGEgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIGVkaXRvci5kaWFncmFtTWV0YWRhdGEgPSBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUoZGlhZ3JhbU1ldGFkYXRhKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBub2RlQ29uZmlncyA9IHVpW1wibm9kZUNvbmZpZ3NcIl07XG4gICAgICAgIGlmIChub2RlQ29uZmlncyAmJiB0eXBlb2Ygbm9kZUNvbmZpZ3MgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgIGVkaXRvci5ub2RlQ29uZmlncyA9IHNhbml0aXplVG9HcmFwaEpzb25WYWx1ZShub2RlQ29uZmlncyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWRpdG9yLm5vZGVQb3J0cyA9IHt9O1xuICAgIGZvciAoY29uc3Qgbm9kZSBvZiBzbmFwc2hvdC5zdGF0ZS5ub2Rlcykge1xuICAgICAgICBpZiAobm9kZS5wb3J0cykge1xuICAgICAgICAgICAgZWRpdG9yLm5vZGVQb3J0c1tub2RlLmlkXSA9IHNhbml0aXplVG9HcmFwaEpzb25WYWx1ZShub2RlLnBvcnRzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIU9iamVjdC5rZXlzKGVkaXRvci5ub2RlUG9ydHMpLmxlbmd0aClcbiAgICAgICAgZGVsZXRlIGVkaXRvci5ub2RlUG9ydHM7XG4gICAgY29uc3QgZGVmaW5pdGlvbkRpc3BsYXkgPSBkcm9wVW5zYWZlRW50cmllcyhzbmFwc2hvdC5kZWZpbml0aW9uKTtcbiAgICBkZWxldGUgZGVmaW5pdGlvbkRpc3BsYXlbXCJpbnB1dHNcIl07XG4gICAgZGVsZXRlIGRlZmluaXRpb25EaXNwbGF5W1wib3V0cHV0c1wiXTtcbiAgICBkZWxldGUgZGVmaW5pdGlvbkRpc3BsYXlbXCJub2Rlc1wiXTtcbiAgICBkZWxldGUgZGVmaW5pdGlvbkRpc3BsYXlbXCJyZWxhdGlvbnNcIl07XG4gICAgZWRpdG9yLmRlZmluaXRpb25EaXNwbGF5ID0gZGVmaW5pdGlvbkRpc3BsYXk7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBzYW5pdGl6ZVRvR3JhcGhKc29uVmFsdWUoc25hcHNob3Quc3RhdGUubWV0YWRhdGEgPz8ge30pO1xuICAgIHJldHVybiB7IGRvY3VtZW50LCBlZGl0b3IsIG1ldGFkYXRhOiBPYmplY3Qua2V5cyhtZXRhZGF0YSkubGVuZ3RoID8gbWV0YWRhdGEgOiB1bmRlZmluZWQgfTtcbn1cbi8qKlxuICogUmVjb25zdHJ1Y3RzIGEgbGVnYWN5IHNuYXBzaG90IGZyb20gYSBjYW5vbmljYWwgd3JhcHBlci4gVXNlcyB0aGVcbiAqIGBlZGl0b3IubGVnYWN5YCBwYXlsb2FkIHdoZW4gcHJlc2VudCBmb3IgZXhhY3Qgcm91bmQgdHJpcHM7IG90aGVyd2lzZSBpdFxuICogcmVidWlsZHMgYSBiZXN0LWVmZm9ydCBsZWdhY3kgc25hcHNob3QgZnJvbSB0aGUgZG9jdW1lbnQgKyBlZGl0b3Igc3RhdGVcbiAqIChjb25zdHJ1Y3RvcnMgYXJlIG5ldmVyIHJlc3RvcmVkKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dTbmFwc2hvdFRvTGVnYWN5KHNuYXBzaG90KSB7XG4gICAgaWYgKHNuYXBzaG90LmVkaXRvcj8ubGVnYWN5ICYmIGlzR3JhcGhKc29uU2FmZVZhbHVlKHNuYXBzaG90LmVkaXRvci5sZWdhY3kpKSB7XG4gICAgICAgIHJldHVybiBjbG9uZVZhbHVlKHNuYXBzaG90LmVkaXRvci5sZWdhY3kpO1xuICAgIH1cbiAgICBjb25zdCB7IGRvY3VtZW50LCBlZGl0b3IgfSA9IHNuYXBzaG90O1xuICAgIGNvbnN0IGFsaWFzZXMgPSBuZXcgU2V0KEdSQVBIX0xFR0FDWV9CT1VOREFSWV9BTElBU0VTKTtcbiAgICBpZiAoZG9jdW1lbnQuaWQpXG4gICAgICAgIGFsaWFzZXMuYWRkKGRvY3VtZW50LmlkKTtcbiAgICBpZiAoZG9jdW1lbnQubmFtZSlcbiAgICAgICAgYWxpYXNlcy5hZGQoZG9jdW1lbnQubmFtZSk7XG4gICAgY29uc3QgZGlzcGxheSA9IChlZGl0b3I/LmRlZmluaXRpb25EaXNwbGF5ID8/IHt9KTtcbiAgICBjb25zdCBkZWZpbml0aW9uID0ge1xuICAgICAgICAuLi5jbG9uZVZhbHVlKGRpc3BsYXkpLFxuICAgICAgICBuYW1lOiBkb2N1bWVudC5uYW1lLFxuICAgICAgICB0YWc6IGRvY3VtZW50LmlkIHx8IGRpc3BsYXlbXCJ0YWdcIl0gfHwgZG9jdW1lbnQubmFtZSxcbiAgICAgICAgaW5wdXRzOiBkb2N1bWVudC5pbnB1dHMubWFwKChwb3J0KSA9PiBwb3J0VG9MZWdhY3lEZWZpbml0aW9uKHBvcnQpKSxcbiAgICAgICAgb3V0cHV0czogZG9jdW1lbnQub3V0cHV0cy5tYXAoKHBvcnQpID0+IHBvcnRUb0xlZ2FjeURlZmluaXRpb24ocG9ydCkpLFxuICAgICAgICBub2RlczogZG9jdW1lbnQubm9kZXMubWFwKChub2RlKSA9PiAoeyBpZDogbm9kZS5pZCwga2luZDogbm9kZS5raW5kIH0pKSxcbiAgICAgICAgcmVsYXRpb25zOiBkb2N1bWVudC5lZGdlcy5tYXAoKGVkZ2UpID0+ICh7XG4gICAgICAgICAgICBpZDogZWRnZS5pZCxcbiAgICAgICAgICAgIHNvdXJjZTogZW5kcG9pbnRUb0xlZ2FjeVJlZihlZGdlLnNvdXJjZSkucmVmSWQsXG4gICAgICAgICAgICBzb3VyY2VQb3J0OiBlZGdlLnNvdXJjZS5wb3J0LFxuICAgICAgICAgICAgdGFyZ2V0OiBlbmRwb2ludFRvTGVnYWN5UmVmKGVkZ2UudGFyZ2V0KS5yZWZJZCxcbiAgICAgICAgICAgIHRhcmdldFBvcnQ6IGVkZ2UudGFyZ2V0LnBvcnQsXG4gICAgICAgICAgICBsYWJlbDogZWRnZS5sYWJlbCxcbiAgICAgICAgfSkpLFxuICAgIH07XG4gICAgY29uc3Qgc3RhdGUgPSB7XG4gICAgICAgIGlucHV0czogZG9jdW1lbnQuaW5wdXRzLm1hcCgocG9ydCkgPT4gKHtcbiAgICAgICAgICAgIHBhdGg6IHBvcnQuaWQsXG4gICAgICAgICAgICB2YWx1ZTogY2xvbmVWYWx1ZShwb3J0LmRlZmF1bHRWYWx1ZSksXG4gICAgICAgICAgICBsYWJlbDogcG9ydC5sYWJlbCxcbiAgICAgICAgICAgIHJlcXVpcmVkOiBwb3J0LnJlcXVpcmVkLFxuICAgICAgICB9KSksXG4gICAgICAgIG91dHB1dHM6IGRvY3VtZW50Lm91dHB1dHMubWFwKChwb3J0KSA9PiAoe1xuICAgICAgICAgICAgcGF0aDogcG9ydC5pZCxcbiAgICAgICAgICAgIHZhbHVlOiBjbG9uZVZhbHVlKHBvcnQuZGVmYXVsdFZhbHVlKSxcbiAgICAgICAgICAgIGxhYmVsOiBwb3J0LmxhYmVsLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHBvcnQucmVxdWlyZWQsXG4gICAgICAgIH0pKSxcbiAgICAgICAgbm9kZXM6IGRvY3VtZW50Lm5vZGVzLm1hcCgobm9kZSkgPT4gKHtcbiAgICAgICAgICAgIGlkOiBub2RlLmlkLFxuICAgICAgICAgICAgcmVmOiB7IGlkOiBub2RlLmlkLCBraW5kOiBub2RlLmtpbmQgfSxcbiAgICAgICAgICAgIGxhYmVsOiBub2RlLmxhYmVsLFxuICAgICAgICAgICAga2luZDogbm9kZS5raW5kLFxuICAgICAgICAgICAgcG9zaXRpb246IG5vZGUudWk/LnBvc2l0aW9uID8geyB4OiBub2RlLnVpLnBvc2l0aW9uLngsIHk6IG5vZGUudWkucG9zaXRpb24ueSB9IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgc2l6ZTogbm9kZS51aT8uc2l6ZSA/IHsgd2lkdGg6IG5vZGUudWkuc2l6ZS53aWR0aCwgaGVpZ2h0OiBub2RlLnVpLnNpemUuaGVpZ2h0IH0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBleHBhbmRlZDogbm9kZS51aT8uZXhwYW5kZWQsXG4gICAgICAgICAgICBwb3J0czogZWRpdG9yPy5ub2RlUG9ydHM/Lltub2RlLmlkXSA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgICBkYXRhOiBjbG9uZVZhbHVlKG5vZGUucGFyYW1ldGVycyA/PyB7fSksXG4gICAgICAgICAgICBtZXRhZGF0YTogY2xvbmVWYWx1ZShub2RlLm1ldGFkYXRhID8/IHt9KSxcbiAgICAgICAgfSkpLFxuICAgICAgICBlZGdlczogZG9jdW1lbnQuZWRnZXMubWFwKChlZGdlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBlbmRwb2ludFRvTGVnYWN5UmVmKGVkZ2Uuc291cmNlKTtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGVuZHBvaW50VG9MZWdhY3lSZWYoZWRnZS50YXJnZXQpO1xuICAgICAgICAgICAgY29uc3QgaXNCb3VuZGFyeSA9IHNvdXJjZS5yZWZJZCA9PT0gXCIkd29ya2Zsb3dcIiB8fCB0YXJnZXQucmVmSWQgPT09IFwiJHdvcmtmbG93XCI7XG4gICAgICAgICAgICBjb25zdCBpc0Nvbm5lY3Rpb24gPSBlZGdlLnR5cGUgPT09IFwiY29ubmVjdGlvblwiO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpZDogZWRnZS5pZCxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IHNvdXJjZS5yZWZJZCxcbiAgICAgICAgICAgICAgICBzb3VyY2VSZWY6IHNvdXJjZS5yZWZJZCxcbiAgICAgICAgICAgICAgICBzb3VyY2VQb3J0OiBzb3VyY2UucG9ydCxcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IHRhcmdldC5yZWZJZCxcbiAgICAgICAgICAgICAgICB0YXJnZXRSZWY6IHRhcmdldC5yZWZJZCxcbiAgICAgICAgICAgICAgICB0YXJnZXRQb3J0OiB0YXJnZXQucG9ydCxcbiAgICAgICAgICAgICAgICBsYWJlbDogZWRnZS5sYWJlbCxcbiAgICAgICAgICAgICAgICB0eXBlOiBpc0Nvbm5lY3Rpb24gPyBcImNvbm5lY3Rpb25cIiA6IGlzQm91bmRhcnkgPyBcIm91dHB1dFwiIDogXCJkYXRhXCIsXG4gICAgICAgICAgICAgICAgbWV0YWRhdGE6IGNsb25lVmFsdWUoZWRnZS5tZXRhZGF0YSA/PyB7fSksXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgICAgdWk6IGNsb25lVmFsdWUoe1xuICAgICAgICAgICAgLi4uKGVkaXRvcj8uZHVwbGljYXRlQ291bnRzID8geyBkdXBsaWNhdGVDb3VudHM6IGVkaXRvci5kdXBsaWNhdGVDb3VudHMgfSA6IHt9KSxcbiAgICAgICAgICAgIC4uLihlZGl0b3I/LmRpYWdyYW1NZXRhZGF0YSA/IHsgZGlhZ3JhbU1ldGFkYXRhOiBlZGl0b3IuZGlhZ3JhbU1ldGFkYXRhIH0gOiB7fSksXG4gICAgICAgICAgICAuLi4oZWRpdG9yPy5ub2RlQ29uZmlncyA/IHsgbm9kZUNvbmZpZ3M6IGVkaXRvci5ub2RlQ29uZmlncyB9IDoge30pLFxuICAgICAgICB9KSxcbiAgICAgICAgbWV0YWRhdGE6IGNsb25lVmFsdWUoc25hcHNob3QubWV0YWRhdGEgPz8ge30pLFxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdmVyc2lvbjogR1JBUEhfV09SS0ZMT1dfU05BUFNIT1RfVkVSU0lPTixcbiAgICAgICAgZGVmaW5pdGlvbixcbiAgICAgICAgc3RhdGUsXG4gICAgfTtcbn1cbmZ1bmN0aW9uIHBvcnRUb0xlZ2FjeURlZmluaXRpb24ocG9ydCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3BlcnR5OiBwb3J0LmlkLFxuICAgICAgICBsYWJlbDogcG9ydC5sYWJlbCxcbiAgICAgICAgcmVxdWlyZWQ6IHBvcnQucmVxdWlyZWQsXG4gICAgICAgIG1ldGFkYXRhOiBjbG9uZVZhbHVlKHBvcnQubWV0YWRhdGEgPz8ge30pLFxuICAgIH07XG59XG4vKiogTm9ybWFsaXplcyBhbnkgYWNjZXB0ZWQgc25hcHNob3QvZG9jdW1lbnQgZm9ybSB0byBhIGNhbm9uaWNhbCB3cmFwcGVyLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyYXBoV29ya2Zsb3dTbmFwc2hvdExpa2VUb0Nhbm9uaWNhbCh2YWx1ZSkge1xuICAgIGlmIChcImRvY3VtZW50XCIgaW4gdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBpZiAoXCJzdGF0ZVwiIGluIHZhbHVlIHx8IFwiZGVmaW5pdGlvblwiIGluIHZhbHVlKSB7XG4gICAgICAgIHJldHVybiBncmFwaFdvcmtmbG93U25hcHNob3RGcm9tTGVnYWN5KHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgZG9jdW1lbnQ6IHZhbHVlIH07XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2ljMjVoY0hOb2IzUXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk5emNtTXZaM0poY0dndmMyNWhjSE5vYjNRdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJVMEVzVDBGQlR5eEZRVUZGTEdkQ1FVRm5RaXhGUVVGRkxIbENRVUY1UWl4RlFVRkZMRzlDUVVGcFFqdEJRV0YyUlN4UFFVRlBMRVZCUVVVc2IwSkJRVzlDTEVWQlFVVXNjVU5CUVd0RE8wRkJSV3BGTEU5QlFVOHNSVUZEVEN3NFFrRkJPRUlzUjBGRkwwSXNaMFJCUVRaRE8wRkJSVGxETEUxQlFVMHNOa0pCUVRaQ0xFZEJRVWNzUTBGQlF5eFhRVUZYTEVWQlFVVXNWVUZCVlN4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRE8wRkJSWHBGTEUxQlFVMHNNa0pCUVRKQ0xFZEJRVWM3U1VGRGJFTXNUVUZCVFR0SlFVTk9MRmxCUVZrN1NVRkRXaXhoUVVGaE8wbEJRMklzWVVGQllUdEpRVU5pTEZsQlFWazdTVUZEV2l4VlFVRlZPME5CUTFnc1EwRkJRenRCUVVsR0xFMUJRVTBzUTBGQlF5eE5RVUZOTEN0Q1FVRXJRaXhIUVVGSExFTkJRVlVzUTBGQlF6dEJRWEZJTVVRc1UwRkJVeXhoUVVGaExFTkJRVU1zUzBGQll6dEpRVU51UXl4UFFVRlBMRU5CUTB3c1EwRkJReXhEUVVGRExFdEJRVXM3VVVGRFVDeFBRVUZQTEV0QlFVc3NTMEZCU3l4UlFVRlJPMUZCUTNwQ0xFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4TFFVRkxMRU5CUVVNN1VVRkRja0lzUTBGQlF5eERRVUZETEV0QlFVc3NXVUZCV1N4SlFVRkpMRU5CUVVNc1EwRkRla0lzUTBGQlF6dEJRVU5LTEVOQlFVTTdRVUZGUkN4VFFVRlRMRlZCUVZVc1EwRkJTU3hMUVVGUk8wbEJRemRDTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeERRVUZETzFGQlEzcENMRTlCUVU4c1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4RlFVRkZMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZOTEVOQlFVTTdTVUZEZEVRc1EwRkJRenRKUVVWRUxFbEJRVWtzUzBGQlN5eFpRVUZaTEVsQlFVa3NSVUZCUlN4RFFVRkRPMUZCUXpGQ0xFOUJRVThzU1VGQlNTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGTkxFTkJRVU03U1VGRGVFTXNRMEZCUXp0SlFVVkVMRWxCUVVrc1lVRkJZU3hEUVVGRExFdEJRVXNzUTBGQlF5eEZRVUZGTEVOQlFVTTdVVUZEZWtJc1RVRkJUU3hOUVVGTkxFZEJRVFJDTEVWQlFVVXNRMEZCUXp0UlFVTXpReXhMUVVGTExFMUJRVTBzUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUTJwRUxFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4VlFVRlZMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRGJFTXNRMEZCUXp0UlFVTkVMRTlCUVU4c1RVRkJWeXhEUVVGRE8wbEJRM0pDTEVOQlFVTTdTVUZGUkN4UFFVRlBMRXRCUVVzc1EwRkJRenRCUVVObUxFTkJRVU03UVVGRlJDeFRRVUZUTEZGQlFWRXNRMEZCUXl4TFFVRmpPMGxCUXpsQ0xFbEJRVWtzUzBGQlN5eExRVUZMTEZOQlFWTXNTVUZCU1N4TFFVRkxMRXRCUVVzc1NVRkJTVHRSUVVGRkxFOUJRVThzVTBGQlV5eERRVUZETzBsQlF6VkVMRTlCUVU4c1QwRkJUeXhMUVVGTExFdEJRVXNzVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0QlFVTXpSQ3hEUVVGRE8wRkJSVVFzVTBGQlV5eDNRa0ZCZDBJc1EwRkRMMElzUzBGQll6dEpRVVZrTEU5QlFVOHNRMEZEVEN4aFFVRmhMRU5CUVVNc1MwRkJTeXhEUVVGRE8xRkJRM0JDTEU5QlFVOHNTMEZCU3l4RFFVRkRMRWxCUVVrc1MwRkJTeXhSUVVGUk8xRkJRemxDTEU5QlFVOHNTMEZCU3l4RFFVRkRMRWRCUVVjc1MwRkJTeXhSUVVGUk8xRkJRemRDTEU5QlFVOHNTMEZCU3l4RFFVRkRMRWxCUVVrc1MwRkJTeXhSUVVGUk8xRkJRemxDTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF6dFJRVU16UWl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTTdVVUZETlVJc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRPMUZCUXpGQ0xFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVNdlFpeERRVUZETzBGQlEwb3NRMEZCUXp0QlFVVkVMRk5CUVZNc1pVRkJaU3hEUVVGRExFbEJRWGRETzBsQlF5OUVMRTlCUVU4c1NVRkJTU3hEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTEVsQlFVa3NTVUZCU1N4RFFVRkRMRVZCUVVVc1NVRkJTU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVsQlFVa3NTVUZCU1N4SlFVRkpMRU5CUVVNc1IwRkJSeXhGUVVGRkxGRkJRVkVzUTBGQlF6dEJRVU42UlN4RFFVRkRPMEZCUlVRc1UwRkJVeXhsUVVGbExFTkJRVU1zU1VGQmQwTTdTVUZETDBRc1QwRkJUeXhEUVVOTUxFbEJRVWtzUTBGQlF5eEZRVUZGTzFGQlExQXNRMEZCUXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRlZCUVZVc1JVRkJSU3hKUVVGSkxFTkJRVU1zVTBGQlV5eEpRVUZKTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF6dGhRVU0zUml4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRE8yRkJRMllzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVTmtMRU5CUVVNN1FVRkRTaXhEUVVGRE8wRkJSVVFzVTBGQlV5eHhRa0ZCY1VJc1EwRkROVUlzVDBGQk1rVXNSVUZETTBVc1YwRkJhME03U1VGRmJFTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRWE5ETEVOQlFVTTdTVUZGTjBRc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZMRU5CUVVNN1VVRkRNMElzUzBGQlN5eE5RVUZOTEV0QlFVc3NTVUZCU1N4UFFVRlBMRVZCUVVVc1EwRkJRenRaUVVNMVFpeEpRVUZKTEVOQlFVTXNTMEZCU3l4RlFVRkZMRWxCUVVrN1owSkJRVVVzVTBGQlV6dFpRVU16UWl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVWQlFVVXNWVUZCVlN4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRE5VTXNRMEZCUXp0SlFVTklMRU5CUVVNN1UwRkJUU3hKUVVGSkxHRkJRV0VzUTBGQlF5eFBRVUZQTEVOQlFVTXNSVUZCUlN4RFFVRkRPMUZCUTJ4RExFdEJRVXNzVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4TFFVRkxMRU5CUVVNc1NVRkJTU3hOUVVGTkxFTkJRVU1zVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRjRVFzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4SlFVRkpMRVZCUVVVc1JVRkJSU3hKUVVGSkxFVkJRVVVzUzBGQlN5eEZRVUZGTEZWQlFWVXNRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRGRrUXNRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkZSQ3hOUVVGTkxGVkJRVlVzUjBGQmFVTXNWMEZCVnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExGVkJRVlVzUlVGQlJTeEZRVUZGTzFGQlF6bEZMRTFCUVUwc1NVRkJTU3hIUVVGSExGVkJRVlVzUTBGQlF5eEpRVUZKTEVsQlFVa3NWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJRenRSUVVOd1JDeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEycERMRTFCUVUwc1MwRkJTeXhIUVVFclFqdFpRVU40UXl4TFFVRkxMRVZCUVVVc1ZVRkJWU3hEUVVGRExFdEJRVXM3V1VGRGRrSXNTVUZCU1N4RlFVRkZMRlZCUVZVc1EwRkJReXhKUVVGSk8xbEJRM0pDTEZGQlFWRXNSVUZCUlN4VlFVRlZMRU5CUVVNc1VVRkJVVHRaUVVNM1FpeExRVUZMTEVWQlFVVXNWVUZCVlN4RFFVRkRMRXRCUVVzN1dVRkRka0lzVVVGQlVTeEZRVUZGTEZWQlFWVXNRMEZEYkVJc1ZVRkJWU3hEUVVGRExFdEJRVXNzUlVGQlJTeFJRVUZSTzJkQ1FVTjRRaXhWUVVGVkxFTkJRVU1zVDBGQlR5eEZRVUZGTEV0QlFVczdaMEpCUTNwQ0xGVkJRVlVzUTBGQlF5eEpRVUZKTEVWQlFVVXNTMEZCU3p0blFrRkRkRUlzUlVGQlJTeERRVU5NTzFsQlEwUXNSMEZCUnl4UFFVRlBPMWxCUTFZc1NVRkJTVHRUUVVOTUxFTkJRVU03VVVGRlJpeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE8xbEJRemxETEU5QlFVOHNTMEZCU3l4RFFVRkRMRkZCUVZFc1EwRkJRenRSUVVONFFpeERRVUZETzFGQlEwUXNUMEZCVHl4TFFVRkxMRU5CUVVNN1NVRkRaaXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVVZJTEV0QlFVc3NUVUZCVFN4TFFVRkxMRWxCUVVrc1RVRkJUU3hEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZEY0VNc1NVRkJTU3hWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeExRVUZMTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNN1dVRkJSU3hUUVVGVE8xRkJRM2hGTEZWQlFWVXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEY2tNc1EwRkJRenRKUVVWRUxFOUJRVThzVlVGQlZTeERRVUZETzBGQlEzQkNMRU5CUVVNN1FVRkZSQ3hUUVVGVExHTkJRV01zUTBGRGNrSXNTMEZCT0VNc1JVRkRPVU1zVjBGQmQwTTdTVUZGZUVNc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFYRkRMRU5CUVVNN1NVRkRNMFFzVFVGQlRTeE5RVUZOTEVkQlFXZERMRVZCUVVVc1EwRkJRenRKUVVVdlF5eExRVUZMTEUxQlFVMHNWVUZCVlN4SlFVRkpMRmRCUVZjc1JVRkJSU3hEUVVGRE8xRkJRM0pETEUxQlFVMHNTVUZCU1N4SFFVRTRRanRaUVVOMFF5eEZRVUZGTEVWQlFVVXNWVUZCVlN4RFFVRkRMRVZCUVVVN1dVRkRha0lzUjBGQlJ5eEZRVUZGTzJkQ1FVTklMRVZCUVVVc1JVRkJSU3hWUVVGVkxFTkJRVU1zUlVGQlJUdG5Ra0ZEYWtJc1NVRkJTU3hGUVVGRkxGVkJRVlVzUTBGQlF5eEpRVUZKTzJGQlEzUkNPMWxCUTBRc1MwRkJTeXhGUVVGRkxGVkJRVlVzUTBGQlF5eExRVUZMTzFsQlEzWkNMRWxCUVVrc1JVRkJSU3hWUVVGVkxFTkJRVU1zU1VGQlNUdFpRVU55UWl4SlFVRkpMRVZCUVVVc1ZVRkJWU3hEUVVGRExFbEJRVWtzUzBGQlN5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hGUVVGRkxGVkJRVlVzUTBGQlF5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zVTBGQlV6dFpRVU4yUml4UlFVRlJMRVZCUVVVc1ZVRkJWU3hEUVVGRExGVkJRVlVzUTBGQlF5eFJRVUZSTEVOQlFVTTdVMEZETVVNc1EwRkJRenRSUVVOR0xFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRiRUlzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4VlFVRlZMRU5CUVVNc1JVRkJSU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlEycERMRU5CUVVNN1NVRkZSQ3hMUVVGTExFMUJRVTBzUzBGQlN5eEpRVUZKTEV0QlFVc3NTVUZCU1N4RlFVRkZMRVZCUVVVc1EwRkJRenRSUVVOb1F5eE5RVUZOTEVkQlFVY3NSMEZCUnl4bFFVRmxMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRGJrTXNUVUZCVFN4UFFVRlBMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUTEVOQlFVTTdVVUZEYWtRc1NVRkJTU3hQUVVGUExFVkJRVVVzUTBGQlF6dFpRVU5hTEUxQlFVMHNUVUZCVFN4SFFVRTRRanRuUWtGRGVFTXNSMEZCUnl4UFFVRlBPMmRDUVVOV0xFZEJRVWNzVlVGQlZTeERRVUZETEV0QlFVc3NRMEZCUXp0blFrRkRjRUlzUlVGQlJTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RlFVRkZMRWxCUVVrc1QwRkJUeXhEUVVGRExFVkJRVVU3WjBKQlF6RkNMRWRCUVVjc1JVRkJSVHR2UWtGRFNDeEhRVUZITEU5QlFVOHNRMEZCUXl4SFFVRkhPMjlDUVVOa0xFZEJRVWNzUzBGQlN5eERRVUZETEVkQlFVYzdiMEpCUTFvc1JVRkJSU3hGUVVGRkxFdEJRVXNzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUlN4SlFVRkpMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeEpRVUZKTEU5QlFVOHNRMEZCUXl4RlFVRkZPMmxDUVVOdVJEdG5Ra0ZEUkN4UlFVRlJMRVZCUVVVc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRkZCUVZFN1owSkJRM2hGTEVsQlFVa3NSVUZCUlN4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1R0blFrRkRlRVFzUzBGQlN5eEZRVUZGTzI5Q1FVTk1MRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zUzBGQlN5eEpRVUZKTEVWQlFVVXNRMEZCUXp0dlFrRkRlRUlzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxMRWxCUVVrc1JVRkJSU3hEUVVGRE8ybENRVU4yUWp0blFrRkRSQ3hKUVVGSkxFVkJRVVU3YjBKQlEwb3NSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJReXhKUVVGSkxFbEJRVWtzUlVGQlJTeERRVUZETzI5Q1FVTjJRaXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NTVUZCU1N4RlFVRkZMRU5CUVVNN2FVSkJRM1JDTzJkQ1FVTkVMRkZCUVZFc1JVRkJSVHR2UWtGRFVpeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRkZCUVZFc1NVRkJTU3hGUVVGRkxFTkJRVU03YjBKQlF6TkNMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEpRVUZKTEVWQlFVVXNRMEZCUXp0cFFrRkRNVUk3WVVGRFJpeERRVUZETzFsQlEwWXNTVUZCU1N4SFFVRkhPMmRDUVVGRkxFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRMmhETEUxQlFVMHNTMEZCU3l4SFFVRkhMRTFCUVUwc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlN4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFdEJRVXNzVDBGQlR5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMWxCUTI1RkxFbEJRVWtzUzBGQlN5eEpRVUZKTEVOQlFVTTdaMEpCUVVVc1RVRkJUU3hEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXp0WlFVTjJReXhUUVVGVE8xRkJRMWdzUTBGQlF6dFJRVVZFTEUxQlFVMHNUVUZCVFN4SFFVRkhMRlZCUVZVc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU5xUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlEzQkNMRWxCUVVrc1IwRkJSenRaUVVGRkxFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8wbEJRMnhETEVOQlFVTTdTVUZGUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVOb1FpeERRVUZETzBGQlJVUXNVMEZCVXl4alFVRmpMRU5CUTNKQ0xFdEJRVGhETEVWQlF6bERMRk5CUVRCRE8wbEJSVEZETEUxQlFVMHNTMEZCU3l4SFFVRkhMRWxCUVVrc1IwRkJSeXhGUVVGeFF5eERRVUZETzBsQlF6TkVMRTFCUVUwc1RVRkJUU3hIUVVGblF5eEZRVUZGTEVOQlFVTTdTVUZGTDBNc1MwRkJTeXhOUVVGTkxFTkJRVU1zUzBGQlN5eEZRVUZGTEZGQlFWRXNRMEZCUXl4SlFVRkpMRk5CUVZNc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJTeERRVUZETzFGQlEzQkVMRTFCUVUwc1RVRkJUU3hIUVVGSExGRkJRVkVzUTBGQlF5eFJRVUZSTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1ZVRkJWU3hMUVVGTExFVkJRVVVzUTBGQlF6dFJRVU01UkN4TlFVRk5MRTFCUVUwc1IwRkJSeXhSUVVGUkxFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRlZCUVZVc1MwRkJTeXhGUVVGRkxFTkJRVU03VVVGRE9VUXNUVUZCVFN4SlFVRkpMRWRCUVRoQ08xbEJRM1JETEVWQlFVVXNSVUZCUlN4UlFVRlJMRU5CUVVNc1MwRkJTeXhKUVVGSkxFZEJRVWNzVFVGQlRTeEpRVUZKTEZGQlFWRXNRMEZCUXl4VlFVRlZMRWxCUVVrc1IwRkJSeXhMUVVGTExFMUJRVTBzU1VGQlNTeFJRVUZSTEVOQlFVTXNWVUZCVlN4SlFVRkpMRWRCUVVjc1JVRkJSVHRaUVVONFJ5eE5RVUZOTzFsQlEwNHNVMEZCVXl4RlFVRkZMRTFCUVUwN1dVRkRha0lzVlVGQlZTeEZRVUZGTEZGQlFWRXNRMEZCUXl4VlFVRlZPMWxCUXk5Q0xFMUJRVTA3V1VGRFRpeFRRVUZUTEVWQlFVVXNUVUZCVFR0WlFVTnFRaXhWUVVGVkxFVkJRVVVzVVVGQlVTeERRVUZETEZWQlFWVTdXVUZETDBJc1MwRkJTeXhGUVVGRkxGRkJRVkVzUTBGQlF5eExRVUZMTzFsQlEzSkNMRkZCUVZFc1JVRkJSU3hWUVVGVkxFTkJRVU1zVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXp0VFFVTjRReXhEUVVGRE8xRkJRMFlzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOc1FpeExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdTVUZETTBJc1EwRkJRenRKUVVWRUxFdEJRVXNzVFVGQlRTeExRVUZMTEVsQlFVa3NTMEZCU3l4SlFVRkpMRVZCUVVVc1JVRkJSU3hEUVVGRE8xRkJRMmhETEUxQlFVMHNSMEZCUnl4SFFVRkhMR1ZCUVdVc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU51UXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTXNRMEZCUXp0UlFVTnFSQ3hKUVVGSkxFOUJRVThzUlVGQlJTeERRVUZETzFsQlExb3NUVUZCVFN4TlFVRk5MRWRCUVRoQ08yZENRVU40UXl4SFFVRkhMRTlCUVU4N1owSkJRMVlzUjBGQlJ5eFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRPMmRDUVVOd1FpeEZRVUZGTEVWQlFVVXNTMEZCU3l4RFFVRkRMRVZCUVVVc1NVRkJTU3hQUVVGUExFTkJRVU1zUlVGQlJUdG5Ra0ZETVVJc1RVRkJUU3hGUVVGRkxFdEJRVXNzUTBGQlF5eE5RVUZOTEVsQlFVa3NUMEZCVHl4RFFVRkRMRTFCUVUwN1owSkJRM1JETEZOQlFWTXNSVUZCUlN4TFFVRkxMRU5CUVVNc1UwRkJVeXhKUVVGSkxFOUJRVThzUTBGQlF5eFRRVUZUTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTFCUVUwc1NVRkJTU3hQUVVGUExFTkJRVU1zVFVGQlRUdG5Ra0ZEYWtZc1RVRkJUU3hGUVVGRkxFdEJRVXNzUTBGQlF5eE5RVUZOTEVsQlFVa3NUMEZCVHl4RFFVRkRMRTFCUVUwN1owSkJRM1JETEZOQlFWTXNSVUZCUlN4TFFVRkxMRU5CUVVNc1UwRkJVeXhKUVVGSkxFOUJRVThzUTBGQlF5eFRRVUZUTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTFCUVUwc1NVRkJTU3hQUVVGUExFTkJRVU1zVFVGQlRUdG5Ra0ZEYWtZc2RVVkJRWFZGTzJkQ1FVTjJSU3h6UlVGQmMwVTdaMEpCUTNSRkxEUkNRVUUwUWp0blFrRkROVUlzUzBGQlN5eEZRVUZGTEV0QlFVc3NRMEZCUXl4TFFVRkxMRWxCUVVrc1QwRkJUeXhEUVVGRExFdEJRVXM3WjBKQlEyNURMRkZCUVZFc1JVRkJSVHR2UWtGRFVpeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRkZCUVZFc1NVRkJTU3hGUVVGRkxFTkJRVU03YjBKQlF6TkNMRWRCUVVjc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeEpRVUZKTEVWQlFVVXNRMEZCUXp0cFFrRkRNVUk3WVVGRFJpeERRVUZETzFsQlEwWXNTVUZCU1N4SFFVRkhPMmRDUVVGRkxFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRMmhETEUxQlFVMHNTMEZCU3l4SFFVRkhMRTFCUVUwc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlN4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFdEJRVXNzVDBGQlR5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMWxCUTI1RkxFbEJRVWtzUzBGQlN5eEpRVUZKTEVOQlFVTTdaMEpCUVVVc1RVRkJUU3hEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXp0WlFVTjJReXhUUVVGVE8xRkJRMWdzUTBGQlF6dFJRVVZFTEUxQlFVMHNUVUZCVFN4SFFVRkhMRlZCUVZVc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU5xUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlEzQkNMRWxCUVVrc1IwRkJSenRaUVVGRkxFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8wbEJRMnhETEVOQlFVTTdTVUZGUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVOb1FpeERRVUZETzBGQlJVUXNVMEZCVXl3eVFrRkJNa0lzUTBGRGJFTXNWVUZCY1VVc1JVRkRja1VzV1VGQmMwUXNSVUZCUlR0SlFVVjRSQ3hQUVVGUE8xRkJRMHdzU1VGQlNTeEZRVUZGTEZOQlFWTXNRMEZCUXl4SlFVRkpMRWxCUVVrc1ZVRkJWU3hEUVVGRExFbEJRVWs3VVVGRGRrTXNSMEZCUnl4RlFVRkZMRk5CUVZNc1EwRkJReXhIUVVGSExFbEJRVWtzVlVGQlZTeERRVUZETEVkQlFVYzdVVUZEY0VNc1NVRkJTU3hGUVVGRkxGTkJRVk1zUTBGQlF5eEpRVUZKTEVsQlFVa3NWVUZCVlN4RFFVRkRMRWxCUVVrN1VVRkRka01zVVVGQlVTeEZRVUZGTEZOQlFWTXNRMEZCUXl4UlFVRlJMRWxCUVVrc1ZVRkJWU3hEUVVGRExGRkJRVkU3VVVGRGJrUXNTMEZCU3l4RlFVRkZMRk5CUVZNc1EwRkJReXhMUVVGTExFbEJRVWtzVlVGQlZTeERRVUZETEV0QlFVczdVVUZETVVNc1MwRkJTeXhGUVVGRkxGTkJRVk1zUTBGQlF5eExRVUZMTEVsQlFVa3NWVUZCVlN4RFFVRkRMRXRCUVVzN1VVRkRNVU1zVFVGQlRTeEZRVUZGTEZOQlFWTXNRMEZCUXl4TlFVRk5MRWxCUVVrc1ZVRkJWU3hEUVVGRExFMUJRVTA3VVVGRE4wTXNTVUZCU1N4RlFVRkZMRk5CUVZNc1EwRkJReXhKUVVGSkxFbEJRVWtzVlVGQlZTeERRVUZETEVsQlFVazdVVUZEZGtNc1RVRkJUU3hGUVVGRkxGVkJRVlVzUTBGQlF5eFRRVUZUTEVOQlFVTXNUVUZCVFN4SlFVRkpMRlZCUVZVc1EwRkJReXhOUVVGTkxFbEJRVWtzUlVGQlJTeERRVUZETzFGQlF5OUVMRmRCUVZjc1JVRkJSU3hUUVVGVExFTkJRVU1zVjBGQlZ5eEpRVUZKTEZWQlFWVXNRMEZCUXl4WFFVRlhPMUZCUXpWRUxGRkJRVkVzUlVGQlJTeFRRVUZUTEVOQlFVTXNVVUZCVVN4SlFVRkpMRlZCUVZVc1EwRkJReXhSUVVGUk8xRkJRMjVFTEV0QlFVc3NSVUZCUlN4VFFVRlRMRU5CUVVNc1MwRkJTeXhKUVVGSkxGVkJRVlVzUTBGQlF5eExRVUZMTzFGQlF6RkRMRkZCUVZFc1JVRkJSU3hWUVVGVkxFTkJRMnhDTEZOQlFWTXNRMEZCUXl4UlFVRlJPMWxCUTJoQ0xFTkJRVU1zVlVGQlZTeEpRVUZKTEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1ZVRkJWU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVONlJUdFJRVU5FTEUxQlFVMHNSVUZCUlN4VlFVRlZMRU5CUVVNc1UwRkJVeXhEUVVGRExFMUJRVTBzU1VGQlNTeFZRVUZWTEVOQlFVTXNUVUZCVFN4SlFVRkpMRVZCUVVVc1EwRkJRenRSUVVNdlJDeFBRVUZQTEVWQlFVVXNWVUZCVlN4RFFVRkRMRk5CUVZNc1EwRkJReXhQUVVGUExFbEJRVWtzVlVGQlZTeERRVUZETEU5QlFVOHNTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRiRVVzUzBGQlN5eEZRVUZGTEZWQlFWVXNRMEZCUXl4VFFVRlRMRU5CUVVNc1MwRkJTeXhKUVVGSkxGVkJRVlVzUTBGQlF5eExRVUZMTEVsQlFVa3NSVUZCUlN4RFFVRkRPMUZCUXpWRUxGTkJRVk1zUlVGQlJTeFZRVUZWTEVOQlFVTXNVMEZCVXl4RFFVRkRMRk5CUVZNc1NVRkJTU3hWUVVGVkxFTkJRVU1zVTBGQlV5eEpRVUZKTEVWQlFVVXNRMEZCUXp0TFFVTjZSU3hEUVVGRE8wRkJRMG9zUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4cFEwRkJhVU1zUTBGREwwTXNTMEZCYjBZN1NVRkZjRVlzVFVGQlRTeFZRVUZWTEVkQlFVY3NkMEpCUVhkQ0xFTkJRVU1zUzBGQlN5eERRVUZETzFGQlEyaEVMRU5CUVVNc1EwRkJReXhMUVVGTE8xRkJRMUFzUTBGQlF5eERRVUZETEhsQ1FVRjVRaXhEUVVGRExFdEJRVEJDTEVOQlFVTXNRMEZCUXp0SlFVTXhSQ3hQUVVGUExESkNRVUV5UWl4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8wRkJRMnBFTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2RVSkJRWFZDTEVOQlEzSkRMRXRCUVc5R0xFVkJRM0JHTEV0QlFXdERPMGxCUld4RExFMUJRVTBzYjBKQlFXOUNMRWRCUVVjc01rSkJRVEpDTEVOQlEzUkVMR2xEUVVGcFF5eERRVUZETEV0QlFWa3NRMEZCUXl4RlFVTXZReXhMUVVGTExFVkJRVVVzVlVGQlZTeERRVU5zUWl4RFFVRkRPMGxCUTBZc1RVRkJUU3hWUVVGVkxFZEJRVWNzWjBKQlFXZENMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRha1VzVFVGQlRTeFhRVUZYTEVkQlFVY3NaMEpCUVdkQ0xFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRmJrVXNUMEZCVHp0UlFVTk1MRTlCUVU4c1JVRkJSU3dyUWtGQkswSTdVVUZEZUVNc1ZVRkJWU3hGUVVGRkxHOUNRVUZ2UWp0UlFVTm9ReXhMUVVGTExFVkJRVVU3V1VGRFRDeE5RVUZOTEVWQlFVVXNjVUpCUVhGQ0xFTkJRVU1zUzBGQlN5eEZRVUZGTEUxQlFVMHNSVUZCUlN4VlFVRlZMRU5CUVVNN1dVRkRlRVFzVDBGQlR5eEZRVUZGTEhGQ1FVRnhRaXhEUVVGRExFdEJRVXNzUlVGQlJTeFBRVUZQTEVWQlFVVXNWMEZCVnl4RFFVRkRPMWxCUXpORUxFdEJRVXNzUlVGQlJTeGpRVUZqTEVOQlFVTXNTMEZCU3l4RlFVRkZMRXRCUVVzc1JVRkJSU3h2UWtGQmIwSXNRMEZCUXl4TFFVRkxMRU5CUVVNN1dVRkRMMFFzUzBGQlN5eEZRVUZGTEdOQlFXTXNRMEZCUXl4TFFVRkxMRVZCUVVVc1MwRkJTeXhGUVVGRkxHOUNRVUZ2UWl4RFFVRkRMRk5CUVZNc1EwRkJRenRaUVVOdVJTeEZRVUZGTEVWQlFVVXNWVUZCVlN4RFFVRkRMRXRCUVVzc1JVRkJSU3hGUVVGRkxFbEJRVWtzUlVGQlJTeERRVUZETzFsQlF5OUNMRkZCUVZFc1JVRkJSU3hWUVVGVkxFTkJRVU1zUzBGQlN5eEZRVUZGTEZGQlFWRXNTVUZCU1N4RlFVRkZMRU5CUVVNN1UwRkROVU03UzBGRFJpeERRVUZETzBGQlEwb3NRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3cwUWtGQk5FSXNRMEZETVVNc1VVRkJhMFVzUlVGRGJFVXNTMEZCY1VZN1NVRkZja1lzU1VGQlNTeERRVUZETEVOQlFVTXNVMEZCVXl4SlFVRkpMRkZCUVZFc1EwRkJReXhGUVVGRkxFTkJRVU03VVVGRE4wSXNUMEZCVHl4MVFrRkJkVUlzUTBGRE5VSXNTMEZCU3p0WlFVTkdMRkZCUVZFc1EwRkJReXhWUVVkSk8xbEJRMklzUlVGQk9FSXNSVUZEYWtNc1VVRkJVU3hEUVVOVUxFTkJRVU03U1VGRFNpeERRVUZETzBsQlJVUXNUVUZCVFN4WlFVRlpMRWRCUVVjc1VVRkJkVU1zUTBGQlF6dEpRVU0zUkN4TlFVRk5MRlZCUVZVc1IwRkJSeXhMUVVGTE8xRkJRM1JDTEVOQlFVTXNRMEZCUXl4cFEwRkJhVU1zUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZETVVNc1EwRkJReXhEUVVGRExGbEJRVmtzUTBGQlF5eFZRVUZWTEVOQlFVTTdTVUZGTlVJc1QwRkJUeXgxUWtGQmRVSXNRMEZCUXl4VlFVRlZMRVZCUVVVN1VVRkRla01zVFVGQlRTeEZRVUZGTEZsQlFWa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUVHRSUVVOcVF5eFBRVUZQTEVWQlFVVXNXVUZCV1N4RFFVRkRMRXRCUVVzc1EwRkJReXhQUVVGUE8xRkJRMjVETEV0QlFVc3NSVUZCUlN4WlFVRlpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXM3VVVGREwwSXNTMEZCU3l4RlFVRkZMRmxCUVZrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN6dFJRVU12UWl4RlFVRkZMRVZCUVVVc1dVRkJXU3hEUVVGRExFdEJRVXNzUTBGQlF5eEZRVUZGTzFGQlEzcENMRkZCUVZFc1JVRkJSU3haUVVGWkxFTkJRVU1zUzBGQlN5eERRVUZETEZGQlFWRTdTMEZEZEVNc1EwRkJReXhEUVVGRE8wRkJRMHdzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN3eVFrRkJNa0lzUTBGRGVrTXNVVUZCY1VNc1JVRkRja01zUzBGQll6dEpRVVZrTEU5QlFVOHNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJReXhSUVVGUkxFVkJRVVVzVTBGQlV5eEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUTNCRUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNOa0pCUVRaQ0xFTkJRek5ETEV0QlFUSkRMRVZCUXpORExFdEJRV3RHTzBsQlJXeEdMRTFCUVUwc1VVRkJVU3hIUVVOYUxFOUJRVThzUzBGQlN5eExRVUZMTEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFXbERMRU5CUVVNc1EwRkJReXhEUVVGRExFdEJRVXNzUTBGQlF6dEpRVU42Uml4UFFVRlBMRFJDUVVFMFFpeERRVUZETEZGQlFWRXNSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRCUVVOMlJDeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR3REUVVGclF5eERRVU5vUkN4UlFVRnhRenRKUVVWeVF5eFBRVUZQTEUxQlFVMHNRMEZCUXl4WFFVRlhMRU5CUTNaQ0xGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hGUVVGRkxGVkJRVlVzUTBGQlF5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVNMVJTeERRVUZETzBGQlEwb3NRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3h0UTBGQmJVTXNRMEZEYWtRc1VVRkJjVU03U1VGRmNrTXNUMEZCVHl4TlFVRk5MRU5CUVVNc1YwRkJWeXhEUVVOMlFpeFJRVUZSTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGQlJTeFZRVUZWTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGRE4wVXNRMEZCUXp0QlFVTktMRU5CUVVNN1FVRnJRMFFzVTBGQlV5eHBRa0ZCYVVJc1EwRkRlRUlzVFVGQkswSTdTVUZGTDBJc1RVRkJUU3hOUVVGTkxFZEJRVzFETEVWQlFVVXNRMEZCUXp0SlFVTnNSQ3hMUVVGTExFMUJRVTBzUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlN4RFFVRkRPMUZCUTJ4RUxFbEJRVWtzTWtKQlFUSkNMRU5CUVVNc1VVRkJVU3hEUVVGRExFZEJRVWNzUTBGQlF6dFpRVUZGTEZOQlFWTTdVVUZEZUVRc1RVRkJUU3hUUVVGVExFZEJRVWNzZDBKQlFYZENMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRGJFUXNTVUZCU1N4VFFVRlRMRXRCUVVzc1UwRkJVenRaUVVGRkxFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4VFFVRlRMRU5CUVVNN1NVRkRka1FzUTBGQlF6dEpRVU5FTEU5QlFVOHNUVUZCVFN4RFFVRkRPMEZCUTJoQ0xFTkJRVU03UVVGRlJEczdPenM3UjBGTFJ6dEJRVU5JTEZOQlFWTXNOa0pCUVRaQ0xFTkJRM0JETEZGQlFYRkRPMGxCUlhKRExFOUJRVTg3VVVGRFRDeFBRVUZQTEVWQlFVVXNVVUZCVVN4RFFVRkRMRTlCUVU4N1VVRkRla0lzVlVGQlZTeEZRVUZGTEdsQ1FVRnBRaXhEUVVNelFpeERRVUZETEZGQlFWRXNRMEZCUXl4VlFVRlZMRWxCUVVrc1JVRkJSU3hEUVVGMVF5eERRVU5zUlR0UlFVTkVMRXRCUVVzc1JVRkJSU3hwUWtGQmFVSXNRMEZEZEVJc1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlN5eEpRVUZKTEVWQlFVVXNRMEZCZFVNc1EwRkROMFE3UzBGRFJpeERRVUZETzBGQlEwb3NRMEZCUXp0QlFVVkVMRk5CUVZNc2QwSkJRWGRDTEVOQlFVTXNTMEZCWXp0SlFVTTVReXhKUVVGSkxFdEJRVXNzUzBGQlN5eEpRVUZKTzFGQlFVVXNUMEZCVHl4SlFVRkpMRU5CUVVNN1NVRkRhRU1zVFVGQlRTeEpRVUZKTEVkQlFVY3NUMEZCVHl4TFFVRkxMRU5CUVVNN1NVRkRNVUlzU1VGQlNTeEpRVUZKTEV0QlFVc3NVVUZCVVN4SlFVRkpMRWxCUVVrc1MwRkJTeXhUUVVGVE8xRkJRVVVzVDBGQlR5eExRVUYxUWl4RFFVRkRPMGxCUXpWRkxFbEJRVWtzU1VGQlNTeExRVUZMTEZGQlFWRTdVVUZCUlN4UFFVRlBMRTFCUVUwc1EwRkJReXhSUVVGUkxFTkJRVU1zUzBGQlpTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkZMRXRCUVdkQ0xFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTXNRMEZCUXp0SlFVTXZSaXhKUVVGSkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJRenRSUVVONlFpeE5RVUZOTEV0QlFVc3NSMEZCY1VJc1JVRkJSU3hEUVVGRE8xRkJRMjVETEV0QlFVc3NUVUZCVFN4SlFVRkpMRWxCUVVrc1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRGVrSXNUVUZCVFN4VFFVRlRMRWRCUVVjc2QwSkJRWGRDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1dVRkRha1FzU1VGQlNTeFRRVUZUTEV0QlFVc3NVMEZCVXp0blFrRkJSU3hMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUTNKRUxFTkJRVU03VVVGRFJDeFBRVUZQTEV0QlFVc3NRMEZCUXp0SlFVTm1MRU5CUVVNN1NVRkRSQ3hKUVVGSkxFbEJRVWtzUzBGQlN5eFJRVUZSTEVWQlFVVXNRMEZCUXp0UlFVTjBRaXhQUVVGUExHbENRVUZwUWl4RFFVRkRMRXRCUVdkRExFTkJRVU1zUTBGQlF6dEpRVU0zUkN4RFFVRkRPMGxCUTBRc1QwRkJUeXhUUVVGVExFTkJRVU03UVVGRGJrSXNRMEZCUXp0QlFVVkVMRk5CUVZNc2EwSkJRV3RDTEVOQlFVTXNWVUZCTWtNN1NVRkRja1VzVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4SFFVRkhMRU5CUVZNc05rSkJRVFpDTEVOQlFVTXNRMEZCUXp0SlFVTXZSQ3hKUVVGSkxGVkJRVlVzUTBGQlF5eEhRVUZITzFGQlFVVXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEYUVRc1NVRkJTU3hWUVVGVkxFTkJRVU1zU1VGQlNUdFJRVUZGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlEyeEVMRTlCUVU4c1QwRkJUeXhEUVVGRE8wRkJRMnBDTEVOQlFVTTdRVUZGUkN4VFFVRlRMR05CUVdNc1EwRkRja0lzUzBGQmVVSXNSVUZEZWtJc1NVRkJkMElzUlVGRGVFSXNUMEZCYjBJc1JVRkRjRUlzWlVGQk5rTTdTVUZGTjBNc1RVRkJUU3haUVVGWkxFZEJRVWNzU1VGQlNTeEpRVUZKTEVWQlFVVXNRMEZCUXp0SlFVTm9ReXhKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFJRVU5xUXl4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGRkxGVkJRVlVzUlVGQlJTeEpRVUZKTEVWQlFVVXNXVUZCV1N4RlFVRnJReXhEUVVGRE8wbEJRMjVHTEVOQlFVTTdTVUZEUkN3NFJVRkJPRVU3U1VGRE9VVXNOa1ZCUVRaRk8wbEJRemRGTERKRlFVRXlSVHRKUVVNelJTdzBSVUZCTkVVN1NVRkROVVVzTkVWQlFUUkZPMGxCUXpWRkxFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3hEUVVGRE8xRkJReTlDTEUxQlFVMHNZMEZCWXl4SFFVRkhMR1ZCUVdVc1JVRkJSU3hIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZEYUVZc1NVRkJTU3hqUVVGakxFVkJRVVVzUTBGQlF6dFpRVU51UWl4UFFVRlBPMmRDUVVOTUxFdEJRVXNzUlVGQlJTeFZRVUZWTzJkQ1FVTnFRaXhKUVVGSkxFVkJRVVVzWTBGQll6dGhRVU5YTEVOQlFVTTdVVUZEY0VNc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRFJDeFBRVUZQTEVWQlFVVXNTMEZCU3l4RlFVRkZMRTFCUVUwc1JVRkJSU3hOUVVGTkxFVkJRVVVzUzBGQlN5eEZRVUZGTEVsQlFVa3NSVUZCUlN4WlFVRlpMRVZCUVRCQ0xFTkJRVU03UVVGRGRFWXNRMEZCUXp0QlFVVkVPenM3TzBkQlNVYzdRVUZEU0N4VFFVRlRMR3RDUVVGclFpeERRVUZETEZGQlFYRkRPMGxCUXk5RUxFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NSMEZCUnl4RlFVRnJRaXhEUVVGRE8wbEJRM1JETEV0QlFVc3NUVUZCVFN4SlFVRkpMRWxCUVVrc1VVRkJVU3hEUVVGRExGVkJRVlVzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXp0UlFVTTVReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEZOQlFWTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1JVRkJSU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0SlFVTnVSQ3hEUVVGRE8wbEJRMFFzVDBGQlR5eEhRVUZITEVOQlFVTTdRVUZEWWl4RFFVRkRPMEZCUlVRN096czdPenRIUVUxSE8wRkJRMGdzVTBGQlV5dzJRa0ZCTmtJc1EwRkRjRU1zVVVGQmNVTXNSVUZEY2tNc1QwRkJiMElzUlVGRGNFSXNaVUZCTkVNN1NVRkZOVU1zVFVGQlRTeEhRVUZITEVkQlFVY3NTVUZCU1N4SFFVRkhMRVZCUVd0Q0xFTkJRVU03U1VGRGRFTXNTMEZCU3l4TlFVRk5MRkZCUVZFc1NVRkJTU3hSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMUZCUTNKRUxFMUJRVTBzUzBGQlN5eEhRVUZITEU5QlFVOHNVVUZCVVN4RFFVRkRMRXRCUVVzc1MwRkJTeXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk1zUTBGQlF6dFJRVU01UlN4SlFVRkpMRU5CUVVNc1MwRkJTenRaUVVGRkxGTkJRVk03VVVGRGNrSXNUVUZCVFN4VFFVRlRMRWRCUVVjc1QwRkJUeXhSUVVGUkxFTkJRVU1zVFVGQlRTeExRVUZMTEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRPMUZCUTNCR0xFMUJRVTBzVTBGQlV5eEhRVUZITEU5QlFVOHNVVUZCVVN4RFFVRkRMRTFCUVUwc1MwRkJTeXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk1zUTBGQlF6dFJRVU53Uml4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVOTUxHRkJRV0VzUTBGQlF6dFpRVU5hTEUxQlFVMHNSVUZCUlN4alFVRmpMRU5CUVVNc1UwRkJVeXhGUVVGRkxGRkJRVkVzUTBGQlF5eFZRVUZWTEVWQlFVVXNUMEZCVHl4RlFVRkZMR1ZCUVdVc1EwRkJRenRaUVVOb1JpeE5RVUZOTEVWQlFVVXNZMEZCWXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hSUVVGUkxFTkJRVU1zVlVGQlZTeEZRVUZGTEU5QlFVOHNSVUZCUlN4bFFVRmxMRU5CUVVNN1UwRkRha1lzUTBGQlF5eEZRVU5HTEV0QlFVc3NRMEZEVGl4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVORUxFOUJRVThzUjBGQlJ5eERRVUZETzBGQlEySXNRMEZCUXp0QlFVVkVMRk5CUVZNc2JVSkJRVzFDTEVOQlFVTXNVVUZCZFVJN1NVRkRiRVFzU1VGQlNTeFJRVUZSTEVOQlFVTXNTMEZCU3l4TFFVRkxMRlZCUVZVc1JVRkJSU3hEUVVGRE8xRkJRMnhETEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVVc1YwRkJWeXhGUVVGRkxFbEJRVWtzUlVGQlJTeFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1NVRkRja1FzUTBGQlF6dEpRVU5FTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVVc1VVRkJVU3hEUVVGRExFMUJRVTBzUlVGQlJTeEpRVUZKTEVWQlFVVXNVVUZCVVN4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8wRkJRM3BFTEVOQlFVTTdRVUZGUkN4VFFVRlRMREJDUVVFd1FpeERRVU5xUXl4SlFVRjVRaXhGUVVONlFpeExRVUZ6UWp0SlFVVjBRaXhOUVVGTkxGRkJRVkVzUjBGQk9FSTdVVUZETVVNc1JVRkJSU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFJRVUZSTzFGQlEycENMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN6dExRVU5zUWl4RFFVRkRPMGxCUTBZc1VVRkJVU3hEUVVGRExFMUJRVTBzUjBGQlJ5dzRRa0ZCT0VJc1EwRkRPVU1zU1VGQlNTeERRVUZETEZWQlFTdERMRVZCUTNCRUxFbEJRVWtzUTBGQlF5eEpRVUZKTEVWQlExUXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkRXQ3hEUVVGRE8wbEJRMFlzU1VGQlNTeEpRVUZKTEVOQlFVTXNVVUZCVVR0UlFVRkZMRkZCUVZFc1EwRkJReXhSUVVGUkxFZEJRVWNzU1VGQlNTeERRVUZETzBsQlF6VkRMRWxCUVVrc1MwRkJTeXhMUVVGTExGTkJRVk03VVVGQlJTeFJRVUZSTEVOQlFVTXNXVUZCV1N4SFFVRkhMRXRCUVVzc1EwRkJRenRKUVVOMlJDeE5RVUZOTEZGQlFWRXNSMEZCUnl4M1FrRkJkMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4SlFVRkpMRVZCUVVVc1EwRkJLME1zUTBGQlF6dEpRVU14Unl4SlFVRkpMRkZCUVZFc1NVRkJTU3hOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRTFCUVUwN1VVRkJSU3hSUVVGUkxFTkJRVU1zVVVGQlVTeEhRVUZITEZGQlFWRXNRMEZCUXp0SlFVTXpSU3hQUVVGUExGRkJRVkVzUTBGQlF6dEJRVU5zUWl4RFFVRkRPMEZCUlVRc1UwRkJVeXh6UWtGQmMwSXNRMEZETjBJc1MwRkJhVVU3U1VGRmFrVXNTVUZCU1N4RFFVRkRMRXRCUVVzN1VVRkJSU3hQUVVGUExGTkJRVk1zUTBGQlF6dEpRVU0zUWl4TlFVRk5MRkZCUVZFc1IwRkJjME1zUlVGQlJTeERRVUZETzBsQlEzWkVMRXRCUVVzc1RVRkJUU3hEUVVGRExGRkJRVkVzUlVGQlJTeEpRVUZKTEVOQlFVTXNTVUZCU1N4TlFVRk5MRU5CUVVNc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eEZRVUZGTEVOQlFVTTdVVUZEY2tRc1NVRkJTU3hKUVVGSkxFVkJRVVVzU1VGQlNTeExRVUZMTEUxQlFVMHNSVUZCUlN4RFFVRkRPMWxCUXpGQ0xGRkJRVkVzUTBGQlF5eFJRVUZSTEVOQlFVTXNSMEZCUnl4RlFVRkZMRWxCUVVrc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF6dFJRVU40UXl4RFFVRkRPMkZCUVUwc1NVRkJTU3hQUVVGUExFbEJRVWtzUTBGQlF5eEpRVUZKTEVsQlFVa3NSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJRenRaUVVOdVF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4M1FrRkJkMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1dVRkRia1FzVVVGQlVTeERRVUZETEZGQlFWRXNRMEZCUXl4SFFVRkhMRVZCUVVVc1NVRkJTU3hGUVVGRkxGTkJRVk1zUlVGQlJTeExRVUZMTEVWQlFVVXNTMEZCU3l4SlFVRkpMRWxCUVVrc1JVRkJSU3hEUVVGRE8xRkJRMnBGTEVOQlFVTTdTVUZEU0N4RFFVRkRPMGxCUTBRc1QwRkJUeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRMRU5CUVVNN1FVRkROMFFzUTBGQlF6dEJRVVZFTEZOQlFWTXNjMEpCUVhOQ0xFTkJRVU1zU1VGQkswSTdTVUZETjBRc1RVRkJUU3hSUVVGUkxFZEJRWE5DTzFGQlEyeERMRVZCUVVVc1JVRkJSU3hKUVVGSkxFTkJRVU1zUlVGQlJUdFJRVU5ZTEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1NVRkJTU3hKUVVGSkxFbEJRVWtzUTBGQlF5eEhRVUZITEVWQlFVVXNTVUZCU1N4SlFVRkpMRWxCUVVrc1EwRkJReXhGUVVGRk8xRkJRelZETEZWQlFWVXNSVUZCUlN4cFFrRkJhVUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4SlFVRkpMRVZCUVVVc1EwRkJRenRMUVVNdlF5eERRVUZETzBsQlEwWXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTenRSUVVGRkxGRkJRVkVzUTBGQlF5eExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJRenRKUVVNMVF5eE5RVUZOTEZGQlFWRXNSMEZCUnl4elFrRkJjMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1NVRkRjRVFzU1VGQlNTeFJRVUZSTzFGQlFVVXNVVUZCVVN4RFFVRkRMR0ZCUVdFc1IwRkJSeXhSUVVGUkxFTkJRVU03U1VGRGFFUXNUVUZCVFN4UlFVRlJMRWRCUVVjc2QwSkJRWGRDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1NVRkJTU3hGUVVGRkxFTkJRU3RETEVOQlFVTTdTVUZETjBjc1NVRkJTU3hSUVVGUkxFbEJRVWtzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhOUVVGTk8xRkJRVVVzVVVGQlVTeERRVUZETEZGQlFWRXNSMEZCUnl4UlFVRlJMRU5CUVVNN1NVRkRNMFVzU1VGQlNTeEpRVUZKTEVOQlFVTXNVVUZCVVN4SlFVRkpMRWxCUVVrc1EwRkJReXhKUVVGSkxFbEJRVWtzU1VGQlNTeERRVUZETEZGQlFWRXNTMEZCU3l4VFFVRlRMRVZCUVVVc1EwRkJRenRSUVVNNVJDeE5RVUZOTEVWQlFVVXNSMEZCY1VJN1dVRkRNMElzVVVGQlVTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJUdFRRVU4wUml4RFFVRkRPMUZCUTBZc1NVRkJTU3hKUVVGSkxFTkJRVU1zU1VGQlNUdFpRVUZGTEVWQlFVVXNRMEZCUXl4SlFVRkpMRWRCUVVjc1JVRkJSU3hMUVVGTExFVkJRVVVzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1VVRkRPVVVzU1VGQlNTeEpRVUZKTEVOQlFVTXNVVUZCVVN4TFFVRkxMRk5CUVZNN1dVRkJSU3hGUVVGRkxFTkJRVU1zVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNN1VVRkROMFFzVVVGQlVTeERRVUZETEVWQlFVVXNSMEZCUnl4RlFVRkZMRU5CUVVNN1NVRkRia0lzUTBGQlF6dEpRVU5FTEU5QlFVOHNVVUZCVVN4RFFVRkRPMEZCUTJ4Q0xFTkJRVU03UVVGRlJDeFRRVUZUTEhOQ1FVRnpRaXhEUVVNM1FpeEpRVUVyUWl4RlFVTXZRaXhQUVVGdlFpeEZRVU53UWl4bFFVRTJReXhGUVVNM1F5eHRRa0ZCYVVRN1NVRkZha1FzVFVGQlRTeE5RVUZOTEVkQlFVY3NZMEZCWXl4RFFVTXpRaXhKUVVGSkxFTkJRVU1zVTBGQlV5eEpRVUZKTEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUXpkQ0xFbEJRVWtzUTBGQlF5eFZRVUZWTEVWQlEyWXNUMEZCVHl4RlFVTlFMR1ZCUVdVc1EwRkRhRUlzUTBGQlF6dEpRVU5HTEUxQlFVMHNUVUZCVFN4SFFVRkhMR05CUVdNc1EwRkRNMElzU1VGQlNTeERRVUZETEZOQlFWTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVNM1FpeEpRVUZKTEVOQlFVTXNWVUZCVlN4RlFVTm1MRTlCUVU4c1JVRkRVQ3hsUVVGbExFTkJRMmhDTEVOQlFVTTdTVUZEUml4TlFVRk5MRkZCUVZFc1IwRkJjMEk3VVVGRGJFTXNSVUZCUlN4RlFVRkZMRWxCUVVrc1EwRkJReXhGUVVGRk8xRkJRMWdzU1VGQlNTeEZRVUZGTEUxQlFVMDdVVUZEV2l4TlFVRk5PMUZCUTA0c1RVRkJUVHRMUVVOUUxFTkJRVU03U1VGRFJpeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhKUVVGSkxHMUNRVUZ0UWl4RlFVRkZMRWRCUVVjc1EwRkJReXhoUVVGaExFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM2hHTEVsQlFVa3NTMEZCU3p0UlFVRkZMRkZCUVZFc1EwRkJReXhMUVVGTExFZEJRVWNzUzBGQlN5eERRVUZETzBsQlEyeERMRTFCUVUwc1VVRkJVU3hIUVVGSExIZENRVUYzUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFbEJRVWtzUlVGQlJTeERRVUVyUXl4RFFVRkRPMGxCUXpkSExFbEJRVWtzVVVGQlVTeEpRVUZKTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zVFVGQlRUdFJRVUZGTEZGQlFWRXNRMEZCUXl4UlFVRlJMRWRCUVVjc1VVRkJVU3hEUVVGRE8wbEJRek5GTEU5QlFVOHNVVUZCVVN4RFFVRkRPMEZCUTJ4Q0xFTkJRVU03UVVGRlJDdzJSVUZCTmtVN1FVRkROMFVzVTBGQlV5eGhRVUZoTEVOQlFVTXNTVUZCYzBRN1NVRkRNMFVzVFVGQlRTeExRVUZMTEVkQlFVY3NRMEZCUXl4UlFVRjFRaXhGUVVGVkxFVkJRVVVzUTBGRGFFUXNVVUZCVVN4RFFVRkRMRXRCUVVzc1MwRkJTeXhOUVVGTk8xRkJRM1pDTEVOQlFVTXNRMEZCUXl4UlFVRlJMRkZCUVZFc1EwRkJReXhOUVVGTkxFbEJRVWtzVVVGQlVTeERRVUZETEVsQlFVa3NSVUZCUlR0UlFVTTFReXhEUVVGRExFTkJRVU1zV1VGQldTeFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1NVRkRiRU1zVDBGQlR5eEhRVUZITEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFdEJRVXNzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hEUVVGRE8wRkJRM2hFTEVOQlFVTTdRVUZGUkRzN096czdPenRIUVU5SE8wRkJRMGdzVFVGQlRTeFZRVUZWTEhWRFFVRjFReXhEUVVOeVJDeFJRVUZ4UXp0SlFVVnlReXhOUVVGTkxFOUJRVThzUjBGQlJ5eHJRa0ZCYTBJc1EwRkJReXhSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdTVUZEZUVRc1RVRkJUU3hsUVVGbExFZEJRVWNzYTBKQlFXdENMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03U1VGRGNrUXNUVUZCVFN4dFFrRkJiVUlzUjBGQlJ5dzJRa0ZCTmtJc1EwRkJReXhSUVVGUkxFVkJRVVVzVDBGQlR5eEZRVUZGTEdWQlFXVXNRMEZCUXl4RFFVRkRPMGxCUXpsR0xFMUJRVTBzVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXl4WFFVRlhMRU5CUXk5Q0xGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hGUVVGRkxIZENRVUYzUWl4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlF6RkdMRU5CUVVNN1NVRkRSaXhOUVVGTkxFOUJRVThzUjBGQlJ5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RFFVTm9ReXhSUVVGUkxFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhMUVVGTExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1JVRkJSU3gzUWtGQmQwSXNRMEZCUXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVU16Uml4RFFVRkRPMGxCUTBZc1RVRkJUU3hSUVVGUkxFZEJRVEJDTzFGQlEzUkRMRVZCUVVVc1JVRkJSU3hSUVVGUkxFTkJRVU1zVlVGQlZTeERRVUZETEVkQlFVY3NTVUZCU1N4UlFVRlJMRU5CUVVNc1ZVRkJWU3hEUVVGRExFbEJRVWs3VVVGRGRrUXNTVUZCU1N4RlFVRkZMRkZCUVZFc1EwRkJReXhWUVVGVkxFTkJRVU1zU1VGQlNUdFJRVU01UWl4TlFVRk5MRVZCUVVVc1VVRkJVU3hEUVVGRExGVkJRVlVzUTBGQlF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGRE9VTXNNRUpCUVRCQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGRGVFUTdVVUZEUkN4UFFVRlBMRVZCUVVVc1VVRkJVU3hEUVVGRExGVkJRVlVzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGRGFFUXNNRUpCUVRCQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGRGVrUTdVVUZEUkN4TFFVRkxMRVZCUVVVc1VVRkJVU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMSE5DUVVGelFpeERRVUZETzFGQlEzWkVMRXRCUVVzc1JVRkJSU3hSUVVGUkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUlVGQlJTeERRVU4yUXl4elFrRkJjMElzUTBGQlF5eEpRVUZKTEVWQlFVVXNUMEZCVHl4RlFVRkZMR1ZCUVdVc1JVRkJSU3h0UWtGQmJVSXNRMEZCUXl4RFFVTTFSVHRMUVVOR0xFTkJRVU03U1VGRFJpeEpRVUZKTEZGQlFWRXNRMEZCUXl4VlFVRlZMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU03VVVGRGFrTXNUVUZCVFN4UlFVRlJMRWRCUVVjc2QwSkJRWGRDTEVOQlEzWkRMRkZCUVZFc1EwRkJReXhWUVVGVkxFTkJRVU1zVVVGQlVTeERRVU5wUWl4RFFVRkRPMUZCUTJoRUxFbEJRVWtzVVVGQlVTeEpRVUZKTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zVFVGQlRUdFpRVUZGTEZGQlFWRXNRMEZCUXl4UlFVRlJMRWRCUVVjc1VVRkJVU3hEUVVGRE8wbEJRemRGTEVOQlFVTTdTVUZEUkN4TlFVRk5MRVZCUVVVc1IwRkJlVUlzUlVGQlJTeERRVUZETzBsQlEzQkRMRTFCUVUwc1VVRkJVU3hIUVVGSExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc2FVSkJRV2xDTEVOQlJYcERMRU5CUVVNN1NVRkRaQ3hOUVVGTkxHTkJRV01zUjBGQlJ5eFJRVUZSTEVWQlFVVXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJRenRKUVVNNVF5eEpRVUZKTEdOQlFXTXNTVUZCU1N4UFFVRlBMR05CUVdNc1MwRkJTeXhSUVVGUkxFVkJRVVVzUTBGQlF6dFJRVU42UkN4TlFVRk5MRU5CUVVNc1IwRkJSeXhqUVVGNVF5eERRVUZETzFGQlEzQkVMRTFCUVUwc1EwRkJReXhIUVVGSExFOUJRVThzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRM0JGTEUxQlFVMHNRMEZCUXl4SFFVRkhMRTlCUVU4c1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eExRVUZMTEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTNCRkxFMUJRVTBzU1VGQlNTeEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhMUVVGTExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEyNUdMRVZCUVVVc1EwRkJReXhSUVVGUkxFZEJRVWNzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hEUVVGRE8wbEJReTlDTEVOQlFVTTdTVUZEUkN4SlFVRkpMRVZCUVVVc1EwRkJReXhSUVVGUk8xRkJRVVVzVVVGQlVTeERRVUZETEVWQlFVVXNSMEZCUnl4RlFVRkZMRU5CUVVNN1NVRkRiRU1zVDBGQlR5eFJRVUZSTEVOQlFVTTdRVUZEYkVJc1EwRkJRenRCUVVWRU96czdPenRIUVV0SE8wRkJRMGdzVFVGQlRTeFZRVUZWTEN0Q1FVRXJRaXhEUVVNM1F5eFJRVUZ4UXp0SlFVVnlReXhOUVVGTkxGRkJRVkVzUjBGQlJ5eDFRMEZCZFVNc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dEpRVU51UlN4TlFVRk5MRTFCUVUwc1IwRkJOa0lzUlVGQlJTeERRVUZETzBsQlF6VkRMRTFCUVUwc1pVRkJaU3hIUVVGSExEWkNRVUUyUWl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8wbEJRMmhGTEVsQlFVa3NaVUZCWlN4SlFVRkpMRzlDUVVGdlFpeERRVUZETEdWQlFXVXNRMEZCUXp0UlFVRkZMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzWlVGQlpTeERRVUZETzBsQlF6bEdMRTFCUVUwc1JVRkJSU3hIUVVGSExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4RFFVRkRPMGxCUXpkQ0xFbEJRVWtzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZEVUN4TlFVRk5MR1ZCUVdVc1IwRkJSeXhGUVVGRkxFTkJRVU1zYVVKQlFXbENMRU5CUVVNc1EwRkJRenRSUVVNNVF5eEpRVUZKTEdWQlFXVXNTVUZCU1N4UFFVRlBMR1ZCUVdVc1MwRkJTeXhSUVVGUkxFVkJRVVVzUTBGQlF6dFpRVU16UkN4TlFVRk5MRU5CUVVNc1pVRkJaU3hIUVVGSExHVkJRWGxETEVOQlFVTTdVVUZEY2tVc1EwRkJRenRSUVVORUxFMUJRVTBzWlVGQlpTeEhRVUZITEVWQlFVVXNRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eERRVUZETzFGQlF6bERMRWxCUVVrc1pVRkJaU3hKUVVGSkxFOUJRVThzWlVGQlpTeExRVUZMTEZGQlFWRXNSVUZCUlN4RFFVRkRPMWxCUXpORUxFMUJRVTBzUTBGQlF5eGxRVUZsTEVkQlFVY3NkMEpCUVhkQ0xFTkJReTlETEdWQlFUQkRMRU5CUTFRc1EwRkJRenRSUVVOMFF5eERRVUZETzFGQlEwUXNUVUZCVFN4WFFVRlhMRWRCUVVjc1JVRkJSU3hEUVVGRExHRkJRV0VzUTBGQlF5eERRVUZETzFGQlEzUkRMRWxCUVVrc1YwRkJWeXhKUVVGSkxFOUJRVThzVjBGQlZ5eExRVUZMTEZGQlFWRXNSVUZCUlN4RFFVRkRPMWxCUTI1RUxFMUJRVTBzUTBGQlF5eFhRVUZYTEVkQlFVY3NkMEpCUVhkQ0xFTkJRek5ETEZkQlFYTkRMRU5CUTB3c1EwRkJRenRSUVVOMFF5eERRVUZETzBsQlEwZ3NRMEZCUXp0SlFVTkVMRTFCUVUwc1EwRkJReXhUUVVGVExFZEJRVWNzUlVGQlJTeERRVUZETzBsQlEzUkNMRXRCUVVzc1RVRkJUU3hKUVVGSkxFbEJRVWtzVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJRenRSUVVONFF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJRenRaUVVObUxFMUJRVTBzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExIZENRVUYzUWl4RFFVTnNSQ3hKUVVGSkxFTkJRVU1zUzBGQk1rTXNRMEZEWml4RFFVRkRPMUZCUTNSRExFTkJRVU03U1VGRFNDeERRVUZETzBsQlEwUXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRTFCUVUwN1VVRkJSU3hQUVVGUExFMUJRVTBzUTBGQlF5eFRRVUZUTEVOQlFVTTdTVUZEYmtVc1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4cFFrRkJhVUlzUTBGRGVrTXNVVUZCVVN4RFFVRkRMRlZCUVdkRUxFTkJRekZFTEVOQlFVTTdTVUZEUml4UFFVRlBMR2xDUVVGcFFpeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRPMGxCUTI1RExFOUJRVThzYVVKQlFXbENMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03U1VGRGNFTXNUMEZCVHl4cFFrRkJhVUlzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0SlFVTnNReXhQUVVGUExHbENRVUZwUWl4RFFVRkRMRmRCUVZjc1EwRkJReXhEUVVGRE8wbEJRM1JETEUxQlFVMHNRMEZCUXl4cFFrRkJhVUlzUjBGQlJ5eHBRa0ZCYVVJc1EwRkJRenRKUVVNM1F5eE5RVUZOTEZGQlFWRXNSMEZCUnl4M1FrRkJkMElzUTBGRGRrTXNVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFbEJRVWtzUlVGQlJTeERRVU5KTEVOQlFVTTdTVUZEY0VNc1QwRkJUeXhGUVVGRkxGRkJRVkVzUlVGQlJTeE5RVUZOTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMEZCUXpkR0xFTkJRVU03UVVGRlJEczdPenM3UjBGTFJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN3MlFrRkJOa0lzUTBGRE0wTXNVVUZCSzBJN1NVRkZMMElzU1VGQlNTeFJRVUZSTEVOQlFVTXNUVUZCVFN4RlFVRkZMRTFCUVUwc1NVRkJTU3h2UWtGQmIwSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTTdVVUZETlVVc1QwRkJUeXhWUVVGVkxFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVRKRExFTkJRVU03U1VGRGRFWXNRMEZCUXp0SlFVTkVMRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVkQlFVY3NVVUZCVVN4RFFVRkRPMGxCUTNSRExFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NSMEZCUnl4RFFVRlRMRFpDUVVFMlFpeERRVUZETEVOQlFVTTdTVUZETDBRc1NVRkJTU3hSUVVGUkxFTkJRVU1zUlVGQlJUdFJRVUZGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1VVRkJVU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETzBsQlF6RkRMRWxCUVVrc1VVRkJVU3hEUVVGRExFbEJRVWs3VVVGQlJTeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU01UXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhEUVVGRExFMUJRVTBzUlVGQlJTeHBRa0ZCYVVJc1NVRkJTU3hGUVVGRkxFTkJRVFJDTEVOQlFVTTdTVUZETjBVc1RVRkJUU3hWUVVGVkxFZEJRVWM3VVVGRGFrSXNSMEZCUnl4VlFVRlZMRU5CUVVNc1QwRkJUeXhEUVVGRE8xRkJRM1JDTEVsQlFVa3NSVUZCUlN4UlFVRlJMRU5CUVVNc1NVRkJTVHRSUVVOdVFpeEhRVUZITEVWQlFVVXNVVUZCVVN4RFFVRkRMRVZCUVVVc1NVRkJTeXhQUVVGUExFTkJRVU1zUzBGQlN5eERRVUYzUWl4SlFVRkpMRkZCUVZFc1EwRkJReXhKUVVGSk8xRkJRek5GTEUxQlFVMHNSVUZCUlN4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVsQlFVa3NSVUZCUlN4RlFVRkZMRU5CUVVNc2MwSkJRWE5DTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRia1VzVDBGQlR5eEZRVUZGTEZGQlFWRXNRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zU1VGQlNTeEZRVUZGTEVWQlFVVXNRMEZCUXl4elFrRkJjMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0UlFVTnlSU3hMUVVGTExFVkJRVVVzVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRVZCUVVVc1NVRkJTU3hEUVVGRExFVkJRVVVzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRGRrVXNVMEZCVXl4RlFVRkZMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNTVUZCU1N4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRE8xbEJRM1pETEVWQlFVVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1JVRkJSVHRaUVVOWUxFMUJRVTBzUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNTMEZCU3p0WlFVTTVReXhWUVVGVkxFVkJRVVVzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpPMWxCUXpWQ0xFMUJRVTBzUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNTMEZCU3p0WlFVTTVReXhWUVVGVkxFVkJRVVVzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpPMWxCUXpWQ0xFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3p0VFFVTnNRaXhEUVVGRExFTkJRVU03UzBGRGIwUXNRMEZCUXp0SlFVVXhSQ3hOUVVGTkxFdEJRVXNzUjBGQmVVTTdVVUZEYkVRc1RVRkJUU3hGUVVGRkxGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETzFsQlEzSkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zUlVGQlJUdFpRVU5pTEV0QlFVc3NSVUZCUlN4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlZUdFpRVU0zUXl4TFFVRkxMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXM3V1VGRGFrSXNVVUZCVVN4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUk8xTkJRM2hDTEVOQlFVTXNRMEZCUXp0UlFVTklMRTlCUVU4c1JVRkJSU3hSUVVGUkxFTkJRVU1zVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF6dFpRVU4yUXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFVkJRVVU3V1VGRFlpeExRVUZMTEVWQlFVVXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVlU3V1VGRE4wTXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhMUVVGTE8xbEJRMnBDTEZGQlFWRXNSVUZCUlN4SlFVRkpMRU5CUVVNc1VVRkJVVHRUUVVONFFpeERRVUZETEVOQlFVTTdVVUZEU0N4TFFVRkxMRVZCUVVVc1VVRkJVU3hEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU03V1VGRGJrTXNSVUZCUlN4RlFVRkZMRWxCUVVrc1EwRkJReXhGUVVGRk8xbEJRMWdzUjBGQlJ5eEZRVUZGTEVWQlFVVXNSVUZCUlN4RlFVRkZMRWxCUVVrc1EwRkJReXhGUVVGRkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4SlFVRkpMRVZCUVVVN1dVRkRja01zUzBGQlN5eEZRVUZGTEVsQlFVa3NRMEZCUXl4TFFVRkxPMWxCUTJwQ0xFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNTVUZCU1R0WlFVTm1MRkZCUVZFc1JVRkJSU3hKUVVGSkxFTkJRVU1zUlVGQlJTeEZRVUZGTEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNSVUZCUlN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXp0WlFVTXhSaXhKUVVGSkxFVkJRVVVzU1VGQlNTeERRVUZETEVWQlFVVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUzBGQlN5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUlVGQlJTeE5RVUZOTEVWQlFVVXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZNN1dVRkROVVlzVVVGQlVTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RlFVRkZMRVZCUVVVc1VVRkJVVHRaUVVNelFpeExRVUZMTEVWQlFVY3NUVUZCVFN4RlFVRkZMRk5CUVZNc1JVRkJSU3hEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEVOQlFWY3NTVUZCU1N4VFFVRlRPMWxCUXpORUxFbEJRVWtzUlVGQlJTeFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1NVRkJTU3hGUVVGRkxFTkJRVlU3V1VGRGFFUXNVVUZCVVN4RlFVRkZMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeEpRVUZKTEVWQlFVVXNRMEZCVlR0VFFVTnVSQ3hEUVVGRExFTkJRVU03VVVGRFNDeExRVUZMTEVWQlFVVXNVVUZCVVN4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEpRVUZKTEVWQlFVVXNSVUZCUlR0WlFVTnFReXhOUVVGTkxFMUJRVTBzUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdXVUZEYUVRc1RVRkJUU3hOUVVGTkxFZEJRVWNzYlVKQlFXMUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFsQlEyaEVMRTFCUVUwc1ZVRkJWU3hIUVVGSExFMUJRVTBzUTBGQlF5eExRVUZMTEV0QlFVc3NWMEZCVnl4SlFVRkpMRTFCUVUwc1EwRkJReXhMUVVGTExFdEJRVXNzVjBGQlZ5eERRVUZETzFsQlEyaEdMRTFCUVUwc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEV0QlFVc3NXVUZCV1N4RFFVRkRPMWxCUTJoRUxFOUJRVTg3WjBKQlEwd3NSVUZCUlN4RlFVRkZMRWxCUVVrc1EwRkJReXhGUVVGRk8yZENRVU5ZTEUxQlFVMHNSVUZCUlN4TlFVRk5MRU5CUVVNc1MwRkJTenRuUWtGRGNFSXNVMEZCVXl4RlFVRkZMRTFCUVUwc1EwRkJReXhMUVVGTE8yZENRVU4yUWl4VlFVRlZMRVZCUVVVc1RVRkJUU3hEUVVGRExFbEJRVWs3WjBKQlEzWkNMRTFCUVUwc1JVRkJSU3hOUVVGTkxFTkJRVU1zUzBGQlN6dG5Ra0ZEY0VJc1UwRkJVeXhGUVVGRkxFMUJRVTBzUTBGQlF5eExRVUZMTzJkQ1FVTjJRaXhWUVVGVkxFVkJRVVVzVFVGQlRTeERRVUZETEVsQlFVazdaMEpCUTNaQ0xFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNTMEZCU3p0blFrRkRha0lzU1VGQlNTeEZRVUZGTEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU1zUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRUdG5Ra0ZEYkVVc1VVRkJVU3hGUVVGRkxGVkJRVlVzUTBGQlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4SlFVRkpMRVZCUVVVc1EwRkJWVHRoUVVNeFF5eERRVUZETzFGQlEySXNRMEZCUXl4RFFVRkRPMUZCUTBZc1JVRkJSU3hGUVVGRkxGVkJRVlVzUTBGQlF6dFpRVU5pTEVkQlFVY3NRMEZCUXl4TlFVRk5MRVZCUVVVc1pVRkJaU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEdWQlFXVXNSVUZCUlN4TlFVRk5MRU5CUVVNc1pVRkJaU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXp0WlFVTXZSU3hIUVVGSExFTkJRVU1zVFVGQlRTeEZRVUZGTEdWQlFXVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hsUVVGbExFVkJRVVVzVFVGQlRTeERRVUZETEdWQlFXVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU03V1VGREwwVXNSMEZCUnl4RFFVRkRMRTFCUVUwc1JVRkJSU3hYUVVGWExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNWMEZCVnl4RlFVRkZMRTFCUVUwc1EwRkJReXhYUVVGWExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRPMU5CUTNCRkxFTkJRVlU3VVVGRFdDeFJRVUZSTEVWQlFVVXNWVUZCVlN4RFFVRkRMRkZCUVZFc1EwRkJReXhSUVVGUkxFbEJRVWtzUlVGQlJTeERRVUZWTzB0QlEzWkVMRU5CUVVNN1NVRkRSaXhQUVVGUE8xRkJRMHdzVDBGQlR5eEZRVUZGTEN0Q1FVRXJRanRSUVVONFF5eFZRVUZWTzFGQlExWXNTMEZCU3p0TFFVTk9MRU5CUVVNN1FVRkRTaXhEUVVGRE8wRkJSVVFzVTBGQlV5eHpRa0ZCYzBJc1EwRkJReXhKUVVFclFqdEpRVU0zUkN4UFFVRlBPMUZCUTB3c1VVRkJVU3hGUVVGRkxFbEJRVWtzUTBGQlF5eEZRVUZGTzFGQlEycENMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN6dFJRVU5xUWl4UlFVRlJMRVZCUVVVc1NVRkJTU3hEUVVGRExGRkJRVkU3VVVGRGRrSXNVVUZCVVN4RlFVRkZMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeEpRVUZKTEVWQlFVVXNRMEZCVlR0TFFVTnFRaXhEUVVGRE8wRkJRM1JETEVOQlFVTTdRVUZGUkN3MlJVRkJOa1U3UVVGRE4wVXNUVUZCVFN4VlFVRlZMRzlEUVVGdlF5eERRVU5zUkN4TFFVRjNSRHRKUVVWNFJDeEpRVUZKTEZWQlFWVXNTVUZCU1N4TFFVRkxMRVZCUVVVc1EwRkJRenRSUVVONFFpeFBRVUZQTEV0QlFUaENMRU5CUVVNN1NVRkRlRU1zUTBGQlF6dEpRVU5FTEVsQlFVa3NUMEZCVHl4SlFVRkpMRXRCUVVzc1NVRkJTU3haUVVGWkxFbEJRVWtzUzBGQlN5eEZRVUZGTEVOQlFVTTdVVUZET1VNc1QwRkJUeXdyUWtGQkswSXNRMEZCUXl4TFFVRnZReXhEUVVGRExFTkJRVU03U1VGREwwVXNRMEZCUXp0SlFVTkVMRTlCUVU4c1JVRkJSU3hSUVVGUkxFVkJRVVVzUzBGQk9FSXNSVUZCUlN4RFFVRkRPMEZCUTNSRUxFTkJRVU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZXlCRGIyNXpkSEoxWTNSdmNpQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZaR1ZqYjNKaGRHbHZibHdpTzF4dWFXMXdiM0owSUhzZ1RXOWtaV3dnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSbFkyOXlZWFJ2Y2kxMllXeHBaR0YwYVc5dVhDSTdYRzVwYlhCdmNuUWdlMXh1SUNCSGNtRndhRkJ2Y25SRVpXWnBibWwwYVc5dUxGeHVJQ0JIY21Gd2FGZHZjbXRtYkc5M1JHVm1hVzVwZEdsdmJpeGNiaUFnUjNKaGNHaFhiM0pyWm14dmQwMWxkR0ZrWVhSaExGeHVJQ0JIY21Gd2FGZHZjbXRtYkc5M1RtOWtaVTFsZEdGa1lYUmhMRnh1SUNCSGNtRndhRmR2Y210bWJHOTNVbVZzWVhScGIyNU5aWFJoWkdGMFlTeGNibjBnWm5KdmJTQmNJaTR2WTI5dWMzUmhiblJ6WENJN1hHNXBiWEJ2Y25RZ2V5Qm5jbUZ3YUV4bFlXWlFiM0owYzA5bUxDQm5jbUZ3YUZkdmNtdG1iRzkzUkdWbWFXNXBkR2x2Yms5bUlIMGdabkp2YlNCY0lpNHZjbVZoWkdWeVhDSTdYRzVwYlhCdmNuUWdkSGx3WlNCN1hHNGdJRWR5WVhCb1YyOXlhMlpzYjNkRWIyTjFiV1Z1ZEN4Y2JpQWdSM0poY0doWGIzSnJabXh2ZDFCdmNuUkpibk4wWVc1alpTeGNibjBnWm5KdmJTQmNJaTR2Wkc5amRXMWxiblF2UjNKaGNHaFhiM0pyWm14dmQwUnZZM1Z0Wlc1MFhDSTdYRzVwYlhCdmNuUWdkSGx3WlNCN0lFZHlZWEJvVG05a1pVbHVjM1JoYm1ObElIMGdabkp2YlNCY0lpNHZaRzlqZFcxbGJuUXZSM0poY0doT2IyUmxTVzV6ZEdGdVkyVmNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doRlpHZGxTVzV6ZEdGdVkyVWdmU0JtY205dElGd2lMaTlrYjJOMWJXVnVkQzlIY21Gd2FFVmtaMlZKYm5OMFlXNWpaVndpTzF4dWFXMXdiM0owSUhSNWNHVWdlMXh1SUNCSGNtRndhRVZ1WkhCdmFXNTBMRnh1SUNCSGNtRndhRmR2Y210bWJHOTNSVzVrY0c5cGJuUXNYRzU5SUdaeWIyMGdYQ0l1TDJSdlkzVnRaVzUwTDBkeVlYQm9SVzVrY0c5cGJuUmNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSM0poY0doSmJuQjFkRUpwYm1ScGJtY2dmU0JtY205dElGd2lMaTlrYjJOMWJXVnVkQzlIY21Gd2FFNXZaR1ZDYVc1a2FXNW5YQ0k3WEc1cGJYQnZjblFnZEhsd1pTQjdJRWR5WVhCb1NuTnZibFpoYkhWbElIMGdabkp2YlNCY0lpNHZaRzlqZFcxbGJuUXZSM0poY0doS2MyOXVWbUZzZFdWY0lqdGNibWx0Y0c5eWRDQjdJR2x6UjNKaGNHaEtjMjl1VTJGbVpWWmhiSFZsSUgwZ1puSnZiU0JjSWk0dlpHOWpkVzFsYm5RdlIzSmhjR2hLYzI5dVZtRnNkV1ZjSWp0Y2JtbHRjRzl5ZENCMGVYQmxJSHNnUjNKaGNHaE9iMlJsVldsVGRHRjBaU3dnUjNKaGNHaFhiM0pyWm14dmQxVnBVM1JoZEdVZ2ZTQm1jbTl0SUZ3aUxpOWtiMk4xYldWdWRDOUhjbUZ3YUZkdmNtdG1iRzkzVldsVGRHRjBaVndpTzF4dWFXMXdiM0owSUh0Y2JpQWdaM0poY0doV1lXeDFaVk5qYUdWdFlVWnliMjFXWVd4cFpHRjBhVzl1TEZ4dUlDQjBlWEJsSUVkeVlYQm9WbUZzYVdSaGRHbHZibEpsWTI5eVpDeGNibjBnWm5KdmJTQmNJaTR2WTJGMFlXeHZaeTlIY21Gd2FGWmhiSFZsVTJOb1pXMWhSR1Z5YVhaaGRHbHZibHdpTzF4dVhHNWpiMjV6ZENCSFVrRlFTRjlNUlVkQlExbGZRazlWVGtSQlVsbGZRVXhKUVZORlV5QTlJRnRjSWlSM2IzSnJabXh2ZDF3aUxDQmNJbmR2Y210bWJHOTNYQ0lzSUZ3aVozSmhjR2hjSWwwN1hHNWNibU52Ym5OMElFZFNRVkJJWDBOUFRsTlVVbFZEVkU5U1gwUkJWRUZmUzBWWlV5QTlJRnRjYmlBZ1hDSnViMlJsWENJc1hHNGdJRndpYlc5a1pXeERiR0Z6YzF3aUxGeHVJQ0JjSW5OdmRYSmpaVU5zWVhOelhDSXNYRzRnSUZ3aVkyOXVjM1J5ZFdOMGIzSmNJaXhjYmlBZ1hDSmtaV1pwYm1sMGFXOXVYQ0lzWEc0Z0lGd2laWGhsWTNWMGIzSmNJaXhjYmwwN1hHNWNiblI1Y0dVZ1IzSmhjR2hOYjJSbGJFeHBhMlU4VFNCbGVIUmxibVJ6SUUxdlpHVnNJRDBnVFc5a1pXdytJRDBnUTI5dWMzUnlkV04wYjNJOFRUNGdmQ0JOTzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUjFKQlVFaGZWMDlTUzBaTVQxZGZVMDVCVUZOSVQxUmZWa1ZTVTBsUFRpQTlJREVnWVhNZ1kyOXVjM1E3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRWR5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEZKbFptVnlaVzVqWlNBOUlIdGNiaUFnYVdRL09pQnpkSEpwYm1jN1hHNGdJR3RwYm1RL09pQnpkSEpwYm1jN1hHNGdJSFJoWno4NklITjBjbWx1Wnp0Y2JpQWdjR0YwYUQ4NklITjBjbWx1Wnp0Y2JpQWdjSEp2Y0dWeWRIay9PaUJ6ZEhKcGJtYzdYRzU5TzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JIY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNSUWIzTnBkR2x2YmlBOUlIdGNiaUFnZURvZ2JuVnRZbVZ5TzF4dUlDQjVPaUJ1ZFcxaVpYSTdYRzU5TzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JIY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNSVGFYcGxJRDBnZTF4dUlDQjNhV1IwYUQ4NklHNTFiV0psY2p0Y2JpQWdhR1ZwWjJoMFB6b2diblZ0WW1WeU8xeHVmVHRjYmx4dVpYaHdiM0owSUhSNWNHVWdSM0poY0doWGIzSnJabXh2ZDFOdVlYQnphRzkwVUc5eWRGTjBZWFJsSUQwZ2UxeHVJQ0JsZUhCaGJtUmxaRDg2SUdKdmIyeGxZVzQ3WEc0Z0lIWmhiSFZsUHpvZ2RXNXJibTkzYmp0Y2JpQWdiVzlrWlQ4NklGd2ljRzl5ZEZ3aUlId2dYQ0oyWVd4MVpWd2lPMXh1SUNCdFpYUmhaR0YwWVQ4NklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrTzF4dWZUdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1IzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBWbUZzZFdVZ1BTQjdYRzRnSUhCaGRHZzZJSE4wY21sdVp6dGNiaUFnZG1Gc2RXVS9PaUIxYm10dWIzZHVPMXh1SUNCc1lXSmxiRDg2SUhOMGNtbHVaenRjYmlBZ2RIbHdaVDg2SUhOMGNtbHVaenRjYmlBZ2NtVnhkV2x5WldRL09pQmliMjlzWldGdU8xeHVJQ0J0YjJSbGJEODZJSE4wY21sdVp6dGNiaUFnYldWMFlXUmhkR0UvT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0IxYm10dWIzZHVQanRjYm4wN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUVkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRFNXZaR1VnUFNCN1hHNGdJR2xrT2lCemRISnBibWM3WEc0Z0lISmxaajg2SUVkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRGSmxabVZ5Wlc1alpUdGNiaUFnYkdGaVpXdy9PaUJ6ZEhKcGJtYzdYRzRnSUd0cGJtUS9PaUJ6ZEhKcGJtYzdYRzRnSUhCdmMybDBhVzl1UHpvZ1IzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBVRzl6YVhScGIyNDdYRzRnSUhOcGVtVS9PaUJIY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNSVGFYcGxPMXh1SUNCbGVIQmhibVJsWkQ4NklHSnZiMnhsWVc0N1hHNGdJSEJ2Y25SelB6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1IzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBVRzl5ZEZOMFlYUmxQanRjYmlBZ1pHRjBZVDg2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSFZ1YTI1dmQyNCtPMXh1SUNCdFpYUmhaR0YwWVQ4NklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrTzF4dWZUdGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1IzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBSV1JuWlNBOUlIdGNiaUFnYVdRNklITjBjbWx1Wnp0Y2JpQWdjMjkxY21ObE9pQnpkSEpwYm1jN1hHNGdJSE52ZFhKalpWSmxaajg2SUhOMGNtbHVaenRjYmlBZ2MyOTFjbU5sVUc5eWREODZJSE4wY21sdVp6dGNiaUFnZEdGeVoyVjBPaUJ6ZEhKcGJtYzdYRzRnSUhSaGNtZGxkRkpsWmo4NklITjBjbWx1Wnp0Y2JpQWdkR0Z5WjJWMFVHOXlkRDg2SUhOMGNtbHVaenRjYmlBZ2JHRmlaV3cvT2lCemRISnBibWM3WEc0Z0lHMWxkR0ZrWVhSaFB6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z2RXNXJibTkzYmo0N1hHNTlPMXh1WEc1bGVIQnZjblFnZEhsd1pTQkhjbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1JFWldacGJtbDBhVzl1SUQwZ2UxeHVJQ0J1WVcxbE9pQnpkSEpwYm1jN1hHNGdJSFJoWnpvZ2MzUnlhVzVuTzF4dUlDQnJhVzVrT2lCemRISnBibWM3WEc0Z0lHTmhkR1ZuYjNKNVB6b2djM1J5YVc1bk8xeHVJQ0JqYjJ4dmNqODZJSE4wY21sdVp6dGNiaUFnWjNKdmRYQS9PaUJ6ZEhKcGJtYzdYRzRnSUdobGFXZG9kRDg2SUc1MWJXSmxjanRjYmlBZ2FXTnZiajg2SUhOMGNtbHVaenRjYmlBZ2JHRmlaV3h6T2lCemRISnBibWRiWFR0Y2JpQWdiV0Y0UTJocGJHUnlaVzQvT2lCdWRXMWlaWEk3WEc0Z0lHMXBibGRwWkhSb1B6b2diblZ0WW1WeU8xeHVJQ0IzYVdSMGFEODZJRzUxYldKbGNqdGNiaUFnYldWMFlXUmhkR0UvT2lCSGNtRndhRmR2Y210bWJHOTNUV1YwWVdSaGRHRTdYRzRnSUdsdWNIVjBjem9nUjNKaGNHaFFiM0owUkdWbWFXNXBkR2x2Ymx0ZE8xeHVJQ0J2ZFhSd2RYUnpPaUJIY21Gd2FGQnZjblJFWldacGJtbDBhVzl1VzEwN1hHNGdJRzV2WkdWek9pQkhjbUZ3YUZkdmNtdG1iRzkzVG05a1pVMWxkR0ZrWVhSaFcxMDdYRzRnSUhKbGJHRjBhVzl1Y3pvZ1IzSmhjR2hYYjNKclpteHZkMUpsYkdGMGFXOXVUV1YwWVdSaGRHRmJYVHRjYm4wN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUVkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRGTjBZWFJsSUQwZ2UxeHVJQ0JwYm5CMWRITTZJRWR5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEZaaGJIVmxXMTA3WEc0Z0lHOTFkSEIxZEhNNklFZHlZWEJvVjI5eWEyWnNiM2RUYm1Gd2MyaHZkRlpoYkhWbFcxMDdYRzRnSUc1dlpHVnpPaUJIY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNST2IyUmxXMTA3WEc0Z0lHVmtaMlZ6T2lCSGNtRndhRmR2Y210bWJHOTNVMjVoY0hOb2IzUkZaR2RsVzEwN1hHNGdJSFZwT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0IxYm10dWIzZHVQanRjYmlBZ2JXVjBZV1JoZEdFNklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrTzF4dWZUdGNibHh1THlvcUlGTnVZWEJ6YUc5MElITmphR1Z0WVNCMlpYSnphVzl1SUd4cGRHVnlZV3dnZEhsd1pTQW9lMEJzYVc1cklFZFNRVkJJWDFkUFVrdEdURTlYWDFOT1FWQlRTRTlVWDFaRlVsTkpUMDU5S1M0Z0tpOWNibVY0Y0c5eWRDQjBlWEJsSUVkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRGWmxjbk5wYjI0Z1BTQjBlWEJsYjJZZ1IxSkJVRWhmVjA5U1MwWk1UMWRmVTA1QlVGTklUMVJmVmtWU1UwbFBUanRjYmx4dUx5b3FYRzRnS2lCTVpXZGhZM2tnY0dWeWMybHpkR1ZrSUhOdVlYQnphRzkwSUNoZ2V5QjJaWEp6YVc5dUxDQmtaV1pwYm1sMGFXOXVMQ0J6ZEdGMFpTQjlZQ2t1SUV0bGNIUWdiMjVzZVNCbWIzSmNiaUFxSUd4dllXUnBibWN2WTI5dGNHRjBhV0pwYkdsMGVTQnZaaUJ3WlhKemFYTjBaV1FnWkdGMFlUc2dkR2hsSUdOaGJtOXVhV05oYkNCemJtRndjMmh2ZENCcGMxeHVJQ29nZTBCc2FXNXJJRWR5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEgwZ0tHQjdJR1J2WTNWdFpXNTBMQ0JsWkdsMGIzSS9MQ0J0WlhSaFpHRjBZVDhnZldBcExseHVJQ29nUTI5dWRtVnlkQ0IzYVhSb0lIdEFiR2x1YXlCbmNtRndhRmR2Y210bWJHOTNVMjVoY0hOb2IzUkdjbTl0VEdWbllXTjVmU0F2WEc0Z0tpQjdRR3hwYm1zZ1ozSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBWRzlNWldkaFkzbDlMbHh1SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JNWldkaFkzbEhjbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1FnUFNCN1hHNGdJSFpsY25OcGIyNDZJRWR5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEZabGNuTnBiMjQ3WEc0Z0lHUmxabWx1YVhScGIyNDZJRWR5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEVSbFptbHVhWFJwYjI0N1hHNGdJSE4wWVhSbE9pQkhjbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1JUZEdGMFpUdGNibjA3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRWR5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEVsdWNIVjBJRDBnZTF4dUlDQmtaV1pwYm1sMGFXOXVQem9nVUdGeWRHbGhiRHhIY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNSRVpXWnBibWwwYVc5dVBqdGNiaUFnYVc1d2RYUnpQem9nUjNKaGNHaFhiM0pyWm14dmQxTnVZWEJ6YUc5MFZtRnNkV1ZiWFNCOElGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrTzF4dUlDQnZkWFJ3ZFhSelB6b2dSM0poY0doWGIzSnJabXh2ZDFOdVlYQnphRzkwVm1Gc2RXVmJYU0I4SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSFZ1YTI1dmQyNCtPMXh1SUNCdWIyUmxjejg2SUVkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRFNXZaR1ZiWFR0Y2JpQWdaV1JuWlhNL09pQkhjbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1JGWkdkbFcxMDdYRzRnSUhWcFB6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z2RXNXJibTkzYmo0N1hHNGdJRzFsZEdGa1lYUmhQem9nVW1WamIzSmtQSE4wY21sdVp5d2dkVzVyYm05M2JqNDdYRzU5TzF4dVhHNW1kVzVqZEdsdmJpQnBjMUJzWVdsdVQySnFaV04wS0haaGJIVmxPaUIxYm10dWIzZHVLVG9nZG1Gc2RXVWdhWE1nVW1WamIzSmtQSE4wY21sdVp5d2dkVzVyYm05M2JqNGdlMXh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0VoZG1Gc2RXVWdKaVpjYmlBZ0lDQjBlWEJsYjJZZ2RtRnNkV1VnUFQwOUlGd2liMkpxWldOMFhDSWdKaVpjYmlBZ0lDQWhRWEp5WVhrdWFYTkJjbkpoZVNoMllXeDFaU2tnSmlaY2JpQWdJQ0FoS0haaGJIVmxJR2x1YzNSaGJtTmxiMllnUkdGMFpTbGNiaUFnS1R0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnWTJ4dmJtVldZV3gxWlR4VVBpaDJZV3gxWlRvZ1ZDazZJRlFnZTF4dUlDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaDJZV3gxWlNrcElIdGNiaUFnSUNCeVpYUjFjbTRnZG1Gc2RXVXViV0Z3S0NobGJuUnllU2tnUFQ0Z1kyeHZibVZXWVd4MVpTaGxiblJ5ZVNrcElHRnpJRlE3WEc0Z0lIMWNibHh1SUNCcFppQW9kbUZzZFdVZ2FXNXpkR0Z1WTJWdlppQkVZWFJsS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzVsZHlCRVlYUmxLSFpoYkhWbExtZGxkRlJwYldVb0tTa2dZWE1nVkR0Y2JpQWdmVnh1WEc0Z0lHbG1JQ2hwYzFCc1lXbHVUMkpxWldOMEtIWmhiSFZsS1NrZ2UxeHVJQ0FnSUdOdmJuTjBJR05zYjI1bFpEb2dVbVZqYjNKa1BITjBjbWx1Wnl3Z2RXNXJibTkzYmo0Z1BTQjdmVHRjYmlBZ0lDQm1iM0lnS0dOdmJuTjBJRnRyWlhrc0lHVnVkSEo1WFNCdlppQlBZbXBsWTNRdVpXNTBjbWxsY3loMllXeDFaU2twSUh0Y2JpQWdJQ0FnSUdOc2IyNWxaRnRyWlhsZElEMGdZMnh2Ym1WV1lXeDFaU2hsYm5SeWVTazdYRzRnSUNBZ2ZWeHVJQ0FnSUhKbGRIVnliaUJqYkc5dVpXUWdZWE1nVkR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCMllXeDFaVHRjYm4xY2JseHVablZ1WTNScGIyNGdZWE5UZEhKcGJtY29kbUZzZFdVNklIVnVhMjV2ZDI0cE9pQnpkSEpwYm1jZ2ZDQjFibVJsWm1sdVpXUWdlMXh1SUNCcFppQW9kbUZzZFdVZ1BUMDlJSFZ1WkdWbWFXNWxaQ0I4ZkNCMllXeDFaU0E5UFQwZ2JuVnNiQ2tnY21WMGRYSnVJSFZ1WkdWbWFXNWxaRHRjYmlBZ2NtVjBkWEp1SUhSNWNHVnZaaUIyWVd4MVpTQTlQVDBnWENKemRISnBibWRjSWlBL0lIWmhiSFZsSURvZ1UzUnlhVzVuS0haaGJIVmxLVHRjYm4xY2JseHVablZ1WTNScGIyNGdhWE5YYjNKclpteHZkMFJsWm1sdWFYUnBiMjVNYVd0bEtGeHVJQ0IyWVd4MVpUb2dkVzVyYm05M2JseHVLVG9nZG1Gc2RXVWdhWE1nUjNKaGNHaFhiM0pyWm14dmQwUmxabWx1YVhScGIyNGdmQ0JIY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNSRVpXWnBibWwwYVc5dUlIdGNiaUFnY21WMGRYSnVJQ2hjYmlBZ0lDQnBjMUJzWVdsdVQySnFaV04wS0haaGJIVmxLU0FtSmx4dUlDQWdJSFI1Y0dWdlppQjJZV3gxWlM1dVlXMWxJRDA5UFNCY0luTjBjbWx1WjF3aUlDWW1YRzRnSUNBZ2RIbHdaVzltSUhaaGJIVmxMblJoWnlBOVBUMGdYQ0p6ZEhKcGJtZGNJaUFtSmx4dUlDQWdJSFI1Y0dWdlppQjJZV3gxWlM1cmFXNWtJRDA5UFNCY0luTjBjbWx1WjF3aUlDWW1YRzRnSUNBZ1FYSnlZWGt1YVhOQmNuSmhlU2gyWVd4MVpTNXBibkIxZEhNcElDWW1YRzRnSUNBZ1FYSnlZWGt1YVhOQmNuSmhlU2gyWVd4MVpTNXZkWFJ3ZFhSektTQW1KbHh1SUNBZ0lFRnljbUY1TG1selFYSnlZWGtvZG1Gc2RXVXVibTlrWlhNcElDWW1YRzRnSUNBZ1FYSnlZWGt1YVhOQmNuSmhlU2gyWVd4MVpTNXlaV3hoZEdsdmJuTXBYRzRnSUNrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhOdVlYQnphRzkwVG05a1pVdGxlU2h1YjJSbE9pQlFZWEowYVdGc1BFZHlZWEJvVjI5eWEyWnNiM2RUYm1Gd2MyaHZkRTV2WkdVK0tUb2djM1J5YVc1bklId2dkVzVrWldacGJtVmtJSHRjYmlBZ2NtVjBkWEp1SUc1dlpHVXVjbVZtUHk1cFpDQS9QeUJ1YjJSbExtbGtJRDgvSUc1dlpHVXVjbVZtUHk1d1lYUm9JRDgvSUc1dlpHVXVjbVZtUHk1d2NtOXdaWEowZVR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYzI1aGNITm9iM1JGWkdkbFMyVjVLR1ZrWjJVNklGQmhjblJwWVd3OFIzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBSV1JuWlQ0cE9pQnpkSEpwYm1jZ2ZDQjFibVJsWm1sdVpXUWdlMXh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJR1ZrWjJVdWFXUWdQejljYmlBZ0lDQmJaV1JuWlM1emIzVnlZMlZTWldZZ1B6OGdaV1JuWlM1emIzVnlZMlVzSUdWa1oyVXVjMjkxY21ObFVHOXlkQ3dnWldSblpTNTBZWEpuWlhSU1pXWWdQejhnWldSblpTNTBZWEpuWlhRc0lHVmtaMlV1ZEdGeVoyVjBVRzl5ZEYxY2JpQWdJQ0FnSUM1bWFXeDBaWElvUW05dmJHVmhiaWxjYmlBZ0lDQWdJQzVxYjJsdUtGd2lPanBjSWlsY2JpQWdLVHRjYm4xY2JseHVablZ1WTNScGIyNGdibTl5YldGc2FYcGxWbUZzZFdWRmJuUnlhV1Z6S0Z4dUlDQmxiblJ5YVdWek9pQkhjbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1JXWVd4MVpWdGRJSHdnVW1WamIzSmtQSE4wY21sdVp5d2dkVzVyYm05M2JqNGdmQ0IxYm1SbFptbHVaV1FzWEc0Z0lHUmxabWx1YVhScGIyNXpPaUJIY21Gd2FGQnZjblJFWldacGJtbDBhVzl1VzExY2JpazZJRWR5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEZaaGJIVmxXMTBnZTF4dUlDQmpiMjV6ZENCaWVWQmhkR2dnUFNCdVpYY2dUV0Z3UEhOMGNtbHVaeXdnUjNKaGNHaFhiM0pyWm14dmQxTnVZWEJ6YUc5MFZtRnNkV1UrS0NrN1hHNWNiaUFnYVdZZ0tFRnljbUY1TG1selFYSnlZWGtvWlc1MGNtbGxjeWtwSUh0Y2JpQWdJQ0JtYjNJZ0tHTnZibk4wSUdWdWRISjVJRzltSUdWdWRISnBaWE1wSUh0Y2JpQWdJQ0FnSUdsbUlDZ2haVzUwY25rL0xuQmhkR2dwSUdOdmJuUnBiblZsTzF4dUlDQWdJQ0FnWW5sUVlYUm9Mbk5sZENobGJuUnllUzV3WVhSb0xDQmpiRzl1WlZaaGJIVmxLR1Z1ZEhKNUtTazdYRzRnSUNBZ2ZWeHVJQ0I5SUdWc2MyVWdhV1lnS0dselVHeGhhVzVQWW1wbFkzUW9aVzUwY21sbGN5a3BJSHRjYmlBZ0lDQm1iM0lnS0dOdmJuTjBJRnR3WVhSb0xDQjJZV3gxWlYwZ2IyWWdUMkpxWldOMExtVnVkSEpwWlhNb1pXNTBjbWxsY3lrcElIdGNiaUFnSUNBZ0lHSjVVR0YwYUM1elpYUW9jR0YwYUN3Z2V5QndZWFJvTENCMllXeDFaVG9nWTJ4dmJtVldZV3gxWlNoMllXeDFaU2tnZlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ1kyOXVjM1FnYm05eWJXRnNhWHBsWkRvZ1IzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBWbUZzZFdWYlhTQTlJR1JsWm1sdWFYUnBiMjV6TG0xaGNDZ29aR1ZtYVc1cGRHbHZiaWtnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSEJoZEdnZ1BTQmtaV1pwYm1sMGFXOXVMbkJoZEdnZ1B6OGdaR1ZtYVc1cGRHbHZiaTV3Y205d1pYSjBlVHRjYmlBZ0lDQmpiMjV6ZENCamRYSnlaVzUwSUQwZ1lubFFZWFJvTG1kbGRDaHdZWFJvS1R0Y2JpQWdJQ0JqYjI1emRDQmxiblJ5ZVRvZ1IzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBWbUZzZFdVZ1BTQjdYRzRnSUNBZ0lDQnNZV0psYkRvZ1pHVm1hVzVwZEdsdmJpNXNZV0psYkN4Y2JpQWdJQ0FnSUhSNWNHVTZJR1JsWm1sdWFYUnBiMjR1ZEhsd1pTeGNiaUFnSUNBZ0lISmxjWFZwY21Wa09pQmtaV1pwYm1sMGFXOXVMbkpsY1hWcGNtVmtMRnh1SUNBZ0lDQWdiVzlrWld3NklHUmxabWx1YVhScGIyNHViVzlrWld3c1hHNGdJQ0FnSUNCdFpYUmhaR0YwWVRvZ1kyeHZibVZXWVd4MVpTaGNiaUFnSUNBZ0lDQWdaR1ZtYVc1cGRHbHZiaTVuY21Gd2FEOHViV1YwWVdSaGRHRWdQejljYmlBZ0lDQWdJQ0FnSUNCa1pXWnBibWwwYVc5dUxtVnNaVzFsYm5RL0xuQnliM0J6SUQ4L1hHNGdJQ0FnSUNBZ0lDQWdaR1ZtYVc1cGRHbHZiaTV3Y205d1B5NXdjbTl3Y3lBL1AxeHVJQ0FnSUNBZ0lDQWdJSHQ5WEc0Z0lDQWdJQ0FwTEZ4dUlDQWdJQ0FnTGk0dVkzVnljbVZ1ZEN4Y2JpQWdJQ0FnSUhCaGRHZ3NYRzRnSUNBZ2ZUdGNibHh1SUNBZ0lHbG1JQ2doVDJKcVpXTjBMbXRsZVhNb1pXNTBjbmt1YldWMFlXUmhkR0VnZkh3Z2UzMHBMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdaR1ZzWlhSbElHVnVkSEo1TG0xbGRHRmtZWFJoTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z1pXNTBjbms3WEc0Z0lIMHBPMXh1WEc0Z0lHWnZjaUFvWTI5dWMzUWdaVzUwY25rZ2IyWWdZbmxRWVhSb0xuWmhiSFZsY3lncEtTQjdYRzRnSUNBZ2FXWWdLRzV2Y20xaGJHbDZaV1F1YzI5dFpTZ29ZM1Z5Y21WdWRDa2dQVDRnWTNWeWNtVnVkQzV3WVhSb0lEMDlQU0JsYm5SeWVTNXdZWFJvS1NrZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnYm05eWJXRnNhWHBsWkM1d2RYTm9LR05zYjI1bFZtRnNkV1VvWlc1MGNua3BLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ1YjNKdFlXeHBlbVZrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVZPYjJSbGN5aGNiaUFnYm05a1pYTTZJRWR5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEU1dlpHVmJYU0I4SUhWdVpHVm1hVzVsWkN4Y2JpQWdaR1ZtYVc1cGRHbHZibk02SUVkeVlYQm9WMjl5YTJac2IzZE9iMlJsVFdWMFlXUmhkR0ZiWFZ4dUtUb2dSM0poY0doWGIzSnJabXh2ZDFOdVlYQnphRzkwVG05a1pWdGRJSHRjYmlBZ1kyOXVjM1FnWW5sTFpYa2dQU0J1WlhjZ1RXRndQSE4wY21sdVp5d2dSM0poY0doWGIzSnJabXh2ZDFOdVlYQnphRzkwVG05a1pUNG9LVHRjYmlBZ1kyOXVjM1FnY21WemRXeDBPaUJIY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNST2IyUmxXMTBnUFNCYlhUdGNibHh1SUNCbWIzSWdLR052Ym5OMElHUmxabWx1YVhScGIyNGdiMllnWkdWbWFXNXBkR2x2Ym5NcElIdGNiaUFnSUNCamIyNXpkQ0J1YjJSbE9pQkhjbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1JPYjJSbElEMGdlMXh1SUNBZ0lDQWdhV1E2SUdSbFptbHVhWFJwYjI0dWFXUXNYRzRnSUNBZ0lDQnlaV1k2SUh0Y2JpQWdJQ0FnSUNBZ2FXUTZJR1JsWm1sdWFYUnBiMjR1YVdRc1hHNGdJQ0FnSUNBZ0lHdHBibVE2SUdSbFptbHVhWFJwYjI0dWEybHVaQ3hjYmlBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0JzWVdKbGJEb2daR1ZtYVc1cGRHbHZiaTVzWVdKbGJDeGNiaUFnSUNBZ0lHdHBibVE2SUdSbFptbHVhWFJwYjI0dWEybHVaQ3hjYmlBZ0lDQWdJR1JoZEdFNklHUmxabWx1YVhScGIyNHVibTlrWlNBaFBUMGdkVzVrWldacGJtVmtJRDhnZXlCdWIyUmxPaUJqYkc5dVpWWmhiSFZsS0dSbFptbHVhWFJwYjI0dWJtOWtaU2tnZlNBNklIVnVaR1ZtYVc1bFpDeGNiaUFnSUNBZ0lHMWxkR0ZrWVhSaE9pQmpiRzl1WlZaaGJIVmxLR1JsWm1sdWFYUnBiMjR1YldWMFlXUmhkR0VwTEZ4dUlDQWdJSDA3WEc0Z0lDQWdjbVZ6ZFd4MExuQjFjMmdvYm05a1pTazdYRzRnSUNBZ1lubExaWGt1YzJWMEtHUmxabWx1YVhScGIyNHVhV1FzSUc1dlpHVXBPMXh1SUNCOVhHNWNiaUFnWm05eUlDaGpiMjV6ZENCbGJuUnllU0J2WmlCdWIyUmxjeUI4ZkNCYlhTa2dlMXh1SUNBZ0lHTnZibk4wSUd0bGVTQTlJSE51WVhCemFHOTBUbTlrWlV0bGVTaGxiblJ5ZVNrN1hHNGdJQ0FnWTI5dWMzUWdZM1Z5Y21WdWRDQTlJR3RsZVNBL0lHSjVTMlY1TG1kbGRDaHJaWGtwSURvZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUdsbUlDaGpkWEp5Wlc1MEtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCdFpYSm5aV1E2SUVkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRFNXZaR1VnUFNCN1hHNGdJQ0FnSUNBZ0lDNHVMbU4xY25KbGJuUXNYRzRnSUNBZ0lDQWdJQzR1TG1Oc2IyNWxWbUZzZFdVb1pXNTBjbmtwTEZ4dUlDQWdJQ0FnSUNCcFpEb2daVzUwY25rdWFXUWdmSHdnWTNWeWNtVnVkQzVwWkN4Y2JpQWdJQ0FnSUNBZ2NtVm1PaUI3WEc0Z0lDQWdJQ0FnSUNBZ0xpNHVZM1Z5Y21WdWRDNXlaV1lzWEc0Z0lDQWdJQ0FnSUNBZ0xpNHVaVzUwY25rdWNtVm1MRnh1SUNBZ0lDQWdJQ0FnSUdsa09pQmxiblJ5ZVM1eVpXWS9MbWxrSUQ4L0lHTjFjbkpsYm5RdWNtVm1QeTVwWkNBL1B5QmpkWEp5Wlc1MExtbGtMRnh1SUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSUNCd2IzTnBkR2x2YmpvZ1pXNTBjbmt1Y0c5emFYUnBiMjRnUHlCamJHOXVaVlpoYkhWbEtHVnVkSEo1TG5CdmMybDBhVzl1S1NBNklHTjFjbkpsYm5RdWNHOXphWFJwYjI0c1hHNGdJQ0FnSUNBZ0lITnBlbVU2SUdWdWRISjVMbk5wZW1VZ1B5QmpiRzl1WlZaaGJIVmxLR1Z1ZEhKNUxuTnBlbVVwSURvZ1kzVnljbVZ1ZEM1emFYcGxMRnh1SUNBZ0lDQWdJQ0J3YjNKMGN6b2dlMXh1SUNBZ0lDQWdJQ0FnSUM0dUxpaGpkWEp5Wlc1MExuQnZjblJ6SUh4OElIdDlLU3hjYmlBZ0lDQWdJQ0FnSUNBdUxpNG9aVzUwY25rdWNHOXlkSE1nZkh3Z2UzMHBMRnh1SUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSUNCa1lYUmhPaUI3WEc0Z0lDQWdJQ0FnSUNBZ0xpNHVLR04xY25KbGJuUXVaR0YwWVNCOGZDQjdmU2tzWEc0Z0lDQWdJQ0FnSUNBZ0xpNHVLR1Z1ZEhKNUxtUmhkR0VnZkh3Z2UzMHBMRnh1SUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSUNCdFpYUmhaR0YwWVRvZ2UxeHVJQ0FnSUNBZ0lDQWdJQzR1TGloamRYSnlaVzUwTG0xbGRHRmtZWFJoSUh4OElIdDlLU3hjYmlBZ0lDQWdJQ0FnSUNBdUxpNG9aVzUwY25rdWJXVjBZV1JoZEdFZ2ZId2dlMzBwTEZ4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lHbG1JQ2hyWlhrcElHSjVTMlY1TG5ObGRDaHJaWGtzSUcxbGNtZGxaQ2s3WEc0Z0lDQWdJQ0JqYjI1emRDQnBibVJsZUNBOUlISmxjM1ZzZEM1bWFXNWtTVzVrWlhnb0tIWmhiSFZsS1NBOVBpQjJZV3gxWlM1cFpDQTlQVDBnWTNWeWNtVnVkQzVwWkNrN1hHNGdJQ0FnSUNCcFppQW9hVzVrWlhnZ1BqMGdNQ2tnY21WemRXeDBXMmx1WkdWNFhTQTlJRzFsY21kbFpEdGNiaUFnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJR05zYjI1bFpDQTlJR05zYjI1bFZtRnNkV1VvWlc1MGNua3BPMXh1SUNBZ0lISmxjM1ZzZEM1d2RYTm9LR05zYjI1bFpDazdYRzRnSUNBZ2FXWWdLR3RsZVNrZ1lubExaWGt1YzJWMEtHdGxlU3dnWTJ4dmJtVmtLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHNXZjbTFoYkdsNlpVVmtaMlZ6S0Z4dUlDQmxaR2RsY3pvZ1IzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBSV1JuWlZ0ZElId2dkVzVrWldacGJtVmtMRnh1SUNCeVpXeGhkR2x2Ym5NNklFZHlZWEJvVjI5eWEyWnNiM2RTWld4aGRHbHZiazFsZEdGa1lYUmhXMTFjYmlrNklFZHlZWEJvVjI5eWEyWnNiM2RUYm1Gd2MyaHZkRVZrWjJWYlhTQjdYRzRnSUdOdmJuTjBJR0o1UzJWNUlEMGdibVYzSUUxaGNEeHpkSEpwYm1jc0lFZHlZWEJvVjI5eWEyWnNiM2RUYm1Gd2MyaHZkRVZrWjJVK0tDazdYRzRnSUdOdmJuTjBJSEpsYzNWc2REb2dSM0poY0doWGIzSnJabXh2ZDFOdVlYQnphRzkwUldSblpWdGRJRDBnVzEwN1hHNWNiaUFnWm05eUlDaGpiMjV6ZENCYmFXNWtaWGdzSUhKbGJHRjBhVzl1WFNCdlppQnlaV3hoZEdsdmJuTXVaVzUwY21sbGN5Z3BLU0I3WEc0Z0lDQWdZMjl1YzNRZ2MyOTFjbU5sSUQwZ1lYTlRkSEpwYm1jb2NtVnNZWFJwYjI0dWMyOTFjbU5sS1NBL1B5QmdjMjkxY21ObExTUjdhVzVrWlhoOVlEdGNiaUFnSUNCamIyNXpkQ0IwWVhKblpYUWdQU0JoYzFOMGNtbHVaeWh5Wld4aGRHbHZiaTUwWVhKblpYUXBJRDgvSUdCMFlYSm5aWFF0Skh0cGJtUmxlSDFnTzF4dUlDQWdJR052Ym5OMElHVmtaMlU2SUVkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRFVmtaMlVnUFNCN1hHNGdJQ0FnSUNCcFpEb2djbVZzWVhScGIyNHViR0ZpWld3Z2ZId2dZQ1I3YzI5MWNtTmxmVG9rZTNKbGJHRjBhVzl1TG5OdmRYSmpaVkJ2Y25RZ1B6OGdYQ0lxWENKOUxUNGtlM1JoY21kbGRIMDZKSHR5Wld4aGRHbHZiaTUwWVhKblpYUlFiM0owSUQ4L0lGd2lLbHdpZldBc1hHNGdJQ0FnSUNCemIzVnlZMlVzWEc0Z0lDQWdJQ0J6YjNWeVkyVlNaV1k2SUhOdmRYSmpaU3hjYmlBZ0lDQWdJSE52ZFhKalpWQnZjblE2SUhKbGJHRjBhVzl1TG5OdmRYSmpaVkJ2Y25Rc1hHNGdJQ0FnSUNCMFlYSm5aWFFzWEc0Z0lDQWdJQ0IwWVhKblpYUlNaV1k2SUhSaGNtZGxkQ3hjYmlBZ0lDQWdJSFJoY21kbGRGQnZjblE2SUhKbGJHRjBhVzl1TG5SaGNtZGxkRkJ2Y25Rc1hHNGdJQ0FnSUNCc1lXSmxiRG9nY21Wc1lYUnBiMjR1YkdGaVpXd3NYRzRnSUNBZ0lDQnRaWFJoWkdGMFlUb2dZMnh2Ym1WV1lXeDFaU2h5Wld4aGRHbHZiaTV0WlhSaFpHRjBZU2tzWEc0Z0lDQWdmVHRjYmlBZ0lDQnlaWE4xYkhRdWNIVnphQ2hsWkdkbEtUdGNiaUFnSUNCaWVVdGxlUzV6WlhRb1pXUm5aUzVwWkN3Z1pXUm5aU2s3WEc0Z0lIMWNibHh1SUNCbWIzSWdLR052Ym5OMElHVnVkSEo1SUc5bUlHVmtaMlZ6SUh4OElGdGRLU0I3WEc0Z0lDQWdZMjl1YzNRZ2EyVjVJRDBnYzI1aGNITm9iM1JGWkdkbFMyVjVLR1Z1ZEhKNUtUdGNiaUFnSUNCamIyNXpkQ0JqZFhKeVpXNTBJRDBnYTJWNUlEOGdZbmxMWlhrdVoyVjBLR3RsZVNrZ09pQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2FXWWdLR04xY25KbGJuUXBJSHRjYmlBZ0lDQWdJR052Ym5OMElHMWxjbWRsWkRvZ1IzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBSV1JuWlNBOUlIdGNiaUFnSUNBZ0lDQWdMaTR1WTNWeWNtVnVkQ3hjYmlBZ0lDQWdJQ0FnTGk0dVkyeHZibVZXWVd4MVpTaGxiblJ5ZVNrc1hHNGdJQ0FnSUNBZ0lHbGtPaUJsYm5SeWVTNXBaQ0I4ZkNCamRYSnlaVzUwTG1sa0xGeHVJQ0FnSUNBZ0lDQnpiM1Z5WTJVNklHVnVkSEo1TG5OdmRYSmpaU0I4ZkNCamRYSnlaVzUwTG5OdmRYSmpaU3hjYmlBZ0lDQWdJQ0FnYzI5MWNtTmxVbVZtT2lCbGJuUnllUzV6YjNWeVkyVlNaV1lnUHo4Z1kzVnljbVZ1ZEM1emIzVnlZMlZTWldZZ1B6OGdaVzUwY25rdWMyOTFjbU5sSUQ4L0lHTjFjbkpsYm5RdWMyOTFjbU5sTEZ4dUlDQWdJQ0FnSUNCMFlYSm5aWFE2SUdWdWRISjVMblJoY21kbGRDQjhmQ0JqZFhKeVpXNTBMblJoY21kbGRDeGNiaUFnSUNBZ0lDQWdkR0Z5WjJWMFVtVm1PaUJsYm5SeWVTNTBZWEpuWlhSU1pXWWdQejhnWTNWeWNtVnVkQzUwWVhKblpYUlNaV1lnUHo4Z1pXNTBjbmt1ZEdGeVoyVjBJRDgvSUdOMWNuSmxiblF1ZEdGeVoyVjBMRnh1SUNBZ0lDQWdJQ0F2THlCTVlXSmxiSE1nWVhKbElHUnZZM1Z0Wlc1MExXTmhjbkpwWldRZ1pHbHpjR3hoZVNCelpXMWhiblJwWTNNZ0tNS25OQzQwTGpjcE9pQmhJSEp2ZHlCdFpYSm5aV1JjYmlBZ0lDQWdJQ0FnTHk4Z1puSnZiU0JoSUdOaGJuWmhjeUJqYkc5dVpTQjBhR0YwSUc1bGRtVnlJR05oY25KcFpXUWdhWFJ6SUc5M2JpQnNZV0psYkNCdGRYTjBJRzV2ZENCbGNtRnpaVnh1SUNBZ0lDQWdJQ0F2THlCMGFHVWdjbVZzWVhScGIyNGdjbTkzSjNNZ2JHRmlaV3d1WEc0Z0lDQWdJQ0FnSUd4aFltVnNPaUJsYm5SeWVTNXNZV0psYkNBL1B5QmpkWEp5Wlc1MExteGhZbVZzTEZ4dUlDQWdJQ0FnSUNCdFpYUmhaR0YwWVRvZ2UxeHVJQ0FnSUNBZ0lDQWdJQzR1TGloamRYSnlaVzUwTG0xbGRHRmtZWFJoSUh4OElIdDlLU3hjYmlBZ0lDQWdJQ0FnSUNBdUxpNG9aVzUwY25rdWJXVjBZV1JoZEdFZ2ZId2dlMzBwTEZ4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNBZ0lHbG1JQ2hyWlhrcElHSjVTMlY1TG5ObGRDaHJaWGtzSUcxbGNtZGxaQ2s3WEc0Z0lDQWdJQ0JqYjI1emRDQnBibVJsZUNBOUlISmxjM1ZzZEM1bWFXNWtTVzVrWlhnb0tIWmhiSFZsS1NBOVBpQjJZV3gxWlM1cFpDQTlQVDBnWTNWeWNtVnVkQzVwWkNrN1hHNGdJQ0FnSUNCcFppQW9hVzVrWlhnZ1BqMGdNQ2tnY21WemRXeDBXMmx1WkdWNFhTQTlJRzFsY21kbFpEdGNiaUFnSUNBZ0lHTnZiblJwYm5WbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJR05zYjI1bFpDQTlJR05zYjI1bFZtRnNkV1VvWlc1MGNua3BPMXh1SUNBZ0lISmxjM1ZzZEM1d2RYTm9LR05zYjI1bFpDazdYRzRnSUNBZ2FXWWdLR3RsZVNrZ1lubExaWGt1YzJWMEtHdGxlU3dnWTJ4dmJtVmtLVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ5WlhOMWJIUTdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHNXZjbTFoYkdsNlpWZHZjbXRtYkc5M1JHVm1hVzVwZEdsdmJpaGNiaUFnWkdWbWFXNXBkR2x2YmpvZ1IzSmhjR2hYYjNKclpteHZkMFJsWm1sdWFYUnBiMjRnZkNCSGNtRndhRmR2Y210bWJHOTNVMjVoY0hOb2IzUkVaV1pwYm1sMGFXOXVMRnh1SUNCdmRtVnljbWxrWlhNNklGQmhjblJwWVd3OFIzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBSR1ZtYVc1cGRHbHZiajRnUFNCN2ZWeHVLVG9nUjNKaGNHaFhiM0pyWm14dmQxTnVZWEJ6YUc5MFJHVm1hVzVwZEdsdmJpQjdYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdibUZ0WlRvZ2IzWmxjbkpwWkdWekxtNWhiV1VnUHo4Z1pHVm1hVzVwZEdsdmJpNXVZVzFsTEZ4dUlDQWdJSFJoWnpvZ2IzWmxjbkpwWkdWekxuUmhaeUEvUHlCa1pXWnBibWwwYVc5dUxuUmhaeXhjYmlBZ0lDQnJhVzVrT2lCdmRtVnljbWxrWlhNdWEybHVaQ0EvUHlCa1pXWnBibWwwYVc5dUxtdHBibVFzWEc0Z0lDQWdZMkYwWldkdmNuazZJRzkyWlhKeWFXUmxjeTVqWVhSbFoyOXllU0EvUHlCa1pXWnBibWwwYVc5dUxtTmhkR1ZuYjNKNUxGeHVJQ0FnSUdOdmJHOXlPaUJ2ZG1WeWNtbGtaWE11WTI5c2IzSWdQejhnWkdWbWFXNXBkR2x2Ymk1amIyeHZjaXhjYmlBZ0lDQm5jbTkxY0RvZ2IzWmxjbkpwWkdWekxtZHliM1Z3SUQ4L0lHUmxabWx1YVhScGIyNHVaM0p2ZFhBc1hHNGdJQ0FnYUdWcFoyaDBPaUJ2ZG1WeWNtbGtaWE11YUdWcFoyaDBJRDgvSUdSbFptbHVhWFJwYjI0dWFHVnBaMmgwTEZ4dUlDQWdJR2xqYjI0NklHOTJaWEp5YVdSbGN5NXBZMjl1SUQ4L0lHUmxabWx1YVhScGIyNHVhV052Yml4Y2JpQWdJQ0JzWVdKbGJITTZJR05zYjI1bFZtRnNkV1VvYjNabGNuSnBaR1Z6TG14aFltVnNjeUEvUHlCa1pXWnBibWwwYVc5dUxteGhZbVZzY3lBL1B5QmJYU2tzWEc0Z0lDQWdiV0Y0UTJocGJHUnlaVzQ2SUc5MlpYSnlhV1JsY3k1dFlYaERhR2xzWkhKbGJpQS9QeUJrWldacGJtbDBhVzl1TG0xaGVFTm9hV3hrY21WdUxGeHVJQ0FnSUcxcGJsZHBaSFJvT2lCdmRtVnljbWxrWlhNdWJXbHVWMmxrZEdnZ1B6OGdaR1ZtYVc1cGRHbHZiaTV0YVc1WGFXUjBhQ3hjYmlBZ0lDQjNhV1IwYURvZ2IzWmxjbkpwWkdWekxuZHBaSFJvSUQ4L0lHUmxabWx1YVhScGIyNHVkMmxrZEdnc1hHNGdJQ0FnYldWMFlXUmhkR0U2SUdOc2IyNWxWbUZzZFdVb1hHNGdJQ0FnSUNCdmRtVnljbWxrWlhNdWJXVjBZV1JoZEdFZ1B6OWNiaUFnSUNBZ0lDQWdLRndpZDI5eWEyWnNiM2RjSWlCcGJpQmtaV1pwYm1sMGFXOXVJRDhnWkdWbWFXNXBkR2x2Ymk1M2IzSnJabXh2ZHlBNklHUmxabWx1YVhScGIyNHViV1YwWVdSaGRHRXBYRzRnSUNBZ0tTeGNiaUFnSUNCcGJuQjFkSE02SUdOc2IyNWxWbUZzZFdVb2IzWmxjbkpwWkdWekxtbHVjSFYwY3lBL1B5QmtaV1pwYm1sMGFXOXVMbWx1Y0hWMGN5QS9QeUJiWFNrc1hHNGdJQ0FnYjNWMGNIVjBjem9nWTJ4dmJtVldZV3gxWlNodmRtVnljbWxrWlhNdWIzVjBjSFYwY3lBL1B5QmtaV1pwYm1sMGFXOXVMbTkxZEhCMWRITWdQejhnVzEwcExGeHVJQ0FnSUc1dlpHVnpPaUJqYkc5dVpWWmhiSFZsS0c5MlpYSnlhV1JsY3k1dWIyUmxjeUEvUHlCa1pXWnBibWwwYVc5dUxtNXZaR1Z6SUQ4L0lGdGRLU3hjYmlBZ0lDQnlaV3hoZEdsdmJuTTZJR05zYjI1bFZtRnNkV1VvYjNabGNuSnBaR1Z6TG5KbGJHRjBhVzl1Y3lBL1B5QmtaV1pwYm1sMGFXOXVMbkpsYkdGMGFXOXVjeUEvUHlCYlhTa3NYRzRnSUgwN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJuY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNSRVpXWnBibWwwYVc5dVQyWThUU0JsZUhSbGJtUnpJRTF2WkdWc1BpaGNiaUFnYlc5a1pXdzZJRWR5WVhCb1RXOWtaV3hNYVd0bFBFMCtJSHdnUjNKaGNHaFhiM0pyWm14dmQwUmxabWx1YVhScGIyNGdmQ0JIY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNSRVpXWnBibWwwYVc5dVhHNHBPaUJIY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNSRVpXWnBibWwwYVc5dUlIdGNiaUFnWTI5dWMzUWdaR1ZtYVc1cGRHbHZiaUE5SUdselYyOXlhMlpzYjNkRVpXWnBibWwwYVc5dVRHbHJaU2h0YjJSbGJDbGNiaUFnSUNBL0lHMXZaR1ZzWEc0Z0lDQWdPaUJuY21Gd2FGZHZjbXRtYkc5M1JHVm1hVzVwZEdsdmJrOW1LRzF2WkdWc0lHRnpJRWR5WVhCb1RXOWtaV3hNYVd0bFBFMCtLVHRjYmlBZ2NtVjBkWEp1SUc1dmNtMWhiR2w2WlZkdmNtdG1iRzkzUkdWbWFXNXBkR2x2Ymloa1pXWnBibWwwYVc5dUtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRFOW1QRTBnWlhoMFpXNWtjeUJOYjJSbGJENG9YRzRnSUcxdlpHVnNPaUJIY21Gd2FFMXZaR1ZzVEdsclpUeE5QaUI4SUVkeVlYQm9WMjl5YTJac2IzZEVaV1pwYm1sMGFXOXVJSHdnUjNKaGNHaFhiM0pyWm14dmQxTnVZWEJ6YUc5MFJHVm1hVzVwZEdsdmJpeGNiaUFnYVc1d2RYUS9PaUJIY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNSSmJuQjFkRnh1S1RvZ1RHVm5ZV041UjNKaGNHaFhiM0pyWm14dmQxTnVZWEJ6YUc5MElIdGNiaUFnWTI5dWMzUWdibTl5YldGc2FYcGxaRVJsWm1sdWFYUnBiMjRnUFNCdWIzSnRZV3hwZW1WWGIzSnJabXh2ZDBSbFptbHVhWFJwYjI0b1hHNGdJQ0FnWjNKaGNHaFhiM0pyWm14dmQxTnVZWEJ6YUc5MFJHVm1hVzVwZEdsdmJrOW1LRzF2WkdWc0lHRnpJR0Z1ZVNrc1hHNGdJQ0FnYVc1d2RYUS9MbVJsWm1sdWFYUnBiMjVjYmlBZ0tUdGNiaUFnWTI5dWMzUWdhVzV3ZFhSUWIzSjBjeUE5SUdkeVlYQm9UR1ZoWmxCdmNuUnpUMllvYm05eWJXRnNhWHBsWkVSbFptbHVhWFJwYjI0dWFXNXdkWFJ6S1R0Y2JpQWdZMjl1YzNRZ2IzVjBjSFYwVUc5eWRITWdQU0JuY21Gd2FFeGxZV1pRYjNKMGMwOW1LRzV2Y20xaGJHbDZaV1JFWldacGJtbDBhVzl1TG05MWRIQjFkSE1wTzF4dVhHNGdJSEpsZEhWeWJpQjdYRzRnSUNBZ2RtVnljMmx2YmpvZ1IxSkJVRWhmVjA5U1MwWk1UMWRmVTA1QlVGTklUMVJmVmtWU1UwbFBUaXhjYmlBZ0lDQmtaV1pwYm1sMGFXOXVPaUJ1YjNKdFlXeHBlbVZrUkdWbWFXNXBkR2x2Yml4Y2JpQWdJQ0J6ZEdGMFpUb2dlMXh1SUNBZ0lDQWdhVzV3ZFhSek9pQnViM0p0WVd4cGVtVldZV3gxWlVWdWRISnBaWE1vYVc1d2RYUS9MbWx1Y0hWMGN5d2dhVzV3ZFhSUWIzSjBjeWtzWEc0Z0lDQWdJQ0J2ZFhSd2RYUnpPaUJ1YjNKdFlXeHBlbVZXWVd4MVpVVnVkSEpwWlhNb2FXNXdkWFEvTG05MWRIQjFkSE1zSUc5MWRIQjFkRkJ2Y25SektTeGNiaUFnSUNBZ0lHNXZaR1Z6T2lCdWIzSnRZV3hwZW1WT2IyUmxjeWhwYm5CMWREOHVibTlrWlhNc0lHNXZjbTFoYkdsNlpXUkVaV1pwYm1sMGFXOXVMbTV2WkdWektTeGNiaUFnSUNBZ0lHVmtaMlZ6T2lCdWIzSnRZV3hwZW1WRlpHZGxjeWhwYm5CMWREOHVaV1JuWlhNc0lHNXZjbTFoYkdsNlpXUkVaV1pwYm1sMGFXOXVMbkpsYkdGMGFXOXVjeWtzWEc0Z0lDQWdJQ0IxYVRvZ1kyeHZibVZXWVd4MVpTaHBibkIxZEQ4dWRXa2dmSHdnZTMwcExGeHVJQ0FnSUNBZ2JXVjBZV1JoZEdFNklHTnNiMjVsVm1Gc2RXVW9hVzV3ZFhRL0xtMWxkR0ZrWVhSaElIeDhJSHQ5S1N4Y2JpQWdJQ0I5TEZ4dUlDQjlPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1ozSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBVbVZ6ZEc5eVpUeE5JR1Y0ZEdWdVpITWdUVzlrWld3K0tGeHVJQ0J6Ym1Gd2MyaHZkRG9nVEdWbllXTjVSM0poY0doWGIzSnJabXh2ZDFOdVlYQnphRzkwSUh3Z1IzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBTVzV3ZFhRc1hHNGdJRzF2WkdWc1B6b2dSM0poY0doTmIyUmxiRXhwYTJVOFRUNGdmQ0JIY21Gd2FGZHZjbXRtYkc5M1JHVm1hVzVwZEdsdmJpQjhJRWR5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEVSbFptbHVhWFJwYjI1Y2JpazZJRXhsWjJGamVVZHlZWEJvVjI5eWEyWnNiM2RUYm1Gd2MyaHZkQ0I3WEc0Z0lHbG1JQ2doS0Z3aWRtVnljMmx2Ymx3aUlHbHVJSE51WVhCemFHOTBLU2tnZTF4dUlDQWdJSEpsZEhWeWJpQm5jbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1JQWmloY2JpQWdJQ0FnSUcxdlpHVnNJRDgvWEc0Z0lDQWdJQ0FnSUNoemJtRndjMmh2ZEM1a1pXWnBibWwwYVc5dUlHRnpYRzRnSUNBZ0lDQWdJQ0FnZkNCSGNtRndhRmR2Y210bWJHOTNSR1ZtYVc1cGRHbHZibHh1SUNBZ0lDQWdJQ0FnSUh3Z1IzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBSR1ZtYVc1cGRHbHZibHh1SUNBZ0lDQWdJQ0FnSUh3Z2RXNWtaV1pwYm1Wa0tTQS9QMXh1SUNBZ0lDQWdJQ0FvZTMwZ1lYTWdSM0poY0doWGIzSnJabXh2ZDBSbFptbHVhWFJwYjI0cExGeHVJQ0FnSUNBZ2MyNWhjSE5vYjNSY2JpQWdJQ0FwTzF4dUlDQjlYRzVjYmlBZ1kyOXVjM1FnWm5Wc2JGTnVZWEJ6YUc5MElEMGdjMjVoY0hOb2IzUWdZWE1nVEdWbllXTjVSM0poY0doWGIzSnJabXh2ZDFOdVlYQnphRzkwTzF4dUlDQmpiMjV6ZENCa1pXWnBibWwwYVc5dUlEMGdiVzlrWld4Y2JpQWdJQ0EvSUdkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRFUmxabWx1YVhScGIyNVBaaWh0YjJSbGJDbGNiaUFnSUNBNklHWjFiR3hUYm1Gd2MyaHZkQzVrWldacGJtbDBhVzl1TzF4dVhHNGdJSEpsZEhWeWJpQm5jbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1JQWmloa1pXWnBibWwwYVc5dUxDQjdYRzRnSUNBZ2FXNXdkWFJ6T2lCbWRXeHNVMjVoY0hOb2IzUXVjM1JoZEdVdWFXNXdkWFJ6TEZ4dUlDQWdJRzkxZEhCMWRITTZJR1oxYkd4VGJtRndjMmh2ZEM1emRHRjBaUzV2ZFhSd2RYUnpMRnh1SUNBZ0lHNXZaR1Z6T2lCbWRXeHNVMjVoY0hOb2IzUXVjM1JoZEdVdWJtOWtaWE1zWEc0Z0lDQWdaV1JuWlhNNklHWjFiR3hUYm1Gd2MyaHZkQzV6ZEdGMFpTNWxaR2RsY3l4Y2JpQWdJQ0IxYVRvZ1puVnNiRk51WVhCemFHOTBMbk4wWVhSbExuVnBMRnh1SUNBZ0lHMWxkR0ZrWVhSaE9pQm1kV3hzVTI1aGNITm9iM1F1YzNSaGRHVXViV1YwWVdSaGRHRXNYRzRnSUgwcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWjNKaGNHaFhiM0pyWm14dmQxTnVZWEJ6YUc5MFZHOUtVMDlPS0Z4dUlDQnpibUZ3YzJodmREb2dUR1ZuWVdONVIzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBMRnh1SUNCemNHRmpaVDg2SUc1MWJXSmxjbHh1S1RvZ2MzUnlhVzVuSUh0Y2JpQWdjbVYwZFhKdUlFcFRUMDR1YzNSeWFXNW5hV1o1S0hOdVlYQnphRzkwTENCMWJtUmxabWx1WldRc0lITndZV05sS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2R5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEVaeWIyMUtVMDlPS0Z4dUlDQnBibkIxZERvZ2MzUnlhVzVuSUh3Z1RHVm5ZV041UjNKaGNHaFhiM0pyWm14dmQxTnVZWEJ6YUc5MExGeHVJQ0J0YjJSbGJEODZJRWR5WVhCb1RXOWtaV3hNYVd0bElId2dSM0poY0doWGIzSnJabXh2ZDBSbFptbHVhWFJwYjI0Z2ZDQkhjbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1JFWldacGJtbDBhVzl1WEc0cE9pQk1aV2RoWTNsSGNtRndhRmR2Y210bWJHOTNVMjVoY0hOb2IzUWdlMXh1SUNCamIyNXpkQ0J6Ym1Gd2MyaHZkQ0E5WEc0Z0lDQWdkSGx3Wlc5bUlHbHVjSFYwSUQwOVBTQmNJbk4wY21sdVoxd2lJRDhnS0VwVFQwNHVjR0Z5YzJVb2FXNXdkWFFwSUdGeklFeGxaMkZqZVVkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRDa2dPaUJwYm5CMWREdGNiaUFnY21WMGRYSnVJR2R5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEZKbGMzUnZjbVVvYzI1aGNITm9iM1FzSUcxdlpHVnNLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHZHlZWEJvVjI5eWEyWnNiM2RUYm1Gd2MyaHZkRWx1Y0hWMFZtRnNkV1Z6VDJZb1hHNGdJSE51WVhCemFHOTBPaUJNWldkaFkzbEhjbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1JjYmlrNklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrSUh0Y2JpQWdjbVYwZFhKdUlFOWlhbVZqZEM1bWNtOXRSVzUwY21sbGN5aGNiaUFnSUNCemJtRndjMmh2ZEM1emRHRjBaUzVwYm5CMWRITXViV0Z3S0NobGJuUnllU2tnUFQ0Z1cyVnVkSEo1TG5CaGRHZ3NJR05zYjI1bFZtRnNkV1VvWlc1MGNua3VkbUZzZFdVcFhTbGNiaUFnS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2R5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEU5MWRIQjFkRlpoYkhWbGMwOW1LRnh1SUNCemJtRndjMmh2ZERvZ1RHVm5ZV041UjNKaGNHaFhiM0pyWm14dmQxTnVZWEJ6YUc5MFhHNHBPaUJTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBpQjdYRzRnSUhKbGRIVnliaUJQWW1wbFkzUXVabkp2YlVWdWRISnBaWE1vWEc0Z0lDQWdjMjVoY0hOb2IzUXVjM1JoZEdVdWIzVjBjSFYwY3k1dFlYQW9LR1Z1ZEhKNUtTQTlQaUJiWlc1MGNua3VjR0YwYUN3Z1kyeHZibVZXWVd4MVpTaGxiblJ5ZVM1MllXeDFaU2xkS1Z4dUlDQXBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFVmthWFJ2Y2kxdmJteDVJSE4wWVhSbElIUm9ZWFFnZEdobElHTmhibTl1YVdOaGJDQjdRR3hwYm1zZ1IzSmhjR2hYYjNKclpteHZkMFJ2WTNWdFpXNTBmU0JqWVc1dWIzUmNiaUFxSUdWNGNISmxjM01nS0d4aGVXOTFkQ0JpWlhsdmJtUWdibTlrWlNCd2IzTnBkR2x2Ym5Nc0lHTnZibVpwWnkxemRHOXlaU0IyWVd4MVpYTXNJSEJsY2kxd2IzSjBJRzF2WkdWekxGeHVJQ29nZDI5eWEyWnNiM2NnWW05MWJtUmhjbmtnZG1Gc2RXVnpMQ0JoYm1RZ1pIVndiR2xqWVhSbElHTnZkVzUwY3lrdUlGTjBiM0psWkNCaGN5QktVMDlPTFhOaFptVWdkbUZzZFdWelhHNGdLaUJ2Ym14NU95QmpiMjV6ZEhKMVkzUnZjbk1nWVc1a0lHQnRiMlJsYkVOc1lYTnpZQzlnYzI5MWNtTmxRMnhoYzNOZ0lISmxabVZ5Wlc1alpYTWdZWEpsSUdSeWIzQndaV1F1WEc0Z0tpOWNibVY0Y0c5eWRDQjBlWEJsSUVkeVlYQm9VMjVoY0hOb2IzUkZaR2wwYjNKVGRHRjBaU0E5SUh0Y2JpQWdkbWxsZDNCdmNuUS9PaUI3SUhnNklHNTFiV0psY2pzZ2VUb2diblZ0WW1WeU95QnpZMkZzWlRvZ2JuVnRZbVZ5SUgwN1hHNGdJR1IxY0d4cFkyRjBaVU52ZFc1MGN6ODZJRkpsWTI5eVpEeHpkSEpwYm1jc0lHNTFiV0psY2o0N1hHNGdJR0p2ZFc1a1lYSjVTVzV3ZFhSV1lXeDFaWE0vT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JIY21Gd2FFcHpiMjVXWVd4MVpUNDdYRzRnSUdKdmRXNWtZWEo1VDNWMGNIVjBWbUZzZFdWelB6b2dVbVZqYjNKa1BITjBjbWx1Wnl3Z1IzSmhjR2hLYzI5dVZtRnNkV1UrTzF4dUlDQnViMlJsVUc5eWRITS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQlNaV052Y21ROGMzUnlhVzVuTENCSGNtRndhRXB6YjI1V1lXeDFaVDQrTzF4dUlDQnViMlJsUTI5dVptbG5jejg2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJRWR5WVhCb1NuTnZibFpoYkhWbFBqdGNiaUFnWkdsaFozSmhiVTFsZEdGa1lYUmhQem9nVW1WamIzSmtQSE4wY21sdVp5d2dSM0poY0doS2MyOXVWbUZzZFdVK08xeHVJQ0JrWldacGJtbDBhVzl1UkdsemNHeGhlVDg2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJRWR5WVhCb1NuTnZibFpoYkhWbFBqdGNiaUFnYkdWbllXTjVQem9nUjNKaGNHaEtjMjl1Vm1Gc2RXVTdYRzU5SUNZZ2V5QmJhMlY1T2lCemRISnBibWRkT2lCSGNtRndhRXB6YjI1V1lXeDFaU0I4SUhWdVpHVm1hVzVsWkNCOU8xeHVYRzR2S2lwY2JpQXFJRU5oYm05dWFXTmhiQ0JrYjJOMWJXVnVkQzFtYVhKemRDQnpibUZ3YzJodmRDNGdZR1J2WTNWdFpXNTBZQ0JwY3lCMGFHVWdaWGhsWTNWMFlXSnNaU0J6WlcxaGJuUnBZMXh1SUNvZ2RISjFkR2c3SUdCbFpHbDBiM0pnSUhCeVpYTmxjblpsY3lCc1pXZGhZM2tnWldScGRHOXlMVzl1YkhrZ2MzUmhkR1VnWm05eUlHeHZjM05zWlhOeklISnZkVzVrSUhSeWFYQnpMbHh1SUNvdlhHNWxlSEJ2Y25RZ2RIbHdaU0JIY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNRZ1BTQjdYRzRnSUdSdlkzVnRaVzUwT2lCSGNtRndhRmR2Y210bWJHOTNSRzlqZFcxbGJuUTdYRzRnSUdWa2FYUnZjajg2SUVkeVlYQm9VMjVoY0hOb2IzUkZaR2wwYjNKVGRHRjBaVHRjYmlBZ2JXVjBZV1JoZEdFL09pQlNaV052Y21ROGMzUnlhVzVuTENCSGNtRndhRXB6YjI1V1lXeDFaVDQ3WEc1OU8xeHVYRzVsZUhCdmNuUWdkSGx3WlNCSGNtRndhRmR2Y210bWJHOTNVMjVoY0hOb2IzUk1hV3RsSUQxY2JpQWdmQ0JNWldkaFkzbEhjbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1JjYmlBZ2ZDQkhjbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1E3WEc1Y2JtWjFibU4wYVc5dUlHUnliM0JWYm5OaFptVkZiblJ5YVdWektGeHVJQ0J6YjNWeVkyVTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lIVnVhMjV2ZDI0K1hHNHBPaUJTWldOdmNtUThjM1J5YVc1bkxDQkhjbUZ3YUVwemIyNVdZV3gxWlQ0Z2UxeHVJQ0JqYjI1emRDQnlaWE4xYkhRNklGSmxZMjl5WkR4emRISnBibWNzSUVkeVlYQm9Tbk52YmxaaGJIVmxQaUE5SUh0OU8xeHVJQ0JtYjNJZ0tHTnZibk4wSUZ0clpYa3NJSFpoYkhWbFhTQnZaaUJQWW1wbFkzUXVaVzUwY21sbGN5aHpiM1Z5WTJVcEtTQjdYRzRnSUNBZ2FXWWdLRWRTUVZCSVgwTlBUbE5VVWxWRFZFOVNYMFJCVkVGZlMwVlpVeTVwYm1Oc2RXUmxjeWhyWlhrcEtTQmpiMjUwYVc1MVpUdGNiaUFnSUNCamIyNXpkQ0J6WVc1cGRHbDZaV1FnUFNCellXNXBkR2w2WlZSdlIzSmhjR2hLYzI5dVZtRnNkV1VvZG1Gc2RXVXBPMXh1SUNBZ0lHbG1JQ2h6WVc1cGRHbDZaV1FnSVQwOUlIVnVaR1ZtYVc1bFpDa2djbVZ6ZFd4MFcydGxlVjBnUFNCellXNXBkR2w2WldRN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYm4xY2JseHVMeW9xWEc0Z0tpQlRZVzVwZEdsNlpYTWdZU0JzWldkaFkza2djMjVoY0hOb2IzUWdhVzUwYnlCaElFcFRUMDR0YzJGbVpTQndZWGxzYjJGa0lIZG9hV3hsSUhCeVpYTmxjblpwYm1jZ2FYUnpYRzRnS2lCemRISjFZM1IxY21Gc0lHdGxlWE1nS0dCMlpYSnphVzl1WUN3Z1lHUmxabWx1YVhScGIyNWdMQ0JnYzNSaGRHVmdLUzRnUTI5dWMzUnlkV04wYjNJdGEyVjVJSE4wY21sd2NHbHVaMXh1SUNvZ2MzUnBiR3dnWVhCd2JHbGxjeUIwYnlCMGFHVWdjR0Y1Ykc5aFpDQmpiMjUwWlc1MGN5QnBibk5wWkdVc0lITnZJSFJvWlNCallXNXZibWxqWVd6aWhwSnNaV2RoWTNsY2JpQXFJSEp2ZFc1a0lIUnlhWEFnYzNSaGVYTWdiRzl6YzJ4bGMzTWdabTl5SUhCbGNuTnBjM1JsWkNCa1lYUmhMbHh1SUNvdlhHNW1kVzVqZEdsdmJpQnpZVzVwZEdsNlpVeGxaMkZqZVZOdVlYQnphRzkwVUdGNWJHOWhaQ2hjYmlBZ2MyNWhjSE5vYjNRNklFeGxaMkZqZVVkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRGeHVLVG9nUjNKaGNHaEtjMjl1Vm1Gc2RXVWdlMXh1SUNCeVpYUjFjbTRnZTF4dUlDQWdJSFpsY25OcGIyNDZJSE51WVhCemFHOTBMblpsY25OcGIyNHNYRzRnSUNBZ1pHVm1hVzVwZEdsdmJqb2daSEp2Y0ZWdWMyRm1aVVZ1ZEhKcFpYTW9YRzRnSUNBZ0lDQW9jMjVoY0hOb2IzUXVaR1ZtYVc1cGRHbHZiaUEvUHlCN2ZTa2dZWE1nZFc1cmJtOTNiaUJoY3lCU1pXTnZjbVE4YzNSeWFXNW5MQ0IxYm10dWIzZHVQbHh1SUNBZ0lDa3NYRzRnSUNBZ2MzUmhkR1U2SUdSeWIzQlZibk5oWm1WRmJuUnlhV1Z6S0Z4dUlDQWdJQ0FnS0hOdVlYQnphRzkwTG5OMFlYUmxJRDgvSUh0OUtTQmhjeUIxYm10dWIzZHVJR0Z6SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSFZ1YTI1dmQyNCtYRzRnSUNBZ0tTeGNiaUFnZlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYzJGdWFYUnBlbVZVYjBkeVlYQm9Tbk52YmxaaGJIVmxLSFpoYkhWbE9pQjFibXR1YjNkdUtUb2dSM0poY0doS2MyOXVWbUZzZFdVZ2ZDQjFibVJsWm1sdVpXUWdlMXh1SUNCcFppQW9kbUZzZFdVZ1BUMDlJRzUxYkd3cElISmxkSFZ5YmlCdWRXeHNPMXh1SUNCamIyNXpkQ0IwZVhCbElEMGdkSGx3Wlc5bUlIWmhiSFZsTzF4dUlDQnBaaUFvZEhsd1pTQTlQVDBnWENKemRISnBibWRjSWlCOGZDQjBlWEJsSUQwOVBTQmNJbUp2YjJ4bFlXNWNJaWtnY21WMGRYSnVJSFpoYkhWbElHRnpJRWR5WVhCb1NuTnZibFpoYkhWbE8xeHVJQ0JwWmlBb2RIbHdaU0E5UFQwZ1hDSnVkVzFpWlhKY0lpa2djbVYwZFhKdUlFNTFiV0psY2k1cGMwWnBibWwwWlNoMllXeDFaU0JoY3lCdWRXMWlaWElwSUQ4Z0tIWmhiSFZsSUdGeklHNTFiV0psY2lrZ09pQjFibVJsWm1sdVpXUTdYRzRnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0haaGJIVmxLU2tnZTF4dUlDQWdJR052Ym5OMElHbDBaVzF6T2lCSGNtRndhRXB6YjI1V1lXeDFaVnRkSUQwZ1cxMDdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQnBkR1Z0SUc5bUlIWmhiSFZsS1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0J6WVc1cGRHbDZaV1FnUFNCellXNXBkR2w2WlZSdlIzSmhjR2hLYzI5dVZtRnNkV1VvYVhSbGJTazdYRzRnSUNBZ0lDQnBaaUFvYzJGdWFYUnBlbVZrSUNFOVBTQjFibVJsWm1sdVpXUXBJR2wwWlcxekxuQjFjMmdvYzJGdWFYUnBlbVZrS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHbDBaVzF6TzF4dUlDQjlYRzRnSUdsbUlDaDBlWEJsSUQwOVBTQmNJbTlpYW1WamRGd2lLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHUnliM0JWYm5OaFptVkZiblJ5YVdWektIWmhiSFZsSUdGeklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrS1R0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnZFc1a1pXWnBibVZrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJpYjNWdVpHRnllVUZzYVdGelpYTkdiM0lvWkdWbWFXNXBkR2x2YmpvZ1IzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBSR1ZtYVc1cGRHbHZiaWs2SUZObGREeHpkSEpwYm1jK0lIdGNiaUFnWTI5dWMzUWdZV3hwWVhObGN5QTlJRzVsZHlCVFpYUThjM1J5YVc1blBpaEhVa0ZRU0Y5TVJVZEJRMWxmUWs5VlRrUkJVbGxmUVV4SlFWTkZVeWs3WEc0Z0lHbG1JQ2hrWldacGJtbDBhVzl1TG5SaFp5a2dZV3hwWVhObGN5NWhaR1FvWkdWbWFXNXBkR2x2Ymk1MFlXY3BPMXh1SUNCcFppQW9aR1ZtYVc1cGRHbHZiaTV1WVcxbEtTQmhiR2xoYzJWekxtRmtaQ2hrWldacGJtbDBhVzl1TG01aGJXVXBPMXh1SUNCeVpYUjFjbTRnWVd4cFlYTmxjenRjYm4xY2JseHVablZ1WTNScGIyNGdiR1ZuWVdONVJXNWtjRzlwYm5Rb1hHNGdJSEpsWmtsa09pQnpkSEpwYm1jZ2ZDQjFibVJsWm1sdVpXUXNYRzRnSUhCdmNuUTZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaQ3hjYmlBZ1lXeHBZWE5sY3pvZ1UyVjBQSE4wY21sdVp6NHNYRzRnSUdKdmRXNWtZWEo1VUc5eWRFbGtjejg2SUZKbFlXUnZibXg1VFdGd1BITjBjbWx1Wnl3Z2MzUnlhVzVuUGx4dUtUb2dSM0poY0doRmJtUndiMmx1ZENCN1hHNGdJR052Ym5OMElISmxjMjlzZG1Wa1VHOXlkQ0E5SUhCdmNuUWdQejhnWENKY0lqdGNiaUFnYVdZZ0tDRnlaV1pKWkNCOGZDQmhiR2xoYzJWekxtaGhjeWh5WldaSlpDa3BJSHRjYmlBZ0lDQnlaWFIxY200Z2V5QnpZMjl3WlRvZ1hDSjNiM0pyWm14dmQxd2lMQ0J3YjNKME9pQnlaWE52YkhabFpGQnZjblFnZlNCellYUnBjMlpwWlhNZ1IzSmhjR2hYYjNKclpteHZkMFZ1WkhCdmFXNTBPMXh1SUNCOVhHNGdJQzh2SUZSb1pTQnNaV2RoWTNrZ1pHVmpiM0poZEdWa0xYSnZiM1FnWTJGdWRtRnpJSEpsYm1SbGNtVmtJSGR2Y210bWJHOTNJR2x1Y0hWMElIQnZjblJ6SUdGeklHUnlZV2RuWVdKc1pWeHVJQ0F2THlCaWIzVnVaR0Z5ZVNCaVlXUm5aWE1nS0dCcGJuQjFkQzE3Y0c5eWRIMWdMQ0J3YjNKMElHaGhibVJzWlNCZ2RtRnNkV1ZnS1M0Z1ZHaHZjMlVnWW1sdVpHbHVaM01nYzNSaGVWeHVJQ0F2THlCc2IzTnpiR1Z6Y3lCdmJteDVJSGRvWlc0Z2RHaGxJR0poWkdkbElHbGtJR1p2YkdSeklHSmhZMnNnYjI1MGJ5QjBhR1VnZDI5eWEyWnNiM2NnY0c5eWRDQnBkQ0IzWVhOY2JpQWdMeThnWkhKaGQyNGdabTl5SUNoRVJVTkJSaTAxTUNEQ3B6UXVNVEVwT3lCdmRHaGxjbmRwYzJVZ1lTQjNiM0pyWm14dmR5QndiM0owSUhkdmRXeGtJR052Ykd4aGNITmxJR2x1ZEc5Y2JpQWdMeThnYjI1bElITm9ZWEpsWkNCaWIzVnVaR0Z5ZVNCbGJtUndiMmx1ZENCaGJtUWdaSEp2Y0NCeVpXRnNJR1ZrWjJWeklDakNwelF1TkM0MklHTmhibTl1YVdOaGJDQm1iM0p0S1M1Y2JpQWdhV1lnS0hKbFprbGtMbk4wWVhKMGMxZHBkR2dvWENKcGJuQjFkQzFjSWlrcElIdGNiaUFnSUNCamIyNXpkQ0IzYjNKclpteHZkMUJ2Y25SSlpDQTlJR0p2ZFc1a1lYSjVVRzl5ZEVsa2N6OHVaMlYwS0hKbFprbGtMbk5zYVdObEtGd2lhVzV3ZFhRdFhDSXViR1Z1WjNSb0tTQS9QeUJjSWx3aUtUdGNiaUFnSUNCcFppQW9kMjl5YTJac2IzZFFiM0owU1dRcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lITmpiM0JsT2lCY0luZHZjbXRtYkc5M1hDSXNYRzRnSUNBZ0lDQWdJSEJ2Y25RNklIZHZjbXRtYkc5M1VHOXlkRWxrTEZ4dUlDQWdJQ0FnZlNCellYUnBjMlpwWlhNZ1IzSmhjR2hYYjNKclpteHZkMFZ1WkhCdmFXNTBPMXh1SUNBZ0lIMWNiaUFnZlZ4dUlDQnlaWFIxY200Z2V5QnpZMjl3WlRvZ1hDSnViMlJsWENJc0lHNXZaR1ZKWkRvZ2NtVm1TV1FzSUhCdmNuUTZJSEpsYzI5c2RtVmtVRzl5ZENCOUlITmhkR2x6Wm1sbGN5QkhjbUZ3YUVWdVpIQnZhVzUwTzF4dWZWeHVYRzR2S2lwY2JpQXFJRTFoY0hNZ2QyOXlhMlpzYjNjZ2FXNXdkWFF0Y0hKdmNHVnlkSGtnYm1GdFpYTWdkRzhnZEdobGFYSWdiR1ZuWVdONUlHSnZkVzVrWVhKNUxXSmhaR2RsSUdsa2MxeHVJQ29nS0dCcGJuQjFkQzE3Y0hKdmNHVnlkSGw5WUNrc0lITnZJR0poWkdkbGN5QmtjbUYzYmlCdmJpQjBhR1VnWTJGdWRtRnpJSEpsYzI5c2RtVWdZbUZqYXlCMGJ5QjBhR1ZjYmlBcUlIZHZjbXRtYkc5M0lIQnZjblFnZEdobGVTQnlaWEJ5WlhObGJuUWdLTUtuTkM0eE1Ta3VYRzRnS2k5Y2JtWjFibU4wYVc5dUlHSnZkVzVrWVhKNVVHOXlkRWxrYzBadmNpaHpibUZ3YzJodmREb2dUR1ZuWVdONVIzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBLVG9nVW1WaFpHOXViSGxOWVhBOGMzUnlhVzVuTENCemRISnBibWMrSUh0Y2JpQWdZMjl1YzNRZ2JXRndJRDBnYm1WM0lFMWhjRHh6ZEhKcGJtY3NJSE4wY21sdVp6NG9LVHRjYmlBZ1ptOXlJQ2hqYjI1emRDQndiM0owSUc5bUlITnVZWEJ6YUc5MExtUmxabWx1YVhScGIyNHVhVzV3ZFhSektTQjdYRzRnSUNBZ2JXRndMbk5sZENoZ2FXNXdkWFF0Skh0d2IzSjBMbkJ5YjNCbGNuUjVmV0FzSUhCdmNuUXVjSEp2Y0dWeWRIa3BPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnRZWEE3WEc1OVhHNWNiaThxS2x4dUlDb2dVbVZ6YjJ4MlpYTWdkR2hsSUdSbFkyOXlZWFJsWkNCa1pXWnBibWwwYVc5dUozTWdiM2R1SUdWa1oyVWdiR0ZpWld4eklHSjVJR05oYm05dWFXTmhiQ0JsYm1Sd2IybHVkRnh1SUNvZ2NHRnBjaXdnYzI4Z1kyOXVkbVZ5ZEdWa0lHeGxaMkZqZVNCbFpHZGxjeUIwYUdGMElHNWxkbVZ5SUdOaGNuSnBaV1FnWVNCc1lXSmxiQ0J2YmlCMGFHVWdaV1JuWlNCeWIzZGNiaUFxSUNoallXNTJZWE10WkhKaGQyNGdZMnh2Ym1WeklHMWxjbWRsWkNCdmRtVnlJSFJvWlNCeVpXeGhkR2x2YmlCeWIzZHpLU0J6ZEdsc2JDQnlaWE4wYjNKbElIUm9aVnh1SUNvZ1pHOWpkVzFsYm5RdFkyRnljbWxsWkNCN1FHeHBibXNnUjNKaGNHaEZaR2RsU1c1emRHRnVZMlV1YkdGaVpXeDlJQ2pDcHpRdU5DNDNLU0JwYm5OMFpXRmtJRzltSUd4dmMybHVaMXh1SUNvZ2RHaGxJR1JwYzNCc1lYa2dZV1ptYjNKa1lXNWpaU0J2YmlCellYWmxMM0psYkc5aFpDNWNiaUFxTDF4dVpuVnVZM1JwYjI0Z2JHVm5ZV041VW1Wc1lYUnBiMjVNWVdKbGJFSjVSVzVrY0c5cGJuUW9YRzRnSUhOdVlYQnphRzkwT2lCTVpXZGhZM2xIY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNRc1hHNGdJR0ZzYVdGelpYTTZJRk5sZER4emRISnBibWMrTEZ4dUlDQmliM1Z1WkdGeWVWQnZjblJKWkhNNklGSmxZV1J2Ym14NVRXRndQSE4wY21sdVp5d2djM1J5YVc1blBseHVLVG9nVW1WaFpHOXViSGxOWVhBOGMzUnlhVzVuTENCemRISnBibWMrSUh0Y2JpQWdZMjl1YzNRZ2JXRndJRDBnYm1WM0lFMWhjRHh6ZEhKcGJtY3NJSE4wY21sdVp6NG9LVHRjYmlBZ1ptOXlJQ2hqYjI1emRDQnlaV3hoZEdsdmJpQnZaaUJ6Ym1Gd2MyaHZkQzVrWldacGJtbDBhVzl1TG5KbGJHRjBhVzl1Y3lrZ2UxeHVJQ0FnSUdOdmJuTjBJR3hoWW1Wc0lEMGdkSGx3Wlc5bUlISmxiR0YwYVc5dUxteGhZbVZzSUQwOVBTQmNJbk4wY21sdVoxd2lJRDhnY21Wc1lYUnBiMjR1YkdGaVpXd2dPaUIxYm1SbFptbHVaV1E3WEc0Z0lDQWdhV1lnS0NGc1lXSmxiQ2tnWTI5dWRHbHVkV1U3WEc0Z0lDQWdZMjl1YzNRZ2MyOTFjbU5sVW1WbUlEMGdkSGx3Wlc5bUlISmxiR0YwYVc5dUxuTnZkWEpqWlNBOVBUMGdYQ0p6ZEhKcGJtZGNJaUEvSUhKbGJHRjBhVzl1TG5OdmRYSmpaU0E2SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0JqYjI1emRDQjBZWEpuWlhSU1pXWWdQU0IwZVhCbGIyWWdjbVZzWVhScGIyNHVkR0Z5WjJWMElEMDlQU0JjSW5OMGNtbHVaMXdpSUQ4Z2NtVnNZWFJwYjI0dWRHRnlaMlYwSURvZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUcxaGNDNXpaWFFvWEc0Z0lDQWdJQ0JsWkdkbFVHRnBja3RsZVU5bUtIdGNiaUFnSUNBZ0lDQWdjMjkxY21ObE9pQnNaV2RoWTNsRmJtUndiMmx1ZENoemIzVnlZMlZTWldZc0lISmxiR0YwYVc5dUxuTnZkWEpqWlZCdmNuUXNJR0ZzYVdGelpYTXNJR0p2ZFc1a1lYSjVVRzl5ZEVsa2N5a3NYRzRnSUNBZ0lDQWdJSFJoY21kbGREb2diR1ZuWVdONVJXNWtjRzlwYm5Rb2RHRnlaMlYwVW1WbUxDQnlaV3hoZEdsdmJpNTBZWEpuWlhSUWIzSjBMQ0JoYkdsaGMyVnpMQ0JpYjNWdVpHRnllVkJ2Y25SSlpITXBMRnh1SUNBZ0lDQWdmU2tzWEc0Z0lDQWdJQ0JzWVdKbGJGeHVJQ0FnSUNrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUcxaGNEdGNibjFjYmx4dVpuVnVZM1JwYjI0Z1pXNWtjRzlwYm5SVWIweGxaMkZqZVZKbFppaGxibVJ3YjJsdWREb2dSM0poY0doRmJtUndiMmx1ZENrNklIc2djbVZtU1dRNklITjBjbWx1WnpzZ2NHOXlkRG9nYzNSeWFXNW5JSDBnZTF4dUlDQnBaaUFvWlc1a2NHOXBiblF1YzJOdmNHVWdQVDA5SUZ3aWQyOXlhMlpzYjNkY0lpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCN0lISmxaa2xrT2lCY0lpUjNiM0pyWm14dmQxd2lMQ0J3YjNKME9pQmxibVJ3YjJsdWRDNXdiM0owSUgwN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUhzZ2NtVm1TV1E2SUdWdVpIQnZhVzUwTG01dlpHVkpaQ3dnY0c5eWREb2daVzVrY0c5cGJuUXVjRzl5ZENCOU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCd2IzSjBTVzV6ZEdGdVkyVkdjbTl0UkdWbWFXNXBkR2x2YmloY2JpQWdjRzl5ZERvZ1IzSmhjR2hRYjNKMFJHVm1hVzVwZEdsdmJpeGNiaUFnZG1Gc2RXVS9PaUJIY21Gd2FFcHpiMjVXWVd4MVpWeHVLVG9nUjNKaGNHaFhiM0pyWm14dmQxQnZjblJKYm5OMFlXNWpaU0I3WEc0Z0lHTnZibk4wSUdsdWMzUmhibU5sT2lCSGNtRndhRmR2Y210bWJHOTNVRzl5ZEVsdWMzUmhibU5sSUQwZ2UxeHVJQ0FnSUdsa09pQndiM0owTG5CeWIzQmxjblI1TEZ4dUlDQWdJR3hoWW1Wc09pQndiM0owTG14aFltVnNMRnh1SUNCOU8xeHVJQ0JwYm5OMFlXNWpaUzV6WTJobGJXRWdQU0JuY21Gd2FGWmhiSFZsVTJOb1pXMWhSbkp2YlZaaGJHbGtZWFJwYjI0b1hHNGdJQ0FnY0c5eWRDNTJZV3hwWkdGMGFXOXVJR0Z6SUVkeVlYQm9WbUZzYVdSaGRHbHZibEpsWTI5eVpDQjhJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQndiM0owTG5SNWNHVXNYRzRnSUNBZ2NHOXlkQzV0YjJSbGJGeHVJQ0FwTzF4dUlDQnBaaUFvY0c5eWRDNXlaWEYxYVhKbFpDa2dhVzV6ZEdGdVkyVXVjbVZ4ZFdseVpXUWdQU0IwY25WbE8xeHVJQ0JwWmlBb2RtRnNkV1VnSVQwOUlIVnVaR1ZtYVc1bFpDa2dhVzV6ZEdGdVkyVXVaR1ZtWVhWc2RGWmhiSFZsSUQwZ2RtRnNkV1U3WEc0Z0lHTnZibk4wSUcxbGRHRmtZWFJoSUQwZ2MyRnVhWFJwZW1WVWIwZHlZWEJvU25OdmJsWmhiSFZsS0hCdmNuUXVaM0poY0dnZ1B6OGdlMzBwSUdGeklGSmxZMjl5WkR4emRISnBibWNzSUVkeVlYQm9Tbk52YmxaaGJIVmxQaUI4SUhWdVpHVm1hVzVsWkR0Y2JpQWdhV1lnS0cxbGRHRmtZWFJoSUNZbUlFOWlhbVZqZEM1clpYbHpLRzFsZEdGa1lYUmhLUzVzWlc1bmRHZ3BJR2x1YzNSaGJtTmxMbTFsZEdGa1lYUmhJRDBnYldWMFlXUmhkR0U3WEc0Z0lISmxkSFZ5YmlCcGJuTjBZVzVqWlR0Y2JuMWNibHh1Wm5WdVkzUnBiMjRnYVc1d2RYUkNhVzVrYVc1bmMwWnliMjFRYjNKMGN5aGNiaUFnY0c5eWRITTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lFZHlZWEJvVjI5eWEyWnNiM2RUYm1Gd2MyaHZkRkJ2Y25SVGRHRjBaVDRnZkNCMWJtUmxabWx1WldSY2JpazZJRkpsWTI5eVpEeHpkSEpwYm1jc0lFZHlZWEJvU1c1d2RYUkNhVzVrYVc1blBpQjhJSFZ1WkdWbWFXNWxaQ0I3WEc0Z0lHbG1JQ2doY0c5eWRITXBJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzRnSUdOdmJuTjBJR0pwYm1ScGJtZHpPaUJTWldOdmNtUThjM1J5YVc1bkxDQkhjbUZ3YUVsdWNIVjBRbWx1WkdsdVp6NGdQU0I3ZlR0Y2JpQWdabTl5SUNoamIyNXpkQ0JiY0hKdmNHVnlkSGtzSUhCdmNuUmRJRzltSUU5aWFtVmpkQzVsYm5SeWFXVnpLSEJ2Y25SektTa2dlMXh1SUNBZ0lHbG1JQ2h3YjNKMFB5NXRiMlJsSUQwOVBTQmNJbkJ2Y25SY0lpa2dlMXh1SUNBZ0lDQWdZbWx1WkdsdVozTmJjSEp2Y0dWeWRIbGRJRDBnZXlCdGIyUmxPaUJjSW1Wa1oyVmNJaUI5TzF4dUlDQWdJSDBnWld4elpTQnBaaUFvWENKMllXeDFaVndpSUdsdUlDaHdiM0owSUQ4L0lIdDlLU2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdkbUZzZFdVZ1BTQnpZVzVwZEdsNlpWUnZSM0poY0doS2MyOXVWbUZzZFdVb2NHOXlkQzUyWVd4MVpTazdYRzRnSUNBZ0lDQmlhVzVrYVc1bmMxdHdjbTl3WlhKMGVWMGdQU0I3SUcxdlpHVTZJRndpYkdsMFpYSmhiRndpTENCMllXeDFaVG9nZG1Gc2RXVWdQejhnYm5Wc2JDQjlPMXh1SUNBZ0lIMWNiaUFnZlZ4dUlDQnlaWFIxY200Z1QySnFaV04wTG10bGVYTW9ZbWx1WkdsdVozTXBMbXhsYm1kMGFDQS9JR0pwYm1ScGJtZHpJRG9nZFc1a1pXWnBibVZrTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ1YjJSbFNXNXpkR0Z1WTJWR2NtOXRUR1ZuWVdONUtHNXZaR1U2SUVkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRFNXZaR1VwT2lCSGNtRndhRTV2WkdWSmJuTjBZVzVqWlNCN1hHNGdJR052Ym5OMElHbHVjM1JoYm1ObE9pQkhjbUZ3YUU1dlpHVkpibk4wWVc1alpTQTlJSHRjYmlBZ0lDQnBaRG9nYm05a1pTNXBaQ3hjYmlBZ0lDQnJhVzVrT2lCdWIyUmxMbXRwYm1RZ1B6OGdibTlrWlM1eVpXWS9MbXRwYm1RZ1B6OGdibTlrWlM1cFpDeGNiaUFnSUNCd1lYSmhiV1YwWlhKek9pQmtjbTl3Vlc1ellXWmxSVzUwY21sbGN5aHViMlJsTG1SaGRHRWdQejhnZTMwcExGeHVJQ0I5TzF4dUlDQnBaaUFvYm05a1pTNXNZV0psYkNrZ2FXNXpkR0Z1WTJVdWJHRmlaV3dnUFNCdWIyUmxMbXhoWW1Wc08xeHVJQ0JqYjI1emRDQmlhVzVrYVc1bmN5QTlJR2x1Y0hWMFFtbHVaR2x1WjNOR2NtOXRVRzl5ZEhNb2JtOWtaUzV3YjNKMGN5azdYRzRnSUdsbUlDaGlhVzVrYVc1bmN5a2dhVzV6ZEdGdVkyVXVhVzV3ZFhSQ2FXNWthVzVuY3lBOUlHSnBibVJwYm1kek8xeHVJQ0JqYjI1emRDQnRaWFJoWkdGMFlTQTlJSE5oYm1sMGFYcGxWRzlIY21Gd2FFcHpiMjVXWVd4MVpTaHViMlJsTG0xbGRHRmtZWFJoSUQ4L0lIdDlLU0JoY3lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JIY21Gd2FFcHpiMjVXWVd4MVpUNGdmQ0IxYm1SbFptbHVaV1E3WEc0Z0lHbG1JQ2h0WlhSaFpHRjBZU0FtSmlCUFltcGxZM1F1YTJWNWN5aHRaWFJoWkdGMFlTa3ViR1Z1WjNSb0tTQnBibk4wWVc1alpTNXRaWFJoWkdGMFlTQTlJRzFsZEdGa1lYUmhPMXh1SUNCcFppQW9ibTlrWlM1d2IzTnBkR2x2YmlCOGZDQnViMlJsTG5OcGVtVWdmSHdnYm05a1pTNWxlSEJoYm1SbFpDQWhQVDBnZFc1a1pXWnBibVZrS1NCN1hHNGdJQ0FnWTI5dWMzUWdkV2s2SUVkeVlYQm9UbTlrWlZWcFUzUmhkR1VnUFNCN1hHNGdJQ0FnSUNCd2IzTnBkR2x2YmpvZ2JtOWtaUzV3YjNOcGRHbHZiaUEvSUhzZ2VEb2dibTlrWlM1d2IzTnBkR2x2Ymk1NExDQjVPaUJ1YjJSbExuQnZjMmwwYVc5dUxua2dmU0E2SUhzZ2VEb2dNQ3dnZVRvZ01DQjlMRnh1SUNBZ0lIMDdYRzRnSUNBZ2FXWWdLRzV2WkdVdWMybDZaU2tnZFdrdWMybDZaU0E5SUhzZ2QybGtkR2c2SUc1dlpHVXVjMmw2WlM1M2FXUjBhQ3dnYUdWcFoyaDBPaUJ1YjJSbExuTnBlbVV1YUdWcFoyaDBJSDA3WEc0Z0lDQWdhV1lnS0c1dlpHVXVaWGh3WVc1a1pXUWdJVDA5SUhWdVpHVm1hVzVsWkNrZ2RXa3VaWGh3WVc1a1pXUWdQU0J1YjJSbExtVjRjR0Z1WkdWa08xeHVJQ0FnSUdsdWMzUmhibU5sTG5WcElEMGdkV2s3WEc0Z0lIMWNiaUFnY21WMGRYSnVJR2x1YzNSaGJtTmxPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmxaR2RsU1c1emRHRnVZMlZHY205dFRHVm5ZV041S0Z4dUlDQmxaR2RsT2lCSGNtRndhRmR2Y210bWJHOTNVMjVoY0hOb2IzUkZaR2RsTEZ4dUlDQmhiR2xoYzJWek9pQlRaWFE4YzNSeWFXNW5QaXhjYmlBZ1ltOTFibVJoY25sUWIzSjBTV1J6UHpvZ1VtVmhaRzl1YkhsTllYQThjM1J5YVc1bkxDQnpkSEpwYm1jK0xGeHVJQ0J5Wld4aGRHbHZia3hoWW1Wc1FubFFZV2x5UHpvZ1VtVmhaRzl1YkhsTllYQThjM1J5YVc1bkxDQnpkSEpwYm1jK1hHNHBPaUJIY21Gd2FFVmtaMlZKYm5OMFlXNWpaU0I3WEc0Z0lHTnZibk4wSUhOdmRYSmpaU0E5SUd4bFoyRmplVVZ1WkhCdmFXNTBLRnh1SUNBZ0lHVmtaMlV1YzI5MWNtTmxVbVZtSUQ4L0lHVmtaMlV1YzI5MWNtTmxMRnh1SUNBZ0lHVmtaMlV1YzI5MWNtTmxVRzl5ZEN4Y2JpQWdJQ0JoYkdsaGMyVnpMRnh1SUNBZ0lHSnZkVzVrWVhKNVVHOXlkRWxrYzF4dUlDQXBPMXh1SUNCamIyNXpkQ0IwWVhKblpYUWdQU0JzWldkaFkzbEZibVJ3YjJsdWRDaGNiaUFnSUNCbFpHZGxMblJoY21kbGRGSmxaaUEvUHlCbFpHZGxMblJoY21kbGRDeGNiaUFnSUNCbFpHZGxMblJoY21kbGRGQnZjblFzWEc0Z0lDQWdZV3hwWVhObGN5eGNiaUFnSUNCaWIzVnVaR0Z5ZVZCdmNuUkpaSE5jYmlBZ0tUdGNiaUFnWTI5dWMzUWdhVzV6ZEdGdVkyVTZJRWR5WVhCb1JXUm5aVWx1YzNSaGJtTmxJRDBnZTF4dUlDQWdJR2xrT2lCbFpHZGxMbWxrTEZ4dUlDQWdJSFI1Y0dVNklGd2laR0YwWVZ3aUxGeHVJQ0FnSUhOdmRYSmpaU3hjYmlBZ0lDQjBZWEpuWlhRc1hHNGdJSDA3WEc0Z0lHTnZibk4wSUd4aFltVnNJRDBnWldSblpTNXNZV0psYkNBL1B5QnlaV3hoZEdsdmJreGhZbVZzUW5sUVlXbHlQeTVuWlhRb1pXUm5aVkJoYVhKTFpYbFBaaWg3SUhOdmRYSmpaU3dnZEdGeVoyVjBJSDBwS1R0Y2JpQWdhV1lnS0d4aFltVnNLU0JwYm5OMFlXNWpaUzVzWVdKbGJDQTlJR3hoWW1Wc08xeHVJQ0JqYjI1emRDQnRaWFJoWkdGMFlTQTlJSE5oYm1sMGFYcGxWRzlIY21Gd2FFcHpiMjVXWVd4MVpTaGxaR2RsTG0xbGRHRmtZWFJoSUQ4L0lIdDlLU0JoY3lCU1pXTnZjbVE4YzNSeWFXNW5MQ0JIY21Gd2FFcHpiMjVXWVd4MVpUNGdmQ0IxYm1SbFptbHVaV1E3WEc0Z0lHbG1JQ2h0WlhSaFpHRjBZU0FtSmlCUFltcGxZM1F1YTJWNWN5aHRaWFJoWkdGMFlTa3ViR1Z1WjNSb0tTQnBibk4wWVc1alpTNXRaWFJoWkdGMFlTQTlJRzFsZEdGa1lYUmhPMXh1SUNCeVpYUjFjbTRnYVc1emRHRnVZMlU3WEc1OVhHNWNiaThxS2lCRmJtUndiMmx1ZEMxd1lXbHlJR3RsZVNCbWIzSWdaV1JuWlNCcFpHVnVkR2wwZVNBb1kyRnViMjVwWTJGc0lHQkhjbUZ3YUVWdVpIQnZhVzUwWUNCemFHRndaU2t1SUNvdlhHNW1kVzVqZEdsdmJpQmxaR2RsVUdGcGNrdGxlVTltS0dWa1oyVTZJSHNnYzI5MWNtTmxPaUJIY21Gd2FFVnVaSEJ2YVc1ME95QjBZWEpuWlhRNklFZHlZWEJvUlc1a2NHOXBiblFnZlNrNklITjBjbWx1WnlCN1hHNGdJR052Ym5OMElHdGxlVTltSUQwZ0tHVnVaSEJ2YVc1ME9pQkhjbUZ3YUVWdVpIQnZhVzUwS1RvZ2MzUnlhVzVuSUQwK1hHNGdJQ0FnWlc1a2NHOXBiblF1YzJOdmNHVWdQVDA5SUZ3aWJtOWtaVndpWEc0Z0lDQWdJQ0EvSUdCdWIyUmxPaVI3Wlc1a2NHOXBiblF1Ym05a1pVbGtmVG9rZTJWdVpIQnZhVzUwTG5CdmNuUjlZRnh1SUNBZ0lDQWdPaUJnZDI5eWEyWnNiM2M2Skh0bGJtUndiMmx1ZEM1d2IzSjBmV0E3WEc0Z0lISmxkSFZ5YmlCZ0pIdHJaWGxQWmlobFpHZGxMbk52ZFhKalpTbDlMVDRrZTJ0bGVVOW1LR1ZrWjJVdWRHRnlaMlYwS1gxZ08xeHVmVnh1WEc0dktpcGNiaUFxSUUxaGNITWdZU0JzWldkaFkza2dLSEJ5WlMxUU55a2dZMkZ1ZG1GeklITnVZWEJ6YUc5MElIUnZJSFJvWlNCallXNXZibWxqWVd4Y2JpQXFJSHRBYkdsdWF5QkhjbUZ3YUZkdmNtdG1iRzkzUkc5amRXMWxiblI5SUNoRVJVTkJSaTAxTUNEQ3B6UXVOQzQyS1RvZ2JHVm5ZV041SUdCdWIyUmxMbVJoZEdGZ0lHSmxZMjl0WlhOY2JpQXFJR2x1YzNSaGJtTmxJR0J3WVhKaGJXVjBaWEp6WUN3Z2JHVm5ZV041SUdCdWIyUmxMbTFsZEdGa1lYUmhZQ0JpWldOdmJXVnpJR2x1YzNSaGJtTmxJR0J0WlhSaFpHRjBZV0FzWEc0Z0tpQjNiM0pyWm14dmR5QmliM1Z1WkdGeWVTQmlZV1JuWlhNZ0tHQnBibkIxZEMxN2NHOXlkSDFnS1NCbWIyeGtJR0poWTJzZ2IyNTBieUIwYUdWcGNpQjNiM0pyWm14dmQxeHVJQ29nY0c5eWRITXNJR0Z1WkNCbFpHZGxJR3hoWW1Wc2N5QnRhWE56YVc1bklHWnliMjBnWTJ4dmJtVmtJR1ZrWjJVZ2NtOTNjeUJoY21VZ2NtVnpkRzl5WldRZ1puSnZiU0IwYUdWY2JpQXFJR1JsWTI5eVlYUmxaQ0JrWldacGJtbDBhVzl1SjNNZ2NtVnNZWFJwYjI0Z2JHRmlaV3h6SUNqQ3B6UXVOQzQzS1M1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2R5WVhCb1YyOXlhMlpzYjNkRWIyTjFiV1Z1ZEVaeWIyMU1aV2RoWTNsVGJtRndjMmh2ZENoY2JpQWdjMjVoY0hOb2IzUTZJRXhsWjJGamVVZHlZWEJvVjI5eWEyWnNiM2RUYm1Gd2MyaHZkRnh1S1RvZ1IzSmhjR2hYYjNKclpteHZkMFJ2WTNWdFpXNTBJSHRjYmlBZ1kyOXVjM1FnWVd4cFlYTmxjeUE5SUdKdmRXNWtZWEo1UVd4cFlYTmxjMFp2Y2loemJtRndjMmh2ZEM1a1pXWnBibWwwYVc5dUtUdGNiaUFnWTI5dWMzUWdZbTkxYm1SaGNubFFiM0owU1dSeklEMGdZbTkxYm1SaGNubFFiM0owU1dSelJtOXlLSE51WVhCemFHOTBLVHRjYmlBZ1kyOXVjM1FnY21Wc1lYUnBiMjVNWVdKbGJFSjVVR0ZwY2lBOUlHeGxaMkZqZVZKbGJHRjBhVzl1VEdGaVpXeENlVVZ1WkhCdmFXNTBLSE51WVhCemFHOTBMQ0JoYkdsaGMyVnpMQ0JpYjNWdVpHRnllVkJ2Y25SSlpITXBPMXh1SUNCamIyNXpkQ0JwYm5CMWRITWdQU0JQWW1wbFkzUXVabkp2YlVWdWRISnBaWE1vWEc0Z0lDQWdjMjVoY0hOb2IzUXVjM1JoZEdVdWFXNXdkWFJ6TG0xaGNDZ29aVzUwY25rcElEMCtJRnRsYm5SeWVTNXdZWFJvTENCellXNXBkR2w2WlZSdlIzSmhjR2hLYzI5dVZtRnNkV1VvWlc1MGNua3VkbUZzZFdVcFhTbGNiaUFnS1R0Y2JpQWdZMjl1YzNRZ2IzVjBjSFYwY3lBOUlFOWlhbVZqZEM1bWNtOXRSVzUwY21sbGN5aGNiaUFnSUNCemJtRndjMmh2ZEM1emRHRjBaUzV2ZFhSd2RYUnpMbTFoY0Nnb1pXNTBjbmtwSUQwK0lGdGxiblJ5ZVM1d1lYUm9MQ0J6WVc1cGRHbDZaVlJ2UjNKaGNHaEtjMjl1Vm1Gc2RXVW9aVzUwY25rdWRtRnNkV1VwWFNsY2JpQWdLVHRjYmlBZ1kyOXVjM1FnWkc5amRXMWxiblE2SUVkeVlYQm9WMjl5YTJac2IzZEViMk4xYldWdWRDQTlJSHRjYmlBZ0lDQnBaRG9nYzI1aGNITm9iM1F1WkdWbWFXNXBkR2x2Ymk1MFlXY2dmSHdnYzI1aGNITm9iM1F1WkdWbWFXNXBkR2x2Ymk1dVlXMWxMRnh1SUNBZ0lHNWhiV1U2SUhOdVlYQnphRzkwTG1SbFptbHVhWFJwYjI0dWJtRnRaU3hjYmlBZ0lDQnBibkIxZEhNNklITnVZWEJ6YUc5MExtUmxabWx1YVhScGIyNHVhVzV3ZFhSekxtMWhjQ2dvY0c5eWRDa2dQVDVjYmlBZ0lDQWdJSEJ2Y25SSmJuTjBZVzVqWlVaeWIyMUVaV1pwYm1sMGFXOXVLSEJ2Y25Rc0lHbHVjSFYwYzF0d2IzSjBMbkJ5YjNCbGNuUjVYU2xjYmlBZ0lDQXBMRnh1SUNBZ0lHOTFkSEIxZEhNNklITnVZWEJ6YUc5MExtUmxabWx1YVhScGIyNHViM1YwY0hWMGN5NXRZWEFvS0hCdmNuUXBJRDArWEc0Z0lDQWdJQ0J3YjNKMFNXNXpkR0Z1WTJWR2NtOXRSR1ZtYVc1cGRHbHZiaWh3YjNKMExDQnZkWFJ3ZFhSelczQnZjblF1Y0hKdmNHVnlkSGxkS1Z4dUlDQWdJQ2tzWEc0Z0lDQWdibTlrWlhNNklITnVZWEJ6YUc5MExuTjBZWFJsTG01dlpHVnpMbTFoY0NodWIyUmxTVzV6ZEdGdVkyVkdjbTl0VEdWbllXTjVLU3hjYmlBZ0lDQmxaR2RsY3pvZ2MyNWhjSE5vYjNRdWMzUmhkR1V1WldSblpYTXViV0Z3S0NobFpHZGxLU0E5UGx4dUlDQWdJQ0FnWldSblpVbHVjM1JoYm1ObFJuSnZiVXhsWjJGamVTaGxaR2RsTENCaGJHbGhjMlZ6TENCaWIzVnVaR0Z5ZVZCdmNuUkpaSE1zSUhKbGJHRjBhVzl1VEdGaVpXeENlVkJoYVhJcFhHNGdJQ0FnS1N4Y2JpQWdmVHRjYmlBZ2FXWWdLSE51WVhCemFHOTBMbVJsWm1sdWFYUnBiMjR1YldWMFlXUmhkR0VwSUh0Y2JpQWdJQ0JqYjI1emRDQnRaWFJoWkdGMFlTQTlJSE5oYm1sMGFYcGxWRzlIY21Gd2FFcHpiMjVXWVd4MVpTaGNiaUFnSUNBZ0lITnVZWEJ6YUc5MExtUmxabWx1YVhScGIyNHViV1YwWVdSaGRHRmNiaUFnSUNBcElHRnpJRkpsWTI5eVpEeHpkSEpwYm1jc0lFZHlZWEJvU25OdmJsWmhiSFZsUGlCOElIVnVaR1ZtYVc1bFpEdGNiaUFnSUNCcFppQW9iV1YwWVdSaGRHRWdKaVlnVDJKcVpXTjBMbXRsZVhNb2JXVjBZV1JoZEdFcExteGxibWQwYUNrZ1pHOWpkVzFsYm5RdWJXVjBZV1JoZEdFZ1BTQnRaWFJoWkdGMFlUdGNiaUFnZlZ4dUlDQmpiMjV6ZENCMWFUb2dSM0poY0doWGIzSnJabXh2ZDFWcFUzUmhkR1VnUFNCN2ZUdGNiaUFnWTI5dWMzUWdkbWxsZDNCdmNuUWdQU0J6Ym1Gd2MyaHZkQzV6ZEdGMFpTNTFhVDh1VzF3aVpHbGhaM0poYlUxbGRHRmtZWFJoWENKZElHRnpYRzRnSUNBZ2ZDQlNaV052Y21ROGMzUnlhVzVuTENCMWJtdHViM2R1UGx4dUlDQWdJSHdnZFc1a1pXWnBibVZrTzF4dUlDQmpiMjV6ZENCd1lYSnpaV1JXYVdWM2NHOXlkQ0E5SUhacFpYZHdiM0owUHk1YlhDSjJhV1YzY0c5eWRGd2lYVHRjYmlBZ2FXWWdLSEJoY25ObFpGWnBaWGR3YjNKMElDWW1JSFI1Y0dWdlppQndZWEp6WldSV2FXVjNjRzl5ZENBOVBUMGdYQ0p2WW1wbFkzUmNJaWtnZTF4dUlDQWdJR052Ym5OMElIWWdQU0J3WVhKelpXUldhV1YzY0c5eWRDQmhjeUJTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBqdGNiaUFnSUNCamIyNXpkQ0I0SUQwZ2RIbHdaVzltSUhaYlhDSjRYQ0pkSUQwOVBTQmNJbTUxYldKbGNsd2lJRDhnZGx0Y0luaGNJbDBnT2lCT2RXMWlaWElvZGx0Y0luaGNJbDBwSUh4OElEQTdYRzRnSUNBZ1kyOXVjM1FnZVNBOUlIUjVjR1Z2WmlCMlcxd2llVndpWFNBOVBUMGdYQ0p1ZFcxaVpYSmNJaUEvSUhaYlhDSjVYQ0pkSURvZ1RuVnRZbVZ5S0haYlhDSjVYQ0pkS1NCOGZDQXdPMXh1SUNBZ0lHTnZibk4wSUhwdmIyMGdQU0IwZVhCbGIyWWdkbHRjSW5OallXeGxYQ0pkSUQwOVBTQmNJbTUxYldKbGNsd2lJRDhnZGx0Y0luTmpZV3hsWENKZElEb2dUblZ0WW1WeUtIWmJYQ0p6WTJGc1pWd2lYU2tnZkh3Z01UdGNiaUFnSUNCMWFTNTJhV1YzY0c5eWRDQTlJSHNnZUN3Z2VTd2dlbTl2YlNCOU8xeHVJQ0I5WEc0Z0lHbG1JQ2gxYVM1MmFXVjNjRzl5ZENrZ1pHOWpkVzFsYm5RdWRXa2dQU0IxYVR0Y2JpQWdjbVYwZFhKdUlHUnZZM1Z0Wlc1ME8xeHVmVnh1WEc0dktpcGNiaUFxSUVOdmJuWmxjblJ6SUdFZ2JHVm5ZV041SUhCbGNuTnBjM1JsWkNCemJtRndjMmh2ZENCcGJuUnZJSFJvWlNCallXNXZibWxqWVd3Z2QzSmhjSEJsY2k0Z1ZHaGxJR05oYm05dWFXTmhiRnh1SUNvZ1lHUnZZM1Z0Wlc1MFlDQmpZWEp5YVdWeklHVjRaV04xZEdGaWJHVWdjMlZ0WVc1MGFXTnpPeUJnWldScGRHOXlMbXhsWjJGamVXQWdhMlZsY0hNZ2RHaGxJSE5oYm1sMGFYcGxaRnh1SUNvZ0tHTnZibk4wY25WamRHOXlMV1p5WldVcElHeGxaMkZqZVNCd1lYbHNiMkZrSUhOdklHRWdZMkZ1YjI1cFkyRnM0b2FTYkdWbllXTjVJSEp2ZFc1a0lIUnlhWEFnYVhNZ2JHOXpjMnhsYzNOY2JpQXFJR1p2Y2lCd1pYSnphWE4wWldRZ1pHRjBZUzVjYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHZHlZWEJvVjI5eWEyWnNiM2RUYm1Gd2MyaHZkRVp5YjIxTVpXZGhZM2tvWEc0Z0lITnVZWEJ6YUc5ME9pQk1aV2RoWTNsSGNtRndhRmR2Y210bWJHOTNVMjVoY0hOb2IzUmNiaWs2SUVkeVlYQm9WMjl5YTJac2IzZFRibUZ3YzJodmRDQjdYRzRnSUdOdmJuTjBJR1J2WTNWdFpXNTBJRDBnWjNKaGNHaFhiM0pyWm14dmQwUnZZM1Z0Wlc1MFJuSnZiVXhsWjJGamVWTnVZWEJ6YUc5MEtITnVZWEJ6YUc5MEtUdGNiaUFnWTI5dWMzUWdaV1JwZEc5eU9pQkhjbUZ3YUZOdVlYQnphRzkwUldScGRHOXlVM1JoZEdVZ1BTQjdmVHRjYmlBZ1kyOXVjM1FnYzJGdWFYUnBlbVZrVEdWbllXTjVJRDBnYzJGdWFYUnBlbVZNWldkaFkzbFRibUZ3YzJodmRGQmhlV3h2WVdRb2MyNWhjSE5vYjNRcE8xeHVJQ0JwWmlBb2MyRnVhWFJwZW1Wa1RHVm5ZV041SUNZbUlHbHpSM0poY0doS2MyOXVVMkZtWlZaaGJIVmxLSE5oYm1sMGFYcGxaRXhsWjJGamVTa3BJR1ZrYVhSdmNpNXNaV2RoWTNrZ1BTQnpZVzVwZEdsNlpXUk1aV2RoWTNrN1hHNGdJR052Ym5OMElIVnBJRDBnYzI1aGNITm9iM1F1YzNSaGRHVXVkV2s3WEc0Z0lHbG1JQ2gxYVNrZ2UxeHVJQ0FnSUdOdmJuTjBJR1IxY0d4cFkyRjBaVU52ZFc1MGN5QTlJSFZwVzF3aVpIVndiR2xqWVhSbFEyOTFiblJ6WENKZE8xeHVJQ0FnSUdsbUlDaGtkWEJzYVdOaGRHVkRiM1Z1ZEhNZ0ppWWdkSGx3Wlc5bUlHUjFjR3hwWTJGMFpVTnZkVzUwY3lBOVBUMGdYQ0p2WW1wbFkzUmNJaWtnZTF4dUlDQWdJQ0FnWldScGRHOXlMbVIxY0d4cFkyRjBaVU52ZFc1MGN5QTlJR1IxY0d4cFkyRjBaVU52ZFc1MGN5QmhjeUJTWldOdmNtUThjM1J5YVc1bkxDQnVkVzFpWlhJK08xeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRDQmthV0ZuY21GdFRXVjBZV1JoZEdFZ1BTQjFhVnRjSW1ScFlXZHlZVzFOWlhSaFpHRjBZVndpWFR0Y2JpQWdJQ0JwWmlBb1pHbGhaM0poYlUxbGRHRmtZWFJoSUNZbUlIUjVjR1Z2WmlCa2FXRm5jbUZ0VFdWMFlXUmhkR0VnUFQwOUlGd2liMkpxWldOMFhDSXBJSHRjYmlBZ0lDQWdJR1ZrYVhSdmNpNWthV0ZuY21GdFRXVjBZV1JoZEdFZ1BTQnpZVzVwZEdsNlpWUnZSM0poY0doS2MyOXVWbUZzZFdVb1hHNGdJQ0FnSUNBZ0lHUnBZV2R5WVcxTlpYUmhaR0YwWVNCaGN5QlNaV052Y21ROGMzUnlhVzVuTENCMWJtdHViM2R1UGx4dUlDQWdJQ0FnS1NCaGN5QlNaV052Y21ROGMzUnlhVzVuTENCSGNtRndhRXB6YjI1V1lXeDFaVDQ3WEc0Z0lDQWdmVnh1SUNBZ0lHTnZibk4wSUc1dlpHVkRiMjVtYVdkeklEMGdkV2xiWENKdWIyUmxRMjl1Wm1sbmMxd2lYVHRjYmlBZ0lDQnBaaUFvYm05a1pVTnZibVpwWjNNZ0ppWWdkSGx3Wlc5bUlHNXZaR1ZEYjI1bWFXZHpJRDA5UFNCY0ltOWlhbVZqZEZ3aUtTQjdYRzRnSUNBZ0lDQmxaR2wwYjNJdWJtOWtaVU52Ym1acFozTWdQU0J6WVc1cGRHbDZaVlJ2UjNKaGNHaEtjMjl1Vm1Gc2RXVW9YRzRnSUNBZ0lDQWdJRzV2WkdWRGIyNW1hV2R6SUdGeklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrWEc0Z0lDQWdJQ0FwSUdGeklGSmxZMjl5WkR4emRISnBibWNzSUVkeVlYQm9Tbk52YmxaaGJIVmxQanRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdaV1JwZEc5eUxtNXZaR1ZRYjNKMGN5QTlJSHQ5TzF4dUlDQm1iM0lnS0dOdmJuTjBJRzV2WkdVZ2IyWWdjMjVoY0hOb2IzUXVjM1JoZEdVdWJtOWtaWE1wSUh0Y2JpQWdJQ0JwWmlBb2JtOWtaUzV3YjNKMGN5a2dlMXh1SUNBZ0lDQWdaV1JwZEc5eUxtNXZaR1ZRYjNKMGMxdHViMlJsTG1sa1hTQTlJSE5oYm1sMGFYcGxWRzlIY21Gd2FFcHpiMjVXWVd4MVpTaGNiaUFnSUNBZ0lDQWdibTlrWlM1d2IzSjBjeUJoY3lCMWJtdHViM2R1SUdGeklGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrWEc0Z0lDQWdJQ0FwSUdGeklGSmxZMjl5WkR4emRISnBibWNzSUVkeVlYQm9Tbk52YmxaaGJIVmxQanRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdhV1lnS0NGUFltcGxZM1F1YTJWNWN5aGxaR2wwYjNJdWJtOWtaVkJ2Y25SektTNXNaVzVuZEdncElHUmxiR1YwWlNCbFpHbDBiM0l1Ym05a1pWQnZjblJ6TzF4dUlDQmpiMjV6ZENCa1pXWnBibWwwYVc5dVJHbHpjR3hoZVNBOUlHUnliM0JWYm5OaFptVkZiblJ5YVdWektGeHVJQ0FnSUhOdVlYQnphRzkwTG1SbFptbHVhWFJwYjI0Z1lYTWdkVzVyYm05M2JpQmhjeUJTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBseHVJQ0FwTzF4dUlDQmtaV3hsZEdVZ1pHVm1hVzVwZEdsdmJrUnBjM0JzWVhsYlhDSnBibkIxZEhOY0lsMDdYRzRnSUdSbGJHVjBaU0JrWldacGJtbDBhVzl1UkdsemNHeGhlVnRjSW05MWRIQjFkSE5jSWwwN1hHNGdJR1JsYkdWMFpTQmtaV1pwYm1sMGFXOXVSR2x6Y0d4aGVWdGNJbTV2WkdWelhDSmRPMXh1SUNCa1pXeGxkR1VnWkdWbWFXNXBkR2x2YmtScGMzQnNZWGxiWENKeVpXeGhkR2x2Ym5OY0lsMDdYRzRnSUdWa2FYUnZjaTVrWldacGJtbDBhVzl1UkdsemNHeGhlU0E5SUdSbFptbHVhWFJwYjI1RWFYTndiR0Y1TzF4dUlDQmpiMjV6ZENCdFpYUmhaR0YwWVNBOUlITmhibWwwYVhwbFZHOUhjbUZ3YUVwemIyNVdZV3gxWlNoY2JpQWdJQ0J6Ym1Gd2MyaHZkQzV6ZEdGMFpTNXRaWFJoWkdGMFlTQS9QeUI3ZlZ4dUlDQXBJR0Z6SUZKbFkyOXlaRHh6ZEhKcGJtY3NJRWR5WVhCb1NuTnZibFpoYkhWbFBqdGNiaUFnY21WMGRYSnVJSHNnWkc5amRXMWxiblFzSUdWa2FYUnZjaXdnYldWMFlXUmhkR0U2SUU5aWFtVmpkQzVyWlhsektHMWxkR0ZrWVhSaEtTNXNaVzVuZEdnZ1B5QnRaWFJoWkdGMFlTQTZJSFZ1WkdWbWFXNWxaQ0I5TzF4dWZWeHVYRzR2S2lwY2JpQXFJRkpsWTI5dWMzUnlkV04wY3lCaElHeGxaMkZqZVNCemJtRndjMmh2ZENCbWNtOXRJR0VnWTJGdWIyNXBZMkZzSUhkeVlYQndaWEl1SUZWelpYTWdkR2hsWEc0Z0tpQmdaV1JwZEc5eUxteGxaMkZqZVdBZ2NHRjViRzloWkNCM2FHVnVJSEJ5WlhObGJuUWdabTl5SUdWNFlXTjBJSEp2ZFc1a0lIUnlhWEJ6T3lCdmRHaGxjbmRwYzJVZ2FYUmNiaUFxSUhKbFluVnBiR1J6SUdFZ1ltVnpkQzFsWm1admNuUWdiR1ZuWVdONUlITnVZWEJ6YUc5MElHWnliMjBnZEdobElHUnZZM1Z0Wlc1MElDc2daV1JwZEc5eUlITjBZWFJsWEc0Z0tpQW9ZMjl1YzNSeWRXTjBiM0p6SUdGeVpTQnVaWFpsY2lCeVpYTjBiM0psWkNrdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJuY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNSVWIweGxaMkZqZVNoY2JpQWdjMjVoY0hOb2IzUTZJRWR5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZEZ4dUtUb2dUR1ZuWVdONVIzSmhjR2hYYjNKclpteHZkMU51WVhCemFHOTBJSHRjYmlBZ2FXWWdLSE51WVhCemFHOTBMbVZrYVhSdmNqOHViR1ZuWVdONUlDWW1JR2x6UjNKaGNHaEtjMjl1VTJGbVpWWmhiSFZsS0hOdVlYQnphRzkwTG1Wa2FYUnZjaTVzWldkaFkza3BLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHTnNiMjVsVm1Gc2RXVW9jMjVoY0hOb2IzUXVaV1JwZEc5eUxteGxaMkZqZVNrZ1lYTWdkVzVyYm05M2JpQmhjeUJNWldkaFkzbEhjbUZ3YUZkdmNtdG1iRzkzVTI1aGNITm9iM1E3WEc0Z0lIMWNiaUFnWTI5dWMzUWdleUJrYjJOMWJXVnVkQ3dnWldScGRHOXlJSDBnUFNCemJtRndjMmh2ZER0Y2JpQWdZMjl1YzNRZ1lXeHBZWE5sY3lBOUlHNWxkeUJUWlhROGMzUnlhVzVuUGloSFVrRlFTRjlNUlVkQlExbGZRazlWVGtSQlVsbGZRVXhKUVZORlV5azdYRzRnSUdsbUlDaGtiMk4xYldWdWRDNXBaQ2tnWVd4cFlYTmxjeTVoWkdRb1pHOWpkVzFsYm5RdWFXUXBPMXh1SUNCcFppQW9aRzlqZFcxbGJuUXVibUZ0WlNrZ1lXeHBZWE5sY3k1aFpHUW9aRzlqZFcxbGJuUXVibUZ0WlNrN1hHNGdJR052Ym5OMElHUnBjM0JzWVhrZ1BTQW9aV1JwZEc5eVB5NWtaV1pwYm1sMGFXOXVSR2x6Y0d4aGVTQS9QeUI3ZlNrZ1lYTWdVbVZqYjNKa1BITjBjbWx1Wnl3Z2RXNXJibTkzYmo0N1hHNGdJR052Ym5OMElHUmxabWx1YVhScGIyNGdQU0I3WEc0Z0lDQWdMaTR1WTJ4dmJtVldZV3gxWlNoa2FYTndiR0Y1S1N4Y2JpQWdJQ0J1WVcxbE9pQmtiMk4xYldWdWRDNXVZVzFsTEZ4dUlDQWdJSFJoWnpvZ1pHOWpkVzFsYm5RdWFXUWdmSHdnS0dScGMzQnNZWGxiWENKMFlXZGNJbDBnWVhNZ2MzUnlhVzVuSUh3Z2RXNWtaV1pwYm1Wa0tTQjhmQ0JrYjJOMWJXVnVkQzV1WVcxbExGeHVJQ0FnSUdsdWNIVjBjem9nWkc5amRXMWxiblF1YVc1d2RYUnpMbTFoY0Nnb2NHOXlkQ2tnUFQ0Z2NHOXlkRlJ2VEdWbllXTjVSR1ZtYVc1cGRHbHZiaWh3YjNKMEtTa3NYRzRnSUNBZ2IzVjBjSFYwY3pvZ1pHOWpkVzFsYm5RdWIzVjBjSFYwY3k1dFlYQW9LSEJ2Y25RcElEMCtJSEJ2Y25SVWIweGxaMkZqZVVSbFptbHVhWFJwYjI0b2NHOXlkQ2twTEZ4dUlDQWdJRzV2WkdWek9pQmtiMk4xYldWdWRDNXViMlJsY3k1dFlYQW9LRzV2WkdVcElEMCtJQ2g3SUdsa09pQnViMlJsTG1sa0xDQnJhVzVrT2lCdWIyUmxMbXRwYm1RZ2ZTa3BMRnh1SUNBZ0lISmxiR0YwYVc5dWN6b2daRzlqZFcxbGJuUXVaV1JuWlhNdWJXRndLQ2hsWkdkbEtTQTlQaUFvZTF4dUlDQWdJQ0FnYVdRNklHVmtaMlV1YVdRc1hHNGdJQ0FnSUNCemIzVnlZMlU2SUdWdVpIQnZhVzUwVkc5TVpXZGhZM2xTWldZb1pXUm5aUzV6YjNWeVkyVXBMbkpsWmtsa0xGeHVJQ0FnSUNBZ2MyOTFjbU5sVUc5eWREb2daV1JuWlM1emIzVnlZMlV1Y0c5eWRDeGNiaUFnSUNBZ0lIUmhjbWRsZERvZ1pXNWtjRzlwYm5SVWIweGxaMkZqZVZKbFppaGxaR2RsTG5SaGNtZGxkQ2t1Y21WbVNXUXNYRzRnSUNBZ0lDQjBZWEpuWlhSUWIzSjBPaUJsWkdkbExuUmhjbWRsZEM1d2IzSjBMRnh1SUNBZ0lDQWdiR0ZpWld3NklHVmtaMlV1YkdGaVpXd3NYRzRnSUNBZ2ZTa3BMRnh1SUNCOUlHRnpJSFZ1YTI1dmQyNGdZWE1nVEdWbllXTjVSM0poY0doWGIzSnJabXh2ZDFOdVlYQnphRzkwVzF3aVpHVm1hVzVwZEdsdmJsd2lYVHRjYmx4dUlDQmpiMjV6ZENCemRHRjBaVG9nVEdWbllXTjVSM0poY0doWGIzSnJabXh2ZDFOdVlYQnphRzkwVzF3aWMzUmhkR1ZjSWwwZ1BTQjdYRzRnSUNBZ2FXNXdkWFJ6T2lCa2IyTjFiV1Z1ZEM1cGJuQjFkSE11YldGd0tDaHdiM0owS1NBOVBpQW9lMXh1SUNBZ0lDQWdjR0YwYURvZ2NHOXlkQzVwWkN4Y2JpQWdJQ0FnSUhaaGJIVmxPaUJqYkc5dVpWWmhiSFZsS0hCdmNuUXVaR1ZtWVhWc2RGWmhiSFZsS1NCaGN5QnVaWFpsY2l4Y2JpQWdJQ0FnSUd4aFltVnNPaUJ3YjNKMExteGhZbVZzTEZ4dUlDQWdJQ0FnY21WeGRXbHlaV1E2SUhCdmNuUXVjbVZ4ZFdseVpXUXNYRzRnSUNBZ2ZTa3BMRnh1SUNBZ0lHOTFkSEIxZEhNNklHUnZZM1Z0Wlc1MExtOTFkSEIxZEhNdWJXRndLQ2h3YjNKMEtTQTlQaUFvZTF4dUlDQWdJQ0FnY0dGMGFEb2djRzl5ZEM1cFpDeGNiaUFnSUNBZ0lIWmhiSFZsT2lCamJHOXVaVlpoYkhWbEtIQnZjblF1WkdWbVlYVnNkRlpoYkhWbEtTQmhjeUJ1WlhabGNpeGNiaUFnSUNBZ0lHeGhZbVZzT2lCd2IzSjBMbXhoWW1Wc0xGeHVJQ0FnSUNBZ2NtVnhkV2x5WldRNklIQnZjblF1Y21WeGRXbHlaV1FzWEc0Z0lDQWdmU2twTEZ4dUlDQWdJRzV2WkdWek9pQmtiMk4xYldWdWRDNXViMlJsY3k1dFlYQW9LRzV2WkdVcElEMCtJQ2g3WEc0Z0lDQWdJQ0JwWkRvZ2JtOWtaUzVwWkN4Y2JpQWdJQ0FnSUhKbFpqb2dleUJwWkRvZ2JtOWtaUzVwWkN3Z2EybHVaRG9nYm05a1pTNXJhVzVrSUgwc1hHNGdJQ0FnSUNCc1lXSmxiRG9nYm05a1pTNXNZV0psYkN4Y2JpQWdJQ0FnSUd0cGJtUTZJRzV2WkdVdWEybHVaQ3hjYmlBZ0lDQWdJSEJ2YzJsMGFXOXVPaUJ1YjJSbExuVnBQeTV3YjNOcGRHbHZiaUEvSUhzZ2VEb2dibTlrWlM1MWFTNXdiM05wZEdsdmJpNTRMQ0I1T2lCdWIyUmxMblZwTG5CdmMybDBhVzl1TG5rZ2ZTQTZJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQWdJSE5wZW1VNklHNXZaR1V1ZFdrL0xuTnBlbVVnUHlCN0lIZHBaSFJvT2lCdWIyUmxMblZwTG5OcGVtVXVkMmxrZEdnc0lHaGxhV2RvZERvZ2JtOWtaUzUxYVM1emFYcGxMbWhsYVdkb2RDQjlJRG9nZFc1a1pXWnBibVZrTEZ4dUlDQWdJQ0FnWlhod1lXNWtaV1E2SUc1dlpHVXVkV2svTG1WNGNHRnVaR1ZrTEZ4dUlDQWdJQ0FnY0c5eWRITTZJQ2hsWkdsMGIzSS9MbTV2WkdWUWIzSjBjejh1VzI1dlpHVXVhV1JkSUdGeklHNWxkbVZ5S1NBL1B5QjFibVJsWm1sdVpXUXNYRzRnSUNBZ0lDQmtZWFJoT2lCamJHOXVaVlpoYkhWbEtHNXZaR1V1Y0dGeVlXMWxkR1Z5Y3lBL1B5QjdmU2tnWVhNZ2JtVjJaWElzWEc0Z0lDQWdJQ0J0WlhSaFpHRjBZVG9nWTJ4dmJtVldZV3gxWlNodWIyUmxMbTFsZEdGa1lYUmhJRDgvSUh0OUtTQmhjeUJ1WlhabGNpeGNiaUFnSUNCOUtTa3NYRzRnSUNBZ1pXUm5aWE02SUdSdlkzVnRaVzUwTG1Wa1oyVnpMbTFoY0Nnb1pXUm5aU2tnUFQ0Z2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYzI5MWNtTmxJRDBnWlc1a2NHOXBiblJVYjB4bFoyRmplVkpsWmlobFpHZGxMbk52ZFhKalpTazdYRzRnSUNBZ0lDQmpiMjV6ZENCMFlYSm5aWFFnUFNCbGJtUndiMmx1ZEZSdlRHVm5ZV041VW1WbUtHVmtaMlV1ZEdGeVoyVjBLVHRjYmlBZ0lDQWdJR052Ym5OMElHbHpRbTkxYm1SaGNua2dQU0J6YjNWeVkyVXVjbVZtU1dRZ1BUMDlJRndpSkhkdmNtdG1iRzkzWENJZ2ZId2dkR0Z5WjJWMExuSmxaa2xrSUQwOVBTQmNJaVIzYjNKclpteHZkMXdpTzF4dUlDQWdJQ0FnWTI5dWMzUWdhWE5EYjI1dVpXTjBhVzl1SUQwZ1pXUm5aUzUwZVhCbElEMDlQU0JjSW1OdmJtNWxZM1JwYjI1Y0lqdGNiaUFnSUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNBZ0lHbGtPaUJsWkdkbExtbGtMRnh1SUNBZ0lDQWdJQ0J6YjNWeVkyVTZJSE52ZFhKalpTNXlaV1pKWkN4Y2JpQWdJQ0FnSUNBZ2MyOTFjbU5sVW1WbU9pQnpiM1Z5WTJVdWNtVm1TV1FzWEc0Z0lDQWdJQ0FnSUhOdmRYSmpaVkJ2Y25RNklITnZkWEpqWlM1d2IzSjBMRnh1SUNBZ0lDQWdJQ0IwWVhKblpYUTZJSFJoY21kbGRDNXlaV1pKWkN4Y2JpQWdJQ0FnSUNBZ2RHRnlaMlYwVW1WbU9pQjBZWEpuWlhRdWNtVm1TV1FzWEc0Z0lDQWdJQ0FnSUhSaGNtZGxkRkJ2Y25RNklIUmhjbWRsZEM1d2IzSjBMRnh1SUNBZ0lDQWdJQ0JzWVdKbGJEb2daV1JuWlM1c1lXSmxiQ3hjYmlBZ0lDQWdJQ0FnZEhsd1pUb2dhWE5EYjI1dVpXTjBhVzl1SUQ4Z1hDSmpiMjV1WldOMGFXOXVYQ0lnT2lCcGMwSnZkVzVrWVhKNUlEOGdYQ0p2ZFhSd2RYUmNJaUE2SUZ3aVpHRjBZVndpTEZ4dUlDQWdJQ0FnSUNCdFpYUmhaR0YwWVRvZ1kyeHZibVZXWVd4MVpTaGxaR2RsTG0xbGRHRmtZWFJoSUQ4L0lIdDlLU0JoY3lCdVpYWmxjaXhjYmlBZ0lDQWdJSDBnWVhNZ2JtVjJaWEk3WEc0Z0lDQWdmU2tzWEc0Z0lDQWdkV2s2SUdOc2IyNWxWbUZzZFdVb2UxeHVJQ0FnSUNBZ0xpNHVLR1ZrYVhSdmNqOHVaSFZ3YkdsallYUmxRMjkxYm5SeklEOGdleUJrZFhCc2FXTmhkR1ZEYjNWdWRITTZJR1ZrYVhSdmNpNWtkWEJzYVdOaGRHVkRiM1Z1ZEhNZ2ZTQTZJSHQ5S1N4Y2JpQWdJQ0FnSUM0dUxpaGxaR2wwYjNJL0xtUnBZV2R5WVcxTlpYUmhaR0YwWVNBL0lIc2daR2xoWjNKaGJVMWxkR0ZrWVhSaE9pQmxaR2wwYjNJdVpHbGhaM0poYlUxbGRHRmtZWFJoSUgwZ09pQjdmU2tzWEc0Z0lDQWdJQ0F1TGk0b1pXUnBkRzl5UHk1dWIyUmxRMjl1Wm1sbmN5QS9JSHNnYm05a1pVTnZibVpwWjNNNklHVmthWFJ2Y2k1dWIyUmxRMjl1Wm1sbmN5QjlJRG9nZTMwcExGeHVJQ0FnSUgwcElHRnpJRzVsZG1WeUxGeHVJQ0FnSUcxbGRHRmtZWFJoT2lCamJHOXVaVlpoYkhWbEtITnVZWEJ6YUc5MExtMWxkR0ZrWVhSaElEOC9JSHQ5S1NCaGN5QnVaWFpsY2l4Y2JpQWdmVHRjYmlBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0IyWlhKemFXOXVPaUJIVWtGUVNGOVhUMUpMUmt4UFYxOVRUa0ZRVTBoUFZGOVdSVkpUU1U5T0xGeHVJQ0FnSUdSbFptbHVhWFJwYjI0c1hHNGdJQ0FnYzNSaGRHVXNYRzRnSUgwN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUhCdmNuUlViMHhsWjJGamVVUmxabWx1YVhScGIyNG9jRzl5ZERvZ1IzSmhjR2hYYjNKclpteHZkMUJ2Y25SSmJuTjBZVzVqWlNrNklFZHlZWEJvVUc5eWRFUmxabWx1YVhScGIyNGdlMXh1SUNCeVpYUjFjbTRnZTF4dUlDQWdJSEJ5YjNCbGNuUjVPaUJ3YjNKMExtbGtMRnh1SUNBZ0lHeGhZbVZzT2lCd2IzSjBMbXhoWW1Wc0xGeHVJQ0FnSUhKbGNYVnBjbVZrT2lCd2IzSjBMbkpsY1hWcGNtVmtMRnh1SUNBZ0lHMWxkR0ZrWVhSaE9pQmpiRzl1WlZaaGJIVmxLSEJ2Y25RdWJXVjBZV1JoZEdFZ1B6OGdlMzBwSUdGeklHNWxkbVZ5TEZ4dUlDQjlJR0Z6SUhWdWEyNXZkMjRnWVhNZ1IzSmhjR2hRYjNKMFJHVm1hVzVwZEdsdmJqdGNibjFjYmx4dUx5b3FJRTV2Y20xaGJHbDZaWE1nWVc1NUlHRmpZMlZ3ZEdWa0lITnVZWEJ6YUc5MEwyUnZZM1Z0Wlc1MElHWnZjbTBnZEc4Z1lTQmpZVzV2Ym1sallXd2dkM0poY0hCbGNpNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJuY21Gd2FGZHZjbXRtYkc5M1UyNWhjSE5vYjNSTWFXdGxWRzlEWVc1dmJtbGpZV3dvWEc0Z0lIWmhiSFZsT2lCSGNtRndhRmR2Y210bWJHOTNVMjVoY0hOb2IzUk1hV3RsSUh3Z1IzSmhjR2hYYjNKclpteHZkMFJ2WTNWdFpXNTBYRzRwT2lCSGNtRndhRmR2Y210bWJHOTNVMjVoY0hOb2IzUWdlMXh1SUNCcFppQW9YQ0prYjJOMWJXVnVkRndpSUdsdUlIWmhiSFZsS1NCN1hHNGdJQ0FnY21WMGRYSnVJSFpoYkhWbElHRnpJRWR5WVhCb1YyOXlhMlpzYjNkVGJtRndjMmh2ZER0Y2JpQWdmVnh1SUNCcFppQW9YQ0p6ZEdGMFpWd2lJR2x1SUhaaGJIVmxJSHg4SUZ3aVpHVm1hVzVwZEdsdmJsd2lJR2x1SUhaaGJIVmxLU0I3WEc0Z0lDQWdjbVYwZFhKdUlHZHlZWEJvVjI5eWEyWnNiM2RUYm1Gd2MyaHZkRVp5YjIxTVpXZGhZM2tvZG1Gc2RXVWdZWE1nVEdWbllXTjVSM0poY0doWGIzSnJabXh2ZDFOdVlYQnphRzkwS1R0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnZXlCa2IyTjFiV1Z1ZERvZ2RtRnNkV1VnWVhNZ1IzSmhjR2hYYjNKclpteHZkMFJ2WTNWdFpXNTBJSDA3WEc1OVhHNGlYWDA9Il19