@tricoteuses/assemblee 1.7.2 → 1.7.3

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.
@@ -7,13 +7,8 @@ import util from "util";
7
7
  import * as git from "../git.mjs";
8
8
  import { iterLoadAssembleeActeurs } from "../loaders.mjs";
9
9
  import { CodeTypeOrgane, TypeMandat } from "../types/acteurs_et_organes.mjs";
10
- import { cloneOption, commitOption, remoteOption, silentOption, dataDirDefaultOption, pullOption, fetchOption } from "./shared/cli_helpers.mjs";
11
- const optionsDefinitions = [cloneOption, commitOption, remoteOption, silentOption, dataDirDefaultOption, pullOption, fetchOption, {
12
- alias: "l",
13
- defaultValue: "16",
14
- name: "legislature",
15
- type: String
16
- }, {
10
+ import { cloneOption, commitOption, remoteOption, silentOption, dataDirDefaultOption, pullOption, legislatureOption, fetchOption } from "./shared/cli_helpers.mjs";
11
+ const optionsDefinitions = [cloneOption, commitOption, remoteOption, silentOption, dataDirDefaultOption, pullOption, fetchOption, legislatureOption, {
17
12
  alias: "w",
18
13
  defaultValue: 150,
19
14
  name: "width",
@@ -25,36 +20,86 @@ const optionsDefinitions = [cloneOption, commitOption, remoteOption, silentOptio
25
20
  type: Number
26
21
  }];
27
22
  const options = commandLineArgs(optionsDefinitions);
28
- const pipeline = util.promisify(stream.pipeline);
29
23
  export function cloneAndUpdateGitRepository(photosDirName, options) {
30
24
  const gitGroupUrl = options.clone ? options.clone.trim().replace(/\/+$/, "") : undefined;
31
25
  const photosDir = path.join(options.dataDir, photosDirName);
32
- if (gitGroupUrl !== undefined) {
33
- execSync(`git clone ${gitGroupUrl}/${photosDirName}.git`, {
34
- cwd: options.dataDir,
35
- env: process.env,
36
- encoding: "utf-8",
37
- stdio: ["ignore", "ignore", "pipe"]
38
- });
39
- }
26
+ git.clone(gitGroupUrl, photosDirName, options.dataDir);
40
27
  if (options.pull) {
41
28
  git.resetAndPull(photosDir);
42
29
  }
43
30
  }
44
- export function resizePhoto(acteur, width, height, photosDir, options) {
31
+ export function resizePhoto(acteur, width, height, photosDir, photoFilename, options) {
45
32
  const ident = acteur.etatCivil.ident;
46
- const numeroActeur = acteur.uid.substring(2);
47
33
  if (!options.silent) {
48
- console.log(`Resizing photo ${numeroActeur} for ${ident.prenom} ${ident.nom}…`);
34
+ console.log(`Resizing photo ${photoFilename} for ${ident.prenom} ${ident.nom}…`);
35
+ }
36
+ execSync(`gm convert -resize ${width}x${height}! ${photoFilename}.jpg ${photoFilename}_${width}x${height}.jpg`, {
37
+ cwd: photosDir
38
+ });
39
+ }
40
+ export async function downloadPhoto(urlPhoto, photoTempFilePath, photoFilePath, missingPhotoFilePath, retries = 3) {
41
+ const pipeline = util.promisify(stream.pipeline);
42
+ for (let attempt = 1; attempt <= retries; attempt++) {
43
+ try {
44
+ const response = await fetch(urlPhoto);
45
+ if (response.ok) {
46
+ await pipeline(response.body, fs.createWriteStream(photoTempFilePath));
47
+ fs.renameSync(photoTempFilePath, photoFilePath);
48
+ return;
49
+ }
50
+ console.warn(`Fetch failed: ${urlPhoto} (Attempt ${attempt}) - Status: ${response.status} ${response.statusText}`);
51
+ } catch (error) {
52
+ console.log(error);
53
+ console.warn(`Attempt ${attempt} failed for ${urlPhoto}`, error);
54
+ }
55
+ }
56
+ if (fs.existsSync(photoFilePath)) {
57
+ console.warn(`Reusing existing image: ${photoFilePath}`);
58
+ } else {
59
+ console.warn(`Using blank image: ${missingPhotoFilePath}`);
60
+ fs.copyFileSync(missingPhotoFilePath, photoFilePath);
61
+ }
62
+ }
63
+ export function createMosaic(acteurUids, photosDir, photosWidth, photosHeight, mosaicFilename) {
64
+ const photoByIdActeur = {};
65
+ const rowsFilenames = [];
66
+ if (acteurUids.length === 0) return;
67
+ for (let acteurIndex = 0, rowIndex = 0; acteurIndex < acteurUids.length; acteurIndex += 25, rowIndex++) {
68
+ const row = acteurUids.slice(acteurIndex, acteurIndex + 25);
69
+ const photosFilenames = row.map((acteurUid, columnIndex) => {
70
+ const photoFilename = `${acteurUid}_${photosWidth}x${photosHeight}.jpg`;
71
+ photoByIdActeur[acteurUid] = {
72
+ chemin: `${photosDir}/${photoFilename}`,
73
+ cheminMosaique: `${photosDir}/${mosaicFilename}.jpg`,
74
+ largeur: photosWidth,
75
+ hauteur: photosHeight,
76
+ xMosaique: columnIndex * photosWidth,
77
+ yMosaique: rowIndex * photosHeight
78
+ };
79
+ return photoFilename;
80
+ });
81
+ const rowFilename = `row-${rowIndex}.jpg`;
82
+ execSync(`gm convert ${photosFilenames.join(' ')} +append ${rowFilename}`, {
83
+ cwd: photosDir
84
+ });
85
+ rowsFilenames.push(rowFilename);
49
86
  }
50
- execSync(`gm convert -resize ${width}x${height}! ${numeroActeur}.jpg ${numeroActeur}_${width}x${height}.jpg`, {
87
+
88
+ // Combine all rows into one image
89
+ execSync(`gm convert ${rowsFilenames.join(' ')} -append ${mosaicFilename}.jpg`, {
51
90
  cwd: photosDir
52
91
  });
92
+
93
+ // Cleanup individual row images
94
+ rowsFilenames.forEach(rowFilename => {
95
+ fs.unlinkSync(path.join(photosDir, rowFilename));
96
+ });
97
+ const jsonFilePath = path.join(photosDir, `${mosaicFilename}.json`);
98
+ fs.writeFileSync(jsonFilePath, JSON.stringify(photoByIdActeur, null, 2));
53
99
  }
54
100
  async function retrievePhotosDeputes() {
55
101
  const dataDir = options.dataDir;
56
- const photosPrefix = "photos_deputes";
57
- const photosDirName = `${photosPrefix}_${options.legislature}`;
102
+ const photosDirName = `photos_deputes${options.legislature ? "_" + options.legislature.toString() : ""}`;
58
103
  const photosDir = path.join(dataDir, photosDirName);
59
104
  const photosWidth = options.width;
60
105
  const photosHeight = options.height;
@@ -70,20 +115,14 @@ async function retrievePhotosDeputes() {
70
115
  const {
71
116
  mandats
72
117
  } = acteur;
73
- if (!mandats) {
74
- continue;
75
- }
76
- const mandatDeputeLegislature = mandats.filter(mandat => {
77
- return mandat.xsiType === TypeMandat.MandatParlementaireType && mandat.legislature === options.legislature && mandat.typeOrgane === CodeTypeOrgane.Assemblee;
78
- })[0];
79
- if (mandatDeputeLegislature === undefined) {
80
- continue;
81
- }
118
+ if (!mandats) continue;
119
+ const mandatDepute = mandats.find(mandat => mandat.xsiType === TypeMandat.MandatParlementaireType && mandat.legislature === options.legislature?.toString() && mandat.typeOrgane === CodeTypeOrgane.Assemblee);
120
+ if (!mandatDepute) continue;
121
+ const numeroDepute = acteur.uid.substring(2);
82
122
 
83
123
  // Download photos.
84
124
  if (options.fetch) {
85
125
  const ident = acteur.etatCivil.ident;
86
- const numeroDepute = acteur.uid.substring(2);
87
126
  const photoFilename = `${numeroDepute}.jpg`;
88
127
  const photoFilePath = path.join(photosDir, photoFilename);
89
128
  const photoTempFilename = `${numeroDepute}_temp.jpg`;
@@ -92,66 +131,12 @@ async function retrievePhotosDeputes() {
92
131
  if (!options.silent) {
93
132
  console.log(`Loading photo ${urlPhoto} for ${ident.prenom} ${ident.nom}…`);
94
133
  }
95
- for (let retries = 0; retries < 3; retries++) {
96
- const response = await fetch(urlPhoto);
97
- if (response.ok) {
98
- await pipeline(response.body, fs.createWriteStream(photoTempFilePath));
99
- fs.renameSync(photoTempFilePath, photoFilePath);
100
- break;
101
- }
102
- if (retries >= 2) {
103
- console.warn(`Fetch failed: ${urlPhoto} (${ident.prenom} ${ident.nom})`);
104
- console.warn(response.status, response.statusText);
105
- console.warn(await response.text());
106
- if (fs.existsSync(photoFilePath)) {
107
- console.warn(" => Reusing existing image");
108
- } else {
109
- console.warn(" => Using blank image");
110
- fs.copyFileSync(missingPhotoFilePath, photoFilePath);
111
- }
112
- break;
113
- }
114
- }
115
-
116
- // Resize photos to 150x192, because some haven't exactly this size.
117
- resizePhoto(acteur, photosWidth, photosHeight, photosDir, options);
118
- }
119
- acteurUids.push(acteur.uid);
120
- }
121
-
122
- // Create a mosaic of photos.
123
- const photoByIdDepute = {};
124
- const rowsFilenames = [];
125
- for (let acteurIndex = 0, rowIndex = 0; acteurIndex < acteurUids.length; acteurIndex += 25, rowIndex++) {
126
- const row = acteurUids.slice(acteurIndex, acteurIndex + 25);
127
- const photosFilenames = [];
128
- for (const [columnIndex, acteurUid] of row.entries()) {
129
- const numeroDepute = acteurUid.substring(2);
130
- const photoFilename = `${numeroDepute}_${photosWidth}x${photosHeight}.jpg`;
131
- photosFilenames.push(photoFilename);
132
- photoByIdDepute[acteurUid] = {
133
- chemin: `${photosPrefix}_${options.legislature}/${photoFilename}`,
134
- cheminMosaique: `${photosPrefix}_${options.legislature}/deputes.jpg`,
135
- largeur: photosWidth,
136
- hauteur: photosHeight,
137
- xMosaique: columnIndex * photosWidth,
138
- yMosaique: rowIndex * photosHeight
139
- };
134
+ await downloadPhoto(urlPhoto, photoTempFilePath, photoFilePath, missingPhotoFilePath);
135
+ resizePhoto(acteur, photosWidth, photosHeight, photosDir, numeroDepute, options);
140
136
  }
141
- const rowFilename = `row-${rowIndex}.jpg`;
142
- execSync(`gm convert ${photosFilenames.join(" ")} +append ${rowFilename}`, {
143
- cwd: photosDir
144
- });
145
- rowsFilenames.push(rowFilename);
146
- }
147
- execSync(`gm convert ${rowsFilenames.join(" ")} -append deputes.jpg`, {
148
- cwd: photosDir
149
- });
150
- for (const rowFilename of rowsFilenames) {
151
- fs.unlinkSync(path.join(photosDir, rowFilename));
137
+ acteurUids.push(numeroDepute);
152
138
  }
153
- const jsonFilePath = path.join(photosDir, "deputes.json");
154
- fs.writeFileSync(jsonFilePath, JSON.stringify(photoByIdDepute, null, 2));
139
+ createMosaic(acteurUids, photosDir, photosWidth, photosHeight, 'deputes');
155
140
  if (options.commit) {
156
141
  return git.commitAndPush(photosDir, "Nouvelle moisson", options.remote);
157
142
  }
@@ -161,4 +146,4 @@ retrievePhotosDeputes().then(exitCode => process.exit(exitCode)).catch(error =>
161
146
  console.log(error);
162
147
  process.exit(1);
163
148
  });
164
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleGVjU3luYyIsImNvbW1hbmRMaW5lQXJncyIsImZzIiwicGF0aCIsInN0cmVhbSIsInV0aWwiLCJnaXQiLCJpdGVyTG9hZEFzc2VtYmxlZUFjdGV1cnMiLCJDb2RlVHlwZU9yZ2FuZSIsIlR5cGVNYW5kYXQiLCJjbG9uZU9wdGlvbiIsImNvbW1pdE9wdGlvbiIsInJlbW90ZU9wdGlvbiIsInNpbGVudE9wdGlvbiIsImRhdGFEaXJEZWZhdWx0T3B0aW9uIiwicHVsbE9wdGlvbiIsImZldGNoT3B0aW9uIiwib3B0aW9uc0RlZmluaXRpb25zIiwiYWxpYXMiLCJkZWZhdWx0VmFsdWUiLCJuYW1lIiwidHlwZSIsIlN0cmluZyIsIk51bWJlciIsIm9wdGlvbnMiLCJwaXBlbGluZSIsInByb21pc2lmeSIsImNsb25lQW5kVXBkYXRlR2l0UmVwb3NpdG9yeSIsInBob3Rvc0Rpck5hbWUiLCJnaXRHcm91cFVybCIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJwaG90b3NEaXIiLCJqb2luIiwiZGF0YURpciIsImN3ZCIsImVudiIsInByb2Nlc3MiLCJlbmNvZGluZyIsInN0ZGlvIiwicHVsbCIsInJlc2V0QW5kUHVsbCIsInJlc2l6ZVBob3RvIiwiYWN0ZXVyIiwid2lkdGgiLCJoZWlnaHQiLCJpZGVudCIsImV0YXRDaXZpbCIsIm51bWVyb0FjdGV1ciIsInVpZCIsInN1YnN0cmluZyIsInNpbGVudCIsImNvbnNvbGUiLCJsb2ciLCJwcmVub20iLCJub20iLCJyZXRyaWV2ZVBob3Rvc0RlcHV0ZXMiLCJwaG90b3NQcmVmaXgiLCJsZWdpc2xhdHVyZSIsInBob3Rvc1dpZHRoIiwicGhvdG9zSGVpZ2h0IiwibWlzc2luZ1Bob3RvRmlsZVBhdGgiLCJlbnN1cmVEaXJTeW5jIiwiYWN0ZXVyVWlkcyIsIm5vVmFsaWRhdGlvbiIsIm1hbmRhdHMiLCJtYW5kYXREZXB1dGVMZWdpc2xhdHVyZSIsImZpbHRlciIsIm1hbmRhdCIsInhzaVR5cGUiLCJNYW5kYXRQYXJsZW1lbnRhaXJlVHlwZSIsInR5cGVPcmdhbmUiLCJBc3NlbWJsZWUiLCJmZXRjaCIsIm51bWVyb0RlcHV0ZSIsInBob3RvRmlsZW5hbWUiLCJwaG90b0ZpbGVQYXRoIiwicGhvdG9UZW1wRmlsZW5hbWUiLCJwaG90b1RlbXBGaWxlUGF0aCIsInVybFBob3RvIiwicmV0cmllcyIsInJlc3BvbnNlIiwib2siLCJib2R5IiwiY3JlYXRlV3JpdGVTdHJlYW0iLCJyZW5hbWVTeW5jIiwid2FybiIsInN0YXR1cyIsInN0YXR1c1RleHQiLCJ0ZXh0IiwiZXhpc3RzU3luYyIsImNvcHlGaWxlU3luYyIsInB1c2giLCJwaG90b0J5SWREZXB1dGUiLCJyb3dzRmlsZW5hbWVzIiwiYWN0ZXVySW5kZXgiLCJyb3dJbmRleCIsImxlbmd0aCIsInJvdyIsInNsaWNlIiwicGhvdG9zRmlsZW5hbWVzIiwiY29sdW1uSW5kZXgiLCJhY3RldXJVaWQiLCJlbnRyaWVzIiwiY2hlbWluIiwiY2hlbWluTW9zYWlxdWUiLCJsYXJnZXVyIiwiaGF1dGV1ciIsInhNb3NhaXF1ZSIsInlNb3NhaXF1ZSIsInJvd0ZpbGVuYW1lIiwidW5saW5rU3luYyIsImpzb25GaWxlUGF0aCIsIndyaXRlRmlsZVN5bmMiLCJKU09OIiwic3RyaW5naWZ5IiwiY29tbWl0IiwiY29tbWl0QW5kUHVzaCIsInJlbW90ZSIsInRoZW4iLCJleGl0Q29kZSIsImV4aXQiLCJjYXRjaCIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmV0cmlldmVfZGVwdXRlc19waG90b3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgY29tbWFuZExpbmVBcmdzIGZyb20gXCJjb21tYW5kLWxpbmUtYXJnc1wiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCBzdHJlYW0gZnJvbSBcInN0cmVhbVwiXG5pbXBvcnQgdXRpbCBmcm9tIFwidXRpbFwiXG5pbXBvcnQgKiBhcyBnaXQgZnJvbSBcIi4uL2dpdFwiXG5cbmltcG9ydCB7IGl0ZXJMb2FkQXNzZW1ibGVlQWN0ZXVycyB9IGZyb20gXCIuLi9sb2FkZXJzXCJcbmltcG9ydCB7XG4gIEFjdGV1cixcbiAgQ29kZVR5cGVPcmdhbmUsXG4gIE1hbmRhdCxcbiAgUGhvdG8sXG4gIFR5cGVNYW5kYXQsXG59IGZyb20gXCIuLi90eXBlcy9hY3RldXJzX2V0X29yZ2FuZXNcIlxuaW1wb3J0IHtcbiAgY2xvbmVPcHRpb24sXG4gIGNvbW1pdE9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBwdWxsT3B0aW9uLFxuICBmZXRjaE9wdGlvbixcbn0gZnJvbSBcIi4vc2hhcmVkL2NsaV9oZWxwZXJzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIHB1bGxPcHRpb24sXG4gIGZldGNoT3B0aW9uLFxuICB7XG4gICAgYWxpYXM6IFwibFwiLFxuICAgIGRlZmF1bHRWYWx1ZTogXCIxNlwiLFxuICAgIG5hbWU6IFwibGVnaXNsYXR1cmVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJ3XCIsXG4gICAgZGVmYXVsdFZhbHVlOiAxNTAsXG4gICAgbmFtZTogXCJ3aWR0aFwiLFxuICAgIHR5cGU6IE51bWJlcixcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcImhcIixcbiAgICBkZWZhdWx0VmFsdWU6IDE5MixcbiAgICBuYW1lOiBcImhlaWdodFwiLFxuICAgIHR5cGU6IE51bWJlcixcbiAgfSxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuY29uc3QgcGlwZWxpbmUgPSB1dGlsLnByb21pc2lmeShzdHJlYW0ucGlwZWxpbmUpXG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9uZUFuZFVwZGF0ZUdpdFJlcG9zaXRvcnkoXG4gIHBob3Rvc0Rpck5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogYW55LFxuKTogdm9pZCB7XG4gIGNvbnN0IGdpdEdyb3VwVXJsID0gb3B0aW9ucy5jbG9uZVxuICAgID8gb3B0aW9ucy5jbG9uZS50cmltKCkucmVwbGFjZSgvXFwvKyQvLCBcIlwiKVxuICAgIDogdW5kZWZpbmVkXG4gIGNvbnN0IHBob3Rvc0RpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIHBob3Rvc0Rpck5hbWUpXG5cbiAgaWYgKGdpdEdyb3VwVXJsICE9PSB1bmRlZmluZWQpIHtcbiAgICBleGVjU3luYyhgZ2l0IGNsb25lICR7Z2l0R3JvdXBVcmx9LyR7cGhvdG9zRGlyTmFtZX0uZ2l0YCwge1xuICAgICAgY3dkOiBvcHRpb25zLmRhdGFEaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgZW5jb2Rpbmc6IFwidXRmLThcIixcbiAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJpZ25vcmVcIiwgXCJwaXBlXCJdLFxuICAgIH0pXG4gIH1cblxuICBpZiAob3B0aW9ucy5wdWxsKSB7XG4gICAgZ2l0LnJlc2V0QW5kUHVsbChwaG90b3NEaXIpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc2l6ZVBob3RvKFxuICBhY3RldXI6IEFjdGV1cixcbiAgd2lkdGg6IG51bWJlcixcbiAgaGVpZ2h0OiBudW1iZXIsXG4gIHBob3Rvc0Rpcjogc3RyaW5nLFxuICBvcHRpb25zOiBhbnksXG4pOiB2b2lkIHtcbiAgY29uc3QgaWRlbnQgPSBhY3RldXIuZXRhdENpdmlsLmlkZW50XG4gIGNvbnN0IG51bWVyb0FjdGV1ciA9IGFjdGV1ci51aWQuc3Vic3RyaW5nKDIpXG4gIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIGBSZXNpemluZyBwaG90byAke251bWVyb0FjdGV1cn0gZm9yICR7aWRlbnQucHJlbm9tfSAke2lkZW50Lm5vbX3igKZgLFxuICAgIClcbiAgfVxuICBleGVjU3luYyhcbiAgICBgZ20gY29udmVydCAtcmVzaXplICR7d2lkdGh9eCR7aGVpZ2h0fSEgJHtudW1lcm9BY3RldXJ9LmpwZyAke251bWVyb0FjdGV1cn1fJHt3aWR0aH14JHtoZWlnaHR9LmpwZ2AsXG4gICAge1xuICAgICAgY3dkOiBwaG90b3NEaXIsXG4gICAgfSxcbiAgKVxufVxuXG5hc3luYyBmdW5jdGlvbiByZXRyaWV2ZVBob3Rvc0RlcHV0ZXMoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgY29uc3QgZGF0YURpciA9IG9wdGlvbnMuZGF0YURpclxuICBjb25zdCBwaG90b3NQcmVmaXggPSBcInBob3Rvc19kZXB1dGVzXCJcbiAgY29uc3QgcGhvdG9zRGlyTmFtZSA9IGAke3Bob3Rvc1ByZWZpeH1fJHtvcHRpb25zLmxlZ2lzbGF0dXJlfWBcbiAgY29uc3QgcGhvdG9zRGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIHBob3Rvc0Rpck5hbWUpXG4gIGNvbnN0IHBob3Rvc1dpZHRoID0gb3B0aW9ucy53aWR0aFxuICBjb25zdCBwaG90b3NIZWlnaHQgPSBvcHRpb25zLmhlaWdodFxuICBjb25zdCBtaXNzaW5nUGhvdG9GaWxlUGF0aCA9IGBpbWFnZXMvdHJhbnNwYXJlbnRfJHtwaG90b3NXaWR0aH14JHtwaG90b3NIZWlnaHR9LmpwZ2BcblxuICBjbG9uZUFuZFVwZGF0ZUdpdFJlcG9zaXRvcnkocGhvdG9zRGlyTmFtZSwgb3B0aW9ucylcbiAgZnMuZW5zdXJlRGlyU3luYyhwaG90b3NEaXIpXG5cbiAgY29uc3QgYWN0ZXVyVWlkcyA9IFtdXG5cbiAgZm9yIChjb25zdCB7IGFjdGV1ciB9IG9mIGl0ZXJMb2FkQXNzZW1ibGVlQWN0ZXVycyhcbiAgICBkYXRhRGlyLFxuICAgIG9wdGlvbnMubGVnaXNsYXR1cmUsXG4gICAgeyBub1ZhbGlkYXRpb246IHRydWUgfSxcbiAgKSkge1xuICAgIGNvbnN0IHsgbWFuZGF0cyB9ID0gYWN0ZXVyXG4gICAgaWYgKCFtYW5kYXRzKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCBtYW5kYXREZXB1dGVMZWdpc2xhdHVyZSA9IG1hbmRhdHMuZmlsdGVyKChtYW5kYXQ6IE1hbmRhdCkgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgbWFuZGF0LnhzaVR5cGUgPT09IFR5cGVNYW5kYXQuTWFuZGF0UGFybGVtZW50YWlyZVR5cGUgJiZcbiAgICAgICAgbWFuZGF0LmxlZ2lzbGF0dXJlID09PSBvcHRpb25zLmxlZ2lzbGF0dXJlICYmXG4gICAgICAgIG1hbmRhdC50eXBlT3JnYW5lID09PSBDb2RlVHlwZU9yZ2FuZS5Bc3NlbWJsZWVcbiAgICAgIClcbiAgICB9KVswXVxuICAgIGlmIChtYW5kYXREZXB1dGVMZWdpc2xhdHVyZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIC8vIERvd25sb2FkIHBob3Rvcy5cbiAgICBpZiAob3B0aW9ucy5mZXRjaCkge1xuICAgICAgY29uc3QgaWRlbnQgPSBhY3RldXIuZXRhdENpdmlsLmlkZW50XG4gICAgICBjb25zdCBudW1lcm9EZXB1dGUgPSBhY3RldXIudWlkLnN1YnN0cmluZygyKVxuICAgICAgY29uc3QgcGhvdG9GaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX0uanBnYFxuICAgICAgY29uc3QgcGhvdG9GaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvRmlsZW5hbWUpXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX1fdGVtcC5qcGdgXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvVGVtcEZpbGVuYW1lKVxuICAgICAgY29uc3QgdXJsUGhvdG8gPSBgaHR0cDovL3d3dzIuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvdHJpYnVuLyR7b3B0aW9ucy5sZWdpc2xhdHVyZX0vcGhvdG9zLyR7cGhvdG9GaWxlbmFtZX1gXG4gICAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBMb2FkaW5nIHBob3RvICR7dXJsUGhvdG99IGZvciAke2lkZW50LnByZW5vbX0gJHtpZGVudC5ub2194oCmYCxcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgZm9yIChsZXQgcmV0cmllcyA9IDA7IHJldHJpZXMgPCAzOyByZXRyaWVzKyspIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmxQaG90bylcbiAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgYXdhaXQgcGlwZWxpbmUoXG4gICAgICAgICAgICByZXNwb25zZS5ib2R5IGFzIHVua25vd24gYXMgTm9kZUpTLlJlYWRhYmxlU3RyZWFtLFxuICAgICAgICAgICAgZnMuY3JlYXRlV3JpdGVTdHJlYW0ocGhvdG9UZW1wRmlsZVBhdGgpLFxuICAgICAgICAgIClcbiAgICAgICAgICBmcy5yZW5hbWVTeW5jKHBob3RvVGVtcEZpbGVQYXRoLCBwaG90b0ZpbGVQYXRoKVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJldHJpZXMgPj0gMikge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBGZXRjaCBmYWlsZWQ6ICR7dXJsUGhvdG99ICgke2lkZW50LnByZW5vbX0gJHtpZGVudC5ub219KWAsXG4gICAgICAgICAgKVxuICAgICAgICAgIGNvbnNvbGUud2FybihyZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLnN0YXR1c1RleHQpXG4gICAgICAgICAgY29uc29sZS53YXJuKGF3YWl0IHJlc3BvbnNlLnRleHQoKSlcbiAgICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhwaG90b0ZpbGVQYXRoKSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiICA9PiBSZXVzaW5nIGV4aXN0aW5nIGltYWdlXCIpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIiAgPT4gVXNpbmcgYmxhbmsgaW1hZ2VcIilcbiAgICAgICAgICAgIGZzLmNvcHlGaWxlU3luYyhtaXNzaW5nUGhvdG9GaWxlUGF0aCwgcGhvdG9GaWxlUGF0aClcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNpemUgcGhvdG9zIHRvIDE1MHgxOTIsIGJlY2F1c2Ugc29tZSBoYXZlbid0IGV4YWN0bHkgdGhpcyBzaXplLlxuICAgICAgcmVzaXplUGhvdG8oYWN0ZXVyLCBwaG90b3NXaWR0aCwgcGhvdG9zSGVpZ2h0LCBwaG90b3NEaXIsIG9wdGlvbnMpXG4gICAgfVxuXG4gICAgYWN0ZXVyVWlkcy5wdXNoKGFjdGV1ci51aWQpXG4gIH1cblxuICAvLyBDcmVhdGUgYSBtb3NhaWMgb2YgcGhvdG9zLlxuICBjb25zdCBwaG90b0J5SWREZXB1dGU6IHsgW3VpZDogc3RyaW5nXTogUGhvdG8gfSA9IHt9XG4gIGNvbnN0IHJvd3NGaWxlbmFtZXM6IHN0cmluZ1tdID0gW11cbiAgZm9yIChcbiAgICBsZXQgYWN0ZXVySW5kZXggPSAwLCByb3dJbmRleCA9IDA7XG4gICAgYWN0ZXVySW5kZXggPCBhY3RldXJVaWRzLmxlbmd0aDtcbiAgICBhY3RldXJJbmRleCArPSAyNSwgcm93SW5kZXgrK1xuICApIHtcbiAgICBjb25zdCByb3cgPSBhY3RldXJVaWRzLnNsaWNlKGFjdGV1ckluZGV4LCBhY3RldXJJbmRleCArIDI1KVxuICAgIGNvbnN0IHBob3Rvc0ZpbGVuYW1lczogc3RyaW5nW10gPSBbXVxuICAgIGZvciAoY29uc3QgW2NvbHVtbkluZGV4LCBhY3RldXJVaWRdIG9mIHJvdy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IG51bWVyb0RlcHV0ZSA9IGFjdGV1clVpZC5zdWJzdHJpbmcoMilcbiAgICAgIGNvbnN0IHBob3RvRmlsZW5hbWUgPSBgJHtudW1lcm9EZXB1dGV9XyR7cGhvdG9zV2lkdGh9eCR7cGhvdG9zSGVpZ2h0fS5qcGdgXG4gICAgICBwaG90b3NGaWxlbmFtZXMucHVzaChwaG90b0ZpbGVuYW1lKVxuICAgICAgcGhvdG9CeUlkRGVwdXRlW2FjdGV1clVpZF0gPSB7XG4gICAgICAgIGNoZW1pbjogYCR7cGhvdG9zUHJlZml4fV8ke29wdGlvbnMubGVnaXNsYXR1cmV9LyR7cGhvdG9GaWxlbmFtZX1gLFxuICAgICAgICBjaGVtaW5Nb3NhaXF1ZTogYCR7cGhvdG9zUHJlZml4fV8ke29wdGlvbnMubGVnaXNsYXR1cmV9L2RlcHV0ZXMuanBnYCxcbiAgICAgICAgbGFyZ2V1cjogcGhvdG9zV2lkdGgsXG4gICAgICAgIGhhdXRldXI6IHBob3Rvc0hlaWdodCxcbiAgICAgICAgeE1vc2FpcXVlOiBjb2x1bW5JbmRleCAqIHBob3Rvc1dpZHRoLFxuICAgICAgICB5TW9zYWlxdWU6IHJvd0luZGV4ICogcGhvdG9zSGVpZ2h0LFxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByb3dGaWxlbmFtZSA9IGByb3ctJHtyb3dJbmRleH0uanBnYFxuICAgIGV4ZWNTeW5jKGBnbSBjb252ZXJ0ICR7cGhvdG9zRmlsZW5hbWVzLmpvaW4oXCIgXCIpfSArYXBwZW5kICR7cm93RmlsZW5hbWV9YCwge1xuICAgICAgY3dkOiBwaG90b3NEaXIsXG4gICAgfSlcbiAgICByb3dzRmlsZW5hbWVzLnB1c2gocm93RmlsZW5hbWUpXG4gIH1cbiAgZXhlY1N5bmMoYGdtIGNvbnZlcnQgJHtyb3dzRmlsZW5hbWVzLmpvaW4oXCIgXCIpfSAtYXBwZW5kIGRlcHV0ZXMuanBnYCwge1xuICAgIGN3ZDogcGhvdG9zRGlyLFxuICB9KVxuICBmb3IgKGNvbnN0IHJvd0ZpbGVuYW1lIG9mIHJvd3NGaWxlbmFtZXMpIHtcbiAgICBmcy51bmxpbmtTeW5jKHBhdGguam9pbihwaG90b3NEaXIsIHJvd0ZpbGVuYW1lKSlcbiAgfVxuXG4gIGNvbnN0IGpzb25GaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIFwiZGVwdXRlcy5qc29uXCIpXG4gIGZzLndyaXRlRmlsZVN5bmMoanNvbkZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShwaG90b0J5SWREZXB1dGUsIG51bGwsIDIpKVxuXG4gIGlmIChvcHRpb25zLmNvbW1pdCkge1xuICAgIHJldHVybiBnaXQuY29tbWl0QW5kUHVzaChwaG90b3NEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgfVxuICByZXR1cm4gMFxufVxuXG5yZXRyaWV2ZVBob3Rvc0RlcHV0ZXMoKVxuICAudGhlbigoZXhpdENvZGUpID0+IHByb2Nlc3MuZXhpdChleGl0Q29kZSkpXG4gIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfSlcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsUUFBUSxRQUFRLGVBQWU7QUFDeEMsT0FBT0MsZUFBZSxNQUFNLG1CQUFtQjtBQUMvQyxPQUFPQyxFQUFFLE1BQU0sVUFBVTtBQUN6QixPQUFPQyxJQUFJLE1BQU0sTUFBTTtBQUN2QixPQUFPQyxNQUFNLE1BQU0sUUFBUTtBQUMzQixPQUFPQyxJQUFJLE1BQU0sTUFBTTtBQUFBLE9BQ2hCLEtBQUtDLEdBQUc7QUFBQSxTQUVOQyx3QkFBd0I7QUFBQSxTQUcvQkMsY0FBYyxFQUdkQyxVQUFVO0FBQUEsU0FHVkMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsWUFBWSxFQUNaQyxvQkFBb0IsRUFDcEJDLFVBQVUsRUFDVkMsV0FBVztBQUdiLE1BQU1DLGtCQUFrQixHQUFHLENBQ3pCUCxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsWUFBWSxFQUNaQyxZQUFZLEVBQ1pDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxXQUFXLEVB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
149
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleGVjU3luYyIsImNvbW1hbmRMaW5lQXJncyIsImZzIiwicGF0aCIsInN0cmVhbSIsInV0aWwiLCJnaXQiLCJpdGVyTG9hZEFzc2VtYmxlZUFjdGV1cnMiLCJDb2RlVHlwZU9yZ2FuZSIsIlR5cGVNYW5kYXQiLCJjbG9uZU9wdGlvbiIsImNvbW1pdE9wdGlvbiIsInJlbW90ZU9wdGlvbiIsInNpbGVudE9wdGlvbiIsImRhdGFEaXJEZWZhdWx0T3B0aW9uIiwicHVsbE9wdGlvbiIsImxlZ2lzbGF0dXJlT3B0aW9uIiwiZmV0Y2hPcHRpb24iLCJvcHRpb25zRGVmaW5pdGlvbnMiLCJhbGlhcyIsImRlZmF1bHRWYWx1ZSIsIm5hbWUiLCJ0eXBlIiwiTnVtYmVyIiwib3B0aW9ucyIsImNsb25lQW5kVXBkYXRlR2l0UmVwb3NpdG9yeSIsInBob3Rvc0Rpck5hbWUiLCJnaXRHcm91cFVybCIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJwaG90b3NEaXIiLCJqb2luIiwiZGF0YURpciIsInB1bGwiLCJyZXNldEFuZFB1bGwiLCJyZXNpemVQaG90byIsImFjdGV1ciIsIndpZHRoIiwiaGVpZ2h0IiwicGhvdG9GaWxlbmFtZSIsImlkZW50IiwiZXRhdENpdmlsIiwic2lsZW50IiwiY29uc29sZSIsImxvZyIsInByZW5vbSIsIm5vbSIsImN3ZCIsImRvd25sb2FkUGhvdG8iLCJ1cmxQaG90byIsInBob3RvVGVtcEZpbGVQYXRoIiwicGhvdG9GaWxlUGF0aCIsIm1pc3NpbmdQaG90b0ZpbGVQYXRoIiwicmV0cmllcyIsInBpcGVsaW5lIiwicHJvbWlzaWZ5IiwiYXR0ZW1wdCIsInJlc3BvbnNlIiwiZmV0Y2giLCJvayIsImJvZHkiLCJjcmVhdGVXcml0ZVN0cmVhbSIsInJlbmFtZVN5bmMiLCJ3YXJuIiwic3RhdHVzIiwic3RhdHVzVGV4dCIsImVycm9yIiwiZXhpc3RzU3luYyIsImNvcHlGaWxlU3luYyIsImNyZWF0ZU1vc2FpYyIsImFjdGV1clVpZHMiLCJwaG90b3NXaWR0aCIsInBob3Rvc0hlaWdodCIsIm1vc2FpY0ZpbGVuYW1lIiwicGhvdG9CeUlkQWN0ZXVyIiwicm93c0ZpbGVuYW1lcyIsImxlbmd0aCIsImFjdGV1ckluZGV4Iiwicm93SW5kZXgiLCJyb3ciLCJzbGljZSIsInBob3Rvc0ZpbGVuYW1lcyIsIm1hcCIsImFjdGV1clVpZCIsImNvbHVtbkluZGV4IiwiY2hlbWluIiwiY2hlbWluTW9zYWlxdWUiLCJsYXJnZXVyIiwiaGF1dGV1ciIsInhNb3NhaXF1ZSIsInlNb3NhaXF1ZSIsInJvd0ZpbGVuYW1lIiwicHVzaCIsImZvckVhY2giLCJ1bmxpbmtTeW5jIiwianNvbkZpbGVQYXRoIiwid3JpdGVGaWxlU3luYyIsIkpTT04iLCJzdHJpbmdpZnkiLCJyZXRyaWV2ZVBob3Rvc0RlcHV0ZXMiLCJsZWdpc2xhdHVyZSIsInRvU3RyaW5nIiwiZW5zdXJlRGlyU3luYyIsIm5vVmFsaWRhdGlvbiIsIm1hbmRhdHMiLCJtYW5kYXREZXB1dGUiLCJmaW5kIiwibWFuZGF0IiwieHNpVHlwZSIsIk1hbmRhdFBhcmxlbWVudGFpcmVUeXBlIiwidHlwZU9yZ2FuZSIsIkFzc2VtYmxlZSIsIm51bWVyb0RlcHV0ZSIsInVpZCIsInN1YnN0cmluZyIsInBob3RvVGVtcEZpbGVuYW1lIiwiY29tbWl0IiwiY29tbWl0QW5kUHVzaCIsInJlbW90ZSIsInRoZW4iLCJleGl0Q29kZSIsInByb2Nlc3MiLCJleGl0IiwiY2F0Y2giXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9yZXRyaWV2ZV9kZXB1dGVzX3Bob3Rvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCJcbmltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IHN0cmVhbSBmcm9tIFwic3RyZWFtXCJcbmltcG9ydCB1dGlsIGZyb20gXCJ1dGlsXCJcbmltcG9ydCAqIGFzIGdpdCBmcm9tIFwiLi4vZ2l0XCJcblxuaW1wb3J0IHsgaXRlckxvYWRBc3NlbWJsZWVBY3RldXJzIH0gZnJvbSBcIi4uL2xvYWRlcnNcIlxuaW1wb3J0IHtcbiAgQWN0ZXVyLFxuICBDb2RlVHlwZU9yZ2FuZSxcbiAgTWFuZGF0LFxuICBQaG90byxcbiAgVHlwZU1hbmRhdCxcbn0gZnJvbSBcIi4uL3R5cGVzL2FjdGV1cnNfZXRfb3JnYW5lc1wiXG5pbXBvcnQge1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIHB1bGxPcHRpb24sXG4gIGxlZ2lzbGF0dXJlT3B0aW9uLFxuICBmZXRjaE9wdGlvbixcbn0gZnJvbSBcIi4vc2hhcmVkL2NsaV9oZWxwZXJzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIHB1bGxPcHRpb24sXG4gIGZldGNoT3B0aW9uLFxuICBsZWdpc2xhdHVyZU9wdGlvbixcbiAge1xuICAgIGFsaWFzOiBcIndcIixcbiAgICBkZWZhdWx0VmFsdWU6IDE1MCxcbiAgICBuYW1lOiBcIndpZHRoXCIsXG4gICAgdHlwZTogTnVtYmVyLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiaFwiLFxuICAgIGRlZmF1bHRWYWx1ZTogMTkyLFxuICAgIG5hbWU6IFwiaGVpZ2h0XCIsXG4gICAgdHlwZTogTnVtYmVyLFxuICB9LFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9uZUFuZFVwZGF0ZUdpdFJlcG9zaXRvcnkoXG4gIHBob3Rvc0Rpck5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogYW55LFxuKTogdm9pZCB7XG4gIGNvbnN0IGdpdEdyb3VwVXJsID0gb3B0aW9ucy5jbG9uZVxuICAgID8gb3B0aW9ucy5jbG9uZS50cmltKCkucmVwbGFjZSgvXFwvKyQvLCBcIlwiKVxuICAgIDogdW5kZWZpbmVkXG4gIGNvbnN0IHBob3Rvc0RpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIHBob3Rvc0Rpck5hbWUpXG4gIGdpdC5jbG9uZShnaXRHcm91cFVybCwgcGhvdG9zRGlyTmFtZSwgb3B0aW9ucy5kYXRhRGlyKVxuXG4gIGlmIChvcHRpb25zLnB1bGwpIHtcbiAgICBnaXQucmVzZXRBbmRQdWxsKHBob3Rvc0RpcilcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzaXplUGhvdG8oXG4gIGFjdGV1cjogQWN0ZXVyLFxuICB3aWR0aDogbnVtYmVyLFxuICBoZWlnaHQ6IG51bWJlcixcbiAgcGhvdG9zRGlyOiBzdHJpbmcsXG4gIHBob3RvRmlsZW5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogYW55LFxuKTogdm9pZCB7XG4gIGNvbnN0IGlkZW50ID0gYWN0ZXVyLmV0YXRDaXZpbC5pZGVudFxuICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBgUmVzaXppbmcgcGhvdG8gJHtwaG90b0ZpbGVuYW1lfSBmb3IgJHtpZGVudC5wcmVub219ICR7aWRlbnQubm9tfeKApmAsXG4gICAgKVxuICB9XG4gIGV4ZWNTeW5jKFxuICAgIGBnbSBjb252ZXJ0IC1yZXNpemUgJHt3aWR0aH14JHtoZWlnaHR9ISAke3Bob3RvRmlsZW5hbWV9LmpwZyAke3Bob3RvRmlsZW5hbWV9XyR7d2lkdGh9eCR7aGVpZ2h0fS5qcGdgLFxuICAgIHtcbiAgICAgIGN3ZDogcGhvdG9zRGlyLFxuICAgIH0sXG4gIClcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvd25sb2FkUGhvdG8oXG4gIHVybFBob3RvOiBzdHJpbmcsXG4gIHBob3RvVGVtcEZpbGVQYXRoOiBzdHJpbmcsXG4gIHBob3RvRmlsZVBhdGg6IHN0cmluZyxcbiAgbWlzc2luZ1Bob3RvRmlsZVBhdGg6IHN0cmluZyxcbiAgcmV0cmllczogbnVtYmVyID0gMyxcbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBwaXBlbGluZSA9IHV0aWwucHJvbWlzaWZ5KHN0cmVhbS5waXBlbGluZSlcblxuICBmb3IgKGxldCBhdHRlbXB0ID0gMTsgYXR0ZW1wdCA8PSByZXRyaWVzOyBhdHRlbXB0KyspIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmxQaG90bylcblxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgIGF3YWl0IHBpcGVsaW5lKFxuICAgICAgICAgIHJlc3BvbnNlLmJvZHkgYXMgdW5rbm93biBhcyBOb2RlSlMuUmVhZGFibGVTdHJlYW0sXG4gICAgICAgICAgZnMuY3JlYXRlV3JpdGVTdHJlYW0ocGhvdG9UZW1wRmlsZVBhdGgpLFxuICAgICAgICApXG4gICAgICAgIGZzLnJlbmFtZVN5bmMocGhvdG9UZW1wRmlsZVBhdGgsIHBob3RvRmlsZVBhdGgpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zb2xlLndhcm4oYEZldGNoIGZhaWxlZDogJHt1cmxQaG90b30gKEF0dGVtcHQgJHthdHRlbXB0fSkgLSBTdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfSAke3Jlc3BvbnNlLnN0YXR1c1RleHR9YClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgICBjb25zb2xlLndhcm4oYEF0dGVtcHQgJHthdHRlbXB0fSBmYWlsZWQgZm9yICR7dXJsUGhvdG99YCwgZXJyb3IpXG4gICAgfVxuICB9XG5cbiAgaWYgKGZzLmV4aXN0c1N5bmMocGhvdG9GaWxlUGF0aCkpIHtcbiAgICBjb25zb2xlLndhcm4oYFJldXNpbmcgZXhpc3RpbmcgaW1hZ2U6ICR7cGhvdG9GaWxlUGF0aH1gKVxuICB9IGVsc2Uge1xuICAgIGNvbnNvbGUud2FybihgVXNpbmcgYmxhbmsgaW1hZ2U6ICR7bWlzc2luZ1Bob3RvRmlsZVBhdGh9YClcbiAgICBmcy5jb3B5RmlsZVN5bmMobWlzc2luZ1Bob3RvRmlsZVBhdGgsIHBob3RvRmlsZVBhdGgpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1vc2FpYyhcbiAgYWN0ZXVyVWlkczogc3RyaW5nW10sXG4gIHBob3Rvc0Rpcjogc3RyaW5nLFxuICBwaG90b3NXaWR0aDogbnVtYmVyLFxuICBwaG90b3NIZWlnaHQ6IG51bWJlcixcbiAgbW9zYWljRmlsZW5hbWU6IHN0cmluZ1xuKTogdm9pZCB7XG4gIGNvbnN0IHBob3RvQnlJZEFjdGV1cjogeyBbdWlkOiBzdHJpbmddOiBQaG90byB9ID0ge307XG4gIGNvbnN0IHJvd3NGaWxlbmFtZXM6IHN0cmluZ1tdID0gW107XG5cbiAgaWYoYWN0ZXVyVWlkcy5sZW5ndGggPT09IDApIHJldHVyblxuXG4gIGZvciAobGV0IGFjdGV1ckluZGV4ID0gMCwgcm93SW5kZXggPSAwOyBhY3RldXJJbmRleCA8IGFjdGV1clVpZHMubGVuZ3RoOyBhY3RldXJJbmRleCArPSAyNSwgcm93SW5kZXgrKykge1xuICAgIGNvbnN0IHJvdyA9IGFjdGV1clVpZHMuc2xpY2UoYWN0ZXVySW5kZXgsIGFjdGV1ckluZGV4ICsgMjUpO1xuICAgIGNvbnN0IHBob3Rvc0ZpbGVuYW1lczogc3RyaW5nW10gPSByb3cubWFwKChhY3RldXJVaWQsIGNvbHVtbkluZGV4KSA9PiB7XG4gICAgICBjb25zdCBwaG90b0ZpbGVuYW1lID0gYCR7YWN0ZXVyVWlkfV8ke3Bob3Rvc1dpZHRofXgke3Bob3Rvc0hlaWdodH0uanBnYDtcbiAgICAgIHBob3RvQnlJZEFjdGV1clthY3RldXJVaWRdID0ge1xuICAgICAgICBjaGVtaW46IGAke3Bob3Rvc0Rpcn0vJHtwaG90b0ZpbGVuYW1lfWAsXG4gICAgICAgIGNoZW1pbk1vc2FpcXVlOiBgJHtwaG90b3NEaXJ9LyR7bW9zYWljRmlsZW5hbWV9LmpwZ2AsXG4gICAgICAgIGxhcmdldXI6IHBob3Rvc1dpZHRoLFxuICAgICAgICBoYXV0ZXVyOiBwaG90b3NIZWlnaHQsXG4gICAgICAgIHhNb3NhaXF1ZTogY29sdW1uSW5kZXggKiBwaG90b3NXaWR0aCxcbiAgICAgICAgeU1vc2FpcXVlOiByb3dJbmRleCAqIHBob3Rvc0hlaWdodCxcbiAgICAgIH07XG4gICAgICByZXR1cm4gcGhvdG9GaWxlbmFtZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHJvd0ZpbGVuYW1lID0gYHJvdy0ke3Jvd0luZGV4fS5qcGdgO1xuICAgIGV4ZWNTeW5jKGBnbSBjb252ZXJ0ICR7cGhvdG9zRmlsZW5hbWVzLmpvaW4oJyAnKX0gK2FwcGVuZCAke3Jvd0ZpbGVuYW1lfWAsIHsgY3dkOiBwaG90b3NEaXIgfSk7XG4gICAgcm93c0ZpbGVuYW1lcy5wdXNoKHJvd0ZpbGVuYW1lKTtcbiAgfVxuXG4gIC8vIENvbWJpbmUgYWxsIHJvd3MgaW50byBvbmUgaW1hZ2VcbiAgZXhlY1N5bmMoYGdtIGNvbnZlcnQgJHtyb3dzRmlsZW5hbWVzLmpvaW4oJyAnKX0gLWFwcGVuZCAke21vc2FpY0ZpbGVuYW1lfS5qcGdgLCB7IGN3ZDogcGhvdG9zRGlyIH0pO1xuXG4gIC8vIENsZWFudXAgaW5kaXZpZHVhbCByb3cgaW1hZ2VzXG4gIHJvd3NGaWxlbmFtZXMuZm9yRWFjaChyb3dGaWxlbmFtZSA9PiB7XG4gICAgZnMudW5saW5rU3luYyhwYXRoLmpvaW4ocGhvdG9zRGlyLCByb3dGaWxlbmFtZSkpO1xuICB9KTtcblxuICBjb25zdCBqc29uRmlsZVBhdGggPSBwYXRoLmpvaW4ocGhvdG9zRGlyLCBgJHttb3NhaWNGaWxlbmFtZX0uanNvbmApO1xuICBmcy53cml0ZUZpbGVTeW5jKGpzb25GaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkocGhvdG9CeUlkQWN0ZXVyLCBudWxsLCAyKSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJldHJpZXZlUGhvdG9zRGVwdXRlcygpOiBQcm9taXNlPG51bWJlcj4ge1xuICBjb25zdCBkYXRhRGlyID0gb3B0aW9ucy5kYXRhRGlyXG4gIGNvbnN0IHBob3Rvc0Rpck5hbWUgPSBgcGhvdG9zX2RlcHV0ZXMke29wdGlvbnMubGVnaXNsYXR1cmUgPyBcIl9cIiArIG9wdGlvbnMubGVnaXNsYXR1cmUudG9TdHJpbmcoKTogXCJcIn1gXG4gIGNvbnN0IHBob3Rvc0RpciA9IHBhdGguam9pbihkYXRhRGlyLCBwaG90b3NEaXJOYW1lKVxuICBjb25zdCBwaG90b3NXaWR0aCA9IG9wdGlvbnMud2lkdGhcbiAgY29uc3QgcGhvdG9zSGVpZ2h0ID0gb3B0aW9ucy5oZWlnaHRcbiAgY29uc3QgbWlzc2luZ1Bob3RvRmlsZVBhdGggPSBgaW1hZ2VzL3RyYW5zcGFyZW50XyR7cGhvdG9zV2lkdGh9eCR7cGhvdG9zSGVpZ2h0fS5qcGdgXG5cbiAgY2xvbmVBbmRVcGRhdGVHaXRSZXBvc2l0b3J5KHBob3Rvc0Rpck5hbWUsIG9wdGlvbnMpXG4gIGZzLmVuc3VyZURpclN5bmMocGhvdG9zRGlyKVxuXG4gIGNvbnN0IGFjdGV1clVpZHMgPSBbXVxuICBmb3IgKGNvbnN0IHsgYWN0ZXVyIH0gb2YgaXRlckxvYWRBc3NlbWJsZWVBY3RldXJzKFxuICAgIGRhdGFEaXIsXG4gICAgb3B0aW9ucy5sZWdpc2xhdHVyZSxcbiAgICB7IG5vVmFsaWRhdGlvbjogdHJ1ZSB9LFxuICApKSB7XG4gICAgY29uc3QgeyBtYW5kYXRzIH0gPSBhY3RldXJcbiAgICBpZiAoIW1hbmRhdHMpIGNvbnRpbnVlXG5cbiAgICBjb25zdCBtYW5kYXREZXB1dGUgPSBtYW5kYXRzLmZpbmQoXG4gICAgICAobWFuZGF0OiBNYW5kYXQpID0+IFxuICAgICAgICBtYW5kYXQueHNpVHlwZSA9PT0gVHlwZU1hbmRhdC5NYW5kYXRQYXJsZW1lbnRhaXJlVHlwZSAmJlxuICAgICAgICBtYW5kYXQubGVnaXNsYXR1cmUgPT09IG9wdGlvbnMubGVnaXNsYXR1cmU/LnRvU3RyaW5nKCkgJiZcbiAgICAgICAgbWFuZGF0LnR5cGVPcmdhbmUgPT09IENvZGVUeXBlT3JnYW5lLkFzc2VtYmxlZVxuICAgIClcbiAgICBpZiAoIW1hbmRhdERlcHV0ZSkgY29udGludWVcbiAgXG4gICAgY29uc3QgbnVtZXJvRGVwdXRlID0gYWN0ZXVyLnVpZC5zdWJzdHJpbmcoMilcbiAgICBcbiAgICAvLyBEb3dubG9hZCBwaG90b3MuXG4gICAgaWYgKG9wdGlvbnMuZmV0Y2gpIHtcbiAgICAgIGNvbnN0IGlkZW50ID0gYWN0ZXVyLmV0YXRDaXZpbC5pZGVudFxuICAgICAgY29uc3QgcGhvdG9GaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX0uanBnYFxuICAgICAgY29uc3QgcGhvdG9GaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvRmlsZW5hbWUpXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX1fdGVtcC5qcGdgXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvVGVtcEZpbGVuYW1lKVxuICAgICAgY29uc3QgdXJsUGhvdG8gPSBgaHR0cDovL3d3dzIuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvdHJpYnVuLyR7b3B0aW9ucy5sZWdpc2xhdHVyZX0vcGhvdG9zLyR7cGhvdG9GaWxlbmFtZX1gXG4gICAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBMb2FkaW5nIHBob3RvICR7dXJsUGhvdG99IGZvciAke2lkZW50LnByZW5vbX0gJHtpZGVudC5ub2194oCmYCxcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBkb3dubG9hZFBob3RvKHVybFBob3RvLCBwaG90b1RlbXBGaWxlUGF0aCwgcGhvdG9GaWxlUGF0aCwgbWlzc2luZ1Bob3RvRmlsZVBhdGgpXG4gICAgICByZXNpemVQaG90byhhY3RldXIsIHBob3Rvc1dpZHRoLCBwaG90b3NIZWlnaHQsIHBob3Rvc0RpciwgbnVtZXJvRGVwdXRlLCBvcHRpb25zKVxuICAgIH1cblxuICAgIGFjdGV1clVpZHMucHVzaChudW1lcm9EZXB1dGUpXG4gIH1cblxuICBjcmVhdGVNb3NhaWMoYWN0ZXVyVWlkcywgcGhvdG9zRGlyLCBwaG90b3NXaWR0aCwgcGhvdG9zSGVpZ2h0LCAnZGVwdXRlcycpXG5cbiAgaWYgKG9wdGlvbnMuY29tbWl0KSB7XG4gICAgcmV0dXJuIGdpdC5jb21taXRBbmRQdXNoKHBob3Rvc0RpciwgXCJOb3V2ZWxsZSBtb2lzc29uXCIsIG9wdGlvbnMucmVtb3RlKVxuICB9XG4gIHJldHVybiAwXG59XG5cbnJldHJpZXZlUGhvdG9zRGVwdXRlcygpXG4gIC50aGVuKChleGl0Q29kZSkgPT4gcHJvY2Vzcy5leGl0KGV4aXRDb2RlKSlcbiAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgIHByb2Nlc3MuZXhpdCgxKVxuICB9KVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLFFBQVEsZUFBZTtBQUN4QyxPQUFPQyxlQUFlLE1BQU0sbUJBQW1CO0FBQy9DLE9BQU9DLEVBQUUsTUFBTSxVQUFVO0FBQ3pCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQ3ZCLE9BQU9DLE1BQU0sTUFBTSxRQUFRO0FBQzNCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQUEsT0FDaEIsS0FBS0MsR0FBRztBQUFBLFNBRU5DLHdCQUF3QjtBQUFBLFNBRy9CQyxjQUFjLEVBR2RDLFVBQVU7QUFBQSxTQUdWQyxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsWUFBWSxFQUNaQyxZQUFZLEVBQ1pDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxpQkFBaUIsRUFDakJDLFdBQVc7QUFHYixNQUFNQyxrQkFBa0IsR0FBRyxDQUN6QlIsV0FBVyxFQUNYQyxZQUFZLEVBQ1pD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
@@ -33,7 +33,6 @@ require("core-js/modules/es.string.iterator.js");
33
33
  require("core-js/modules/es.string.replace.js");
34
34
  require("core-js/modules/es.string.trim.js");
35
35
  require("core-js/modules/web.dom-collections.iterator.js");
36
- var _child_process = require("child_process");
37
36
  var _commandLineArgs = _interopRequireDefault(require("command-line-args"));
38
37
  var _deepEqual = _interopRequireDefault(require("deep-equal"));
39
38
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
@@ -76,14 +75,7 @@ function _main() {
76
75
  while (1) switch (_context.prev = _context.next) {
77
76
  case 0:
78
77
  gitGroupUrl = options.clone ? options.clone.trim().replace(/\/+$/, "") : undefined;
79
- if (gitGroupUrl !== undefined) {
80
- (0, _child_process.execSync)("git clone ".concat(gitGroupUrl, "/Amendements_en_attente.git"), {
81
- cwd: options.dataDir,
82
- env: process.env,
83
- encoding: "utf-8",
84
- stdio: ["ignore", "ignore", "pipe"]
85
- });
86
- }
78
+ git.clone(gitGroupUrl, "Amendements_en_attente", options.dataDir);
87
79
  amendementsDir = _path["default"].join(options.dataDir, "Amendements_en_attente");
88
80
  if (options.pull) {
89
81
  git.resetAndPull(amendementsDir);
@@ -211,4 +203,4 @@ main().then(function (exitCode) {
211
203
  console.log(error);
212
204
  process.exit(1);
213
205
  });
214
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hpbGRfcHJvY2VzcyIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9kZWVwRXF1YWwiLCJfZnNFeHRyYSIsIl9wYXRoIiwiZ2l0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcGFyc2VycyIsIl9jbGlfaGVscGVycyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJwcm90b3R5cGUiLCJvIiwidmFsdWUiLCJTeW1ib2wiLCJpdGVyYXRvciIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJ0b1N0cmluZyIsInRlc3QiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJfYXN5bmNUb0dlbmVyYXRvciIsImFyZ3VtZW50cyIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJfYXN5bmNJdGVyYXRvciIsIkFzeW5jRnJvbVN5bmNJdGVyYXRvciIsIkFzeW5jRnJvbVN5bmNJdGVyYXRvckNvbnRpbnVhdGlvbiIsInJlamVjdCIsIl9yZXR1cm4iLCJvcHRpb25zRGVmaW5pdGlvbnMiLCJjbG9uZU9wdGlvbiIsImNvbW1pdE9wdGlvbiIsImxlZ2lzbGF0dXJlT3B0aW9uIiwicmVtb3RlT3B0aW9uIiwic2lsZW50T3B0aW9uIiwidmVyYm9zZU9wdGlvbiIsImRhdGFEaXJEZWZhdWx0T3B0aW9uIiwicHVsbE9wdGlvbiIsImFsaWFzIiwiaGVscCIsIkJvb2xlYW4iLCJvcHRpb25zIiwiY29tbWFuZExpbmVBcmdzIiwibWFpbiIsIl9tYWluIiwiX2NhbGxlZSIsImdpdEdyb3VwVXJsIiwiYW1lbmRlbWVudHNEaXIiLCJjYWNoZURpciIsIl9pIiwiX2FyciIsImV0YXQiLCJ1cmwiLCJfaXRlcmF0b3JBYnJ1cHRDb21wbGV0aW9uIiwiX2RpZEl0ZXJhdG9yRXJyb3IiLCJfaXRlcmF0b3JFcnJvciIsIl9pdGVyYXRvciIsIl9zdGVwIiwiX3N0ZXAkdmFsdWUiLCJhbWVuZGVtZW50VXJsUGF0aCIsImFtZW5kZW1lbnQiLCJhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkIiwiYW1lbmRlbWVudEZpbGVQYXRoIiwiZXhpc3RpbmdBbWVuZGVtZW50IiwiX2NhbGxlZSQiLCJfY29udGV4dCIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJleGVjU3luYyIsImNvbmNhdCIsImN3ZCIsImRhdGFEaXIiLCJlbnYiLCJwcm9jZXNzIiwiZW5jb2RpbmciLCJzdGRpbyIsInBhdGgiLCJqb2luIiwicHVsbCIsInJlc2V0QW5kUHVsbCIsImZzIiwiZW5zdXJlRGlyIiwibGVnaXNsYXR1cmUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMiLCJpbmNyZW1lbnRhbCIsInNpbGVudCIsInZlcmJvc2UiLCJzcGxpdCIsImRpcm5hbWUiLCJwYXRoRXhpc3RzIiwicmVhZEpzb24iLCJ0MCIsImRlZXBFcXVhbCIsImNvbnNvbGUiLCJsb2ciLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJ0MSIsImNvbW1pdCIsImNvbW1pdEFuZFB1c2giLCJyZW1vdGUiLCJleGl0Q29kZSIsImV4aXQiLCJlcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3JldHJpZXZlX3BlbmRpbmdfYW1lbmRtZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCJcbmltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBkZWVwRXF1YWwgZnJvbSBcImRlZXAtZXF1YWxcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmltcG9ydCAqIGFzIGdpdCBmcm9tIFwiLi4vZ2l0XCJcbmltcG9ydCB7IGl0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyB9IGZyb20gXCIuLi9wYXJzZXJzXCJcbmltcG9ydCB7XG4gIGNsb25lT3B0aW9uLFxuICBjb21taXRPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBsZWdpc2xhdHVyZU9wdGlvbixcbiAgcHVsbE9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIHZlcmJvc2VPcHRpb24sXG59IGZyb20gXCIuL3NoYXJlZC9jbGlfaGVscGVyc1wiXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAgY2xvbmVPcHRpb24sXG4gIGNvbW1pdE9wdGlvbixcbiAgbGVnaXNsYXR1cmVPcHRpb24sXG4gIHJlbW90ZU9wdGlvbixcbiAgc2lsZW50T3B0aW9uLFxuICB2ZXJib3NlT3B0aW9uLFxuICBkYXRhRGlyRGVmYXVsdE9wdGlvbixcbiAgcHVsbE9wdGlvbixcbiAge1xuICAgIGFsaWFzOiBcImlcIixcbiAgICBoZWxwOiBcImluY3JlbWVudGFsIG1vZGU6IHJldHJpZXZlIG9ubHkgYW1lbmRtZW50cyB3aG9zZSBwb3NpdGlvbiBpbiBzZWFyY2ggaGFzIGNoYW5nZWRcIixcbiAgICBuYW1lOiBcImluY3JlbWVudGFsXCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuXG5hc3luYyBmdW5jdGlvbiBtYWluKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gIGNvbnN0IGdpdEdyb3VwVXJsID0gb3B0aW9ucy5jbG9uZVxuICAgID8gb3B0aW9ucy5jbG9uZS50cmltKCkucmVwbGFjZSgvXFwvKyQvLCBcIlwiKVxuICAgIDogdW5kZWZpbmVkXG4gIGlmIChnaXRHcm91cFVybCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZXhlY1N5bmMoYGdpdCBjbG9uZSAke2dpdEdyb3VwVXJsfS9BbWVuZGVtZW50c19lbl9hdHRlbnRlLmdpdGAsIHtcbiAgICAgIGN3ZDogb3B0aW9ucy5kYXRhRGlyLFxuICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgIGVuY29kaW5nOiBcInV0Zi04XCIsXG4gICAgICBzdGRpbzogW1wiaWdub3JlXCIsIFwiaWdub3JlXCIsIFwicGlwZVwiXSxcbiAgICB9KVxuICB9XG4gIGNvbnN0IGFtZW5kZW1lbnRzRGlyID0gcGF0aC5qb2luKG9wdGlvbnMuZGF0YURpciwgXCJBbWVuZGVtZW50c19lbl9hdHRlbnRlXCIpXG4gIGlmIChvcHRpb25zLnB1bGwpIHtcbiAgICBnaXQucmVzZXRBbmRQdWxsKGFtZW5kZW1lbnRzRGlyKVxuICB9XG5cbiAgYXdhaXQgZnMuZW5zdXJlRGlyKGFtZW5kZW1lbnRzRGlyKVxuICBjb25zdCBjYWNoZURpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIFwiQW1lbmRlbWVudHNfZW5fYXR0ZW50ZV9jYWNoZVwiKVxuICBmb3IgKGNvbnN0IGV0YXQgb2YgW1wiRW4gcmVjZXZhYmlsaXTDqVwiLCBcIkVuIHRyYWl0ZW1lbnRcIl0pIHtcbiAgICBjb25zdCB1cmwgPSBgaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9keW4vJHtcbiAgICAgIG9wdGlvbnMubGVnaXNsYXR1cmVcbiAgICB9L2FtZW5kZW1lbnRzP2V0YXQ9JHtlbmNvZGVVUklDb21wb25lbnQoZXRhdCl9YFxuICAgIGZvciBhd2FpdCAoY29uc3QgW1xuICAgICAgYW1lbmRlbWVudFVybFBhdGgsXG4gICAgICBhbWVuZGVtZW50LFxuICAgIF0gb2YgaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzKFxuICAgICAgY2FjaGVEaXIsXG4gICAgICB1cmwsXG4gICAgICBvcHRpb25zLmluY3JlbWVudGFsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICB7IHNpbGVudDogb3B0aW9ucy5zaWxlbnQsIHZlcmJvc2U6IG9wdGlvbnMudmVyYm9zZSB9LFxuICAgICkpIHtcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQgPSBhbWVuZGVtZW50VXJsUGF0aCEuc3BsaXQoXCIvXCIpXG4gICAgICBjb25zdCBhbWVuZGVtZW50RmlsZVBhdGggPVxuICAgICAgICBwYXRoLmpvaW4oYW1lbmRlbWVudHNEaXIsIC4uLmFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQuc2xpY2UoMikpICtcbiAgICAgICAgXCIuanNvblwiXG4gICAgICBhd2FpdCBmcy5lbnN1cmVEaXIocGF0aC5kaXJuYW1lKGFtZW5kZW1lbnRGaWxlUGF0aCkpXG4gICAgICBjb25zdCBleGlzdGluZ0FtZW5kZW1lbnQgPSAoYXdhaXQgZnMucGF0aEV4aXN0cyhhbWVuZGVtZW50RmlsZVBhdGgpKVxuICAgICAgICA/IGF3YWl0IGZzLnJlYWRKc29uKGFtZW5kZW1lbnRGaWxlUGF0aClcbiAgICAgICAgOiBudWxsXG4gICAgICBpZiAoIWRlZXBFcXVhbChhbWVuZGVtZW50LCBleGlzdGluZ0FtZW5kZW1lbnQpKSB7XG4gICAgICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgICAgICBpZiAoZXhpc3RpbmdBbWVuZGVtZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQWRkaW5nIGFtZW5kZW1lbnQgSlNPTjogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYFVwZGF0aW5nIGFtZW5kZW1lbnQgSlNPTjogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgZnMud3JpdGVKc29uKGFtZW5kZW1lbnRGaWxlUGF0aCwgYW1lbmRlbWVudCwgeyBzcGFjZXM6IDIgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAob3B0aW9ucy5jb21taXQpIHtcbiAgICByZXR1cm4gZ2l0LmNvbW1pdEFuZFB1c2goYW1lbmRlbWVudHNEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgfVxuICByZXR1cm4gMFxufVxuXG5tYWluKClcbiAgLnRoZW4oKGV4aXRDb2RlKSA9PiBwcm9jZXNzLmV4aXQoZXhpdENvZGUpKVxuICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgcHJvY2Vzcy5leGl0KDEpXG4gIH0pXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZ0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFNLEdBQUEsR0FBQUMsdUJBQUEsQ0FBQVAsT0FBQTtBQUNBLElBQUFRLFFBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVQsT0FBQTtBQVM2QixTQUFBVSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFF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
206
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfZGVlcEVxdWFsIiwiX2ZzRXh0cmEiLCJfcGF0aCIsImdpdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3BhcnNlcnMiLCJfY2xpX2hlbHBlcnMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwicHJvdG90eXBlIiwibyIsInZhbHVlIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjIiwiYXN5bmNJdGVyYXRvciIsInRvU3RyaW5nVGFnIiwiZGVmaW5lIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwid3JhcCIsIkdlbmVyYXRvciIsImNyZWF0ZSIsIkNvbnRleHQiLCJtYWtlSW52b2tlTWV0aG9kIiwidHJ5Q2F0Y2giLCJ0eXBlIiwiYXJnIiwiaCIsImwiLCJmIiwicyIsInkiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwicCIsImQiLCJnZXRQcm90b3R5cGVPZiIsInYiLCJ2YWx1ZXMiLCJnIiwiZGVmaW5lSXRlcmF0b3JNZXRob2RzIiwiZm9yRWFjaCIsIl9pbnZva2UiLCJBc3luY0l0ZXJhdG9yIiwiaW52b2tlIiwicmVzb2x2ZSIsIl9fYXdhaXQiLCJ0aGVuIiwiY2FsbEludm9rZVdpdGhNZXRob2RBbmRBcmciLCJFcnJvciIsImRvbmUiLCJtZXRob2QiLCJkZWxlZ2F0ZSIsIm1heWJlSW52b2tlRGVsZWdhdGUiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsInB1c2hUcnlFbnRyeSIsInRyeUxvYyIsImNhdGNoTG9jIiwiZmluYWxseUxvYyIsImFmdGVyTG9jIiwidHJ5RW50cmllcyIsInB1c2giLCJyZXNldFRyeUVudHJ5IiwiY29tcGxldGlvbiIsInJlc2V0IiwiaXNOYU4iLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJtYXJrIiwic2V0UHJvdG90eXBlT2YiLCJhd3JhcCIsImFzeW5jIiwiUHJvbWlzZSIsImtleXMiLCJyZXZlcnNlIiwicG9wIiwicHJldiIsImNoYXJBdCIsInNsaWNlIiwic3RvcCIsInJ2YWwiLCJoYW5kbGUiLCJjb21wbGV0ZSIsImZpbmlzaCIsIl9jYXRjaCIsImRlbGVnYXRlWWllbGQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfYXJyYXlXaXRob3V0SG9sZXMiLCJfaXRlcmFibGVUb0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlU3ByZWFkIiwiQXJyYXkiLCJmcm9tIiwiaXNBcnJheSIsIl9hcnJheUxpa2VUb0FycmF5IiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwidG9TdHJpbmciLCJ0ZXN0IiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmd1bWVudHMiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93IiwiX2FzeW5jSXRlcmF0b3IiLCJBc3luY0Zyb21TeW5jSXRlcmF0b3IiLCJBc3luY0Zyb21TeW5jSXRlcmF0b3JDb250aW51YXRpb24iLCJyZWplY3QiLCJfcmV0dXJuIiwib3B0aW9uc0RlZmluaXRpb25zIiwiY2xvbmVPcHRpb24iLCJjb21taXRPcHRpb24iLCJsZWdpc2xhdHVyZU9wdGlvbiIsInJlbW90ZU9wdGlvbiIsInNpbGVudE9wdGlvbiIsInZlcmJvc2VPcHRpb24iLCJkYXRhRGlyRGVmYXVsdE9wdGlvbiIsInB1bGxPcHRpb24iLCJhbGlhcyIsImhlbHAiLCJCb29sZWFuIiwib3B0aW9ucyIsImNvbW1hbmRMaW5lQXJncyIsIm1haW4iLCJfbWFpbiIsIl9jYWxsZWUiLCJnaXRHcm91cFVybCIsImFtZW5kZW1lbnRzRGlyIiwiY2FjaGVEaXIiLCJfaSIsIl9hcnIiLCJldGF0IiwidXJsIiwiX2l0ZXJhdG9yQWJydXB0Q29tcGxldGlvbiIsIl9kaWRJdGVyYXRvckVycm9yIiwiX2l0ZXJhdG9yRXJyb3IiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIl9zdGVwJHZhbHVlIiwiYW1lbmRlbWVudFVybFBhdGgiLCJhbWVuZGVtZW50IiwiYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZCIsImFtZW5kZW1lbnRGaWxlUGF0aCIsImV4aXN0aW5nQW1lbmRlbWVudCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJjbG9uZSIsInRyaW0iLCJyZXBsYWNlIiwidW5kZWZpbmVkIiwiZGF0YURpciIsInBhdGgiLCJqb2luIiwicHVsbCIsInJlc2V0QW5kUHVsbCIsImZzIiwiZW5zdXJlRGlyIiwiY29uY2F0IiwibGVnaXNsYXR1cmUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMiLCJpbmNyZW1lbnRhbCIsInNpbGVudCIsInZlcmJvc2UiLCJzcGxpdCIsImRpcm5hbWUiLCJwYXRoRXhpc3RzIiwicmVhZEpzb24iLCJ0MCIsImRlZXBFcXVhbCIsImNvbnNvbGUiLCJsb2ciLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJ0MSIsImNvbW1pdCIsImNvbW1pdEFuZFB1c2giLCJyZW1vdGUiLCJleGl0Q29kZSIsInByb2Nlc3MiLCJleGl0IiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9yZXRyaWV2ZV9wZW5kaW5nX2FtZW5kbWVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGRlZXBFcXVhbCBmcm9tIFwiZGVlcC1lcXVhbFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuaW1wb3J0ICogYXMgZ2l0IGZyb20gXCIuLi9naXRcIlxuaW1wb3J0IHsgaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzIH0gZnJvbSBcIi4uL3BhcnNlcnNcIlxuaW1wb3J0IHtcbiAgY2xvbmVPcHRpb24sXG4gIGNvbW1pdE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIGxlZ2lzbGF0dXJlT3B0aW9uLFxuICBwdWxsT3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgdmVyYm9zZU9wdGlvbixcbn0gZnJvbSBcIi4vc2hhcmVkL2NsaV9oZWxwZXJzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICBsZWdpc2xhdHVyZU9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIHZlcmJvc2VPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBwdWxsT3B0aW9uLFxuICB7XG4gICAgYWxpYXM6IFwiaVwiLFxuICAgIGhlbHA6IFwiaW5jcmVtZW50YWwgbW9kZTogcmV0cmlldmUgb25seSBhbWVuZG1lbnRzIHdob3NlIHBvc2l0aW9uIGluIHNlYXJjaCBoYXMgY2hhbmdlZFwiLFxuICAgIG5hbWU6IFwiaW5jcmVtZW50YWxcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgY29uc3QgZ2l0R3JvdXBVcmwgPSBvcHRpb25zLmNsb25lXG4gICAgPyBvcHRpb25zLmNsb25lLnRyaW0oKS5yZXBsYWNlKC9cXC8rJC8sIFwiXCIpXG4gICAgOiB1bmRlZmluZWRcbiAgXG4gIGdpdC5jbG9uZShnaXRHcm91cFVybCwgXCJBbWVuZGVtZW50c19lbl9hdHRlbnRlXCIsIG9wdGlvbnMuZGF0YURpcilcbiAgXG4gIGNvbnN0IGFtZW5kZW1lbnRzRGlyID0gcGF0aC5qb2luKG9wdGlvbnMuZGF0YURpciwgXCJBbWVuZGVtZW50c19lbl9hdHRlbnRlXCIpXG4gIGlmIChvcHRpb25zLnB1bGwpIHtcbiAgICBnaXQucmVzZXRBbmRQdWxsKGFtZW5kZW1lbnRzRGlyKVxuICB9XG5cbiAgYXdhaXQgZnMuZW5zdXJlRGlyKGFtZW5kZW1lbnRzRGlyKVxuICBjb25zdCBjYWNoZURpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIFwiQW1lbmRlbWVudHNfZW5fYXR0ZW50ZV9jYWNoZVwiKVxuICBmb3IgKGNvbnN0IGV0YXQgb2YgW1wiRW4gcmVjZXZhYmlsaXTDqVwiLCBcIkVuIHRyYWl0ZW1lbnRcIl0pIHtcbiAgICBjb25zdCB1cmwgPSBgaHR0cHM6Ly93d3cuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9keW4vJHtcbiAgICAgIG9wdGlvbnMubGVnaXNsYXR1cmVcbiAgICB9L2FtZW5kZW1lbnRzP2V0YXQ9JHtlbmNvZGVVUklDb21wb25lbnQoZXRhdCl9YFxuICAgIGZvciBhd2FpdCAoY29uc3QgW1xuICAgICAgYW1lbmRlbWVudFVybFBhdGgsXG4gICAgICBhbWVuZGVtZW50LFxuICAgIF0gb2YgaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzKFxuICAgICAgY2FjaGVEaXIsXG4gICAgICB1cmwsXG4gICAgICBvcHRpb25zLmluY3JlbWVudGFsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICB7IHNpbGVudDogb3B0aW9ucy5zaWxlbnQsIHZlcmJvc2U6IG9wdGlvbnMudmVyYm9zZSB9LFxuICAgICkpIHtcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQgPSBhbWVuZGVtZW50VXJsUGF0aCEuc3BsaXQoXCIvXCIpXG4gICAgICBjb25zdCBhbWVuZGVtZW50RmlsZVBhdGggPVxuICAgICAgICBwYXRoLmpvaW4oYW1lbmRlbWVudHNEaXIsIC4uLmFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQuc2xpY2UoMikpICtcbiAgICAgICAgXCIuanNvblwiXG4gICAgICBhd2FpdCBmcy5lbnN1cmVEaXIocGF0aC5kaXJuYW1lKGFtZW5kZW1lbnRGaWxlUGF0aCkpXG4gICAgICBjb25zdCBleGlzdGluZ0FtZW5kZW1lbnQgPSAoYXdhaXQgZnMucGF0aEV4aXN0cyhhbWVuZGVtZW50RmlsZVBhdGgpKVxuICAgICAgICA/IGF3YWl0IGZzLnJlYWRKc29uKGFtZW5kZW1lbnRGaWxlUGF0aClcbiAgICAgICAgOiBudWxsXG4gICAgICBpZiAoIWRlZXBFcXVhbChhbWVuZGVtZW50LCBleGlzdGluZ0FtZW5kZW1lbnQpKSB7XG4gICAgICAgIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICAgICAgICBpZiAoZXhpc3RpbmdBbWVuZGVtZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQWRkaW5nIGFtZW5kZW1lbnQgSlNPTjogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYFVwZGF0aW5nIGFtZW5kZW1lbnQgSlNPTjogJHthbWVuZGVtZW50RmlsZVBhdGh94oCmYClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgZnMud3JpdGVKc29uKGFtZW5kZW1lbnRGaWxlUGF0aCwgYW1lbmRlbWVudCwgeyBzcGFjZXM6IDIgfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAob3B0aW9ucy5jb21taXQpIHtcbiAgICByZXR1cm4gZ2l0LmNvbW1pdEFuZFB1c2goYW1lbmRlbWVudHNEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgfVxuICByZXR1cm4gMFxufVxuXG5tYWluKClcbiAgLnRoZW4oKGV4aXRDb2RlKSA9PiBwcm9jZXNzLmV4aXQoZXhpdENvZGUpKVxuICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgcHJvY2Vzcy5leGl0KDEpXG4gIH0pXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsZ0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFJLEdBQUEsR0FBQUMsdUJBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFlBQUEsR0FBQVAsT0FBQTtBQVM2QixTQUFBUSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUosd0JBQUFJLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FB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
@@ -1,4 +1,3 @@
1
- import { execSync } from "child_process";
2
1
  import commandLineArgs from "command-line-args";
3
2
  import deepEqual from "deep-equal";
4
3
  import fs from "fs-extra";
@@ -15,14 +14,7 @@ const optionsDefinitions = [cloneOption, commitOption, legislatureOption, remote
15
14
  const options = commandLineArgs(optionsDefinitions);
16
15
  async function main() {
17
16
  const gitGroupUrl = options.clone ? options.clone.trim().replace(/\/+$/, "") : undefined;
18
- if (gitGroupUrl !== undefined) {
19
- execSync(`git clone ${gitGroupUrl}/Amendements_en_attente.git`, {
20
- cwd: options.dataDir,
21
- env: process.env,
22
- encoding: "utf-8",
23
- stdio: ["ignore", "ignore", "pipe"]
24
- });
25
- }
17
+ git.clone(gitGroupUrl, "Amendements_en_attente", options.dataDir);
26
18
  const amendementsDir = path.join(options.dataDir, "Amendements_en_attente");
27
19
  if (options.pull) {
28
20
  git.resetAndPull(amendementsDir);
@@ -62,4 +54,4 @@ main().then(exitCode => process.exit(exitCode)).catch(error => {
62
54
  console.log(error);
63
55
  process.exit(1);
64
56
  });
65
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJleGVjU3luYyIsImNvbW1hbmRMaW5lQXJncyIsImRlZXBFcXVhbCIsImZzIiwicGF0aCIsImdpdCIsIml0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyIsImNsb25lT3B0aW9uIiwiY29tbWl0T3B0aW9uIiwiZGF0YURpckRlZmF1bHRPcHRpb24iLCJsZWdpc2xhdHVyZU9wdGlvbiIsInB1bGxPcHRpb24iLCJyZW1vdGVPcHRpb24iLCJzaWxlbnRPcHRpb24iLCJ2ZXJib3NlT3B0aW9uIiwib3B0aW9uc0RlZmluaXRpb25zIiwiYWxpYXMiLCJoZWxwIiwibmFtZSIsInR5cGUiLCJCb29sZWFuIiwib3B0aW9ucyIsIm1haW4iLCJnaXRHcm91cFVybCIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJjd2QiLCJkYXRhRGlyIiwiZW52IiwicHJvY2VzcyIsImVuY29kaW5nIiwic3RkaW8iLCJhbWVuZGVtZW50c0RpciIsImpvaW4iLCJwdWxsIiwicmVzZXRBbmRQdWxsIiwiZW5zdXJlRGlyIiwiY2FjaGVEaXIiLCJldGF0IiwidXJsIiwibGVnaXNsYXR1cmUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJhbWVuZGVtZW50VXJsUGF0aCIsImFtZW5kZW1lbnQiLCJpbmNyZW1lbnRhbCIsInNpbGVudCIsInZlcmJvc2UiLCJhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkIiwic3BsaXQiLCJhbWVuZGVtZW50RmlsZVBhdGgiLCJzbGljZSIsImRpcm5hbWUiLCJleGlzdGluZ0FtZW5kZW1lbnQiLCJwYXRoRXhpc3RzIiwicmVhZEpzb24iLCJjb25zb2xlIiwibG9nIiwid3JpdGVKc29uIiwic3BhY2VzIiwiY29tbWl0IiwiY29tbWl0QW5kUHVzaCIsInJlbW90ZSIsInRoZW4iLCJleGl0Q29kZSIsImV4aXQiLCJjYXRjaCIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmV0cmlldmVfcGVuZGluZ19hbWVuZG1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcImNoaWxkX3Byb2Nlc3NcIlxuaW1wb3J0IGNvbW1hbmRMaW5lQXJncyBmcm9tIFwiY29tbWFuZC1saW5lLWFyZ3NcIlxuaW1wb3J0IGRlZXBFcXVhbCBmcm9tIFwiZGVlcC1lcXVhbFwiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuaW1wb3J0ICogYXMgZ2l0IGZyb20gXCIuLi9naXRcIlxuaW1wb3J0IHsgaXRlclJlY2hlcmNoZVJhd0FtZW5kZW1lbnRzIH0gZnJvbSBcIi4uL3BhcnNlcnNcIlxuaW1wb3J0IHtcbiAgY2xvbmVPcHRpb24sXG4gIGNvbW1pdE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIGxlZ2lzbGF0dXJlT3B0aW9uLFxuICBwdWxsT3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgdmVyYm9zZU9wdGlvbixcbn0gZnJvbSBcIi4vc2hhcmVkL2NsaV9oZWxwZXJzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICBsZWdpc2xhdHVyZU9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIHZlcmJvc2VPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBwdWxsT3B0aW9uLFxuICB7XG4gICAgYWxpYXM6IFwiaVwiLFxuICAgIGhlbHA6IFwiaW5jcmVtZW50YWwgbW9kZTogcmV0cmlldmUgb25seSBhbWVuZG1lbnRzIHdob3NlIHBvc2l0aW9uIGluIHNlYXJjaCBoYXMgY2hhbmdlZFwiLFxuICAgIG5hbWU6IFwiaW5jcmVtZW50YWxcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuXVxuY29uc3Qgb3B0aW9ucyA9IGNvbW1hbmRMaW5lQXJncyhvcHRpb25zRGVmaW5pdGlvbnMpXG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgY29uc3QgZ2l0R3JvdXBVcmwgPSBvcHRpb25zLmNsb25lXG4gICAgPyBvcHRpb25zLmNsb25lLnRyaW0oKS5yZXBsYWNlKC9cXC8rJC8sIFwiXCIpXG4gICAgOiB1bmRlZmluZWRcbiAgaWYgKGdpdEdyb3VwVXJsICE9PSB1bmRlZmluZWQpIHtcbiAgICBleGVjU3luYyhgZ2l0IGNsb25lICR7Z2l0R3JvdXBVcmx9L0FtZW5kZW1lbnRzX2VuX2F0dGVudGUuZ2l0YCwge1xuICAgICAgY3dkOiBvcHRpb25zLmRhdGFEaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgZW5jb2Rpbmc6IFwidXRmLThcIixcbiAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJpZ25vcmVcIiwgXCJwaXBlXCJdLFxuICAgIH0pXG4gIH1cbiAgY29uc3QgYW1lbmRlbWVudHNEaXIgPSBwYXRoLmpvaW4ob3B0aW9ucy5kYXRhRGlyLCBcIkFtZW5kZW1lbnRzX2VuX2F0dGVudGVcIilcbiAgaWYgKG9wdGlvbnMucHVsbCkge1xuICAgIGdpdC5yZXNldEFuZFB1bGwoYW1lbmRlbWVudHNEaXIpXG4gIH1cblxuICBhd2FpdCBmcy5lbnN1cmVEaXIoYW1lbmRlbWVudHNEaXIpXG4gIGNvbnN0IGNhY2hlRGlyID0gcGF0aC5qb2luKG9wdGlvbnMuZGF0YURpciwgXCJBbWVuZGVtZW50c19lbl9hdHRlbnRlX2NhY2hlXCIpXG4gIGZvciAoY29uc3QgZXRhdCBvZiBbXCJFbiByZWNldmFiaWxpdMOpXCIsIFwiRW4gdHJhaXRlbWVudFwiXSkge1xuICAgIGNvbnN0IHVybCA9IGBodHRwczovL3d3dy5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL2R5bi8ke1xuICAgICAgb3B0aW9ucy5sZWdpc2xhdHVyZVxuICAgIH0vYW1lbmRlbWVudHM/ZXRhdD0ke2VuY29kZVVSSUNvbXBvbmVudChldGF0KX1gXG4gICAgZm9yIGF3YWl0IChjb25zdCBbXG4gICAgICBhbWVuZGVtZW50VXJsUGF0aCxcbiAgICAgIGFtZW5kZW1lbnQsXG4gICAgXSBvZiBpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMoXG4gICAgICBjYWNoZURpcixcbiAgICAgIHVybCxcbiAgICAgIG9wdGlvbnMuaW5jcmVtZW50YWwsXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIHsgc2lsZW50OiBvcHRpb25zLnNpbGVudCwgdmVyYm9zZTogb3B0aW9ucy52ZXJib3NlIH0sXG4gICAgKSkge1xuICAgICAgY29uc3QgYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZCA9IGFtZW5kZW1lbnRVcmxQYXRoIS5zcGxpdChcIi9cIilcbiAgICAgIGNvbnN0IGFtZW5kZW1lbnRGaWxlUGF0aCA9XG4gICAgICAgIHBhdGguam9pbihhbWVuZGVtZW50c0RpciwgLi4uYW1lbmRlbWVudFVybFBhdGhTcGxpdHRlZC5zbGljZSgyKSkgK1xuICAgICAgICBcIi5qc29uXCJcbiAgICAgIGF3YWl0IGZzLmVuc3VyZURpcihwYXRoLmRpcm5hbWUoYW1lbmRlbWVudEZpbGVQYXRoKSlcbiAgICAgIGNvbnN0IGV4aXN0aW5nQW1lbmRlbWVudCA9IChhd2FpdCBmcy5wYXRoRXhpc3RzKGFtZW5kZW1lbnRGaWxlUGF0aCkpXG4gICAgICAgID8gYXdhaXQgZnMucmVhZEpzb24oYW1lbmRlbWVudEZpbGVQYXRoKVxuICAgICAgICA6IG51bGxcbiAgICAgIGlmICghZGVlcEVxdWFsKGFtZW5kZW1lbnQsIGV4aXN0aW5nQW1lbmRlbWVudCkpIHtcbiAgICAgICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgICAgIGlmIChleGlzdGluZ0FtZW5kZW1lbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBBZGRpbmcgYW1lbmRlbWVudCBKU09OOiAke2FtZW5kZW1lbnRGaWxlUGF0aH3igKZgKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgVXBkYXRpbmcgYW1lbmRlbWVudCBKU09OOiAke2FtZW5kZW1lbnRGaWxlUGF0aH3igKZgKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhd2FpdCBmcy53cml0ZUpzb24oYW1lbmRlbWVudEZpbGVQYXRoLCBhbWVuZGVtZW50LCB7IHNwYWNlczogMiB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChvcHRpb25zLmNvbW1pdCkge1xuICAgIHJldHVybiBnaXQuY29tbWl0QW5kUHVzaChhbWVuZGVtZW50c0RpciwgXCJOb3V2ZWxsZSBtb2lzc29uXCIsIG9wdGlvbnMucmVtb3RlKVxuICB9XG4gIHJldHVybiAwXG59XG5cbm1haW4oKVxuICAudGhlbigoZXhpdENvZGUpID0+IHByb2Nlc3MuZXhpdChleGl0Q29kZSkpXG4gIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfSlcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsUUFBUSxRQUFRLGVBQWU7QUFDeEMsT0FBT0MsZUFBZSxNQUFNLG1CQUFtQjtBQUMvQyxPQUFPQyxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxFQUFFLE1BQU0sVUFBVTtBQUN6QixPQUFPQyxJQUFJLE1BQU0sTUFBTTtBQUFBLE9BRWhCLEtBQUtDLEdBQUc7QUFBQSxTQUNOQywyQkFBMkI7QUFBQSxTQUVsQ0MsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLG9CQUFvQixFQUNwQkMsaUJBQWlCLEVBQ2pCQyxVQUFVLEVBQ1ZDLFlBQVksRUFDWkMsWUFBWSxFQUNaQyxhQUFhO0FBR2YsTUFBTUMsa0JBQWtCLEdBQUcsQ0FDekJSLFdBQVcsRUFDWEMsWUFBWSxFQUNaRSxpQkFBaUIsRUFDakJFLFlBQVksRUFDWkMsWUFBWSxFQUNaQyxhQUFhLEVBQ2JMLG9CQUFvQixFQUNwQkUsVUFBVSxFQUNWO0VBQ0VLLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLElBQUksRUFBRSxpRkFBaUY7RUFDdkZD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
57
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kTGluZUFyZ3MiLCJkZWVwRXF1YWwiLCJmcyIsInBhdGgiLCJnaXQiLCJpdGVyUmVjaGVyY2hlUmF3QW1lbmRlbWVudHMiLCJjbG9uZU9wdGlvbiIsImNvbW1pdE9wdGlvbiIsImRhdGFEaXJEZWZhdWx0T3B0aW9uIiwibGVnaXNsYXR1cmVPcHRpb24iLCJwdWxsT3B0aW9uIiwicmVtb3RlT3B0aW9uIiwic2lsZW50T3B0aW9uIiwidmVyYm9zZU9wdGlvbiIsIm9wdGlvbnNEZWZpbml0aW9ucyIsImFsaWFzIiwiaGVscCIsIm5hbWUiLCJ0eXBlIiwiQm9vbGVhbiIsIm9wdGlvbnMiLCJtYWluIiwiZ2l0R3JvdXBVcmwiLCJjbG9uZSIsInRyaW0iLCJyZXBsYWNlIiwidW5kZWZpbmVkIiwiZGF0YURpciIsImFtZW5kZW1lbnRzRGlyIiwiam9pbiIsInB1bGwiLCJyZXNldEFuZFB1bGwiLCJlbnN1cmVEaXIiLCJjYWNoZURpciIsImV0YXQiLCJ1cmwiLCJsZWdpc2xhdHVyZSIsImVuY29kZVVSSUNvbXBvbmVudCIsImFtZW5kZW1lbnRVcmxQYXRoIiwiYW1lbmRlbWVudCIsImluY3JlbWVudGFsIiwic2lsZW50IiwidmVyYm9zZSIsImFtZW5kZW1lbnRVcmxQYXRoU3BsaXR0ZWQiLCJzcGxpdCIsImFtZW5kZW1lbnRGaWxlUGF0aCIsInNsaWNlIiwiZGlybmFtZSIsImV4aXN0aW5nQW1lbmRlbWVudCIsInBhdGhFeGlzdHMiLCJyZWFkSnNvbiIsImNvbnNvbGUiLCJsb2ciLCJ3cml0ZUpzb24iLCJzcGFjZXMiLCJjb21taXQiLCJjb21taXRBbmRQdXNoIiwicmVtb3RlIiwidGhlbiIsImV4aXRDb2RlIiwicHJvY2VzcyIsImV4aXQiLCJjYXRjaCIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmV0cmlldmVfcGVuZGluZ19hbWVuZG1lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBkZWVwRXF1YWwgZnJvbSBcImRlZXAtZXF1YWxcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmltcG9ydCAqIGFzIGdpdCBmcm9tIFwiLi4vZ2l0XCJcbmltcG9ydCB7IGl0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyB9IGZyb20gXCIuLi9wYXJzZXJzXCJcbmltcG9ydCB7XG4gIGNsb25lT3B0aW9uLFxuICBjb21taXRPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBsZWdpc2xhdHVyZU9wdGlvbixcbiAgcHVsbE9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIHZlcmJvc2VPcHRpb24sXG59IGZyb20gXCIuL3NoYXJlZC9jbGlfaGVscGVyc1wiXG5cbmNvbnN0IG9wdGlvbnNEZWZpbml0aW9ucyA9IFtcbiAgY2xvbmVPcHRpb24sXG4gIGNvbW1pdE9wdGlvbixcbiAgbGVnaXNsYXR1cmVPcHRpb24sXG4gIHJlbW90ZU9wdGlvbixcbiAgc2lsZW50T3B0aW9uLFxuICB2ZXJib3NlT3B0aW9uLFxuICBkYXRhRGlyRGVmYXVsdE9wdGlvbixcbiAgcHVsbE9wdGlvbixcbiAge1xuICAgIGFsaWFzOiBcImlcIixcbiAgICBoZWxwOiBcImluY3JlbWVudGFsIG1vZGU6IHJldHJpZXZlIG9ubHkgYW1lbmRtZW50cyB3aG9zZSBwb3NpdGlvbiBpbiBzZWFyY2ggaGFzIGNoYW5nZWRcIixcbiAgICBuYW1lOiBcImluY3JlbWVudGFsXCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuXG5hc3luYyBmdW5jdGlvbiBtYWluKCk6IFByb21pc2U8bnVtYmVyPiB7XG4gIGNvbnN0IGdpdEdyb3VwVXJsID0gb3B0aW9ucy5jbG9uZVxuICAgID8gb3B0aW9ucy5jbG9uZS50cmltKCkucmVwbGFjZSgvXFwvKyQvLCBcIlwiKVxuICAgIDogdW5kZWZpbmVkXG4gIFxuICBnaXQuY2xvbmUoZ2l0R3JvdXBVcmwsIFwiQW1lbmRlbWVudHNfZW5fYXR0ZW50ZVwiLCBvcHRpb25zLmRhdGFEaXIpXG4gIFxuICBjb25zdCBhbWVuZGVtZW50c0RpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIFwiQW1lbmRlbWVudHNfZW5fYXR0ZW50ZVwiKVxuICBpZiAob3B0aW9ucy5wdWxsKSB7XG4gICAgZ2l0LnJlc2V0QW5kUHVsbChhbWVuZGVtZW50c0RpcilcbiAgfVxuXG4gIGF3YWl0IGZzLmVuc3VyZURpcihhbWVuZGVtZW50c0RpcilcbiAgY29uc3QgY2FjaGVEaXIgPSBwYXRoLmpvaW4ob3B0aW9ucy5kYXRhRGlyLCBcIkFtZW5kZW1lbnRzX2VuX2F0dGVudGVfY2FjaGVcIilcbiAgZm9yIChjb25zdCBldGF0IG9mIFtcIkVuIHJlY2V2YWJpbGl0w6lcIiwgXCJFbiB0cmFpdGVtZW50XCJdKSB7XG4gICAgY29uc3QgdXJsID0gYGh0dHBzOi8vd3d3LmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvZHluLyR7XG4gICAgICBvcHRpb25zLmxlZ2lzbGF0dXJlXG4gICAgfS9hbWVuZGVtZW50cz9ldGF0PSR7ZW5jb2RlVVJJQ29tcG9uZW50KGV0YXQpfWBcbiAgICBmb3IgYXdhaXQgKGNvbnN0IFtcbiAgICAgIGFtZW5kZW1lbnRVcmxQYXRoLFxuICAgICAgYW1lbmRlbWVudCxcbiAgICBdIG9mIGl0ZXJSZWNoZXJjaGVSYXdBbWVuZGVtZW50cyhcbiAgICAgIGNhY2hlRGlyLFxuICAgICAgdXJsLFxuICAgICAgb3B0aW9ucy5pbmNyZW1lbnRhbCxcbiAgICAgIG51bGwsXG4gICAgICBudWxsLFxuICAgICAgeyBzaWxlbnQ6IG9wdGlvbnMuc2lsZW50LCB2ZXJib3NlOiBvcHRpb25zLnZlcmJvc2UgfSxcbiAgICApKSB7XG4gICAgICBjb25zdCBhbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkID0gYW1lbmRlbWVudFVybFBhdGghLnNwbGl0KFwiL1wiKVxuICAgICAgY29uc3QgYW1lbmRlbWVudEZpbGVQYXRoID1cbiAgICAgICAgcGF0aC5qb2luKGFtZW5kZW1lbnRzRGlyLCAuLi5hbWVuZGVtZW50VXJsUGF0aFNwbGl0dGVkLnNsaWNlKDIpKSArXG4gICAgICAgIFwiLmpzb25cIlxuICAgICAgYXdhaXQgZnMuZW5zdXJlRGlyKHBhdGguZGlybmFtZShhbWVuZGVtZW50RmlsZVBhdGgpKVxuICAgICAgY29uc3QgZXhpc3RpbmdBbWVuZGVtZW50ID0gKGF3YWl0IGZzLnBhdGhFeGlzdHMoYW1lbmRlbWVudEZpbGVQYXRoKSlcbiAgICAgICAgPyBhd2FpdCBmcy5yZWFkSnNvbihhbWVuZGVtZW50RmlsZVBhdGgpXG4gICAgICAgIDogbnVsbFxuICAgICAgaWYgKCFkZWVwRXF1YWwoYW1lbmRlbWVudCwgZXhpc3RpbmdBbWVuZGVtZW50KSkge1xuICAgICAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICAgICAgaWYgKGV4aXN0aW5nQW1lbmRlbWVudCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYEFkZGluZyBhbWVuZGVtZW50IEpTT046ICR7YW1lbmRlbWVudEZpbGVQYXRofeKApmApXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBVcGRhdGluZyBhbWVuZGVtZW50IEpTT046ICR7YW1lbmRlbWVudEZpbGVQYXRofeKApmApXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF3YWl0IGZzLndyaXRlSnNvbihhbWVuZGVtZW50RmlsZVBhdGgsIGFtZW5kZW1lbnQsIHsgc3BhY2VzOiAyIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKG9wdGlvbnMuY29tbWl0KSB7XG4gICAgcmV0dXJuIGdpdC5jb21taXRBbmRQdXNoKGFtZW5kZW1lbnRzRGlyLCBcIk5vdXZlbGxlIG1vaXNzb25cIiwgb3B0aW9ucy5yZW1vdGUpXG4gIH1cbiAgcmV0dXJuIDBcbn1cblxubWFpbigpXG4gIC50aGVuKChleGl0Q29kZSkgPT4gcHJvY2Vzcy5leGl0KGV4aXRDb2RlKSlcbiAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgIHByb2Nlc3MuZXhpdCgxKVxuICB9KVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxlQUFlLE1BQU0sbUJBQW1CO0FBQy9DLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLEVBQUUsTUFBTSxVQUFVO0FBQ3pCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQUEsT0FFaEIsS0FBS0MsR0FBRztBQUFBLFNBQ05DLDJCQUEyQjtBQUFBLFNBRWxDQyxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsb0JBQW9CLEVBQ3BCQyxpQkFBaUIsRUFDakJDLFVBQVUsRUFDVkMsWUFBWSxFQUNaQyxZQUFZLEVBQ1pDLGFBQWE7QUFHZixNQUFNQyxrQkFBa0IsR0FBRyxDQUN6QlIsV0FBVyxFQUNYQyxZQUFZLEVBQ1pFLGlCQUFpQixFQUNqQkUsWUFBWSxFQUNaQyxZQUFZLEVBQ1pDLGFBQWEsRUFDYkwsb0JBQW9CLEVBQ3BCRSxVQUFVLEVBQ1Y7RUFDRUssS0FBSyxFQUFFLEdBQUc7RUFDVkMsSUFBSSxFQUFFLGlGQUFpRjtFQUN2RkMsSUFBSSxFQUFFLGFBQWE7RUFDbkJDLElBQUksRUFBRUM7QUFDUixDQUFDLENBQ0Y7QUFDRCxNQUFNQyxPQUFPLEdBQUdwQixlQUFlLENBQUNjLGtCQUFrQixDQUFDO0FBRW5ELGVBQWVPLElBQUlBLENBQUEsRUFBb0I7RUFDckMsTUFBTUMsV0FBVyxHQUFHRixPQUFPLENBQUNHLEtBQUssR0FDN0JILE9BQU8sQ0FBQ0csS0FBSyxDQUFDQyxJQUFJLENBQUMsQ0FBQyxDQUFDQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUN4Q0MsU0FBUztFQUVidEIsR0FBRyxDQUFDbUIsS0FBSyxDQUFDRCxX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