@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
@@ -38,44 +38,42 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
38
38
  //
39
39
  // These functions will throw an error if the JSON doesn't
40
40
  // match the expected interface, even if the JSON is valid.
41
- var ReunionXsiType;
42
- exports.ReunionXsiType = ReunionXsiType;
43
- (function (ReunionXsiType) {
41
+ var ReunionXsiType = /*#__PURE__*/function (ReunionXsiType) {
44
42
  ReunionXsiType["ReunionCommissionType"] = "reunionCommission_type";
45
43
  ReunionXsiType["ReunionInitParlementaireType"] = "reunionInitParlementaire_type";
46
44
  ReunionXsiType["SeanceType"] = "seance_type";
47
- })(ReunionXsiType || (exports.ReunionXsiType = ReunionXsiType = {}));
48
- var PointOdjXsiType;
49
- exports.PointOdjXsiType = PointOdjXsiType;
50
- (function (PointOdjXsiType) {
45
+ return ReunionXsiType;
46
+ }({});
47
+ exports.ReunionXsiType = ReunionXsiType;
48
+ var PointOdjXsiType = /*#__PURE__*/function (PointOdjXsiType) {
51
49
  PointOdjXsiType["PodjReunionType"] = "podjReunion_type";
52
50
  PointOdjXsiType["PodjSeanceConfPresType"] = "podjSeanceConfPres_type";
53
- })(PointOdjXsiType || (exports.PointOdjXsiType = PointOdjXsiType = {}));
54
- var EtatCycleDeVie;
55
- exports.EtatCycleDeVie = EtatCycleDeVie;
56
- (function (EtatCycleDeVie) {
51
+ return PointOdjXsiType;
52
+ }({});
53
+ exports.PointOdjXsiType = PointOdjXsiType;
54
+ var EtatCycleDeVie = /*#__PURE__*/function (EtatCycleDeVie) {
57
55
  EtatCycleDeVie["Annul\xE9"] = "Annul\xE9";
58
56
  EtatCycleDeVie["Confirm\xE9"] = "Confirm\xE9";
59
57
  EtatCycleDeVie["Eventuel"] = "Eventuel";
60
58
  EtatCycleDeVie["Supprim\xE9"] = "Supprim\xE9";
61
- })(EtatCycleDeVie || (exports.EtatCycleDeVie = EtatCycleDeVie = {}));
62
- var NatureTravauxOdj;
63
- exports.NatureTravauxOdj = NatureTravauxOdj;
64
- (function (NatureTravauxOdj) {
59
+ return EtatCycleDeVie;
60
+ }({});
61
+ exports.EtatCycleDeVie = EtatCycleDeVie;
62
+ var NatureTravauxOdj = /*#__PURE__*/function (NatureTravauxOdj) {
65
63
  NatureTravauxOdj["Odjpr"] = "ODJPR";
66
64
  NatureTravauxOdj["Odjsn"] = "ODJSN";
67
- })(NatureTravauxOdj || (exports.NatureTravauxOdj = NatureTravauxOdj = {}));
68
- var Procedure;
69
- exports.Procedure = Procedure;
70
- (function (Procedure) {
65
+ return NatureTravauxOdj;
66
+ }({});
67
+ exports.NatureTravauxOdj = NatureTravauxOdj;
68
+ var Procedure = /*#__PURE__*/function (Procedure) {
71
69
  Procedure["DiscussionG\xE9n\xE9raleCommune"] = "discussion g\xE9n\xE9rale commune";
72
70
  Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle103"] = "proc\xE9dure d'examen simplifi\xE9e-Article 103";
73
71
  Procedure["Proc\xE9dureDExamenSimplifi\xE9eArticle106"] = "proc\xE9dure d'examen simplifi\xE9e-Article 106";
74
72
  Procedure["Proc\xE9dureDeL\xE9gislationEnCommissionArticle1071"] = "proc\xE9dure de l\xE9gislation en commission-Article 107-1";
75
- })(Procedure || (exports.Procedure = Procedure = {}));
76
- var TypePointOdj;
77
- exports.TypePointOdj = TypePointOdj;
78
- (function (TypePointOdj) {
73
+ return Procedure;
74
+ }({});
75
+ exports.Procedure = Procedure;
76
+ var TypePointOdj = /*#__PURE__*/function (TypePointOdj) {
79
77
  TypePointOdj["AmendementsArt88"] = "Amendements (Art. 88)";
80
78
  TypePointOdj["AmendementsArt91"] = "Amendements (Art. 91)";
81
79
  TypePointOdj["Audition"] = "Audition";
@@ -109,53 +107,55 @@ exports.TypePointOdj = TypePointOdj;
109
107
  TypePointOdj["TableRonde"] = "Table ronde";
110
108
  TypePointOdj["VoteParScrutinPublic"] = "Vote par scrutin public";
111
109
  TypePointOdj["VoteSolennel"] = "Vote solennel";
112
- })(TypePointOdj || (exports.TypePointOdj = TypePointOdj = {}));
113
- var FormatReunion;
114
- exports.FormatReunion = FormatReunion;
115
- (function (FormatReunion) {
110
+ return TypePointOdj;
111
+ }({});
112
+ exports.TypePointOdj = TypePointOdj;
113
+ var FormatReunion = /*#__PURE__*/function (FormatReunion) {
116
114
  FormatReunion["AuditionExterne"] = "AuditionExterne";
117
115
  FormatReunion["AuditionParPresidentCommission"] = "AuditionParPresidentCommission";
118
116
  FormatReunion["AuditionParRapporteur"] = "AuditionParRapporteur";
119
117
  FormatReunion["Ordinaire"] = "Ordinaire";
120
- })(FormatReunion || (exports.FormatReunion = FormatReunion = {}));
121
- var Quantieme;
122
- exports.Quantieme = Quantieme;
123
- (function (Quantieme) {
118
+ return FormatReunion;
119
+ }({});
120
+ exports.FormatReunion = FormatReunion;
121
+ var Quantieme = /*#__PURE__*/function (Quantieme) {
124
122
  Quantieme["Deuxi\xE8me"] = "Deuxi\xE8me";
125
123
  Quantieme["Premi\xE8re"] = "Premi\xE8re";
126
124
  Quantieme["Troisi\xE8me"] = "Troisi\xE8me";
127
125
  Quantieme["Unique"] = "Unique";
128
- })(Quantieme || (exports.Quantieme = Quantieme = {}));
129
- var Presence;
130
- exports.Presence = Presence;
131
- (function (Presence) {
126
+ return Quantieme;
127
+ }({});
128
+ exports.Quantieme = Quantieme;
129
+ var Presence = /*#__PURE__*/function (Presence) {
132
130
  Presence["Absent"] = "absent";
133
131
  Presence["Excus\xE9"] = "excus\xE9";
134
132
  Presence["Pr\xE9sent"] = "pr\xE9sent";
135
- })(Presence || (exports.Presence = Presence = {}));
136
- var Civ;
137
- exports.Civ = Civ;
138
- (function (Civ) {
133
+ return Presence;
134
+ }({});
135
+ exports.Presence = Presence;
136
+ var Civ = /*#__PURE__*/function (Civ) {
139
137
  Civ["M"] = "M.";
140
138
  Civ["Mme"] = "Mme";
141
- })(Civ || (exports.Civ = Civ = {}));
142
- var PersonneAuditionneeXsiType;
143
- exports.PersonneAuditionneeXsiType = PersonneAuditionneeXsiType;
144
- (function (PersonneAuditionneeXsiType) {
139
+ return Civ;
140
+ }({});
141
+ exports.Civ = Civ;
142
+ var PersonneAuditionneeXsiType = /*#__PURE__*/function (PersonneAuditionneeXsiType) {
145
143
  PersonneAuditionneeXsiType["IdActeurType"] = "IdActeur_type";
146
144
  PersonneAuditionneeXsiType["IdPersonneExterneType"] = "IdPersonneExterne_type";
147
- })(PersonneAuditionneeXsiType || (exports.PersonneAuditionneeXsiType = PersonneAuditionneeXsiType = {}));
148
- var TypeReunion; // Converts JSON strings to/from your types
149
- // and asserts the results of JSON.parse at runtime
150
- exports.TypeReunion = TypeReunion;
151
- (function (TypeReunion) {
145
+ return PersonneAuditionneeXsiType;
146
+ }({});
147
+ exports.PersonneAuditionneeXsiType = PersonneAuditionneeXsiType;
148
+ var TypeReunion = /*#__PURE__*/function (TypeReunion) {
152
149
  TypeReunion["Dep"] = "DEP";
153
150
  TypeReunion["Ga"] = "GA";
154
151
  TypeReunion["Ge"] = "GE";
155
152
  TypeReunion["Gevi"] = "GEVI";
156
153
  TypeReunion["Gp"] = "GP";
157
154
  TypeReunion["H\xE9Aur\xE9lien"] = "H\xC9 Aur\xE9lien";
158
- })(TypeReunion || (exports.TypeReunion = TypeReunion = {}));
155
+ return TypeReunion;
156
+ }({}); // Converts JSON strings to/from your types
157
+ // and asserts the results of JSON.parse at runtime
158
+ exports.TypeReunion = TypeReunion;
159
159
  var Convert = /*#__PURE__*/function () {
160
160
  function Convert() {
161
161
  _classCallCheck(this, Convert);
@@ -630,4 +630,4 @@ var typeMap = {
630
630
  PersonneAuditionneeXsiType: ["IdActeur_type", "IdPersonneExterne_type"],
631
631
  TypeReunion: ["DEP", "GA", "GE", "GEVI", "GP", "HÉ Aurélien"]
632
632
  };
633
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXVuaW9uWHNpVHlwZSIsImV4cG9ydHMiLCJQb2ludE9kalhzaVR5cGUiLCJFdGF0Q3ljbGVEZVZpZSIsIk5hdHVyZVRyYXZhdXhPZGoiLCJQcm9jZWR1cmUiLCJUeXBlUG9pbnRPZGoiLCJGb3JtYXRSZXVuaW9uIiwiUXVhbnRpZW1lIiwiUHJlc2VuY2UiLCJDaXYiLCJQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZSIsIlR5cGVSZXVuaW9uIiwiQ29udmVydCIsIl9jbGFzc0NhbGxDaGVjayIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwidG9BZ2VuZGFzIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwiYWdlbmRhc1RvSnNvbiIsInN0cmluZ2lmeSIsInVuY2FzdCIsInRvUmV1bmlvbiIsInJldW5pb25Ub0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJFcnJvciIsImNvbmNhdCIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRyYW5zZm9ybVVuaW9uIiwidHlwcyIsImwiLCJpIiwiXyIsInRyYW5zZm9ybUVudW0iLCJjYXNlcyIsImluZGV4T2YiLCJ0cmFuc2Zvcm1BcnJheSIsIkFycmF5IiwiaXNBcnJheSIsImVsIiwidHJhbnNmb3JtRGF0ZSIsImQiLCJEYXRlIiwiaXNOYU4iLCJ2YWx1ZU9mIiwidHJhbnNmb3JtT2JqZWN0IiwiYWRkaXRpb25hbCIsInJlc3VsdCIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wIiwidiIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInJlZiIsInR5cGVNYXAiLCJ1bmlvbk1lbWJlcnMiLCJhcnJheUl0ZW1zIiwiYSIsInUiLCJfbGVuIiwiX2tleSIsIm8iLCJuYW1lIiwiQWdlbmRhcyIsIlJldW5pb24iLCJPZGoiLCJQb2ludE9kaiIsIkN5Y2xlRGVWaWUiLCJDaHJvbm8iLCJEZW1hbmRldXJzIiwiRGVtYW5kZXVyQWN0ZXVyIiwiRGVtYW5kZXVyT3JnYW5lIiwiSWRlbnRpZmlhbnRzIiwiSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlIiwiTGlldSIsIlBhcnRpY2lwYW50cyIsIlBhcnRpY2lwYW50SW50ZXJuZSIsIlBlcnNvbm5lQXVkaXRpb25uZWUiLCJJZGVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9hZ2VuZGFzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIFJldW5pb24sIEFnZW5kYXMgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCByZXVuaW9uID0gQ29udmVydC50b1JldW5pb24oanNvbik7XG4vLyAgIGNvbnN0IGFnZW5kYXMgPSBDb252ZXJ0LnRvQWdlbmRhcyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5pbXBvcnQgeyBBY3RldXIsIE9yZ2FuZSB9IGZyb20gXCIuL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbmRhcyB7XG4gIHJldW5pb25zOiBSZXVuaW9uW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXVuaW9uIHtcbiAgc2NoZW1hVmVyc2lvbj86IHN0cmluZ1xuICB4c2lUeXBlPzogUmV1bmlvblhzaVR5cGVcbiAgdWlkOiBzdHJpbmdcbiAgdGltZXN0YW1wRGVidXQ6IERhdGVcbiAgdGltZXN0YW1wRmluPzogRGF0ZVxuICBsaWV1PzogTGlldVxuICBjeWNsZURlVmllOiBDeWNsZURlVmllXG4gIGRlbWFuZGV1cnM/OiBEZW1hbmRldXJzXG4gIG9yZ2FuZVJldW5pUmVmPzogc3RyaW5nXG4gIG9yZ2FuZVJldW5pPzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHR5cGVSZXVuaW9uPzogVHlwZVJldW5pb25cbiAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRzXG4gIHNlc3Npb25SZWY/OiBzdHJpbmdcbiAgb3V2ZXJ0dXJlUHJlc3NlPzogYm9vbGVhblxuICBvZGo/OiBPZGpcbiAgY29tcHRlUmVuZHVSZWY/OiBzdHJpbmdcbiAgaWRlbnRpZmlhbnRzPzogSWRlbnRpZmlhbnRzXG4gIGZvcm1hdFJldW5pb24/OiBGb3JtYXRSZXVuaW9uXG4gIGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZT86IEluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVxuICBjYXB0YXRpb25WaWRlbz86IGJvb2xlYW5cbiAgdmlzaW9Db25mZXJlbmNlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFJldW5pb25Yc2lUeXBlIHtcbiAgUmV1bmlvbkNvbW1pc3Npb25UeXBlID0gXCJyZXVuaW9uQ29tbWlzc2lvbl90eXBlXCIsXG4gIFJldW5pb25Jbml0UGFybGVtZW50YWlyZVR5cGUgPSBcInJldW5pb25Jbml0UGFybGVtZW50YWlyZV90eXBlXCIsXG4gIFNlYW5jZVR5cGUgPSBcInNlYW5jZV90eXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2RqIHtcbiAgY29udm9jYXRpb25PZGo/OiBzdHJpbmdbXVxuICByZXN1bWVPZGo/OiBzdHJpbmdbXVxuICBwb2ludHNPZGo/OiBQb2ludE9kaltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRPZGoge1xuICB4c2lUeXBlOiBQb2ludE9kalhzaVR5cGVcbiAgdWlkOiBzdHJpbmdcbiAgY3ljbGVEZVZpZTogQ3ljbGVEZVZpZVxuICBvYmpldDogc3RyaW5nXG4gIHByb2NlZHVyZT86IFByb2NlZHVyZVxuICBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcz86IHN0cmluZ1tdXG4gIHR5cGVQb2ludE9kajogVHlwZVBvaW50T2RqXG4gIGNvbWl0ZVNlY3JldDogYm9vbGVhblxuICBuYXR1cmVUcmF2YXV4T2RqPzogTmF0dXJlVHJhdmF1eE9kalxuICBkYXRlQ29uZlByZXM/OiBEYXRlXG4gIGRhdGVMZXR0cmVNaW5pc3RyZT86IERhdGVcbn1cblxuZXhwb3J0IGVudW0gUG9pbnRPZGpYc2lUeXBlIHtcbiAgUG9kalJldW5pb25UeXBlID0gXCJwb2RqUmV1bmlvbl90eXBlXCIsXG4gIFBvZGpTZWFuY2VDb25mUHJlc1R5cGUgPSBcInBvZGpTZWFuY2VDb25mUHJlc190eXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3ljbGVEZVZpZSB7XG4gIGV0YXQ6IEV0YXRDeWNsZURlVmllXG4gIGNocm9ubzogQ2hyb25vXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyb25vIHtcbiAgY3JlYXRpb246IERhdGVcbiAgY2xvdHVyZT86IERhdGVcbn1cblxuZXhwb3J0IGVudW0gRXRhdEN5Y2xlRGVWaWUge1xuICBBbm51bMOpID0gXCJBbm51bMOpXCIsXG4gIENvbmZpcm3DqSA9IFwiQ29uZmlybcOpXCIsXG4gIEV2ZW50dWVsID0gXCJFdmVudHVlbFwiLFxuICBTdXBwcmltw6kgPSBcIlN1cHByaW3DqVwiLFxufVxuXG5leHBvcnQgZW51bSBOYXR1cmVUcmF2YXV4T2RqIHtcbiAgT2RqcHIgPSBcIk9ESlBSXCIsXG4gIE9kanNuID0gXCJPREpTTlwiLFxufVxuXG5leHBvcnQgZW51bSBQcm9jZWR1cmUge1xuICBEaXNjdXNzaW9uR8OpbsOpcmFsZUNvbW11bmUgPSBcImRpc2N1c3Npb24gZ8OpbsOpcmFsZSBjb21tdW5lXCIsXG4gIFByb2PDqWR1cmVERXhhbWVuU2ltcGxpZmnDqWVBcnRpY2xlMTAzID0gXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTAzXCIsXG4gIFByb2PDqWR1cmVERXhhbWVuU2ltcGxpZmnDqWVBcnRpY2xlMTA2ID0gXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTA2XCIsXG4gIFByb2PDqWR1cmVEZUzDqWdpc2xhdGlvbkVuQ29tbWlzc2lvbkFydGljbGUxMDcxID0gXCJwcm9jw6lkdXJlIGRlIGzDqWdpc2xhdGlvbiBlbiBjb21taXNzaW9uLUFydGljbGUgMTA3LTFcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZVBvaW50T2RqIHtcbiAgQW1lbmRlbWVudHNBcnQ4OCA9IFwiQW1lbmRlbWVudHMgKEFydC4gODgpXCIsXG4gIEFtZW5kZW1lbnRzQXJ0OTEgPSBcIkFtZW5kZW1lbnRzIChBcnQuIDkxKVwiLFxuICBBdWRpdGlvbiA9IFwiQXVkaXRpb25cIixcbiAgQXVkaXRpb25NaW5pc3RyZSA9IFwiQXVkaXRpb24gbWluaXN0cmVcIixcbiAgQXVkaXRpb25NaW5pc3RyZU91dmVydGXDgExhUHJlc3NlID0gXCJBdWRpdGlvbiBtaW5pc3RyZSBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICBBdWRpdGlvbk91dmVydGXDgExhUHJlc3NlID0gXCJBdWRpdGlvbiBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICBDb21tdW5pY2F0aW9uID0gXCJDb21tdW5pY2F0aW9uXCIsXG4gIENvbnN0aXR1dGlvbkRlTWlzc2lvbkRJbmZvcm1hdGlvbiA9IFwiQ29uc3RpdHV0aW9uIGRlIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICBEaXNjdXNzaW9uID0gXCJEaXNjdXNzaW9uXCIsXG4gIETDqWJhdERJbml0aWF0aXZlUGFybGVtZW50YWlyZSA9IFwiRMOpYmF0IGQnaW5pdGlhdGl2ZSBwYXJsZW1lbnRhaXJlXCIsXG4gIETDqWNsYXJhdGlvbkR1R291dmVybmVtZW50U3VpdmllRFVuRMOpYmF0ID0gXCJEw6ljbGFyYXRpb24gZHUgR291dmVybmVtZW50IHN1aXZpZSBkJ3VuIGTDqWJhdFwiLFxuICBFY2hhbmdlc0RlVnVlcyA9IFwiRWNoYW5nZXMgZGUgdnVlc1wiLFxuICBFeGFtZW4gPSBcIkV4YW1lblwiLFxuICBFeHBsaWNhdGlvbnNEZVZvdGVEZXNHcm91cGVzRXRWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZGVzIGdyb3VwZXMgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgRXhwbGljYXRpb25zRGVWb3RlRXRWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgRml4YXRpb25EZUxPcmRyZUR1Sm91ciA9IFwiRml4YXRpb24gZGUgbCdvcmRyZSBkdSBqb3VyXCIsXG4gIE5vbWluYXRpb25CdXJlYXUgPSBcIk5vbWluYXRpb24gYnVyZWF1XCIsXG4gIE5vbWluYXRpb25DYW5kaWRhdHNPcmdhbmlzbWVFeHRyYXBhcmxlbWVudGFpcmUgPSBcIk5vbWluYXRpb24gY2FuZGlkYXRzIG9yZ2FuaXNtZSBleHRyYXBhcmxlbWVudGFpcmVcIixcbiAgTm9taW5hdGlvbkRVbk1lbWJyZURVbmVNaXNzaW9uREluZm9ybWF0aW9uID0gXCJOb21pbmF0aW9uIGQndW4gbWVtYnJlIGQndW5lIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1ciA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyXCIsXG4gIE5vbWluYXRpb25SYXBwb3J0ZXVyREFwcGxpY2F0aW9uID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdhcHBsaWNhdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1ckRJbmZvcm1hdGlvbiA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIGQnaW5mb3JtYXRpb25cIixcbiAgTm9taW5hdGlvblJhcHBvcnRldXJQb3VyQXZpcyA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIHBvdXIgYXZpc1wiLFxuICBPdXZlcnR1cmVFdENsw7R0dXJlRGVTZXNzaW9uID0gXCJPdXZlcnR1cmUgZXQgY2zDtHR1cmUgZGUgc2Vzc2lvblwiLFxuICBRdWVzdGlvbnNBdUdvdXZlcm5lbWVudCA9IFwiUXVlc3Rpb25zIGF1IEdvdXZlcm5lbWVudFwiLFxuICBRdWVzdGlvbnNPcmFsZXNTYW5zRMOpYmF0ID0gXCJRdWVzdGlvbnMgb3JhbGVzIHNhbnMgZMOpYmF0XCIsXG4gIFJhcHBvcnQgPSBcIlJhcHBvcnRcIixcbiAgUmFwcG9ydERJbmZvcm1hdGlvbiA9IFwiUmFwcG9ydCBkJ2luZm9ybWF0aW9uXCIsXG4gIFJhcHBvcnRQb3VyQXZpcyA9IFwiUmFwcG9ydCBwb3VyIGF2aXNcIixcbiAgU3VpdGVEZUxhRGlzY3Vzc2lvbiA9IFwiU3VpdGUgZGUgbGEgZGlzY3Vzc2lvblwiLFxuICBUYWJsZVJvbmRlID0gXCJUYWJsZSByb25kZVwiLFxuICBWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiVm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgVm90ZVNvbGVubmVsID0gXCJWb3RlIHNvbGVubmVsXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVycyB7XG4gIGFjdGV1cnM/OiBEZW1hbmRldXJBY3RldXJbXVxuICBvcmdhbmU/OiBEZW1hbmRldXJPcmdhbmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXJBY3RldXIge1xuICBub20/OiBzdHJpbmdcbiAgYWN0ZXVyUmVmOiBzdHJpbmdcbiAgYWN0ZXVyPzogQWN0ZXVyIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyT3JnYW5lIHtcbiAgbm9tOiBzdHJpbmdcbiAgb3JnYW5lUmVmOiBzdHJpbmdcbiAgb3JnYW5lPzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG59XG5cbmV4cG9ydCBlbnVtIEZvcm1hdFJldW5pb24ge1xuICBBdWRpdGlvbkV4dGVybmUgPSBcIkF1ZGl0aW9uRXh0ZXJuZVwiLFxuICBBdWRpdGlvblBhclByZXNpZGVudENvbW1pc3Npb24gPSBcIkF1ZGl0aW9uUGFyUHJlc2lkZW50Q29tbWlzc2lvblwiLFxuICBBdWRpdGlvblBhclJhcHBvcnRldXIgPSBcIkF1ZGl0aW9uUGFyUmFwcG9ydGV1clwiLFxuICBPcmRpbmFpcmUgPSBcIk9yZGluYWlyZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpYW50cyB7XG4gIG51bVNlYW5jZUpvPzogc3RyaW5nXG4gIGlkSm8/OiBzdHJpbmdcbiAgcXVhbnRpZW1lOiBRdWFudGllbWVcbiAgZGF0ZVNlYW5jZTogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFF1YW50aWVtZSB7XG4gIERldXhpw6htZSA9IFwiRGV1eGnDqG1lXCIsXG4gIFByZW1pw6hyZSA9IFwiUHJlbWnDqHJlXCIsXG4gIFRyb2lzacOobWUgPSBcIlRyb2lzacOobWVcIixcbiAgVW5pcXVlID0gXCJVbmlxdWVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUge1xuICBlc3RSZXVuaW9uSW50ZXJuYXRpb25hbGU6IGJvb2xlYW5cbiAgbGlzdGVQYXlzPzogc3RyaW5nW11cbiAgaW5mb3JtYXRpb25zQ29tcGxlbWVudGFpcmVzPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlldSB7XG4gIGNvZGU/OiBzdHJpbmdcbiAgbGliZWxsZUNvdXJ0Pzogc3RyaW5nXG4gIGxpYmVsbGVMb25nPzogc3RyaW5nXG4gIGxpZXVSZWY/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWNpcGFudHMge1xuICBwYXJ0aWNpcGFudHNJbnRlcm5lcz86IFBhcnRpY2lwYW50SW50ZXJuZVtdXG4gIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcz86IFBlcnNvbm5lQXVkaXRpb25uZWVbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpY2lwYW50SW50ZXJuZSB7XG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBwcmVzZW5jZTogUHJlc2VuY2Vcbn1cblxuZXhwb3J0IGVudW0gUHJlc2VuY2Uge1xuICBBYnNlbnQgPSBcImFic2VudFwiLFxuICBFeGN1c8OpID0gXCJleGN1c8OpXCIsXG4gIFByw6lzZW50ID0gXCJwcsOpc2VudFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNvbm5lQXVkaXRpb25uZWUge1xuICB4c2lUeXBlOiBQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZVxuICB1aWQ6IHN0cmluZ1xuICBpZGVudDogSWRlbnRcbiAgZGF0ZU5haXM/OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnQge1xuICBjaXY6IENpdlxuICBwcmVub206IHN0cmluZ1xuICBub206IHN0cmluZ1xuICBhbHBoYT86IHN0cmluZ1xuICB0cmlncmFtbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gQ2l2IHtcbiAgTSA9IFwiTS5cIixcbiAgTW1lID0gXCJNbWVcIixcbn1cblxuZXhwb3J0IGVudW0gUGVyc29ubmVBdWRpdGlvbm5lZVhzaVR5cGUge1xuICBJZEFjdGV1clR5cGUgPSBcIklkQWN0ZXVyX3R5cGVcIixcbiAgSWRQZXJzb25uZUV4dGVybmVUeXBlID0gXCJJZFBlcnNvbm5lRXh0ZXJuZV90eXBlXCIsXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVSZXVuaW9uIHtcbiAgRGVwID0gXCJERVBcIiwgLy8gRMOpcHV0w6lcbiAgR2EgPSBcIkdBXCIsIC8vIEdyb3VwZSBkJ2FtaXRpw6lcbiAgR2UgPSBcIkdFXCIsIC8vIEdyb3VwZSBkJ8OpdHVkZVxuICBHZXZpID0gXCJHRVZJXCIsIC8vIEdyb3VwZSBkJ8OpdHVkZSDDoCB2b2NhdGlvbiBpbnRlcm5hdGlvbmFsZVxuICBHcCA9IFwiR1BcIiwgLy8gR3JvdXBlIHBhcmxlbWVudGFpcmVcbiAgSMOpQXVyw6lsaWVuID0gXCJIw4kgQXVyw6lsaWVuXCIsXG59XG5cbi8vIENvbnZlcnRzIEpTT04gc3RyaW5ncyB0by9mcm9tIHlvdXIgdHlwZXNcbi8vIGFuZCBhc3NlcnRzIHRoZSByZXN1bHRzIG9mIEpTT04ucGFyc2UgYXQgcnVudGltZVxuZXhwb3J0IGNsYXNzIENvbnZlcnQge1xuICBwdWJsaWMgc3RhdGljIHRvQWdlbmRhcyhqc29uOiBzdHJpbmcpOiBBZ2VuZGFzIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiQWdlbmRhc1wiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYWdlbmRhc1RvSnNvbih2YWx1ZTogQWdlbmRhcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkFnZW5kYXNcIikpLCBudWxsLCAyKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b1JldW5pb24oanNvbjogc3RyaW5nKTogUmV1bmlvbiB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlJldW5pb25cIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJldW5pb25Ub0pzb24odmFsdWU6IFJldW5pb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJSZXVuaW9uXCIpKSwgbnVsbCwgMilcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBuZXZlciB7XG4gIGlmIChrZXkpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICB0eXAsXG4gICAgICApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gLFxuICAgIClcbiAgfVxuICB0aHJvdyBFcnJvcihcbiAgICBgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLFxuICApXG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICB2YXIgbWFwOiBhbnkgPSB7fVxuICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IChtYXBbcC5qc29uXSA9IHsga2V5OiBwLmpzLCB0eXA6IHAudHlwIH0pKVxuICAgIHR5cC5qc29uVG9KUyA9IG1hcFxuICB9XG4gIHJldHVybiB0eXAuanNvblRvSlNcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNUb0pTT04gPT09IHVuZGVmaW5lZCkge1xuICAgIHZhciBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzVG9KU09OID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc1RvSlNPTlxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBhbnkge1xuICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICBjb25zdCBsID0gdHlwcy5sZW5ndGhcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgdHlwID0gdHlwc1tpXVxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpXG4gICAgICB9IGNhdGNoIChfKSB7fVxuICAgIH1cbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKVxuICAgIHJldHVybiB2YWwubWFwKChlbCkgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpXG4gICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKVxuICAgIH1cbiAgICByZXR1cm4gZFxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KFxuICAgIHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSxcbiAgICBhZGRpdGlvbmFsOiBhbnksXG4gICAgdmFsOiBhbnksXG4gICk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpXG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge31cbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XVxuICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSlcbiAgICAgICAgPyB2YWxba2V5XVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KVxuICAgIH0pXG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbFxuICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl1cbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbClcbiAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpXG4gICAgICA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJwcm9wc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKVxuICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKVxufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKVxufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpXG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH1cbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfVxufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH1cbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH1cbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHsgcmVmOiBuYW1lIH1cbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICBBZ2VuZGFzOiBvKFxuICAgIFt7IGpzb246IFwicmV1bmlvbnNcIiwganM6IFwicmV1bmlvbnNcIiwgdHlwOiBhKHIoXCJSZXVuaW9uXCIpKSB9XSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUmV1bmlvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwic2NoZW1hVmVyc2lvblwiLCBqczogXCJzY2hlbWFWZXJzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwieHNpVHlwZVwiLFxuICAgICAgICBqczogXCJ4c2lUeXBlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJSZXVuaW9uWHNpVHlwZVwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidGltZXN0YW1wRGVidXRcIiwganM6IFwidGltZXN0YW1wRGVidXRcIiwgdHlwOiBEYXRlIH0sXG4gICAgICB7IGpzb246IFwidGltZXN0YW1wRmluXCIsIGpzOiBcInRpbWVzdGFtcEZpblwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgICAgeyBqc29uOiBcImxpZXVcIiwganM6IFwibGlldVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiTGlldVwiKSkgfSxcbiAgICAgIHsganNvbjogXCJjeWNsZURlVmllXCIsIGpzOiBcImN5Y2xlRGVWaWVcIiwgdHlwOiByKFwiQ3ljbGVEZVZpZVwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRlbWFuZGV1cnNcIixcbiAgICAgICAganM6IFwiZGVtYW5kZXVyc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGVtYW5kZXVyc1wiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJldW5pUmVmXCIsIGpzOiBcIm9yZ2FuZVJldW5pUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidHlwZVJldW5pb25cIixcbiAgICAgICAganM6IFwidHlwZVJldW5pb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVSZXVuaW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGFydGljaXBhbnRzXCIsXG4gICAgICAgIGpzOiBcInBhcnRpY2lwYW50c1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUGFydGljaXBhbnRzXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwic2Vzc2lvblJlZlwiLCBqczogXCJzZXNzaW9uUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwib3V2ZXJ0dXJlUHJlc3NlXCIsXG4gICAgICAgIGpzOiBcIm91dmVydHVyZVByZXNzZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBmYWxzZSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm9kalwiLCBqczogXCJvZGpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk9kalwiKSkgfSxcbiAgICAgIHsganNvbjogXCJjb21wdGVSZW5kdVJlZlwiLCBqczogXCJjb21wdGVSZW5kdVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImlkZW50aWZpYW50c1wiLFxuICAgICAgICBqczogXCJpZGVudGlmaWFudHNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIklkZW50aWZpYW50c1wiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImZvcm1hdFJldW5pb25cIixcbiAgICAgICAganM6IFwiZm9ybWF0UmV1bmlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRm9ybWF0UmV1bmlvblwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiLFxuICAgICAgICBqczogXCJpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNhcHRhdGlvblZpZGVvXCIsXG4gICAgICAgIGpzOiBcImNhcHRhdGlvblZpZGVvXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGZhbHNlKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidmlzaW9Db25mZXJlbmNlXCIsIGpzOiBcInZpc2lvQ29uZmVyZW5jZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIE9kajogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29udm9jYXRpb25PZGpcIixcbiAgICAgICAganM6IFwiY29udm9jYXRpb25PZGpcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInJlc3VtZU9kalwiLCBqczogXCJyZXN1bWVPZGpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwb2ludHNPZGpcIixcbiAgICAgICAganM6IFwicG9pbnRzT2RqXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBvaW50T2RqXCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBvaW50T2RqOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ4c2lUeXBlXCIsIGpzOiBcInhzaVR5cGVcIiwgdHlwOiByKFwiUG9pbnRPZGpYc2lUeXBlXCIpIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJjeWNsZURlVmllXCIsIGpzOiBcImN5Y2xlRGVWaWVcIiwgdHlwOiByKFwiQ3ljbGVEZVZpZVwiKSB9LFxuICAgICAgeyBqc29uOiBcIm9iamV0XCIsIGpzOiBcIm9iamV0XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInByb2NlZHVyZVwiLCBqczogXCJwcm9jZWR1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlByb2NlZHVyZVwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1wiLFxuICAgICAgICBqczogXCJkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidHlwZVBvaW50T2RqXCIsIGpzOiBcInR5cGVQb2ludE9kalwiLCB0eXA6IHIoXCJUeXBlUG9pbnRPZGpcIikgfSxcbiAgICAgIHsganNvbjogXCJjb21pdGVTZWNyZXRcIiwganM6IFwiY29taXRlU2VjcmV0XCIsIHR5cDogZmFsc2UgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJuYXR1cmVUcmF2YXV4T2RqXCIsXG4gICAgICAgIGpzOiBcIm5hdHVyZVRyYXZhdXhPZGpcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk5hdHVyZVRyYXZhdXhPZGpcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJkYXRlQ29uZlByZXNcIiwganM6IFwiZGF0ZUNvbmZQcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGF0ZUxldHRyZU1pbmlzdHJlXCIsXG4gICAgICAgIGpzOiBcImRhdGVMZXR0cmVNaW5pc3RyZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ3ljbGVEZVZpZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiZXRhdFwiLCBqczogXCJldGF0XCIsIHR5cDogcihcIkV0YXRDeWNsZURlVmllXCIpIH0sXG4gICAgICB7IGpzb246IFwiY2hyb25vXCIsIGpzOiBcImNocm9ub1wiLCB0eXA6IHIoXCJDaHJvbm9cIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDaHJvbm86IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNyZWF0aW9uXCIsIGpzOiBcImNyZWF0aW9uXCIsIHR5cDogRGF0ZSB9LFxuICAgICAgeyBqc29uOiBcImNsb3R1cmVcIiwganM6IFwiY2xvdHVyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlbWFuZGV1cnM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImFjdGV1cnNcIixcbiAgICAgICAganM6IFwiYWN0ZXVyc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJEZW1hbmRldXJBY3RldXJcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lXCIsIGpzOiBcIm9yZ2FuZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGVtYW5kZXVyT3JnYW5lXCIpKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlbWFuZGV1ckFjdGV1cjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGVtYW5kZXVyT3JnYW5lOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSWRlbnRpZmlhbnRzOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJudW1TZWFuY2VKb1wiLCBqczogXCJudW1TZWFuY2VKb1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImlkSm9cIiwganM6IFwiaWRKb1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInF1YW50aWVtZVwiLCBqczogXCJxdWFudGllbWVcIiwgdHlwOiByKFwiUXVhbnRpZW1lXCIpIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZVNlYW5jZVwiLCBqczogXCJkYXRlU2VhbmNlXCIsIHR5cDogRGF0ZSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZTogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZXN0UmV1bmlvbkludGVybmF0aW9uYWxlXCIsXG4gICAgICAgIGpzOiBcImVzdFJldW5pb25JbnRlcm5hdGlvbmFsZVwiLFxuICAgICAgICB0eXA6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJsaXN0ZVBheXNcIiwganM6IFwibGlzdGVQYXlzXCIsIHR5cDogdSh1bmRlZmluZWQsIGEoXCJcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW5mb3JtYXRpb25zQ29tcGxlbWVudGFpcmVzXCIsXG4gICAgICAgIGpzOiBcImluZm9ybWF0aW9uc0NvbXBsZW1lbnRhaXJlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTGlldTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUNvdXJ0XCIsIGpzOiBcImxpYmVsbGVDb3VydFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVMb25nXCIsIGpzOiBcImxpYmVsbGVMb25nXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGlldVJlZlwiLCBqczogXCJsaWV1UmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUGFydGljaXBhbnRzOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJ0aWNpcGFudHNJbnRlcm5lc1wiLFxuICAgICAgICBqczogXCJwYXJ0aWNpcGFudHNJbnRlcm5lc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJQYXJ0aWNpcGFudEludGVybmVcIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGVyc29ubmVzQXVkaXRpb25uZWVzXCIsXG4gICAgICAgIGpzOiBcInBlcnNvbm5lc0F1ZGl0aW9ubmVlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJQZXJzb25uZUF1ZGl0aW9ubmVlXCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBhcnRpY2lwYW50SW50ZXJuZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJwcmVzZW5jZVwiLCBqczogXCJwcmVzZW5jZVwiLCB0eXA6IHIoXCJQcmVzZW5jZVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBlcnNvbm5lQXVkaXRpb25uZWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IHIoXCJQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZVwiKSB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiaWRlbnRcIiwganM6IFwiaWRlbnRcIiwgdHlwOiByKFwiSWRlbnRcIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlTmFpc1wiLCBqczogXCJkYXRlTmFpc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIElkZW50OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjaXZcIiwganM6IFwiY2l2XCIsIHR5cDogcihcIkNpdlwiKSB9LFxuICAgICAgeyBqc29uOiBcInByZW5vbVwiLCBqczogXCJwcmVub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJhbHBoYVwiLCBqczogXCJhbHBoYVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInRyaWdyYW1tZVwiLCBqczogXCJ0cmlncmFtbWVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBSZXVuaW9uWHNpVHlwZTogW1xuICAgIFwicmV1bmlvbkNvbW1pc3Npb25fdHlwZVwiLFxuICAgIFwicmV1bmlvbkluaXRQYXJsZW1lbnRhaXJlX3R5cGVcIixcbiAgICBcInNlYW5jZV90eXBlXCIsXG4gIF0sXG4gIFBvaW50T2RqWHNpVHlwZTogW1wicG9kalJldW5pb25fdHlwZVwiLCBcInBvZGpTZWFuY2VDb25mUHJlc190eXBlXCJdLFxuICBFdGF0Q3ljbGVEZVZpZTogW1wiQW5udWzDqVwiLCBcIkNvbmZpcm3DqVwiLCBcIkV2ZW50dWVsXCIsIFwiU3VwcHJpbcOpXCJdLFxuICBOYXR1cmVUcmF2YXV4T2RqOiBbXCJPREpQUlwiLCBcIk9ESlNOXCJdLFxuICBQcm9jZWR1cmU6IFtcbiAgICBcImRpc2N1c3Npb24gZ8OpbsOpcmFsZSBjb21tdW5lXCIsXG4gICAgXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTAzXCIsXG4gICAgXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTA2XCIsXG4gICAgXCJwcm9jw6lkdXJlIGRlIGzDqWdpc2xhdGlvbiBlbiBjb21taXNzaW9uLUFydGljbGUgMTA3LTFcIixcbiAgXSxcbiAgVHlwZVBvaW50T2RqOiBbXG4gICAgXCJBbWVuZGVtZW50cyAoQXJ0LiA4OClcIixcbiAgICBcIkFtZW5kZW1lbnRzIChBcnQuIDkxKVwiLFxuICAgIFwiQXVkaXRpb25cIixcbiAgICBcIkF1ZGl0aW9uIG1pbmlzdHJlXCIsXG4gICAgXCJBdWRpdGlvbiBtaW5pc3RyZSBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICAgIFwiQXVkaXRpb24gb3V2ZXJ0ZSDDoCBsYSBwcmVzc2VcIixcbiAgICBcIkNvbW11bmljYXRpb25cIixcbiAgICBcIkNvbnN0aXR1dGlvbiBkZSBtaXNzaW9uIGQnaW5mb3JtYXRpb25cIixcbiAgICBcIkRpc2N1c3Npb25cIixcbiAgICBcIkTDqWJhdCBkJ2luaXRpYXRpdmUgcGFybGVtZW50YWlyZVwiLFxuICAgIFwiRMOpY2xhcmF0aW9uIGR1IEdvdXZlcm5lbWVudCBzdWl2aWUgZCd1biBkw6liYXRcIixcbiAgICBcIkVjaGFuZ2VzIGRlIHZ1ZXNcIixcbiAgICBcIkV4YW1lblwiLFxuICAgIFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZGVzIGdyb3VwZXMgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICBcIkV4cGxpY2F0aW9ucyBkZSB2b3RlIGV0IHZvdGUgcGFyIHNjcnV0aW4gcHVibGljXCIsXG4gICAgXCJGaXhhdGlvbiBkZSBsJ29yZHJlIGR1IGpvdXJcIixcbiAgICBcIk5vbWluYXRpb24gYnVyZWF1XCIsXG4gICAgXCJOb21pbmF0aW9uIGNhbmRpZGF0cyBvcmdhbmlzbWUgZXh0cmFwYXJsZW1lbnRhaXJlXCIsXG4gICAgXCJOb21pbmF0aW9uIGQndW4gbWVtYnJlIGQndW5lIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyXCIsXG4gICAgXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdhcHBsaWNhdGlvblwiLFxuICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIGQnaW5mb3JtYXRpb25cIixcbiAgICBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBwb3VyIGF2aXNcIixcbiAgICBcIk91dmVydHVyZSBldCBjbMO0dHVyZSBkZSBzZXNzaW9uXCIsXG4gICAgXCJRdWVzdGlvbnMgYXUgR291dmVybmVtZW50XCIsXG4gICAgXCJRdWVzdGlvbnMgb3JhbGVzIHNhbnMgZMOpYmF0XCIsXG4gICAgXCJSYXBwb3J0XCIsXG4gICAgXCJSYXBwb3J0IGQnaW5mb3JtYXRpb25cIixcbiAgICBcIlJhcHBvcnQgcG91ciBhdmlzXCIsXG4gICAgXCJTdWl0ZSBkZSBsYSBkaXNjdXNzaW9uXCIsXG4gICAgXCJUYWJsZSByb25kZVwiLFxuICAgIFwiVm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICBcIlZvdGUgc29sZW5uZWxcIixcbiAgXSxcbiAgRm9ybWF0UmV1bmlvbjogW1xuICAgIFwiQXVkaXRpb25FeHRlcm5lXCIsXG4gICAgXCJBdWRpdGlvblBhclByZXNpZGVudENvbW1pc3Npb25cIixcbiAgICBcIkF1ZGl0aW9uUGFyUmFwcG9ydGV1clwiLFxuICAgIFwiT3JkaW5haXJlXCIsXG4gIF0sXG4gIFF1YW50aWVtZTogW1wiRGV1eGnDqG1lXCIsIFwiUHJlbWnDqHJlXCIsIFwiVHJvaXNpw6htZVwiLCBcIlVuaXF1ZVwiXSxcbiAgUHJlc2VuY2U6IFtcImFic2VudFwiLCBcImV4Y3Vzw6lcIiwgXCJwcsOpc2VudFwiXSxcbiAgQ2l2OiBbXCJNLlwiLCBcIk1tZVwiXSxcbiAgUGVyc29ubmVBdWRpdGlvbm5lZVhzaVR5cGU6IFtcIklkQWN0ZXVyX3R5cGVcIiwgXCJJZFBlcnNvbm5lRXh0ZXJuZV90eXBlXCJdLFxuICBUeXBlUmV1bmlvbjogW1wiREVQXCIsIFwiR0FcIiwgXCJHRVwiLCBcIkdFVklcIiwgXCJHUFwiLCBcIkjDiSBBdXLDqWxpZW5cIl0sXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQSxJQWdDWUEsY0FBYztBQUFBQyxPQUFBLENBQUFELGNBQUEsR0FBQUEsY0FBQTtBQUFBLFdBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7QUFBQSxHQUFkQSxjQUFjLEtBQUFDLE9BQUEsQ0FBQUQsY0FBQSxHQUFkQSxjQUFjO0FBQUEsSUEwQmRFLGVBQWU7QUFBQUQsT0FBQSxDQUFBQyxlQUFBLEdBQUFBLGVBQUE7QUFBQSxXQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtBQUFBLEdBQWZBLGVBQWUsS0FBQUQsT0FBQSxDQUFBQyxlQUFBLEdBQWZBLGVBQWU7QUFBQSxJ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
633
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZXVuaW9uWHNpVHlwZSIsImV4cG9ydHMiLCJQb2ludE9kalhzaVR5cGUiLCJFdGF0Q3ljbGVEZVZpZSIsIk5hdHVyZVRyYXZhdXhPZGoiLCJQcm9jZWR1cmUiLCJUeXBlUG9pbnRPZGoiLCJGb3JtYXRSZXVuaW9uIiwiUXVhbnRpZW1lIiwiUHJlc2VuY2UiLCJDaXYiLCJQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZSIsIlR5cGVSZXVuaW9uIiwiQ29udmVydCIsIl9jbGFzc0NhbGxDaGVjayIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwidG9BZ2VuZGFzIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwiYWdlbmRhc1RvSnNvbiIsInN0cmluZ2lmeSIsInVuY2FzdCIsInRvUmV1bmlvbiIsInJldW5pb25Ub0pzb24iLCJpbnZhbGlkVmFsdWUiLCJ0eXAiLCJ2YWwiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJFcnJvciIsImNvbmNhdCIsImpzb25Ub0pTUHJvcHMiLCJqc29uVG9KUyIsIm1hcCIsInByb3BzIiwiZm9yRWFjaCIsInAiLCJqcyIsImpzVG9KU09OUHJvcHMiLCJqc1RvSlNPTiIsInRyYW5zZm9ybSIsImdldFByb3BzIiwidHJhbnNmb3JtUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRyYW5zZm9ybVVuaW9uIiwidHlwcyIsImwiLCJpIiwiXyIsInRyYW5zZm9ybUVudW0iLCJjYXNlcyIsImluZGV4T2YiLCJ0cmFuc2Zvcm1BcnJheSIsIkFycmF5IiwiaXNBcnJheSIsImVsIiwidHJhbnNmb3JtRGF0ZSIsImQiLCJEYXRlIiwiaXNOYU4iLCJ2YWx1ZU9mIiwidHJhbnNmb3JtT2JqZWN0IiwiYWRkaXRpb25hbCIsInJlc3VsdCIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wIiwidiIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInJlZiIsInR5cGVNYXAiLCJ1bmlvbk1lbWJlcnMiLCJhcnJheUl0ZW1zIiwiYSIsInUiLCJfbGVuIiwiX2tleSIsIm8iLCJuYW1lIiwiQWdlbmRhcyIsIlJldW5pb24iLCJPZGoiLCJQb2ludE9kaiIsIkN5Y2xlRGVWaWUiLCJDaHJvbm8iLCJEZW1hbmRldXJzIiwiRGVtYW5kZXVyQWN0ZXVyIiwiRGVtYW5kZXVyT3JnYW5lIiwiSWRlbnRpZmlhbnRzIiwiSW5mb3NSZXVuaW9uc0ludGVybmF0aW9uYWxlIiwiTGlldSIsIlBhcnRpY2lwYW50cyIsIlBhcnRpY2lwYW50SW50ZXJuZSIsIlBlcnNvbm5lQXVkaXRpb25uZWUiLCJJZGVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9hZ2VuZGFzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIFJldW5pb24sIEFnZW5kYXMgfSBmcm9tIFwiLi9maWxlXCI7XG4vL1xuLy8gICBjb25zdCByZXVuaW9uID0gQ29udmVydC50b1JldW5pb24oanNvbik7XG4vLyAgIGNvbnN0IGFnZW5kYXMgPSBDb252ZXJ0LnRvQWdlbmRhcyhqc29uKTtcbi8vXG4vLyBUaGVzZSBmdW5jdGlvbnMgd2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgSlNPTiBkb2Vzbid0XG4vLyBtYXRjaCB0aGUgZXhwZWN0ZWQgaW50ZXJmYWNlLCBldmVuIGlmIHRoZSBKU09OIGlzIHZhbGlkLlxuXG5pbXBvcnQgeyBBY3RldXIsIE9yZ2FuZSB9IGZyb20gXCIuL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbmRhcyB7XG4gIHJldW5pb25zOiBSZXVuaW9uW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXVuaW9uIHtcbiAgc2NoZW1hVmVyc2lvbj86IHN0cmluZ1xuICB4c2lUeXBlPzogUmV1bmlvblhzaVR5cGVcbiAgdWlkOiBzdHJpbmdcbiAgdGltZXN0YW1wRGVidXQ6IERhdGVcbiAgdGltZXN0YW1wRmluPzogRGF0ZVxuICBsaWV1PzogTGlldVxuICBjeWNsZURlVmllOiBDeWNsZURlVmllXG4gIGRlbWFuZGV1cnM/OiBEZW1hbmRldXJzXG4gIG9yZ2FuZVJldW5pUmVmPzogc3RyaW5nXG4gIG9yZ2FuZVJldW5pPzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHR5cGVSZXVuaW9uPzogVHlwZVJldW5pb25cbiAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRzXG4gIHNlc3Npb25SZWY/OiBzdHJpbmdcbiAgb3V2ZXJ0dXJlUHJlc3NlPzogYm9vbGVhblxuICBvZGo/OiBPZGpcbiAgY29tcHRlUmVuZHVSZWY/OiBzdHJpbmdcbiAgaWRlbnRpZmlhbnRzPzogSWRlbnRpZmlhbnRzXG4gIGZvcm1hdFJldW5pb24/OiBGb3JtYXRSZXVuaW9uXG4gIGluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZT86IEluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVxuICBjYXB0YXRpb25WaWRlbz86IGJvb2xlYW5cbiAgdmlzaW9Db25mZXJlbmNlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFJldW5pb25Yc2lUeXBlIHtcbiAgUmV1bmlvbkNvbW1pc3Npb25UeXBlID0gXCJyZXVuaW9uQ29tbWlzc2lvbl90eXBlXCIsXG4gIFJldW5pb25Jbml0UGFybGVtZW50YWlyZVR5cGUgPSBcInJldW5pb25Jbml0UGFybGVtZW50YWlyZV90eXBlXCIsXG4gIFNlYW5jZVR5cGUgPSBcInNlYW5jZV90eXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2RqIHtcbiAgY29udm9jYXRpb25PZGo/OiBzdHJpbmdbXVxuICByZXN1bWVPZGo/OiBzdHJpbmdbXVxuICBwb2ludHNPZGo/OiBQb2ludE9kaltdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9pbnRPZGoge1xuICB4c2lUeXBlOiBQb2ludE9kalhzaVR5cGVcbiAgdWlkOiBzdHJpbmdcbiAgY3ljbGVEZVZpZTogQ3ljbGVEZVZpZVxuICBvYmpldDogc3RyaW5nXG4gIHByb2NlZHVyZT86IFByb2NlZHVyZVxuICBkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmcz86IHN0cmluZ1tdXG4gIHR5cGVQb2ludE9kajogVHlwZVBvaW50T2RqXG4gIGNvbWl0ZVNlY3JldDogYm9vbGVhblxuICBuYXR1cmVUcmF2YXV4T2RqPzogTmF0dXJlVHJhdmF1eE9kalxuICBkYXRlQ29uZlByZXM/OiBEYXRlXG4gIGRhdGVMZXR0cmVNaW5pc3RyZT86IERhdGVcbn1cblxuZXhwb3J0IGVudW0gUG9pbnRPZGpYc2lUeXBlIHtcbiAgUG9kalJldW5pb25UeXBlID0gXCJwb2RqUmV1bmlvbl90eXBlXCIsXG4gIFBvZGpTZWFuY2VDb25mUHJlc1R5cGUgPSBcInBvZGpTZWFuY2VDb25mUHJlc190eXBlXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3ljbGVEZVZpZSB7XG4gIGV0YXQ6IEV0YXRDeWNsZURlVmllXG4gIGNocm9ubzogQ2hyb25vXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hyb25vIHtcbiAgY3JlYXRpb246IERhdGVcbiAgY2xvdHVyZT86IERhdGVcbn1cblxuZXhwb3J0IGVudW0gRXRhdEN5Y2xlRGVWaWUge1xuICBBbm51bMOpID0gXCJBbm51bMOpXCIsXG4gIENvbmZpcm3DqSA9IFwiQ29uZmlybcOpXCIsXG4gIEV2ZW50dWVsID0gXCJFdmVudHVlbFwiLFxuICBTdXBwcmltw6kgPSBcIlN1cHByaW3DqVwiLFxufVxuXG5leHBvcnQgZW51bSBOYXR1cmVUcmF2YXV4T2RqIHtcbiAgT2RqcHIgPSBcIk9ESlBSXCIsXG4gIE9kanNuID0gXCJPREpTTlwiLFxufVxuXG5leHBvcnQgZW51bSBQcm9jZWR1cmUge1xuICBEaXNjdXNzaW9uR8OpbsOpcmFsZUNvbW11bmUgPSBcImRpc2N1c3Npb24gZ8OpbsOpcmFsZSBjb21tdW5lXCIsXG4gIFByb2PDqWR1cmVERXhhbWVuU2ltcGxpZmnDqWVBcnRpY2xlMTAzID0gXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTAzXCIsXG4gIFByb2PDqWR1cmVERXhhbWVuU2ltcGxpZmnDqWVBcnRpY2xlMTA2ID0gXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTA2XCIsXG4gIFByb2PDqWR1cmVEZUzDqWdpc2xhdGlvbkVuQ29tbWlzc2lvbkFydGljbGUxMDcxID0gXCJwcm9jw6lkdXJlIGRlIGzDqWdpc2xhdGlvbiBlbiBjb21taXNzaW9uLUFydGljbGUgMTA3LTFcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZVBvaW50T2RqIHtcbiAgQW1lbmRlbWVudHNBcnQ4OCA9IFwiQW1lbmRlbWVudHMgKEFydC4gODgpXCIsXG4gIEFtZW5kZW1lbnRzQXJ0OTEgPSBcIkFtZW5kZW1lbnRzIChBcnQuIDkxKVwiLFxuICBBdWRpdGlvbiA9IFwiQXVkaXRpb25cIixcbiAgQXVkaXRpb25NaW5pc3RyZSA9IFwiQXVkaXRpb24gbWluaXN0cmVcIixcbiAgQXVkaXRpb25NaW5pc3RyZU91dmVydGXDgExhUHJlc3NlID0gXCJBdWRpdGlvbiBtaW5pc3RyZSBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICBBdWRpdGlvbk91dmVydGXDgExhUHJlc3NlID0gXCJBdWRpdGlvbiBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICBDb21tdW5pY2F0aW9uID0gXCJDb21tdW5pY2F0aW9uXCIsXG4gIENvbnN0aXR1dGlvbkRlTWlzc2lvbkRJbmZvcm1hdGlvbiA9IFwiQ29uc3RpdHV0aW9uIGRlIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICBEaXNjdXNzaW9uID0gXCJEaXNjdXNzaW9uXCIsXG4gIETDqWJhdERJbml0aWF0aXZlUGFybGVtZW50YWlyZSA9IFwiRMOpYmF0IGQnaW5pdGlhdGl2ZSBwYXJsZW1lbnRhaXJlXCIsXG4gIETDqWNsYXJhdGlvbkR1R291dmVybmVtZW50U3VpdmllRFVuRMOpYmF0ID0gXCJEw6ljbGFyYXRpb24gZHUgR291dmVybmVtZW50IHN1aXZpZSBkJ3VuIGTDqWJhdFwiLFxuICBFY2hhbmdlc0RlVnVlcyA9IFwiRWNoYW5nZXMgZGUgdnVlc1wiLFxuICBFeGFtZW4gPSBcIkV4YW1lblwiLFxuICBFeHBsaWNhdGlvbnNEZVZvdGVEZXNHcm91cGVzRXRWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZGVzIGdyb3VwZXMgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgRXhwbGljYXRpb25zRGVWb3RlRXRWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgRml4YXRpb25EZUxPcmRyZUR1Sm91ciA9IFwiRml4YXRpb24gZGUgbCdvcmRyZSBkdSBqb3VyXCIsXG4gIE5vbWluYXRpb25CdXJlYXUgPSBcIk5vbWluYXRpb24gYnVyZWF1XCIsXG4gIE5vbWluYXRpb25DYW5kaWRhdHNPcmdhbmlzbWVFeHRyYXBhcmxlbWVudGFpcmUgPSBcIk5vbWluYXRpb24gY2FuZGlkYXRzIG9yZ2FuaXNtZSBleHRyYXBhcmxlbWVudGFpcmVcIixcbiAgTm9taW5hdGlvbkRVbk1lbWJyZURVbmVNaXNzaW9uREluZm9ybWF0aW9uID0gXCJOb21pbmF0aW9uIGQndW4gbWVtYnJlIGQndW5lIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1ciA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyXCIsXG4gIE5vbWluYXRpb25SYXBwb3J0ZXVyREFwcGxpY2F0aW9uID0gXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdhcHBsaWNhdGlvblwiLFxuICBOb21pbmF0aW9uUmFwcG9ydGV1ckRJbmZvcm1hdGlvbiA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIGQnaW5mb3JtYXRpb25cIixcbiAgTm9taW5hdGlvblJhcHBvcnRldXJQb3VyQXZpcyA9IFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIHBvdXIgYXZpc1wiLFxuICBPdXZlcnR1cmVFdENsw7R0dXJlRGVTZXNzaW9uID0gXCJPdXZlcnR1cmUgZXQgY2zDtHR1cmUgZGUgc2Vzc2lvblwiLFxuICBRdWVzdGlvbnNBdUdvdXZlcm5lbWVudCA9IFwiUXVlc3Rpb25zIGF1IEdvdXZlcm5lbWVudFwiLFxuICBRdWVzdGlvbnNPcmFsZXNTYW5zRMOpYmF0ID0gXCJRdWVzdGlvbnMgb3JhbGVzIHNhbnMgZMOpYmF0XCIsXG4gIFJhcHBvcnQgPSBcIlJhcHBvcnRcIixcbiAgUmFwcG9ydERJbmZvcm1hdGlvbiA9IFwiUmFwcG9ydCBkJ2luZm9ybWF0aW9uXCIsXG4gIFJhcHBvcnRQb3VyQXZpcyA9IFwiUmFwcG9ydCBwb3VyIGF2aXNcIixcbiAgU3VpdGVEZUxhRGlzY3Vzc2lvbiA9IFwiU3VpdGUgZGUgbGEgZGlzY3Vzc2lvblwiLFxuICBUYWJsZVJvbmRlID0gXCJUYWJsZSByb25kZVwiLFxuICBWb3RlUGFyU2NydXRpblB1YmxpYyA9IFwiVm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgVm90ZVNvbGVubmVsID0gXCJWb3RlIHNvbGVubmVsXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVycyB7XG4gIGFjdGV1cnM/OiBEZW1hbmRldXJBY3RldXJbXVxuICBvcmdhbmU/OiBEZW1hbmRldXJPcmdhbmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZW1hbmRldXJBY3RldXIge1xuICBub20/OiBzdHJpbmdcbiAgYWN0ZXVyUmVmOiBzdHJpbmdcbiAgYWN0ZXVyPzogQWN0ZXVyIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVtYW5kZXVyT3JnYW5lIHtcbiAgbm9tOiBzdHJpbmdcbiAgb3JnYW5lUmVmOiBzdHJpbmdcbiAgb3JnYW5lPzogT3JnYW5lIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG59XG5cbmV4cG9ydCBlbnVtIEZvcm1hdFJldW5pb24ge1xuICBBdWRpdGlvbkV4dGVybmUgPSBcIkF1ZGl0aW9uRXh0ZXJuZVwiLFxuICBBdWRpdGlvblBhclByZXNpZGVudENvbW1pc3Npb24gPSBcIkF1ZGl0aW9uUGFyUHJlc2lkZW50Q29tbWlzc2lvblwiLFxuICBBdWRpdGlvblBhclJhcHBvcnRldXIgPSBcIkF1ZGl0aW9uUGFyUmFwcG9ydGV1clwiLFxuICBPcmRpbmFpcmUgPSBcIk9yZGluYWlyZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpYW50cyB7XG4gIG51bVNlYW5jZUpvPzogc3RyaW5nXG4gIGlkSm8/OiBzdHJpbmdcbiAgcXVhbnRpZW1lOiBRdWFudGllbWVcbiAgZGF0ZVNlYW5jZTogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFF1YW50aWVtZSB7XG4gIERldXhpw6htZSA9IFwiRGV1eGnDqG1lXCIsXG4gIFByZW1pw6hyZSA9IFwiUHJlbWnDqHJlXCIsXG4gIFRyb2lzacOobWUgPSBcIlRyb2lzacOobWVcIixcbiAgVW5pcXVlID0gXCJVbmlxdWVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGUge1xuICBlc3RSZXVuaW9uSW50ZXJuYXRpb25hbGU6IGJvb2xlYW5cbiAgbGlzdGVQYXlzPzogc3RyaW5nW11cbiAgaW5mb3JtYXRpb25zQ29tcGxlbWVudGFpcmVzPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlldSB7XG4gIGNvZGU/OiBzdHJpbmdcbiAgbGliZWxsZUNvdXJ0Pzogc3RyaW5nXG4gIGxpYmVsbGVMb25nPzogc3RyaW5nXG4gIGxpZXVSZWY/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWNpcGFudHMge1xuICBwYXJ0aWNpcGFudHNJbnRlcm5lcz86IFBhcnRpY2lwYW50SW50ZXJuZVtdXG4gIHBlcnNvbm5lc0F1ZGl0aW9ubmVlcz86IFBlcnNvbm5lQXVkaXRpb25uZWVbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpY2lwYW50SW50ZXJuZSB7XG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBwcmVzZW5jZTogUHJlc2VuY2Vcbn1cblxuZXhwb3J0IGVudW0gUHJlc2VuY2Uge1xuICBBYnNlbnQgPSBcImFic2VudFwiLFxuICBFeGN1c8OpID0gXCJleGN1c8OpXCIsXG4gIFByw6lzZW50ID0gXCJwcsOpc2VudFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNvbm5lQXVkaXRpb25uZWUge1xuICB4c2lUeXBlOiBQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZVxuICB1aWQ6IHN0cmluZ1xuICBpZGVudDogSWRlbnRcbiAgZGF0ZU5haXM/OiBEYXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWRlbnQge1xuICBjaXY6IENpdlxuICBwcmVub206IHN0cmluZ1xuICBub206IHN0cmluZ1xuICBhbHBoYT86IHN0cmluZ1xuICB0cmlncmFtbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gQ2l2IHtcbiAgTSA9IFwiTS5cIixcbiAgTW1lID0gXCJNbWVcIixcbn1cblxuZXhwb3J0IGVudW0gUGVyc29ubmVBdWRpdGlvbm5lZVhzaVR5cGUge1xuICBJZEFjdGV1clR5cGUgPSBcIklkQWN0ZXVyX3R5cGVcIixcbiAgSWRQZXJzb25uZUV4dGVybmVUeXBlID0gXCJJZFBlcnNvbm5lRXh0ZXJuZV90eXBlXCIsXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVSZXVuaW9uIHtcbiAgRGVwID0gXCJERVBcIiwgLy8gRMOpcHV0w6lcbiAgR2EgPSBcIkdBXCIsIC8vIEdyb3VwZSBkJ2FtaXRpw6lcbiAgR2UgPSBcIkdFXCIsIC8vIEdyb3VwZSBkJ8OpdHVkZVxuICBHZXZpID0gXCJHRVZJXCIsIC8vIEdyb3VwZSBkJ8OpdHVkZSDDoCB2b2NhdGlvbiBpbnRlcm5hdGlvbmFsZVxuICBHcCA9IFwiR1BcIiwgLy8gR3JvdXBlIHBhcmxlbWVudGFpcmVcbiAgSMOpQXVyw6lsaWVuID0gXCJIw4kgQXVyw6lsaWVuXCIsXG59XG5cbi8vIENvbnZlcnRzIEpTT04gc3RyaW5ncyB0by9mcm9tIHlvdXIgdHlwZXNcbi8vIGFuZCBhc3NlcnRzIHRoZSByZXN1bHRzIG9mIEpTT04ucGFyc2UgYXQgcnVudGltZVxuZXhwb3J0IGNsYXNzIENvbnZlcnQge1xuICBwdWJsaWMgc3RhdGljIHRvQWdlbmRhcyhqc29uOiBzdHJpbmcpOiBBZ2VuZGFzIHtcbiAgICByZXR1cm4gY2FzdChKU09OLnBhcnNlKGpzb24pLCByKFwiQWdlbmRhc1wiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYWdlbmRhc1RvSnNvbih2YWx1ZTogQWdlbmRhcyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuY2FzdCh2YWx1ZSwgcihcIkFnZW5kYXNcIikpLCBudWxsLCAyKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyB0b1JldW5pb24oanNvbjogc3RyaW5nKTogUmV1bmlvbiB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIlJldW5pb25cIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJldW5pb25Ub0pzb24odmFsdWU6IFJldW5pb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJSZXVuaW9uXCIpKSwgbnVsbCwgMilcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnZhbGlkVmFsdWUodHlwOiBhbnksIHZhbDogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBuZXZlciB7XG4gIGlmIChrZXkpIHtcbiAgICB0aHJvdyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgXCIke2tleX1cIi4gRXhwZWN0ZWQgdHlwZSAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICB0eXAsXG4gICAgICApfSBidXQgZ290ICR7SlNPTi5zdHJpbmdpZnkodmFsKX1gLFxuICAgIClcbiAgfVxuICB0aHJvdyBFcnJvcihcbiAgICBgSW52YWxpZCB2YWx1ZSAke0pTT04uc3RyaW5naWZ5KHZhbCl9IGZvciB0eXBlICR7SlNPTi5zdHJpbmdpZnkodHlwKX1gLFxuICApXG59XG5cbmZ1bmN0aW9uIGpzb25Ub0pTUHJvcHModHlwOiBhbnkpOiBhbnkge1xuICBpZiAodHlwLmpzb25Ub0pTID09PSB1bmRlZmluZWQpIHtcbiAgICB2YXIgbWFwOiBhbnkgPSB7fVxuICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IChtYXBbcC5qc29uXSA9IHsga2V5OiBwLmpzLCB0eXA6IHAudHlwIH0pKVxuICAgIHR5cC5qc29uVG9KUyA9IG1hcFxuICB9XG4gIHJldHVybiB0eXAuanNvblRvSlNcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNUb0pTT04gPT09IHVuZGVmaW5lZCkge1xuICAgIHZhciBtYXA6IGFueSA9IHt9XG4gICAgdHlwLnByb3BzLmZvckVhY2goKHA6IGFueSkgPT4gKG1hcFtwLmpzXSA9IHsga2V5OiBwLmpzb24sIHR5cDogcC50eXAgfSkpXG4gICAgdHlwLmpzVG9KU09OID0gbWFwXG4gIH1cbiAgcmV0dXJuIHR5cC5qc1RvSlNPTlxufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm0odmFsOiBhbnksIHR5cDogYW55LCBnZXRQcm9wczogYW55LCBrZXk6IGFueSA9IFwiXCIpOiBhbnkge1xuICBmdW5jdGlvbiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwOiBzdHJpbmcsIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAodHlwZW9mIHR5cCA9PT0gdHlwZW9mIHZhbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwsIGtleSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVVuaW9uKHR5cHM6IGFueVtdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgdmFsaWRhdGUgYWdhaW5zdCBvbmUgdHlwIGluIHR5cHNcbiAgICBjb25zdCBsID0gdHlwcy5sZW5ndGhcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgdHlwID0gdHlwc1tpXVxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwgZ2V0UHJvcHMpXG4gICAgICB9IGNhdGNoIChfKSB7fVxuICAgIH1cbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKHR5cHMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUVudW0oY2FzZXM6IHN0cmluZ1tdLCB2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKGNhc2VzLmluZGV4T2YodmFsKSAhPT0gLTEpIHJldHVybiB2YWxcbiAgICByZXR1cm4gaW52YWxpZFZhbHVlKGNhc2VzLCB2YWwpXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1BcnJheSh0eXA6IGFueSwgdmFsOiBhbnkpOiBhbnkge1xuICAgIC8vIHZhbCBtdXN0IGJlIGFuIGFycmF5IHdpdGggbm8gaW52YWxpZCBlbGVtZW50c1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWwpKSByZXR1cm4gaW52YWxpZFZhbHVlKFwiYXJyYXlcIiwgdmFsKVxuICAgIHJldHVybiB2YWwubWFwKChlbCkgPT4gdHJhbnNmb3JtKGVsLCB0eXAsIGdldFByb3BzKSlcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybURhdGUodmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIGNvbnN0IGQgPSBuZXcgRGF0ZSh2YWwpXG4gICAgaWYgKGlzTmFOKGQudmFsdWVPZigpKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIkRhdGVcIiwgdmFsKVxuICAgIH1cbiAgICByZXR1cm4gZFxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtT2JqZWN0KFxuICAgIHByb3BzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSxcbiAgICBhZGRpdGlvbmFsOiBhbnksXG4gICAgdmFsOiBhbnksXG4gICk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkodmFsKSkge1xuICAgICAgcmV0dXJuIGludmFsaWRWYWx1ZShcIm9iamVjdFwiLCB2YWwpXG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdDogYW55ID0ge31cbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm9wcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBjb25zdCBwcm9wID0gcHJvcHNba2V5XVxuICAgICAgY29uc3QgdiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWwsIGtleSlcbiAgICAgICAgPyB2YWxba2V5XVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgcmVzdWx0W3Byb3Aua2V5XSA9IHRyYW5zZm9ybSh2LCBwcm9wLnR5cCwgZ2V0UHJvcHMsIHByb3Aua2V5KVxuICAgIH0pXG4gICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3BzLCBrZXkpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gdHJhbnNmb3JtKHZhbFtrZXldLCBhZGRpdGlvbmFsLCBnZXRQcm9wcywga2V5KVxuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgaWYgKHR5cCA9PT0gXCJhbnlcIikgcmV0dXJuIHZhbFxuICBpZiAodHlwID09PSBudWxsKSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gaWYgKHR5cCA9PT0gZmFsc2UpIHJldHVybiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIHdoaWxlICh0eXBlb2YgdHlwID09PSBcIm9iamVjdFwiICYmIHR5cC5yZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHR5cCA9IHR5cGVNYXBbdHlwLnJlZl1cbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheSh0eXApKSByZXR1cm4gdHJhbnNmb3JtRW51bSh0eXAsIHZhbClcbiAgaWYgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gdHlwLmhhc093blByb3BlcnR5KFwidW5pb25NZW1iZXJzXCIpXG4gICAgICA/IHRyYW5zZm9ybVVuaW9uKHR5cC51bmlvbk1lbWJlcnMsIHZhbClcbiAgICAgIDogdHlwLmhhc093blByb3BlcnR5KFwiYXJyYXlJdGVtc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1BcnJheSh0eXAuYXJyYXlJdGVtcywgdmFsKVxuICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJwcm9wc1wiKVxuICAgICAgPyB0cmFuc2Zvcm1PYmplY3QoZ2V0UHJvcHModHlwKSwgdHlwLmFkZGl0aW9uYWwsIHZhbClcbiAgICAgIDogaW52YWxpZFZhbHVlKHR5cCwgdmFsKVxuICB9XG4gIC8vIE51bWJlcnMgY2FuIGJlIHBhcnNlZCBieSBEYXRlIGJ1dCBzaG91bGRuJ3QgYmUuXG4gIGlmICh0eXAgPT09IERhdGUgJiYgdHlwZW9mIHZhbCAhPT0gXCJudW1iZXJcIikgcmV0dXJuIHRyYW5zZm9ybURhdGUodmFsKVxuICByZXR1cm4gdHJhbnNmb3JtUHJpbWl0aXZlKHR5cCwgdmFsKVxufVxuXG5mdW5jdGlvbiBjYXN0PFQ+KHZhbDogYW55LCB0eXA6IGFueSk6IFQge1xuICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBqc29uVG9KU1Byb3BzKVxufVxuXG5mdW5jdGlvbiB1bmNhc3Q8VD4odmFsOiBULCB0eXA6IGFueSk6IGFueSB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzVG9KU09OUHJvcHMpXG59XG5cbmZ1bmN0aW9uIGEodHlwOiBhbnkpIHtcbiAgcmV0dXJuIHsgYXJyYXlJdGVtczogdHlwIH1cbn1cblxuZnVuY3Rpb24gdSguLi50eXBzOiBhbnlbXSkge1xuICByZXR1cm4geyB1bmlvbk1lbWJlcnM6IHR5cHMgfVxufVxuXG5mdW5jdGlvbiBvKHByb3BzOiBhbnlbXSwgYWRkaXRpb25hbDogYW55KSB7XG4gIHJldHVybiB7IHByb3BzLCBhZGRpdGlvbmFsIH1cbn1cblxuLy8gZnVuY3Rpb24gbShhZGRpdGlvbmFsOiBhbnkpIHtcbi8vICAgcmV0dXJuIHsgcHJvcHM6IFtdLCBhZGRpdGlvbmFsIH1cbi8vIH1cblxuZnVuY3Rpb24gcihuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHsgcmVmOiBuYW1lIH1cbn1cblxuY29uc3QgdHlwZU1hcDogYW55ID0ge1xuICBBZ2VuZGFzOiBvKFxuICAgIFt7IGpzb246IFwicmV1bmlvbnNcIiwganM6IFwicmV1bmlvbnNcIiwgdHlwOiBhKHIoXCJSZXVuaW9uXCIpKSB9XSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUmV1bmlvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwic2NoZW1hVmVyc2lvblwiLCBqczogXCJzY2hlbWFWZXJzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwieHNpVHlwZVwiLFxuICAgICAgICBqczogXCJ4c2lUeXBlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJSZXVuaW9uWHNpVHlwZVwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidGltZXN0YW1wRGVidXRcIiwganM6IFwidGltZXN0YW1wRGVidXRcIiwgdHlwOiBEYXRlIH0sXG4gICAgICB7IGpzb246IFwidGltZXN0YW1wRmluXCIsIGpzOiBcInRpbWVzdGFtcEZpblwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgICAgeyBqc29uOiBcImxpZXVcIiwganM6IFwibGlldVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiTGlldVwiKSkgfSxcbiAgICAgIHsganNvbjogXCJjeWNsZURlVmllXCIsIGpzOiBcImN5Y2xlRGVWaWVcIiwgdHlwOiByKFwiQ3ljbGVEZVZpZVwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRlbWFuZGV1cnNcIixcbiAgICAgICAganM6IFwiZGVtYW5kZXVyc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGVtYW5kZXVyc1wiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJldW5pUmVmXCIsIGpzOiBcIm9yZ2FuZVJldW5pUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidHlwZVJldW5pb25cIixcbiAgICAgICAganM6IFwidHlwZVJldW5pb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVSZXVuaW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGFydGljaXBhbnRzXCIsXG4gICAgICAgIGpzOiBcInBhcnRpY2lwYW50c1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUGFydGljaXBhbnRzXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwic2Vzc2lvblJlZlwiLCBqczogXCJzZXNzaW9uUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwib3V2ZXJ0dXJlUHJlc3NlXCIsXG4gICAgICAgIGpzOiBcIm91dmVydHVyZVByZXNzZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBmYWxzZSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcIm9kalwiLCBqczogXCJvZGpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk9kalwiKSkgfSxcbiAgICAgIHsganNvbjogXCJjb21wdGVSZW5kdVJlZlwiLCBqczogXCJjb21wdGVSZW5kdVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImlkZW50aWZpYW50c1wiLFxuICAgICAgICBqczogXCJpZGVudGlmaWFudHNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIklkZW50aWZpYW50c1wiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImZvcm1hdFJldW5pb25cIixcbiAgICAgICAganM6IFwiZm9ybWF0UmV1bmlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRm9ybWF0UmV1bmlvblwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiLFxuICAgICAgICBqczogXCJpbmZvc1JldW5pb25zSW50ZXJuYXRpb25hbGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZVwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNhcHRhdGlvblZpZGVvXCIsXG4gICAgICAgIGpzOiBcImNhcHRhdGlvblZpZGVvXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGZhbHNlKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidmlzaW9Db25mZXJlbmNlXCIsIGpzOiBcInZpc2lvQ29uZmVyZW5jZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIE9kajogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29udm9jYXRpb25PZGpcIixcbiAgICAgICAganM6IFwiY29udm9jYXRpb25PZGpcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInJlc3VtZU9kalwiLCBqczogXCJyZXN1bWVPZGpcIiwgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwb2ludHNPZGpcIixcbiAgICAgICAganM6IFwicG9pbnRzT2RqXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlBvaW50T2RqXCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBvaW50T2RqOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ4c2lUeXBlXCIsIGpzOiBcInhzaVR5cGVcIiwgdHlwOiByKFwiUG9pbnRPZGpYc2lUeXBlXCIpIH0sXG4gICAgICB7IGpzb246IFwidWlkXCIsIGpzOiBcInVpZFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJjeWNsZURlVmllXCIsIGpzOiBcImN5Y2xlRGVWaWVcIiwgdHlwOiByKFwiQ3ljbGVEZVZpZVwiKSB9LFxuICAgICAgeyBqc29uOiBcIm9iamV0XCIsIGpzOiBcIm9iamV0XCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInByb2NlZHVyZVwiLCBqczogXCJwcm9jZWR1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlByb2NlZHVyZVwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1wiLFxuICAgICAgICBqczogXCJkb3NzaWVyc0xlZ2lzbGF0aWZzUmVmc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidHlwZVBvaW50T2RqXCIsIGpzOiBcInR5cGVQb2ludE9kalwiLCB0eXA6IHIoXCJUeXBlUG9pbnRPZGpcIikgfSxcbiAgICAgIHsganNvbjogXCJjb21pdGVTZWNyZXRcIiwganM6IFwiY29taXRlU2VjcmV0XCIsIHR5cDogZmFsc2UgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJuYXR1cmVUcmF2YXV4T2RqXCIsXG4gICAgICAgIGpzOiBcIm5hdHVyZVRyYXZhdXhPZGpcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk5hdHVyZVRyYXZhdXhPZGpcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJkYXRlQ29uZlByZXNcIiwganM6IFwiZGF0ZUNvbmZQcmVzXCIsIHR5cDogdSh1bmRlZmluZWQsIERhdGUpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGF0ZUxldHRyZU1pbmlzdHJlXCIsXG4gICAgICAgIGpzOiBcImRhdGVMZXR0cmVNaW5pc3RyZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ3ljbGVEZVZpZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiZXRhdFwiLCBqczogXCJldGF0XCIsIHR5cDogcihcIkV0YXRDeWNsZURlVmllXCIpIH0sXG4gICAgICB7IGpzb246IFwiY2hyb25vXCIsIGpzOiBcImNocm9ub1wiLCB0eXA6IHIoXCJDaHJvbm9cIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDaHJvbm86IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNyZWF0aW9uXCIsIGpzOiBcImNyZWF0aW9uXCIsIHR5cDogRGF0ZSB9LFxuICAgICAgeyBqc29uOiBcImNsb3R1cmVcIiwganM6IFwiY2xvdHVyZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlbWFuZGV1cnM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcImFjdGV1cnNcIixcbiAgICAgICAganM6IFwiYWN0ZXVyc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJEZW1hbmRldXJBY3RldXJcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lXCIsIGpzOiBcIm9yZ2FuZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRGVtYW5kZXVyT3JnYW5lXCIpKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERlbWFuZGV1ckFjdGV1cjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRGVtYW5kZXVyT3JnYW5lOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJub21cIiwganM6IFwibm9tXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSWRlbnRpZmlhbnRzOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJudW1TZWFuY2VKb1wiLCBqczogXCJudW1TZWFuY2VKb1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImlkSm9cIiwganM6IFwiaWRKb1wiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInF1YW50aWVtZVwiLCBqczogXCJxdWFudGllbWVcIiwgdHlwOiByKFwiUXVhbnRpZW1lXCIpIH0sXG4gICAgICB7IGpzb246IFwiZGF0ZVNlYW5jZVwiLCBqczogXCJkYXRlU2VhbmNlXCIsIHR5cDogRGF0ZSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEluZm9zUmV1bmlvbnNJbnRlcm5hdGlvbmFsZTogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZXN0UmV1bmlvbkludGVybmF0aW9uYWxlXCIsXG4gICAgICAgIGpzOiBcImVzdFJldW5pb25JbnRlcm5hdGlvbmFsZVwiLFxuICAgICAgICB0eXA6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJsaXN0ZVBheXNcIiwganM6IFwibGlzdGVQYXlzXCIsIHR5cDogdSh1bmRlZmluZWQsIGEoXCJcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW5mb3JtYXRpb25zQ29tcGxlbWVudGFpcmVzXCIsXG4gICAgICAgIGpzOiBcImluZm9ybWF0aW9uc0NvbXBsZW1lbnRhaXJlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgTGlldTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiY29kZVwiLCBqczogXCJjb2RlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUNvdXJ0XCIsIGpzOiBcImxpYmVsbGVDb3VydFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVMb25nXCIsIGpzOiBcImxpYmVsbGVMb25nXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGlldVJlZlwiLCBqczogXCJsaWV1UmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgUGFydGljaXBhbnRzOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwYXJ0aWNpcGFudHNJbnRlcm5lc1wiLFxuICAgICAgICBqczogXCJwYXJ0aWNpcGFudHNJbnRlcm5lc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJQYXJ0aWNpcGFudEludGVybmVcIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwicGVyc29ubmVzQXVkaXRpb25uZWVzXCIsXG4gICAgICAgIGpzOiBcInBlcnNvbm5lc0F1ZGl0aW9ubmVlc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJQZXJzb25uZUF1ZGl0aW9ubmVlXCIpKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBhcnRpY2lwYW50SW50ZXJuZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiYWN0ZXVyUmVmXCIsIGpzOiBcImFjdGV1clJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJwcmVzZW5jZVwiLCBqczogXCJwcmVzZW5jZVwiLCB0eXA6IHIoXCJQcmVzZW5jZVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFBlcnNvbm5lQXVkaXRpb25uZWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IHIoXCJQZXJzb25uZUF1ZGl0aW9ubmVlWHNpVHlwZVwiKSB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwiaWRlbnRcIiwganM6IFwiaWRlbnRcIiwgdHlwOiByKFwiSWRlbnRcIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlTmFpc1wiLCBqczogXCJkYXRlTmFpc1wiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIElkZW50OiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjaXZcIiwganM6IFwiY2l2XCIsIHR5cDogcihcIkNpdlwiKSB9LFxuICAgICAgeyBqc29uOiBcInByZW5vbVwiLCBqczogXCJwcmVub21cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibm9tXCIsIGpzOiBcIm5vbVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJhbHBoYVwiLCBqczogXCJhbHBoYVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInRyaWdyYW1tZVwiLCBqczogXCJ0cmlncmFtbWVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBSZXVuaW9uWHNpVHlwZTogW1xuICAgIFwicmV1bmlvbkNvbW1pc3Npb25fdHlwZVwiLFxuICAgIFwicmV1bmlvbkluaXRQYXJsZW1lbnRhaXJlX3R5cGVcIixcbiAgICBcInNlYW5jZV90eXBlXCIsXG4gIF0sXG4gIFBvaW50T2RqWHNpVHlwZTogW1wicG9kalJldW5pb25fdHlwZVwiLCBcInBvZGpTZWFuY2VDb25mUHJlc190eXBlXCJdLFxuICBFdGF0Q3ljbGVEZVZpZTogW1wiQW5udWzDqVwiLCBcIkNvbmZpcm3DqVwiLCBcIkV2ZW50dWVsXCIsIFwiU3VwcHJpbcOpXCJdLFxuICBOYXR1cmVUcmF2YXV4T2RqOiBbXCJPREpQUlwiLCBcIk9ESlNOXCJdLFxuICBQcm9jZWR1cmU6IFtcbiAgICBcImRpc2N1c3Npb24gZ8OpbsOpcmFsZSBjb21tdW5lXCIsXG4gICAgXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTAzXCIsXG4gICAgXCJwcm9jw6lkdXJlIGQnZXhhbWVuIHNpbXBsaWZpw6llLUFydGljbGUgMTA2XCIsXG4gICAgXCJwcm9jw6lkdXJlIGRlIGzDqWdpc2xhdGlvbiBlbiBjb21taXNzaW9uLUFydGljbGUgMTA3LTFcIixcbiAgXSxcbiAgVHlwZVBvaW50T2RqOiBbXG4gICAgXCJBbWVuZGVtZW50cyAoQXJ0LiA4OClcIixcbiAgICBcIkFtZW5kZW1lbnRzIChBcnQuIDkxKVwiLFxuICAgIFwiQXVkaXRpb25cIixcbiAgICBcIkF1ZGl0aW9uIG1pbmlzdHJlXCIsXG4gICAgXCJBdWRpdGlvbiBtaW5pc3RyZSBvdXZlcnRlIMOgIGxhIHByZXNzZVwiLFxuICAgIFwiQXVkaXRpb24gb3V2ZXJ0ZSDDoCBsYSBwcmVzc2VcIixcbiAgICBcIkNvbW11bmljYXRpb25cIixcbiAgICBcIkNvbnN0aXR1dGlvbiBkZSBtaXNzaW9uIGQnaW5mb3JtYXRpb25cIixcbiAgICBcIkRpc2N1c3Npb25cIixcbiAgICBcIkTDqWJhdCBkJ2luaXRpYXRpdmUgcGFybGVtZW50YWlyZVwiLFxuICAgIFwiRMOpY2xhcmF0aW9uIGR1IEdvdXZlcm5lbWVudCBzdWl2aWUgZCd1biBkw6liYXRcIixcbiAgICBcIkVjaGFuZ2VzIGRlIHZ1ZXNcIixcbiAgICBcIkV4YW1lblwiLFxuICAgIFwiRXhwbGljYXRpb25zIGRlIHZvdGUgZGVzIGdyb3VwZXMgZXQgdm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICBcIkV4cGxpY2F0aW9ucyBkZSB2b3RlIGV0IHZvdGUgcGFyIHNjcnV0aW4gcHVibGljXCIsXG4gICAgXCJGaXhhdGlvbiBkZSBsJ29yZHJlIGR1IGpvdXJcIixcbiAgICBcIk5vbWluYXRpb24gYnVyZWF1XCIsXG4gICAgXCJOb21pbmF0aW9uIGNhbmRpZGF0cyBvcmdhbmlzbWUgZXh0cmFwYXJsZW1lbnRhaXJlXCIsXG4gICAgXCJOb21pbmF0aW9uIGQndW4gbWVtYnJlIGQndW5lIG1pc3Npb24gZCdpbmZvcm1hdGlvblwiLFxuICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyXCIsXG4gICAgXCJOb21pbmF0aW9uIHJhcHBvcnRldXIgZCdhcHBsaWNhdGlvblwiLFxuICAgIFwiTm9taW5hdGlvbiByYXBwb3J0ZXVyIGQnaW5mb3JtYXRpb25cIixcbiAgICBcIk5vbWluYXRpb24gcmFwcG9ydGV1ciBwb3VyIGF2aXNcIixcbiAgICBcIk91dmVydHVyZSBldCBjbMO0dHVyZSBkZSBzZXNzaW9uXCIsXG4gICAgXCJRdWVzdGlvbnMgYXUgR291dmVybmVtZW50XCIsXG4gICAgXCJRdWVzdGlvbnMgb3JhbGVzIHNhbnMgZMOpYmF0XCIsXG4gICAgXCJSYXBwb3J0XCIsXG4gICAgXCJSYXBwb3J0IGQnaW5mb3JtYXRpb25cIixcbiAgICBcIlJhcHBvcnQgcG91ciBhdmlzXCIsXG4gICAgXCJTdWl0ZSBkZSBsYSBkaXNjdXNzaW9uXCIsXG4gICAgXCJUYWJsZSByb25kZVwiLFxuICAgIFwiVm90ZSBwYXIgc2NydXRpbiBwdWJsaWNcIixcbiAgICBcIlZvdGUgc29sZW5uZWxcIixcbiAgXSxcbiAgRm9ybWF0UmV1bmlvbjogW1xuICAgIFwiQXVkaXRpb25FeHRlcm5lXCIsXG4gICAgXCJBdWRpdGlvblBhclByZXNpZGVudENvbW1pc3Npb25cIixcbiAgICBcIkF1ZGl0aW9uUGFyUmFwcG9ydGV1clwiLFxuICAgIFwiT3JkaW5haXJlXCIsXG4gIF0sXG4gIFF1YW50aWVtZTogW1wiRGV1eGnDqG1lXCIsIFwiUHJlbWnDqHJlXCIsIFwiVHJvaXNpw6htZVwiLCBcIlVuaXF1ZVwiXSxcbiAgUHJlc2VuY2U6IFtcImFic2VudFwiLCBcImV4Y3Vzw6lcIiwgXCJwcsOpc2VudFwiXSxcbiAgQ2l2OiBbXCJNLlwiLCBcIk1tZVwiXSxcbiAgUGVyc29ubmVBdWRpdGlvbm5lZVhzaVR5cGU6IFtcIklkQWN0ZXVyX3R5cGVcIiwgXCJJZFBlcnNvbm5lRXh0ZXJuZV90eXBlXCJdLFxuICBUeXBlUmV1bmlvbjogW1wiREVQXCIsIFwiR0FcIiwgXCJHRVwiLCBcIkdFVklcIiwgXCJHUFwiLCBcIkjDiSBBdXLDqWxpZW5cIl0sXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQSxJQWdDWUEsY0FBYywwQkFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFBLE9BQWRBLGNBQWM7QUFBQTtBQUFBQyxPQUFBLENBQUFELGNBQUEsR0FBQUEsY0FBQTtBQUFBLElBMEJkRSxlQUFlLDBCQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBZkEsZUFBZTtFQUFBLE9BQWZBLGVBQWU7QUFBQTtBQUFBRCxPQUFBLENBQUFDLGVBQUEsR0FBQUEsZUFBQTtBQUFBLElBZWZDLGNBQWMsMEJBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FB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