@tricoteuses/assemblee 1.0.0-next.2 → 1.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 (135) hide show
  1. package/README.md +2 -0
  2. package/lib/api.js +23 -7
  3. package/lib/api.mjs +41 -0
  4. package/lib/bugs/acteur-00010/plugin.test.js +139 -33
  5. package/lib/bugs/acteur-00010/plugin.test.mjs +33 -0
  6. package/lib/bugs/acteur-00010.js +166 -24
  7. package/lib/bugs/acteur-00010.mjs +31 -0
  8. package/lib/bugs/agenda-00002/plugin.test.js +178 -52
  9. package/lib/bugs/agenda-00002/plugin.test.mjs +52 -0
  10. package/lib/bugs/agenda-00002.js +507 -143
  11. package/lib/bugs/agenda-00002.mjs +197 -0
  12. package/lib/bugs/agenda-00008/plugin.test.js +143 -31
  13. package/lib/bugs/agenda-00008/plugin.test.mjs +31 -0
  14. package/lib/bugs/agenda-00008.js +180 -25
  15. package/lib/bugs/agenda-00008.mjs +30 -0
  16. package/lib/bugs/agenda-00011/plugin.test.js +371 -156
  17. package/lib/bugs/agenda-00011/plugin.test.mjs +156 -0
  18. package/lib/bugs/agenda-00011.js +416 -117
  19. package/lib/bugs/agenda-00011.mjs +150 -0
  20. package/lib/bugs.js +591 -54
  21. package/lib/bugs.mjs +93 -0
  22. package/lib/cleaners/actes_legislatifs.js +149 -61
  23. package/lib/cleaners/actes_legislatifs.mjs +311 -0
  24. package/lib/cleaners/acteurs.js +255 -123
  25. package/lib/cleaners/acteurs.mjs +211 -0
  26. package/lib/cleaners/amendements.js +242 -117
  27. package/lib/cleaners/amendements.mjs +292 -0
  28. package/lib/cleaners/documents.js +147 -62
  29. package/lib/cleaners/documents.mjs +162 -0
  30. package/lib/cleaners/dossiers_legislatifs.js +132 -45
  31. package/lib/cleaners/dossiers_legislatifs.mjs +123 -0
  32. package/lib/cleaners/index.js +64 -8
  33. package/lib/cleaners/index.mjs +8 -0
  34. package/lib/cleaners/organes.js +54 -21
  35. package/lib/cleaners/organes.mjs +64 -0
  36. package/lib/cleaners/reunions.js +237 -127
  37. package/lib/cleaners/reunions.mjs +318 -0
  38. package/lib/cleaners/scrutins.js +261 -99
  39. package/lib/cleaners/scrutins.mjs +254 -0
  40. package/lib/cleaners/xml.js +81 -16
  41. package/lib/cleaners/xml.mjs +42 -0
  42. package/lib/datasets.js +284 -153
  43. package/lib/datasets.mjs +596 -0
  44. package/lib/dates.js +93 -34
  45. package/lib/dates.mjs +98 -0
  46. package/lib/dossiers_legislatifs.js +107 -33
  47. package/lib/dossiers_legislatifs.mjs +215 -0
  48. package/lib/file_systems.js +203 -35
  49. package/lib/file_systems.mjs +64 -0
  50. package/lib/git.js +139 -41
  51. package/lib/git.mjs +114 -0
  52. package/lib/index.js +310 -16
  53. package/lib/index.mjs +16 -0
  54. package/lib/inserters.js +355 -131
  55. package/lib/inserters.mjs +413 -0
  56. package/lib/loaders.js +900 -440
  57. package/lib/loaders.mjs +678 -0
  58. package/lib/organes.js +15 -5
  59. package/lib/organes.mjs +18 -0
  60. package/lib/parsers/documents.js +241 -89
  61. package/lib/parsers/documents.mjs +433 -0
  62. package/lib/parsers/index.js +36 -3
  63. package/lib/parsers/index.mjs +3 -0
  64. package/lib/parsers/recherche_amendements.js +616 -173
  65. package/lib/parsers/recherche_amendements.mjs +189 -0
  66. package/lib/raw_types/acteurs_et_organes.d.ts +36 -148
  67. package/lib/raw_types/acteurs_et_organes.js +228 -506
  68. package/lib/raw_types/acteurs_et_organes.mjs +1240 -0
  69. package/lib/raw_types/agendas.js +165 -75
  70. package/lib/raw_types/agendas.mjs +944 -0
  71. package/lib/raw_types/amendements.js +165 -77
  72. package/lib/raw_types/amendements.mjs +1040 -0
  73. package/lib/raw_types/dossiers_legislatifs.d.ts +1 -43
  74. package/lib/raw_types/dossiers_legislatifs.js +181 -143
  75. package/lib/raw_types/dossiers_legislatifs.mjs +1792 -0
  76. package/lib/raw_types/scrutins.js +144 -61
  77. package/lib/raw_types/scrutins.mjs +645 -0
  78. package/lib/scripts/bugs_helper.js +657 -155
  79. package/lib/scripts/bugs_helper.mjs +286 -0
  80. package/lib/scripts/clean_data.js +380 -145
  81. package/lib/scripts/clean_data.mjs +190 -0
  82. package/lib/scripts/clean_reorganized_data.js +627 -331
  83. package/lib/scripts/clean_reorganized_data.mjs +520 -0
  84. package/lib/scripts/diff_amendements.js +159 -73
  85. package/lib/scripts/diff_amendements.mjs +234 -0
  86. package/lib/scripts/document_dossiers_legislatifs.js +570 -288
  87. package/lib/scripts/document_dossiers_legislatifs.mjs +494 -0
  88. package/lib/scripts/get_today_reunions.js +37 -20
  89. package/lib/scripts/get_today_reunions.mjs +41 -0
  90. package/lib/scripts/merge_scrutins.js +121 -39
  91. package/lib/scripts/merge_scrutins.mjs +69 -0
  92. package/lib/scripts/parse_textes_lois.js +179 -125
  93. package/lib/scripts/parse_textes_lois.mjs +215 -0
  94. package/lib/scripts/raw_types_from_amendements.js +276 -77
  95. package/lib/scripts/raw_types_from_amendements.mjs +118 -0
  96. package/lib/scripts/reorganize_data.js +867 -446
  97. package/lib/scripts/reorganize_data.mjs +712 -0
  98. package/lib/scripts/retrieve_deputes_photos.js +378 -157
  99. package/lib/scripts/retrieve_deputes_photos.mjs +230 -0
  100. package/lib/scripts/retrieve_documents.js +648 -172
  101. package/lib/scripts/retrieve_documents.mjs +292 -0
  102. package/lib/scripts/retrieve_open_data.js +286 -85
  103. package/lib/scripts/retrieve_open_data.mjs +125 -0
  104. package/lib/scripts/retrieve_pending_amendments.js +302 -69
  105. package/lib/scripts/retrieve_pending_amendments.mjs +130 -0
  106. package/lib/scripts/retrieve_senateurs_photos.js +374 -198
  107. package/lib/scripts/retrieve_senateurs_photos.mjs +277 -0
  108. package/lib/scripts/retrieve_textes_lois.js +343 -89
  109. package/lib/scripts/retrieve_textes_lois.mjs +168 -0
  110. package/lib/scripts/test_load.js +30 -11
  111. package/lib/scripts/test_load.mjs +26 -0
  112. package/lib/scripts/test_load_big_files.js +30 -11
  113. package/lib/scripts/test_load_big_files.mjs +26 -0
  114. package/lib/scripts/validate_json.js +370 -120
  115. package/lib/scripts/validate_json.mjs +216 -0
  116. package/lib/shared_types/codes_actes.js +50 -15
  117. package/lib/shared_types/codes_actes.mjs +228 -0
  118. package/lib/strings.js +16 -3
  119. package/lib/strings.mjs +7 -0
  120. package/lib/types/acteurs_et_organes.js +156 -71
  121. package/lib/types/acteurs_et_organes.mjs +918 -0
  122. package/lib/types/agendas.js +154 -67
  123. package/lib/types/agendas.mjs +623 -0
  124. package/lib/types/amendements.js +166 -77
  125. package/lib/types/amendements.mjs +885 -0
  126. package/lib/types/dossiers_legislatifs.d.ts +1 -42
  127. package/lib/types/dossiers_legislatifs.js +182 -143
  128. package/lib/types/dossiers_legislatifs.mjs +1120 -0
  129. package/lib/types/legislatures.js +12 -3
  130. package/lib/types/legislatures.mjs +9 -0
  131. package/lib/types/scrutins.js +144 -61
  132. package/lib/types/scrutins.mjs +528 -0
  133. package/lib/urls.js +44 -25
  134. package/lib/urls.mjs +201 -0
  135. package/package.json +33 -12
@@ -0,0 +1,623 @@
1
+ // To parse this data:
2
+ //
3
+ // import { Convert, Reunion, Agendas } from "./file";
4
+ //
5
+ // const reunion = Convert.toReunion(json);
6
+ // const agendas = Convert.toAgendas(json);
7
+ //
8
+ // These functions will throw an error if the JSON doesn't
9
+ // match the expected interface, even if the JSON is valid.
10
+ export let ReunionXsiType;
11
+
12
+ (function (ReunionXsiType) {
13
+ ReunionXsiType["ReunionCommissionType"] = "reunionCommission_type";
14
+ ReunionXsiType["ReunionInitParlementaireType"] = "reunionInitParlementaire_type";
15
+ ReunionXsiType["SeanceType"] = "seance_type";
16
+ })(ReunionXsiType || (ReunionXsiType = {}));
17
+
18
+ export let PointOdjXsiType;
19
+
20
+ (function (PointOdjXsiType) {
21
+ PointOdjXsiType["PodjReunionType"] = "podjReunion_type";
22
+ PointOdjXsiType["PodjSeanceConfPresType"] = "podjSeanceConfPres_type";
23
+ })(PointOdjXsiType || (PointOdjXsiType = {}));
24
+
25
+ export let EtatCycleDeVie;
26
+
27
+ (function (EtatCycleDeVie) {
28
+ EtatCycleDeVie["Annul\xE9"] = "Annul\xE9";
29
+ EtatCycleDeVie["Confirm\xE9"] = "Confirm\xE9";
30
+ EtatCycleDeVie["Eventuel"] = "Eventuel";
31
+ EtatCycleDeVie["Supprim\xE9"] = "Supprim\xE9";
32
+ })(EtatCycleDeVie || (EtatCycleDeVie = {}));
33
+
34
+ export let NatureTravauxOdj;
35
+
36
+ (function (NatureTravauxOdj) {
37
+ NatureTravauxOdj["Odjpr"] = "ODJPR";
38
+ NatureTravauxOdj["Odjsn"] = "ODJSN";
39
+ })(NatureTravauxOdj || (NatureTravauxOdj = {}));
40
+
41
+ export let Procedure;
42
+
43
+ (function (Procedure) {
44
+ Procedure["DiscussionG\xE9n\xE9raleCommune"] = "discussion g\xE9n\xE9rale commune";
45
+ Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle103"] = "proc\xE9dure d'examen simplifi\xE9e-Article 103";
46
+ Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle106"] = "proc\xE9dure d'examen simplifi\xE9e-Article 106";
47
+ Procedure["Proc\xE9dureDeL\xE9gislationEnCommissionArticle1071"] = "proc\xE9dure de l\xE9gislation en commission-Article 107-1";
48
+ })(Procedure || (Procedure = {}));
49
+
50
+ export let TypePointOdj;
51
+
52
+ (function (TypePointOdj) {
53
+ TypePointOdj["AmendementsArt88"] = "Amendements (Art. 88)";
54
+ TypePointOdj["AmendementsArt91"] = "Amendements (Art. 91)";
55
+ TypePointOdj["Audition"] = "Audition";
56
+ TypePointOdj["AuditionMinistre"] = "Audition ministre";
57
+ TypePointOdj["AuditionMinistreOuverte\xC0LaPresse"] = "Audition ministre ouverte \xE0 la presse";
58
+ TypePointOdj["AuditionOuverte\xC0LaPresse"] = "Audition ouverte \xE0 la presse";
59
+ TypePointOdj["Communication"] = "Communication";
60
+ TypePointOdj["ConstitutionDeMissionDInformation"] = "Constitution de mission d'information";
61
+ TypePointOdj["Discussion"] = "Discussion";
62
+ TypePointOdj["D\xE9batDInitiativeParlementaire"] = "D\xE9bat d'initiative parlementaire";
63
+ TypePointOdj["D\xE9clarationDuGouvernementSuivieDUnD\xE9bat"] = "D\xE9claration du Gouvernement suivie d'un d\xE9bat";
64
+ TypePointOdj["EchangesDeVues"] = "Echanges de vues";
65
+ TypePointOdj["Examen"] = "Examen";
66
+ TypePointOdj["ExplicationsDeVoteDesGroupesEtVoteParScrutinPublic"] = "Explications de vote des groupes et vote par scrutin public";
67
+ TypePointOdj["ExplicationsDeVoteEtVoteParScrutinPublic"] = "Explications de vote et vote par scrutin public";
68
+ TypePointOdj["FixationDeLOrdreDuJour"] = "Fixation de l'ordre du jour";
69
+ TypePointOdj["NominationBureau"] = "Nomination bureau";
70
+ TypePointOdj["NominationCandidatsOrganismeExtraparlementaire"] = "Nomination candidats organisme extraparlementaire";
71
+ TypePointOdj["NominationDUnMembreDUneMissionDInformation"] = "Nomination d'un membre d'une mission d'information";
72
+ TypePointOdj["NominationRapporteur"] = "Nomination rapporteur";
73
+ TypePointOdj["NominationRapporteurDApplication"] = "Nomination rapporteur d'application";
74
+ TypePointOdj["NominationRapporteurDInformation"] = "Nomination rapporteur d'information";
75
+ TypePointOdj["NominationRapporteurPourAvis"] = "Nomination rapporteur pour avis";
76
+ TypePointOdj["OuvertureEtCl\xF4tureDeSession"] = "Ouverture et cl\xF4ture de session";
77
+ TypePointOdj["QuestionsAuGouvernement"] = "Questions au Gouvernement";
78
+ TypePointOdj["QuestionsOralesSansD\xE9bat"] = "Questions orales sans d\xE9bat";
79
+ TypePointOdj["Rapport"] = "Rapport";
80
+ TypePointOdj["RapportDInformation"] = "Rapport d'information";
81
+ TypePointOdj["RapportPourAvis"] = "Rapport pour avis";
82
+ TypePointOdj["SuiteDeLaDiscussion"] = "Suite de la discussion";
83
+ TypePointOdj["TableRonde"] = "Table ronde";
84
+ TypePointOdj["VoteParScrutinPublic"] = "Vote par scrutin public";
85
+ TypePointOdj["VoteSolennel"] = "Vote solennel";
86
+ })(TypePointOdj || (TypePointOdj = {}));
87
+
88
+ export let FormatReunion;
89
+
90
+ (function (FormatReunion) {
91
+ FormatReunion["AuditionExterne"] = "AuditionExterne";
92
+ FormatReunion["AuditionParPresidentCommission"] = "AuditionParPresidentCommission";
93
+ FormatReunion["AuditionParRapporteur"] = "AuditionParRapporteur";
94
+ FormatReunion["Ordinaire"] = "Ordinaire";
95
+ })(FormatReunion || (FormatReunion = {}));
96
+
97
+ export let Quantieme;
98
+
99
+ (function (Quantieme) {
100
+ Quantieme["Deuxi\xE8me"] = "Deuxi\xE8me";
101
+ Quantieme["Premi\xE8re"] = "Premi\xE8re";
102
+ Quantieme["Troisi\xE8me"] = "Troisi\xE8me";
103
+ Quantieme["Unique"] = "Unique";
104
+ })(Quantieme || (Quantieme = {}));
105
+
106
+ export let Presence;
107
+
108
+ (function (Presence) {
109
+ Presence["Absent"] = "absent";
110
+ Presence["Excus\xE9"] = "excus\xE9";
111
+ Presence["Pr\xE9sent"] = "pr\xE9sent";
112
+ })(Presence || (Presence = {}));
113
+
114
+ export let Civ;
115
+
116
+ (function (Civ) {
117
+ Civ["M"] = "M.";
118
+ Civ["Mme"] = "Mme";
119
+ })(Civ || (Civ = {}));
120
+
121
+ export let PersonneAuditionneeXsiType;
122
+
123
+ (function (PersonneAuditionneeXsiType) {
124
+ PersonneAuditionneeXsiType["IdActeurType"] = "IdActeur_type";
125
+ PersonneAuditionneeXsiType["IdPersonneExterneType"] = "IdPersonneExterne_type";
126
+ })(PersonneAuditionneeXsiType || (PersonneAuditionneeXsiType = {}));
127
+
128
+ export let TypeReunion; // Converts JSON strings to/from your types
129
+ // and asserts the results of JSON.parse at runtime
130
+
131
+ (function (TypeReunion) {
132
+ TypeReunion["Dep"] = "DEP";
133
+ TypeReunion["Ga"] = "GA";
134
+ TypeReunion["Ge"] = "GE";
135
+ TypeReunion["Gevi"] = "GEVI";
136
+ TypeReunion["Gp"] = "GP";
137
+ TypeReunion["H\xE9Aur\xE9lien"] = "H\xC9 Aur\xE9lien";
138
+ })(TypeReunion || (TypeReunion = {}));
139
+
140
+ export class Convert {
141
+ static toAgendas(json) {
142
+ return cast(JSON.parse(json), r("Agendas"));
143
+ }
144
+
145
+ static agendasToJson(value) {
146
+ return JSON.stringify(uncast(value, r("Agendas")), null, 2);
147
+ }
148
+
149
+ static toReunion(json) {
150
+ return cast(JSON.parse(json), r("Reunion"));
151
+ }
152
+
153
+ static reunionToJson(value) {
154
+ return JSON.stringify(uncast(value, r("Reunion")), null, 2);
155
+ }
156
+
157
+ }
158
+
159
+ function invalidValue(typ, val, key = "") {
160
+ if (key) {
161
+ throw Error(`Invalid value for key "${key}". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);
162
+ }
163
+
164
+ throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);
165
+ }
166
+
167
+ function jsonToJSProps(typ) {
168
+ if (typ.jsonToJS === undefined) {
169
+ var map = {};
170
+ typ.props.forEach(p => map[p.json] = {
171
+ key: p.js,
172
+ typ: p.typ
173
+ });
174
+ typ.jsonToJS = map;
175
+ }
176
+
177
+ return typ.jsonToJS;
178
+ }
179
+
180
+ function jsToJSONProps(typ) {
181
+ if (typ.jsToJSON === undefined) {
182
+ var map = {};
183
+ typ.props.forEach(p => map[p.js] = {
184
+ key: p.json,
185
+ typ: p.typ
186
+ });
187
+ typ.jsToJSON = map;
188
+ }
189
+
190
+ return typ.jsToJSON;
191
+ }
192
+
193
+ function transform(val, typ, getProps, key = "") {
194
+ function transformPrimitive(typ, val) {
195
+ if (typeof typ === typeof val) return val;
196
+ return invalidValue(typ, val, key);
197
+ }
198
+
199
+ function transformUnion(typs, val) {
200
+ // val must validate against one typ in typs
201
+ const l = typs.length;
202
+
203
+ for (let i = 0; i < l; i++) {
204
+ const typ = typs[i];
205
+
206
+ try {
207
+ return transform(val, typ, getProps);
208
+ } catch (_) {}
209
+ }
210
+
211
+ return invalidValue(typs, val);
212
+ }
213
+
214
+ function transformEnum(cases, val) {
215
+ if (cases.indexOf(val) !== -1) return val;
216
+ return invalidValue(cases, val);
217
+ }
218
+
219
+ function transformArray(typ, val) {
220
+ // val must be an array with no invalid elements
221
+ if (!Array.isArray(val)) return invalidValue("array", val);
222
+ return val.map(el => transform(el, typ, getProps));
223
+ }
224
+
225
+ function transformDate(val) {
226
+ if (val === null) {
227
+ return null;
228
+ }
229
+
230
+ const d = new Date(val);
231
+
232
+ if (isNaN(d.valueOf())) {
233
+ return invalidValue("Date", val);
234
+ }
235
+
236
+ return d;
237
+ }
238
+
239
+ function transformObject(props, additional, val) {
240
+ if (val === null || typeof val !== "object" || Array.isArray(val)) {
241
+ return invalidValue("object", val);
242
+ }
243
+
244
+ const result = {};
245
+ Object.getOwnPropertyNames(props).forEach(key => {
246
+ const prop = props[key];
247
+ const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
248
+ result[prop.key] = transform(v, prop.typ, getProps, prop.key);
249
+ });
250
+ Object.getOwnPropertyNames(val).forEach(key => {
251
+ if (!Object.prototype.hasOwnProperty.call(props, key)) {
252
+ result[key] = transform(val[key], additional, getProps, key);
253
+ }
254
+ });
255
+ return result;
256
+ }
257
+
258
+ if (typ === "any") return val;
259
+
260
+ if (typ === null) {
261
+ if (val === null) return val;
262
+ return invalidValue(typ, val);
263
+ } // if (typ === false) return invalidValue(typ, val)
264
+
265
+
266
+ while (typeof typ === "object" && typ.ref !== undefined) {
267
+ typ = typeMap[typ.ref];
268
+ }
269
+
270
+ if (Array.isArray(typ)) return transformEnum(typ, val);
271
+
272
+ if (typeof typ === "object") {
273
+ 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);
274
+ } // Numbers can be parsed by Date but shouldn't be.
275
+
276
+
277
+ if (typ === Date && typeof val !== "number") return transformDate(val);
278
+ return transformPrimitive(typ, val);
279
+ }
280
+
281
+ function cast(val, typ) {
282
+ return transform(val, typ, jsonToJSProps);
283
+ }
284
+
285
+ function uncast(val, typ) {
286
+ return transform(val, typ, jsToJSONProps);
287
+ }
288
+
289
+ function a(typ) {
290
+ return {
291
+ arrayItems: typ
292
+ };
293
+ }
294
+
295
+ function u(...typs) {
296
+ return {
297
+ unionMembers: typs
298
+ };
299
+ }
300
+
301
+ function o(props, additional) {
302
+ return {
303
+ props,
304
+ additional
305
+ };
306
+ } // function m(additional: any) {
307
+ // return { props: [], additional }
308
+ // }
309
+
310
+
311
+ function r(name) {
312
+ return {
313
+ ref: name
314
+ };
315
+ }
316
+
317
+ const typeMap = {
318
+ Agendas: o([{
319
+ json: "reunions",
320
+ js: "reunions",
321
+ typ: a(r("Reunion"))
322
+ }], false),
323
+ Reunion: o([{
324
+ json: "schemaVersion",
325
+ js: "schemaVersion",
326
+ typ: u(undefined, "")
327
+ }, {
328
+ json: "xsiType",
329
+ js: "xsiType",
330
+ typ: u(undefined, r("ReunionXsiType"))
331
+ }, {
332
+ json: "uid",
333
+ js: "uid",
334
+ typ: ""
335
+ }, {
336
+ json: "timestampDebut",
337
+ js: "timestampDebut",
338
+ typ: Date
339
+ }, {
340
+ json: "timestampFin",
341
+ js: "timestampFin",
342
+ typ: u(undefined, Date)
343
+ }, {
344
+ json: "lieu",
345
+ js: "lieu",
346
+ typ: u(undefined, r("Lieu"))
347
+ }, {
348
+ json: "cycleDeVie",
349
+ js: "cycleDeVie",
350
+ typ: r("CycleDeVie")
351
+ }, {
352
+ json: "demandeurs",
353
+ js: "demandeurs",
354
+ typ: u(undefined, r("Demandeurs"))
355
+ }, {
356
+ json: "organeReuniRef",
357
+ js: "organeReuniRef",
358
+ typ: u(undefined, "")
359
+ }, {
360
+ json: "typeReunion",
361
+ js: "typeReunion",
362
+ typ: u(undefined, r("TypeReunion"))
363
+ }, {
364
+ json: "participants",
365
+ js: "participants",
366
+ typ: u(undefined, r("Participants"))
367
+ }, {
368
+ json: "sessionRef",
369
+ js: "sessionRef",
370
+ typ: u(undefined, "")
371
+ }, {
372
+ json: "ouverturePresse",
373
+ js: "ouverturePresse",
374
+ typ: u(undefined, false)
375
+ }, {
376
+ json: "odj",
377
+ js: "odj",
378
+ typ: u(undefined, r("Odj"))
379
+ }, {
380
+ json: "compteRenduRef",
381
+ js: "compteRenduRef",
382
+ typ: u(undefined, "")
383
+ }, {
384
+ json: "identifiants",
385
+ js: "identifiants",
386
+ typ: u(undefined, r("Identifiants"))
387
+ }, {
388
+ json: "formatReunion",
389
+ js: "formatReunion",
390
+ typ: u(undefined, r("FormatReunion"))
391
+ }, {
392
+ json: "infosReunionsInternationale",
393
+ js: "infosReunionsInternationale",
394
+ typ: u(undefined, r("InfosReunionsInternationale"))
395
+ }, {
396
+ json: "captationVideo",
397
+ js: "captationVideo",
398
+ typ: u(undefined, false)
399
+ }, {
400
+ json: "visioConference",
401
+ js: "visioConference",
402
+ typ: u(undefined, "")
403
+ }], false),
404
+ Odj: o([{
405
+ json: "convocationOdj",
406
+ js: "convocationOdj",
407
+ typ: u(undefined, a(""))
408
+ }, {
409
+ json: "resumeOdj",
410
+ js: "resumeOdj",
411
+ typ: u(undefined, a(""))
412
+ }, {
413
+ json: "pointsOdj",
414
+ js: "pointsOdj",
415
+ typ: u(undefined, a(r("PointOdj")))
416
+ }], false),
417
+ PointOdj: o([{
418
+ json: "xsiType",
419
+ js: "xsiType",
420
+ typ: r("PointOdjXsiType")
421
+ }, {
422
+ json: "uid",
423
+ js: "uid",
424
+ typ: ""
425
+ }, {
426
+ json: "cycleDeVie",
427
+ js: "cycleDeVie",
428
+ typ: r("CycleDeVie")
429
+ }, {
430
+ json: "objet",
431
+ js: "objet",
432
+ typ: ""
433
+ }, {
434
+ json: "procedure",
435
+ js: "procedure",
436
+ typ: u(undefined, r("Procedure"))
437
+ }, {
438
+ json: "dossiersLegislatifsRefs",
439
+ js: "dossiersLegislatifsRefs",
440
+ typ: u(undefined, a(""))
441
+ }, {
442
+ json: "typePointOdj",
443
+ js: "typePointOdj",
444
+ typ: r("TypePointOdj")
445
+ }, {
446
+ json: "comiteSecret",
447
+ js: "comiteSecret",
448
+ typ: false
449
+ }, {
450
+ json: "natureTravauxOdj",
451
+ js: "natureTravauxOdj",
452
+ typ: u(undefined, r("NatureTravauxOdj"))
453
+ }, {
454
+ json: "dateConfPres",
455
+ js: "dateConfPres",
456
+ typ: u(undefined, Date)
457
+ }, {
458
+ json: "dateLettreMinistre",
459
+ js: "dateLettreMinistre",
460
+ typ: u(undefined, Date)
461
+ }], false),
462
+ CycleDeVie: o([{
463
+ json: "etat",
464
+ js: "etat",
465
+ typ: r("EtatCycleDeVie")
466
+ }, {
467
+ json: "chrono",
468
+ js: "chrono",
469
+ typ: r("Chrono")
470
+ }], false),
471
+ Chrono: o([{
472
+ json: "creation",
473
+ js: "creation",
474
+ typ: Date
475
+ }, {
476
+ json: "cloture",
477
+ js: "cloture",
478
+ typ: u(undefined, Date)
479
+ }], false),
480
+ Demandeurs: o([{
481
+ json: "acteurs",
482
+ js: "acteurs",
483
+ typ: u(undefined, a(r("DemandeurActeur")))
484
+ }, {
485
+ json: "organe",
486
+ js: "organe",
487
+ typ: u(undefined, r("DemandeurOrgane"))
488
+ }], false),
489
+ DemandeurActeur: o([{
490
+ json: "nom",
491
+ js: "nom",
492
+ typ: u(undefined, "")
493
+ }, {
494
+ json: "acteurRef",
495
+ js: "acteurRef",
496
+ typ: ""
497
+ }], false),
498
+ DemandeurOrgane: o([{
499
+ json: "nom",
500
+ js: "nom",
501
+ typ: ""
502
+ }, {
503
+ json: "organeRef",
504
+ js: "organeRef",
505
+ typ: ""
506
+ }], false),
507
+ Identifiants: o([{
508
+ json: "numSeanceJo",
509
+ js: "numSeanceJo",
510
+ typ: u(undefined, "")
511
+ }, {
512
+ json: "idJo",
513
+ js: "idJo",
514
+ typ: u(undefined, "")
515
+ }, {
516
+ json: "quantieme",
517
+ js: "quantieme",
518
+ typ: r("Quantieme")
519
+ }, {
520
+ json: "dateSeance",
521
+ js: "dateSeance",
522
+ typ: Date
523
+ }], false),
524
+ InfosReunionsInternationale: o([{
525
+ json: "estReunionInternationale",
526
+ js: "estReunionInternationale",
527
+ typ: false
528
+ }, {
529
+ json: "listePays",
530
+ js: "listePays",
531
+ typ: u(undefined, a(""))
532
+ }, {
533
+ json: "informationsComplementaires",
534
+ js: "informationsComplementaires",
535
+ typ: u(undefined, "")
536
+ }], false),
537
+ Lieu: o([{
538
+ json: "code",
539
+ js: "code",
540
+ typ: u(undefined, "")
541
+ }, {
542
+ json: "libelleCourt",
543
+ js: "libelleCourt",
544
+ typ: u(undefined, "")
545
+ }, {
546
+ json: "libelleLong",
547
+ js: "libelleLong",
548
+ typ: u(undefined, "")
549
+ }, {
550
+ json: "lieuRef",
551
+ js: "lieuRef",
552
+ typ: u(undefined, "")
553
+ }], false),
554
+ Participants: o([{
555
+ json: "participantsInternes",
556
+ js: "participantsInternes",
557
+ typ: u(undefined, a(r("ParticipantInterne")))
558
+ }, {
559
+ json: "personnesAuditionnees",
560
+ js: "personnesAuditionnees",
561
+ typ: u(undefined, a(r("PersonneAuditionnee")))
562
+ }], false),
563
+ ParticipantInterne: o([{
564
+ json: "acteurRef",
565
+ js: "acteurRef",
566
+ typ: ""
567
+ }, {
568
+ json: "presence",
569
+ js: "presence",
570
+ typ: r("Presence")
571
+ }], false),
572
+ PersonneAuditionnee: o([{
573
+ json: "xsiType",
574
+ js: "xsiType",
575
+ typ: r("PersonneAuditionneeXsiType")
576
+ }, {
577
+ json: "uid",
578
+ js: "uid",
579
+ typ: ""
580
+ }, {
581
+ json: "ident",
582
+ js: "ident",
583
+ typ: r("Ident")
584
+ }, {
585
+ json: "dateNais",
586
+ js: "dateNais",
587
+ typ: u(undefined, Date)
588
+ }], false),
589
+ Ident: o([{
590
+ json: "civ",
591
+ js: "civ",
592
+ typ: r("Civ")
593
+ }, {
594
+ json: "prenom",
595
+ js: "prenom",
596
+ typ: ""
597
+ }, {
598
+ json: "nom",
599
+ js: "nom",
600
+ typ: ""
601
+ }, {
602
+ json: "alpha",
603
+ js: "alpha",
604
+ typ: u(undefined, "")
605
+ }, {
606
+ json: "trigramme",
607
+ js: "trigramme",
608
+ typ: u(undefined, "")
609
+ }], false),
610
+ ReunionXsiType: ["reunionCommission_type", "reunionInitParlementaire_type", "seance_type"],
611
+ PointOdjXsiType: ["podjReunion_type", "podjSeanceConfPres_type"],
612
+ EtatCycleDeVie: ["Annulé", "Confirmé", "Eventuel", "Supprimé"],
613
+ NatureTravauxOdj: ["ODJPR", "ODJSN"],
614
+ Procedure: ["discussion générale commune", "procédure d'examen simplifiée-Article 103", "procédure d'examen simplifiée-Article 106", "procédure de législation en commission-Article 107-1"],
615
+ TypePointOdj: ["Amendements (Art. 88)", "Amendements (Art. 91)", "Audition", "Audition ministre", "Audition ministre ouverte à la presse", "Audition ouverte à la presse", "Communication", "Constitution de mission d'information", "Discussion", "Débat d'initiative parlementaire", "Déclaration du Gouvernement suivie d'un débat", "Echanges de vues", "Examen", "Explications de vote des groupes et vote par scrutin public", "Explications de vote et vote par scrutin public", "Fixation de l'ordre du jour", "Nomination bureau", "Nomination candidats organisme extraparlementaire", "Nomination d'un membre d'une mission d'information", "Nomination rapporteur", "Nomination rapporteur d'application", "Nomination rapporteur d'information", "Nomination rapporteur pour avis", "Ouverture et clôture de session", "Questions au Gouvernement", "Questions orales sans débat", "Rapport", "Rapport d'information", "Rapport pour avis", "Suite de la discussion", "Table ronde", "Vote par scrutin public", "Vote solennel"],
616
+ FormatReunion: ["AuditionExterne", "AuditionParPresidentCommission", "AuditionParRapporteur", "Ordinaire"],
617
+ Quantieme: ["Deuxième", "Première", "Troisième", "Unique"],
618
+ Presence: ["absent", "excusé", "présent"],
619
+ Civ: ["M.", "Mme"],
620
+ PersonneAuditionneeXsiType: ["IdActeur_type", "IdPersonneExterne_type"],
621
+ TypeReunion: ["DEP", "GA", "GE", "GEVI", "GP", "HÉ Aurélien"]
622
+ };
623
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXVuaW9uWHNpVHlwZSIsIlBvaW50T2RqWHNpVHlwZSIsIkV0YXRDeWNsZURlVmllIiwiTmF0dXJlVHJhdmF1eE9kaiIsIlByb2NlZHVyZSIsIlR5cGVQb2ludE9kaiIsIkZvcm1hdFJldW5pb24iLCJRdWFudGllbWUiLCJQcmVzZW5jZSIsIkNpdiIsIlBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlIiwiVHlwZVJldW5pb24iLCJDb252ZXJ0IiwidG9BZ2VuZGFzIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwiYWdlbmRhc1RvSnNvbiIsInZhbHVlIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9SZXVuaW9uIiwicmV1bmlvblRvSnNvbiIsImludmFsaWRWYWx1ZSIsInR5cCIsInZhbCIsImtleSIsIkVycm9yIiwianNvblRvSlNQcm9wcyIsImpzb25Ub0pTIiwidW5kZWZpbmVkIiwibWFwIiwicHJvcHMiLCJmb3JFYWNoIiwicCIsImpzIiwianNUb0pTT05Qcm9wcyIsImpzVG9KU09OIiwidHJhbnNmb3JtIiwiZ2V0UHJvcHMiLCJ0cmFuc2Zvcm1QcmltaXRpdmUiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwibGVuZ3RoIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwibyIsIm5hbWUiLCJBZ2VuZGFzIiwiUmV1bmlvbiIsIk9kaiIsIlBvaW50T2RqIiwiQ3ljbGVEZVZpZSIsIkNocm9ubyIsIkRlbWFuZGV1cnMiLCJEZW1hbmRldXJBY3RldXIiLCJEZW1hbmRldXJPcmdhbmUiLCJJZGVudGlmaWFudHMiLCJJbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUiLCJMaWV1IiwiUGFydGljaXBhbnRzIiwiUGFydGljaXBhbnRJbnRlcm5lIiwiUGVyc29ubmVBdWRpdGlvbm5lZSIsIklkZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2FnZW5kYXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgUmV1bmlvbiwgQWdlbmRhcyB9IGZyb20gXCIuL2ZpbGVcIjtcbi8vXG4vLyAgIGNvbnN0IHJldW5pb24gPSBDb252ZXJ0LnRvUmV1bmlvbihqc29uKTtcbi8vICAgY29uc3QgYWdlbmRhcyA9IENvbnZlcnQudG9BZ2VuZGFzKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmltcG9ydCB7IEFjdGV1ciwgT3JnYW5lIH0gZnJvbSBcIi4vYWN0ZXVyc19ldF9vcmdhbmVzXCJcblxuZXhwb3J0IGludGVyZmFjZSBBZ2VuZGFzIHtcbiAgcmV1bmlvbnM6IFJldW5pb25bXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJldW5pb24ge1xuICBzY2hlbWFWZXJzaW9uPzogc3RyaW5nXG4gIHhzaVR5cGU/OiBSZXVuaW9uWHNpVHlwZVxuICB1aWQ6IHN0cmluZ1xuICB0aW1lc3RhbXBEZWJ1dDogRGF0ZVxuICB0aW1lc3RhbXBGaW4/OiBEYXRlXG4gIGxpZXU/OiBMaWV1XG4gIGN5Y2xlRGVWaWU6IEN5Y2xlRGVWaWVcbiAgZGVtYW5kZXVycz86IERlbWFuZGV1cnNcbiAgb3JnYW5lUmV1bmlSZWY/OiBzdHJpbmdcbiAgb3JnYW5lUmV1bmk/OiBPcmdhbmUgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbiAgdHlwZVJldW5pb24/OiBUeXBlUmV1bmlvblxuICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudHNcbiAgc2Vzc2lvblJlZj86IHN0cmluZ1xuICBvdXZlcnR1cmVQcmVzc2U/OiBib29sZWFuXG4gIG9kaj86IE9kalxuICBjb21wdGVSZW5kdVJlZj86IHN0cmluZ1xuICBpZGVudGlmaWFudHM/OiBJZGVudGlmaWFudHNcbiAgZm9ybWF0UmV1bmlvbj86IEZvcm1hdFJldW5pb25cbiAgaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlPzogSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXG4gIGNhcHRhdGlvblZpZGVvPzogYm9vbGVhblxuICB2aXNpb0NvbmZlcmVuY2U/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gUmV1bmlvblhzaVR5cGUge1xuICBSZXVuaW9uQ29tbWlzc2lvblR5cGUgPSBcInJldW5pb25Db21taXNzaW9uX3R5cGVcIixcbiAgUmV1bmlvbkluaXRQYXJsZW1lbnRhaXJlVHlwZSA9IFwicmV1bmlvbkluaXRQYXJsZW1lbnRhaXJlX3R5cGVcIixcbiAgU2VhbmNlVHlwZSA9IFwic2VhbmNlX3R5cGVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPZGoge1xuICBjb252b2NhdGlvbk9kaj86IHN0cmluZ1tdXG4gIHJlc3VtZU9kaj86IHN0cmluZ1tdXG4gIHBvaW50c09kaj86IFBvaW50T2RqW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2ludE9kaiB7XG4gIHhzaVR5cGU6IFBvaW50T2RqWHNpVHlwZVxuICB1aWQ6IHN0cmluZ1xuICBjeWNsZURlVmllOiBDeWNsZURlVmllXG4gIG9iamV0OiBzdHJpbmdcbiAgcHJvY2VkdXJlPzogUHJvY2VkdXJlXG4gIGRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzPzogc3RyaW5nW11cbiAgdHlwZVBvaW50T2RqOiBUeXBlUG9pbnRPZGpcbiAgY29taXRlU2VjcmV0OiBib29sZWFuXG4gIG5hdHVyZVRyYXZhdXhPZGo/OiBOYXR1cmVUcmF2YXV4T2RqXG4gIGRhdGVDb25mUHJlcz86IERhdGVcbiAgZGF0ZUxldHRyZU1pbmlzdHJlPzogRGF0ZVxufVxuXG5leHBvcnQgZW51bSBQb2ludE9kalhzaVR5cGUge1xuICBQb2RqUmV1bmlvblR5cGUgPSBcInBvZGpSZXVuaW9uX3R5cGVcIixcbiAgUG9kalNlYW5jZUNvbmZQcmVzVHlwZSA9IFwicG9kalNlYW5jZUNvbmZQcmVzX3R5cGVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDeWNsZURlVmllIHtcbiAgZXRhdDogRXRhdEN5Y2xlRGVWaWVcbiAgY2hyb25vOiBDaHJvbm9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaHJvbm8ge1xuICBjcmVhdGlvbjogRGF0ZVxuICBjbG90dXJlPzogRGF0ZVxufVxuXG5leHBvcnQgZW51bSBFdGF0Q3ljbGVEZVZpZSB7XG4gIEFubnVsw6kgPSBcIkFubnVsw6lcIixcbiAgQ29uZmlybcOpID0gXCJDb25maXJtw6lcIixcbiAgRXZlbnR1ZWwgPSBcIkV2ZW50dWVsXCIsXG4gIFN1cHByaW3DqSA9IFwiU3VwcHJpbcOpXCIsXG59XG5cbmV4cG9ydCBlbnVtIE5hdHVyZVRyYXZhdXhPZGoge1xuICBPZGpwciA9IFwiT0RKUFJcIixcbiAgT2Rqc24gPSBcIk9ESlNOXCIsXG59XG5cbmV4cG9ydCBlbnVtIFByb2NlZHVyZSB7XG4gIERpc2N1c3Npb25Hw6luw6lyYWxlQ29tbXVuZSA9IFwiZGlzY3Vzc2lvbiBnw6luw6lyYWxlIGNvbW11bmVcIixcbiAgUHJvY8OpZHVyZURFeGFtZW5TaW1wbGlmacOpZUFydGljbGUxMDMgPSBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDNcIixcbiAgUHJvY8OpZHVyZURFeGFtZW5TaW1wbGlmacOpZUFydGljbGUxMDYgPSBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDZcIixcbiAgUHJvY8OpZHVyZURlTMOpZ2lzbGF0aW9uRW5Db21taXNzaW9uQXJ0aWNsZTEwNzEgPSBcInByb2PDqWR1cmUgZGUgbMOpZ2lzbGF0aW9uIGVuIGNvbW1pc3Npb24tQXJ0aWNsZSAxMDctMVwiLFxufVxuXG5leHBvcnQgZW51bSBUeXBlUG9pbnRPZGoge1xuICBBbWVuZGVtZW50c0FydDg4ID0gXCJBbWVuZGVtZW50cyAoQXJ0LiA4OClcIixcbiAgQW1lbmRlbWVudHNBcnQ5MSA9IFwiQW1lbmRlbWVudHMgKEFydC4gOTEpXCIsXG4gIEF1ZGl0aW9uID0gXCJBdWRpdGlvblwiLFxuICBBdWRpdGlvbk1pbmlzdHJlID0gXCJBdWRpdGlvbiBtaW5pc3RyZVwiLFxuICBBdWRpdGlvbk1pbmlzdHJlT3V2ZXJ0ZcOATGFQcmVzc2UgPSBcIkF1ZGl0aW9uIG1pbmlzdHJlIG91dmVydGUgw6AgbGEgcHJlc3NlXCIsXG4gIEF1ZGl0aW9uT3V2ZXJ0ZcOATGFQcmVzc2UgPSBcIkF1ZGl0aW9uIG91dmVydGUgw6AgbGEgcHJlc3NlXCIsXG4gIENvbW11bmljYXRpb24gPSBcIkNvbW11bmljYXRpb25cIixcbiAgQ29uc3RpdHV0aW9uRGVNaXNzaW9uREluZm9ybWF0aW9uID0gXCJDb25zdGl0dXRpb24gZGUgbWlzc2lvbiBkJ2luZm9ybWF0aW9uXCIsXG4gIERpc2N1c3Npb24gPSBcIkRpc2N1c3Npb25cIixcbiAgRMOpYmF0REluaXRpYXRpdmVQYXJsZW1lbnRhaXJlID0gXCJEw6liYXQgZCdpbml0aWF0aXZlIHBhcmxlbWVudGFpcmVcIixcbiAgRMOpY2xhcmF0aW9uRHVHb3V2ZXJuZW1lbnRTdWl2aWVEVW5Ew6liYXQgPSBcIkTDqWNsYXJhdGlvbiBkdSBHb3V2ZXJuZW1lbnQgc3VpdmllIGQndW4gZMOpYmF0XCIsXG4gIEVjaGFuZ2VzRGVWdWVzID0gXCJFY2hhbmdlcyBkZSB2dWVzXCIsXG4gIEV4YW1lbiA9IFwiRXhhbWVuXCIsXG4gIEV4cGxpY2F0aW9uc0RlVm90ZURlc0dyb3VwZXNFdFZvdGVQYXJTY3J1dGluUHVibGljID0gXCJFeHBsaWNhdGlvbnMgZGUgdm90ZSBkZXMgZ3JvdXBlcyBldCB2b3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICBFeHBsaWNhdGlvbnNEZVZvdGVFdFZvdGVQYXJTY3J1dGluUHVibGljID0gXCJFeHBsaWNhdGlvbnMgZGUgdm90ZSBldCB2b3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICBGaXhhdGlvbkRlTE9yZHJlRHVKb3VyID0gXCJGaXhhdGlvbiBkZSBsJ29yZHJlIGR1IGpvdXJcIixcbiAgTm9taW5hdGlvbkJ1cmVhdSA9IFwiTm9taW5hdGlvbiBidXJlYXVcIixcbiAgTm9taW5hdGlvbkNhbmRpZGF0c09yZ2FuaXNtZUV4dHJhcGFybGVtZW50YWlyZSA9IFwiTm9taW5hdGlvbiBjYW5kaWRhdHMgb3JnYW5pc21lIGV4dHJhcGFybGVtZW50YWlyZVwiLFxuICBOb21pbmF0aW9uRFVuTWVtYnJlRFVuZU1pc3Npb25ESW5mb3JtYXRpb24gPSBcIk5vbWluYXRpb24gZCd1biBtZW1icmUgZCd1bmUgbWlzc2lvbiBkJ2luZm9ybWF0aW9uXCIsXG4gIE5vbWluYXRpb25SYXBwb3J0ZXVyID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXJcIixcbiAgTm9taW5hdGlvblJhcHBvcnRldXJEQXBwbGljYXRpb24gPSBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBkJ2FwcGxpY2F0aW9uXCIsXG4gIE5vbWluYXRpb25SYXBwb3J0ZXVyREluZm9ybWF0aW9uID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdpbmZvcm1hdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1clBvdXJBdmlzID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgcG91ciBhdmlzXCIsXG4gIE91dmVydHVyZUV0Q2zDtHR1cmVEZVNlc3Npb24gPSBcIk91dmVydHVyZSBldCBjbMO0dHVyZSBkZSBzZXNzaW9uXCIsXG4gIFF1ZXN0aW9uc0F1R291dmVybmVtZW50ID0gXCJRdWVzdGlvbnMgYXUgR291dmVybmVtZW50XCIsXG4gIFF1ZXN0aW9uc09yYWxlc1NhbnNEw6liYXQgPSBcIlF1ZXN0aW9ucyBvcmFsZXMgc2FucyBkw6liYXRcIixcbiAgUmFwcG9ydCA9IFwiUmFwcG9ydFwiLFxuICBSYXBwb3J0REluZm9ybWF0aW9uID0gXCJSYXBwb3J0IGQnaW5mb3JtYXRpb25cIixcbiAgUmFwcG9ydFBvdXJBdmlzID0gXCJSYXBwb3J0IHBvdXIgYXZpc1wiLFxuICBTdWl0ZURlTGFEaXNjdXNzaW9uID0gXCJTdWl0ZSBkZSBsYSBkaXNjdXNzaW9uXCIsXG4gIFRhYmxlUm9uZGUgPSBcIlRhYmxlIHJvbmRlXCIsXG4gIFZvdGVQYXJTY3J1dGluUHVibGljID0gXCJWb3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICBWb3RlU29sZW5uZWwgPSBcIlZvdGUgc29sZW5uZWxcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXJzIHtcbiAgYWN0ZXVycz86IERlbWFuZGV1ckFjdGV1cltdXG4gIG9yZ2FuZT86IERlbWFuZGV1ck9yZ2FuZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbWFuZGV1ckFjdGV1ciB7XG4gIG5vbT86IHN0cmluZ1xuICBhY3RldXJSZWY6IHN0cmluZ1xuICBhY3RldXI/OiBBY3RldXIgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXJPcmdhbmUge1xuICBub206IHN0cmluZ1xuICBvcmdhbmVSZWY6IHN0cmluZ1xuICBvcmdhbmU/OiBPcmdhbmUgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbn1cblxuZXhwb3J0IGVudW0gRm9ybWF0UmV1bmlvbiB7XG4gIEF1ZGl0aW9uRXh0ZXJuZSA9IFwiQXVkaXRpb25FeHRlcm5lXCIsXG4gIEF1ZGl0aW9uUGFyUHJlc2lkZW50Q29tbWlzc2lvbiA9IFwiQXVkaXRpb25QYXJQcmVzaWRlbnRDb21taXNzaW9uXCIsXG4gIEF1ZGl0aW9uUGFyUmFwcG9ydGV1ciA9IFwiQXVkaXRpb25QYXJSYXBwb3J0ZXVyXCIsXG4gIE9yZGluYWlyZSA9IFwiT3JkaW5haXJlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnRpZmlhbnRzIHtcbiAgbnVtU2VhbmNlSm8/OiBzdHJpbmdcbiAgaWRKbz86IHN0cmluZ1xuICBxdWFudGllbWU6IFF1YW50aWVtZVxuICBkYXRlU2VhbmNlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gUXVhbnRpZW1lIHtcbiAgRGV1eGnDqG1lID0gXCJEZXV4acOobWVcIixcbiAgUHJlbWnDqHJlID0gXCJQcmVtacOocmVcIixcbiAgVHJvaXNpw6htZSA9IFwiVHJvaXNpw6htZVwiLFxuICBVbmlxdWUgPSBcIlVuaXF1ZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZSB7XG4gIGVzdFJldW5pb25JbnRlcm5hdGlvbmFsZTogYm9vbGVhblxuICBsaXN0ZVBheXM/OiBzdHJpbmdbXVxuICBpbmZvcm1hdGlvbnNDb21wbGVtZW50YWlyZXM/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWV1IHtcbiAgY29kZT86IHN0cmluZ1xuICBsaWJlbGxlQ291cnQ/OiBzdHJpbmdcbiAgbGliZWxsZUxvbmc/OiBzdHJpbmdcbiAgbGlldVJlZj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpY2lwYW50cyB7XG4gIHBhcnRpY2lwYW50c0ludGVybmVzPzogUGFydGljaXBhbnRJbnRlcm5lW11cbiAgcGVyc29ubmVzQXVkaXRpb25uZWVzPzogUGVyc29ubmVBdWRpdGlvbm5lZVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGljaXBhbnRJbnRlcm5lIHtcbiAgYWN0ZXVyUmVmOiBzdHJpbmdcbiAgYWN0ZXVyPzogQWN0ZXVyIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHByZXNlbmNlOiBQcmVzZW5jZVxufVxuXG5leHBvcnQgZW51bSBQcmVzZW5jZSB7XG4gIEFic2VudCA9IFwiYWJzZW50XCIsXG4gIEV4Y3Vzw6kgPSBcImV4Y3Vzw6lcIixcbiAgUHLDqXNlbnQgPSBcInByw6lzZW50XCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc29ubmVBdWRpdGlvbm5lZSB7XG4gIHhzaVR5cGU6IFBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlXG4gIHVpZDogc3RyaW5nXG4gIGlkZW50OiBJZGVudFxuICBkYXRlTmFpcz86IERhdGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZGVudCB7XG4gIGNpdjogQ2l2XG4gIHByZW5vbTogc3RyaW5nXG4gIG5vbTogc3RyaW5nXG4gIGFscGhhPzogc3RyaW5nXG4gIHRyaWdyYW1tZT86IHN0cmluZ1xufVxuXG5leHBvcnQgZW51bSBDaXYge1xuICBNID0gXCJNLlwiLFxuICBNbWUgPSBcIk1tZVwiLFxufVxuXG5leHBvcnQgZW51bSBQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZSB7XG4gIElkQWN0ZXVyVHlwZSA9IFwiSWRBY3RldXJfdHlwZVwiLFxuICBJZFBlcnNvbm5lRXh0ZXJuZVR5cGUgPSBcIklkUGVyc29ubmVFeHRlcm5lX3R5cGVcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZVJldW5pb24ge1xuICBEZXAgPSBcIkRFUFwiLCAvLyBEw6lwdXTDqVxuICBHYSA9IFwiR0FcIiwgLy8gR3JvdXBlIGQnYW1pdGnDqVxuICBHZSA9IFwiR0VcIiwgLy8gR3JvdXBlIGQnw6l0dWRlXG4gIEdldmkgPSBcIkdFVklcIiwgLy8gR3JvdXBlIGQnw6l0dWRlIMOgIHZvY2F0aW9uIGludGVybmF0aW9uYWxlXG4gIEdwID0gXCJHUFwiLCAvLyBHcm91cGUgcGFybGVtZW50YWlyZVxuICBIw6lBdXLDqWxpZW4gPSBcIkjDiSBBdXLDqWxpZW5cIixcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gIHB1YmxpYyBzdGF0aWMgdG9BZ2VuZGFzKGpzb246IHN0cmluZyk6IEFnZW5kYXMge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJBZ2VuZGFzXCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhZ2VuZGFzVG9Kc29uKHZhbHVlOiBBZ2VuZGFzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQWdlbmRhc1wiKSksIG51bGwsIDIpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvUmV1bmlvbihqc29uOiBzdHJpbmcpOiBSZXVuaW9uIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiUmV1bmlvblwiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmV1bmlvblRvSnNvbih2YWx1ZTogUmV1bmlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIlJldW5pb25cIikpLCBudWxsLCAyKVxuICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gXCJcIik6IG5ldmVyIHtcbiAgaWYgKGtleSkge1xuICAgIHRocm93IEVycm9yKFxuICAgICAgYEludmFsaWQgdmFsdWUgZm9yIGtleSBcIiR7a2V5fVwiLiBFeHBlY3RlZCB0eXBlICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHR5cCxcbiAgICAgICl9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeSh2YWwpfWAsXG4gICAgKVxuICB9XG4gIHRocm93IEVycm9yKFxuICAgIGBJbnZhbGlkIHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodmFsKX0gZm9yIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfWAsXG4gIClcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNvblRvSlMgPT09IHVuZGVmaW5lZCkge1xuICAgIHZhciBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzb25Ub0pTID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc29uVG9KU1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdmFyIG1hcDogYW55ID0ge31cbiAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiAobWFwW3AuanNdID0geyBrZXk6IHAuanNvbiwgdHlwOiBwLnR5cCB9KSlcbiAgICB0eXAuanNUb0pTT04gPSBtYXBcbiAgfVxuICByZXR1cm4gdHlwLmpzVG9KU09OXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybSh2YWw6IGFueSwgdHlwOiBhbnksIGdldFByb3BzOiBhbnksIGtleTogYW55ID0gXCJcIik6IGFueSB7XG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXA6IHN0cmluZywgdmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5KVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCB2YWxpZGF0ZSBhZ2FpbnN0IG9uZSB0eXAgaW4gdHlwc1xuICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB0eXAgPSB0eXBzW2ldXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBnZXRQcm9wcylcbiAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgfVxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwcywgdmFsKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtRW51bShjYXNlczogc3RyaW5nW10sIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAoY2FzZXMuaW5kZXhPZih2YWwpICE9PSAtMSkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUoY2FzZXMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBubyBpbnZhbGlkIGVsZW1lbnRzXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiBpbnZhbGlkVmFsdWUoXCJhcnJheVwiLCB2YWwpXG4gICAgcmV0dXJuIHZhbC5tYXAoKGVsKSA9PiB0cmFuc2Zvcm0oZWwsIHR5cCwgZ2V0UHJvcHMpKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbClcbiAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwiRGF0ZVwiLCB2YWwpXG4gICAgfVxuICAgIHJldHVybiBkXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QoXG4gICAgcHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LFxuICAgIGFkZGl0aW9uYWw6IGFueSxcbiAgICB2YWw6IGFueSxcbiAgKTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwib2JqZWN0XCIsIHZhbClcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldXG4gICAgICBjb25zdCB2ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbCwga2V5KVxuICAgICAgICA/IHZhbFtrZXldXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpXG4gICAgfSlcbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvcHMsIGtleSkpIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXkpXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBpZiAodHlwID09PSBcImFueVwiKSByZXR1cm4gdmFsXG4gIGlmICh0eXAgPT09IG51bGwpIHtcbiAgICBpZiAodmFsID09PSBudWxsKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgfVxuICAvLyBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdHlwID0gdHlwZU1hcFt0eXAucmVmXVxuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKVxuICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiB0eXAuaGFzT3duUHJvcGVydHkoXCJ1bmlvbk1lbWJlcnNcIilcbiAgICAgID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpXG4gICAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpXG4gICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gTnVtYmVycyBjYW4gYmUgcGFyc2VkIGJ5IERhdGUgYnV0IHNob3VsZG4ndCBiZS5cbiAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpXG4gIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpXG59XG5cbmZ1bmN0aW9uIGNhc3Q8VD4odmFsOiBhbnksIHR5cDogYW55KTogVCB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpXG59XG5cbmZ1bmN0aW9uIHVuY2FzdDxUPih2YWw6IFQsIHR5cDogYW55KTogYW55IHtcbiAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcylcbn1cblxuZnVuY3Rpb24gYSh0eXA6IGFueSkge1xuICByZXR1cm4geyBhcnJheUl0ZW1zOiB0eXAgfVxufVxuXG5mdW5jdGlvbiB1KC4uLnR5cHM6IGFueVtdKSB7XG4gIHJldHVybiB7IHVuaW9uTWVtYmVyczogdHlwcyB9XG59XG5cbmZ1bmN0aW9uIG8ocHJvcHM6IGFueVtdLCBhZGRpdGlvbmFsOiBhbnkpIHtcbiAgcmV0dXJuIHsgcHJvcHMsIGFkZGl0aW9uYWwgfVxufVxuXG4vLyBmdW5jdGlvbiBtKGFkZGl0aW9uYWw6IGFueSkge1xuLy8gICByZXR1cm4geyBwcm9wczogW10sIGFkZGl0aW9uYWwgfVxuLy8gfVxuXG5mdW5jdGlvbiByKG5hbWU6IHN0cmluZykge1xuICByZXR1cm4geyByZWY6IG5hbWUgfVxufVxuXG5jb25zdCB0eXBlTWFwOiBhbnkgPSB7XG4gIEFnZW5kYXM6IG8oXG4gICAgW3sganNvbjogXCJyZXVuaW9uc1wiLCBqczogXCJyZXVuaW9uc1wiLCB0eXA6IGEocihcIlJldW5pb25cIikpIH1dLFxuICAgIGZhbHNlLFxuICApLFxuICBSZXVuaW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJzY2hlbWFWZXJzaW9uXCIsIGpzOiBcInNjaGVtYVZlcnNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ4c2lUeXBlXCIsXG4gICAgICAgIGpzOiBcInhzaVR5cGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlJldW5pb25Yc2lUeXBlXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0aW1lc3RhbXBEZWJ1dFwiLCBqczogXCJ0aW1lc3RhbXBEZWJ1dFwiLCB0eXA6IERhdGUgfSxcbiAgICAgIHsganNvbjogXCJ0aW1lc3RhbXBGaW5cIiwganM6IFwidGltZXN0YW1wRmluXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7IGpzb246IFwibGlldVwiLCBqczogXCJsaWV1XCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJMaWV1XCIpKSB9LFxuICAgICAgeyBqc29uOiBcImN5Y2xlRGVWaWVcIiwganM6IFwiY3ljbGVEZVZpZVwiLCB0eXA6IHIoXCJDeWNsZURlVmllXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGVtYW5kZXVyc1wiLFxuICAgICAgICBqczogXCJkZW1hbmRldXJzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEZW1hbmRldXJzXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lUmV1bmlSZWZcIiwganM6IFwib3JnYW5lUmV1bmlSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0eXBlUmV1bmlvblwiLFxuICAgICAgICBqczogXCJ0eXBlUmV1bmlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiVHlwZVJldW5pb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJ0aWNpcGFudHNcIixcbiAgICAgICAganM6IFwicGFydGljaXBhbnRzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJQYXJ0aWNpcGFudHNcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJzZXNzaW9uUmVmXCIsIGpzOiBcInNlc3Npb25SZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJvdXZlcnR1cmVQcmVzc2VcIixcbiAgICAgICAganM6IFwib3V2ZXJ0dXJlUHJlc3NlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGZhbHNlKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib2RqXCIsIGpzOiBcIm9kalwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiT2RqXCIpKSB9LFxuICAgICAgeyBqc29uOiBcImNvbXB0ZVJlbmR1UmVmXCIsIGpzOiBcImNvbXB0ZVJlbmR1UmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaWRlbnRpZmlhbnRzXCIsXG4gICAgICAgIGpzOiBcImlkZW50aWZpYW50c1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiSWRlbnRpZmlhbnRzXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZm9ybWF0UmV1bmlvblwiLFxuICAgICAgICBqczogXCJmb3JtYXRSZXVuaW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJGb3JtYXRSZXVuaW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXCIsXG4gICAgICAgIGpzOiBcImluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY2FwdGF0aW9uVmlkZW9cIixcbiAgICAgICAganM6IFwiY2FwdGF0aW9uVmlkZW9cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgZmFsc2UpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ2aXNpb0NvbmZlcmVuY2VcIiwganM6IFwidmlzaW9Db25mZXJlbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgT2RqOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjb252b2NhdGlvbk9kalwiLFxuICAgICAgICBqczogXCJjb252b2NhdGlvbk9kalwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwicmVzdW1lT2RqXCIsIGpzOiBcInJlc3VtZU9kalwiLCB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInBvaW50c09kalwiLFxuICAgICAgICBqczogXCJwb2ludHNPZGpcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiUG9pbnRPZGpcIikpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUG9pbnRPZGo6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IHIoXCJQb2ludE9kalhzaVR5cGVcIikgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImN5Y2xlRGVWaWVcIiwganM6IFwiY3ljbGVEZVZpZVwiLCB0eXA6IHIoXCJDeWNsZURlVmllXCIpIH0sXG4gICAgICB7IGpzb246IFwib2JqZXRcIiwganM6IFwib2JqZXRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwicHJvY2VkdXJlXCIsIGpzOiBcInByb2NlZHVyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiUHJvY2VkdXJlXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzXCIsXG4gICAgICAgIGpzOiBcImRvc3NpZXJzTGVnaXNsYXRpZnNSZWZzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEoXCJcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlUG9pbnRPZGpcIiwganM6IFwidHlwZVBvaW50T2RqXCIsIHR5cDogcihcIlR5cGVQb2ludE9kalwiKSB9LFxuICAgICAgeyBqc29uOiBcImNvbWl0ZVNlY3JldFwiLCBqczogXCJjb21pdGVTZWNyZXRcIiwgdHlwOiBmYWxzZSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm5hdHVyZVRyYXZhdXhPZGpcIixcbiAgICAgICAganM6IFwibmF0dXJlVHJhdmF1eE9kalwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiTmF0dXJlVHJhdmF1eE9kalwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImRhdGVDb25mUHJlc1wiLCBqczogXCJkYXRlQ29uZlByZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkYXRlTGV0dHJlTWluaXN0cmVcIixcbiAgICAgICAganM6IFwiZGF0ZUxldHRyZU1pbmlzdHJlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIERhdGUpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDeWNsZURlVmllOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJldGF0XCIsIGpzOiBcImV0YXRcIiwgdHlwOiByKFwiRXRhdEN5Y2xlRGVWaWVcIikgfSxcbiAgICAgIHsganNvbjogXCJjaHJvbm9cIiwganM6IFwiY2hyb25vXCIsIHR5cDogcihcIkNocm9ub1wiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENocm9ubzogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY3JlYXRpb25cIiwganM6IFwiY3JlYXRpb25cIiwgdHlwOiBEYXRlIH0sXG4gICAgICB7IGpzb246IFwiY2xvdHVyZVwiLCBqczogXCJjbG90dXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGVtYW5kZXVyczogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWN0ZXVyc1wiLFxuICAgICAgICBqczogXCJhY3RldXJzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkRlbWFuZGV1ckFjdGV1clwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJvcmdhbmVcIiwganM6IFwib3JnYW5lXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEZW1hbmRldXJPcmdhbmVcIikpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGVtYW5kZXVyQWN0ZXVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZW1hbmRldXJPcmdhbmU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJZGVudGlmaWFudHM6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm51bVNlYW5jZUpvXCIsIGpzOiBcIm51bVNlYW5jZUpvXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaWRKb1wiLCBqczogXCJpZEpvXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwicXVhbnRpZW1lXCIsIGpzOiBcInF1YW50aWVtZVwiLCB0eXA6IHIoXCJRdWFudGllbWVcIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlU2VhbmNlXCIsIGpzOiBcImRhdGVTZWFuY2VcIiwgdHlwOiBEYXRlIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJlc3RSZXVuaW9uSW50ZXJuYXRpb25hbGVcIixcbiAgICAgICAganM6IFwiZXN0UmV1bmlvbkludGVybmF0aW9uYWxlXCIsXG4gICAgICAgIHR5cDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImxpc3RlUGF5c1wiLCBqczogXCJsaXN0ZVBheXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpbmZvcm1hdGlvbnNDb21wbGVtZW50YWlyZXNcIixcbiAgICAgICAganM6IFwiaW5mb3JtYXRpb25zQ29tcGxlbWVudGFpcmVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBMaWV1OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlQ291cnRcIiwganM6IFwibGliZWxsZUNvdXJ0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUxvbmdcIiwganM6IFwibGliZWxsZUxvbmdcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJsaWV1UmVmXCIsIGpzOiBcImxpZXVSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBQYXJ0aWNpcGFudHM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcInBhcnRpY2lwYW50c0ludGVybmVzXCIsXG4gICAgICAgIGpzOiBcInBhcnRpY2lwYW50c0ludGVybmVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBhcnRpY2lwYW50SW50ZXJuZVwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwZXJzb25uZXNBdWRpdGlvbm5lZXNcIixcbiAgICAgICAganM6IFwicGVyc29ubmVzQXVkaXRpb25uZWVzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBlcnNvbm5lQXVkaXRpb25uZWVcIikpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUGFydGljaXBhbnRJbnRlcm5lOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInByZXNlbmNlXCIsIGpzOiBcInByZXNlbmNlXCIsIHR5cDogcihcIlByZXNlbmNlXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUGVyc29ubmVBdWRpdGlvbm5lZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwieHNpVHlwZVwiLCBqczogXCJ4c2lUeXBlXCIsIHR5cDogcihcIlBlcnNvbm5lQXVkaXRpb25uZWVYc2lUeXBlXCIpIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpZGVudFwiLCBqczogXCJpZGVudFwiLCB0eXA6IHIoXCJJZGVudFwiKSB9LFxuICAgICAgeyBqc29uOiBcImRhdGVOYWlzXCIsIGpzOiBcImRhdGVOYWlzXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSWRlbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNpdlwiLCBqczogXCJjaXZcIiwgdHlwOiByKFwiQ2l2XCIpIH0sXG4gICAgICB7IGpzb246IFwicHJlbm9tXCIsIGpzOiBcInByZW5vbVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFscGhhXCIsIGpzOiBcImFscGhhXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwidHJpZ3JhbW1lXCIsIGpzOiBcInRyaWdyYW1tZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFJldW5pb25Yc2lUeXBlOiBbXG4gICAgXCJyZXVuaW9uQ29tbWlzc2lvbl90eXBlXCIsXG4gICAgXCJyZXVuaW9uSW5pdFBhcmxlbWVudGFpcmVfdHlwZVwiLFxuICAgIFwic2VhbmNlX3R5cGVcIixcbiAgXSxcbiAgUG9pbnRPZGpYc2lUeXBlOiBbXCJwb2RqUmV1bmlvbl90eXBlXCIsIFwicG9kalNlYW5jZUNvbmZQcmVzX3R5cGVcIl0sXG4gIEV0YXRDeWNsZURlVmllOiBbXCJBbm51bMOpXCIsIFwiQ29uZmlybcOpXCIsIFwiRXZlbnR1ZWxcIiwgXCJTdXBwcmltw6lcIl0sXG4gIE5hdHVyZVRyYXZhdXhPZGo6IFtcIk9ESlBSXCIsIFwiT0RKU05cIl0sXG4gIFByb2NlZHVyZTogW1xuICAgIFwiZGlzY3Vzc2lvbiBnw6luw6lyYWxlIGNvbW11bmVcIixcbiAgICBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDNcIixcbiAgICBcInByb2PDqWR1cmUgZCdleGFtZW4gc2ltcGxpZmnDqWUtQXJ0aWNsZSAxMDZcIixcbiAgICBcInByb2PDqWR1cmUgZGUgbMOpZ2lzbGF0aW9uIGVuIGNvbW1pc3Npb24tQXJ0aWNsZSAxMDctMVwiLFxuICBdLFxuICBUeXBlUG9pbnRPZGo6IFtcbiAgICBcIkFtZW5kZW1lbnRzIChBcnQuIDg4KVwiLFxuICAgIFwiQW1lbmRlbWVudHMgKEFydC4gOTEpXCIsXG4gICAgXCJBdWRpdGlvblwiLFxuICAgIFwiQXVkaXRpb24gbWluaXN0cmVcIixcbiAgICBcIkF1ZGl0aW9uIG1pbmlzdHJlIG91dmVydGUgw6AgbGEgcHJlc3NlXCIsXG4gICAgXCJBdWRpdGlvbiBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICAgIFwiQ29tbXVuaWNhdGlvblwiLFxuICAgIFwiQ29uc3RpdHV0aW9uIGRlIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiRGlzY3Vzc2lvblwiLFxuICAgIFwiRMOpYmF0IGQnaW5pdGlhdGl2ZSBwYXJsZW1lbnRhaXJlXCIsXG4gICAgXCJEw6ljbGFyYXRpb24gZHUgR291dmVybmVtZW50IHN1aXZpZSBkJ3VuIGTDqWJhdFwiLFxuICAgIFwiRWNoYW5nZXMgZGUgdnVlc1wiLFxuICAgIFwiRXhhbWVuXCIsXG4gICAgXCJFeHBsaWNhdGlvbnMgZGUgdm90ZSBkZXMgZ3JvdXBlcyBldCB2b3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICAgIFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICBcIkZpeGF0aW9uIGRlIGwnb3JkcmUgZHUgam91clwiLFxuICAgIFwiTm9taW5hdGlvbiBidXJlYXVcIixcbiAgICBcIk5vbWluYXRpb24gY2FuZGlkYXRzIG9yZ2FuaXNtZSBleHRyYXBhcmxlbWVudGFpcmVcIixcbiAgICBcIk5vbWluYXRpb24gZCd1biBtZW1icmUgZCd1bmUgbWlzc2lvbiBkJ2luZm9ybWF0aW9uXCIsXG4gICAgXCJOb21pbmF0aW9uIHJhcHBvcnRldXJcIixcbiAgICBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBkJ2FwcGxpY2F0aW9uXCIsXG4gICAgXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIHBvdXIgYXZpc1wiLFxuICAgIFwiT3V2ZXJ0dXJlIGV0IGNsw7R0dXJlIGRlIHNlc3Npb25cIixcbiAgICBcIlF1ZXN0aW9ucyBhdSBHb3V2ZXJuZW1lbnRcIixcbiAgICBcIlF1ZXN0aW9ucyBvcmFsZXMgc2FucyBkw6liYXRcIixcbiAgICBcIlJhcHBvcnRcIixcbiAgICBcIlJhcHBvcnQgZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiUmFwcG9ydCBwb3VyIGF2aXNcIixcbiAgICBcIlN1aXRlIGRlIGxhIGRpc2N1c3Npb25cIixcbiAgICBcIlRhYmxlIHJvbmRlXCIsXG4gICAgXCJWb3RlIHBhciBzY3J1dGluIHB1YmxpY1wiLFxuICAgIFwiVm90ZSBzb2xlbm5lbFwiLFxuICBdLFxuICBGb3JtYXRSZXVuaW9uOiBbXG4gICAgXCJBdWRpdGlvbkV4dGVybmVcIixcbiAgICBcIkF1ZGl0aW9uUGFyUHJlc2lkZW50Q29tbWlzc2lvblwiLFxuICAgIFwiQXVkaXRpb25QYXJSYXBwb3J0ZXVyXCIsXG4gICAgXCJPcmRpbmFpcmVcIixcbiAgXSxcbiAgUXVhbnRpZW1lOiBbXCJEZXV4acOobWVcIiwgXCJQcmVtacOocmVcIiwgXCJUcm9pc2nDqG1lXCIsIFwiVW5pcXVlXCJdLFxuICBQcmVzZW5jZTogW1wiYWJzZW50XCIsIFwiZXhjdXPDqVwiLCBcInByw6lzZW50XCJdLFxuICBDaXY6IFtcIk0uXCIsIFwiTW1lXCJdLFxuICBQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZTogW1wiSWRBY3RldXJfdHlwZVwiLCBcIklkUGVyc29ubmVFeHRlcm5lX3R5cGVcIl0sXG4gIFR5cGVSZXVuaW9uOiBbXCJERVBcIiwgXCJHQVwiLCBcIkdFXCIsIFwiR0VWSVwiLCBcIkdQXCIsIFwiSMOJIEF1csOpbGllblwiXSxcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZ0NBLFdBQVlBLGNBQVo7O1dBQVlBLGM7RUFBQUEsYztFQUFBQSxjO0VBQUFBLGM7R0FBQUEsYyxLQUFBQSxjOztBQTBCWixXQUFZQyxlQUFaOztXQUFZQSxlO0VBQUFBLGU7RUFBQUEsZTtHQUFBQSxlLEtBQUFBLGU7O0FBZVosV0FBWUMsY0FBWjs7V0FBWUEsYztFQUFBQSxjO0VBQUFBLGM7RUFBQUEsYztFQUFBQSxjO0dBQUFBLGMsS0FBQUEsYzs7QUFPWixXQUFZQyxnQkFBWjs7V0FBWUEsZ0I7RUFBQUEsZ0I7RUFBQUEsZ0I7R0FBQUEsZ0IsS0FBQUEsZ0I7O0FBS1osV0FBWUMsU0FBWjs7V0FBWUEsUztFQUFBQSxTO0VBQUFBLFM7RUFBQUEsUztFQUFBQSxTO0dBQUFBLFMsS0FBQUEsUzs7QUFPWixXQUFZQyxZQUFaOztXQUFZQSxZO0VBQUFBLFk7RUFBQUEsWTtFQUFBQSxZO0VBQUFBLFk7RUFBQUEsWTtFQUFBQSxZ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