@tricoteuses/assemblee 1.0.0-next.2 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/lib/api.js +23 -7
- package/lib/api.mjs +41 -0
- package/lib/bugs/acteur-00010/plugin.test.js +139 -33
- package/lib/bugs/acteur-00010/plugin.test.mjs +33 -0
- package/lib/bugs/acteur-00010.js +166 -24
- package/lib/bugs/acteur-00010.mjs +31 -0
- package/lib/bugs/agenda-00002/plugin.test.js +178 -52
- package/lib/bugs/agenda-00002/plugin.test.mjs +52 -0
- package/lib/bugs/agenda-00002.js +507 -143
- package/lib/bugs/agenda-00002.mjs +197 -0
- package/lib/bugs/agenda-00008/plugin.test.js +143 -31
- package/lib/bugs/agenda-00008/plugin.test.mjs +31 -0
- package/lib/bugs/agenda-00008.js +180 -25
- package/lib/bugs/agenda-00008.mjs +30 -0
- package/lib/bugs/agenda-00011/plugin.test.js +371 -156
- package/lib/bugs/agenda-00011/plugin.test.mjs +156 -0
- package/lib/bugs/agenda-00011.js +416 -117
- package/lib/bugs/agenda-00011.mjs +150 -0
- package/lib/bugs.js +591 -54
- package/lib/bugs.mjs +93 -0
- package/lib/cleaners/actes_legislatifs.js +149 -61
- package/lib/cleaners/actes_legislatifs.mjs +311 -0
- package/lib/cleaners/acteurs.js +255 -123
- package/lib/cleaners/acteurs.mjs +211 -0
- package/lib/cleaners/amendements.js +242 -117
- package/lib/cleaners/amendements.mjs +292 -0
- package/lib/cleaners/documents.js +147 -62
- package/lib/cleaners/documents.mjs +162 -0
- package/lib/cleaners/dossiers_legislatifs.js +132 -45
- package/lib/cleaners/dossiers_legislatifs.mjs +123 -0
- package/lib/cleaners/index.js +64 -8
- package/lib/cleaners/index.mjs +8 -0
- package/lib/cleaners/organes.js +54 -21
- package/lib/cleaners/organes.mjs +64 -0
- package/lib/cleaners/reunions.js +237 -127
- package/lib/cleaners/reunions.mjs +318 -0
- package/lib/cleaners/scrutins.js +261 -99
- package/lib/cleaners/scrutins.mjs +254 -0
- package/lib/cleaners/xml.js +81 -16
- package/lib/cleaners/xml.mjs +42 -0
- package/lib/datasets.js +284 -153
- package/lib/datasets.mjs +596 -0
- package/lib/dates.js +93 -34
- package/lib/dates.mjs +98 -0
- package/lib/dossiers_legislatifs.js +107 -33
- package/lib/dossiers_legislatifs.mjs +215 -0
- package/lib/file_systems.js +203 -35
- package/lib/file_systems.mjs +64 -0
- package/lib/git.js +139 -41
- package/lib/git.mjs +114 -0
- package/lib/index.js +310 -16
- package/lib/index.mjs +16 -0
- package/lib/inserters.js +355 -131
- package/lib/inserters.mjs +413 -0
- package/lib/loaders.js +900 -440
- package/lib/loaders.mjs +678 -0
- package/lib/organes.js +15 -5
- package/lib/organes.mjs +18 -0
- package/lib/parsers/documents.js +241 -89
- package/lib/parsers/documents.mjs +433 -0
- package/lib/parsers/index.js +36 -3
- package/lib/parsers/index.mjs +3 -0
- package/lib/parsers/recherche_amendements.js +616 -173
- package/lib/parsers/recherche_amendements.mjs +189 -0
- package/lib/raw_types/acteurs_et_organes.d.ts +36 -148
- package/lib/raw_types/acteurs_et_organes.js +228 -506
- package/lib/raw_types/acteurs_et_organes.mjs +1240 -0
- package/lib/raw_types/agendas.js +165 -75
- package/lib/raw_types/agendas.mjs +944 -0
- package/lib/raw_types/amendements.js +165 -77
- package/lib/raw_types/amendements.mjs +1040 -0
- package/lib/raw_types/dossiers_legislatifs.d.ts +1 -43
- package/lib/raw_types/dossiers_legislatifs.js +181 -143
- package/lib/raw_types/dossiers_legislatifs.mjs +1792 -0
- package/lib/raw_types/scrutins.js +144 -61
- package/lib/raw_types/scrutins.mjs +645 -0
- package/lib/scripts/bugs_helper.js +657 -155
- package/lib/scripts/bugs_helper.mjs +286 -0
- package/lib/scripts/clean_data.js +380 -145
- package/lib/scripts/clean_data.mjs +190 -0
- package/lib/scripts/clean_reorganized_data.js +627 -331
- package/lib/scripts/clean_reorganized_data.mjs +520 -0
- package/lib/scripts/diff_amendements.js +159 -73
- package/lib/scripts/diff_amendements.mjs +234 -0
- package/lib/scripts/document_dossiers_legislatifs.js +570 -288
- package/lib/scripts/document_dossiers_legislatifs.mjs +494 -0
- package/lib/scripts/get_today_reunions.js +37 -20
- package/lib/scripts/get_today_reunions.mjs +41 -0
- package/lib/scripts/merge_scrutins.js +121 -39
- package/lib/scripts/merge_scrutins.mjs +69 -0
- package/lib/scripts/parse_textes_lois.js +179 -125
- package/lib/scripts/parse_textes_lois.mjs +215 -0
- package/lib/scripts/raw_types_from_amendements.js +276 -77
- package/lib/scripts/raw_types_from_amendements.mjs +118 -0
- package/lib/scripts/reorganize_data.js +867 -446
- package/lib/scripts/reorganize_data.mjs +712 -0
- package/lib/scripts/retrieve_deputes_photos.js +378 -157
- package/lib/scripts/retrieve_deputes_photos.mjs +230 -0
- package/lib/scripts/retrieve_documents.js +648 -172
- package/lib/scripts/retrieve_documents.mjs +292 -0
- package/lib/scripts/retrieve_open_data.js +286 -85
- package/lib/scripts/retrieve_open_data.mjs +125 -0
- package/lib/scripts/retrieve_pending_amendments.js +302 -69
- package/lib/scripts/retrieve_pending_amendments.mjs +130 -0
- package/lib/scripts/retrieve_senateurs_photos.js +374 -198
- package/lib/scripts/retrieve_senateurs_photos.mjs +277 -0
- package/lib/scripts/retrieve_textes_lois.js +343 -89
- package/lib/scripts/retrieve_textes_lois.mjs +168 -0
- package/lib/scripts/test_load.js +30 -11
- package/lib/scripts/test_load.mjs +26 -0
- package/lib/scripts/test_load_big_files.js +30 -11
- package/lib/scripts/test_load_big_files.mjs +26 -0
- package/lib/scripts/validate_json.js +370 -120
- package/lib/scripts/validate_json.mjs +216 -0
- package/lib/shared_types/codes_actes.js +50 -15
- package/lib/shared_types/codes_actes.mjs +228 -0
- package/lib/strings.js +16 -3
- package/lib/strings.mjs +7 -0
- package/lib/types/acteurs_et_organes.js +156 -71
- package/lib/types/acteurs_et_organes.mjs +918 -0
- package/lib/types/agendas.js +154 -67
- package/lib/types/agendas.mjs +623 -0
- package/lib/types/amendements.js +166 -77
- package/lib/types/amendements.mjs +885 -0
- package/lib/types/dossiers_legislatifs.d.ts +1 -42
- package/lib/types/dossiers_legislatifs.js +182 -143
- package/lib/types/dossiers_legislatifs.mjs +1120 -0
- package/lib/types/legislatures.js +12 -3
- package/lib/types/legislatures.mjs +9 -0
- package/lib/types/scrutins.js +144 -61
- package/lib/types/scrutins.mjs +528 -0
- package/lib/urls.js +44 -25
- package/lib/urls.mjs +201 -0
- package/package.json +33 -12
|
@@ -0,0 +1,1120 @@
|
|
|
1
|
+
// To parse this data:
|
|
2
|
+
//
|
|
3
|
+
// import { Convert, Document, DossierParlementaire, DossiersLegislatifs } from "./file";
|
|
4
|
+
//
|
|
5
|
+
// const document = Convert.toDocument(json);
|
|
6
|
+
// const dossierParlementaire = Convert.toDossierParlementaire(json);
|
|
7
|
+
// const dossiersLegislatifs = Convert.toDossiersLegislatifs(json);
|
|
8
|
+
//
|
|
9
|
+
// These functions will throw an error if the JSON doesn't
|
|
10
|
+
// match the expected interface, even if the JSON is valid.
|
|
11
|
+
import { CodeActeNiveau0, CodeActeNiveau1, CodeActeNiveau2, CodeActeNiveau3 } from "../shared_types/codes_actes.mjs";
|
|
12
|
+
export let DossierParlementaireXsiType;
|
|
13
|
+
|
|
14
|
+
(function (DossierParlementaireXsiType) {
|
|
15
|
+
DossierParlementaireXsiType["DossierCommissionEnqueteType"] = "DossierCommissionEnquete_Type";
|
|
16
|
+
DossierParlementaireXsiType["DossierIniativeExecutifType"] = "DossierIniativeExecutif_Type";
|
|
17
|
+
DossierParlementaireXsiType["DossierLegislatifType"] = "DossierLegislatif_Type";
|
|
18
|
+
DossierParlementaireXsiType["DossierMissionControleType"] = "DossierMissionControle_Type";
|
|
19
|
+
DossierParlementaireXsiType["DossierMissionInformationType"] = "DossierMissionInformation_Type";
|
|
20
|
+
DossierParlementaireXsiType["DossierResolutionAn"] = "DossierResolutionAN";
|
|
21
|
+
})(DossierParlementaireXsiType || (DossierParlementaireXsiType = {}));
|
|
22
|
+
|
|
23
|
+
export let TypeBudget;
|
|
24
|
+
|
|
25
|
+
(function (TypeBudget) {
|
|
26
|
+
TypeBudget["BudgetAnnexe"] = "Budget annexe";
|
|
27
|
+
TypeBudget["BudgetG\xE9n\xE9ral"] = "Budget g\xE9n\xE9ral";
|
|
28
|
+
TypeBudget["CompteDeConcoursFinancier"] = "Compte de concours financier";
|
|
29
|
+
TypeBudget["CompteSp\xE9cial"] = "Compte sp\xE9cial";
|
|
30
|
+
TypeBudget["Premi\xE8rePartie"] = "Premi\xE8re partie";
|
|
31
|
+
})(TypeBudget || (TypeBudget = {}));
|
|
32
|
+
|
|
33
|
+
export let TypeMission;
|
|
34
|
+
|
|
35
|
+
(function (TypeMission) {
|
|
36
|
+
TypeMission["MissionPrincipale"] = "mission principale";
|
|
37
|
+
TypeMission["MissionSecondaire"] = "mission secondaire";
|
|
38
|
+
TypeMission["PartieDeMission"] = "partie de mission";
|
|
39
|
+
})(TypeMission || (TypeMission = {}));
|
|
40
|
+
|
|
41
|
+
export let Qualite;
|
|
42
|
+
|
|
43
|
+
(function (Qualite) {
|
|
44
|
+
Qualite["Auteur"] = "auteur";
|
|
45
|
+
Qualite["Rapporteur"] = "rapporteur";
|
|
46
|
+
Qualite["RapporteurG\xE9n\xE9ral"] = "rapporteur g\xE9n\xE9ral";
|
|
47
|
+
Qualite["RapporteurPourAvis"] = "rapporteur pour avis";
|
|
48
|
+
Qualite["RapporteurSp\xE9cial"] = "rapporteur sp\xE9cial";
|
|
49
|
+
})(Qualite || (Qualite = {}));
|
|
50
|
+
|
|
51
|
+
export let TypeActeLegislatif;
|
|
52
|
+
|
|
53
|
+
(function (TypeActeLegislatif) {
|
|
54
|
+
TypeActeLegislatif["AdoptionEuropeType"] = "Adoption_Europe_Type";
|
|
55
|
+
TypeActeLegislatif["ConclusionEtapeCcType"] = "ConclusionEtapeCC_Type";
|
|
56
|
+
TypeActeLegislatif["CreationOrganeTemporaireType"] = "CreationOrganeTemporaire_Type";
|
|
57
|
+
TypeActeLegislatif["DecisionMotionCensureType"] = "DecisionMotionCensure_Type";
|
|
58
|
+
TypeActeLegislatif["DecisionRecevabiliteBureauType"] = "DecisionRecevabiliteBureau_Type";
|
|
59
|
+
TypeActeLegislatif["DecisionType"] = "Decision_Type";
|
|
60
|
+
TypeActeLegislatif["DeclarationGouvernementType"] = "DeclarationGouvernement_Type";
|
|
61
|
+
TypeActeLegislatif["DepotAccordInternationalType"] = "DepotAccordInternational_Type";
|
|
62
|
+
TypeActeLegislatif["DepotAvisConseilEtatType"] = "DepotAvisConseilEtat_Type";
|
|
63
|
+
TypeActeLegislatif["DepotInitiativeNavetteType"] = "DepotInitiativeNavette_Type";
|
|
64
|
+
TypeActeLegislatif["DepotInitiativeType"] = "DepotInitiative_Type";
|
|
65
|
+
TypeActeLegislatif["DepotLettreRectificativeType"] = "DepotLettreRectificative_Type";
|
|
66
|
+
TypeActeLegislatif["DepotMotionCensureType"] = "DepotMotionCensure_Type";
|
|
67
|
+
TypeActeLegislatif["DepotMotionReferendaireType"] = "DepotMotionReferendaire_Type";
|
|
68
|
+
TypeActeLegislatif["DepotRapportType"] = "DepotRapport_Type";
|
|
69
|
+
TypeActeLegislatif["DiscussionCommissionType"] = "DiscussionCommission_Type";
|
|
70
|
+
TypeActeLegislatif["DiscussionSeancePubliqueType"] = "DiscussionSeancePublique_Type";
|
|
71
|
+
TypeActeLegislatif["EtapeType"] = "Etape_Type";
|
|
72
|
+
TypeActeLegislatif["EtudeImpactType"] = "EtudeImpact_Type";
|
|
73
|
+
TypeActeLegislatif["MotionProcedureType"] = "MotionProcedure_Type";
|
|
74
|
+
TypeActeLegislatif["NominRapporteursType"] = "NominRapporteurs_Type";
|
|
75
|
+
TypeActeLegislatif["ProcedureAccelereType"] = "ProcedureAccelere_Type";
|
|
76
|
+
TypeActeLegislatif["PromulgationType"] = "Promulgation_Type";
|
|
77
|
+
TypeActeLegislatif["RenvoiCmpType"] = "RenvoiCMP_Type";
|
|
78
|
+
TypeActeLegislatif["RenvoiPrealableType"] = "RenvoiPrealable_Type";
|
|
79
|
+
TypeActeLegislatif["RetraitInitiativeType"] = "RetraitInitiative_Type";
|
|
80
|
+
TypeActeLegislatif["SaisieComAvisType"] = "SaisieComAvis_Type";
|
|
81
|
+
TypeActeLegislatif["SaisieComFondType"] = "SaisieComFond_Type";
|
|
82
|
+
TypeActeLegislatif["SaisineConseilConstitType"] = "SaisineConseilConstit_Type";
|
|
83
|
+
})(TypeActeLegislatif || (TypeActeLegislatif = {}));
|
|
84
|
+
|
|
85
|
+
export let TypeTexte;
|
|
86
|
+
|
|
87
|
+
(function (TypeTexte) {
|
|
88
|
+
TypeTexte["Bta"] = "BTA";
|
|
89
|
+
TypeTexte["Tap"] = "TAP";
|
|
90
|
+
})(TypeTexte || (TypeTexte = {}));
|
|
91
|
+
|
|
92
|
+
export let Motif;
|
|
93
|
+
|
|
94
|
+
(function (Motif) {
|
|
95
|
+
Motif["EnApplicationDeLArticle612DeLaConstitution"] = "En application de l'article 61\xA72 de la Constitution";
|
|
96
|
+
})(Motif || (Motif = {}));
|
|
97
|
+
|
|
98
|
+
export let TypeJo;
|
|
99
|
+
|
|
100
|
+
(function (TypeJo) {
|
|
101
|
+
TypeJo["JoLoiDecret"] = "JO_LOI_DECRET";
|
|
102
|
+
})(TypeJo || (TypeJo = {}));
|
|
103
|
+
|
|
104
|
+
export let Cause;
|
|
105
|
+
|
|
106
|
+
(function (Cause) {
|
|
107
|
+
Cause["DossierAbsorb\xE9"] = "Dossier absorb\xE9";
|
|
108
|
+
Cause["ExamenCommun"] = "Examen commun";
|
|
109
|
+
})(Cause || (Cause = {}));
|
|
110
|
+
|
|
111
|
+
export let TypeDocument;
|
|
112
|
+
|
|
113
|
+
(function (TypeDocument) {
|
|
114
|
+
TypeDocument["AccordInternationalType"] = "accordInternational_Type";
|
|
115
|
+
TypeDocument["AvisConseilEtatType"] = "avisConseilEtat_Type";
|
|
116
|
+
TypeDocument["DocumentEtudeImpactType"] = "documentEtudeImpact_Type";
|
|
117
|
+
TypeDocument["RapportParlementaireType"] = "rapportParlementaire_Type";
|
|
118
|
+
TypeDocument["TexteLoiType"] = "texteLoi_Type";
|
|
119
|
+
})(TypeDocument || (TypeDocument = {}));
|
|
120
|
+
|
|
121
|
+
export let StatutAdoption;
|
|
122
|
+
|
|
123
|
+
(function (StatutAdoption) {
|
|
124
|
+
StatutAdoption["Adoptcom"] = "ADOPTCOM";
|
|
125
|
+
StatutAdoption["Adoptseance"] = "ADOPTSEANCE";
|
|
126
|
+
StatutAdoption["Rejetseance"] = "REJETSEANCE";
|
|
127
|
+
})(StatutAdoption || (StatutAdoption = {}));
|
|
128
|
+
|
|
129
|
+
export let TypeCorrection;
|
|
130
|
+
|
|
131
|
+
(function (TypeCorrection) {
|
|
132
|
+
TypeCorrection["Rectifi\xE9"] = "Rectifi\xE9";
|
|
133
|
+
})(TypeCorrection || (TypeCorrection = {}));
|
|
134
|
+
|
|
135
|
+
export let DocumentDenominationStructurelle;
|
|
136
|
+
|
|
137
|
+
(function (DocumentDenominationStructurelle) {
|
|
138
|
+
DocumentDenominationStructurelle["Allocution"] = "Allocution";
|
|
139
|
+
DocumentDenominationStructurelle["Avis"] = "Avis";
|
|
140
|
+
DocumentDenominationStructurelle["D\xE9claration"] = "D\xE9claration";
|
|
141
|
+
DocumentDenominationStructurelle["Lettre"] = "Lettre";
|
|
142
|
+
DocumentDenominationStructurelle["Message"] = "Message";
|
|
143
|
+
DocumentDenominationStructurelle["ProjetDeLoi"] = "Projet de loi";
|
|
144
|
+
DocumentDenominationStructurelle["PropositionDeLoi"] = "Proposition de loi";
|
|
145
|
+
DocumentDenominationStructurelle["PropositionDeR\xE9solution"] = "Proposition de r\xE9solution";
|
|
146
|
+
DocumentDenominationStructurelle["Rapport"] = "Rapport";
|
|
147
|
+
DocumentDenominationStructurelle["RapportDInformation"] = "Rapport d'information";
|
|
148
|
+
DocumentDenominationStructurelle["R\xE9solution"] = "R\xE9solution";
|
|
149
|
+
})(DocumentDenominationStructurelle || (DocumentDenominationStructurelle = {}));
|
|
150
|
+
|
|
151
|
+
export let Provenance; // Converts JSON strings to/from your types
|
|
152
|
+
// and asserts the results of JSON.parse at runtime
|
|
153
|
+
|
|
154
|
+
(function (Provenance) {
|
|
155
|
+
Provenance["Commission"] = "Commission";
|
|
156
|
+
Provenance["S\xE9ance"] = "S\xE9ance";
|
|
157
|
+
Provenance["TexteD\xE9pos\xE9"] = "Texte D\xE9pos\xE9";
|
|
158
|
+
})(Provenance || (Provenance = {}));
|
|
159
|
+
|
|
160
|
+
export class Convert {
|
|
161
|
+
static toDossiersLegislatifs(json) {
|
|
162
|
+
return cast(JSON.parse(json), r("DossiersLegislatifs"));
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
static dossiersLegislatifsToJson(value) {
|
|
166
|
+
return JSON.stringify(uncast(value, r("DossiersLegislatifs")), null, 2);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
static toDocument(json) {
|
|
170
|
+
return cast(JSON.parse(json), r("Document"));
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
static documentToJson(value) {
|
|
174
|
+
return JSON.stringify(uncast(value, r("Document")), null, 2);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
static toDossierParlementaire(json) {
|
|
178
|
+
return cast(JSON.parse(json), r("DossierParlementaire"));
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
static dossierParlementaireToJson(value) {
|
|
182
|
+
return JSON.stringify(uncast(value, r("DossierParlementaire")), null, 2);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
function invalidValue(typ, val, key = "") {
|
|
188
|
+
if (key) {
|
|
189
|
+
throw Error(`Invalid value for key "${key}". Expected type ${JSON.stringify(typ)} but got ${JSON.stringify(val)}`);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
throw Error(`Invalid value ${JSON.stringify(val)} for type ${JSON.stringify(typ)}`);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
function jsonToJSProps(typ) {
|
|
196
|
+
if (typ.jsonToJS === undefined) {
|
|
197
|
+
const map = {};
|
|
198
|
+
typ.props.forEach(p => map[p.json] = {
|
|
199
|
+
key: p.js,
|
|
200
|
+
typ: p.typ
|
|
201
|
+
});
|
|
202
|
+
typ.jsonToJS = map;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
return typ.jsonToJS;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
function jsToJSONProps(typ) {
|
|
209
|
+
if (typ.jsToJSON === undefined) {
|
|
210
|
+
const map = {};
|
|
211
|
+
typ.props.forEach(p => map[p.js] = {
|
|
212
|
+
key: p.json,
|
|
213
|
+
typ: p.typ
|
|
214
|
+
});
|
|
215
|
+
typ.jsToJSON = map;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
return typ.jsToJSON;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
function transform(val, typ, getProps, key = "") {
|
|
222
|
+
function transformPrimitive(typ, val) {
|
|
223
|
+
if (typeof typ === typeof val) return val;
|
|
224
|
+
return invalidValue(typ, val, key);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
function transformUnion(typs, val) {
|
|
228
|
+
// val must validate against one typ in typs
|
|
229
|
+
const l = typs.length;
|
|
230
|
+
|
|
231
|
+
for (let i = 0; i < l; i++) {
|
|
232
|
+
const typ = typs[i];
|
|
233
|
+
|
|
234
|
+
try {
|
|
235
|
+
return transform(val, typ, getProps);
|
|
236
|
+
} catch (_) {}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
return invalidValue(typs, val);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
function transformEnum(cases, val) {
|
|
243
|
+
if (cases.indexOf(val) !== -1) return val;
|
|
244
|
+
return invalidValue(cases, val);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
function transformArray(typ, val) {
|
|
248
|
+
// val must be an array with no invalid elements
|
|
249
|
+
if (!Array.isArray(val)) return invalidValue("array", val);
|
|
250
|
+
return val.map(el => transform(el, typ, getProps));
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
function transformDate(val) {
|
|
254
|
+
if (val === null) {
|
|
255
|
+
return null;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
const d = new Date(val);
|
|
259
|
+
|
|
260
|
+
if (isNaN(d.valueOf())) {
|
|
261
|
+
return invalidValue("Date", val);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
return d;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
function transformObject(props, additional, val) {
|
|
268
|
+
if (val === null || typeof val !== "object" || Array.isArray(val)) {
|
|
269
|
+
return invalidValue("object", val);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
const result = {};
|
|
273
|
+
Object.getOwnPropertyNames(props).forEach(key => {
|
|
274
|
+
const prop = props[key];
|
|
275
|
+
const v = Object.prototype.hasOwnProperty.call(val, key) ? val[key] : undefined;
|
|
276
|
+
result[prop.key] = transform(v, prop.typ, getProps, prop.key);
|
|
277
|
+
});
|
|
278
|
+
Object.getOwnPropertyNames(val).forEach(key => {
|
|
279
|
+
if (!Object.prototype.hasOwnProperty.call(props, key)) {
|
|
280
|
+
result[key] = transform(val[key], additional, getProps, key);
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
return result;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
if (typ === "any") return val;
|
|
287
|
+
|
|
288
|
+
if (typ === null) {
|
|
289
|
+
if (val === null) return val;
|
|
290
|
+
return invalidValue(typ, val);
|
|
291
|
+
} // if (typ === false) return invalidValue(typ, val)
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
while (typeof typ === "object" && typ.ref !== undefined) {
|
|
295
|
+
typ = typeMap[typ.ref];
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
if (Array.isArray(typ)) return transformEnum(typ, val);
|
|
299
|
+
|
|
300
|
+
if (typeof typ === "object") {
|
|
301
|
+
return typ.hasOwnProperty("unionMembers") ? transformUnion(typ.unionMembers, val) : typ.hasOwnProperty("arrayItems") ? transformArray(typ.arrayItems, val) : typ.hasOwnProperty("props") ? transformObject(getProps(typ), typ.additional, val) : invalidValue(typ, val);
|
|
302
|
+
} // Numbers can be parsed by Date but shouldn't be.
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
if (typ === Date && typeof val !== "number") return transformDate(val);
|
|
306
|
+
return transformPrimitive(typ, val);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
function cast(val, typ) {
|
|
310
|
+
return transform(val, typ, jsonToJSProps);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
function uncast(val, typ) {
|
|
314
|
+
return transform(val, typ, jsToJSONProps);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
function a(typ) {
|
|
318
|
+
return {
|
|
319
|
+
arrayItems: typ
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
function u(...typs) {
|
|
324
|
+
return {
|
|
325
|
+
unionMembers: typs
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
function o(props, additional) {
|
|
330
|
+
return {
|
|
331
|
+
props,
|
|
332
|
+
additional
|
|
333
|
+
};
|
|
334
|
+
} // function m(additional: any) {
|
|
335
|
+
// return { props: [], additional };
|
|
336
|
+
// }
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
function r(name) {
|
|
340
|
+
return {
|
|
341
|
+
ref: name
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
const typeMap = {
|
|
346
|
+
DossiersLegislatifs: o([{
|
|
347
|
+
json: "textesLegislatifs",
|
|
348
|
+
js: "textesLegislatifs",
|
|
349
|
+
typ: a(r("Document"))
|
|
350
|
+
}, {
|
|
351
|
+
json: "dossiersParlementaires",
|
|
352
|
+
js: "dossiersParlementaires",
|
|
353
|
+
typ: a(r("DossierParlementaire"))
|
|
354
|
+
}], false),
|
|
355
|
+
DossierParlementaire: o([{
|
|
356
|
+
json: "schemaVersion",
|
|
357
|
+
js: "schemaVersion",
|
|
358
|
+
typ: u(undefined, "")
|
|
359
|
+
}, {
|
|
360
|
+
json: "xsiType",
|
|
361
|
+
js: "xsiType",
|
|
362
|
+
typ: u(undefined, r("DossierParlementaireXsiType"))
|
|
363
|
+
}, {
|
|
364
|
+
json: "uid",
|
|
365
|
+
js: "uid",
|
|
366
|
+
typ: ""
|
|
367
|
+
}, {
|
|
368
|
+
json: "legislature",
|
|
369
|
+
js: "legislature",
|
|
370
|
+
typ: ""
|
|
371
|
+
}, {
|
|
372
|
+
json: "titreDossier",
|
|
373
|
+
js: "titreDossier",
|
|
374
|
+
typ: r("TitreDossier")
|
|
375
|
+
}, {
|
|
376
|
+
json: "procedureParlementaire",
|
|
377
|
+
js: "procedureParlementaire",
|
|
378
|
+
typ: r("ProcedureParlementaire")
|
|
379
|
+
}, {
|
|
380
|
+
json: "initiateur",
|
|
381
|
+
js: "initiateur",
|
|
382
|
+
typ: u(undefined, r("Initiateur"))
|
|
383
|
+
}, {
|
|
384
|
+
json: "actesLegislatifs",
|
|
385
|
+
js: "actesLegislatifs",
|
|
386
|
+
typ: u(undefined, a(r("ActeLegislatif")))
|
|
387
|
+
}, {
|
|
388
|
+
json: "fusionDossier",
|
|
389
|
+
js: "fusionDossier",
|
|
390
|
+
typ: u(undefined, r("FusionDossier"))
|
|
391
|
+
}, {
|
|
392
|
+
json: "indexation",
|
|
393
|
+
js: "indexation",
|
|
394
|
+
typ: u(undefined, r("Indexation"))
|
|
395
|
+
}, {
|
|
396
|
+
json: "plf",
|
|
397
|
+
js: "plf",
|
|
398
|
+
typ: u(undefined, a(r("EtudePlf")))
|
|
399
|
+
}], false),
|
|
400
|
+
EtudePlf: o([{
|
|
401
|
+
json: "uid",
|
|
402
|
+
js: "uid",
|
|
403
|
+
typ: ""
|
|
404
|
+
}, {
|
|
405
|
+
json: "organeRef",
|
|
406
|
+
js: "organeRef",
|
|
407
|
+
typ: ""
|
|
408
|
+
}, {
|
|
409
|
+
json: "texteAssocie",
|
|
410
|
+
js: "texteAssocie",
|
|
411
|
+
typ: u(undefined, "")
|
|
412
|
+
}, {
|
|
413
|
+
json: "rapporteurs",
|
|
414
|
+
js: "rapporteurs",
|
|
415
|
+
typ: u(undefined, a(r("Rapporteur")))
|
|
416
|
+
}, {
|
|
417
|
+
json: "missionMinefi",
|
|
418
|
+
js: "missionMinefi",
|
|
419
|
+
typ: u(undefined, r("MissionMinefi"))
|
|
420
|
+
}, {
|
|
421
|
+
json: "ordreDiqs",
|
|
422
|
+
js: "ordreDiqs",
|
|
423
|
+
typ: ""
|
|
424
|
+
}, {
|
|
425
|
+
json: "ordreCommission",
|
|
426
|
+
js: "ordreCommission",
|
|
427
|
+
typ: ""
|
|
428
|
+
}], false),
|
|
429
|
+
MissionMinefi: o([{
|
|
430
|
+
json: "typeMission",
|
|
431
|
+
js: "typeMission",
|
|
432
|
+
typ: r("TypeMission")
|
|
433
|
+
}, {
|
|
434
|
+
json: "libelleLong",
|
|
435
|
+
js: "libelleLong",
|
|
436
|
+
typ: ""
|
|
437
|
+
}, {
|
|
438
|
+
json: "libelleCourt",
|
|
439
|
+
js: "libelleCourt",
|
|
440
|
+
typ: ""
|
|
441
|
+
}, {
|
|
442
|
+
json: "typeBudget",
|
|
443
|
+
js: "typeBudget",
|
|
444
|
+
typ: r("TypeBudget")
|
|
445
|
+
}, {
|
|
446
|
+
json: "missions",
|
|
447
|
+
js: "missions",
|
|
448
|
+
typ: u(undefined, a(r("MissionMinefi")))
|
|
449
|
+
}], false),
|
|
450
|
+
ActeLegislatif: o([{
|
|
451
|
+
json: "xsiType",
|
|
452
|
+
js: "xsiType",
|
|
453
|
+
typ: r("TypeActeLegislatif")
|
|
454
|
+
}, {
|
|
455
|
+
json: "uid",
|
|
456
|
+
js: "uid",
|
|
457
|
+
typ: ""
|
|
458
|
+
}, {
|
|
459
|
+
json: "codeActe",
|
|
460
|
+
js: "codeActe",
|
|
461
|
+
typ: u(r("CodeActeNiveau0"), u(r("CodeActeNiveau1"), u(r("CodeActeNiveau2"), r("CodeActeNiveau3"))))
|
|
462
|
+
}, {
|
|
463
|
+
json: "libelleActe",
|
|
464
|
+
js: "libelleActe",
|
|
465
|
+
typ: r("LibelleActe")
|
|
466
|
+
}, {
|
|
467
|
+
json: "organeRef",
|
|
468
|
+
js: "organeRef",
|
|
469
|
+
typ: u(undefined, "")
|
|
470
|
+
}, {
|
|
471
|
+
json: "dateActe",
|
|
472
|
+
js: "dateActe",
|
|
473
|
+
typ: u(undefined, Date)
|
|
474
|
+
}, {
|
|
475
|
+
json: "actesLegislatifs",
|
|
476
|
+
js: "actesLegislatifs",
|
|
477
|
+
typ: u(undefined, a(r("ActeLegislatif")))
|
|
478
|
+
}, {
|
|
479
|
+
json: "anneeDecision",
|
|
480
|
+
js: "anneeDecision",
|
|
481
|
+
typ: u(undefined, "")
|
|
482
|
+
}, {
|
|
483
|
+
json: "auteurMotion",
|
|
484
|
+
js: "auteurMotion",
|
|
485
|
+
typ: u(undefined, "")
|
|
486
|
+
}, {
|
|
487
|
+
json: "auteursRefs",
|
|
488
|
+
js: "auteursRefs",
|
|
489
|
+
typ: u(undefined, a(""))
|
|
490
|
+
}, {
|
|
491
|
+
json: "casSaisine",
|
|
492
|
+
js: "casSaisine",
|
|
493
|
+
typ: u(undefined, r("TypeDeclaration"))
|
|
494
|
+
}, {
|
|
495
|
+
json: "codeLoi",
|
|
496
|
+
js: "codeLoi",
|
|
497
|
+
typ: u(undefined, "")
|
|
498
|
+
}, {
|
|
499
|
+
json: "contributionInternaute",
|
|
500
|
+
js: "contributionInternaute",
|
|
501
|
+
typ: u(undefined, r("ContributionInternaute"))
|
|
502
|
+
}, {
|
|
503
|
+
json: "decision",
|
|
504
|
+
js: "decision",
|
|
505
|
+
typ: u(undefined, r("TypeDeclaration"))
|
|
506
|
+
}, {
|
|
507
|
+
json: "depotInitialLectureDefinitiveRef",
|
|
508
|
+
js: "depotInitialLectureDefinitiveRef",
|
|
509
|
+
typ: u(undefined, "")
|
|
510
|
+
}, {
|
|
511
|
+
json: "formuleDecision",
|
|
512
|
+
js: "formuleDecision",
|
|
513
|
+
typ: u(undefined, "")
|
|
514
|
+
}, {
|
|
515
|
+
json: "infoJo",
|
|
516
|
+
js: "infoJo",
|
|
517
|
+
typ: u(undefined, r("InfoJo"))
|
|
518
|
+
}, {
|
|
519
|
+
json: "infoJoce",
|
|
520
|
+
js: "infoJoce",
|
|
521
|
+
typ: u(undefined, r("InfoJoce"))
|
|
522
|
+
}, {
|
|
523
|
+
json: "infoJoRect",
|
|
524
|
+
js: "infoJoRect",
|
|
525
|
+
typ: u(undefined, a(r("InfoJo")))
|
|
526
|
+
}, {
|
|
527
|
+
json: "initiateur",
|
|
528
|
+
js: "initiateur",
|
|
529
|
+
typ: u(undefined, r("Initiateur"))
|
|
530
|
+
}, {
|
|
531
|
+
json: "motif",
|
|
532
|
+
js: "motif",
|
|
533
|
+
typ: u(undefined, r("Motif"))
|
|
534
|
+
}, {
|
|
535
|
+
json: "numDecision",
|
|
536
|
+
js: "numDecision",
|
|
537
|
+
typ: u(undefined, "")
|
|
538
|
+
}, {
|
|
539
|
+
json: "odjRef",
|
|
540
|
+
js: "odjRef",
|
|
541
|
+
typ: u(undefined, "")
|
|
542
|
+
}, {
|
|
543
|
+
json: "provenanceRef",
|
|
544
|
+
js: "provenanceRef",
|
|
545
|
+
typ: u(undefined, "")
|
|
546
|
+
}, {
|
|
547
|
+
json: "rapporteurs",
|
|
548
|
+
js: "rapporteurs",
|
|
549
|
+
typ: u(undefined, a(r("Rapporteur")))
|
|
550
|
+
}, {
|
|
551
|
+
json: "referenceNor",
|
|
552
|
+
js: "referenceNor",
|
|
553
|
+
typ: u(undefined, "")
|
|
554
|
+
}, {
|
|
555
|
+
json: "reunionRef",
|
|
556
|
+
js: "reunionRef",
|
|
557
|
+
typ: u(undefined, "")
|
|
558
|
+
}, {
|
|
559
|
+
json: "statutAdoption",
|
|
560
|
+
js: "statutAdoption",
|
|
561
|
+
typ: u(undefined, r("TypeDeclaration"))
|
|
562
|
+
}, {
|
|
563
|
+
json: "statutConclusion",
|
|
564
|
+
js: "statutConclusion",
|
|
565
|
+
typ: u(undefined, r("TypeDeclaration"))
|
|
566
|
+
}, {
|
|
567
|
+
json: "texteAdopteRef",
|
|
568
|
+
js: "texteAdopteRef",
|
|
569
|
+
typ: u(undefined, "")
|
|
570
|
+
}, {
|
|
571
|
+
json: "texteAssocieRef",
|
|
572
|
+
js: "texteAssocieRef",
|
|
573
|
+
typ: u(undefined, "")
|
|
574
|
+
}, {
|
|
575
|
+
json: "texteEuropeen",
|
|
576
|
+
js: "texteEuropeen",
|
|
577
|
+
typ: u(undefined, r("TexteEuropeen"))
|
|
578
|
+
}, {
|
|
579
|
+
json: "texteLoiRef",
|
|
580
|
+
js: "texteLoiRef",
|
|
581
|
+
typ: u(undefined, "")
|
|
582
|
+
}, {
|
|
583
|
+
json: "textesAssocies",
|
|
584
|
+
js: "textesAssocies",
|
|
585
|
+
typ: u(undefined, a(r("TexteAssocie")))
|
|
586
|
+
}, {
|
|
587
|
+
json: "titreLoi",
|
|
588
|
+
js: "titreLoi",
|
|
589
|
+
typ: u(undefined, "")
|
|
590
|
+
}, {
|
|
591
|
+
json: "typeDeclaration",
|
|
592
|
+
js: "typeDeclaration",
|
|
593
|
+
typ: u(undefined, r("TypeDeclaration"))
|
|
594
|
+
}, {
|
|
595
|
+
json: "typeMotion",
|
|
596
|
+
js: "typeMotion",
|
|
597
|
+
typ: u(undefined, r("TypeDeclaration"))
|
|
598
|
+
}, {
|
|
599
|
+
json: "typeMotionCensure",
|
|
600
|
+
js: "typeMotionCensure",
|
|
601
|
+
typ: u(undefined, r("TypeDeclaration"))
|
|
602
|
+
}, {
|
|
603
|
+
json: "urlConclusion",
|
|
604
|
+
js: "urlConclusion",
|
|
605
|
+
typ: u(undefined, "")
|
|
606
|
+
}, {
|
|
607
|
+
json: "urlEcheancierLoi",
|
|
608
|
+
js: "urlEcheancierLoi",
|
|
609
|
+
typ: u(undefined, "")
|
|
610
|
+
}, {
|
|
611
|
+
json: "urlLegifrance",
|
|
612
|
+
js: "urlLegifrance",
|
|
613
|
+
typ: u(undefined, "")
|
|
614
|
+
}, {
|
|
615
|
+
json: "voteRefs",
|
|
616
|
+
js: "voteRefs",
|
|
617
|
+
typ: u(undefined, a(""))
|
|
618
|
+
}], false),
|
|
619
|
+
LibelleActe: o([{
|
|
620
|
+
json: "nomCanonique",
|
|
621
|
+
js: "nomCanonique",
|
|
622
|
+
typ: ""
|
|
623
|
+
}, {
|
|
624
|
+
json: "libelleCourt",
|
|
625
|
+
js: "libelleCourt",
|
|
626
|
+
typ: u(undefined, "")
|
|
627
|
+
}], false),
|
|
628
|
+
Rapporteur: o([{
|
|
629
|
+
json: "acteurRef",
|
|
630
|
+
js: "acteurRef",
|
|
631
|
+
typ: ""
|
|
632
|
+
}, {
|
|
633
|
+
json: "typeRapporteur",
|
|
634
|
+
js: "typeRapporteur",
|
|
635
|
+
typ: r("Qualite")
|
|
636
|
+
}, {
|
|
637
|
+
json: "etudePlfRef",
|
|
638
|
+
js: "etudePlfRef",
|
|
639
|
+
typ: u(undefined, "")
|
|
640
|
+
}], false),
|
|
641
|
+
TypeDeclaration: o([{
|
|
642
|
+
json: "famCode",
|
|
643
|
+
js: "famCode",
|
|
644
|
+
typ: ""
|
|
645
|
+
}, {
|
|
646
|
+
json: "libelle",
|
|
647
|
+
js: "libelle",
|
|
648
|
+
typ: ""
|
|
649
|
+
}], false),
|
|
650
|
+
TexteAssocie: o([{
|
|
651
|
+
json: "typeTexte",
|
|
652
|
+
js: "typeTexte",
|
|
653
|
+
typ: r("TypeTexte")
|
|
654
|
+
}, {
|
|
655
|
+
json: "texteAssocieRef",
|
|
656
|
+
js: "texteAssocieRef",
|
|
657
|
+
typ: ""
|
|
658
|
+
}], false),
|
|
659
|
+
ContributionInternaute: o([{
|
|
660
|
+
json: "dateOuverture",
|
|
661
|
+
js: "dateOuverture",
|
|
662
|
+
typ: u(undefined, "")
|
|
663
|
+
}, {
|
|
664
|
+
json: "dateFermeture",
|
|
665
|
+
js: "dateFermeture",
|
|
666
|
+
typ: u(undefined, "")
|
|
667
|
+
}], false),
|
|
668
|
+
InfoJoce: o([{
|
|
669
|
+
json: "refJoce",
|
|
670
|
+
js: "refJoce",
|
|
671
|
+
typ: ""
|
|
672
|
+
}, {
|
|
673
|
+
json: "dateJoce",
|
|
674
|
+
js: "dateJoce",
|
|
675
|
+
typ: ""
|
|
676
|
+
}], false),
|
|
677
|
+
InitiateurActeur: o([{
|
|
678
|
+
json: "acteurRef",
|
|
679
|
+
js: "acteurRef",
|
|
680
|
+
typ: ""
|
|
681
|
+
}, {
|
|
682
|
+
json: "mandatRef",
|
|
683
|
+
js: "mandatRef",
|
|
684
|
+
typ: u(undefined, "")
|
|
685
|
+
}], false),
|
|
686
|
+
TexteEuropeen: o([{
|
|
687
|
+
json: "typeTexteEuropeen",
|
|
688
|
+
js: "typeTexteEuropeen",
|
|
689
|
+
typ: ""
|
|
690
|
+
}, {
|
|
691
|
+
json: "titreTexteEuropeen",
|
|
692
|
+
js: "titreTexteEuropeen",
|
|
693
|
+
typ: ""
|
|
694
|
+
}], false),
|
|
695
|
+
InfoJo: o([{
|
|
696
|
+
json: "typeJo",
|
|
697
|
+
js: "typeJo",
|
|
698
|
+
typ: r("TypeJo")
|
|
699
|
+
}, {
|
|
700
|
+
json: "dateJo",
|
|
701
|
+
js: "dateJo",
|
|
702
|
+
typ: ""
|
|
703
|
+
}, {
|
|
704
|
+
json: "numJo",
|
|
705
|
+
js: "numJo",
|
|
706
|
+
typ: ""
|
|
707
|
+
}, {
|
|
708
|
+
json: "urlLegifrance",
|
|
709
|
+
js: "urlLegifrance",
|
|
710
|
+
typ: u(undefined, "")
|
|
711
|
+
}, {
|
|
712
|
+
json: "referenceNor",
|
|
713
|
+
js: "referenceNor",
|
|
714
|
+
typ: u(undefined, "")
|
|
715
|
+
}], false),
|
|
716
|
+
FusionDossier: o([{
|
|
717
|
+
json: "cause",
|
|
718
|
+
js: "cause",
|
|
719
|
+
typ: r("Cause")
|
|
720
|
+
}, {
|
|
721
|
+
json: "dossierAbsorbantRef",
|
|
722
|
+
js: "dossierAbsorbantRef",
|
|
723
|
+
typ: ""
|
|
724
|
+
}], false),
|
|
725
|
+
Indexation: o([{
|
|
726
|
+
json: "themes",
|
|
727
|
+
js: "themes",
|
|
728
|
+
typ: r("Themes")
|
|
729
|
+
}], false),
|
|
730
|
+
Themes: o([{
|
|
731
|
+
json: "@niveau",
|
|
732
|
+
js: "@niveau",
|
|
733
|
+
typ: ""
|
|
734
|
+
}, {
|
|
735
|
+
json: "theme",
|
|
736
|
+
js: "theme",
|
|
737
|
+
typ: r("Theme")
|
|
738
|
+
}], false),
|
|
739
|
+
Theme: o([{
|
|
740
|
+
json: "libelleTheme",
|
|
741
|
+
js: "libelleTheme",
|
|
742
|
+
typ: ""
|
|
743
|
+
}], false),
|
|
744
|
+
Initiateur: o([{
|
|
745
|
+
json: "acteurs",
|
|
746
|
+
js: "acteurs",
|
|
747
|
+
typ: u(undefined, a(r("InitiateurActeur")))
|
|
748
|
+
}, {
|
|
749
|
+
json: "organeRef",
|
|
750
|
+
js: "organeRef",
|
|
751
|
+
typ: u(undefined, "")
|
|
752
|
+
}], false),
|
|
753
|
+
ProcedureParlementaire: o([{
|
|
754
|
+
json: "code",
|
|
755
|
+
js: "code",
|
|
756
|
+
typ: ""
|
|
757
|
+
}, {
|
|
758
|
+
json: "libelle",
|
|
759
|
+
js: "libelle",
|
|
760
|
+
typ: ""
|
|
761
|
+
}], false),
|
|
762
|
+
TitreDossier: o([{
|
|
763
|
+
json: "titre",
|
|
764
|
+
js: "titre",
|
|
765
|
+
typ: ""
|
|
766
|
+
}, {
|
|
767
|
+
json: "titreChemin",
|
|
768
|
+
js: "titreChemin",
|
|
769
|
+
typ: u(undefined, "")
|
|
770
|
+
}, {
|
|
771
|
+
json: "senatChemin",
|
|
772
|
+
js: "senatChemin",
|
|
773
|
+
typ: u(undefined, "")
|
|
774
|
+
}], false),
|
|
775
|
+
Document: o([{
|
|
776
|
+
json: "schemaVersion",
|
|
777
|
+
js: "schemaVersion",
|
|
778
|
+
typ: u(undefined, "")
|
|
779
|
+
}, {
|
|
780
|
+
json: "xsiType",
|
|
781
|
+
js: "xsiType",
|
|
782
|
+
typ: r("TypeDocument")
|
|
783
|
+
}, {
|
|
784
|
+
json: "uid",
|
|
785
|
+
js: "uid",
|
|
786
|
+
typ: ""
|
|
787
|
+
}, {
|
|
788
|
+
json: "legislature",
|
|
789
|
+
js: "legislature",
|
|
790
|
+
typ: u(undefined, "")
|
|
791
|
+
}, {
|
|
792
|
+
json: "cycleDeVie",
|
|
793
|
+
js: "cycleDeVie",
|
|
794
|
+
typ: r("CycleDeVie")
|
|
795
|
+
}, {
|
|
796
|
+
json: "denominationStructurelle",
|
|
797
|
+
js: "denominationStructurelle",
|
|
798
|
+
typ: r("DocumentDenominationStructurelle")
|
|
799
|
+
}, {
|
|
800
|
+
json: "provenance",
|
|
801
|
+
js: "provenance",
|
|
802
|
+
typ: u(undefined, r("Provenance"))
|
|
803
|
+
}, {
|
|
804
|
+
json: "titres",
|
|
805
|
+
js: "titres",
|
|
806
|
+
typ: r("Titres")
|
|
807
|
+
}, {
|
|
808
|
+
json: "divisions",
|
|
809
|
+
js: "divisions",
|
|
810
|
+
typ: u(undefined, a(r("Division")))
|
|
811
|
+
}, {
|
|
812
|
+
json: "dossierRef",
|
|
813
|
+
js: "dossierRef",
|
|
814
|
+
typ: ""
|
|
815
|
+
}, {
|
|
816
|
+
json: "classification",
|
|
817
|
+
js: "classification",
|
|
818
|
+
typ: r("Classification")
|
|
819
|
+
}, {
|
|
820
|
+
json: "auteurs",
|
|
821
|
+
js: "auteurs",
|
|
822
|
+
typ: a(r("Auteur"))
|
|
823
|
+
}, {
|
|
824
|
+
json: "correction",
|
|
825
|
+
js: "correction",
|
|
826
|
+
typ: u(undefined, r("Correction"))
|
|
827
|
+
}, {
|
|
828
|
+
json: "notice",
|
|
829
|
+
js: "notice",
|
|
830
|
+
typ: r("Notice")
|
|
831
|
+
}, {
|
|
832
|
+
json: "indexation",
|
|
833
|
+
js: "indexation",
|
|
834
|
+
typ: u(undefined, r("Indexation"))
|
|
835
|
+
}, {
|
|
836
|
+
json: "imprimerie",
|
|
837
|
+
js: "imprimerie",
|
|
838
|
+
typ: u(undefined, r("Imprimerie"))
|
|
839
|
+
}, {
|
|
840
|
+
json: "coSignataires",
|
|
841
|
+
js: "coSignataires",
|
|
842
|
+
typ: u(undefined, a(r("CoSignataireElement")))
|
|
843
|
+
}, {
|
|
844
|
+
json: "depotAmendements",
|
|
845
|
+
js: "depotAmendements",
|
|
846
|
+
typ: u(undefined, r("DepotAmendements"))
|
|
847
|
+
}, {
|
|
848
|
+
json: "organesReferents",
|
|
849
|
+
js: "organesReferents",
|
|
850
|
+
typ: u(undefined, a(""))
|
|
851
|
+
}, {
|
|
852
|
+
json: "rapportPublie",
|
|
853
|
+
js: "rapportPublie",
|
|
854
|
+
typ: u(undefined, false)
|
|
855
|
+
}], false),
|
|
856
|
+
Auteur: o([{
|
|
857
|
+
json: "acteur",
|
|
858
|
+
js: "acteur",
|
|
859
|
+
typ: u(undefined, r("AuteurActeur"))
|
|
860
|
+
}, {
|
|
861
|
+
json: "organeRef",
|
|
862
|
+
js: "organeRef",
|
|
863
|
+
typ: u(undefined, "")
|
|
864
|
+
}], false),
|
|
865
|
+
AuteurActeur: o([{
|
|
866
|
+
json: "acteurRef",
|
|
867
|
+
js: "acteurRef",
|
|
868
|
+
typ: ""
|
|
869
|
+
}, {
|
|
870
|
+
json: "qualite",
|
|
871
|
+
js: "qualite",
|
|
872
|
+
typ: r("Qualite")
|
|
873
|
+
}], false),
|
|
874
|
+
Classification: o([{
|
|
875
|
+
json: "famille",
|
|
876
|
+
js: "famille",
|
|
877
|
+
typ: u(undefined, r("Famille"))
|
|
878
|
+
}, {
|
|
879
|
+
json: "type",
|
|
880
|
+
js: "type",
|
|
881
|
+
typ: r("ProcedureParlementaire")
|
|
882
|
+
}, {
|
|
883
|
+
json: "sousType",
|
|
884
|
+
js: "sousType",
|
|
885
|
+
typ: u(undefined, r("SousType"))
|
|
886
|
+
}, {
|
|
887
|
+
json: "statutAdoption",
|
|
888
|
+
js: "statutAdoption",
|
|
889
|
+
typ: u(undefined, r("StatutAdoption"))
|
|
890
|
+
}], false),
|
|
891
|
+
Famille: o([{
|
|
892
|
+
json: "depot",
|
|
893
|
+
js: "depot",
|
|
894
|
+
typ: r("ProcedureParlementaire")
|
|
895
|
+
}, {
|
|
896
|
+
json: "classe",
|
|
897
|
+
js: "classe",
|
|
898
|
+
typ: r("ProcedureParlementaire")
|
|
899
|
+
}, {
|
|
900
|
+
json: "espece",
|
|
901
|
+
js: "espece",
|
|
902
|
+
typ: u(undefined, r("ProcedureParlementaire"))
|
|
903
|
+
}], false),
|
|
904
|
+
SousType: o([{
|
|
905
|
+
json: "code",
|
|
906
|
+
js: "code",
|
|
907
|
+
typ: ""
|
|
908
|
+
}, {
|
|
909
|
+
json: "libelle",
|
|
910
|
+
js: "libelle",
|
|
911
|
+
typ: u(undefined, "")
|
|
912
|
+
}, {
|
|
913
|
+
json: "libelleEdition",
|
|
914
|
+
js: "libelleEdition",
|
|
915
|
+
typ: u(undefined, "")
|
|
916
|
+
}], false),
|
|
917
|
+
CoSignataireElement: o([{
|
|
918
|
+
json: "acteurRef",
|
|
919
|
+
js: "acteurRef",
|
|
920
|
+
typ: u(undefined, "")
|
|
921
|
+
}, {
|
|
922
|
+
json: "dateCosignature",
|
|
923
|
+
js: "dateCosignature",
|
|
924
|
+
typ: ""
|
|
925
|
+
}, {
|
|
926
|
+
json: "dateRetraitCosignature",
|
|
927
|
+
js: "dateRetraitCosignature",
|
|
928
|
+
typ: u(undefined, "")
|
|
929
|
+
}, {
|
|
930
|
+
json: "edite",
|
|
931
|
+
js: "edite",
|
|
932
|
+
typ: false
|
|
933
|
+
}, {
|
|
934
|
+
json: "organe",
|
|
935
|
+
js: "organe",
|
|
936
|
+
typ: u(undefined, r("CoSignataireOrgane"))
|
|
937
|
+
}], false),
|
|
938
|
+
CoSignataireOrgane: o([{
|
|
939
|
+
json: "organeRef",
|
|
940
|
+
js: "organeRef",
|
|
941
|
+
typ: ""
|
|
942
|
+
}, {
|
|
943
|
+
json: "etApparentes",
|
|
944
|
+
js: "etApparentes",
|
|
945
|
+
typ: false
|
|
946
|
+
}], false),
|
|
947
|
+
Correction: o([{
|
|
948
|
+
json: "typeCorrection",
|
|
949
|
+
js: "typeCorrection",
|
|
950
|
+
typ: r("TypeCorrection")
|
|
951
|
+
}, {
|
|
952
|
+
json: "niveauCorrection",
|
|
953
|
+
js: "niveauCorrection",
|
|
954
|
+
typ: u(undefined, "")
|
|
955
|
+
}], false),
|
|
956
|
+
CycleDeVie: o([{
|
|
957
|
+
json: "chrono",
|
|
958
|
+
js: "chrono",
|
|
959
|
+
typ: r("Chrono")
|
|
960
|
+
}], false),
|
|
961
|
+
Chrono: o([{
|
|
962
|
+
json: "dateCreation",
|
|
963
|
+
js: "dateCreation",
|
|
964
|
+
typ: Date
|
|
965
|
+
}, {
|
|
966
|
+
json: "dateDepot",
|
|
967
|
+
js: "dateDepot",
|
|
968
|
+
typ: u(undefined, Date)
|
|
969
|
+
}, {
|
|
970
|
+
json: "datePublication",
|
|
971
|
+
js: "datePublication",
|
|
972
|
+
typ: u(undefined, Date)
|
|
973
|
+
}, {
|
|
974
|
+
json: "datePublicationWeb",
|
|
975
|
+
js: "datePublicationWeb",
|
|
976
|
+
typ: u(undefined, Date)
|
|
977
|
+
}], false),
|
|
978
|
+
DepotAmendements: o([{
|
|
979
|
+
json: "amendementsSeance",
|
|
980
|
+
js: "amendementsSeance",
|
|
981
|
+
typ: r("AmendementsSeance")
|
|
982
|
+
}, {
|
|
983
|
+
json: "amendementsCommission",
|
|
984
|
+
js: "amendementsCommission",
|
|
985
|
+
typ: u(undefined, a(r("AmendementsCommission")))
|
|
986
|
+
}], false),
|
|
987
|
+
AmendementsCommission: o([{
|
|
988
|
+
json: "organeRef",
|
|
989
|
+
js: "organeRef",
|
|
990
|
+
typ: ""
|
|
991
|
+
}, {
|
|
992
|
+
json: "amendable",
|
|
993
|
+
js: "amendable",
|
|
994
|
+
typ: false
|
|
995
|
+
}], false),
|
|
996
|
+
AmendementsSeance: o([{
|
|
997
|
+
json: "amendable",
|
|
998
|
+
js: "amendable",
|
|
999
|
+
typ: false
|
|
1000
|
+
}], false),
|
|
1001
|
+
Division: o([{
|
|
1002
|
+
json: "xsiType",
|
|
1003
|
+
js: "xsiType",
|
|
1004
|
+
typ: r("TypeDocument")
|
|
1005
|
+
}, {
|
|
1006
|
+
json: "uid",
|
|
1007
|
+
js: "uid",
|
|
1008
|
+
typ: ""
|
|
1009
|
+
}, {
|
|
1010
|
+
json: "legislature",
|
|
1011
|
+
js: "legislature",
|
|
1012
|
+
typ: u(undefined, "")
|
|
1013
|
+
}, {
|
|
1014
|
+
json: "cycleDeVie",
|
|
1015
|
+
js: "cycleDeVie",
|
|
1016
|
+
typ: r("CycleDeVie")
|
|
1017
|
+
}, {
|
|
1018
|
+
json: "denominationStructurelle",
|
|
1019
|
+
js: "denominationStructurelle",
|
|
1020
|
+
typ: ""
|
|
1021
|
+
}, {
|
|
1022
|
+
json: "titres",
|
|
1023
|
+
js: "titres",
|
|
1024
|
+
typ: r("Titres")
|
|
1025
|
+
}, {
|
|
1026
|
+
json: "divisions",
|
|
1027
|
+
js: "divisions",
|
|
1028
|
+
typ: u(undefined, a(r("Division")))
|
|
1029
|
+
}, {
|
|
1030
|
+
json: "dossierRef",
|
|
1031
|
+
js: "dossierRef",
|
|
1032
|
+
typ: ""
|
|
1033
|
+
}, {
|
|
1034
|
+
json: "classification",
|
|
1035
|
+
js: "classification",
|
|
1036
|
+
typ: r("Classification")
|
|
1037
|
+
}, {
|
|
1038
|
+
json: "auteurs",
|
|
1039
|
+
js: "auteurs",
|
|
1040
|
+
typ: a(r("Auteur"))
|
|
1041
|
+
}, {
|
|
1042
|
+
json: "correction",
|
|
1043
|
+
js: "correction",
|
|
1044
|
+
typ: u(undefined, r("Correction"))
|
|
1045
|
+
}, {
|
|
1046
|
+
json: "notice",
|
|
1047
|
+
js: "notice",
|
|
1048
|
+
typ: r("Notice")
|
|
1049
|
+
}, {
|
|
1050
|
+
json: "indexation",
|
|
1051
|
+
js: "indexation",
|
|
1052
|
+
typ: u(undefined, r("Indexation"))
|
|
1053
|
+
}, {
|
|
1054
|
+
json: "imprimerie",
|
|
1055
|
+
js: "imprimerie",
|
|
1056
|
+
typ: u(undefined, r("Imprimerie"))
|
|
1057
|
+
}, {
|
|
1058
|
+
json: "rapportPublie",
|
|
1059
|
+
js: "rapportPublie",
|
|
1060
|
+
typ: u(undefined, false)
|
|
1061
|
+
}], false),
|
|
1062
|
+
Imprimerie: o([{
|
|
1063
|
+
json: "dian",
|
|
1064
|
+
js: "dian",
|
|
1065
|
+
typ: u(undefined, "")
|
|
1066
|
+
}, {
|
|
1067
|
+
json: "isbn",
|
|
1068
|
+
js: "isbn",
|
|
1069
|
+
typ: u(undefined, "")
|
|
1070
|
+
}, {
|
|
1071
|
+
json: "nbPage",
|
|
1072
|
+
js: "nbPage",
|
|
1073
|
+
typ: u(undefined, "")
|
|
1074
|
+
}, {
|
|
1075
|
+
json: "prix",
|
|
1076
|
+
js: "prix",
|
|
1077
|
+
typ: u(undefined, "")
|
|
1078
|
+
}], false),
|
|
1079
|
+
Notice: o([{
|
|
1080
|
+
json: "numNotice",
|
|
1081
|
+
js: "numNotice",
|
|
1082
|
+
typ: u(undefined, "")
|
|
1083
|
+
}, {
|
|
1084
|
+
json: "formule",
|
|
1085
|
+
js: "formule",
|
|
1086
|
+
typ: u(undefined, "")
|
|
1087
|
+
}, {
|
|
1088
|
+
json: "adoptionConforme",
|
|
1089
|
+
js: "adoptionConforme",
|
|
1090
|
+
typ: false
|
|
1091
|
+
}], false),
|
|
1092
|
+
Titres: o([{
|
|
1093
|
+
json: "titrePrincipal",
|
|
1094
|
+
js: "titrePrincipal",
|
|
1095
|
+
typ: ""
|
|
1096
|
+
}, {
|
|
1097
|
+
json: "titrePrincipalCourt",
|
|
1098
|
+
js: "titrePrincipalCourt",
|
|
1099
|
+
typ: ""
|
|
1100
|
+
}], false),
|
|
1101
|
+
DossierParlementaireXsiType: ["DossierCommissionEnquete_Type", "DossierIniativeExecutif_Type", "DossierLegislatif_Type", "DossierMissionControle_Type", "DossierMissionInformation_Type", "DossierResolutionAN"],
|
|
1102
|
+
TypeBudget: ["Budget annexe", "Budget général", "Compte de concours financier", "Compte spécial", "Première partie"],
|
|
1103
|
+
TypeMission: ["mission principale", "mission secondaire", "partie de mission"],
|
|
1104
|
+
Qualite: ["auteur", "rapporteur", "rapporteur général", "rapporteur pour avis", "rapporteur spécial"],
|
|
1105
|
+
TypeActeLegislatif: ["Adoption_Europe_Type", "ConclusionEtapeCC_Type", "CreationOrganeTemporaire_Type", "DecisionMotionCensure_Type", "DecisionRecevabiliteBureau_Type", "Decision_Type", "DeclarationGouvernement_Type", "DepotAccordInternational_Type", "DepotAvisConseilEtat_Type", "DepotInitiativeNavette_Type", "DepotInitiative_Type", "DepotLettreRectificative_Type", "DepotMotionCensure_Type", "DepotMotionReferendaire_Type", "DepotRapport_Type", "DiscussionCommission_Type", "DiscussionSeancePublique_Type", "Etape_Type", "EtudeImpact_Type", "MotionProcedure_Type", "NominRapporteurs_Type", "ProcedureAccelere_Type", "Promulgation_Type", "RenvoiCMP_Type", "RenvoiPrealable_Type", "RetraitInitiative_Type", "SaisieComAvis_Type", "SaisieComFond_Type", "SaisineConseilConstit_Type"],
|
|
1106
|
+
CodeActeNiveau0: Object.values(CodeActeNiveau0),
|
|
1107
|
+
CodeActeNiveau1: Object.values(CodeActeNiveau1),
|
|
1108
|
+
CodeActeNiveau2: Object.values(CodeActeNiveau2),
|
|
1109
|
+
CodeActeNiveau3: Object.values(CodeActeNiveau3),
|
|
1110
|
+
TypeTexte: ["BTA", "TAP"],
|
|
1111
|
+
Motif: ["En application de l'article 61§2 de la Constitution"],
|
|
1112
|
+
TypeJo: ["JO_LOI_DECRET"],
|
|
1113
|
+
Cause: ["Dossier absorbé", "Examen commun"],
|
|
1114
|
+
TypeDocument: ["accordInternational_Type", "avisConseilEtat_Type", "documentEtudeImpact_Type", "rapportParlementaire_Type", "texteLoi_Type"],
|
|
1115
|
+
StatutAdoption: ["ADOPTCOM", "ADOPTSEANCE", "REJETSEANCE"],
|
|
1116
|
+
TypeCorrection: ["Rectifié"],
|
|
1117
|
+
DocumentDenominationStructurelle: ["Allocution", "Avis", "Déclaration", "Lettre", "Message", "Projet de loi", "Proposition de loi", "Proposition de résolution", "Rapport", "Rapport d'information", "Résolution"],
|
|
1118
|
+
Provenance: ["Commission", "Séance", "Texte Déposé"]
|
|
1119
|
+
};
|
|
1120
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb2RlQWN0ZU5pdmVhdTAiLCJDb2RlQWN0ZU5pdmVhdTEiLCJDb2RlQWN0ZU5pdmVhdTIiLCJDb2RlQWN0ZU5pdmVhdTMiLCJEb3NzaWVyUGFybGVtZW50YWlyZVhzaVR5cGUiLCJUeXBlQnVkZ2V0IiwiVHlwZU1pc3Npb24iLCJRdWFsaXRlIiwiVHlwZUFjdGVMZWdpc2xhdGlmIiwiVHlwZVRleHRlIiwiTW90aWYiLCJUeXBlSm8iLCJDYXVzZSIsIlR5cGVEb2N1bWVudCIsIlN0YXR1dEFkb3B0aW9uIiwiVHlwZUNvcnJlY3Rpb24iLCJEb2N1bWVudERlbm9taW5hdGlvblN0cnVjdHVyZWxsZSIsIlByb3ZlbmFuY2UiLCJDb252ZXJ0IiwidG9Eb3NzaWVyc0xlZ2lzbGF0aWZzIiwianNvbiIsImNhc3QiLCJKU09OIiwicGFyc2UiLCJyIiwiZG9zc2llcnNMZWdpc2xhdGlmc1RvSnNvbiIsInZhbHVlIiwic3RyaW5naWZ5IiwidW5jYXN0IiwidG9Eb2N1bWVudCIsImRvY3VtZW50VG9Kc29uIiwidG9Eb3NzaWVyUGFybGVtZW50YWlyZSIsImRvc3NpZXJQYXJsZW1lbnRhaXJlVG9Kc29uIiwiaW52YWxpZFZhbHVlIiwidHlwIiwidmFsIiwia2V5IiwiRXJyb3IiLCJqc29uVG9KU1Byb3BzIiwianNvblRvSlMiLCJ1bmRlZmluZWQiLCJtYXAiLCJwcm9wcyIsImZvckVhY2giLCJwIiwianMiLCJqc1RvSlNPTlByb3BzIiwianNUb0pTT04iLCJ0cmFuc2Zvcm0iLCJnZXRQcm9wcyIsInRyYW5zZm9ybVByaW1pdGl2ZSIsInRyYW5zZm9ybVVuaW9uIiwidHlwcyIsImwiLCJsZW5ndGgiLCJpIiwiXyIsInRyYW5zZm9ybUVudW0iLCJjYXNlcyIsImluZGV4T2YiLCJ0cmFuc2Zvcm1BcnJheSIsIkFycmF5IiwiaXNBcnJheSIsImVsIiwidHJhbnNmb3JtRGF0ZSIsImQiLCJEYXRlIiwiaXNOYU4iLCJ2YWx1ZU9mIiwidHJhbnNmb3JtT2JqZWN0IiwiYWRkaXRpb25hbCIsInJlc3VsdCIsIk9iamVjdCIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wIiwidiIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInJlZiIsInR5cGVNYXAiLCJ1bmlvbk1lbWJlcnMiLCJhcnJheUl0ZW1zIiwiYSIsInUiLCJvIiwibmFtZSIsIkRvc3NpZXJzTGVnaXNsYXRpZnMiLCJEb3NzaWVyUGFybGVtZW50YWlyZSIsIkV0dWRlUGxmIiwiTWlzc2lvbk1pbmVmaSIsIkFjdGVMZWdpc2xhdGlmIiwiTGliZWxsZUFjdGUiLCJSYXBwb3J0ZXVyIiwiVHlwZURlY2xhcmF0aW9uIiwiVGV4dGVBc3NvY2llIiwiQ29udHJpYnV0aW9uSW50ZXJuYXV0ZSIsIkluZm9Kb2NlIiwiSW5pdGlhdGV1ckFjdGV1ciIsIlRleHRlRXVyb3BlZW4iLCJJbmZvSm8iLCJGdXNpb25Eb3NzaWVyIiwiSW5kZXhhdGlvbiIsIlRoZW1lcyIsIlRoZW1lIiwiSW5pdGlhdGV1ciIsIlByb2NlZHVyZVBhcmxlbWVudGFpcmUiLCJUaXRyZURvc3NpZXIiLCJEb2N1bWVudCIsIkF1dGV1ciIsIkF1dGV1ckFjdGV1ciIsIkNsYXNzaWZpY2F0aW9uIiwiRmFtaWxsZSIsIlNvdXNUeXBlIiwiQ29TaWduYXRhaXJlRWxlbWVudCIsIkNvU2lnbmF0YWlyZU9yZ2FuZSIsIkNvcnJlY3Rpb24iLCJDeWNsZURlVmllIiwiQ2hyb25vIiwiRGVwb3RBbWVuZGVtZW50cyIsIkFtZW5kZW1lbnRzQ29tbWlzc2lvbiIsIkFtZW5kZW1lbnRzU2VhbmNlIiwiRGl2aXNpb24iLCJJbXByaW1lcmllIiwiTm90aWNlIiwiVGl0cmVzIiwidmFsdWVzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRvIHBhcnNlIHRoaXMgZGF0YTpcbi8vXG4vLyAgIGltcG9ydCB7IENvbnZlcnQsIERvY3VtZW50LCBEb3NzaWVyUGFybGVtZW50YWlyZSwgRG9zc2llcnNMZWdpc2xhdGlmcyB9IGZyb20gXCIuL2ZpbGVcIjtcbi8vXG4vLyAgIGNvbnN0IGRvY3VtZW50ID0gQ29udmVydC50b0RvY3VtZW50KGpzb24pO1xuLy8gICBjb25zdCBkb3NzaWVyUGFybGVtZW50YWlyZSA9IENvbnZlcnQudG9Eb3NzaWVyUGFybGVtZW50YWlyZShqc29uKTtcbi8vICAgY29uc3QgZG9zc2llcnNMZWdpc2xhdGlmcyA9IENvbnZlcnQudG9Eb3NzaWVyc0xlZ2lzbGF0aWZzKGpzb24pO1xuLy9cbi8vIFRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSBKU09OIGRvZXNuJ3Rcbi8vIG1hdGNoIHRoZSBleHBlY3RlZCBpbnRlcmZhY2UsIGV2ZW4gaWYgdGhlIEpTT04gaXMgdmFsaWQuXG5cbmltcG9ydCB7IEFjdGV1ciwgTWFuZGF0LCBPcmdhbmUgfSBmcm9tIFwiLi9hY3RldXJzX2V0X29yZ2FuZXNcIlxuaW1wb3J0IHsgUG9pbnRPZGosIFJldW5pb24gfSBmcm9tIFwiLi9hZ2VuZGFzXCJcbmltcG9ydCB7IFNjcnV0aW4gfSBmcm9tIFwiLi9zY3J1dGluc1wiXG5pbXBvcnQge1xuICBDb2RlQWN0ZSxcbiAgQ29kZUFjdGVOaXZlYXUwLFxuICBDb2RlQWN0ZU5pdmVhdTEsXG4gIENvZGVBY3RlTml2ZWF1MixcbiAgQ29kZUFjdGVOaXZlYXUzLFxufSBmcm9tIFwiLi4vc2hhcmVkX3R5cGVzL2NvZGVzX2FjdGVzXCJcblxuZXhwb3J0IGludGVyZmFjZSBEb3NzaWVyc0xlZ2lzbGF0aWZzIHtcbiAgdGV4dGVzTGVnaXNsYXRpZnM6IERvY3VtZW50W11cbiAgZG9zc2llcnNQYXJsZW1lbnRhaXJlczogRG9zc2llclBhcmxlbWVudGFpcmVbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvc3NpZXJQYXJsZW1lbnRhaXJlIHtcbiAgc2NoZW1hVmVyc2lvbj86IHN0cmluZ1xuICB4c2lUeXBlPzogRG9zc2llclBhcmxlbWVudGFpcmVYc2lUeXBlXG4gIHVpZDogc3RyaW5nXG4gIGxlZ2lzbGF0dXJlOiBzdHJpbmdcbiAgdGl0cmVEb3NzaWVyOiBUaXRyZURvc3NpZXJcbiAgcHJvY2VkdXJlUGFybGVtZW50YWlyZTogUHJvY2VkdXJlUGFybGVtZW50YWlyZVxuICBpbml0aWF0ZXVyPzogSW5pdGlhdGV1clxuICBhY3Rlc0xlZ2lzbGF0aWZzPzogQWN0ZUxlZ2lzbGF0aWZbXVxuICBmdXNpb25Eb3NzaWVyPzogRnVzaW9uRG9zc2llclxuICBpbmRleGF0aW9uPzogSW5kZXhhdGlvblxuICBwbGY/OiBFdHVkZVBsZltdXG59XG5cbmV4cG9ydCBlbnVtIERvc3NpZXJQYXJsZW1lbnRhaXJlWHNpVHlwZSB7XG4gIERvc3NpZXJDb21taXNzaW9uRW5xdWV0ZVR5cGUgPSBcIkRvc3NpZXJDb21taXNzaW9uRW5xdWV0ZV9UeXBlXCIsXG4gIERvc3NpZXJJbmlhdGl2ZUV4ZWN1dGlmVHlwZSA9IFwiRG9zc2llckluaWF0aXZlRXhlY3V0aWZfVHlwZVwiLFxuICBEb3NzaWVyTGVnaXNsYXRpZlR5cGUgPSBcIkRvc3NpZXJMZWdpc2xhdGlmX1R5cGVcIixcbiAgRG9zc2llck1pc3Npb25Db250cm9sZVR5cGUgPSBcIkRvc3NpZXJNaXNzaW9uQ29udHJvbGVfVHlwZVwiLFxuICBEb3NzaWVyTWlzc2lvbkluZm9ybWF0aW9uVHlwZSA9IFwiRG9zc2llck1pc3Npb25JbmZvcm1hdGlvbl9UeXBlXCIsXG4gIERvc3NpZXJSZXNvbHV0aW9uQW4gPSBcIkRvc3NpZXJSZXNvbHV0aW9uQU5cIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdHVkZVBsZiB7XG4gIHVpZDogc3RyaW5nXG4gIG9yZ2FuZVJlZjogc3RyaW5nXG4gIHRleHRlQXNzb2NpZT86IHN0cmluZ1xuICByYXBwb3J0ZXVycz86IFJhcHBvcnRldXJbXVxuICBtaXNzaW9uTWluZWZpPzogTWlzc2lvbk1pbmVmaVxuICBvcmRyZURpcXM6IHN0cmluZ1xuICBvcmRyZUNvbW1pc3Npb246IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1pc3Npb25NaW5lZmkge1xuICB0eXBlTWlzc2lvbjogVHlwZU1pc3Npb25cbiAgbGliZWxsZUxvbmc6IHN0cmluZ1xuICBsaWJlbGxlQ291cnQ6IHN0cmluZ1xuICB0eXBlQnVkZ2V0OiBUeXBlQnVkZ2V0XG4gIG1pc3Npb25zPzogTWlzc2lvbk1pbmVmaVtdXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVCdWRnZXQge1xuICBCdWRnZXRBbm5leGUgPSBcIkJ1ZGdldCBhbm5leGVcIixcbiAgQnVkZ2V0R8OpbsOpcmFsID0gXCJCdWRnZXQgZ8OpbsOpcmFsXCIsXG4gIENvbXB0ZURlQ29uY291cnNGaW5hbmNpZXIgPSBcIkNvbXB0ZSBkZSBjb25jb3VycyBmaW5hbmNpZXJcIixcbiAgQ29tcHRlU3DDqWNpYWwgPSBcIkNvbXB0ZSBzcMOpY2lhbFwiLFxuICBQcmVtacOocmVQYXJ0aWUgPSBcIlByZW1pw6hyZSBwYXJ0aWVcIixcbn1cblxuZXhwb3J0IGVudW0gVHlwZU1pc3Npb24ge1xuICBNaXNzaW9uUHJpbmNpcGFsZSA9IFwibWlzc2lvbiBwcmluY2lwYWxlXCIsXG4gIE1pc3Npb25TZWNvbmRhaXJlID0gXCJtaXNzaW9uIHNlY29uZGFpcmVcIixcbiAgUGFydGllRGVNaXNzaW9uID0gXCJwYXJ0aWUgZGUgbWlzc2lvblwiLFxufVxuXG5leHBvcnQgZW51bSBRdWFsaXRlIHtcbiAgQXV0ZXVyID0gXCJhdXRldXJcIixcbiAgUmFwcG9ydGV1ciA9IFwicmFwcG9ydGV1clwiLFxuICBSYXBwb3J0ZXVyR8OpbsOpcmFsID0gXCJyYXBwb3J0ZXVyIGfDqW7DqXJhbFwiLFxuICBSYXBwb3J0ZXVyUG91ckF2aXMgPSBcInJhcHBvcnRldXIgcG91ciBhdmlzXCIsXG4gIFJhcHBvcnRldXJTcMOpY2lhbCA9IFwicmFwcG9ydGV1ciBzcMOpY2lhbFwiLFxufVxuXG5leHBvcnQgZW51bSBUeXBlQWN0ZUxlZ2lzbGF0aWYge1xuICBBZG9wdGlvbkV1cm9wZVR5cGUgPSBcIkFkb3B0aW9uX0V1cm9wZV9UeXBlXCIsXG4gIENvbmNsdXNpb25FdGFwZUNjVHlwZSA9IFwiQ29uY2x1c2lvbkV0YXBlQ0NfVHlwZVwiLFxuICBDcmVhdGlvbk9yZ2FuZVRlbXBvcmFpcmVUeXBlID0gXCJDcmVhdGlvbk9yZ2FuZVRlbXBvcmFpcmVfVHlwZVwiLFxuICBEZWNpc2lvbk1vdGlvbkNlbnN1cmVUeXBlID0gXCJEZWNpc2lvbk1vdGlvbkNlbnN1cmVfVHlwZVwiLFxuICBEZWNpc2lvblJlY2V2YWJpbGl0ZUJ1cmVhdVR5cGUgPSBcIkRlY2lzaW9uUmVjZXZhYmlsaXRlQnVyZWF1X1R5cGVcIixcbiAgRGVjaXNpb25UeXBlID0gXCJEZWNpc2lvbl9UeXBlXCIsXG4gIERlY2xhcmF0aW9uR291dmVybmVtZW50VHlwZSA9IFwiRGVjbGFyYXRpb25Hb3V2ZXJuZW1lbnRfVHlwZVwiLFxuICBEZXBvdEFjY29yZEludGVybmF0aW9uYWxUeXBlID0gXCJEZXBvdEFjY29yZEludGVybmF0aW9uYWxfVHlwZVwiLFxuICBEZXBvdEF2aXNDb25zZWlsRXRhdFR5cGUgPSBcIkRlcG90QXZpc0NvbnNlaWxFdGF0X1R5cGVcIixcbiAgRGVwb3RJbml0aWF0aXZlTmF2ZXR0ZVR5cGUgPSBcIkRlcG90SW5pdGlhdGl2ZU5hdmV0dGVfVHlwZVwiLFxuICBEZXBvdEluaXRpYXRpdmVUeXBlID0gXCJEZXBvdEluaXRpYXRpdmVfVHlwZVwiLFxuICBEZXBvdExldHRyZVJlY3RpZmljYXRpdmVUeXBlID0gXCJEZXBvdExldHRyZVJlY3RpZmljYXRpdmVfVHlwZVwiLFxuICBEZXBvdE1vdGlvbkNlbnN1cmVUeXBlID0gXCJEZXBvdE1vdGlvbkNlbnN1cmVfVHlwZVwiLFxuICBEZXBvdE1vdGlvblJlZmVyZW5kYWlyZVR5cGUgPSBcIkRlcG90TW90aW9uUmVmZXJlbmRhaXJlX1R5cGVcIixcbiAgRGVwb3RSYXBwb3J0VHlwZSA9IFwiRGVwb3RSYXBwb3J0X1R5cGVcIixcbiAgRGlzY3Vzc2lvbkNvbW1pc3Npb25UeXBlID0gXCJEaXNjdXNzaW9uQ29tbWlzc2lvbl9UeXBlXCIsXG4gIERpc2N1c3Npb25TZWFuY2VQdWJsaXF1ZVR5cGUgPSBcIkRpc2N1c3Npb25TZWFuY2VQdWJsaXF1ZV9UeXBlXCIsXG4gIEV0YXBlVHlwZSA9IFwiRXRhcGVfVHlwZVwiLFxuICBFdHVkZUltcGFjdFR5cGUgPSBcIkV0dWRlSW1wYWN0X1R5cGVcIixcbiAgTW90aW9uUHJvY2VkdXJlVHlwZSA9IFwiTW90aW9uUHJvY2VkdXJlX1R5cGVcIixcbiAgTm9taW5SYXBwb3J0ZXVyc1R5cGUgPSBcIk5vbWluUmFwcG9ydGV1cnNfVHlwZVwiLFxuICBQcm9jZWR1cmVBY2NlbGVyZVR5cGUgPSBcIlByb2NlZHVyZUFjY2VsZXJlX1R5cGVcIixcbiAgUHJvbXVsZ2F0aW9uVHlwZSA9IFwiUHJvbXVsZ2F0aW9uX1R5cGVcIixcbiAgUmVudm9pQ21wVHlwZSA9IFwiUmVudm9pQ01QX1R5cGVcIixcbiAgUmVudm9pUHJlYWxhYmxlVHlwZSA9IFwiUmVudm9pUHJlYWxhYmxlX1R5cGVcIixcbiAgUmV0cmFpdEluaXRpYXRpdmVUeXBlID0gXCJSZXRyYWl0SW5pdGlhdGl2ZV9UeXBlXCIsXG4gIFNhaXNpZUNvbUF2aXNUeXBlID0gXCJTYWlzaWVDb21BdmlzX1R5cGVcIixcbiAgU2Fpc2llQ29tRm9uZFR5cGUgPSBcIlNhaXNpZUNvbUZvbmRfVHlwZVwiLFxuICBTYWlzaW5lQ29uc2VpbENvbnN0aXRUeXBlID0gXCJTYWlzaW5lQ29uc2VpbENvbnN0aXRfVHlwZVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGVMZWdpc2xhdGlmIHtcbiAgeHNpVHlwZTogVHlwZUFjdGVMZWdpc2xhdGlmXG4gIHVpZDogc3RyaW5nXG4gIGNvZGVBY3RlOiBDb2RlQWN0ZVxuICBsaWJlbGxlQWN0ZTogTGliZWxsZUFjdGVcbiAgb3JnYW5lUmVmPzogc3RyaW5nXG4gIG9yZ2FuZT86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBkYXRlQWN0ZT86IERhdGVcbiAgLy9cbiAgYW5uZWVEZWNpc2lvbj86IHN0cmluZ1xuICBhdXRldXJNb3Rpb24/OiBzdHJpbmdcbiAgYXV0ZXVyc1JlZnM/OiBzdHJpbmdbXVxuICBjYXNTYWlzaW5lPzogVHlwZURlY2xhcmF0aW9uXG4gIGNvZGVMb2k/OiBzdHJpbmdcbiAgY29udHJpYnV0aW9uSW50ZXJuYXV0ZT86IENvbnRyaWJ1dGlvbkludGVybmF1dGVcbiAgZGVjaXNpb24/OiBUeXBlRGVjbGFyYXRpb25cbiAgZGVwb3RJbml0aWFsTGVjdHVyZURlZmluaXRpdmVSZWY/OiBzdHJpbmdcbiAgZGVwb3RJbml0aWFsTGVjdHVyZURlZmluaXRpdmU/OiBEb2N1bWVudCAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBmb3JtdWxlRGVjaXNpb24/OiBzdHJpbmdcbiAgaW5mb0pvPzogSW5mb0pvXG4gIGluZm9Kb2NlPzogSW5mb0pvY2VcbiAgaW5mb0pvUmVjdD86IEluZm9Kb1tdXG4gIGluaXRpYXRldXI/OiBJbml0aWF0ZXVyXG4gIG1vdGlmPzogTW90aWZcbiAgbnVtRGVjaXNpb24/OiBzdHJpbmdcbiAgb2RqUmVmPzogc3RyaW5nXG4gIG9kaj86IFBvaW50T2RqIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHByb3ZlbmFuY2VSZWY/OiBzdHJpbmdcbiAgcHJvdmVuYW5jZT86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICByYXBwb3J0ZXVycz86IFJhcHBvcnRldXJbXVxuICByZWZlcmVuY2VOb3I/OiBzdHJpbmdcbiAgcmV1bmlvblJlZj86IHN0cmluZ1xuICByZXVuaW9uPzogUmV1bmlvbiAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBzdGF0dXRBZG9wdGlvbj86IFR5cGVEZWNsYXJhdGlvblxuICBzdGF0dXRDb25jbHVzaW9uPzogVHlwZURlY2xhcmF0aW9uXG4gIHRleHRlQWRvcHRlUmVmPzogc3RyaW5nXG4gIHRleHRlQWRvcHRlPzogRG9jdW1lbnQgLy8gQWRkZWQgYnkgVHJpY290ZXVzZXNcbiAgdGV4dGVBc3NvY2llUmVmPzogc3RyaW5nXG4gIHRleHRlQXNzb2NpZT86IERvY3VtZW50IC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIHRleHRlRXVyb3BlZW4/OiBUZXh0ZUV1cm9wZWVuXG4gIHRleHRlTG9pUmVmPzogc3RyaW5nXG4gIHRleHRlc0Fzc29jaWVzPzogVGV4dGVBc3NvY2llW11cbiAgdGl0cmVMb2k/OiBzdHJpbmdcbiAgdHlwZURlY2xhcmF0aW9uPzogVHlwZURlY2xhcmF0aW9uXG4gIHR5cGVNb3Rpb24/OiBUeXBlRGVjbGFyYXRpb25cbiAgdHlwZU1vdGlvbkNlbnN1cmU/OiBUeXBlRGVjbGFyYXRpb25cbiAgdXJsQ29uY2x1c2lvbj86IHN0cmluZ1xuICB1cmxFY2hlYW5jaWVyTG9pPzogc3RyaW5nXG4gIHVybExlZ2lmcmFuY2U/OiBzdHJpbmdcbiAgdm90ZVJlZnM/OiBzdHJpbmdbXVxuICB2b3Rlcz86IFNjcnV0aW5bXSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICAvL1xuICBhY3Rlc0xlZ2lzbGF0aWZzPzogQWN0ZUxlZ2lzbGF0aWZbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpYmVsbGVBY3RlIHtcbiAgbm9tQ2Fub25pcXVlOiBzdHJpbmdcbiAgbGliZWxsZUNvdXJ0Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmFwcG9ydGV1ciB7XG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICB0eXBlUmFwcG9ydGV1cjogUXVhbGl0ZVxuICBldHVkZVBsZlJlZj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVEZWNsYXJhdGlvbiB7XG4gIGZhbUNvZGU6IHN0cmluZ1xuICBsaWJlbGxlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0ZUFzc29jaWUge1xuICB0eXBlVGV4dGU6IFR5cGVUZXh0ZVxuICB0ZXh0ZUFzc29jaWVSZWY6IHN0cmluZ1xuICB0ZXh0ZUFzc29jaWU/OiBEb2N1bWVudCAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xufVxuXG5leHBvcnQgZW51bSBUeXBlVGV4dGUge1xuICBCdGEgPSBcIkJUQVwiLFxuICBUYXAgPSBcIlRBUFwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyaWJ1dGlvbkludGVybmF1dGUge1xuICBkYXRlT3V2ZXJ0dXJlPzogc3RyaW5nXG4gIGRhdGVGZXJtZXR1cmU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvSm9jZSB7XG4gIHJlZkpvY2U6IHN0cmluZ1xuICBkYXRlSm9jZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhdGV1ckFjdGV1ciB7XG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBtYW5kYXRSZWY/OiBzdHJpbmdcbiAgbWFuZGF0PzogTWFuZGF0IC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG59XG5cbmV4cG9ydCBlbnVtIE1vdGlmIHtcbiAgRW5BcHBsaWNhdGlvbkRlTEFydGljbGU2MTJEZUxhQ29uc3RpdHV0aW9uID0gXCJFbiBhcHBsaWNhdGlvbiBkZSBsJ2FydGljbGUgNjHCpzIgZGUgbGEgQ29uc3RpdHV0aW9uXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dGVFdXJvcGVlbiB7XG4gIHR5cGVUZXh0ZUV1cm9wZWVuOiBzdHJpbmdcbiAgdGl0cmVUZXh0ZUV1cm9wZWVuOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmZvSm8ge1xuICB0eXBlSm86IFR5cGVKb1xuICBkYXRlSm86IHN0cmluZ1xuICBudW1Kbzogc3RyaW5nXG4gIHVybExlZ2lmcmFuY2U/OiBzdHJpbmdcbiAgcmVmZXJlbmNlTm9yPzogc3RyaW5nXG59XG5cbmV4cG9ydCBlbnVtIFR5cGVKbyB7XG4gIEpvTG9pRGVjcmV0ID0gXCJKT19MT0lfREVDUkVUXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5mb0pvUmVjdEVsZW1lbnQge1xuICB0eXBlSm86IFR5cGVKb1xuICBkYXRlSm86IHN0cmluZ1xuICBudW1Kbzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVzaW9uRG9zc2llciB7XG4gIGNhdXNlOiBDYXVzZVxuICBkb3NzaWVyQWJzb3JiYW50UmVmOiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gQ2F1c2Uge1xuICBEb3NzaWVyQWJzb3Jiw6kgPSBcIkRvc3NpZXIgYWJzb3Jiw6lcIixcbiAgRXhhbWVuQ29tbXVuID0gXCJFeGFtZW4gY29tbXVuXCIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXhhdGlvbiB7XG4gIHRoZW1lczogVGhlbWVzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlbWVzIHtcbiAgXCJAbml2ZWF1XCI6IHN0cmluZ1xuICB0aGVtZTogVGhlbWVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaGVtZSB7XG4gIGxpYmVsbGVUaGVtZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhdGV1ciB7XG4gIGFjdGV1cnM/OiBJbml0aWF0ZXVyQWN0ZXVyW11cbiAgb3JnYW5lUmVmPzogc3RyaW5nXG4gIG9yZ2FuZT86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2NlZHVyZVBhcmxlbWVudGFpcmUge1xuICBjb2RlOiBzdHJpbmdcbiAgbGliZWxsZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGl0cmVEb3NzaWVyIHtcbiAgdGl0cmU6IHN0cmluZ1xuICB0aXRyZUNoZW1pbj86IHN0cmluZ1xuICBzZW5hdENoZW1pbj86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50IHtcbiAgc2NoZW1hVmVyc2lvbj86IHN0cmluZ1xuICB4c2lUeXBlOiBUeXBlRG9jdW1lbnRcbiAgdWlkOiBzdHJpbmdcbiAgbGVnaXNsYXR1cmU/OiBzdHJpbmdcbiAgY3ljbGVEZVZpZTogQ3ljbGVEZVZpZVxuICBkZW5vbWluYXRpb25TdHJ1Y3R1cmVsbGU6IERvY3VtZW50RGVub21pbmF0aW9uU3RydWN0dXJlbGxlXG4gIHByb3ZlbmFuY2U/OiBQcm92ZW5hbmNlXG4gIHRpdHJlczogVGl0cmVzXG4gIGRpdmlzaW9ucz86IERpdmlzaW9uW11cbiAgZG9zc2llclJlZjogc3RyaW5nXG4gIGRvc3NpZXI/OiBEb3NzaWVyUGFybGVtZW50YWlyZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBjbGFzc2lmaWNhdGlvbjogQ2xhc3NpZmljYXRpb25cbiAgYXV0ZXVyczogQXV0ZXVyW11cbiAgY29ycmVjdGlvbj86IENvcnJlY3Rpb25cbiAgbm90aWNlOiBOb3RpY2VcbiAgaW5kZXhhdGlvbj86IEluZGV4YXRpb25cbiAgaW1wcmltZXJpZT86IEltcHJpbWVyaWVcbiAgY29TaWduYXRhaXJlcz86IENvU2lnbmF0YWlyZUVsZW1lbnRbXVxuICBkZXBvdEFtZW5kZW1lbnRzPzogRGVwb3RBbWVuZGVtZW50c1xuICBvcmdhbmVzUmVmZXJlbnRzPzogc3RyaW5nW11cbiAgcmFwcG9ydFB1YmxpZT86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGVudW0gVHlwZURvY3VtZW50IHtcbiAgQWNjb3JkSW50ZXJuYXRpb25hbFR5cGUgPSBcImFjY29yZEludGVybmF0aW9uYWxfVHlwZVwiLFxuICBBdmlzQ29uc2VpbEV0YXRUeXBlID0gXCJhdmlzQ29uc2VpbEV0YXRfVHlwZVwiLFxuICBEb2N1bWVudEV0dWRlSW1wYWN0VHlwZSA9IFwiZG9jdW1lbnRFdHVkZUltcGFjdF9UeXBlXCIsXG4gIFJhcHBvcnRQYXJsZW1lbnRhaXJlVHlwZSA9IFwicmFwcG9ydFBhcmxlbWVudGFpcmVfVHlwZVwiLFxuICBUZXh0ZUxvaVR5cGUgPSBcInRleHRlTG9pX1R5cGVcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdXRldXIge1xuICBhY3RldXI/OiBBdXRldXJBY3RldXJcbiAgb3JnYW5lUmVmPzogc3RyaW5nXG4gIG9yZ2FuZT86IE9yZ2FuZSAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGV1ckFjdGV1ciB7XG4gIGFjdGV1clJlZjogc3RyaW5nXG4gIGFjdGV1cj86IEFjdGV1ciAvLyBBZGRlZCBieSBUcmljb3RldXNlc1xuICBxdWFsaXRlOiBRdWFsaXRlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NpZmljYXRpb24ge1xuICBmYW1pbGxlPzogRmFtaWxsZVxuICB0eXBlOiBQcm9jZWR1cmVQYXJsZW1lbnRhaXJlXG4gIHNvdXNUeXBlPzogU291c1R5cGVcbiAgc3RhdHV0QWRvcHRpb24/OiBTdGF0dXRBZG9wdGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZhbWlsbGUge1xuICBkZXBvdDogUHJvY2VkdXJlUGFybGVtZW50YWlyZVxuICBjbGFzc2U6IFByb2NlZHVyZVBhcmxlbWVudGFpcmVcbiAgZXNwZWNlPzogUHJvY2VkdXJlUGFybGVtZW50YWlyZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvdXNUeXBlIHtcbiAgY29kZTogc3RyaW5nXG4gIGxpYmVsbGU/OiBzdHJpbmdcbiAgbGliZWxsZUVkaXRpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gU3RhdHV0QWRvcHRpb24ge1xuICBBZG9wdGNvbSA9IFwiQURPUFRDT01cIixcbiAgQWRvcHRzZWFuY2UgPSBcIkFET1BUU0VBTkNFXCIsXG4gIFJlamV0c2VhbmNlID0gXCJSRUpFVFNFQU5DRVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvU2lnbmF0YWlyZUVsZW1lbnQge1xuICBhY3RldXJSZWY/OiBzdHJpbmdcbiAgZGF0ZUNvc2lnbmF0dXJlOiBzdHJpbmdcbiAgZGF0ZVJldHJhaXRDb3NpZ25hdHVyZT86IHN0cmluZ1xuICBlZGl0ZTogYm9vbGVhblxuICBvcmdhbmU/OiBDb1NpZ25hdGFpcmVPcmdhbmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb1NpZ25hdGFpcmVPcmdhbmUge1xuICBvcmdhbmVSZWY6IHN0cmluZ1xuICBldEFwcGFyZW50ZXM6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3JyZWN0aW9uIHtcbiAgdHlwZUNvcnJlY3Rpb246IFR5cGVDb3JyZWN0aW9uXG4gIG5pdmVhdUNvcnJlY3Rpb24/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gVHlwZUNvcnJlY3Rpb24ge1xuICBSZWN0aWZpw6kgPSBcIlJlY3RpZmnDqVwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEN5Y2xlRGVWaWUge1xuICBjaHJvbm86IENocm9ub1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENocm9ubyB7XG4gIGRhdGVDcmVhdGlvbjogRGF0ZVxuICBkYXRlRGVwb3Q/OiBEYXRlXG4gIGRhdGVQdWJsaWNhdGlvbj86IERhdGVcbiAgZGF0ZVB1YmxpY2F0aW9uV2ViPzogRGF0ZVxufVxuXG5leHBvcnQgZW51bSBEb2N1bWVudERlbm9taW5hdGlvblN0cnVjdHVyZWxsZSB7XG4gIEFsbG9jdXRpb24gPSBcIkFsbG9jdXRpb25cIixcbiAgQXZpcyA9IFwiQXZpc1wiLFxuICBEw6ljbGFyYXRpb24gPSBcIkTDqWNsYXJhdGlvblwiLFxuICBMZXR0cmUgPSBcIkxldHRyZVwiLFxuICBNZXNzYWdlID0gXCJNZXNzYWdlXCIsXG4gIFByb2pldERlTG9pID0gXCJQcm9qZXQgZGUgbG9pXCIsXG4gIFByb3Bvc2l0aW9uRGVMb2kgPSBcIlByb3Bvc2l0aW9uIGRlIGxvaVwiLFxuICBQcm9wb3NpdGlvbkRlUsOpc29sdXRpb24gPSBcIlByb3Bvc2l0aW9uIGRlIHLDqXNvbHV0aW9uXCIsXG4gIFJhcHBvcnQgPSBcIlJhcHBvcnRcIixcbiAgUmFwcG9ydERJbmZvcm1hdGlvbiA9IFwiUmFwcG9ydCBkJ2luZm9ybWF0aW9uXCIsXG4gIFLDqXNvbHV0aW9uID0gXCJSw6lzb2x1dGlvblwiLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcG90QW1lbmRlbWVudHMge1xuICBhbWVuZGVtZW50c1NlYW5jZTogQW1lbmRlbWVudHNTZWFuY2VcbiAgYW1lbmRlbWVudHNDb21taXNzaW9uPzogQW1lbmRlbWVudHNDb21taXNzaW9uW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbWVuZGVtZW50c0NvbW1pc3Npb24ge1xuICBvcmdhbmVSZWY6IHN0cmluZ1xuICBhbWVuZGFibGU6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbWVuZGVtZW50c1NlYW5jZSB7XG4gIGFtZW5kYWJsZTogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpdmlzaW9uIHtcbiAgeHNpVHlwZTogVHlwZURvY3VtZW50XG4gIHVpZDogc3RyaW5nXG4gIGxlZ2lzbGF0dXJlPzogc3RyaW5nXG4gIGN5Y2xlRGVWaWU6IEN5Y2xlRGVWaWVcbiAgZGVub21pbmF0aW9uU3RydWN0dXJlbGxlOiBzdHJpbmdcbiAgdGl0cmVzOiBUaXRyZXNcbiAgZGl2aXNpb25zPzogRGl2aXNpb25bXVxuICBkb3NzaWVyUmVmOiBzdHJpbmdcbiAgZG9zc2llcj86IERvc3NpZXJQYXJsZW1lbnRhaXJlIC8vIEFkZGVkIGJ5IFRyaWNvdGV1c2VzXG4gIGNsYXNzaWZpY2F0aW9uOiBDbGFzc2lmaWNhdGlvblxuICBhdXRldXJzOiBBdXRldXJbXVxuICBjb3JyZWN0aW9uPzogQ29ycmVjdGlvblxuICBub3RpY2U6IE5vdGljZVxuICBpbmRleGF0aW9uPzogSW5kZXhhdGlvblxuICBpbXByaW1lcmllPzogSW1wcmltZXJpZVxuICByYXBwb3J0UHVibGllPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltcHJpbWVyaWUge1xuICBkaWFuPzogc3RyaW5nXG4gIGlzYm4/OiBzdHJpbmdcbiAgbmJQYWdlPzogc3RyaW5nXG4gIHByaXg/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpY2Uge1xuICBudW1Ob3RpY2U/OiBzdHJpbmdcbiAgZm9ybXVsZT86IHN0cmluZ1xuICBhZG9wdGlvbkNvbmZvcm1lOiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGl0cmVzIHtcbiAgdGl0cmVQcmluY2lwYWw6IHN0cmluZ1xuICB0aXRyZVByaW5jaXBhbENvdXJ0OiBzdHJpbmdcbn1cblxuZXhwb3J0IGVudW0gUHJvdmVuYW5jZSB7XG4gIENvbW1pc3Npb24gPSBcIkNvbW1pc3Npb25cIixcbiAgU8OpYW5jZSA9IFwiU8OpYW5jZVwiLFxuICBUZXh0ZUTDqXBvc8OpID0gXCJUZXh0ZSBEw6lwb3PDqVwiLFxufVxuXG4vLyBDb252ZXJ0cyBKU09OIHN0cmluZ3MgdG8vZnJvbSB5b3VyIHR5cGVzXG4vLyBhbmQgYXNzZXJ0cyB0aGUgcmVzdWx0cyBvZiBKU09OLnBhcnNlIGF0IHJ1bnRpbWVcbmV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcbiAgcHVibGljIHN0YXRpYyB0b0Rvc3NpZXJzTGVnaXNsYXRpZnMoanNvbjogc3RyaW5nKTogRG9zc2llcnNMZWdpc2xhdGlmcyB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkRvc3NpZXJzTGVnaXNsYXRpZnNcIikpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGRvc3NpZXJzTGVnaXNsYXRpZnNUb0pzb24odmFsdWU6IERvc3NpZXJzTGVnaXNsYXRpZnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJEb3NzaWVyc0xlZ2lzbGF0aWZzXCIpKSwgbnVsbCwgMilcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdG9Eb2N1bWVudChqc29uOiBzdHJpbmcpOiBEb2N1bWVudCB7XG4gICAgcmV0dXJuIGNhc3QoSlNPTi5wYXJzZShqc29uKSwgcihcIkRvY3VtZW50XCIpKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkb2N1bWVudFRvSnNvbih2YWx1ZTogRG9jdW1lbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJEb2N1bWVudFwiKSksIG51bGwsIDIpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRvRG9zc2llclBhcmxlbWVudGFpcmUoanNvbjogc3RyaW5nKTogRG9zc2llclBhcmxlbWVudGFpcmUge1xuICAgIHJldHVybiBjYXN0KEpTT04ucGFyc2UoanNvbiksIHIoXCJEb3NzaWVyUGFybGVtZW50YWlyZVwiKSlcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZG9zc2llclBhcmxlbWVudGFpcmVUb0pzb24oXG4gICAgdmFsdWU6IERvc3NpZXJQYXJsZW1lbnRhaXJlLFxuICApOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh1bmNhc3QodmFsdWUsIHIoXCJEb3NzaWVyUGFybGVtZW50YWlyZVwiKSksIG51bGwsIDIpXG4gIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZFZhbHVlKHR5cDogYW55LCB2YWw6IGFueSwga2V5OiBhbnkgPSBcIlwiKTogbmV2ZXIge1xuICBpZiAoa2V5KSB7XG4gICAgdGhyb3cgRXJyb3IoXG4gICAgICBgSW52YWxpZCB2YWx1ZSBmb3Iga2V5IFwiJHtrZXl9XCIuIEV4cGVjdGVkIHR5cGUgJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgdHlwLFxuICAgICAgKX0gYnV0IGdvdCAke0pTT04uc3RyaW5naWZ5KHZhbCl9YCxcbiAgICApXG4gIH1cbiAgdGhyb3cgRXJyb3IoXG4gICAgYEludmFsaWQgdmFsdWUgJHtKU09OLnN0cmluZ2lmeSh2YWwpfSBmb3IgdHlwZSAke0pTT04uc3RyaW5naWZ5KHR5cCl9YCxcbiAgKVxufVxuXG5mdW5jdGlvbiBqc29uVG9KU1Byb3BzKHR5cDogYW55KTogYW55IHtcbiAgaWYgKHR5cC5qc29uVG9KUyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgbWFwOiBhbnkgPSB7fVxuICAgIHR5cC5wcm9wcy5mb3JFYWNoKChwOiBhbnkpID0+IChtYXBbcC5qc29uXSA9IHsga2V5OiBwLmpzLCB0eXA6IHAudHlwIH0pKVxuICAgIHR5cC5qc29uVG9KUyA9IG1hcFxuICB9XG4gIHJldHVybiB0eXAuanNvblRvSlNcbn1cblxuZnVuY3Rpb24ganNUb0pTT05Qcm9wcyh0eXA6IGFueSk6IGFueSB7XG4gIGlmICh0eXAuanNUb0pTT04gPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IG1hcDogYW55ID0ge31cbiAgICB0eXAucHJvcHMuZm9yRWFjaCgocDogYW55KSA9PiAobWFwW3AuanNdID0geyBrZXk6IHAuanNvbiwgdHlwOiBwLnR5cCB9KSlcbiAgICB0eXAuanNUb0pTT04gPSBtYXBcbiAgfVxuICByZXR1cm4gdHlwLmpzVG9KU09OXG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybSh2YWw6IGFueSwgdHlwOiBhbnksIGdldFByb3BzOiBhbnksIGtleTogYW55ID0gXCJcIik6IGFueSB7XG4gIGZ1bmN0aW9uIHRyYW5zZm9ybVByaW1pdGl2ZSh0eXA6IHN0cmluZywgdmFsOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXBlb2YgdHlwID09PSB0eXBlb2YgdmFsKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbCwga2V5KVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtVW5pb24odHlwczogYW55W10sIHZhbDogYW55KTogYW55IHtcbiAgICAvLyB2YWwgbXVzdCB2YWxpZGF0ZSBhZ2FpbnN0IG9uZSB0eXAgaW4gdHlwc1xuICAgIGNvbnN0IGwgPSB0eXBzLmxlbmd0aFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbDsgaSsrKSB7XG4gICAgICBjb25zdCB0eXAgPSB0eXBzW2ldXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdHJhbnNmb3JtKHZhbCwgdHlwLCBnZXRQcm9wcylcbiAgICAgIH0gY2F0Y2ggKF8pIHt9XG4gICAgfVxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUodHlwcywgdmFsKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtRW51bShjYXNlczogc3RyaW5nW10sIHZhbDogYW55KTogYW55IHtcbiAgICBpZiAoY2FzZXMuaW5kZXhPZih2YWwpICE9PSAtMSkgcmV0dXJuIHZhbFxuICAgIHJldHVybiBpbnZhbGlkVmFsdWUoY2FzZXMsIHZhbClcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zZm9ybUFycmF5KHR5cDogYW55LCB2YWw6IGFueSk6IGFueSB7XG4gICAgLy8gdmFsIG11c3QgYmUgYW4gYXJyYXkgd2l0aCBubyBpbnZhbGlkIGVsZW1lbnRzXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbCkpIHJldHVybiBpbnZhbGlkVmFsdWUoXCJhcnJheVwiLCB2YWwpXG4gICAgcmV0dXJuIHZhbC5tYXAoKGVsKSA9PiB0cmFuc2Zvcm0oZWwsIHR5cCwgZ2V0UHJvcHMpKVxuICB9XG5cbiAgZnVuY3Rpb24gdHJhbnNmb3JtRGF0ZSh2YWw6IGFueSk6IGFueSB7XG4gICAgaWYgKHZhbCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHZhbClcbiAgICBpZiAoaXNOYU4oZC52YWx1ZU9mKCkpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwiRGF0ZVwiLCB2YWwpXG4gICAgfVxuICAgIHJldHVybiBkXG4gIH1cblxuICBmdW5jdGlvbiB0cmFuc2Zvcm1PYmplY3QoXG4gICAgcHJvcHM6IHsgW2s6IHN0cmluZ106IGFueSB9LFxuICAgIGFkZGl0aW9uYWw6IGFueSxcbiAgICB2YWw6IGFueSxcbiAgKTogYW55IHtcbiAgICBpZiAodmFsID09PSBudWxsIHx8IHR5cGVvZiB2YWwgIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFZhbHVlKFwib2JqZWN0XCIsIHZhbClcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0OiBhbnkgPSB7fVxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHByb3AgPSBwcm9wc1trZXldXG4gICAgICBjb25zdCB2ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbCwga2V5KVxuICAgICAgICA/IHZhbFtrZXldXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgICByZXN1bHRbcHJvcC5rZXldID0gdHJhbnNmb3JtKHYsIHByb3AudHlwLCBnZXRQcm9wcywgcHJvcC5rZXkpXG4gICAgfSlcbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh2YWwpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvcHMsIGtleSkpIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSB0cmFuc2Zvcm0odmFsW2tleV0sIGFkZGl0aW9uYWwsIGdldFByb3BzLCBrZXkpXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBpZiAodHlwID09PSBcImFueVwiKSByZXR1cm4gdmFsXG4gIGlmICh0eXAgPT09IG51bGwpIHtcbiAgICBpZiAodmFsID09PSBudWxsKSByZXR1cm4gdmFsXG4gICAgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgfVxuICAvLyBpZiAodHlwID09PSBmYWxzZSkgcmV0dXJuIGludmFsaWRWYWx1ZSh0eXAsIHZhbClcbiAgd2hpbGUgKHR5cGVvZiB0eXAgPT09IFwib2JqZWN0XCIgJiYgdHlwLnJlZiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdHlwID0gdHlwZU1hcFt0eXAucmVmXVxuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHR5cCkpIHJldHVybiB0cmFuc2Zvcm1FbnVtKHR5cCwgdmFsKVxuICBpZiAodHlwZW9mIHR5cCA9PT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiB0eXAuaGFzT3duUHJvcGVydHkoXCJ1bmlvbk1lbWJlcnNcIilcbiAgICAgID8gdHJhbnNmb3JtVW5pb24odHlwLnVuaW9uTWVtYmVycywgdmFsKVxuICAgICAgOiB0eXAuaGFzT3duUHJvcGVydHkoXCJhcnJheUl0ZW1zXCIpXG4gICAgICA/IHRyYW5zZm9ybUFycmF5KHR5cC5hcnJheUl0ZW1zLCB2YWwpXG4gICAgICA6IHR5cC5oYXNPd25Qcm9wZXJ0eShcInByb3BzXCIpXG4gICAgICA/IHRyYW5zZm9ybU9iamVjdChnZXRQcm9wcyh0eXApLCB0eXAuYWRkaXRpb25hbCwgdmFsKVxuICAgICAgOiBpbnZhbGlkVmFsdWUodHlwLCB2YWwpXG4gIH1cbiAgLy8gTnVtYmVycyBjYW4gYmUgcGFyc2VkIGJ5IERhdGUgYnV0IHNob3VsZG4ndCBiZS5cbiAgaWYgKHR5cCA9PT0gRGF0ZSAmJiB0eXBlb2YgdmFsICE9PSBcIm51bWJlclwiKSByZXR1cm4gdHJhbnNmb3JtRGF0ZSh2YWwpXG4gIHJldHVybiB0cmFuc2Zvcm1QcmltaXRpdmUodHlwLCB2YWwpXG59XG5cbmZ1bmN0aW9uIGNhc3Q8VD4odmFsOiBhbnksIHR5cDogYW55KTogVCB7XG4gIHJldHVybiB0cmFuc2Zvcm0odmFsLCB0eXAsIGpzb25Ub0pTUHJvcHMpXG59XG5cbmZ1bmN0aW9uIHVuY2FzdDxUPih2YWw6IFQsIHR5cDogYW55KTogYW55IHtcbiAgcmV0dXJuIHRyYW5zZm9ybSh2YWwsIHR5cCwganNUb0pTT05Qcm9wcylcbn1cblxuZnVuY3Rpb24gYSh0eXA6IGFueSkge1xuICByZXR1cm4geyBhcnJheUl0ZW1zOiB0eXAgfVxufVxuXG5mdW5jdGlvbiB1KC4uLnR5cHM6IGFueVtdKSB7XG4gIHJldHVybiB7IHVuaW9uTWVtYmVyczogdHlwcyB9XG59XG5cbmZ1bmN0aW9uIG8ocHJvcHM6IGFueVtdLCBhZGRpdGlvbmFsOiBhbnkpIHtcbiAgcmV0dXJuIHsgcHJvcHMsIGFkZGl0aW9uYWwgfVxufVxuXG4vLyBmdW5jdGlvbiBtKGFkZGl0aW9uYWw6IGFueSkge1xuLy8gICAgIHJldHVybiB7IHByb3BzOiBbXSwgYWRkaXRpb25hbCB9O1xuLy8gfVxuXG5mdW5jdGlvbiByKG5hbWU6IHN0cmluZykge1xuICByZXR1cm4geyByZWY6IG5hbWUgfVxufVxuXG5jb25zdCB0eXBlTWFwOiBhbnkgPSB7XG4gIERvc3NpZXJzTGVnaXNsYXRpZnM6IG8oXG4gICAgW1xuICAgICAge1xuICAgICAgICBqc29uOiBcInRleHRlc0xlZ2lzbGF0aWZzXCIsXG4gICAgICAgIGpzOiBcInRleHRlc0xlZ2lzbGF0aWZzXCIsXG4gICAgICAgIHR5cDogYShyKFwiRG9jdW1lbnRcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkb3NzaWVyc1BhcmxlbWVudGFpcmVzXCIsXG4gICAgICAgIGpzOiBcImRvc3NpZXJzUGFybGVtZW50YWlyZXNcIixcbiAgICAgICAgdHlwOiBhKHIoXCJEb3NzaWVyUGFybGVtZW50YWlyZVwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIERvc3NpZXJQYXJsZW1lbnRhaXJlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJzY2hlbWFWZXJzaW9uXCIsIGpzOiBcInNjaGVtYVZlcnNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ4c2lUeXBlXCIsXG4gICAgICAgIGpzOiBcInhzaVR5cGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRvc3NpZXJQYXJsZW1lbnRhaXJlWHNpVHlwZVwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidGl0cmVEb3NzaWVyXCIsIGpzOiBcInRpdHJlRG9zc2llclwiLCB0eXA6IHIoXCJUaXRyZURvc3NpZXJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwcm9jZWR1cmVQYXJsZW1lbnRhaXJlXCIsXG4gICAgICAgIGpzOiBcInByb2NlZHVyZVBhcmxlbWVudGFpcmVcIixcbiAgICAgICAgdHlwOiByKFwiUHJvY2VkdXJlUGFybGVtZW50YWlyZVwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW5pdGlhdGV1clwiLFxuICAgICAgICBqczogXCJpbml0aWF0ZXVyXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJJbml0aWF0ZXVyXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWN0ZXNMZWdpc2xhdGlmc1wiLFxuICAgICAgICBqczogXCJhY3Rlc0xlZ2lzbGF0aWZzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkFjdGVMZWdpc2xhdGlmXCIpKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImZ1c2lvbkRvc3NpZXJcIixcbiAgICAgICAganM6IFwiZnVzaW9uRG9zc2llclwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiRnVzaW9uRG9zc2llclwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImluZGV4YXRpb25cIixcbiAgICAgICAganM6IFwiaW5kZXhhdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiSW5kZXhhdGlvblwiKSksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcInBsZlwiLCBqczogXCJwbGZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiRXR1ZGVQbGZcIikpKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEV0dWRlUGxmOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidGV4dGVBc3NvY2llXCIsIGpzOiBcInRleHRlQXNzb2NpZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInJhcHBvcnRldXJzXCIsXG4gICAgICAgIGpzOiBcInJhcHBvcnRldXJzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlJhcHBvcnRldXJcIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibWlzc2lvbk1pbmVmaVwiLFxuICAgICAgICBqczogXCJtaXNzaW9uTWluZWZpXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJNaXNzaW9uTWluZWZpXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib3JkcmVEaXFzXCIsIGpzOiBcIm9yZHJlRGlxc1wiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJvcmRyZUNvbW1pc3Npb25cIiwganM6IFwib3JkcmVDb21taXNzaW9uXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIE1pc3Npb25NaW5lZmk6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInR5cGVNaXNzaW9uXCIsIGpzOiBcInR5cGVNaXNzaW9uXCIsIHR5cDogcihcIlR5cGVNaXNzaW9uXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUxvbmdcIiwganM6IFwibGliZWxsZUxvbmdcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUNvdXJ0XCIsIGpzOiBcImxpYmVsbGVDb3VydFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlQnVkZ2V0XCIsIGpzOiBcInR5cGVCdWRnZXRcIiwgdHlwOiByKFwiVHlwZUJ1ZGdldFwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm1pc3Npb25zXCIsXG4gICAgICAgIGpzOiBcIm1pc3Npb25zXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIk1pc3Npb25NaW5lZmlcIikpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQWN0ZUxlZ2lzbGF0aWY6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IHIoXCJUeXBlQWN0ZUxlZ2lzbGF0aWZcIikgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNvZGVBY3RlXCIsXG4gICAgICAgIGpzOiBcImNvZGVBY3RlXCIsXG4gICAgICAgIHR5cDogdShcbiAgICAgICAgICByKFwiQ29kZUFjdGVOaXZlYXUwXCIpLFxuICAgICAgICAgIHUoXG4gICAgICAgICAgICByKFwiQ29kZUFjdGVOaXZlYXUxXCIpLFxuICAgICAgICAgICAgdShyKFwiQ29kZUFjdGVOaXZlYXUyXCIpLCByKFwiQ29kZUFjdGVOaXZlYXUzXCIpKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlQWN0ZVwiLCBqczogXCJsaWJlbGxlQWN0ZVwiLCB0eXA6IHIoXCJMaWJlbGxlQWN0ZVwiKSB9LFxuICAgICAgeyBqc29uOiBcIm9yZ2FuZVJlZlwiLCBqczogXCJvcmdhbmVSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlQWN0ZVwiLCBqczogXCJkYXRlQWN0ZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBEYXRlKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImFjdGVzTGVnaXNsYXRpZnNcIixcbiAgICAgICAganM6IFwiYWN0ZXNMZWdpc2xhdGlmc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJBY3RlTGVnaXNsYXRpZlwiKSkpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJhbm5lZURlY2lzaW9uXCIsIGpzOiBcImFubmVlRGVjaXNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhdXRldXJNb3Rpb25cIixcbiAgICAgICAganM6IFwiYXV0ZXVyTW90aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhdXRldXJzUmVmc1wiLFxuICAgICAgICBqczogXCJhdXRldXJzUmVmc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKFwiXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY2FzU2Fpc2luZVwiLFxuICAgICAgICBqczogXCJjYXNTYWlzaW5lXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUeXBlRGVjbGFyYXRpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJjb2RlTG9pXCIsIGpzOiBcImNvZGVMb2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjb250cmlidXRpb25JbnRlcm5hdXRlXCIsXG4gICAgICAgIGpzOiBcImNvbnRyaWJ1dGlvbkludGVybmF1dGVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkNvbnRyaWJ1dGlvbkludGVybmF1dGVcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkZWNpc2lvblwiLFxuICAgICAgICBqczogXCJkZWNpc2lvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiVHlwZURlY2xhcmF0aW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZGVwb3RJbml0aWFsTGVjdHVyZURlZmluaXRpdmVSZWZcIixcbiAgICAgICAganM6IFwiZGVwb3RJbml0aWFsTGVjdHVyZURlZmluaXRpdmVSZWZcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAgeyBqc29uOiBcImZvcm11bGVEZWNpc2lvblwiLCBqczogXCJmb3JtdWxlRGVjaXNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJpbmZvSm9cIiwganM6IFwiaW5mb0pvXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJJbmZvSm9cIikpIH0sXG4gICAgICB7IGpzb246IFwiaW5mb0pvY2VcIiwganM6IFwiaW5mb0pvY2VcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkluZm9Kb2NlXCIpKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImluZm9Kb1JlY3RcIixcbiAgICAgICAganM6IFwiaW5mb0pvUmVjdFwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJJbmZvSm9cIikpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiaW5pdGlhdGV1clwiLFxuICAgICAgICBqczogXCJpbml0aWF0ZXVyXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJJbml0aWF0ZXVyXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwibW90aWZcIiwganM6IFwibW90aWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgcihcIk1vdGlmXCIpKSB9LFxuICAgICAgeyBqc29uOiBcIm51bURlY2lzaW9uXCIsIGpzOiBcIm51bURlY2lzaW9uXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwib2RqUmVmXCIsIGpzOiBcIm9kalJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInByb3ZlbmFuY2VSZWZcIiwganM6IFwicHJvdmVuYW5jZVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInJhcHBvcnRldXJzXCIsXG4gICAgICAgIGpzOiBcInJhcHBvcnRldXJzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIlJhcHBvcnRldXJcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwicmVmZXJlbmNlTm9yXCIsIGpzOiBcInJlZmVyZW5jZU5vclwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInJldW5pb25SZWZcIiwganM6IFwicmV1bmlvblJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInN0YXR1dEFkb3B0aW9uXCIsXG4gICAgICAgIGpzOiBcInN0YXR1dEFkb3B0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUeXBlRGVjbGFyYXRpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJzdGF0dXRDb25jbHVzaW9uXCIsXG4gICAgICAgIGpzOiBcInN0YXR1dENvbmNsdXNpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVEZWNsYXJhdGlvblwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInRleHRlQWRvcHRlUmVmXCIsXG4gICAgICAgIGpzOiBcInRleHRlQWRvcHRlUmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ0ZXh0ZUFzc29jaWVSZWZcIiwganM6IFwidGV4dGVBc3NvY2llUmVmXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidGV4dGVFdXJvcGVlblwiLFxuICAgICAgICBqczogXCJ0ZXh0ZUV1cm9wZWVuXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUZXh0ZUV1cm9wZWVuXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidGV4dGVMb2lSZWZcIiwganM6IFwidGV4dGVMb2lSZWZcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0ZXh0ZXNBc3NvY2llc1wiLFxuICAgICAgICBqczogXCJ0ZXh0ZXNBc3NvY2llc1wiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJUZXh0ZUFzc29jaWVcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwidGl0cmVMb2lcIiwganM6IFwidGl0cmVMb2lcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0eXBlRGVjbGFyYXRpb25cIixcbiAgICAgICAganM6IFwidHlwZURlY2xhcmF0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUeXBlRGVjbGFyYXRpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0eXBlTW90aW9uXCIsXG4gICAgICAgIGpzOiBcInR5cGVNb3Rpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlR5cGVEZWNsYXJhdGlvblwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInR5cGVNb3Rpb25DZW5zdXJlXCIsXG4gICAgICAgIGpzOiBcInR5cGVNb3Rpb25DZW5zdXJlXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJUeXBlRGVjbGFyYXRpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ1cmxDb25jbHVzaW9uXCIsIGpzOiBcInVybENvbmNsdXNpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ1cmxFY2hlYW5jaWVyTG9pXCIsXG4gICAgICAgIGpzOiBcInVybEVjaGVhbmNpZXJMb2lcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcInVybExlZ2lmcmFuY2VcIixcbiAgICAgICAganM6IFwidXJsTGVnaWZyYW5jZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwidm90ZVJlZnNcIixcbiAgICAgICAganM6IFwidm90ZVJlZnNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIExpYmVsbGVBY3RlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJub21DYW5vbmlxdWVcIiwganM6IFwibm9tQ2Fub25pcXVlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVDb3VydFwiLCBqczogXCJsaWJlbGxlQ291cnRcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBSYXBwb3J0ZXVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInR5cGVSYXBwb3J0ZXVyXCIsIGpzOiBcInR5cGVSYXBwb3J0ZXVyXCIsIHR5cDogcihcIlF1YWxpdGVcIikgfSxcbiAgICAgIHsganNvbjogXCJldHVkZVBsZlJlZlwiLCBqczogXCJldHVkZVBsZlJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFR5cGVEZWNsYXJhdGlvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiZmFtQ29kZVwiLCBqczogXCJmYW1Db2RlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxpYmVsbGVcIiwganM6IFwibGliZWxsZVwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBUZXh0ZUFzc29jaWU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInR5cGVUZXh0ZVwiLCBqczogXCJ0eXBlVGV4dGVcIiwgdHlwOiByKFwiVHlwZVRleHRlXCIpIH0sXG4gICAgICB7IGpzb246IFwidGV4dGVBc3NvY2llUmVmXCIsIGpzOiBcInRleHRlQXNzb2NpZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDb250cmlidXRpb25JbnRlcm5hdXRlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkYXRlT3V2ZXJ0dXJlXCIsIGpzOiBcImRhdGVPdXZlcnR1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJkYXRlRmVybWV0dXJlXCIsIGpzOiBcImRhdGVGZXJtZXR1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBJbmZvSm9jZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwicmVmSm9jZVwiLCBqczogXCJyZWZKb2NlXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImRhdGVKb2NlXCIsIGpzOiBcImRhdGVKb2NlXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEluaXRpYXRldXJBY3RldXI6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImFjdGV1clJlZlwiLCBqczogXCJhY3RldXJSZWZcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibWFuZGF0UmVmXCIsIGpzOiBcIm1hbmRhdFJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFRleHRlRXVyb3BlZW46IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInR5cGVUZXh0ZUV1cm9wZWVuXCIsIGpzOiBcInR5cGVUZXh0ZUV1cm9wZWVuXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInRpdHJlVGV4dGVFdXJvcGVlblwiLCBqczogXCJ0aXRyZVRleHRlRXVyb3BlZW5cIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSW5mb0pvOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0eXBlSm9cIiwganM6IFwidHlwZUpvXCIsIHR5cDogcihcIlR5cGVKb1wiKSB9LFxuICAgICAgeyBqc29uOiBcImRhdGVKb1wiLCBqczogXCJkYXRlSm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibnVtSm9cIiwganM6IFwibnVtSm9cIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwidXJsTGVnaWZyYW5jZVwiLCBqczogXCJ1cmxMZWdpZnJhbmNlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwicmVmZXJlbmNlTm9yXCIsIGpzOiBcInJlZmVyZW5jZU5vclwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEZ1c2lvbkRvc3NpZXI6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNhdXNlXCIsIGpzOiBcImNhdXNlXCIsIHR5cDogcihcIkNhdXNlXCIpIH0sXG4gICAgICB7IGpzb246IFwiZG9zc2llckFic29yYmFudFJlZlwiLCBqczogXCJkb3NzaWVyQWJzb3JiYW50UmVmXCIsIHR5cDogXCJcIiB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEluZGV4YXRpb246IG8oW3sganNvbjogXCJ0aGVtZXNcIiwganM6IFwidGhlbWVzXCIsIHR5cDogcihcIlRoZW1lc1wiKSB9XSwgZmFsc2UpLFxuICBUaGVtZXM6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcIkBuaXZlYXVcIiwganM6IFwiQG5pdmVhdVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0aGVtZVwiLCBqczogXCJ0aGVtZVwiLCB0eXA6IHIoXCJUaGVtZVwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFRoZW1lOiBvKFt7IGpzb246IFwibGliZWxsZVRoZW1lXCIsIGpzOiBcImxpYmVsbGVUaGVtZVwiLCB0eXA6IFwiXCIgfV0sIGZhbHNlKSxcbiAgSW5pdGlhdGV1cjogbyhcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYWN0ZXVyc1wiLFxuICAgICAgICBqczogXCJhY3RldXJzXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIGEocihcIkluaXRpYXRldXJBY3RldXJcIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFByb2NlZHVyZVBhcmxlbWVudGFpcmU6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImNvZGVcIiwganM6IFwiY29kZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJsaWJlbGxlXCIsIGpzOiBcImxpYmVsbGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVGl0cmVEb3NzaWVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0aXRyZVwiLCBqczogXCJ0aXRyZVwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0aXRyZUNoZW1pblwiLCBqczogXCJ0aXRyZUNoZW1pblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInNlbmF0Q2hlbWluXCIsIGpzOiBcInNlbmF0Q2hlbWluXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRG9jdW1lbnQ6IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcInNjaGVtYVZlcnNpb25cIiwganM6IFwic2NoZW1hVmVyc2lvblwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInhzaVR5cGVcIiwganM6IFwieHNpVHlwZVwiLCB0eXA6IHIoXCJUeXBlRG9jdW1lbnRcIikgfSxcbiAgICAgIHsganNvbjogXCJ1aWRcIiwganM6IFwidWlkXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImxlZ2lzbGF0dXJlXCIsIGpzOiBcImxlZ2lzbGF0dXJlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiY3ljbGVEZVZpZVwiLCBqczogXCJjeWNsZURlVmllXCIsIHR5cDogcihcIkN5Y2xlRGVWaWVcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkZW5vbWluYXRpb25TdHJ1Y3R1cmVsbGVcIixcbiAgICAgICAganM6IFwiZGVub21pbmF0aW9uU3RydWN0dXJlbGxlXCIsXG4gICAgICAgIHR5cDogcihcIkRvY3VtZW50RGVub21pbmF0aW9uU3RydWN0dXJlbGxlXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJwcm92ZW5hbmNlXCIsXG4gICAgICAgIGpzOiBcInByb3ZlbmFuY2VcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIlByb3ZlbmFuY2VcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ0aXRyZXNcIiwganM6IFwidGl0cmVzXCIsIHR5cDogcihcIlRpdHJlc1wiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRpdmlzaW9uc1wiLFxuICAgICAgICBqczogXCJkaXZpc2lvbnNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiRGl2aXNpb25cIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiZG9zc2llclJlZlwiLCBqczogXCJkb3NzaWVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNsYXNzaWZpY2F0aW9uXCIsXG4gICAgICAgIGpzOiBcImNsYXNzaWZpY2F0aW9uXCIsXG4gICAgICAgIHR5cDogcihcIkNsYXNzaWZpY2F0aW9uXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJhdXRldXJzXCIsIGpzOiBcImF1dGV1cnNcIiwgdHlwOiBhKHIoXCJBdXRldXJcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29ycmVjdGlvblwiLFxuICAgICAgICBqczogXCJjb3JyZWN0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJDb3JyZWN0aW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwibm90aWNlXCIsIGpzOiBcIm5vdGljZVwiLCB0eXA6IHIoXCJOb3RpY2VcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpbmRleGF0aW9uXCIsXG4gICAgICAgIGpzOiBcImluZGV4YXRpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkluZGV4YXRpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpbXByaW1lcmllXCIsXG4gICAgICAgIGpzOiBcImltcHJpbWVyaWVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkltcHJpbWVyaWVcIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJjb1NpZ25hdGFpcmVzXCIsXG4gICAgICAgIGpzOiBcImNvU2lnbmF0YWlyZXNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiQ29TaWduYXRhaXJlRWxlbWVudFwiKSkpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkZXBvdEFtZW5kZW1lbnRzXCIsXG4gICAgICAgIGpzOiBcImRlcG90QW1lbmRlbWVudHNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkRlcG90QW1lbmRlbWVudHNcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJvcmdhbmVzUmVmZXJlbnRzXCIsIGpzOiBcIm9yZ2FuZXNSZWZlcmVudHNcIiwgdHlwOiB1KHVuZGVmaW5lZCwgYShcIlwiKSkgfSxcbiAgICAgIHsganNvbjogXCJyYXBwb3J0UHVibGllXCIsIGpzOiBcInJhcHBvcnRQdWJsaWVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgZmFsc2UpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQXV0ZXVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJhY3RldXJcIiwganM6IFwiYWN0ZXVyXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJBdXRldXJBY3RldXJcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwib3JnYW5lUmVmXCIsXG4gICAgICAgIGpzOiBcIm9yZ2FuZVJlZlwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQXV0ZXVyQWN0ZXVyOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJhY3RldXJSZWZcIiwganM6IFwiYWN0ZXVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcInF1YWxpdGVcIiwganM6IFwicXVhbGl0ZVwiLCB0eXA6IHIoXCJRdWFsaXRlXCIpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQ2xhc3NpZmljYXRpb246IG8oXG4gICAgW1xuICAgICAgeyBqc29uOiBcImZhbWlsbGVcIiwganM6IFwiZmFtaWxsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCByKFwiRmFtaWxsZVwiKSkgfSxcbiAgICAgIHsganNvbjogXCJ0eXBlXCIsIGpzOiBcInR5cGVcIiwgdHlwOiByKFwiUHJvY2VkdXJlUGFybGVtZW50YWlyZVwiKSB9LFxuICAgICAgeyBqc29uOiBcInNvdXNUeXBlXCIsIGpzOiBcInNvdXNUeXBlXCIsIHR5cDogdSh1bmRlZmluZWQsIHIoXCJTb3VzVHlwZVwiKSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJzdGF0dXRBZG9wdGlvblwiLFxuICAgICAgICBqczogXCJzdGF0dXRBZG9wdGlvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiU3RhdHV0QWRvcHRpb25cIikpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBGYW1pbGxlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkZXBvdFwiLCBqczogXCJkZXBvdFwiLCB0eXA6IHIoXCJQcm9jZWR1cmVQYXJsZW1lbnRhaXJlXCIpIH0sXG4gICAgICB7IGpzb246IFwiY2xhc3NlXCIsIGpzOiBcImNsYXNzZVwiLCB0eXA6IHIoXCJQcm9jZWR1cmVQYXJsZW1lbnRhaXJlXCIpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiZXNwZWNlXCIsXG4gICAgICAgIGpzOiBcImVzcGVjZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCByKFwiUHJvY2VkdXJlUGFybGVtZW50YWlyZVwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIFNvdXNUeXBlOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJjb2RlXCIsIGpzOiBcImNvZGVcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZVwiLCBqczogXCJsaWJlbGxlXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibGliZWxsZUVkaXRpb25cIiwganM6IFwibGliZWxsZUVkaXRpb25cIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDb1NpZ25hdGFpcmVFbGVtZW50OiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhY3RldXJSZWZcIixcbiAgICAgICAganM6IFwiYWN0ZXVyUmVmXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJkYXRlQ29zaWduYXR1cmVcIiwganM6IFwiZGF0ZUNvc2lnbmF0dXJlXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRhdGVSZXRyYWl0Q29zaWduYXR1cmVcIixcbiAgICAgICAganM6IFwiZGF0ZVJldHJhaXRDb3NpZ25hdHVyZVwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiZWRpdGVcIiwganM6IFwiZWRpdGVcIiwgdHlwOiBmYWxzZSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcIm9yZ2FuZVwiLFxuICAgICAgICBqczogXCJvcmdhbmVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkNvU2lnbmF0YWlyZU9yZ2FuZVwiKSksXG4gICAgICB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIENvU2lnbmF0YWlyZU9yZ2FuZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwib3JnYW5lUmVmXCIsIGpzOiBcIm9yZ2FuZVJlZlwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJldEFwcGFyZW50ZXNcIiwganM6IFwiZXRBcHBhcmVudGVzXCIsIHR5cDogZmFsc2UgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDb3JyZWN0aW9uOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJ0eXBlQ29ycmVjdGlvblwiLFxuICAgICAgICBqczogXCJ0eXBlQ29ycmVjdGlvblwiLFxuICAgICAgICB0eXA6IHIoXCJUeXBlQ29ycmVjdGlvblwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwibml2ZWF1Q29ycmVjdGlvblwiLFxuICAgICAgICBqczogXCJuaXZlYXVDb3JyZWN0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBDeWNsZURlVmllOiBvKFt7IGpzb246IFwiY2hyb25vXCIsIGpzOiBcImNocm9ub1wiLCB0eXA6IHIoXCJDaHJvbm9cIikgfV0sIGZhbHNlKSxcbiAgQ2hyb25vOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJkYXRlQ3JlYXRpb25cIiwganM6IFwiZGF0ZUNyZWF0aW9uXCIsIHR5cDogRGF0ZSB9LFxuICAgICAgeyBqc29uOiBcImRhdGVEZXBvdFwiLCBqczogXCJkYXRlRGVwb3RcIiwgdHlwOiB1KHVuZGVmaW5lZCwgRGF0ZSkgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkYXRlUHVibGljYXRpb25cIixcbiAgICAgICAganM6IFwiZGF0ZVB1YmxpY2F0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIERhdGUpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJkYXRlUHVibGljYXRpb25XZWJcIixcbiAgICAgICAganM6IFwiZGF0ZVB1YmxpY2F0aW9uV2ViXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIERhdGUpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGZhbHNlLFxuICApLFxuICBEZXBvdEFtZW5kZW1lbnRzOiBvKFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJhbWVuZGVtZW50c1NlYW5jZVwiLFxuICAgICAgICBqczogXCJhbWVuZGVtZW50c1NlYW5jZVwiLFxuICAgICAgICB0eXA6IHIoXCJBbWVuZGVtZW50c1NlYW5jZVwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiYW1lbmRlbWVudHNDb21taXNzaW9uXCIsXG4gICAgICAgIGpzOiBcImFtZW5kZW1lbnRzQ29tbWlzc2lvblwiLFxuICAgICAgICB0eXA6IHUodW5kZWZpbmVkLCBhKHIoXCJBbWVuZGVtZW50c0NvbW1pc3Npb25cIikpKSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgQW1lbmRlbWVudHNDb21taXNzaW9uOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJvcmdhbmVSZWZcIiwganM6IFwib3JnYW5lUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAgeyBqc29uOiBcImFtZW5kYWJsZVwiLCBqczogXCJhbWVuZGFibGVcIiwgdHlwOiBmYWxzZSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIEFtZW5kZW1lbnRzU2VhbmNlOiBvKFxuICAgIFt7IGpzb246IFwiYW1lbmRhYmxlXCIsIGpzOiBcImFtZW5kYWJsZVwiLCB0eXA6IGZhbHNlIH1dLFxuICAgIGZhbHNlLFxuICApLFxuICBEaXZpc2lvbjogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwieHNpVHlwZVwiLCBqczogXCJ4c2lUeXBlXCIsIHR5cDogcihcIlR5cGVEb2N1bWVudFwiKSB9LFxuICAgICAgeyBqc29uOiBcInVpZFwiLCBqczogXCJ1aWRcIiwgdHlwOiBcIlwiIH0sXG4gICAgICB7IGpzb246IFwibGVnaXNsYXR1cmVcIiwganM6IFwibGVnaXNsYXR1cmVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgXCJcIikgfSxcbiAgICAgIHsganNvbjogXCJjeWNsZURlVmllXCIsIGpzOiBcImN5Y2xlRGVWaWVcIiwgdHlwOiByKFwiQ3ljbGVEZVZpZVwiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRlbm9taW5hdGlvblN0cnVjdHVyZWxsZVwiLFxuICAgICAgICBqczogXCJkZW5vbWluYXRpb25TdHJ1Y3R1cmVsbGVcIixcbiAgICAgICAgdHlwOiBcIlwiLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJ0aXRyZXNcIiwganM6IFwidGl0cmVzXCIsIHR5cDogcihcIlRpdHJlc1wiKSB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImRpdmlzaW9uc1wiLFxuICAgICAgICBqczogXCJkaXZpc2lvbnNcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgYShyKFwiRGl2aXNpb25cIikpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwiZG9zc2llclJlZlwiLCBqczogXCJkb3NzaWVyUmVmXCIsIHR5cDogXCJcIiB9LFxuICAgICAge1xuICAgICAgICBqc29uOiBcImNsYXNzaWZpY2F0aW9uXCIsXG4gICAgICAgIGpzOiBcImNsYXNzaWZpY2F0aW9uXCIsXG4gICAgICAgIHR5cDogcihcIkNsYXNzaWZpY2F0aW9uXCIpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJhdXRldXJzXCIsIGpzOiBcImF1dGV1cnNcIiwgdHlwOiBhKHIoXCJBdXRldXJcIikpIH0sXG4gICAgICB7XG4gICAgICAgIGpzb246IFwiY29ycmVjdGlvblwiLFxuICAgICAgICBqczogXCJjb3JyZWN0aW9uXCIsXG4gICAgICAgIHR5cDogdSh1bmRlZmluZWQsIHIoXCJDb3JyZWN0aW9uXCIpKSxcbiAgICAgIH0sXG4gICAgICB7IGpzb246IFwibm90aWNlXCIsIGpzOiBcIm5vdGljZVwiLCB0eXA6IHIoXCJOb3RpY2VcIikgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpbmRleGF0aW9uXCIsXG4gICAgICAgIGpzOiBcImluZGV4YXRpb25cIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkluZGV4YXRpb25cIikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAganNvbjogXCJpbXByaW1lcmllXCIsXG4gICAgICAgIGpzOiBcImltcHJpbWVyaWVcIixcbiAgICAgICAgdHlwOiB1KHVuZGVmaW5lZCwgcihcIkltcHJpbWVyaWVcIikpLFxuICAgICAgfSxcbiAgICAgIHsganNvbjogXCJyYXBwb3J0UHVibGllXCIsIGpzOiBcInJhcHBvcnRQdWJsaWVcIiwgdHlwOiB1KHVuZGVmaW5lZCwgZmFsc2UpIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgSW1wcmltZXJpZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwiZGlhblwiLCBqczogXCJkaWFuXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwiaXNiblwiLCBqczogXCJpc2JuXCIsIHR5cDogdSh1bmRlZmluZWQsIFwiXCIpIH0sXG4gICAgICB7IGpzb246IFwibmJQYWdlXCIsIGpzOiBcIm5iUGFnZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcInByaXhcIiwganM6IFwicHJpeFwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgIF0sXG4gICAgZmFsc2UsXG4gICksXG4gIE5vdGljZTogbyhcbiAgICBbXG4gICAgICB7IGpzb246IFwibnVtTm90aWNlXCIsIGpzOiBcIm51bU5vdGljZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImZvcm11bGVcIiwganM6IFwiZm9ybXVsZVwiLCB0eXA6IHUodW5kZWZpbmVkLCBcIlwiKSB9LFxuICAgICAgeyBqc29uOiBcImFkb3B0aW9uQ29uZm9ybWVcIiwganM6IFwiYWRvcHRpb25Db25mb3JtZVwiLCB0eXA6IGZhbHNlIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgVGl0cmVzOiBvKFxuICAgIFtcbiAgICAgIHsganNvbjogXCJ0aXRyZVByaW5jaXBhbFwiLCBqczogXCJ0aXRyZVByaW5jaXBhbFwiLCB0eXA6IFwiXCIgfSxcbiAgICAgIHsganNvbjogXCJ0aXRyZVByaW5jaXBhbENvdXJ0XCIsIGpzOiBcInRpdHJlUHJpbmNpcGFsQ291cnRcIiwgdHlwOiBcIlwiIH0sXG4gICAgXSxcbiAgICBmYWxzZSxcbiAgKSxcbiAgRG9zc2llclBhcmxlbWVudGFpcmVYc2lUeXBlOiBbXG4gICAgXCJEb3NzaWVyQ29tbWlzc2lvbkVucXVldGVfVHlwZVwiLFxuICAgIFwiRG9zc2llckluaWF0aXZlRXhlY3V0aWZfVHlwZVwiLFxuICAgIFwiRG9zc2llckxlZ2lzbGF0aWZfVHlwZVwiLFxuICAgIFwiRG9zc2llck1pc3Npb25Db250cm9sZV9UeXBlXCIsXG4gICAgXCJEb3NzaWVyTWlzc2lvbkluZm9ybWF0aW9uX1R5cGVcIixcbiAgICBcIkRvc3NpZXJSZXNvbHV0aW9uQU5cIixcbiAgXSxcbiAgVHlwZUJ1ZGdldDogW1xuICAgIFwiQnVkZ2V0IGFubmV4ZVwiLFxuICAgIFwiQnVkZ2V0IGfDqW7DqXJhbFwiLFxuICAgIFwiQ29tcHRlIGRlIGNvbmNvdXJzIGZpbmFuY2llclwiLFxuICAgIFwiQ29tcHRlIHNww6ljaWFsXCIsXG4gICAgXCJQcmVtacOocmUgcGFydGllXCIsXG4gIF0sXG4gIFR5cGVNaXNzaW9uOiBbXG4gICAgXCJtaXNzaW9uIHByaW5jaXBhbGVcIixcbiAgICBcIm1pc3Npb24gc2Vjb25kYWlyZVwiLFxuICAgIFwicGFydGllIGRlIG1pc3Npb25cIixcbiAgXSxcbiAgUXVhbGl0ZTogW1xuICAgIFwiYXV0ZXVyXCIsXG4gICAgXCJyYXBwb3J0ZXVyXCIsXG4gICAgXCJyYXBwb3J0ZXVyIGfDqW7DqXJhbFwiLFxuICAgIFwicmFwcG9ydGV1ciBwb3VyIGF2aXNcIixcbiAgICBcInJhcHBvcnRldXIgc3DDqWNpYWxcIixcbiAgXSxcbiAgVHlwZUFjdGVMZWdpc2xhdGlmOiBbXG4gICAgXCJBZG9wdGlvbl9FdXJvcGVfVHlwZVwiLFxuICAgIFwiQ29uY2x1c2lvbkV0YXBlQ0NfVHlwZVwiLFxuICAgIFwiQ3JlYXRpb25PcmdhbmVUZW1wb3JhaXJlX1R5cGVcIixcbiAgICBcIkRlY2lzaW9uTW90aW9uQ2Vuc3VyZV9UeXBlXCIsXG4gICAgXCJEZWNpc2lvblJlY2V2YWJpbGl0ZUJ1cmVhdV9UeXBlXCIsXG4gICAgXCJEZWNpc2lvbl9UeXBlXCIsXG4gICAgXCJEZWNsYXJhdGlvbkdvdXZlcm5lbWVudF9UeXBlXCIsXG4gICAgXCJEZXBvdEFjY29yZEludGVybmF0aW9uYWxfVHlwZVwiLFxuICAgIFwiRGVwb3RBdmlzQ29uc2VpbEV0YXRfVHlwZVwiLFxuICAgIFwiRGVwb3RJbml0aWF0aXZlTmF2ZXR0ZV9UeXBlXCIsXG4gICAgXCJEZXBvdEluaXRpYXRpdmVfVHlwZVwiLFxuICAgIFwiRGVwb3RMZXR0cmVSZWN0aWZpY2F0aXZlX1R5cGVcIixcbiAgICBcIkRlcG90TW90aW9uQ2Vuc3VyZV9UeXBlXCIsXG4gICAgXCJEZXBvdE1vdGlvblJlZmVyZW5kYWlyZV9UeXBlXCIsXG4gICAgXCJEZXBvdFJhcHBvcnRfVHlwZVwiLFxuICAgIFwiRGlzY3Vzc2lvbkNvbW1pc3Npb25fVHlwZVwiLFxuICAgIFwiRGlzY3Vzc2lvblNlYW5jZVB1YmxpcXVlX1R5cGVcIixcbiAgICBcIkV0YXBlX1R5cGVcIixcbiAgICBcIkV0dWRlSW1wYWN0X1R5cGVcIixcbiAgICBcIk1vdGlvblByb2NlZHVyZV9UeXBlXCIsXG4gICAgXCJOb21pblJhcHBvcnRldXJzX1R5cGVcIixcbiAgICBcIlByb2NlZHVyZUFjY2VsZXJlX1R5cGVcIixcbiAgICBcIlByb211bGdhdGlvbl9UeXBlXCIsXG4gICAgXCJSZW52b2lDTVBfVHlwZVwiLFxuICAgIFwiUmVudm9pUHJlYWxhYmxlX1R5cGVcIixcbiAgICBcIlJldHJhaXRJbml0aWF0aXZlX1R5cGVcIixcbiAgICBcIlNhaXNpZUNvbUF2aXNfVHlwZVwiLFxuICAgIFwiU2Fpc2llQ29tRm9uZF9UeXBlXCIsXG4gICAgXCJTYWlzaW5lQ29uc2VpbENvbnN0aXRfVHlwZVwiLFxuICBdLFxuICBDb2RlQWN0ZU5pdmVhdTA6IE9iamVjdC52YWx1ZXMoQ29kZUFjdGVOaXZlYXUwKSxcbiAgQ29kZUFjdGVOaXZlYXUxOiBPYmplY3QudmFsdWVzKENvZGVBY3RlTml2ZWF1MSksXG4gIENvZGVBY3RlTml2ZWF1MjogT2JqZWN0LnZhbHVlcyhDb2RlQWN0ZU5pdmVhdTIpLFxuICBDb2RlQWN0ZU5pdmVhdTM6IE9iamVjdC52YWx1ZXMoQ29kZUFjdGVOaXZlYXUzKSxcbiAgVHlwZVRleHRlOiBbXCJCVEFcIiwgXCJUQVBcIl0sXG4gIE1vdGlmOiBbXCJFbiBhcHBsaWNhdGlvbiBkZSBsJ2FydGljbGUgNjHCpzIgZGUgbGEgQ29uc3RpdHV0aW9uXCJdLFxuICBUeXBlSm86IFtcIkpPX0xPSV9ERUNSRVRcIl0sXG4gIENhdXNlOiBbXCJEb3NzaWVyIGFic29yYsOpXCIsIFwiRXhhbWVuIGNvbW11blwiXSxcbiAgVHlwZURvY3VtZW50OiBbXG4gICAgXCJhY2NvcmRJbnRlcm5hdGlvbmFsX1R5cGVcIixcbiAgICBcImF2aXNDb25zZWlsRXRhdF9UeXBlXCIsXG4gICAgXCJkb2N1bWVudEV0dWRlSW1wYWN0X1R5cGVcIixcbiAgICBcInJhcHBvcnRQYXJsZW1lbnRhaXJlX1R5cGVcIixcbiAgICBcInRleHRlTG9pX1R5cGVcIixcbiAgXSxcbiAgU3RhdHV0QWRvcHRpb246IFtcIkFET1BUQ09NXCIsIFwiQURPUFRTRUFOQ0VcIiwgXCJSRUpFVFNFQU5DRVwiXSxcbiAgVHlwZUNvcnJlY3Rpb246IFtcIlJlY3RpZmnDqVwiXSxcbiAgRG9jdW1lbnREZW5vbWluYXRpb25TdHJ1Y3R1cmVsbGU6IFtcbiAgICBcIkFsbG9jdXRpb25cIixcbiAgICBcIkF2aXNcIixcbiAgICBcIkTDqWNsYXJhdGlvblwiLFxuICAgIFwiTGV0dHJlXCIsXG4gICAgXCJNZXNzYWdlXCIsXG4gICAgXCJQcm9qZXQgZGUgbG9pXCIsXG4gICAgXCJQcm9wb3NpdGlvbiBkZSBsb2lcIixcbiAgICBcIlByb3Bvc2l0aW9uIGRlIHLDqXNvbHV0aW9uXCIsXG4gICAgXCJSYXBwb3J0XCIsXG4gICAgXCJSYXBwb3J0IGQnaW5mb3JtYXRpb25cIixcbiAgICBcIlLDqXNvbHV0aW9uXCIsXG4gIF0sXG4gIFByb3ZlbmFuY2U6IFtcIkNvbW1pc3Npb25cIiwgXCJTw6lhbmNlXCIsIFwiVGV4dGUgRMOpcG9zw6lcIl0sXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO1NBT0VBLGUsRUFDQUMsZSxFQUNBQyxlLEVBQ0FDLGU7QUFzQkYsV0FBWUMsMkJBQVo7O1dBQVlBLDJCO0VBQUFBLDJCO0VBQUFBLDJCO0VBQUFBLDJCO0VBQUFBLDJCO0VBQUFBLDJCO0VBQUFBLDJCO0dBQUFBLDJCLEtBQUFBLDJCOztB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
|