Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
mike dupont committed Oct 21, 2023
1 parent b5a978a commit 1c3c6b6
Show file tree
Hide file tree
Showing 20 changed files with 43 additions and 43 deletions.
12 changes: 6 additions & 6 deletions pyre/graphs.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,9 +216,9 @@ def graph_interactive_network(
#"nodeSpacing": 250, # Increased spacing between nodes on the same level
#"treeSpacing": 250, # Increased spacing between different trees (for forest)
"blockShifting": True,
"edgeMinimization": True,
# "edgeMinimization": True,
"parentCentralization": True,
"direction": "UD",
#"direction": "UD",
"sortMethod": "directed",
}
physics_options = {
Expand All @@ -228,9 +228,9 @@ def graph_interactive_network(
},
"hierarchicalRepulsion": {
"centralGravity": 0.0,
"springLength": 200, # Increased edge length
"springLength": 700, # Increased edge length
"springConstant": 0.01,
"nodeDistance": 250, # Increased minimum distance between nodes
"nodeDistance": 750, # Increased minimum distance between nodes
"damping": 0.09,
},
"solver": "hierarchicalRepulsion",
Expand All @@ -239,13 +239,13 @@ def graph_interactive_network(
nt.options = {
"nodes": {
"font": {
"size": 20, # Increased font size for labels
"size": 12, # Increased font size for labels
"color": "black", # Set a readable font color
},
"shapeProperties": {"useBorderWithImage": True},
},
"edges": {
"length": 250, # Increased edge length
"length": 1050, # Increased edge length
},
"physics": physics_options,
"layout": {"hierarchical": hierarchical_options},
Expand Down
2 changes: 1 addition & 1 deletion pyre/graphs/graphComponent0.html
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ <h1></h1>
// adding nodes and edges to the graph
data = {nodes: nodes, edges: edges};

var options = {"nodes": {"font": {"size": 20, "color": "black"}, "shapeProperties": {"useBorderWithImage": true}}, "edges": {"length": 250}, "physics": {"stabilization": {"enabled": true, "iterations": 1000}, "hierarchicalRepulsion": {"centralGravity": 0.0, "springLength": 200, "springConstant": 0.01, "nodeDistance": 250, "damping": 0.09}, "solver": "hierarchicalRepulsion", "timestep": 0.5}, "layout": {"hierarchical": {"enabled": true, "blockShifting": true, "edgeMinimization": true, "parentCentralization": true, "direction": "UD", "sortMethod": "directed"}}};
var options = {"nodes": {"font": {"size": 12, "color": "black"}, "shapeProperties": {"useBorderWithImage": true}}, "edges": {"length": 1050}, "physics": {"stabilization": {"enabled": true, "iterations": 1000}, "hierarchicalRepulsion": {"centralGravity": 0.0, "springLength": 700, "springConstant": 0.01, "nodeDistance": 750, "damping": 0.09}, "solver": "hierarchicalRepulsion", "timestep": 0.5}, "layout": {"hierarchical": {"enabled": true, "blockShifting": true, "parentCentralization": true, "sortMethod": "directed"}}};



Expand Down
6 changes: 3 additions & 3 deletions pyre/graphs/graphComponent1.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion pyre/graphs/graphComponent1.json

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions pyre/graphs/graphComponent2.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion pyre/graphs/graphComponent2.json

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions pyre/graphs/graphComponent3.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion pyre/graphs/graphComponent3.json

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions pyre/graphs/graphComponent4.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion pyre/graphs/graphComponent4.json

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions pyre/graphs/graphComponent5.html
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ <h1></h1>


// parsing and collecting nodes and edges from the python
nodes = new vis.DataSet([{"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.arguments", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.arguments", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments", "shape": "dot"}]);
edges = new vis.DataSet([{"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters_to_autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.name", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.name"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.description", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.description"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.arguments", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.arguments"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.description_to_autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.name_to_autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec_to_autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__"}]);
nodes = new vis.DataSet([{"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.arguments", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.arguments", "shape": "dot"}]);
edges = new vis.DataSet([{"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.name_to_autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.name_to_autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.description_to_autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.description_to_autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec_to_autogpts.autogpt.autogpt.core.ability.base.Ability.parameters", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec_to_autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments_to_autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__"}, {"from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.arguments", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.arguments"}]);

nodeColors = {};
allNodes = nodes.get({ returnType: "Object" });
Expand All @@ -100,7 +100,7 @@ <h1></h1>
// adding nodes and edges to the graph
data = {nodes: nodes, edges: edges};

var options = {"nodes": {"font": {"size": 20, "color": "black"}, "shapeProperties": {"useBorderWithImage": true}}, "edges": {"length": 250}, "physics": {"stabilization": {"enabled": true, "iterations": 1000}, "hierarchicalRepulsion": {"centralGravity": 0.0, "springLength": 200, "springConstant": 0.01, "nodeDistance": 250, "damping": 0.09}, "solver": "hierarchicalRepulsion", "timestep": 0.5}, "layout": {"hierarchical": {"enabled": true, "blockShifting": true, "edgeMinimization": true, "parentCentralization": true, "direction": "UD", "sortMethod": "directed"}}};
var options = {"nodes": {"font": {"size": 12, "color": "black"}, "shapeProperties": {"useBorderWithImage": true}}, "edges": {"length": 1050}, "physics": {"stabilization": {"enabled": true, "iterations": 1000}, "hierarchicalRepulsion": {"centralGravity": 0.0, "springLength": 700, "springConstant": 0.01, "nodeDistance": 750, "damping": 0.09}, "solver": "hierarchicalRepulsion", "timestep": 0.5}, "layout": {"hierarchical": {"enabled": true, "blockShifting": true, "parentCentralization": true, "sortMethod": "directed"}}};



Expand Down
2 changes: 1 addition & 1 deletion pyre/graphs/graphComponent5.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"nodes": [{"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.arguments", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.arguments", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments", "shape": "dot"}], "edges": [{"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters_to_autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.name", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.name"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.description", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.description"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.arguments", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.arguments"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.description_to_autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.name_to_autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec_to_autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__"}]}
{"nodes": [{"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments", "shape": "dot"}, {"color": "#97c2fc", "id": "autogpts.autogpt.autogpt.core.ability.base.Ability.arguments", "label": "autogpts.autogpt.autogpt.core.ability.base.Ability.arguments", "shape": "dot"}], "edges": [{"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.name_to_autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.name_to_autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.name", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.description_to_autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.description_to_autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.description", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec_to_autogpts.autogpt.autogpt.core.ability.base.Ability.parameters", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.parameters"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec_to_autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.spec", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments_to_autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.required_arguments", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.__str__", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.__str__"}, {"id": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump_to_autogpts.autogpt.autogpt.core.ability.base.Ability.arguments", "from": "autogpts.autogpt.autogpt.core.ability.base.Ability.dump", "to": "autogpts.autogpt.autogpt.core.ability.base.Ability.arguments"}]}
Loading

0 comments on commit 1c3c6b6

Please sign in to comment.