@tricoteuses/assemblee 1.1.9 → 1.1.11

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 (129) hide show
  1. package/LICENSE.md +5 -1
  2. package/README.md +69 -178
  3. package/lib/bugs/acteur-00010/plugin.test.js +1 -1
  4. package/lib/bugs/agenda-00002/plugin.test.js +1 -1
  5. package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
  6. package/lib/bugs/agenda-00002.js +3 -3
  7. package/lib/bugs/agenda-00002.mjs +2 -2
  8. package/lib/bugs/agenda-00008/plugin.test.js +1 -1
  9. package/lib/bugs/agenda-00011/plugin.test.js +1 -1
  10. package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
  11. package/lib/bugs/agenda-00011.js +1 -1
  12. package/lib/bugs/agenda-00011.mjs +1 -1
  13. package/lib/bugs.js +1 -1
  14. package/lib/bugs.mjs +1 -1
  15. package/lib/cleaners/acteurs.js +1 -1
  16. package/lib/cleaners/acteurs.mjs +1 -1
  17. package/lib/cleaners/amendements.js +1 -1
  18. package/lib/cleaners/amendements.mjs +1 -1
  19. package/lib/cleaners/debats.d.ts +1 -0
  20. package/lib/cleaners/debats.js +12 -0
  21. package/lib/cleaners/debats.mjs +5 -0
  22. package/lib/cleaners/index.d.ts +2 -0
  23. package/lib/cleaners/index.js +15 -1
  24. package/lib/cleaners/index.mjs +3 -1
  25. package/lib/cleaners/questions.d.ts +1 -0
  26. package/lib/cleaners/questions.js +12 -0
  27. package/lib/cleaners/questions.mjs +5 -0
  28. package/lib/cleaners/reunions.js +1 -1
  29. package/lib/cleaners/reunions.mjs +1 -1
  30. package/lib/cleaners/xml.js +12 -6
  31. package/lib/cleaners/xml.mjs +12 -6
  32. package/lib/datasets.d.ts +5 -1
  33. package/lib/datasets.js +62 -4
  34. package/lib/datasets.mjs +62 -4
  35. package/lib/dates.js +1 -1
  36. package/lib/dates.mjs +1 -1
  37. package/lib/dossiers_legislatifs.js +1 -1
  38. package/lib/dossiers_legislatifs.mjs +1 -1
  39. package/lib/file_systems.js +4 -4
  40. package/lib/file_systems.mjs +2 -2
  41. package/lib/git.js +1 -1
  42. package/lib/git.mjs +1 -1
  43. package/lib/loaders.d.ts +21 -0
  44. package/lib/loaders.js +608 -202
  45. package/lib/loaders.mjs +200 -3
  46. package/lib/organes.js +1 -1
  47. package/lib/organes.mjs +1 -1
  48. package/lib/parsers/documents.js +1 -1
  49. package/lib/parsers/documents.mjs +1 -1
  50. package/lib/parsers/recherche_amendements.js +3 -2
  51. package/lib/parsers/recherche_amendements.mjs +1 -1
  52. package/lib/raw_types/acteurs_et_organes.js +1 -1
  53. package/lib/raw_types/acteurs_et_organes.mjs +1 -1
  54. package/lib/raw_types/agendas.js +1 -1
  55. package/lib/raw_types/agendas.mjs +1 -1
  56. package/lib/raw_types/amendements.d.ts +2 -0
  57. package/lib/raw_types/amendements.js +5 -3
  58. package/lib/raw_types/amendements.mjs +5 -3
  59. package/lib/raw_types/debats.d.ts +190 -0
  60. package/lib/raw_types/debats.js +816 -0
  61. package/lib/raw_types/debats.mjs +758 -0
  62. package/lib/raw_types/dossiers_legislatifs.js +11 -2
  63. package/lib/raw_types/dossiers_legislatifs.mjs +1 -1
  64. package/lib/raw_types/questions.d.ts +129 -0
  65. package/lib/raw_types/questions.js +497 -0
  66. package/lib/raw_types/questions.mjs +439 -0
  67. package/lib/raw_types/scrutins.js +1 -1
  68. package/lib/raw_types/scrutins.mjs +1 -1
  69. package/lib/scripts/bugs_helper.js +1 -1
  70. package/lib/scripts/bugs_helper.mjs +1 -1
  71. package/lib/scripts/clean_reorganized_data.js +174 -24
  72. package/lib/scripts/clean_reorganized_data.mjs +127 -13
  73. package/lib/scripts/diff_amendements.js +1 -1
  74. package/lib/scripts/diff_amendements.mjs +1 -1
  75. package/lib/scripts/document_dossiers_legislatifs.js +1 -1
  76. package/lib/scripts/document_dossiers_legislatifs.mjs +1 -1
  77. package/lib/scripts/get_today_reunions.js +1 -1
  78. package/lib/scripts/get_today_reunions.mjs +1 -1
  79. package/lib/scripts/merge_scrutins.js +1 -1
  80. package/lib/scripts/merge_scrutins.mjs +1 -1
  81. package/lib/scripts/parse_textes_lois.js +4 -3
  82. package/lib/scripts/parse_textes_lois.mjs +1 -1
  83. package/lib/scripts/raw_types_from_amendements.js +1 -1
  84. package/lib/scripts/raw_types_from_amendements.mjs +1 -1
  85. package/lib/scripts/reorganize_data.js +189 -7
  86. package/lib/scripts/reorganize_data.mjs +136 -8
  87. package/lib/scripts/retrieve_deputes_photos.js +7 -1
  88. package/lib/scripts/retrieve_deputes_photos.mjs +7 -1
  89. package/lib/scripts/retrieve_documents.js +1 -1
  90. package/lib/scripts/retrieve_documents.mjs +1 -1
  91. package/lib/scripts/retrieve_open_data.js +105 -37
  92. package/lib/scripts/retrieve_open_data.mjs +34 -2
  93. package/lib/scripts/retrieve_pending_amendments.js +7 -1
  94. package/lib/scripts/retrieve_pending_amendments.mjs +7 -1
  95. package/lib/scripts/retrieve_senateurs_photos.js +10 -2
  96. package/lib/scripts/retrieve_senateurs_photos.mjs +7 -1
  97. package/lib/scripts/retrieve_textes_lois.js +1 -1
  98. package/lib/scripts/retrieve_textes_lois.mjs +1 -1
  99. package/lib/scripts/test_load.js +1 -1
  100. package/lib/scripts/test_load.mjs +1 -1
  101. package/lib/scripts/test_load_big_files.js +1 -1
  102. package/lib/scripts/test_load_big_files.mjs +1 -1
  103. package/lib/scripts/validate_json.js +1 -1
  104. package/lib/scripts/validate_json.mjs +1 -1
  105. package/lib/strings.js +1 -1
  106. package/lib/strings.mjs +1 -1
  107. package/lib/types/acteurs_et_organes.js +1 -1
  108. package/lib/types/acteurs_et_organes.mjs +1 -1
  109. package/lib/types/agendas.js +1 -1
  110. package/lib/types/agendas.mjs +1 -1
  111. package/lib/types/amendements.d.ts +2 -0
  112. package/lib/types/amendements.js +5 -3
  113. package/lib/types/amendements.mjs +5 -3
  114. package/lib/types/debats.d.ts +184 -0
  115. package/lib/types/debats.js +805 -0
  116. package/lib/types/debats.mjs +747 -0
  117. package/lib/types/dossiers_legislatifs.js +11 -2
  118. package/lib/types/dossiers_legislatifs.mjs +1 -1
  119. package/lib/types/questions.d.ts +122 -0
  120. package/lib/types/questions.js +482 -0
  121. package/lib/types/questions.mjs +424 -0
  122. package/lib/types/scrutins.js +1 -1
  123. package/lib/types/scrutins.mjs +1 -1
  124. package/lib/urls.js +1 -1
  125. package/lib/urls.mjs +1 -1
  126. package/package.json +14 -6
  127. package/lib/scripts/clean_data.d.ts +0 -1
  128. package/lib/scripts/clean_data.js +0 -309
  129. package/lib/scripts/clean_data.mjs +0 -171
@@ -0,0 +1,805 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ require("core-js/modules/es.symbol.iterator.js");
5
+ require("core-js/modules/es.array.iterator.js");
6
+ require("core-js/modules/es.string.iterator.js");
7
+ require("core-js/modules/web.dom-collections.iterator.js");
8
+ Object.defineProperty(exports, "__esModule", {
9
+ value: true
10
+ });
11
+ exports.Decision = exports.Convert = void 0;
12
+ require("core-js/modules/es.array.concat.js");
13
+ require("core-js/modules/es.array.is-array.js");
14
+ require("core-js/modules/es.array.join.js");
15
+ require("core-js/modules/es.array.map.js");
16
+ require("core-js/modules/es.array.for-each.js");
17
+ require("core-js/modules/es.object.to-string.js");
18
+ require("core-js/modules/web.dom-collections.for-each.js");
19
+ require("core-js/modules/es.array.index-of.js");
20
+ require("core-js/modules/es.date.to-string.js");
21
+ require("core-js/modules/es.object.get-own-property-names.js");
22
+ require("core-js/modules/es.symbol.to-primitive.js");
23
+ require("core-js/modules/es.date.to-primitive.js");
24
+ require("core-js/modules/es.symbol.js");
25
+ require("core-js/modules/es.symbol.description.js");
26
+ require("core-js/modules/es.number.constructor.js");
27
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
28
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
29
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
30
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
31
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
32
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
33
+ // To parse this data:
34
+ //
35
+ // import { Convert, ComptesRendus } from "./file";
36
+ //
37
+ // const compteRendu = Convert.toComptesRendus(json);
38
+ //
39
+ // These functions will throw an error if the JSON doesn't
40
+ // match the expected interface, even if the JSON is valid.
41
+ var Decision = /*#__PURE__*/function (Decision) {
42
+ Decision["AdoptionAmendementMainLev\xE9eAdt"] = "ADOPTION amendement (main lev\xE9e) adt";
43
+ Decision["AdoptionDUnArticleVote\xC0MainLev\xE9e"] = "ADOPTION d\u2019un article (vote \xE0 main lev\xE9e)";
44
+ Decision["AdoptionDUnSousAmendementMainLev\xE9eSsAdt"] = "ADOPTION d\u2019un sous-amendement (main lev\xE9e) ss-adt";
45
+ Decision["AdoptionDePlusieursAmendementsMainLev\xE9eAdts"] = "ADOPTION de plusieurs amendements (main lev\xE9e) adts";
46
+ Decision["AdoptionDePlusieursSousAmendementsMainLev\xE9eSsAdts"] = "ADOPTION de plusieurs sous-amendements (main lev\xE9e) ss-adts";
47
+ Decision["Empty"] = "";
48
+ Decision["RejetDUnAmendementMainLev\xE9eAdt"] = "REJET d\u2019un amendement (main lev\xE9e) adt";
49
+ Decision["RejetDUnArticleVote\xC0MainLev\xE9e"] = "REJET d\u2019un article (vote \xE0 main lev\xE9e)";
50
+ Decision["RejetDUnSousAmendementMainLev\xE9eSsAdt"] = "REJET d\u2019un sous-amendement (main lev\xE9e) ss-adt";
51
+ Decision["RejetDePlusieursAmendementsMainLev\xE9eAdts"] = "REJET de plusieurs amendements (main lev\xE9e) adts";
52
+ Decision["RejetDePlusieursSousAmendementsMainLev\xE9eSsAdts"] = "REJET de plusieurs sous-amendements (main lev\xE9e) ss-adts";
53
+ Decision["RejetMotionDeRejetPr\xE9alableMainLev\xE9e"] = "REJET motion de rejet pr\xE9alable (main lev\xE9e)";
54
+ return Decision;
55
+ }({});
56
+ exports.Decision = Decision;
57
+ // Converts JSON strings to/from your types
58
+ // and asserts the results of JSON.parse at runtime
59
+ var Convert = /*#__PURE__*/function () {
60
+ function Convert() {
61
+ _classCallCheck(this, Convert);
62
+ }
63
+ _createClass(Convert, null, [{
64
+ key: "toComptesRendus",
65
+ value: function toComptesRendus(json) {
66
+ return cast(JSON.parse(json), r("ComptesRendus"));
67
+ }
68
+ }, {
69
+ key: "comptesRendusToJson",
70
+ value: function comptesRendusToJson(value) {
71
+ return JSON.stringify(uncast(value, r("ComptesRendus")), null, 2);
72
+ }
73
+ }, {
74
+ key: "toCompteRendu",
75
+ value: function toCompteRendu(json) {
76
+ return cast(JSON.parse(json), r("CompteRendu"));
77
+ }
78
+ }, {
79
+ key: "compteRenduToJson",
80
+ value: function compteRenduToJson(value) {
81
+ return JSON.stringify(uncast(value, r("CompteRendu")), null, 2);
82
+ }
83
+ }]);
84
+ return Convert;
85
+ }();
86
+ exports.Convert = Convert;
87
+ function invalidValue(typ, val, key) {
88
+ var parent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
89
+ var prettyTyp = prettyTypeName(typ);
90
+ var parentText = parent ? " on ".concat(parent) : "";
91
+ var keyText = key ? " for key \"".concat(key, "\"") : "";
92
+ throw Error("Invalid value".concat(keyText).concat(parentText, ". Expected ").concat(prettyTyp, " but got ").concat(JSON.stringify(val)));
93
+ }
94
+ function prettyTypeName(typ) {
95
+ if (Array.isArray(typ)) {
96
+ if (typ.length === 2 && typ[0] === undefined) {
97
+ return "an optional ".concat(prettyTypeName(typ[1]));
98
+ } else {
99
+ return "one of [".concat(typ.map(function (a) {
100
+ return prettyTypeName(a);
101
+ }).join(", "), "]");
102
+ }
103
+ } else if (_typeof(typ) === "object" && typ.literal !== undefined) {
104
+ return typ.literal;
105
+ } else {
106
+ return _typeof(typ);
107
+ }
108
+ }
109
+ function jsonToJSProps(typ) {
110
+ if (typ.jsonToJS === undefined) {
111
+ var map = {};
112
+ typ.props.forEach(function (p) {
113
+ return map[p.json] = {
114
+ key: p.js,
115
+ typ: p.typ
116
+ };
117
+ });
118
+ typ.jsonToJS = map;
119
+ }
120
+ return typ.jsonToJS;
121
+ }
122
+ function jsToJSONProps(typ) {
123
+ if (typ.jsToJSON === undefined) {
124
+ var map = {};
125
+ typ.props.forEach(function (p) {
126
+ return map[p.js] = {
127
+ key: p.json,
128
+ typ: p.typ
129
+ };
130
+ });
131
+ typ.jsToJSON = map;
132
+ }
133
+ return typ.jsToJSON;
134
+ }
135
+ function transform(val, typ, getProps) {
136
+ var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
137
+ var parent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "";
138
+ function transformPrimitive(typ, val) {
139
+ if (_typeof(typ) === _typeof(val)) return val;
140
+ return invalidValue(typ, val, key, parent);
141
+ }
142
+ function transformUnion(typs, val) {
143
+ // val must validate against one typ in typs
144
+ var l = typs.length;
145
+ for (var i = 0; i < l; i++) {
146
+ var _typ = typs[i];
147
+ try {
148
+ return transform(val, _typ, getProps);
149
+ } catch (_) {}
150
+ }
151
+ return invalidValue(typs, val, key, parent);
152
+ }
153
+ function transformEnum(cases, val) {
154
+ if (cases.indexOf(val) !== -1) return val;
155
+ return invalidValue(cases.map(function (a) {
156
+ return l(a);
157
+ }), val, key, parent);
158
+ }
159
+ function transformArray(typ, val) {
160
+ // val must be an array with no invalid elements
161
+ if (!Array.isArray(val)) return invalidValue(l("array"), val, key, parent);
162
+ return val.map(function (el) {
163
+ return transform(el, typ, getProps);
164
+ });
165
+ }
166
+ function transformDate(val) {
167
+ if (val === null) {
168
+ return null;
169
+ }
170
+ var d = new Date(val);
171
+ if (isNaN(d.valueOf())) {
172
+ return invalidValue(l("Date"), val, key, parent);
173
+ }
174
+ return d;
175
+ }
176
+ function transformObject(props, additional, val) {
177
+ if (val === null || _typeof(val) !== "object" || Array.isArray(val)) {
178
+ return invalidValue(l(ref || "object"), val, key, parent);
179
+ }
180
+ var result = {};
181
+ Object.getOwnPropertyNames(props).forEach(function (key) {
182
+ var prop = props[key];
183
+ var v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
184
+ result[prop.key] = transform(v, prop.typ, getProps, key, ref);
185
+ });
186
+ Object.getOwnPropertyNames(val).forEach(function (key) {
187
+ if (!Object.prototype.hasOwnProperty.call(props, key)) {
188
+ result[key] = transform(val[key], additional, getProps, key, ref);
189
+ }
190
+ });
191
+ return result;
192
+ }
193
+ if (typ === "any") return val;
194
+ if (typ === null) {
195
+ if (val === null) return val;
196
+ return invalidValue(typ, val, key, parent);
197
+ }
198
+ if (typ === false) return invalidValue(typ, val, key, parent);
199
+ var ref = undefined;
200
+ while (_typeof(typ) === "object" && typ.ref !== undefined) {
201
+ ref = typ.ref;
202
+ typ = typeMap[typ.ref];
203
+ }
204
+ if (Array.isArray(typ)) return transformEnum(typ, val);
205
+ if (_typeof(typ) === "object") {
206
+ 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, key, parent);
207
+ }
208
+ // Numbers can be parsed by Date but shouldn't be.
209
+ if (typ === Date && typeof val !== "number") return transformDate(val);
210
+ return transformPrimitive(typ, val);
211
+ }
212
+ function cast(val, typ) {
213
+ return transform(val, typ, jsonToJSProps);
214
+ }
215
+ function uncast(val, typ) {
216
+ return transform(val, typ, jsToJSONProps);
217
+ }
218
+ function l(typ) {
219
+ return {
220
+ literal: typ
221
+ };
222
+ }
223
+ function a(typ) {
224
+ return {
225
+ arrayItems: typ
226
+ };
227
+ }
228
+ function u() {
229
+ for (var _len = arguments.length, typs = new Array(_len), _key = 0; _key < _len; _key++) {
230
+ typs[_key] = arguments[_key];
231
+ }
232
+ return {
233
+ unionMembers: typs
234
+ };
235
+ }
236
+ function o(props, additional) {
237
+ return {
238
+ props: props,
239
+ additional: additional
240
+ };
241
+ }
242
+
243
+ // function m(additional: any) {
244
+ // return { props: [], additional };
245
+ // }
246
+
247
+ function r(name) {
248
+ return {
249
+ ref: name
250
+ };
251
+ }
252
+ var typeMap = {
253
+ ComptesRendus: o([{
254
+ json: "comptesRendus",
255
+ js: "comptesRendus",
256
+ typ: a(r("CompteRendu"))
257
+ }], false),
258
+ CompteRendu: o([{
259
+ json: "schemaVersion",
260
+ js: "schemaVersion",
261
+ typ: u(undefined, "")
262
+ }, {
263
+ json: "uid",
264
+ js: "uid",
265
+ typ: u(undefined, "")
266
+ }, {
267
+ json: "seanceRef",
268
+ js: "seanceRef",
269
+ typ: ""
270
+ }, {
271
+ json: "sessionRef",
272
+ js: "sessionRef",
273
+ typ: ""
274
+ }, {
275
+ json: "metadonnees",
276
+ js: "metadonnees",
277
+ typ: r("Metadonnees")
278
+ }, {
279
+ json: "contenu",
280
+ js: "contenu",
281
+ typ: r("Contenu")
282
+ }], false),
283
+ Contenu: o([{
284
+ json: "quantiemes",
285
+ js: "quantiemes",
286
+ typ: r("Quantiemes")
287
+ }, {
288
+ json: "ouvertureSeance",
289
+ js: "ouvertureSeance",
290
+ typ: r("OuvertureSeance")
291
+ }, {
292
+ json: "point",
293
+ js: "point",
294
+ typ: u(a(r("Point")), r("Point"))
295
+ }, {
296
+ json: "finSeance",
297
+ js: "finSeance",
298
+ typ: u(undefined, r("FinSeance"))
299
+ }, {
300
+ json: "paragraphe",
301
+ js: "paragraphe",
302
+ typ: u(undefined, a(r("Point")))
303
+ }], false),
304
+ FinSeance: o([{
305
+ json: "point",
306
+ js: "point",
307
+ typ: r("FinSeancePoint")
308
+ }], false),
309
+ FinSeancePoint: o([{
310
+ json: "nivpoint",
311
+ js: "nivpoint",
312
+ typ: ""
313
+ }, {
314
+ json: "valeur_ptsodj",
315
+ js: "valeur_ptsodj",
316
+ typ: ""
317
+ }, {
318
+ json: "ordinal_prise",
319
+ js: "ordinal_prise",
320
+ typ: ""
321
+ }, {
322
+ json: "id_preparation",
323
+ js: "id_preparation",
324
+ typ: ""
325
+ }, {
326
+ json: "ordre_absolu_seance",
327
+ js: "ordre_absolu_seance",
328
+ typ: ""
329
+ }, {
330
+ json: "code_grammaire",
331
+ js: "code_grammaire",
332
+ typ: ""
333
+ }, {
334
+ json: "code_style",
335
+ js: "code_style",
336
+ typ: ""
337
+ }, {
338
+ json: "code_parole",
339
+ js: "code_parole",
340
+ typ: ""
341
+ }, {
342
+ json: "sommaire",
343
+ js: "sommaire",
344
+ typ: ""
345
+ }, {
346
+ json: "id_syceron",
347
+ js: "id_syceron",
348
+ typ: ""
349
+ }, {
350
+ json: "valeur",
351
+ js: "valeur",
352
+ typ: ""
353
+ }, {
354
+ json: "orateurs",
355
+ js: "orateurs",
356
+ typ: ""
357
+ }, {
358
+ json: "texte",
359
+ js: "texte",
360
+ typ: ""
361
+ }, {
362
+ json: "paragraphe",
363
+ js: "paragraphe",
364
+ typ: a(r("Point"))
365
+ }, {
366
+ json: "type_debat",
367
+ js: "type_debat",
368
+ typ: u(undefined, "")
369
+ }], false),
370
+ Orateurs: o([{
371
+ json: "orateur",
372
+ js: "orateur",
373
+ typ: u(a(r("OrateurElement")), r("OrateurElement"))
374
+ }], false),
375
+ OrateurElement: o([{
376
+ json: "nom",
377
+ js: "nom",
378
+ typ: u(undefined, "")
379
+ }, {
380
+ json: "id",
381
+ js: "id",
382
+ typ: u(undefined, "")
383
+ }, {
384
+ json: "qualite",
385
+ js: "qualite",
386
+ typ: u(undefined, "")
387
+ }], false),
388
+ Texte: o([{
389
+ json: "_",
390
+ js: "_",
391
+ typ: u(undefined, "")
392
+ }, {
393
+ json: "stime",
394
+ js: "stime",
395
+ typ: u(undefined, "")
396
+ }, {
397
+ json: "indice",
398
+ js: "indice",
399
+ typ: u(undefined, u(a(""), ""))
400
+ }], false),
401
+ OuvertureSeance: o([{
402
+ json: "nivpoint",
403
+ js: "nivpoint",
404
+ typ: u(undefined, "")
405
+ }, {
406
+ json: "valeur_ptsodj",
407
+ js: "valeur_ptsodj",
408
+ typ: ""
409
+ }, {
410
+ json: "ordinal_prise",
411
+ js: "ordinal_prise",
412
+ typ: ""
413
+ }, {
414
+ json: "id_preparation",
415
+ js: "id_preparation",
416
+ typ: ""
417
+ }, {
418
+ json: "ordre_absolu_seance",
419
+ js: "ordre_absolu_seance",
420
+ typ: ""
421
+ }, {
422
+ json: "id_acteur",
423
+ js: "id_acteur",
424
+ typ: ""
425
+ }, {
426
+ json: "id_mandat",
427
+ js: "id_mandat",
428
+ typ: ""
429
+ }, {
430
+ json: "id_nomination_oe",
431
+ js: "id_nomination_oe",
432
+ typ: ""
433
+ }, {
434
+ json: "id_nomination_op",
435
+ js: "id_nomination_op",
436
+ typ: ""
437
+ }, {
438
+ json: "code_grammaire",
439
+ js: "code_grammaire",
440
+ typ: ""
441
+ }, {
442
+ json: "code_style",
443
+ js: "code_style",
444
+ typ: ""
445
+ }, {
446
+ json: "code_parole",
447
+ js: "code_parole",
448
+ typ: ""
449
+ }, {
450
+ json: "sommaire",
451
+ js: "sommaire",
452
+ typ: ""
453
+ }, {
454
+ json: "id_syceron",
455
+ js: "id_syceron",
456
+ typ: ""
457
+ }, {
458
+ json: "valeur",
459
+ js: "valeur",
460
+ typ: ""
461
+ }, {
462
+ json: "orateurs",
463
+ js: "orateurs",
464
+ typ: u(r("Orateurs"), "")
465
+ }, {
466
+ json: "texte",
467
+ js: "texte",
468
+ typ: u(r("Texte"), "")
469
+ }, {
470
+ json: "paragraphe",
471
+ js: "paragraphe",
472
+ typ: u(undefined, a(r("Point")))
473
+ }, {
474
+ json: "interExtraction",
475
+ js: "interExtraction",
476
+ typ: u(undefined, r("InterExtraction"))
477
+ }, {
478
+ json: "point",
479
+ js: "point",
480
+ typ: u(undefined, r("Point"))
481
+ }], false),
482
+ InterExtraction: o([{
483
+ json: "nom_orateur",
484
+ js: "nom_orateur",
485
+ typ: u(undefined, "")
486
+ }, {
487
+ json: "qualite",
488
+ js: "nom_orateur",
489
+ typ: u(undefined, "")
490
+ }, {
491
+ json: "id_acteur",
492
+ js: "id_acteur",
493
+ typ: ""
494
+ }, {
495
+ json: "id_nomination_oe",
496
+ js: "id_nomination_oe",
497
+ typ: ""
498
+ }, {
499
+ json: "id_nomination_op",
500
+ js: "id_nomination_op",
501
+ typ: ""
502
+ }, {
503
+ json: "id_mandat",
504
+ js: "id_mandat",
505
+ typ: ""
506
+ }, {
507
+ json: "paragraphe",
508
+ js: "paragraphe",
509
+ typ: u(a(r("Point")), r("Point"))
510
+ }, {
511
+ json: "changementPresidence",
512
+ js: "changementPresidence",
513
+ typ: u(undefined, r("Point"))
514
+ }], false),
515
+ Point: o([{
516
+ json: "nivpoint",
517
+ js: "nivpoint",
518
+ typ: u(undefined, "")
519
+ }, {
520
+ json: "valeur_ptsodj",
521
+ js: "valeur_ptsodj",
522
+ typ: ""
523
+ }, {
524
+ json: "ordinal_prise",
525
+ js: "ordinal_prise",
526
+ typ: ""
527
+ }, {
528
+ json: "id_preparation",
529
+ js: "id_preparation",
530
+ typ: ""
531
+ }, {
532
+ json: "ordre_absolu_seance",
533
+ js: "ordre_absolu_seance",
534
+ typ: ""
535
+ }, {
536
+ json: "code_grammaire",
537
+ js: "code_grammaire",
538
+ typ: ""
539
+ }, {
540
+ json: "code_style",
541
+ js: "code_style",
542
+ typ: u(undefined, "")
543
+ }, {
544
+ json: "code_parole",
545
+ js: "code_parole",
546
+ typ: ""
547
+ }, {
548
+ json: "sommaire",
549
+ js: "sommaire",
550
+ typ: ""
551
+ }, {
552
+ json: "id_syceron",
553
+ js: "id_syceron",
554
+ typ: ""
555
+ }, {
556
+ json: "valeur",
557
+ js: "valeur",
558
+ typ: ""
559
+ }, {
560
+ json: "orateurs",
561
+ js: "orateurs",
562
+ typ: u(r("Orateurs"), "", undefined)
563
+ }, {
564
+ json: "texte",
565
+ js: "texte",
566
+ typ: u(r("Texte"), "", undefined)
567
+ }, {
568
+ json: "paragraphe",
569
+ js: "paragraphe",
570
+ typ: u(undefined, u(a(r("Point")), r("Point")))
571
+ }, {
572
+ json: "interExtraction",
573
+ js: "interExtraction",
574
+ typ: u(undefined, a(r("InterExtraction")), r("InterExtraction"))
575
+ }, {
576
+ json: "point",
577
+ js: "point",
578
+ typ: u(undefined, u(a(r("Point")), r("Point")))
579
+ }, {
580
+ json: "structure",
581
+ js: "structure",
582
+ typ: u(undefined, "")
583
+ }, {
584
+ json: "id_acteur",
585
+ js: "id_acteur",
586
+ typ: u(undefined, "")
587
+ }, {
588
+ json: "id_mandat",
589
+ js: "id_mandat",
590
+ typ: u(undefined, "")
591
+ }, {
592
+ json: "id_nomination_oe",
593
+ js: "id_nomination_oe",
594
+ typ: u(undefined, "")
595
+ }, {
596
+ json: "id_nomination_op",
597
+ js: "id_nomination_op",
598
+ typ: u(undefined, "")
599
+ }, {
600
+ json: "orateur",
601
+ js: "orateur",
602
+ typ: u(undefined, "")
603
+ }, {
604
+ json: "bibard",
605
+ js: "bibard",
606
+ typ: u(undefined, "")
607
+ }, {
608
+ json: "art",
609
+ js: "art",
610
+ typ: u(undefined, "")
611
+ }, {
612
+ json: "adt",
613
+ js: "adt",
614
+ typ: u(undefined, "")
615
+ }, {
616
+ json: "ssadt",
617
+ js: "ssadt",
618
+ typ: u(undefined, "")
619
+ }, {
620
+ json: "roledebat",
621
+ js: "roledebat",
622
+ typ: u(undefined, "")
623
+ }, {
624
+ json: "type_debat",
625
+ js: "type_debat",
626
+ typ: u(undefined, "")
627
+ }, {
628
+ json: "changementPresidence",
629
+ js: "changementPresidence",
630
+ typ: u(undefined, r("Point"))
631
+ }, {
632
+ json: "decision",
633
+ js: "decision",
634
+ typ: u(undefined, r("Decision"))
635
+ }], false),
636
+ Quantiemes: o([{
637
+ json: "journee",
638
+ js: "journee",
639
+ typ: ""
640
+ }, {
641
+ json: "session",
642
+ js: "session",
643
+ typ: ""
644
+ }], false),
645
+ Metadonnees: o([{
646
+ json: "dateSeance",
647
+ js: "dateSeance",
648
+ typ: ""
649
+ }, {
650
+ json: "dateSeanceJour",
651
+ js: "dateSeanceJour",
652
+ typ: ""
653
+ }, {
654
+ json: "numSeanceJour",
655
+ js: "numSeanceJour",
656
+ typ: ""
657
+ }, {
658
+ json: "numSeance",
659
+ js: "numSeance",
660
+ typ: ""
661
+ }, {
662
+ json: "typeAssemblee",
663
+ js: "typeAssemblee",
664
+ typ: ""
665
+ }, {
666
+ json: "legislature",
667
+ js: "legislature",
668
+ typ: ""
669
+ }, {
670
+ json: "session",
671
+ js: "session",
672
+ typ: ""
673
+ }, {
674
+ json: "nomFichierJo",
675
+ js: "nomFichierJo",
676
+ typ: ""
677
+ }, {
678
+ json: "validite",
679
+ js: "validite",
680
+ typ: ""
681
+ }, {
682
+ json: "etat",
683
+ js: "etat",
684
+ typ: ""
685
+ }, {
686
+ json: "diffusion",
687
+ js: "diffusion",
688
+ typ: ""
689
+ }, {
690
+ json: "version",
691
+ js: "version",
692
+ typ: ""
693
+ }, {
694
+ json: "environnement",
695
+ js: "environnement",
696
+ typ: ""
697
+ }, {
698
+ json: "heureGeneration",
699
+ js: "heureGeneration",
700
+ typ: Date
701
+ }, {
702
+ json: "sommaire",
703
+ js: "sommaire",
704
+ typ: r("Sommaire")
705
+ }], false),
706
+ Sommaire: o([{
707
+ json: "presidentSeance",
708
+ js: "presidentSeance",
709
+ typ: r("Para")
710
+ }, {
711
+ json: "sommaire1",
712
+ js: "sommaire1",
713
+ typ: u(a(r("SommaireElement")), r("SommaireElement"))
714
+ }, {
715
+ json: "sommaire3",
716
+ js: "sommaire3",
717
+ typ: u(undefined, u(a(r("SommaireElement")), r("SommaireElement")))
718
+ }, {
719
+ json: "sommaire2",
720
+ js: "sommaire2",
721
+ typ: u(undefined, u(a(r("SommaireElement")), r("SommaireElement")))
722
+ }, {
723
+ json: "para",
724
+ js: "para",
725
+ typ: u(undefined, r("Para"))
726
+ }], false),
727
+ SommaireElement: o([{
728
+ json: "valeur_pts_odj",
729
+ js: "valeur_pts_odj",
730
+ typ: u(undefined, "")
731
+ }, {
732
+ json: "titreStruct",
733
+ js: "titreStruct",
734
+ typ: u(undefined, r("TitreStruct"))
735
+ }, {
736
+ json: "para",
737
+ js: "para",
738
+ typ: u(undefined, u(a(u(r("Para"), "")), r("Para")))
739
+ }, {
740
+ json: "sommaire2",
741
+ js: "sommaire2",
742
+ typ: u(undefined, u(a(r("SommaireElement")), r("SommaireElement")))
743
+ }, {
744
+ json: "sommaire3",
745
+ js: "sommaire3",
746
+ typ: u(undefined, u(a(r("SommaireElement")), r("SommaireElement")))
747
+ }, {
748
+ json: "presidentSeance",
749
+ js: "presidentSeance",
750
+ typ: u(undefined, u(a(r("Para")), r("Para")))
751
+ }, {
752
+ json: "type_debat",
753
+ js: "type_debat",
754
+ typ: u(undefined, "")
755
+ }], false),
756
+ Para: o([{
757
+ json: "_",
758
+ js: "_",
759
+ typ: u(undefined, "")
760
+ }, {
761
+ json: "id_syceron",
762
+ js: "id_syceron",
763
+ typ: u(undefined, "")
764
+ }, {
765
+ json: "sup",
766
+ js: "sup",
767
+ typ: u(undefined, "")
768
+ }, {
769
+ json: "lienAdt",
770
+ js: "lienAdt",
771
+ typ: u(undefined, u(a(r("Para")), r("Para")))
772
+ }], false),
773
+ Test: o([{
774
+ json: "_",
775
+ js: "_",
776
+ typ: u(undefined, "")
777
+ }, {
778
+ json: "id_syceron",
779
+ js: "id_syceron",
780
+ typ: u(undefined, "")
781
+ }, {
782
+ json: "sup",
783
+ js: "sup",
784
+ typ: u(undefined, "")
785
+ }], false),
786
+ TitreStruct: o([{
787
+ json: "id_syceron",
788
+ js: "id_syceron",
789
+ typ: ""
790
+ }, {
791
+ json: "intitule",
792
+ js: "intitule",
793
+ typ: u(r("Texte"), "")
794
+ }, {
795
+ json: "sousIntitule",
796
+ js: "sousIntitule",
797
+ typ: u(undefined, "")
798
+ }, {
799
+ json: "type_debat",
800
+ js: "type_debat",
801
+ typ: u(undefined, "")
802
+ }], false),
803
+ Decision: ["ADOPTION amendement (main levée) adt", "ADOPTION d’un article (vote à main levée)", "ADOPTION d’un sous-amendement (main levée) ss-adt", "ADOPTION de plusieurs amendements (main levée) adts", "ADOPTION de plusieurs sous-amendements (main levée) ss-adts", "", "REJET d’un amendement (main levée) adt", "REJET d’un article (vote à main levée)", "REJET d’un sous-amendement (main levée) ss-adt", "REJET de plusieurs amendements (main levée) adts", "REJET de plusieurs sous-amendements (main levée) ss-adts", "REJET motion de rejet préalable (main levée)"]
804
+ };
805
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEZWNpc2lvbiIsImV4cG9ydHMiLCJDb252ZXJ0IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJ0b0NvbXB0ZXNSZW5kdXMiLCJqc29uIiwiY2FzdCIsIkpTT04iLCJwYXJzZSIsInIiLCJjb21wdGVzUmVuZHVzVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9Db21wdGVSZW5kdSIsImNvbXB0ZVJlbmR1VG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwicGFyZW50IiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwicHJldHR5VHlwIiwicHJldHR5VHlwZU5hbWUiLCJwYXJlbnRUZXh0IiwiY29uY2F0Iiwia2V5VGV4dCIsIkVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiYSIsImpvaW4iLCJfdHlwZW9mIiwibGl0ZXJhbCIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwidHJhbnNmb3JtVW5pb24iLCJ0eXBzIiwibCIsImkiLCJfIiwidHJhbnNmb3JtRW51bSIsImNhc2VzIiwiaW5kZXhPZiIsInRyYW5zZm9ybUFycmF5IiwiZWwiLCJ0cmFuc2Zvcm1EYXRlIiwiZCIsIkRhdGUiLCJpc05hTiIsInZhbHVlT2YiLCJ0cmFuc2Zvcm1PYmplY3QiLCJhZGRpdGlvbmFsIiwicmVmIiwicmVzdWx0IiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3AiLCJ2IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwidHlwZU1hcCIsInVuaW9uTWVtYmVycyIsImFycmF5SXRlbXMiLCJ1IiwiX2xlbiIsIl9rZXkiLCJvIiwibmFtZSIsIkNvbXB0ZXNSZW5kdXMiLCJDb21wdGVSZW5kdSIsIkNvbnRlbnUiLCJGaW5TZWFuY2UiLCJGaW5TZWFuY2VQb2ludCIsIk9yYXRldXJzIiwiT3JhdGV1ckVsZW1lbnQiLCJUZXh0ZSIsIk91dmVydHVyZVNlYW5jZSIsIkludGVyRXh0cmFjdGlvbiIsIlBvaW50IiwiUXVhbnRpZW1lcyIsIk1ldGFkb25uZWVzIiwiU29tbWFpcmUiLCJTb21tYWlyZUVsZW1lbnQiLCJQYXJhIiwiVGVzdCIsIlRpdHJlU3RydWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2RlYmF0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUbyBwYXJzZSB0aGlzIGRhdGE6XG4vL1xuLy8gICBpbXBvcnQgeyBDb252ZXJ0LCBDb21wdGVzUmVuZHVzIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3QgY29tcHRlUmVuZHUgPSBDb252ZXJ0LnRvQ29tcHRlc1JlbmR1cyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5leHBvcnQgaW50ZXJmYWNlIENvbXB0ZXNSZW5kdXMge1xuICBjb21wdGVzUmVuZHVzOiBDb21wdGVSZW5kdVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHRlUmVuZHUge1xuICBzY2hlbWFWZXJzaW9uPzogc3RyaW5nXG4gIHVpZDogc3RyaW5nXG4gIHNlYW5jZVJlZjogc3RyaW5nXG4gIHNlc3Npb25SZWY6IHN0cmluZ1xuICBtZXRhZG9ubmVlczogTWV0YWRvbm5lZXNcbiAgY29udGVudTogQ29udGVudVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnUge1xuICBxdWFudGllbWVzOiBRdWFudGllbWVzXG4gIG91dmVydHVyZVNlYW5jZTogT3V2ZXJ0dXJlU2VhbmNlXG4gIHBvaW50OiBQb2ludFtdIHwgUG9pbnRcbiAgZmluU2VhbmNlPzogRmluU2VhbmNlXG4gIHBhcmFncmFwaGU/OiBQb2ludFtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmluU2VhbmNlIHtcbiAgcG9pbnQ6IEZpblNlYW5jZVBvaW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmluU2VhbmNlUG9pbnQge1xuICBuaXZwb2ludDogc3RyaW5nXG4gIHZhbGV1cl9wdHNvZGo6IHN0cmluZ1xuICBvcmRpbmFsX3ByaXNlOiBzdHJpbmdcbiAgaWRfcHJlcGFyYXRpb246IHN0cmluZ1xuICBvcmRyZV9hYnNvbHVfc2VhbmNlOiBzdHJpbmdcbiAgY29kZV9ncmFtbWFpcmU6IHN0cmluZ1xuICBjb2RlX3N0eWxlOiBzdHJpbmdcbiAgY29kZV9wYXJvbGU6IHN0cmluZ1xuICBzb21tYWlyZTogc3RyaW5nXG4gIGlkX3N5Y2Vyb246IHN0cmluZ1xuICB2YWxldXI6IHN0cmluZ1xuICBvcmF0ZXVyczogc3RyaW5nXG4gIHRleHRlOiBzdHJpbmdcbiAgcGFyYWdyYXBoZTogUG9pbnRbXVxuICB0eXBlX2RlYmF0Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JhdGV1cnMge1xuICBvcmF0ZXVyOiBPcmF0ZXVyRWxlbWVudFtdIHwgT3JhdGV1ckVsZW1lbnRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmF0ZXVyRWxlbWVudCB7XG4gIG5vbTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIGlkOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcXVhbGl0ZTogc3RyaW5nIHwgdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dGUge1xuICBfPzogc3RyaW5nXG4gIHN0aW1lPzogc3RyaW5nXG4gIGluZGljZT86IHN0cmluZ1tdIHwgc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V2ZXJ0dXJlU2VhbmNlIHtcbiAgbml2cG9pbnQ/OiBzdHJpbmdcbiAgdmFsZXVyX3B0c29kajogc3RyaW5nXG4gIG9yZGluYWxfcHJpc2U6IHN0cmluZ1xuICBpZF9wcmVwYXJhdGlvbjogc3RyaW5nXG4gIG9yZHJlX2Fic29sdV9zZWFuY2U6IHN0cmluZ1xuICBpZF9hY3RldXI6IHN0cmluZ1xuICBpZF9tYW5kYXQ6IHN0cmluZ1xuICBpZF9ub21pbmF0aW9uX29lOiBzdHJpbmdcbiAgaWRfbm9taW5hdGlvbl9vcDogc3RyaW5nXG4gIGNvZGVfZ3JhbW1haXJlOiBzdHJpbmdcbiAgY29kZV9zdHlsZTogc3RyaW5nXG4gIGNvZGVfcGFyb2xlOiBzdHJpbmdcbiAgc29tbWFpcmU6IHN0cmluZ1xuICBpZF9zeWNlcm9uOiBzdHJpbmdcbiAgdmFsZXVyOiBzdHJpbmdcbiAgb3JhdGV1cnM6IE9yYXRldXJzIHwgc3RyaW5nXG4gIHRleHRlOiBUZXh0ZSB8IHN0cmluZ1xuICBwYXJhZ3JhcGhlPzogUG9pbnRbXVxuICBpbnRlckV4dHJhY3Rpb24/OiBJbnRlckV4dHJhY3Rpb25cbiAgcG9pbnQ/OiBQb2ludFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyRXh0cmFjdGlvbiB7XG4gIG5vbV9vcmF0ZXVyOiBzdHJpbmdcbiAgcXVhbGl0ZTogc3RyaW5nXG4gIGlkX2FjdGV1cjogc3RyaW5nXG4gIGlkX25vbWluYXRpb25fb2U6IHN0cmluZ1xuICBpZF9ub21pbmF0aW9uX29wOiBzdHJpbmdcbiAgaWRfbWFuZGF0OiBzdHJpbmdcbiAgcGFyYWdyYXBoZTogUG9pbnRbXSB8IFBvaW50XG4gIGNoYW5nZW1lbnRQcmVzaWRlbmNlPzogUG9pbnRcbn1cblxuZXhwb3J0IGVudW0gRGVjaXNpb24ge1xuICBBZG9wdGlvbkFtZW5kZW1lbnRNYWluTGV2w6llQWR0ID0gXCJBRE9QVElPTiBhbWVuZGVtZW50IChtYWluIGxldsOpZSkgYWR0XCIsXG4gIEFkb3B0aW9uRFVuQXJ0aWNsZVZvdGXDgE1haW5MZXbDqWUgPSBcIkFET1BUSU9OIGTigJl1biBhcnRpY2xlICh2b3RlIMOgIG1haW4gbGV2w6llKVwiLFxuICBBZG9wdGlvbkRVblNvdXNBbWVuZGVtZW50TWFpbkxldsOpZVNzQWR0ID0gXCJBRE9QVElPTiBk4oCZdW4gc291cy1hbWVuZGVtZW50IChtYWluIGxldsOpZSkgc3MtYWR0XCIsXG4gIEFkb3B0aW9uRGVQbHVzaWV1cnNBbWVuZGVtZW50c01haW5MZXbDqWVBZHRzID0gXCJBRE9QVElPTiBkZSBwbHVzaWV1cnMgYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBhZHRzXCIsXG4gIEFkb3B0aW9uRGVQbHVzaWV1cnNTb3VzQW1lbmRlbWVudHNNYWluTGV2w6llU3NBZHRzID0gXCJBRE9QVElPTiBkZSBwbHVzaWV1cnMgc291cy1hbWVuZGVtZW50cyAobWFpbiBsZXbDqWUpIHNzLWFkdHNcIixcbiAgRW1wdHkgPSBcIlwiLFxuICBSZWpldERVbkFtZW5kZW1lbnRNYWluTGV2w6llQWR0ID0gXCJSRUpFVCBk4oCZdW4gYW1lbmRlbWVudCAobWFpbiBsZXbDqWUpIGFkdFwiLFxuICBSZWpldERVbkFydGljbGVWb3Rlw4BNYWluTGV2w6llID0gXCJSRUpFVCBk4oCZdW4gYXJ0aWNsZSAodm90ZSDDoCBtYWluIGxldsOpZSlcIixcbiAgUmVqZXREVW5Tb3VzQW1lbmRlbWVudE1haW5MZXbDqWVTc0FkdCA9IFwiUkVKRVQgZOKAmXVuIHNvdXMtYW1lbmRlbWVudCAobWFpbiBsZXbDqWUpIHNzLWFkdFwiLFxuICBSZWpldERlUGx1c2lldXJzQW1lbmRlbWVudHNNYWluTGV2w6llQWR0cyA9IFwiUkVKRVQgZGUgcGx1c2lldXJzIGFtZW5kZW1lbnRzIChtYWluIGxldsOpZSkgYWR0c1wiLFxuICBSZWpldERlUGx1c2lldXJzU291c0FtZW5kZW1lbnRzTWFpbkxldsOpZVNzQWR0cyA9IFwiUkVKRVQgZGUgcGx1c2lldXJzIHNvdXMtYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBzcy1hZHRzXCIsXG4gIFJlamV0TW90aW9uRGVSZWpldFByw6lhbGFibGVNYWluTGV2w6llID0gXCJSRUpFVCBtb3Rpb24gZGUgcmVqZXQgcHLDqWFsYWJsZSAobWFpbiBsZXbDqWUpXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnQge1xuICBuaXZwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIHZhbGV1cl9wdHNvZGo6IHN0cmluZ1xuICBvcmRpbmFsX3ByaXNlOiBzdHJpbmdcbiAgaWRfcHJlcGFyYXRpb246IHN0cmluZ1xuICBvcmRyZV9hYnNvbHVfc2VhbmNlOiBzdHJpbmdcbiAgY29kZV9ncmFtbWFpcmU6IHN0cmluZ1xuICBjb2RlX3N0eWxlPzogc3RyaW5nXG4gIGNvZGVfcGFyb2xlOiBzdHJpbmdcbiAgc29tbWFpcmU6IHN0cmluZ1xuICBpZF9zeWNlcm9uOiBzdHJpbmdcbiAgdmFsZXVyOiBzdHJpbmdcbiAgb3JhdGV1cnM/OiBPcmF0ZXVycyB8IHN0cmluZyB8IHVuZGVmaW5lZFxuICB0ZXh0ZT86IFRleHRlIHwgc3RyaW5nXG4gIHBhcmFncmFwaGU/OiBQb2ludFtdIHwgUG9pbnRcbiAgaW50ZXJFeHRyYWN0aW9uOiBJbnRlckV4dHJhY3Rpb25bXSB8IEludGVyRXh0cmFjdGlvbiB8IHVuZGVmaW5lZFxuICBwb2ludD86IFBvaW50W10gfCBQb2ludFxuICBzdHJ1Y3R1cmU/OiBzdHJpbmdcbiAgaWRfYWN0ZXVyPzogc3RyaW5nXG4gIGlkX21hbmRhdD86IHN0cmluZ1xuICBpZF9ub21pbmF0aW9uX29lPzogc3RyaW5nXG4gIGlkX25vbWluYXRpb25fb3A/OiBzdHJpbmdcbiAgb3JhdGV1cj86IHN0cmluZ1xuICBiaWJhcmQ/OiBzdHJpbmdcbiAgYXJ0Pzogc3RyaW5nXG4gIGFkdD86IHN0cmluZ1xuICBzc2FkdD86IHN0cmluZ1xuICByb2xlZGViYXQ/OiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgY2hhbmdlbWVudFByZXNpZGVuY2U/OiBQb2ludFxuICB0eXBlX2RlYmF0Pzogc3RyaW5nXG4gIGRlY2lzaW9uPzogRGVjaXNpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWFudGllbWVzIHtcbiAgam91cm5lZTogc3RyaW5nXG4gIHNlc3Npb246IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkb25uZWVzIHtcbiAgZGF0ZVNlYW5jZTogc3RyaW5nXG4gIGRhdGVTZWFuY2VKb3VyOiBzdHJpbmdcbiAgbnVtU2VhbmNlSm91cjogc3RyaW5nXG4gIG51bVNlYW5jZTogc3RyaW5nXG4gIHR5cGVBc3NlbWJsZWU6IHN0cmluZ1xuICBsZWdpc2xhdHVyZTogc3RyaW5nXG4gIHNlc3Npb246IHN0cmluZ1xuICBub21GaWNoaWVySm86IHN0cmluZ1xuICB2YWxpZGl0ZTogc3RyaW5nXG4gIGV0YXQ6IHN0cmluZ1xuICBkaWZmdXNpb246IHN0cmluZ1xuICB2ZXJzaW9uOiBzdHJpbmdcbiAgZW52aXJvbm5lbWVudDogc3RyaW5nXG4gIGhldXJlR2VuZXJhdGlvbjogRGF0ZVxuICBzb21tYWlyZTogU29tbWFpcmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb21tYWlyZSB7XG4gIHByZXNpZGVudFNlYW5jZTogUGFyYVxuICBzb21tYWlyZTE6IFNvbW1haXJlRWxlbWVudFtdIHwgU29tbWFpcmVFbGVtZW50XG4gIHNvbW1haXJlMz86IFNvbW1haXJlRWxlbWVudFtdIHwgU29tbWFpcmVFbGVtZW50XG4gIHNvbW1haXJlMj86IFNvbW1haXJlRWxlbWVudFtdIHwgU29tbWFpcmVFbGVtZW50XG4gIHBhcmE/OiBQYXJhXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29tbWFpcmVFbGVtZW50IHtcbiAgdmFsZXVyX3B0c19vZGo6IHN0cmluZyB8IHVuZGVmaW5lZFxuICB0aXRyZVN0cnVjdDogVGl0cmVTdHJ1Y3RcbiAgcGFyYT86IEFycmF5PFBhcmEgfCBzdHJpbmc+IHwgUGFyYVxuICBzb21tYWlyZTI/OiBTb21tYWlyZUVsZW1lbnRbXSB8IFNvbW1haXJlRWxlbWVudFxuICBzb21tYWlyZTM/OiBTb21tYWlyZUVsZW1lbnRbXSB8IFNvbW1haXJlRWxlbWVudFxuICBwcmVzaWRlbnRTZWFuY2U/OiBQYXJhW10gfCBQYXJhXG4gIHR5cGVfZGViYXQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJhIHtcbiAgXz86IHN0cmluZyB8IHVuZGVmaW5lZFxuICBpZF9zeWNlcm9uPzogc3RyaW5nXG4gIHN1cD86IHN0cmluZ1xuICBsaWVuQWR0PzogUGFyYVtdIHwgUGFyYVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpdHJlU3RydWN0IHtcbiAgaWRfc3ljZXJvbjogc3RyaW5nXG4gIGludGl0dWxlPzogVGV4dGUgfCBzdHJpbmdcbiAgc291c0ludGl0dWxlPzogc3RyaW5nXG4gIHR5cGVfZGViYXQ/OiBzdHJpbmdcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gIHB1YmxpYyBzdGF0aWMgdG9Db21wdGVzUmVuZHVzKGpzb246IHN0cmluZyk6IENvbXB0ZXNSZW5kdXMge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJDb21wdGVzUmVuZHVzXCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjb21wdGVzUmVuZHVzVG9Kc29uKHZhbHVlOiBDb21wdGVzUmVuZHVzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQ29tcHRlc1JlbmR1c1wiKSksIG51bGwsIDIpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvQ29tcHRlUmVuZHUoanNvbjogc3RyaW5nKTogQ29tcHRlUmVuZHUge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJDb21wdGVSZW5kdVwiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgY29tcHRlUmVuZHVUb0pzb24odmFsdWU6IENvbXB0ZVJlbmR1KTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiQ29tcHRlUmVuZHVcIikpLCBudWxsLCAyKVxuICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55LCBwYXJlbnQ6IGFueSA9IFwiXCIpOiBuZXZlciB7XG4gIGNvbnN0IHByZXR0eVR5cCA9IHByZXR0eVR5cGVOYW1lKHR5cClcbiAgY29uc3QgcGFyZW50VGV4dCA9IHBhcmVudCA/IGAgb24gJHtwYXJlbnR9YCA6IFwiXCJcbiAgY29uc3Qga2V5VGV4dCA9IGtleSA/IGAgZm9yIGtleSBcIiR7a2V5fVwiYCA6IFwiXCJcbiAgdGhyb3cgRXJyb3IoXG4gICAgYEludmFsaWQgdmFsdWUke2tleVRleHR9JHtwYXJlbnRUZXh0fS4gRXhwZWN0ZWQgJHtwcmV0dHlUeXB9IGJ1dCBnb3QgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgIHZhbCxcbiAgICApfWAsXG4gIClcbn1cblxuZnVuY3Rpb24gcHJldHR5VHlwZU5hbWUodHlwOiBhbnkpOiBzdHJpbmcge1xuICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSB7XG4gICAgaWYgKHR5cC5sZW5ndGggPT09IDIgJiYgdHlwWzBdID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBgYW4gb3B0aW9uYWwgJHtwcmV0dHlUeXBlTmFtZSh0eXBbMV0pfWBcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGBvbmUgb2YgWyR7dHlwXG4gICAgICAgIC5tYXAoKGEpID0+IHtcbiAgICAgICAgICByZXR1cm4gcHJldHR5VHlwZU5hbWUoYSlcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oXCIsIFwiKX1dYFxuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5saXRlcmFsICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdHlwLmxpdGVyYWxcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdHlwZW9mIHR5cFxuICB9XG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzb25Ub0pTID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc29uVG9KU1xufVxuXG5mdW5jdGlvbiBqc1RvSlNPTlByb3BzKHR5cDogYW55KTogYW55IHtcbiAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgbWFwOiBhbnkgPSB7fVxuICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IChtYXBbcC5qc10gPSB7IGtleTogcC5qc29uLCB0eXA6IHAudHlwIH0pKVxuICAgIHR5cC5qc1RvSlNPTiA9IG1hcFxuICB9XG4gIHJldHVybiB0eXAuanNUb0pTT05cbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKFxuICB2YWw6IGFueSxcbiAgdHlwOiBhbnksXG4gIGdldFByb3BzOiBhbnksXG4gIGtleTogYW55ID0gXCJcIixcbiAgcGFyZW50OiBhbnkgPSBcIlwiLFxuKTogYW55IHtcbiAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cGVvZiB0eXAgPT09IHR5cGVvZiB2YWwpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXksIHBhcmVudClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICBjb25zdCBsID0gdHlwcy5sZW5ndGhcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgdHlwID0gdHlwc1tpXVxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpXG4gICAgICB9IGNhdGNoIChfKSB7fVxuICAgIH1cbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbCwga2V5LCBwYXJlbnQpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1FbnVtKGNhc2VzOiBzdHJpbmdbXSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZShcbiAgICAgIGNhc2VzLm1hcCgoYSkgPT4ge1xuICAgICAgICByZXR1cm4gbChhKVxuICAgICAgfSksXG4gICAgICB2YWwsXG4gICAgICBrZXksXG4gICAgICBwYXJlbnQsXG4gICAgKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtQXJyYXkodHlwOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG5vIGludmFsaWQgZWxlbWVudHNcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShsKFwiYXJyYXlcIiksIHZhbCwga2V5LCBwYXJlbnQpXG4gICAgcmV0dXJuIHZhbC5tYXAoKGVsKSA9PiB0cmFuc2Zvcm0oZWwsIHR5cCwgZ2V0UHJvcHMpKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbClcbiAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGwoXCJEYXRlXCIpLCB2YWwsIGtleSwgcGFyZW50KVxuICAgIH1cbiAgICByZXR1cm4gZFxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KFxuICAgIHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSxcbiAgICBhZGRpdGlvbmFsOiBhbnksXG4gICAgdmFsOiBhbnksXG4gICk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShsKHJlZiB8fCBcIm9iamVjdFwiKSwgdmFsLCBrZXksIHBhcmVudClcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldXG4gICAgICBjb25zdCB2ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbCwga2V5KVxuICAgICAgICA/IHZhbFtrZXldXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywga2V5LCByZWYpXG4gICAgfSlcbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvcHMsIGtleSkpIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXksIHJlZilcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIGlmICh0eXAgPT09IFwiYW55XCIpIHJldHVybiB2YWxcbiAgaWYgKHR5cCA9PT0gbnVsbCkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXksIHBhcmVudClcbiAgfVxuICBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5LCBwYXJlbnQpXG4gIGxldCByZWY6IGFueSA9IHVuZGVmaW5lZFxuICB3aGlsZSAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIiAmJiB0eXAucmVmICE9PSB1bmRlZmluZWQpIHtcbiAgICByZWYgPSB0eXAucmVmXG4gICAgdHlwID0gdHlwZU1hcFt0eXAucmVmXVxuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKVxuICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiB0eXAuaGFzT3duUHJvcGVydHkoXCJ1bmlvbk1lbWJlcnNcIilcbiAgICAgID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpXG4gICAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpXG4gICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSwgcGFyZW50KVxuICB9XG4gIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKVxuICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKVxufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKVxufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpXG59XG5cbmZ1bmN0aW9uIGwodHlwOiBhbnkpIHtcbiAgcmV0dXJuIHsgbGl0ZXJhbDogdHlwIH1cbn1cblxuZnVuY3Rpb24gYSh0eXA6IGFueSkge1xuICByZXR1cm4geyBhcnJheUl0ZW1zOiB0eXAgfVxufVxuXG5mdW5jdGlvbiB1KC4uLnR5cHM6IGFueVtdKSB7XG4gIHJldHVybiB7IHVuaW9uTWVtYmVyczogdHlwcyB9XG59XG5cbmZ1bmN0aW9uIG8ocHJvcHM6IGFueVtdLCBhZGRpdGlvbmFsOiBhbnkpIHtcbiAgcmV0dXJuIHsgcHJvcHMsIGFkZGl0aW9uYWwgfVxufVxuXG4vLyBmdW5jdGlvbiBtKGFkZGl0aW9uYWw6IGFueSkge1xuLy8gICAgIHJldHVybiB7IHByb3BzOiBbXSwgYWRkaXRpb25hbCB9O1xuLy8gfVxuXG5mdW5jdGlvbiByKG5hbWU6IHN0cmluZykge1xuICByZXR1cm4geyByZWY6IG5hbWUgfVxufVxuXG5jb25zdCB0eXBlTWFwOiBhbnkgPSB7XG4gIENvbXB0ZXNSZW5kdXM6IG8oXG4gICAgW3sganNvbjogXCJjb21wdGVzUmVuZHVzXCIsIGpzOiBcImNvbXB0ZXNSZW5kdXNcIiwgdHlwOiBhKHIoXCJDb21wdGVSZW5kdVwiKSkgfV0sXG4gICAgZmFsc2UsXG4gICksXG4gIENvbXB0ZVJlbmR1OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJzY2hlbWFWZXJzaW9uXCIsIGpzOiBcInNjaGVtYVZlcnNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwic2VhbmNlUmVmXCIsIGpzOiBcInNlYW5jZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJzZXNzaW9uUmVmXCIsIGpzOiBcInNlc3Npb25SZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibWV0YWRvbm5lZXNcIiwganM6IFwibWV0YWRvbm5lZXNcIiwgdHlwOiByKFwiTWV0YWRvbm5lZXNcIikgfSxcbiAgICAgIHsganNvbjogXCJjb250ZW51XCIsIGpzOiBcImNvbnRlbnVcIiwgdHlwOiByKFwiQ29udGVudVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENvbnRlbnU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInF1YW50aWVtZXNcIiwganM6IFwicXVhbnRpZW1lc1wiLCB0eXA6IHIoXCJRdWFudGllbWVzXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwib3V2ZXJ0dXJlU2VhbmNlXCIsXG4gICAgICAgIGpzOiBcIm91dmVydHVyZVNlYW5jZVwiLFxuICAgICAgICB0eXA6IHIoXCJPdXZlcnR1cmVTZWFuY2VcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInBvaW50XCIsIGpzOiBcInBvaW50XCIsIHR5cDogdShhKHIoXCJQb2ludFwiKSksIHIoXCJQb2ludFwiKSkgfSxcbiAgICAgIHsganNvbjogXCJmaW5TZWFuY2VcIiwganM6IFwiZmluU2VhbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJGaW5TZWFuY2VcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGFyYWdyYXBoZVwiLFxuICAgICAgICBqczogXCJwYXJhZ3JhcGhlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBvaW50XCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEZpblNlYW5jZTogbyhcbiAgICBbeyBqc29uOiBcInBvaW50XCIsIGpzOiBcInBvaW50XCIsIHR5cDogcihcIkZpblNlYW5jZVBvaW50XCIpIH1dLFxuICAgIGZhbHNlLFxuICApLFxuICBGaW5TZWFuY2VQb2ludDogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibml2cG9pbnRcIiwganM6IFwibml2cG9pbnRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidmFsZXVyX3B0c29kalwiLCBqczogXCJ2YWxldXJfcHRzb2RqXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm9yZGluYWxfcHJpc2VcIiwganM6IFwib3JkaW5hbF9wcmlzZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpZF9wcmVwYXJhdGlvblwiLCBqczogXCJpZF9wcmVwYXJhdGlvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJvcmRyZV9hYnNvbHVfc2VhbmNlXCIsIGpzOiBcIm9yZHJlX2Fic29sdV9zZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiY29kZV9ncmFtbWFpcmVcIiwganM6IFwiY29kZV9ncmFtbWFpcmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiY29kZV9zdHlsZVwiLCBqczogXCJjb2RlX3N0eWxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNvZGVfcGFyb2xlXCIsIGpzOiBcImNvZGVfcGFyb2xlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInNvbW1haXJlXCIsIGpzOiBcInNvbW1haXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImlkX3N5Y2Vyb25cIiwganM6IFwiaWRfc3ljZXJvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ2YWxldXJcIiwganM6IFwidmFsZXVyXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm9yYXRldXJzXCIsIGpzOiBcIm9yYXRldXJzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInBhcmFncmFwaGVcIiwganM6IFwicGFyYWdyYXBoZVwiLCB0eXA6IGEocihcIlBvaW50XCIpKSB9LFxuICAgICAgeyBqc29uOiBcInR5cGVfZGViYXRcIiwganM6IFwidHlwZV9kZWJhdFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIE9yYXRldXJzOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJvcmF0ZXVyXCIsXG4gICAgICAgIGpzOiBcIm9yYXRldXJcIixcbiAgICAgICAgdHlwOiB1KGEocihcIk9yYXRldXJFbGVtZW50XCIpKSwgcihcIk9yYXRldXJFbGVtZW50XCIpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgT3JhdGV1ckVsZW1lbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm5vbVwiLCBqczogXCJub21cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpZFwiLCBqczogXCJpZFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInF1YWxpdGVcIiwganM6IFwicXVhbGl0ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFRleHRlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJfXCIsIGpzOiBcIl9cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJzdGltZVwiLCBqczogXCJzdGltZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImluZGljZVwiLCBqczogXCJpbmRpY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShhKFwiXCIpLCBcIlwiKSkgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBPdXZlcnR1cmVTZWFuY2U6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIm5pdnBvaW50XCIsIGpzOiBcIm5pdnBvaW50XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwidmFsZXVyX3B0c29kalwiLCBqczogXCJ2YWxldXJfcHRzb2RqXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm9yZGluYWxfcHJpc2VcIiwganM6IFwib3JkaW5hbF9wcmlzZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpZF9wcmVwYXJhdGlvblwiLCBqczogXCJpZF9wcmVwYXJhdGlvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJvcmRyZV9hYnNvbHVfc2VhbmNlXCIsIGpzOiBcIm9yZHJlX2Fic29sdV9zZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiaWRfYWN0ZXVyXCIsIGpzOiBcImlkX2FjdGV1clwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpZF9tYW5kYXRcIiwganM6IFwiaWRfbWFuZGF0XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImlkX25vbWluYXRpb25fb2VcIiwganM6IFwiaWRfbm9taW5hdGlvbl9vZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpZF9ub21pbmF0aW9uX29wXCIsIGpzOiBcImlkX25vbWluYXRpb25fb3BcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiY29kZV9ncmFtbWFpcmVcIiwganM6IFwiY29kZV9ncmFtbWFpcmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiY29kZV9zdHlsZVwiLCBqczogXCJjb2RlX3N0eWxlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNvZGVfcGFyb2xlXCIsIGpzOiBcImNvZGVfcGFyb2xlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInNvbW1haXJlXCIsIGpzOiBcInNvbW1haXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImlkX3N5Y2Vyb25cIiwganM6IFwiaWRfc3ljZXJvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ2YWxldXJcIiwganM6IFwidmFsZXVyXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm9yYXRldXJzXCIsIGpzOiBcIm9yYXRldXJzXCIsIHR5cDogdShyKFwiT3JhdGV1cnNcIiksIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwidGV4dGVcIiwganM6IFwidGV4dGVcIiwgdHlwOiB1KHIoXCJUZXh0ZVwiKSwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJhZ3JhcGhlXCIsXG4gICAgICAgIGpzOiBcInBhcmFncmFwaGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiUG9pbnRcIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW50ZXJFeHRyYWN0aW9uXCIsXG4gICAgICAgIGpzOiBcImludGVyRXh0cmFjdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiSW50ZXJFeHRyYWN0aW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwicG9pbnRcIiwganM6IFwicG9pbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlBvaW50XCIpKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEludGVyRXh0cmFjdGlvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibm9tX29yYXRldXJcIiwganM6IFwibm9tX29yYXRldXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJxdWFsaXRlXCIsIGpzOiBcIm5vbV9vcmF0ZXVyXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaWRfYWN0ZXVyXCIsIGpzOiBcImlkX2FjdGV1clwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpZF9ub21pbmF0aW9uX29lXCIsIGpzOiBcImlkX25vbWluYXRpb25fb2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiaWRfbm9taW5hdGlvbl9vcFwiLCBqczogXCJpZF9ub21pbmF0aW9uX29wXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImlkX21hbmRhdFwiLCBqczogXCJpZF9tYW5kYXRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGFyYWdyYXBoZVwiLFxuICAgICAgICBqczogXCJwYXJhZ3JhcGhlXCIsXG4gICAgICAgIHR5cDogdShhKHIoXCJQb2ludFwiKSksIHIoXCJQb2ludFwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNoYW5nZW1lbnRQcmVzaWRlbmNlXCIsXG4gICAgICAgIGpzOiBcImNoYW5nZW1lbnRQcmVzaWRlbmNlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJQb2ludFwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBvaW50OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJuaXZwb2ludFwiLCBqczogXCJuaXZwb2ludFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInZhbGV1cl9wdHNvZGpcIiwganM6IFwidmFsZXVyX3B0c29kalwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJvcmRpbmFsX3ByaXNlXCIsIGpzOiBcIm9yZGluYWxfcHJpc2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiaWRfcHJlcGFyYXRpb25cIiwganM6IFwiaWRfcHJlcGFyYXRpb25cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwib3JkcmVfYWJzb2x1X3NlYW5jZVwiLCBqczogXCJvcmRyZV9hYnNvbHVfc2VhbmNlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNvZGVfZ3JhbW1haXJlXCIsIGpzOiBcImNvZGVfZ3JhbW1haXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImNvZGVfc3R5bGVcIiwganM6IFwiY29kZV9zdHlsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImNvZGVfcGFyb2xlXCIsIGpzOiBcImNvZGVfcGFyb2xlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInNvbW1haXJlXCIsIGpzOiBcInNvbW1haXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImlkX3N5Y2Vyb25cIiwganM6IFwiaWRfc3ljZXJvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ2YWxldXJcIiwganM6IFwidmFsZXVyXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm9yYXRldXJzXCIsXG4gICAgICAgIGpzOiBcIm9yYXRldXJzXCIsXG4gICAgICAgIHR5cDogdShyKFwiT3JhdGV1cnNcIiksIFwiXCIsIHVuZGVmaW5lZCksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogdShyKFwiVGV4dGVcIiksIFwiXCIsIHVuZGVmaW5lZCkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJhZ3JhcGhlXCIsXG4gICAgICAgIGpzOiBcInBhcmFncmFwaGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJQb2ludFwiKSksIHIoXCJQb2ludFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpbnRlckV4dHJhY3Rpb25cIixcbiAgICAgICAganM6IFwiaW50ZXJFeHRyYWN0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkludGVyRXh0cmFjdGlvblwiKSksIHIoXCJJbnRlckV4dHJhY3Rpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwb2ludFwiLFxuICAgICAgICBqczogXCJwb2ludFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCB1KGEocihcIlBvaW50XCIpKSwgcihcIlBvaW50XCIpKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInN0cnVjdHVyZVwiLCBqczogXCJzdHJ1Y3R1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpZF9hY3RldXJcIiwganM6IFwiaWRfYWN0ZXVyXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaWRfbWFuZGF0XCIsIGpzOiBcImlkX21hbmRhdFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImlkX25vbWluYXRpb25fb2VcIixcbiAgICAgICAganM6IFwiaWRfbm9taW5hdGlvbl9vZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaWRfbm9taW5hdGlvbl9vcFwiLFxuICAgICAgICBqczogXCJpZF9ub21pbmF0aW9uX29wXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJvcmF0ZXVyXCIsIGpzOiBcIm9yYXRldXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJiaWJhcmRcIiwganM6IFwiYmliYXJkXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiYXJ0XCIsIGpzOiBcImFydFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImFkdFwiLCBqczogXCJhZHRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJzc2FkdFwiLCBqczogXCJzc2FkdFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInJvbGVkZWJhdFwiLCBqczogXCJyb2xlZGViYXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlX2RlYmF0XCIsIGpzOiBcInR5cGVfZGViYXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjaGFuZ2VtZW50UHJlc2lkZW5jZVwiLFxuICAgICAgICBqczogXCJjaGFuZ2VtZW50UHJlc2lkZW5jZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUG9pbnRcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJkZWNpc2lvblwiLCBqczogXCJkZWNpc2lvblwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGVjaXNpb25cIikpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUXVhbnRpZW1lczogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiam91cm5lZVwiLCBqczogXCJqb3VybmVlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInNlc3Npb25cIiwganM6IFwic2Vzc2lvblwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBNZXRhZG9ubmVlczogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiZGF0ZVNlYW5jZVwiLCBqczogXCJkYXRlU2VhbmNlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImRhdGVTZWFuY2VKb3VyXCIsIGpzOiBcImRhdGVTZWFuY2VKb3VyXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm51bVNlYW5jZUpvdXJcIiwganM6IFwibnVtU2VhbmNlSm91clwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJudW1TZWFuY2VcIiwganM6IFwibnVtU2VhbmNlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInR5cGVBc3NlbWJsZWVcIiwganM6IFwidHlwZUFzc2VtYmxlZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJsZWdpc2xhdHVyZVwiLCBqczogXCJsZWdpc2xhdHVyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJzZXNzaW9uXCIsIGpzOiBcInNlc3Npb25cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibm9tRmljaGllckpvXCIsIGpzOiBcIm5vbUZpY2hpZXJKb1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ2YWxpZGl0ZVwiLCBqczogXCJ2YWxpZGl0ZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJldGF0XCIsIGpzOiBcImV0YXRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiZGlmZnVzaW9uXCIsIGpzOiBcImRpZmZ1c2lvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ2ZXJzaW9uXCIsIGpzOiBcInZlcnNpb25cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiZW52aXJvbm5lbWVudFwiLCBqczogXCJlbnZpcm9ubmVtZW50XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImhldXJlR2VuZXJhdGlvblwiLCBqczogXCJoZXVyZUdlbmVyYXRpb25cIiwgdHlwOiBEYXRlIH0sXG4gICAgICB7IGpzb246IFwic29tbWFpcmVcIiwganM6IFwic29tbWFpcmVcIiwgdHlwOiByKFwiU29tbWFpcmVcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBTb21tYWlyZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwicHJlc2lkZW50U2VhbmNlXCIsIGpzOiBcInByZXNpZGVudFNlYW5jZVwiLCB0eXA6IHIoXCJQYXJhXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwic29tbWFpcmUxXCIsXG4gICAgICAgIGpzOiBcInNvbW1haXJlMVwiLFxuICAgICAgICB0eXA6IHUoYShyKFwiU29tbWFpcmVFbGVtZW50XCIpKSwgcihcIlNvbW1haXJlRWxlbWVudFwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNvbW1haXJlM1wiLFxuICAgICAgICBqczogXCJzb21tYWlyZTNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJTb21tYWlyZUVsZW1lbnRcIikpLCByKFwiU29tbWFpcmVFbGVtZW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNvbW1haXJlMlwiLFxuICAgICAgICBqczogXCJzb21tYWlyZTJcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJTb21tYWlyZUVsZW1lbnRcIikpLCByKFwiU29tbWFpcmVFbGVtZW50XCIpKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInBhcmFcIiwganM6IFwicGFyYVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiUGFyYVwiKSkgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBTb21tYWlyZUVsZW1lbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInZhbGV1cl9wdHNfb2RqXCIsIGpzOiBcInZhbGV1cl9wdHNfb2RqXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidGl0cmVTdHJ1Y3RcIixcbiAgICAgICAganM6IFwidGl0cmVTdHJ1Y3RcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlRpdHJlU3RydWN0XCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGFyYVwiLFxuICAgICAgICBqczogXCJwYXJhXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHUoYSh1KHIoXCJQYXJhXCIpLCBcIlwiKSksIHIoXCJQYXJhXCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNvbW1haXJlMlwiLFxuICAgICAgICBqczogXCJzb21tYWlyZTJcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJTb21tYWlyZUVsZW1lbnRcIikpLCByKFwiU29tbWFpcmVFbGVtZW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInNvbW1haXJlM1wiLFxuICAgICAgICBqczogXCJzb21tYWlyZTNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJTb21tYWlyZUVsZW1lbnRcIikpLCByKFwiU29tbWFpcmVFbGVtZW50XCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInByZXNpZGVudFNlYW5jZVwiLFxuICAgICAgICBqczogXCJwcmVzaWRlbnRTZWFuY2VcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgdShhKHIoXCJQYXJhXCIpKSwgcihcIlBhcmFcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidHlwZV9kZWJhdFwiLCBqczogXCJ0eXBlX2RlYmF0XCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUGFyYTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiX1wiLCBqczogXCJfXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaWRfc3ljZXJvblwiLCBqczogXCJpZF9zeWNlcm9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwic3VwXCIsIGpzOiBcInN1cFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImxpZW5BZHRcIixcbiAgICAgICAganM6IFwibGllbkFkdFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCB1KGEocihcIlBhcmFcIikpLCByKFwiUGFyYVwiKSkpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBUZXN0OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJfXCIsIGpzOiBcIl9cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpZF9zeWNlcm9uXCIsIGpzOiBcImlkX3N5Y2Vyb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJzdXBcIiwganM6IFwic3VwXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVGl0cmVTdHJ1Y3Q6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImlkX3N5Y2Vyb25cIiwganM6IFwiaWRfc3ljZXJvblwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJpbnRpdHVsZVwiLCBqczogXCJpbnRpdHVsZVwiLCB0eXA6IHUocihcIlRleHRlXCIpLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInNvdXNJbnRpdHVsZVwiLCBqczogXCJzb3VzSW50aXR1bGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlX2RlYmF0XCIsIGpzOiBcInR5cGVfZGViYXRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZWNpc2lvbjogW1xuICAgIFwiQURPUFRJT04gYW1lbmRlbWVudCAobWFpbiBsZXbDqWUpIGFkdFwiLFxuICAgIFwiQURPUFRJT04gZOKAmXVuIGFydGljbGUgKHZvdGUgw6AgbWFpbiBsZXbDqWUpXCIsXG4gICAgXCJBRE9QVElPTiBk4oCZdW4gc291cy1hbWVuZGVtZW50IChtYWluIGxldsOpZSkgc3MtYWR0XCIsXG4gICAgXCJBRE9QVElPTiBkZSBwbHVzaWV1cnMgYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBhZHRzXCIsXG4gICAgXCJBRE9QVElPTiBkZSBwbHVzaWV1cnMgc291cy1hbWVuZGVtZW50cyAobWFpbiBsZXbDqWUpIHNzLWFkdHNcIixcbiAgICBcIlwiLFxuICAgIFwiUkVKRVQgZOKAmXVuIGFtZW5kZW1lbnQgKG1haW4gbGV2w6llKSBhZHRcIixcbiAgICBcIlJFSkVUIGTigJl1biBhcnRpY2xlICh2b3RlIMOgIG1haW4gbGV2w6llKVwiLFxuICAgIFwiUkVKRVQgZOKAmXVuIHNvdXMtYW1lbmRlbWVudCAobWFpbiBsZXbDqWUpIHNzLWFkdFwiLFxuICAgIFwiUkVKRVQgZGUgcGx1c2lldXJzIGFtZW5kZW1lbnRzIChtYWluIGxldsOpZSkgYWR0c1wiLFxuICAgIFwiUkVKRVQgZGUgcGx1c2lldXJzIHNvdXMtYW1lbmRlbWVudHMgKG1haW4gbGV2w6llKSBzcy1hZHRzXCIsXG4gICAgXCJSRUpFVCBtb3Rpb24gZGUgcmVqZXQgcHLDqWFsYWJsZSAobWFpbiBsZXbDqWUpXCIsXG4gIF0sXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLElBK0ZZQSxRQUFRLDBCQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQVJBLFFBQVE7RUFBUkEsUUFBUTtFQUFSQSxRQUFRO0VBQUEsT0FBUkEsUUFBUTtBQUFBO0FBQUFDLE9BQUEsQ0FBQUQsUUFBQSxHQUFBQSxRQUFBO0FBdUdwQjtBQUNBO0FBQUEsSUFDYUUsT0FBTztFQUFBLFNBQUFBLFFBQUE7SUFBQUMsZUFBQSxPQUFBRCxPQUFBO0VBQUE7RUFBQUUsWUFBQSxDQUFBRixPQUFBO0lBQUFHLEdBQUE7SUFBQUMsS0FBQSxFQUNsQixTQUFBQyxnQkFBOEJDLElBQVksRUFBaUI7TUFDekQsT0FB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