{
	"$defs": {
		"BoxOverlay": {
			"additionalProperties": false,
			"properties": {
				"name": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Name"
				},
				"at": {
					"maxItems": 2,
					"minItems": 2,
					"prefixItems": [
						{
							"anyOf": [
								{
									"maxItems": 2,
									"minItems": 2,
									"prefixItems": [
										{
											"type": "number"
										},
										{
											"type": "number"
										}
									],
									"type": "array"
								},
								{
									"$ref": "#/$defs/NamedPoint"
								}
							]
						},
						{
							"anyOf": [
								{
									"maxItems": 2,
									"minItems": 2,
									"prefixItems": [
										{
											"type": "number"
										},
										{
											"type": "number"
										}
									],
									"type": "array"
								},
								{
									"$ref": "#/$defs/NamedPoint"
								}
							]
						}
					],
					"title": "At",
					"type": "array"
				},
				"color": {
					"anyOf": [
						{
							"maxItems": 4,
							"minItems": 4,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 1.0,
									"minimum": 0.0,
									"type": "number"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{4}|[a-fA-F0-9]{8})$",
							"type": "string"
						},
						{
							"maxItems": 3,
							"minItems": 3,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$",
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Color"
				},
				"borderColor": {
					"anyOf": [
						{
							"maxItems": 3,
							"minItems": 3,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$",
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Bordercolor"
				}
			},
			"required": [
				"at"
			],
			"title": "BoxOverlay",
			"type": "object"
		},
		"CircularMarkerGroup": {
			"additionalProperties": false,
			"properties": {
				"name": {
					"minLength": 1,
					"title": "Name",
					"type": "string"
				},
				"description": {
					"anyOf": [
						{
							"minLength": 1,
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"description": "Shown in the legend right under.",
					"title": "Description"
				},
				"icon": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"description": "Shown in the legend.",
					"title": "Icon"
				},
				"static": {
					"default": false,
					"description": "If set to true, these circles will not change size when zooming in or out.",
					"title": "Is static?",
					"type": "boolean"
				},
				"article": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"description": "If set, all markers in this group will link to this article.",
					"title": "Related article"
				},
				"isDefault": {
					"default": true,
					"title": "Isdefault",
					"type": "boolean"
				},
				"isCollectible": {
					"default": false,
					"enum": [
						false,
						true,
						"individual",
						"group",
						"globalGroup"
					],
					"title": "Iscollectible"
				},
				"isSwitchable": {
					"default": true,
					"description": "If set to false, this group will not be shown in the legend.",
					"title": "Can be switched?",
					"type": "boolean"
				},
				"autoNumberInChecklist": {
					"default": false,
					"title": "Autonumberinchecklist",
					"type": "boolean"
				},
				"canSearchFor": {
					"default": true,
					"title": "Cansearchfor",
					"type": "boolean"
				},
				"fillColor": {
					"anyOf": [
						{
							"maxItems": 4,
							"minItems": 4,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 1.0,
									"minimum": 0.0,
									"type": "number"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{4}|[a-fA-F0-9]{8})$",
							"type": "string"
						},
						{
							"maxItems": 3,
							"minItems": 3,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$",
							"type": "string"
						}
					],
					"title": "Fillcolor"
				},
				"size": {
					"default": 12.5,
					"title": "Size",
					"type": "number"
				},
				"extraMinZoomSize": {
					"anyOf": [
						{
							"type": "number"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Extraminzoomsize"
				},
				"strokeColor": {
					"anyOf": [
						{
							"maxItems": 4,
							"minItems": 4,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 1.0,
									"minimum": 0.0,
									"type": "number"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{4}|[a-fA-F0-9]{8})$",
							"type": "string"
						},
						{
							"maxItems": 3,
							"minItems": 3,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$",
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Strokecolor"
				},
				"strokeWidth": {
					"default": 1,
					"title": "Strokewidth",
					"type": "number"
				}
			},
			"required": [
				"name",
				"fillColor"
			],
			"title": "CircularMarkerGroup",
			"type": "object"
		},
		"CoordinateSystem": {
			"additionalProperties": false,
			"properties": {
				"order": {
					"default": "yx",
					"enum": [
						"yx",
						"latlon",
						"xy"
					],
					"title": "Order",
					"type": "string"
				},
				"topLeft": {
					"anyOf": [
						{
							"maxItems": 2,
							"minItems": 2,
							"prefixItems": [
								{
									"type": "number"
								},
								{
									"type": "number"
								}
							],
							"type": "array"
						},
						{
							"$ref": "#/$defs/NamedPoint"
						}
					],
					"default": [
						0,
						0
					],
					"title": "Topleft"
				},
				"bottomRight": {
					"anyOf": [
						{
							"maxItems": 2,
							"minItems": 2,
							"prefixItems": [
								{
									"type": "number"
								},
								{
									"type": "number"
								}
							],
							"type": "array"
						},
						{
							"$ref": "#/$defs/NamedPoint"
						}
					],
					"default": [
						100,
						100
					],
					"title": "Bottomright"
				},
				"rotation": {
					"anyOf": [
						{
							"type": "number"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Rotation"
				}
			},
			"title": "CoordinateSystem",
			"type": "object"
		},
		"IconMarkerGroup": {
			"additionalProperties": false,
			"properties": {
				"name": {
					"minLength": 1,
					"title": "Name",
					"type": "string"
				},
				"description": {
					"anyOf": [
						{
							"minLength": 1,
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"description": "Shown in the legend right under.",
					"title": "Description"
				},
				"icon": {
					"title": "Icon",
					"type": "string"
				},
				"static": {
					"default": false,
					"description": "If set to true, these circles will not change size when zooming in or out.",
					"title": "Is static?",
					"type": "boolean"
				},
				"article": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"description": "If set, all markers in this group will link to this article.",
					"title": "Related article"
				},
				"isDefault": {
					"default": true,
					"title": "Isdefault",
					"type": "boolean"
				},
				"isCollectible": {
					"default": false,
					"enum": [
						false,
						true,
						"individual",
						"group",
						"globalGroup"
					],
					"title": "Iscollectible"
				},
				"isSwitchable": {
					"default": true,
					"description": "If set to false, this group will not be shown in the legend.",
					"title": "Can be switched?",
					"type": "boolean"
				},
				"autoNumberInChecklist": {
					"default": false,
					"title": "Autonumberinchecklist",
					"type": "boolean"
				},
				"canSearchFor": {
					"default": true,
					"title": "Cansearchfor",
					"type": "boolean"
				},
				"size": {
					"anyOf": [
						{
							"type": "number"
						},
						{
							"maxItems": 2,
							"minItems": 2,
							"prefixItems": [
								{
									"type": "number"
								},
								{
									"type": "number"
								}
							],
							"type": "array"
						},
						{
							"$ref": "#/$defs/NamedPoint"
						}
					],
					"default": 32,
					"title": "Size"
				}
			},
			"required": [
				"name",
				"icon"
			],
			"title": "IconMarkerGroup",
			"type": "object"
		},
		"ImageBackground": {
			"additionalProperties": false,
			"properties": {
				"name": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"description": "This name will be shown to a viewer in the background selection dropdown.",
					"title": "Display name"
				},
				"associatedLayer": {
					"anyOf": [
						{
							"minLength": 1,
							"pattern": "^[\\w\\d\\-\\._]+$",
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Associatedlayer"
				},
				"pixelated": {
					"default": false,
					"title": "Pixelated",
					"type": "boolean"
				},
				"overlays": {
					"default": [],
					"items": {
						"anyOf": [
							{
								"$ref": "#/$defs/ImageOverlay"
							},
							{
								"$ref": "#/$defs/PolylineOverlay"
							},
							{
								"$ref": "#/$defs/BoxOverlay"
							}
						]
					},
					"title": "Overlays",
					"type": "array"
				},
				"image": {
					"title": "Image to use",
					"type": "string"
				},
				"at": {
					"anyOf": [
						{
							"maxItems": 2,
							"minItems": 2,
							"prefixItems": [
								{
									"anyOf": [
										{
											"maxItems": 2,
											"minItems": 2,
											"prefixItems": [
												{
													"type": "number"
												},
												{
													"type": "number"
												}
											],
											"type": "array"
										},
										{
											"$ref": "#/$defs/NamedPoint"
										}
									]
								},
								{
									"anyOf": [
										{
											"maxItems": 2,
											"minItems": 2,
											"prefixItems": [
												{
													"type": "number"
												},
												{
													"type": "number"
												}
											],
											"type": "array"
										},
										{
											"$ref": "#/$defs/NamedPoint"
										}
									]
								}
							],
							"type": "array"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"description": "Bounds to fit the image in.",
					"title": "Bounds"
				}
			},
			"required": [
				"image"
			],
			"title": "ImageBackground",
			"type": "object"
		},
		"ImageOverlay": {
			"additionalProperties": false,
			"properties": {
				"name": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Name"
				},
				"image": {
					"title": "Image",
					"type": "string"
				},
				"at": {
					"maxItems": 2,
					"minItems": 2,
					"prefixItems": [
						{
							"anyOf": [
								{
									"maxItems": 2,
									"minItems": 2,
									"prefixItems": [
										{
											"type": "number"
										},
										{
											"type": "number"
										}
									],
									"type": "array"
								},
								{
									"$ref": "#/$defs/NamedPoint"
								}
							]
						},
						{
							"anyOf": [
								{
									"maxItems": 2,
									"minItems": 2,
									"prefixItems": [
										{
											"type": "number"
										},
										{
											"type": "number"
										}
									],
									"type": "array"
								},
								{
									"$ref": "#/$defs/NamedPoint"
								}
							]
						}
					],
					"title": "At",
					"type": "array"
				},
				"pixelated": {
					"default": false,
					"title": "Pixelated",
					"type": "boolean"
				},
				"reduceGaps": {
					"default": false,
					"title": "Reducegaps",
					"type": "boolean"
				}
			},
			"required": [
				"image",
				"at"
			],
			"title": "ImageOverlay",
			"type": "object"
		},
		"LatLonMarker": {
			"additionalProperties": false,
			"properties": {
				"id": {
					"anyOf": [
						{
							"minLength": 1,
							"type": "string"
						},
						{
							"type": "integer"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Id"
				},
				"icon": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Icon"
				},
				"scale": {
					"default": 1.0,
					"title": "Scale",
					"type": "number"
				},
				"name": {
					"anyOf": [
						{
							"minLength": 1,
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Name"
				},
				"description": {
					"anyOf": [
						{
							"items": {
								"type": "string"
							},
							"type": "array"
						},
						{
							"minLength": 1,
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Description"
				},
				"isWikitext": {
					"default": null,
					"enum": [
						null,
						false,
						true
					],
					"title": "Iswikitext"
				},
				"image": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Image"
				},
				"article": {
					"anyOf": [
						{
							"minLength": 1,
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Article"
				},
				"canSearchFor": {
					"default": true,
					"title": "Cansearchfor",
					"type": "boolean"
				},
				"searchKeywords": {
					"anyOf": [
						{
							"items": {
								"maxItems": 2,
								"minItems": 2,
								"prefixItems": [
									{
										"minLength": 1,
										"type": "string"
									},
									{
										"type": "number"
									}
								],
								"type": "array"
							},
							"type": "array"
						},
						{
							"minLength": 1,
							"type": "string"
						}
					],
					"default": [],
					"title": "Searchkeywords"
				},
				"lat": {
					"title": "Lat",
					"type": "number"
				},
				"lon": {
					"title": "Lon",
					"type": "number"
				}
			},
			"required": [
				"lat",
				"lon"
			],
			"title": "LatLonMarker",
			"type": "object"
		},
		"MarkerCategory": {
			"additionalProperties": false,
			"properties": {
				"name": {
					"anyOf": [
						{
							"minLength": 1,
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Name"
				},
				"subtleText": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Subtletext"
				},
				"overrideIcon": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Overrideicon"
				}
			},
			"title": "MarkerCategory",
			"type": "object"
		},
		"NamedPoint": {
			"additionalProperties": false,
			"properties": {
				"x": {
					"title": "X",
					"type": "number"
				},
				"y": {
					"title": "Y",
					"type": "number"
				}
			},
			"required": [
				"x",
				"y"
			],
			"title": "NamedPoint",
			"type": "object"
		},
		"PinMarkerGroup": {
			"additionalProperties": false,
			"properties": {
				"name": {
					"minLength": 1,
					"title": "Name",
					"type": "string"
				},
				"description": {
					"anyOf": [
						{
							"minLength": 1,
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"description": "Shown in the legend right under.",
					"title": "Description"
				},
				"icon": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"description": "Shown in the legend.",
					"title": "Icon"
				},
				"static": {
					"default": false,
					"description": "If set to true, these circles will not change size when zooming in or out.",
					"title": "Is static?",
					"type": "boolean"
				},
				"article": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"description": "If set, all markers in this group will link to this article.",
					"title": "Related article"
				},
				"isDefault": {
					"default": true,
					"title": "Isdefault",
					"type": "boolean"
				},
				"isCollectible": {
					"default": false,
					"enum": [
						false,
						true,
						"individual",
						"group",
						"globalGroup"
					],
					"title": "Iscollectible"
				},
				"isSwitchable": {
					"default": true,
					"description": "If set to false, this group will not be shown in the legend.",
					"title": "Can be switched?",
					"type": "boolean"
				},
				"autoNumberInChecklist": {
					"default": false,
					"title": "Autonumberinchecklist",
					"type": "boolean"
				},
				"canSearchFor": {
					"default": true,
					"title": "Cansearchfor",
					"type": "boolean"
				},
				"pinColor": {
					"anyOf": [
						{
							"maxItems": 4,
							"minItems": 4,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 1.0,
									"minimum": 0.0,
									"type": "number"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{4}|[a-fA-F0-9]{8})$",
							"type": "string"
						},
						{
							"maxItems": 3,
							"minItems": 3,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$",
							"type": "string"
						}
					],
					"title": "Pincolor"
				},
				"size": {
					"default": 32,
					"title": "Size",
					"type": "number"
				},
				"strokeColor": {
					"anyOf": [
						{
							"maxItems": 4,
							"minItems": 4,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 1.0,
									"minimum": 0.0,
									"type": "number"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{4}|[a-fA-F0-9]{8})$",
							"type": "string"
						},
						{
							"maxItems": 3,
							"minItems": 3,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$",
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Strokecolor"
				},
				"strokeWidth": {
					"default": 1,
					"title": "Strokewidth",
					"type": "number"
				}
			},
			"required": [
				"name",
				"pinColor"
			],
			"title": "PinMarkerGroup",
			"type": "object"
		},
		"PolylineOverlay": {
			"additionalProperties": false,
			"properties": {
				"name": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Name"
				},
				"path": {
					"items": {
						"anyOf": [
							{
								"maxItems": 2,
								"minItems": 2,
								"prefixItems": [
									{
										"type": "number"
									},
									{
										"type": "number"
									}
								],
								"type": "array"
							},
							{
								"$ref": "#/$defs/NamedPoint"
							}
						]
					},
					"title": "Path",
					"type": "array"
				},
				"color": {
					"anyOf": [
						{
							"maxItems": 4,
							"minItems": 4,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 1.0,
									"minimum": 0.0,
									"type": "number"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{4}|[a-fA-F0-9]{8})$",
							"type": "string"
						},
						{
							"maxItems": 3,
							"minItems": 3,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$",
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Color"
				},
				"thickness": {
					"anyOf": [
						{
							"type": "number"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Thickness"
				}
			},
			"required": [
				"path"
			],
			"title": "PolylineOverlay",
			"type": "object"
		},
		"Settings": {
			"additionalProperties": false,
			"properties": {
				"allowFullscreen": {
					"default": true,
					"description": "Whether full-screen toggle will be shown to the user on this map.\n\nTODO: \"whether the option to view the map in fullscreen will be offered\"",
					"title": "Allowfullscreen",
					"type": "boolean"
				},
				"backdropColor": {
					"anyOf": [
						{
							"maxItems": 3,
							"minItems": 3,
							"prefixItems": [
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								},
								{
									"maximum": 255,
									"minimum": 0,
									"type": "integer"
								}
							],
							"type": "array"
						},
						{
							"pattern": "^#([a-fA-F0-9]{3}|[a-fA-F0-9]{6})$",
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"description": "The backdrop colour, i.e. the one filling areas with no background image over them.\n\nTODO: wording",
					"title": "Backdropcolor"
				},
				"enableTooltipPopups": {
					"default": false,
					"description": "Whether simply moving mouse cursor over a marker should cause its popup to become visible.\n\nSuch popup will be partially translucent. The user still has to click on the marker for the address bar to update with a\npermanent link.",
					"title": "Enabletooltippopups",
					"type": "boolean"
				},
				"enableSearch": {
					"default": true,
					"description": "Whether marker search will be enabled for this map.\n\nTODO: document modes",
					"enum": [
						false,
						true,
						"tabberWide"
					],
					"title": "Enablesearch"
				},
				"hideLegend": {
					"default": false,
					"description": "Forces the legend (collectible checklists and marker filters) to not be loaded on this map.\n\nIf set to 'collapsed', the legend will be loaded, but will not be expanded on load.",
					"enum": [
						false,
						true,
						"collapsed"
					],
					"title": "Hidelegend"
				},
				"interactionModel": {
					"default": "keybinds",
					"description": "Changes interaction delay model. Keybinds require extra keys to be held to zoom in (CTRL/Super), sleep is primarily\ntime-based.",
					"enum": [
						"keybinds",
						"sleep"
					],
					"title": "Interactionmodel",
					"type": "string"
				},
				"iconRenderer": {
					"default": "auto",
					"description": "Renderer preference for graphical icons using images from this wiki (not circular icons or pins).\n\n- DOM renderer provides best reactivity for a small data set (roughly 500 icons), but performance degrades with\n  more markers. However, it comes with animation support for GIFs.\n- Canvas renderer provides best performance at a cost of zoom update latency, and supports only static icons. This works\n  best for bigger data sets (above 500 icons), and is automatically enabled for such sets (if this option is set to\n  'auto').\n\nPins always use the DOM renderer.",
					"enum": [
						"auto",
						"DOM",
						"canvas"
					],
					"title": "Iconrenderer",
					"type": "string"
				},
				"requireCustomMarkerIDs": {
					"default": false,
					"description": "Makes data validation disallow automatically generated marker IDs - the `id` property will need to be specified for each\nmarker manually.\n\nThese identifiers are used for persistent links and collectible progress tracking. By default, group and layers the marker\nis attached to along with its location on map are used to generate the identifier.",
					"title": "Requirecustommarkerids",
					"type": "boolean"
				},
				"showCoordinates": {
					"default": true,
					"description": "Whether coordinates from under the mouse cursor will be shown on this map in the bottom-left corner.",
					"title": "Show coordinates?",
					"type": "boolean"
				},
				"sortChecklistsBy": {
					"default": "groupDeclaration",
					"description": "Specifies marker group checklist sort order.\n\n- 'groupDeclaration': Follows the order in which marker groups are declared in source data.\n- 'amount':           Follows the number of markers inside each group.",
					"enum": [
						"groupDeclaration",
						"amount"
					],
					"title": "Checklist sort order",
					"type": "string"
				},
				"zoom": {
					"anyOf": [
						{
							"$ref": "#/$defs/ZoomSettings"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Zoom configuration"
				},
				"leaflet": {
					"default": false,
					"description": "Check https://leafletjs.com/reference.html#map-option for reference. Some options are not supported.",
					"title": "Custom Leaflet parameters",
					"type": "object"
				}
			},
			"title": "Settings",
			"type": "object"
		},
		"Tile": {
			"additionalProperties": false,
			"properties": {
				"position": {
					"anyOf": [
						{
							"type": "number"
						},
						{
							"maxItems": 2,
							"minItems": 2,
							"prefixItems": [
								{
									"type": "number"
								},
								{
									"type": "number"
								}
							],
							"type": "array"
						},
						{
							"$ref": "#/$defs/NamedPoint"
						}
					],
					"description": "Position in this tile in the grid.\n\n1 unit is one tile as big as the size specified.",
					"title": "Position"
				},
				"image": {
					"title": "Image to use",
					"type": "string"
				}
			},
			"required": [
				"position",
				"image"
			],
			"title": "Tile",
			"type": "object"
		},
		"TiledBackground": {
			"additionalProperties": false,
			"properties": {
				"name": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"description": "This name will be shown to a viewer in the background selection dropdown.",
					"title": "Display name"
				},
				"associatedLayer": {
					"anyOf": [
						{
							"minLength": 1,
							"pattern": "^[\\w\\d\\-\\._]+$",
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Associatedlayer"
				},
				"pixelated": {
					"default": false,
					"title": "Pixelated",
					"type": "boolean"
				},
				"overlays": {
					"default": [],
					"items": {
						"anyOf": [
							{
								"$ref": "#/$defs/ImageOverlay"
							},
							{
								"$ref": "#/$defs/PolylineOverlay"
							},
							{
								"$ref": "#/$defs/BoxOverlay"
							}
						]
					},
					"title": "Overlays",
					"type": "array"
				},
				"at": {
					"anyOf": [
						{
							"maxItems": 2,
							"minItems": 2,
							"prefixItems": [
								{
									"type": "number"
								},
								{
									"type": "number"
								}
							],
							"type": "array"
						},
						{
							"$ref": "#/$defs/NamedPoint"
						}
					],
					"default": [
						0,
						0
					],
					"title": "Starting position of the tile set"
				},
				"tileSize": {
					"anyOf": [
						{
							"type": "number"
						},
						{
							"maxItems": 2,
							"minItems": 2,
							"prefixItems": [
								{
									"type": "number"
								},
								{
									"type": "number"
								}
							],
							"type": "array"
						},
						{
							"$ref": "#/$defs/NamedPoint"
						}
					],
					"title": "Size of an individual tile"
				},
				"tiles": {
					"items": {
						"$ref": "#/$defs/Tile"
					},
					"title": "Tiles",
					"type": "array"
				}
			},
			"required": [
				"tileSize",
				"tiles"
			],
			"title": "TiledBackground",
			"type": "object"
		},
		"XyMarker": {
			"additionalProperties": false,
			"properties": {
				"id": {
					"anyOf": [
						{
							"minLength": 1,
							"type": "string"
						},
						{
							"type": "integer"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Id"
				},
				"icon": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Icon"
				},
				"scale": {
					"default": 1.0,
					"title": "Scale",
					"type": "number"
				},
				"name": {
					"anyOf": [
						{
							"minLength": 1,
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Name"
				},
				"description": {
					"anyOf": [
						{
							"items": {
								"type": "string"
							},
							"type": "array"
						},
						{
							"minLength": 1,
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Description"
				},
				"isWikitext": {
					"default": null,
					"enum": [
						null,
						false,
						true
					],
					"title": "Iswikitext"
				},
				"image": {
					"anyOf": [
						{
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Image"
				},
				"article": {
					"anyOf": [
						{
							"minLength": 1,
							"type": "string"
						},
						{
							"type": "null"
						}
					],
					"default": null,
					"title": "Article"
				},
				"canSearchFor": {
					"default": true,
					"title": "Cansearchfor",
					"type": "boolean"
				},
				"searchKeywords": {
					"anyOf": [
						{
							"items": {
								"maxItems": 2,
								"minItems": 2,
								"prefixItems": [
									{
										"minLength": 1,
										"type": "string"
									},
									{
										"type": "number"
									}
								],
								"type": "array"
							},
							"type": "array"
						},
						{
							"minLength": 1,
							"type": "string"
						}
					],
					"default": [],
					"title": "Searchkeywords"
				},
				"x": {
					"title": "X",
					"type": "number"
				},
				"y": {
					"title": "Y",
					"type": "number"
				}
			},
			"required": [
				"x",
				"y"
			],
			"title": "XyMarker",
			"type": "object"
		},
		"ZoomSettings": {
			"additionalProperties": false,
			"properties": {
				"tryFitEverything": {
					"default": true,
					"title": "Tryfiteverything",
					"type": "boolean"
				},
				"min": {
					"default": -16,
					"exclusiveMaximum": 24.0,
					"exclusiveMinimum": -24.0,
					"title": "Minimum level",
					"type": "number"
				},
				"max": {
					"default": 6,
					"exclusiveMaximum": 24.0,
					"exclusiveMinimum": -15.0,
					"title": "Maximum level",
					"type": "number"
				},
				"lock": {
					"default": false,
					"description": "If set to `true`, zoom level will be fixed at the specified `min` value. All zoom controls on the viewer's\nside will be disabled.",
					"title": "Locked?",
					"type": "boolean"
				},
				"scrollSpeed": {
					"default": 1.0,
					"exclusiveMaximum": 5.0,
					"exclusiveMinimum": 0.0,
					"title": "Scroll speed scaler",
					"type": "number"
				}
			},
			"title": "ZoomSettings",
			"type": "object"
		}
	},
	"additionalProperties": false,
	"oneOf": [
		{
			"required": [
				"background"
			]
		},
		{
			"required": [
				"backgrounds"
			]
		}
	],
	"properties": {
		"$fragment": {
			"default": false,
			"title": "$Fragment",
			"type": "boolean"
		},
		"include": {
			"anyOf": [
				{
					"items": {
						"type": "string"
					},
					"type": "array"
				},
				{
					"type": "null"
				}
			],
			"default": null,
			"description": "List of fragments that must be imported.",
			"title": "Include"
		},
		"crs": {
			"anyOf": [
				{
					"$ref": "#/$defs/CoordinateSystem"
				},
				{
					"maxItems": 2,
					"minItems": 2,
					"prefixItems": [
						{
							"anyOf": [
								{
									"maxItems": 2,
									"minItems": 2,
									"prefixItems": [
										{
											"type": "number"
										},
										{
											"type": "number"
										}
									],
									"type": "array"
								},
								{
									"$ref": "#/$defs/NamedPoint"
								}
							]
						},
						{
							"anyOf": [
								{
									"maxItems": 2,
									"minItems": 2,
									"prefixItems": [
										{
											"type": "number"
										},
										{
											"type": "number"
										}
									],
									"type": "array"
								},
								{
									"$ref": "#/$defs/NamedPoint"
								}
							]
						}
					],
					"type": "array"
				}
			],
			"default": [
				[
					0,
					0
				],
				[
					100,
					100
				]
			],
			"title": "Crs"
		},
		"settings": {
			"anyOf": [
				{
					"$ref": "#/$defs/Settings"
				},
				{
					"type": "null"
				}
			],
			"default": null
		},
		"background": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "#/$defs/ImageBackground"
				},
				{
					"$ref": "#/$defs/TiledBackground"
				}
			],
			"title": "Background"
		},
		"backgrounds": {
			"items": {
				"anyOf": [
					{
						"$ref": "#/$defs/ImageBackground"
					},
					{
						"$ref": "#/$defs/TiledBackground"
					}
				]
			},
			"title": "Backgrounds",
			"type": "array"
		},
		"groups": {
			"default": {},
			"patternProperties": {
				"^[\\w\\d\\-\\._]+$": {
					"anyOf": [
						{
							"$ref": "#/$defs/CircularMarkerGroup"
						},
						{
							"$ref": "#/$defs/PinMarkerGroup"
						},
						{
							"$ref": "#/$defs/IconMarkerGroup"
						}
					]
				}
			},
			"title": "Groups",
			"type": "object"
		},
		"categories": {
			"default": {},
			"patternProperties": {
				"^[\\w\\d\\-\\._]+$": {
					"$ref": "#/$defs/MarkerCategory"
				}
			},
			"title": "Categories",
			"type": "object"
		},
		"disclaimer": {
			"anyOf": [
				{
					"minLength": 1,
					"type": "string"
				},
				{
					"type": "null"
				}
			],
			"default": null,
			"title": "Disclaimer"
		},
		"markers": {
			"additionalProperties": {
				"items": {
					"anyOf": [
						{
							"$ref": "#/$defs/LatLonMarker"
						},
						{
							"$ref": "#/$defs/XyMarker"
						}
					]
				},
				"type": "array"
			},
			"default": {},
			"title": "Markers",
			"type": "object"
		},
		"custom": {
			"anyOf": [
				{
					"type": "object"
				},
				{
					"type": "null"
				}
			],
			"default": null,
			"title": "Custom"
		}
	},
	"required": {},
	"title": "DataMap",
	"type": "object"
}