mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-08-09 23:05:01 -06:00
Merge branch 'main' into CURA-7812-decrease-Qml-singletons
This commit is contained in:
commit
47963e01db
5 changed files with 180 additions and 140 deletions
|
@ -6159,66 +6159,53 @@
|
|||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
},
|
||||
"raft_surface_layers":
|
||||
"raft_base_thickness":
|
||||
{
|
||||
"label": "Raft Top Layers",
|
||||
"description": "The number of top layers on top of the 2nd raft layer. These are fully filled layers that the model sits on. 2 layers result in a smoother top surface than 1.",
|
||||
"type": "int",
|
||||
"default_value": 2,
|
||||
"minimum_value": "0",
|
||||
"maximum_value_warning": "20",
|
||||
"label": "Raft Base Thickness",
|
||||
"description": "Layer thickness of the base raft layer. This should be a thick layer which sticks firmly to the printer build plate.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.3,
|
||||
"value": "resolveOrValue('layer_height_0') * 1.2",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.04",
|
||||
"maximum_value_warning": "0.75 * raft_base_line_width",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
},
|
||||
"raft_surface_thickness":
|
||||
"raft_base_line_width":
|
||||
{
|
||||
"label": "Raft Top Layer Thickness",
|
||||
"description": "Layer thickness of the top raft layers.",
|
||||
"label": "Raft Base Line Width",
|
||||
"description": "Width of the lines in the base raft layer. These should be thick lines to assist in build plate adhesion.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.1,
|
||||
"value": "resolveOrValue('layer_height')",
|
||||
"default_value": 0.8,
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.04",
|
||||
"maximum_value_warning": "0.75 * machine_nozzle_size",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
|
||||
"value": "machine_nozzle_size * 2",
|
||||
"minimum_value_warning": "machine_nozzle_size * 0.5",
|
||||
"maximum_value_warning": "machine_nozzle_size * 3",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
},
|
||||
"raft_surface_line_width":
|
||||
"raft_base_line_spacing":
|
||||
{
|
||||
"label": "Raft Top Line Width",
|
||||
"description": "Width of the lines in the top surface of the raft. These can be thin lines so that the top of the raft becomes smooth.",
|
||||
"label": "Raft Base Line Spacing",
|
||||
"description": "The distance between the raft lines for the base raft layer. Wide spacing makes for easy removal of the raft from the build plate.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.4,
|
||||
"value": "line_width",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "machine_nozzle_size * 0.1",
|
||||
"maximum_value_warning": "machine_nozzle_size * 2",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
},
|
||||
"raft_surface_line_spacing":
|
||||
{
|
||||
"label": "Raft Top Spacing",
|
||||
"description": "The distance between the raft lines for the top raft layers. The spacing should be equal to the line width, so that the surface is solid.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.4,
|
||||
"default_value": 1.6,
|
||||
"value": "raft_base_line_width * 2",
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "raft_surface_line_width",
|
||||
"maximum_value_warning": "raft_surface_line_width * 3",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
|
||||
"value": "raft_surface_line_width",
|
||||
"minimum_value_warning": "raft_base_line_width",
|
||||
"maximum_value_warning": "100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
},
|
||||
"raft_interface_layers":
|
||||
{
|
||||
|
@ -6281,53 +6268,114 @@
|
|||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_interface_extruder_nr"
|
||||
},
|
||||
"raft_base_thickness":
|
||||
"raft_surface_layers":
|
||||
{
|
||||
"label": "Raft Base Thickness",
|
||||
"description": "Layer thickness of the base raft layer. This should be a thick layer which sticks firmly to the printer build plate.",
|
||||
"label": "Raft Top Layers",
|
||||
"description": "The number of top layers on top of the 2nd raft layer. These are fully filled layers that the model sits on. 2 layers result in a smoother top surface than 1.",
|
||||
"type": "int",
|
||||
"default_value": 2,
|
||||
"minimum_value": "0",
|
||||
"maximum_value_warning": "20",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
},
|
||||
"raft_surface_thickness":
|
||||
{
|
||||
"label": "Raft Top Layer Thickness",
|
||||
"description": "Layer thickness of the top raft layers.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.3,
|
||||
"value": "resolveOrValue('layer_height_0') * 1.2",
|
||||
"default_value": 0.1,
|
||||
"value": "resolveOrValue('layer_height')",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.04",
|
||||
"maximum_value_warning": "0.75 * raft_base_line_width",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"maximum_value_warning": "0.75 * machine_nozzle_size",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
},
|
||||
"raft_base_line_width":
|
||||
"raft_surface_line_width":
|
||||
{
|
||||
"label": "Raft Base Line Width",
|
||||
"description": "Width of the lines in the base raft layer. These should be thick lines to assist in build plate adhesion.",
|
||||
"label": "Raft Top Line Width",
|
||||
"description": "Width of the lines in the top surface of the raft. These can be thin lines so that the top of the raft becomes smooth.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.8,
|
||||
"default_value": 0.4,
|
||||
"value": "line_width",
|
||||
"minimum_value": "0.001",
|
||||
"value": "machine_nozzle_size * 2",
|
||||
"minimum_value_warning": "machine_nozzle_size * 0.5",
|
||||
"maximum_value_warning": "machine_nozzle_size * 3",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"minimum_value_warning": "machine_nozzle_size * 0.1",
|
||||
"maximum_value_warning": "machine_nozzle_size * 2",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
},
|
||||
"raft_base_line_spacing":
|
||||
"raft_surface_line_spacing":
|
||||
{
|
||||
"label": "Raft Base Line Spacing",
|
||||
"description": "The distance between the raft lines for the base raft layer. Wide spacing makes for easy removal of the raft from the build plate.",
|
||||
"label": "Raft Top Spacing",
|
||||
"description": "The distance between the raft lines for the top raft layers. The spacing should be equal to the line width, so that the surface is solid.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 1.6,
|
||||
"value": "raft_base_line_width * 2",
|
||||
"default_value": 0.4,
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "raft_base_line_width",
|
||||
"maximum_value_warning": "100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"minimum_value_warning": "raft_surface_line_width",
|
||||
"maximum_value_warning": "raft_surface_line_width * 3",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
|
||||
"value": "raft_surface_line_width",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
},
|
||||
"raft_wall_count":
|
||||
{
|
||||
"label": "Raft Wall Count",
|
||||
"description": "The number of contours to print around the linear pattern of the raft.",
|
||||
"type": "int",
|
||||
"default_value": 1,
|
||||
"minimum_value": "0",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false,
|
||||
"children":
|
||||
{
|
||||
"raft_base_wall_count":
|
||||
{
|
||||
"label": "Raft Base Wall Count",
|
||||
"description": "The number of contours to print around the linear pattern in the base layer of the raft.",
|
||||
"type": "int",
|
||||
"default_value": 1,
|
||||
"value": "raft_wall_count",
|
||||
"minimum_value": "0",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
"raft_interface_wall_count":
|
||||
{
|
||||
"label": "Raft Middle Wall Count",
|
||||
"description": "The number of contours to print around the linear pattern in the middle layers of the raft.",
|
||||
"type": "int",
|
||||
"default_value": 0,
|
||||
"minimum_value": "0",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
"raft_surface_wall_count":
|
||||
{
|
||||
"label": "Raft Top Wall Count",
|
||||
"description": "The number of contours to print around the linear pattern in the top layers of the raft.",
|
||||
"type": "int",
|
||||
"default_value": 0,
|
||||
"minimum_value": "0",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"raft_speed":
|
||||
{
|
||||
|
@ -6346,21 +6394,21 @@
|
|||
"limit_to_extruder": "adhesion_extruder_nr",
|
||||
"children":
|
||||
{
|
||||
"raft_surface_speed":
|
||||
"raft_base_speed":
|
||||
{
|
||||
"label": "Raft Top Print Speed",
|
||||
"description": "The speed at which the top raft layers are printed. These should be printed a bit slower, so that the nozzle can slowly smooth out adjacent surface lines.",
|
||||
"label": "Raft Base Print Speed",
|
||||
"description": "The speed at which the base raft layer is printed. This should be printed quite slowly, as the volume of material coming out of the nozzle is quite high.",
|
||||
"unit": "mm/s",
|
||||
"type": "float",
|
||||
"default_value": 20,
|
||||
"default_value": 15,
|
||||
"minimum_value": "0.1",
|
||||
"maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
|
||||
"maximum_value_warning": "100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
|
||||
"value": "raft_speed",
|
||||
"maximum_value_warning": "200",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"value": "0.75 * raft_speed",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
},
|
||||
"raft_interface_speed":
|
||||
{
|
||||
|
@ -6378,21 +6426,21 @@
|
|||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_interface_extruder_nr"
|
||||
},
|
||||
"raft_base_speed":
|
||||
"raft_surface_speed":
|
||||
{
|
||||
"label": "Raft Base Print Speed",
|
||||
"description": "The speed at which the base raft layer is printed. This should be printed quite slowly, as the volume of material coming out of the nozzle is quite high.",
|
||||
"label": "Raft Top Print Speed",
|
||||
"description": "The speed at which the top raft layers are printed. These should be printed a bit slower, so that the nozzle can slowly smooth out adjacent surface lines.",
|
||||
"unit": "mm/s",
|
||||
"type": "float",
|
||||
"default_value": 15,
|
||||
"default_value": 20,
|
||||
"minimum_value": "0.1",
|
||||
"maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
|
||||
"maximum_value_warning": "200",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"value": "0.75 * raft_speed",
|
||||
"maximum_value_warning": "100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
|
||||
"value": "raft_speed",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -6412,10 +6460,10 @@
|
|||
"limit_to_extruder": "adhesion_extruder_nr",
|
||||
"children":
|
||||
{
|
||||
"raft_surface_acceleration":
|
||||
"raft_base_acceleration":
|
||||
{
|
||||
"label": "Raft Top Print Acceleration",
|
||||
"description": "The acceleration with which the top raft layers are printed.",
|
||||
"label": "Raft Base Print Acceleration",
|
||||
"description": "The acceleration with which the base raft layer is printed.",
|
||||
"unit": "mm/s\u00b2",
|
||||
"type": "float",
|
||||
"default_value": 3000,
|
||||
|
@ -6423,9 +6471,9 @@
|
|||
"minimum_value": "0.1",
|
||||
"minimum_value_warning": "100",
|
||||
"maximum_value_warning": "10000",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled') and raft_surface_layers > 0",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')",
|
||||
"settable_per_mesh": false,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
},
|
||||
"raft_interface_acceleration":
|
||||
{
|
||||
|
@ -6442,10 +6490,10 @@
|
|||
"settable_per_mesh": false,
|
||||
"limit_to_extruder": "raft_interface_extruder_nr"
|
||||
},
|
||||
"raft_base_acceleration":
|
||||
"raft_surface_acceleration":
|
||||
{
|
||||
"label": "Raft Base Print Acceleration",
|
||||
"description": "The acceleration with which the base raft layer is printed.",
|
||||
"label": "Raft Top Print Acceleration",
|
||||
"description": "The acceleration with which the top raft layers are printed.",
|
||||
"unit": "mm/s\u00b2",
|
||||
"type": "float",
|
||||
"default_value": 3000,
|
||||
|
@ -6453,9 +6501,9 @@
|
|||
"minimum_value": "0.1",
|
||||
"minimum_value_warning": "100",
|
||||
"maximum_value_warning": "10000",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled') and raft_surface_layers > 0",
|
||||
"settable_per_mesh": false,
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -6475,20 +6523,20 @@
|
|||
"limit_to_extruder": "adhesion_extruder_nr",
|
||||
"children":
|
||||
{
|
||||
"raft_surface_jerk":
|
||||
"raft_base_jerk":
|
||||
{
|
||||
"label": "Raft Top Print Jerk",
|
||||
"description": "The jerk with which the top raft layers are printed.",
|
||||
"label": "Raft Base Print Jerk",
|
||||
"description": "The jerk with which the base raft layer is printed.",
|
||||
"unit": "mm/s",
|
||||
"type": "float",
|
||||
"default_value": 20,
|
||||
"value": "raft_jerk",
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "5",
|
||||
"maximum_value_warning": "100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled') and raft_surface_layers > 0",
|
||||
"maximum_value_warning": "50",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')",
|
||||
"settable_per_mesh": false,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
},
|
||||
"raft_interface_jerk":
|
||||
{
|
||||
|
@ -6505,20 +6553,20 @@
|
|||
"settable_per_mesh": false,
|
||||
"limit_to_extruder": "raft_interface_extruder_nr"
|
||||
},
|
||||
"raft_base_jerk":
|
||||
"raft_surface_jerk":
|
||||
{
|
||||
"label": "Raft Base Print Jerk",
|
||||
"description": "The jerk with which the base raft layer is printed.",
|
||||
"label": "Raft Top Print Jerk",
|
||||
"description": "The jerk with which the top raft layers are printed.",
|
||||
"unit": "mm/s",
|
||||
"type": "float",
|
||||
"default_value": 20,
|
||||
"value": "raft_jerk",
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "5",
|
||||
"maximum_value_warning": "50",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')",
|
||||
"maximum_value_warning": "100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled') and raft_surface_layers > 0",
|
||||
"settable_per_mesh": false,
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -6537,20 +6585,20 @@
|
|||
"limit_to_extruder": "adhesion_extruder_nr",
|
||||
"children":
|
||||
{
|
||||
"raft_surface_fan_speed":
|
||||
"raft_base_fan_speed":
|
||||
{
|
||||
"label": "Raft Top Fan Speed",
|
||||
"description": "The fan speed for the top raft layers.",
|
||||
"label": "Raft Base Fan Speed",
|
||||
"description": "The fan speed for the base raft layer.",
|
||||
"unit": "%",
|
||||
"type": "float",
|
||||
"minimum_value": "0",
|
||||
"maximum_value": "100",
|
||||
"default_value": 0,
|
||||
"value": "raft_fan_speed",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
},
|
||||
"raft_interface_fan_speed":
|
||||
{
|
||||
|
@ -6567,20 +6615,20 @@
|
|||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_interface_extruder_nr"
|
||||
},
|
||||
"raft_base_fan_speed":
|
||||
"raft_surface_fan_speed":
|
||||
{
|
||||
"label": "Raft Base Fan Speed",
|
||||
"description": "The fan speed for the base raft layer.",
|
||||
"label": "Raft Top Fan Speed",
|
||||
"description": "The fan speed for the top raft layers.",
|
||||
"unit": "%",
|
||||
"type": "float",
|
||||
"minimum_value": "0",
|
||||
"maximum_value": "100",
|
||||
"default_value": 0,
|
||||
"value": "raft_fan_speed",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"limit_to_extruder": "raft_base_extruder_nr"
|
||||
"limit_to_extruder": "raft_surface_extruder_nr"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8286,17 +8334,6 @@
|
|||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
"raft_base_wall_count":
|
||||
{
|
||||
"label": "Raft Base Wall Count",
|
||||
"description": "The number of contours to print around the linear pattern in the base layer of the raft.",
|
||||
"type": "int",
|
||||
"default_value": 1,
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
"resolve": "max(extruderValues('raft_base_wall_count'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
"group_outer_walls":
|
||||
{
|
||||
"label": "Group Outer Walls",
|
||||
|
|
|
@ -344,6 +344,7 @@ raft_interface_line_spacing
|
|||
raft_base_thickness
|
||||
raft_base_line_width
|
||||
raft_base_line_spacing
|
||||
raft_wall_count
|
||||
raft_speed
|
||||
raft_acceleration
|
||||
raft_jerk
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue