@tricoteuses/assemblee 1.7.0 → 1.7.1
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 +9 -27
- package/lib/bugs/acteur-00010/plugin.test.js +4 -4
- package/lib/bugs/acteur-00010/plugin.test.mjs +1 -1
- package/lib/bugs/acteur-00010.js +15 -16
- package/lib/bugs/acteur-00010.mjs +1 -1
- package/lib/bugs/agenda-00002/plugin.test.js +4 -4
- package/lib/bugs/agenda-00002/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00002.js +27 -28
- package/lib/bugs/agenda-00002.mjs +3 -3
- package/lib/bugs/agenda-00008/plugin.test.js +4 -4
- package/lib/bugs/agenda-00008/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00008.js +15 -16
- package/lib/bugs/agenda-00008.mjs +1 -1
- package/lib/bugs/agenda-00011/plugin.test.js +5 -5
- package/lib/bugs/agenda-00011/plugin.test.mjs +1 -1
- package/lib/bugs/agenda-00011.js +21 -22
- package/lib/bugs/agenda-00011.mjs +3 -3
- package/lib/bugs.js +17 -19
- package/lib/bugs.mjs +3 -3
- package/lib/cleaners/actes_legislatifs.js +5 -5
- package/lib/cleaners/acteurs.js +5 -5
- package/lib/cleaners/acteurs.mjs +1 -1
- package/lib/cleaners/amendements.js +5 -5
- package/lib/cleaners/documents.js +5 -5
- package/lib/cleaners/dossiers_legislatifs.js +5 -5
- package/lib/cleaners/organes.js +2 -2
- package/lib/cleaners/reunions.js +5 -5
- package/lib/cleaners/scrutins.js +8 -8
- package/lib/cleaners/xml.js +8 -8
- package/lib/cleaners/xml.mjs +1 -1
- package/lib/datasets.d.ts +2 -2
- package/lib/datasets.js +53 -132
- package/lib/datasets.mjs +40 -118
- package/lib/dates.js +1 -2
- package/lib/dossiers_legislatifs.js +8 -8
- package/lib/file_systems.js +15 -14
- package/lib/file_systems.mjs +3 -3
- package/lib/git.d.ts +1 -0
- package/lib/git.js +21 -5
- package/lib/git.mjs +16 -1
- package/lib/inserters.js +3 -3
- package/lib/loaders.d.ts +14 -40
- package/lib/loaders.js +580 -1086
- package/lib/loaders.mjs +110 -353
- package/lib/parsers/documents.js +10 -10
- package/lib/parsers/documents.mjs +1 -1
- package/lib/parsers/recherche_amendements.js +17 -15
- package/lib/parsers/recherche_amendements.mjs +1 -1
- package/lib/raw_types/acteurs_et_organes.js +9 -9
- package/lib/raw_types/acteurs_et_organes.mjs +1 -1
- package/lib/raw_types/agendas.js +9 -9
- package/lib/raw_types/agendas.mjs +1 -1
- package/lib/raw_types/amendements.js +9 -9
- package/lib/raw_types/amendements.mjs +1 -1
- package/lib/raw_types/debats.d.ts +26 -78
- package/lib/raw_types/debats.js +49 -242
- package/lib/raw_types/debats.mjs +41 -234
- package/lib/raw_types/dossiers_legislatifs.js +9 -9
- package/lib/raw_types/dossiers_legislatifs.mjs +1 -1
- package/lib/raw_types/questions.js +9 -9
- package/lib/raw_types/questions.mjs +1 -1
- package/lib/raw_types/scrutins.js +9 -9
- package/lib/raw_types/scrutins.mjs +1 -1
- package/lib/scripts/bugs_helper.js +17 -18
- package/lib/scripts/bugs_helper.mjs +3 -3
- package/lib/scripts/clean_reorganized_data.js +183 -561
- package/lib/scripts/clean_reorganized_data.mjs +111 -410
- package/lib/scripts/diff_amendements.js +11 -24
- package/lib/scripts/diff_amendements.mjs +3 -17
- package/lib/scripts/document_dossiers_legislatifs.js +24 -27
- package/lib/scripts/document_dossiers_legislatifs.mjs +3 -3
- package/lib/scripts/get_today_reunions.js +5 -8
- package/lib/scripts/get_today_reunions.mjs +3 -7
- package/lib/scripts/merge_scrutins.js +11 -24
- package/lib/scripts/merge_scrutins.mjs +3 -17
- package/lib/scripts/parse_textes_lois.js +8 -38
- package/lib/scripts/parse_textes_lois.mjs +3 -33
- package/lib/scripts/raw_types_from_amendements.js +14 -27
- package/lib/scripts/raw_types_from_amendements.mjs +3 -17
- package/lib/scripts/reorganize_data.js +204 -456
- package/lib/scripts/reorganize_data.mjs +68 -260
- package/lib/scripts/retrieve_deputes_photos.d.ts +3 -1
- package/lib/scripts/retrieve_deputes_photos.js +146 -172
- package/lib/scripts/retrieve_deputes_photos.mjs +74 -98
- package/lib/scripts/retrieve_documents.js +207 -156
- package/lib/scripts/retrieve_documents.mjs +116 -128
- package/lib/scripts/retrieve_open_data.js +272 -249
- package/lib/scripts/retrieve_open_data.mjs +109 -123
- package/lib/scripts/retrieve_pending_amendments.js +16 -67
- package/lib/scripts/retrieve_pending_amendments.mjs +4 -55
- package/lib/scripts/retrieve_senateurs_photos.js +20 -77
- package/lib/scripts/retrieve_senateurs_photos.mjs +5 -61
- package/lib/scripts/retrieve_textes_lois.js +18 -46
- package/lib/scripts/retrieve_textes_lois.mjs +3 -33
- package/lib/scripts/shared/cli_helpers.d.ts +66 -0
- package/lib/scripts/shared/cli_helpers.js +90 -0
- package/lib/scripts/shared/cli_helpers.mjs +72 -0
- package/lib/scripts/test_iter_load.d.ts +1 -0
- package/lib/scripts/test_iter_load.js +154 -0
- package/lib/scripts/test_iter_load.mjs +71 -0
- package/lib/scripts/test_load.js +4 -15
- package/lib/scripts/test_load.mjs +3 -14
- package/lib/scripts/test_load_big_files.js +4 -15
- package/lib/scripts/test_load_big_files.mjs +3 -14
- package/lib/scripts/validate_json.js +15 -16
- package/lib/scripts/validate_json.mjs +3 -3
- package/lib/types/acteurs_et_organes.js +9 -9
- package/lib/types/acteurs_et_organes.mjs +1 -1
- package/lib/types/agendas.js +9 -9
- package/lib/types/agendas.mjs +1 -1
- package/lib/types/amendements.js +9 -9
- package/lib/types/amendements.mjs +1 -1
- package/lib/types/debats.d.ts +27 -79
- package/lib/types/debats.js +48 -241
- package/lib/types/debats.mjs +40 -233
- package/lib/types/dossiers_legislatifs.js +9 -9
- package/lib/types/dossiers_legislatifs.mjs +1 -1
- package/lib/types/legislatures.d.ts +4 -4
- package/lib/types/legislatures.js +5 -5
- package/lib/types/legislatures.mjs +5 -5
- package/lib/types/questions.js +9 -9
- package/lib/types/questions.mjs +1 -1
- package/lib/types/scrutins.js +9 -9
- package/lib/types/scrutins.mjs +1 -1
- package/lib/urls.js +2 -2
- package/lib/urls.mjs +1 -1
- package/package.json +9 -7
|
@@ -23,14 +23,19 @@ require("core-js/modules/es.regexp.to-string.js");
|
|
|
23
23
|
require("core-js/modules/es.string.iterator.js");
|
|
24
24
|
require("core-js/modules/es.weak-map.js");
|
|
25
25
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
26
|
+
Object.defineProperty(exports, "__esModule", {
|
|
27
|
+
value: true
|
|
28
|
+
});
|
|
29
|
+
exports.cloneAndUpdateGitRepository = cloneAndUpdateGitRepository;
|
|
30
|
+
exports.resizePhoto = resizePhoto;
|
|
26
31
|
require("core-js/modules/es.array.concat.js");
|
|
27
32
|
require("core-js/modules/es.array.filter.js");
|
|
28
33
|
require("core-js/modules/es.array.iterator.js");
|
|
29
34
|
require("core-js/modules/es.array.join.js");
|
|
30
35
|
require("core-js/modules/es.array.slice.js");
|
|
31
|
-
require("core-js/modules/es.
|
|
36
|
+
require("core-js/modules/es.date.to-json.js");
|
|
37
|
+
require("core-js/modules/es.number.constructor.js");
|
|
32
38
|
require("core-js/modules/es.object.to-string.js");
|
|
33
|
-
require("core-js/modules/es.object.values.js");
|
|
34
39
|
require("core-js/modules/es.promise.js");
|
|
35
40
|
require("core-js/modules/es.regexp.exec.js");
|
|
36
41
|
require("core-js/modules/es.string.replace.js");
|
|
@@ -42,172 +47,156 @@ var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
|
42
47
|
var _path = _interopRequireDefault(require("path"));
|
|
43
48
|
var _stream = _interopRequireDefault(require("stream"));
|
|
44
49
|
var _util = _interopRequireDefault(require("util"));
|
|
45
|
-
var _datasets = require("../datasets");
|
|
46
50
|
var git = _interopRequireWildcard(require("../git"));
|
|
47
51
|
var _loaders = require("../loaders");
|
|
48
52
|
var _acteurs_et_organes = require("../types/acteurs_et_organes");
|
|
53
|
+
var _cli_helpers = require("./shared/cli_helpers");
|
|
49
54
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
50
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
51
|
-
function _interopRequireDefault(
|
|
52
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw
|
|
53
|
-
function _slicedToArray(
|
|
55
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
56
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
57
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
58
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
54
59
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
55
60
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
56
|
-
function _arrayWithHoles(
|
|
57
|
-
function _createForOfIteratorHelper(
|
|
58
|
-
function _unsupportedIterableToArray(
|
|
59
|
-
function _arrayLikeToArray(
|
|
60
|
-
function asyncGeneratorStep(
|
|
61
|
-
function _asyncToGenerator(
|
|
62
|
-
var optionsDefinitions = [{
|
|
63
|
-
alias: "C",
|
|
64
|
-
help: "clone repositories from given group (or organization) git URL",
|
|
65
|
-
name: "clone",
|
|
66
|
-
type: String
|
|
67
|
-
}, {
|
|
68
|
-
alias: "c",
|
|
69
|
-
help: "commit photos",
|
|
70
|
-
name: "commit",
|
|
71
|
-
type: Boolean
|
|
72
|
-
}, {
|
|
73
|
-
alias: "f",
|
|
74
|
-
help: "fetch députés' pictures instead of retrieving them from files",
|
|
75
|
-
name: "fetch",
|
|
76
|
-
type: Boolean
|
|
77
|
-
}, {
|
|
61
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
62
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
63
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
64
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
65
|
+
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
|
|
66
|
+
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
|
|
67
|
+
var optionsDefinitions = [_cli_helpers.cloneOption, _cli_helpers.commitOption, _cli_helpers.remoteOption, _cli_helpers.silentOption, _cli_helpers.dataDirDefaultOption, _cli_helpers.pullOption, _cli_helpers.fetchOption, {
|
|
78
68
|
alias: "l",
|
|
79
69
|
defaultValue: "16",
|
|
80
70
|
name: "legislature",
|
|
81
71
|
type: String
|
|
82
72
|
}, {
|
|
83
|
-
alias: "
|
|
84
|
-
|
|
85
|
-
name: "
|
|
86
|
-
type:
|
|
73
|
+
alias: "w",
|
|
74
|
+
defaultValue: 150,
|
|
75
|
+
name: "width",
|
|
76
|
+
type: Number
|
|
87
77
|
}, {
|
|
88
|
-
alias: "
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
type: String
|
|
93
|
-
}, {
|
|
94
|
-
alias: "s",
|
|
95
|
-
help: "don't log anything",
|
|
96
|
-
name: "silent",
|
|
97
|
-
type: Boolean
|
|
98
|
-
}, {
|
|
99
|
-
defaultOption: true,
|
|
100
|
-
help: "directory containing Assemblée open data files",
|
|
101
|
-
name: "dataDir",
|
|
102
|
-
type: String
|
|
78
|
+
alias: "h",
|
|
79
|
+
defaultValue: 192,
|
|
80
|
+
name: "height",
|
|
81
|
+
type: Number
|
|
103
82
|
}];
|
|
104
83
|
var options = (0, _commandLineArgs["default"])(optionsDefinitions);
|
|
105
84
|
var pipeline = _util["default"].promisify(_stream["default"].pipeline);
|
|
85
|
+
function cloneAndUpdateGitRepository(photosDirName, options) {
|
|
86
|
+
var gitGroupUrl = options.clone ? options.clone.trim().replace(/\/+$/, "") : undefined;
|
|
87
|
+
var photosDir = _path["default"].join(options.dataDir, photosDirName);
|
|
88
|
+
if (gitGroupUrl !== undefined) {
|
|
89
|
+
(0, _child_process.execSync)("git clone ".concat(gitGroupUrl, "/").concat(photosDirName, ".git"), {
|
|
90
|
+
cwd: options.dataDir,
|
|
91
|
+
env: process.env,
|
|
92
|
+
encoding: "utf-8",
|
|
93
|
+
stdio: ["ignore", "ignore", "pipe"]
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
if (options.pull) {
|
|
97
|
+
git.resetAndPull(photosDir);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function resizePhoto(acteur, width, height, photosDir, options) {
|
|
101
|
+
var ident = acteur.etatCivil.ident;
|
|
102
|
+
var numeroActeur = acteur.uid.substring(2);
|
|
103
|
+
if (!options.silent) {
|
|
104
|
+
console.log("Resizing photo ".concat(numeroActeur, " for ").concat(ident.prenom, " ").concat(ident.nom, "\u2026"));
|
|
105
|
+
}
|
|
106
|
+
(0, _child_process.execSync)("gm convert -resize ".concat(width, "x").concat(height, "! ").concat(numeroActeur, ".jpg ").concat(numeroActeur, "_").concat(width, "x").concat(height, ".jpg"), {
|
|
107
|
+
cwd: photosDir
|
|
108
|
+
});
|
|
109
|
+
}
|
|
106
110
|
function retrievePhotosDeputes() {
|
|
107
111
|
return _retrievePhotosDeputes.apply(this, arguments);
|
|
108
112
|
}
|
|
109
113
|
function _retrievePhotosDeputes() {
|
|
110
114
|
_retrievePhotosDeputes = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
111
|
-
var dataDir,
|
|
115
|
+
var dataDir, photosPrefix, photosDirName, photosDir, photosWidth, photosHeight, missingPhotoFilePath, acteurUids, _iterator, _step, acteur, mandats, mandatDeputeLegislature, ident, _numeroDepute, _photoFilename, photoFilePath, photoTempFilename, photoTempFilePath, urlPhoto, retries, response, photoByIdDepute, rowsFilenames, acteurIndex, rowIndex, row, photosFilenames, _iterator2, _step2, _step2$value, columnIndex, acteurUid, numeroDepute, photoFilename, rowFilename, _i, _rowsFilenames, _rowFilename, jsonFilePath;
|
|
112
116
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
113
117
|
while (1) switch (_context.prev = _context.next) {
|
|
114
118
|
case 0:
|
|
115
119
|
dataDir = options.dataDir;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
var mandats = acteur.mandats;
|
|
119
|
-
if (!mandats) {
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
var mandatDeputeLegislature = mandats.filter(function (mandat) {
|
|
123
|
-
return mandat.xsiType === _acteurs_et_organes.TypeMandat.MandatParlementaireType && mandat.legislature === options.legislature && mandat.typeOrgane === _acteurs_et_organes.CodeTypeOrgane.Assemblee;
|
|
124
|
-
})[0];
|
|
125
|
-
return mandatDeputeLegislature !== undefined;
|
|
126
|
-
}).sort(function (a, b) {
|
|
127
|
-
return a.uid.length === b.uid.length ? a.uid.localeCompare(b.uid) : a.uid.length - b.uid.length;
|
|
128
|
-
});
|
|
129
|
-
gitGroupUrl = options.clone ? options.clone.trim().replace(/\/+$/, "") : undefined;
|
|
130
|
-
photosDirName = "photos_deputes_".concat(options.legislature);
|
|
131
|
-
if (gitGroupUrl !== undefined) {
|
|
132
|
-
(0, _child_process.execSync)("git clone ".concat(gitGroupUrl, "/").concat(photosDirName, ".git"), {
|
|
133
|
-
cwd: dataDir,
|
|
134
|
-
env: process.env,
|
|
135
|
-
encoding: "utf-8",
|
|
136
|
-
stdio: ["ignore", "ignore", "pipe"]
|
|
137
|
-
});
|
|
138
|
-
}
|
|
120
|
+
photosPrefix = "photos_deputes";
|
|
121
|
+
photosDirName = "".concat(photosPrefix, "_").concat(options.legislature);
|
|
139
122
|
photosDir = _path["default"].join(dataDir, photosDirName);
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
encoding: "utf-8",
|
|
145
|
-
stdio: ["ignore", "ignore", "pipe"]
|
|
146
|
-
});
|
|
147
|
-
(0, _child_process.execSync)("git pull --rebase", {
|
|
148
|
-
cwd: photosDir,
|
|
149
|
-
env: process.env,
|
|
150
|
-
encoding: "utf-8",
|
|
151
|
-
stdio: ["ignore", "ignore", "pipe"]
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// Download photos.
|
|
123
|
+
photosWidth = options.width;
|
|
124
|
+
photosHeight = options.height;
|
|
125
|
+
missingPhotoFilePath = "images/transparent_".concat(photosWidth, "x").concat(photosHeight, ".jpg");
|
|
126
|
+
cloneAndUpdateGitRepository(photosDirName, options);
|
|
156
127
|
_fsExtra["default"].ensureDirSync(photosDir);
|
|
157
|
-
|
|
128
|
+
acteurUids = [];
|
|
129
|
+
_iterator = _createForOfIteratorHelper((0, _loaders.iterLoadAssembleeActeurs)(dataDir, options.legislature, {
|
|
130
|
+
noValidation: true
|
|
131
|
+
}));
|
|
132
|
+
_context.prev = 11;
|
|
133
|
+
_iterator.s();
|
|
134
|
+
case 13:
|
|
135
|
+
if ((_step = _iterator.n()).done) {
|
|
158
136
|
_context.next = 57;
|
|
159
137
|
break;
|
|
160
138
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
139
|
+
acteur = _step.value.acteur;
|
|
140
|
+
mandats = acteur.mandats;
|
|
141
|
+
if (mandats) {
|
|
142
|
+
_context.next = 18;
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
return _context.abrupt("continue", 55);
|
|
146
|
+
case 18:
|
|
147
|
+
mandatDeputeLegislature = mandats.filter(function (mandat) {
|
|
148
|
+
return mandat.xsiType === _acteurs_et_organes.TypeMandat.MandatParlementaireType && mandat.legislature === options.legislature && mandat.typeOrgane === _acteurs_et_organes.CodeTypeOrgane.Assemblee;
|
|
149
|
+
})[0];
|
|
150
|
+
if (!(mandatDeputeLegislature === undefined)) {
|
|
151
|
+
_context.next = 21;
|
|
168
152
|
break;
|
|
169
153
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
154
|
+
return _context.abrupt("continue", 55);
|
|
155
|
+
case 21:
|
|
156
|
+
if (!options.fetch) {
|
|
157
|
+
_context.next = 54;
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
ident = acteur.etatCivil.ident;
|
|
161
|
+
_numeroDepute = acteur.uid.substring(2);
|
|
162
|
+
_photoFilename = "".concat(_numeroDepute, ".jpg");
|
|
163
|
+
photoFilePath = _path["default"].join(photosDir, _photoFilename);
|
|
164
|
+
photoTempFilename = "".concat(_numeroDepute, "_temp.jpg");
|
|
176
165
|
photoTempFilePath = _path["default"].join(photosDir, photoTempFilename);
|
|
177
|
-
urlPhoto = "http://www2.assemblee-nationale.fr/static/tribun/".concat(options.legislature, "/photos/").concat(
|
|
166
|
+
urlPhoto = "http://www2.assemblee-nationale.fr/static/tribun/".concat(options.legislature, "/photos/").concat(_photoFilename);
|
|
178
167
|
if (!options.silent) {
|
|
179
168
|
console.log("Loading photo ".concat(urlPhoto, " for ").concat(ident.prenom, " ").concat(ident.nom, "\u2026"));
|
|
180
169
|
}
|
|
181
170
|
retries = 0;
|
|
182
|
-
case
|
|
171
|
+
case 31:
|
|
183
172
|
if (!(retries < 3)) {
|
|
184
|
-
_context.next =
|
|
173
|
+
_context.next = 53;
|
|
185
174
|
break;
|
|
186
175
|
}
|
|
187
|
-
_context.next =
|
|
176
|
+
_context.next = 34;
|
|
188
177
|
return fetch(urlPhoto);
|
|
189
|
-
case
|
|
178
|
+
case 34:
|
|
190
179
|
response = _context.sent;
|
|
191
180
|
if (!response.ok) {
|
|
192
|
-
_context.next =
|
|
181
|
+
_context.next = 40;
|
|
193
182
|
break;
|
|
194
183
|
}
|
|
195
|
-
_context.next =
|
|
184
|
+
_context.next = 38;
|
|
196
185
|
return pipeline(response.body, _fsExtra["default"].createWriteStream(photoTempFilePath));
|
|
197
|
-
case
|
|
186
|
+
case 38:
|
|
198
187
|
_fsExtra["default"].renameSync(photoTempFilePath, photoFilePath);
|
|
199
|
-
return _context.abrupt("break",
|
|
200
|
-
case
|
|
188
|
+
return _context.abrupt("break", 53);
|
|
189
|
+
case 40:
|
|
201
190
|
if (!(retries >= 2)) {
|
|
202
|
-
_context.next =
|
|
191
|
+
_context.next = 50;
|
|
203
192
|
break;
|
|
204
193
|
}
|
|
205
194
|
console.warn("Fetch failed: ".concat(urlPhoto, " (").concat(ident.prenom, " ").concat(ident.nom, ")"));
|
|
206
195
|
console.warn(response.status, response.statusText);
|
|
207
196
|
_context.t0 = console;
|
|
208
|
-
_context.next =
|
|
197
|
+
_context.next = 46;
|
|
209
198
|
return response.text();
|
|
210
|
-
case
|
|
199
|
+
case 46:
|
|
211
200
|
_context.t1 = _context.sent;
|
|
212
201
|
_context.t0.warn.call(_context.t0, _context.t1);
|
|
213
202
|
if (_fsExtra["default"].existsSync(photoFilePath)) {
|
|
@@ -216,72 +205,57 @@ function _retrievePhotosDeputes() {
|
|
|
216
205
|
console.warn(" => Using blank image");
|
|
217
206
|
_fsExtra["default"].copyFileSync(missingPhotoFilePath, photoFilePath);
|
|
218
207
|
}
|
|
219
|
-
return _context.abrupt("break",
|
|
220
|
-
case
|
|
208
|
+
return _context.abrupt("break", 53);
|
|
209
|
+
case 50:
|
|
221
210
|
retries++;
|
|
222
|
-
_context.next =
|
|
211
|
+
_context.next = 31;
|
|
223
212
|
break;
|
|
224
|
-
case
|
|
225
|
-
|
|
213
|
+
case 53:
|
|
214
|
+
// Resize photos to 150x192, because some haven't exactly this size.
|
|
215
|
+
resizePhoto(acteur, photosWidth, photosHeight, photosDir, options);
|
|
216
|
+
case 54:
|
|
217
|
+
acteurUids.push(acteur.uid);
|
|
218
|
+
case 55:
|
|
219
|
+
_context.next = 13;
|
|
226
220
|
break;
|
|
227
|
-
case
|
|
228
|
-
_context.next =
|
|
221
|
+
case 57:
|
|
222
|
+
_context.next = 62;
|
|
229
223
|
break;
|
|
230
|
-
case
|
|
231
|
-
_context.prev =
|
|
232
|
-
_context.t2 = _context["catch"](
|
|
224
|
+
case 59:
|
|
225
|
+
_context.prev = 59;
|
|
226
|
+
_context.t2 = _context["catch"](11);
|
|
233
227
|
_iterator.e(_context.t2);
|
|
234
|
-
case
|
|
235
|
-
_context.prev =
|
|
228
|
+
case 62:
|
|
229
|
+
_context.prev = 62;
|
|
236
230
|
_iterator.f();
|
|
237
|
-
return _context.finish(
|
|
238
|
-
case
|
|
239
|
-
//
|
|
240
|
-
_iterator2 = _createForOfIteratorHelper(deputesLegislature);
|
|
241
|
-
try {
|
|
242
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
243
|
-
_depute2 = _step2.value;
|
|
244
|
-
_ident = _depute2.etatCivil.ident;
|
|
245
|
-
_numeroDepute2 = _depute2.uid.substring(2);
|
|
246
|
-
if (!options.silent) {
|
|
247
|
-
console.log("Resizing photo ".concat(_numeroDepute2, " for ").concat(_ident.prenom, " ").concat(_ident.nom, "\u2026"));
|
|
248
|
-
}
|
|
249
|
-
(0, _child_process.execSync)("gm convert -resize 150x192! ".concat(_numeroDepute2, ".jpg ").concat(_numeroDepute2, "_150x192.jpg"), {
|
|
250
|
-
cwd: photosDir
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
// Create a mosaic of photos.
|
|
255
|
-
} catch (err) {
|
|
256
|
-
_iterator2.e(err);
|
|
257
|
-
} finally {
|
|
258
|
-
_iterator2.f();
|
|
259
|
-
}
|
|
231
|
+
return _context.finish(62);
|
|
232
|
+
case 65:
|
|
233
|
+
// Create a mosaic of photos.
|
|
260
234
|
photoByIdDepute = {};
|
|
261
235
|
rowsFilenames = [];
|
|
262
|
-
for (
|
|
263
|
-
row =
|
|
236
|
+
for (acteurIndex = 0, rowIndex = 0; acteurIndex < acteurUids.length; acteurIndex += 25, rowIndex++) {
|
|
237
|
+
row = acteurUids.slice(acteurIndex, acteurIndex + 25);
|
|
264
238
|
photosFilenames = [];
|
|
265
|
-
|
|
239
|
+
_iterator2 = _createForOfIteratorHelper(row.entries());
|
|
266
240
|
try {
|
|
267
|
-
for (
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
photosFilenames.push(
|
|
272
|
-
photoByIdDepute[
|
|
273
|
-
chemin: "
|
|
274
|
-
cheminMosaique: "
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
xMosaique: columnIndex *
|
|
278
|
-
yMosaique: rowIndex *
|
|
241
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
242
|
+
_step2$value = _slicedToArray(_step2.value, 2), columnIndex = _step2$value[0], acteurUid = _step2$value[1];
|
|
243
|
+
numeroDepute = acteurUid.substring(2);
|
|
244
|
+
photoFilename = "".concat(numeroDepute, "_").concat(photosWidth, "x").concat(photosHeight, ".jpg");
|
|
245
|
+
photosFilenames.push(photoFilename);
|
|
246
|
+
photoByIdDepute[acteurUid] = {
|
|
247
|
+
chemin: "".concat(photosPrefix, "_").concat(options.legislature, "/").concat(photoFilename),
|
|
248
|
+
cheminMosaique: "".concat(photosPrefix, "_").concat(options.legislature, "/deputes.jpg"),
|
|
249
|
+
largeur: photosWidth,
|
|
250
|
+
hauteur: photosHeight,
|
|
251
|
+
xMosaique: columnIndex * photosWidth,
|
|
252
|
+
yMosaique: rowIndex * photosHeight
|
|
279
253
|
};
|
|
280
254
|
}
|
|
281
255
|
} catch (err) {
|
|
282
|
-
|
|
256
|
+
_iterator2.e(err);
|
|
283
257
|
} finally {
|
|
284
|
-
|
|
258
|
+
_iterator2.f();
|
|
285
259
|
}
|
|
286
260
|
rowFilename = "row-".concat(rowIndex, ".jpg");
|
|
287
261
|
(0, _child_process.execSync)("gm convert ".concat(photosFilenames.join(" "), " +append ").concat(rowFilename), {
|
|
@@ -299,17 +273,17 @@ function _retrievePhotosDeputes() {
|
|
|
299
273
|
jsonFilePath = _path["default"].join(photosDir, "deputes.json");
|
|
300
274
|
_fsExtra["default"].writeFileSync(jsonFilePath, JSON.stringify(photoByIdDepute, null, 2));
|
|
301
275
|
if (!options.commit) {
|
|
302
|
-
_context.next =
|
|
276
|
+
_context.next = 74;
|
|
303
277
|
break;
|
|
304
278
|
}
|
|
305
279
|
return _context.abrupt("return", git.commitAndPush(photosDir, "Nouvelle moisson", options.remote));
|
|
306
|
-
case
|
|
280
|
+
case 74:
|
|
307
281
|
return _context.abrupt("return", 0);
|
|
308
|
-
case
|
|
282
|
+
case 75:
|
|
309
283
|
case "end":
|
|
310
284
|
return _context.stop();
|
|
311
285
|
}
|
|
312
|
-
}, _callee, null, [[
|
|
286
|
+
}, _callee, null, [[11, 59, 62, 65]]);
|
|
313
287
|
}));
|
|
314
288
|
return _retrievePhotosDeputes.apply(this, arguments);
|
|
315
289
|
}
|
|
@@ -319,4 +293,4 @@ retrievePhotosDeputes().then(function (exitCode) {
|
|
|
319
293
|
console.log(error);
|
|
320
294
|
process.exit(1);
|
|
321
295
|
});
|
|
322
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hpbGRfcHJvY2VzcyIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9mc0V4dHJhIiwiX3BhdGgiLCJfc3RyZWFtIiwiX3V0aWwiLCJfZGF0YXNldHMiLCJnaXQiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9sb2FkZXJzIiwiX2FjdGV1cnNfZXRfb3JnYW5lcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm9iaiIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJvIiwidmFsdWUiLCJTeW1ib2wiLCJpdGVyYXRvciIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl9zbGljZWRUb0FycmF5IiwiYXJyIiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIkFycmF5IiwiaXNBcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiYWxsb3dBcnJheUxpa2UiLCJpdCIsIkYiLCJfZSIsIm5vcm1hbENvbXBsZXRpb24iLCJkaWRFcnIiLCJlcnIiLCJzdGVwIiwiX2UyIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsImZyb20iLCJ0ZXN0IiwibGVuIiwiYXJyMiIsImFzeW5jR2VuZXJhdG9yU3RlcCIsImdlbiIsInJlamVjdCIsIl9uZXh0IiwiX3Rocm93Iiwia2V5IiwiaW5mbyIsImVycm9yIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJmbiIsInNlbGYiLCJhcmdzIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJ1bmRlZmluZWQiLCJvcHRpb25zRGVmaW5pdGlvbnMiLCJhbGlhcyIsImhlbHAiLCJTdHJpbmciLCJCb29sZWFuIiwiZGVmYXVsdFZhbHVlIiwibXVsdGlwbGUiLCJkZWZhdWx0T3B0aW9uIiwib3B0aW9ucyIsImNvbW1hbmRMaW5lQXJncyIsInBpcGVsaW5lIiwidXRpbCIsInByb21pc2lmeSIsInN0cmVhbSIsInJldHJpZXZlUGhvdG9zRGVwdXRlcyIsIl9yZXRyaWV2ZVBob3Rvc0RlcHV0ZXMiLCJfY2FsbGVlIiwiZGF0YURpciIsIl9sb2FkQXNzZW1ibGVlRGF0YSIsImFjdGV1ckJ5VWlkIiwiZGVwdXRlc0xlZ2lzbGF0dXJlIiwiZ2l0R3JvdXBVcmwiLCJwaG90b3NEaXJOYW1lIiwicGhvdG9zRGlyIiwibWlzc2luZ1Bob3RvRmlsZVBhdGgiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImRlcHV0ZSIsImlkZW50IiwibnVtZXJvRGVwdXRlIiwicGhvdG9GaWxlbmFtZSIsInBob3RvRmlsZVBhdGgiLCJwaG90b1RlbXBGaWxlbmFtZSIsInBob3RvVGVtcEZpbGVQYXRoIiwidXJsUGhvdG8iLCJyZXRyaWVzIiwicmVzcG9uc2UiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwiX2RlcHV0ZTIiLCJfaWRlbnQiLCJfbnVtZXJvRGVwdXRlMiIsInBob3RvQnlJZERlcHV0ZSIsInJvd3NGaWxlbmFtZXMiLCJkZXB1dGVJbmRleCIsInJvd0luZGV4Iiwicm93IiwicGhvdG9zRmlsZW5hbWVzIiwiX2l0ZXJhdG9yMyIsIl9zdGVwMyIsIl9zdGVwMyR2YWx1ZSIsImNvbHVtbkluZGV4IiwiX2RlcHV0ZSIsIl9udW1lcm9EZXB1dGUiLCJfcGhvdG9GaWxlbmFtZSIsInJvd0ZpbGVuYW1lIiwiX2kiLCJfcm93c0ZpbGVuYW1lcyIsIl9yb3dGaWxlbmFtZSIsImpzb25GaWxlUGF0aCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJsb2FkQXNzZW1ibGVlRGF0YSIsIkVuYWJsZWREYXRhc2V0cyIsIkFjdGV1cnNFdE9yZ2FuZXMiLCJsZWdpc2xhdHVyZSIsImZpbHRlciIsImFjdGV1ciIsIm1hbmRhdHMiLCJtYW5kYXREZXB1dGVMZWdpc2xhdHVyZSIsIm1hbmRhdCIsInhzaVR5cGUiLCJUeXBlTWFuZGF0IiwiTWFuZGF0UGFybGVtZW50YWlyZVR5cGUiLCJ0eXBlT3JnYW5lIiwiQ29kZVR5cGVPcmdhbmUiLCJBc3NlbWJsZWUiLCJzb3J0IiwiYiIsInVpZCIsImxvY2FsZUNvbXBhcmUiLCJjbG9uZSIsInRyaW0iLCJyZXBsYWNlIiwiY29uY2F0IiwiZXhlY1N5bmMiLCJjd2QiLCJlbnYiLCJwcm9jZXNzIiwiZW5jb2RpbmciLCJzdGRpbyIsInBhdGgiLCJqb2luIiwicHVsbCIsImZzIiwiZW5zdXJlRGlyU3luYyIsImZldGNoIiwiZXRhdENpdmlsIiwic3Vic3RyaW5nIiwic2lsZW50IiwiY29uc29sZSIsImxvZyIsInByZW5vbSIsIm5vbSIsIm9rIiwiYm9keSIsImNyZWF0ZVdyaXRlU3RyZWFtIiwicmVuYW1lU3luYyIsIndhcm4iLCJzdGF0dXMiLCJzdGF0dXNUZXh0IiwidDAiLCJ0ZXh0IiwidDEiLCJleGlzdHNTeW5jIiwiY29weUZpbGVTeW5jIiwidDIiLCJlbnRyaWVzIiwiY2hlbWluIiwiY2hlbWluTW9zYWlxdWUiLCJoYXV0ZXVyIiwibGFyZ2V1ciIsInhNb3NhaXF1ZSIsInlNb3NhaXF1ZSIsInVubGlua1N5bmMiLCJ3cml0ZUZpbGVTeW5jIiwiSlNPTiIsInN0cmluZ2lmeSIsImNvbW1pdCIsImNvbW1pdEFuZFB1c2giLCJyZW1vdGUiLCJleGl0Q29kZSIsImV4aXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9yZXRyaWV2ZV9kZXB1dGVzX3Bob3Rvcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCJcbmltcG9ydCBjb21tYW5kTGluZUFyZ3MgZnJvbSBcImNvbW1hbmQtbGluZS1hcmdzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IHN0cmVhbSBmcm9tIFwic3RyZWFtXCJcbmltcG9ydCB1dGlsIGZyb20gXCJ1dGlsXCJcblxuaW1wb3J0IHsgRW5hYmxlZERhdGFzZXRzIH0gZnJvbSBcIi4uL2RhdGFzZXRzXCJcbmltcG9ydCAqIGFzIGdpdCBmcm9tIFwiLi4vZ2l0XCJcbmltcG9ydCB7IGxvYWRBc3NlbWJsZWVEYXRhIH0gZnJvbSBcIi4uL2xvYWRlcnNcIlxuaW1wb3J0IHtcbiAgQ29kZVR5cGVPcmdhbmUsXG4gIE1hbmRhdCxcbiAgUGhvdG8sXG4gIFR5cGVNYW5kYXQsXG59IGZyb20gXCIuLi90eXBlcy9hY3RldXJzX2V0X29yZ2FuZXNcIlxuXG5jb25zdCBvcHRpb25zRGVmaW5pdGlvbnMgPSBbXG4gIHtcbiAgICBhbGlhczogXCJDXCIsXG4gICAgaGVscDogXCJjbG9uZSByZXBvc2l0b3JpZXMgZnJvbSBnaXZlbiBncm91cCAob3Igb3JnYW5pemF0aW9uKSBnaXQgVVJMXCIsXG4gICAgbmFtZTogXCJjbG9uZVwiLFxuICAgIHR5cGU6IFN0cmluZyxcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcImNcIixcbiAgICBoZWxwOiBcImNvbW1pdCBwaG90b3NcIixcbiAgICBuYW1lOiBcImNvbW1pdFwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJmXCIsXG4gICAgaGVscDogXCJmZXRjaCBkw6lwdXTDqXMnIHBpY3R1cmVzIGluc3RlYWQgb2YgcmV0cmlldmluZyB0aGVtIGZyb20gZmlsZXNcIixcbiAgICBuYW1lOiBcImZldGNoXCIsXG4gICAgdHlwZTogQm9vbGVhbixcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcImxcIixcbiAgICBkZWZhdWx0VmFsdWU6IFwiMTZcIixcbiAgICBuYW1lOiBcImxlZ2lzbGF0dXJlXCIsXG4gICAgdHlwZTogU3RyaW5nLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwicFwiLFxuICAgIGhlbHA6IFwicHVsbCByZXBvc2l0b3JpZXMgYmVmb3JlIHByb2NlZWRpbmdcIixcbiAgICBuYW1lOiBcInB1bGxcIixcbiAgICB0eXBlOiBCb29sZWFuLFxuICB9LFxuICB7XG4gICAgYWxpYXM6IFwiclwiLFxuICAgIGhlbHA6IFwicHVzaCBjb21taXQgdG8gZ2l2ZW4gcmVtb3RlXCIsXG4gICAgbXVsdGlwbGU6IHRydWUsXG4gICAgbmFtZTogXCJyZW1vdGVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJzXCIsXG4gICAgaGVscDogXCJkb24ndCBsb2cgYW55dGhpbmdcIixcbiAgICBuYW1lOiBcInNpbGVudFwiLFxuICAgIHR5cGU6IEJvb2xlYW4sXG4gIH0sXG4gIHtcbiAgICBkZWZhdWx0T3B0aW9uOiB0cnVlLFxuICAgIGhlbHA6IFwiZGlyZWN0b3J5IGNvbnRhaW5pbmcgQXNzZW1ibMOpZSBvcGVuIGRhdGEgZmlsZXNcIixcbiAgICBuYW1lOiBcImRhdGFEaXJcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG5dXG5jb25zdCBvcHRpb25zID0gY29tbWFuZExpbmVBcmdzKG9wdGlvbnNEZWZpbml0aW9ucylcbmNvbnN0IHBpcGVsaW5lID0gdXRpbC5wcm9taXNpZnkoc3RyZWFtLnBpcGVsaW5lKVxuXG5hc3luYyBmdW5jdGlvbiByZXRyaWV2ZVBob3Rvc0RlcHV0ZXMoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgY29uc3QgZGF0YURpciA9IG9wdGlvbnMuZGF0YURpclxuICBjb25zdCB7IGFjdGV1ckJ5VWlkIH0gPSBsb2FkQXNzZW1ibGVlRGF0YShcbiAgICBkYXRhRGlyLFxuICAgIEVuYWJsZWREYXRhc2V0cy5BY3RldXJzRXRPcmdhbmVzLFxuICAgIG9wdGlvbnMubGVnaXNsYXR1cmUsXG4gIClcbiAgY29uc3QgZGVwdXRlc0xlZ2lzbGF0dXJlID0gT2JqZWN0LnZhbHVlcyhhY3RldXJCeVVpZClcbiAgICAuZmlsdGVyKChhY3RldXIpID0+IHtcbiAgICAgIGNvbnN0IHsgbWFuZGF0cyB9ID0gYWN0ZXVyXG4gICAgICBpZiAoIW1hbmRhdHMpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgICBjb25zdCBtYW5kYXREZXB1dGVMZWdpc2xhdHVyZSA9IG1hbmRhdHMuZmlsdGVyKFxuICAgICAgICAobWFuZGF0OiBNYW5kYXQpID0+XG4gICAgICAgICAgbWFuZGF0LnhzaVR5cGUgPT09IFR5cGVNYW5kYXQuTWFuZGF0UGFybGVtZW50YWlyZVR5cGUgJiZcbiAgICAgICAgICBtYW5kYXQubGVnaXNsYXR1cmUgPT09IG9wdGlvbnMubGVnaXNsYXR1cmUgJiZcbiAgICAgICAgICBtYW5kYXQudHlwZU9yZ2FuZSA9PT0gQ29kZVR5cGVPcmdhbmUuQXNzZW1ibGVlLFxuICAgICAgKVswXVxuICAgICAgcmV0dXJuIG1hbmRhdERlcHV0ZUxlZ2lzbGF0dXJlICE9PSB1bmRlZmluZWRcbiAgICB9KVxuICAgIC5zb3J0KChhLCBiKSA9PlxuICAgICAgYS51aWQubGVuZ3RoID09PSBiLnVpZC5sZW5ndGhcbiAgICAgICAgPyBhLnVpZC5sb2NhbGVDb21wYXJlKGIudWlkKVxuICAgICAgICA6IGEudWlkLmxlbmd0aCAtIGIudWlkLmxlbmd0aCxcbiAgICApXG5cbiAgY29uc3QgZ2l0R3JvdXBVcmwgPSBvcHRpb25zLmNsb25lXG4gICAgPyBvcHRpb25zLmNsb25lLnRyaW0oKS5yZXBsYWNlKC9cXC8rJC8sIFwiXCIpXG4gICAgOiB1bmRlZmluZWRcbiAgY29uc3QgcGhvdG9zRGlyTmFtZSA9IGBwaG90b3NfZGVwdXRlc18ke29wdGlvbnMubGVnaXNsYXR1cmV9YFxuICBpZiAoZ2l0R3JvdXBVcmwgIT09IHVuZGVmaW5lZCkge1xuICAgIGV4ZWNTeW5jKGBnaXQgY2xvbmUgJHtnaXRHcm91cFVybH0vJHtwaG90b3NEaXJOYW1lfS5naXRgLCB7XG4gICAgICBjd2Q6IGRhdGFEaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgZW5jb2Rpbmc6IFwidXRmLThcIixcbiAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJpZ25vcmVcIiwgXCJwaXBlXCJdLFxuICAgIH0pXG4gIH1cbiAgY29uc3QgcGhvdG9zRGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIHBob3Rvc0Rpck5hbWUpXG4gIGlmIChvcHRpb25zLnB1bGwpIHtcbiAgICBleGVjU3luYyhgZ2l0IHJlc2V0IC0taGFyZCBvcmlnaW4vbWFzdGVyYCwge1xuICAgICAgY3dkOiBwaG90b3NEaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgZW5jb2Rpbmc6IFwidXRmLThcIixcbiAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJpZ25vcmVcIiwgXCJwaXBlXCJdLFxuICAgIH0pXG4gICAgZXhlY1N5bmMoYGdpdCBwdWxsIC0tcmViYXNlYCwge1xuICAgICAgY3dkOiBwaG90b3NEaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgZW5jb2Rpbmc6IFwidXRmLThcIixcbiAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJpZ25vcmVcIiwgXCJwaXBlXCJdLFxuICAgIH0pXG4gIH1cblxuICAvLyBEb3dubG9hZCBwaG90b3MuXG4gIGZzLmVuc3VyZURpclN5bmMocGhvdG9zRGlyKVxuICBpZiAob3B0aW9ucy5mZXRjaCkge1xuICAgIGNvbnN0IG1pc3NpbmdQaG90b0ZpbGVQYXRoID0gXCJpbWFnZXMvdHJhbnNwYXJlbnRfMTUweDE5Mi5qcGdcIlxuICAgIGZvciAoY29uc3QgZGVwdXRlIG9mIGRlcHV0ZXNMZWdpc2xhdHVyZSkge1xuICAgICAgY29uc3QgaWRlbnQgPSBkZXB1dGUuZXRhdENpdmlsLmlkZW50XG4gICAgICBjb25zdCBudW1lcm9EZXB1dGUgPSBkZXB1dGUudWlkLnN1YnN0cmluZygyKVxuICAgICAgY29uc3QgcGhvdG9GaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX0uanBnYFxuICAgICAgY29uc3QgcGhvdG9GaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvRmlsZW5hbWUpXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX1fdGVtcC5qcGdgXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvVGVtcEZpbGVuYW1lKVxuICAgICAgY29uc3QgdXJsUGhvdG8gPSBgaHR0cDovL3d3dzIuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvdHJpYnVuLyR7b3B0aW9ucy5sZWdpc2xhdHVyZX0vcGhvdG9zLyR7cGhvdG9GaWxlbmFtZX1gXG4gICAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBMb2FkaW5nIHBob3RvICR7dXJsUGhvdG99IGZvciAke2lkZW50LnByZW5vbX0gJHtpZGVudC5ub2194oCmYCxcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgZm9yIChsZXQgcmV0cmllcyA9IDA7IHJldHJpZXMgPCAzOyByZXRyaWVzKyspIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmxQaG90bylcbiAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgYXdhaXQgcGlwZWxpbmUoXG4gICAgICAgICAgICByZXNwb25zZS5ib2R5IGFzIHVua25vd24gYXMgTm9kZUpTLlJlYWRhYmxlU3RyZWFtLFxuICAgICAgICAgICAgZnMuY3JlYXRlV3JpdGVTdHJlYW0ocGhvdG9UZW1wRmlsZVBhdGgpLFxuICAgICAgICAgIClcbiAgICAgICAgICBmcy5yZW5hbWVTeW5jKHBob3RvVGVtcEZpbGVQYXRoLCBwaG90b0ZpbGVQYXRoKVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJldHJpZXMgPj0gMikge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBGZXRjaCBmYWlsZWQ6ICR7dXJsUGhvdG99ICgke2lkZW50LnByZW5vbX0gJHtpZGVudC5ub219KWAsXG4gICAgICAgICAgKVxuICAgICAgICAgIGNvbnNvbGUud2FybihyZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLnN0YXR1c1RleHQpXG4gICAgICAgICAgY29uc29sZS53YXJuKGF3YWl0IHJlc3BvbnNlLnRleHQoKSlcbiAgICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhwaG90b0ZpbGVQYXRoKSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiICA9PiBSZXVzaW5nIGV4aXN0aW5nIGltYWdlXCIpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIiAgPT4gVXNpbmcgYmxhbmsgaW1hZ2VcIilcbiAgICAgICAgICAgIGZzLmNvcHlGaWxlU3luYyhtaXNzaW5nUGhvdG9GaWxlUGF0aCwgcGhvdG9GaWxlUGF0aClcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2l6ZSBwaG90b3MgdG8gMTUweDE5MiwgYmVjYXVzZSBzb21lIGhhdmVuJ3QgZXhhY3RseSB0aGlzIHNpemUuXG4gIGZvciAoY29uc3QgZGVwdXRlIG9mIGRlcHV0ZXNMZWdpc2xhdHVyZSkge1xuICAgIGNvbnN0IGlkZW50ID0gZGVwdXRlLmV0YXRDaXZpbC5pZGVudFxuICAgIGNvbnN0IG51bWVyb0RlcHV0ZSA9IGRlcHV0ZS51aWQuc3Vic3RyaW5nKDIpXG4gICAgaWYgKCFvcHRpb25zLnNpbGVudCkge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBSZXNpemluZyBwaG90byAke251bWVyb0RlcHV0ZX0gZm9yICR7aWRlbnQucHJlbm9tfSAke2lkZW50Lm5vbX3igKZgLFxuICAgICAgKVxuICAgIH1cbiAgICBleGVjU3luYyhcbiAgICAgIGBnbSBjb252ZXJ0IC1yZXNpemUgMTUweDE5MiEgJHtudW1lcm9EZXB1dGV9LmpwZyAke251bWVyb0RlcHV0ZX1fMTUweDE5Mi5qcGdgLFxuICAgICAge1xuICAgICAgICBjd2Q6IHBob3Rvc0RpcixcbiAgICAgIH0sXG4gICAgKVxuICB9XG5cbiAgLy8gQ3JlYXRlIGEgbW9zYWljIG9mIHBob3Rvcy5cbiAgY29uc3QgcGhvdG9CeUlkRGVwdXRlOiB7IFt1aWQ6IHN0cmluZ106IFBob3RvIH0gPSB7fVxuICBjb25zdCByb3dzRmlsZW5hbWVzOiBzdHJpbmdbXSA9IFtdXG4gIGZvciAoXG4gICAgbGV0IGRlcHV0ZUluZGV4ID0gMCwgcm93SW5kZXggPSAwO1xuICAgIGRlcHV0ZUluZGV4IDwgZGVwdXRlc0xlZ2lzbGF0dXJlLmxlbmd0aDtcbiAgICBkZXB1dGVJbmRleCArPSAyNSwgcm93SW5kZXgrK1xuICApIHtcbiAgICBjb25zdCByb3cgPSBkZXB1dGVzTGVnaXNsYXR1cmUuc2xpY2UoZGVwdXRlSW5kZXgsIGRlcHV0ZUluZGV4ICsgMjUpXG4gICAgY29uc3QgcGhvdG9zRmlsZW5hbWVzOiBzdHJpbmdbXSA9IFtdXG4gICAgZm9yIChjb25zdCBbY29sdW1uSW5kZXgsIGRlcHV0ZV0gb2Ygcm93LmVudHJpZXMoKSkge1xuICAgICAgY29uc3QgbnVtZXJvRGVwdXRlID0gZGVwdXRlLnVpZC5zdWJzdHJpbmcoMilcbiAgICAgIGNvbnN0IHBob3RvRmlsZW5hbWUgPSBgJHtudW1lcm9EZXB1dGV9XzE1MHgxOTIuanBnYFxuICAgICAgcGhvdG9zRmlsZW5hbWVzLnB1c2gocGhvdG9GaWxlbmFtZSlcbiAgICAgIHBob3RvQnlJZERlcHV0ZVtkZXB1dGUudWlkXSA9IHtcbiAgICAgICAgY2hlbWluOiBgcGhvdG9zX2RlcHV0ZXNfJHtvcHRpb25zLmxlZ2lzbGF0dXJlfS8ke3Bob3RvRmlsZW5hbWV9YCxcbiAgICAgICAgY2hlbWluTW9zYWlxdWU6IGBwaG90b3NfZGVwdXRlc18ke29wdGlvbnMubGVnaXNsYXR1cmV9L2RlcHV0ZXMuanBnYCxcbiAgICAgICAgaGF1dGV1cjogMTkyLFxuICAgICAgICBsYXJnZXVyOiAxNTAsXG4gICAgICAgIHhNb3NhaXF1ZTogY29sdW1uSW5kZXggKiAxNTAsXG4gICAgICAgIHlNb3NhaXF1ZTogcm93SW5kZXggKiAxOTIsXG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHJvd0ZpbGVuYW1lID0gYHJvdy0ke3Jvd0luZGV4fS5qcGdgXG4gICAgZXhlY1N5bmMoYGdtIGNvbnZlcnQgJHtwaG90b3NGaWxlbmFtZXMuam9pbihcIiBcIil9ICthcHBlbmQgJHtyb3dGaWxlbmFtZX1gLCB7XG4gICAgICBjd2Q6IHBob3Rvc0RpcixcbiAgICB9KVxuICAgIHJvd3NGaWxlbmFtZXMucHVzaChyb3dGaWxlbmFtZSlcbiAgfVxuICBleGVjU3luYyhgZ20gY29udmVydCAke3Jvd3NGaWxlbmFtZXMuam9pbihcIiBcIil9IC1hcHBlbmQgZGVwdXRlcy5qcGdgLCB7XG4gICAgY3dkOiBwaG90b3NEaXIsXG4gIH0pXG4gIGZvciAoY29uc3Qgcm93RmlsZW5hbWUgb2Ygcm93c0ZpbGVuYW1lcykge1xuICAgIGZzLnVubGlua1N5bmMocGF0aC5qb2luKHBob3Rvc0Rpciwgcm93RmlsZW5hbWUpKVxuICB9XG5cbiAgY29uc3QganNvbkZpbGVQYXRoID0gcGF0aC5qb2luKHBob3Rvc0RpciwgXCJkZXB1dGVzLmpzb25cIilcbiAgZnMud3JpdGVGaWxlU3luYyhqc29uRmlsZVBhdGgsIEpTT04uc3RyaW5naWZ5KHBob3RvQnlJZERlcHV0ZSwgbnVsbCwgMikpXG5cbiAgaWYgKG9wdGlvbnMuY29tbWl0KSB7XG4gICAgcmV0dXJuIGdpdC5jb21taXRBbmRQdXNoKHBob3Rvc0RpciwgXCJOb3V2ZWxsZSBtb2lzc29uXCIsIG9wdGlvbnMucmVtb3RlKVxuICB9XG4gIHJldHVybiAwXG59XG5cbnJldHJpZXZlUGhvdG9zRGVwdXRlcygpXG4gIC50aGVuKChleGl0Q29kZSkgPT4gcHJvY2Vzcy5leGl0KGV4aXRDb2RlKSlcbiAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgIGNvbnNvbGUu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
|
|
296
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2hpbGRfcHJvY2VzcyIsInJlcXVpcmUiLCJfY29tbWFuZExpbmVBcmdzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9mc0V4dHJhIiwiX3BhdGgiLCJfc3RyZWFtIiwiX3V0aWwiLCJnaXQiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9sb2FkZXJzIiwiX2FjdGV1cnNfZXRfb3JnYW5lcyIsIl9jbGlfaGVscGVycyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJwcm90b3R5cGUiLCJvIiwidmFsdWUiLCJTeW1ib2wiLCJpdGVyYXRvciIsImMiLCJhc3luY0l0ZXJhdG9yIiwidG9TdHJpbmdUYWciLCJkZWZpbmUiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJ3cmFwIiwiR2VuZXJhdG9yIiwiY3JlYXRlIiwiQ29udGV4dCIsIm1ha2VJbnZva2VNZXRob2QiLCJ0cnlDYXRjaCIsInR5cGUiLCJhcmciLCJoIiwibCIsImYiLCJzIiwieSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJwIiwiZCIsImdldFByb3RvdHlwZU9mIiwidiIsInZhbHVlcyIsImciLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJmb3JFYWNoIiwiX2ludm9rZSIsIkFzeW5jSXRlcmF0b3IiLCJpbnZva2UiLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJjYWxsSW52b2tlV2l0aE1ldGhvZEFuZEFyZyIsIkVycm9yIiwiZG9uZSIsIm1ldGhvZCIsImRlbGVnYXRlIiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsInNlbnQiLCJfc2VudCIsImRpc3BhdGNoRXhjZXB0aW9uIiwiYWJydXB0IiwiVHlwZUVycm9yIiwicmVzdWx0TmFtZSIsIm5leHQiLCJuZXh0TG9jIiwicHVzaFRyeUVudHJ5IiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsInJlc2V0VHJ5RW50cnkiLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImRpc3BsYXlOYW1lIiwiaXNHZW5lcmF0b3JGdW5jdGlvbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsImF3cmFwIiwiYXN5bmMiLCJQcm9taXNlIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImhhbmRsZSIsImNvbXBsZXRlIiwiZmluaXNoIiwiX2NhdGNoIiwiZGVsZWdhdGVZaWVsZCIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIkFycmF5IiwiaXNBcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsImZyb20iLCJ0ZXN0IiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmd1bWVudHMiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93Iiwib3B0aW9uc0RlZmluaXRpb25zIiwiY2xvbmVPcHRpb24iLCJjb21taXRPcHRpb24iLCJyZW1vdGVPcHRpb24iLCJzaWxlbnRPcHRpb24iLCJkYXRhRGlyRGVmYXVsdE9wdGlvbiIsInB1bGxPcHRpb24iLCJmZXRjaE9wdGlvbiIsImFsaWFzIiwiZGVmYXVsdFZhbHVlIiwiU3RyaW5nIiwiTnVtYmVyIiwib3B0aW9ucyIsImNvbW1hbmRMaW5lQXJncyIsInBpcGVsaW5lIiwidXRpbCIsInByb21pc2lmeSIsInN0cmVhbSIsImNsb25lQW5kVXBkYXRlR2l0UmVwb3NpdG9yeSIsInBob3Rvc0Rpck5hbWUiLCJnaXRHcm91cFVybCIsImNsb25lIiwidHJpbSIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJwaG90b3NEaXIiLCJwYXRoIiwiam9pbiIsImRhdGFEaXIiLCJleGVjU3luYyIsImNvbmNhdCIsImN3ZCIsImVudiIsInByb2Nlc3MiLCJlbmNvZGluZyIsInN0ZGlvIiwicHVsbCIsInJlc2V0QW5kUHVsbCIsInJlc2l6ZVBob3RvIiwiYWN0ZXVyIiwid2lkdGgiLCJoZWlnaHQiLCJpZGVudCIsImV0YXRDaXZpbCIsIm51bWVyb0FjdGV1ciIsInVpZCIsInN1YnN0cmluZyIsInNpbGVudCIsImNvbnNvbGUiLCJsb2ciLCJwcmVub20iLCJub20iLCJyZXRyaWV2ZVBob3Rvc0RlcHV0ZXMiLCJfcmV0cmlldmVQaG90b3NEZXB1dGVzIiwiX2NhbGxlZSIsInBob3Rvc1ByZWZpeCIsInBob3Rvc1dpZHRoIiwicGhvdG9zSGVpZ2h0IiwibWlzc2luZ1Bob3RvRmlsZVBhdGgiLCJhY3RldXJVaWRzIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJtYW5kYXRzIiwibWFuZGF0RGVwdXRlTGVnaXNsYXR1cmUiLCJfbnVtZXJvRGVwdXRlIiwiX3Bob3RvRmlsZW5hbWUiLCJwaG90b0ZpbGVQYXRoIiwicGhvdG9UZW1wRmlsZW5hbWUiLCJwaG90b1RlbXBGaWxlUGF0aCIsInVybFBob3RvIiwicmV0cmllcyIsInJlc3BvbnNlIiwicGhvdG9CeUlkRGVwdXRlIiwicm93c0ZpbGVuYW1lcyIsImFjdGV1ckluZGV4Iiwicm93SW5kZXgiLCJyb3ciLCJwaG90b3NGaWxlbmFtZXMiLCJfaXRlcmF0b3IyIiwiX3N0ZXAyIiwiX3N0ZXAyJHZhbHVlIiwiY29sdW1uSW5kZXgiLCJhY3RldXJVaWQiLCJudW1lcm9EZXB1dGUiLCJwaG90b0ZpbGVuYW1lIiwicm93RmlsZW5hbWUiLCJfaSIsIl9yb3dzRmlsZW5hbWVzIiwiX3Jvd0ZpbGVuYW1lIiwianNvbkZpbGVQYXRoIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsImxlZ2lzbGF0dXJlIiwiZnMiLCJlbnN1cmVEaXJTeW5jIiwiaXRlckxvYWRBc3NlbWJsZWVBY3RldXJzIiwibm9WYWxpZGF0aW9uIiwiZmlsdGVyIiwibWFuZGF0IiwieHNpVHlwZSIsIlR5cGVNYW5kYXQiLCJNYW5kYXRQYXJsZW1lbnRhaXJlVHlwZSIsInR5cGVPcmdhbmUiLCJDb2RlVHlwZU9yZ2FuZSIsIkFzc2VtYmxlZSIsImZldGNoIiwib2siLCJib2R5IiwiY3JlYXRlV3JpdGVTdHJlYW0iLCJyZW5hbWVTeW5jIiwid2FybiIsInN0YXR1cyIsInN0YXR1c1RleHQiLCJ0MCIsInRleHQiLCJ0MSIsImV4aXN0c1N5bmMiLCJjb3B5RmlsZVN5bmMiLCJ0MiIsImVudHJpZXMiLCJjaGVtaW4iLCJjaGVtaW5Nb3NhaXF1ZSIsImxhcmdldXIiLCJoYXV0ZXVyIiwieE1vc2FpcXVlIiwieU1vc2FpcXVlIiwiZXJyIiwidW5saW5rU3luYyIsIndyaXRlRmlsZVN5bmMiLCJKU09OIiwic3RyaW5naWZ5IiwiY29tbWl0IiwiY29tbWl0QW5kUHVzaCIsInJlbW90ZSIsImV4aXRDb2RlIiwiZXhpdCIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvcmV0cmlldmVfZGVwdXRlc19waG90b3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgY29tbWFuZExpbmVBcmdzIGZyb20gXCJjb21tYW5kLWxpbmUtYXJnc1wiXG5pbXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCBzdHJlYW0gZnJvbSBcInN0cmVhbVwiXG5pbXBvcnQgdXRpbCBmcm9tIFwidXRpbFwiXG5pbXBvcnQgKiBhcyBnaXQgZnJvbSBcIi4uL2dpdFwiXG5cbmltcG9ydCB7IGl0ZXJMb2FkQXNzZW1ibGVlQWN0ZXVycyB9IGZyb20gXCIuLi9sb2FkZXJzXCJcbmltcG9ydCB7XG4gIEFjdGV1cixcbiAgQ29kZVR5cGVPcmdhbmUsXG4gIE1hbmRhdCxcbiAgUGhvdG8sXG4gIFR5cGVNYW5kYXQsXG59IGZyb20gXCIuLi90eXBlcy9hY3RldXJzX2V0X29yZ2FuZXNcIlxuaW1wb3J0IHtcbiAgY2xvbmVPcHRpb24sXG4gIGNvbW1pdE9wdGlvbixcbiAgcmVtb3RlT3B0aW9uLFxuICBzaWxlbnRPcHRpb24sXG4gIGRhdGFEaXJEZWZhdWx0T3B0aW9uLFxuICBwdWxsT3B0aW9uLFxuICBmZXRjaE9wdGlvbixcbn0gZnJvbSBcIi4vc2hhcmVkL2NsaV9oZWxwZXJzXCJcblxuY29uc3Qgb3B0aW9uc0RlZmluaXRpb25zID0gW1xuICBjbG9uZU9wdGlvbixcbiAgY29tbWl0T3B0aW9uLFxuICByZW1vdGVPcHRpb24sXG4gIHNpbGVudE9wdGlvbixcbiAgZGF0YURpckRlZmF1bHRPcHRpb24sXG4gIHB1bGxPcHRpb24sXG4gIGZldGNoT3B0aW9uLFxuICB7XG4gICAgYWxpYXM6IFwibFwiLFxuICAgIGRlZmF1bHRWYWx1ZTogXCIxNlwiLFxuICAgIG5hbWU6IFwibGVnaXNsYXR1cmVcIixcbiAgICB0eXBlOiBTdHJpbmcsXG4gIH0sXG4gIHtcbiAgICBhbGlhczogXCJ3XCIsXG4gICAgZGVmYXVsdFZhbHVlOiAxNTAsXG4gICAgbmFtZTogXCJ3aWR0aFwiLFxuICAgIHR5cGU6IE51bWJlcixcbiAgfSxcbiAge1xuICAgIGFsaWFzOiBcImhcIixcbiAgICBkZWZhdWx0VmFsdWU6IDE5MixcbiAgICBuYW1lOiBcImhlaWdodFwiLFxuICAgIHR5cGU6IE51bWJlcixcbiAgfSxcbl1cbmNvbnN0IG9wdGlvbnMgPSBjb21tYW5kTGluZUFyZ3Mob3B0aW9uc0RlZmluaXRpb25zKVxuY29uc3QgcGlwZWxpbmUgPSB1dGlsLnByb21pc2lmeShzdHJlYW0ucGlwZWxpbmUpXG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9uZUFuZFVwZGF0ZUdpdFJlcG9zaXRvcnkoXG4gIHBob3Rvc0Rpck5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogYW55LFxuKTogdm9pZCB7XG4gIGNvbnN0IGdpdEdyb3VwVXJsID0gb3B0aW9ucy5jbG9uZVxuICAgID8gb3B0aW9ucy5jbG9uZS50cmltKCkucmVwbGFjZSgvXFwvKyQvLCBcIlwiKVxuICAgIDogdW5kZWZpbmVkXG4gIGNvbnN0IHBob3Rvc0RpciA9IHBhdGguam9pbihvcHRpb25zLmRhdGFEaXIsIHBob3Rvc0Rpck5hbWUpXG5cbiAgaWYgKGdpdEdyb3VwVXJsICE9PSB1bmRlZmluZWQpIHtcbiAgICBleGVjU3luYyhgZ2l0IGNsb25lICR7Z2l0R3JvdXBVcmx9LyR7cGhvdG9zRGlyTmFtZX0uZ2l0YCwge1xuICAgICAgY3dkOiBvcHRpb25zLmRhdGFEaXIsXG4gICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgZW5jb2Rpbmc6IFwidXRmLThcIixcbiAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJpZ25vcmVcIiwgXCJwaXBlXCJdLFxuICAgIH0pXG4gIH1cblxuICBpZiAob3B0aW9ucy5wdWxsKSB7XG4gICAgZ2l0LnJlc2V0QW5kUHVsbChwaG90b3NEaXIpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc2l6ZVBob3RvKFxuICBhY3RldXI6IEFjdGV1cixcbiAgd2lkdGg6IG51bWJlcixcbiAgaGVpZ2h0OiBudW1iZXIsXG4gIHBob3Rvc0Rpcjogc3RyaW5nLFxuICBvcHRpb25zOiBhbnksXG4pOiB2b2lkIHtcbiAgY29uc3QgaWRlbnQgPSBhY3RldXIuZXRhdENpdmlsLmlkZW50XG4gIGNvbnN0IG51bWVyb0FjdGV1ciA9IGFjdGV1ci51aWQuc3Vic3RyaW5nKDIpXG4gIGlmICghb3B0aW9ucy5zaWxlbnQpIHtcbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIGBSZXNpemluZyBwaG90byAke251bWVyb0FjdGV1cn0gZm9yICR7aWRlbnQucHJlbm9tfSAke2lkZW50Lm5vbX3igKZgLFxuICAgIClcbiAgfVxuICBleGVjU3luYyhcbiAgICBgZ20gY29udmVydCAtcmVzaXplICR7d2lkdGh9eCR7aGVpZ2h0fSEgJHtudW1lcm9BY3RldXJ9LmpwZyAke251bWVyb0FjdGV1cn1fJHt3aWR0aH14JHtoZWlnaHR9LmpwZ2AsXG4gICAge1xuICAgICAgY3dkOiBwaG90b3NEaXIsXG4gICAgfSxcbiAgKVxufVxuXG5hc3luYyBmdW5jdGlvbiByZXRyaWV2ZVBob3Rvc0RlcHV0ZXMoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgY29uc3QgZGF0YURpciA9IG9wdGlvbnMuZGF0YURpclxuICBjb25zdCBwaG90b3NQcmVmaXggPSBcInBob3Rvc19kZXB1dGVzXCJcbiAgY29uc3QgcGhvdG9zRGlyTmFtZSA9IGAke3Bob3Rvc1ByZWZpeH1fJHtvcHRpb25zLmxlZ2lzbGF0dXJlfWBcbiAgY29uc3QgcGhvdG9zRGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIHBob3Rvc0Rpck5hbWUpXG4gIGNvbnN0IHBob3Rvc1dpZHRoID0gb3B0aW9ucy53aWR0aFxuICBjb25zdCBwaG90b3NIZWlnaHQgPSBvcHRpb25zLmhlaWdodFxuICBjb25zdCBtaXNzaW5nUGhvdG9GaWxlUGF0aCA9IGBpbWFnZXMvdHJhbnNwYXJlbnRfJHtwaG90b3NXaWR0aH14JHtwaG90b3NIZWlnaHR9LmpwZ2BcblxuICBjbG9uZUFuZFVwZGF0ZUdpdFJlcG9zaXRvcnkocGhvdG9zRGlyTmFtZSwgb3B0aW9ucylcbiAgZnMuZW5zdXJlRGlyU3luYyhwaG90b3NEaXIpXG5cbiAgY29uc3QgYWN0ZXVyVWlkcyA9IFtdXG5cbiAgZm9yIChjb25zdCB7IGFjdGV1ciB9IG9mIGl0ZXJMb2FkQXNzZW1ibGVlQWN0ZXVycyhcbiAgICBkYXRhRGlyLFxuICAgIG9wdGlvbnMubGVnaXNsYXR1cmUsXG4gICAgeyBub1ZhbGlkYXRpb246IHRydWUgfSxcbiAgKSkge1xuICAgIGNvbnN0IHsgbWFuZGF0cyB9ID0gYWN0ZXVyXG4gICAgaWYgKCFtYW5kYXRzKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCBtYW5kYXREZXB1dGVMZWdpc2xhdHVyZSA9IG1hbmRhdHMuZmlsdGVyKChtYW5kYXQ6IE1hbmRhdCkgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgbWFuZGF0LnhzaVR5cGUgPT09IFR5cGVNYW5kYXQuTWFuZGF0UGFybGVtZW50YWlyZVR5cGUgJiZcbiAgICAgICAgbWFuZGF0LmxlZ2lzbGF0dXJlID09PSBvcHRpb25zLmxlZ2lzbGF0dXJlICYmXG4gICAgICAgIG1hbmRhdC50eXBlT3JnYW5lID09PSBDb2RlVHlwZU9yZ2FuZS5Bc3NlbWJsZWVcbiAgICAgIClcbiAgICB9KVswXVxuICAgIGlmIChtYW5kYXREZXB1dGVMZWdpc2xhdHVyZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIC8vIERvd25sb2FkIHBob3Rvcy5cbiAgICBpZiAob3B0aW9ucy5mZXRjaCkge1xuICAgICAgY29uc3QgaWRlbnQgPSBhY3RldXIuZXRhdENpdmlsLmlkZW50XG4gICAgICBjb25zdCBudW1lcm9EZXB1dGUgPSBhY3RldXIudWlkLnN1YnN0cmluZygyKVxuICAgICAgY29uc3QgcGhvdG9GaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX0uanBnYFxuICAgICAgY29uc3QgcGhvdG9GaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvRmlsZW5hbWUpXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlbmFtZSA9IGAke251bWVyb0RlcHV0ZX1fdGVtcC5qcGdgXG4gICAgICBjb25zdCBwaG90b1RlbXBGaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIHBob3RvVGVtcEZpbGVuYW1lKVxuICAgICAgY29uc3QgdXJsUGhvdG8gPSBgaHR0cDovL3d3dzIuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvdHJpYnVuLyR7b3B0aW9ucy5sZWdpc2xhdHVyZX0vcGhvdG9zLyR7cGhvdG9GaWxlbmFtZX1gXG4gICAgICBpZiAoIW9wdGlvbnMuc2lsZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBMb2FkaW5nIHBob3RvICR7dXJsUGhvdG99IGZvciAke2lkZW50LnByZW5vbX0gJHtpZGVudC5ub2194oCmYCxcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgZm9yIChsZXQgcmV0cmllcyA9IDA7IHJldHJpZXMgPCAzOyByZXRyaWVzKyspIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmxQaG90bylcbiAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgYXdhaXQgcGlwZWxpbmUoXG4gICAgICAgICAgICByZXNwb25zZS5ib2R5IGFzIHVua25vd24gYXMgTm9kZUpTLlJlYWRhYmxlU3RyZWFtLFxuICAgICAgICAgICAgZnMuY3JlYXRlV3JpdGVTdHJlYW0ocGhvdG9UZW1wRmlsZVBhdGgpLFxuICAgICAgICAgIClcbiAgICAgICAgICBmcy5yZW5hbWVTeW5jKHBob3RvVGVtcEZpbGVQYXRoLCBwaG90b0ZpbGVQYXRoKVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJldHJpZXMgPj0gMikge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBGZXRjaCBmYWlsZWQ6ICR7dXJsUGhvdG99ICgke2lkZW50LnByZW5vbX0gJHtpZGVudC5ub219KWAsXG4gICAgICAgICAgKVxuICAgICAgICAgIGNvbnNvbGUud2FybihyZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLnN0YXR1c1RleHQpXG4gICAgICAgICAgY29uc29sZS53YXJuKGF3YWl0IHJlc3BvbnNlLnRleHQoKSlcbiAgICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhwaG90b0ZpbGVQYXRoKSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiICA9PiBSZXVzaW5nIGV4aXN0aW5nIGltYWdlXCIpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIiAgPT4gVXNpbmcgYmxhbmsgaW1hZ2VcIilcbiAgICAgICAgICAgIGZzLmNvcHlGaWxlU3luYyhtaXNzaW5nUGhvdG9GaWxlUGF0aCwgcGhvdG9GaWxlUGF0aClcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNpemUgcGhvdG9zIHRvIDE1MHgxOTIsIGJlY2F1c2Ugc29tZSBoYXZlbid0IGV4YWN0bHkgdGhpcyBzaXplLlxuICAgICAgcmVzaXplUGhvdG8oYWN0ZXVyLCBwaG90b3NXaWR0aCwgcGhvdG9zSGVpZ2h0LCBwaG90b3NEaXIsIG9wdGlvbnMpXG4gICAgfVxuXG4gICAgYWN0ZXVyVWlkcy5wdXNoKGFjdGV1ci51aWQpXG4gIH1cblxuICAvLyBDcmVhdGUgYSBtb3NhaWMgb2YgcGhvdG9zLlxuICBjb25zdCBwaG90b0J5SWREZXB1dGU6IHsgW3VpZDogc3RyaW5nXTogUGhvdG8gfSA9IHt9XG4gIGNvbnN0IHJvd3NGaWxlbmFtZXM6IHN0cmluZ1tdID0gW11cbiAgZm9yIChcbiAgICBsZXQgYWN0ZXVySW5kZXggPSAwLCByb3dJbmRleCA9IDA7XG4gICAgYWN0ZXVySW5kZXggPCBhY3RldXJVaWRzLmxlbmd0aDtcbiAgICBhY3RldXJJbmRleCArPSAyNSwgcm93SW5kZXgrK1xuICApIHtcbiAgICBjb25zdCByb3cgPSBhY3RldXJVaWRzLnNsaWNlKGFjdGV1ckluZGV4LCBhY3RldXJJbmRleCArIDI1KVxuICAgIGNvbnN0IHBob3Rvc0ZpbGVuYW1lczogc3RyaW5nW10gPSBbXVxuICAgIGZvciAoY29uc3QgW2NvbHVtbkluZGV4LCBhY3RldXJVaWRdIG9mIHJvdy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IG51bWVyb0RlcHV0ZSA9IGFjdGV1clVpZC5zdWJzdHJpbmcoMilcbiAgICAgIGNvbnN0IHBob3RvRmlsZW5hbWUgPSBgJHtudW1lcm9EZXB1dGV9XyR7cGhvdG9zV2lkdGh9eCR7cGhvdG9zSGVpZ2h0fS5qcGdgXG4gICAgICBwaG90b3NGaWxlbmFtZXMucHVzaChwaG90b0ZpbGVuYW1lKVxuICAgICAgcGhvdG9CeUlkRGVwdXRlW2FjdGV1clVpZF0gPSB7XG4gICAgICAgIGNoZW1pbjogYCR7cGhvdG9zUHJlZml4fV8ke29wdGlvbnMubGVnaXNsYXR1cmV9LyR7cGhvdG9GaWxlbmFtZX1gLFxuICAgICAgICBjaGVtaW5Nb3NhaXF1ZTogYCR7cGhvdG9zUHJlZml4fV8ke29wdGlvbnMubGVnaXNsYXR1cmV9L2RlcHV0ZXMuanBnYCxcbiAgICAgICAgbGFyZ2V1cjogcGhvdG9zV2lkdGgsXG4gICAgICAgIGhhdXRldXI6IHBob3Rvc0hlaWdodCxcbiAgICAgICAgeE1vc2FpcXVlOiBjb2x1bW5JbmRleCAqIHBob3Rvc1dpZHRoLFxuICAgICAgICB5TW9zYWlxdWU6IHJvd0luZGV4ICogcGhvdG9zSGVpZ2h0LFxuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByb3dGaWxlbmFtZSA9IGByb3ctJHtyb3dJbmRleH0uanBnYFxuICAgIGV4ZWNTeW5jKGBnbSBjb252ZXJ0ICR7cGhvdG9zRmlsZW5hbWVzLmpvaW4oXCIgXCIpfSArYXBwZW5kICR7cm93RmlsZW5hbWV9YCwge1xuICAgICAgY3dkOiBwaG90b3NEaXIsXG4gICAgfSlcbiAgICByb3dzRmlsZW5hbWVzLnB1c2gocm93RmlsZW5hbWUpXG4gIH1cbiAgZXhlY1N5bmMoYGdtIGNvbnZlcnQgJHtyb3dzRmlsZW5hbWVzLmpvaW4oXCIgXCIpfSAtYXBwZW5kIGRlcHV0ZXMuanBnYCwge1xuICAgIGN3ZDogcGhvdG9zRGlyLFxuICB9KVxuICBmb3IgKGNvbnN0IHJvd0ZpbGVuYW1lIG9mIHJvd3NGaWxlbmFtZXMpIHtcbiAgICBmcy51bmxpbmtTeW5jKHBhdGguam9pbihwaG90b3NEaXIsIHJvd0ZpbGVuYW1lKSlcbiAgfVxuXG4gIGNvbnN0IGpzb25GaWxlUGF0aCA9IHBhdGguam9pbihwaG90b3NEaXIsIFwiZGVwdXRlcy5qc29uXCIpXG4gIGZzLndyaXRlRmlsZVN5bmMoanNvbkZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShwaG90b0J5SWREZXB1dGUsIG51bGwsIDIpKVxuXG4gIGlmIChvcHRpb25zLmNvbW1pdCkge1xuICAgIHJldHVybiBnaXQuY29tbWl0QW5kUHVzaChwaG90b3NEaXIsIFwiTm91dmVsbGUgbW9pc3NvblwiLCBvcHRpb25zLnJlbW90ZSlcbiAgfVxuICByZXR1cm4gMFxufVxuXG5yZXRyaWV2ZVBob3Rvc0RlcHV0ZXMoKVxuICAudGhlbigoZXhpdENvZGUpID0+IHByb2Nlc3MuZXhpdChleGl0Q29kZSkpXG4gIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfSlcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLGNBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGdCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxRQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxLQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxHQUFBLEdBQUFDLHVCQUFBLENBQUFSLE9BQUE7QUFFQSxJQUFBUyxRQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxtQkFBQSxHQUFBVixPQUFBO0FBT0EsSUFBQVcsWUFBQSxHQUFBWCxPQUFBO0FBUTZCLFNBQUFZLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFB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
|