@researchdatabox/redbox-core 0.0.1-beta.9228 → 0.0.1-beta.9474

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 (347) hide show
  1. package/dist/CoreController.d.ts +4 -0
  2. package/dist/CoreController.d.ts.map +1 -1
  3. package/dist/CoreController.js +33 -1
  4. package/dist/DatastreamService.d.ts +5 -2
  5. package/dist/DatastreamService.d.ts.map +1 -1
  6. package/dist/QueueService.d.ts +1 -1
  7. package/dist/QueueService.d.ts.map +1 -1
  8. package/dist/RecordsService.d.ts +38 -2
  9. package/dist/RecordsService.d.ts.map +1 -1
  10. package/dist/StorageService.d.ts +2 -1
  11. package/dist/StorageService.d.ts.map +1 -1
  12. package/dist/api-routes/apib.d.ts +7 -0
  13. package/dist/api-routes/apib.d.ts.map +1 -0
  14. package/dist/api-routes/apib.js +43 -0
  15. package/dist/api-routes/define.d.ts +4 -0
  16. package/dist/api-routes/define.d.ts.map +1 -0
  17. package/dist/api-routes/define.js +29 -0
  18. package/dist/api-routes/groups/admin.d.ts +6 -0
  19. package/dist/api-routes/groups/admin.d.ts.map +1 -0
  20. package/dist/api-routes/groups/admin.js +53 -0
  21. package/dist/api-routes/groups/appconfig.d.ts +4 -0
  22. package/dist/api-routes/groups/appconfig.d.ts.map +1 -0
  23. package/dist/api-routes/groups/appconfig.js +33 -0
  24. package/dist/api-routes/groups/branding.d.ts +8 -0
  25. package/dist/api-routes/groups/branding.d.ts.map +1 -0
  26. package/dist/api-routes/groups/branding.js +61 -0
  27. package/dist/api-routes/groups/dashboard-config.d.ts +11 -0
  28. package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -0
  29. package/dist/api-routes/groups/dashboard-config.js +90 -0
  30. package/dist/api-routes/groups/export.d.ts +3 -0
  31. package/dist/api-routes/groups/export.d.ts.map +1 -0
  32. package/dist/api-routes/groups/export.js +30 -0
  33. package/dist/api-routes/groups/forms.d.ts +4 -0
  34. package/dist/api-routes/groups/forms.d.ts.map +1 -0
  35. package/dist/api-routes/groups/forms.js +29 -0
  36. package/dist/api-routes/groups/integration-audit.d.ts +3 -0
  37. package/dist/api-routes/groups/integration-audit.d.ts.map +1 -0
  38. package/dist/api-routes/groups/integration-audit.js +35 -0
  39. package/dist/api-routes/groups/notifications.d.ts +3 -0
  40. package/dist/api-routes/groups/notifications.d.ts.map +1 -0
  41. package/dist/api-routes/groups/notifications.js +20 -0
  42. package/dist/api-routes/groups/records.d.ts +28 -0
  43. package/dist/api-routes/groups/records.d.ts.map +1 -0
  44. package/dist/api-routes/groups/records.js +349 -0
  45. package/dist/api-routes/groups/recordtypes.d.ts +4 -0
  46. package/dist/api-routes/groups/recordtypes.d.ts.map +1 -0
  47. package/dist/api-routes/groups/recordtypes.js +27 -0
  48. package/dist/api-routes/groups/reports.d.ts +3 -0
  49. package/dist/api-routes/groups/reports.d.ts.map +1 -0
  50. package/dist/api-routes/groups/reports.js +20 -0
  51. package/dist/api-routes/groups/search-query.d.ts +4 -0
  52. package/dist/api-routes/groups/search-query.d.ts.map +1 -0
  53. package/dist/api-routes/groups/search-query.js +51 -0
  54. package/dist/api-routes/groups/search.d.ts +6 -0
  55. package/dist/api-routes/groups/search.d.ts.map +1 -0
  56. package/dist/api-routes/groups/search.js +31 -0
  57. package/dist/api-routes/groups/translation.d.ts +8 -0
  58. package/dist/api-routes/groups/translation.d.ts.map +1 -0
  59. package/dist/api-routes/groups/translation.js +78 -0
  60. package/dist/api-routes/groups/users.d.ts +17 -0
  61. package/dist/api-routes/groups/users.d.ts.map +1 -0
  62. package/dist/api-routes/groups/users.js +149 -0
  63. package/dist/api-routes/groups/vocabulary.d.ts +10 -0
  64. package/dist/api-routes/groups/vocabulary.d.ts.map +1 -0
  65. package/dist/api-routes/groups/vocabulary.js +97 -0
  66. package/dist/api-routes/helpers.d.ts +29 -0
  67. package/dist/api-routes/helpers.d.ts.map +1 -0
  68. package/dist/api-routes/helpers.js +486 -0
  69. package/dist/api-routes/index.d.ts +25 -0
  70. package/dist/api-routes/index.d.ts.map +1 -0
  71. package/dist/api-routes/index.js +41 -0
  72. package/dist/api-routes/openapi.d.ts +27 -0
  73. package/dist/api-routes/openapi.d.ts.map +1 -0
  74. package/dist/api-routes/openapi.js +273 -0
  75. package/dist/api-routes/request-extraction.d.ts +14 -0
  76. package/dist/api-routes/request-extraction.d.ts.map +1 -0
  77. package/dist/api-routes/request-extraction.js +100 -0
  78. package/dist/api-routes/route-factory.d.ts +3 -0
  79. package/dist/api-routes/route-factory.d.ts.map +1 -0
  80. package/dist/api-routes/route-factory.js +30 -0
  81. package/dist/api-routes/route-registry.d.ts +24 -0
  82. package/dist/api-routes/route-registry.d.ts.map +1 -0
  83. package/dist/api-routes/route-registry.js +113 -0
  84. package/dist/api-routes/route-resolution.d.ts +4 -0
  85. package/dist/api-routes/route-resolution.d.ts.map +1 -0
  86. package/dist/api-routes/route-resolution.js +57 -0
  87. package/dist/api-routes/schemas/common.d.ts +37 -0
  88. package/dist/api-routes/schemas/common.d.ts.map +1 -0
  89. package/dist/api-routes/schemas/common.js +147 -0
  90. package/dist/api-routes/schemas/responses.d.ts +2904 -0
  91. package/dist/api-routes/schemas/responses.d.ts.map +1 -0
  92. package/dist/api-routes/schemas/responses.js +417 -0
  93. package/dist/api-routes/types.d.ts +70 -0
  94. package/dist/api-routes/types.d.ts.map +1 -0
  95. package/dist/api-routes/types.js +3 -0
  96. package/dist/api-routes/validation.d.ts +32 -0
  97. package/dist/api-routes/validation.d.ts.map +1 -0
  98. package/dist/api-routes/validation.js +142 -0
  99. package/dist/bootstrap.d.ts.map +1 -1
  100. package/dist/bootstrap.js +10 -10
  101. package/dist/config/agendaQueue.config.d.ts +25 -1
  102. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  103. package/dist/config/agendaQueue.config.js +19 -2
  104. package/dist/config/auth.config.d.ts.map +1 -1
  105. package/dist/config/auth.config.js +21 -2
  106. package/dist/config/brandingConfigurationDefaults.config.js +3 -3
  107. package/dist/config/dashboardtype.config.d.ts +5 -0
  108. package/dist/config/dashboardtype.config.d.ts.map +1 -1
  109. package/dist/config/dashboardtype.config.js +1 -1
  110. package/dist/config/dashboardview.config.d.ts +24 -0
  111. package/dist/config/dashboardview.config.d.ts.map +1 -0
  112. package/dist/config/dashboardview.config.js +137 -0
  113. package/dist/config/dompurify.config.d.ts.map +1 -1
  114. package/dist/config/dompurify.config.js +2 -2
  115. package/dist/config/http.config.d.ts.map +1 -1
  116. package/dist/config/http.config.js +5 -3
  117. package/dist/config/index.d.ts +6 -0
  118. package/dist/config/index.d.ts.map +1 -1
  119. package/dist/config/index.js +4 -1
  120. package/dist/config/namedQuery.config.d.ts +10 -2
  121. package/dist/config/namedQuery.config.d.ts.map +1 -1
  122. package/dist/config/namedQuery.config.js +17 -17
  123. package/dist/config/policies.config.d.ts +3 -0
  124. package/dist/config/policies.config.d.ts.map +1 -1
  125. package/dist/config/policies.config.js +35 -1
  126. package/dist/config/record.config.d.ts.map +1 -1
  127. package/dist/config/record.config.js +2 -1
  128. package/dist/config/recordtype.config.d.ts +28 -0
  129. package/dist/config/recordtype.config.d.ts.map +1 -1
  130. package/dist/config/recordtype.config.js +85 -9
  131. package/dist/config/routes.config.d.ts +5 -2
  132. package/dist/config/routes.config.d.ts.map +1 -1
  133. package/dist/config/routes.config.js +24 -110
  134. package/dist/config/storage.config.d.ts +20 -2
  135. package/dist/config/storage.config.d.ts.map +1 -1
  136. package/dist/config/storage.config.js +2 -1
  137. package/dist/config/vocab.config.d.ts +30 -0
  138. package/dist/config/vocab.config.d.ts.map +1 -1
  139. package/dist/config/vocab.config.js +21 -1
  140. package/dist/config/webpack.config.d.ts.map +1 -1
  141. package/dist/config/webpack.config.js +13 -7
  142. package/dist/config/workflow.config.d.ts +0 -1
  143. package/dist/config/workflow.config.d.ts.map +1 -1
  144. package/dist/config/workflow.config.js +1 -137
  145. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  146. package/dist/configmodels/AdminSidebarConfig.js +1 -2
  147. package/dist/configmodels/ConfigModels.d.ts +1 -1
  148. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  149. package/dist/configmodels/ConfigModels.js +9 -1
  150. package/dist/configmodels/DashboardTableOverrideConfig.d.ts +1011 -0
  151. package/dist/configmodels/DashboardTableOverrideConfig.d.ts.map +1 -0
  152. package/dist/configmodels/DashboardTableOverrideConfig.js +138 -0
  153. package/dist/controllers/AdminController.d.ts +0 -1
  154. package/dist/controllers/AdminController.d.ts.map +1 -1
  155. package/dist/controllers/AdminController.js +2 -32
  156. package/dist/controllers/BrandingController.d.ts +3 -5
  157. package/dist/controllers/BrandingController.d.ts.map +1 -1
  158. package/dist/controllers/BrandingController.js +29 -21
  159. package/dist/controllers/DashboardConfigController.d.ts +8 -0
  160. package/dist/controllers/DashboardConfigController.d.ts.map +1 -0
  161. package/dist/controllers/DashboardConfigController.js +17 -0
  162. package/dist/controllers/DynamicAssetController.d.ts +1 -0
  163. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  164. package/dist/controllers/DynamicAssetController.js +20 -1
  165. package/dist/controllers/EmailController.d.ts.map +1 -1
  166. package/dist/controllers/EmailController.js +16 -12
  167. package/dist/controllers/FormVocabularyController.d.ts +1 -0
  168. package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
  169. package/dist/controllers/FormVocabularyController.js +94 -4
  170. package/dist/controllers/RecordController.d.ts +18 -1
  171. package/dist/controllers/RecordController.d.ts.map +1 -1
  172. package/dist/controllers/RecordController.js +274 -124
  173. package/dist/controllers/RenderViewController.d.ts.map +1 -1
  174. package/dist/controllers/RenderViewController.js +4 -2
  175. package/dist/controllers/TranslationController.d.ts.map +1 -1
  176. package/dist/controllers/TranslationController.js +3 -2
  177. package/dist/controllers/WorkspaceTypesController.d.ts +3 -2
  178. package/dist/controllers/WorkspaceTypesController.d.ts.map +1 -1
  179. package/dist/controllers/WorkspaceTypesController.js +120 -31
  180. package/dist/controllers/index.d.ts.map +1 -1
  181. package/dist/controllers/index.js +7 -4
  182. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  183. package/dist/controllers/webservice/AdminController.js +15 -16
  184. package/dist/controllers/webservice/AppConfigController.d.ts.map +1 -1
  185. package/dist/controllers/webservice/AppConfigController.js +19 -20
  186. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  187. package/dist/controllers/webservice/BrandingController.js +101 -48
  188. package/dist/controllers/webservice/DashboardConfigController.d.ts +26 -0
  189. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -0
  190. package/dist/controllers/webservice/DashboardConfigController.js +241 -0
  191. package/dist/controllers/webservice/ExportController.d.ts.map +1 -1
  192. package/dist/controllers/webservice/ExportController.js +11 -11
  193. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  194. package/dist/controllers/webservice/FormManagementController.js +11 -13
  195. package/dist/controllers/webservice/RecordController.d.ts +4 -0
  196. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  197. package/dist/controllers/webservice/RecordController.js +428 -257
  198. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  199. package/dist/controllers/webservice/RecordTypeController.js +9 -10
  200. package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
  201. package/dist/controllers/webservice/ReportController.js +18 -20
  202. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  203. package/dist/controllers/webservice/SearchController.js +28 -35
  204. package/dist/controllers/webservice/TranslationController.d.ts.map +1 -1
  205. package/dist/controllers/webservice/TranslationController.js +61 -39
  206. package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
  207. package/dist/controllers/webservice/UserManagementController.js +112 -99
  208. package/dist/controllers/webservice/VocabularyController.d.ts.map +1 -1
  209. package/dist/controllers/webservice/VocabularyController.js +76 -28
  210. package/dist/hooks/defineRedboxHook.d.ts +3 -0
  211. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  212. package/dist/hooks/defineRedboxHook.js +4 -1
  213. package/dist/index.d.ts +2 -0
  214. package/dist/index.d.ts.map +1 -1
  215. package/dist/index.js +2 -1
  216. package/dist/loader/index.d.ts +6 -0
  217. package/dist/loader/index.d.ts.map +1 -1
  218. package/dist/loader/index.js +57 -10
  219. package/dist/middleware/redboxSession.js +1 -1
  220. package/dist/model/DashboardTypeResponseModel.d.ts +13 -1
  221. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  222. package/dist/model/DashboardTypeResponseModel.js +12 -4
  223. package/dist/model/DashboardViewResponseModel.d.ts +20 -0
  224. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -0
  225. package/dist/model/DashboardViewResponseModel.js +38 -0
  226. package/dist/model/RecordTypeResponseModel.d.ts +3 -1
  227. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  228. package/dist/model/RecordTypeResponseModel.js +4 -2
  229. package/dist/model/index.d.ts +1 -0
  230. package/dist/model/index.d.ts.map +1 -1
  231. package/dist/model/index.js +5 -2
  232. package/dist/model/storage/BrandingModel.d.ts +0 -16
  233. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  234. package/dist/model/storage/BrandingModel.js +2 -51
  235. package/dist/model/storage/DashboardTypeModel.d.ts +4 -0
  236. package/dist/model/storage/DashboardTypeModel.d.ts.map +1 -1
  237. package/dist/model/storage/RecordTypeModel.d.ts +16 -0
  238. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  239. package/dist/model/storage/RecordTypeModel.js +9 -1
  240. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  241. package/dist/policies/contentSecurityPolicy.js +23 -2
  242. package/dist/policies/index.d.ts +3 -0
  243. package/dist/policies/index.d.ts.map +1 -1
  244. package/dist/policies/index.js +6 -2
  245. package/dist/policies/validateApiContractRequest.d.ts +3 -0
  246. package/dist/policies/validateApiContractRequest.d.ts.map +1 -0
  247. package/dist/policies/validateApiContractRequest.js +74 -0
  248. package/dist/responses/badRequest.d.ts.map +1 -1
  249. package/dist/responses/badRequest.js +5 -3
  250. package/dist/responses/created.d.ts.map +1 -1
  251. package/dist/responses/created.js +5 -3
  252. package/dist/responses/forbidden.d.ts.map +1 -1
  253. package/dist/responses/forbidden.js +5 -3
  254. package/dist/responses/ok.d.ts.map +1 -1
  255. package/dist/responses/ok.js +5 -3
  256. package/dist/responses/serverError.d.ts.map +1 -1
  257. package/dist/responses/serverError.js +5 -3
  258. package/dist/responses/siteTitle.d.ts +6 -0
  259. package/dist/responses/siteTitle.d.ts.map +1 -0
  260. package/dist/responses/siteTitle.js +28 -0
  261. package/dist/sails.d.ts +7 -0
  262. package/dist/sails.d.ts.map +1 -1
  263. package/dist/services/AgendaQueueService.d.ts +38 -17
  264. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  265. package/dist/services/AgendaQueueService.js +311 -81
  266. package/dist/services/AttachmentMetadataService.d.ts +34 -0
  267. package/dist/services/AttachmentMetadataService.d.ts.map +1 -0
  268. package/dist/services/AttachmentMetadataService.js +133 -0
  269. package/dist/services/BrandingLogoService.d.ts +6 -8
  270. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  271. package/dist/services/BrandingLogoService.js +66 -72
  272. package/dist/services/DashboardConfigService.d.ts +71 -0
  273. package/dist/services/DashboardConfigService.d.ts.map +1 -0
  274. package/dist/services/DashboardConfigService.js +309 -0
  275. package/dist/services/DashboardTypesService.d.ts +61 -63
  276. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  277. package/dist/services/DashboardTypesService.js +361 -198
  278. package/dist/services/DoiService.d.ts +11 -0
  279. package/dist/services/DoiService.d.ts.map +1 -1
  280. package/dist/services/DoiService.js +206 -1
  281. package/dist/services/FigshareService.d.ts.map +1 -1
  282. package/dist/services/FigshareService.js +5 -1
  283. package/dist/services/FormVocabularyService.d.ts +45 -0
  284. package/dist/services/FormVocabularyService.d.ts.map +1 -0
  285. package/dist/services/FormVocabularyService.js +326 -0
  286. package/dist/services/I18nEntriesService.d.ts +3 -0
  287. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  288. package/dist/services/I18nEntriesService.js +14 -2
  289. package/dist/services/NamedQueryService.d.ts +27 -9
  290. package/dist/services/NamedQueryService.d.ts.map +1 -1
  291. package/dist/services/NamedQueryService.js +223 -55
  292. package/dist/services/RDMPService.d.ts.map +1 -1
  293. package/dist/services/RDMPService.js +3 -2
  294. package/dist/services/RecordsService.d.ts +8 -2
  295. package/dist/services/RecordsService.d.ts.map +1 -1
  296. package/dist/services/RecordsService.js +64 -16
  297. package/dist/services/ReportsService.d.ts.map +1 -1
  298. package/dist/services/ReportsService.js +7 -1
  299. package/dist/services/StandardDatastreamService.d.ts +32 -5
  300. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  301. package/dist/services/StandardDatastreamService.js +490 -38
  302. package/dist/services/StorageManagerService.d.ts +12 -1
  303. package/dist/services/StorageManagerService.d.ts.map +1 -1
  304. package/dist/services/StorageManagerService.js +72 -7
  305. package/dist/services/index.d.ts +9 -3
  306. package/dist/services/index.d.ts.map +1 -1
  307. package/dist/services/index.js +17 -7
  308. package/dist/storage/GridFSDriver.d.ts +101 -0
  309. package/dist/storage/GridFSDriver.d.ts.map +1 -0
  310. package/dist/storage/GridFSDriver.js +291 -0
  311. package/dist/storage/TusStorageManagerDataStore.d.ts +49 -0
  312. package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -0
  313. package/dist/storage/TusStorageManagerDataStore.js +300 -0
  314. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  315. package/dist/visitor/construct.visitor.js +6 -3
  316. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  317. package/dist/visitor/migrate-config-v4-v5.visitor.js +19 -1
  318. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  319. package/dist/visitor/validator.visitor.js +11 -3
  320. package/dist/waterline-models/AttachmentAccessAudit.d.ts +26 -0
  321. package/dist/waterline-models/AttachmentAccessAudit.d.ts.map +1 -0
  322. package/dist/waterline-models/AttachmentAccessAudit.js +63 -0
  323. package/dist/waterline-models/AttachmentMetadata.d.ts +40 -0
  324. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -0
  325. package/dist/waterline-models/AttachmentMetadata.js +147 -0
  326. package/dist/waterline-models/BrandingConfig.d.ts +0 -2
  327. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  328. package/dist/waterline-models/BrandingConfig.js +1 -6
  329. package/dist/waterline-models/DashboardType.d.ts +7 -0
  330. package/dist/waterline-models/DashboardType.d.ts.map +1 -1
  331. package/dist/waterline-models/DashboardType.js +16 -1
  332. package/dist/waterline-models/I18nTranslation.d.ts +2 -0
  333. package/dist/waterline-models/I18nTranslation.d.ts.map +1 -1
  334. package/dist/waterline-models/I18nTranslation.js +6 -1
  335. package/dist/waterline-models/NamedQuery.d.ts +6 -0
  336. package/dist/waterline-models/NamedQuery.d.ts.map +1 -1
  337. package/dist/waterline-models/NamedQuery.js +16 -1
  338. package/dist/waterline-models/index.d.ts +4 -0
  339. package/dist/waterline-models/index.d.ts.map +1 -1
  340. package/dist/waterline-models/index.js +7 -1
  341. package/package.json +31 -21
  342. package/dist/controllers/VocabController.d.ts +0 -43
  343. package/dist/controllers/VocabController.d.ts.map +0 -1
  344. package/dist/controllers/VocabController.js +0 -190
  345. package/dist/services/VocabService.d.ts +0 -81
  346. package/dist/services/VocabService.d.ts.map +0 -1
  347. package/dist/services/VocabService.js +0 -424
@@ -17,39 +17,6 @@
17
17
  // You should have received a copy of the GNU General Public License along
18
18
  // with this program; if not, write to the Free Software Foundation, Inc.,
19
19
  // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- var desc = Object.getOwnPropertyDescriptor(m, k);
23
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
24
- desc = { enumerable: true, get: function() { return m[k]; } };
25
- }
26
- Object.defineProperty(o, k2, desc);
27
- }) : (function(o, m, k, k2) {
28
- if (k2 === undefined) k2 = k;
29
- o[k2] = m[k];
30
- }));
31
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
32
- Object.defineProperty(o, "default", { enumerable: true, value: v });
33
- }) : function(o, v) {
34
- o["default"] = v;
35
- });
36
- var __importStar = (this && this.__importStar) || (function () {
37
- var ownKeys = function(o) {
38
- ownKeys = Object.getOwnPropertyNames || function (o) {
39
- var ar = [];
40
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
41
- return ar;
42
- };
43
- return ownKeys(o);
44
- };
45
- return function (mod) {
46
- if (mod && mod.__esModule) return mod;
47
- var result = {};
48
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
49
- __setModuleDefault(result, mod);
50
- return result;
51
- };
52
- })();
53
20
  var __importDefault = (this && this.__importDefault) || function (mod) {
54
21
  return (mod && mod.__esModule) ? mod : { "default": mod };
55
22
  };
@@ -60,10 +27,10 @@ const operators_1 = require("rxjs/operators");
60
27
  const index_1 = require("../index");
61
28
  const luxon_1 = require("luxon");
62
29
  const server_1 = require("@tus/server");
63
- const file_store_1 = require("@tus/file-store");
64
- const fs = __importStar(require("fs"));
65
30
  const check_disk_space_1 = __importDefault(require("check-disk-space"));
66
31
  const ContextVariableUtils_1 = require("../utilities/ContextVariableUtils");
32
+ const recordtype_config_1 = require("../config/recordtype.config");
33
+ const TusStorageManagerDataStore_1 = require("../storage/TusStorageManagerDataStore");
67
34
  /**
68
35
  * Package that contains all Controllers.
69
36
  */
@@ -96,6 +63,7 @@ var Controllers;
96
63
  */
97
64
  _exportedMethods = [
98
65
  'init',
66
+ 'view',
99
67
  'edit',
100
68
  'getForm',
101
69
  'create',
@@ -120,10 +88,13 @@ var Controllers;
120
88
  'listWorkspaces',
121
89
  'getAllDashboardTypes',
122
90
  'getDashboardType',
91
+ 'getDashboardView',
92
+ 'redirectLegacyConsolidatedDashboard',
123
93
  'renderDeletedRecords',
124
94
  'getDeletedRecordList',
125
95
  'restoreRecord',
126
96
  'destroyDeletedRecord',
97
+ 'renderDashboardView',
127
98
  ];
128
99
  /**
129
100
  **************************************************************************************************
@@ -160,6 +131,99 @@ var Controllers;
160
131
  getReqBrand(req) {
161
132
  return BrandingService.getBrand(req.session.branding ?? '');
162
133
  }
134
+ getSavedRecordPageTitle(record, locals) {
135
+ const savedTitle = String(_.get(record, 'metadata.title', '') ?? '').trim();
136
+ if (savedTitle) {
137
+ return savedTitle;
138
+ }
139
+ const recordType = String(_.get(record, 'metaMetadata.type', '') ?? '').trim();
140
+ const recordTypeTitle = this.getRecordTypePageTitle(recordType, locals);
141
+ if (recordTypeTitle) {
142
+ return recordTypeTitle;
143
+ }
144
+ return String(_.get(record, 'redboxOid', '') ?? '').trim();
145
+ }
146
+ getRecordTypePageTitle(recordTypeName, locals) {
147
+ const normalizedRecordTypeName = String(recordTypeName ?? '').trim();
148
+ if (!normalizedRecordTypeName) {
149
+ return '';
150
+ }
151
+ const translatedLabel = this.translate(`${normalizedRecordTypeName}-title-label`, locals);
152
+ if (translatedLabel && translatedLabel !== `${normalizedRecordTypeName}-title-label`) {
153
+ return translatedLabel;
154
+ }
155
+ return normalizedRecordTypeName;
156
+ }
157
+ shouldIncludeRelationships(req) {
158
+ const include = String(req.param('include') ?? req.query.include ?? '').trim().toLowerCase();
159
+ const includeRelationships = String(req.param('includeRelationships') ?? req.query.includeRelationships ?? '').trim().toLowerCase();
160
+ return include.split(',').includes('relationships') || includeRelationships === 'true';
161
+ }
162
+ parseRelationshipExpandOptions(req, defaultDepth = 1) {
163
+ const parseCsv = (value) => {
164
+ const normalized = String(value ?? '').trim();
165
+ if (!normalized) {
166
+ return undefined;
167
+ }
168
+ return normalized.split(',').map((item) => item.trim()).filter(Boolean);
169
+ };
170
+ const depthValue = req.param('relationshipDepth') ?? req.query.relationshipDepth;
171
+ const parsedDepth = Number(depthValue);
172
+ const fields = String(req.param('fields') ?? req.query.fields ?? '').trim().toLowerCase();
173
+ return {
174
+ depth: Number.isFinite(parsedDepth) && parsedDepth >= 0 ? parsedDepth : defaultDepth,
175
+ includeRelationIds: parseCsv(req.param('relationshipIds') ?? req.query.relationshipIds),
176
+ includeRecordTypes: parseCsv(req.param('recordTypes') ?? req.query.recordTypes),
177
+ fields: fields === 'summary' ? 'summary' : 'full',
178
+ };
179
+ }
180
+ async filterRelationshipGraphByAccess(brand, user, graph) {
181
+ const filteredRelatedObjects = {};
182
+ const allowedTargetOids = new Set();
183
+ const omittedByAccess = { ...(graph.omittedByAccess ?? {}) };
184
+ for (const [recordType, records] of Object.entries(graph.relatedObjects ?? {})) {
185
+ const keptRecords = [];
186
+ for (const recordValue of records ?? []) {
187
+ const record = (recordValue ?? {});
188
+ const recordOid = String(record.redboxOid ?? '').trim();
189
+ if (!recordOid) {
190
+ continue;
191
+ }
192
+ if (recordOid === graph.rootOid) {
193
+ keptRecords.push(record);
194
+ allowedTargetOids.add(recordOid);
195
+ continue;
196
+ }
197
+ const hasAccess = await (0, rxjs_1.firstValueFrom)(this.hasViewAccess(brand, user, record));
198
+ if (hasAccess) {
199
+ keptRecords.push(record);
200
+ allowedTargetOids.add(recordOid);
201
+ }
202
+ }
203
+ if (keptRecords.length > 0) {
204
+ filteredRelatedObjects[recordType] = keptRecords;
205
+ }
206
+ }
207
+ const filteredEdges = (graph.edges ?? []).filter((edge) => {
208
+ if (allowedTargetOids.has(edge.targetOid) || edge.targetOid === graph.rootOid) {
209
+ return true;
210
+ }
211
+ omittedByAccess[edge.relationId] = Number(omittedByAccess[edge.relationId] ?? 0) + 1;
212
+ return false;
213
+ });
214
+ return {
215
+ rootOid: graph.rootOid,
216
+ edges: filteredEdges,
217
+ relatedObjects: filteredRelatedObjects,
218
+ omittedByAccess,
219
+ };
220
+ }
221
+ buildLegacyRelatedRecordsResponse(graph) {
222
+ return {
223
+ ...graph,
224
+ processedRelationships: Object.keys(graph.relatedObjects ?? {}),
225
+ };
226
+ }
163
227
  async getMeta(req, res) {
164
228
  const brand = this.getReqBrand(req);
165
229
  const oid = req.param('oid') ?? '';
@@ -202,7 +266,17 @@ var Controllers;
202
266
  });
203
267
  }
204
268
  }
205
- return this.sendResp(req, res, { data: record.metadata, meta: { oid: record.redboxOid }, v1: record.metadata });
269
+ if (!this.shouldIncludeRelationships(req)) {
270
+ return this.sendResp(req, res, { data: record.metadata, meta: { oid: record.redboxOid }, v1: record.metadata });
271
+ }
272
+ const relationshipOptions = this.parseRelationshipExpandOptions(req, 1);
273
+ const relationships = await this.recordsService.getRelatedRecords(record.redboxOid, brand, relationshipOptions);
274
+ const filteredRelationships = await this.filterRelationshipGraphByAccess(brand, req.user ?? {}, relationships);
275
+ return this.sendResp(req, res, {
276
+ data: record.metadata,
277
+ meta: { oid: record.redboxOid, relationships: filteredRelationships },
278
+ v1: { ...record.metadata, relationships: filteredRelationships },
279
+ });
206
280
  }
207
281
  else {
208
282
  return this.sendResp(req, res, {
@@ -249,6 +323,35 @@ var Controllers;
249
323
  v1: modelDataDefault,
250
324
  });
251
325
  }
326
+ async view(req, res) {
327
+ const brand = this.getReqBrand(req);
328
+ const oid = String(req.param('oid') ?? '').trim();
329
+ const locals = req.options?.locals;
330
+ if (!oid) {
331
+ return res.badRequest();
332
+ }
333
+ try {
334
+ const record = await this.recordsService.getMeta(oid);
335
+ if (_.isEmpty(record)) {
336
+ return res.notFound();
337
+ }
338
+ const hasViewAccess = await (0, rxjs_1.firstValueFrom)(this.hasViewAccess(brand, req.user, record));
339
+ if (!hasViewAccess) {
340
+ return res.forbidden();
341
+ }
342
+ const pageTitle = this.getSavedRecordPageTitle(record, locals);
343
+ return this.sendView(req, res, 'record/view', {
344
+ title: this.formatDocumentTitle(pageTitle, locals),
345
+ });
346
+ }
347
+ catch (error) {
348
+ const errorMessage = error instanceof Error ? error.message : String(error ?? '');
349
+ if (errorMessage.toLowerCase().includes('not found')) {
350
+ return res.notFound();
351
+ }
352
+ return res.serverError();
353
+ }
354
+ }
252
355
  edit(req, res) {
253
356
  const brand = this.getReqBrand(req);
254
357
  const oid = req.param('oid') ? req.param('oid') : '';
@@ -262,8 +365,25 @@ var Controllers;
262
365
  const extFormName = localFormName ? localFormName : '';
263
366
  const appSelector = 'dmp-form';
264
367
  const appName = 'dmp';
368
+ const hasExistingRecord = String(oid ?? '').trim() !== '';
369
+ const buildEditViewLocals = (pageTitle) => ({
370
+ oid: oid,
371
+ rdmp: rdmp,
372
+ recordType: recordType,
373
+ formName: extFormName,
374
+ appSelector: appSelector,
375
+ appName: appName,
376
+ title: this.formatDocumentTitle(pageTitle, locals),
377
+ });
265
378
  sails.log.debug('RECORD::APP: ' + appName);
266
379
  sails.log.debug('RECORD::APP formName: ' + extFormName);
380
+ const renderCreateEditView = () => this.sendView(req, res, 'record/edit', buildEditViewLocals(`Create ${this.getRecordTypePageTitle(recordType, locals)}`));
381
+ const renderExistingEditView = () => this.recordsService.getMeta(oid).then((record) => {
382
+ if (!recordType) {
383
+ recordType = String(_.get(record, 'metaMetadata.type', '') ?? '').trim();
384
+ }
385
+ return this.sendView(req, res, 'record/edit', buildEditViewLocals(this.getSavedRecordPageTitle(record, locals)));
386
+ });
267
387
  if (recordType != '' && extFormName == '') {
268
388
  FormsService.getFormByStartingWorkflowStep(brand, recordType, true).subscribe(form => {
269
389
  if (!form) {
@@ -273,14 +393,7 @@ var Controllers;
273
393
  });
274
394
  }
275
395
  // Deprecated: customAngularApp has been removed from FormConfigFrame
276
- return this.sendView(req, res, 'record/edit', {
277
- oid: oid,
278
- rdmp: rdmp,
279
- recordType: recordType,
280
- formName: extFormName,
281
- appSelector: appSelector,
282
- appName: appName
283
- });
396
+ return renderCreateEditView();
284
397
  });
285
398
  }
286
399
  else if (extFormName != '') {
@@ -292,14 +405,7 @@ var Controllers;
292
405
  });
293
406
  }
294
407
  // Deprecated: customAngularApp has been removed from FormConfigFrame
295
- return this.sendView(req, res, 'record/edit', {
296
- oid: oid,
297
- rdmp: rdmp,
298
- recordType: recordType,
299
- formName: extFormName,
300
- appSelector: appSelector,
301
- appName: appName
302
- });
408
+ return hasExistingRecord ? renderExistingEditView() : renderCreateEditView();
303
409
  }, error => {
304
410
  return this.sendResp(req, res, {
305
411
  errors: [this.asError(error)],
@@ -323,23 +429,9 @@ var Controllers;
323
429
  if (!recordType) {
324
430
  recordType = form.configuration?.type ?? '';
325
431
  }
326
- return this.sendView(req, res, 'record/edit', {
327
- oid: oid,
328
- rdmp: rdmp,
329
- recordType: recordType,
330
- formName: extFormName,
331
- appSelector: appSelector,
332
- appName: appName
333
- });
432
+ return renderExistingEditView();
334
433
  }, _error => {
335
- return this.sendView(req, res, 'record/edit', {
336
- oid: oid,
337
- rdmp: rdmp,
338
- recordType: recordType,
339
- formName: extFormName,
340
- appSelector: appSelector,
341
- appName: appName
342
- });
434
+ return this.sendView(req, res, 'record/edit', buildEditViewLocals());
343
435
  });
344
436
  }
345
437
  }
@@ -863,7 +955,7 @@ var Controllers;
863
955
  const recordType = req.param('recordType');
864
956
  const brand = this.getReqBrand(req);
865
957
  RecordTypesService.get(brand, recordType).subscribe(recordType => {
866
- const recordTypeModel = new index_1.RecordTypeResponseModel(_.get(recordType, 'name'), _.get(recordType, 'packageType'), _.get(recordType, 'searchFilters'), _.get(recordType, 'searchable'));
958
+ const recordTypeModel = new index_1.RecordTypeResponseModel(_.get(recordType, 'name'), _.get(recordType, 'packageType'), _.get(recordType, 'searchFilters'), _.get(recordType, 'searchable'), (0, recordtype_config_1.normalizeRecordRelations)(String(_.get(recordType, 'name', _.get(recordType, 'id', ''))), _.get(recordType, 'relatedTo')));
867
959
  this.sendResp(req, res, { data: recordTypeModel });
868
960
  }, error => {
869
961
  this.sendResp(req, res, {
@@ -881,7 +973,7 @@ var Controllers;
881
973
  RecordTypesService.getAll(brand).subscribe(recordTypes => {
882
974
  const recordTypeModels = [];
883
975
  for (const recType of recordTypes) {
884
- const recordTypeModel = new index_1.RecordTypeResponseModel(_.get(recType, 'name'), _.get(recType, 'packageType'), _.get(recType, 'searchFilters'), _.get(recType, 'searchable'));
976
+ const recordTypeModel = new index_1.RecordTypeResponseModel(_.get(recType, 'name'), _.get(recType, 'packageType'), _.get(recType, 'searchFilters'), _.get(recType, 'searchable'), (0, recordtype_config_1.normalizeRecordRelations)(String(_.get(recType, 'name', '')), _.get(recType, 'relatedTo')));
885
977
  recordTypeModels.push(recordTypeModel);
886
978
  }
887
979
  this.sendResp(req, res, { data: recordTypeModels });
@@ -893,21 +985,59 @@ var Controllers;
893
985
  const dashboardTypeParam = req.param('dashboardType') || '';
894
986
  const brand = this.getReqBrand(req);
895
987
  DashboardTypesService.get(brand, dashboardTypeParam).subscribe(dashboardType => {
896
- const name = String(_.get(dashboardType, 'name', ''));
897
- const formatRules = (_.get(dashboardType, 'formatRules') ?? {});
898
- const dashboardTypeModel = new index_1.DashboardTypeResponseModel(name, formatRules);
988
+ const dashboardTypeModel = new index_1.DashboardTypeResponseModel({
989
+ name: String(_.get(dashboardType, 'name', '')),
990
+ description: _.get(dashboardType, 'description'),
991
+ formatRules: (_.get(dashboardType, 'formatRules') ?? {}),
992
+ tableConfig: _.get(dashboardType, 'tableConfig'),
993
+ searchable: _.get(dashboardType, 'searchable'),
994
+ system: _.get(dashboardType, 'system'),
995
+ });
899
996
  this.sendResp(req, res, { data: dashboardTypeModel });
900
997
  }, error => {
901
998
  this.sendResp(req, res, { errors: [this.asError(error)], v1: error.message });
902
999
  });
903
1000
  }
1001
+ isValidDashboardViewDefinition(dashboardView) {
1002
+ if (!dashboardView || !_.isObject(dashboardView)) {
1003
+ return false;
1004
+ }
1005
+ const view = dashboardView;
1006
+ return _.isString(view.name)
1007
+ && !_.isEmpty(view.name.trim())
1008
+ && _.isString(view.titleLabelKey)
1009
+ && !_.isEmpty(view.titleLabelKey.trim())
1010
+ && _.isString(view.dashboardType)
1011
+ && !_.isEmpty(view.dashboardType.trim())
1012
+ && _.isString(view.sourceRecordType)
1013
+ && !_.isEmpty(view.sourceRecordType.trim())
1014
+ && _.isArray(view.steps)
1015
+ && view.steps.length > 0
1016
+ && view.steps.every((step) => {
1017
+ const dashboardViewStep = step;
1018
+ return _.isObject(step)
1019
+ && _.isString(dashboardViewStep.name)
1020
+ && !_.isEmpty(dashboardViewStep.name.trim())
1021
+ && _.isString(dashboardViewStep.sourceRecordType)
1022
+ && !_.isEmpty(dashboardViewStep.sourceRecordType.trim())
1023
+ && (dashboardViewStep.fetchMode === 'allForRecordType' || dashboardViewStep.fetchMode === 'workflowStage')
1024
+ && _.isObject(dashboardViewStep.dashboardTable);
1025
+ });
1026
+ }
904
1027
  getAllDashboardTypes(req, res) {
905
1028
  const brand = this.getReqBrand(req);
906
1029
  DashboardTypesService.getAll(brand).subscribe(dashboardTypes => {
907
1030
  const dashboardTypesModel = { dashboardTypes: [] };
908
1031
  const dashboardTypesModelList = [];
909
1032
  for (const dashboardType of dashboardTypes) {
910
- const dashboardTypeModel = new index_1.DashboardTypeResponseModel(_.get(dashboardType, 'name'), _.get(dashboardType, 'formatRules'));
1033
+ const dashboardTypeModel = new index_1.DashboardTypeResponseModel({
1034
+ name: String(_.get(dashboardType, 'name', '')),
1035
+ description: _.get(dashboardType, 'description'),
1036
+ formatRules: (_.get(dashboardType, 'formatRules') ?? {}),
1037
+ tableConfig: _.get(dashboardType, 'tableConfig'),
1038
+ searchable: _.get(dashboardType, 'searchable'),
1039
+ system: _.get(dashboardType, 'system'),
1040
+ });
911
1041
  dashboardTypesModelList.push(dashboardTypeModel);
912
1042
  }
913
1043
  _.set(dashboardTypesModel, 'dashboardTypes', dashboardTypesModelList);
@@ -916,63 +1046,51 @@ var Controllers;
916
1046
  this.sendResp(req, res, { errors: [this.asError(error)], v1: error.message });
917
1047
  });
918
1048
  }
1049
+ getDashboardView(req, res) {
1050
+ const dashboardViewParam = String(req.param('dashboardView') ?? '').trim();
1051
+ if (_.isEmpty(dashboardViewParam)) {
1052
+ return this.sendResp(req, res, { status: 400, displayErrors: [{ detail: 'Dashboard view is required' }] });
1053
+ }
1054
+ try {
1055
+ const dashboardView = DashboardTypesService.getDashboardView(dashboardViewParam);
1056
+ if (!this.isValidDashboardViewDefinition(dashboardView)) {
1057
+ return this.sendResp(req, res, { status: 404, displayErrors: [{ detail: 'Dashboard view provided is not valid' }] });
1058
+ }
1059
+ return this.sendResp(req, res, { data: new index_1.DashboardViewResponseModel(dashboardView) });
1060
+ }
1061
+ catch (error) {
1062
+ return this.sendResp(req, res, { status: 500, errors: [this.asError(error)] });
1063
+ }
1064
+ }
919
1065
  tusServer = null;
920
1066
  initTusServer() {
921
1067
  if (this.tusServer) {
922
1068
  return;
923
1069
  }
924
1070
  const attachConfig = sails.config.record.attachments;
925
- const storeType = attachConfig.store ?? 'file';
926
- let datastore;
927
- if (storeType === 's3') {
928
- const { S3Store } = require('@tus/s3-store');
929
- const s3Config = attachConfig.s3;
930
- const accessKeyId = s3Config?.accessKeyId;
931
- const secretAccessKey = s3Config?.secretAccessKey;
932
- if ((accessKeyId && !secretAccessKey) || (!accessKeyId && secretAccessKey)) {
933
- throw new Error('Invalid record.attachments.s3 credentials: accessKeyId and secretAccessKey must both be provided when using static credentials.');
934
- }
935
- datastore = new S3Store({
936
- partSize: s3Config?.partSize ?? 8 * 1024 * 1024,
937
- s3ClientConfig: {
938
- bucket: s3Config?.bucket,
939
- region: s3Config?.region,
940
- credentials: accessKeyId && secretAccessKey ? {
941
- accessKeyId,
942
- secretAccessKey,
943
- } : undefined,
944
- endpoint: s3Config?.endpoint,
945
- },
946
- });
947
- }
948
- else {
949
- const targetDir = attachConfig.file?.directory ?? attachConfig.stageDir;
950
- if (!targetDir) {
951
- throw new Error('Missing attachment directory configuration: set record.attachments.file.directory or record.attachments.stageDir before starting upload handlers (bootstrap() should initialize this).');
952
- }
953
- if (!fs.existsSync(targetDir)) {
954
- fs.mkdirSync(targetDir, { recursive: true });
955
- }
956
- datastore = new file_store_1.FileStore({ directory: targetDir });
957
- }
1071
+ const datastore = new TusStorageManagerDataStore_1.TusStorageManagerDataStore({
1072
+ disk: StorageManagerService.stagingDisk(),
1073
+ logger: sails.log,
1074
+ });
958
1075
  this.tusServer = new server_1.Server({
959
1076
  path: attachConfig.path,
960
1077
  datastore,
961
1078
  respectForwardedHeaders: true,
962
1079
  disableTerminationForFinishedUploads: true,
963
- generateUrl(req, { host, path, id }) {
1080
+ generateUrl(req, { host, id }) {
964
1081
  const tusReq = req;
965
1082
  const baseUrl = (tusReq._tusBaseUrl ?? '').replace(/\/+$/, '');
966
- const cleanPath = path.startsWith('/') ? path : `/${path}`;
967
- // Preserve historical behavior expected by integration clients/tests (scheme-relative URL).
968
- return `//${host}${baseUrl}${cleanPath}/${id}`;
1083
+ // The datastore path is an internal TUS mount. Clients must continue
1084
+ // chunking through the routed RecordController attachment endpoint.
1085
+ return `//${host}${baseUrl}/attach/${id}`;
969
1086
  },
970
1087
  });
971
1088
  this.tusServer.on(server_1.EVENTS.POST_FINISH, (_req, _res, upload) => {
972
1089
  sails.log.verbose(`::: TUS upload completed: id=${upload.id}, size=${upload.size}`);
973
1090
  });
974
- this.tusServer.on(server_1.EVENTS.POST_CREATE, (_req, _res, upload) => {
975
- sails.log.verbose(`::: TUS upload created: id=${upload.id}`);
1091
+ this.tusServer.on(server_1.EVENTS.POST_CREATE, (_req, ...args) => {
1092
+ const upload = args.find((arg) => !!arg && typeof arg === 'object' && 'id' in arg);
1093
+ sails.log.verbose(`::: TUS upload created: id=${upload?.id}`);
976
1094
  });
977
1095
  }
978
1096
  getTusMetadata(req, field) {
@@ -1135,7 +1253,7 @@ var Controllers;
1135
1253
  res.attachment(found['name']);
1136
1254
  sails.log.verbose(`Returning datastream observable of ${oid}: ${found['name']}, attachId: ${attachId}`);
1137
1255
  try {
1138
- const response = await that.datastreamService.getDatastream(oid, attachId);
1256
+ const response = await that.datastreamService.getDatastream(oid, attachId, { username: String(req.user?.username ?? '') || undefined });
1139
1257
  if (response.readstream) {
1140
1258
  response.readstream.pipe(res);
1141
1259
  }
@@ -1175,9 +1293,9 @@ var Controllers;
1175
1293
  sails.log.verbose(req.headers);
1176
1294
  const uploadFileSize = req.headers['upload-length'];
1177
1295
  const diskSpaceThreshold = sails.config.record.diskSpaceThreshold;
1178
- const storeType = sails.config.record.attachments.store ?? 'file';
1179
- if (storeType === 'file' && !_.isUndefined(uploadFileSize) && !_.isUndefined(diskSpaceThreshold)) {
1180
- const diskSpace = await (0, check_disk_space_1.default)(sails.config.record.mongodbDisk);
1296
+ const stagingDiskConfig = StorageManagerService.getStagingDiskConfig();
1297
+ if (stagingDiskConfig.driver === 'fs' && !_.isUndefined(uploadFileSize) && !_.isUndefined(diskSpaceThreshold)) {
1298
+ const diskSpace = await (0, check_disk_space_1.default)(stagingDiskConfig.config.root);
1181
1299
  //set diskSpaceThreshold to a reasonable amount of space on disk that will be left free as a safety buffer
1182
1300
  const thresholdAppliedFileSize = _.toInteger(uploadFileSize) + diskSpaceThreshold;
1183
1301
  sails.log.verbose('Total File Size ' + thresholdAppliedFileSize + ' Total Free Space ' + diskSpace.free);
@@ -1227,8 +1345,10 @@ var Controllers;
1227
1345
  //let record = await this.getRecord(oid).toPromise();
1228
1346
  //or the permissions may be checked in a parent call that will retrieved record oids that a user has access to
1229
1347
  //plus some additional rules/logic that may be applied to filter the records
1230
- const relatedRecords = await this.recordsService.getRelatedRecords(oid, brand);
1231
- return relatedRecords;
1348
+ const relationshipOptions = this.parseRelationshipExpandOptions(req);
1349
+ const relatedRecords = await this.recordsService.getRelatedRecords(oid, brand, relationshipOptions);
1350
+ const filteredRelationships = await this.filterRelationshipGraphByAccess(brand, req.user ?? {}, relatedRecords);
1351
+ return this.buildLegacyRelatedRecordsResponse(filteredRelationships);
1232
1352
  }
1233
1353
  async getPermissionsInternal(req, _res) {
1234
1354
  const oid = String(req.param('oid') ?? '').trim();
@@ -1261,7 +1381,7 @@ var Controllers;
1261
1381
  getAttachments(req, res) {
1262
1382
  sails.log.verbose('getting attachments....');
1263
1383
  const oid = req.param('oid');
1264
- (0, rxjs_1.from)(this.recordsService.getAttachments(oid)).subscribe((attachments) => {
1384
+ (0, rxjs_1.from)(this.recordsService.getAttachments(oid, undefined, { username: String(req.user?.username ?? '') || undefined })).subscribe((attachments) => {
1265
1385
  return this.sendResp(req, res, { data: attachments });
1266
1386
  });
1267
1387
  }
@@ -1281,7 +1401,7 @@ var Controllers;
1281
1401
  res.attachment(fileName);
1282
1402
  sails.log.verbose(`Returning datastream observable of ${oid}: ${fileName}, datastreamId: ${datastreamId}`);
1283
1403
  try {
1284
- const response = await this.datastreamService.getDatastream(oid, datastreamId);
1404
+ const response = await this.datastreamService.getDatastream(oid, datastreamId, { username: String(req.user?.username ?? '') || undefined });
1285
1405
  if (response.readstream) {
1286
1406
  response.readstream.pipe(res);
1287
1407
  }
@@ -1322,11 +1442,14 @@ var Controllers;
1322
1442
  async render(req, res) {
1323
1443
  const recordType = req.param('recordType') ? req.param('recordType') : '';
1324
1444
  let packageType = req.param('packageType') ? req.param('packageType') : '';
1325
- let titleLabel = req.param('titleLabel') ? TranslationService.t(req.param('titleLabel')) : `${TranslationService.t('edit-dashboard')} ${TranslationService.t(recordType + '-title-label')}`;
1445
+ let dashboardType = req.param('dashboardType') ? req.param('dashboardType') : 'standard';
1446
+ const locals = req.options?.locals;
1447
+ let titleLabel = req.param('titleLabel') ? this.translate(req.param('titleLabel'), locals) : `${this.translate('edit-dashboard', locals)} ${this.translate(recordType + '-title-label', locals)}`;
1326
1448
  if (recordType == 'workspace') {
1327
1449
  if (packageType == '') {
1328
1450
  packageType = 'workspace';
1329
1451
  }
1452
+ dashboardType = 'workspace';
1330
1453
  if (titleLabel == '') {
1331
1454
  titleLabel = 'workspaces';
1332
1455
  }
@@ -1348,10 +1471,37 @@ var Controllers;
1348
1471
  return this.sendView(req, res, 'dashboard', {
1349
1472
  recordType: recordType,
1350
1473
  packageType: packageType,
1474
+ dashboardType: dashboardType,
1475
+ dashboardView: '',
1351
1476
  titleLabel: titleLabel,
1352
- showAdminSideBar: showAdminSideBar
1477
+ showAdminSideBar: showAdminSideBar,
1478
+ title: this.formatDocumentTitle(titleLabel, locals),
1479
+ });
1480
+ }
1481
+ async renderDashboardView(req, res) {
1482
+ const locals = req.options?.locals;
1483
+ const dashboardViewName = String(req.param('dashboardView') ?? '').trim();
1484
+ if (_.isEmpty(dashboardViewName)) {
1485
+ return this.sendResp(req, res, { status: 400, displayErrors: [{ detail: 'Dashboard view is required' }] });
1486
+ }
1487
+ const dashboardView = DashboardTypesService.getDashboardView(dashboardViewName);
1488
+ if (!this.isValidDashboardViewDefinition(dashboardView)) {
1489
+ return this.sendResp(req, res, { status: 404, displayErrors: [{ detail: 'Dashboard view provided is not valid' }] });
1490
+ }
1491
+ const titleLabel = this.translate(dashboardView.titleLabelKey || dashboardView.name, locals);
1492
+ return this.sendView(req, res, 'dashboard', {
1493
+ recordType: dashboardView.sourceRecordType,
1494
+ packageType: '',
1495
+ dashboardType: dashboardView.dashboardType,
1496
+ dashboardView: dashboardView.name,
1497
+ titleLabel,
1498
+ showAdminSideBar: dashboardView.showAdminSideBar === true,
1499
+ title: this.formatDocumentTitle(titleLabel, locals),
1353
1500
  });
1354
1501
  }
1502
+ redirectLegacyConsolidatedDashboard(req, res) {
1503
+ return res.redirect(`${BrandingService.getFullPath(req)}/dashboard-view/consolidated`);
1504
+ }
1355
1505
  async getRecordList(req, res) {
1356
1506
  const brand = this.getReqBrand(req);
1357
1507
  const editAccessOnly = req.query.editOnly;
@@ -1592,4 +1742,4 @@ var Controllers;
1592
1742
  }
1593
1743
  Controllers.Record = Record;
1594
1744
  })(Controllers || (exports.Controllers = Controllers = {}));
1595
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3JkQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cm9sbGVycy9SZWNvcmRDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTlELCtCQUVjO0FBQ2QsOENBQTBEO0FBQzFELG9DQVlrQjtBQUNsQixpQ0FBaUM7QUFDakMsd0NBQTBEO0FBRzFELGdEQUE0QztBQUM1Qyx1Q0FBeUI7QUFDekIsd0VBQTZEO0FBRTdELDRFQUF5RTtBQVl6RTs7R0FFRztBQUVILElBQWlCLFdBQVcsQ0FxbUQzQjtBQXJtREQsV0FBaUIsV0FBVztJQUMxQjs7OztPQUlHO0lBQ0gsTUFBYSxNQUFPLFNBQVEsbUJBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUVyRCxjQUFjLENBQWtCO1FBQ2hDLGFBQWEsQ0FBaUI7UUFDOUIsaUJBQWlCLENBQXFCO1FBRS9CLElBQUk7WUFDVCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBMkMsQ0FBQztZQUNqRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxjQUE4QyxDQUFDO1lBRXZGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsOEJBQThCLEVBQUUsT0FBTyxDQUFDLEVBQUU7Z0JBQ3RHLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7Z0JBQ3BFLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHFEQUFxRCxxQkFBcUIsRUFBRSxDQUFDLENBQUM7Z0JBQ2hHLElBQUkscUJBQXFCLElBQUksU0FBUyxFQUFFLENBQUM7b0JBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFpQyxDQUFDO2dCQUNqRyxDQUFDO2dCQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQTZCLENBQUM7WUFDbkcsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQ7O1dBRUc7UUFDZ0IsZ0JBQWdCLEdBQWE7WUFDOUMsTUFBTTtZQUNOLE1BQU07WUFDTixTQUFTO1lBQ1QsUUFBUTtZQUNSLFFBQVE7WUFDUixRQUFRO1lBQ1IsbUJBQW1CO1lBQ25CLFFBQVE7WUFDUixTQUFTO1lBQ1Qsa0JBQWtCO1lBQ2xCLFNBQVM7WUFDVCxnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ3hCLGVBQWU7WUFDZixhQUFhO1lBQ2IsUUFBUTtZQUNSLG1CQUFtQjtZQUNuQixRQUFRO1lBQ1IsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixzQkFBc0I7WUFDdEIsa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0QixzQkFBc0I7WUFDdEIsZUFBZTtZQUNmLHNCQUFzQjtTQUN2QixDQUFDO1FBRUY7Ozs7V0FJRztRQUVJLFNBQVM7WUFDZCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDckQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUM7WUFFL0MsSUFBSSxTQUFTLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUM7Z0JBQ3hFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDZixNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7Z0JBQ3hGLENBQUM7Z0JBQ0QsSUFBSSxZQUFZLENBQUMsUUFBUSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztvQkFDM0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMseUZBQXlGLENBQUMsQ0FBQztnQkFDNUcsQ0FBQztZQUNILENBQUM7aUJBQU0sSUFBSSxTQUFTLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBQ3pELE1BQU0sSUFBSSxLQUFLLENBQUMsNEVBQTRFLENBQUMsQ0FBQztnQkFDaEcsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRU8sZUFBZSxDQUFDLEtBQWM7WUFDcEMsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN2QixDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUVPLE9BQU8sQ0FBQyxLQUFjO1lBQzVCLE9BQU8sS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBRU8sV0FBVyxDQUFDLEdBQWM7WUFDaEMsT0FBTyxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBa0IsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUNqRCxNQUFNLEtBQUssR0FBa0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQyxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ2xELENBQUM7WUFFRCxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ2xELENBQUM7Z0JBQ0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFBLHFCQUFjLEVBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtnQkFDN0YsSUFBSSxhQUFhLEVBQUUsQ0FBQztvQkFDbEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBdUIsQ0FBQztvQkFDckUsSUFBSSxRQUFRLEVBQUUsQ0FBQzt3QkFDYixJQUFJLENBQUM7NEJBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ3JFLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxxQkFBYyxFQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDOzRCQUM5RixNQUFNLFVBQVUsR0FBRyxVQUFVLEVBQUUsYUFBYSxDQUFDOzRCQUU3QyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dDQUNmLE1BQU0sU0FBUyxHQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFlLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQ0FDckosTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDO2dDQUM5RCxNQUFNLG1CQUFtQixHQUFHLDJDQUFvQixDQUFDLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztnQ0FDdkYsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLFlBQVksQ0FBQyxxQkFBcUIsQ0FDL0QsVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxDQUFDLFFBQVEsRUFDZixnQkFBZ0IsRUFDaEIsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLEVBQ3pCLG1CQUFtQixDQUNwQixDQUFDO2dDQUNGLE1BQU0sYUFBYSxHQUFHO29DQUNwQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7b0NBQzNCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtvQ0FDakMsUUFBUSxFQUFFLEVBQUU7aUNBQ2dGLENBQUM7Z0NBRS9GLE1BQU0sY0FBYyxHQUFHLDRCQUE0QixDQUFDLDJCQUEyQixDQUM3RSxhQUFhLEVBQ2IsTUFBbUcsRUFDbkcsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixnQkFBZ0IsQ0FDakIsQ0FBQztnQ0FDRixNQUFNLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7NEJBQzVDLENBQUM7d0JBQ0gsQ0FBQzt3QkFBQyxPQUFPLE9BQU8sRUFBRSxDQUFDOzRCQUNqQixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsR0FBRyxlQUFlLFFBQVEsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDOzRCQUNoRyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtnQ0FDN0IsTUFBTSxFQUFFLEdBQUc7Z0NBQ1gsYUFBYSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsNENBQTRDLEVBQUUsQ0FBQztnQ0FDekUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFOzZCQUNkLENBQUMsQ0FBQzt3QkFDTCxDQUFDO29CQUNILENBQUM7b0JBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDbEgsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO3dCQUM3QixNQUFNLEVBQUUsR0FBRzt3QkFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxDQUFDO3dCQUM5QyxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRTt3QkFDL0IsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRTtxQkFDaEMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDYixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDN0IsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDM0IsYUFBYSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQztvQkFDeEQsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtpQkFDbkIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFFTSxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQWMsRUFBRSxHQUFjO1lBQ3hELE1BQU0sS0FBSyxHQUFrQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNDLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQztZQUUxQywrRUFBK0U7WUFFL0Usc0RBQXNEO1lBQ3RELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSxxQkFBYyxFQUFDLFlBQVksQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDM0csTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUM1QyxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUM7WUFDOUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxFQUFFLGFBQWEsQ0FBQztZQUN2QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUM3QixNQUFNLEVBQUUsR0FBRztvQkFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxpREFBaUQsVUFBVSxFQUFFLEVBQUUsQ0FBQztpQkFDM0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE1BQU0sZ0JBQWdCLEdBQUcsNEJBQTRCLENBQUMsa0NBQWtDLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBRWpJLDREQUE0RDtZQUM1RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtnQkFDN0IsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsSUFBSSxFQUFFO29CQUNKLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSTtvQkFDcEIsVUFBVSxFQUFFLFVBQVU7b0JBQ3RCLFFBQVEsRUFBRSxRQUFRO2lCQUNuQjtnQkFDRCxFQUFFLEVBQUUsZ0JBQWdCO2FBQ3JCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFTSxJQUFJLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDeEMsTUFBTSxLQUFLLEdBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksVUFBVSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN4RSxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsRCxJQUFJLGFBQWEsQ0FBQztZQUNsQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUEwQixDQUFDO1lBQ2hFLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxhQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBVyxDQUFDO1lBQ3BELENBQUM7WUFDRCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQztZQUMvQixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHdCQUF3QixHQUFHLFdBQVcsQ0FBQyxDQUFDO1lBQ3hELElBQUksVUFBVSxJQUFJLEVBQUUsSUFBSSxXQUFXLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQzFDLFlBQVksQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDbkYsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO3dCQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFOzRCQUM3QixNQUFNLEVBQUUsR0FBRzs0QkFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO3lCQUM5QyxDQUFDLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCxxRUFBcUU7b0JBQ3JFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRTt3QkFDNUMsR0FBRyxFQUFFLEdBQUc7d0JBQ1IsSUFBSSxFQUFFLElBQUk7d0JBQ1YsVUFBVSxFQUFFLFVBQVU7d0JBQ3RCLFFBQVEsRUFBRSxXQUFXO3dCQUNyQixXQUFXLEVBQUUsV0FBVzt3QkFDeEIsT0FBTyxFQUFFLE9BQU87cUJBQ2pCLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sSUFBSSxXQUFXLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQzdCLFlBQVksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMvRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7NEJBQzdCLE1BQU0sRUFBRSxHQUFHOzRCQUNYLGFBQWEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLENBQUM7eUJBQzlDLENBQUMsQ0FBQztvQkFDTCxDQUFDO29CQUNELHFFQUFxRTtvQkFDckUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFO3dCQUM1QyxHQUFHLEVBQUUsR0FBRzt3QkFDUixJQUFJLEVBQUUsSUFBSTt3QkFDVixVQUFVLEVBQUUsVUFBVTt3QkFDdEIsUUFBUSxFQUFFLFdBQVc7d0JBQ3JCLFdBQVcsRUFBRSxXQUFXO3dCQUN4QixPQUFPLEVBQUUsT0FBTztxQkFDakIsQ0FBQyxDQUFDO2dCQUNMLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTt3QkFDN0IsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDN0IsYUFBYSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztxQkFDbkQsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUEsV0FBSSxFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUEsb0JBQU8sRUFBQyxNQUFNLENBQUMsRUFBRTtvQkFDM0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7b0JBQzFDLE9BQU8sWUFBWSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDdEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTs0QkFDN0IsTUFBTSxFQUFFLEdBQUc7NEJBQ1gsYUFBYSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQzt5QkFDOUMsQ0FBQyxDQUFDO29CQUNMLENBQUM7b0JBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3RCLHFFQUFxRTtvQkFDckUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO3dCQUNoQixVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO29CQUM5QyxDQUFDO29CQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRTt3QkFDNUMsR0FBRyxFQUFFLEdBQUc7d0JBQ1IsSUFBSSxFQUFFLElBQUk7d0JBQ1YsVUFBVSxFQUFFLFVBQVU7d0JBQ3RCLFFBQVEsRUFBRSxXQUFXO3dCQUNyQixXQUFXLEVBQUUsV0FBVzt3QkFDeEIsT0FBTyxFQUFFLE9BQU87cUJBQ2pCLENBQUMsQ0FBQztnQkFDTCxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUU7b0JBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFO3dCQUM1QyxHQUFHLEVBQUUsR0FBRzt3QkFDUixJQUFJLEVBQUUsSUFBSTt3QkFDVixVQUFVLEVBQUUsVUFBVTt3QkFDdEIsUUFBUSxFQUFFLFdBQVc7d0JBQ3JCLFdBQVcsRUFBRSxXQUFXO3dCQUN4QixPQUFPLEVBQUUsT0FBTztxQkFDakIsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBRUwsQ0FBQztRQUNILENBQUM7UUFFUyxhQUFhLENBQUMsS0FBb0IsRUFBRSxJQUEyQixFQUFFLFVBQXFCO1lBQzlGLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDdEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUIsTUFBTSxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNyQixPQUFPLElBQUEsU0FBRSxFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDeEcsQ0FBQztRQUVTLGFBQWEsQ0FBQyxLQUFvQixFQUFFLElBQTJCLEVBQUUsVUFBcUI7WUFDOUYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUN0QyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBQSxTQUFFLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQWdCLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUN4RyxDQUFDO1FBRU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUNqRCxNQUFNLEtBQUssR0FBa0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDO1lBQ3pELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQztZQUMxQyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXhDLElBQUksQ0FBQztnQkFDSCxJQUFJLElBQUksR0FBMEIsSUFBSSxDQUFDO2dCQUN2QyxJQUFJLFVBQVUsR0FBdUIsSUFBSSxDQUFDO2dCQUMxQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ1QsOEJBQThCO29CQUM5QixJQUFJLEdBQUcsTUFBTSxJQUFBLHFCQUFjLEVBQUMsWUFBWSxDQUFDLDZCQUE2QixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDckcsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQ3BCLE1BQU0sR0FBRyxHQUFHLHdDQUF3QyxVQUFVLEVBQUUsQ0FBQzt3QkFDakUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7NEJBQzdCLE1BQU0sRUFBRSxHQUFHOzRCQUNYLGFBQWEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDOzRCQUNoQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO3lCQUNyQixDQUFDLENBQUM7b0JBQ0wsQ0FBQztnQkFFSCxDQUFDO3FCQUFNLENBQUM7b0JBQ04saUVBQWlFO29CQUNqRSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDcEQsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7d0JBQzFCLE1BQU0sR0FBRyxHQUFHLGtDQUFrQyxHQUFHLEVBQUUsQ0FBQzt3QkFDcEQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7NEJBQzdCLE1BQU0sRUFBRSxHQUFHOzRCQUNYLGFBQWEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDOzRCQUNoQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO3lCQUNyQixDQUFDLENBQUM7b0JBQ0wsQ0FBQztvQkFFRCxzQ0FBc0M7b0JBQ3RDLElBQUksU0FBa0IsQ0FBQztvQkFDdkIsSUFBSSxRQUFRLEVBQUUsQ0FBQzt3QkFDYiw0QkFBNEI7d0JBQzVCLFNBQVMsR0FBRyxNQUFNLElBQUEscUJBQWMsRUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7b0JBQ3BGLENBQUM7eUJBQU0sQ0FBQzt3QkFDTiw0QkFBNEI7d0JBQzVCLFNBQVMsR0FBRyxNQUFNLElBQUEscUJBQWMsRUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7b0JBQ3BGLENBQUM7b0JBRUQsNkJBQTZCO29CQUM3QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7NEJBQzdCLE1BQU0sRUFBRSxHQUFHOzRCQUNYLGFBQWEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFFLENBQUM7NEJBQ3RELEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsRUFBRTt5QkFDbkUsQ0FBQyxDQUFDO29CQUNMLENBQUM7b0JBRUQsc0JBQXNCO29CQUN0QixJQUFJLEdBQUcsTUFBTSxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUF5QixDQUEwQixDQUFDO29CQUN0SCxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzt3QkFDcEIsTUFBTSxHQUFHLEdBQUcsdUJBQXVCLFNBQVMsYUFBYSxHQUFHLEVBQUUsQ0FBQzt3QkFDL0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7NEJBQzdCLE1BQU0sRUFBRSxHQUFHOzRCQUNYLGFBQWEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDOzRCQUNoQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO3lCQUNyQixDQUFDLENBQUM7b0JBQ0wsQ0FBQztvQkFDRCw2RkFBNkY7b0JBQzdGLHNFQUFzRTtnQkFDeEUsQ0FBQztnQkFFRCxvRkFBb0Y7Z0JBQ3BGLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7Z0JBQzVDLE1BQU0sU0FBUyxHQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFlLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckosTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDO2dCQUM5QixNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUM7Z0JBQzlELE1BQU0sbUJBQW1CLEdBQUcsMkNBQW9CLENBQUMsd0JBQXdCLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUMzRixNQUFNLFVBQVUsR0FBRyxJQUFJLEVBQUUsYUFBYSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ2hCLE1BQU0sR0FBRyxHQUFHLHlDQUF5QyxTQUFTLGlCQUFpQixVQUFVLFNBQVMsR0FBRyxFQUFFLENBQUM7b0JBQ3hHLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO3dCQUM3QixNQUFNLEVBQUUsR0FBRzt3QkFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQzt3QkFDaEMsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRTtxQkFDckIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxZQUFZLENBQUMscUJBQXFCLENBQ3pELFVBQVUsRUFDVixRQUFRLEVBQ1IsU0FBUyxFQUNULFVBQVUsRUFBRSxRQUFRLElBQUksSUFBSSxFQUM1QixnQkFBZ0IsRUFDaEIsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLEVBQ3pCLG1CQUFtQixDQUNwQixDQUFDO2dCQUVGLHlCQUF5QjtnQkFDekIsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7d0JBQzdCLElBQUksRUFBRSxVQUFVO3dCQUNoQixJQUFJLEVBQUU7NEJBQ0osUUFBUSxFQUFFLFNBQVM7NEJBQ25CLFVBQVUsRUFBRSxVQUFVOzRCQUN0QixHQUFHLEVBQUUsR0FBRzs0QkFDUixRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVE7NEJBQzlCLGdCQUFnQixFQUFFLG1CQUFtQjt5QkFDdEM7cUJBQ0YsQ0FBQyxDQUFDO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLEdBQUcsR0FBRyxnQ0FBZ0MsU0FBUyxvQkFBb0IsVUFBVSxZQUFZLEdBQUcsRUFBRSxDQUFDO29CQUNyRyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTt3QkFDN0IsTUFBTSxFQUFFLEdBQUc7d0JBQ1gsYUFBYSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7d0JBQ2hDLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUU7cUJBQ3JCLENBQUMsQ0FBQztnQkFDTCxDQUFDO1lBRUgsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxZQUFZLEdBQXdCLEVBQUUsS0FBSyxFQUFFLCtCQUErQixFQUFFLENBQUM7Z0JBQ3JGLElBQUksR0FBRyxDQUFDO2dCQUNSLE1BQU0sVUFBVSxHQUFHLEtBQXdELENBQUM7Z0JBQzVFLElBQUksVUFBVSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztvQkFDckQsWUFBWSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQztvQkFDckMsR0FBRyxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sWUFBWSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO29CQUN6QyxHQUFHLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDN0IsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDN0IsYUFBYSxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUM3QixFQUFFLEVBQUUsR0FBRztpQkFDUixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVNLE1BQU0sQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVPLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDekQsSUFBSSxDQUFDO2dCQUNILE1BQU0sS0FBSyxHQUFrQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuRCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUMxQixNQUFNLE1BQU0sR0FBYztvQkFDeEIsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCLENBQUM7Z0JBQ0YsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDM0MsTUFBTSxDQUFDLGFBQWEsR0FBRztvQkFDckIsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDN0IsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDOUIsQ0FBQztnQkFDRixNQUFNLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztnQkFFM0IsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLHFCQUFjLEVBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNoRixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUV0QixLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO2dCQUM3RCxNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUVqSCxJQUFJLGNBQWMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxjQUFjLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztvQkFDakcsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7d0JBQzdCLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7d0JBQzNELElBQUksRUFBRSxFQUFFLEdBQUcsY0FBYyxFQUFFO3dCQUMzQixFQUFFLEVBQUUsY0FBYztxQkFDbkIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTt3QkFDN0IsTUFBTSxFQUFFLEdBQUc7d0JBQ1gsYUFBYSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUNuRCxJQUFJLEVBQUUsRUFBRSxHQUFHLGNBQWMsRUFBRTtxQkFDNUIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFFSCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDN0IsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDN0IsYUFBYSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQztpQkFDckQsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFFTSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQWMsRUFBRSxHQUFjO1lBQ2hELE1BQU0sS0FBSyxHQUFrQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN0QixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUEscUJBQWMsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFFdEIsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFBLHFCQUFjLEVBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBRXhGLElBQUksYUFBYSxFQUFFLENBQUM7b0JBRWxCLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxxQkFBYyxFQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUVyRyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7b0JBRWxHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO3dCQUN4QyxNQUFNLElBQUksR0FBRzs0QkFDWCxPQUFPLEVBQUUsSUFBSTs0QkFDYixHQUFHLEVBQUUsR0FBRzt5QkFDVCxDQUFDO3dCQUNGLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHFEQUFxRCxHQUFHLEVBQUUsQ0FBQyxDQUFDO3dCQUU5RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUNqRCxDQUFDO3lCQUFNLENBQUM7d0JBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7NEJBQzdCLE1BQU0sRUFBRSxHQUFHOzRCQUNYLGFBQWEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQzt5QkFDOUMsQ0FBQyxDQUFDO29CQUNMLENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO3dCQUM3QixNQUFNLEVBQUUsR0FBRzt3QkFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSwyQkFBMkIsRUFBRSxDQUFDO3FCQUN2RCxDQUFDLENBQUM7Z0JBQ0wsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDN0IsTUFBTSxFQUFFLEdBQUc7b0JBQ1gsYUFBYSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUM7aUJBQzNDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBRU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUN2RCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLE1BQU0sU0FBUyxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDN0IsTUFBTSxFQUFFLEdBQUc7b0JBQ1gsYUFBYSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDM0MsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDbEIsRUFBRSxFQUFFO3dCQUNGLE9BQU8sRUFBRSxLQUFLO3dCQUNkLEdBQUcsRUFBRSxHQUFHO3dCQUNSLE9BQU8sRUFBRSxTQUFTO3FCQUNuQjtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN0QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7WUFDMUUsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sSUFBSSxHQUFHO29CQUNYLE9BQU8sRUFBRSxJQUFJO29CQUNiLEdBQUcsRUFBRSxHQUFHO2lCQUNULENBQUM7Z0JBQ0YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ25ELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUM3QixJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7b0JBQzVDLElBQUksRUFBRSxJQUFJO29CQUNWLEVBQUUsRUFBRSxJQUFJO2lCQUNULENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksR0FBRztvQkFDWCxPQUFPLEVBQUUsS0FBSztvQkFDZCxHQUFHLEVBQUUsR0FBRztvQkFDUixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87aUJBQzFCLENBQUM7Z0JBQ0YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQzdCLE1BQU0sRUFBRSxHQUFHO29CQUNYLGFBQWEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3JFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQ2xCLEVBQUUsRUFBRSxJQUFJO2lCQUNULENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBRU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLEdBQWMsRUFBRSxHQUFjO1lBQzlELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUM3QixNQUFNLEVBQUUsR0FBRztvQkFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO29CQUMzQyxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUNsQixFQUFFLEVBQUU7d0JBQ0YsT0FBTyxFQUFFLEtBQUs7d0JBQ2QsR0FBRyxFQUFFLEdBQUc7d0JBQ1IsT0FBTyxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztxQkFDaEQ7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDdEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7WUFDakYsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sSUFBSSxHQUFHO29CQUNYLE9BQU8sRUFBRSxJQUFJO29CQUNiLEdBQUcsRUFBRSxHQUFHO2lCQUNULENBQUM7Z0JBQ0YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3BELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDakQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUM3QixNQUFNLEVBQUUsR0FBRztvQkFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO29CQUMzQyxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUNsQixFQUFFLEVBQUU7d0JBQ0YsT0FBTyxFQUFFLEtBQUs7d0JBQ2QsR0FBRyxFQUFFLEdBQUc7d0JBQ1IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPO3FCQUMxQjtpQkFDRixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVNLE1BQU0sQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVPLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDekQsTUFBTSxLQUFLLEdBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNDLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLE1BQU0sQ0FBQztZQUN2RSw2RUFBNkU7WUFDN0UsNENBQTRDO1lBQzVDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25DLElBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDeEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsMkNBQTJDLENBQUMsQ0FBQztZQUUvRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUEscUJBQWMsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDN0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxJQUFBLHFCQUFjLEVBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDeEYsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMvRixDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLHFCQUFjLEVBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDckcsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsWUFBWSxHQUFHLE1BQU0sSUFBQSxxQkFBYyxFQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUN4RixDQUFDO1lBRUQsSUFBSSxRQUFRLENBQUM7WUFDYixJQUFJLENBQUM7Z0JBQ0gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsdURBQXVELENBQUMsQ0FBQztnQkFDM0UsSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDaEIsUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNyRSxDQUFDO2dCQUNELFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbEgsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQztvQkFDeEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsbURBQW1ELENBQUMsQ0FBQztvQkFDdkUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7d0JBQzdCLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQzt3QkFDNUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO3dCQUM1QyxFQUFFLEVBQUUsUUFBUTtxQkFDYixDQUFDLENBQUM7Z0JBQ0wsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO3dCQUM3QixNQUFNLEVBQUUsR0FBRzt3QkFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSxDQUFDO3dCQUN4RCxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7d0JBQzVDLEVBQUUsRUFBRSxRQUFRO3FCQUNiLENBQUMsQ0FBQztnQkFDTCxDQUFDO1lBQ0gsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsNEdBQTRHLENBQUMsQ0FBQztnQkFDOUgsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQzdCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzdCLGFBQWEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDO29CQUN6QyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7b0JBQzVDLEVBQUUsRUFBRSxZQUFZO2lCQUNqQixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVELGlDQUFpQztRQUN2QixZQUFZLENBQUMsS0FBb0IsRUFBRSxHQUFXLEVBQUUsVUFBcUIsRUFBRSxRQUFtQixFQUFFLElBQWU7WUFDbkgsVUFBVSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFFUyxpQkFBaUIsQ0FBQyxLQUFvQixFQUFFLEdBQVcsRUFBRSxVQUFxQixFQUFFLGFBQXNCLEVBQUUsSUFBZTtZQUMzSCxNQUFNLGNBQWMsR0FBd0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3hGLE9BQU8sY0FBYztpQkFDbEIsSUFBSSxDQUFDLElBQUEsZUFBRyxFQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUN4QixJQUFJLGFBQWEsRUFBRSxDQUFDO29CQUNsQixVQUFVLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztvQkFDekMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hFLENBQUM7cUJBQU0sQ0FBQztvQkFDTixPQUFPO3dCQUNMLElBQUksRUFBRSxHQUFHO3dCQUNULE9BQU8sRUFBRSx3QkFBd0I7cUJBQ2xDLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO1FBRVMsU0FBUyxDQUFDLEdBQVc7WUFDN0IsT0FBTyxJQUFBLFdBQUksRUFBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFBLG9CQUFPLEVBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3RFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUMxQixPQUFPLElBQUEsaUJBQVUsRUFBQyxJQUFJLEtBQUssQ0FBQyxnRUFBZ0UsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN0RyxDQUFDO2dCQUNELE9BQU8sSUFBQSxTQUFFLEVBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNOLENBQUM7UUFFRCxvQ0FBb0M7UUFDMUIsY0FBYyxDQUFDLEtBQW9CLEVBQUUsR0FBVyxFQUFFLFVBQXFCLEVBQUUsSUFBMkI7WUFDNUcsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBYyxDQUFDO1lBQzdELElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDeEMsT0FBTyxJQUFBLGlCQUFVLEVBQUMsSUFBSSxLQUFLLENBQUMsK0NBQStDLFlBQVksQ0FBQyxTQUFTLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRSxlQUFlLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMxSSxDQUFDO1lBQ0QsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2pELFlBQVksQ0FBQyxjQUFjLENBQUMsR0FBRyxnQkFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hELEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUM7WUFDL0MsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUIsT0FBTyxJQUFBLFdBQUksRUFBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRixDQUFDO1FBRVMsbUJBQW1CLENBQUMsS0FBb0IsRUFBRSxHQUFXLEVBQUUsVUFBcUIsRUFBRSxJQUEyQjtZQUNqSCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFjLENBQUM7WUFDN0QsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUN4QyxPQUFPLElBQUEsaUJBQVUsRUFBQyxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsWUFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxFQUFFLGVBQWUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFJLENBQUM7WUFDRCxPQUFPLElBQUEsV0FBSSxFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFFTSxNQUFNLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDMUMsTUFBTSxLQUFLLEdBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUMxQixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDM0MsSUFBSSxVQUFVLEdBQXVCLElBQUksQ0FBQztZQUMxQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUEsb0JBQU8sRUFBQyxVQUFVLENBQUMsRUFBRTtnQkFDbkQsVUFBVSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3JDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxVQUF1QixDQUFDO3FCQUNoRSxJQUFJLENBQUMsSUFBQSxvQkFBTyxFQUFDLGFBQWEsQ0FBQyxFQUFFO29CQUM1QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7d0JBQ25CLE9BQU8sSUFBQSxpQkFBVSxFQUFDLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbEYsQ0FBQztvQkFDRCxPQUFPLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEUsQ0FBQyxDQUFDLEVBQ0UsSUFBQSxvQkFBTyxFQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNsQixPQUFPLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDO3lCQUNqRCxJQUFJLENBQUMsSUFBQSxvQkFBTyxFQUFDLFFBQVEsQ0FBQyxFQUFFO3dCQUN2QixVQUFVLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQzt3QkFDL0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7d0JBQ2xDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUM5QixLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQzt3QkFDaEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsOEJBQThCLENBQUMsVUFBVSxFQUFFLFFBQThDLENBQUMsQ0FBQzt3QkFDL0csT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBdUIsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzVFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ1IsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNULENBQUMsQ0FBQyxDQUFDO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLFFBQWlCLEVBQUUsRUFBRTtnQkFDL0IsTUFBTSxhQUFhLEdBQUcsUUFBK0IsQ0FBQztnQkFDdEQsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBa0IsRUFBRSxFQUFFO29CQUNwRCxNQUFNLENBQUMsR0FBRyxTQUE0RSxDQUFDO29CQUN2RixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQzt3QkFDNUIsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7d0JBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN2QyxDQUFDO3lCQUFNLENBQUM7d0JBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFOzRCQUN0QixNQUFNLEVBQUUsR0FBRzs0QkFDWCxJQUFJLEVBQUUsQ0FBYzs0QkFDcEIsRUFBRSxFQUFFLENBQUM7eUJBQ04sQ0FBQyxDQUFDO29CQUNMLENBQUM7Z0JBQ0gsQ0FBQyxFQUFFLENBQUMsS0FBWSxFQUFFLEVBQUU7b0JBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTt3QkFDdEIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDN0IsYUFBYSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDeEUsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPO3FCQUNsQixDQUFDLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFFTSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQWMsRUFBRSxHQUFjO1lBQ2hELE1BQU0sS0FBSyxHQUFrQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0IsSUFBSSxJQUFJLEdBQW9CLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsSUFBSSxJQUFJLEdBQW9CLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU3Qix1RkFBdUY7WUFDdkYsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sVUFBVSxHQUFvQixNQUFNLElBQUEscUJBQWMsRUFBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzlGLElBQUksR0FBRyxVQUFVLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksR0FBRyxFQUFFLENBQUE7WUFDWCxDQUFDO1lBQ0QsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksR0FBRyxDQUFDLENBQUE7WUFDVixDQUFDO1lBQ0QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFBO1lBQ2IsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNuRCxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ3ZCLENBQUM7WUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ25ELElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDdkIsQ0FBQztZQUVELEtBQUssR0FBRyxDQUFFLElBQWUsR0FBRyxDQUFDLENBQUMsR0FBSSxJQUFlLENBQUM7WUFFbEQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDcEMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFFekMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDN0MsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUYsTUFBTSxhQUFhLEdBQTRDLEVBQUUsQ0FBQztZQUNsRSxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUM3QyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5RixNQUFNLGFBQWEsR0FBNEMsRUFBRSxDQUFDO1lBRWxFLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFtQixFQUFFLEVBQUU7Z0JBQ2xELGFBQWEsQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLElBQUksRUFBRSxXQUFXO29CQUNqQixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLFdBQVcsRUFBRSxDQUFDO2lCQUN6QyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUNILENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFtQixFQUFFLEVBQUU7Z0JBQ2xELGFBQWEsQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLElBQUksRUFBRSxXQUFXO29CQUNqQixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLFdBQVcsRUFBRSxDQUFDO2lCQUN6QyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQztnQkFDSCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsSUFBaUIsQ0FBQztnQkFDbkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsWUFBWSxJQUFJLEVBQUUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBZ0IsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxJQUFjLENBQUMsQ0FBQztnQkFDdFAsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQTtnQkFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDL0MsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUN0QixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM3QixFQUFFLEVBQUUsWUFBWTtpQkFDakIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRDs7O1dBR0c7UUFDSSxPQUFPLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDM0MsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxNQUFNLEtBQUssR0FBa0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDL0QsTUFBTSxlQUFlLEdBQUcsSUFBSSwrQkFBdUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO2dCQUN0TCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztZQUNyRCxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUN0QixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM3QixFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU87aUJBQ2xCLENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVEOzs7V0FHRztRQUNJLFdBQVcsQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUMvQyxNQUFNLEtBQUssR0FBa0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN2RCxNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztnQkFDNUIsS0FBSyxNQUFNLE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSxlQUFlLEdBQUcsSUFBSSwrQkFBdUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO29CQUMxSyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ3pDLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztZQUN0RCxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNoRixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFTSxnQkFBZ0IsQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUNwRCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzVELE1BQU0sS0FBSyxHQUFrQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQzdFLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDdEQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsSUFBSSxFQUFFLENBQXVDLENBQUM7Z0JBQ3RHLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxrQ0FBMEIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQzdFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7WUFDeEQsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNULElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDaEYsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRU0sb0JBQW9CLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDeEQsTUFBTSxLQUFLLEdBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQscUJBQXFCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDN0QsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FBQztnQkFDbkQsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7Z0JBQ25DLEtBQUssTUFBTSxhQUFhLElBQUksY0FBYyxFQUFFLENBQUM7b0JBQzNDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxrQ0FBMEIsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO29CQUM3SCx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDbkQsQ0FBQztnQkFDRCxDQUFDLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixDQUFDLENBQUM7Z0JBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7WUFDekQsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNULElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDaEYsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRVMsU0FBUyxHQUFxQixJQUFJLENBQUM7UUFFbkMsYUFBYTtZQUNyQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsT0FBTztZQUNULENBQUM7WUFFRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDckQsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUM7WUFFL0MsSUFBSSxTQUFvQixDQUFDO1lBQ3pCLElBQUksU0FBUyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUN2QixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBb0QsQ0FBQztnQkFDaEcsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxXQUFXLEdBQUcsUUFBUSxFQUFFLFdBQVcsQ0FBQztnQkFDMUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxFQUFFLGVBQWUsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQztvQkFDM0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxpSUFBaUksQ0FBQyxDQUFDO2dCQUNySixDQUFDO2dCQUNELFNBQVMsR0FBRyxJQUFJLE9BQU8sQ0FBQztvQkFDdEIsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJO29CQUMvQyxjQUFjLEVBQUU7d0JBQ2QsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNO3dCQUN4QixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU07d0JBQ3hCLFdBQVcsRUFBRSxXQUFXLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQzs0QkFDNUMsV0FBVzs0QkFDWCxlQUFlO3lCQUNoQixDQUFDLENBQUMsQ0FBQyxTQUFTO3dCQUNiLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUTtxQkFDN0I7aUJBQ0YsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUM7Z0JBQ3hFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDZixNQUFNLElBQUksS0FBSyxDQUFDLHdMQUF3TCxDQUFDLENBQUM7Z0JBQzVNLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztvQkFDOUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDL0MsQ0FBQztnQkFDRCxTQUFTLEdBQUcsSUFBSSxzQkFBUyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxlQUFTLENBQUM7Z0JBQzdCLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSTtnQkFDdkIsU0FBUztnQkFDVCx1QkFBdUIsRUFBRSxJQUFJO2dCQUM3QixvQ0FBb0MsRUFBRSxJQUFJO2dCQUMxQyxXQUFXLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7b0JBQ2pDLE1BQU0sTUFBTSxHQUFHLEdBQXFDLENBQUM7b0JBQ3JELE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUMvRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7b0JBQzNELDRGQUE0RjtvQkFDNUYsT0FBTyxLQUFLLElBQUksR0FBRyxPQUFPLEdBQUcsU0FBUyxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNqRCxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsZUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBYyxFQUFFLEVBQUU7Z0JBQ25FLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxNQUFNLENBQUMsRUFBRSxVQUFVLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3RGLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsZUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBYyxFQUFFLEVBQUU7Z0JBQ25FLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLDhCQUE4QixNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMvRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFUyxjQUFjLENBQUMsR0FBYyxFQUFFLEtBQWE7WUFDcEQsTUFBTSxPQUFPLEdBQThCLEVBQUUsQ0FBQztZQUM5QyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRTtnQkFDMUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFUywwQkFBMEIsQ0FBQyxjQUEyQixFQUFFLFdBQW1CLEVBQUUsTUFBYztZQUNuRyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztZQUN0RixNQUFNLFdBQVcsR0FBRyxPQUFPLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzVGLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRXBELE1BQU0sWUFBWSxHQUFHLENBQUMsUUFBZ0IsRUFBVSxFQUFFO2dCQUNoRCxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxXQUFXLFVBQVUsQ0FBQyxFQUFFLENBQUM7b0JBQ2xELE9BQU8sUUFBUSxDQUFDO2dCQUNsQixDQUFDO2dCQUNELElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUNwQyxPQUFPLEdBQUcsV0FBVyxHQUFHLFFBQVEsRUFBRSxDQUFDO2dCQUNyQyxDQUFDO2dCQUNELE9BQU8sUUFBUSxDQUFDO1lBQ2xCLENBQUMsQ0FBQztZQUVGLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDcEMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckQsT0FBTyxLQUFLLE1BQU0sQ0FBQyxJQUFJLEdBQUcsY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3RCxDQUFDO1lBRUQsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDOUMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckQsT0FBTyxLQUFLLE1BQU0sQ0FBQyxJQUFJLEdBQUcsY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3RCxDQUFDO1lBRUQsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDakQsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxHQUFHLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7WUFDOUQsQ0FBQztZQUVELElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLGNBQWMsR0FBRyxZQUFZLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEdBQUcsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztZQUM5RCxDQUFDO1lBRUQsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQztRQUVNLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDdEQsTUFBTSxLQUFLLEdBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLG1CQUFtQixRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVyQyxNQUFNLGlCQUFpQixHQUFHLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyRSxNQUFNLHVCQUF1QixHQUFHLEdBQUcsaUJBQWlCLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFDckUsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLGlCQUFpQixxQkFBcUIsR0FBRyxFQUFFLENBQUM7WUFDakYsTUFBTSxNQUFNLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSx5QkFBeUIsQ0FBQztpQkFDaEUsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQzttQkFDcEcsdUJBQXVCLENBQUM7WUFDN0IsTUFBTSxNQUFNLEdBQUcsR0FBcUMsQ0FBQztZQUNyRCxNQUFNLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDakMsTUFBTSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7WUFDNUIsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUMvQixHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBRUQsSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDbkQsR0FBRyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBWSxFQUFFLEtBQWtCLEVBQUUsRUFBRTtvQkFDcEQsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO3dCQUNsQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO3dCQUN2RixPQUFPLGlCQUFpQixDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO29CQUNyRCxDQUFDO29CQUNELE9BQU8saUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN4QyxDQUFDLENBQXlCLENBQUM7WUFDN0IsQ0FBQztZQUVELElBQUksTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNwQiw0REFBNEQ7Z0JBQzVELHlEQUF5RDtnQkFDekQsdURBQXVEO2dCQUN2RCxtRUFBbUU7Z0JBQ25FLGlFQUFpRTtnQkFDakUsZ0VBQWdFO2dCQUNoRSwrREFBK0Q7Z0JBQy9ELGtDQUFrQztnQkFDbEMsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBZSxFQUFFLEVBQUU7b0JBQ2hDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztvQkFDcEMsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQzt3QkFDaEMsVUFBVTt3QkFDVixHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFtQixDQUFDLENBQUM7d0JBQ3hDLE9BQU8sV0FBVyxFQUFFLENBQUM7b0JBQ3ZCLENBQUM7b0JBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQzt3QkFDakMsaUJBQWlCO3dCQUNqQixHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFvQixDQUFDLENBQUM7d0JBQ3pDLE9BQU8sV0FBVyxDQUFDLEtBQTRCLENBQUMsQ0FBQztvQkFDbkQsQ0FBQztvQkFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRSxDQUFDO3dCQUNoQywyQkFBMkI7d0JBQzNCLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQW1CLENBQUMsQ0FBQzt3QkFDeEMsT0FBTyxXQUFXLENBQUMsS0FBNEIsRUFBRSxNQUF3QixDQUFDLENBQUM7b0JBQzdFLENBQUM7b0JBQ0QsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7d0JBQ3pCLE9BQU8sV0FBVyxDQUFDLEtBQTRCLEVBQUUsTUFBd0IsQ0FBQyxDQUFDO29CQUM3RSxDQUFDO29CQUNELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO3dCQUN4QixPQUFPLFdBQVcsQ0FBQyxLQUE0QixDQUFDLENBQUM7b0JBQ25ELENBQUM7b0JBQ0QsT0FBTyxXQUFXLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxDQUFtQixDQUFDO1lBQ3ZCLENBQUM7WUFFRCxJQUFJLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLFNBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQyxPQUFPO1lBQ1QsQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztZQUNsQixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUEscUJBQWMsRUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFN0QsSUFBSSxNQUFNLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBQSxxQkFBYyxFQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFFNUYsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUNuQixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO29CQUN0RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTt3QkFDN0IsTUFBTSxFQUFFLEdBQUc7d0JBQ1gsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3BGLGFBQWEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFFLENBQUM7cUJBQ3ZELENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELDhDQUE4QztnQkFDOUMsSUFBSSxLQUFLLEdBQXFCLElBQUksQ0FBQztnQkFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBZ0IsRUFBRSxFQUFFO29CQUNwRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQ1gsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDbEQsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBMEIsRUFBRSxDQUFDLE1BQWlCLEVBQUUsRUFBRTs0QkFDL0QsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFBO3dCQUNyQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7d0JBQ1gsSUFBSSxLQUFLLEVBQUUsQ0FBQzs0QkFDVixPQUFPLEtBQUssQ0FBQzt3QkFDZixDQUFDO29CQUNILENBQUM7b0JBQ0QsT0FBTyxTQUFTLENBQUM7Z0JBQ25CLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDWCxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO29CQUNuRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTt3QkFDN0IsTUFBTSxFQUFFLEdBQUc7d0JBQ1gsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQy9FLGFBQWEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLENBQUM7cUJBQ2xELENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQVcsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQ3hCLGdDQUFnQztvQkFDaEMsUUFBUSxHQUFHLDBCQUEwQixDQUFBO2dCQUN2QyxDQUFDO2dCQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUVsQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFXLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ3JCLEdBQUcsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7Z0JBRUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQVcsQ0FBQyxDQUFDO2dCQUN4QyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsR0FBRyxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RyxJQUFJLENBQUM7b0JBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDM0UsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBQ3hCLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNoQyxDQUFDO3lCQUFNLENBQUM7d0JBQ04sTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7d0JBQ2pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDaEUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQzVCLENBQUM7b0JBQ0QsT0FBTyxJQUFBLFNBQUUsRUFBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsQ0FBQztnQkFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO29CQUNmLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2pELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNyQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztvQkFDdEYsQ0FBQzt5QkFBTSxJQUFJLFlBQVksSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDO3dCQUM3RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3pJLENBQUM7eUJBQU0sSUFBSSxZQUFZLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQzt3QkFDeEUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNwSSxDQUFDO3lCQUFNLENBQUM7d0JBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2pGLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUEscUJBQWMsRUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQXVCLENBQUMsQ0FBQyxDQUFDO2dCQUN6RyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ25CLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7b0JBQ3RFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO3dCQUM3QixNQUFNLEVBQUUsR0FBRzt3QkFDWCxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDcEYsYUFBYSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsMkJBQTJCLEVBQUUsQ0FBQztxQkFDdkQsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQixNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUNwRCxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDO2dCQUNsRSxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQztnQkFDbEUsSUFBSSxTQUFTLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO29CQUNqRyxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsMEJBQWMsRUFBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDeEUsMEdBQTBHO29CQUMxRyxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEdBQUcsa0JBQWtCLENBQUM7b0JBQ2xGLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGtCQUFrQixHQUFHLHdCQUF3QixHQUFHLG9CQUFvQixHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDekcsSUFBSSxTQUFTLENBQUMsSUFBSSxJQUFJLHdCQUF3QixFQUFFLENBQUM7d0JBQy9DLE1BQU0sWUFBWSxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO3dCQUNuRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsbUJBQW1CLEdBQUcsd0JBQXdCLEdBQUcsb0JBQW9CLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUN2SCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTs0QkFDN0IsTUFBTSxFQUFFLEdBQUc7NEJBQ1gsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO3lCQUNoRCxDQUFDLENBQUM7b0JBQ0wsQ0FBQztnQkFDSCxDQUFDO2dCQUNELHdCQUF3QjtnQkFDeEIsSUFBSSxDQUFDLFNBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQyxPQUFPLElBQUEsU0FBRSxFQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLENBQUM7UUFDSCxDQUFDO1FBRU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQWMsRUFBRSxHQUFjO1lBQzFELE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDL0MsTUFBTSxLQUFLLEdBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsTUFBTSx3QkFBd0IsR0FBRyxPQUFPLGNBQWMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBRWpHLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO2dCQUM5QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMxRyxDQUFDO1lBRUQsSUFBSSxDQUFDO2dCQUNILE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxxQkFBYyxFQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO2dCQUNqRyxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLG1DQUFtQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3BILENBQUM7Z0JBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLHFCQUFjLEVBQUMsb0JBQW9CLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDM0YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqRixDQUFDO1FBQ0gsQ0FBQztRQUVNLGlCQUFpQixDQUFDLEdBQWMsRUFBRSxHQUFjO1lBQ3JELE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzlELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDckQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRU0sS0FBSyxDQUFDLHlCQUF5QixDQUFDLEdBQWMsRUFBRSxJQUFlO1lBQ3BFLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7WUFDN0QsTUFBTSxLQUFLLEdBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QiwyRUFBMkU7WUFDM0UscURBQXFEO1lBQ3JELDhHQUE4RztZQUM5Ryw0RUFBNEU7WUFDNUUsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvRSxPQUFPLGNBQWMsQ0FBQztRQUN4QixDQUFDO1FBRU0sS0FBSyxDQUFDLHNCQUFzQixDQUFDLEdBQWMsRUFBRSxJQUFlO1lBQ2pFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDN0MsQ0FBQztZQUVELElBQUksQ0FBQztnQkFDSCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RSxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyw2Q0FBNkMsR0FBRyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzVFLE1BQU0sS0FBSyxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUM7UUFFTSxjQUFjLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDbEQsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDM0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNyRCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakQsSUFBSSxZQUFZLEtBQUsseUJBQXlCLEVBQUUsQ0FBQztvQkFDL0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM3RixDQUFDO2dCQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUM3QixNQUFNLEVBQUUsR0FBRztvQkFDWCxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM3QixhQUFhLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxvQ0FBb0MsRUFBRSxDQUFDO2lCQUNsRSxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFHTSxjQUFjLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDbEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztZQUM3QyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLElBQUEsV0FBSSxFQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBc0IsRUFBRSxFQUFFO2dCQUNqRixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDdkQsTUFBTSxLQUFLLEdBQWtCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQy9DLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxxQkFBYyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUU3RCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUEscUJBQWMsRUFBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQXVCLENBQUMsQ0FBQyxDQUFDO1lBQ3pHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxJQUFBLGlCQUFVLEVBQUMsSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7Z0JBQzlFLEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLDBCQUEwQixDQUFDLENBQUM7Z0JBQ3BELEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQztnQkFDMUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDekIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0NBQXNDLEdBQUcsS0FBSyxRQUFRLG1CQUFtQixZQUFZLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRyxJQUFJLENBQUM7b0JBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDL0UsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7d0JBQ3hCLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNoQyxDQUFDO3lCQUFNLENBQUM7d0JBQ04sTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7d0JBQ2pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDaEUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQzVCLENBQUM7b0JBQ0QsT0FBTyxJQUFBLFNBQUUsRUFBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsQ0FBQztnQkFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO29CQUNmLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2pELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNyQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztvQkFDdEYsQ0FBQzt5QkFBTSxJQUFJLFlBQVksSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsRUFBRSxDQUFDO3dCQUM3RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3pJLENBQUM7eUJBQU0sSUFBSSxZQUFZLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQzt3QkFDeEUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNwSSxDQUFDO3lCQUFNLENBQUM7d0JBQ04sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2pGLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQ7Ozs7V0FJRztRQUdILHFDQUFxQztRQUU5QixjQUFjLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDbEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxrRUFBa0UsQ0FBQztZQUNsSCxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUVNLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDaEQsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFFLElBQUksV0FBVyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzRSxJQUFJLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUM1TCxJQUFJLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxXQUFXLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQ3RCLFdBQVcsR0FBRyxXQUFXLENBQUM7Z0JBQzVCLENBQUM7Z0JBQ0QsSUFBSSxVQUFVLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQ3JCLFVBQVUsR0FBRyxZQUFZLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO1lBRUQseUZBQXlGO1lBQ3pGLElBQUksZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1lBQzdCLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDO29CQUNILE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3BDLE1BQU0sZUFBZSxHQUFHLE1BQU0scUJBQXFCLENBQUMsNEJBQTRCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO29CQUNwRyxJQUFJLGVBQWUsSUFBSSxlQUFlLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxFQUFFLENBQUM7d0JBQ2pFLGdCQUFnQixHQUFHLElBQUksQ0FBQztvQkFDMUIsQ0FBQztnQkFDSCxDQUFDO2dCQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7b0JBQ2YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbURBQW1ELFVBQVUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUMxRixDQUFDO1lBQ0gsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRTtnQkFDMUMsVUFBVSxFQUFFLFVBQVU7Z0JBQ3RCLFdBQVcsRUFBRSxXQUFXO2dCQUN4QixVQUFVLEVBQUUsVUFBVTtnQkFDdEIsZ0JBQWdCLEVBQUUsZ0JBQWdCO2FBQ25DLENBQUMsQ0FBQztRQUNMLENBQUM7UUFHTSxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQWMsRUFBRSxHQUFjO1lBRXZELE1BQU0sS0FBSyxHQUFrQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRW5ELE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1lBRTFDLElBQUksS0FBSyxHQUFnQixFQUFFLENBQUM7WUFDNUIsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBQ3ZCLElBQUksSUFBSSxHQUFjLEVBQUUsQ0FBQztZQUN6QixJQUFJLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO2dCQUMxQixLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBZ0IsQ0FBQztnQkFDbEQsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFLLENBQUM7Z0JBQ2pCLFFBQVEsR0FBRyxHQUFHLENBQUMsSUFBSyxDQUFDLFVBQVUsQ0FBVyxDQUFDO1lBQzdDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixtQ0FBbUM7Z0JBQ25DLElBQUksR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQztnQkFDOUIsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDWCxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzdELElBQUksT0FBTztvQkFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQStCLENBQUMsQ0FBQztZQUMzRCxDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0IsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3BELElBQUksWUFBWSxHQUF1QixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNELElBQUksWUFBWSxHQUF5QixTQUFTLENBQUM7WUFDbkQsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2pELElBQUksYUFBYSxHQUF1QixHQUFHLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ25FLElBQUksVUFBVSxHQUF5QixTQUFTLENBQUM7WUFFakQsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxZQUFZLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQzdDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixZQUFZLEdBQUcsU0FBUyxDQUFDO1lBQzNCLENBQUM7WUFFRCxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDMUMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFDekIsQ0FBQztZQUVELElBQUksYUFBYSxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUN4QixhQUFhLEdBQUcsU0FBUyxDQUFDO1lBQzVCLENBQUM7WUFFRCwyRkFBMkY7WUFDM0Ysa0RBQWtEO1lBQ2xELGtEQUFrRDtZQUNsRCw4Q0FBOEM7WUFDOUMsaUZBQWlGO1lBRWpGLElBQUksQ0FBQztnQkFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUM3TCxJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUM5QyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRSxDQUFDO1lBQ0gsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUN0QixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM3QixhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUM7b0JBQ3ZFLEVBQUUsRUFBRSxZQUFZO2lCQUNqQixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVNLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUM5RCxNQUFNLEtBQUssR0FBa0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUUxQyxJQUFJLEtBQUssR0FBZ0IsRUFBRSxDQUFDO1lBQzVCLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQztZQUN2QixJQUFJLElBQUksR0FBYyxFQUFFLENBQUM7WUFDekIsSUFBSSxHQUFHLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztnQkFDMUIsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQWdCLENBQUM7Z0JBQ2xELElBQUksR0FBRyxHQUFHLENBQUMsSUFBSyxDQUFDO2dCQUNqQixRQUFRLEdBQUcsR0FBRyxDQUFDLElBQUssQ0FBQyxVQUFVLENBQVcsQ0FBQztZQUM3QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sbUNBQW1DO2dCQUNuQyxJQUFJLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0JBQzlCLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLE9BQU87b0JBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUErQixDQUFDLENBQUM7WUFDM0QsQ0FBQztZQUNELE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDM0MsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0IsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3QyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9CLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNwRCxJQUFJLFlBQVksR0FBdUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzRCxJQUFJLFlBQVksR0FBeUIsU0FBUyxDQUFDO1lBQ25ELE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNqRCxJQUFJLFVBQVUsR0FBeUIsU0FBUyxDQUFDO1lBRWpELElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztnQkFDbEMsWUFBWSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUM3QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sWUFBWSxHQUFHLFNBQVMsQ0FBQztZQUMzQixDQUFDO1lBRUQsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixVQUFVLEdBQUcsU0FBUyxDQUFDO1lBQ3pCLENBQUM7WUFFRCwyRkFBMkY7WUFDM0Ysa0RBQWtEO1lBQ2xELGtEQUFrRDtZQUNsRCw4Q0FBOEM7WUFDOUMsaUZBQWlGO1lBRWpGLElBQUksQ0FBQztnQkFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDckwsSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDYixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDOUMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDbkUsQ0FBQztZQUNILENBQUM7WUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUNmLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDdEIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDN0IsYUFBYSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDO29CQUN2RSxFQUFFLEVBQUUsWUFBWTtpQkFDakIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFFTSxvQkFBb0IsQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUN4RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFHTyxjQUFjLENBQUMsR0FBK0I7WUFDcEQsTUFBTSxRQUFRLEdBQStCLEVBQUUsQ0FBQztZQUNoRCxLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUN0QixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDNUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxJQUFJLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO29CQUNyQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFFUyxLQUFLLENBQUMsVUFBVSxDQUFDLGFBQXNCLEVBQUUsVUFBbUIsRUFBRSxLQUFjLEVBQUUsSUFBYSxFQUFFLElBQWUsRUFBRSxLQUFrQixFQUFFLEtBQW9CLEVBQUUsaUJBQTBCLFNBQVMsRUFBRSxjQUF1QixTQUFTLEVBQUUsT0FBZ0IsU0FBUyxFQUFFLGVBQXdCLFNBQVMsRUFBRSxlQUF3QixTQUFTLEVBQUUsYUFBc0IsU0FBUyxFQUFFLGdCQUF5QixTQUFTO1lBQzNZLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQVcsQ0FBQztZQUM1QyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDekQsVUFBVSxHQUFJLFVBQXFCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pELENBQUM7WUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDM0QsV0FBVyxHQUFJLFdBQXNCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUMvTSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7Z0JBQzVCLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQ2pELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUVELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDdEMsTUFBTSxVQUFVLEdBQUcsS0FBZSxDQUFDO1lBQ25DLE1BQU0sT0FBTyxHQUFHLElBQWMsQ0FBQztZQUMvQixNQUFNLFVBQVUsR0FBRyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFOUMsTUFBTSxRQUFRLEdBQStCLEVBQUUsQ0FBQztZQUNoRCxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBQ3BDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxVQUFVLENBQUM7WUFDckMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztZQUU5QixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUUzQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUF1QyxDQUFDO2dCQUMxRCxNQUFNLElBQUksR0FBK0IsRUFBRSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMvQixNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQXVDLENBQUM7Z0JBQ2xGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ25GLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkIsQ0FBQztZQUVELFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDMUIsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVTLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxhQUFzQixFQUFFLFVBQW1CLEVBQUUsS0FBYyxFQUFFLElBQWEsRUFBRSxJQUFlLEVBQUUsS0FBa0IsRUFBRSxLQUFvQixFQUFFLGlCQUEwQixTQUFTLEVBQUUsY0FBdUIsU0FBUyxFQUFFLE9BQWdCLFNBQVMsRUFBRSxlQUF3QixTQUFTLEVBQUUsZUFBd0IsU0FBUyxFQUFFLGFBQXNCLFNBQVM7WUFDOVcsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBVyxDQUFDO1lBQzVDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUN6RCxVQUFVLEdBQUksVUFBcUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakQsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUMzRCxXQUFXLEdBQUksV0FBc0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkQsQ0FBQztZQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN2TSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7Z0JBQzVCLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUVELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7WUFDdEMsTUFBTSxVQUFVLEdBQUcsS0FBZSxDQUFDO1lBQ25DLE1BQU0sT0FBTyxHQUFHLElBQWMsQ0FBQztZQUMvQixNQUFNLFVBQVUsR0FBRyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFOUMsTUFBTSxRQUFRLEdBQStCLEVBQUUsQ0FBQztZQUNoRCxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsVUFBVSxDQUFDO1lBQ3BDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxVQUFVLENBQUM7WUFDckMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztZQUU5QixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUUzQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUF1QyxDQUFDO2dCQUMxRCxNQUFNLElBQUksR0FBK0IsRUFBRSxDQUFDO2dCQUM1QyxNQUFNLGFBQWEsR0FBRyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsQ0FBdUMsQ0FBQztnQkFDakcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDL0IsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQXVDLENBQUM7Z0JBQ2xHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDckQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDekMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixDQUFDO1lBRUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUMxQixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRU8sbUJBQW1CLENBQUMsZUFBMkMsRUFBRSxXQUF1QztZQUM5RyxxSUFBcUk7WUFDckksT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBaUIsRUFBRSxRQUFpQixFQUFFLEVBQUU7Z0JBQzVGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUM1QixpRkFBaUY7b0JBQ2pGLDBFQUEwRTtvQkFDMUUsdUhBQXVIO29CQUN2SCxPQUFPLFFBQVEsQ0FBQztnQkFDbEIsQ0FBQztnQkFDRCxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRjtJQTlsRFksa0JBQU0sU0E4bERsQixDQUFBO0FBQ0gsQ0FBQyxFQXJtRGdCLFdBQVcsMkJBQVgsV0FBVyxRQXFtRDNCIn0=
1745
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3JkQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cm9sbGVycy9SZWNvcmRDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDs7Ozs7O0FBRTlELCtCQUVjO0FBQ2QsOENBQTBEO0FBQzFELG9DQWFrQjtBQUNsQixpQ0FBaUM7QUFDakMsd0NBQTBEO0FBRTFELHdFQUE2RDtBQUU3RCw0RUFBeUU7QUFDekUsbUVBQXVFO0FBSXZFLHNGQUFtRjtBQVluRjs7R0FFRztBQUVILElBQWlCLFdBQVcsQ0F5MEQzQjtBQXowREQsV0FBaUIsV0FBVztJQUMxQjs7OztPQUlHO0lBQ0gsTUFBYSxNQUFPLFNBQVEsbUJBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUVyRCxjQUFjLENBQWtCO1FBQ2hDLGFBQWEsQ0FBaUI7UUFDOUIsaUJBQWlCLENBQXFCO1FBRS9CLElBQUk7WUFDVCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBMkMsQ0FBQztZQUNqRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxjQUE4QyxDQUFDO1lBRXZGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsOEJBQThCLEVBQUUsT0FBTyxDQUFDLEVBQUU7Z0JBQ3RHLE1BQU0scUJB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