@tricoteuses/assemblee 1.9.6 → 1.9.8

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 (174) hide show
  1. package/lib/api.js +1 -1
  2. package/lib/api.mjs +1 -1
  3. package/lib/bugs/acteur-00010/plugin.test.js +5 -5
  4. package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
  5. package/lib/bugs/acteur-00010.js +18 -17
  6. package/lib/bugs/acteur-00010.mjs +1 -1
  7. package/lib/bugs/agenda-00002/plugin.test.js +6 -6
  8. package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
  9. package/lib/bugs/agenda-00002.js +32 -31
  10. package/lib/bugs/agenda-00002.mjs +3 -3
  11. package/lib/bugs/agenda-00008/plugin.test.js +5 -5
  12. package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
  13. package/lib/bugs/agenda-00008.js +18 -17
  14. package/lib/bugs/agenda-00008.mjs +1 -1
  15. package/lib/bugs/agenda-00011/plugin.test.js +10 -10
  16. package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
  17. package/lib/bugs/agenda-00011.js +29 -28
  18. package/lib/bugs/agenda-00011.mjs +3 -3
  19. package/lib/bugs.js +29 -27
  20. package/lib/bugs.mjs +3 -3
  21. package/lib/cleaners/actes_legislatifs.js +5 -5
  22. package/lib/cleaners/actes_legislatifs.mjs +1 -1
  23. package/lib/cleaners/acteurs.js +5 -5
  24. package/lib/cleaners/acteurs.mjs +1 -1
  25. package/lib/cleaners/amendements.js +5 -5
  26. package/lib/cleaners/amendements.mjs +1 -1
  27. package/lib/cleaners/debats.js +1 -1
  28. package/lib/cleaners/debats.mjs +1 -1
  29. package/lib/cleaners/documents.js +5 -5
  30. package/lib/cleaners/documents.mjs +1 -1
  31. package/lib/cleaners/dossiers_legislatifs.js +5 -5
  32. package/lib/cleaners/dossiers_legislatifs.mjs +1 -1
  33. package/lib/cleaners/index.js +1 -1
  34. package/lib/cleaners/index.mjs +1 -1
  35. package/lib/cleaners/organes.js +2 -2
  36. package/lib/cleaners/organes.mjs +1 -1
  37. package/lib/cleaners/questions.js +1 -1
  38. package/lib/cleaners/questions.mjs +1 -1
  39. package/lib/cleaners/reunions.js +5 -5
  40. package/lib/cleaners/reunions.mjs +1 -1
  41. package/lib/cleaners/scrutins.js +8 -8
  42. package/lib/cleaners/scrutins.mjs +1 -1
  43. package/lib/cleaners/textes_loi.js +1 -1
  44. package/lib/cleaners/textes_loi.mjs +1 -1
  45. package/lib/cleaners/xml.js +8 -8
  46. package/lib/cleaners/xml.mjs +1 -1
  47. package/lib/datasets.js +9 -9
  48. package/lib/datasets.mjs +1 -1
  49. package/lib/dates.js +4 -3
  50. package/lib/dates.mjs +1 -1
  51. package/lib/dossiers_legislatifs.js +8 -8
  52. package/lib/dossiers_legislatifs.mjs +1 -1
  53. package/lib/examples/PIONANR5L15B0020/input.js +1 -1
  54. package/lib/examples/PIONANR5L15B0020/input.mjs +1 -1
  55. package/lib/examples/PRJLANR5L16B0914/input.js +1 -1
  56. package/lib/examples/PRJLANR5L16B0914/input.mjs +1 -1
  57. package/lib/examples/PRJLANR5L16B2014/input.js +1 -1
  58. package/lib/examples/PRJLANR5L16B2014/input.mjs +1 -1
  59. package/lib/examples/PRJLANR5L16B2424/input.js +1 -1
  60. package/lib/examples/PRJLANR5L16B2424/input.mjs +1 -1
  61. package/lib/examples/PRJLANR5L16B2462/input.js +1 -1
  62. package/lib/examples/PRJLANR5L16B2462/input.mjs +1 -1
  63. package/lib/file_systems.js +14 -15
  64. package/lib/file_systems.mjs +3 -3
  65. package/lib/git.js +5 -5
  66. package/lib/git.mjs +1 -1
  67. package/lib/index.js +1 -1
  68. package/lib/index.mjs +1 -1
  69. package/lib/inserters.js +4 -4
  70. package/lib/inserters.mjs +1 -1
  71. package/lib/loaders.js +19 -19
  72. package/lib/loaders.mjs +1 -1
  73. package/lib/logger.js +1 -1
  74. package/lib/logger.mjs +1 -1
  75. package/lib/organes.js +1 -1
  76. package/lib/organes.mjs +1 -1
  77. package/lib/parsers/documents.js +11 -11
  78. package/lib/parsers/documents.mjs +1 -1
  79. package/lib/parsers/index.js +1 -1
  80. package/lib/parsers/index.mjs +1 -1
  81. package/lib/parsers/recherche_amendements.js +15 -17
  82. package/lib/parsers/recherche_amendements.mjs +1 -1
  83. package/lib/parsers/textes_lois.js +18 -18
  84. package/lib/parsers/textes_lois.mjs +1 -1
  85. package/lib/raw_types/acteurs_et_organes.d.ts +1 -0
  86. package/lib/raw_types/acteurs_et_organes.js +11 -10
  87. package/lib/raw_types/acteurs_et_organes.mjs +3 -2
  88. package/lib/raw_types/agendas.js +9 -9
  89. package/lib/raw_types/agendas.mjs +1 -1
  90. package/lib/raw_types/amendements.js +9 -9
  91. package/lib/raw_types/amendements.mjs +1 -1
  92. package/lib/raw_types/debats.js +9 -9
  93. package/lib/raw_types/debats.mjs +1 -1
  94. package/lib/raw_types/dossiers_legislatifs.d.ts +1 -0
  95. package/lib/raw_types/dossiers_legislatifs.js +11 -10
  96. package/lib/raw_types/dossiers_legislatifs.mjs +3 -2
  97. package/lib/raw_types/questions.js +9 -9
  98. package/lib/raw_types/questions.mjs +1 -1
  99. package/lib/raw_types/scrutins.d.ts +18 -26
  100. package/lib/raw_types/scrutins.js +29 -46
  101. package/lib/raw_types/scrutins.mjs +21 -38
  102. package/lib/raw_types/textes_loi.js +9 -9
  103. package/lib/raw_types/textes_loi.mjs +1 -1
  104. package/lib/scripts/bugs_helper.js +26 -25
  105. package/lib/scripts/bugs_helper.mjs +3 -3
  106. package/lib/scripts/clean_reorganized_data.js +10 -9
  107. package/lib/scripts/clean_reorganized_data.mjs +1 -1
  108. package/lib/scripts/diff_amendements.js +8 -9
  109. package/lib/scripts/diff_amendements.mjs +1 -1
  110. package/lib/scripts/document_dossiers_legislatifs.js +27 -24
  111. package/lib/scripts/document_dossiers_legislatifs.mjs +3 -3
  112. package/lib/scripts/get_today_reunions.js +2 -3
  113. package/lib/scripts/get_today_reunions.mjs +1 -1
  114. package/lib/scripts/merge_scrutins.js +8 -9
  115. package/lib/scripts/merge_scrutins.mjs +1 -1
  116. package/lib/scripts/parse_textes_lois.js +5 -6
  117. package/lib/scripts/parse_textes_lois.mjs +1 -1
  118. package/lib/scripts/process_open_dataset.js +14 -15
  119. package/lib/scripts/process_open_dataset.mjs +1 -1
  120. package/lib/scripts/process_textes_loi_dataset.js +16 -17
  121. package/lib/scripts/process_textes_loi_dataset.mjs +1 -1
  122. package/lib/scripts/raw_types_from_amendements.js +12 -13
  123. package/lib/scripts/raw_types_from_amendements.mjs +1 -1
  124. package/lib/scripts/reorganize_data.js +14 -13
  125. package/lib/scripts/reorganize_data.mjs +1 -1
  126. package/lib/scripts/retrieve_deputes_photos.js +11 -12
  127. package/lib/scripts/retrieve_deputes_photos.mjs +1 -1
  128. package/lib/scripts/retrieve_documents.js +12 -13
  129. package/lib/scripts/retrieve_documents.mjs +1 -1
  130. package/lib/scripts/retrieve_open_data.js +12 -12
  131. package/lib/scripts/retrieve_open_data.mjs +1 -1
  132. package/lib/scripts/retrieve_pending_amendments.js +14 -14
  133. package/lib/scripts/retrieve_pending_amendments.mjs +1 -1
  134. package/lib/scripts/retrieve_senateurs_photos.js +10 -10
  135. package/lib/scripts/retrieve_senateurs_photos.mjs +1 -1
  136. package/lib/scripts/retrieve_textes_lois.js +15 -17
  137. package/lib/scripts/retrieve_textes_lois.mjs +1 -1
  138. package/lib/scripts/shared/cli_helpers.js +1 -1
  139. package/lib/scripts/shared/cli_helpers.mjs +1 -1
  140. package/lib/scripts/test_iter_load.js +5 -5
  141. package/lib/scripts/test_iter_load.mjs +1 -1
  142. package/lib/scripts/test_load.js +2 -2
  143. package/lib/scripts/test_load.mjs +1 -1
  144. package/lib/scripts/test_load_big_files.js +2 -2
  145. package/lib/scripts/test_load_big_files.mjs +1 -1
  146. package/lib/scripts/validate_json.js +18 -17
  147. package/lib/scripts/validate_json.mjs +3 -3
  148. package/lib/shared_types/codes_actes.js +1 -1
  149. package/lib/shared_types/codes_actes.mjs +1 -1
  150. package/lib/strings.js +1 -1
  151. package/lib/strings.mjs +1 -1
  152. package/lib/types/acteurs_et_organes.d.ts +1 -0
  153. package/lib/types/acteurs_et_organes.js +11 -10
  154. package/lib/types/acteurs_et_organes.mjs +3 -2
  155. package/lib/types/agendas.js +9 -9
  156. package/lib/types/agendas.mjs +1 -1
  157. package/lib/types/amendements.js +9 -9
  158. package/lib/types/amendements.mjs +1 -1
  159. package/lib/types/debats.js +9 -9
  160. package/lib/types/debats.mjs +1 -1
  161. package/lib/types/dossiers_legislatifs.js +9 -9
  162. package/lib/types/dossiers_legislatifs.mjs +1 -1
  163. package/lib/types/legislatures.js +1 -1
  164. package/lib/types/legislatures.mjs +1 -1
  165. package/lib/types/questions.js +9 -9
  166. package/lib/types/questions.mjs +1 -1
  167. package/lib/types/scrutins.d.ts +6 -4
  168. package/lib/types/scrutins.js +17 -15
  169. package/lib/types/scrutins.mjs +9 -7
  170. package/lib/types/textes_loi.js +9 -9
  171. package/lib/types/textes_loi.mjs +1 -1
  172. package/lib/urls.js +2 -2
  173. package/lib/urls.mjs +1 -1
  174. package/package.json +3 -3
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.symbol.description.js");
5
3
  require("core-js/modules/es.symbol.iterator.js");
6
4
  require("core-js/modules/es.array.iterator.js");
7
5
  require("core-js/modules/es.object.define-property.js");
@@ -11,13 +9,14 @@ Object.defineProperty(exports, "__esModule", {
11
9
  value: true
12
10
  });
13
11
  exports.TypeMajorite = exports.PositionMajoritaire = exports.ModePublicationDesVotes = exports.LieuVote = exports.LibelleTypeVote = exports.Libelle = exports.Convert = exports.CodeTypeVote = exports.Code = exports.CausePositionVote = void 0;
12
+ require("core-js/modules/es.symbol.js");
13
+ require("core-js/modules/es.symbol.description.js");
14
14
  require("core-js/modules/es.symbol.to-primitive.js");
15
15
  require("core-js/modules/es.array.concat.js");
16
16
  require("core-js/modules/es.array.for-each.js");
17
17
  require("core-js/modules/es.array.index-of.js");
18
18
  require("core-js/modules/es.array.is-array.js");
19
19
  require("core-js/modules/es.array.map.js");
20
- require("core-js/modules/es.date.to-json.js");
21
20
  require("core-js/modules/es.date.to-primitive.js");
22
21
  require("core-js/modules/es.date.to-string.js");
23
22
  require("core-js/modules/es.number.constructor.js");
@@ -26,10 +25,10 @@ require("core-js/modules/es.object.keys.js");
26
25
  require("core-js/modules/es.object.to-string.js");
27
26
  require("core-js/modules/web.dom-collections.for-each.js");
28
27
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
29
- function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
30
- function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
31
- function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
32
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
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(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
33
32
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
34
33
  // To parse this data:
35
34
  //
@@ -74,10 +73,11 @@ var LibelleTypeVote = exports.LibelleTypeVote = /*#__PURE__*/function (LibelleTy
74
73
  return LibelleTypeVote;
75
74
  }({});
76
75
  var TypeMajorite = exports.TypeMajorite = /*#__PURE__*/function (TypeMajorite) {
77
- TypeMajorite["Majorit\xE9AbsolueDesSuffragesExprim\xE9s"] = "majorit\xE9 absolue des suffrages exprim\xE9s";
78
- TypeMajorite["Majorit\xE9DesMembresComposantLAssembl\xE9eNationale"] = "majorit\xE9 des membres composant l'Assembl\xE9e nationale";
79
- TypeMajorite["Majorit\xE9DesMembresComposantsComposantLAssembl\xE9e"] = "majorit\xE9 des membres composants composant l'Assembl\xE9e";
80
- TypeMajorite["Majorit\xE9DesMembresComposantsComposantLAssembl\xE9eNationale"] = "majorit\xE9 des membres composants composant l'Assembl\xE9e nationale";
76
+ TypeMajorite["Majorit\xE9AbsolueDesSuffragesExprim\xE9s"] = "Majorit\xE9 absolue des suffrages exprim\xE9s";
77
+ TypeMajorite["majorit\xE9AbsolueDesSuffragesExprim\xE9s"] = "majorit\xE9 absolue des suffrages exprim\xE9s";
78
+ TypeMajorite["majorit\xE9DesMembresComposantLAssembl\xE9eNationale"] = "majorit\xE9 des membres composant l'Assembl\xE9e nationale";
79
+ TypeMajorite["majorit\xE9DesMembresComposantsComposantLAssembl\xE9e"] = "majorit\xE9 des membres composants composant l'Assembl\xE9e";
80
+ TypeMajorite["majorit\xE9DesMembresComposantsComposantLAssembl\xE9eNationale"] = "majorit\xE9 des membres composants composant l'Assembl\xE9e nationale";
81
81
  TypeMajorite["Majorit\xE9RequisePourUnCongr\xE8s"] = "Majorit\xE9 requise pour un Congr\xE8s";
82
82
  TypeMajorite["Majorit\xE9RequisePourUneMotionDeCensure"] = "Majorit\xE9 requise pour une motion de censure";
83
83
  return TypeMajorite;
@@ -96,6 +96,7 @@ var PositionMajoritaire = exports.PositionMajoritaire = /*#__PURE__*/function (P
96
96
  }({});
97
97
  var LieuVote = exports.LieuVote = /*#__PURE__*/function (LieuVote) {
98
98
  LieuVote["Congr\xE8s"] = "Congr\xE8s";
99
+ LieuVote["H\xE9micycle"] = "H\xE9micycle";
99
100
  LieuVote["Salons"] = "Salons";
100
101
  return LieuVote;
101
102
  }({}); // Converts JSON strings to/from your types
@@ -104,7 +105,7 @@ var Convert = exports.Convert = /*#__PURE__*/function () {
104
105
  function Convert() {
105
106
  _classCallCheck(this, Convert);
106
107
  }
107
- return _createClass(Convert, null, [{
108
+ _createClass(Convert, null, [{
108
109
  key: "toScrutins",
109
110
  value: function toScrutins(json) {
110
111
  return cast(JSON.parse(json), r("Scrutins"));
@@ -125,6 +126,7 @@ var Convert = exports.Convert = /*#__PURE__*/function () {
125
126
  return JSON.stringify(uncast(value, r("ScrutinWrapper")), null, 2);
126
127
  }
127
128
  }]);
129
+ return Convert;
128
130
  }();
129
131
  function invalidValue(typ, val) {
130
132
  var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
@@ -375,75 +377,56 @@ var typeMap = {
375
377
  "MiseAuPoint": o([{
376
378
  json: "nonVotants",
377
379
  js: "nonVotants",
378
- typ: u(a(u(r("ContreClass"), null)), null)
380
+ typ: u(a(u(r("VotantsClass"), null)), null)
379
381
  }, {
380
382
  json: "pour",
381
383
  js: "pour",
382
- typ: u(undefined, u(r("ContreClass"), null))
384
+ typ: u(undefined, u(r("VotantsClass"), null))
383
385
  }, {
384
386
  json: "contre",
385
387
  js: "contre",
386
- typ: u(undefined, u(r("ContreClass"), null))
388
+ typ: u(undefined, u(r("VotantsClass"), null))
387
389
  }, {
388
390
  json: "abstentions",
389
391
  js: "abstentions",
390
- typ: u(a(u(r("ContreClass"), null)), r("ContreClass"), null)
392
+ typ: u(a(u(r("VotantsClass"), null)), r("VotantsClass"), null)
391
393
  }, {
392
394
  json: "nonVotantsVolontaires",
393
395
  js: "nonVotantsVolontaires",
394
- typ: u(a(u(r("ContreClass"), null)), r("NonVotantsVolontairesClass"), null)
396
+ typ: u(a(u(r("VotantsClass"), null)), r("VotantsClass"), null)
395
397
  }, {
396
398
  json: "pours",
397
399
  js: "pours",
398
- typ: u(undefined, u(r("ContreClass"), null))
400
+ typ: u(undefined, u(r("VotantsClass"), null))
399
401
  }, {
400
402
  json: "contres",
401
403
  js: "contres",
402
- typ: u(undefined, u(r("ContreClass"), null))
404
+ typ: u(undefined, u(r("VotantsClass"), null))
403
405
  }, {
404
406
  json: "dysfonctionnement",
405
407
  js: "dysfonctionnement",
406
408
  typ: u(undefined, r("Dysfonctionnement"))
407
409
  }], false),
408
- "ContreClass": o([{
409
- json: "votant",
410
- js: "votant",
411
- typ: u(a(r("PourVotantClass")), r("PourVotantClass"))
412
- }], false),
413
- "PourVotantClass": o([{
414
- json: "acteurRef",
415
- js: "acteurRef",
416
- typ: ""
417
- }, {
418
- json: "mandatRef",
419
- js: "mandatRef",
420
- typ: ""
421
- }], false),
422
410
  "Dysfonctionnement": o([{
423
411
  json: "nonVotants",
424
412
  js: "nonVotants",
425
- typ: u(r("ContreClass"), null)
413
+ typ: u(r("VotantsClass"), null)
426
414
  }, {
427
415
  json: "pour",
428
416
  js: "pour",
429
- typ: u(r("ContreClass"), null)
417
+ typ: u(r("VotantsClass"), null)
430
418
  }, {
431
419
  json: "contre",
432
420
  js: "contre",
433
- typ: u(r("ContreClass"), null)
421
+ typ: u(r("VotantsClass"), null)
434
422
  }, {
435
423
  json: "abstentions",
436
424
  js: "abstentions",
437
- typ: u(r("ContreClass"), null)
425
+ typ: u(r("VotantsClass"), null)
438
426
  }, {
439
427
  json: "nonVotantsVolontaires",
440
428
  js: "nonVotantsVolontaires",
441
- typ: u(r("ContreClass"), null)
442
- }], false),
443
- "NonVotantsVolontairesClass": o([{
444
- json: "votant",
445
- js: "votant",
446
- typ: a(r("PourVotantClass"))
429
+ typ: u(r("VotantsClass"), null)
447
430
  }], false),
448
431
  "Objet": o([{
449
432
  json: "libelle",
@@ -682,9 +665,9 @@ var typeMap = {
682
665
  "Libelle": ["l'Assemblée nationale a adopté", "L'Assemblée nationale n'a pas adopté", "Le Congrès du Parlement a adopté", "Le Congrès du Parlement n'a pas adopté"],
683
666
  "CodeTypeVote": ["MOC", "SAT", "SPO", "SPS", "SSG"],
684
667
  "LibelleTypeVote": ["motion de censure", "scrutin public ordinaire", "scrutin public solennel", "scrutin à la tribune", "Scrutin solennel congrès"],
685
- "TypeMajorite": ["majorité absolue des suffrages exprimés", "majorité des membres composant l'Assemblée nationale", "majorité des membres composants composant l'Assemblée", "majorité des membres composants composant l'Assemblée nationale", "Majorité requise pour un Congrès", "Majorité requise pour une motion de censure"],
668
+ "TypeMajorite": ["Majorité absolue des suffrages exprimés", "majorité absolue des suffrages exprimés", "majorité des membres composant l'Assemblée nationale", "majorité des membres composants composant l'Assemblée", "majorité des membres composants composant l'Assemblée nationale", "Majorité requise pour un Congrès", "Majorité requise pour une motion de censure"],
686
669
  "CausePositionVote": ["MG", "PAN", "PSE"],
687
670
  "PositionMajoritaire": ["abstention", "contre", "pour"],
688
- "LieuVote": ["Congrès", "Salons"]
671
+ "LieuVote": ["Congrès", "Hémicycle", "Salons"]
689
672
  };
690
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlUHVibGljYXRpb25EZXNWb3RlcyIsImV4cG9ydHMiLCJDb2RlIiwiTGliZWxsZSIsIkNvZGVUeXBlVm90ZSIsIkxpYmVsbGVUeXBlVm90ZSIsIlR5cGVNYWpvcml0ZSIsIkNhdXNlUG9zaXRpb25Wb3RlIiwiUG9zaXRpb25NYWpvcml0YWlyZSIsIkxpZXVWb3RlIiwiQ29udmVydCIsIl9jbGFzc0NhbGxDaGVjayIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwidG9TY3J1dGlucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInNjcnV0aW5zVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9TY3J1dGluV3JhcHBlciIsInNjcnV0aW5XcmFwcGVyVG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJjb25jYXQiLCJqc29uVG9KU1Byb3BzIiwianNvblRvSlMiLCJtYXAiLCJwcm9wcyIsImZvckVhY2giLCJwIiwianMiLCJqc1RvSlNPTlByb3BzIiwianNUb0pTT04iLCJ0cmFuc2Zvcm0iLCJnZXRQcm9wcyIsInRyYW5zZm9ybVByaW1pdGl2ZSIsIl90eXBlb2YiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwiX2xlbiIsIl9rZXkiLCJvIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yYXdfdHlwZXMvc2NydXRpbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgU2NydXRpbnMsIFNjcnV0aW5XcmFwcGVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3Qgc2NydXRpbnMgPSBDb252ZXJ0LnRvU2NydXRpbnMoanNvbik7XG4vLyAgIGNvbnN0IHNjcnV0aW5XcmFwcGVyID0gQ29udmVydC50b1NjcnV0aW5XcmFwcGVyKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NydXRpbnMge1xuICAgIHNjcnV0aW5zOiBTY3J1dGluc0NsYXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcnV0aW5zQ2xhc3Mge1xuICAgIHNjcnV0aW46IFNjcnV0aW5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluV3JhcHBlciB7XG4gIHNjcnV0aW46IFNjcnV0aW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluIHtcbiAgICBcIkB4bWxuczp4c2lcIjogICAgICAgICAgICBzdHJpbmc7XG4gICAgdWlkOiAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBudW1lcm86ICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIG9yZ2FuZVJlZjogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBzZXNzaW9uUmVmOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHNlYW5jZVJlZjogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgZGF0ZVNjcnV0aW46ICAgICAgICAgICAgIERhdGU7XG4gICAgcXVhbnRpZW1lSm91clNlYW5jZTogICAgIHN0cmluZztcbiAgICB0eXBlVm90ZTogICAgICAgICAgICAgICAgVHlwZVZvdGU7XG4gICAgc29ydDogICAgICAgICAgICAgICAgICAgIFNvcnQ7XG4gICAgdGl0cmU6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBkZW1hbmRldXI6ICAgICAgICAgICAgICAgRGVtYW5kZXVyO1xuICAgIG9iamV0OiAgICAgICAgICAgICAgICAgICBPYmpldDtcbiAgICBtb2RlUHVibGljYXRpb25EZXNWb3RlczogTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXM7XG4gICAgc3ludGhlc2VWb3RlOiAgICAgICAgICAgIFN5bnRoZXNlVm90ZTtcbiAgICB2ZW50aWxhdGlvblZvdGVzOiAgICAgICAgVmVudGlsYXRpb25Wb3RlcztcbiAgICBtaXNlQXVQb2ludDogICAgICAgICAgICAgTWlzZUF1UG9pbnQgfCBudWxsO1xuICAgIGxpZXVWb3RlPzogICAgICAgICAgICAgICBMaWV1Vm90ZTtcbiAgICBcIkB4bWxuc1wiPzogICAgICAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyIHtcbiAgICB0ZXh0ZTogICAgICAgICAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgICByZWZlcmVuY2VMZWdpc2xhdGl2ZTogbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaXNlQXVQb2ludCB7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICBBcnJheTxDb250cmVDbGFzcyB8IG51bGw+IHwgbnVsbDtcbiAgICBwb3VyPzogICAgICAgICAgICAgICAgIENvbnRyZUNsYXNzIHwgbnVsbDtcbiAgICBjb250cmU/OiAgICAgICAgICAgICAgIENvbnRyZUNsYXNzIHwgbnVsbDtcbiAgICBhYnN0ZW50aW9uczogICAgICAgICAgIEFycmF5PENvbnRyZUNsYXNzIHwgbnVsbD4gfCBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgbm9uVm90YW50c1ZvbG9udGFpcmVzOiBBcnJheTxDb250cmVDbGFzcyB8IG51bGw+IHwgTm9uVm90YW50c1ZvbG9udGFpcmVzQ2xhc3MgfCBudWxsO1xuICAgIHBvdXJzPzogICAgICAgICAgICAgICAgQ29udHJlQ2xhc3MgfCBudWxsO1xuICAgIGNvbnRyZXM/OiAgICAgICAgICAgICAgQ29udHJlQ2xhc3MgfCBudWxsO1xuICAgIGR5c2ZvbmN0aW9ubmVtZW50PzogICAgRHlzZm9uY3Rpb25uZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJlQ2xhc3Mge1xuICAgIHZvdGFudDogUG91clZvdGFudENsYXNzW10gfCBQb3VyVm90YW50Q2xhc3M7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG91clZvdGFudENsYXNzIHtcbiAgICBhY3RldXJSZWY6IHN0cmluZztcbiAgICBtYW5kYXRSZWY6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeXNmb25jdGlvbm5lbWVudCB7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgcG91cjogICAgICAgICAgICAgICAgICBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgY29udHJlOiAgICAgICAgICAgICAgICBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgYWJzdGVudGlvbnM6ICAgICAgICAgICBDb250cmVDbGFzcyB8IG51bGw7XG4gICAgbm9uVm90YW50c1ZvbG9udGFpcmVzOiBDb250cmVDbGFzcyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9uVm90YW50c1ZvbG9udGFpcmVzQ2xhc3Mge1xuICAgIHZvdGFudDogUG91clZvdGFudENsYXNzW107XG59XG5cbmV4cG9ydCBlbnVtIE1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzIHtcbiAgICBEZWNvbXB0ZURpc3NpZGVudHNQb3NpdGlvbkdyb3VwZSA9IFwiRGVjb21wdGVEaXNzaWRlbnRzUG9zaXRpb25Hcm91cGVcIixcbiAgICBEZWNvbXB0ZU5vbWluYXRpZiA9IFwiRGVjb21wdGVOb21pbmF0aWZcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYmpldCB7XG4gICAgbGliZWxsZTogICAgICAgICAgICAgIHN0cmluZztcbiAgICByZWZlcmVuY2VMZWdpc2xhdGl2ZTogbnVsbDtcbiAgICBkb3NzaWVyTGVnaXNsYXRpZj86IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0IHtcbiAgICBjb2RlOiAgICBDb2RlO1xuICAgIGxpYmVsbGU6IExpYmVsbGU7XG59XG5cbmV4cG9ydCBlbnVtIENvZGUge1xuICAgIEFkb3B0w6kgPSBcImFkb3B0w6lcIixcbiAgICBSZWpldMOpID0gXCJyZWpldMOpXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpYmVsbGUge1xuICAgIExBc3NlbWJsw6llTmF0aW9uYWxlQUFkb3B0w6kgPSBcImwnQXNzZW1ibMOpZSBuYXRpb25hbGUgYSBhZG9wdMOpXCIsXG4gICAgTEFzc2VtYmzDqWVOYXRpb25hbGVOQVBhc0Fkb3B0w6kgPSBcIkwnQXNzZW1ibMOpZSBuYXRpb25hbGUgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgTGVDb25ncsOoc0R1UGFybGVtZW50QUFkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICBMZUNvbmdyw6hzRHVQYXJsZW1lbnROQVBhc0Fkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgfVxuXG5leHBvcnQgaW50ZXJmYWNlIFN5bnRoZXNlVm90ZSB7XG4gICAgbm9tYnJlVm90YW50czogICAgICBzdHJpbmc7XG4gICAgc3VmZnJhZ2VzRXhwcmltZXM6ICBzdHJpbmc7XG4gICAgbmJyU3VmZnJhZ2VzUmVxdWlzOiBzdHJpbmc7XG4gICAgYW5ub25jZTogICAgICAgICAgICBMaWJlbGxlO1xuICAgIGRlY29tcHRlOiAgICAgICAgICAgRGVjb21wdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGUge1xuICAgIHBvdXI6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBjb250cmU6ICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgYWJzdGVudGlvbnM6ICAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vblZvdGFudHM6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVZvdGUge1xuICAgIGNvZGVUeXBlVm90ZTogICAgQ29kZVR5cGVWb3RlO1xuICAgIGxpYmVsbGVUeXBlVm90ZTogTGliZWxsZVR5cGVWb3RlO1xuICAgIHR5cGVNYWpvcml0ZTogICAgVHlwZU1ham9yaXRlO1xufVxuXG5leHBvcnQgZW51bSBDb2RlVHlwZVZvdGUge1xuICAgIE1vYyA9IFwiTU9DXCIsXG4gICAgU2F0ID0gXCJTQVRcIixcbiAgICBTcG8gPSBcIlNQT1wiLFxuICAgIFNwcyA9IFwiU1BTXCIsXG4gICAgU3NnID0gXCJTU0dcIixcbn1cblxuZXhwb3J0IGVudW0gTGliZWxsZVR5cGVWb3RlIHtcbiAgICBNb3Rpb25EZUNlbnN1cmUgPSBcIm1vdGlvbiBkZSBjZW5zdXJlXCIsXG4gICAgU2NydXRpblB1YmxpY09yZGluYWlyZSA9IFwic2NydXRpbiBwdWJsaWMgb3JkaW5haXJlXCIsXG4gICAgU2NydXRpblB1YmxpY1NvbGVubmVsID0gXCJzY3J1dGluIHB1YmxpYyBzb2xlbm5lbFwiLFxuICAgIFNjcnV0aW7DgExhVHJpYnVuZSA9IFwic2NydXRpbiDDoCBsYSB0cmlidW5lXCIsXG4gICAgU2NydXRpblNvbGVubmVsQ29uZ3LDqHMgPSBcIlNjcnV0aW4gc29sZW5uZWwgY29uZ3LDqHNcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZU1ham9yaXRlIHtcbiAgICBNYWpvcml0w6lBYnNvbHVlRGVzU3VmZnJhZ2VzRXhwcmltw6lzID0gXCJtYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgIE1ham9yaXTDqURlc01lbWJyZXNDb21wb3NhbnRMQXNzZW1ibMOpZU5hdGlvbmFsZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgTWFqb3JpdMOpRGVzTWVtYnJlc0NvbXBvc2FudHNDb21wb3NhbnRMQXNzZW1ibMOpZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZVwiLFxuICAgIE1ham9yaXTDqURlc01lbWJyZXNDb21wb3NhbnRzQ29tcG9zYW50TEFzc2VtYmzDqWVOYXRpb25hbGUgPSBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgTWFqb3JpdMOpUmVxdWlzZVBvdXJVbkNvbmdyw6hzID0gXCJNYWpvcml0w6kgcmVxdWlzZSBwb3VyIHVuIENvbmdyw6hzXCIsXG4gICAgTWFqb3JpdMOpUmVxdWlzZVBvdXJVbmVNb3Rpb25EZUNlbnN1cmUgPSBcIk1ham9yaXTDqSByZXF1aXNlIHBvdXIgdW5lIG1vdGlvbiBkZSBjZW5zdXJlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVudGlsYXRpb25Wb3RlcyB7XG4gICAgb3JnYW5lOiBPcmdhbmU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnYW5lIHtcbiAgICBvcmdhbmVSZWY6IHN0cmluZztcbiAgICBncm91cGVzOiAgIEdyb3VwZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBlcyB7XG4gICAgZ3JvdXBlOiBHcm91cGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cGUge1xuICAgIG9yZ2FuZVJlZjogICAgICAgICAgIHN0cmluZztcbiAgICBub21icmVNZW1icmVzR3JvdXBlOiBzdHJpbmc7XG4gICAgdm90ZTogICAgICAgICAgICAgICAgVm90ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb3RlIHtcbiAgICBwb3NpdGlvbk1ham9yaXRhaXJlOiBQb3NpdGlvbk1ham9yaXRhaXJlO1xuICAgIGRlY29tcHRlVm9peDogICAgICAgIERlY29tcHRlVm9peDtcbiAgICBkZWNvbXB0ZU5vbWluYXRpZjogICBEZWNvbXB0ZU5vbWluYXRpZjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWNvbXB0ZU5vbWluYXRpZiB7XG4gICAgbm9uVm90YW50PzogICBudWxsXG4gICAgbm9uVm90YW50cz86ICBOb25Wb3RhbnRzQ2xhc3MgfCBudWxsIHwgc3RyaW5nO1xuICAgIHBvdXI/OiAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGNvbnRyZT86ICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGFic3RlbnRpb24/OiBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGFic3RlbnRpb25zPzogVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBwb3Vycz86ICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBjb250cmVzPzogICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb3RhbnRzQ2xhc3Mge1xuICAgIHZvdGFudDogVm90YW50W10gfCBWb3RhbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVm90YW50IHtcbiAgICBhY3RldXJSZWY6ICAgICAgc3RyaW5nO1xuICAgIG1hbmRhdFJlZjogICAgICBzdHJpbmc7XG4gICAgcGFyRGVsZWdhdGlvbj86IHN0cmluZztcbiAgICBudW1QbGFjZT86ICAgICAgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vblZvdGFudHNDbGFzcyB7XG4gICAgdm90YW50OiBOb25Wb3RhbnRbXSB8IE5vblZvdGFudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb25Wb3RhbnQge1xuICAgIGFjdGV1clJlZjogICAgICAgICBzdHJpbmc7XG4gICAgbWFuZGF0UmVmOiAgICAgICAgIHN0cmluZztcbiAgICBwYXJEZWxlZ2F0aW9uPzogICAgc3RyaW5nO1xuICAgIG51bVBsYWNlPzogICAgICAgICBzdHJpbmc7XG4gICAgY2F1c2VQb3NpdGlvblZvdGU6IENhdXNlUG9zaXRpb25Wb3RlO1xufVxuXG5leHBvcnQgZW51bSBDYXVzZVBvc2l0aW9uVm90ZSB7XG4gICAgTWcgPSBcIk1HXCIsXG4gICAgUGFuID0gXCJQQU5cIixcbiAgICBQc2UgPSBcIlBTRVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlY29tcHRlVm9peCB7XG4gICAgcG91cjogICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGNvbnRyZTogICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBhYnN0ZW50aW9uPzogICAgICAgICAgICBzdHJpbmc7XG4gICAgbm9uVm90YW50PzogICAgICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgICBub25Wb3RhbnRzPzogICAgICAgICAgICBzdHJpbmc7XG4gICAgYWJzdGVudGlvbnM/OiAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vblZvdGFudHNWb2xvbnRhaXJlcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gUG9zaXRpb25NYWpvcml0YWlyZSB7XG4gICAgQWJzdGVudGlvbiA9IFwiYWJzdGVudGlvblwiLFxuICAgIENvbnRyZSA9IFwiY29udHJlXCIsXG4gICAgUG91ciA9IFwicG91clwiLFxufVxuXG5leHBvcnQgZW51bSBMaWV1Vm90ZSB7XG4gICAgQ29uZ3LDqHMgPSBcIkNvbmdyw6hzXCIsXG4gICAgU2Fsb25zID0gXCJTYWxvbnNcIixcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gICAgcHVibGljIHN0YXRpYyB0b1NjcnV0aW5zKGpzb246IHN0cmluZyk6IFNjcnV0aW5zIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlNjcnV0aW5zXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHNjcnV0aW5zVG9Kc29uKHZhbHVlOiBTY3J1dGlucyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJTY3J1dGluc1wiKSksIG51bGwsIDIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9TY3J1dGluV3JhcHBlcihqc29uOiBzdHJpbmcpOiBTY3J1dGluV3JhcHBlciB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJTY3J1dGluV3JhcHBlclwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBzY3J1dGluV3JhcHBlclRvSnNvbih2YWx1ZTogU2NydXRpbldyYXBwZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiU2NydXRpbldyYXBwZXJcIikpLCBudWxsLCAyKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gJycpOiBuZXZlciB7XG4gICAgaWYgKGtleSkge1xuICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3Iga2V5IFwiJHtrZXl9XCIuIEV4cGVjdGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gKTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgJHtKU09OLnN0cmluZ2lmeSh2YWwpfSBmb3IgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9YCwgKTtcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc29uVG9KUyA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc29uVG9KUztcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc1RvSlNPTiA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc1RvSlNPTjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSAnJyk6IGFueSB7XG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV07XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbCk7XG4gICAgICAgIHJldHVybiB2YWwubWFwKGVsID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKTtcbiAgICAgICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QocHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LCBhZGRpdGlvbmFsOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpID8gdmFsW2tleV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpO1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbDtcbiAgICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl07XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKTtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpICAgID8gdHJhbnNmb3JtQXJyYXkodHlwLmFycmF5SXRlbXMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIikgICAgICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICAgIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKTtcbiAgICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKTtcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKTtcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpO1xufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gICAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH07XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfTtcbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICAgIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH07XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH07XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHsgcmVmOiBuYW1lIH07XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgICBcIlNjcnV0aW5zXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwic2NydXRpbnNcIiwganM6IFwic2NydXRpbnNcIiwgdHlwOiByKFwiU2NydXRpbnNDbGFzc1wiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5zQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJzY3J1dGluXCIsIGpzOiBcInNjcnV0aW5cIiwgdHlwOiBhKHIoXCJTY3J1dGluXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5XcmFwcGVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwic2NydXRpblwiLCBqczogXCJzY3J1dGluXCIsIHR5cDogcihcIlNjcnV0aW5cIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTY3J1dGluXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb1wiLCBqczogXCJudW1lcm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzZXNzaW9uUmVmXCIsIGpzOiBcInNlc3Npb25SZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzZWFuY2VSZWZcIiwganM6IFwic2VhbmNlUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZVNjcnV0aW5cIiwganM6IFwiZGF0ZVNjcnV0aW5cIiwgdHlwOiBEYXRlIH0sXG4gICAgICAgIHsganNvbjogXCJxdWFudGllbWVKb3VyU2VhbmNlXCIsIGpzOiBcInF1YW50aWVtZUpvdXJTZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlVm90ZVwiLCBqczogXCJ0eXBlVm90ZVwiLCB0eXA6IHIoXCJUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwic29ydFwiLCBqczogXCJzb3J0XCIsIHR5cDogcihcIlNvcnRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInRpdHJlXCIsIGpzOiBcInRpdHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGVtYW5kZXVyXCIsIGpzOiBcImRlbWFuZGV1clwiLCB0eXA6IHIoXCJEZW1hbmRldXJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm9iamV0XCIsIGpzOiBcIm9iamV0XCIsIHR5cDogcihcIk9iamV0XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiLCBqczogXCJtb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiLCB0eXA6IHIoXCJNb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwic3ludGhlc2VWb3RlXCIsIGpzOiBcInN5bnRoZXNlVm90ZVwiLCB0eXA6IHIoXCJTeW50aGVzZVZvdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInZlbnRpbGF0aW9uVm90ZXNcIiwganM6IFwidmVudGlsYXRpb25Wb3Rlc1wiLCB0eXA6IHIoXCJWZW50aWxhdGlvblZvdGVzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtaXNlQXVQb2ludFwiLCBqczogXCJtaXNlQXVQb2ludFwiLCB0eXA6IHUocihcIk1pc2VBdVBvaW50XCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibGlldVZvdGVcIiwganM6IFwibGlldVZvdGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkxpZXVWb3RlXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zXCIsIGpzOiBcIkB4bWxuc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRlbWFuZGV1clwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogdShudWxsLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwicmVmZXJlbmNlTGVnaXNsYXRpdmVcIiwganM6IFwicmVmZXJlbmNlTGVnaXNsYXRpdmVcIiwgdHlwOiBudWxsIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWlzZUF1UG9pbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KGEodShyKFwiQ29udHJlQ2xhc3NcIiksIG51bGwpKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdShhKHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSksIHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCBqczogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwgdHlwOiB1KGEodShyKFwiQ29udHJlQ2xhc3NcIiksIG51bGwpKSwgcihcIk5vblZvdGFudHNWb2xvbnRhaXJlc0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwicG91cnNcIiwganM6IFwicG91cnNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiQ29udHJlQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlc1wiLCBqczogXCJjb250cmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImR5c2ZvbmN0aW9ubmVtZW50XCIsIGpzOiBcImR5c2ZvbmN0aW9ubmVtZW50XCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEeXNmb25jdGlvbm5lbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJDb250cmVDbGFzc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInZvdGFudFwiLCBqczogXCJ2b3RhbnRcIiwgdHlwOiB1KGEocihcIlBvdXJWb3RhbnRDbGFzc1wiKSksIHIoXCJQb3VyVm90YW50Q2xhc3NcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiUG91clZvdGFudENsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm1hbmRhdFJlZlwiLCBqczogXCJtYW5kYXRSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRHlzZm9uY3Rpb25uZW1lbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlXCIsIGpzOiBcImNvbnRyZVwiLCB0eXA6IHUocihcIkNvbnRyZUNsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiB1KHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCBqczogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwgdHlwOiB1KHIoXCJDb250cmVDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJOb25Wb3RhbnRzVm9sb250YWlyZXNDbGFzc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInZvdGFudFwiLCBqczogXCJ2b3RhbnRcIiwgdHlwOiBhKHIoXCJQb3VyVm90YW50Q2xhc3NcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiT2JqZXRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCBqczogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCB0eXA6IG51bGwgfSxcbiAgICAgICAgeyBqc29uOiBcImRvc3NpZXJMZWdpc2xhdGlmXCIsIGpzOiBcImRvc3NpZXJMZWdpc2xhdGlmXCIsIHR5cDogdSh1bmRlZmluZWQsIG51bGwpIH1cbiAgICBdLCBmYWxzZSksXG4gICAgXCJTb3J0XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogcihcIkNvZGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHIoXCJMaWJlbGxlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU3ludGhlc2VWb3RlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibm9tYnJlVm90YW50c1wiLCBqczogXCJub21icmVWb3RhbnRzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwic3VmZnJhZ2VzRXhwcmltZXNcIiwganM6IFwic3VmZnJhZ2VzRXhwcmltZXNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJuYnJTdWZmcmFnZXNSZXF1aXNcIiwganM6IFwibmJyU3VmZnJhZ2VzUmVxdWlzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYW5ub25jZVwiLCBqczogXCJhbm5vbmNlXCIsIHR5cDogcihcIkxpYmVsbGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRlY29tcHRlXCIsIGpzOiBcImRlY29tcHRlXCIsIHR5cDogcihcIkRlY29tcHRlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRGVjb21wdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVHlwZVZvdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlVHlwZVZvdGVcIiwganM6IFwiY29kZVR5cGVWb3RlXCIsIHR5cDogcihcIkNvZGVUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZVR5cGVWb3RlXCIsIGpzOiBcImxpYmVsbGVUeXBlVm90ZVwiLCB0eXA6IHIoXCJMaWJlbGxlVHlwZVZvdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVNYWpvcml0ZVwiLCBqczogXCJ0eXBlTWFqb3JpdGVcIiwgdHlwOiByKFwiVHlwZU1ham9yaXRlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVmVudGlsYXRpb25Wb3Rlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVwiLCBqczogXCJvcmdhbmVcIiwgdHlwOiByKFwiT3JnYW5lXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiT3JnYW5lXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZXNcIiwganM6IFwiZ3JvdXBlc1wiLCB0eXA6IHIoXCJHcm91cGVzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZVwiLCBqczogXCJncm91cGVcIiwgdHlwOiBhKHIoXCJHcm91cGVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vbWJyZU1lbWJyZXNHcm91cGVcIiwganM6IFwibm9tYnJlTWVtYnJlc0dyb3VwZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInZvdGVcIiwganM6IFwidm90ZVwiLCB0eXA6IHIoXCJWb3RlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVm90ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBvc2l0aW9uTWFqb3JpdGFpcmVcIiwganM6IFwicG9zaXRpb25NYWpvcml0YWlyZVwiLCB0eXA6IHIoXCJQb3NpdGlvbk1ham9yaXRhaXJlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkZWNvbXB0ZVZvaXhcIiwganM6IFwiZGVjb21wdGVWb2l4XCIsIHR5cDogcihcIkRlY29tcHRlVm9peFwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVjb21wdGVOb21pbmF0aWZcIiwganM6IFwiZGVjb21wdGVOb21pbmF0aWZcIiwgdHlwOiByKFwiRGVjb21wdGVOb21pbmF0aWZcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZU5vbWluYXRpZlwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudFwiLCBqczogXCJub25Wb3RhbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJOb25Wb3RhbnRzQ2xhc3NcIiksIG51bGwsIFwiXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwicG91clwiLCBqczogXCJwb3VyXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uXCIsIGpzOiBcImFic3RlbnRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJwb3Vyc1wiLCBqczogXCJwb3Vyc1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlc1wiLCBqczogXCJjb250cmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVm90YW50c0NsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidm90YW50XCIsIGpzOiBcInZvdGFudFwiLCB0eXA6IHUoYShyKFwiVm90YW50XCIpKSwgcihcIlZvdGFudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWb3RhbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibWFuZGF0UmVmXCIsIGpzOiBcIm1hbmRhdFJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInBhckRlbGVnYXRpb25cIiwganM6IFwicGFyRGVsZWdhdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibnVtUGxhY2VcIiwganM6IFwibnVtUGxhY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJOb25Wb3RhbnRzQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ2b3RhbnRcIiwganM6IFwidm90YW50XCIsIHR5cDogdShhKHIoXCJOb25Wb3RhbnRcIikpLCByKFwiTm9uVm90YW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk5vblZvdGFudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJtYW5kYXRSZWZcIiwganM6IFwibWFuZGF0UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicGFyRGVsZWdhdGlvblwiLCBqczogXCJwYXJEZWxlZ2F0aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJudW1QbGFjZVwiLCBqczogXCJudW1QbGFjZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiY2F1c2VQb3NpdGlvblZvdGVcIiwganM6IFwiY2F1c2VQb3NpdGlvblZvdGVcIiwgdHlwOiByKFwiQ2F1c2VQb3NpdGlvblZvdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZVZvaXhcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvblwiLCBqczogXCJhYnN0ZW50aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRcIiwganM6IFwibm9uVm90YW50XCIsIHR5cDogdSh1bmRlZmluZWQsIHUoXCJcIiwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXNcIjogW1xuICAgICAgICBcIkRlY29tcHRlRGlzc2lkZW50c1Bvc2l0aW9uR3JvdXBlXCIsXG4gICAgICAgIFwiRGVjb21wdGVOb21pbmF0aWZcIixcbiAgICBdLFxuICAgIFwiQ29kZVwiOiBbXG4gICAgICAgIFwiYWRvcHTDqVwiLFxuICAgICAgICBcInJlamV0w6lcIixcbiAgICBdLFxuICAgIFwiTGliZWxsZVwiOiBbXG4gICAgICAgIFwibCdBc3NlbWJsw6llIG5hdGlvbmFsZSBhIGFkb3B0w6lcIixcbiAgICAgICAgXCJMJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlIG4nYSBwYXMgYWRvcHTDqVwiLFxuICAgICAgICBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICAgICAgXCJMZSBDb25ncsOocyBkdSBQYXJsZW1lbnQgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgICAgICAgXSxcbiAgICBcIkNvZGVUeXBlVm90ZVwiOiBbXG4gICAgICAgIFwiTU9DXCIsXG4gICAgICAgIFwiU0FUXCIsXG4gICAgICAgIFwiU1BPXCIsXG4gICAgICAgIFwiU1BTXCIsXG4gICAgICAgIFwiU1NHXCIsXG4gICAgXSxcbiAgICBcIkxpYmVsbGVUeXBlVm90ZVwiOiBbXG4gICAgICAgIFwibW90aW9uIGRlIGNlbnN1cmVcIixcbiAgICAgICAgXCJzY3J1dGluIHB1YmxpYyBvcmRpbmFpcmVcIixcbiAgICAgICAgXCJzY3J1dGluIHB1YmxpYyBzb2xlbm5lbFwiLFxuICAgICAgICBcInNjcnV0aW4gw6AgbGEgdHJpYnVuZVwiLFxuICAgICAgICBcIlNjcnV0aW4gc29sZW5uZWwgY29uZ3LDqHNcIixcbiAgICBdLFxuICAgIFwiVHlwZU1ham9yaXRlXCI6IFtcbiAgICAgICAgXCJtYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgICAgICBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnQgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiLFxuICAgICAgICBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWVcIixcbiAgICAgICAgXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llIG5hdGlvbmFsZVwiLFxuICAgICAgICBcIk1ham9yaXTDqSByZXF1aXNlIHBvdXIgdW4gQ29uZ3LDqHNcIixcbiAgICAgICAgXCJNYWpvcml0w6kgcmVxdWlzZSBwb3VyIHVuZSBtb3Rpb24gZGUgY2Vuc3VyZVwiLFxuICAgIF0sXG4gICAgXCJDYXVzZVBvc2l0aW9uVm90ZVwiOiBbXG4gICAgICAgIFwiTUdcIixcbiAgICAgICAgXCJQQU5cIixcbiAgICAgICAgXCJQU0VcIixcbiAgICBdLFxuICAgIFwiUG9zaXRpb25NYWpvcml0YWlyZVwiOiBbXG4gICAgICAgIFwiYWJzdGVudGlvblwiLFxuICAgICAgICBcImNvbnRyZVwiLFxuICAgICAgICBcInBvdXJcIixcbiAgICBdLFxuICAgIFwiTGlldVZvdGVcIjogW1xuICAgICAgICBcIkNvbmdyw6hzXCIsXG4gICAgICAgIFwiU2Fsb25zXCIsXG4gICAgXSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBLElBMEVZQSx1QkFBdUIsR0FBQUMsT0FBQSxDQUFBRCx1QkFBQSwwQkFBdkJBLHVCQUF1QjtFQUF2QkEsdUJBQXVCO0VBQXZCQSx1QkFBdUI7RUFBQSxPQUF2QkEsdUJBQXVCO0FBQUE7QUFBQSxJQWdCdkJFLElBQUksR0FBQUQsT0FBQSxDQUFBQyxJQUFBLDBCQUFKQSxJQUFJO0VBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFBLE9BQUpBLElBQUk7QUFBQTtBQUFBLElBS0pDLE9BQU8sR0FBQUYsT0FBQSxDQUFBRSxPQUFBLDBCQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBQSxPQUFQQSxPQUFPO0FBQUE7QUFBQSxJQTZCUEMsWUFBWSxHQUFBSCxPQUFBLENBQUFHLFlBQUEsMEJBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQUEsT0FBWkEsWUFBWTtBQUFBO0FBQUEsSUFRWkMsZUFBZSxHQUFBSixPQUFBLENBQUFJLGVBQUEsMEJBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQUEsT0FBZkEsZUFBZTtBQUFBO0FBQUEsSUFRZkMsWUFBWSxHQUFBTCxPQUFBLENBQUFLLFlBQUEsMEJBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBWkEsWUFBWTtFQUFaQSxZQUFZO0VBQVpBLFlBQVk7RUFBQSxPQUFaQSxZQUFZO0FBQUE7QUFBQSxJQW9FWkMsaUJBQWlCLEdBQUFOLE9B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RUFBRTtFQUFFLENBQUMsRUFDL0Q7SUFBRWYsSUFBSSxFQUFFLFdBQVc7SUFBRXdCLEVBQUUsRUFBRSxXQUFXO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRWdELENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDO0VBQUUsQ0FBQyxFQUN0RTtJQUFFL0QsSUFBSSxFQUFFLFlBQVk7SUFBRXdCLEVBQUUsRUFBRSxZQUFZO0lBQUViLEdBQUcsRUFBRW9ELENBQUMsQ0FBQ2hELFNBQVMsRUFBRSxFQUFFO0VBQUUsQ0FBQyxFQUMvRDtJQUFFZixJQUFJLEVBQUUsYUFBYTtJQUFFd0IsRUFBRSxFQUFFLGFBQWE7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLEVBQ2pFO0lBQUVmLElBQUksRUFBRSx1QkFBdUI7SUFBRXdCLEVBQUUsRUFBRSx1QkFBdUI7SUFBRWIsR0FBRyxFQUFFb0QsQ0FBQyxDQUFDaEQsU0FBUyxFQUFFLEVBQUU7RUFBRSxDQUFDLENBQ3hGLEVBQUUsS0FBSyxDQUFDO0VBQ1QseUJBQXlCLEVBQUUsQ0FDdkIsa0NBQWtDLEVBQ2xDLG1CQUFtQixDQUN0QjtFQUNELE1BQU0sRUFBRSxDQUNKLFFBQVEsRUFDUixRQUFRLENBQ1g7RUFDRCxTQUFTLEVBQUUsQ0FDUCxnQ0FBZ0MsRUFDaEMsc0NBQXNDLEVBQ3RDLGtDQUFrQyxFQUNsQyx3Q0FBd0MsQ0FDckM7RUFDUCxjQUFjLEVBQUUsQ0FDWixLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxDQUNSO0VBQ0QsaUJBQWlCLEVBQUUsQ0FDZixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsMEJBQTBCLENBQzdCO0VBQ0QsY0FBYyxFQUFFLENBQ1oseUNBQXlDLEVBQ3pDLHNEQUFzRCxFQUN0RCx1REFBdUQsRUFDdkQsaUVBQWlFLEVBQ2pFLGtDQUFrQyxFQUNsQyw2Q0FBNkMsQ0FDaEQ7RUFDRCxtQkFBbUIsRUFBRSxDQUNqQixJQUFJLEVBQ0osS0FBSyxFQUNMLEtBQUssQ0FDUjtFQUNELHFCQUFxQixFQUFFLENBQ25CLFlBQVksRUFDWixRQUFRLEVBQ1IsTUFBTSxDQUNUO0VBQ0QsVUFBVSxFQUFFLENBQ1IsU0FBUyxFQUNULFFBQVE7QUFFaEIsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
673
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2RlUHVibGljYXRpb25EZXNWb3RlcyIsImV4cG9ydHMiLCJDb2RlIiwiTGliZWxsZSIsIkNvZGVUeXBlVm90ZSIsIkxpYmVsbGVUeXBlVm90ZSIsIlR5cGVNYWpvcml0ZSIsIkNhdXNlUG9zaXRpb25Wb3RlIiwiUG9zaXRpb25NYWpvcml0YWlyZSIsIkxpZXVWb3RlIiwiQ29udmVydCIsIl9jbGFzc0NhbGxDaGVjayIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwidG9TY3J1dGlucyIsImpzb24iLCJjYXN0IiwiSlNPTiIsInBhcnNlIiwiciIsInNjcnV0aW5zVG9Kc29uIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9TY3J1dGluV3JhcHBlciIsInNjcnV0aW5XcmFwcGVyVG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiRXJyb3IiLCJjb25jYXQiLCJqc29uVG9KU1Byb3BzIiwianNvblRvSlMiLCJtYXAiLCJwcm9wcyIsImZvckVhY2giLCJwIiwianMiLCJqc1RvSlNPTlByb3BzIiwianNUb0pTT04iLCJ0cmFuc2Zvcm0iLCJnZXRQcm9wcyIsInRyYW5zZm9ybVByaW1pdGl2ZSIsIl90eXBlb2YiLCJ0cmFuc2Zvcm1VbmlvbiIsInR5cHMiLCJsIiwiaSIsIl8iLCJ0cmFuc2Zvcm1FbnVtIiwiY2FzZXMiLCJpbmRleE9mIiwidHJhbnNmb3JtQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJlbCIsInRyYW5zZm9ybURhdGUiLCJkIiwiRGF0ZSIsImlzTmFOIiwidmFsdWVPZiIsInRyYW5zZm9ybU9iamVjdCIsImFkZGl0aW9uYWwiLCJyZXN1bHQiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcCIsInYiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJyZWYiLCJ0eXBlTWFwIiwidW5pb25NZW1iZXJzIiwiYXJyYXlJdGVtcyIsImEiLCJ1IiwiX2xlbiIsIl9rZXkiLCJvIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yYXdfdHlwZXMvc2NydXRpbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVG8gcGFyc2UgdGhpcyBkYXRhOlxuLy9cbi8vICAgaW1wb3J0IHsgQ29udmVydCwgU2NydXRpbnMsIFNjcnV0aW5XcmFwcGVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuLy9cbi8vICAgY29uc3Qgc2NydXRpbnMgPSBDb252ZXJ0LnRvU2NydXRpbnMoanNvbik7XG4vLyAgIGNvbnN0IHNjcnV0aW5XcmFwcGVyID0gQ29udmVydC50b1NjcnV0aW5XcmFwcGVyKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NydXRpbnMge1xuICAgIHNjcnV0aW5zOiBTY3J1dGluc0NsYXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcnV0aW5zQ2xhc3Mge1xuICAgIHNjcnV0aW46IFNjcnV0aW5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluV3JhcHBlciB7XG4gIHNjcnV0aW46IFNjcnV0aW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY3J1dGluIHtcbiAgICBcIkB4bWxuczp4c2lcIjogICAgICAgICAgICBzdHJpbmc7XG4gICAgdWlkOiAgICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBudW1lcm86ICAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIG9yZ2FuZVJlZjogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGVnaXNsYXR1cmU6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBzZXNzaW9uUmVmOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHNlYW5jZVJlZjogICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgZGF0ZVNjcnV0aW46ICAgICAgICAgICAgIERhdGU7XG4gICAgcXVhbnRpZW1lSm91clNlYW5jZTogICAgIHN0cmluZztcbiAgICB0eXBlVm90ZTogICAgICAgICAgICAgICAgVHlwZVZvdGU7XG4gICAgc29ydDogICAgICAgICAgICAgICAgICAgIFNvcnQ7XG4gICAgdGl0cmU6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBkZW1hbmRldXI6ICAgICAgICAgICAgICAgRGVtYW5kZXVyO1xuICAgIG9iamV0OiAgICAgICAgICAgICAgICAgICBPYmpldDtcbiAgICBtb2RlUHVibGljYXRpb25EZXNWb3RlczogTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXM7XG4gICAgc3ludGhlc2VWb3RlOiAgICAgICAgICAgIFN5bnRoZXNlVm90ZTtcbiAgICB2ZW50aWxhdGlvblZvdGVzOiAgICAgICAgVmVudGlsYXRpb25Wb3RlcztcbiAgICBtaXNlQXVQb2ludDogICAgICAgICAgICAgTWlzZUF1UG9pbnQgfCBudWxsO1xuICAgIGxpZXVWb3RlPzogICAgICAgICAgICAgICBMaWV1Vm90ZTtcbiAgICBcIkB4bWxuc1wiPzogICAgICAgICAgICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyIHtcbiAgICB0ZXh0ZTogICAgICAgICAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgICByZWZlcmVuY2VMZWdpc2xhdGl2ZTogbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNaXNlQXVQb2ludCB7XG4gICAgbm9uVm90YW50czogICAgICAgICAgICBBcnJheTxWb3RhbnRzQ2xhc3MgfCBudWxsPiB8IG51bGw7XG4gICAgcG91cj86ICAgICAgICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGNvbnRyZT86ICAgICAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBhYnN0ZW50aW9uczogICAgICAgICAgIEFycmF5PFZvdGFudHNDbGFzcyB8IG51bGw+IHwgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM6IEFycmF5PFZvdGFudHNDbGFzcyB8IG51bGw+IHwgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBwb3Vycz86ICAgICAgICAgICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlcz86ICAgICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGR5c2ZvbmN0aW9ubmVtZW50PzogICAgRHlzZm9uY3Rpb25uZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHlzZm9uY3Rpb25uZW1lbnQge1xuICAgIG5vblZvdGFudHM6ICAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBwb3VyOiAgICAgICAgICAgICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlOiAgICAgICAgICAgICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGFic3RlbnRpb25zOiAgICAgICAgICAgVm90YW50c0NsYXNzIHwgbnVsbDtcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM6IFZvdGFudHNDbGFzcyB8IG51bGw7XG59XG5cbmV4cG9ydCBlbnVtIE1vZGVQdWJsaWNhdGlvbkRlc1ZvdGVzIHtcbiAgICBEZWNvbXB0ZURpc3NpZGVudHNQb3NpdGlvbkdyb3VwZSA9IFwiRGVjb21wdGVEaXNzaWRlbnRzUG9zaXRpb25Hcm91cGVcIixcbiAgICBEZWNvbXB0ZU5vbWluYXRpZiA9IFwiRGVjb21wdGVOb21pbmF0aWZcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYmpldCB7XG4gICAgbGliZWxsZTogICAgICAgICAgICAgIHN0cmluZztcbiAgICByZWZlcmVuY2VMZWdpc2xhdGl2ZTogbnVsbDtcbiAgICBkb3NzaWVyTGVnaXNsYXRpZj86IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0IHtcbiAgICBjb2RlOiAgICBDb2RlO1xuICAgIGxpYmVsbGU6IExpYmVsbGU7XG59XG5cbmV4cG9ydCBlbnVtIENvZGUge1xuICAgIEFkb3B0w6kgPSBcImFkb3B0w6lcIixcbiAgICBSZWpldMOpID0gXCJyZWpldMOpXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpYmVsbGUge1xuICAgIExBc3NlbWJsw6llTmF0aW9uYWxlQUFkb3B0w6kgPSBcImwnQXNzZW1ibMOpZSBuYXRpb25hbGUgYSBhZG9wdMOpXCIsXG4gICAgTEFzc2VtYmzDqWVOYXRpb25hbGVOQVBhc0Fkb3B0w6kgPSBcIkwnQXNzZW1ibMOpZSBuYXRpb25hbGUgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgTGVDb25ncsOoc0R1UGFybGVtZW50QUFkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICBMZUNvbmdyw6hzRHVQYXJsZW1lbnROQVBhc0Fkb3B0w6kgPSBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBuJ2EgcGFzIGFkb3B0w6lcIixcbiAgfVxuXG5leHBvcnQgaW50ZXJmYWNlIFN5bnRoZXNlVm90ZSB7XG4gICAgbm9tYnJlVm90YW50czogICAgICBzdHJpbmc7XG4gICAgc3VmZnJhZ2VzRXhwcmltZXM6ICBzdHJpbmc7XG4gICAgbmJyU3VmZnJhZ2VzUmVxdWlzOiBzdHJpbmc7XG4gICAgYW5ub25jZTogICAgICAgICAgICBMaWJlbGxlO1xuICAgIGRlY29tcHRlOiAgICAgICAgICAgRGVjb21wdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGUge1xuICAgIHBvdXI6ICAgICAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBjb250cmU6ICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgYWJzdGVudGlvbnM6ICAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vblZvdGFudHM6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBub25Wb3RhbnRzVm9sb250YWlyZXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVZvdGUge1xuICAgIGNvZGVUeXBlVm90ZTogICAgQ29kZVR5cGVWb3RlO1xuICAgIGxpYmVsbGVUeXBlVm90ZTogTGliZWxsZVR5cGVWb3RlO1xuICAgIHR5cGVNYWpvcml0ZTogICAgVHlwZU1ham9yaXRlO1xufVxuXG5leHBvcnQgZW51bSBDb2RlVHlwZVZvdGUge1xuICAgIE1vYyA9IFwiTU9DXCIsXG4gICAgU2F0ID0gXCJTQVRcIixcbiAgICBTcG8gPSBcIlNQT1wiLFxuICAgIFNwcyA9IFwiU1BTXCIsXG4gICAgU3NnID0gXCJTU0dcIixcbn1cblxuZXhwb3J0IGVudW0gTGliZWxsZVR5cGVWb3RlIHtcbiAgICBNb3Rpb25EZUNlbnN1cmUgPSBcIm1vdGlvbiBkZSBjZW5zdXJlXCIsXG4gICAgU2NydXRpblB1YmxpY09yZGluYWlyZSA9IFwic2NydXRpbiBwdWJsaWMgb3JkaW5haXJlXCIsXG4gICAgU2NydXRpblB1YmxpY1NvbGVubmVsID0gXCJzY3J1dGluIHB1YmxpYyBzb2xlbm5lbFwiLFxuICAgIFNjcnV0aW7DgExhVHJpYnVuZSA9IFwic2NydXRpbiDDoCBsYSB0cmlidW5lXCIsXG4gICAgU2NydXRpblNvbGVubmVsQ29uZ3LDqHMgPSBcIlNjcnV0aW4gc29sZW5uZWwgY29uZ3LDqHNcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZU1ham9yaXRlIHtcbiAgICBNYWpvcml0w6lBYnNvbHVlRGVzU3VmZnJhZ2VzRXhwcmltw6lzID0gXCJNYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgIG1ham9yaXTDqUFic29sdWVEZXNTdWZmcmFnZXNFeHByaW3DqXMgPSBcIm1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gICAgbWFqb3JpdMOpRGVzTWVtYnJlc0NvbXBvc2FudExBc3NlbWJsw6llTmF0aW9uYWxlID0gXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50IGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcIixcbiAgICBtYWpvcml0w6lEZXNNZW1icmVzQ29tcG9zYW50c0NvbXBvc2FudExBc3NlbWJsw6llID0gXCJtYWpvcml0w6kgZGVzIG1lbWJyZXMgY29tcG9zYW50cyBjb21wb3NhbnQgbCdBc3NlbWJsw6llXCIsXG4gICAgbWFqb3JpdMOpRGVzTWVtYnJlc0NvbXBvc2FudHNDb21wb3NhbnRMQXNzZW1ibMOpZU5hdGlvbmFsZSA9IFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZSBuYXRpb25hbGVcIixcbiAgICBNYWpvcml0w6lSZXF1aXNlUG91clVuQ29uZ3LDqHMgPSBcIk1ham9yaXTDqSByZXF1aXNlIHBvdXIgdW4gQ29uZ3LDqHNcIixcbiAgICBNYWpvcml0w6lSZXF1aXNlUG91clVuZU1vdGlvbkRlQ2Vuc3VyZSA9IFwiTWFqb3JpdMOpIHJlcXVpc2UgcG91ciB1bmUgbW90aW9uIGRlIGNlbnN1cmVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZW50aWxhdGlvblZvdGVzIHtcbiAgICBvcmdhbmU6IE9yZ2FuZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcmdhbmUge1xuICAgIG9yZ2FuZVJlZjogc3RyaW5nO1xuICAgIGdyb3VwZXM6ICAgR3JvdXBlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cGVzIHtcbiAgICBncm91cGU6IEdyb3VwZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwZSB7XG4gICAgb3JnYW5lUmVmOiAgICAgICAgICAgc3RyaW5nO1xuICAgIG5vbWJyZU1lbWJyZXNHcm91cGU6IHN0cmluZztcbiAgICB2b3RlOiAgICAgICAgICAgICAgICBWb3RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvdGUge1xuICAgIHBvc2l0aW9uTWFqb3JpdGFpcmU6IFBvc2l0aW9uTWFqb3JpdGFpcmU7XG4gICAgZGVjb21wdGVWb2l4OiAgICAgICAgRGVjb21wdGVWb2l4O1xuICAgIGRlY29tcHRlTm9taW5hdGlmOiAgIERlY29tcHRlTm9taW5hdGlmO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlY29tcHRlTm9taW5hdGlmIHtcbiAgICBub25Wb3RhbnQ/OiAgIG51bGxcbiAgICBub25Wb3RhbnRzPzogIE5vblZvdGFudHNDbGFzcyB8IG51bGwgfCBzdHJpbmc7XG4gICAgcG91cj86ICAgICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgY29udHJlPzogICAgIFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgYWJzdGVudGlvbj86IFZvdGFudHNDbGFzcyB8IG51bGw7XG4gICAgYWJzdGVudGlvbnM/OiBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIHBvdXJzPzogICAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xuICAgIGNvbnRyZXM/OiAgICBWb3RhbnRzQ2xhc3MgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvdGFudHNDbGFzcyB7XG4gICAgdm90YW50OiBWb3RhbnRbXSB8IFZvdGFudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb3RhbnQge1xuICAgIGFjdGV1clJlZjogICAgICBzdHJpbmc7XG4gICAgbWFuZGF0UmVmOiAgICAgIHN0cmluZztcbiAgICBwYXJEZWxlZ2F0aW9uPzogc3RyaW5nO1xuICAgIG51bVBsYWNlPzogICAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9uVm90YW50c0NsYXNzIHtcbiAgICB2b3RhbnQ6IE5vblZvdGFudFtdIHwgTm9uVm90YW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vblZvdGFudCB7XG4gICAgYWN0ZXVyUmVmOiAgICAgICAgIHN0cmluZztcbiAgICBtYW5kYXRSZWY6ICAgICAgICAgc3RyaW5nO1xuICAgIHBhckRlbGVnYXRpb24/OiAgICBzdHJpbmc7XG4gICAgbnVtUGxhY2U/OiAgICAgICAgIHN0cmluZztcbiAgICBjYXVzZVBvc2l0aW9uVm90ZTogQ2F1c2VQb3NpdGlvblZvdGU7XG59XG5cbmV4cG9ydCBlbnVtIENhdXNlUG9zaXRpb25Wb3RlIHtcbiAgICBNZyA9IFwiTUdcIixcbiAgICBQYW4gPSBcIlBBTlwiLFxuICAgIFBzZSA9IFwiUFNFXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVjb21wdGVWb2l4IHtcbiAgICBwb3VyOiAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgY29udHJlOiAgICAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGFic3RlbnRpb24/OiAgICAgICAgICAgIHN0cmluZztcbiAgICBub25Wb3RhbnQ/OiAgICAgICAgICAgICBzdHJpbmcgfCBudWxsO1xuICAgIG5vblZvdGFudHM/OiAgICAgICAgICAgIHN0cmluZztcbiAgICBhYnN0ZW50aW9ucz86ICAgICAgICAgICBzdHJpbmc7XG4gICAgbm9uVm90YW50c1ZvbG9udGFpcmVzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBQb3NpdGlvbk1ham9yaXRhaXJlIHtcbiAgICBBYnN0ZW50aW9uID0gXCJhYnN0ZW50aW9uXCIsXG4gICAgQ29udHJlID0gXCJjb250cmVcIixcbiAgICBQb3VyID0gXCJwb3VyXCIsXG59XG5cbmV4cG9ydCBlbnVtIExpZXVWb3RlIHtcbiAgICBDb25ncsOocyA9IFwiQ29uZ3LDqHNcIixcbiAgICBIw6ltaWN5Y2xlID0gXCJIw6ltaWN5Y2xlXCIsXG4gICAgU2Fsb25zID0gXCJTYWxvbnNcIixcbn1cblxuLy8gQ29udmVydHMgSlNPTiBzdHJpbmdzIHRvL2Zyb20geW91ciB0eXBlc1xuLy8gYW5kIGFzc2VydHMgdGhlIHJlc3VsdHMgb2YgSlNPTi5wYXJzZSBhdCBydW50aW1lXG5leHBvcnQgY2xhc3MgQ29udmVydCB7XG4gICAgcHVibGljIHN0YXRpYyB0b1NjcnV0aW5zKGpzb246IHN0cmluZyk6IFNjcnV0aW5zIHtcbiAgICAgICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlNjcnV0aW5zXCIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHNjcnV0aW5zVG9Kc29uKHZhbHVlOiBTY3J1dGlucyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJTY3J1dGluc1wiKSksIG51bGwsIDIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9TY3J1dGluV3JhcHBlcihqc29uOiBzdHJpbmcpOiBTY3J1dGluV3JhcHBlciB7XG4gICAgICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJTY3J1dGluV3JhcHBlclwiKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBzY3J1dGluV3JhcHBlclRvSnNvbih2YWx1ZTogU2NydXRpbldyYXBwZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5jYXN0KHZhbHVlLCByKFwiU2NydXRpbldyYXBwZXJcIikpLCBudWxsLCAyKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGludmFsaWRWYWx1ZSh0eXA6IGFueSwgdmFsOiBhbnksIGtleTogYW55ID0gJycpOiBuZXZlciB7XG4gICAgaWYgKGtleSkge1xuICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3Iga2V5IFwiJHtrZXl9XCIuIEV4cGVjdGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeSh0eXApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gKTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoYEludmFsaWQgdmFsdWUgJHtKU09OLnN0cmluZ2lmeSh2YWwpfSBmb3IgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9YCwgKTtcbn1cblxuZnVuY3Rpb24ganNvblRvSlNQcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzb25dID0geyBrZXk6IHAuanMsIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc29uVG9KUyA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc29uVG9KUztcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gICAgaWYgKHR5cC5qc1RvSlNPTiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG1hcDogYW55ID0ge307XG4gICAgICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSk7XG4gICAgICAgIHR5cC5qc1RvSlNPTiA9IG1hcDtcbiAgICB9XG4gICAgcmV0dXJuIHR5cC5qc1RvSlNPTjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtKHZhbDogYW55LCB0eXA6IGFueSwgZ2V0UHJvcHM6IGFueSwga2V5OiBhbnkgPSAnJyk6IGFueSB7XG4gICAgZnVuY3Rpb24gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cDogc3RyaW5nLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cCwgdmFsLCBrZXkpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IHZhbGlkYXRlIGFnYWluc3Qgb25lIHR5cCBpbiB0eXBzXG4gICAgICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cCA9IHR5cHNbaV07XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGdldFByb3BzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXBzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIGlmIChjYXNlcy5pbmRleE9mKHZhbCkgIT09IC0xKSByZXR1cm4gdmFsO1xuICAgICAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsKSkgcmV0dXJuIGludmFsaWRWYWx1ZShcImFycmF5XCIsIHZhbCk7XG4gICAgICAgIHJldHVybiB2YWwubWFwKGVsID0+IHRyYW5zZm9ybShlbCwgdHlwLCBnZXRQcm9wcykpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAodmFsID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkID0gbmV3IERhdGUodmFsKTtcbiAgICAgICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QocHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LCBhZGRpdGlvbmFsOiBhbnksIHZhbDogYW55KTogYW55IHtcbiAgICAgICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge307XG4gICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IHYgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsLCBrZXkpID8gdmFsW2tleV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpO1xuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9wcywga2V5KSkge1xuICAgICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbDtcbiAgICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgICAgIGlmICh2YWwgPT09IG51bGwpIHJldHVybiB2YWw7XG4gICAgICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCk7XG4gICAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl07XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKTtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpICAgID8gdHJhbnNmb3JtQXJyYXkodHlwLmFycmF5SXRlbXMsIHZhbClcbiAgICAgICAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwicHJvcHNcIikgICAgICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpO1xuICAgIH1cbiAgICAvLyBOdW1iZXJzIGNhbiBiZSBwYXJzZWQgYnkgRGF0ZSBidXQgc2hvdWxkbid0IGJlLlxuICAgIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKTtcbiAgICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKTtcbn1cblxuZnVuY3Rpb24gY2FzdDxUPih2YWw6IGFueSwgdHlwOiBhbnkpOiBUIHtcbiAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKTtcbn1cblxuZnVuY3Rpb24gdW5jYXN0PFQ+KHZhbDogVCwgdHlwOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpO1xufVxuXG5mdW5jdGlvbiBhKHR5cDogYW55KSB7XG4gICAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH07XG59XG5cbmZ1bmN0aW9uIHUoLi4udHlwczogYW55W10pIHtcbiAgICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfTtcbn1cblxuZnVuY3Rpb24gbyhwcm9wczogYW55W10sIGFkZGl0aW9uYWw6IGFueSkge1xuICAgIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH07XG59XG5cbi8vIGZ1bmN0aW9uIG0oYWRkaXRpb25hbDogYW55KSB7XG4vLyAgICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH07XG4vLyB9XG5cbmZ1bmN0aW9uIHIobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHsgcmVmOiBuYW1lIH07XG59XG5cbmNvbnN0IHR5cGVNYXA6IGFueSA9IHtcbiAgICBcIlNjcnV0aW5zXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwic2NydXRpbnNcIiwganM6IFwic2NydXRpbnNcIiwgdHlwOiByKFwiU2NydXRpbnNDbGFzc1wiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5zQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJzY3J1dGluXCIsIGpzOiBcInNjcnV0aW5cIiwgdHlwOiBhKHIoXCJTY3J1dGluXCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIlNjcnV0aW5XcmFwcGVyXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwic2NydXRpblwiLCBqczogXCJzY3J1dGluXCIsIHR5cDogcihcIlNjcnV0aW5cIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJTY3J1dGluXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiQHhtbG5zOnhzaVwiLCBqczogXCJAeG1sbnM6eHNpXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm51bWVyb1wiLCBqczogXCJudW1lcm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzZXNzaW9uUmVmXCIsIGpzOiBcInNlc3Npb25SZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJzZWFuY2VSZWZcIiwganM6IFwic2VhbmNlUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGF0ZVNjcnV0aW5cIiwganM6IFwiZGF0ZVNjcnV0aW5cIiwgdHlwOiBEYXRlIH0sXG4gICAgICAgIHsganNvbjogXCJxdWFudGllbWVKb3VyU2VhbmNlXCIsIGpzOiBcInF1YW50aWVtZUpvdXJTZWFuY2VcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJ0eXBlVm90ZVwiLCBqczogXCJ0eXBlVm90ZVwiLCB0eXA6IHIoXCJUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwic29ydFwiLCBqczogXCJzb3J0XCIsIHR5cDogcihcIlNvcnRcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInRpdHJlXCIsIGpzOiBcInRpdHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiZGVtYW5kZXVyXCIsIGpzOiBcImRlbWFuZGV1clwiLCB0eXA6IHIoXCJEZW1hbmRldXJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcIm9iamV0XCIsIGpzOiBcIm9iamV0XCIsIHR5cDogcihcIk9iamV0XCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiLCBqczogXCJtb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiLCB0eXA6IHIoXCJNb2RlUHVibGljYXRpb25EZXNWb3Rlc1wiKSB9LFxuICAgICAgICB7IGpzb246IFwic3ludGhlc2VWb3RlXCIsIGpzOiBcInN5bnRoZXNlVm90ZVwiLCB0eXA6IHIoXCJTeW50aGVzZVZvdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInZlbnRpbGF0aW9uVm90ZXNcIiwganM6IFwidmVudGlsYXRpb25Wb3Rlc1wiLCB0eXA6IHIoXCJWZW50aWxhdGlvblZvdGVzXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJtaXNlQXVQb2ludFwiLCBqczogXCJtaXNlQXVQb2ludFwiLCB0eXA6IHUocihcIk1pc2VBdVBvaW50XCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibGlldVZvdGVcIiwganM6IFwibGlldVZvdGVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkxpZXVWb3RlXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwiQHhtbG5zXCIsIGpzOiBcIkB4bWxuc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIkRlbWFuZGV1clwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInRleHRlXCIsIGpzOiBcInRleHRlXCIsIHR5cDogdShudWxsLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwicmVmZXJlbmNlTGVnaXNsYXRpdmVcIiwganM6IFwicmVmZXJlbmNlTGVnaXNsYXRpdmVcIiwgdHlwOiBudWxsIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTWlzZUF1UG9pbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KGEodShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdShhKHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpLCByKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSB9LFxuICAgICAgICB7IGpzb246IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIGpzOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCB0eXA6IHUoYSh1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSwgcihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJzXCIsIGpzOiBcInBvdXJzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVzXCIsIGpzOiBcImNvbnRyZXNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImR5c2ZvbmN0aW9ubmVtZW50XCIsIGpzOiBcImR5c2ZvbmN0aW9ubmVtZW50XCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJEeXNmb25jdGlvbm5lbWVudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEeXNmb25jdGlvbm5lbWVudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcInBvdXJcIiwganM6IFwicG91clwiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcImNvbnRyZVwiLCBqczogXCJjb250cmVcIiwgdHlwOiB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uc1wiLCBqczogXCJhYnN0ZW50aW9uc1wiLCB0eXA6IHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNWb2xvbnRhaXJlc1wiLCBqczogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwgdHlwOiB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiT2JqZXRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCBqczogXCJyZWZlcmVuY2VMZWdpc2xhdGl2ZVwiLCB0eXA6IG51bGwgfSxcbiAgICAgICAgeyBqc29uOiBcImRvc3NpZXJMZWdpc2xhdGlmXCIsIGpzOiBcImRvc3NpZXJMZWdpc2xhdGlmXCIsIHR5cDogdSh1bmRlZmluZWQsIG51bGwpIH1cbiAgICBdLCBmYWxzZSksXG4gICAgXCJTb3J0XCI6IG8oW1xuICAgICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogcihcIkNvZGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IHIoXCJMaWJlbGxlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiU3ludGhlc2VWb3RlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwibm9tYnJlVm90YW50c1wiLCBqczogXCJub21icmVWb3RhbnRzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwic3VmZnJhZ2VzRXhwcmltZXNcIiwganM6IFwic3VmZnJhZ2VzRXhwcmltZXNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJuYnJTdWZmcmFnZXNSZXF1aXNcIiwganM6IFwibmJyU3VmZnJhZ2VzUmVxdWlzXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYW5ub25jZVwiLCBqczogXCJhbm5vbmNlXCIsIHR5cDogcihcIkxpYmVsbGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImRlY29tcHRlXCIsIGpzOiBcImRlY29tcHRlXCIsIHR5cDogcihcIkRlY29tcHRlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiRGVjb21wdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvbnNcIiwganM6IFwiYWJzdGVudGlvbnNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVHlwZVZvdGVcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJjb2RlVHlwZVZvdGVcIiwganM6IFwiY29kZVR5cGVWb3RlXCIsIHR5cDogcihcIkNvZGVUeXBlVm90ZVwiKSB9LFxuICAgICAgICB7IGpzb246IFwibGliZWxsZVR5cGVWb3RlXCIsIGpzOiBcImxpYmVsbGVUeXBlVm90ZVwiLCB0eXA6IHIoXCJMaWJlbGxlVHlwZVZvdGVcIikgfSxcbiAgICAgICAgeyBqc29uOiBcInR5cGVNYWpvcml0ZVwiLCBqczogXCJ0eXBlTWFqb3JpdGVcIiwgdHlwOiByKFwiVHlwZU1ham9yaXRlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVmVudGlsYXRpb25Wb3Rlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm9yZ2FuZVwiLCBqczogXCJvcmdhbmVcIiwgdHlwOiByKFwiT3JnYW5lXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiT3JnYW5lXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZXNcIiwganM6IFwiZ3JvdXBlc1wiLCB0eXA6IHIoXCJHcm91cGVzXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlc1wiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImdyb3VwZVwiLCBqczogXCJncm91cGVcIiwgdHlwOiBhKHIoXCJHcm91cGVcIikpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiR3JvdXBlXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vbWJyZU1lbWJyZXNHcm91cGVcIiwganM6IFwibm9tYnJlTWVtYnJlc0dyb3VwZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInZvdGVcIiwganM6IFwidm90ZVwiLCB0eXA6IHIoXCJWb3RlXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVm90ZVwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcInBvc2l0aW9uTWFqb3JpdGFpcmVcIiwganM6IFwicG9zaXRpb25NYWpvcml0YWlyZVwiLCB0eXA6IHIoXCJQb3NpdGlvbk1ham9yaXRhaXJlXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJkZWNvbXB0ZVZvaXhcIiwganM6IFwiZGVjb21wdGVWb2l4XCIsIHR5cDogcihcIkRlY29tcHRlVm9peFwiKSB9LFxuICAgICAgICB7IGpzb246IFwiZGVjb21wdGVOb21pbmF0aWZcIiwganM6IFwiZGVjb21wdGVOb21pbmF0aWZcIiwgdHlwOiByKFwiRGVjb21wdGVOb21pbmF0aWZcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZU5vbWluYXRpZlwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudFwiLCBqczogXCJub25Wb3RhbnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgbnVsbCkgfSxcbiAgICAgICAgeyBqc29uOiBcIm5vblZvdGFudHNcIiwganM6IFwibm9uVm90YW50c1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJOb25Wb3RhbnRzQ2xhc3NcIiksIG51bGwsIFwiXCIpKSB9LFxuICAgICAgICB7IGpzb246IFwicG91clwiLCBqczogXCJwb3VyXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJhYnN0ZW50aW9uXCIsIGpzOiBcImFic3RlbnRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgdShyKFwiVm90YW50c0NsYXNzXCIpLCBudWxsKSkgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJwb3Vyc1wiLCBqczogXCJwb3Vyc1wiLCB0eXA6IHUodW5kZWZpbmVkLCB1KHIoXCJWb3RhbnRzQ2xhc3NcIiksIG51bGwpKSB9LFxuICAgICAgICB7IGpzb246IFwiY29udHJlc1wiLCBqczogXCJjb250cmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIHUocihcIlZvdGFudHNDbGFzc1wiKSwgbnVsbCkpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiVm90YW50c0NsYXNzXCI6IG8oW1xuICAgICAgICB7IGpzb246IFwidm90YW50XCIsIGpzOiBcInZvdGFudFwiLCB0eXA6IHUoYShyKFwiVm90YW50XCIpKSwgcihcIlZvdGFudFwiKSkgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJWb3RhbnRcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwibWFuZGF0UmVmXCIsIGpzOiBcIm1hbmRhdFJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgICAgeyBqc29uOiBcInBhckRlbGVnYXRpb25cIiwganM6IFwicGFyRGVsZWdhdGlvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwibnVtUGxhY2VcIiwganM6IFwibnVtUGxhY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJOb25Wb3RhbnRzQ2xhc3NcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJ2b3RhbnRcIiwganM6IFwidm90YW50XCIsIHR5cDogdShhKHIoXCJOb25Wb3RhbnRcIikpLCByKFwiTm9uVm90YW50XCIpKSB9LFxuICAgIF0sIGZhbHNlKSxcbiAgICBcIk5vblZvdGFudFwiOiBvKFtcbiAgICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJtYW5kYXRSZWZcIiwganM6IFwibWFuZGF0UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwicGFyRGVsZWdhdGlvblwiLCBqczogXCJwYXJEZWxlZ2F0aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJudW1QbGFjZVwiLCBqczogXCJudW1QbGFjZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgICB7IGpzb246IFwiY2F1c2VQb3NpdGlvblZvdGVcIiwganM6IFwiY2F1c2VQb3NpdGlvblZvdGVcIiwgdHlwOiByKFwiQ2F1c2VQb3NpdGlvblZvdGVcIikgfSxcbiAgICBdLCBmYWxzZSksXG4gICAgXCJEZWNvbXB0ZVZvaXhcIjogbyhbXG4gICAgICAgIHsganNvbjogXCJwb3VyXCIsIGpzOiBcInBvdXJcIiwgdHlwOiBcIlwiIH0sXG4gICAgICAgIHsganNvbjogXCJjb250cmVcIiwganM6IFwiY29udHJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgICB7IGpzb246IFwiYWJzdGVudGlvblwiLCBqczogXCJhYnN0ZW50aW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRcIiwganM6IFwibm9uVm90YW50XCIsIHR5cDogdSh1bmRlZmluZWQsIHUoXCJcIiwgbnVsbCkpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzXCIsIGpzOiBcIm5vblZvdGFudHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgICAgeyBqc29uOiBcImFic3RlbnRpb25zXCIsIGpzOiBcImFic3RlbnRpb25zXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICAgIHsganNvbjogXCJub25Wb3RhbnRzVm9sb250YWlyZXNcIiwganM6IFwibm9uVm90YW50c1ZvbG9udGFpcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSwgZmFsc2UpLFxuICAgIFwiTW9kZVB1YmxpY2F0aW9uRGVzVm90ZXNcIjogW1xuICAgICAgICBcIkRlY29tcHRlRGlzc2lkZW50c1Bvc2l0aW9uR3JvdXBlXCIsXG4gICAgICAgIFwiRGVjb21wdGVOb21pbmF0aWZcIixcbiAgICBdLFxuICAgIFwiQ29kZVwiOiBbXG4gICAgICAgIFwiYWRvcHTDqVwiLFxuICAgICAgICBcInJlamV0w6lcIixcbiAgICBdLFxuICAgIFwiTGliZWxsZVwiOiBbXG4gICAgICAgIFwibCdBc3NlbWJsw6llIG5hdGlvbmFsZSBhIGFkb3B0w6lcIixcbiAgICAgICAgXCJMJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlIG4nYSBwYXMgYWRvcHTDqVwiLFxuICAgICAgICBcIkxlIENvbmdyw6hzIGR1IFBhcmxlbWVudCBhIGFkb3B0w6lcIixcbiAgICAgICAgXCJMZSBDb25ncsOocyBkdSBQYXJsZW1lbnQgbidhIHBhcyBhZG9wdMOpXCIsXG4gICAgICAgICAgXSxcbiAgICBcIkNvZGVUeXBlVm90ZVwiOiBbXG4gICAgICAgIFwiTU9DXCIsXG4gICAgICAgIFwiU0FUXCIsXG4gICAgICAgIFwiU1BPXCIsXG4gICAgICAgIFwiU1BTXCIsXG4gICAgICAgIFwiU1NHXCIsXG4gICAgXSxcbiAgICBcIkxpYmVsbGVUeXBlVm90ZVwiOiBbXG4gICAgICAgIFwibW90aW9uIGRlIGNlbnN1cmVcIixcbiAgICAgICAgXCJzY3J1dGluIHB1YmxpYyBvcmRpbmFpcmVcIixcbiAgICAgICAgXCJzY3J1dGluIHB1YmxpYyBzb2xlbm5lbFwiLFxuICAgICAgICBcInNjcnV0aW4gw6AgbGEgdHJpYnVuZVwiLFxuICAgICAgICBcIlNjcnV0aW4gc29sZW5uZWwgY29uZ3LDqHNcIixcbiAgICBdLFxuICAgIFwiVHlwZU1ham9yaXRlXCI6IFtcbiAgICAgICAgXCJNYWpvcml0w6kgYWJzb2x1ZSBkZXMgc3VmZnJhZ2VzIGV4cHJpbcOpc1wiLFxuICAgICAgICBcIm1ham9yaXTDqSBhYnNvbHVlIGRlcyBzdWZmcmFnZXMgZXhwcmltw6lzXCIsXG4gICAgICAgIFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgICAgIFwibWFqb3JpdMOpIGRlcyBtZW1icmVzIGNvbXBvc2FudHMgY29tcG9zYW50IGwnQXNzZW1ibMOpZVwiLFxuICAgICAgICBcIm1ham9yaXTDqSBkZXMgbWVtYnJlcyBjb21wb3NhbnRzIGNvbXBvc2FudCBsJ0Fzc2VtYmzDqWUgbmF0aW9uYWxlXCIsXG4gICAgICAgIFwiTWFqb3JpdMOpIHJlcXVpc2UgcG91ciB1biBDb25ncsOoc1wiLFxuICAgICAgICBcIk1ham9yaXTDqSByZXF1aXNlIHBvdXIgdW5lIG1vdGlvbiBkZSBjZW5zdXJlXCIsXG4gICAgXSxcbiAgICBcIkNhdXNlUG9zaXRpb25Wb3RlXCI6IFtcbiAgICAgICAgXCJNR1wiLFxuICAgICAgICBcIlBBTlwiLFxuICAgICAgICBcIlBTRVwiLFxuICAgIF0sXG4gICAgXCJQb3NpdGlvbk1ham9yaXRhaXJlXCI6IFtcbiAgICAgICAgXCJhYnN0ZW50aW9uXCIsXG4gICAgICAgIFwiY29udHJlXCIsXG4gICAgICAgIFwicG91clwiLFxuICAgIF0sXG4gICAgXCJMaWV1Vm90ZVwiOiBbXG4gICAgICAgIFwiQ29uZ3LDqHNcIixcbiAgICAgICAgXCJIw6ltaWN5Y2xlXCIsXG4gICAgICAgIFwiU2Fsb25zXCIsXG4gICAgXSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUEsSUE2RFlBLHVCQUF1QixHQUFBQyxPQUFBLENBQUFELHVCQUFBLDBCQUF2QkEsdUJBQXVCO0VBQXZCQSx1QkFBdUI7RUFBdkJBLHVCQUF1QjtFQUFBLE9BQXZCQSx1QkFBdUI7QUFBQTtBQUFBLElBZ0J2QkUsSUFBSSxHQUFBRCxPQUFBLENBQUFDLElBQUEsMEJBQUpBLElBQUk7RUFBSkEsSUFBSTtFQUFKQSxJQUFJO0VBQUEsT0FBSkEsSUFBSTtBQUFBO0FBQUEsSUFLSkMsT0FBTyxHQUFBRixPQUFBLENBQUFFLE9BQUEsMEJBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFBLE9BQVBBLE9BQU87QUFBQTtBQUFBLElBNkJQQyxZQUFZLEdBQUFILE9BQUEsQ0FB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