Skip to content

Instantly share code, notes, and snippets.

@rpgove
Last active April 27, 2017 01:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rpgove/bf44631829eaa6512518005697649cb4 to your computer and use it in GitHub Desktop.
Save rpgove/bf44631829eaa6512518005697649cb4 to your computer and use it in GitHub Desktop.
Matrix diagram
license: gpl-3.0
height: 800

A matrix diagram of Les Miserables characters colored and ordered by their communities (determined using Louvain modularity). Darker colors indicate more interactions between characters, and light gray cells indicate no interaction.

In comparison with node-link diagrams, which can become inscrutable hairballs with dense networks, matrix diagrams can be simpler and easier to read. However, this is highly dependent on the row and column ordering, and it is difficult to follow paths connecting nodes. Furthermore, a matrix diagram of a graph with hundreds or thousands of nodes can be difficult to fit on one screen and still be able to read the row and column labels.

<!DOCTYPE html>
<meta charset="utf-8">
<style>
svg {
font: 10px sans-serif;
}
.label {
fill: #999;
font-size: 8px;
text-anchor: end;
}
.column .label {
text-anchor: start;
}
rect {
fill: #eee;
stroke: #d62333;
stroke-width: 0;
}
rect:hover {
stroke-width: 1px;
}
</style>
<svg></svg>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script>
var margin = {
top: 170,
right: 0,
bottom: 0,
left: 170
};
var width = 800 - margin.left - margin.right;
var height = 800 - margin.top - margin.bottom;
var color = d3.scaleOrdinal(["#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", "#8c564b", "#e377c2", "#bcbd22", "#17becf"]);
var opacity = d3.scaleLinear()
.range([0.5, 1])
.clamp(true);
var x = d3.scaleBand()
.rangeRound([0, width])
.paddingInner(0.1)
.align(0);
var svg = d3.select('svg')
.attr('width', width + margin.left + margin.right)
.attr('height', height + margin.top + margin.bottom)
.append('g')
.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');
d3.json('jean.json', function (error, graph) {
if (error) throw error;
var idToNode = {};
graph.nodes.forEach(function (n) {
n.degree = 0;
idToNode[n.id] = n;
});
graph.links.forEach(function (e) {
e.source = idToNode[e.source];
e.target = idToNode[e.target];
e.source.degree++;
e.target.degree++;
});
graph.nodes.sort(function (a, b) {
if (b.community != a.community)
return b.community - a.community;
else
return b.degree - a.degree;
});
x.domain(d3.range(graph.nodes.length));
opacity.domain([0, d3.max(graph.links, function (d) { return d.chapters.length; })]);
var matrix = graph.nodes.map(function (outer, i) {
outer.index = i;
return graph.nodes.map(function (inner, j) {
return {i: i, j: j, val: i === j ? inner.chapters.length : 0};
});
});
graph.links.forEach(function (l) {
matrix[l.source.index][l.target.index].val = l.chapters.length;
matrix[l.target.index][l.source.index].val = l.chapters.length;
});
var row = svg.selectAll('g.row')
.data(matrix)
.enter().append('g')
.attr('class', 'row')
.attr('transform', function (d, i) { return 'translate(0,' + x(i) + ')'; })
.each(makeRow);
row.append('text')
.attr('class', 'label')
.attr('x', -4)
.attr('y', x.bandwidth() / 2)
.attr('dy', '0.32em')
.text(function (d, i) { return graph.nodes[i].name; });
var column = svg.selectAll('g.column')
.data(matrix)
.enter().append('g')
.attr('class', 'column')
.attr('transform', function(d, i) { return 'translate(' + x(i) + ', 0)rotate(-90)'; })
.append('text')
.attr('class', 'label')
.attr('x', 4)
.attr('y', x.bandwidth() / 2)
.attr('dy', '0.32em')
.text(function (d, i) { return graph.nodes[i].name; });
function makeRow(rowData) {
var cell = d3.select(this).selectAll('rect.cell')
.data(rowData)
.enter().append('rect')
.attr('class', 'cell')
.attr('x', function (d, i) { return x(i); })
.attr('width', x.bandwidth())
.attr('height', x.bandwidth())
.style('fill-opacity', function (d) { return d.val > 0 ? opacity(d.val) : 1; })
.style('fill', function (d) {
if (d.val > 0 && graph.nodes[d.i].community === graph.nodes[d.j].community)
return color(graph.nodes[d.i].community);
else if (d.val > 0)
return '#555';
return null;
})
.on('mouseover', function (d) {
row.filter(function (_, i) { return d.i === i; })
.selectAll('text')
.style('fill', '#d62333')
.style('font-weight', 'bold');
column.filter(function (_, j) { return d.j === j; })
.style('fill', '#d62333')
.style('font-weight', 'bold');
})
.on('mouseout', function () {
row.selectAll('text')
.style('fill', null)
.style('font-weight', null);
column
.style('fill', null)
.style('font-weight', null);
});
cell.append('title')
.text(function (d) {
return graph.nodes[d.i].name + ' - ' + graph.nodes[d.j].name + ', chapters: ' + d.val;
});
}
});
</script>
{"nodes": [{"community": 0, "id": "TH", "chapters": ["1.4.1", "3.8.9", "5.9.4", "2.2.2", "5.3.3", "3.8.18", "3.8.19", "2.5.10", "3.8.12", "3.8.16", "3.8.17", "2.3.8", "2.3.9", "1.4.3", "2.3.2", "2.3.10", "3.8.8", "5.3.8", "3.8.6", "3.8.7", "3.8.4", "4.6.3", "4.8.4", "2.1.19", "5.6.1", "3.8.21", "3.8.20"], "name": "Th\\'enardier"}, {"community": 4, "id": "MN", "chapters": ["3.2.6", "4.6.1"], "name": "Magnon"}, {"community": 1, "id": "FT", "chapters": ["1.3.3", "1.3.2", "1.3.7", "3.6.6", "1.3.4", "1.3.8"], "name": "F\\'elix Tholomy\\`es"}, {"community": 2, "id": "BA", "chapters": ["4.12.6", "4.12.4", "4.12.3", "3.4.4", "4.14.1", "4.14.3", "3.4.1", "4.11.4", "4.11.5"], "name": "Bahorel"}, {"community": 0, "id": "BB", "chapters": ["3.8.21", "4.6.3", "3.8.20", "3.7.3", "4.8.4"], "name": "Babet"}, {"community": 1, "id": "BL", "chapters": ["1.3.3", "1.3.2", "1.3.8", "1.3.6", "1.3.4"], "name": "Blacheville"}, {"community": 3, "id": "BM", "chapters": ["1.7.10", "1.7.9", "1.5.12"], "name": "Monsieur Bamatabois"}, {"community": 3, "id": "JV", "chapters": ["5.1.24", "5.5.5", "5.5.4", "5.5.7", "5.5.8", "1.5.13", "3.8.18", "3.8.19", "1.6.1", "2.5.10", "3.8.14", "1.8.4", "2.3.10", "5.8.1", "2.8.8", "5.8.2", "4.5.2", "5.8.3", "5.3.11", "2.8.9", "5.3.10", "2.8.7", "2.8.6", "2.8.4", "2.8.1", "1.8.1", "4.3.7", "4.3.4", "4.3.5", "5.6.2", "1.8.2", "4.3.1", "4.3.8", "2.3.8", "1.2.11", "5.6.3", "1.7.11", "5.9.2", "4.3.2", "4.15.1", "4.15.2", "4.15.3", "5.8.4", "3.6.1", "3.6.2", "2.5.8", "3.8.9", "2.5.6", "2.2.1", "2.5.7", "2.5.4", "1.6.2", "5.3.4", "2.5.9", "5.3.2", "1.2.9", "5.3.9", "1.5.6", "1.5.1", "1.5.3", "1.5.2", "2.4.3", "2.4.2", "2.4.1", "4.9.1", "2.4.5", "2.4.4", "1.7.9", "1.7.8", "1.7.7", "1.8.5", "1.7.5", "1.7.4", "1.7.3", "1.7.2", "1.7.1", "1.8.3", "1.2.10", "2.3.9", "1.2.12", "1.2.13", "5.1.19", "5.1.18", "5.9.3", "1.7.10", "5.1.11", "2.3.6", "2.3.7", "1.2.6", "1.2.7", "1.2.4", "1.2.5", "1.2.3", "3.8.8", "5.3.8", "5.3.7", "5.3.6", "5.3.5", "2.5.5", "2.5.2", "2.5.3", "5.3.1", "2.5.1", "1.2.1", "5.1.9", "5.1.4", "5.1.6", "4.4.1", "4.4.2", "5.7.1", "5.9.5", "3.8.21", "3.8.20"], "name": "Jean Valjean"}, {"community": 2, "id": "BO", "chapters": ["3.4.2", "4.12.6", "3.4.1", "4.12.3", "4.12.2", "3.4.4", "5.1.14", "5.1.7", "5.1.11", "5.1.2", "4.14.1", "4.14.3", "4.14.5", "5.1.21", "3.8.15", "5.1.18"], "name": "Bossuet (Lesgle)"}, {"community": 2, "id": "JP", "chapters": ["4.12.6", "4.14.3", "3.4.1", "4.12.3", "4.12.8"], "name": "Jean Prouvaire"}, {"community": 0, "id": "BJ", "chapters": ["4.6.3", "4.8.4"], "name": "Brujon"}, {"community": 1, "id": "DA", "chapters": ["1.3.3", "1.3.9", "1.3.8", "1.3.6", "1.3.4"], "name": "Dahlia"}, {"community": 4, "id": "BT", "chapters": ["3.3.1", "3.3.3"], "name": "Baroness of T--"}, {"community": 5, "id": "BU", "chapters": ["3.1.8", "3.8.22"], "name": "Madame Burgon"}, {"community": 2, "id": "EN", "chapters": ["4.12.7", "4.12.6", "4.12.5", "4.12.4", "4.12.3", "5.1.21", "5.1.22", "5.1.23", "4.12.8", "4.1.6", "4.14.1", "4.14.3", "4.14.5", "5.1.19", "5.1.18", "5.1.14", "5.1.17", "5.1.11", "5.1.13", "5.1.12", "3.4.3", "3.4.1", "5.1.9", "5.1.8", "3.4.5", "5.1.5", "5.1.4", "5.1.7", "5.1.6", "5.1.3", "5.1.2"], "name": "Enjolras"}, {"community": 1, "id": "SP", "chapters": ["1.8.5", "1.7.1"], "name": "Sister Perp\\'etue"}, {"community": 2, "id": "FE", "chapters": ["4.12.6", "3.4.1", "4.12.3", "5.1.18", "5.1.21", "5.1.2", "4.14.1"], "name": "Feuilly"}, {"community": 3, "id": "BR", "chapters": ["1.7.11", "1.7.10"], "name": "Brevet"}, {"community": 6, "id": "BS", "chapters": ["5.2.3", "5.2.4"], "name": "Bruneseau"}, {"community": 5, "id": "JD", "chapters": ["3.1.8"], "name": "Jondrette"}, {"community": 1, "id": "ZE", "chapters": ["1.3.3", "1.3.9", "1.3.8", "1.3.4"], "name": "Zephine"}, {"community": 1, "id": "LI", "chapters": ["1.3.3", "1.3.2", "1.3.8", "1.3.4"], "name": "Listolier"}, {"community": 0, "id": "JA", "chapters": ["4.12.7", "5.4.1", "1.5.13", "1.5.12", "1.6.2", "4.14.3", "4.14.5", "2.5.10", "1.8.5", "4.15.1", "1.8.3", "5.1.19", "5.1.18", "1.5.5", "1.5.6", "1.8.4", "5.3.9", "5.3.3", "2.4.5", "5.3.11", "5.3.10", "5.1.6", "3.8.21", "3.8.20"], "name": "Javert"}, {"community": 0, "id": "BZ", "chapters": ["5.5.1", "2.2.2"], "name": "Boulatruelle"}, {"community": 3, "id": "GR", "chapters": ["2.8.7", "2.8.5"], "name": "Gribier"}, {"community": 1, "id": "FV", "chapters": ["1.3.3", "1.3.9", "1.3.8", "1.3.6", "1.3.4"], "name": "Favourite"}, {"community": 0, "id": "TM", "chapters": ["2.3.8", "1.4.1", "1.4.3", "2.3.9", "2.3.2", "2.3.3", "2.3.4", "3.8.18", "3.8.19", "4.6.1", "3.8.7", "3.8.12", "3.8.21", "3.8.20", "3.8.16", "3.8.17"], "name": "Madame Th\\'enardier"}, {"community": 0, "id": "LL", "chapters": ["2.4.3", "2.5.10", "2.4.5", "2.4.4"], "name": "Old woman 2"}, {"community": 4, "id": "GP", "chapters": ["3.3.2", "2.1.19", "3.3.4"], "name": "George Pontmercy"}, {"community": 0, "id": "TS", "chapters": ["4.5.3", "4.15.1"], "name": "Toussaint"}, {"community": 0, "id": "EP", "chapters": ["2.3.8", "4.14.6", "4.2.3", "3.8.7", "4.9.2", "4.11.6", "4.2.4", "3.8.11", "4.8.3", "4.8.4", "3.8.16"], "name": "Eponine"}, {"community": 2, "id": "XB", "chapters": ["5.1.16", "4.6.2"], "name": "Child 2"}, {"community": 4, "id": "MV", "chapters": ["3.2.8"], "name": "Madamoiselle Vaubois"}, {"community": 1, "id": "FN", "chapters": ["1.4.1", "1.5.9", "1.5.8", "1.5.10", "1.5.13", "1.5.12", "1.3.3", "1.8.5", "1.6.1", "1.7.1", "1.3.4", "1.8.4", "1.7.6", "1.3.9", "1.3.8", "1.8.1", "1.8.2", "1.8.3"], "name": "Fantine"}, {"community": 8, "id": "LP", "chapters": ["4.1.4", "4.1.3"], "name": "Louis Philippe"}, {"community": 3, "id": "JU", "chapters": ["1.7.11", "1.7.9", "1.7.10"], "name": "Judge of Douai"}, {"community": 3, "id": "NP", "chapters": ["1.1.1", "2.1.10", "2.1.8", "2.1.9", "2.1.7", "2.1.4"], "name": "Napoleon"}, {"community": 4, "id": "TG", "chapters": ["3.5.6", "3.2.8", "3.3.7", "4.5.1"], "name": "Lieutenant Theodule Gillenormand"}, {"community": 0, "id": "PO", "chapters": ["1.8.5", "1.7.4"], "name": "Old woman 1"}, {"community": 2, "id": "PL", "chapters": ["4.9.3", "3.5.4", "4.4.2"], "name": "Mother Plutarch"}, {"community": 3, "id": "PG", "chapters": ["1.2.13"], "name": "Petit Gervais"}, {"community": 1, "id": "SS", "chapters": ["1.7.6", "1.8.1", "1.7.1", "1.8.5"], "name": "Sister Simplice"}, {"community": 0, "id": "GU", "chapters": ["3.8.21", "4.6.3", "3.8.20", "3.7.3", "4.8.4"], "name": "Gueulemer"}, {"community": 3, "id": "CH", "chapters": ["1.7.11", "1.7.9", "1.7.10"], "name": "Champmathieu"}, {"community": 0, "id": "CO", "chapters": ["5.9.5", "2.5.6", "2.4.2", "4.8.3", "2.5.5", "5.5.4", "5.5.6", "4.3.4", "5.7.1", "4.3.5", "5.6.2", "5.8.1", "5.8.2", "5.8.3", "4.15.1", "2.3.8", "5.9.4", "1.4.3", "5.9.1", "2.3.1", "2.3.3", "2.3.4", "2.3.5", "2.3.6", "2.3.7", "2.4.4", "3.8.8", "2.4.3", "2.5.7", "2.5.4", "4.8.2", "2.5.2", "2.5.3", "2.4.5", "2.5.1", "4.5.1", "4.5.2", "4.5.3", "4.5.5", "4.5.6", "2.4.1", "2.8.4", "4.4.1", "4.3.6", "4.3.7", "3.6.2", "3.6.3", "4.8.6", "3.6.6", "5.6.1", "3.6.8", "5.1.10", "3.6.1", "4.8.1", "4.3.8"], "name": "Cosette"}, {"community": 3, "id": "CN", "chapters": ["1.7.11", "1.7.10"], "name": "Chenildieu"}, {"community": 2, "id": "CM", "chapters": ["4.12.6", "4.1.6", "3.4.1", "5.1.8", "3.4.5", "5.1.4", "5.1.7", "4.12.8", "4.14.1", "4.14.3", "4.11.4", "4.11.5", "5.1.21", "4.14.5", "5.1.2", "5.1.17", "5.1.18"], "name": "Combeferre"}, {"community": 3, "id": "CL", "chapters": ["1.1.4"], "name": "Countess de L\\^o"}, {"community": 3, "id": "CC", "chapters": ["1.7.11", "1.7.10"], "name": "Cochepaille"}, {"community": 7, "id": "VI", "chapters": ["1.5.9", "1.5.8"], "name": "Madame Victurnien"}, {"community": 3, "id": "IS", "chapters": ["1.2.6"], "name": "Isabeau"}, {"community": 2, "id": "XA", "chapters": ["5.1.16", "4.6.2"], "name": "Child 1"}, {"community": 4, "id": "MG", "chapters": ["5.5.4", "3.5.6", "3.3.1", "5.6.2", "3.3.2", "3.3.5", "3.3.7", "3.3.8", "3.2.8", "4.8.7"], "name": "Madamoiselle Gillenormand"}, {"community": 2, "id": "HL", "chapters": ["4.12.4", "4.12.2", "4.12.1"], "name": "Madame Hucheloup"}, {"community": 3, "id": "GG", "chapters": ["1.1.10"], "name": "G--"}, {"community": 3, "id": "GE", "chapters": ["1.1.4"], "name": "G\\'eborand"}, {"community": 2, "id": "GA", "chapters": ["4.12.7", "4.12.4", "4.12.3", "5.1.8", "5.1.15", "5.1.7", "3.1.8", "5.1.11", "4.14.3", "4.14.1", "4.11.1", "4.11.2", "4.11.3", "4.11.4", "4.14.7", "4.15.4", "4.14.5", "4.6.3", "4.6.2", "4.15.2", "3.8.22"], "name": "Gavroche"}, {"community": 2, "id": "CR", "chapters": ["4.12.6", "4.12.5", "4.12.4", "4.12.3", "5.1.21", "4.1.6", "4.14.1", "4.14.3", "4.14.5", "3.8.15", "5.1.18", "5.1.15", "5.1.14", "5.1.17", "5.1.13", "4.11.4", "4.11.5", "4.11.6", "4.8.3", "4.9.2", "3.4.2", "3.4.3", "3.4.1", "3.4.6", "3.4.5", "5.1.7", "5.1.2"], "name": "Courfeyrac"}, {"community": 0, "id": "QU", "chapters": ["4.12.8", "3.8.21", "3.8.20", "3.7.3", "4.8.4"], "name": "Claquesous"}, {"community": 0, "id": "AZ", "chapters": ["2.3.8", "3.8.16", "5.6.1"], "name": "Anzelma"}, {"community": 3, "id": "CV", "chapters": ["1.1.7"], "name": "Cravatte"}, {"community": 4, "id": "GI", "chapters": ["3.2.4", "5.5.3", "5.3.12", "5.5.6", "3.5.6", "3.2.3", "5.6.2", "3.3.1", "3.2.5", "3.2.6", "3.2.7", "3.3.5", "3.3.4", "3.2.2", "5.6.1", "3.3.8", "3.2.1", "3.2.8", "4.8.7", "5.5.4"], "name": "Monsieur Luke Esprit Gillenormand"}, {"community": 3, "id": "ME", "chapters": ["1.2.12", "1.1.2", "1.1.5", "1.1.4", "1.1.7", "1.1.6", "1.2.4", "1.2.5", "1.2.2", "1.2.3"], "name": "Madame Magloire"}, {"community": 3, "id": "JL", "chapters": ["1.2.1"], "name": "Jacquin Labarre"}, {"community": 3, "id": "FF", "chapters": ["1.5.6", "2.8.9", "2.8.8", "2.8.7", "1.5.7", "2.8.4", "2.8.3", "2.8.2", "2.8.1", "2.5.8", "2.5.9", "2.8.5"], "name": "Fauchelevent"}, {"community": 2, "id": "GT", "chapters": ["4.1.6", "3.4.1", "4.12.3", "4.12.2", "3.4.4", "5.1.23"], "name": "Grantaire"}, {"community": 2, "id": "MA", "chapters": ["4.13.3", "4.13.1", "5.1.21", "5.1.8", "5.1.24", "3.8.4", "5.3.7", "5.9.1", "5.6.2", "5.3.5", "5.6.1", "3.6.2", "4.3.6", "5.5.3", "5.5.2", "5.5.4", "5.5.7", "5.5.6", "5.5.8", "3.6.9", "5.7.1", "3.8.5", "5.3.2", "4.14.3", "3.3.2", "4.14.5", "4.14.4", "4.14.7", "4.14.6", "3.8.10", "3.3.5", "3.8.13", "3.8.14", "3.3.4", "5.9.5", "5.9.4", "5.1.19", "3.3.7", "5.3.1", "4.2.4", "4.8.6", "4.9.2", "3.4.6", "4.8.2", "3.8.11", "4.8.1", "5.3.6", "4.8.3", "5.3.4", "3.8.2", "3.8.3", "4.8.7", "3.8.1", "3.4.2", "3.4.3", "4.5.4", "5.3.12", "4.5.6", "3.4.5", "5.1.4", "3.5.3", "3.5.2", "3.5.1", "3.6.7", "3.3.1", "5.7.2", "4.2.1", "3.6.3", "3.6.4", "3.6.5", "3.6.6", "3.3.6", "3.6.8", "3.3.8", "3.6.1", "3.2.8", "3.3.3"], "name": "Marius"}, {"community": 3, "id": "MC", "chapters": ["1.1.4"], "name": "Marquis de Champtercier"}, {"community": 1, "id": "FA", "chapters": ["1.3.3", "1.3.2", "1.3.8", "1.3.4"], "name": "Fameuil"}, {"community": 2, "id": "MM", "chapters": ["4.2.3", "3.5.5", "3.5.4", "4.4.2", "4.14.1", "4.14.2", "3.3.5", "4.11.5", "4.9.3"], "name": "Monsieur Mabeuf"}, {"community": 0, "id": "MO", "chapters": ["4.8.4", "3.8.21", "4.6.2", "3.7.3", "4.4.2"], "name": "Montparnasse"}, {"community": 3, "id": "MB", "chapters": ["1.1.1", "1.1.2", "1.1.5", "1.1.4", "1.1.7", "1.1.9", "1.2.4", "1.2.2", "1.2.3"], "name": "Mademoiselle Baptistine"}, {"community": 3, "id": "MI", "chapters": ["2.8.3", "2.8.2", "2.6.7", "2.8.8"], "name": "Mother Innocent"}, {"community": 3, "id": "SN", "chapters": ["1.1.8", "1.1.14"], "name": "Count ***"}, {"community": 1, "id": "MT", "chapters": ["1.5.9", "1.5.10", "1.2.1"], "name": "Marguerite"}, {"community": 2, "id": "JO", "chapters": ["4.12.6", "3.4.1", "4.12.3", "4.12.2", "3.4.4", "5.1.21", "5.1.2", "4.14.1", "4.14.3"], "name": "Joly"}, {"community": 4, "id": "MP", "chapters": ["3.3.2", "3.2.8"], "name": "Madame Pontmercy"}, {"community": 3, "id": "MR", "chapters": ["1.2.1"], "name": "Madame de R--"}, {"community": 3, "id": "SC", "chapters": ["1.7.2"], "name": "Monsieur Scaufflaire"}, {"community": 3, "id": "MY", "chapters": ["1.1.1", "1.1.3", "1.1.2", "1.1.5", "1.1.4", "1.1.7", "1.1.6", "1.1.8", "1.2.12", "1.2.4", "1.2.5", "1.2.2", "1.2.3", "1.5.4", "1.1.11", "1.1.10", "1.1.13", "1.1.12", "1.1.14"], "name": "Monsieur Charles Fran\\c{c}ois Bienvenu Myriel"}], "links": [{"source": "EN", "target": "GT", "chapters": ["4.1.6", "5.1.23", "4.12.3"]}, {"source": "BJ", "target": "GU", "chapters": ["4.6.3", "4.8.4"]}, {"source": "MA", "target": "TH", "chapters": ["5.9.4", "3.8.4"]}, {"source": "BB", "target": "QU", "chapters": ["3.8.21", "3.8.20", "4.8.4"]}, {"source": "EN", "target": "QU", "chapters": ["4.12.8"]}, {"source": "BL", "target": "ZE", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "JA", "target": "PO", "chapters": ["1.8.5"]}, {"source": "BA", "target": "EN", "chapters": ["4.14.1", "4.12.6", "4.12.4", "4.12.3"]}, {"source": "JO", "target": "MM", "chapters": ["4.14.1"]}, {"source": "GT", "target": "HL", "chapters": ["4.12.2"]}, {"source": "BJ", "target": "GA", "chapters": ["4.6.3"]}, {"source": "FE", "target": "MA", "chapters": ["5.1.21"]}, {"source": "BM", "target": "JV", "chapters": ["1.7.9", "1.7.10"]}, {"source": "EN", "target": "JA", "chapters": ["4.12.7", "4.14.3", "5.1.6", "4.14.5"]}, {"source": "MO", "target": "TH", "chapters": ["4.8.4"]}, {"source": "EN", "target": "FE", "chapters": ["4.12.6", "4.12.3", "5.1.18", "5.1.21", "5.1.2", "4.14.1"]}, {"source": "JO", "target": "JP", "chapters": ["4.12.6", "4.12.3"]}, {"source": "JV", "target": "PO", "chapters": ["1.8.5", "1.7.4"]}, {"source": "MG", "target": "MP", "chapters": ["3.2.8"]}, {"source": "MG", "target": "MV", "chapters": ["3.2.8"]}, {"source": "GA", "target": "MO", "chapters": ["4.6.2"]}, {"source": "JV", "target": "PG", "chapters": ["1.2.13"]}, {"source": "MY", "target": "NP", "chapters": ["1.1.1"]}, {"source": "BU", "target": "GA", "chapters": ["3.1.8", "3.8.22"]}, {"source": "BO", "target": "HL", "chapters": ["4.12.2"]}, {"source": "GA", "target": "MM", "chapters": ["4.14.1"]}, {"source": "EP", "target": "TH", "chapters": ["3.8.7", "4.8.4", "3.8.16"]}, {"source": "FE", "target": "JP", "chapters": ["4.12.6", "4.12.3"]}, {"source": "EP", "target": "TM", "chapters": ["2.3.8", "3.8.16"]}, {"source": "EP", "target": "GU", "chapters": ["4.8.4"]}, {"source": "CO", "target": "JA", "chapters": ["4.15.1"]}, {"source": "CR", "target": "GA", "chapters": ["4.12.4", "4.12.3", "5.1.15", "5.1.7", "4.14.1", "4.11.4", "4.14.5"]}, {"source": "CV", "target": "MY", "chapters": ["1.1.7"]}, {"source": "BT", "target": "GI", "chapters": ["3.3.1"]}, {"source": "MA", "target": "MM", "chapters": ["3.3.5"]}, {"source": "FN", "target": "ZE", "chapters": ["1.3.3", "1.3.9", "1.3.8", "1.3.4"]}, {"source": "QU", "target": "TH", "chapters": ["3.8.20", "4.8.4"]}, {"source": "ME", "target": "MY", "chapters": ["1.2.12", "1.1.2", "1.1.5", "1.1.4", "1.1.7", "1.1.6", "1.2.4", "1.2.5", "1.2.2", "1.2.3"]}, {"source": "FE", "target": "JO", "chapters": ["4.14.1", "4.12.6", "4.12.3", "5.1.21", "5.1.2"]}, {"source": "CO", "target": "FT", "chapters": ["3.6.6"]}, {"source": "GA", "target": "JO", "chapters": ["4.14.1", "4.14.3", "4.12.3"]}, {"source": "GU", "target": "JA", "chapters": ["3.8.21"]}, {"source": "BA", "target": "MM", "chapters": ["4.14.1", "4.11.5"]}, {"source": "BB", "target": "EP", "chapters": ["4.8.4"]}, {"source": "CO", "target": "MG", "chapters": ["5.6.2", "5.5.4"]}, {"source": "CM", "target": "JP", "chapters": ["4.12.6", "4.12.8"]}, {"source": "GA", "target": "JA", "chapters": ["4.12.7"]}, {"source": "AZ", "target": "EP", "chapters": ["2.3.8", "3.8.16"]}, {"source": "CM", "target": "JO", "chapters": ["4.14.1", "4.12.6", "4.14.3", "5.1.21", "5.1.2"]}, {"source": "EN", "target": "JV", "chapters": ["5.1.4", "5.1.6", "5.1.9", "5.1.18"]}, {"source": "BO", "target": "CR", "chapters": ["3.4.2", "4.12.6", "4.12.3", "5.1.18", "5.1.14", "5.1.7", "5.1.2", "4.14.1", "4.14.5", "5.1.21", "3.8.15"]}, {"source": "FF", "target": "MI", "chapters": ["2.8.3", "2.8.2", "2.8.8"]}, {"source": "GA", "target": "JV", "chapters": ["4.15.2"]}, {"source": "GU", "target": "MO", "chapters": ["3.8.21", "4.8.4"]}, {"source": "JV", "target": "QU", "chapters": ["3.8.20"]}, {"source": "BU", "target": "JD", "chapters": ["3.1.8"]}, {"source": "CR", "target": "HL", "chapters": ["4.12.4"]}, {"source": "GA", "target": "JP", "chapters": ["4.12.3"]}, {"source": "DA", "target": "FN", "chapters": ["1.3.3", "1.3.9", "1.3.8", "1.3.4"]}, {"source": "GP", "target": "MA", "chapters": ["3.3.4"]}, {"source": "GG", "target": "MY", "chapters": ["1.1.10"]}, {"source": "BA", "target": "GA", "chapters": ["4.14.1", "4.11.4", "4.14.3", "4.12.4", "4.12.3"]}, {"source": "DA", "target": "FA", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "GA", "target": "GT", "chapters": ["4.12.3"]}, {"source": "BJ", "target": "EP", "chapters": ["4.8.4"]}, {"source": "CH", "target": "JU", "chapters": ["1.7.11", "1.7.9", "1.7.10"]}, {"source": "CH", "target": "JV", "chapters": ["1.7.11", "1.7.9", "1.7.10"]}, {"source": "GP", "target": "MP", "chapters": ["3.3.2"]}, {"source": "FE", "target": "MM", "chapters": ["4.14.1"]}, {"source": "DA", "target": "FT", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "DA", "target": "FV", "chapters": ["1.3.3", "1.3.9", "1.3.8", "1.3.6", "1.3.4"]}, {"source": "BA", "target": "GT", "chapters": ["4.12.3"]}, {"source": "GA", "target": "XA", "chapters": ["4.6.2"]}, {"source": "BJ", "target": "TH", "chapters": ["4.6.3", "4.8.4"]}, {"source": "GI", "target": "TG", "chapters": ["3.5.6"]}, {"source": "EP", "target": "MO", "chapters": ["4.8.4"]}, {"source": "BM", "target": "BR", "chapters": ["1.7.10"]}, {"source": "BJ", "target": "QU", "chapters": ["4.8.4"]}, {"source": "BA", "target": "HL", "chapters": ["4.12.4"]}, {"source": "BO", "target": "FE", "chapters": ["4.12.6", "4.12.3", "5.1.18", "5.1.21", "5.1.2", "4.14.1"]}, {"source": "JV", "target": "MA", "chapters": ["5.9.5", "5.5.4", "5.5.7", "5.1.4", "5.1.24", "3.6.2", "3.6.1", "5.7.1", "5.6.2", "5.5.8", "5.3.7", "5.3.6", "5.3.5", "5.3.4", "3.8.14", "5.3.2", "5.3.1"]}, {"source": "FF", "target": "JA", "chapters": ["1.5.6"]}, {"source": "MA", "target": "MG", "chapters": ["5.5.4", "3.3.1", "3.3.2", "3.3.5", "5.6.2", "3.2.8"]}, {"source": "BL", "target": "LI", "chapters": ["1.3.3", "1.3.2", "1.3.8", "1.3.4"]}, {"source": "BA", "target": "JO", "chapters": ["4.14.1", "4.12.6", "4.14.3", "4.12.3", "3.4.4"]}, {"source": "FF", "target": "JV", "chapters": ["2.8.4", "2.8.9", "2.8.8", "2.8.7", "1.5.6", "2.8.1", "2.5.8", "2.5.9"]}, {"source": "GU", "target": "JV", "chapters": ["3.8.20"]}, {"source": "CM", "target": "GT", "chapters": ["4.1.6"]}, {"source": "FV", "target": "LI", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "JV", "target": "ME", "chapters": ["1.2.4", "1.2.5", "1.2.3"]}, {"source": "GA", "target": "XB", "chapters": ["4.6.2"]}, {"source": "HL", "target": "JO", "chapters": ["4.12.2"]}, {"source": "BL", "target": "FT", "chapters": ["1.3.3", "1.3.2", "1.3.8", "1.3.4"]}, {"source": "MN", "target": "TM", "chapters": ["4.6.1"]}, {"source": "GI", "target": "JV", "chapters": ["5.6.2", "5.5.4"]}, {"source": "BA", "target": "JP", "chapters": ["4.12.6", "4.12.3"]}, {"source": "GU", "target": "QU", "chapters": ["3.8.21", "3.8.20", "4.8.4"]}, {"source": "EP", "target": "MA", "chapters": ["3.8.11", "4.8.3", "4.14.6", "4.9.2", "4.2.4"]}, {"source": "CM", "target": "MA", "chapters": ["5.1.4", "4.14.3", "4.14.5", "5.1.21", "3.4.5"]}, {"source": "GP", "target": "TH", "chapters": ["2.1.19"]}, {"source": "FA", "target": "LI", "chapters": ["1.3.3", "1.3.2", "1.3.8", "1.3.4"]}, {"source": "JV", "target": "MI", "chapters": ["2.8.8"]}, {"source": "GI", "target": "MG", "chapters": ["5.5.4", "3.5.6", "3.3.1", "5.6.2", "3.3.5", "3.3.8", "3.2.8", "4.8.7"]}, {"source": "EN", "target": "GA", "chapters": ["4.12.4", "4.12.3", "5.1.7", "5.1.11", "4.14.1", "4.14.5"]}, {"source": "SP", "target": "SS", "chapters": ["1.8.5", "1.7.1"]}, {"source": "BB", "target": "GA", "chapters": ["4.6.3"]}, {"source": "LI", "target": "ZE", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "CR", "target": "JP", "chapters": ["4.12.6", "4.14.3", "4.12.3"]}, {"source": "BZ", "target": "TH", "chapters": ["2.2.2"]}, {"source": "JA", "target": "QU", "chapters": ["3.8.21"]}, {"source": "FT", "target": "ZE", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "CN", "target": "JU", "chapters": ["1.7.11", "1.7.10"]}, {"source": "GA", "target": "HL", "chapters": ["4.12.4"]}, {"source": "BB", "target": "GU", "chapters": ["4.6.3", "3.8.21", "3.8.20", "4.8.4"]}, {"source": "BB", "target": "MO", "chapters": ["3.8.21", "4.8.4"]}, {"source": "JA", "target": "TH", "chapters": ["2.5.10", "5.3.3", "3.8.21", "3.8.20"]}, {"source": "JL", "target": "JV", "chapters": ["1.2.1"]}, {"source": "JA", "target": "TM", "chapters": ["3.8.21"]}, {"source": "BL", "target": "FN", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "CR", "target": "EP", "chapters": ["4.11.6"]}, {"source": "CR", "target": "FE", "chapters": ["4.12.6", "4.12.3", "5.1.18", "5.1.21", "5.1.2", "4.14.1"]}, {"source": "BA", "target": "FE", "chapters": ["4.14.1", "4.12.6", "4.12.3"]}, {"source": "MY", "target": "SN", "chapters": ["1.1.8", "1.1.14"]}, {"source": "EN", "target": "JO", "chapters": ["4.14.1", "4.12.6", "4.12.3", "5.1.21", "5.1.2"]}, {"source": "GE", "target": "MY", "chapters": ["1.1.4"]}, {"source": "EP", "target": "QU", "chapters": ["4.8.4"]}, {"source": "CO", "target": "MA", "chapters": ["5.9.5", "5.9.4", "5.9.1", "5.5.4", "4.5.6", "5.5.6", "3.6.2", "4.3.6", "3.6.1", "5.7.1", "3.6.3", "5.6.2", "3.6.6", "5.6.1", "3.6.8", "4.8.3", "4.8.2", "4.8.1", "4.8.6"]}, {"source": "EN", "target": "JP", "chapters": ["4.12.6", "4.14.3", "4.12.3", "4.12.8"]}, {"source": "CR", "target": "EN", "chapters": ["3.4.3", "4.1.6", "4.12.4", "4.12.3", "5.1.18", "3.4.5", "5.1.21", "5.1.7", "4.12.5", "5.1.13", "5.1.2", "4.14.1", "4.14.3", "4.14.5", "4.12.6", "5.1.17"]}, {"source": "JA", "target": "TS", "chapters": ["4.15.1"]}, {"source": "CR", "target": "MA", "chapters": ["3.4.2", "3.4.3", "3.4.6", "3.4.5", "5.1.21", "4.14.5", "4.8.3", "4.9.2"]}, {"source": "TH", "target": "TM", "chapters": ["2.3.8", "1.4.1", "2.3.2", "3.8.18", "3.8.19", "3.8.7", "3.8.12", "3.8.21", "3.8.20", "3.8.16", "3.8.17"]}, {"source": "FT", "target": "LI", "chapters": ["1.3.3", "1.3.2", "1.3.8", "1.3.4"]}, {"source": "MB", "target": "ME", "chapters": ["1.1.2", "1.1.5", "1.1.7", "1.2.4", "1.2.2", "1.2.3"]}, {"source": "CR", "target": "MM", "chapters": ["4.14.1", "4.11.5"]}, {"source": "BA", "target": "BO", "chapters": ["4.14.1", "4.12.6", "4.14.3", "4.12.3"]}, {"source": "JV", "target": "TM", "chapters": ["2.3.8", "2.3.9", "3.8.18", "3.8.20", "3.8.19"]}, {"source": "JV", "target": "TH", "chapters": ["2.3.8", "2.3.9", "5.3.8", "3.8.18", "3.8.19", "2.3.10", "3.8.8", "3.8.9", "3.8.20"]}, {"source": "CO", "target": "TS", "chapters": ["4.5.3", "4.15.1"]}, {"source": "MA", "target": "TG", "chapters": ["3.3.7"]}, {"source": "JA", "target": "LL", "chapters": ["2.5.10"]}, {"source": "JV", "target": "LL", "chapters": ["2.4.3", "2.4.5", "2.4.4"]}, {"source": "BJ", "target": "MO", "chapters": ["4.8.4"]}, {"source": "BO", "target": "CM", "chapters": ["4.12.6", "5.1.18", "5.1.21", "5.1.7", "5.1.2", "4.14.1", "4.14.3", "4.14.5"]}, {"source": "CO", "target": "TM", "chapters": ["2.3.8", "2.3.3", "2.3.4"]}, {"source": "BA", "target": "CM", "chapters": ["4.14.1", "4.12.6", "4.14.3", "4.11.4", "4.11.5"]}, {"source": "GI", "target": "MA", "chapters": ["5.5.3", "5.3.12", "5.5.6", "3.3.1", "5.6.2", "3.3.5", "3.3.4", "5.6.1", "3.3.8", "3.2.8", "4.8.7", "5.5.4"]}, {"source": "BO", "target": "MA", "chapters": ["3.4.2", "5.1.21", "4.14.3", "4.14.5"]}, {"source": "GA", "target": "TH", "chapters": ["4.6.3"]}, {"source": "FN", "target": "LI", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "EP", "target": "MM", "chapters": ["4.2.3"]}, {"source": "MB", "target": "MY", "chapters": ["1.1.1", "1.1.5", "1.1.4", "1.1.7", "1.2.4", "1.2.2", "1.2.3"]}, {"source": "GA", "target": "MA", "chapters": ["4.14.3", "4.14.5", "5.1.8", "4.14.7"]}, {"source": "BA", "target": "MA", "chapters": ["4.14.3"]}, {"source": "CO", "target": "TH", "chapters": ["3.8.8"]}, {"source": "GA", "target": "GU", "chapters": ["4.6.3"]}, {"source": "JV", "target": "TS", "chapters": ["4.15.1"]}, {"source": "CM", "target": "EN", "chapters": ["4.12.6", "4.1.6", "5.1.8", "3.4.5", "5.1.4", "5.1.7", "4.12.8", "4.14.1", "4.14.5", "5.1.21", "5.1.2", "5.1.17", "5.1.18"]}, {"source": "BM", "target": "JA", "chapters": ["1.5.12"]}, {"source": "CH", "target": "CN", "chapters": ["1.7.11", "1.7.10"]}, {"source": "EN", "target": "MA", "chapters": ["3.4.3", "5.1.19", "3.4.5", "5.1.21", "4.14.5", "5.1.4"]}, {"source": "BL", "target": "DA", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "FN", "target": "FV", "chapters": ["1.3.3", "1.3.9", "1.3.8", "1.3.4"]}, {"source": "BO", "target": "GT", "chapters": ["4.12.3", "4.12.2", "3.4.4"]}, {"source": "FN", "target": "FT", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "GI", "target": "MN", "chapters": ["3.2.6"]}, {"source": "JU", "target": "JV", "chapters": ["1.7.11", "1.7.9", "1.7.10"]}, {"source": "BM", "target": "JU", "chapters": ["1.7.9", "1.7.10"]}, {"source": "JA", "target": "JV", "chapters": ["5.1.6", "5.1.19", "5.1.18", "5.3.11", "5.3.10", "1.5.6", "1.5.13", "1.6.2", "1.8.4", "5.3.9", "2.5.10", "3.8.21", "2.4.5", "1.8.3"]}, {"source": "JA", "target": "SS", "chapters": ["1.8.5"]}, {"source": "JV", "target": "MR", "chapters": ["1.2.1"]}, {"source": "FN", "target": "MT", "chapters": ["1.5.9", "1.5.10"]}, {"source": "FA", "target": "FN", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "JV", "target": "MT", "chapters": ["1.2.1"]}, {"source": "BB", "target": "JA", "chapters": ["3.8.21"]}, {"source": "JV", "target": "MY", "chapters": ["1.2.12", "1.2.4", "1.2.5", "1.2.3"]}, {"source": "FV", "target": "ZE", "chapters": ["1.3.3", "1.3.9", "1.3.8", "1.3.4"]}, {"source": "CM", "target": "FE", "chapters": ["4.14.1", "4.12.6", "5.1.21", "5.1.18", "5.1.2"]}, {"source": "JV", "target": "MB", "chapters": ["1.2.4", "1.2.3"]}, {"source": "MM", "target": "PL", "chapters": ["4.9.3", "3.5.4", "4.4.2"]}, {"source": "BM", "target": "CC", "chapters": ["1.7.10"]}, {"source": "JV", "target": "MG", "chapters": ["5.6.2", "5.5.4"]}, {"source": "MC", "target": "MY", "chapters": ["1.1.4"]}, {"source": "BM", "target": "CH", "chapters": ["1.7.9", "1.7.10"]}, {"source": "DA", "target": "LI", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "CM", "target": "GA", "chapters": ["4.14.1", "4.11.4", "4.14.3", "4.14.5", "5.1.7"]}, {"source": "JV", "target": "MO", "chapters": ["4.4.2"]}, {"source": "FA", "target": "FV", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "BM", "target": "CN", "chapters": ["1.7.10"]}, {"source": "FA", "target": "FT", "chapters": ["1.3.3", "1.3.2", "1.3.8", "1.3.4"]}, {"source": "MO", "target": "QU", "chapters": ["3.8.21", "4.8.4"]}, {"source": "BO", "target": "MM", "chapters": ["4.14.1"]}, {"source": "FE", "target": "GA", "chapters": ["4.14.1", "4.12.3"]}, {"source": "CR", "target": "GT", "chapters": ["4.1.6", "4.12.3"]}, {"source": "IS", "target": "JV", "chapters": ["1.2.6"]}, {"source": "GT", "target": "JO", "chapters": ["4.12.3", "4.12.2"]}, {"source": "EN", "target": "HL", "chapters": ["4.12.4"]}, {"source": "GT", "target": "JP", "chapters": ["4.12.3"]}, {"source": "BA", "target": "CR", "chapters": ["4.12.6", "4.12.4", "4.12.3", "4.14.1", "4.11.4", "4.11.5"]}, {"source": "CL", "target": "MY", "chapters": ["1.1.4"]}, {"source": "BO", "target": "JO", "chapters": ["4.12.6", "4.12.3", "4.12.2", "5.1.21", "5.1.2", "4.14.1", "4.14.3"]}, {"source": "CR", "target": "JO", "chapters": ["4.14.1", "4.12.6", "4.12.3", "5.1.21", "5.1.2"]}, {"source": "FT", "target": "FV", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "MG", "target": "TG", "chapters": ["3.2.8", "3.3.7"]}, {"source": "EN", "target": "MM", "chapters": ["4.14.1"]}, {"source": "FN", "target": "JA", "chapters": ["1.8.4", "1.5.12", "1.5.13", "1.8.3"]}, {"source": "BB", "target": "JV", "chapters": ["3.8.20"]}, {"source": "CO", "target": "TG", "chapters": ["4.5.1"]}, {"source": "BO", "target": "JV", "chapters": ["5.1.11"]}, {"source": "BB", "target": "BJ", "chapters": ["4.6.3", "4.8.4"]}, {"source": "BM", "target": "FN", "chapters": ["1.5.12"]}, {"source": "JA", "target": "MO", "chapters": ["3.8.21"]}, {"source": "FN", "target": "JV", "chapters": ["1.5.13", "1.6.1", "1.8.2", "1.8.4", "1.8.1", "1.7.1", "1.8.3"]}, {"source": "FA", "target": "ZE", "chapters": ["1.3.3", "1.3.8", "1.3.4"]}, {"source": "CM", "target": "CR", "chapters": ["4.12.6", "4.1.6", "5.1.18", "3.4.5", "5.1.21", "5.1.7", "5.1.2", "4.14.1", "4.11.4", "4.11.5", "4.14.5", "5.1.17"]}, {"source": "BR", "target": "JV", "chapters": ["1.7.11", "1.7.10"]}, {"source": "BR", "target": "JU", "chapters": ["1.7.11", "1.7.10"]}, {"source": "FN", "target": "SP", "chapters": ["1.8.5"]}, {"source": "FN", "target": "SS", "chapters": ["1.7.6", "1.8.5"]}, {"source": "CN", "target": "JV", "chapters": ["1.7.11", "1.7.10"]}, {"source": "CM", "target": "MM", "chapters": ["4.14.1", "4.11.5"]}, {"source": "CC", "target": "CH", "chapters": ["1.7.11", "1.7.10"]}, {"source": "JO", "target": "MA", "chapters": ["5.1.21", "4.14.3"]}, {"source": "CC", "target": "CN", "chapters": ["1.7.11", "1.7.10"]}, {"source": "FE", "target": "GT", "chapters": ["4.12.3"]}, {"source": "FF", "target": "GR", "chapters": ["2.8.7", "2.8.5"]}, {"source": "DA", "target": "ZE", "chapters": ["1.3.3", "1.3.9", "1.3.8", "1.3.4"]}, {"source": "CO", "target": "GI", "chapters": ["5.6.2", "5.5.4", "5.5.6"]}, {"source": "BL", "target": "FV", "chapters": ["1.3.3", "1.3.8", "1.3.6", "1.3.4"]}, {"source": "BT", "target": "MA", "chapters": ["3.3.3"]}, {"source": "CO", "target": "JV", "chapters": ["2.5.6", "2.4.2", "2.4.1", "5.5.4", "4.3.7", "4.3.4", "5.7.1", "5.8.1", "5.8.2", "2.4.4", "5.9.5", "2.3.6", "2.3.7", "3.8.8", "2.4.3", "2.5.7", "2.5.4", "2.5.5", "2.5.2", "2.5.3", "2.4.5", "2.5.1", "4.5.2", "5.8.3", "2.8.4", "4.4.1", "3.6.1", "3.6.2", "4.3.5", "5.6.2", "4.3.8"]}, {"source": "BR", "target": "CC", "chapters": ["1.7.11", "1.7.10"]}, {"source": "BL", "target": "FA", "chapters": ["1.3.3", "1.3.2", "1.3.8", "1.3.4"]}, {"source": "CO", "target": "LL", "chapters": ["2.4.4"]}, {"source": "BR", "target": "CN", "chapters": ["1.7.11", "1.7.10"]}, {"source": "BO", "target": "GA", "chapters": ["4.14.1", "4.12.3", "4.14.3", "4.14.5", "5.1.7"]}, {"source": "BR", "target": "CH", "chapters": ["1.7.11", "1.7.10"]}, {"source": "BO", "target": "JP", "chapters": ["4.12.6", "4.12.3"]}, {"source": "JV", "target": "SC", "chapters": ["1.7.2"]}, {"source": "BB", "target": "TH", "chapters": ["4.6.3", "3.8.21", "3.8.20", "4.8.4"]}, {"source": "CC", "target": "JU", "chapters": ["1.7.11", "1.7.10"]}, {"source": "CC", "target": "JV", "chapters": ["1.7.11", "1.7.10"]}, {"source": "BB", "target": "TM", "chapters": ["3.8.20"]}, {"source": "FN", "target": "TH", "chapters": ["1.4.1"]}, {"source": "GU", "target": "TM", "chapters": ["3.8.20"]}, {"source": "JV", "target": "SS", "chapters": ["1.8.5", "1.8.1", "1.7.1"]}, {"source": "QU", "target": "TM", "chapters": ["3.8.20"]}, {"source": "GU", "target": "TH", "chapters": ["4.6.3", "3.8.20", "4.8.4"]}, {"source": "FN", "target": "TM", "chapters": ["1.4.1"]}, {"source": "XA", "target": "XB", "chapters": ["5.1.16", "4.6.2"]}, {"source": "FT", "target": "MA", "chapters": ["3.6.6"]}, {"source": "AZ", "target": "TM", "chapters": ["3.8.16"]}, {"source": "BO", "target": "EN", "chapters": ["4.12.6", "4.12.3", "5.1.18", "5.1.14", "5.1.7", "5.1.2", "4.14.1", "4.14.5", "5.1.21"]}, {"source": "AZ", "target": "TH", "chapters": ["3.8.16", "5.6.1"]}]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment