@tricoteuses/assemblee 1.1.8 → 1.1.10

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