@tricoteuses/assemblee 1.10.5 → 2.0.2

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 (400) hide show
  1. package/README.md +8 -1
  2. package/lib/amendements-CN7bRFdP.js +259 -0
  3. package/lib/amendements-CN7bRFdP.js.map +1 -0
  4. package/lib/amendements-Cg1lyCBp.js +735 -0
  5. package/lib/amendements-Cg1lyCBp.js.map +1 -0
  6. package/lib/api.d.ts +1 -0
  7. package/lib/api.d.ts.map +1 -0
  8. package/lib/cleaners/actes_legislatifs.d.ts +1 -0
  9. package/lib/cleaners/actes_legislatifs.d.ts.map +1 -0
  10. package/lib/cleaners/acteurs.d.ts +1 -0
  11. package/lib/cleaners/acteurs.d.ts.map +1 -0
  12. package/lib/cleaners/amendements.d.ts +1 -0
  13. package/lib/cleaners/amendements.d.ts.map +1 -0
  14. package/lib/cleaners/debats.d.ts +1 -0
  15. package/lib/cleaners/debats.d.ts.map +1 -0
  16. package/lib/cleaners/documents.d.ts +1 -0
  17. package/lib/cleaners/documents.d.ts.map +1 -0
  18. package/lib/cleaners/dossiers_legislatifs.d.ts +1 -0
  19. package/lib/cleaners/dossiers_legislatifs.d.ts.map +1 -0
  20. package/lib/cleaners/index.d.ts +10 -9
  21. package/lib/cleaners/index.d.ts.map +1 -0
  22. package/lib/cleaners/organes.d.ts +1 -0
  23. package/lib/cleaners/organes.d.ts.map +1 -0
  24. package/lib/cleaners/questions.d.ts +1 -0
  25. package/lib/cleaners/questions.d.ts.map +1 -0
  26. package/lib/cleaners/reunions.d.ts +1 -0
  27. package/lib/cleaners/reunions.d.ts.map +1 -0
  28. package/lib/cleaners/scrutins.d.ts +1 -0
  29. package/lib/cleaners/scrutins.d.ts.map +1 -0
  30. package/lib/cleaners/xml.d.ts +1 -0
  31. package/lib/cleaners/xml.d.ts.map +1 -0
  32. package/lib/cleaners.js +1138 -0
  33. package/lib/cleaners.js.map +1 -0
  34. package/lib/datasets.d.ts +4 -3
  35. package/lib/datasets.d.ts.map +1 -0
  36. package/lib/dates.d.ts +1 -0
  37. package/lib/dates.d.ts.map +1 -0
  38. package/lib/debats-BwZYgzXe.js +3978 -0
  39. package/lib/debats-BwZYgzXe.js.map +1 -0
  40. package/lib/dossiers_legislatifs.d.ts +3 -2
  41. package/lib/dossiers_legislatifs.d.ts.map +1 -0
  42. package/lib/file_systems.d.ts +1 -0
  43. package/lib/file_systems.d.ts.map +1 -0
  44. package/lib/git.d.ts +1 -0
  45. package/lib/git.d.ts.map +1 -0
  46. package/lib/index.d.ts +18 -22
  47. package/lib/index.d.ts.map +1 -0
  48. package/lib/index.js +1916 -285
  49. package/lib/index.js.map +1 -0
  50. package/lib/inserters.d.ts +6 -5
  51. package/lib/inserters.d.ts.map +1 -0
  52. package/lib/loaders.d.ts +13 -12
  53. package/lib/loaders.d.ts.map +1 -0
  54. package/lib/loaders.js +812 -1516
  55. package/lib/loaders.js.map +1 -0
  56. package/lib/logger.d.ts +1 -0
  57. package/lib/logger.d.ts.map +1 -0
  58. package/lib/organes.d.ts +2 -1
  59. package/lib/organes.d.ts.map +1 -0
  60. package/lib/parse-CzW8NHW5.js +2850 -0
  61. package/lib/parse-CzW8NHW5.js.map +1 -0
  62. package/lib/parsers/index.d.ts +3 -3
  63. package/lib/parsers/index.d.ts.map +1 -0
  64. package/lib/parsers/plf.d.ts +2 -0
  65. package/lib/parsers/plf.d.ts.map +1 -0
  66. package/lib/parsers/recherche_amendements.d.ts +3 -2
  67. package/lib/parsers/recherche_amendements.d.ts.map +1 -0
  68. package/lib/parsers/textes_lois.d.ts +2 -23
  69. package/lib/parsers/textes_lois.d.ts.map +1 -0
  70. package/lib/parsers.js +393 -0
  71. package/lib/parsers.js.map +1 -0
  72. package/lib/raw_types/acteurs_et_organes.d.ts +1 -0
  73. package/lib/raw_types/acteurs_et_organes.d.ts.map +1 -0
  74. package/lib/raw_types/agendas.d.ts +1 -0
  75. package/lib/raw_types/agendas.d.ts.map +1 -0
  76. package/lib/raw_types/amendements.d.ts +1 -0
  77. package/lib/raw_types/amendements.d.ts.map +1 -0
  78. package/lib/raw_types/debats.d.ts +3 -2
  79. package/lib/raw_types/debats.d.ts.map +1 -0
  80. package/lib/raw_types/dossiers_legislatifs.d.ts +2 -1
  81. package/lib/raw_types/dossiers_legislatifs.d.ts.map +1 -0
  82. package/lib/raw_types/questions.d.ts +1 -0
  83. package/lib/raw_types/questions.d.ts.map +1 -0
  84. package/lib/raw_types/scrutins.d.ts +1 -0
  85. package/lib/raw_types/scrutins.d.ts.map +1 -0
  86. package/lib/schemas/acteurs_et_organes.d.json +982 -0
  87. package/lib/schemas/acteurs_et_organes.json +1166 -0
  88. package/lib/schemas/agendas.d.json +1561 -0
  89. package/lib/schemas/agendas.json +1745 -0
  90. package/lib/schemas/amendements.d.json +1901 -0
  91. package/lib/schemas/amendements.json +2085 -0
  92. package/lib/schemas/debats.d.json +623 -0
  93. package/lib/schemas/debats.json +842 -0
  94. package/lib/schemas/dossiers_legislatifs.d.json +3690 -0
  95. package/lib/schemas/dossiers_legislatifs.json +3874 -0
  96. package/lib/schemas/legislatures.d.json +17 -0
  97. package/lib/schemas/legislatures.json +17 -0
  98. package/lib/schemas/questions.d.json +520 -0
  99. package/lib/schemas/questions.json +704 -0
  100. package/lib/schemas/scrutins.d.json +517 -0
  101. package/lib/schemas/scrutins.json +701 -0
  102. package/lib/scripts/add_links_to_documents.d.ts +2 -0
  103. package/lib/scripts/add_links_to_documents.d.ts.map +1 -0
  104. package/lib/scripts/clean_reorganized_data.d.ts +1 -0
  105. package/lib/scripts/clean_reorganized_data.d.ts.map +1 -0
  106. package/lib/scripts/copy-schemas.d.ts +2 -0
  107. package/lib/scripts/copy-schemas.d.ts.map +1 -0
  108. package/lib/scripts/diff_amendements.d.ts +1 -0
  109. package/lib/scripts/diff_amendements.d.ts.map +1 -0
  110. package/lib/scripts/document_dossiers_legislatifs.d.ts +1 -0
  111. package/lib/scripts/document_dossiers_legislatifs.d.ts.map +1 -0
  112. package/lib/scripts/generate-json-schemas.d.ts +2 -0
  113. package/lib/scripts/generate-json-schemas.d.ts.map +1 -0
  114. package/lib/scripts/get_today_reunions.d.ts +1 -0
  115. package/lib/scripts/get_today_reunions.d.ts.map +1 -0
  116. package/lib/scripts/merge_scrutins.d.ts +1 -0
  117. package/lib/scripts/merge_scrutins.d.ts.map +1 -0
  118. package/lib/scripts/process_open_dataset.d.ts +1 -0
  119. package/lib/scripts/process_open_dataset.d.ts.map +1 -0
  120. package/lib/scripts/raw_types_from_amendements.d.ts +1 -0
  121. package/lib/scripts/raw_types_from_amendements.d.ts.map +1 -0
  122. package/lib/scripts/reorganize_data.d.ts +1 -0
  123. package/lib/scripts/reorganize_data.d.ts.map +1 -0
  124. package/lib/scripts/retrieve_deputes_photos.d.ts +2 -1
  125. package/lib/scripts/retrieve_deputes_photos.d.ts.map +1 -0
  126. package/lib/scripts/retrieve_documents.d.ts +1 -0
  127. package/lib/scripts/retrieve_documents.d.ts.map +1 -0
  128. package/lib/scripts/retrieve_open_data.d.ts +1 -0
  129. package/lib/scripts/retrieve_open_data.d.ts.map +1 -0
  130. package/lib/scripts/retrieve_pending_amendments.d.ts +1 -0
  131. package/lib/scripts/retrieve_pending_amendments.d.ts.map +1 -0
  132. package/lib/scripts/retrieve_senateurs_photos.d.ts +1 -0
  133. package/lib/scripts/retrieve_senateurs_photos.d.ts.map +1 -0
  134. package/lib/scripts/shared/cli_helpers.d.ts +1 -0
  135. package/lib/scripts/shared/cli_helpers.d.ts.map +1 -0
  136. package/lib/scripts/test_iter_load.d.ts +1 -0
  137. package/lib/scripts/test_iter_load.d.ts.map +1 -0
  138. package/lib/scripts/test_load.d.ts +1 -0
  139. package/lib/scripts/test_load.d.ts.map +1 -0
  140. package/lib/scripts/test_load_big_files.d.ts +1 -0
  141. package/lib/scripts/test_load_big_files.d.ts.map +1 -0
  142. package/lib/scripts/validate_json.d.ts +1 -0
  143. package/lib/scripts/validate_json.d.ts.map +1 -0
  144. package/lib/shared_types/codes_actes.d.ts +1 -0
  145. package/lib/shared_types/codes_actes.d.ts.map +1 -0
  146. package/lib/strings.d.ts +1 -0
  147. package/lib/strings.d.ts.map +1 -0
  148. package/lib/types/acteurs_et_organes.d.ts +341 -0
  149. package/lib/types/acteurs_et_organes.d.ts.map +1 -0
  150. package/lib/types/agendas.d.ts +237 -10
  151. package/lib/types/agendas.d.ts.map +1 -0
  152. package/lib/types/amendements.d.ts +277 -1
  153. package/lib/types/amendements.d.ts.map +1 -0
  154. package/lib/types/debats.d.ts +53 -2
  155. package/lib/types/debats.d.ts.map +1 -0
  156. package/lib/types/dossiers_legislatifs.d.ts +404 -9
  157. package/lib/types/dossiers_legislatifs.d.ts.map +1 -0
  158. package/lib/types/legislatures.d.ts +1 -0
  159. package/lib/types/legislatures.d.ts.map +1 -0
  160. package/lib/types/questions.d.ts +100 -2
  161. package/lib/types/questions.d.ts.map +1 -0
  162. package/lib/types/scrutins.d.ts +102 -0
  163. package/lib/types/scrutins.d.ts.map +1 -0
  164. package/lib/urls.d.ts +3 -2
  165. package/lib/urls.d.ts.map +1 -0
  166. package/package.json +31 -95
  167. package/lib/api.js +0 -52
  168. package/lib/api.mjs +0 -45
  169. package/lib/bugs/acteur-00010/plugin.test.d.ts +0 -1
  170. package/lib/bugs/acteur-00010/plugin.test.js +0 -90
  171. package/lib/bugs/acteur-00010/plugin.test.mjs +0 -33
  172. package/lib/bugs/acteur-00010.d.ts +0 -7
  173. package/lib/bugs/acteur-00010.js +0 -116
  174. package/lib/bugs/acteur-00010.mjs +0 -26
  175. package/lib/bugs/agenda-00002/plugin.test.d.ts +0 -1
  176. package/lib/bugs/agenda-00002/plugin.test.js +0 -124
  177. package/lib/bugs/agenda-00002/plugin.test.mjs +0 -50
  178. package/lib/bugs/agenda-00002.d.ts +0 -15
  179. package/lib/bugs/agenda-00002.js +0 -406
  180. package/lib/bugs/agenda-00002.mjs +0 -172
  181. package/lib/bugs/agenda-00008/plugin.test.d.ts +0 -1
  182. package/lib/bugs/agenda-00008/plugin.test.js +0 -92
  183. package/lib/bugs/agenda-00008/plugin.test.mjs +0 -31
  184. package/lib/bugs/agenda-00008.d.ts +0 -7
  185. package/lib/bugs/agenda-00008.js +0 -123
  186. package/lib/bugs/agenda-00008.mjs +0 -26
  187. package/lib/bugs/agenda-00011/plugin.test.d.ts +0 -1
  188. package/lib/bugs/agenda-00011/plugin.test.js +0 -263
  189. package/lib/bugs/agenda-00011/plugin.test.mjs +0 -152
  190. package/lib/bugs/agenda-00011.d.ts +0 -16
  191. package/lib/bugs/agenda-00011.js +0 -333
  192. package/lib/bugs/agenda-00011.mjs +0 -125
  193. package/lib/bugs.d.ts +0 -21
  194. package/lib/bugs.js +0 -452
  195. package/lib/bugs.mjs +0 -70
  196. package/lib/cleaners/actes_legislatifs.js +0 -315
  197. package/lib/cleaners/actes_legislatifs.mjs +0 -253
  198. package/lib/cleaners/acteurs.js +0 -265
  199. package/lib/cleaners/acteurs.mjs +0 -180
  200. package/lib/cleaners/amendements.js +0 -294
  201. package/lib/cleaners/amendements.mjs +0 -227
  202. package/lib/cleaners/debats.js +0 -12
  203. package/lib/cleaners/debats.mjs +0 -5
  204. package/lib/cleaners/documents.js +0 -205
  205. package/lib/cleaners/documents.mjs +0 -133
  206. package/lib/cleaners/dossiers_legislatifs.js +0 -131
  207. package/lib/cleaners/dossiers_legislatifs.mjs +0 -70
  208. package/lib/cleaners/index.js +0 -70
  209. package/lib/cleaners/index.mjs +0 -10
  210. package/lib/cleaners/organes.js +0 -65
  211. package/lib/cleaners/organes.mjs +0 -48
  212. package/lib/cleaners/questions.js +0 -12
  213. package/lib/cleaners/questions.mjs +0 -5
  214. package/lib/cleaners/reunions.js +0 -312
  215. package/lib/cleaners/reunions.mjs +0 -255
  216. package/lib/cleaners/scrutins.js +0 -340
  217. package/lib/cleaners/scrutins.mjs +0 -221
  218. package/lib/cleaners/xml.js +0 -74
  219. package/lib/cleaners/xml.mjs +0 -59
  220. package/lib/datasets.js +0 -837
  221. package/lib/datasets.mjs +0 -755
  222. package/lib/dates.js +0 -124
  223. package/lib/dates.mjs +0 -100
  224. package/lib/dossiers_legislatifs.js +0 -346
  225. package/lib/dossiers_legislatifs.mjs +0 -208
  226. package/lib/file_systems.js +0 -162
  227. package/lib/file_systems.mjs +0 -62
  228. package/lib/git.js +0 -223
  229. package/lib/git.mjs +0 -151
  230. package/lib/index.mjs +0 -17
  231. package/lib/inserters.js +0 -521
  232. package/lib/inserters.mjs +0 -337
  233. package/lib/loaders.mjs +0 -886
  234. package/lib/logger.js +0 -35
  235. package/lib/logger.mjs +0 -26
  236. package/lib/organes.js +0 -22
  237. package/lib/organes.mjs +0 -15
  238. package/lib/parsers/documents.d.ts +0 -62
  239. package/lib/parsers/documents.js +0 -453
  240. package/lib/parsers/documents.mjs +0 -370
  241. package/lib/parsers/index.js +0 -40
  242. package/lib/parsers/index.mjs +0 -4
  243. package/lib/parsers/recherche_amendements.js +0 -403
  244. package/lib/parsers/recherche_amendements.mjs +0 -167
  245. package/lib/parsers/textes_lois.js +0 -307
  246. package/lib/parsers/textes_lois.mjs +0 -264
  247. package/lib/raw_types/acteurs_et_organes.js +0 -1215
  248. package/lib/raw_types/acteurs_et_organes.mjs +0 -1148
  249. package/lib/raw_types/agendas.js +0 -777
  250. package/lib/raw_types/agendas.mjs +0 -724
  251. package/lib/raw_types/amendements.js +0 -1052
  252. package/lib/raw_types/amendements.mjs +0 -993
  253. package/lib/raw_types/debats.js +0 -630
  254. package/lib/raw_types/debats.mjs +0 -573
  255. package/lib/raw_types/dossiers_legislatifs.js +0 -1529
  256. package/lib/raw_types/dossiers_legislatifs.mjs +0 -1471
  257. package/lib/raw_types/questions.js +0 -469
  258. package/lib/raw_types/questions.mjs +0 -416
  259. package/lib/raw_types/scrutins.js +0 -651
  260. package/lib/raw_types/scrutins.mjs +0 -598
  261. package/lib/schemas/acteur/Acteur.json +0 -56
  262. package/lib/schemas/acteur/AdresseElectronique.json +0 -52
  263. package/lib/schemas/acteur/AdressePostale.json +0 -75
  264. package/lib/schemas/acteur/Civ.json +0 -14
  265. package/lib/schemas/acteur/Collaborateur.json +0 -29
  266. package/lib/schemas/acteur/EtatCivil.json +0 -51
  267. package/lib/schemas/acteur/Ident.json +0 -40
  268. package/lib/schemas/acteur/Lieu.json +0 -66
  269. package/lib/schemas/acteur/Mandat.json +0 -192
  270. package/lib/schemas/acteur/Profession.json +0 -46
  271. package/lib/schemas/agenda/Agenda.json +0 -318
  272. package/lib/schemas/agenda/CycleDeVie.json +0 -45
  273. package/lib/schemas/agenda/PointOdj.json +0 -82
  274. package/lib/schemas/amendement/Amendement.json +0 -246
  275. package/lib/schemas/amendement/Diff.json +0 -25
  276. package/lib/schemas/amendement/DispositifAmdtCredit.json +0 -85
  277. package/lib/schemas/amendement/Identifiant.json +0 -62
  278. package/lib/schemas/amendement/PointeurFragmentTexte.json +0 -127
  279. package/lib/schemas/amendement/Representation.json +0 -67
  280. package/lib/schemas/amendement/Total.json +0 -26
  281. package/lib/schemas/converted_from_type/acteurs_et_organes.json +0 -666
  282. package/lib/schemas/converted_from_type/agendas.json +0 -1100
  283. package/lib/schemas/converted_from_type/amendements.json +0 -3191
  284. package/lib/schemas/converted_from_type/debats.json +0 -682
  285. package/lib/schemas/converted_from_type/deputes.json +0 -26
  286. package/lib/schemas/converted_from_type/dossiers_legislatifs.json +0 -2918
  287. package/lib/schemas/converted_from_type/legislatures.json +0 -16
  288. package/lib/schemas/converted_from_type/questions.json +0 -328
  289. package/lib/schemas/converted_from_type/scrutins.json +0 -393
  290. package/lib/schemas/debat/Contenu.json +0 -75
  291. package/lib/schemas/debat/Debat.json +0 -40
  292. package/lib/schemas/debat/Metadonnees.json +0 -75
  293. package/lib/schemas/debat/Orateur.json +0 -60
  294. package/lib/schemas/debat/Point.json +0 -169
  295. package/lib/schemas/debat/Sommaire.json +0 -71
  296. package/lib/schemas/debat/SommaireElement.json +0 -108
  297. package/lib/schemas/debat/Texte.json +0 -34
  298. package/lib/schemas/document/CodeLibelle.json +0 -25
  299. package/lib/schemas/document/Document.json +0 -385
  300. package/lib/schemas/document/Indexation.json +0 -38
  301. package/lib/schemas/dossier/ActeLegislatif.json +0 -211
  302. package/lib/schemas/dossier/ActeLegislatifBase.json +0 -62
  303. package/lib/schemas/dossier/Agenda.json +0 -23
  304. package/lib/schemas/dossier/ConseilConstitutionnel.json +0 -35
  305. package/lib/schemas/dossier/Decision.json +0 -25
  306. package/lib/schemas/dossier/Dossier.json +0 -124
  307. package/lib/schemas/dossier/EtudeImpact.json +0 -29
  308. package/lib/schemas/dossier/EtudePlf.json +0 -105
  309. package/lib/schemas/dossier/Europe.json +0 -42
  310. package/lib/schemas/dossier/FamCodeLibelle.json +0 -25
  311. package/lib/schemas/dossier/InfoJO.json +0 -23
  312. package/lib/schemas/dossier/Initiateur.json +0 -36
  313. package/lib/schemas/dossier/Motion.json +0 -27
  314. package/lib/schemas/dossier/Promulgation.json +0 -62
  315. package/lib/schemas/dossier/Rapporteur.json +0 -36
  316. package/lib/schemas/dossier/Texte.json +0 -47
  317. package/lib/schemas/organe/CodeTypeOrgane.json +0 -43
  318. package/lib/schemas/organe/Organe.json +0 -136
  319. package/lib/schemas/organe/ViMoDe.json +0 -28
  320. package/lib/schemas/question/Auteur.json +0 -58
  321. package/lib/schemas/question/Cloture.json +0 -28
  322. package/lib/schemas/question/InfoJO.json +0 -40
  323. package/lib/schemas/question/MinAttribElement.json +0 -30
  324. package/lib/schemas/question/Question.json +0 -172
  325. package/lib/schemas/question/Renouvellement.json +0 -17
  326. package/lib/schemas/question/Signalement.json +0 -21
  327. package/lib/schemas/question/Texte.json +0 -24
  328. package/lib/schemas/scrutin/DecompteVoix.json +0 -35
  329. package/lib/schemas/scrutin/Dysfonctionnement.json +0 -50
  330. package/lib/schemas/scrutin/MiseAuPoint.json +0 -53
  331. package/lib/schemas/scrutin/OrganeVotant.json +0 -88
  332. package/lib/schemas/scrutin/Scrutin.json +0 -187
  333. package/lib/schemas/scrutin/Votant.json +0 -37
  334. package/lib/scripts/bugs_helper.d.ts +0 -13
  335. package/lib/scripts/bugs_helper.js +0 -595
  336. package/lib/scripts/bugs_helper.mjs +0 -251
  337. package/lib/scripts/clean_reorganized_data.js +0 -613
  338. package/lib/scripts/clean_reorganized_data.mjs +0 -276
  339. package/lib/scripts/diff_amendements.js +0 -249
  340. package/lib/scripts/diff_amendements.mjs +0 -202
  341. package/lib/scripts/document_dossiers_legislatifs.js +0 -655
  342. package/lib/scripts/document_dossiers_legislatifs.mjs +0 -414
  343. package/lib/scripts/get_today_reunions.js +0 -37
  344. package/lib/scripts/get_today_reunions.mjs +0 -31
  345. package/lib/scripts/merge_scrutins.js +0 -97
  346. package/lib/scripts/merge_scrutins.mjs +0 -47
  347. package/lib/scripts/parse_textes_lois.d.ts +0 -1
  348. package/lib/scripts/parse_textes_lois.js +0 -171
  349. package/lib/scripts/parse_textes_lois.mjs +0 -140
  350. package/lib/scripts/process_open_dataset.js +0 -301
  351. package/lib/scripts/process_open_dataset.mjs +0 -134
  352. package/lib/scripts/raw_types_from_amendements.js +0 -135
  353. package/lib/scripts/raw_types_from_amendements.mjs +0 -134
  354. package/lib/scripts/reorganize_data.js +0 -805
  355. package/lib/scripts/reorganize_data.mjs +0 -517
  356. package/lib/scripts/retrieve_deputes_photos.js +0 -310
  357. package/lib/scripts/retrieve_deputes_photos.mjs +0 -158
  358. package/lib/scripts/retrieve_documents.js +0 -547
  359. package/lib/scripts/retrieve_documents.mjs +0 -242
  360. package/lib/scripts/retrieve_open_data.js +0 -107
  361. package/lib/scripts/retrieve_open_data.mjs +0 -26
  362. package/lib/scripts/retrieve_pending_amendments.js +0 -206
  363. package/lib/scripts/retrieve_pending_amendments.mjs +0 -57
  364. package/lib/scripts/retrieve_senateurs_photos.js +0 -234
  365. package/lib/scripts/retrieve_senateurs_photos.mjs +0 -116
  366. package/lib/scripts/retrieve_textes_lois.d.ts +0 -1
  367. package/lib/scripts/retrieve_textes_lois.js +0 -240
  368. package/lib/scripts/retrieve_textes_lois.mjs +0 -85
  369. package/lib/scripts/shared/cli_helpers.js +0 -89
  370. package/lib/scripts/shared/cli_helpers.mjs +0 -81
  371. package/lib/scripts/test_iter_load.js +0 -155
  372. package/lib/scripts/test_iter_load.mjs +0 -72
  373. package/lib/scripts/test_load.js +0 -26
  374. package/lib/scripts/test_load.mjs +0 -16
  375. package/lib/scripts/test_load_big_files.js +0 -26
  376. package/lib/scripts/test_load_big_files.mjs +0 -16
  377. package/lib/scripts/validate_json.js +0 -353
  378. package/lib/scripts/validate_json.mjs +0 -184
  379. package/lib/shared_types/codes_actes.js +0 -231
  380. package/lib/shared_types/codes_actes.mjs +0 -224
  381. package/lib/strings.js +0 -16
  382. package/lib/strings.mjs +0 -7
  383. package/lib/types/acteurs_et_organes.js +0 -965
  384. package/lib/types/acteurs_et_organes.mjs +0 -906
  385. package/lib/types/agendas.js +0 -628
  386. package/lib/types/agendas.mjs +0 -575
  387. package/lib/types/amendements.js +0 -899
  388. package/lib/types/amendements.mjs +0 -842
  389. package/lib/types/debats.js +0 -619
  390. package/lib/types/debats.mjs +0 -562
  391. package/lib/types/dossiers_legislatifs.js +0 -1188
  392. package/lib/types/dossiers_legislatifs.mjs +0 -1130
  393. package/lib/types/legislatures.js +0 -17
  394. package/lib/types/legislatures.mjs +0 -10
  395. package/lib/types/questions.js +0 -454
  396. package/lib/types/questions.mjs +0 -401
  397. package/lib/types/scrutins.js +0 -556
  398. package/lib/types/scrutins.mjs +0 -503
  399. package/lib/urls.js +0 -325
  400. package/lib/urls.mjs +0 -258
@@ -1,1130 +0,0 @@
1
- // To parse this data:
2
- //
3
- // import { Convert, Document, DossierParlementaire, DossiersLegislatifs } from "./file";
4
- //
5
- // const document = Convert.toDocument(json);
6
- // const dossierParlementaire = Convert.toDossierParlementaire(json);
7
- // const dossiersLegislatifs = Convert.toDossiersLegislatifs(json);
8
- //
9
- // These functions will throw an error if the JSON doesn't
10
- // match the expected interface, even if the JSON is valid.
11
- import { CodeActe } from "../shared_types/codes_actes.mjs";
12
- export let DossierParlementaireXsiType = /*#__PURE__*/function (DossierParlementaireXsiType) {
13
- DossierParlementaireXsiType["DossierCommissionEnqueteType"] = "DossierCommissionEnquete_Type";
14
- DossierParlementaireXsiType["DossierIniativeExecutifType"] = "DossierIniativeExecutif_Type";
15
- DossierParlementaireXsiType["DossierLegislatifType"] = "DossierLegislatif_Type";
16
- DossierParlementaireXsiType["DossierMissionControleType"] = "DossierMissionControle_Type";
17
- DossierParlementaireXsiType["DossierMissionInformationType"] = "DossierMissionInformation_Type";
18
- DossierParlementaireXsiType["DossierResolutionAn"] = "DossierResolutionAN";
19
- return DossierParlementaireXsiType;
20
- }({});
21
- export let TypeBudget = /*#__PURE__*/function (TypeBudget) {
22
- TypeBudget["BudgetAnnexe"] = "Budget annexe";
23
- TypeBudget["BudgetG\xE9n\xE9ral"] = "Budget g\xE9n\xE9ral";
24
- TypeBudget["CompteDeConcoursFinancier"] = "Compte de concours financier";
25
- TypeBudget["CompteSp\xE9cial"] = "Compte sp\xE9cial";
26
- TypeBudget["Premi\xE8rePartie"] = "Premi\xE8re partie";
27
- return TypeBudget;
28
- }({});
29
- export let TypeMission = /*#__PURE__*/function (TypeMission) {
30
- TypeMission["MissionPrincipale"] = "mission principale";
31
- TypeMission["MissionSecondaire"] = "mission secondaire";
32
- TypeMission["PartieDeMission"] = "partie de mission";
33
- return TypeMission;
34
- }({});
35
- export let Qualite = /*#__PURE__*/function (Qualite) {
36
- Qualite["Auteur"] = "auteur";
37
- Qualite["Cosignataire"] = "cosignataire";
38
- Qualite["Rapporteur"] = "rapporteur";
39
- Qualite["RapporteurG\xE9n\xE9ral"] = "rapporteur g\xE9n\xE9ral";
40
- Qualite["RapporteurPourAvis"] = "rapporteur pour avis";
41
- Qualite["RapporteurSp\xE9cial"] = "rapporteur sp\xE9cial";
42
- return Qualite;
43
- }({});
44
- export let TypeActeLegislatif = /*#__PURE__*/function (TypeActeLegislatif) {
45
- TypeActeLegislatif["AdoptionEuropeType"] = "Adoption_Europe_Type";
46
- TypeActeLegislatif["ConclusionEtapeCcType"] = "ConclusionEtapeCC_Type";
47
- TypeActeLegislatif["ConvocationCongresType"] = "ConvocationCongres_Type";
48
- TypeActeLegislatif["CreationOrganeTemporaireType"] = "CreationOrganeTemporaire_Type";
49
- TypeActeLegislatif["DecisionMotionCensureType"] = "DecisionMotionCensure_Type";
50
- TypeActeLegislatif["DecisionRecevabiliteBureauType"] = "DecisionRecevabiliteBureau_Type";
51
- TypeActeLegislatif["DecisionType"] = "Decision_Type";
52
- TypeActeLegislatif["DeclarationGouvernementType"] = "DeclarationGouvernement_Type";
53
- TypeActeLegislatif["DepotAccordInternationalType"] = "DepotAccordInternational_Type";
54
- TypeActeLegislatif["DepotAvisConseilEtatType"] = "DepotAvisConseilEtat_Type";
55
- TypeActeLegislatif["DepotInitiativeNavetteType"] = "DepotInitiativeNavette_Type";
56
- TypeActeLegislatif["DepotInitiativeType"] = "DepotInitiative_Type";
57
- TypeActeLegislatif["DepotLettreRectificativeType"] = "DepotLettreRectificative_Type";
58
- TypeActeLegislatif["DepotMotionCensureType"] = "DepotMotionCensure_Type";
59
- TypeActeLegislatif["DepotMotionReferendaireType"] = "DepotMotionReferendaire_Type";
60
- TypeActeLegislatif["DepotRapportType"] = "DepotRapport_Type";
61
- TypeActeLegislatif["DiscussionCommissionType"] = "DiscussionCommission_Type";
62
- TypeActeLegislatif["DiscussionSeancePubliqueType"] = "DiscussionSeancePublique_Type";
63
- TypeActeLegislatif["EtapeType"] = "Etape_Type";
64
- TypeActeLegislatif["EtudeImpactType"] = "EtudeImpact_Type";
65
- TypeActeLegislatif["MotionProcedureType"] = "MotionProcedure_Type";
66
- TypeActeLegislatif["NominRapporteursType"] = "NominRapporteurs_Type";
67
- TypeActeLegislatif["ProcedureAccelereType"] = "ProcedureAccelere_Type";
68
- TypeActeLegislatif["PromulgationType"] = "Promulgation_Type";
69
- TypeActeLegislatif["RenvoiCmpType"] = "RenvoiCMP_Type";
70
- TypeActeLegislatif["RenvoiPrealableType"] = "RenvoiPrealable_Type";
71
- TypeActeLegislatif["RetraitInitiativeType"] = "RetraitInitiative_Type";
72
- TypeActeLegislatif["SaisieComAvisType"] = "SaisieComAvis_Type";
73
- TypeActeLegislatif["SaisieComFondType"] = "SaisieComFond_Type";
74
- TypeActeLegislatif["SaisineConseilConstitType"] = "SaisineConseilConstit_Type";
75
- return TypeActeLegislatif;
76
- }({});
77
- export let TypeTexte = /*#__PURE__*/function (TypeTexte) {
78
- TypeTexte["Bta"] = "BTA";
79
- TypeTexte["Tap"] = "TAP";
80
- return TypeTexte;
81
- }({});
82
- export let Motif = /*#__PURE__*/function (Motif) {
83
- Motif["EnApplicationDeLArticle612DeLaConstitution"] = "En application de l'article 61\xA72 de la Constitution";
84
- return Motif;
85
- }({});
86
- export let TypeJo = /*#__PURE__*/function (TypeJo) {
87
- TypeJo["JoLoiDecret"] = "JO_LOI_DECRET";
88
- return TypeJo;
89
- }({});
90
- export let Cause = /*#__PURE__*/function (Cause) {
91
- Cause["DossierAbsorb\xE9"] = "Dossier absorb\xE9";
92
- Cause["ExamenCommun"] = "Examen commun";
93
- return Cause;
94
- }({});
95
- export let TexteExterneAssocieTypeDoc = /*#__PURE__*/function (TexteExterneAssocieTypeDoc) {
96
- TexteExterneAssocieTypeDoc["Decret"] = "D\xE9cret";
97
- return TexteExterneAssocieTypeDoc;
98
- }({});
99
- export let TypeDocument = /*#__PURE__*/function (TypeDocument) {
100
- TypeDocument["AccordInternationalType"] = "accordInternational_Type";
101
- TypeDocument["AvisConseilEtatType"] = "avisConseilEtat_Type";
102
- TypeDocument["DocumentEtudeImpactType"] = "documentEtudeImpact_Type";
103
- TypeDocument["RapportParlementaireType"] = "rapportParlementaire_Type";
104
- TypeDocument["TexteLoiType"] = "texteLoi_Type";
105
- return TypeDocument;
106
- }({});
107
- export let StatutAdoption = /*#__PURE__*/function (StatutAdoption) {
108
- StatutAdoption["Adoptcom"] = "ADOPTCOM";
109
- StatutAdoption["Adoptseance"] = "ADOPTSEANCE";
110
- StatutAdoption["Rejetseance"] = "REJETSEANCE";
111
- return StatutAdoption;
112
- }({});
113
- export let TypeCorrection = /*#__PURE__*/function (TypeCorrection) {
114
- TypeCorrection["Rectifi\xE9"] = "Rectifi\xE9";
115
- return TypeCorrection;
116
- }({});
117
- export let DocumentDenominationStructurelle = /*#__PURE__*/function (DocumentDenominationStructurelle) {
118
- DocumentDenominationStructurelle["Allocution"] = "Allocution";
119
- DocumentDenominationStructurelle["Avis"] = "Avis";
120
- DocumentDenominationStructurelle["D\xE9claration"] = "D\xE9claration";
121
- DocumentDenominationStructurelle["Lettre"] = "Lettre";
122
- DocumentDenominationStructurelle["Message"] = "Message";
123
- DocumentDenominationStructurelle["Motion"] = "Motion";
124
- DocumentDenominationStructurelle["ProjetDeLoi"] = "Projet de loi";
125
- DocumentDenominationStructurelle["PropositionDeLoi"] = "Proposition de loi";
126
- DocumentDenominationStructurelle["PropositionDeR\xE9solution"] = "Proposition de r\xE9solution";
127
- DocumentDenominationStructurelle["Rapport"] = "Rapport";
128
- DocumentDenominationStructurelle["RapportDInformation"] = "Rapport d'information";
129
- DocumentDenominationStructurelle["R\xE9solution"] = "R\xE9solution";
130
- return DocumentDenominationStructurelle;
131
- }({});
132
- export let Provenance = /*#__PURE__*/function (Provenance) {
133
- Provenance["Commission"] = "Commission";
134
- Provenance["S\xE9ance"] = "S\xE9ance";
135
- Provenance["TexteD\xE9pos\xE9"] = "Texte D\xE9pos\xE9";
136
- return Provenance;
137
- }({});
138
-
139
- // Converts JSON strings to/from your types
140
- // and asserts the results of JSON.parse at runtime
141
- export class Convert {
142
- static toDossiersLegislatifs(json) {
143
- return cast(JSON.parse(json), r("DossiersLegislatifs"));
144
- }
145
- static dossiersLegislatifsToJson(value) {
146
- return JSON.stringify(uncast(value, r("DossiersLegislatifs")), null, 2);
147
- }
148
- static toDocument(json) {
149
- return cast(JSON.parse(json), r("Document"));
150
- }
151
- static documentToJson(value) {
152
- return JSON.stringify(uncast(value, r("Document")), null, 2);
153
- }
154
- static toDossierParlementaire(json) {
155
- return cast(JSON.parse(json), r("DossierParlementaire"));
156
- }
157
- static dossierParlementaireToJson(value) {
158
- return JSON.stringify(uncast(value, r("DossierParlementaire")), null, 2);
159
- }
160
- }
161
- function invalidValue(typ, val, key = "") {
162
- if (key) {
163
- throw Error(`Invalid value for key "${key}". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);
164
- }
165
- throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);
166
- }
167
- function jsonToJSProps(typ) {
168
- if (typ.jsonToJS === undefined) {
169
- const map = {};
170
- typ.props.forEach(p => map[p.json] = {
171
- key: p.js,
172
- typ: p.typ
173
- });
174
- typ.jsonToJS = map;
175
- }
176
- return typ.jsonToJS;
177
- }
178
- function jsToJSONProps(typ) {
179
- if (typ.jsToJSON === undefined) {
180
- const map = {};
181
- typ.props.forEach(p => map[p.js] = {
182
- key: p.json,
183
- typ: p.typ
184
- });
185
- typ.jsToJSON = map;
186
- }
187
- return typ.jsToJSON;
188
- }
189
- function transform(val, typ, getProps, key = "") {
190
- function transformPrimitive(typ, val) {
191
- if (typeof typ === typeof val) return val;
192
- return invalidValue(typ, val, key);
193
- }
194
- function transformUnion(typs, val) {
195
- // val must validate against one typ in typs
196
- const l = typs.length;
197
- for (let i = 0; i < l; i++) {
198
- const typ = typs[i];
199
- try {
200
- return transform(val, typ, getProps);
201
- } catch (_) {}
202
- }
203
- return invalidValue(typs, val);
204
- }
205
- function transformEnum(cases, val) {
206
- if (cases.indexOf(val) !== -1) return val;
207
- return invalidValue(cases, val);
208
- }
209
- function transformArray(typ, val) {
210
- // val must be an array with no invalid elements
211
- if (!Array.isArray(val)) return invalidValue("array", val);
212
- return val.map(el => transform(el, typ, getProps));
213
- }
214
- function transformDate(val) {
215
- if (val === null) {
216
- return null;
217
- }
218
- const d = new Date(val);
219
- if (isNaN(d.valueOf())) {
220
- return invalidValue("Date", val);
221
- }
222
- return d;
223
- }
224
- function transformObject(props, additional, val) {
225
- if (val === null || typeof val !== "object" || Array.isArray(val)) {
226
- return invalidValue("object", val);
227
- }
228
- const result = {};
229
- Object.getOwnPropertyNames(props).forEach(key => {
230
- const prop = props[key];
231
- const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
232
- result[prop.key] = transform(v, prop.typ, getProps, prop.key);
233
- });
234
- Object.getOwnPropertyNames(val).forEach(key => {
235
- if (!Object.prototype.hasOwnProperty.call(props, key)) {
236
- result[key] = transform(val[key], additional, getProps, key);
237
- }
238
- });
239
- return result;
240
- }
241
- if (typ === "any") return val;
242
- if (typ === null) {
243
- if (val === null) return val;
244
- return invalidValue(typ, val);
245
- }
246
- // if (typ === false) return invalidValue(typ, val)
247
- while (typeof typ === "object" && typ.ref !== undefined) {
248
- typ = typeMap[typ.ref];
249
- }
250
- if (Array.isArray(typ)) return transformEnum(typ, val);
251
- if (typeof typ === "object") {
252
- return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val) : typ.hasOwnProperty("arrayItems") ? transformArray(typ.arrayItems, val) : typ.hasOwnProperty("props") ? transformObject(getProps(typ), typ.additional, val) : invalidValue(typ, val);
253
- }
254
- // Numbers can be parsed by Date but shouldn't be.
255
- if (typ === Date && typeof val !== "number") return transformDate(val);
256
- return transformPrimitive(typ, val);
257
- }
258
- function cast(val, typ) {
259
- return transform(val, typ, jsonToJSProps);
260
- }
261
- function uncast(val, typ) {
262
- return transform(val, typ, jsToJSONProps);
263
- }
264
- function a(typ) {
265
- return {
266
- arrayItems: typ
267
- };
268
- }
269
- function u(...typs) {
270
- return {
271
- unionMembers: typs
272
- };
273
- }
274
- function o(props, additional) {
275
- return {
276
- props,
277
- additional
278
- };
279
- }
280
-
281
- // function m(additional: any) {
282
- // return { props: [], additional };
283
- // }
284
-
285
- function r(name) {
286
- return {
287
- ref: name
288
- };
289
- }
290
- const typeMap = {
291
- DossiersLegislatifs: o([{
292
- json: "textesLegislatifs",
293
- js: "textesLegislatifs",
294
- typ: a(r("Document"))
295
- }, {
296
- json: "dossiersParlementaires",
297
- js: "dossiersParlementaires",
298
- typ: a(r("DossierParlementaire"))
299
- }], false),
300
- DossierParlementaire: o([{
301
- json: "schemaVersion",
302
- js: "schemaVersion",
303
- typ: u(undefined, "")
304
- }, {
305
- json: "xsiType",
306
- js: "xsiType",
307
- typ: u(undefined, r("DossierParlementaireXsiType"))
308
- }, {
309
- json: "uid",
310
- js: "uid",
311
- typ: ""
312
- }, {
313
- json: "legislature",
314
- js: "legislature",
315
- typ: ""
316
- }, {
317
- json: "titreDossier",
318
- js: "titreDossier",
319
- typ: r("TitreDossier")
320
- }, {
321
- json: "procedureParlementaire",
322
- js: "procedureParlementaire",
323
- typ: r("ProcedureParlementaire")
324
- }, {
325
- json: "initiateur",
326
- js: "initiateur",
327
- typ: u(undefined, r("Initiateur"))
328
- }, {
329
- json: "actesLegislatifs",
330
- js: "actesLegislatifs",
331
- typ: u(undefined, a(r("ActeLegislatif")))
332
- }, {
333
- json: "fusionDossier",
334
- js: "fusionDossier",
335
- typ: u(undefined, r("FusionDossier"))
336
- }, {
337
- json: "indexation",
338
- js: "indexation",
339
- typ: u(undefined, r("Indexation"))
340
- }, {
341
- json: "plf",
342
- js: "plf",
343
- typ: u(undefined, a(r("EtudePlf")))
344
- }], false),
345
- EtudePlf: o([{
346
- json: "uid",
347
- js: "uid",
348
- typ: ""
349
- }, {
350
- json: "organeRef",
351
- js: "organeRef",
352
- typ: ""
353
- }, {
354
- json: "texteAssocie",
355
- js: "texteAssocie",
356
- typ: u(undefined, "")
357
- }, {
358
- json: "rapporteurs",
359
- js: "rapporteurs",
360
- typ: u(undefined, a(r("Rapporteur")))
361
- }, {
362
- json: "missionMinefi",
363
- js: "missionMinefi",
364
- typ: u(undefined, r("MissionMinefi"))
365
- }, {
366
- json: "ordreDiqs",
367
- js: "ordreDiqs",
368
- typ: ""
369
- }, {
370
- json: "ordreCommission",
371
- js: "ordreCommission",
372
- typ: ""
373
- }], false),
374
- MissionMinefi: o([{
375
- json: "typeMission",
376
- js: "typeMission",
377
- typ: r("TypeMission")
378
- }, {
379
- json: "codeMission",
380
- js: "codeMission",
381
- typ: u(undefined, "")
382
- }, {
383
- json: "libelleLong",
384
- js: "libelleLong",
385
- typ: ""
386
- }, {
387
- json: "libelleCourt",
388
- js: "libelleCourt",
389
- typ: ""
390
- }, {
391
- json: "typeBudget",
392
- js: "typeBudget",
393
- typ: r("TypeBudget")
394
- }, {
395
- json: "missions",
396
- js: "missions",
397
- typ: u(undefined, a(r("MissionMinefi")))
398
- }], false),
399
- ActeLegislatif: o([{
400
- json: "xsiType",
401
- js: "xsiType",
402
- typ: r("TypeActeLegislatif")
403
- }, {
404
- json: "uid",
405
- js: "uid",
406
- typ: ""
407
- }, {
408
- json: "codeActe",
409
- js: "codeActe",
410
- typ: r("CodeActe")
411
- }, {
412
- json: "libelleActe",
413
- js: "libelleActe",
414
- typ: r("LibelleActe")
415
- }, {
416
- json: "organeRef",
417
- js: "organeRef",
418
- typ: u(undefined, "")
419
- }, {
420
- json: "dateActe",
421
- js: "dateActe",
422
- typ: u(undefined, Date)
423
- }, {
424
- json: "actesLegislatifs",
425
- js: "actesLegislatifs",
426
- typ: u(undefined, a(r("ActeLegislatif")))
427
- }, {
428
- json: "anneeDecision",
429
- js: "anneeDecision",
430
- typ: u(undefined, "")
431
- }, {
432
- json: "auteurMotion",
433
- js: "auteurMotion",
434
- typ: u(undefined, "")
435
- }, {
436
- json: "auteursRefs",
437
- js: "auteursRefs",
438
- typ: u(undefined, a(""))
439
- }, {
440
- json: "casSaisine",
441
- js: "casSaisine",
442
- typ: u(undefined, r("TypeDeclaration"))
443
- }, {
444
- json: "codeLoi",
445
- js: "codeLoi",
446
- typ: u(undefined, "")
447
- }, {
448
- json: "contributionInternaute",
449
- js: "contributionInternaute",
450
- typ: u(undefined, r("ContributionInternaute"))
451
- }, {
452
- json: "decision",
453
- js: "decision",
454
- typ: u(undefined, r("TypeDeclaration"))
455
- }, {
456
- json: "depotInitialLectureDefinitiveRef",
457
- js: "depotInitialLectureDefinitiveRef",
458
- typ: u(undefined, "")
459
- }, {
460
- json: "formuleDecision",
461
- js: "formuleDecision",
462
- typ: u(undefined, "")
463
- }, {
464
- json: "infoJo",
465
- js: "infoJo",
466
- typ: u(undefined, r("InfoJo"))
467
- }, {
468
- json: "infoJoce",
469
- js: "infoJoce",
470
- typ: u(undefined, r("InfoJoce"))
471
- }, {
472
- json: "infoJoRect",
473
- js: "infoJoRect",
474
- typ: u(undefined, a(r("InfoJo")))
475
- }, {
476
- json: "initiateur",
477
- js: "initiateur",
478
- typ: u(undefined, r("Initiateur"))
479
- }, {
480
- json: "motif",
481
- js: "motif",
482
- typ: u(undefined, r("Motif"))
483
- }, {
484
- json: "numDecision",
485
- js: "numDecision",
486
- typ: u(undefined, "")
487
- }, {
488
- json: "odjRef",
489
- js: "odjRef",
490
- typ: u(undefined, "")
491
- }, {
492
- json: "provenanceRef",
493
- js: "provenanceRef",
494
- typ: u(undefined, "")
495
- }, {
496
- json: "rapporteurs",
497
- js: "rapporteurs",
498
- typ: u(undefined, a(r("Rapporteur")))
499
- }, {
500
- json: "referenceNor",
501
- js: "referenceNor",
502
- typ: u(undefined, "")
503
- }, {
504
- json: "reunionRef",
505
- js: "reunionRef",
506
- typ: u(undefined, "")
507
- }, {
508
- json: "statutAdoption",
509
- js: "statutAdoption",
510
- typ: u(undefined, r("TypeDeclaration"))
511
- }, {
512
- json: "statutConclusion",
513
- js: "statutConclusion",
514
- typ: u(undefined, r("TypeDeclaration"))
515
- }, {
516
- json: "texteAdopteRef",
517
- js: "texteAdopteRef",
518
- typ: u(undefined, "")
519
- }, {
520
- json: "texteAssocieRef",
521
- js: "texteAssocieRef",
522
- typ: u(undefined, "")
523
- }, {
524
- json: "texteEuropeen",
525
- js: "texteEuropeen",
526
- typ: u(undefined, r("TexteEuropeen"))
527
- }, {
528
- json: "texteExterneAssocie",
529
- js: "texteExterneAssocie",
530
- typ: u(undefined, r("TexteExterneAssocie"))
531
- }, {
532
- json: "texteLoiRef",
533
- js: "texteLoiRef",
534
- typ: u(undefined, "")
535
- }, {
536
- json: "textesAssocies",
537
- js: "textesAssocies",
538
- typ: u(undefined, a(r("TexteAssocie")))
539
- }, {
540
- json: "titreLoi",
541
- js: "titreLoi",
542
- typ: u(undefined, "")
543
- }, {
544
- json: "typeDeclaration",
545
- js: "typeDeclaration",
546
- typ: u(undefined, r("TypeDeclaration"))
547
- }, {
548
- json: "typeMotion",
549
- js: "typeMotion",
550
- typ: u(undefined, r("TypeDeclaration"))
551
- }, {
552
- json: "typeMotionCensure",
553
- js: "typeMotionCensure",
554
- typ: u(undefined, r("TypeDeclaration"))
555
- }, {
556
- json: "urlConclusion",
557
- js: "urlConclusion",
558
- typ: u(undefined, "")
559
- }, {
560
- json: "urlEcheancierLoi",
561
- js: "urlEcheancierLoi",
562
- typ: u(undefined, "")
563
- }, {
564
- json: "urlLegifrance",
565
- js: "urlLegifrance",
566
- typ: u(undefined, "")
567
- }, {
568
- json: "voteRefs",
569
- js: "voteRefs",
570
- typ: u(undefined, a(""))
571
- }], false),
572
- LibelleActe: o([{
573
- json: "nomCanonique",
574
- js: "nomCanonique",
575
- typ: ""
576
- }, {
577
- json: "libelleCourt",
578
- js: "libelleCourt",
579
- typ: u(undefined, "")
580
- }], false),
581
- Rapporteur: o([{
582
- json: "acteurRef",
583
- js: "acteurRef",
584
- typ: ""
585
- }, {
586
- json: "typeRapporteur",
587
- js: "typeRapporteur",
588
- typ: r("Qualite")
589
- }, {
590
- json: "etudePlfRef",
591
- js: "etudePlfRef",
592
- typ: u(undefined, "")
593
- }], false),
594
- TypeDeclaration: o([{
595
- json: "famCode",
596
- js: "famCode",
597
- typ: ""
598
- }, {
599
- json: "libelle",
600
- js: "libelle",
601
- typ: ""
602
- }], false),
603
- TexteAssocie: o([{
604
- json: "typeTexte",
605
- js: "typeTexte",
606
- typ: r("TypeTexte")
607
- }, {
608
- json: "texteAssocieRef",
609
- js: "texteAssocieRef",
610
- typ: ""
611
- }], false),
612
- ContributionInternaute: o([{
613
- json: "dateOuverture",
614
- js: "dateOuverture",
615
- typ: u(undefined, "")
616
- }, {
617
- json: "dateFermeture",
618
- js: "dateFermeture",
619
- typ: u(undefined, "")
620
- }], false),
621
- InfoJoce: o([{
622
- json: "refJoce",
623
- js: "refJoce",
624
- typ: ""
625
- }, {
626
- json: "dateJoce",
627
- js: "dateJoce",
628
- typ: ""
629
- }], false),
630
- InitiateurActeur: o([{
631
- json: "acteurRef",
632
- js: "acteurRef",
633
- typ: ""
634
- }, {
635
- json: "mandatRef",
636
- js: "mandatRef",
637
- typ: u(undefined, "")
638
- }], false),
639
- TexteEuropeen: o([{
640
- json: "typeTexteEuropeen",
641
- js: "typeTexteEuropeen",
642
- typ: ""
643
- }, {
644
- json: "titreTexteEuropeen",
645
- js: "titreTexteEuropeen",
646
- typ: ""
647
- }], false),
648
- InfoJo: o([{
649
- json: "typeJo",
650
- js: "typeJo",
651
- typ: r("TypeJo")
652
- }, {
653
- json: "dateJo",
654
- js: "dateJo",
655
- typ: ""
656
- }, {
657
- json: "numJo",
658
- js: "numJo",
659
- typ: ""
660
- }, {
661
- json: "urlLegifrance",
662
- js: "urlLegifrance",
663
- typ: u(undefined, "")
664
- }, {
665
- json: "referenceNor",
666
- js: "referenceNor",
667
- typ: u(undefined, "")
668
- }], false),
669
- FusionDossier: o([{
670
- json: "cause",
671
- js: "cause",
672
- typ: r("Cause")
673
- }, {
674
- json: "dossierAbsorbantRef",
675
- js: "dossierAbsorbantRef",
676
- typ: ""
677
- }], false),
678
- Indexation: o([{
679
- json: "themes",
680
- js: "themes",
681
- typ: r("Themes")
682
- }], false),
683
- Themes: o([{
684
- json: "@niveau",
685
- js: "@niveau",
686
- typ: ""
687
- }, {
688
- json: "theme",
689
- js: "theme",
690
- typ: r("Theme")
691
- }], false),
692
- Theme: o([{
693
- json: "libelleTheme",
694
- js: "libelleTheme",
695
- typ: ""
696
- }], false),
697
- Initiateur: o([{
698
- json: "acteurs",
699
- js: "acteurs",
700
- typ: u(undefined, a(r("InitiateurActeur")))
701
- }, {
702
- json: "organeRef",
703
- js: "organeRef",
704
- typ: u(undefined, "")
705
- }], false),
706
- ProcedureParlementaire: o([{
707
- json: "code",
708
- js: "code",
709
- typ: ""
710
- }, {
711
- json: "libelle",
712
- js: "libelle",
713
- typ: ""
714
- }], false),
715
- TitreDossier: o([{
716
- json: "titre",
717
- js: "titre",
718
- typ: ""
719
- }, {
720
- json: "titreChemin",
721
- js: "titreChemin",
722
- typ: u(undefined, "")
723
- }, {
724
- json: "senatChemin",
725
- js: "senatChemin",
726
- typ: u(undefined, "")
727
- }], false),
728
- TexteExterneAssocie: o([{
729
- json: "typeDoc",
730
- js: "typeDoc",
731
- typ: r("TexteExterneAssocieTypeDoc")
732
- }, {
733
- json: "texteRef",
734
- js: "texteRef",
735
- typ: ""
736
- }, {
737
- json: "titreDoc",
738
- js: "titreDoc",
739
- typ: ""
740
- }, {
741
- json: "urlDoc",
742
- js: "urlDoc",
743
- typ: ""
744
- }], false),
745
- Document: o([{
746
- json: "schemaVersion",
747
- js: "schemaVersion",
748
- typ: u(undefined, "")
749
- }, {
750
- json: "xsiType",
751
- js: "xsiType",
752
- typ: r("TypeDocument")
753
- }, {
754
- json: "uid",
755
- js: "uid",
756
- typ: ""
757
- }, {
758
- json: "legislature",
759
- js: "legislature",
760
- typ: u(undefined, "")
761
- }, {
762
- json: "cycleDeVie",
763
- js: "cycleDeVie",
764
- typ: r("CycleDeVie")
765
- }, {
766
- json: "denominationStructurelle",
767
- js: "denominationStructurelle",
768
- typ: r("DocumentDenominationStructurelle")
769
- }, {
770
- json: "provenance",
771
- js: "provenance",
772
- typ: u(undefined, r("Provenance"))
773
- }, {
774
- json: "titres",
775
- js: "titres",
776
- typ: r("Titres")
777
- }, {
778
- json: "divisions",
779
- js: "divisions",
780
- typ: u(undefined, a(r("Division")))
781
- }, {
782
- json: "dossierRef",
783
- js: "dossierRef",
784
- typ: ""
785
- }, {
786
- json: "classification",
787
- js: "classification",
788
- typ: r("Classification")
789
- }, {
790
- json: "auteurs",
791
- js: "auteurs",
792
- typ: a(r("Auteur"))
793
- }, {
794
- json: "correction",
795
- js: "correction",
796
- typ: u(undefined, r("Correction"))
797
- }, {
798
- json: "notice",
799
- js: "notice",
800
- typ: r("Notice")
801
- }, {
802
- json: "indexation",
803
- js: "indexation",
804
- typ: u(undefined, r("Indexation"))
805
- }, {
806
- json: "imprimerie",
807
- js: "imprimerie",
808
- typ: u(undefined, r("Imprimerie"))
809
- }, {
810
- json: "coSignataires",
811
- js: "coSignataires",
812
- typ: u(undefined, a(r("CoSignataireElement")))
813
- }, {
814
- json: "depotAmendements",
815
- js: "depotAmendements",
816
- typ: u(undefined, r("DepotAmendements"))
817
- }, {
818
- json: "organesReferents",
819
- js: "organesReferents",
820
- typ: u(undefined, a(""))
821
- }, {
822
- json: "rapportPublie",
823
- js: "rapportPublie",
824
- typ: u(undefined, false)
825
- }, {
826
- json: "subdivisions",
827
- js: "subdivisions",
828
- typ: u(null, u(undefined, a(r("Subdivision"))))
829
- }], false),
830
- Subdivision: o([{
831
- json: "id",
832
- js: "id",
833
- typ: ""
834
- }, {
835
- json: "type",
836
- js: "type",
837
- typ: u(undefined, "")
838
- }, {
839
- json: "niveau",
840
- js: "niveau",
841
- typ: 0
842
- }, {
843
- json: "niveauRelatif",
844
- js: "niveauRelatif",
845
- typ: 0
846
- }, {
847
- json: "titres",
848
- js: "titres",
849
- typ: u(null, a(r("ContenuSubdivision")))
850
- }, {
851
- json: "alineas",
852
- js: "alineas",
853
- typ: u(null, a(r("ContenuSubdivision")))
854
- }], false),
855
- ContenuSubdivision: o([{
856
- json: "texte",
857
- js: "texte",
858
- typ: u(undefined, "")
859
- }, {
860
- json: "html",
861
- js: "html",
862
- typ: u(undefined, "")
863
- }], false),
864
- Auteur: o([{
865
- json: "acteur",
866
- js: "acteur",
867
- typ: u(undefined, r("AuteurActeur"))
868
- }, {
869
- json: "organeRef",
870
- js: "organeRef",
871
- typ: u(undefined, "")
872
- }], false),
873
- AuteurActeur: o([{
874
- json: "acteurRef",
875
- js: "acteurRef",
876
- typ: ""
877
- }, {
878
- json: "qualite",
879
- js: "qualite",
880
- typ: r("Qualite")
881
- }], false),
882
- Classification: o([{
883
- json: "famille",
884
- js: "famille",
885
- typ: u(undefined, r("Famille"))
886
- }, {
887
- json: "type",
888
- js: "type",
889
- typ: r("ProcedureParlementaire")
890
- }, {
891
- json: "sousType",
892
- js: "sousType",
893
- typ: u(undefined, r("SousType"))
894
- }, {
895
- json: "statutAdoption",
896
- js: "statutAdoption",
897
- typ: u(undefined, r("StatutAdoption"))
898
- }], false),
899
- Famille: o([{
900
- json: "depot",
901
- js: "depot",
902
- typ: r("ProcedureParlementaire")
903
- }, {
904
- json: "classe",
905
- js: "classe",
906
- typ: r("ProcedureParlementaire")
907
- }, {
908
- json: "espece",
909
- js: "espece",
910
- typ: u(undefined, r("ProcedureParlementaire"))
911
- }], false),
912
- SousType: o([{
913
- json: "code",
914
- js: "code",
915
- typ: ""
916
- }, {
917
- json: "libelle",
918
- js: "libelle",
919
- typ: u(undefined, "")
920
- }, {
921
- json: "libelleEdition",
922
- js: "libelleEdition",
923
- typ: u(undefined, "")
924
- }], false),
925
- CoSignataireElement: o([{
926
- json: "acteurRef",
927
- js: "acteurRef",
928
- typ: u(undefined, "")
929
- }, {
930
- json: "dateCosignature",
931
- js: "dateCosignature",
932
- typ: ""
933
- }, {
934
- json: "dateRetraitCosignature",
935
- js: "dateRetraitCosignature",
936
- typ: u(undefined, "")
937
- }, {
938
- json: "edite",
939
- js: "edite",
940
- typ: false
941
- }, {
942
- json: "organe",
943
- js: "organe",
944
- typ: u(undefined, r("CoSignataireOrgane"))
945
- }], false),
946
- CoSignataireOrgane: o([{
947
- json: "organeRef",
948
- js: "organeRef",
949
- typ: ""
950
- }, {
951
- json: "etApparentes",
952
- js: "etApparentes",
953
- typ: false
954
- }], false),
955
- Correction: o([{
956
- json: "typeCorrection",
957
- js: "typeCorrection",
958
- typ: r("TypeCorrection")
959
- }, {
960
- json: "niveauCorrection",
961
- js: "niveauCorrection",
962
- typ: u(undefined, "")
963
- }], false),
964
- CycleDeVie: o([{
965
- json: "chrono",
966
- js: "chrono",
967
- typ: r("Chrono")
968
- }], false),
969
- Chrono: o([{
970
- json: "dateCreation",
971
- js: "dateCreation",
972
- typ: u(undefined, Date)
973
- }, {
974
- json: "dateDepot",
975
- js: "dateDepot",
976
- typ: u(undefined, Date)
977
- }, {
978
- json: "datePublication",
979
- js: "datePublication",
980
- typ: u(undefined, Date)
981
- }, {
982
- json: "datePublicationWeb",
983
- js: "datePublicationWeb",
984
- typ: u(undefined, Date)
985
- }], false),
986
- DepotAmendements: o([{
987
- json: "amendementsSeance",
988
- js: "amendementsSeance",
989
- typ: r("AmendementsSeance")
990
- }, {
991
- json: "amendementsCommission",
992
- js: "amendementsCommission",
993
- typ: u(undefined, a(r("AmendementsCommission")))
994
- }], false),
995
- AmendementsCommission: o([{
996
- json: "organeRef",
997
- js: "organeRef",
998
- typ: ""
999
- }, {
1000
- json: "amendable",
1001
- js: "amendable",
1002
- typ: false
1003
- }], false),
1004
- AmendementsSeance: o([{
1005
- json: "amendable",
1006
- js: "amendable",
1007
- typ: false
1008
- }], false),
1009
- Division: o([{
1010
- json: "xsiType",
1011
- js: "xsiType",
1012
- typ: r("TypeDocument")
1013
- }, {
1014
- json: "uid",
1015
- js: "uid",
1016
- typ: ""
1017
- }, {
1018
- json: "legislature",
1019
- js: "legislature",
1020
- typ: u(undefined, "")
1021
- }, {
1022
- json: "cycleDeVie",
1023
- js: "cycleDeVie",
1024
- typ: r("CycleDeVie")
1025
- }, {
1026
- json: "denominationStructurelle",
1027
- js: "denominationStructurelle",
1028
- typ: ""
1029
- }, {
1030
- json: "titres",
1031
- js: "titres",
1032
- typ: r("Titres")
1033
- }, {
1034
- json: "divisions",
1035
- js: "divisions",
1036
- typ: u(undefined, a(r("Division")))
1037
- }, {
1038
- json: "dossierRef",
1039
- js: "dossierRef",
1040
- typ: ""
1041
- }, {
1042
- json: "classification",
1043
- js: "classification",
1044
- typ: r("Classification")
1045
- }, {
1046
- json: "auteurs",
1047
- js: "auteurs",
1048
- typ: a(r("Auteur"))
1049
- }, {
1050
- json: "organesReferents",
1051
- js: "organesReferents",
1052
- typ: u(undefined, a(""))
1053
- }, {
1054
- json: "correction",
1055
- js: "correction",
1056
- typ: u(undefined, r("Correction"))
1057
- }, {
1058
- json: "notice",
1059
- js: "notice",
1060
- typ: r("Notice")
1061
- }, {
1062
- json: "indexation",
1063
- js: "indexation",
1064
- typ: u(undefined, r("Indexation"))
1065
- }, {
1066
- json: "imprimerie",
1067
- js: "imprimerie",
1068
- typ: u(undefined, r("Imprimerie"))
1069
- }, {
1070
- json: "rapportPublie",
1071
- js: "rapportPublie",
1072
- typ: u(undefined, false)
1073
- }], false),
1074
- Imprimerie: o([{
1075
- json: "dian",
1076
- js: "dian",
1077
- typ: u(undefined, "")
1078
- }, {
1079
- json: "isbn",
1080
- js: "isbn",
1081
- typ: u(undefined, "")
1082
- }, {
1083
- json: "nbPage",
1084
- js: "nbPage",
1085
- typ: u(undefined, "")
1086
- }, {
1087
- json: "prix",
1088
- js: "prix",
1089
- typ: u(undefined, "")
1090
- }], false),
1091
- Notice: o([{
1092
- json: "numNotice",
1093
- js: "numNotice",
1094
- typ: u(undefined, "")
1095
- }, {
1096
- json: "formule",
1097
- js: "formule",
1098
- typ: u(undefined, "")
1099
- }, {
1100
- json: "adoptionConforme",
1101
- js: "adoptionConforme",
1102
- typ: false
1103
- }], false),
1104
- Titres: o([{
1105
- json: "titrePrincipal",
1106
- js: "titrePrincipal",
1107
- typ: ""
1108
- }, {
1109
- json: "titrePrincipalCourt",
1110
- js: "titrePrincipalCourt",
1111
- typ: ""
1112
- }], false),
1113
- DossierParlementaireXsiType: ["DossierCommissionEnquete_Type", "DossierIniativeExecutif_Type", "DossierLegislatif_Type", "DossierMissionControle_Type", "DossierMissionInformation_Type", "DossierResolutionAN"],
1114
- TypeBudget: ["Budget annexe", "Budget général", "Compte de concours financier", "Compte spécial", "Première partie"],
1115
- TypeMission: ["mission principale", "mission secondaire", "partie de mission"],
1116
- Qualite: ["auteur", "cosignataire", "rapporteur", "rapporteur général", "rapporteur pour avis", "rapporteur spécial"],
1117
- TypeActeLegislatif: ["Adoption_Europe_Type", "ConclusionEtapeCC_Type", "ConvocationCongres_Type", "CreationOrganeTemporaire_Type", "DecisionMotionCensure_Type", "DecisionRecevabiliteBureau_Type", "Decision_Type", "DeclarationGouvernement_Type", "DepotAccordInternational_Type", "DepotAvisConseilEtat_Type", "DepotInitiativeNavette_Type", "DepotInitiative_Type", "DepotLettreRectificative_Type", "DepotMotionCensure_Type", "DepotMotionReferendaire_Type", "DepotRapport_Type", "DiscussionCommission_Type", "DiscussionSeancePublique_Type", "Etape_Type", "EtudeImpact_Type", "MotionProcedure_Type", "NominRapporteurs_Type", "ProcedureAccelere_Type", "Promulgation_Type", "RenvoiCMP_Type", "RenvoiPrealable_Type", "RetraitInitiative_Type", "SaisieComAvis_Type", "SaisieComFond_Type", "SaisineConseilConstit_Type"],
1118
- CodeActe: Object.values(CodeActe),
1119
- TypeTexte: ["BTA", "TAP"],
1120
- Motif: ["En application de l'article 61§2 de la Constitution"],
1121
- TypeJo: ["JO_LOI_DECRET"],
1122
- Cause: ["Dossier absorbé", "Examen commun"],
1123
- TexteExterneAssocieTypeDoc: ["Décret"],
1124
- TypeDocument: ["accordInternational_Type", "avisConseilEtat_Type", "documentEtudeImpact_Type", "rapportParlementaire_Type", "texteLoi_Type"],
1125
- StatutAdoption: ["ADOPTCOM", "ADOPTSEANCE", "REJETSEANCE"],
1126
- TypeCorrection: ["Rectifié"],
1127
- DocumentDenominationStructurelle: ["Allocution", "Avis", "Déclaration", "Lettre", "Message", "Motion", "Projet de loi", "Proposition de loi", "Proposition de résolution", "Rapport", "Rapport d'information", "Résolution"],
1128
- Provenance: ["Commission", "Séance", "Texte Déposé"]
1129
- };
1130
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2RlQWN0ZSIsIkRvc3NpZXJQYXJsZW1lbnRhaXJlWHNpVHlwZSIsIlR5cGVCdWRnZXQiLCJUeXBlTWlzc2lvbiIsIlF1YWxpdGUiLCJUeXBlQWN0ZUxlZ2lzbGF0aWYiLCJUeXBlVGV4dGUiLCJNb3RpZiIsIlR5cGVKbyIsIkNhdXNlIiwiVGV4dGVFeHRlcm5lQXNzb2NpZVR5cGVEb2MiLCJUeXBlRG9jdW1lbnQiLCJTdGF0dXRBZG9wdGlvbiIsIlR5cGVDb3JyZWN0aW9uIiwiRG9jdW1lbnREZW5vbWluYXRpb25TdHJ1Y3R1cmVsbGUiLCJQcm92ZW5hbmNlIiwiQ29udmVydCIsInRvRG9zc2llcnNMZWdpc2xhdGlmcyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsImRvc3NpZXJzTGVnaXNsYXRpZnNUb0pzb24iLCJ2YWx1ZSIsInN0cmluZ2lmeSIsInVuY2FzdCIsInRvRG9jdW1lbnQiLCJkb2N1bWVudFRvSnNvbiIsInRvRG9zc2llclBhcmxlbWVudGFpcmUiLCJkb3NzaWVyUGFybGVtZW50YWlyZVRvSnNvbiIsImludmFsaWRWYWx1ZSIsInR5cCIsInZhbCIsImtleSIsIkVycm9yIiwianNvblRvSlNQcm9wcyIsImpzb25Ub0pTIiwidW5kZWZpbmVkIiwibWFwIiwicHJvcHMiLCJmb3JFYWNoIiwicCIsImpzIiwianNUb0pTT05Qcm9wcyIsImpzVG9KU09OIiwidHJhbnNmb3JtIiwiZ2V0UHJvcHMiLCJ0cmFuc2Zvcm1QcmltaXRpdmUiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwibGVuZ3RoIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwibyIsIm5hbWUiLCJEb3NzaWVyc0xlZ2lzbGF0aWZzIiwiRG9zc2llclBhcmxlbWVudGFpcmUiLCJFdHVkZVBsZiIsIk1pc3Npb25NaW5lZmkiLCJBY3RlTGVnaXNsYXRpZiIsIkxpYmVsbGVBY3RlIiwiUmFwcG9ydGV1ciIsIlR5cGVEZWNsYXJhdGlvbiIsIlRleHRlQXNzb2NpZSIsIkNvbnRyaWJ1dGlvbkludGVybmF1dGUiLCJJbmZvSm9jZSIsIkluaXRpYXRldXJBY3RldXIiLCJUZXh0ZUV1cm9wZWVuIiwiSW5mb0pvIiwiRnVzaW9uRG9zc2llciIsIkluZGV4YXRpb24iLCJUaGVtZXMiLCJUaGVtZSIsIkluaXRpYXRldXIiLCJQcm9jZWR1cmVQYXJsZW1lbnRhaXJlIiwiVGl0cmVEb3NzaWVyIiwiVGV4dGVFeHRlcm5lQXNzb2NpZSIsIkRvY3VtZW50IiwiU3ViZGl2aXNpb24iLCJDb250ZW51U3ViZGl2aXNpb24iLCJBdXRldXIiLCJBdXRldXJBY3RldXIiLCJDbGFzc2lmaWNhdGlvbiIsIkZhbWlsbGUiLCJTb3VzVHlwZSIsIkNvU2lnbmF0YWlyZUVsZW1lbnQiLCJDb1NpZ25hdGFpcmVPcmdhbmUiLCJDb3JyZWN0aW9uIiwiQ3ljbGVEZVZpZSIsIkNocm9ubyIsIkRlcG90QW1lbmRlbWVudHMiLCJBbWVuZGVtZW50c0NvbW1pc3Npb24iLCJBbWVuZGVtZW50c1NlYW5jZSIsIkRpdmlzaW9uIiwiSW1wcmltZXJpZSIsIk5vdGljZSIsIlRpdHJlcyIsInZhbHVlcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9kb3NzaWVyc19sZWdpc2xhdGlmcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUbyBwYXJzZSB0aGlzIGRhdGE6XG4vL1xuLy8gICBpbXBvcnQgeyBDb252ZXJ0LCBEb2N1bWVudCwgRG9zc2llclBhcmxlbWVudGFpcmUsIERvc3NpZXJzTGVnaXNsYXRpZnMgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCBkb2N1bWVudCA9IENvbnZlcnQudG9Eb2N1bWVudChqc29uKTtcbi8vICAgY29uc3QgZG9zc2llclBhcmxlbWVudGFpcmUgPSBDb252ZXJ0LnRvRG9zc2llclBhcmxlbWVudGFpcmUoanNvbik7XG4vLyAgIGNvbnN0IGRvc3NpZXJzTGVnaXNsYXRpZnMgPSBDb252ZXJ0LnRvRG9zc2llcnNMZWdpc2xhdGlmcyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5pbXBvcnQgeyBBY3RldXIsIE1hbmRhdCwgT3JnYW5lIH0gZnJvbSBcIi4vYWN0ZXVyc19ldF9vcmdhbmVzXCJcbmltcG9ydCB7IFBvaW50T2RqLCBSZXVuaW9uIH0gZnJvbSBcIi4vYWdlbmRhc1wiXG5pbXBvcnQgeyBTY3J1dGluIH0gZnJvbSBcIi4vc2NydXRpbnNcIlxuaW1wb3J0IHsgQ29kZUFjdGUgfSBmcm9tIFwiLi4vc2hhcmVkX3R5cGVzL2NvZGVzX2FjdGVzXCJcblxuZXhwb3J0IGludGVyZmFjZSBEb3NzaWVyc0xlZ2lzbGF0aWZzIHtcbiAgdGV4dGVzTGVnaXNsYXRpZnM6IERvY3VtZW50W11cbiAgZG9zc2llcnNQYXJsZW1lbnRhaXJlczogRG9zc2llclBhcmxlbWVudGFpcmVbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvc3NpZXJQYXJsZW1lbnRhaXJlIHtcbiAgc2NoZW1hVmVyc2lvbj86IHN0cmluZ1xuICB4c2lUeXBlPzogRG9zc2llclBhcmxlbWVudGFpcmVYc2lUeXBlXG4gIHVpZDogc3RyaW5nXG4gIGxlZ2lzbGF0dXJlOiBzdHJpbmdcbiAgdGl0cmVEb3NzaWVyOiBUaXRyZURvc3NpZXJcbiAgcHJvY2VkdXJlUGFybGVtZW50YWlyZTogUHJvY2VkdXJlUGFybGVtZW50YWlyZVxuICBpbml0aWF0ZXVyPzogSW5pdGlhdGV1clxuICBhY3Rlc0xlZ2lzbGF0aWZzPzogQWN0ZUxlZ2lzbGF0aWZbXVxuICBmdXNpb25Eb3NzaWVyPzogRnVzaW9uRG9zc2llclxuICBpbmRleGF0aW9uPzogSW5kZXhhdGlvblxuICBwbGY/OiBFdHVkZVBsZltdXG59XG5cbmV4cG9ydCBlbnVtIERvc3NpZXJQYXJsZW1lbnRhaXJlWHNpVHlwZSB7XG4gIERvc3NpZXJDb21taXNzaW9uRW5xdWV0ZVR5cGUgPSBcIkRvc3NpZXJDb21taXNzaW9uRW5xdWV0ZV9UeXBlXCIsXG4gIERvc3NpZXJJbmlhdGl2ZUV4ZWN1dGlmVHlwZSA9IFwiRG9zc2llckluaWF0aXZlRXhlY3V0aWZfVHlwZVwiLFxuICBEb3NzaWVyTGVnaXNsYXRpZlR5cGUgPSBcIkRvc3NpZXJMZWdpc2xhdGlmX1R5cGVcIixcbiAgRG9zc2llck1pc3Npb25Db250cm9sZVR5cGUgPSBcIkRvc3NpZXJNaXNzaW9uQ29udHJvbGVfVHlwZVwiLFxuICBEb3NzaWVyTWlzc2lvbkluZm9ybWF0aW9uVHlwZSA9IFwiRG9zc2llck1pc3Npb25JbmZvcm1hdGlvbl9UeXBlXCIsXG4gIERvc3NpZXJSZXNvbHV0aW9uQW4gPSBcIkRvc3NpZXJSZXNvbHV0aW9uQU5cIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdHVkZVBsZiB7XG4gIHVpZDogc3RyaW5nXG4gIG9yZ2FuZVJlZjogc3RyaW5nXG4gIHRleHRlQXNzb2NpZT86IHN0cmluZ1xuICByYXBwb3J0ZXVycz86IFJhcHBvcnRldXJbXVxuICBtaXNzaW9uTWluZWZpPzogTWlzc2lvbk1pbmVmaVxuICBvcmRyZURpcXM6IHN0cmluZ1xuICBvcmRyZUNvbW1pc3Npb246IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pc3Npb25NaW5lZmkge1xuICB0eXBlTWlzc2lvbjogVHlwZU1pc3Npb25cbiAgY29kZU1pc3Npb24/OiBzdHJpbmdcbiAgbGliZWxsZUxvbmc6IHN0cmluZ1xuICBsaWJlbGxlQ291cnQ6IHN0cmluZ1xuICB0eXBlQnVkZ2V0OiBUeXBlQnVkZ2V0XG4gIG1pc3Npb25zPzogTWlzc2lvbk1pbmVmaVtdXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVCdWRnZXQge1xuICBCdWRnZXRBbm5leGUgPSBcIkJ1ZGdldCBhbm5leGVcIixcbiAgQnVkZ2V0R8OpbsOpcmFsID0gXCJCdWRnZXQgZ8OpbsOpcmFsXCIsXG4gIENvbXB0ZURlQ29uY291cnNGaW5hbmNpZXIgPSBcIkNvbXB0ZSBkZSBjb25jb3VycyBmaW5hbmNpZXJcIixcbiAgQ29tcHRlU3DDqWNpYWwgPSBcIkNvbXB0ZSBzcMOpY2lhbFwiLFxuICBQcmVtacOocmVQYXJ0aWUgPSBcIlByZW1pw6hyZSBwYXJ0aWVcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZU1pc3Npb24ge1xuICBNaXNzaW9uUHJpbmNpcGFsZSA9IFwibWlzc2lvbiBwcmluY2lwYWxlXCIsXG4gIE1pc3Npb25TZWNvbmRhaXJlID0gXCJtaXNzaW9uIHNlY29uZGFpcmVcIixcbiAgUGFydGllRGVNaXNzaW9uID0gXCJwYXJ0aWUgZGUgbWlzc2lvblwiLFxufVxuXG5leHBvcnQgZW51bSBRdWFsaXRlIHtcbiAgQXV0ZXVyID0gXCJhdXRldXJcIixcbiAgQ29zaWduYXRhaXJlID0gXCJjb3NpZ25hdGFpcmVcIixcbiAgUmFwcG9ydGV1ciA9IFwicmFwcG9ydGV1clwiLFxuICBSYXBwb3J0ZXVyR8OpbsOpcmFsID0gXCJyYXBwb3J0ZXVyIGfDqW7DqXJhbFwiLFxuICBSYXBwb3J0ZXVyUG91ckF2aXMgPSBcInJhcHBvcnRldXIgcG91ciBhdmlzXCIsXG4gIFJhcHBvcnRldXJTcMOpY2lhbCA9IFwicmFwcG9ydGV1ciBzcMOpY2lhbFwiLFxufVxuXG5leHBvcnQgZW51bSBUeXBlQWN0ZUxlZ2lzbGF0aWYge1xuICBBZG9wdGlvbkV1cm9wZVR5cGUgPSBcIkFkb3B0aW9uX0V1cm9wZV9UeXBlXCIsXG4gIENvbmNsdXNpb25FdGFwZUNjVHlwZSA9IFwiQ29uY2x1c2lvbkV0YXBlQ0NfVHlwZVwiLFxuICBDb252b2NhdGlvbkNvbmdyZXNUeXBlID0gXCJDb252b2NhdGlvbkNvbmdyZXNfVHlwZVwiLFxuICBDcmVhdGlvbk9yZ2FuZVRlbXBvcmFpcmVUeXBlID0gXCJDcmVhdGlvbk9yZ2FuZVRlbXBvcmFpcmVfVHlwZVwiLFxuICBEZWNpc2lvbk1vdGlvbkNlbnN1cmVUeXBlID0gXCJEZWNpc2lvbk1vdGlvbkNlbnN1cmVfVHlwZVwiLFxuICBEZWNpc2lvblJlY2V2YWJpbGl0ZUJ1cmVhdVR5cGUgPSBcIkRlY2lzaW9uUmVjZXZhYmlsaXRlQnVyZWF1X1R5cGVcIixcbiAgRGVjaXNpb25UeXBlID0gXCJEZWNpc2lvbl9UeXBlXCIsXG4gIERlY2xhcmF0aW9uR291dmVybmVtZW50VHlwZSA9IFwiRGVjbGFyYXRpb25Hb3V2ZXJuZW1lbnRfVHlwZVwiLFxuICBEZXBvdEFjY29yZEludGVybmF0aW9uYWxUeXBlID0gXCJEZXBvdEFjY29yZEludGVybmF0aW9uYWxfVHlwZVwiLFxuICBEZXBvdEF2aXNDb25zZWlsRXRhdFR5cGUgPSBcIkRlcG90QXZpc0NvbnNlaWxFdGF0X1R5cGVcIixcbiAgRGVwb3RJbml0aWF0aXZlTmF2ZXR0ZVR5cGUgPSBcIkRlcG90SW5pdGlhdGl2ZU5hdmV0dGVfVHlwZVwiLFxuICBEZXBvdEluaXRpYXRpdmVUeXBlID0gXCJEZXBvdEluaXRpYXRpdmVfVHlwZVwiLFxuICBEZXBvdExldHRyZVJlY3RpZmljYXRpdmVUeXBlID0gXCJEZXBvdExldHRyZVJlY3RpZmljYXRpdmVfVHlwZVwiLFxuICBEZXBvdE1vdGlvbkNlbnN1cmVUeXBlID0gXCJEZXBvdE1vdGlvbkNlbnN1cmVfVHlwZVwiLFxuICBEZXBvdE1vdGlvblJlZmVyZW5kYWlyZVR5cGUgPSBcIkRlcG90TW90aW9uUmVmZXJlbmRhaXJlX1R5cGVcIixcbiAgRGVwb3RSYXBwb3J0VHlwZSA9IFwiRGVwb3RSYXBwb3J0X1R5cGVcIixcbiAgRGlzY3Vzc2lvbkNvbW1pc3Npb25UeXBlID0gXCJEaXNjdXNzaW9uQ29tbWlzc2lvbl9UeXBlXCIsXG4gIERpc2N1c3Npb25TZWFuY2VQdWJsaXF1ZVR5cGUgPSBcIkRpc2N1c3Npb25TZWFuY2VQdWJsaXF1ZV9UeXBlXCIsXG4gIEV0YXBlVHlwZSA9IFwiRXRhcGVfVHlwZVwiLFxuICBFdHVkZUltcGFjdFR5cGUgPSBcIkV0dWRlSW1wYWN0X1R5cGVcIixcbiAgTW90aW9uUHJvY2VkdXJlVHlwZSA9IFwiTW90aW9uUHJvY2VkdXJlX1R5cGVcIixcbiAgTm9taW5SYXBwb3J0ZXVyc1R5cGUgPSBcIk5vbWluUmFwcG9ydGV1cnNfVHlwZVwiLFxuICBQcm9jZWR1cmVBY2NlbGVyZVR5cGUgPSBcIlByb2NlZHVyZUFjY2VsZXJlX1R5cGVcIixcbiAgUHJvbXVsZ2F0aW9uVHlwZSA9IFwiUHJvbXVsZ2F0aW9uX1R5cGVcIixcbiAgUmVudm9pQ21wVHlwZSA9IFwiUmVudm9pQ01QX1R5cGVcIixcbiAgUmVudm9pUHJlYWxhYmxlVHlwZSA9IFwiUmVudm9pUHJlYWxhYmxlX1R5cGVcIixcbiAgUmV0cmFpdEluaXRpYXRpdmVUeXBlID0gXCJSZXRyYWl0SW5pdGlhdGl2ZV9UeXBlXCIsXG4gIFNhaXNpZUNvbUF2aXNUeXBlID0gXCJTYWlzaWVDb21BdmlzX1R5cGVcIixcbiAgU2Fpc2llQ29tRm9uZFR5cGUgPSBcIlNhaXNpZUNvbUZvbmRfVHlwZVwiLFxuICBTYWlzaW5lQ29uc2VpbENvbnN0aXRUeXBlID0gXCJTYWlzaW5lQ29uc2VpbENvbnN0aXRfVHlwZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGVMZWdpc2xhdGlmIHtcbiAgeHNpVHlwZTogVHlwZUFjdGVMZWdpc2xhdGlmXG4gIHVpZDogc3RyaW5nXG4gIGNvZGVBY3RlOiBDb2RlQWN0ZVxuICBsaWJlbGxlQWN0ZTogTGliZWxsZUFjdGVcbiAgb3JnYW5lUmVmPzogc3RyaW5nXG4gIG9yZ2FuZT86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBkYXRlQWN0ZT86IERhdGVcbiAgLy9cbiAgYW5uZWVEZWNpc2lvbj86IHN0cmluZ1xuICBhdXRldXJNb3Rpb24/OiBzdHJpbmdcbiAgYXV0ZXVyc1JlZnM/OiBzdHJpbmdbXVxuICBjYXNTYWlzaW5lPzogVHlwZURlY2xhcmF0aW9uXG4gIGNvZGVMb2k/OiBzdHJpbmdcbiAgY29udHJpYnV0aW9uSW50ZXJuYXV0ZT86IENvbnRyaWJ1dGlvbkludGVybmF1dGVcbiAgZGVjaXNpb24/OiBUeXBlRGVjbGFyYXRpb25cbiAgZGVwb3RJbml0aWFsTGVjdHVyZURlZmluaXRpdmVSZWY/OiBzdHJpbmdcbiAgZGVwb3RJbml0aWFsTGVjdHVyZURlZmluaXRpdmU/OiBEb2N1bWVudCAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBmb3JtdWxlRGVjaXNpb24/OiBzdHJpbmdcbiAgaW5mb0pvPzogSW5mb0pvXG4gIGluZm9Kb2NlPzogSW5mb0pvY2VcbiAgaW5mb0pvUmVjdD86IEluZm9Kb1tdXG4gIGluaXRpYXRldXI/OiBJbml0aWF0ZXVyXG4gIG1vdGlmPzogTW90aWZcbiAgbnVtRGVjaXNpb24/OiBzdHJpbmdcbiAgb2RqUmVmPzogc3RyaW5nXG4gIG9kaj86IFBvaW50T2RqIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHByb3ZlbmFuY2VSZWY/OiBzdHJpbmdcbiAgcHJvdmVuYW5jZT86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICByYXBwb3J0ZXVycz86IFJhcHBvcnRldXJbXVxuICByZWZlcmVuY2VOb3I/OiBzdHJpbmdcbiAgcmV1bmlvblJlZj86IHN0cmluZ1xuICByZXVuaW9uPzogUmV1bmlvbiAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBzdGF0dXRBZG9wdGlvbj86IFR5cGVEZWNsYXJhdGlvblxuICBzdGF0dXRDb25jbHVzaW9uPzogVHlwZURlY2xhcmF0aW9uXG4gIHRleHRlQWRvcHRlUmVmPzogc3RyaW5nXG4gIHRleHRlQWRvcHRlPzogRG9jdW1lbnQgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbiAgdGV4dGVBc3NvY2llUmVmPzogc3RyaW5nXG4gIHRleHRlQXNzb2NpZT86IERvY3VtZW50IC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHRleHRlRXVyb3BlZW4/OiBUZXh0ZUV1cm9wZWVuXG4gIHRleHRlRXh0ZXJuZUFzc29jaWU/OiBUZXh0ZUV4dGVybmVBc3NvY2llXG4gIHRleHRlTG9pUmVmPzogc3RyaW5nXG4gIHRleHRlc0Fzc29jaWVzPzogVGV4dGVBc3NvY2llW11cbiAgdGl0cmVMb2k/OiBzdHJpbmdcbiAgdHlwZURlY2xhcmF0aW9uPzogVHlwZURlY2xhcmF0aW9uXG4gIHR5cGVNb3Rpb24/OiBUeXBlRGVjbGFyYXRpb25cbiAgdHlwZU1vdGlvbkNlbnN1cmU/OiBUeXBlRGVjbGFyYXRpb25cbiAgdXJsQ29uY2x1c2lvbj86IHN0cmluZ1xuICB1cmxFY2hlYW5jaWVyTG9pPzogc3RyaW5nXG4gIHVybExlZ2lmcmFuY2U/OiBzdHJpbmdcbiAgdm90ZVJlZnM/OiBzdHJpbmdbXVxuICB2b3Rlcz86IFNjcnV0aW5bXSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICAvL1xuICBhY3Rlc0xlZ2lzbGF0aWZzPzogQWN0ZUxlZ2lzbGF0aWZbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpYmVsbGVBY3RlIHtcbiAgbm9tQ2Fub25pcXVlOiBzdHJpbmdcbiAgbGliZWxsZUNvdXJ0Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmFwcG9ydGV1ciB7XG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICB0eXBlUmFwcG9ydGV1cjogUXVhbGl0ZVxuICBldHVkZVBsZlJlZj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVEZWNsYXJhdGlvbiB7XG4gIGZhbUNvZGU6IHN0cmluZ1xuICBsaWJlbGxlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZUFzc29jaWUge1xuICB0eXBlVGV4dGU6IFR5cGVUZXh0ZVxuICB0ZXh0ZUFzc29jaWVSZWY6IHN0cmluZ1xuICB0ZXh0ZUFzc29jaWU/OiBEb2N1bWVudCAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xufVxuXG5leHBvcnQgZW51bSBUeXBlVGV4dGUge1xuICBCdGEgPSBcIkJUQVwiLFxuICBUYXAgPSBcIlRBUFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyaWJ1dGlvbkludGVybmF1dGUge1xuICBkYXRlT3V2ZXJ0dXJlPzogc3RyaW5nXG4gIGRhdGVGZXJtZXR1cmU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvSm9jZSB7XG4gIHJlZkpvY2U6IHN0cmluZ1xuICBkYXRlSm9jZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhdGV1ckFjdGV1ciB7XG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBtYW5kYXRSZWY/OiBzdHJpbmdcbiAgbWFuZGF0PzogTWFuZGF0IC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG59XG5cbmV4cG9ydCBlbnVtIE1vdGlmIHtcbiAgRW5BcHBsaWNhdGlvbkRlTEFydGljbGU2MTJEZUxhQ29uc3RpdHV0aW9uID0gXCJFbiBhcHBsaWNhdGlvbiBkZSBsJ2FydGljbGUgNjHCpzIgZGUgbGEgQ29uc3RpdHV0aW9uXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dGVFdXJvcGVlbiB7XG4gIHR5cGVUZXh0ZUV1cm9wZWVuOiBzdHJpbmdcbiAgdGl0cmVUZXh0ZUV1cm9wZWVuOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvSm8ge1xuICB0eXBlSm86IFR5cGVKb1xuICBkYXRlSm86IHN0cmluZ1xuICBudW1Kbzogc3RyaW5nXG4gIHVybExlZ2lmcmFuY2U/OiBzdHJpbmdcbiAgcmVmZXJlbmNlTm9yPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVKbyB7XG4gIEpvTG9pRGVjcmV0ID0gXCJKT19MT0lfREVDUkVUXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5mb0pvUmVjdEVsZW1lbnQge1xuICB0eXBlSm86IFR5cGVKb1xuICBkYXRlSm86IHN0cmluZ1xuICBudW1Kbzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVzaW9uRG9zc2llciB7XG4gIGNhdXNlOiBDYXVzZVxuICBkb3NzaWVyQWJzb3JiYW50UmVmOiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gQ2F1c2Uge1xuICBEb3NzaWVyQWJzb3Jiw6kgPSBcIkRvc3NpZXIgYWJzb3Jiw6lcIixcbiAgRXhhbWVuQ29tbXVuID0gXCJFeGFtZW4gY29tbXVuXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXhhdGlvbiB7XG4gIHRoZW1lczogVGhlbWVzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlbWVzIHtcbiAgXCJAbml2ZWF1XCI6IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaGVtZSB7XG4gIGxpYmVsbGVUaGVtZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhdGV1ciB7XG4gIGFjdGV1cnM/OiBJbml0aWF0ZXVyQWN0ZXVyW11cbiAgb3JnYW5lUmVmPzogc3RyaW5nXG4gIG9yZ2FuZT86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2NlZHVyZVBhcmxlbWVudGFpcmUge1xuICBjb2RlOiBzdHJpbmdcbiAgbGliZWxsZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGl0cmVEb3NzaWVyIHtcbiAgdGl0cmU6IHN0cmluZ1xuICB0aXRyZUNoZW1pbj86IHN0cmluZ1xuICBzZW5hdENoZW1pbj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRlRXh0ZXJuZUFzc29jaWUge1xuICB0eXBlRG9jOiBUZXh0ZUV4dGVybmVBc3NvY2llVHlwZURvY1xuICB0ZXh0ZVJlZjogc3RyaW5nXG4gIHRpdHJlRG9jOiBzdHJpbmdcbiAgdXJsRG9jOiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gVGV4dGVFeHRlcm5lQXNzb2NpZVR5cGVEb2Mge1xuICBEZWNyZXQgPSBcIkTDqWNyZXRcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudCB7XG4gIHNjaGVtYVZlcnNpb24/OiBzdHJpbmdcbiAgeHNpVHlwZTogVHlwZURvY3VtZW50XG4gIHVpZDogc3RyaW5nXG4gIGxlZ2lzbGF0dXJlPzogc3RyaW5nXG4gIGN5Y2xlRGVWaWU6IEN5Y2xlRGVWaWVcbiAgZGVub21pbmF0aW9uU3RydWN0dXJlbGxlOiBEb2N1bWVudERlbm9taW5hdGlvblN0cnVjdHVyZWxsZVxuICBwcm92ZW5hbmNlPzogUHJvdmVuYW5jZVxuICB0aXRyZXM6IFRpdHJlc1xuICBkaXZpc2lvbnM/OiBEaXZpc2lvbltdXG4gIGRvc3NpZXJSZWY6IHN0cmluZ1xuICBkb3NzaWVyPzogRG9zc2llclBhcmxlbWVudGFpcmUgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbiAgY2xhc3NpZmljYXRpb246IENsYXNzaWZpY2F0aW9uXG4gIGF1dGV1cnM6IEF1dGV1cltdXG4gIGNvcnJlY3Rpb24/OiBDb3JyZWN0aW9uXG4gIG5vdGljZTogTm90aWNlXG4gIGluZGV4YXRpb24/OiBJbmRleGF0aW9uXG4gIGltcHJpbWVyaWU/OiBJbXByaW1lcmllXG4gIGNvU2lnbmF0YWlyZXM/OiBDb1NpZ25hdGFpcmVFbGVtZW50W11cbiAgZGVwb3RBbWVuZGVtZW50cz86IERlcG90QW1lbmRlbWVudHNcbiAgb3JnYW5lc1JlZmVyZW50cz86IHN0cmluZ1tdXG4gIHJhcHBvcnRQdWJsaWU/OiBib29sZWFuXG4gIHN1YmRpdmlzaW9ucz86IFN1YmRpdmlzaW9uW10gfCBudWxsXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVEb2N1bWVudCB7XG4gIEFjY29yZEludGVybmF0aW9uYWxUeXBlID0gXCJhY2NvcmRJbnRlcm5hdGlvbmFsX1R5cGVcIixcbiAgQXZpc0NvbnNlaWxFdGF0VHlwZSA9IFwiYXZpc0NvbnNlaWxFdGF0X1R5cGVcIixcbiAgRG9jdW1lbnRFdHVkZUltcGFjdFR5cGUgPSBcImRvY3VtZW50RXR1ZGVJbXBhY3RfVHlwZVwiLFxuICBSYXBwb3J0UGFybGVtZW50YWlyZVR5cGUgPSBcInJhcHBvcnRQYXJsZW1lbnRhaXJlX1R5cGVcIixcbiAgVGV4dGVMb2lUeXBlID0gXCJ0ZXh0ZUxvaV9UeXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ViZGl2aXNpb24ge1xuICBpZDogc3RyaW5nXG4gIHR5cGU/OiBzdHJpbmdcbiAgbml2ZWF1OiBudW1iZXJcbiAgbml2ZWF1UmVsYXRpZjogbnVtYmVyXG4gIHRpdHJlcz86IENvbnRlbnVTdWJkaXZpc2lvbltdXG4gIGFsaW5lYXM/OiBDb250ZW51U3ViZGl2aXNpb25bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnVTdWJkaXZpc2lvbiB7XG4gIHRleHRlPzogc3RyaW5nXG4gIGh0bWw/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRldXIge1xuICBhY3RldXI/OiBBdXRldXJBY3RldXJcbiAgb3JnYW5lUmVmPzogc3RyaW5nXG4gIG9yZ2FuZT86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGV1ckFjdGV1ciB7XG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBxdWFsaXRlOiBRdWFsaXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NpZmljYXRpb24ge1xuICBmYW1pbGxlPzogRmFtaWxsZVxuICB0eXBlOiBQcm9jZWR1cmVQYXJsZW1lbnRhaXJlXG4gIHNvdXNUeXBlPzogU291c1R5cGVcbiAgc3RhdHV0QWRvcHRpb24/OiBTdGF0dXRBZG9wdGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZhbWlsbGUge1xuICBkZXBvdDogUHJvY2VkdXJlUGFybGVtZW50YWlyZVxuICBjbGFzc2U6IFByb2NlZHVyZVBhcmxlbWVudGFpcmVcbiAgZXNwZWNlPzogUHJvY2VkdXJlUGFybGVtZW50YWlyZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvdXNUeXBlIHtcbiAgY29kZTogc3RyaW5nXG4gIGxpYmVsbGU/OiBzdHJpbmdcbiAgbGliZWxsZUVkaXRpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gU3RhdHV0QWRvcHRpb24ge1xuICBBZG9wdGNvbSA9IFwiQURPUFRDT01cIixcbiAgQWRvcHRzZWFuY2UgPSBcIkFET1BUU0VBTkNFXCIsXG4gIFJlamV0c2VhbmNlID0gXCJSRUpFVFNFQU5DRVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvU2lnbmF0YWlyZUVsZW1lbnQge1xuICBhY3RldXJSZWY/OiBzdHJpbmdcbiAgZGF0ZUNvc2lnbmF0dXJlOiBzdHJpbmdcbiAgZGF0ZVJldHJhaXRDb3NpZ25hdHVyZT86IHN0cmluZ1xuICBlZGl0ZTogYm9vbGVhblxuICBvcmdhbmU/OiBDb1NpZ25hdGFpcmVPcmdhbmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb1NpZ25hdGFpcmVPcmdhbmUge1xuICBvcmdhbmVSZWY6IHN0cmluZ1xuICBldEFwcGFyZW50ZXM6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3JyZWN0aW9uIHtcbiAgdHlwZUNvcnJlY3Rpb246IFR5cGVDb3JyZWN0aW9uXG4gIG5pdmVhdUNvcnJlY3Rpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gVHlwZUNvcnJlY3Rpb24ge1xuICBSZWN0aWZpw6kgPSBcIlJlY3RpZmnDqVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN5Y2xlRGVWaWUge1xuICBjaHJvbm86IENocm9ub1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocm9ubyB7XG4gIGRhdGVDcmVhdGlvbj86IERhdGVcbiAgZGF0ZURlcG90PzogRGF0ZVxuICBkYXRlUHVibGljYXRpb24/OiBEYXRlXG4gIGRhdGVQdWJsaWNhdGlvbldlYj86IERhdGVcbn1cblxuZXhwb3J0IGVudW0gRG9jdW1lbnREZW5vbWluYXRpb25TdHJ1Y3R1cmVsbGUge1xuICBBbGxvY3V0aW9uID0gXCJBbGxvY3V0aW9uXCIsXG4gIEF2aXMgPSBcIkF2aXNcIixcbiAgRMOpY2xhcmF0aW9uID0gXCJEw6ljbGFyYXRpb25cIixcbiAgTGV0dHJlID0gXCJMZXR0cmVcIixcbiAgTWVzc2FnZSA9IFwiTWVzc2FnZVwiLFxuICBNb3Rpb24gPSBcIk1vdGlvblwiLFxuICBQcm9qZXREZUxvaSA9IFwiUHJvamV0IGRlIGxvaVwiLFxuICBQcm9wb3NpdGlvbkRlTG9pID0gXCJQcm9wb3NpdGlvbiBkZSBsb2lcIixcbiAgUHJvcG9zaXRpb25EZVLDqXNvbHV0aW9uID0gXCJQcm9wb3NpdGlvbiBkZSByw6lzb2x1dGlvblwiLFxuICBSYXBwb3J0ID0gXCJSYXBwb3J0XCIsXG4gIFJhcHBvcnRESW5mb3JtYXRpb24gPSBcIlJhcHBvcnQgZCdpbmZvcm1hdGlvblwiLFxuICBSw6lzb2x1dGlvbiA9IFwiUsOpc29sdXRpb25cIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBvdEFtZW5kZW1lbnRzIHtcbiAgYW1lbmRlbWVudHNTZWFuY2U6IEFtZW5kZW1lbnRzU2VhbmNlXG4gIGFtZW5kZW1lbnRzQ29tbWlzc2lvbj86IEFtZW5kZW1lbnRzQ29tbWlzc2lvbltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW1lbmRlbWVudHNDb21taXNzaW9uIHtcbiAgb3JnYW5lUmVmOiBzdHJpbmdcbiAgYW1lbmRhYmxlOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW1lbmRlbWVudHNTZWFuY2Uge1xuICBhbWVuZGFibGU6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXZpc2lvbiB7XG4gIHhzaVR5cGU6IFR5cGVEb2N1bWVudFxuICB1aWQ6IHN0cmluZ1xuICBsZWdpc2xhdHVyZT86IHN0cmluZ1xuICBjeWNsZURlVmllOiBDeWNsZURlVmllXG4gIGRlbm9taW5hdGlvblN0cnVjdHVyZWxsZTogc3RyaW5nXG4gIHRpdHJlczogVGl0cmVzXG4gIGRpdmlzaW9ucz86IERpdmlzaW9uW11cbiAgZG9zc2llclJlZjogc3RyaW5nXG4gIGRvc3NpZXI/OiBEb3NzaWVyUGFybGVtZW50YWlyZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBjbGFzc2lmaWNhdGlvbjogQ2xhc3NpZmljYXRpb25cbiAgYXV0ZXVyczogQXV0ZXVyW11cbiAgb3JnYW5lc1JlZmVyZW50cz86IHN0cmluZ1tdXG4gIGNvcnJlY3Rpb24/OiBDb3JyZWN0aW9uXG4gIG5vdGljZTogTm90aWNlXG4gIGluZGV4YXRpb24/OiBJbmRleGF0aW9uXG4gIGltcHJpbWVyaWU/OiBJbXByaW1lcmllXG4gIHJhcHBvcnRQdWJsaWU/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1wcmltZXJpZSB7XG4gIGRpYW4/OiBzdHJpbmdcbiAgaXNibj86IHN0cmluZ1xuICBuYlBhZ2U/OiBzdHJpbmdcbiAgcHJpeD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGljZSB7XG4gIG51bU5vdGljZT86IHN0cmluZ1xuICBmb3JtdWxlPzogc3RyaW5nXG4gIGFkb3B0aW9uQ29uZm9ybWU6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaXRyZXMge1xuICB0aXRyZVByaW5jaXBhbDogc3RyaW5nXG4gIHRpdHJlUHJpbmNpcGFsQ291cnQ6IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBQcm92ZW5hbmNlIHtcbiAgQ29tbWlzc2lvbiA9IFwiQ29tbWlzc2lvblwiLFxuICBTw6lhbmNlID0gXCJTw6lhbmNlXCIsXG4gIFRleHRlRMOpcG9zw6kgPSBcIlRleHRlIETDqXBvc8OpXCIsXG59XG5cbi8vIENvbnZlcnRzIEpTT04gc3RyaW5ncyB0by9mcm9tIHlvdXIgdHlwZXNcbi8vIGFuZCBhc3NlcnRzIHRoZSByZXN1bHRzIG9mIEpTT04ucGFyc2UgYXQgcnVudGltZVxuZXhwb3J0IGNsYXNzIENvbnZlcnQge1xuICBwdWJsaWMgc3RhdGljIHRvRG9zc2llcnNMZWdpc2xhdGlmcyhqc29uOiBzdHJpbmcpOiBEb3NzaWVyc0xlZ2lzbGF0aWZzIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiRG9zc2llcnNMZWdpc2xhdGlmc1wiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZG9zc2llcnNMZWdpc2xhdGlmc1RvSnNvbih2YWx1ZTogRG9zc2llcnNMZWdpc2xhdGlmcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkRvc3NpZXJzTGVnaXNsYXRpZnNcIikpLCBudWxsLCAyKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b0RvY3VtZW50KGpzb246IHN0cmluZyk6IERvY3VtZW50IHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiRG9jdW1lbnRcIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGRvY3VtZW50VG9Kc29uKHZhbHVlOiBEb2N1bWVudCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkRvY3VtZW50XCIpKSwgbnVsbCwgMilcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9Eb3NzaWVyUGFybGVtZW50YWlyZShqc29uOiBzdHJpbmcpOiBEb3NzaWVyUGFybGVtZW50YWlyZSB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkRvc3NpZXJQYXJsZW1lbnRhaXJlXCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkb3NzaWVyUGFybGVtZW50YWlyZVRvSnNvbihcbiAgICB2YWx1ZTogRG9zc2llclBhcmxlbWVudGFpcmUsXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkRvc3NpZXJQYXJsZW1lbnRhaXJlXCIpKSwgbnVsbCwgMilcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBuZXZlciB7XG4gIGlmIChrZXkpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICB0eXAsXG4gICAgICApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gLFxuICAgIClcbiAgfVxuXG4gIHRocm93IEVycm9yKFxuICAgIGBJbnZhbGlkIHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodmFsKX0gZm9yIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfWAsXG4gIClcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG1hcDogYW55ID0ge31cbiAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiAobWFwW3AuanNvbl0gPSB7IGtleTogcC5qcywgdHlwOiBwLnR5cCB9KSlcbiAgICB0eXAuanNvblRvSlMgPSBtYXBcbiAgfVxuICByZXR1cm4gdHlwLmpzb25Ub0pTXG59XG5cbmZ1bmN0aW9uIGpzVG9KU09OUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzVG9KU09OID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzVG9KU09OID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc1RvSlNPTlxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBhbnkge1xuICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICBjb25zdCBsID0gdHlwcy5sZW5ndGhcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgdHlwID0gdHlwc1tpXVxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpXG4gICAgICB9IGNhdGNoIChfKSB7fVxuICAgIH1cbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKVxuICAgIHJldHVybiB2YWwubWFwKChlbCkgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpXG4gICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKVxuICAgIH1cbiAgICByZXR1cm4gZFxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KFxuICAgIHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSxcbiAgICBhZGRpdGlvbmFsOiBhbnksXG4gICAgdmFsOiBhbnksXG4gICk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpXG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge31cbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XVxuICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSlcbiAgICAgICAgPyB2YWxba2V5XVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KVxuICAgIH0pXG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbFxuICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl1cbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbClcbiAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpXG4gICAgICA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKVxuICAgICAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIilcbiAgICAgICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKVxuICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKVxufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKVxufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpXG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH1cbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfVxufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH1cbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgICByZXR1cm4geyBwcm9wczogW10sIGFkZGl0aW9uYWwgfTtcbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHsgcmVmOiBuYW1lIH1cbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICBEb3NzaWVyc0xlZ2lzbGF0aWZzOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0ZXh0ZXNMZWdpc2xhdGlmc1wiLFxuICAgICAgICBqczogXCJ0ZXh0ZXNMZWdpc2xhdGlmc1wiLFxuICAgICAgICB0eXA6IGEocihcIkRvY3VtZW50XCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZG9zc2llcnNQYXJsZW1lbnRhaXJlc1wiLFxuICAgICAgICBqczogXCJkb3NzaWVyc1BhcmxlbWVudGFpcmVzXCIsXG4gICAgICAgIHR5cDogYShyKFwiRG9zc2llclBhcmxlbWVudGFpcmVcIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEb3NzaWVyUGFybGVtZW50YWlyZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwic2NoZW1hVmVyc2lvblwiLCBqczogXCJzY2hlbWFWZXJzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwieHNpVHlwZVwiLFxuICAgICAgICBqczogXCJ4c2lUeXBlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEb3NzaWVyUGFybGVtZW50YWlyZVhzaVR5cGVcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInRpdHJlRG9zc2llclwiLCBqczogXCJ0aXRyZURvc3NpZXJcIiwgdHlwOiByKFwiVGl0cmVEb3NzaWVyXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicHJvY2VkdXJlUGFybGVtZW50YWlyZVwiLFxuICAgICAgICBqczogXCJwcm9jZWR1cmVQYXJsZW1lbnRhaXJlXCIsXG4gICAgICAgIHR5cDogcihcIlByb2NlZHVyZVBhcmxlbWVudGFpcmVcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImluaXRpYXRldXJcIixcbiAgICAgICAganM6IFwiaW5pdGlhdGV1clwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiSW5pdGlhdGV1clwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFjdGVzTGVnaXNsYXRpZnNcIixcbiAgICAgICAganM6IFwiYWN0ZXNMZWdpc2xhdGlmc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJBY3RlTGVnaXNsYXRpZlwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJmdXNpb25Eb3NzaWVyXCIsXG4gICAgICAgIGpzOiBcImZ1c2lvbkRvc3NpZXJcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkZ1c2lvbkRvc3NpZXJcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpbmRleGF0aW9uXCIsXG4gICAgICAgIGpzOiBcImluZGV4YXRpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkluZGV4YXRpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJwbGZcIiwganM6IFwicGxmXCIsIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkV0dWRlUGxmXCIpKSkgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBFdHVkZVBsZjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInRleHRlQXNzb2NpZVwiLCBqczogXCJ0ZXh0ZUFzc29jaWVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJyYXBwb3J0ZXVyc1wiLFxuICAgICAgICBqczogXCJyYXBwb3J0ZXVyc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJSYXBwb3J0ZXVyXCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm1pc3Npb25NaW5lZmlcIixcbiAgICAgICAganM6IFwibWlzc2lvbk1pbmVmaVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiTWlzc2lvbk1pbmVmaVwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm9yZHJlRGlxc1wiLCBqczogXCJvcmRyZURpcXNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwib3JkcmVDb21taXNzaW9uXCIsIGpzOiBcIm9yZHJlQ29tbWlzc2lvblwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBNaXNzaW9uTWluZWZpOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0eXBlTWlzc2lvblwiLCBqczogXCJ0eXBlTWlzc2lvblwiLCB0eXA6IHIoXCJUeXBlTWlzc2lvblwiKSB9LFxuICAgICAgeyBqc29uOiBcImNvZGVNaXNzaW9uXCIsIGpzOiBcImNvZGVNaXNzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUxvbmdcIiwganM6IFwibGliZWxsZUxvbmdcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUNvdXJ0XCIsIGpzOiBcImxpYmVsbGVDb3VydFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlQnVkZ2V0XCIsIGpzOiBcInR5cGVCdWRnZXRcIiwgdHlwOiByKFwiVHlwZUJ1ZGdldFwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm1pc3Npb25zXCIsXG4gICAgICAgIGpzOiBcIm1pc3Npb25zXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIk1pc3Npb25NaW5lZmlcIikpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQWN0ZUxlZ2lzbGF0aWY6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IHIoXCJUeXBlQWN0ZUxlZ2lzbGF0aWZcIikgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvZGVBY3RlXCIsXG4gICAgICAgIGpzOiBcImNvZGVBY3RlXCIsXG4gICAgICAgIHR5cDogcihcIkNvZGVBY3RlXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlQWN0ZVwiLCBqczogXCJsaWJlbGxlQWN0ZVwiLCB0eXA6IHIoXCJMaWJlbGxlQWN0ZVwiKSB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlQWN0ZVwiLCBqczogXCJkYXRlQWN0ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFjdGVzTGVnaXNsYXRpZnNcIixcbiAgICAgICAganM6IFwiYWN0ZXNMZWdpc2xhdGlmc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJBY3RlTGVnaXNsYXRpZlwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJhbm5lZURlY2lzaW9uXCIsIGpzOiBcImFubmVlRGVjaXNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhdXRldXJNb3Rpb25cIixcbiAgICAgICAganM6IFwiYXV0ZXVyTW90aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhdXRldXJzUmVmc1wiLFxuICAgICAgICBqczogXCJhdXRldXJzUmVmc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY2FzU2Fpc2luZVwiLFxuICAgICAgICBqczogXCJjYXNTYWlzaW5lXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUeXBlRGVjbGFyYXRpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJjb2RlTG9pXCIsIGpzOiBcImNvZGVMb2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjb250cmlidXRpb25JbnRlcm5hdXRlXCIsXG4gICAgICAgIGpzOiBcImNvbnRyaWJ1dGlvbkludGVybmF1dGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkNvbnRyaWJ1dGlvbkludGVybmF1dGVcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkZWNpc2lvblwiLFxuICAgICAgICBqczogXCJkZWNpc2lvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiVHlwZURlY2xhcmF0aW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGVwb3RJbml0aWFsTGVjdHVyZURlZmluaXRpdmVSZWZcIixcbiAgICAgICAganM6IFwiZGVwb3RJbml0aWFsTGVjdHVyZURlZmluaXRpdmVSZWZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImZvcm11bGVEZWNpc2lvblwiLCBqczogXCJmb3JtdWxlRGVjaXNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpbmZvSm9cIiwganM6IFwiaW5mb0pvXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJJbmZvSm9cIikpIH0sXG4gICAgICB7IGpzb246IFwiaW5mb0pvY2VcIiwganM6IFwiaW5mb0pvY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkluZm9Kb2NlXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImluZm9Kb1JlY3RcIixcbiAgICAgICAganM6IFwiaW5mb0pvUmVjdFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJJbmZvSm9cIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW5pdGlhdGV1clwiLFxuICAgICAgICBqczogXCJpbml0aWF0ZXVyXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJJbml0aWF0ZXVyXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwibW90aWZcIiwganM6IFwibW90aWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk1vdGlmXCIpKSB9LFxuICAgICAgeyBqc29uOiBcIm51bURlY2lzaW9uXCIsIGpzOiBcIm51bURlY2lzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwib2RqUmVmXCIsIGpzOiBcIm9kalJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInByb3ZlbmFuY2VSZWZcIiwganM6IFwicHJvdmVuYW5jZVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInJhcHBvcnRldXJzXCIsXG4gICAgICAgIGpzOiBcInJhcHBvcnRldXJzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlJhcHBvcnRldXJcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwicmVmZXJlbmNlTm9yXCIsIGpzOiBcInJlZmVyZW5jZU5vclwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInJldW5pb25SZWZcIiwganM6IFwicmV1bmlvblJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInN0YXR1dEFkb3B0aW9uXCIsXG4gICAgICAgIGpzOiBcInN0YXR1dEFkb3B0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUeXBlRGVjbGFyYXRpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJzdGF0dXRDb25jbHVzaW9uXCIsXG4gICAgICAgIGpzOiBcInN0YXR1dENvbmNsdXNpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVEZWNsYXJhdGlvblwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInRleHRlQWRvcHRlUmVmXCIsXG4gICAgICAgIGpzOiBcInRleHRlQWRvcHRlUmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ0ZXh0ZUFzc29jaWVSZWZcIiwganM6IFwidGV4dGVBc3NvY2llUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidGV4dGVFdXJvcGVlblwiLFxuICAgICAgICBqczogXCJ0ZXh0ZUV1cm9wZWVuXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUZXh0ZUV1cm9wZWVuXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidGV4dGVFeHRlcm5lQXNzb2NpZVwiLFxuICAgICAgICBqczogXCJ0ZXh0ZUV4dGVybmVBc3NvY2llXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUZXh0ZUV4dGVybmVBc3NvY2llXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidGV4dGVMb2lSZWZcIiwganM6IFwidGV4dGVMb2lSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0ZXh0ZXNBc3NvY2llc1wiLFxuICAgICAgICBqczogXCJ0ZXh0ZXNBc3NvY2llc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJUZXh0ZUFzc29jaWVcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidGl0cmVMb2lcIiwganM6IFwidGl0cmVMb2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0eXBlRGVjbGFyYXRpb25cIixcbiAgICAgICAganM6IFwidHlwZURlY2xhcmF0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUeXBlRGVjbGFyYXRpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0eXBlTW90aW9uXCIsXG4gICAgICAgIGpzOiBcInR5cGVNb3Rpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVEZWNsYXJhdGlvblwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInR5cGVNb3Rpb25DZW5zdXJlXCIsXG4gICAgICAgIGpzOiBcInR5cGVNb3Rpb25DZW5zdXJlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUeXBlRGVjbGFyYXRpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ1cmxDb25jbHVzaW9uXCIsIGpzOiBcInVybENvbmNsdXNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ1cmxFY2hlYW5jaWVyTG9pXCIsXG4gICAgICAgIGpzOiBcInVybEVjaGVhbmNpZXJMb2lcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInVybExlZ2lmcmFuY2VcIixcbiAgICAgICAganM6IFwidXJsTGVnaWZyYW5jZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidm90ZVJlZnNcIixcbiAgICAgICAganM6IFwidm90ZVJlZnNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIExpYmVsbGVBY3RlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJub21DYW5vbmlxdWVcIiwganM6IFwibm9tQ2Fub25pcXVlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVDb3VydFwiLCBqczogXCJsaWJlbGxlQ291cnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBSYXBwb3J0ZXVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInR5cGVSYXBwb3J0ZXVyXCIsIGpzOiBcInR5cGVSYXBwb3J0ZXVyXCIsIHR5cDogcihcIlF1YWxpdGVcIikgfSxcbiAgICAgIHsganNvbjogXCJldHVkZVBsZlJlZlwiLCBqczogXCJldHVkZVBsZlJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFR5cGVEZWNsYXJhdGlvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiZmFtQ29kZVwiLCBqczogXCJmYW1Db2RlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBUZXh0ZUFzc29jaWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInR5cGVUZXh0ZVwiLCBqczogXCJ0eXBlVGV4dGVcIiwgdHlwOiByKFwiVHlwZVRleHRlXCIpIH0sXG4gICAgICB7IGpzb246IFwidGV4dGVBc3NvY2llUmVmXCIsIGpzOiBcInRleHRlQXNzb2NpZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDb250cmlidXRpb25JbnRlcm5hdXRlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkYXRlT3V2ZXJ0dXJlXCIsIGpzOiBcImRhdGVPdXZlcnR1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlRmVybWV0dXJlXCIsIGpzOiBcImRhdGVGZXJtZXR1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJbmZvSm9jZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwicmVmSm9jZVwiLCBqczogXCJyZWZKb2NlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImRhdGVKb2NlXCIsIGpzOiBcImRhdGVKb2NlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEluaXRpYXRldXJBY3RldXI6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibWFuZGF0UmVmXCIsIGpzOiBcIm1hbmRhdFJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFRleHRlRXVyb3BlZW46IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInR5cGVUZXh0ZUV1cm9wZWVuXCIsIGpzOiBcInR5cGVUZXh0ZUV1cm9wZWVuXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInRpdHJlVGV4dGVFdXJvcGVlblwiLCBqczogXCJ0aXRyZVRleHRlRXVyb3BlZW5cIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSW5mb0pvOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0eXBlSm9cIiwganM6IFwidHlwZUpvXCIsIHR5cDogcihcIlR5cGVKb1wiKSB9LFxuICAgICAgeyBqc29uOiBcImRhdGVKb1wiLCBqczogXCJkYXRlSm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibnVtSm9cIiwganM6IFwibnVtSm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidXJsTGVnaWZyYW5jZVwiLCBqczogXCJ1cmxMZWdpZnJhbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwicmVmZXJlbmNlTm9yXCIsIGpzOiBcInJlZmVyZW5jZU5vclwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEZ1c2lvbkRvc3NpZXI6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNhdXNlXCIsIGpzOiBcImNhdXNlXCIsIHR5cDogcihcIkNhdXNlXCIpIH0sXG4gICAgICB7IGpzb246IFwiZG9zc2llckFic29yYmFudFJlZlwiLCBqczogXCJkb3NzaWVyQWJzb3JiYW50UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEluZGV4YXRpb246IG8oW3sganNvbjogXCJ0aGVtZXNcIiwganM6IFwidGhlbWVzXCIsIHR5cDogcihcIlRoZW1lc1wiKSB9XSwgZmFsc2UpLFxuICBUaGVtZXM6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIkBuaXZlYXVcIiwganM6IFwiQG5pdmVhdVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0aGVtZVwiLCBqczogXCJ0aGVtZVwiLCB0eXA6IHIoXCJUaGVtZVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFRoZW1lOiBvKFt7IGpzb246IFwibGliZWxsZVRoZW1lXCIsIGpzOiBcImxpYmVsbGVUaGVtZVwiLCB0eXA6IFwiXCIgfV0sIGZhbHNlKSxcbiAgSW5pdGlhdGV1cjogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWN0ZXVyc1wiLFxuICAgICAgICBqczogXCJhY3RldXJzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkluaXRpYXRldXJBY3RldXJcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFByb2NlZHVyZVBhcmxlbWVudGFpcmU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVcIiwganM6IFwiY29kZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVGl0cmVEb3NzaWVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0aXRyZVwiLCBqczogXCJ0aXRyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0aXRyZUNoZW1pblwiLCBqczogXCJ0aXRyZUNoZW1pblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInNlbmF0Q2hlbWluXCIsIGpzOiBcInNlbmF0Q2hlbWluXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVGV4dGVFeHRlcm5lQXNzb2NpZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwidHlwZURvY1wiLCBqczogXCJ0eXBlRG9jXCIsIHR5cDogcihcIlRleHRlRXh0ZXJuZUFzc29jaWVUeXBlRG9jXCIpIH0sXG4gICAgICB7IGpzb246IFwidGV4dGVSZWZcIiwganM6IFwidGV4dGVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidGl0cmVEb2NcIiwganM6IFwidGl0cmVEb2NcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidXJsRG9jXCIsIGpzOiBcInVybERvY1wiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEb2N1bWVudDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwic2NoZW1hVmVyc2lvblwiLCBqczogXCJzY2hlbWFWZXJzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwieHNpVHlwZVwiLCBqczogXCJ4c2lUeXBlXCIsIHR5cDogcihcIlR5cGVEb2N1bWVudFwiKSB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJjeWNsZURlVmllXCIsIGpzOiBcImN5Y2xlRGVWaWVcIiwgdHlwOiByKFwiQ3ljbGVEZVZpZVwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRlbm9taW5hdGlvblN0cnVjdHVyZWxsZVwiLFxuICAgICAgICBqczogXCJkZW5vbWluYXRpb25TdHJ1Y3R1cmVsbGVcIixcbiAgICAgICAgdHlwOiByKFwiRG9jdW1lbnREZW5vbWluYXRpb25TdHJ1Y3R1cmVsbGVcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInByb3ZlbmFuY2VcIixcbiAgICAgICAganM6IFwicHJvdmVuYW5jZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUHJvdmVuYW5jZVwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInRpdHJlc1wiLCBqczogXCJ0aXRyZXNcIiwgdHlwOiByKFwiVGl0cmVzXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGl2aXNpb25zXCIsXG4gICAgICAgIGpzOiBcImRpdmlzaW9uc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJEaXZpc2lvblwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJkb3NzaWVyUmVmXCIsIGpzOiBcImRvc3NpZXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY2xhc3NpZmljYXRpb25cIixcbiAgICAgICAganM6IFwiY2xhc3NpZmljYXRpb25cIixcbiAgICAgICAgdHlwOiByKFwiQ2xhc3NpZmljYXRpb25cIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImF1dGV1cnNcIiwganM6IFwiYXV0ZXVyc1wiLCB0eXA6IGEocihcIkF1dGV1clwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjb3JyZWN0aW9uXCIsXG4gICAgICAgIGpzOiBcImNvcnJlY3Rpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkNvcnJlY3Rpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJub3RpY2VcIiwganM6IFwibm90aWNlXCIsIHR5cDogcihcIk5vdGljZVwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImluZGV4YXRpb25cIixcbiAgICAgICAganM6IFwiaW5kZXhhdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiSW5kZXhhdGlvblwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImltcHJpbWVyaWVcIixcbiAgICAgICAganM6IFwiaW1wcmltZXJpZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiSW1wcmltZXJpZVwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvU2lnbmF0YWlyZXNcIixcbiAgICAgICAganM6IFwiY29TaWduYXRhaXJlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJDb1NpZ25hdGFpcmVFbGVtZW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRlcG90QW1lbmRlbWVudHNcIixcbiAgICAgICAganM6IFwiZGVwb3RBbWVuZGVtZW50c1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGVwb3RBbWVuZGVtZW50c1wiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm9yZ2FuZXNSZWZlcmVudHNcIixcbiAgICAgICAganM6IFwib3JnYW5lc1JlZmVyZW50c1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwicmFwcG9ydFB1YmxpZVwiLCBqczogXCJyYXBwb3J0UHVibGllXCIsIHR5cDogdSh1bmRlZmluZWQsIGZhbHNlKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInN1YmRpdmlzaW9uc1wiLFxuICAgICAgICBqczogXCJzdWJkaXZpc2lvbnNcIixcbiAgICAgICAgdHlwOiB1KG51bGwsIHUodW5kZWZpbmVkLCBhKHIoXCJTdWJkaXZpc2lvblwiKSkpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgU3ViZGl2aXNpb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImlkXCIsIGpzOiBcImlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInR5cGVcIiwganM6IFwidHlwZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcIm5pdmVhdVwiLCBqczogXCJuaXZlYXVcIiwgdHlwOiAwIH0sXG4gICAgICB7IGpzb246IFwibml2ZWF1UmVsYXRpZlwiLCBqczogXCJuaXZlYXVSZWxhdGlmXCIsIHR5cDogMCB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInRpdHJlc1wiLFxuICAgICAgICBqczogXCJ0aXRyZXNcIixcbiAgICAgICAgdHlwOiB1KG51bGwsIGEocihcIkNvbnRlbnVTdWJkaXZpc2lvblwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhbGluZWFzXCIsXG4gICAgICAgIGpzOiBcImFsaW5lYXNcIixcbiAgICAgICAgdHlwOiB1KG51bGwsIGEocihcIkNvbnRlbnVTdWJkaXZpc2lvblwiKSkpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDb250ZW51U3ViZGl2aXNpb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaHRtbFwiLCBqczogXCJodG1sXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQXV0ZXVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJhY3RldXJcIiwganM6IFwiYWN0ZXVyXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJBdXRldXJBY3RldXJcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwib3JnYW5lUmVmXCIsXG4gICAgICAgIGpzOiBcIm9yZ2FuZVJlZlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQXV0ZXVyQWN0ZXVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInF1YWxpdGVcIiwganM6IFwicXVhbGl0ZVwiLCB0eXA6IHIoXCJRdWFsaXRlXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ2xhc3NpZmljYXRpb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImZhbWlsbGVcIiwganM6IFwiZmFtaWxsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRmFtaWxsZVwiKSkgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiByKFwiUHJvY2VkdXJlUGFybGVtZW50YWlyZVwiKSB9LFxuICAgICAgeyBqc29uOiBcInNvdXNUeXBlXCIsIGpzOiBcInNvdXNUeXBlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJTb3VzVHlwZVwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJzdGF0dXRBZG9wdGlvblwiLFxuICAgICAgICBqczogXCJzdGF0dXRBZG9wdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiU3RhdHV0QWRvcHRpb25cIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBGYW1pbGxlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkZXBvdFwiLCBqczogXCJkZXBvdFwiLCB0eXA6IHIoXCJQcm9jZWR1cmVQYXJsZW1lbnRhaXJlXCIpIH0sXG4gICAgICB7IGpzb246IFwiY2xhc3NlXCIsIGpzOiBcImNsYXNzZVwiLCB0eXA6IHIoXCJQcm9jZWR1cmVQYXJsZW1lbnRhaXJlXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZXNwZWNlXCIsXG4gICAgICAgIGpzOiBcImVzcGVjZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUHJvY2VkdXJlUGFybGVtZW50YWlyZVwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFNvdXNUeXBlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUVkaXRpb25cIiwganM6IFwibGliZWxsZUVkaXRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDb1NpZ25hdGFpcmVFbGVtZW50OiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhY3RldXJSZWZcIixcbiAgICAgICAganM6IFwiYWN0ZXVyUmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJkYXRlQ29zaWduYXR1cmVcIiwganM6IFwiZGF0ZUNvc2lnbmF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRhdGVSZXRyYWl0Q29zaWduYXR1cmVcIixcbiAgICAgICAganM6IFwiZGF0ZVJldHJhaXRDb3NpZ25hdHVyZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiZWRpdGVcIiwganM6IFwiZWRpdGVcIiwgdHlwOiBmYWxzZSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm9yZ2FuZVwiLFxuICAgICAgICBqczogXCJvcmdhbmVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkNvU2lnbmF0YWlyZU9yZ2FuZVwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENvU2lnbmF0YWlyZU9yZ2FuZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJldEFwcGFyZW50ZXNcIiwganM6IFwiZXRBcHBhcmVudGVzXCIsIHR5cDogZmFsc2UgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDb3JyZWN0aW9uOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0eXBlQ29ycmVjdGlvblwiLFxuICAgICAgICBqczogXCJ0eXBlQ29ycmVjdGlvblwiLFxuICAgICAgICB0eXA6IHIoXCJUeXBlQ29ycmVjdGlvblwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibml2ZWF1Q29ycmVjdGlvblwiLFxuICAgICAgICBqczogXCJuaXZlYXVDb3JyZWN0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDeWNsZURlVmllOiBvKFt7IGpzb246IFwiY2hyb25vXCIsIGpzOiBcImNocm9ub1wiLCB0eXA6IHIoXCJDaHJvbm9cIikgfV0sIGZhbHNlKSxcbiAgQ2hyb25vOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkYXRlQ3JlYXRpb25cIiwganM6IFwiZGF0ZUNyZWF0aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZURlcG90XCIsIGpzOiBcImRhdGVEZXBvdFwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRhdGVQdWJsaWNhdGlvblwiLFxuICAgICAgICBqczogXCJkYXRlUHVibGljYXRpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRhdGVQdWJsaWNhdGlvbldlYlwiLFxuICAgICAgICBqczogXCJkYXRlUHVibGljYXRpb25XZWJcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlcG90QW1lbmRlbWVudHM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImFtZW5kZW1lbnRzU2VhbmNlXCIsXG4gICAgICAgIGpzOiBcImFtZW5kZW1lbnRzU2VhbmNlXCIsXG4gICAgICAgIHR5cDogcihcIkFtZW5kZW1lbnRzU2VhbmNlXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhbWVuZGVtZW50c0NvbW1pc3Npb25cIixcbiAgICAgICAganM6IFwiYW1lbmRlbWVudHNDb21taXNzaW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkFtZW5kZW1lbnRzQ29tbWlzc2lvblwiKSkpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBBbWVuZGVtZW50c0NvbW1pc3Npb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiYW1lbmRhYmxlXCIsIGpzOiBcImFtZW5kYWJsZVwiLCB0eXA6IGZhbHNlIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQW1lbmRlbWVudHNTZWFuY2U6IG8oXG4gICAgW3sganNvbjogXCJhbWVuZGFibGVcIiwganM6IFwiYW1lbmRhYmxlXCIsIHR5cDogZmFsc2UgfV0sXG4gICAgZmFsc2UsXG4gICksXG4gIERpdmlzaW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ4c2lUeXBlXCIsIGpzOiBcInhzaVR5cGVcIiwgdHlwOiByKFwiVHlwZURvY3VtZW50XCIpIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJsZWdpc2xhdHVyZVwiLCBqczogXCJsZWdpc2xhdHVyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImN5Y2xlRGVWaWVcIiwganM6IFwiY3ljbGVEZVZpZVwiLCB0eXA6IHIoXCJDeWNsZURlVmllXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGVub21pbmF0aW9uU3RydWN0dXJlbGxlXCIsXG4gICAgICAgIGpzOiBcImRlbm9taW5hdGlvblN0cnVjdHVyZWxsZVwiLFxuICAgICAgICB0eXA6IFwiXCIsXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInRpdHJlc1wiLCBqczogXCJ0aXRyZXNcIiwgdHlwOiByKFwiVGl0cmVzXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGl2aXNpb25zXCIsXG4gICAgICAgIGpzOiBcImRpdmlzaW9uc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJEaXZpc2lvblwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJkb3NzaWVyUmVmXCIsIGpzOiBcImRvc3NpZXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY2xhc3NpZmljYXRpb25cIixcbiAgICAgICAganM6IFwiY2xhc3NpZmljYXRpb25cIixcbiAgICAgICAgdHlwOiByKFwiQ2xhc3NpZmljYXRpb25cIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImF1dGV1cnNcIiwganM6IFwiYXV0ZXVyc1wiLCB0eXA6IGEocihcIkF1dGV1clwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJvcmdhbmVzUmVmZXJlbnRzXCIsXG4gICAgICAgIGpzOiBcIm9yZ2FuZXNSZWZlcmVudHNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvcnJlY3Rpb25cIixcbiAgICAgICAganM6IFwiY29ycmVjdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiQ29ycmVjdGlvblwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm5vdGljZVwiLCBqczogXCJub3RpY2VcIiwgdHlwOiByKFwiTm90aWNlXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW5kZXhhdGlvblwiLFxuICAgICAgICBqczogXCJpbmRleGF0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJJbmRleGF0aW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW1wcmltZXJpZVwiLFxuICAgICAgICBqczogXCJpbXByaW1lcmllXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJJbXByaW1lcmllXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwicmFwcG9ydFB1YmxpZVwiLCBqczogXCJyYXBwb3J0UHVibGllXCIsIHR5cDogdSh1bmRlZmluZWQsIGZhbHNlKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEltcHJpbWVyaWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImRpYW5cIiwganM6IFwiZGlhblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImlzYm5cIiwganM6IFwiaXNiblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcIm5iUGFnZVwiLCBqczogXCJuYlBhZ2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJwcml4XCIsIGpzOiBcInByaXhcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBOb3RpY2U6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm51bU5vdGljZVwiLCBqczogXCJudW1Ob3RpY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJmb3JtdWxlXCIsIGpzOiBcImZvcm11bGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJhZG9wdGlvbkNvbmZvcm1lXCIsIGpzOiBcImFkb3B0aW9uQ29uZm9ybWVcIiwgdHlwOiBmYWxzZSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFRpdHJlczogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwidGl0cmVQcmluY2lwYWxcIiwganM6IFwidGl0cmVQcmluY2lwYWxcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidGl0cmVQcmluY2lwYWxDb3VydFwiLCBqczogXCJ0aXRyZVByaW5jaXBhbENvdXJ0XCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERvc3NpZXJQYXJsZW1lbnRhaXJlWHNpVHlwZTogW1xuICAgIFwiRG9zc2llckNvbW1pc3Npb25FbnF1ZXRlX1R5cGVcIixcbiAgICBcIkRvc3NpZXJJbmlhdGl2ZUV4ZWN1dGlmX1R5cGVcIixcbiAgICBcIkRvc3NpZXJMZWdpc2xhdGlmX1R5cGVcIixcbiAgICBcIkRvc3NpZXJNaXNzaW9uQ29udHJvbGVfVHlwZVwiLFxuICAgIFwiRG9zc2llck1pc3Npb25JbmZvcm1hdGlvbl9UeXBlXCIsXG4gICAgXCJEb3NzaWVyUmVzb2x1dGlvbkFOXCIsXG4gIF0sXG4gIFR5cGVCdWRnZXQ6IFtcbiAgICBcIkJ1ZGdldCBhbm5leGVcIixcbiAgICBcIkJ1ZGdldCBnw6luw6lyYWxcIixcbiAgICBcIkNvbXB0ZSBkZSBjb25jb3VycyBmaW5hbmNpZXJcIixcbiAgICBcIkNvbXB0ZSBzcMOpY2lhbFwiLFxuICAgIFwiUHJlbWnDqHJlIHBhcnRpZVwiLFxuICBdLFxuICBUeXBlTWlzc2lvbjogW1xuICAgIFwibWlzc2lvbiBwcmluY2lwYWxlXCIsXG4gICAgXCJtaXNzaW9uIHNlY29uZGFpcmVcIixcbiAgICBcInBhcnRpZSBkZSBtaXNzaW9uXCIsXG4gIF0sXG4gIFF1YWxpdGU6IFtcbiAgICBcImF1dGV1clwiLFxuICAgIFwiY29zaWduYXRhaXJlXCIsXG4gICAgXCJyYXBwb3J0ZXVyXCIsXG4gICAgXCJyYXBwb3J0ZXVyIGfDqW7DqXJhbFwiLFxuICAgIFwicmFwcG9ydGV1ciBwb3VyIGF2aXNcIixcbiAgICBcInJhcHBvcnRldXIgc3DDqWNpYWxcIixcbiAgXSxcbiAgVHlwZUFjdGVMZWdpc2xhdGlmOiBbXG4gICAgXCJBZG9wdGlvbl9FdXJvcGVfVHlwZVwiLFxuICAgIFwiQ29uY2x1c2lvbkV0YXBlQ0NfVHlwZVwiLFxuICAgIFwiQ29udm9jYXRpb25Db25ncmVzX1R5cGVcIixcbiAgICBcIkNyZWF0aW9uT3JnYW5lVGVtcG9yYWlyZV9UeXBlXCIsXG4gICAgXCJEZWNpc2lvbk1vdGlvbkNlbnN1cmVfVHlwZVwiLFxuICAgIFwiRGVjaXNpb25SZWNldmFiaWxpdGVCdXJlYXVfVHlwZVwiLFxuICAgIFwiRGVjaXNpb25fVHlwZVwiLFxuICAgIFwiRGVjbGFyYXRpb25Hb3V2ZXJuZW1lbnRfVHlwZVwiLFxuICAgIFwiRGVwb3RBY2NvcmRJbnRlcm5hdGlvbmFsX1R5cGVcIixcbiAgICBcIkRlcG90QXZpc0NvbnNlaWxFdGF0X1R5cGVcIixcbiAgICBcIkRlcG90SW5pdGlhdGl2ZU5hdmV0dGVfVHlwZVwiLFxuICAgIFwiRGVwb3RJbml0aWF0aXZlX1R5cGVcIixcbiAgICBcIkRlcG90TGV0dHJlUmVjdGlmaWNhdGl2ZV9UeXBlXCIsXG4gICAgXCJEZXBvdE1vdGlvbkNlbnN1cmVfVHlwZVwiLFxuICAgIFwiRGVwb3RNb3Rpb25SZWZlcmVuZGFpcmVfVHlwZVwiLFxuICAgIFwiRGVwb3RSYXBwb3J0X1R5cGVcIixcbiAgICBcIkRpc2N1c3Npb25Db21taXNzaW9uX1R5cGVcIixcbiAgICBcIkRpc2N1c3Npb25TZWFuY2VQdWJsaXF1ZV9UeXBlXCIsXG4gICAgXCJFdGFwZV9UeXBlXCIsXG4gICAgXCJFdHVkZUltcGFjdF9UeXBlXCIsXG4gICAgXCJNb3Rpb25Qcm9jZWR1cmVfVHlwZVwiLFxuICAgIFwiTm9taW5SYXBwb3J0ZXVyc19UeXBlXCIsXG4gICAgXCJQcm9jZWR1cmVBY2NlbGVyZV9UeXBlXCIsXG4gICAgXCJQcm9tdWxnYXRpb25fVHlwZVwiLFxuICAgIFwiUmVudm9pQ01QX1R5cGVcIixcbiAgICBcIlJlbnZvaVByZWFsYWJsZV9UeXBlXCIsXG4gICAgXCJSZXRyYWl0SW5pdGlhdGl2ZV9UeXBlXCIsXG4gICAgXCJTYWlzaWVDb21BdmlzX1R5cGVcIixcbiAgICBcIlNhaXNpZUNvbUZvbmRfVHlwZVwiLFxuICAgIFwiU2Fpc2luZUNvbnNlaWxDb25zdGl0X1R5cGVcIixcbiAgXSxcbiAgQ29kZUFjdGU6IE9iamVjdC52YWx1ZXMoQ29kZUFjdGUpLFxuICBUeXBlVGV4dGU6IFtcIkJUQVwiLCBcIlRBUFwiXSxcbiAgTW90aWY6IFtcIkVuIGFwcGxpY2F0aW9uIGRlIGwnYXJ0aWNsZSA2McKnMiBkZSBsYSBDb25zdGl0dXRpb25cIl0sXG4gIFR5cGVKbzogW1wiSk9fTE9JX0RFQ1JFVFwiXSxcbiAgQ2F1c2U6IFtcIkRvc3NpZXIgYWJzb3Jiw6lcIiwgXCJFeGFtZW4gY29tbXVuXCJdLFxuICBUZXh0ZUV4dGVybmVBc3NvY2llVHlwZURvYzogW1wiRMOpY3JldFwiXSxcbiAgVHlwZURvY3VtZW50OiBbXG4gICAgXCJhY2NvcmRJbnRlcm5hdGlvbmFsX1R5cGVcIixcbiAgICBcImF2aXNDb25zZWlsRXRhdF9UeXBlXCIsXG4gICAgXCJkb2N1bWVudEV0dWRlSW1wYWN0X1R5cGVcIixcbiAgICBcInJhcHBvcnRQYXJsZW1lbnRhaXJlX1R5cGVcIixcbiAgICBcInRleHRlTG9pX1R5cGVcIixcbiAgXSxcbiAgU3RhdHV0QWRvcHRpb246IFtcIkFET1BUQ09NXCIsIFwiQURPUFRTRUFOQ0VcIiwgXCJSRUpFVFNFQU5DRVwiXSxcbiAgVHlwZUNvcnJlY3Rpb246IFtcIlJlY3RpZmnDqVwiXSxcbiAgRG9jdW1lbnREZW5vbWluYXRpb25TdHJ1Y3R1cmVsbGU6IFtcbiAgICBcIkFsbG9jdXRpb25cIixcbiAgICBcIkF2aXNcIixcbiAgICBcIkTDqWNsYXJhdGlvblwiLFxuICAgIFwiTGV0dHJlXCIsXG4gICAgXCJNZXNzYWdlXCIsXG4gICAgXCJNb3Rpb25cIixcbiAgICBcIlByb2pldCBkZSBsb2lcIixcbiAgICBcIlByb3Bvc2l0aW9uIGRlIGxvaVwiLFxuICAgIFwiUHJvcG9zaXRpb24gZGUgcsOpc29sdXRpb25cIixcbiAgICBcIlJhcHBvcnRcIixcbiAgICBcIlJhcHBvcnQgZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiUsOpc29sdXRpb25cIixcbiAgXSxcbiAgUHJvdmVuYW5jZTogW1wiQ29tbWlzc2lvblwiLCBcIlPDqWFuY2VcIiwgXCJUZXh0ZSBEw6lwb3PDqVwiXSxcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQSxTQUtTQSxRQUFRO0FBcUJqQixXQUFZQywyQkFBMkIsMEJBQTNCQSwyQkFBMkI7RUFBM0JBLDJCQUEyQjtFQUEzQkEsMkJBQTJCO0VBQTNCQSwyQkFBMkI7RUFBM0JBLDJCQUEyQjtFQUEzQkEsMkJBQTJCO0VBQTNCQSwyQkFBMkI7RUFBQSxPQUEzQkEsMkJBQTJCO0FBQUE7QUE0QnZDLFdBQVlDLFVBQVUsMEJBQVZBLFVBQVU7RUFBVkEsVUFBVTtFQUFWQSxVQUFVO0VBQVZBLFVBQVU7RUFBVkEsVUFBVTtFQUFWQSxVQUFVO0VBQUEsT0FBVkEsVUFBVTtBQUFBO0FBUXRCLFdBQVlDLFdBQVcsMEJBQVhBLFdBQVc7RUFBWEEsV0FBVztFQUFYQSxXQUFXO0VBQVhBLFdBQVc7RUFBQSxPQUFYQSxXQUFXO0FBQUE7QUFNdkIsV0FBWUMsT0FBTywwQkFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFBLE9BQVBBLE9BQU87QUFBQTtBQVNuQixXQUFZQyxrQkFBa0IsMEJBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtCQUFrQjtFQUFsQkEsa0JBQWtCO0VBQWxCQSxrQkFBa0I7RUFBbEJBLGtC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